Representation format for tactile objects

The haptic rendering device and method using glTF format enhance immersive systems by defining haptic objects and actuators to provide realistic tactile and kinesthetic feedback, addressing the lack of effective haptic interaction in augmented, virtual, and mixed reality.

JP2026074035APending Publication Date: 2026-05-01INTERDIGITALCE PATENT HLDG SAS
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
INTERDIGITALCE PATENT HLDG SAS
Filing Date
2026-01-27
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Current immersive systems lack effective methods for enhancing user interaction through haptic feedback, particularly in augmented, virtual, and mixed reality environments, where tactile and kinesthetic sensations are not adequately rendered.

Method used

A haptic rendering device and method that utilize the glTF format to define haptic objects with parameters such as type, volume, and effect, enabling collision detection and actuator control for immersive scenes, using haptic actuators to simulate tactile and kinesthetic feedback.

Benefits of technology

Enhances user interaction by providing realistic and immersive haptic feedback, allowing for precise rendering of tactile and kinesthetic sensations, improving the overall user experience in virtual environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026074035000001_ABST
    Figure 2026074035000001_ABST
Patent Text Reader

Abstract

This invention provides a haptic rendering device and a corresponding rendering method. [Solution] The device and method enable rendering of tactile effects defined in a tactile signal that includes information representing an immersive scene description. The immersive scene includes information representing at least one element of the scene, and information representing a tactile object, including the type of tactile effect, at least one parameter of the tactile effect, and a tactile volume or surface on which the tactile effect is active. The parameter of the tactile effect may be a tactile texture map. A corresponding syntax is proposed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] At least one of the present embodiments generally relates to the sense of touch, and particularly to the definition of a representation format of haptic objects in an immersive scene based on glTF (trademark) (Graphics Language Transmission Format).

Background Art

[0002] Full immersion user experiences are proposed to users through immersive systems based on feedback and interaction. The interaction may use conventional control methods that satisfy user needs. Current visual and auditory feedback provides a satisfactory realistic sense of immersion. Additional feedback can be provided by haptic effects that allow a human user to perceive a virtual environment with their senses and thus obtain a better experience of full immersion with improved realism. However, haptics is one area that still has potential for progress in improving the overall user experience in immersive systems.

[0003] Typically, an immersive system can include a ³D scene that represents a virtual environment in which virtual objects are located. To improve user interaction with elements of the virtual environment, haptic feedback through simulation of haptic actuators can be used. Such interaction is based on the concept of "haptic objects" that correspond to physical phenomena transmitted to the user. In the context of an immersive scene, a haptic object enables the provision of a haptic effect by defining the stimuli of appropriate haptic actuators to mimic a physical phenomenon on a haptic rendering device. Different types of haptic actuators make it possible to reproduce different types of haptic feedback.

[0004] An example of a haptic object is an explosion. Explosions can be rendered through vibration and heat, and thus, different haptic effects can be combined to enhance realism for the user. Immersive scenes typically include multiple haptic objects, for example, a first haptic object related to global effects and a second haptic object related to local effects.

[0005] The principles described herein apply to any immersive environment that uses touch, such as augmented reality, virtual reality, mixed reality, or haptic-enhanced video (or omnidirectional / 360° video) rendering, and more generally to any haptic-based user experience. Thus, a scene in such an example of an immersive environment is considered an immersive scene.

[0006] Tactile sensation refers to the sense of contact and includes two dimensions: tactile sensation and kinesthetic sensation. The first dimension concerns tactile sensations such as friction, roughness, hardness, and temperature, and is felt through mechanoreceptors in the skin (Merkel cells, Ruffini endings, Meissner corpuscles, Pacinian corpuscles). The second dimension relates to the sense of force / torque, position, and motion / velocity provided by muscles, tendons, and mechanoreceptors in the joints. Tactile sensation also contributes to the proprioceptive system (i.e., the perception of one's own body) and is therefore involved in the perception of one's own movement. Thus, the perception of acceleration, velocity, or any body model can be assimilated as a tactile effect. The frequency range is approximately 0–1 kHz, although it varies depending on the type of modality. Most existing devices capable of rendering tactile signals generate vibrations. Examples of such tactile actuators include linear resonant actuators (LRAs), eccentric rotating masses (ERMs), and voice coil linear motors. These actuators may be integrated into haptic rendering devices such as haptic suits, or they may be integrated into smartphones or game controllers.

[0007] Several formats have been defined for encoding haptic signals, including high-level descriptions using XML-like formats (e.g., MPEG-V), parametric representations using JSON-like formats such as Apple Haptic Audio Pattern (AHAP) or Immersion Corporation's HAPT format, or waveform coding (the ongoing standardization of IEEE 1918.1.1 for tactile and kinesthetic signals). The HAPT format has recently been included in the MPEG ISOBMFF file format specification (ISO / IEC 14496 part 12).

[0008] Furthermore, the GL Transmission Format (glTF®) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications. This format defines an extensible, common, publicly available format for 3D content tools and services that streamline authoring workflows and enable interoperable use of content across industries.

[0009] In addition, modern 3D engines can map textures to 3D objects. These textures contain not only information related to various appearance-related parameters such as the object's color, but also information about its geometric shape, such as normal maps or bump maps, which assist modern visual rendering algorithms in the rendering process, as well as complex parameters such as diffuse, radiant, and glossy properties that determine how the object is rendered.

[0010] The embodiments described below are designed with the above in mind. [Overview of the project]

[0011] The embodiments relate to a haptic rendering device and a corresponding rendering method that enable rendering of haptic effects defined in haptic signals containing information representing an immersive scene description. A corresponding syntax is proposed and defined as an extension of the glTF® format.

[0012] A first aspect of at least one embodiment relates to a signal for rendering an immersive scene, which includes information representing a scene description, which includes at least one piece of information representing at least one element of the scene, and information representing a tactile object, which includes a type of tactile effect, at least one parameter of the tactile effect, and a tactile volume or surface on which the tactile effect is active.

[0013] A second aspect of at least one embodiment relates to a device including a processor configured to acquire information representing a scene description, which includes at least one piece of information representing at least one element of a scene, and information representing a haptic object, which includes a type of haptic effect, at least one parameter of the haptic effect, and a haptic volume or surface on which the haptic effect is active; to detect a collision between the position of a user or part of the user's body and the haptic volume, and to prepare data to be generated based on at least one parameter of the haptic effect for rendering an immersive scene.

[0014] A third aspect of at least one embodiment relates to a method that includes obtaining information representing a scene description, which includes at least one piece of information representing at least one element of a scene, and information representing a tactile object, which includes a type of tactile effect, at least one parameter of the tactile effect, and a tactile volume or surface on which the tactile effect is active; detecting a collision between the position of a user or part of the user's body and a tactile volume; and preparing data to be generated based on at least one parameter of the tactile effect for rendering an immersive scene.

[0015] According to a fourth aspect of at least one embodiment, a computer program is presented which includes program code instructions executable by a processor, and which implements steps of the method according to at least a third aspect.

[0016] According to a fifth aspect of at least one embodiment, a computer program product is presented which includes program code instructions stored in a non-temporary computer-readable medium and executable by a processor, and which implements a step of the method according to at least a third aspect.

[0017] In the modified embodiment, at least one parameter of the tactile effect is a tactile texture map. [Brief explanation of the drawing]

[0018] [Figure 1] This is a block diagram of an example of a system in which various aspects and embodiments are implemented. [Figure 2] This is an exemplary flowchart of the process for rendering a haptic feedback description file, according to at least one embodiment. [Figure 3] An example of a data structure for an immersive scene description file containing haptic objects, according to at least one embodiment, is shown. [Figure 4] This shows an example of a 3D scene with tactile objects. [Figure 5] An example of a glTF™-based data structure corresponding to the scene in Figure 4, according to at least one embodiment, is shown. [Figure 6A] An example of a 3D object using a haptic texture map is shown. [Figure 6B] This document presents an example of a temperature tactile effect using a tactile texture map as one embodiment. [Figure 6C] This example shows a velocity-hardness tactile effect using a tactile texture map as one embodiment. [Figure 7A]An example of a haptic object including a haptic texture map according to at least one embodiment is shown. [Figure 7B] An example of a haptic object including a haptic texture map according to at least one embodiment is shown. [Figure 8A] An example of a scene description representing a haptic object including a haptic texture map according to at least one embodiment is shown. [Figure 8B] An example of a scene description representing a haptic object including a haptic texture map according to at least one embodiment is shown. [Figure 9] Various haptic effect properties of continuous effects are shown.

Mode for Carrying Out the Invention

[0019] The haptic object may be related to a global environment such as a gentle breeze or to a local effect such as a punch to the chest. In the first case, the haptic effect is rendered for a fully immersive scene, and in the latter case, the haptic effect is activated only in a determined subspace of the immersive scene (hereinafter referred to as the haptic volume) (thus, the effect is valid). The haptic volume may be limited to a 2D surface, typically the surface of the object or a simple 2D plane (e.g., the floor surface). In addition, some haptic rendering devices such as haptic suits can provide haptic effects (e.g., vibrations on the chest) located at an exact location on the user.

[0020] FIG. 1 shows a block diagram of an example of a system in which various aspects and embodiments are implemented. In the illustrated immersive system, user Alice uses haptic rendering device 100 to interact with server 180 that hosts immersive scene 190 through communication network 170. This immersive scene 190 can include various data and / or files representing different elements (scene description 191, audio data, video data, 3D model, and haptic object 192) required for its rendering.

[0021] The haptic rendering device includes a processor 101. The processor 101 may be a general-purpose processor, a dedicated processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), a state machine, etc. The processor may perform data processing such as decoding haptic signals, input / output processing, and / or any other functions that enable the device to operate in an immersive system.

