Method and apparatus for signaling / parsing haptic data
By optimizing the mapping data between the tactile effects and the body parts of the human body into the container, the problem of excessive data volume and processing time in the prior art is solved, and more efficient tactile effects adjustment and presentation are achieved.
Patent Information
- Application Number
- CN202380049635.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-01
- Filing Date
- 2023-06-21
- Publication Date
- 2025-02-28
AI Technical Summary
When mapping tactile effects with body parts of the human body, the body model used is too simplified or too complex, resulting in the inability to effectively adjust the tactile effects to different body parts, increasing the amount of data and processing time.
A method is adopted to signal a mapping between a tactile effect and the body part of the human body targeted by the tactile effect to the container, and the data volume and processing time are optimized by writing data into the container to identify the targeted body part and its associated body model grouping.
Through this method, it is possible to effectively identify and adjust the tactile effects in different body parts, reduce the amount of data and processing time, and improve the presentation efficiency of the tactile effects.
Smart Images

Figure CN119547039A_ABST
Abstract
Description
Technical Field
[0001] The present application relates generally to the field of haptic technology, and in particular to the processing of haptic-related data. The present application relates to signaling data related to identifying one or more parts of a body model targeted by one or more haptic effects and to parsing such data. The present application also relates to methods and apparatus for encoding / decoding data representing parts of a body model associated with presenting haptic effects. Background Art
[0002] This section is intended to introduce the reader to various aspects of the art, which may be related to various aspects of at least one exemplary embodiment of the present application described and / or claimed below. Such discussion is considered to be helpful in providing background information to the reader so that the reader can better understand various aspects of the present application.
[0003] Haptic technology broadly refers to any technology that recreates the sensation of touch in a user interface by applying force, vibration, motion, and other sensations (e.g., temperature) to provide information to the end user, for example, in addition to visual and audio information when presenting multimedia content.
[0004] Haptic feedback covers a wide range of possible stimulation embodiments, but is mainly divided into haptic haptic technology and kinesthetic haptic technology: haptic haptic feedback (or haptic haptic effects) refers to sensations such as vibration, friction, or micro-deformation, while kinesthetic haptic feedback (or kinesthetic haptic effects) refers to sensations that provide a sense of force, which can stimulate mechanical stimulation as well as stimulation related to the orientation and movement of the body.
[0005] The presentation of tactile feedback or tactile effects is obtained using a tactile device, which corresponds to the arrangement of one or more tactile actuators. For example, a vibratory tactile effect can be obtained by using an eccentric rotating mass (ERM), a linear resonant actuator (LRA), and a wide bandwidth actuator (such as a voice coil motor (VCM) or a piezoelectric actuator (PZT)). Kinesthetic effects can be presented by an actuator applying a force that hinders the movement of a limb, and such an effect is only felt on muscles and tendons, not on the skin. Other examples of tactile devices include resistive force feedback devices, active force feedback devices, and skin indentation devices.
[0006] Human tactile perception is a complex subject. In fact, presenting the same tactile effect on two different parts of the human body may result in different tactile perceptions in the person receiving the stimulation through a tactile device.
[0007] In order to adapt the haptic effect to be presented to the part of the human body targeted by the haptic effect, patent document WO2015185389A1 discloses the use of a three-dimensional (3D) body model (e.g., a skeleton or mesh) to relate the haptic effect to the haptic device input. In this document, the body model is used to infer the haptic device input parameters using a transfer function associated with a physics engine.
[0008] Using a simplified body model (eg, a skeleton represented in joints and segments) limits adapting haptic effects to the part of the body targeted by the haptic effect.
[0009] Using a body model (referred to as a face) represented by a mesh composed of mesh elements (eg, polygons) increases the amount of data to be transmitted to a haptic device that renders the haptic effect. Summary of the invention
[0010] The following section presents a brief overview of at least one exemplary embodiment to provide a basic understanding of some aspects of the present application. This overview is not an extensive review of the exemplary embodiments. It is not intended to be used to identify the key or important elements of the embodiments. The following overview merely presents certain aspects of at least one exemplary embodiment in a brief form as a prelude to a more detailed description provided elsewhere in this document.
[0011] According to a first aspect of the present application, there is provided a method for signaling a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect (referred to as the targeted body part) into a container, the human body being represented by a body model, the body model comprising a first plurality of body parts and a second plurality of body parts grouping, each grouping of the second plurality of body parts groupings comprising at least a body part of the first plurality of body parts. The method comprises writing first data into the container, the first data identifying the targeted body part with reference to at least one grouping of the second plurality of body parts groupings to which the targeted body part belongs.
[0012] In an exemplary embodiment, the method further comprises:
[0013] - writing second data into the container, the second data identifying the side of the body model to which the targeted body part belongs, the side being the right side and the left side; and / or
[0014] - Writing third data into the container, the third data identifying the face of the body model to which the targeted body part belongs, the face being in the front part and in the back part.
[0015] In an exemplary embodiment, the first data includes a first identifier identifying the targeted body part and at least one second identifier identifying at least one group of the second plurality of body parts to which the targeted body part belongs.
[0016] In another exemplary embodiment, the first data includes a third identifier identifying a logical operator.
[0017] In a further exemplary embodiment, when the logical operator corresponds to NOT, the method further includes writing fourth data into the container, the fourth data identifying a body part excluded from at least one group of the second plurality of body parts to which the targeted body part belongs.
[0018] In additional exemplary embodiments, the method further includes writing fifth data representing the haptic effect into the container.
[0019] According to a second aspect of the present application, there is provided a method for parsing data representing a mapping between a haptic effect and at least a body part of a human body targeted by the haptic effect (referred to as the targeted body part) from a container, the human body being represented by a body model, the body model comprising a first plurality of body parts and a second plurality of body parts grouping, each grouping of the second plurality of body parts groupings comprising at least a body part of the first plurality of body parts. The method comprises reading first data from the container, the first data identifying the targeted body part with reference to at least one grouping of the second plurality of body parts groupings to which the targeted body part belongs.
[0020] In an exemplary embodiment, the method further comprises:
[0021] - reading second data from the container, the second data identifying the side of the body model to which the targeted body part belongs, the side being the right side and the left side; and / or
[0022] - Reading third data from the container, which third data identify the face of the body model to which the targeted body part belongs, the face being in the front part and in the back part.
[0023] In an exemplary embodiment, the first data includes a first identifier identifying a targeted body part and at least one second identifier identifying at least one group of groups of a second plurality of body parts to which the targeted body part belongs.
[0024] In another exemplary embodiment, the first data includes a third identifier identifying a logical operator.
[0025] In a further exemplary embodiment, when the logical operator corresponds to NOT, the method further includes reading fourth data from the container, the fourth data identifying a body part excluded from at least one group of the second plurality of body parts groups to which the targeted body part belongs.
[0026] In additional exemplary embodiments, the method further includes reading fifth data representing the haptic effect from the container.
[0027] According to a third aspect of the present application, there is provided a device for signaling a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect (referred to as the targeted body part) to a container, wherein the device comprises a memory associated with at least a processor, the memory being configured to implement a method according to the first aspect of the present application.
[0028] According to a fourth aspect of the present application, there is provided a device for parsing from a container a mapping between a representation of a tactile effect and at least a body part of a human body targeted by the tactile effect (referred to as the targeted body part), wherein the device comprises a memory associated with at least a processor, the memory being configured to implement the method according to the second aspect of the present application.
[0029] According to a fifth aspect of the present application, there is provided a container formatted to include data representing a mapping between a haptic effect and at least a body part of a human body targeted by the haptic effect (referred to as the targeted body part), the human body being represented by a body model, the body model including a first plurality of body parts and a second plurality of body parts grouping, each grouping of the second plurality of body parts groupings including at least a body part of the first plurality of body parts. The data includes first data identifying the targeted body part with reference to at least one grouping of the second plurality of body parts groupings to which the targeted body part belongs.
[0030] According to a sixth aspect of the present application, there is provided a bitstream carrying data representing a mapping between a haptic effect and at least a body part of a human body targeted by the haptic effect (referred to as the targeted body part), the human body being represented by a body model, the body model comprising a first plurality of body parts and a second plurality of body parts grouping, each grouping of the second plurality of body parts groupings comprising at least a body part of the first plurality of body parts. The data comprises first data identifying the targeted body part with reference to at least one grouping of the second plurality of body parts groupings to which the targeted body part belongs.
[0031] According to a seventh aspect of the present application, a computer program product comprising instructions is provided. When the program is executed by one or more processors, the one or more processors execute the method according to the first aspect of the present application.
[0032] According to an eighth aspect of the present application, a non-transitory storage medium is provided, carrying program code instructions for executing the method according to the first aspect of the present application.
[0033] According to a ninth aspect of the present application, a computer program product comprising instructions is provided. When the program is executed by one or more processors, the one or more processors execute the method according to the second aspect of the present application.
[0034] According to the tenth aspect of the present application, a non-transitory storage medium is provided, carrying instructions of a program code for executing the method according to the second aspect of the present application.
[0035] The specific nature of at least one exemplary embodiment and other objects, advantages, features and uses of the at least one exemplary embodiment will become apparent from the following description of the examples taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Reference will now be made, by way of example, to the accompanying drawings which show exemplary embodiments of the present application, in which:
[0037] Figure 1 shows a schematic representation of a body model according to at least one exemplary embodiment;
[0038] Figure 2 According to at least one exemplary embodiment, Figure 1 Schematic hierarchical representation of the body model;
[0039] Figure 3 According to at least one exemplary embodiment, Figure 1 schematic representation of parts of a body model;
[0040] Figure 4 A haptic effect is shown according to at least one exemplary embodiment. Figure 1 Examples of signaling / parsing schemes or examples of encoding / decoding schemes for one or more parts of a body model;
[0041] Figure 5 A method of transmitting a signal representing a signal targeted by a haptic effect over a communication network is shown according to at least one example embodiment. Figure 1 two remote devices for obtaining data of one or more parts of a body model;
[0042] Figure 6 A diagram showing a carrier representing a device targeted by a haptic effect according to at least one example embodiment Figure 1 An example of a container for data of one or more parts of a body model;
[0043] Figure 7A method of representing a haptic effect directed to a Figure 1 A schematic block diagram of the steps of a method for signaling data of one or more parts of a body model to a container;
[0044] Figure 8 A method of parsing a haptic effect from a container according to at least one exemplary embodiment is shown. Figure 1 A schematic block diagram of the steps of a method for obtaining data of one or more parts of a body model;
[0045] Fig. 9 A schematic block diagram of an example of a system in which various aspects and exemplary embodiments are implemented is illustrated.
[0046] Like reference numerals may be used in different drawings to denote similar components. DETAILED DESCRIPTION
[0047] At least one exemplary embodiment will be described more fully below with reference to the accompanying drawings, in which examples of at least one exemplary embodiment are illustrated. However, the exemplary embodiments may be embodied in many alternative forms and should not be construed as being limited to the examples set forth herein. Therefore, it should be understood that there is no intention to limit the exemplary embodiments to the specific forms disclosed. On the contrary, the disclosure is intended to cover all modifications, equivalents, and alternatives that fall within the spirit and scope of the present application.
[0048] At least one of the various aspects generally relates to methods and apparatus for signaling information representing a mapping between a haptic effect and one or more body parts of a human body targeted by the haptic effect into a container. Such one or more body parts are referred to as targeted body parts in the following description, and the targeted body parts include one or more body parts.
[0049] The human body is represented by a body model, the body model including a first plurality or a first group of body parts, such as one or more fingers, one or more hands, knuckles, head, and a second plurality of groupings of body parts. Each grouping of the second plurality of groupings of body parts includes one or more body parts of the first plurality of body parts.
[0050] Signaling the mapping information includes writing first data into the container, the first data identifying the targeted body part with reference to one or more groups of the second plurality of body part groups to which the targeted body part belongs (ie, with reference to the group containing the targeted body part).
[0051] Corresponding methods and apparatus for parsing information representing a mapping between haptic effects and targeted body parts from a container also constitute one or more aspects of the present principles.
[0052] Exemplary embodiments of the present principles are directed to methods and apparatus for encoding information representing data of a mapping between a tactile effect and a targeted body part into a container; and are also directed to corresponding methods and apparatus for decoding information representing data of a mapping between a tactile effect and a targeted body part from a container.
[0053] In short, the present invention relates to signaling / parsing and / or encoding / decoding haptic-related data to enable presentation of one or more haptic effects by a haptic device arranged on a human body (i.e., on at least a part of a human body). The haptic-related data may correspond to data representing one or more parts of a body model representing a human body, the one or more body parts being targeted by the haptic effect to be presented, i.e., generating the haptic effect on the one or more body parts by one or more haptic actuators (forming the haptic device) associated with the one or more body parts.
[0054] Using first data of a grouping of reference body parts (including body parts) to signal and identify the targeted body part to a container makes it possible, for example, to reduce the amount of data used to signal (encode) information in the container and optimize the parsing (respectively decoding) contained in the container received by the rendering engine and / or tactile device.
[0055] Indeed, when haptic effects target multiple body parts of the same type (eg, all or part of a knuckle), using the first data enables efficient identification of these body parts by referring only to one grouping (eg, a hand) that includes the body parts.
[0056] Such a signaling / encoding scheme enables to optimize / reduce the amount of data transferred between components generating haptic related data and components consuming haptic related data.The signaling / encoding scheme also enables to optimize / reduce the processing time at the haptic effect rendering stage.
[0057] A container may correspond, for example, to a bitstream, a network packet, or a file (eg, a text file or a binary file).
[0058] A binary structure such as a binary file (e.g., ISOBMFF file) is an example of a container. Binary files define a syntax for parsing and understanding the file structure. They have a beginning and an end, and usually hold self-contained information. Binary files are usually transmitted and stored as a whole.
[0059] However, for transmission over a network, such as using the Synchronous Collaboration Transport Protocol (SCTP), Interactive Real-Time Protocol (IRTP), Efficient Transport Protocol (ETP), Real Time Network Protocol (RTNP), or Real Time application-level Protocol for distributed Interactive media (RTP / I), binary files can be further segmented into smaller file units, such as transport packets.
[0060] Figure 1 Illustrated is a schematic representation of a body model 10 according to at least one exemplary embodiment.
[0061] Figure 1 The body model 10 represents a human body and is used to identify various parts of the human body.
[0062] The body model 10 includes a first grouping of body parts and a second grouping of body parts.
[0063] Each body part in the first set of body parts belongs to one or more of the groups in the second set of body parts, and each of the groups in the second set of body parts includes one or more body parts in the groups in the second set of body parts.
[0064] The body parts in the first set of body parts may, for example, correspond to the groups in the second set of groupings of body parts.
[0065] For example, the second set of body part groupings includes the following groupings:
[0066] - a grouping called "head" 101, including the following body parts: head and neck;
[0067] - a group called "torso" 102, comprising only one body part, the torso;
[0068] - a group called "waist" 103, comprising only one body part, namely the waist;
[0069] - a grouping called "legs", including the following body parts: upper leg 104, lower leg 105 and foot 106;
[0070] - a grouping called "arm", including the following body parts: upper arm 107, lower arm 108 and hand;
[0071] - a grouping called "hand" 12, comprising the following body parts: palm 109 and fingers;
[0072] - a grouping called "fingers", including the following body parts: thumb 110, index finger 111, middle finger 112, ring finger 113 and little finger 114;
[0073] - A grouping called "knuckles" includes the following body parts: first knuckle, second knuckle, and third knuckle;
[0074] - A group called "foot", which includes the following body parts: plant and toes;
[0075] - a group called "lower limbs", corresponding to the lower part of the body model and including the following body parts: waist and legs;
[0076] - a group called "upper limbs", corresponding to the higher part of the body model 10 and comprising the following body parts: head, chest and arms;
[0077] a group called "right part", corresponding to the right half of the body model 10 and comprising the following body parts: head, chest, waist, right arm and right leg;
[0078] a group called “left part” 11 , corresponding to the left half of the body model 10 and comprising the following body parts: head, chest, waist, left arm and left leg;
[0079] a group called “front”, corresponding to the front of the body model 10 and comprising the following body parts: front head, front chest, front waist, front arms and front legs;
[0080] a group called "back", corresponding to the back of the body model 10, and including the following body parts: back of the head, back of the chest, back of the waist, back of the arms and back of the legs; and
[0081] A group called "all" corresponds to the overall body model 10 and brings together all groups and body parts, namely: head, chest, waist, arms and legs.
[0082] Of course, the groups and body parts constituting the body model are not limited to the above examples. The number of groups and the number of body parts are also not limited to the above examples and can be any number.
[0083] Each grouping of body parts can be identified with, for example, an identifier corresponding to a grammatical element, such as one of the following grammatical elements: "all", "left", "right", "front", "back", "upper limb", "lower limb", "head", "torso", "waist", "legs", "arms", "hands", "feet", "fingers / toes".
[0084] Similarly, each body part may be an identifier having, for example, an identifier corresponding to a grammatical element, which may be the same as the grammatical element identifying the grouping when the body part also corresponds to a grouping. For example, the following grammatical elements may be used to identify body parts when necessary: "head", "torso", "waist", "leg", "arm", "hand", "foot", "fingers / toes", "thumb", "index finger", "middle finger", "ring finger", "little finger", "palm", "sole", "knuckle", "first knuckle", "second knuckle", "third knuckle", "upper arm / leg", "lower arm / leg".
[0085] According to a variant, each body part and each grouping may be identified by an identifier corresponding to a numerical value (for example: a binary value or a hexadecimal value).
[0086] The one or more identifiers of the one or more groups are used to signal (i.e., indicate) in the container which body part or parts are targeted by the haptic effect. If necessary, the one or more identifiers of the one or more targeted body parts are used in addition to the one or more identifiers of the one or more groups to signal the one or more targeted body parts.
[0087] Figure 2 Illustrated is a schematic representation 20 of the relationship between groupings and body parts of the body model 10 according to at least one exemplary embodiment.
[0088] Figure 2 Portions of the groupings and body parts of the body model 10 and connections or links between the groupings and / or body parts are shown. Figure 2 The associations and correlations between the groups and body parts are shown in a hierarchical manner.
[0089] When a group (e.g., group "A") or a body part is included in another group (e.g., group "B"), the group (e.g., group "A") or body part is said to be subordinate to or belong to the other group (e.g., group "B"). Figure 2 , it is shown in a hierarchical manner with two boxes belonging to two different layers (corresponding to the layers of the hierarchical levels) interconnected by a line.
[0090] For example, the box referenced 201 corresponds to the grouping “ALL” and belongs to the highest hierarchical level (eg: level 0 ) in the structure or tree 20 .
[0091] The four boxes 211, 212, 213, 214 form a layer having a hierarchical level (e.g., level 1) directly below level 0. For example, box 211 represents a group "left", box 212 represents a group "right", box 213 represents a group "front", and box 214 represents a group "back". Each of the group "left", the group "right", the group "front", and the group "back" belongs to the group "all", or in other words, the group "all" includes the group "left", the group "right", the group "front", and the group "back".
[0092] As shown in the structure or tree 20, each of the groupings "left", "right", "front", and "back" includes groups represented by boxes with reference numerals 221, 222, 223, 224, and 225. Boxes 221, 222, 223, 224, and 225 form a layer having a hierarchical level (e.g., level 2) directly below level 1.
[0093] Box 221 represents, for example, the group "head", box 222 represents, for example, the group "chest", box 223 represents, for example, the group "arm", box 224 represents, for example, the group "leg", and box 225 represents, for example, the group "waist".
[0094] In a layer having a hierarchical level directly below level 2 (e.g., level 3), three boxes 231, 232, 233 are connected to (and subordinate to) box 223. The groups and / or body parts represented by boxes 231 to 233 are included in the group "arm" 223. Box 231 represents, for example, the body part "upper arm", box 232 represents, for example, the body part "lower arm", and box 233 represents, for example, the group "hand" (which may also correspond to a body part).
[0095] In a layer having a hierarchical level directly below level 3 (e.g., level 4), two boxes 241 and 242 are connected to (and subordinate to) box 233. The groups and body parts represented by boxes 241 and 242 are included in the group "hand" 233. Box 241 represents, for example, the body part "palm", and box 242 represents, for example, the group "fingers".
[0096] In a layer having a hierarchical level directly below level 4 (e.g., level 5), five boxes 251, 252, 253, 254, and 255 are connected to (and subordinate to) box 242. The respective groups represented by boxes 251 to 255 are included in the group "fingers" 242. Box 251 represents, for example, a group "thumbs" (which may also correspond to body parts according to variants), box 252 represents, for example, a group "index fingers" (which may also correspond to body parts according to variants), box 253 represents, for example, a group "middle fingers" (which may also correspond to body parts according to variants), box 254 represents, for example, a group "ring fingers" (which may also correspond to body parts according to variants), and box 255 represents, for example, a group "little fingers" (which may also correspond to body parts according to variants).
[0097] When boxes 251 to 255 represent groups, namely, group "thumb", group "index finger", group "middle finger", group "ring finger", and group "pinky finger", the structure or tree 20 includes an additional layer having a hierarchical level directly below level 5 (e.g., level 6), which includes boxes 261, 262, and 263, which are connected to (and subordinate to) each of the boxes 251 to 255. For clarity, in Figure 2 Only the connections between blocks 261 to 263 on the one hand and block 254 on the other hand are shown.
[0098] Box 261 represents, for example, the body part "first knuckle", box 262 represents, for example, the body part "second knuckle", and box 263 represents, for example, the body part "third knuckle".
[0099] According to a variant, the body part "first knuckle", the body part "second knuckle" and the body part "third knuckle" are grouped in the group "knuckles", the group "knuckles" are connected to (or subordinate to) each group in the groups "fingers" 251 to 255, and the body part "first knuckle", the body part "second knuckle" and the body part "third knuckle" are connected to (or subordinate to) the group "knuckles".
[0100] Figure 3 Illustrated is a schematic representation of a portion of a body model 10 according to at least one exemplary embodiment.
[0101] Figure 3 Also illustrated is the signaling and / or encoding of data representing a body part of the body model 10 targeted by a haptic effect, according to at least one exemplary embodiment.
[0102] Figure 3 Groups of body parts corresponding to the group "hands" 12 are shown.
[0103] This group "hand" 12 is composed of a body part "palm" 31 and a group "fingers", which includes a group "thumb" 31, a group "index finger" 32, a group "middle finger" 33, a group "ring finger" 34, and a group "little finger" 35. Then, each of the groups 31 to 35 includes three knuckles, i.e., a first knuckle 311, a second knuckle 312, and a third knuckle 313, each knuckle corresponding to a body part.
[0104] In order to signal one or more body parts (referred to as targeted body parts) in a container containing information to be sent, for example, from a transmitter to a receiver, from a tactile data generator to a tactile rendering engine, or from an encoder to a decoder, first data identifying the targeted body parts is written or encoded into the container with reference to each grouping that includes the targeted body parts.
[0105] For example, according to Figure 3 In the example of , where the targeted body part corresponds to the third knuckle 313 of each finger 31 to 35 (highlighted in light grey) of the two hands, the first data for signaling this information may correspond to:
[0106] "Third knuckle of hand"
[0107] The amount of data or information used to identify, signal (ie, represent), or encode ten body parts (ie, ten third knuckles) is much less than the grammar to identify each body part individually.
[0108] According to another example, in order to signal the three knuckles of the thumb of the left hand, the first data for signaling this information may correspond to:
[0109] "Left thumb"
[0110] According to another example, in order to identify the third knuckle of the thumb of the right hand, the first data for signaling this information may correspond to:
[0111] "Right hand thumb third" or "Right hand thumb third knuckle", depending on how the body parts are grouped in the body model.
[0112] The use of groupings of body parts, taking advantage of the symmetry of the body model 10 (right / left and front / back), enables clear and unambiguous identification of each body part of the body model that may be targeted by a haptic effect.
[0113] In addition, the use of groupings of body parts enables efficient encoding or signaling of information identifying the targeted body parts, particularly when the targeted body parts include multiple body parts of the same type (e.g., knuckles, both hands, the same part of the leg), as the amount of data used to encode or signal the information is reduced.
[0114] According to a specific embodiment, the signal transmission of the targeted body part located on a specific side of the body model (i.e., on the left-hand side or on the right-hand side) is obtained by writing second data identifying the side (i.e., the left side or the right side) with reference to each group of "left part" 211 and "left part" 212 of each body part into the container.
[0115] According to a further specific embodiment, signal transmission of a targeted body part located on a specific face of a body model (i.e., on the front or on the back (or dorsal) face) is obtained by writing second data identifying the face (i.e., front or back) with reference to each group of "front" 213 and "back" 214 of each body part into a container.
[0116] According to a further specific embodiment, first data for signaling a targeted body part (or encoding data identifying a targeted body part) includes a first identifier (e.g., a grammatical element describing the targeted body part) that identifies the targeted body part, and a second identifier that identifies one or more groups that include the targeted body part (e.g., one or more grammatical elements that describe one or more groups that include the targeted body part).
[0117] In another specific embodiment, the first data includes a third identifier identifying a logical operator. The logical operator corresponds to, for example:
[0118] - logical operator NOT; and / or
[0119] - logical operator AND; and / or
[0120] - Logical operator OR; and / or
[0121] - logical operator XOR; and / or
[0122] - Logical operator NOR.
[0123] For example, the upper arm and the lower arm of one or both arms may be signaled and / or encoded into the container with the following first data:
[0124] "left arm NOT hand" or left arm, and
[0125] The two arms are “arms NOT hands”.
[0126] The use of the logical operator NOT enables the exclusion of one or more body parts from a grouping. The exclusion is signaled using the identifier of the logical operator NOT and the identifier of the excluded body part. In the above example, the body part or group "hand" is excluded from the group "arm" to signal and / or encode the identification of the lower arm and upper arm of the arm.
[0127] Another way to signal this information is: "ARM UP AND LOWER".
[0128] The use of logical operators may be more efficient than identifying each targeted body part individually. For example, to identify all of the hand except the first knuckle of each finger, the following first data may be used to signal and / or encode the information into a container:
[0129] "Hand NOT the first knuckle".
[0130] The different embodiments described above can be combined with each other in any combination.
[0131] Figure 4 Schematically illustrated are schematic diagrams of signaling / parsing and / or encoding / decoding schemes for haptic-related data according to certain embodiments of the present principles.
[0132] The haptic-related data 401 advantageously comprise first data identifying the targeted body part.
[0133] According to a variant, the haptic-related data 401 also includes data representing the haptic effect to be presented by the haptic device on the targeted body part. The data representing the haptic effect to be applied to the targeted body part includes, for example:
[0134] - the type of tactile (and / or sensory) effect (e.g., vibrotactile effect, force effect, hardness effect, texture effect, temperature effect, wind effect, pain effect, olfactory effect, light-based effect, etc.); and / or
[0135] - the amplitude, phase and / or frequency of a signal representing a haptic effect; and / or
[0136] - the start time of the haptic effect; and / or
[0137] - the duration of the haptic effect; and / or
[0138] - An identifier of the haptic effect, which can be used by the system receiving the data to retrieve (eg, from the system's memory) the parameters of the haptic effect.
[0139] The haptic related data 401 are signaled and / or encoded in the form of encoded data via a signaling process and / or encoding process 41 in the module into a container, which corresponds to, for example, a file, a bit stream, a data packet, a data frame.
[0140] The container 402 is sent to a module implementing a parsing and / or decoding process 42 to parse, read and / or decode the encoded data contained in the container 402 to obtain decoded haptic-related data 403. The modules implementing the signaling / encoding process and the parsing / decoding process may be hardware, software, or a combination of hardware and software.
[0141] The signaling process 41 includes a write operation according to which data identifying the targeted body part is written into the container 402 and / or data representing a haptic effect is written into the container 402 .
[0142] During the encoding process, the write operation of the signaling process can be interpreted as an encoding operation.
[0143] The parsing process 42 may, for example, correspond to a reverse operation of the signaling process 41 , in which the information and data contained in the container 402 are parsed and read to obtain the information and data contained in the container 402 .
[0144] In the decoding process, the reading operation of the parsing process may be interpreted as a decoding operation to decode the data of the container 402 encoded in the container 402 by the encoding process.
[0145] according to Figure 5 In the example shown in FIG. 1 , in the context of transmission between two remote devices 51 and 52 (of the type of device 9) via a communication network 50, the device 51 includes a device configured to implement the Figures 1 to 4 and Figure 7 The means for signaling and / or encoding data described herein, and the device 52 comprises means configured to implement the Figures 1 to 4 and Figure 8 The described tools for parsing and / or decoding data.
[0146] According to an example, the network 50 is a LAN or WLAN network adapted to broadcast and / or stream the haptic-related data from the device 51 to parsing / decoding / rendering devices including the device 52 .
[0147] For transmission via the device 51 , the signal carries the container 6 .
[0148] Figure 6 An example of a container 6 is shown when haptic-related data is sent via a packet-based transmission protocol. Figure 6An example structure of a haptic related data stream is shown 6. The structure is included in a container that organizes the stream in separate syntax elements.
[0149] The structure may include a header part 61, which is a set of data common to each syntax element of the stream. For example, the header part includes metadata about the syntax elements, describing the properties and role of each syntax element.
[0150] The structure may include a payload that includes grammatical elements 62 that identify the targeted body part, such as one or more identifiers of one or more groups to which the targeted body part belongs, one or more identifiers of the targeted body part (as one or more body parts belonging to one or more groups), and / or one or more identifiers of one or more logical operators.
[0151] Figure 7 A schematic block diagram showing steps of a method of mapping haptic effects to one or more body parts to which the haptic effects are to be applied (referred to as targeted body parts) according to at least one exemplary embodiment.
[0152] The targeted body part is defined with reference to the body model, e.g. Figure 1 or Figure 2 The body model described herein comprises a first plurality of body parts and groupings of a second plurality of body parts, each grouping of the groupings of the second plurality of body parts comprising at least a body part of the first plurality of body parts.
[0153] Figure 7 Also shown is a schematic block diagram of the steps of a method of encoding data representing a map according to a specific and non-limiting embodiment.The writing operations described with reference to the signaling method may be interpreted as encoding operations for the encoding method.
[0154] In step 71, first data identifying the targeted body part with reference to at least one group of the second plurality of groups of body parts to which the targeted body part belongs is written into the container.
[0155] In an exemplary embodiment, the method further comprises:
[0156] - writing second data into the container, the second data identifying the side of the body model to which the targeted body part belongs, the side being the right side and the left side; and / or
[0157] - Writing third data into the container, the third data identifying the face of the body model to which the targeted body part belongs, the face being in the front part and in the back part.
[0158] In an exemplary embodiment, the first data includes a first identifier identifying a targeted body part and at least one second identifier identifying at least one group of groups of a second plurality of body parts to which the targeted body part belongs.
[0159] In another exemplary embodiment, the first data includes a third identifier identifying a logical operator.
[0160] In a further exemplary embodiment, when the logical operator corresponds to NOT, the method further includes writing fourth data into the container, the fourth data identifying a body part excluded from at least one group of the second plurality of body parts to which the targeted body part belongs.
[0161] In additional exemplary embodiments, the method further includes writing fifth data representing the haptic effect into the container.
[0162] Figure 8 A schematic block diagram illustrating steps of a method of parsing data representing a mapping between haptic effects and one or more body parts to which the haptic effects are to be applied (referred to as targeted body parts) from a container according to at least one example embodiment.
[0163] The body part to be targeted is defined with reference to the body model, e.g. Figure 1 or Figure 2 The body model described herein comprises a first plurality of body parts and groupings of a second plurality of body parts, each grouping of the groupings of the second plurality of body parts comprising at least a body part of the first plurality of body parts.
[0164] Figure 8 Also shown is a schematic block diagram of the steps of a method of decoding data representing a map according to a specific and non-limiting embodiment.The reading operations described with reference to the parsing method may be interpreted as decoding operations for the decoding method.
[0165] In step 81, first data identifying the targeted body part with reference to at least one group of the second plurality of groups of body parts to which the targeted body part belongs is read from the container.
[0166] In an exemplary embodiment, the method further comprises:
[0167] - reading second data from the container, the second data identifying the side of the body model to which the targeted body part belongs, the side being the right side and the left side; and / or
[0168] - Reading third data from the container, which third data identify the face of the body model to which the targeted body part belongs, the face being in the front part and in the back part.
[0169] In an exemplary embodiment, the first data includes a first identifier identifying a targeted body part and at least one second identifier identifying at least one group of groups of a second plurality of body parts to which the targeted body part belongs.
[0170] In another exemplary embodiment, the first data includes a third identifier identifying a logical operator.
[0171] In a further exemplary embodiment, when the logical operator corresponds to NOT, the method further includes reading fourth data from the container, the fourth data identifying a body part excluded from at least one group of the second plurality of body parts groups to which the targeted body part belongs.
[0172] In an additional exemplary embodiment, the method further comprises reading fifth data representing a haptic effect from the container. The fifth data comprises, for example, parameters that can be used by the rendering engine to render the haptic effect or an identifier of the haptic effect that enables the rendering engine to retrieve the parameters (e.g., from a memory of the rendering engine).
[0173] Parsing the received container enables obtaining information identifying one or more parts of a body model representing a user wearing or interacting with one or more haptic devices. The obtained information enables identifying which parts of the body model to which haptic effects are to be applied.
[0174] Data representing the haptic effect to be rendered may be included in the container or may be received in another container.
[0175] According to a variant, data representing the haptic effect is stored in a memory of the rendering engine, the rendering engine receiving a container comprising information about the mapping between the targeted body part and the haptic effect. According to this variant, the rendering engine does not receive data representing the haptic effect, but only receives information about the mapping.
[0176] According to another variant, the data representing the haptic effect corresponds to an identifier identifying which haptic effect is to be presented. The identifier enables the rendering engine to retrieve the data representing the haptic effect, such as parameters for presenting the haptic effect. Such parameters can be obtained, for example, from a look-up table (LUT) mapping the identifiers of the haptic effects to the corresponding parameters.
[0177] Fig. 9 A schematic block diagram illustrating an example of a system in which various aspects and exemplary embodiments are implemented is shown.
[0178] The system 9 may be embedded as one or more devices, including various components described below. In various embodiments, the system 9 may be configured to implement one or more aspects described in this application.
[0179] Examples of equipment that may constitute all or part of system 9 include a personal computer, a laptop computer, a smart phone, a tablet computer, a digital multimedia set-top box, a digital television receiver, a personal video recording system, a connected home appliance, a connected vehicle and its associated processing system, a head-mounted display device (HMD, see-through glasses), a tactile sensor or actuator, a "cave" (a system including multiple displays), a server, a tactile encoder, a tactile decoder, a post-processor that processes output from a tactile decoder, a pre-processor that provides input to a tactile encoder, a web server, a set-top box, a wireless (e.g., ) connected to a wearable tactile device, a game controller, a mouse, a mouse pad, a keyboard, a palm rest, a chair, a desk, an XR headset, a head-mounted headset, a bracelet, a head and / or lumbar support device or a seat, and any other device for processing tactile data or tactile signals, or any other communication device. The elements of system 9 can be implemented individually or in combination in a single integrated circuit (IC), multiple ICs and / or discrete components. For example, in at least one embodiment, the processing and encoder / decoder elements of system 9 can be distributed across multiple ICs and / or discrete components. In various embodiments, system 9 can be communicatively connected to other similar systems or other electronic devices via, for example, a communication bus or through dedicated input and / or output ports.
[0180] The system 9 may include at least one processor 91 configured to execute instructions loaded therein to implement, for example, various aspects described in the present application. The processor 91 may include embedded memory, input and output interfaces, and various other circuits known in the art. The system 9 may include at least one memory 92 (e.g., a volatile memory device and / or a non-volatile memory device). The system 9 may include a storage device 94, which may include a non-volatile memory and / or a volatile memory, including but not limited to an electrically erasable programmable read-only memory (EEPROM), a read-only memory (ROM), a programmable read-only memory (PROM), a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a flash memory, a disk drive, and / or an optical drive. As a non-limiting example, the storage device 94 may include an internal storage device, an attached storage device, and / or a network accessible storage device.
[0181] The system 9 may include an encoder / decoder module 93, which is configured to, for example, process data to provide encoded / decoded tactile signals or data, and the encoder / decoder module 93 may include its own processor and memory. The encoder / decoder module 93 may represent a module (or modules) that may be included in the device to perform encoding and / or decoding functions. As is known, the device may include one or both of the encoding and decoding modules. In addition, the encoder / decoder module 93 may be implemented as a separate element of the system 93, or may be incorporated into the processor 91 as a combination of hardware and software known to those skilled in the art.
[0182] Program code to be loaded into the processor 91 or the encoder / decoder 93 to perform various aspects described in the present application may be stored in the storage device 94 and subsequently loaded into the memory 92 for execution by the processor 91. According to various embodiments, during the execution of the processes described in the present application, one or more of the processor 91, the memory 92, the storage device 94, and the encoder / decoder module 93 may store one or more of various items. Such stored items may include, but are not limited to, tactile-related data, encoded / decoded data for identifying one or more body parts of a body model and / or one or more groups of one or more body parts, bit streams, matrices, variables, and intermediate or final results of equations, formulas, operations, and operation logic processing.
[0183] In several embodiments, memory internal to processor 91 and / or encoder / decoder module 93 may be used to store instructions and provide working memory for processes that may be performed during encoding or decoding.
[0184] However, in other embodiments, memory external to the processing device (e.g., the processing device may be the processor 91 or the encoder / decoder module 93) is used for one or more of these functions. The external memory may be the memory 92 and / or the storage device 94, for example, dynamic volatile memory and / or non-volatile flash memory. In several embodiments, the external non-volatile flash memory is used to store the operating system of the television. In at least one embodiment, a fast external dynamic volatile memory such as RAM may be used as working memory for video encoding and decoding operations, for example for MPEG-V.
[0185] As indicated in box 95, input to the elements of system 9 may be provided through various input devices. Such input devices include, but are not limited to, (i) an RF section that may receive an RF signal transmitted over the air, such as by a broadcaster, (ii) a composite input terminal, (iii) a USB input terminal, (iv) a telephone connector (also known as a phone jack, audio jack, headphone jack, or jack plug) input terminal, and / or (v) an HDMI input terminal.
[0186] In various embodiments, the input device of block 95 has associated corresponding input processing elements, as known in the art. For example, the RF portion may be associated with elements necessary for: (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) band-limiting the frequency band again to a narrower frequency band to select a signal band that may be referred to as a channel in some embodiments, (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired packet stream. The RF portion of various embodiments may include one or more elements that perform these functions, such as a frequency selector, a signal selector, a band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF portion may include a tuner that performs various of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a near-baseband frequency) or a baseband.
[0187] In one set-top box embodiment, the RF section and its associated input processing elements can receive RF signals transmitted over a wired (e.g., cable) medium. The RF section can then perform frequency selection by filtering, down-converting, and filtering again to a desired frequency band.
[0188] Various embodiments rearrange the order of the above-described (and other) elements, remove some of these elements, and / or add other elements that perform similar or different functions.
[0189] Adding an element may include inserting an element between existing elements, such as, for example, inserting an amplifier and an analog-to-digital converter.In various embodiments, the RF portion may include an antenna.
[0190] In addition, the USB and / or HDMI terminals may include corresponding interface processors for connecting the system 9 to other electronic devices via USB and / or HDMI connections. It should be understood that various aspects of input processing (e.g., Reed-Solomon error correction) may be implemented, for example, within a separate input processing IC or within the processor 91, as necessary. Similarly, various aspects of USB or HDMI interface processing may be implemented, for example, within a separate interface IC or within the processor 91, as necessary. The demodulated, error-corrected, and demultiplexed streams may be provided to various processing elements, including, for example, the processor 91 and the encoder / decoder 93, which operate in conjunction with memory and storage elements to process the data streams for presentation on an output device, as necessary.
[0191] The various elements of the system 9 may be provided within an integrated housing. Within the integrated housing, the various elements may be interconnected and data transferred between them using a suitable connection arrangement 95, such as an internal bus (including an I2C bus), wiring, and printed circuit boards known in the art.
[0192] The system 9 may include a communication interface 96 that enables communication with other devices via a communication channel 960. The communication interface 96 may include, but is not limited to, a transceiver configured to send and receive data over the communication channel 960. The communication interface 96 may include, but is not limited to, a modem or a network card, and the communication channel 960 may be implemented, for example, within a wired and / or wireless medium.
[0193] In various embodiments, a Wi-Fi network such as IEEE 802.11 may be used to stream data to the system 9. The Wi-Fi signals of these embodiments may be received via a communication channel 960 suitable for Wi-Fi communications and a communication interface 96. The communication channel 960 of these embodiments may typically connect to an access point or router that provides access to external networks including the Internet to allow streaming applications and other over-the-top communications.
[0194] Other embodiments may provide streamed data to system 9 using a set top box that delivers the data through the HDMI connection of input box 95.
[0195] Other embodiments may use the RF connection of input box 95 to provide streaming data to system 9.
[0196] Streamed data may be used as a way of signaling information used by the system 9. The signaling information may, for example, comprise data encoded in a container such as a binary stream or a haptic effect file.
[0197] It should be appreciated that signaling may be implemented in a variety of ways. For example, in various embodiments, one or more syntax elements, flags, etc. may be used to signal information to a corresponding decoder.
[0198] System 9 can provide signals to various output devices, including display 970 , speaker 980 , and other peripheral devices 990 such as haptic devices / actuators.
[0199] In various embodiments, control signals may be communicated between the system 9 and the display 970, speakers 980, or other peripheral devices 990 using signaling such as AV.Link (audio / video link), consumer electronics control (CEC), audio protocols, Universal Serial Bus (USB), Haptic Industry Forum-Universal Haptic Protocol (HIF UHP), or other communication protocols that enable device-to-device control with or without user intervention.
[0200] The output devices may be communicatively connected to the system 9 via dedicated connections through respective interfaces 97 , 98 and 99 .
[0201] Alternatively, the output device may be connected to the system 9 using the communication channel 960 via the communication interface 96. The display 970, speaker 980 and / or actuator 990 may be integrated with other components of the system 9 in a single unit in an electronic device such as, for example, a television.
[0202] In various embodiments, the display interface 97 may include a display driver, such as, for example, a timing controller (T Con) chip.
[0203] For example, if the RF portion of input 95 is part of a separate set-top box, then display 970, speaker 980, and / or actuator 990 may optionally be separate from one or more of the other components. In various embodiments where display 970, speaker 980, and / or actuator 990 may be external components, output signals may be provided via dedicated output connections, including, for example, an HDMI port, a USB port, or a COMP output.
[0204] exist Figure 1-9 In the present invention, various methods are described herein, and each method includes one or more steps or actions to implement the described method. Unless a specific order of steps or actions is required for the correct operation of the method, the order and / or use of specific steps and / or actions can be modified or combined.
[0205] Some examples are described about block diagrams and / or operational flow charts. Each box represents a portion of a circuit element, module or code, which includes one or more executable instructions for implementing (one or more) specified logical functions. It should also be noted that, in other embodiments, the (one or more) functions marked in the box may not occur in the order indicated. For example, depending on the functions involved, two boxes shown in succession can actually be executed substantially concurrently, or sometimes these boxes can be executed in the opposite order.
[0206] The embodiments and aspects described herein may be implemented in, for example, a method or process, an apparatus, a computer program, a data stream, a bit stream, or a signal. Even if only discussed in the context of a single form of embodiment (e.g., discussed only as a method), the embodiments of the features discussed may also be implemented in other forms (e.g., an apparatus or a computer program).
[0207] The method may be implemented in, for example, a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. The processor also includes a communication device.
[0208] In addition, the method can be implemented by instructions executed by a processor, and such instructions (and / or data values generated by the implementation) can be stored on a computer-readable storage medium. The computer-readable storage medium can take the form of a computer-readable program product implemented in one or more computer-readable media and having a computer-readable program code implemented thereon that can be executed by a computer. Considering the inherent ability to store information therein and the inherent ability to provide information retrieval therefrom, the computer-readable storage medium used herein can be considered as a non-transient storage medium. The computer-readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device or apparatus, or any suitable combination of the foregoing. It should be appreciated that, although more specific examples of computer-readable storage media to which the present embodiment can be applied are provided below, as those of ordinary skill in the art will readily appreciate, it is merely illustrative and not exhaustive: portable computer floppy disk; hard disk; read-only memory (ROM); erasable programmable read-only memory (EPROM or flash memory); portable compact disk read-only memory (CD-ROM); optical storage device; magnetic storage device; or any suitable combination of the foregoing.
[0209] The instructions may form an application program tangibly embodied on a processor-readable medium.
[0210] For example, instructions may be in hardware, firmware, software, or a combination. For example, instructions may be found in an operating system, a separate application, or a combination of both. Thus, a processor may be characterized as, for example, a device configured to perform a process and a device including a processor-readable medium (such as a storage device) having instructions for performing the process. Additionally, in addition to or in lieu of instructions, a processor-readable medium may store data values generated by an embodiment.
[0211] The device may be implemented in, for example, appropriate hardware, software, and firmware. Examples of such devices include personal computers, laptops, smartphones, tablet computers, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected home appliances, head-mounted display devices (HMDs, perspective glasses), projectors (projectors), "cave" (systems including multiple displays), servers, video and / or haptic encoders, video and / or haptic decoders, post-processors that process output from a video decoder, pre-processors that provide input to a video encoder, web servers, set-top boxes, wirelessly connected wearable haptic devices (e.g., The device may include a wearable haptic device, a connected wearable haptic device, a game controller, a mouse, a mouse pad, a keyboard, a hand rest, a chair, a desk, an XR headset, a headphone, a wristband, a head and / or lumbar support device or a seat, and any other device for processing haptic data or signals representing one or more haptic feedback or effects, or other communication devices. It should be clear that the equipment can be mobile.
[0212] Computer software may be implemented by the processor 91 or by hardware, or by a combination of hardware and software. As a non-limiting example, embodiments may also be implemented by one or more integrated circuits. The memory 92 may be of any type suitable for the technical environment and may be implemented using any appropriate data storage technology (such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory, and removable memory, as non-limiting examples). The processor 91 may be of any type suitable for the technical environment and may encompass one or more of a microprocessor, a general-purpose computer, a special-purpose computer, and a processor based on a multi-core architecture, as non-limiting examples.
[0213] As will be apparent to one of ordinary skill in the art, embodiments may generate various signals formatted to carry information that may be stored or transmitted, for example. The information may include, for example, instructions for executing a method or data generated by one of the described embodiments. For example, a signal may be formatted to carry a bit stream of the described embodiments. Such a signal may be formatted as, for example, an electromagnetic wave (e.g., using a radio frequency portion of a spectrum) or a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. As is known, the signal may be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor readable medium.
[0214] The terms used herein are only used to describe the purpose of a particular embodiment and are not intended to be limited. As used herein, the singular forms "one", "a kind of" and "the" may also be intended to include plural forms unless the context clearly indicates otherwise. It will be further understood that, when used in this specification, the terms "include / comprise" and / or "including / comprising" may specify the existence of stated, for example, features, integers, steps, operations, elements and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups. Moreover, when an element is referred to as "in response to" or "connected to" another element, it may directly respond to or be connected to another element, or there may be an intermediate element. In contrast, when an element is referred to as "directly responding to" or "directly connected to" another element, there is no intermediate element.
[0215] It should be appreciated that use of any of the symbols / terms " / ", "and / or", and "at least one of" may be intended to encompass selection of only the first listed option (A), or only the second listed option (B), or both options (A and B), such as in the case of "A / B", "A and / or B", and "at least one of A and B". As a further example, in the case of "A, B, and / or C" and "at least one of A, B, and C", such wording is intended to encompass 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 all three options (A and B and C). This may be extended to as many items as listed, as will be apparent to one of ordinary skill in this and related arts.
[0216] Various numerical values may be used in the present application. Specific values may be used for example purposes and the described aspects are not limited to these specific values.
[0217] It will be understood that although the terms first, second, etc. can be used to describe various elements in this article, these elements are not limited by these terms. These terms are only used to distinguish one element from another element. For example, without departing from the teaching of this application, the first element can be referred to as the second element, and similarly, the second element can be referred to as the first element. There is no suggestion of sorting between the first element and the second element.
[0218] References to "an exemplary embodiment" or "exemplary embodiments" or "one implementation" or "implementation" and other variations thereof are frequently used to convey that a particular feature, structure, characteristic, etc. (described in conjunction with an embodiment / implementation) is included in at least one embodiment / implementation. Thus, the appearances of the phrases "in an exemplary embodiment" or "in an exemplary embodiment" or "in one implementation" or "in an implementation" and any other variations appearing in various places in this application do not necessarily all refer to the same embodiment.
[0219] Similarly, references herein to "according to an exemplary embodiment / example / implementation" or "in an exemplary embodiment / example / implementation" and other variations thereof are frequently used to convey that a particular feature, structure, or characteristic (described in conjunction with an exemplary embodiment / example / implementation) may be included in at least one exemplary embodiment / example / implementation. Therefore, the expressions "according to an exemplary embodiment / example / implementation" or "in an exemplary embodiment / example / implementation" appearing in various places in the specification do not necessarily all refer to the same exemplary embodiment / example / implementation, nor are separate or alternative exemplary embodiments / examples / implementations necessarily mutually exclusive of other exemplary embodiments / examples / implementations.
[0220] Reference numerals appearing in the claims are for illustration purposes only and have no limiting effect on the scope of the claims.The present embodiments / examples and variations may be employed in any combination or sub-combination although not explicitly described.
[0221] When a figure is presented as a flow chart, it should be understood that it also provides a block diagram of the corresponding device. Similarly, when a figure is presented as a block diagram, it should be understood that it also provides a flow chart of the corresponding method / process.
[0222] While some diagrams include arrows on communication paths to illustrate a primary direction of communication, it should be understood that communication can occur in the opposite direction to the depicted arrows.
[0223] Various embodiments relate to decoding. As used in this application, "decoding" may encompass, for example, all or part of a process performed on a received tactile signal (which may include a received bitstream encoding one or more tactile signals) to produce a final output suitable for presenting a tactile effect or for further processing in a reconstructed tactile feedback or effect. In various embodiments, such a process includes one or more of the processes typically performed by a decoder. In various embodiments, for example, such a process also includes or optionally includes a process performed by a decoder of the various embodiments described in this application.
[0224] Various embodiments relate to encoding. In a manner similar to the above discussion of "decoding", "encoding" as used in this application may encompass, for example, all or part of a process performed on an input tactile signal to produce an encoded bitstream. In various embodiments, such a process includes one or more of the processes typically performed by an encoder. In various embodiments, such a process also includes or optionally includes a process performed by an encoder of the various embodiments described in this application.
[0225] Additionally, this application may refer to "obtaining" various pieces of information. Obtaining information may include, for example, one or more of: estimating the information, calculating the information, or retrieving the information from a memory.
[0226] Further, this application may refer to "accessing" various pieces of information. Obtaining information may include, for example, one or more of: receiving information, retrieving information (e.g., from a memory), storing information, moving information, copying information, calculating information, determining information, or estimating information.
[0227] Additionally, this application may refer to "receiving" various pieces of information. Like "accessing," receiving is a broad term. Receiving information may include, for example, one or more of: accessing information or retrieving information (e.g., from a memory). Further, during operations such as, for example, storing information, processing information, sending information, moving information, copying information, erasing information, calculating information, determining information, or estimating information, "receiving" is generally involved in one way or another.
[0228] Moreover, as used herein, the word "signal" is especially used to indicate something to a corresponding decoder, etc. In this way, in an embodiment, the same parameter can be used on the encoder side and the decoder side. Therefore, for example, the encoder can transmit (explicitly signal) specific parameters to the decoder so that the decoder can use the same specific parameters. On the contrary, if the decoder already has specific parameters and other parameters, signaling can be used without transmission (implicit signaling) to simply allow the decoder to know and select specific parameters. By avoiding the transmission of any actual function, bit saving is achieved in various embodiments. It should be appreciated that signaling can be completed in a variety of ways. For example, in various embodiments, one or more grammatical elements, signs, etc. are used to signal information to the corresponding decoder. Although the verb form of the word "signal (signal)" is related to the above, the word "signal" can also be used as a noun in this article.
[0229] A number of embodiments have been described. However, it should be understood that various modifications may be made. For example, elements of different embodiments may be combined, supplemented, modified, or removed to produce other embodiments. In addition, it will be understood by those of ordinary skill that other structures and processes may replace the disclosed structures and processes, and that the resulting embodiments will perform at least substantially the same (one or more) functions in at least substantially the same (one or more) manners to achieve at least substantially the same (one or more) results as the disclosed embodiments. Thus, the present application contemplates these and other embodiments.
Claims
1. A method for signaling a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect, referred to as the targeted body part, into a container (402), the human body being represented by a body model (10), the body model (10) comprising a first plurality of body parts and a second plurality of body parts grouping, each group of the second plurality of body parts grouping comprising at least a body part of the first plurality of body parts, the method comprising writing (71) first data into the container (402), the first data identifying the targeted body part with reference to at least one group of the second plurality of body parts grouping to which the targeted body part belongs.
2. The method according to claim 1, further comprising: - writing second data into the container (402), the second data identifying the side of the body model (10) to which the targeted body part belongs, the side being between the right side and the left side; and / or - Writing third data into the container (402), the third data identifying the face of the body model (10) to which the targeted body part belongs, the face being in the front and back.
3. The method according to claim 1 or 2, wherein the first data includes a first identifier identifying the targeted body part and a second identifier identifying at least one of the groups of the second plurality of body parts to which the targeted body part belongs.
4. The method according to any one of claims 1 to 3, wherein: The first data includes a third identifier identifying a logical operator.
5. The method according to claim 4, wherein: When the logical operator corresponds to NOT, the method further includes writing fourth data into the container (402), the fourth data identifying a body part excluded from the at least one grouping of the second plurality of body part groups to which the targeted body part belongs. 6 . The method of claim 1 , further comprising writing fifth data representing the haptic effect into the container. 7 .
7. A method for parsing data representing a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect, referred to as the targeted body part, from a container (402), the human body being represented by a body model (10), the body model (10) comprising a first plurality of body parts and a second plurality of body parts grouping, each group of the second plurality of body parts grouping comprising at least a body part of the first plurality of body parts, the method comprising reading first data from the container (402), the first data identifying the targeted body part with reference to at least one group of the second plurality of body parts grouping to which the targeted body part belongs.
8. The method according to claim 7, further comprising: - reading second data from the container (402), the second data identifying the side of the body model (10) to which the targeted body part belongs, the side being one of the right side and the left side; and / or - reading third data from the container (402), the third data identifying the face of the body model (10) to which the targeted body part belongs, the face being in the front and back.
9. The method according to claim 7 or 8, wherein the first data includes a first identifier identifying the targeted body part and at least one second identifier identifying at least one of the groups of the second plurality of body parts to which the targeted body part belongs.
10. The method according to any one of claims 7 to 9, wherein the first data comprises a third identifier identifying a logical operator.
11. The method according to claim 10, wherein: When the logical operator corresponds to NOT, the method further includes reading fourth data from the container (402), the fourth data identifying a body part excluded from the at least one grouping of the second plurality of body part groups to which the targeted body part belongs.
12. The method according to any one of claims 7 to 11, further comprising reading fifth data representing the haptic effect from the container (402).
13. A device (9) for signaling a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect, referred to as the targeted body part, to a container (402), wherein the device comprises a memory (92, 94) associated with at least a processor (91), the processor (91) being configured to implement a method according to any one of claims 1 to 6.
14. A device (9) for parsing from a container (402) data representing a mapping between a tactile effect and at least a body part of a human body targeted by the tactile effect, referred to as the targeted body part, wherein the device (9) comprises a memory (92, 94) associated with at least a processor (91), the processor (91) being configured to implement a method according to any one of claims 7 to 12.
Citation Information
Patent Citations
Method and device for controlling a haptic device
WO2015185389A1