The present invention relates to audio signal processing, in particular, to an apparatus and a method for audio rendering, and, more particularly, to an apparatus and a method for audio rendering employing a geometric distance definition.
With increasing multimedia content consumption in daily life, the demand for sophisticated multimedia solutions steadily increases. In this context, positioning of audio objects plays an important role. An optimal positioning of audio objects for an existing loudspeaker setup would be desirable.
In the state of the art, audio objects are known. Audio objects may, e.g., be considered as sound tracks with associated metadata. The metadata may, e.g., describe the characteristics of the raw audio data, e.g., the desired playback position or the volume level. An advantage of object-based audio is that a predefined movement can be reproduced by a special rendering process on the playback side in the best way possible for all reproduction loudspeaker layouts.
Geometric metadata can be used to define where an audio object should be rendered, e.g., angles in azimuth or elevation or absolute positions relative to a reference point, e.g., the listener. The metadata is stored or transmitted along with the object audio signals.
In the context of MPEG-H, at the 105th MPEG meeting the audio group reviewed the requirements and timelines of different application standards (MPEG=Moving Picture Experts Group). According to that review, it would be essential to meet certain points in time and specific requirements for a next generation broadcast system. According to that, a system should be able to accept audio objects at the encoder input. Moreover, the system should support signaling, delivery and rendering of audio objects and should enable user control of objects, e.g., for dialog enhancement, alternative language tracks and audio description language.
In the state of the art, different concepts are known. A first concept is reflected sound rendering for object-based audio (see [2]). Snap to speaker location information is included in a metadata definition as useful rendering information. However, in [2], no information is provided how the information is used in the playback process. Moreover, no information is provided how a distance between two positions is determined.
Another concept of the state of the art, system and tools for enhanced 3D audio authoring and rendering is described in [5].
According to another conventional technology, System and Method for Adaptive Audio Signal Generation, Coding and Rendering, described in document [1], metadata information (metadata elements) specify that “one or more sound components are rendered to a speaker feed for playback through a speaker nearest an intended playback location of the sound component, as indicated by the position metadata”. However, no information is provided, how the nearest speaker is determined.
In a further conventional technology, audio definition model, described in document [4], a metadata flag is defined called “channelLock”. If set to 1, a renderer can lock the object to the nearest channel or speaker, rather than normal rendering. However, no determination of the nearest channel is described.
In another conventional technology, upmixing of object based audio is described (see [3]). Document [3] describes a method for the usage of a distance measure of speakers in a different field of application: Here it is used for upmixing object-based audio material. The rendering system is configured to determine, from an object based audio program (and knowledge of the positions of the speakers to be employed to play the program), the distance between each position of an audio source indicated by the program and the position of each of the speakers. Furthermore, the rendering system of [3] is configured to determine, for each actual source position (e.g., each source position along a source trajectory) indicated by the program, a subset of the full set of speakers (a “primary” subset) consisting of those speakers of the full set which are (or the speaker of the full set which is) closest to the actual source position, where “closest” in this context is defined in some reasonably defined sense. However, no information is provided how the distance should be calculated.
According to an embodiment, an apparatus for playing back an audio object associated with a position may have: a distance calculator for calculating distances of the position to speakers or for reading the distances of the position to the speakers, wherein the distance calculator is configured to take a solution with a smallest distance, and wherein the apparatus is configured to play back the audio object using the speaker corresponding to the solution.
According to another embodiment, a decoder device may have: a USAC decoder for decoding a bitstream to acquire one or more audio input channels, to acquire one or more input audio objects, to acquire compressed object metadata and to acquire one or more SAOC transport channels, an SAOC decoder for decoding the one or more SAOC transport channels to acquire a group of one or more rendered audio objects, an object metadata decoder, for decoding the compressed object metadata to acquire uncompressed metadata, a format converter for converting the one or more audio input channels to acquire one or more converted channels, and a mixer for mixing the one or more rendered audio objects of the group of one or more rendered audio objects, the one or more input audio objects and the one or more converted channels to acquire one or more decoded audio channels, wherein the object metadata decoder and the mixer together form an apparatus according to one of the preceding claims, wherein the object metadata decoder has the distance calculator of the apparatus according to one of the preceding claims, wherein the distance calculator is configured, for each input audio object of the one or more input audio objects, to calculate distances of the position associated with said input audio object to speakers or for reading the distances of the position associated with said input audio object to the speakers, and to take a solution with a smallest distance, and wherein the mixer is configured to output each input audio object of the one or more input audio objects within one of the one or more decoded audio channels to the speaker corresponding to the solution determined by the distance calculator of the apparatus according to one of the preceding claims for said input audio object.
According to another embodiment, a method for playing back an audio object associated with a position may have the steps of: calculating distances of the position to speakers or reading the distances of the position to the speakers, taking a solution with a smallest distance, and playing back the audio object using the speaker corresponding to the solution.
Another embodiment may have a non-transitory digital storage medium having a computer program stored thereon to perform the method for playing back an audio object associated with a position, the method having the steps of: calculating distances of the position to speakers or reading the distances of the position to the speakers, taking a solution with a smallest distance, and playing back the audio object using the speaker corresponding to the solution, when said computer program is run by a computer.
An apparatus for playing back an audio object associated with a position is provided. The apparatus comprises a distance calculator for calculating distances of the position to speakers or for reading the distances of the position to the speakers. The distance calculator is configured to take a solution with a smallest distance. The apparatus is configured to play back the audio object using the speaker corresponding to the solution.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers or to read the distances of the position to the speakers only if a closest speaker playout flag (mdae_closestSpeakerPlayout), being received by the apparatus, is enabled. Moreover, the distance calculator may, e.g., be configured to take a solution with a smallest distance only if the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled. Furthermore, the apparatus may, e.g., be configured to play back the audio object using the speaker corresponding to the solution only of the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled.
In an embodiment, the apparatus may, e.g., be configured to not conduct any rendering on the audio object, if the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns a weighted Euclidian distance or a great-arc distance.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns weighted absolute differences in azimuth and elevation angles.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns weighted absolute differences to the power p, wherein p is a number. In an embodiment, p may, e.g., be set to p=2.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns a weighted angular difference.
In an embodiment, the distance function may, e.g., be defined according to
diffAngle=a cos(cos(azDiff)*cos(elDiff)),
wherein azDiff indicates a difference of two azimuth angles, wherein elDiff indicates a difference of two elevation angles, and wherein diffAngle indicates the weighted angular difference.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=|β1−β2|+|α1−α2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, and β2 indicates an elevation angle of said one of the speakers. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, and β2 indicates an elevation angle of the position.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=|β1−β2|+|α1−α2|+|r1−r2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, r1 indicates a radius of the position and r2 indicates a radius of said one of the speakers. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, β2 indicates an elevation angle of the position, r1 indicates a radius of said one of the speakers and r2 indicates a radius of the position.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=b·|β1−β2|+α·|α1−α2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, a is a first number, and b is a second number. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, β2 indicates an elevation angle of the position, a is a first number, and b is a second number.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=b·|β1−β2|+α·|α1−α2|+c·|r1−r2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, r1 indicates a radius of the position, r2 indicates a radius of said one of the speakers, a is a first number, and b is a second number. Or, α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, and β2 indicates an elevation angle of the position, r1 indicates a radius of said one of the speakers, and r2 indicates a radius of the position, a is a first number, b is a second number, and c is a third number.
According to an embodiment, a decoder device is provided. The decoder device comprises a USAC decoder for decoding a bitstream to obtain one or more audio input channels, to obtain one or more input audio objects, to obtain compressed object metadata and to obtain one or more SAOC transport channels. Moreover, the decoder device comprises an SAOC decoder for decoding the one or more SAOC transport channels to obtain a group of one or more rendered audio objects. Furthermore, the decoder device comprises an object metadata decoder for decoding the compressed object metadata to obtain uncompressed metadata. Moreover, the decoder device comprises a format converter for converting the one or more audio input channels to obtain one or more converted channels. Furthermore, the decoder device comprises a mixer for mixing the one or more rendered audio objects of the group of one or more rendered audio objects, the one or more input audio objects and the one or more converted channels to obtain one or more decoded audio channels. The object metadata decoder and the mixer together form an apparatus according to one of the above-described embodiments. The object metadata decoder comprises the distance calculator of the apparatus according to one of the above-described embodiments, wherein the distance calculator is configured, for each input audio object of the one or more input audio objects, to calculate distances of the position associated with said input audio object to speakers or for reading the distances of the position associated with said input audio object to the speakers, and to take a solution with a smallest distance. The mixer is configured to output each input audio object of the one or more input audio objects within one of the one or more decoded audio channels to the speaker corresponding to the solution determined by the distance calculator of the apparatus according to one of the above-described embodiments for said input audio object.
A method for playing back an audio object associated with a position, comprising:
Moreover, a computer program for implementing the above-described method when being executed on a computer or signal processor is provided.
Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
The apparatus 100 comprises a distance calculator 110 for calculating distances of the position to speakers or for reading the distances of the position to the speakers. The distance calculator 110 is configured to take a solution with a smallest distance.
The apparatus 100 is configured to play back the audio object using the speaker corresponding to the solution.
For example, for each loudspeaker, a distance between the position (the audio object position) and said loudspeaker (the location of said loudspeaker) is determined.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers or to read the distances of the position to the speakers only if a closest speaker playout flag (mdae_closestSpeakerPlayout), being received by the apparatus 100, is enabled. Moreover, the distance calculator may, e.g., be configured to take a solution with a smallest distance only if the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled. Furthermore, the apparatus 100 may, e.g., be configured to play back the audio object using the speaker corresponding to the solution only of the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled.
In an embodiment, the apparatus 100 may, e.g., be configured to not conduct any rendering on the audio object, if the closest speaker playout flag (mdae_closestSpeakerPlayout) is enabled.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns a weighted Euclidian distance or a great-arc distance.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns weighted absolute differences in azimuth and elevation angles.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns weighted absolute differences to the power p, wherein p is a number. In an embodiment, p may, e.g., be set to p=2.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances depending on a distance function which returns a weighted angular difference.
In an embodiment, the distance function may, e.g., be defined according to
diffAngle=a cos(cos(azDiff)*cos(elDiff)),
wherein azDiff indicates a difference of two azimuth angles, wherein elDiff indicates a difference of two elevation angles, and wherein diffAngle indicates the weighted angular difference.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance of the positon to one of the speakers is calculated according to
Δ(P1,P2)=|β1−β2|+|α1−α2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, and β2 indicates an elevation angle of said one of the speakers. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, and β2 indicates an elevation angle of the position.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=|β1−β2|+|α1−α2|+|r1−r2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, r1 indicates a radius of the position and r2 indicates a radius of said one of the speakers. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, β2 indicates an elevation angle of the position, r1 indicates a radius of said one of the speakers and r2 indicates a radius of the position.
According to an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=b·|β1−β2|+α·|α1−α2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, a is a first number, and b is a second number. Or α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, β2 indicates an elevation angle of the position, a is a first number, and b is a second number.
In an embodiment, the distance calculator may, e.g., be configured to calculate the distances of the position to the speakers, so that each distance Δ(P1,P2) of the positon to one of the speakers is calculated according to
Δ(P1,P2)=b·|β1−β2|+α·|α1−α2|+c·|r1−r2|
α1 indicates an azimuth angle of the position, α2 indicates an azimuth angle of said one of the speakers, β1 indicates an elevation angle of the position, β2 indicates an elevation angle of said one of the speakers, r1 indicates a radius of the position, r2 indicates a radius of said one of the speakers, a is a first number, b is a second number, and c is a third number. Or, α1 indicates an azimuth angle of said one of the speakers, α2 indicates an azimuth angle of the position, β1 indicates an elevation angle of said one of the speakers, and β2 indicates an elevation angle of the position, r1 indicates a radius of said one of the speakers, and r2 indicates a radius of the position, a is a first number, b is a second number, and c is a third number.
In the following, embodiments of the present invention are described. The embodiments provide concepts for using a geometric distance definition for audio rendering.
Object metadata can be used to define either:
If the position of the object indicated in the metadata does not fall on a single speaker, the object renderer would create the output signal based by using multiple loudspeakers and defined panning rules. Panning is suboptimal in terms of localizing sounds or the sound color.
Therefore, it may be desirable by the producer of object based content, to define that a certain sound should come from a single loudspeaker from a certain direction.
It may happen that this loudspeaker does not exist in the users loudspeaker setup. Then a flag is set in the metadata that forces the sound to be played back by the nearest available loudspeaker without rendering.
The invention describes how the closest loudspeaker can be found allowing for some weighting to account for a tolerable deviation from the desired object position.
In object-based audio formats metadata are stored or transmitted along with object signals. The audio objects are rendered on the playback side using the metadata and information about the playback environment. Such information is e.g. the number of loudspeakers or the size of the screen.
For objects geometric metadata can be used to define how they should be rendered, e.g. angles in azimuth or elevation or absolute positions relative to a reference point, e.g. the listener. The renderer calculates loudspeaker signals on the basis of the geometric data and the available speakers and their position.
If an audio-object (audio signal associated with a position in the 3D space, e.g. azimuth, elevation and distance given) should not be rendered to its associated position, but instead played back by a loudspeaker that exists in the local loudspeaker setup, one way would be to define the loudspeaker where the object should be played back by means of metadata.
Nevertheless, there are cases where the producer does not want the object content to be played-back by a specific speaker, but rather by the next available speaker, i.e. the “geometrically nearest” speaker. This allows for a discrete playback without the necessity to define which speaker corresponds to which audio signal or to do rendering between multiple loudspeakers.
Embodiments according to the present invention emerge from the above in the following manner.
Metadata fields:
The remapping is done in an object metadata processor that takes the local loudspeaker setup into account and performs a routing of the signals to the corresponding renderers with specific information by which loudspeaker or from which direction a sound should be rendered.
A strategy for distance calculation is described as follows:
Examples for closest speaker calculation are set out below.
If the mdae_closestSpeakerPlayout flag of an audio element group is enabled, the members of the audio element group shall each be played back by the speaker that is nearest to the given position of the audio element. No rendering is applied.
The distance of two positions P1 and P2 in a spherical coordinate system is defined as the absolute difference of their azimuth angles α and elevation angles β.
Δ(P1,P2)=|β1−β2|+|α1−α2|+|r1−r2|
This distance has to be calculated for all known positions P1 to PN of the N output speakers with respect to the wanted position of the audio element Pwanted.
The nearest known loudspeaker position is the one, where the distance to the wanted position of the audio element gets minimal
P
next=min(Δ(Pwanted,P1),Δ(Pwanted,P2), . . . ,Δ(Pwanted,PN))
With this formula, it is possible to add weights to elevation, azimuth and/or radius. In that way it is possible to state that an azimuth deviation should be less tolerable than an elevation deviation by weighting the azimuth deviation by a high number:
Δ(P1,P2)=b·|β1−β2|+a·|α1−α2|+c·|r1−r2|
An example concerns a closest loudspeaker calculation for binaural rendering.
If audio content should be played back as a binaural stereo signal over headphones or a stereo speaker setup, each channel of the audio content is traditionally mathematically combined with a binaural room impulse response or a head-related impulse response.
The measuring position of this impulse response has to correspond to the direction from which the audio content of the associated channel should be perceived. In multi-channel audio systems or object-based audio there is the case that the number of definable positions (either by a speaker or by an object position) is larger than the number of available impulse responses. In that case, an appropriate impulse response has to be chosen if there is no dedicated one available for the channel position or the object position. To inflict only minimum positional changes in the perception, the chosen impulse response should be the “geometrically nearest” impulse response.
It is in both cases needed to determine, which of the list of known positions (i.e. playback speakers or BRIRs) is the next to the wanted position (BRIR=Binaural Room Impulse Response). Therefore a “distance” between different positions has to be defined.
The distance between different positions is here defined as the absolute difference of their azimuth and elevation angles.
The following formula is used to calculate a distance of two positions P1,P2 in a coordinate system that is defined by elevation a and azimuth
Δ(P1,P2)=|β1−β2|+|α1−α2|
It is possible to add the radius r as a third variable:
Δ(P1,P2)=|β1−β2|+|α1−α2|+|r1−r2|
The nearest known position is the one, where the distance to the wanted position gets minimal
P
next=min(Δ(Pwanted,P1),Δ(Pwanted,P2), . . . ,Δ(Pwanted,PN))
In an embodiment, weights may, e.g., be added to elevation, azimuth and/or radius:
Δ(P1,P2)=b·|β1−β2|+a·|α1−α2|+c·|r1−r2|.
According to some embodiments, the closest speaker may, e.g., be determined as follows:
The distance of two positions P1 and P2 in a spherical coordinate system may, e.g., be defined as the absolute difference of their azimuth angles co and elevation angles θ.
Δ(P1,P2)=|θ1−θ2|+|φ1−φ2|
This distance has to be calculated for all known position P1 to PN of the N output speakers with respect to the wanted position of the audio element Pwanted.
The nearest known loudspeaker position is the one, where the distance to the wanted position of the audio element gets minimal:
P
next=min(Δ(Pwanted,P1),Δ(Pwanted,P2), . . . ,Δ(Pwanted,PN)).
For example, according to some embodiments, the closest speaker playout processing according to some embodiments may be conducted by determining the position of the closest existing loudspeaker for each member of the group of audio objects, if the ClosestSpeakerPlayout flag is equal to one.
The closest speaker playout processing may, e.g., be particularly meaningful for groups of elements with dynamic position data. The nearest known loudspeaker position may, e.g., be the one, where the distance to the desired/wanted position of the audio element gets minimal.
In the following, a system overview of a 3D audio codec system is provided. Embodiments of the present invention may be employed in such a 3D audio codec system. The 3D audio codec system may, e.g., be based on an MPEG-D USAC Codec for coding of channel and object signals.
According to embodiments, to increase the efficiency for coding a large amount of objects, MPEG SAOC technology has been adapted (SAOC=Spatial Audio Object Coding). For example, according to some embodiments, three types of renderers may, e.g., perform the tasks of rendering objects to channels, rendering channels to headphones or rendering channels to a different loudspeaker setup.
When object signals are explicitly transmitted or parametrically encoded using SAOC, the corresponding object metadata information is compressed and multiplexed into the 3D-audio bitstream.
Possible embodiments of the modules of
In
The core codec for loudspeaker-channel signals, discrete object signals, object downmix signals and pre-rendered signals is based on MPEG-D USAC technology (USAC Core Codec). The USAC encoder 820 (e.g., illustrated in
All additional payloads like SAOC data or object metadata have been passed through extension elements and may, e.g., be considered in the USAC encoder's rate control.
The coding of objects is possible in different ways, depending on the rate/distortion requirements and the interactivity requirements for the renderer. The following object coding variants are possible:
On the decoder side, a USAC decoder 910 conducts USAC decoding.
Moreover, according to embodiments, a decoder is provided, see
Furthermore, the decoder comprises an SAOC decoder 915 for decoding the one or more SAOC transport channels to obtain a first group of one or more rendered audio objects.
Furthermore, the decoder comprises a format converter 922 for converting the one or more audio input channels to obtain one or more converted channels.
Moreover, the decoder comprises a mixer 930 for mixing the audio objects of the first group of one or more rendered audio objects, the audio object of the second group of one or more rendered audio objects and the one or more converted channels to obtain one or more decoded audio channels.
In
The SAOC encoder 815 takes as input the object/channel signals as monophonic waveforms and outputs the parametric information (which is packed into the 3D-Audio bitstream) and the SAOC transport channels (which are encoded using single channel elements and transmitted).
The SAOC decoder 915 reconstructs the object/channel signals from the decoded SAOC transport channels and parametric information, and generates the output audio scene based on the reproduction layout, the decompressed object metadata information and optionally on the user interaction information.
Regarding object metadata codec, for each object, the associated metadata that specifies the geometrical position and spread of the object in 3D space is efficiently coded by quantization of the object properties in time and space, e.g., by the metadata encoder 818 of
For example, in
An object renderer, e.g., object renderer 920 of
For example, the meta-data decoder 918 comprises a distance calculator (not shown) and said distance calculator or the meta-data decoder 918 may signal, e.g., by a connection (not shown) to the mixer 930, the closest loudspeaker for each audio object of the one or more audio objects received from the USAC-3D decoder. The mixer 930 may then output the audio object within a loudspeaker channel only to the closest loudspeaker (determined by the distance calculator) of the plurality of loudspeakers.
In some other embodiments, the closest loudspeaker is only signaled for one or more of the audio objects by the distance calculator or the meta-data decoder 918 to the mixer 930.
If both channel based content as well as discrete/parametric objects are decoded, the channel based waveforms and the rendered object waveforms are mixed before outputting the resulting waveforms, e.g., by mixer 930 of
A binaural renderer module 940, may, e.g., produce a binaural downmix of the multichannel audio material, such that each input channel is represented by a virtual sound source. The processing is conducted frame-wise in QMF domain. The binauralization may, e.g., be based on measured binaural room impulse responses.
A loudspeaker renderer 922 may, e.g., convert between the transmitted channel configuration and the desired reproduction format. It is thus called format converter 922 in the following. The format converter 922 performs conversions to lower numbers of output channels, e.g., it creates downmixes. The system automatically generates optimized downmix matrices for the given combination of input and output formats and applies these matrices in a downmix process. The format converter 922 allows for standard loudspeaker configurations as well as for random configurations with non-standard loudspeaker positions.
According to embodiments, a decoder device is provided. The decoder device comprises a USAC decoder 910 for decoding a bitstream to obtain one or more audio input channels, to obtain one or more input audio objects, to obtain compressed object metadata and to obtain one or more SAOC transport channels.
Moreover, the decoder device comprises an SAOC decoder 915 for decoding the one or more SAOC transport channels to obtain a group of one or more rendered audio objects.
Furthermore, the decoder device comprises an object metadata decoder 918 for decoding the compressed object metadata to obtain uncompressed metadata.
Moreover, the decoder device comprises a format converter 922 for converting the one or more audio input channels to obtain one or more converted channels.
Furthermore, the decoder device comprises a mixer 930 for mixing the one or more rendered audio objects of the group of one or more rendered audio objects, the one or more input audio objects and the one or more converted channels to obtain one or more decoded audio channels.
The object metadata decoder 918 and the mixer 930 together form an apparatus 100 according to one of the above-described embodiments, e.g., according to the embodiment of
The object metadata decoder 918 comprises the distance calculator 110 of the apparatus 100 according to one of the above-described embodiments, wherein the distance calculator 110 is configured, for each input audio object of the one or more input audio objects, to calculate distances of the position associated with said input audio object to speakers or for reading the distances of the position associated with said input audio object to the speakers, and to take a solution with a smallest distance.
The mixer 930 is configured to output each input audio object of the one or more input audio objects within one of the one or more decoded audio channels to the speaker corresponding to the solution determined by the distance calculator 110 of the apparatus 100 according to one of the above-described embodiments for said input audio object.
In such embodiments, the object renderer 920 may, e.g., be optional. In some embodiments, the object renderer 920 may be present, but may only render input audio objects if metadata information indicates that a closest speaker playout is deactivated. If metadata information indicates that closest speaker playout is activated, then the object renderer 920 may, e.g., pass the input audio objects directly to the mixer without rendering the input audio objects.
In the following, further embodiments and concepts of embodiments of the present invention are described.
In embodiments, the audio objects may, e.g., be rendered, e.g., by an object renderer, on the playback side using the metadata and information about the playback environment. Such information may, e.g., be the number of loudspeakers or the size of the screen. The object renderer may, e.g., calculate loudspeaker signals on the basis of the geometric data and the available speakers and their positions.
User control of objects may, e.g., be realized by descriptive metadata, e.g., by information about the existence of an object inside the bitstream and high-level properties of objects, or, may, e.g., be realized by restrictive metadata, e.g., information on how interaction is possible or enabled by the content creator.
According to embodiments, signaling, delivery and rendering of audio objects may, e.g., be realized by positional metadata, e.g., by structural metadata, for example, grouping and hierarchy of objects, e.g., by the ability to render to specific speaker and to signal channel content as objects, and, e.g., by means to adapt object scene to screen size.
Therefore, new metadata fields were developed in addition to the already defined geometrical position and level of the object in 3D space.
In general, the position of an object is defined by a position in 3D space that is indicated in the metadata.
This playback loudspeaker can be a specific speaker that exists in the local loudspeaker setup. In this case the wanted loudspeaker can be directly defined by the means of metadata.
Nevertheless, there are cases where the producer does not want the object content to be played-back by a specific speaker, but rather by the next available speaker, e.g., the “geometrically nearest” speaker. This allows for a discrete playback without the necessity to define which speaker corresponds to which audio signal. This is useful as the reproduction loudspeaker layout may be unknown to the producer, such that he might not know which speakers he can choose of.
Embodiments provides a simple definition of a distance function that does not need any square root operations or cos/sin functions. In embodiments, the distance function works in angular domain (azimuth, elevation, distance), so no transform to any other coordinate system (Cartesian, longitude/latitude) is needed. According to embodiments, there are weights in the function that provide a possibility to shift the focus between azimuth deviation, elevation deviation and radius deviation. The weights in the function might, e.g., be adjusted to the abilities of human hearing (e.g. adjust weights according to the just noticeable difference in azimuth and elevation direction). The function could not only be applied for the determination of the closest speaker, but also for choosing a binaural room impulse response or head-related impulse response for binaural rendering. No interpolation of impulse responses is needed in this case, instead the “closest” impulse response can be used.
According to an embodiment, a “ClosestSpeakerPlayout” flag called mae_closestSpeakerPlayout may, e.g., be defined in the object-based metadata that forces the sound to be played back by the nearest available loudspeaker without rendering. An object may, e.g., be marked for playback by the closest speaker if its “ClosestSpeakerPlayout” flag is set to one. The “ClosestSpeakerPlayout” flag may, e.g., be defined on a level of a “group” of objects. A group of objects is a concept of a gathering of related objects that should be rendered or modified as a union. If this flag is set to one, it is applicable for all members of the group.
According to embodiments, for determining the closest speaker, if the mae_closestSpeakerPlayout flag of a group, e.g., a group of audio objects, is enabled, the members of the group shall each be played back by the speaker that is nearest to the given position of the object. No rendering is applied. If the “ClosestSpeakerPlayout” is enabled for a group, then the following processing is conducted:
For each of the group members, the geometric position of the member is determined (from the dynamic object metadata (OAM)), and the closest speaker is determined, either by lookup in a pre-stored table or by calculation with help of a distance measure. The distance of the member's position to every (or only a subset) of the existing speakers is calculated. The speaker that yields the minimum distance is defined to be the closest speaker, and the member is routed to its closest speaker. The group members are played back each by its closest speaker.
As already described, the distance measures for the determination of the closest speaker may, for example, be implemented as:
The distance d for Cartesian coordinates may, e.g., be realized by employing the formula
d=√{square root over ((x1−x2)2+(y1−y2)2+(z1−z2)2)}
with x1, y1, z1 being the x-, y- and z-coordinate values of a first position, with x2, y2, z2 being the x-, y- and z-coordinate values of a second position, and with d being the distance between the first and the second position.
A distance measure d for polar coordinates may, e.g., be realized by employing the formula:
d=√{square root over (a·(x1−x2)2+b·(y1−y2)2+c·(z1−z2)2)}.
with α1, β1 and r1 being the polar coordinates of a first position, with α2, β2 and r2 being the polar coordinates of a second position, and with d being the distance between the first and the second position.
The weighted angular difference may, e.g., be defined according to
diffAngle=a cos(cos(α1−α2)·cos(β1−β2))
Regarding the orthodromic distance, the Great-Arc Distance, or the Great-Circle Distance, the distance measured along the surface of a sphere (as opposed to a straight line through the sphere's interior). Square root operations and trigonometric functions may, e.g., be employed. Coordinates may, e.g., be transformed to latitude and longitude.
Returning to the formula presented above:
Δ(P1,P2)=|β1−β2|+|α1−α2|+|r1−r2|,
the formula can be seen as a modified Taxicab geometry using polar coordinates instead of Cartesian coordinates as in the original taxicab geometry definition
Δ(P1,P2)=|x1−x2|+|y1−y2|.
With this formula, it is possible to add weights to elevation, azimuth and/or radius. In that way it is possible to state that an azimuth deviation should be less tolerable than an elevation deviation by weighting the azimuth deviation by a high number:
Δ(P1,P2)=b·|β1−β2|+a·|α1−α2|+c·|r1−r2|.
As a further side remark, it should be noted, that in embodiments, the “rendered object audio” of
Regarding
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.
The inventive decomposed signal can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed.
Some embodiments according to the invention comprise a non-transitory data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein.
A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are advantageously performed by any hardware apparatus.
While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
14161823.1 | Mar 2014 | EP | regional |
14196765.3 | Dec 2014 | EP | regional |
This application is a continuation of copending U.S. patent application Ser. No. 16/795,564, filed Feb. 19, 2020, which is a continuation of copending U.S. patent application Ser. No. 15/274,623, filed Sep. 23, 2016, which in turn is a continuation of copending International Application No. PCT/EP2015/054514, filed Mar. 4, 2015, which is incorporated herein by reference in its entirety, and additionally claims priority from European Applications Nos. EP 14161823.1, filed Mar. 26, 2014, and EP 14196765.3, filed Dec. 8, 2014, both of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 16795564 | Feb 2020 | US |
Child | 18175432 | US | |
Parent | 15274623 | Sep 2016 | US |
Child | 16795564 | US | |
Parent | PCT/EP2015/054514 | Mar 2015 | US |
Child | 15274623 | US |