[0022] The processor 101 may be coupled to an input unit 102 configured to transmit user interaction. Multiple types of inputs and modalities can be used for this purpose. Physical keypads and touch-sensitive surfaces are typical examples of inputs suited to this application, but voice control can also be used. In addition, the input unit may include a digital camera capable of capturing still images or videos. The processor 101 may also be coupled to a display unit 103 configured to output visual data to be displayed on a screen. Multiple types of displays, such as liquid crystal displays (LCDs) or organic light-emitting diode (OLED) display units, can be used for this purpose. The processor 101 may also be coupled to an audio unit 104 configured to render sound data which is converted into audio waves through a suitable transducer, such as a loudspeaker. The processor 101 may also be coupled to a communication interface 105 configured to exchange data with an external device. Communication preferably uses wireless communication standards that provide mobility for the haptic rendering device, such as cellular (e.g., LTE) communication or Wi-Fi communication. The processor 101 may access information from memory 106, which may include multiple types of memory, such as random access memory (RAM), read-only memory (ROM), hard disk, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and any other type of memory storage device, and store data therein. In one embodiment, the processor 101 may access information from memory not physically located on a device, such as a server, home computer, or another device, and store data in that memory.

[0023] The processor 101 may be coupled to a haptic unit 107 configured to provide haptic feedback to the user, the haptic feedback being described in a haptic object 192 which is part of the scene description 191 of the immersive scene 190. The haptic feedback 191 describes the type of feedback to be provided according to the syntax further described below. Such a description file is typically transmitted from the server 180 to the haptic rendering device 100. The haptic unit 107 may comprise a single haptic actuator or multiple haptic actuators arranged at multiple locations on the haptic rendering device. Different haptic units may have different numbers of actuators, and / or the actuators may be arranged differently on the haptic rendering device.

[0024] The processor 101 may receive power from the power supply 108 and may be configured to distribute and / or control power to other components in the device 100. The power supply may be any suitable device for supplying power to the device. For example, the power supply may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), solar cells, fuel cells, etc.

[0025] Although this figure shows the processor 101 and other elements 102-108 as separate components, it will be understood that these elements may be integrated together in an electronic package or chip. It will be understood that the haptic rendering device 100 may include any partial combination of the elements described herein, while maintaining consistency with one embodiment. The processor 101 may be further coupled to other peripherals or units not shown in Figure 1, which may include one or more software and / or hardware modules that provide additional features, functions, and / or wired or wireless connectivity. For example, peripherals may include sensors such as a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, and an internet browser. For example, the processor 101 may be coupled to a positioning unit configured to locate a haptic rendering device within its environment. The positioning unit may integrate not only a GPS chipset that provides the longitude and latitude of the current location of the haptic rendering device, but also other motion sensors such as accelerometers and / or electronic compasses that provide positioning services.

[0026] Typical examples of the haptic rendering device 100 include haptic suits, smartphones, game controllers, haptic gloves, haptic chairs, haptic props, and motion platforms, but any device or configuration of a device that provides similar functionality may be used as the haptic rendering device 100 in accordance with the principles of this disclosure.

[0027] In at least one embodiment, the device does not include a display unit but includes a haptic unit. In such an embodiment, the device does not visually render the scene but only renders haptic effects. However, the device may prepare display data so that another device, such as a screen, can perform the display. Examples of such devices include haptic suits or motion platforms.

[0028] In at least one embodiment, the device includes a display unit but does not include a haptic unit. In such an embodiment, the device does not render haptic effects but only renders the scene visually. However, the device may prepare data for rendering haptic effects so that another device, such as a haptic prop, can perform haptic rendering. Examples of such devices include smartphones, head-mounted displays, or laptops.

[0029] In at least one embodiment, the device does not include a display unit or a haptic unit. In such an embodiment, the device does not visually render the scene or render haptic effects. However, the device may prepare display data so that another device, such as a screen, can perform the display, and it may prepare data for rendering haptic effects so that another device, such as a haptic prop, can perform the haptic rendering. Examples of such devices include desktop computers, optical media players, or set-top boxes.

