METHOD, APPARATUS AND PROGRAM FOR MEDIA PROCESSING IN DEVICE - Patent application
Through the layered description of audio scenes and the identification of common attributes by identifying common attributes in virtual reality and augmented reality, the problem of audio mismatch between user physical movements in virtual reality and augmented reality is solved, and a more realistic immersive sound effects and interactive experience are achieved.
Patent Information
- Application Number
- JP2023519958
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-05-23
- Filing Date
- 2022-06-02
- Publication Date
- 2025-02-03
- Estimated Expiration
- 2042-06-02
AI Technical Summary
The prior art is difficult to achieve immersive sound effects that match audio with the user's physical motion in virtual reality and augmented reality applications, resulting in unreal user experience in virtual scenes.
An audio processing is performed using a method and device, through layered description of the audio scene, common attributes are identified and immersive audio output is generated, processing circuits are used to identify multiple partial spaces in the audio input, and the audio output is adjusted according to the user's position and motion in the virtual scene.
The matching of audio and user physical movements is achieved, enhancing the immersion and realism in virtual reality and augmented reality applications, and users can interact more realistically with virtual scenes.
Smart Images

Figure 0007625693000001 
Figure 0007625693000002 
Figure 0007625693000003
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This disclosure claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 217,442, "Layered Description of Space of Interest," filed July 1, 2021, which is incorporated by reference in its entirety.
[0002] This disclosure generally describes embodiments relating to audio processing. [Background technology]
[0003] The background art description provided herein is intended to provide a general context for the present disclosure. Work of the presently named inventors is not admitted, expressly or impliedly, as prior art to the present disclosure to the extent that such work is described in this background art section, and aspects of the description that may not otherwise qualify as prior art at the time of filing.
[0004] In virtual reality or augmented reality applications, audio within the application's virtual scene is perceived as being in the real world with sounds coming from associated virtual figures in the virtual scene to give the user a sense of presence in the application's virtual world. In some examples, the user's physical movements in the real world are perceived to have matching movements in the virtual scene within the application. Moreover, importantly, the user can interact with the virtual scene using audio that is perceived as realistic and matches the user's experience in the real world. Summary of the Invention [Means for solving the problem]
[0005] Aspects of the present disclosure provide methods and apparatus for audio processing. In some examples, the apparatus for media processing includes a processing circuit. The processing circuit receives an audio input associated with a hierarchical description of a space of interest in an audio scene. The space of interest includes a plurality of subspaces. The hierarchical description includes a first layer and a second layer. The first layer has a common node having a first value that is a common attribute value of two or more subspaces of the plurality of subspaces. The second layer has individual nodes respectively associated with each of the plurality of subspaces. The processing circuit determines the plurality of subspaces of the space of interest based on the hierarchical description, and renders an audio output based on the audio input in response to a location of a target of the audio scene being within the space of interest.
[0006] In some examples, the subvolumes are rectangular boxes defined by at least a position attribute, an orientation attribute, and a size attribute.
[0007] According to some aspects of the disclosure, the common node identifies a name for the attribute, the first value is an attribute value for the attribute, and the processing circuitry can read the first value from the common node in the first tier as an attribute value of the attribute for a subspace in the multiple subspaces.
[0008] According to some aspects of the disclosure, the common node identifies a name of an attribute and an index of a subfield of the attribute, the first value is a subfield attribute value for that subfield of the attribute, and the processing circuitry reads the first value from the common node in the first tier as a subfield attribute value for the subfield of the attribute of a subspace in the multiple subspaces.
[0009] In some examples, a common node having a first value is common to the multiple subspaces, and the processing circuitry reads the first value from the common node in the first layer as an attribute value of the attribute for each of the multiple subspaces.
[0010] In some examples, a common node having a first value is common to a subset of the plurality of subspaces. The processing circuitry retrieves a first value from the common node in the first layer as an attribute value for the attribute for the first subspace in response to a first individual node associated with the first subspace lacking a value for the attribute. Additionally, the processing circuitry retrieves a second value associated with the attribute for the second subspace from a second individual node associated with the second subspace in response to a presence of a second value associated with the attribute in the second individual node.
[0011] In some examples, the common node having the first value is common to a subset of the plurality of subspaces. The processing circuitry retrieves the first value from the common node in the first layer as an attribute value for the attribute of the first subspace in response to the first individual node associated with the first subspace lacking a value for the attribute. Additionally, the processing circuitry retrieves a difference value associated with the attribute of the second subspace from a second individual node associated with the second subspace, and calculates a second value for the attribute of the second subspace based on the first value and the difference value.
[0012] In some examples, the processing circuitry receives a bitstream carrying an audio input and a hierarchical description of the space of interest as metadata for the audio input, and decodes the bitstream to obtain the audio input and the hierarchical description of the space of interest.
[0013] In some examples, the processing circuitry ignores the audio input without rendering in response to a subject position in the audio scene being outside the volume of interest.
[0014] Aspects of the present disclosure also provide a non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method for audio processing.
[0015] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings. [Brief description of the drawings]
[0016] [Figure 1] FIG. 1 illustrates an environment using six degrees of freedom (6DoF) in some examples. [Diagram 2] 1 illustrates a block diagram of a media system according to one embodiment of the present disclosure. [Diagram 3] 2 shows an audio scene called the Valley scene in some examples. [Figure 4] A description of the space of interest in a valley scene is given. [Diagram 5] 1 illustrates a syntax for a hierarchical description of a space of interest according to an embodiment of the present disclosure. [Figure 6] 1 shows a hierarchical description of a space of interest in some examples. [Figure 7] 1 illustrates a syntax for a hierarchical description of a space of interest according to an embodiment of the present disclosure. [Figure 8] 1 shows a hierarchical description of a space of interest in some examples. [Figure 9] 1 shows a hierarchical description of a space of interest in some examples. [Figure 10] 1 shows a hierarchical description of a space of interest in some examples. [Figure 11] 1 shows a flowchart outlining a process according to some embodiments of the present disclosure. [Figure 12] 1 shows a flowchart outlining a process according to some embodiments of the present disclosure. [Figure 13] 1 shows a flowchart outlining a process according to some embodiments of the present disclosure. [Figure 14] FIG. 1 is a schematic diagram of a computer system according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] Aspects of the present disclosure provide a description technique for an interest space of an audio scene. In particular, the description technique can provide a hierarchical description of the interest space in an audio scene. The hierarchical description of the interest space in an audio scene can provide compacted information of the interest space for audio encoding, transmission, and rendering.
[0018] In general, an audio scene is a semantically coherent speech segment characterized by several dominant sound sources. Thus, an audio scene can be modeled as a collection of sound sources. In some examples, an audio scene is dominated by some of the collection of sound sources. An interest space within an audio scene can be defined by the boundaries of the interest space under consideration within the audio scene. The interest space of an audio scene can be utilized for audio coding, processing, rendering, etc.
[0019] According to some aspects of the present disclosure, some techniques attempt to create or mimic a physical world through a digital simulation, referred to as immersive media. Immersive media processing can be implemented according to an immersive media standard, such as the Moving Picture Expert Group Immersive (MPEG-I) suite of standards, including "immersive audio," "immersive video," and "system support." Immersive media standards can support VR or AR displays, allowing users to navigate and interact with the environment using six degrees of freedom (6DoF), including spatial navigation (x, y, z) and the orientation of the user's head (yaw, pitch, roll).
[0020] Figure 1 shows a diagram illustrating an environment using six degrees of freedom (6DoF) in some examples, which can be expressed in terms of spatial navigation (x, y, z) and the orientation of the user's head (yaw, pitch, roll).
[0021] According to one aspect of the disclosure, immersive media can be used to give a user the sensation of actually being present in a virtual world. In some examples, audio of a scene is perceived as if it were in the real world with sounds coming from associated visual shapes. For example, sounds are perceived in the scene at the correct location and distance. The user's physical movements in the real world are perceived to have matching movements in the virtual world scene. Additionally, the user can interact with the scene, causing sounds that are perceived as realistic and consistent with the user's experience in the real world.
[0022] In general, a region of interest (ROI) comprises a sample within a dataset that is identified for a particular purpose. The concept of ROI can be used in many application domains, such as medical imaging, geographic information systems, computer vision, and optical character recognition.
[0023] In an audio scene, a space of interest can be described for a particular audio purpose. The space of interest of an audio scene can be associated with audio sources that can generate audio effects in the space of the audio scene. In some examples, the space of interest can be defined by an audio scene producer. The audio scene producer can define a space of interest in a three-dimensional (3D) space and define an audio input as an audio source that can generate an audio effect in the space of interest. The description of the audio input and the space of interest can be provided to an audio encoder. The audio encoder can encode the audio input into a bitstream, and the space of interest can be included as metadata associated with the encoded audio. The bitstream can be provided to a client device. The client device can decode the audio content from the bitstream and render the audio according to the space of interest. For example, when a game player moves within the space of interest in a virtual world, the audio content associated with the space of interest is played.
[0024] 2 illustrates a block diagram of a media system 200 according to one embodiment of the present disclosure. The media system 200 can be used in a variety of use applications, such as immersive media applications, augmented reality (AR) applications, virtual reality applications, video game applications, sports game animation applications, video conferencing and telepresence applications, and media streaming applications.
[0025] The media system (200) includes a media server device (210) and multiple media client devices, such as media client devices (260A) and (260B) shown in FIG. 2, that may be connected by a network (not shown). In one example, the media server device (210) may include one or more devices having audio coding and video coding capabilities. In one example, the media server device (210) may include a single computing device, such as a desktop computer, a laptop computer, a server computer, a tablet computer, etc. In another example, the media server device (210) may include a data center, a server farm, etc. The media server device (210) may receive video and audio content and compress the video and audio content according to an appropriate media coding standard into one or more encoded bitstreams. The encoded bitstreams may be distributed over the network to the media client devices (260A) and (260B).
[0026] The media client devices (e.g., media client devices 260A and 260B) each include one or more devices having video coding and audio coding capabilities for a media application. In one example, the media client devices include computing devices such as desktop computers, laptop computers, server computers, tablet computers, wearable computing devices, head mounted display (HMD) devices, etc. The media client devices can decode encoded bitstreams according to an appropriate media coding standard. The decoded video and audio content can be used for media playback.
[0027] The media server device (210) may be implemented using any suitable technology. In the example of Figure 2, the media server device (210) includes a processing circuit (230) and an interface circuit (211) coupled to each other.
[0028] The processing circuitry (230) may include any suitable processing circuitry, such as one or more central processing units (CPUs), one or more graphics processing units (GPUs), an application specific integrated circuit, etc. In the example of Figure 2, the processing circuitry (230) may be configured to include various encoders, such as an audio encoder (240), a video encoder (not shown), etc. In one example, one or more CPUs and / or GPUs may execute software to function as the audio encoder (240). In another example, the audio encoder (240) may be implemented using an application specific integrated circuit.
[0029] The interface circuit (211) can interface the media server device (210) with a network. The interface circuit (211) can include a receiver for receiving signals from the network and a transmitter for transmitting signals to the network. For example, the interface circuit (211) can transmit signals carrying encoded bitstreams over the network to other devices, such as the media client device (260A) and the media client device (260B). The interface circuit (211) can receive signals from the media client devices, such as the media client devices (260A) and (260B).
[0030] The network is suitably coupled to the media server device (210) and the media client devices (e.g., media client devices (260A) and (260B)) via wired and / or wireless connections, such as Ethernet connections, fiber optic connections, WiFi connections, cellular network connections, etc. The network may include network server devices, storage devices, network devices, etc. The components of the network are suitably coupled together via wired and / or wireless connections.
[0031] The media client devices (e.g., media client devices 260A and 260B) are each configured to decode the coded bitstream. In one example, each media client device can perform video decoding to reconstruct a sequence of displayable video frames and can perform audio decoding to generate an audio signal for playback.
[0032] The media client devices, such as media client devices 260A and 260B, may be implemented using any suitable technology. In the example of FIG. 2, media client device 260A is shown, but is not limited to, a head mounted display (HMD) with earphones as user equipment that may be used by user A, and media client device 260B is shown, but is not limited to, a smartphone used by user B.
[0033] In FIG. 2, the media client device (260A) includes an interface circuit (261A) and a processing circuit (270A) coupled together as shown in FIG. 2, and the media client device (260B) includes an interface circuit (261B) and a processing circuit (270B) coupled together as shown in FIG. 2.
[0034] The interface circuit (261A) can interface the media client device (260A) with a network. The interface circuit (261A) can include a receiver for receiving signals from the network and a transmitter for transmitting signals to the network. For example, the interface circuit (261A) can receive signals carrying data, such as signals carrying encoded bitstreams, from the network.
[0035] The processing circuitry (270A) may include any suitable processing circuitry, such as a CPU, a GPU, an application specific integrated circuit, etc. The processing circuitry (270A) may be configured to include various components, such as an audio decoder (271A), a renderer (272A), etc.
[0036] In some examples, the audio decoder (271A) can decode the audio content in the encoded bitstream by selecting a decoding tool appropriate for the manner in which the audio content was encoded. Additionally, the renderer (272A) can generate a final digital product suitable for the media client device (260A) from the audio content decoded from the encoded bitstream. Note that the processing circuitry (270A) can include other suitable components (not shown), such as a mixer, post-processing circuitry, etc., for further audio processing.
[0037] Similarly, an interface circuit (261B) can interface the media client device (260B) with a network. The interface circuit (261B) can include a receiver for receiving signals from the network and a transmitter for transmitting signals to the network. For example, the interface circuit (261B) can receive signals carrying data, such as signals carrying encoded bitstreams, from the network.
[0038] The processing circuitry (270B) may include any suitable processing circuitry, such as a CPU, a GPU, an application specific integrated circuit, etc. The processing circuitry (270B) may be configured to include various components, such as an audio decoder (271B), a renderer (272B), etc.
[0039] In some examples, the audio decoder (271B) can decode the audio content in the encoded bitstream by selecting a decoding tool appropriate for the manner in which the audio content was encoded. Additionally, the renderer (272B) can generate a final digital product suitable for the media client device (260B) from the audio content decoded from the encoded bitstream. Note that the processing circuitry (270A) can include other suitable components (not shown), such as a mixer, post-processing circuitry, etc., for further audio processing.
[0040] According to some aspects of the present disclosure, a hierarchical description of a space of interest in an audio scene is used in a media system (200). The media server device (210), the media client devices (e.g., media client devices (260A) and (260B)) can process the hierarchical description of the space of interest in an audio scene. For example, the processing circuitry (230), the processing circuitry (270A), and the processing circuitry (270B) can determine the space of interest of the audio scene based on the hierarchical description of the space of interest of the audio scene.
[0041] In some examples, the media server device (210) receives audio input for an audio scene from an audio source (201) (e.g., an audio injection server, an audio scene producer device, etc.) and a hierarchical description of a space of interest within the audio scene. In some examples, the audio source (201) includes computing circuitry, such as a desktop computer, a laptop computer, a server computer, a tablet computer, etc. The computing circuitry can generate the audio input for the audio scene and generate the hierarchical description of the space of interest within the audio scene. The audio input for the audio scene and the hierarchical description of the space of interest within the audio scene can be provided to the media server device (210).
[0042] In some embodiments, the media server device (210) can determine the respective media content to be sent to the media client device, encode the media content into a bitstream, and send the bitstream to the media client device. In some examples, the media server device (210) can determine audio content for the media client device (260A) based on information provided by the media client device (260A), such as scene information in an application (e.g., a game scene, a VR scene, etc.). The media server device (210) can determine audio input for a scene (referred to as an audio scene in audio processing terms) as audio content. The media server device (210) can encode the audio content into a bitstream along with other suitable information. In one example, the audio content for the encoded audio scene and a hierarchical description of the space of interest of the audio scene can be carried by the bitstream. The hierarchical description of the space of interest of the audio scene can be metadata for the audio content. The media server device (210) can transmit the bitstream to the media client device (260A), although in some examples the encoded audio content and the hierarchical description of the space of interest of the audio scene can be transmitted separately.
[0043] When the media client device (260A) receives the encoded audio content and the hierarchical description of the audio scene's space of interest, the audio decoder (271A) can decode the audio content. The renderer (272A) can generate a final digital artifact suitable for the media client device (260A) from the audio content based on the audio scene's space of interest. For example, the renderer (272A) can render the audio content when an object in an application moves into the audio scene's space of interest. In one example, when an object moves out of the space of interest, the audio content is ignored and not rendered.
[0044] In some examples, the space of interest may have an irregular shape. For ease of explanation, the space of interest may be represented as a combination of multiple regions (also referred to as subspaces) of regular shapes. Each of the several subspaces may be represented using attributes. According to some aspects of the present disclosure, some of these subspaces may share some attribute values. In some examples, a layered description of the space of interest of an audio scene may describe shared attribute values of two or more subspaces in a separate layer from the individual attribute values of the subspaces, thus making the description of the space of interest more compact.
[0045] In the following description, a rectangular box is used as a regularly shaped subspace to describe the volume of interest, although in some examples other regular shapes such as a sphere, cylinder, cube, etc. can be used.
[0046] Figure 3 shows an audio scene, referred to as a canyon scene in some examples. In an audio scene, a space of interest can be specified by one or more rectangular boxes. In the example of Figure 3, a space of interest (310) in the canyon scene can be described using four overlapping rectangular boxes (301)-(304).
[0047] In some examples, each rectangular box can be defined using four attributes: an identifier (id) attribute, a position attribute, an orientation attribute, and a size attribute.
[0048] The identifier attribute of a rectangular box may have a value that indicates the rectangular box. For example, rectangular box (301) may be identified by the identifier "box:Box1", rectangular box (302) may be identified by the identifier "box:Box2", rectangular box (303) may be identified by the identifier "box:Box3", and rectangular box (304) may be identified by the identifier "box:Box4".
[0049] In some examples, the position attribute of the rectangular box may include three values corresponding to coordinates of a center position of the rectangular box in 3D space, such as corresponding to x, y, and z. In one example, a first value with index "1" corresponds to the x coordinate of the center position, a second value with index "2" corresponds to the y coordinate of the center position, and a third value with index "3" corresponds to the z coordinate of the center position.
[0050] In some examples, the orientation attribute of the rectangular box can include three values corresponding to rotation angles along the X-axis, the Y-axis, and the Z-axis at the center of the rectangular box. In one example, a first value with index "1" corresponds to a rotation angle along the Y-axis at the center of the rectangular box, a second value with index "2" corresponds to a rotation angle along the X-axis at the center of the rectangular box, and a third value with index "3" corresponds to a rotation angle along the Z-axis at the center of the rectangular box.
[0051] In some examples, the size attribute of the rectangular box may include three values corresponding to side lengths along the X-axis, the Y-axis, and the Z-axis. In one example, a first value with index "1" corresponds to the side length of the rectangular box along the X-axis, a second value with index "2" corresponds to the side length of the rectangular box along the Y-axis, and a third value with index "3" corresponds to the side length of the rectangular box along the Z-axis.
[0052] 4 shows a description (400) of a space of interest (310) in a valley scene. The description (400) includes an individual node for each of the rectangular boxes (301)-(304). Specifically, the description (400) includes a description node (401) for the rectangular box (301), a description node (402) for the rectangular box (302), a description node (403) for the rectangular box (303), and a description node (404) for the rectangular box (304).
[0053] Note that the rectangular boxes (301)-(304) have the same (common) attribute values listed separately in the individual nodes for the rectangular boxes (301)-(304).
[0054] Some aspects of the present disclosure provide a layered description of an interest space of an audio scene. The layered description may include a first layer for common attribute values and a second layer for non-common attribute values. In the layered description, common attribute values of two or more subspaces (e.g., rectangular boxes) may be explicitly listed in the first layer. The common attribute values may be indicated once for all relevant descriptions of the subspaces. Other non-common attribute values may be listed separately in the second layer. The layered description may be more compact than description (400).
[0055] In some embodiments, a first layer of description of common attribute values may be presented first, followed by a second layer of description of non-common attribute values of each individual rectangular box. The first layer of description may include one or more common nodes each describing a common attribute value. The second layer of description may include a separate node for each rectangular box. The common attribute values presented as common attribute values in the common node are not re-enumerated in separate nodes for the rectangular boxes unless necessary, e.g., with non-redundant information. For the spatial description of each rectangular box, the common attribute values already in the common node are not enumerated. Instead, the rectangular boxes share the common attribute values enumerated in the common node by default.
[0056] 5 illustrates a syntax (500) for a layered description of a space of interest according to one embodiment of the present disclosure. The syntax includes a first layer (510) of descriptions of common attribute values shared by two or more of the rectangular boxes, and a second layer (520) for descriptions of non-common attribute values of individual rectangular boxes.
[0057] The first tier (510) includes a number of common nodes, each of which may include a name (e.g., as indicated by (511)) to identify an attribute and a value (e.g., as indicated by (512)) for a common attribute value.
[0058] In one example, four rectangular boxes in a space of interest have the same size, such as "20.0 2.50 15.0," and Figure 6 shows a hierarchical description (600) for a space of interest having four rectangular boxes of the same size using syntax (500). The hierarchical description (600) includes a first layer (610) of descriptions for common nodes shared by two or more of the rectangular boxes, and a second layer (620) of descriptions for non-common attribute values of each individual rectangular box.
[0059] Specifically, the first layer (610) includes a common node. The common node has a name "size" (e.g., as shown by (611)) to identify a size attribute, and a value "20.0 2.50 15.0" (e.g., as shown by (612)) to specify a common attribute value that is the size of a rectangular box. The second layer (620) includes a description of non-common attribute values of each individual rectangular box, such as position attributes and orientation attributes. For example, the second layer (620) includes four individual nodes for each of the four rectangular boxes.
[0060] In the example of Figure 6, the individual nodes do not contain a size attribute. The rectangular boxes identified by "box:Box1", "box:Box2", "box:Box3", and "box:Box4" can reference a common node to read the size attribute value "20.0 2.50 15.0" for the size attribute.
[0061] In some examples, an attribute may have multiple subfields. For example, a size attribute for a rectangular box may have a first subfield for the side length along the X axis, a second subfield for the side length along the Y axis, and a third subfield for the side length along the Z axis. In some examples, two or more rectangular boxes do not share the entire size attribute, but may share one or more subfields of the size attribute.
[0062] In one example, in the valley scene example of Figure 3 and the description of Figure 4, the four rectangular boxes (301)-(304) in the space of interest (310) have the same height (side length along the Y axis) of 2.5, which is the second subfield of the size attribute. In one example, the height information (side length along the Y axis) of the rectangular boxes (301)-(304) can be considered a common attribute (e.g., a common subfield attribute) and can only be shown once.
[0063] In another example, the four rectangular boxes (301)-(304) share some subfields of the orientation attribute. Specifically, the four rectangular boxes (301)-(304) share a second subfield value (e.g., "0") and a third subfield value (e.g., "0") of the orientation attribute. In one example, the second and third subfields of the orientation attribute can be considered as a common subfield of the orientation attribute and are shown once for all rectangular boxes (301)-(304).
[0064] In one embodiment, the hierarchical description of the space of interest may include a first layer of descriptions of common attribute values and / or common subfield attribute values and a second layer of descriptions of non-common attribute values and / or non-common subfield attribute values of individual rectangular boxes. For example, subfields of the common attribute may be listed in a common node (also referred to as a parent level in one example) in the first layer. The common node may include a name of the attribute, an index for the common subfield, and a value for the common subfield attribute value. In the hierarchical description of the space of interest, if for a rectangular box, the subfields of the attribute are already listed in the common node, the subfield values of the attribute in the rectangular box are not listed in the individual node associated with the rectangular box in the second layer. Instead, in one example, the attributes of the rectangular box share the common subfield attribute values listed in the common node by default.
[0065] 7 illustrates a syntax (700) for a layered description of a space of interest according to one embodiment of the present disclosure. The syntax includes a first layer (710) of descriptions of common attribute values and / or common subfield attribute values shared by two or more of the rectangular boxes, and a second layer (720) for descriptions of non-common attribute values and / or non-common subfield attribute values of individual rectangular boxes.
[0066] The first tier (710) includes a number of common nodes, each of which may include a name (e.g., as indicated by (711)) for identifying an attribute, an index (e.g., as indicated by (713)) for identifying a subfield, and a value (e.g., as indicated by (712)) for a common subfield attribute value.
[0067] 8 shows a hierarchical description (800) of a space of interest (310) having four rectangular boxes (301)-(304) according to the syntax (700). The hierarchical description (800) includes a first layer (810) of descriptions of common nodes shared by two or more of the rectangular boxes, and a second layer (820) of descriptions of non-common attribute values and / or non-common subfield attribute values of the individual rectangular boxes.
[0068] Specifically, the first layer (810) includes a first common node for the subfield of the orientation attribute and a second common node for the subfield of the size attribute. The first common node has a name "orientation" (e.g., as indicated by (811)) for identifying the orientation attribute, an index "2 3" (e.g., as indicated by (813)) for identifying the second subfield and the third subfield, and a value "0.00 0.00" (e.g., as indicated by (812)) for specifying the common subfield attribute value. Thus, the first common node enumerates that the common value of the second subfield of the orientation attribute is "0.00" and the common value of the third subfield of the orientation is "0.00".
[0069] Similarly, the second common node has a name "size" to identify the size attribute, an index "2" to identify the second subfield, and a value "2.50" to specify the common subfield attribute value. Thus, the second common node lists the common value of the second subfield of the size attribute to be "2.50".
[0070] The second layer (820) includes a description of non-common attribute values and / or non-common subfield attribute values of the individual rectangular boxes, such as a position attribute, an orientation attribute, and a size attribute. In the example of FIG. 8, the second layer (820) includes four individual nodes for each of the four rectangular boxes. The four rectangular boxes share information in the common node. For each individual node, the orientation attribute includes a first subfield value, but does not include a second subfield value and a third subfield value. The second subfield value and the third subfield value of the orientation attribute can be read from the first common node in the first layer (810).
[0071] Also in the second tier (820), for each node, the size attribute includes a first sub-field value and a third sub-field value, but does not include a second sub-field value. The second sub-field value of the size attribute can be read from a second common node in the first tier (810).
[0072] Note that in the example of Figure 8, the information in the first common node and the second common node is shared by all four rectangular boxes. In some embodiments, the information in the first tier common node need not be shared by all of the individual nodes in the second tier.
[0073] In one embodiment, the hierarchical description of the space of interest may include a first layer of descriptions of common attribute values and / or common subfield attribute values shared by a subset of individual nodes for the subspaces (e.g., rectangular boxes) and a second layer of descriptions of non-common attribute values and / or non-common subfield attribute values of the individual subspaces (e.g., rectangular boxes). If the subspaces do not share a common attribute value specified in the common node of the first layer, then the individual nodes associated with the subspaces in the second layer may list individual attribute values that differ from the common attribute value.
[0074] In the second tier, for a rectangular box, if the attribute value is the same as that enumerated in the common node, the attribute may not be enumerated, and if the attribute value of the rectangular box is different from the common attribute, the attribute value of the rectangular box may be enumerated.
[0075] In one example, rectangular box (301) has a side length along the X-axis of "29.66", which is different from the other three rectangular boxes (302) to (304) that have side lengths along the X-axis of "19.23".
[0076] 9 shows a hierarchical description (900) of a space of interest (310) having four rectangular boxes (301)-(304) according to the syntax (700). The hierarchical description (900) includes a first layer (910) of common node descriptions for common attribute values shared by two or more of the rectangular boxes, and a second layer (920) of individual node descriptions for non-common attribute values and / or non-common subfield attribute values of the individual rectangular boxes.
[0077] Specifically, the first layer (910) includes a first common node for the subfields of the orientation attribute and a second common node for the subfields of the size attribute. The first common node has a name "orientation" to identify the orientation attribute, an index "2 3" to identify the second subfield and the third subfield, and a value "0.00 0.00" to specify the common subfield attribute value. Thus, the first common node enumerates that the common value of the second subfield of the orientation attribute is "0.00" and the common value of the third subfield of the orientation is "0.00".
[0078] Furthermore, the second common node has a name "size" to identify the size attribute, has indexes "1 2" to identify the first and second subfields, and has a value "19.23 2.50" to specify a common subfield attribute value for a subset of rectangular boxes, such as rectangular boxes (302)-(304). Thus, the second common node enumerates that the common value of the first and second subfields of the size attribute is "19.23 2.50".
[0079] The second layer (920) includes individual node descriptions of non-common attribute values and / or non-common subfield attribute values of individual rectangular boxes, such as a position attribute, an orientation attribute, and a size attribute. In the second layer (920), for each node, the orientation attribute includes a first subfield value and does not include a second subfield value and a third subfield value. The second subfield value and the third subfield value of the orientation attribute can be read from a first common node in the first layer.
[0080] In the second tier (920), for individual nodes associated with a subset of the rectangular boxes (e.g., box:Box2, box:Box3, box:Box4), the size attribute includes a third subfield value and does not include the first and second subfield values. The first and second subfield values of the size attribute can be referenced to and read from a second common node in the first tier (910).
[0081] In the second tier (920), in an individual node for a rectangular box (e.g., box:Box1), the size attribute includes a first subfield value, a second subfield value, and a third subfield value. For example, the size attribute of rectangular box "box:Box1" is enumerated with all three subfield values "29.66 2.50 20.47" as shown by (921). Thus, information in an individual node can overwrite information in a common node.
[0082] In one embodiment, the hierarchical description of the space of interest may include a first layer of descriptions of common attribute values and / or common subfield attribute values shared by a subset of individual nodes for the subspaces (e.g., rectangular boxes) and a second layer of descriptions of non-common attribute values and / or non-common subfield attribute values of the individual subspaces (e.g., rectangular boxes). If the subspaces do not share a common attribute value specified in the common node of the first layer, the individual nodes associated with the subspaces in the second layer may list difference values that are the differences between the non-common attribute values of the subspaces and the common attribute values in the first layer.
[0083] In the second layer, for a rectangular box, if the attribute value is the same as that enumerated in the common node, the attribute value is not enumerated, and if the attribute value of the rectangular box differs from the common attribute value, the difference between the attribute value of the rectangular box and the common attribute value can be enumerated.
[0084] In one example, rectangular box (301) has a side length along the X-axis of 29.66, which is different from the other three rectangular boxes (302) to (304), which have a side length along the X-axis of 19.23. The difference between the side length of 19.23 and the side length of 29.66 is 10.43.
[0085] 10 shows a hierarchical description (1000) of a space of interest (310) having four rectangular boxes (301)-(304) according to the syntax (700). The hierarchical description (1000) includes a first layer (1010) of descriptions of common nodes shared by two or more of the rectangular boxes, and a second layer (1020) of descriptions of non-common attribute values and / or non-common subfield attribute values of the individual rectangular boxes.
[0086] Specifically, the first layer (1010) includes a first common node for the subfields of the orientation attribute and a second common node for the subfields of the size attribute. The first common node has a name "orientation" to identify the orientation attribute, an index "2 3" to identify the second subfield and the third subfield, and a value "0.00 0.00" to specify the common subfield attribute value. Thus, the first common node enumerates that the common value of the second subfield of the orientation attribute is "0.00" and the common value of the third subfield of the orientation is "0.00".
[0087] Furthermore, the second common node has a name "size" to identify the size attribute, has indexes "1 2" to identify the first and second subfields, and has a value "19.23 2.50" to specify a common subfield attribute value for a subset of rectangular boxes, such as rectangular boxes (302)-(304). Thus, the second common node enumerates that the common value of the first and second subfields of the size attribute is "19.23 2.50".
[0088] The second layer (1020) includes individual node descriptions of non-common attribute values and / or non-common subfield attribute values of individual rectangular boxes, such as a position attribute, an orientation attribute, and a size attribute. In the second layer (1020), in each individual node, the orientation attribute includes a first subfield value and does not include a second subfield value and a third subfield value. The second subfield value and the third subfield value of the orientation attribute can be read from a first common node in the first layer (1010).
[0089] In the second tier (1020), in the individual nodes for the subset of rectangular boxes (e.g., box:Box2, box:Box3, box:Box4), the size attribute includes the third subfield value and does not include the first and second subfield values. The first and second subfield values of the size attribute can be referenced to and read from a second common node in the first tier (1010).
[0090] In the second layer (1020), in an individual node associated with a rectangular box (e.g., box:Box1), the size attribute includes a first subfield difference value, a second subfield difference value, and a third subfield value. For example, the size attribute of rectangular box "box:Box1" is enumerated as "10.43 0.00 20.47", as shown by (1021). By checking the second common node, the first subfield value of the size attribute of "box:Box1" can be restored to be the sum of "19.23" and "10.43", which is equal to 29.66, and the second subfield value of the size attribute of "box:Box1" can be restored to be the sum of "2.5" and "0", which is equal to 2.5.
[0091] 11 shows a flow chart outlining a process (1100) according to one embodiment of the present disclosure. The process (1100) may be performed by an audio source device, such as the audio source device (201). In some embodiments, the process (1100) is implemented in software instructions, and thus the processing circuitry performs the process (1100) when the processing circuitry executes the software instructions. The process starts at (S1101) and proceeds to (S1110).
[0092] At (S1110), two or more subspaces of the plurality of subspaces for the space of interest are determined to have a common attribute value for the attribute.
[0093] In some examples, the subvolumes are rectangular boxes, each of which may be defined by at least a position attribute, an orientation attribute, and a size attribute.
[0094] At (S1120), a common node is formed in a first layer of the hierarchical description of the space of interest, the common node including a common attribute value for the attribute.
[0095] At (S1130), attributes are removed from each of the distinct nodes associated with the two or more subspaces, the distinct nodes being in a second layer of the hierarchical description of the space of interest.
[0096] In one example, a common node identifies a name for an attribute and a common attribute value that can be removed from individual nodes associated with two or more subspaces.
[0097] In another example, the common node identifies the name of the attribute, the index of the subfield of the attribute, and the common attribute value as the common subfield attribute value, which can be removed from individual nodes associated with two or more subspaces.
[0098] In some examples, a common node is common to multiple subspaces. Common attribute values can be removed from each of the individual nodes associated with the multiple subspaces.
[0099] In some examples, the common node is common to a subset of the multiple subspaces. The common attribute value can be removed from each of the individual nodes associated with the subset of the multiple subspaces. For subspaces that are not within the subset, the individual nodes associated with the subset can include an attribute value for the attribute that is different from the common attribute value.
[0100] In some examples, the common node is common to a subset of the multiple subspaces. The common attribute value can be removed from each of the individual nodes associated with the subset of the multiple subspaces. For subspaces that are not within the subset, the individual nodes associated with the subset can include, for the attribute, a difference value of the particular attribute value (of the subspace) relative to the common attribute value.
[0101] The process then proceeds to (S1199) and ends.
[0102] The process 1100 may be adapted as appropriate. Steps of the process 1100 may be modified and / or omitted. Additional steps may be added. Any suitable order of performance may be used.
[0103] 12 shows a flow chart outlining a process (1200) according to one embodiment of the present disclosure. The process (1200) may be performed by a media server device, such as the media server device (210). In some embodiments, the process (1200) is implemented in software instructions, and thus the processing circuitry performs the process (1200) when the processing circuitry executes the software instructions. The process starts at (S1201) and proceeds to (S1210).
[0104] At (S1210), an audio input for an audio scene and a hierarchical description of a space of interest associated with the audio input are received. The space of interest includes a plurality of subspaces. The hierarchical description includes a first layer and a second layer. The first layer includes a common node having a first value that is a common attribute value of two or more subspaces of the plurality of subspaces. The second layer includes individual nodes respectively associated with the plurality of subspaces.
[0105] In some examples, the subvolumes are rectangular boxes, each of which may be defined by at least a position attribute, an orientation attribute, and a size attribute.
[0106] At (S1220), a number of subspaces of the space of interest are determined based on the hierarchical description.
[0107] In one example, the common node identifies a name for the attribute and the first value is an attribute value of the attribute. The first value can be retrieved from the common node in the first tier as the attribute value of the attribute for a subspace of the plurality of subspaces.
[0108] In another example, the common node identifies a name of an attribute and an index of a subfield of the attribute, and the first value is a subfield attribute value for the subfield of the attribute. The first value can be retrieved from the common node in the first tier as a subfield attribute value for the subfield of the attribute of a subspace of the multiple subspaces.
[0109] In some examples, a common node having a first value is common to the multiple subspaces, and the first value can be read from the common node in the first tier as an attribute value of the attribute for each of the multiple subspaces.
[0110] In some examples, a common node having a first value is common to a subset of the subspaces. In response to a first individual node associated with a first subspace lacking a value for the attribute, a first value is retrieved from the common node in the first layer as an attribute value for the attribute for the first subspace. Further, in response to a presence of a second value associated with the attribute in a second individual node associated with a second subspace, a second value associated with the attribute for the second subspace is retrieved from a second individual node associated with a second subspace.
[0111] In some examples, a common node having a first value is common to a subset of the subspaces. In response to a first individual node associated with a first subspace lacking a value for the attribute, a first value is retrieved from the common node in the first layer as an attribute value for the attribute of the first subspace. Further, a difference value with respect to the attribute of the second subspace is retrieved from a second individual node associated with a second subspace. A second value for the attribute of the second subspace is then calculated based on the first value and the difference value, such as a sum of the first value and the difference value.
[0112] At (S1230), a bitstream carrying the audio input and the hierarchical description of the space of interest is transmitted to the client device in response to information provided by the client device. In one example, the information provided by the client device indicates a scene change to an audio scene. In another example, the information provided by the client device indicates movement by an object in an application associated with the space of interest, such as movement into the space of interest.
[0113] The process then proceeds to (S1299) and ends.
[0114] The process 1200 may be adapted as appropriate. Steps of the process 1200 may be modified and / or omitted. Additional steps may be added. Any suitable order of performance may be used.
[0115] 13 shows a flow chart outlining a process (1300) according to one embodiment of the present disclosure. The process (1300) can be performed by a media client device, such as the media client device (260A) or the media client device (260B). In some embodiments, the process (1300) is implemented in software instructions, and thus the processing circuitry performs the process (1300) when the processing circuitry executes the software instructions. The process starts at (S1301) and proceeds to (S1310).
[0116] At (S1310), an audio input is received that is associated with a hierarchical description of a space of interest within an audio scene. The space of interest includes a plurality of subspaces. The hierarchical description includes a first layer and a second layer. The first layer has a common node having a first value that is a common attribute value of two or more of the plurality of subspaces. The second layer has individual nodes respectively associated with each of the plurality of subspaces.
[0117] In some examples, a bitstream carrying an audio input and a hierarchical description of a space of interest (e.g., as metadata for the audio input) is received. The bitstream is decoded to obtain the audio input and the hierarchical description of the space of interest.
[0118] In some examples, the subvolumes are rectangular boxes, each of which may be defined by at least a position attribute, an orientation attribute, and a size attribute.
[0119] At (S1320), a number of subspaces of the space of interest are determined based on the hierarchical description.
[0120] In one example, the common node identifies a name for the attribute and the first value is an attribute value of the attribute. The first value can be retrieved from the common node in the first tier as the attribute value of the attribute for a subspace of the plurality of subspaces.
[0121] In another example, the common node identifies a name of an attribute and an index of a subfield of the attribute, and the first value is a subfield attribute value for the subfield of the attribute. The first value can be retrieved from the common node in the first tier as a subfield attribute value for the subfield of the attribute of a subspace of the multiple subspaces.
[0122] In some examples, a common node having a first value is common to the multiple subspaces, and the first value can be read from the common node in the first tier as an attribute value of the attribute for each of the multiple subspaces.
[0123] In some examples, a common node having a first value is common to a subset of the subspaces. In response to a first individual node associated with a first subspace lacking a value for the attribute, a first value is retrieved from the common node in the first layer as an attribute value for the attribute for the first subspace. Further, in response to a presence of a second value associated with the attribute in a second individual node associated with a second subspace, a second value associated with the attribute for the second subspace is retrieved from a second individual node associated with a second subspace.
[0124] In some examples, a common node having a first value is common to a subset of the plurality of subspaces. In response to a first individual node associated with a first subspace lacking a value for the attribute, a first value is retrieved from the common node in the first layer as an attribute value for the attribute of the first subspace. Further, a difference value with respect to the attribute of the second subspace is retrieved from a second individual node associated with a second subspace. A second value for the attribute of the second subspace is then calculated based on the first value and the difference value.
[0125] At (S1330), an audio output is rendered based on the audio input in response to a position of a target of the audio scene being within the space of interest. For example, the audio scene corresponds to a game scene in a game application, and a target of the audio scene is a game player in the game application. In response to the game player moving into the space of interest of the game scene, the audio output can be rendered. In some examples, in response to a position of a target of the audio scene being outside the space of interest, the audio input can be ignored without the rendering step.
[0126] The process then proceeds to (S1399) and ends.
[0127] The process 1300 may be adapted as appropriate. Steps of the process 1300 may be modified and / or omitted. Additional steps may be added. Any suitable order of performance may be used.
[0128] The techniques described above may be implemented as computer software using computer readable instructions and physically stored on one or more computer readable media. For example, Figure 14 illustrates a computer system (1400) suitable for implementing certain embodiments of the disclosed subject matter.
[0129] Computer software can be encoded using any suitable machine code or computer language that can be subject to assembly, compilation, linking, or similar mechanisms to generate code including instructions that can be executed by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., directly, or via interpretation, microcode execution, etc.
[0130] The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smart phones, gaming devices, Internet of Things devices, and the like.
[0131] 14 with respect to computer system (1400) are exemplary in nature and are not intended to suggest any limitation as to the scope of use or functionality of the computer software implementing the embodiments of the present disclosure, nor should the arrangement of components be interpreted as having any dependency or requirement regarding any one or combination of components illustrated in the exemplary embodiment of computer system (1400).
[0132] The computer system (1400) may include certain human interface input devices. Such human interface input devices may respond to input by one or more human users, for example, via tactile input (keystrokes, swipes, data glove movements, etc.), audio input (voice, clapping, etc.), visual input (gestures, etc.), and olfactory input (not shown). Human interface devices may also be used to capture certain media not necessarily directly associated with conscious human input, such as audio (speech, music, ambient sounds, etc.), images (scanned images, photographic images obtained from a still camera, etc.), and video (two-dimensional video, three-dimensional video including stereoscopic video, etc.).
[0133] The input human interface devices may include one or more (only one of each is shown) of a keyboard (1401), a mouse (1402), a trackpad (1403), a touch screen (1410), a data glove (not shown), a joystick (1405), a microphone (1406), a scanner (1407), and a camera (1408).
[0134] The computer system (1400) may also include certain human interface output devices. Such human interface output devices may stimulate one or more of the human user's senses, for example, via haptic output, sound, light, and smell / taste. Such human interface output devices may include haptic output devices (e.g., haptic feedback via a touch screen (1410), data gloves (not shown), or joystick (1405), although there may also be haptic feedback devices that do not serve as input devices), audio output devices (e.g., speakers (1409), headphones (not shown)), visual output devices (e.g., screens (1410) including CRT screens, LCD screens, plasma screens, OLED screens, each with or without touch screen input capability and each with or without haptic feedback capability, some of which may be capable of outputting two-dimensional visual output or output in more than three dimensions via means such as stereoscopic output, virtual reality glasses (not shown), holographic displays, and smoke tanks (not shown)), and printers (not shown).
[0135] The computer system (1400) may also include human accessible storage devices and their associated media, such as optical media including CD / DVD ROM / RW (1420) with CD / DVD or similar media (1421), thumb drives (1422), removable hard drives or solid state drives (1423), legacy magnetic media such as tapes and floppy disks (not shown), and dedicated ROM / ASIC / PLD based devices (not shown) such as security dongles.
[0136] Those skilled in the art should also understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.
[0137] The computer system (1400) may also include an interface (1454) to one or more communication networks (1455). The networks may be, for example, wireless, wired, optical. The networks may further be local, wide area, metropolitan, vehicular and industrial, real-time, delay tolerant, etc. Examples of networks include local area networks such as Ethernet, wireless LAN, cellular networks including GSM, 3G, 4G, 5G, LTE, etc., TV wired or wireless wide area digital networks including cable TV, satellite TV, terrestrial broadcast TV, vehicular and industrial including CANBus, etc. Certain networks typically require an external network interface adapter connected to a specific general-purpose data port or peripheral bus (1449) (e.g., a USB port of the computer system (1400)), while others are typically integrated into the core of the computer system (1400) by connection to a system bus as described below (e.g., an Ethernet interface to a PC computer system or a cellular network interface to a smartphone computer system). Using any of these networks, the computer system (1400) can communicate with other entities. Such communication can be one-way receive only (e.g., a TV broadcast), one-way transmit only (e.g., a CANbus to a particular CANbus device), or bidirectional with other computer systems using, for example, local or wide area digital networks. Specific protocols and protocol stacks can be used with each of these networks and network interfaces, as described above.
[0138] The aforementioned human interface devices, human accessible storage devices, and network interfaces may be connected to a core (1440) of the computer system (1400).
[0139] The cores (1440) may include one or more central processing units (CPUs) (1441), graphics processing units (GPUs) (1442), dedicated programmable processing units in the form of field programmable gate areas (FPGAs) (1443), hardware accelerators for specific tasks (1444), graphics adapters (1450), etc. These devices may be connected via a system bus (1448) along with read only memory (ROM) (1445), random access memory (1446), internal mass storage (1447) such as an internal hard drive or SSD that is not accessible to the user. In some computer systems, the system bus (1448) may be accessible in the form of one or more physical plugs to allow expansion with additional CPUs, GPUs, etc. Peripheral devices may be connected directly to the core's system bus (1448) or through a peripheral bus (1449). In one example, a screen (1410) may be connected to the graphics adapter (1450). Architectures for peripheral buses include PCI, USB, and the like.
[0140] The CPU (1441), GPU (1442), FPGA (1443), and accelerator (1444) can execute certain instructions that, in combination, may constitute the aforementioned computer code. The computer code may be stored in ROM (1445) or RAM (1446). Transient data may also be stored in RAM (1446), while persistent data may be stored, for example, in internal mass storage (1447). Rapid storage and retrieval from any of the memory devices may be enabled through the use of cache memory, which may be closely associated with one or more of the CPU (1441), GPU (1442), mass storage (1447), ROM (1445), RAM (1446), etc.
[0141] The computer-readable medium can bear computer code for performing various computer-implemented operations. The medium and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those skilled in the computer software arts.
[0142] As an example and not by way of limitation, a computer system (1400) having an architecture, specifically a core (1440), can provide functionality as a result of a processor (including a CPU, GPU, FPGA, accelerator, etc.) executing software embodied in one or more tangible computer-readable media. Such computer-readable media can be media associated with user-accessible mass storage as introduced above, and specific storage of the core (1440) of a non-transitory nature, such as the core internal mass storage (1447) or ROM (1445). Software implementing various embodiments of the present disclosure can be stored in such devices and executed by the core (1440). The computer-readable media can include one or more memory devices or chips, depending on the particular needs. The software can cause the core (1440), and specifically the processor therein (including a CPU, GPU, FPGA, etc.) to perform certain processes, or certain portions of certain processes, described herein, including defining data structures stored in RAM (1446) and modifying such data structures according to the software-defined processes. Additionally, or alternatively, a computer system may provide functionality as a result of logic hardwired or otherwise embodied in circuitry (e.g., accelerator (1444)) that can operate in place of or together with software to perform certain processes, or certain portions of certain processes, described herein. Where appropriate, references to software may encompass logic, and vice versa. Where appropriate, references to computer-readable media may encompass circuitry (such as an integrated circuit (IC)) that stores software for execution, circuitry that embodies logic for execution, or both. The present disclosure encompasses any suitable combination of hardware and software.
[0143] While this disclosure has described several exemplary embodiments, there are modifications, permutations, and various substitute equivalents that are within the scope of this disclosure. It will thus be appreciated that those skilled in the art will be able to devise numerous systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and are therefore within its spirit and scope. [Explanation of symbols]
[0144] 200 Media System 201 Audio source, audio source device 210 Media Server Devices 211 Interface Circuit 230 Processing circuit 240 Audio Encoder 260A Media Client Device 260B Media Client Device 261A Interface Circuit 261B Interface circuit 270A Processing Circuit 270B Processing circuit 271A Audio Decoder 271B Audio Decoder 272A Renderer 272B Renderer 301 Rectangular Box 302 Rectangular Box 303 Rectangular Box 304 Rectangular Box 310 Space of Interest 400 Description 401 Description Node 402 Description Node 403 Description Node 404 Description Node 500 Syntax 510 First Layer 511 Name to identify the attribute 512 Value 520 Second Layer 600 Hierarchical description 610 First Layer 611 Name to identify the size attribute 620 Second Layer 621 Value 700 Syntax 710 First Layer 711 Name to identify the attribute 712 Value 713 Index to identify the subfield 720 Second Layer 800 Layered description 810 First Layer 811 Name to identify the orientation attribute 812 Value 813 An index to identify the second and third subfields 820 Second Layer 900 Hierarchical description 910 First Layer 920 Second Layer 1000 layered description 1010 1st layer 1020 Second Layer 1100 Process 1200 processes 1300 Processes 1400 Computer Systems 1401 Keyboard 1402 Mouse 1403 Trackpad 1405 Joystick 1406 Mike 1407 Scanner 1408 Camera 1409 Speaker 1410 Touch Screen 1420 CD / DVD ROM / RW 1421 CD / DVD or similar media 1422 Thumb Drive 1423 Removable Hard Drive or Solid State Drive 1440 cores 1441 Central Processing Unit (CPU) 1442 Graphics Processing Unit (GPU) 1443 Field Programmable Gate Area (FPGA) 1444 Hardware Accelerator 1445 Read-Only Memory (ROM) 1446 Random Access Memory 1447 Internal Mass Storage 1448 System Bus 1449 Surrounding Bus 1450 Graphics Adapter 1454 Interface 1455 Communication Network
Claims
1. 1. A method of media processing in a device, comprising: receiving an audio input including audio content associated with a hierarchical description of a space of interest within an audio scene in an application, the space of interest including a plurality of subspaces, the hierarchical description including a first tier and a second tier, the first tier having a common node having a first value that is a common attribute value of two or more subspaces within the plurality of subspaces, and the second tier having individual nodes respectively associated with each of the plurality of subspaces; determining, by a processor of the device, the plurality of subspaces of the space of interest based on the hierarchical description; rendering, by the processor, an audio output based on the audio content contained in the audio input based on the space of interest in which objects movable within the audio scene are located in the audio scene; The method includes:
2. The method of claim 1 , wherein the subvolumes are rectangular boxes defined by at least a position attribute, an orientation attribute, and a size attribute.
3. The common node identifies a name for an attribute, the first value is an attribute value for the attribute, and the step of determining the plurality of subspaces comprises: The method of claim 1 , further comprising: reading the first value from the common node in the first layer as the attribute value of the attribute for a subspace in the plurality of subspaces.
4. the common node identifies a name of an attribute and an index of a subfield of the attribute, the first value being a subfield attribute value for the subfield of the attribute, and the step of determining the plurality of subspaces comprises:
2. The method of claim 1, comprising reading the first value from the common node in the first layer as the subfield attribute value for the subfield of the attribute of a subspace in the plurality of subspaces.
5. The common node having the first value is common to the plurality of subspaces, and the step of determining the plurality of subspaces comprises: The method of claim 1 , further comprising: reading the first value from the common node in the first layer as an attribute value of an attribute for each of the plurality of subspaces.
6. The common node having the first value is common to a subset of the plurality of subspaces, and the step of determining the plurality of subspaces includes: in response to a first individual node associated with a first subspace lacking a value for an attribute, reading from the common node in the first layer the first value as an attribute value for the attribute for the first subspace; and retrieving the second value associated with the attribute for the second subspace from the second individual node associated with a second subspace in response to a presence of a second value associated with the attribute in a second individual node.
7. The common node having the first value is common to a subset of the plurality of subspaces, and the step of determining the plurality of subspaces comprises: in response to a first individual node associated with a first subspace lacking a value for an attribute, reading from the common node in the first layer the first value as an attribute value for the attribute of the first subspace; retrieving, from a second individual node associated with a second subspace, a difference value associated with the attribute of the second subspace; and calculating a second value for the attribute of the second subspace based on the first value and the difference value.
8. receiving a bitstream carrying said audio input and said hierarchical description of said space of interest as metadata for said audio input; decoding the bitstream to obtain the audio input and the hierarchical description of the space of interest; The method of claim 1 further comprising:
9. ignoring the audio input without rendering in response to the position of the object of the audio scene being outside the space of interest. The method of claim 1 further comprising:
10. A media processing apparatus comprising a processing circuit configured to carry out a method according to any one of claims 1 to 9.
11. A program comprising instructions which, when executed by at least one processor, cause the at least one processor to perform the method of any one of claims 1 to 9.
Citation Information
Patent Citations
Method and apparatus for transmitting and receiving of the object-based audio contents
US20130077631A1
Information processing device and method, and program
WO2020008890A1
Audio codec extension
WO2020201620A1