[0030] In at least one embodiment, the immersive scene 190 and its associated elements are directly hosted in the memory 106 of the haptic rendering device 100, enabling local rendering and interaction.

[0031] Although the different elements of Immersion Scene 190 are shown as separate elements in Figure 1, the principles described herein also apply when these elements are directly integrated into the scene description and are not separate elements. Any combination between the two options is also possible, where some elements are integrated into the scene description and others are in separate files.

[0032] Figure 2 shows an exemplary flowchart of a process for rendering a haptic feedback description file according to at least one embodiment. Such a process 200 is typically implemented in a haptic rendering device 100 and is performed by a processor 101 of such a device. In step 201, the processor obtains a description of the immersive scene (191 in Figure 1). This may be done, for example, by receiving it from a server over a communication network, by reading it from an external storage device or local memory, or by any other means. The processor analyzes the scene description file to extract haptic objects (192 in Figure 1) that enable the determination of parameters related to haptic effects, more specifically, haptic volumes associated with haptic effects. In step 202, the processor monitors the position of the user (or, for more accurate detection, a part of the user's body) in the immersive scene to detect intersections (object collisions) with haptic volumes during interaction. Collision detection may be performed, for example, by a dedicated physics engine specialized for this task. If such an intersection is detected, in step 203, the processor extracts parameters from the haptic object that allow it to select which haptic signals should be applied to which actuator or set of actuators. In step 204, the processor controls the haptic unit to apply the selected haptic signals to the haptic actuator or set of actuators, and thus renders haptic feedback according to the information of the haptic object.

[0033] While haptic effects are described above as being triggered by collisions, they may also be triggered by events. Such events may be related to the entire immersive scene, such as a rising sun (which increases ambient temperature), an explosion (whose vibrations can simulate a shock wave), or an incoming call or other circumstances.

[0034] As mentioned above, some devices do not perform rendering themselves, but instead delegate this task to other devices. In this case, data is prepared for rendering of visual elements and / or haptic effects and sent to the device that performs the rendering.

[0035] In the first example, the immersive scene 191 could include a virtual environment of an outdoor campsite where the user can move around an avatar representing themselves. The first haptic feedback could be a gentle breeze generated by a fan, present somewhere within the virtual environment. The second haptic feedback could be a temperature of 30°C when the avatar is close to the campfire. This effect will be rendered by the heating element of the haptic suit worn by the user performing process 200. However, this second feedback is only activated when the user's position is detected to be within the haptic volume of the second haptic object. In this case, the haptic volume represents the distance to the fire from which the user feels the temperature.

[0036] In another example, immersive scene 191 may include a video of a boxing match between two boxers, and if the user is wearing a haptic suit, the haptic effect may be a strong vibration on the user's chest when one of the wrestlers is punched.

[0037] Figure 3 shows an example of the data structure of an immersive scene according to at least one embodiment. This embodiment is based on the glTF® file format. The core of glTF® is a JSON file that describes the structure and configuration of a scene containing a 3D model. This diagram shows the relationships between the elements that make up this structure. In this regard, scene 300 is the top-level element that brings together all the other elements. Most notably, it contains an array of nodes. Each node 301 can contain child nodes, making it possible to create a hierarchy. Nodes may refer to meshes, cameras, or skins, and local geometric transformations may be associated with the nodes. Mesh 310 corresponds to the geometric shape data necessary to render the mesh. Vertex skinning is performed using skin 320 so that the vertices of the mesh are influenced by the bones of the skeleton based on their pose. Camera 325 determines the projection matrix. Animation 340 may be applied to the properties of the nodes. Buffer 355 contains the geometric shape of the 3D model, animation, and data used for skinning. Buffer view 350 adds structural information to the buffer data, and accessor 345 defines the exact type and layout of the buffer view. Material 360 determines how an object should be rendered based on its physical material properties. Texture 365 allows defining the object's appearance. Image 370 defines the image data used for the texture, and Sampler 380 describes the wrapping and scaling of the texture. All these elements of a glTF® file allow defining a conventional immersive scene with any haptic feedback.

[0038] Therefore, in at least one embodiment, the glTF® file further includes a haptic object 330 that describes the haptic feedback to be rendered. In a modified embodiment, the haptic object includes a haptic texture map 335, and the data of the haptic texture map may be stored together with other textures 365. Such haptic objects are described herein.

[0039] Figure 4 shows an example of a 3D scene with haptic objects. Each volume is an area where the user can feel a corresponding effect. In one example, a sphere corresponds to a vibration of 378 Hz, and a cube corresponds to a pressure effect of 10 Newtons. This is the kind of information that needs to be stored in the haptic objects as part of the immersive scene description. At runtime, the user navigates within the immersive scene through their device 100 in Figure 1. Depending on the type of immersive application, navigation may correspond to different types of navigation. In a virtual reality example, navigation relates to the movement of an avatar (e.g., a 3D object) representing the user within the immersive scene and under the user's control. In an augmented reality application example, navigation relates to the user's physical movement in the real world, tracked by a positioning system to determine the user's corresponding location within the immersive scene. In a panoramic video example, navigation relates to the user's viewpoint within a 360° space.

[0040] During navigation within an immersive scene, a collision with a haptic object can occur when the user's (or their avatar's) position collides with the haptic volume of a haptic object, or in other words, when the user's position is within the boundaries of the haptic volume. In such situations, the corresponding haptic effect is triggered in the haptic rendering device. In the example in Figure 4, when the user collides with the sphere, the haptic rendering device renders vibrations at a frequency of 378 Hz until the collision is resolved.

[0041] However, haptic objects do not necessarily correspond to visible 3D objects. Therefore, haptic objects can be associated with a volume (haptic volume) that has no visible representation whatsoever, so that collisions occur when the user's position is "inside" the volume.

[0042] Therefore, in at least one embodiment, the immersive scene includes at least one tactile object characterized by the type of tactile effect, information characterizing the tactile signal to be applied, and information representing a volume within the scene in which the tactile effect is enabled and should be applied by a tactile rendering device. In one modified embodiment, the information characterizing the tactile signal is a reference to a file containing the tactile signal. In one modified embodiment, the tactile volume is the entire immersive scene so that the tactile effect is holistic and independent of the user's position. In one modified embodiment, the tactile volume corresponds to the geometric shape of a virtual object to which the tactile object is associated.

[0043] Figure 5 shows an example of a glTF™-based data structure corresponding to the scene in Figure 4, according to at least one embodiment. Scene 500 includes a top-level node 501 containing three child nodes 510, 520, and 530. The first child node 510 corresponds to the spherical object in the lower left of Figure 4. Node 510 includes transformation parameters 511 that define the node's translation t1, rotation r1, and scaling s1, and a mesh 512 containing the complete geometric shape (i.e., set of vertices and faces) of the spherical object. Node 510 also includes a tactile object 513, whose type 514 is determined to be vibration with a frequency 515 of 378 Hz and an intensity 516 of 0.5. The shape 517 of the tactile object will refer to the shape of the node and therefore use the geometric shape defined by the mesh 512 that defines the sphere. Thus, the tactile effect of the tactile object 513 will be active within the volume of this sphere. The second child node 520 corresponds to the cube object at the top of Figure 4. Node 520 contains transformation parameters 521 that define the node's translation t2, rotation r2, and scaling s2, and a mesh 522 containing the complete geometric shape (i.e., the set of vertices and faces) of the cube object. Node 520 also contains a tactile object 523, whose type 524 is determined to be pressure with a value of 10 525. The shape 526 of the tactile object refers to the shape of node 520 and therefore uses the geometric shape defined by the mesh 522 that defines the cube. Thus, the tactile effect of the tactile object 523 will be active within the volume of this cube. The third child node 530 corresponds to the cylindrical object at the bottom right of Figure 4. This node does not contain any tactile objects and therefore does not have any associated tactile effects.

[0044] Table 1 shows an example of syntax for defining a haptic object according to at least one embodiment. More specifically, this table shows JSON syntax based on the glTF® extension mechanism. The extension for a haptic object designed according to at least one embodiment is identified as "IDCC_Haptics" in this example syntax. The list of haptic effects in the table includes, but is not exhaustive, vibration, pressure, and temperature effects. Other types of haptic effects may be defined based on the same principle (wind, rain, snow, electricity, or any combination of effects). Tables 11 and 12 describe the syntax for pressure and temperature effects, respectively. The syntax for describing haptic effects is defined in a specific JSON schema (several examples below) and then instantiated in the "properties" of a node in a scene description file, as described later. "shapeType" is also associated with the haptic object, allowing for the description of the haptic volume. This may be a primitive volume (sphere or cube) scaled according to the node's scale property (thus enabling ellipsoidal or parallelepiped volumes), or it may be defined as a custom mesh. In the latter case, the custom mesh is defined by the node's existing mesh property and corresponds to the geometric shape of the visible object. Defining one of the primitive volumes makes it possible to determine the tactile volume independently of any visible element.

[0045] [Table 1]

[0046] In at least one embodiment, in addition to spherical and cubic primitive volumes, additional volumes conventionally used by 3D physics engines, such as 2D planes, ellipsoids, parallelepipeds, or capsules (a capsule made from two hemispheres joined together by a cylinder), may be used. The syntax, although not shown in the table, involves adding additional enumerations and additional parameters to define these conventional shapes for the additional primitive volumes.

[0047] Typically, a single effect is defined, but multiple effects can exist and be combined. For example, pressure and temperature can be combined to represent weather conditions (cold rain).

[0048] Table 2 shows an example of glTF®-based syntax for defining a vibratory tactile effect according to at least one embodiment.

[0049] [Table 2]

[0050] Vibration tactile effects can be defined according to parameters including frequency (vibration at a constant frequency of a sinusoidal signal) and intensity (amplitude of vibration), or according to a tactile signal (waveform similar to an audio signal) if a more complex effect is desired. In the first case, the effect parameters are defined directly within the vibration syntax, as shown in the table, and can be communicated by the "frequency" and "intensity" syntax elements. In the second case, the effect is determined according to a signal defined by data embedded in a glTF® buffer corresponding to an accessor index. Such data is typically loaded from an external file, such as a waveform audio file (".wav" format), a tactile file format ("OHM" format), or any other file format adapted to transmit vibration signals. Default values ​​may be determined and should be used if a corresponding syntax element does not exist. For example, the default value for the vibration effect defined in Figure 7 is to vibrate at half intensity at a frequency of 250 Hz.

[0051] Table 3 shows an example of a scene definition including a vibrating teapot, according to at least one embodiment. This example demonstrates how to define a simple scene that includes a 3D object associated with a vibration effect.

[0052] [Table 3-1]

[0053] [Table 3-2]

[0054] In this example, the scene contains a single node named "teapot" that represents the scene's intrinsic 3D object. The geometric shape of this node is loaded from the "teapot.bin" file via a set of bufferViews. The material defines how the mesh is represented, and the translation defines the object's position within the virtual environment. A tactile object is also associated with this node. This tactile object corresponds to a vibration effect ("vibration" syntax element) at a frequency of 250Hz ("frequency" syntax element) with an intensity of 70% ("intensity" syntax element). The tactile volume is defined as the node's mesh ("shapeType" syntax element = 2), and therefore as the teapot's mesh. Thus, if such an object exists in the immersive scene, vibration will be rendered when the user's position collides with the teapot's geometric shape, in other words, when the user "touches" the teapot.

[0055] Table 4 shows an example of a scene definition including a tactile object and associated tactile volume according to at least one embodiment.

[0056] [Table 4]

[0057] As mentioned earlier, tactile volumes are not necessarily visible. For simplicity and simplification, this example includes only two haptic effects with invisible tactile volumes, and does not include definitions of other nodes that include other objects unrelated to tactile volumes. The scene includes a single node named "haptic_example". This demonstrates the use of the "IDCC_haptics" extension, version (2.0) of the glTF(trademark) specification, and no buffers are used to load resources. The first haptic effect is a vibrating haptic object configured to vibrate at a frequency of 378 Hz and an intensity of half (0.5). This effect is associated not with a visible object, but with an invisible tactile volume that is a cube located at position p=(-1.8,0.7,-0.7) and with a size of 1.2. The second haptic effect is a pressure haptic object configured to apply a force of 10 Newtons. This effect is not associated with a visible object, but rather with an invisible tactile volume which is a sphere located at position p'=(-2.9,0.0,0.0) and has a size of 1.0 (the default value since it is not specified).

[0058] In one embodiment, a tactile object is associated with a mesh-based virtual object, but consists of a volume larger than the volume defined by the mesh. For example, the virtual object may correspond to a fireplace represented by a mesh with textures and animations, and the tactile object may include a temperature tactile effect consisting of a spherical tactile volume larger than the bounding box of the fireplace mesh. With such a configuration, a user approaching the virtual fireplace can feel the heat before touching (colliding with) the fireplace.

[0059] In one embodiment, the scene includes multiple overlapping tactile objects having concentric volumes with different tactile effects. For example, the set of tactile objects may be concentric spheres positioned around a fireplace, and their volumes may have a size that decreases with increasing temperature. Using this technique, the user will feel a gradual increase in heat as they approach the fireplace. Since the user is about to collide with multiple spheres, the smallest one (i.e., the one closest to the fire) will be selected.

[0060] Table 5 shows an example of enabling a gradual effect for vibratory tactile effects in at least one embodiment. In fact, rather than defining multiple overlapping tactile objects, one embodiment proposes interpolation between a minimum and maximum value over a span of tactile volume. This table shows only the syntax elements added to the definition of vibratory tactile effects according to Table 2. Firstly, the “interpolation” flag syntax element is added to the definition of vibratory tactile effects. This flag allows requesting the value of the tactile effect to be interpolated and determines how the interpolation is performed. The interpolation may be any linear, exponential, or nonlinear function. Secondly, the “min” and “max” syntax elements allow defining the range of the interpolation by defining scaling factors applied to the expected value.

[0061] [Table 5-1]

[0062] [Table 5-2]

[0063] Table 6 shows an example of a vibratory tactile effect using interpolation.

[0064] [Table 6]

[0065] In this example, the tactile volume is a cube of size 2.0 located at the origin of the virtual environment. The tactile effect is linearly interpolated between 0.4 and 1.0, or more precisely between 0.4 × 1.0 (where the first value is the "minimum" scaling value for "interpolation" and the second value is the "intensity") and 1.0 × 1.0 (where the first value is the default "maximum" scaling value for "interpolation" and the second value is the "intensity"). The interpolation is performed based on the distance to the center of the tactile volume. Therefore, at the origin, the tactile effect intensity is 0.4. At a position equal to (1.0, 1.0, 1.0), which is the center of the cube, the intensity is 0.4. At a position equal to (0.5, 0.5, 0.5), the intensity is 0.7.

[0066] In at least one embodiment, the type of interpolation is defined by a parameter of a tactile object that allows selection between at least linear and custom. In the latter case, the function is determined by an additional parameter.

[0067] Table 7 shows an example of glTF®-based syntax for a vibratory tactile effect using at least one embodiment that utilizes tactile signals stored in a file.

[0068] [Table 7]

[0069] This embodiment is built upon the exemplary syntax shown in Table 2 for vibratory tactile effects, adding a reference to a file that stores the tactile signal applied to render the effect. This allows for the definition of more sophisticated tactile effects than simply using a fixed-frequency sine signal. In addition, intensity parameters can also be applied to the tactile signal. This makes it possible to share a unique tactile signal file and apply this file at different levels of intensity in different tactile objects. In an example using tactile objects with concentric volumes, the tactile objects can share the same tactile signal file and provide a progressive effect with increasing intensity. The file format is adapted to store the tactile signal. Examples of formats for such use include Waveform audio (WAV), Object Haptic Metadata (OHM), Apple Haptic Audio Pattern (AHAP), or Immersion Corporation's HAPT format. The same principle applies to other types of tactile effects as well.

[0070] Table 8 shows an example of glTF®-based syntax for a vibratory tactile effect defining the location of the effect, according to at least one embodiment. This embodiment is built on the Object Haptic Metadata (OHM) format and aims to apply a tactile effect to a defined location on the user's body.

[0071] [Table 8-1]

[0072] [Table 8-2]

[0073] Therefore, in at least one embodiment, it is proposed to add a syntax element that allows specifying where the effect should be applied to the syntax proposed above. This can be done in two steps: firstly, by determining a geometric model (in other words, a body model) that represents the spatial sensitivity of tactile perception; and secondly, by determining where the tactile effect should be applied to the body model. The geometric model may be selected as a generic model chosen from a given set of standard models. In this case, the model is based on a mesh of the human body. The geometric model may also be determined as a custom geometric model by specifying its geometric shape. This allows for adaptation to non-standard tactile rendering devices, such as a tactile chair. In this case, the spatial sensitivity of tactile perception is limited by the precise location of actuators on the rendering device. In the proposed syntax, the geometric model is identified by "avatar_ID". The locations where the effect should be applied are selected by using a "body_part_mask" syntax element corresponding to a binary mask that specifies a body part that determines the set of associated vertices, or by using a "vertices" syntax element that specifies the vertices to be stimulated.

[0074] Table 9 shows an example of glTF™-based syntax for defining a geometric model when using a vibratory tactile effect, defining the location of the effect, according to at least one embodiment. This syntax defines an identifier “id” for the geometric model, a “lod” value specifying the level of detail (and therefore resolution) of the geometric model, and a “type” for the tactile effect to be rendered. Thus, this syntax makes it possible to specify the exact location where the tactile effect is applied.

[0075] [Table 9-1]

[0076] [Table 9-2]

[0077] Table 10 shows an example of glTF®-based syntax for vibratory tactile effects using channels to carry tactile signals, according to at least one embodiment. This embodiment adds the concept of channels to the syntax proposed above. In fact, a waveform audio or OHM file may contain multiple channels for carrying multiple tactile signals associated with multiple tactile objects. In this case, the syntax further includes information representing the channels used.

[0078] [Table 10-1]

[0079] [Table 10-2]

[0080] Table 11 shows an example of glTF™-based syntax for pressure tactile effects according to at least one embodiment. Pressure tactile effects can simply be defined by a numerical pressure value expressed in Newtons in the “value” syntax element. If the “value” syntax element is not present, the default value “0.0” corresponding to no pressure should be used. All embodiments described above in relation to vibration tactile effects also apply to pressure tactile effects.

[0081] [Table 11]

[0082] Table 12 shows an example of glTF®-based syntax for a thermal tactile effect according to at least one embodiment. A thermal tactile effect can simply be defined by a numerical temperature value expressed in degrees Celsius in the “value” syntax element. If the “value” syntax element is not present, the default value “20.0”, corresponding to no pressure, should be used. All embodiments described above in relation to the vibration tactile effect also apply to the thermal tactile effect.

[0083] [Table 12]

[0084] Figure 6A shows an example of a 3D object according to an embodiment using a tactile texture map. The 3D object 1700 represents a metal bottle 1710 having a black soft rubber holder 1720 for insulating the user's hand from the bottle's temperature. Conventionally, texture files can be used to describe the color, diffuse, radiant, normal, occlusion, roughness, metallic, and specular gloss of an object material, enabling proper (physically based) rendering by a rendering engine based on the texture file.

[0085] In addition to displaying a 3D representation of the bottle, rendering offers the benefit of enabling force feedback devices to allow the user to perceive the bottle's shape and its different components from its geometric description.

[0086] According to one embodiment, this rendering is enhanced by the use of a tactile texture map to describe the tactile properties of an object. The tactile texture map allows for the simulation of different harshness and temperature of the bottle in Figure 6A by defining different parameters for different tactile properties of specific areas of a 3D object. For example, the metal bottle 1710 is rendered as a hard, cold metal bottle with a softer, warmer rubber holder 1720 by using additional texture information encoded using a similar principle based on texture maps. The temperature texture map shown in Figure 6B determines the temperature on the surface of the object (metal parts are cooler than plastic parts), and the rate harness texture map shown in Figure 6C indicates that the metal parts are hard while the rubber holder is soft.

[0087] These haptic texture maps allow the location of the haptic texture to be determined when a user touches an object, the associated haptic information is retrieved, and the corresponding haptic effect is rendered. This mechanism makes it possible to define 3D objects with complex surfaces that have heterogeneous haptic data for different types of haptic features.

[0088] According to one embodiment, a glTF®-based syntax for defining tactile effects includes a tactile texture map for defining the tactile effects. Different tactile features may be considered and may need to be differentiated. In one embodiment, the tactile features listed in Table 13 are considered.

[0089] [Table 13]

[0090] Dynamic stiffness, stroke spectral response, and stick-slip do not directly encode tactile values, but use table indices. The ID corresponds to the file where the coefficients of the autoregressive filter are stored. The ID models the vibrations measured in the material during short contact (dynamic stiffness) or stroke (stroke spectral response or stick-slip transient), as shown in Table 14.

[0091] [Table 14]

[0092] Table 15 shows an example of syntax for defining tactile texture map properties for a tactile object, according to at least one embodiment. This syntax allows for determining parameters for different types of tactile effects. - "rate-hardness" allows for the determination of surface hardness, or in other words, is defined as the initial rate of change of force with respect to penetration velocity, and is used to simulate both stiffness and damping behavior with better stability. The value is stored in an 8-bit texture, covering values ​​from 0 to 10000 N.s-1 / ms-1 with a resolution of 40 N.s-1 / ms-1. - "contact-area-spread-rate" is defined as the rate at which the contact area spreads across the finger surface as the finger presses against the surface. The value is stored in an 8-bit texture and is 0.1 N. cm. 2 With a resolution of 0 to 25.6 N.cm 2 It covers the value. - "local-surface-orientation" allows you to determine the curvature of the shape. The value is stored in a 24-bit texture (3x8 bits depending on the x, y, and z directions), covering values ​​from 0 to 180 degrees with a resolution of 0.002 degrees. - "Local-indentation" allows for the determination of surface relief or fine detail. The values ​​are stored in an 8-bit texture, covering values ​​from -5mm to +5mm with a resolution of 0.04mm. - "kinetic-friction" allows you to determine the coefficient of kinetic friction, i.e., the force caused by friction between each object. The value is stored in an 8-bit texture with a resolution of 0.04, covering values ​​from -5 to +5. - "static-friction" allows you to determine the static friction coefficient, i.e., the force required to slide objects against each other. The value is stored in an 8-bit texture with a resolution of 0.04, covering values ​​from -5 to +5. - The “temperature” property allows you to determine the absolute temperature of an object. The value is stored in an 8-bit texture with a resolution of 0.5°C, covering values ​​from -50°C to +75°C. - The “relative-temperature” feature allows you to determine the temperature relative to the user (e.g., 37.5°C). The value is stored in an 8-bit texture with a resolution of 0.2°C, covering values ​​from -25.4°C to +25.4°C. - "dynamic-stiffness" allows you to determine the compliance of an object from a vibration perspective, i.e., the transient vibration when a user strokes the object. The value is stored in an 8-bit texture, covering values ​​from 0 to 255, and the value is the ID in the index table. - "stroke-spectral-response" allows you to determine the vibrations caused by friction between two objects. The values ​​are stored in an 8-bit texture, covering values ​​from 0 to 255, and the values ​​are the IDs in the index table. - "stick-slip" allows for the determination of the vibrational phenomenon ultimately observed in the transition between sticking and sliding. The value is stored in an 8-bit texture, covering values ​​from 0 to 255, and the value is the ID in the index table.

[0093] [Table 15-1]

[0094] [Table 15-2]

[0095] [Table 15-3]

[0096] Figures 7A and 7B show an example of a tactile object including a tactile texture map according to at least one embodiment. The object represents a teapot, and the tactile effect relates to the teapot's temperature. The geometric shape of the teapot is defined by a corresponding mesh. The tactile temperature effect is defined by a tactile texture map applied to the object's geometric shape, which in this example defines the bottom of the teapot as hot, the lid as cold, and the sides of the teapot as changing from hot to cold. In these figures, areas with hot temperatures are represented by areas with light gray shading, while areas with dark gray shading represent areas with cold temperatures. In other words, the lighter the color, the hotter it is, and the darker the color, the colder it is. However, the values ​​shown in the figures do not reflect the temperatures defined in Table 1, but are arbitrarily chosen to obtain an understandable depiction.

[0097] Figures 8A and 8B show an example of a scene description representing a haptic object including a haptic texture map, according to at least one embodiment. The scene corresponds to a teapot having a temperature-related haptic map as described in Figures 7A and 7B. The scene description syntax spans Figures 8A and 8B. Starting from the end of the glTF® description file in Figure 8B, scene description 2001 includes a single node called teapot. Therefore, the set of nodes 2010 is a single child node called teapot. Geometric shape is defined in 2020 as a first mesh with translation for positioning objects in the scene. The single child node also contains a tactile object 2030 which contains two effects: a vibration effect 2031 and a temperature tactile map 2032. The tactile map 2032 is defined as providing a tactile effect related to "temperature" and uses the texture image with index "0" in the list of texture files 2040, thus the first texture image. The vibration effect is defined directly by its parameters, namely, a vibration frequency of 250 Hz and an intensity of 0.7 which are applied to the mesh of the object, since the ShapeType parameter is equal to 2. Other sections of the scene description file relate to the mesh that defines the geometric shape of object 2050, and in Figure 8A, to material 2060 that defines the visual appearance of the surface by defaultMat material, buffer view 2070, buffer 2075 that stores data, version number 2080, buffer description 2085, and list of extensions used 2090.

[0098] While a first example of syntax for conveying tactile objects has been described above, a second example of syntax, in at least one embodiment, will be described later. This second example of syntax allows for the description of signals in a more precise and optimized form. For example, a tactile effect can be defined once and then referenced multiple times, with some optional modifications, to generate a tactile signal. It also includes more signal parameters to provide a more complete solution for generating any type of signal.

[0099] Table 16 shows an example of first-level syntax for an extension describing a global haptic experience, according to at least one embodiment. This provides a description of haptic objects, enumerates different avatars (i.e., bodily representations), and defines the necessary signals. Shape attributes are also added.

[0100] [Table 16-1]

[0101] [Table 16-2]

[0102] [Table 16-3]

[0103] The syntax shown in Table 16 is based on the following elements. -description:String description of the signal. -avatars: A list of all avatars used in this haptic experience. This refers to the avatar schema described below. -signals: A list of all signals associated with the tactile object. This array refers to the signal schema described below. -trigger: This keyword can be used to specify an event that triggers the tactile object. -shape: Defines the shape of the tactile object. -accessors: An array of information and references to bufferViews. This refers to the glTF accessor schema defined in the official glTF 2.0 specification. -bufferViews: A portion of the buffer. This refers to the glTF bufferView schema defined in the official glTF 2.0 specification. -buffers: A reference to raw data. This refers to the glTF buffer schema defined in the official glTF 2.0 specification.

[0104] In addition to the syntax described above, haptic signals may be described as shown in the syntax in Table 17. This syntax includes a string description of the signal, some metadata information (e.g., signal type, encoder type, sampling rate, etc.), a reference to the avatar, and the signal data. If the signal contains PCM data, it can be accessed by referencing a file or an accessor to a buffer. For the descriptive content, a list of all necessary effects is defined at this level. The list of channels finally completes the signal.

[0105] [Table 17-1]

[0106] [Table 17-2]

[0107] The syntax shown in Table 17 is based on the following elements. -description:String description of the signal. -signal_type: Specifies the type of tactile stimulus (vibration, temperature, force, etc.). -encoder: Specifies the type of encoder used to store the signal. "Raw" means the signal file is referenced without any type of encoding. "Descriptive" is used when the signal is written using only glTF extensions (e.g., it may be translated from an IVS or AHAP file). "PCM_Lossy" and "PCM_Lossless" indicate that the signal is encoded using a dedicated encoder (AAC codec and ALS codec, respectively). -sampling_rate: The sampling rate of the signal. -bit_depth: The bit depth of the referenced data. -nb_channels: Number of channels in the signal. -nb_samples_per_channel: The number of samples in each channel. -nb_reduced_samples_per_channel: The number of samples per channel after downsampling. -avatar_id: The ID of the avatar mentioned above, using the avatar schema described later. -signal_file: The path to the file containing the haptic data. This can be any type of file, including wav, ahap, ivs, aac, or other data formats. -signal_accessor: The accessor ID of the data in the buffer. -effect_list: A list of all tactile effects used in the signal. This refers to the tactile effect schema described below. -channels: A list of signal channels. This refers to the haptic channel schema described later.

[0108] Haptic effects may be described using the syntax shown in Table 18. This syntax defines the underlying effects that can be referenced in the timeline of the haptic channel. This allows an effect to be described only once and then referenced multiple times in different channels. Effects may be described using different properties. The inventors have defined five types of effects: Continuous, Periodic, Transient, PCM, or Timeline. Continuous and Periodic effects may be defined using one or more properties. For example, intensity, attack time, fade time, attack level, and decay level can be used to define simple effects (similar to IVS). More advanced effects can be described using the envelope property, which allows a curve to be defined by specifying keypoints. Transient effects may be defined only by intensity and sharpness values. PCM effects may simply refer to raw data stored in a buffer. Properties such as intensity, attack_time, fade_time, and envelope can be used as multipliers for these effects. The timeline effect is simply a temporary reference to a previously defined underlying effect.

[0109] [Table 18-1]

[0110] [Table 18-2]

[0111] [Table 18-3]

[0112] The syntax shown in Table 18 is based on the following elements. -id: The ID of the effect. -effect_type: Specifies the type of tactile effect. Effect types include continuous effects (e.g., non-periodic effects used for force feedback), periodic effects (e.g., sinusoidal effects used for vibration), transient effects (e.g., short, small vibration effects that feel like taps), PCM (i.e., raw signal data), or timeline effects that reference other existing effects. -PCM_data: Accessor to raw effect data. -intensity: The strength of the effect. If the effect uses PCM data, envelope data, or a timeline, this property can be used as a multiplier. -sharpness: Defines the sharpness of the effect. -duration: The duration of the effect. -attack_time: The duration of the attack phase of the effect. -fade_time: The duration of the effect decay phase. -release_time: The time required for the intensity envelope that persists after the event has ended to reach zero. -attack_level: The intensity of the signal at the beginning. -decay_level: The signal strength at the end of the signal. -envelope: An array of keyframes that define the signal envelope. -wave_frequency: The frequency of the periodic effect. -waveform: The waveform of a periodic effect. -timeline: The timeline of the effect.

[0113] Figure 9 shows various tactile effect properties of the continuous effect.

[0114] The haptic channel extension provides specific metadata information for each channel of the signal. As shown in the syntax in Table 19, it includes description, gain, mixed weighting (for ultimately merging the signals together), body part mask (following the same rules as OHM for positioning effects), and accessors to a list of vertices (for providing more accurate body localization). For descriptive content, the effect timeline is used to temporally reference and organize the effects defined at the signal level. Finally, the timeline property can be used as an additional way to adjust intensity and sharpness parameters over time.

[0115] [Table 19-1]

[0116] [Table 19-2]

[0117] The syntax shown in Table 19 is based on the following elements. -id: The channel ID. -description: A description of the channel. -gain: The gain applied to all effects in this channel. -mixing_weight: An optional weight specified for blending the channels together. -body_part_mask: A body mask that specifies the body parts to which the effect of this channel should be applied. -vertices: The avatar's vertices that define the locations on the body to which the effects of this channel should be applied. -effect_timeline: The timeline for the channel's effect. This uses the haptic reference schema defined below. -properties_timeline: The timeline for the properties. The properties defined here are used as multipliers to change the magnitude or sharpness of a signal channel over time.

[0118] As shown in the syntax in Table 20, haptic references may be used within the timeline to reference haptic effects defined at the signal level. This requires only the effect's ID and start time. This also provides the possibility of overriding the properties of the referenced effect. This feature allows the same effect to be used multiple times on different channels with slight variations.

[0119] [Table 20-1]

[0120] [Table 20-2]

[0121] [Table 20-3]

[0122] The syntax shown in Table 20 is based on the following elements. -id: ID of the reference effect -starting_time: Start time of the reference effect on the timeline -effect_type -wave_frequency -waveform -intensity -sharpness -duration -attack_time -fade_time -release_time -attack_level -decay_initial

[0123] All of these parameters except "id" and "starting time" are optional and can be used to override the properties of the referenced effect. These are the same as those defined for the effect schema in Table 18. One example is reusing a haptic effect, but with a lower intensity. As already mentioned, this allows for optimizing the overall scene definition by reusing some parameters.

[0124] This extension can be used with a channel timeline property, as shown in the syntax in Table 21, to adjust intensity or sharpness parameters. This is used as a multiplier. The property can be defined using a single value or a curve defined by keypoints.

[0125] [Table 21]

[0126] The syntax shown in Table 21 is based on the following elements. -property_type: The type of property. This specifies whether the property is a single value or a curve, and whether it should be applied to intensity or sharpness. -value: The value of the property. -curve: An array of keyframes defined by values ​​and timestamps.

[0127] Haptic avatars are used as bodily representations of tactile effects. Different types of avatars can be defined, as shown in the syntax in Table 22, and specific geometric shapes can be determined by referencing custom meshes from a buffer.

[0128] [Table 22-1]

[0129] [Table 22-2]

[0130] The syntax shown in Table 22 is based on the following elements. -id: Avatar ID. -lod: Avatar detail level. -Type: A predefined type of avatar, including vibration, pressure, and temperature. Other avatars can be described using the "Custom" type and mesh. -mesh: The mesh of the avatar.

[0131] The syntax shown in Table 23 defines the first example of a haptic object that uses signals provided in the companion file "vibration.wav".

[0132] [Table 23-1]

[0133] [Table 23-2]

[0134] The syntax shown in Table 24 defines a second example of a haptic object containing fully descriptive signals.

[0135] [Table 24-1]

[0136] [Table 24-2]

[0137] [Table 24-3]

[0138] The term “user” is used throughout this specification. This means that it covers not only human users but also animals. One example of a use case concerns notifying a dog when it enters a restricted area. For that purpose, the tactile rendering device may take the form of a vibrating dog collar. When the dog enters the restricted area, vibration is provided. In this case, a suitable mesh is used for the body model.

[0139] Although various embodiments have been described separately, these embodiments can be combined in any way while respecting the principles of this disclosure.

[0140] Although the embodiments relate to tactile effects, those skilled in the art will understand that the same principle can be applied to other effects, such as sensory effects, and therefore to smell and taste. Accordingly, appropriate syntax will determine appropriate parameters related to these effects.

[0141] References to “one embodiment” or “embodiment” or “one implementation” or “implementation,” as well as other variations thereof, mean that certain features, structures, characteristics, etc., described in relation to an embodiment are included in at least one embodiment. Therefore, appearances of “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation,” as well as other variations, appearing in various places throughout this application, do not necessarily all refer to the same embodiment.

[0142] In addition, this application may refer to "determining" various types of information. Determining information may include, for example, one or more of the following: estimating information, calculating information, predicting information, or retrieving information from memory.

[0143] In addition, this application or its claims may refer to “acquiring” various types of information. “Acquiring” is intended to be a broad term, similar to “accessing.” Acquiring information may include, for example, receiving information, accessing information, or retrieving information (for example, from memory or optical media storage devices). Furthermore, “acquiring” generally involves in some way operations such as storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.

[0144] For example, in the cases of "A / B", "A and / or B", and "at least one of A and B", it should be understood that the use of any of the following " / ", "and / or", and "at least one of" is intended to encompass the selection of only the first listed option (A), only the second listed option (B), or both options (A and B). As a further embodiment, in the cases of "A, B, and / or C" and "at least one of A, B, and C," such expressions are intended to encompass the selection of only the first listed option (A), or only the second listed option (B), or only the third listed option (C), or only the first and second listed options (A and B), or only the first and third listed options (A and C), or only the second and third listed options (B and C), or the selection of all three options (A, B, and C). This can be extended to the number of enumerated items, as will be readily apparent to those skilled in the art in this and related fields.

Claims

1. At least one item of information representing at least one element of the scene, Information representing a tactile object, Types of tactile effects (514, 524), Information including at least one parameter of the tactile effect (515, 516, 525) and a tactile volume or surface (517, 512, 526, 522) in which the tactile effect is activated, and information representing a scene description (500), (201) Detecting a collision between the position of the user or a part of the user's body and the tactile volume or surface (202), A method comprising preparing data for rendering an immersive scene, wherein the data is generated based on at least one parameter of the haptic effect.

2. The method according to claim 1, wherein the type of tactile effect is selected from a set including vibration, pressure, temperature, and motion.

3. The method according to claim 1 or 2, wherein the parameters of the tactile effect describe signals applied to a tactile actuator to render the tactile effect.

4. The method according to any one of claims 1 to 3, wherein the parameter of the tactile effect includes identifying a file containing the tactile signal to be applied.

5. The method according to any one of claims 1 to 4, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the volume of the geometric shape of at least one of the elements of the scene.

6. The method according to any one of claims 1 to 4, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the surface of the geometric shape of at least one of the elements of the scene.

7. The method according to any one of claims 1 to 4, wherein the tactile volume is selected from a set including a 2D plane, a sphere, an ellipsoid, a cube, a parallelepiped, and a capsule.

8. The method according to any one of claims 1 to 7, wherein the elements of the scene are selected from a set including 3D objects, 2D or 3D video, and omnidirectional video.

9. The method according to any one of claims 1 to 8, wherein at least one of the parameters of the tactile effect is a texture map.

10. A device comprising a processor (101), wherein the processor is At least one piece of information representing at least one element of the scene, Information representing a tactile object (192), Types of tactile effects, At least one parameter of the tactile effect, and Information (190) representing a scene description (191) is obtained, which includes information including a tactile volume or surface in which the tactile effect is active. The collision between the position of the user or a part of the user's body and the tactile volume or surface is detected. A device configured to prepare data for rendering an immersive scene, wherein the data is generated based on at least one of the parameters of the haptic effect.

11. The device according to claim 10, wherein the type of tactile effect is selected from a set including vibration, pressure, temperature, and motion.

12. The device according to claim 10 or 11, wherein the parameters of the tactile effect describe signals applied to a tactile actuator to render the effect.

13. The device according to any one of claims 10 to 12, wherein the parameter of the tactile effect includes identifying a file containing the tactile signal to be applied.

14. The device according to any one of claims 10 to 13, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the volume of the geometric shape of at least one of the elements of the scene.

15. The device according to any one of claims 10 to 13, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the surface of the geometric shape of at least one of the elements of the scene.

16. The device according to any one of claims 10 to 13, wherein the tactile volume is selected from a set including a 2D plane, a sphere, an ellipsoid, a cube, a parallelepiped, and a capsule.

17. The device according to any one of claims 10 to 16, wherein the elements of the scene are selected from a set including 3D objects, 2D or 3D video, and omnidirectional video.

18. The device according to any one of claims 10 to 17, wherein at least one of the parameters of the tactile effect is a texture map.

19. The device according to any one of claims 10 to 18, further configured to render the tactile effect by applying a tactile signal to a tactile actuator according to at least one of the parameters of the tactile effect.

20. A signal for rendering an immersive scene which includes information representing a scene description (500), wherein the scene description (500) is At least one piece of information representing at least one element of the aforementioned scene, Information representing a tactile object, Types of tactile effects, At least one parameter of the tactile effect, and A signal, including information, which includes a tactile volume or surface in which the tactile effect is active.

21. The signal according to claim 20, wherein the type of tactile effect is selected from a set including vibration, pressure, temperature, and motion.

22. The parameter of the tactile effect describes the signal applied to the tactile actuator to render the effect, according to claim 20 or 21.

23. The parameter of the tactile effect includes identifying a file containing the tactile signal to be applied, according to any one of claims 20 to 22.

24. The signal according to any one of claims 20 to 23, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the volume of the geometric shape of at least one of the elements of the scene.

25. The signal according to any one of claims 20 to 23, wherein the tactile volume refers to at least one of the elements of the scene and is determined by the surface of the geometric shape of at least one of the elements of the scene.

26. The signal according to any one of claims 20 to 23, wherein the tactile volume is selected from a set including a 2D plane, a sphere, an ellipsoid, a cube, a parallelepiped, and a capsule.

27. The signal according to any one of claims 20 to 26, wherein the elements of the scene are selected from a set including 3D objects, 2D or 3D video, and omnidirectional video.

28. The signal according to any one of claims 20 to 27, wherein at least one of the parameters of the tactile effect is a texture map.

29. A computer program, when executed by a processor, includes program code instructions that implement the method described in any one of claims 1 to 9.

30. A non-temporary computer-readable medium containing program code instructions that, when executed by a processor, implement the method according to any one of claims 1 to 9.