Spatial audio coding tools are well-known in the art and are, for example, standardized in the MPEG-surround standard. Spatial audio coding starts from original input channels such as five or seven channels which are identified by their placement in a reproduction setup, i.e., a left channel, a center channel, a right channel, a left surround channel, a right surround channel and a low frequency enhancement channel. A spatial audio encoder typically derives one or more downmix channels from the original channels and, additionally, derives parametric data relating to spatial cues such as interchannel level differences, interchannel phase differences, interchannel time differences, etc. The one or more downmix channels are transmitted together with the parametric side information indicating the spatial cues to a spatial audio decoder which decodes the downmix channel and the associated parametric data in order to finally obtain output channels which are an approximated version of the original input channels. The placement of the channels in the output setup is typically fixed and is, for example, a 5.1 format, a 7.1 format, etc.
Such channel-based audio formats are widely used for storing or transmitting multi-channel audio content where each channel relates to a specific loudspeaker at a given position. A faithful reproduction of these kind of formats involves a loudspeaker setup where the speakers are placed at the same positions as the speakers that were used during the production of the audio signals. While increasing the number of loudspeakers improves the reproduction of truly immersive 3D audio scenes, it becomes more and more difficult to fulfill this requirement—especially in a domestic environment like a living room.
The necessity of having a specific loudspeaker setup can be overcome by an object-based approach where the loudspeaker signals are rendered specifically for the playback setup.
For example, spatial audio object coding tools are well-known in the art and are standardized in the MPEG SAOC standard (SAOC=Spatial Audio Object Coding). In contrast to spatial audio coding starting from original channels, spatial audio object coding starts from audio objects which are not automatically dedicated for a certain rendering reproduction setup. Instead, the placement of the audio objects in the reproduction scene is flexible and can be determined by the user by inputting certain rendering information into a spatial audio object coding decoder. Alternatively or additionally, rendering information, i.e., information at which position in the reproduction setup a certain audio object is to be placed typically over time can be transmitted as additional side information or metadata. In order to obtain a certain data compression, a number of audio objects are encoded by an SAOC encoder which calculates, from the input objects, one or more transport channels by downmixing the objects in accordance with certain downmixing information. Furthermore, the SAOC encoder calculates parametric side information representing inter-object cues such as object level differences (OLD), object coherence values, etc. The inter object parametric data is calculated for parameter time/frequency tiles, i.e., for a certain frame of the audio signal comprising, for example, 1024 or 2048 samples, 28, 20, 14 or 10, etc., processing bands are considered so that, in the end, parametric data exists for each frame and each processing band. As an example, when an audio piece has 20 frames and when each frame is subdivided into 28 processing bands, then the number of time/frequency tiles is 560.
In an object-based approach, the sound field is described by discrete audio objects. This involves object metadata that describes among others the time-variant position of each sound source in 3D space.
A first metadata coding concept in conventional technology is the spatial sound description interchange format (SpatDIF), an audio scene description format which is still under development [M1]. It is designed as an interchange format for object-based sound scenes and does not provide any compression method for object trajectories. SpatDIF uses the text-based Open Sound Control (OSC) format to structure the object metadata [M2]. A simple text-based representation, however, is not an option for the compressed transmission of object trajectories.
Another metadata concept in conventional technology is the Audio Scene Description Format (ASDF) [M3], a text-based solution that has the same disadvantage. The data is structured by an extension of the Synchronized Multimedia Integration Language (SMIL) which is a sub set of the Extensible Markup Language (XML) [M4], [M5].
A further metadata concept in conventional technology is the audio binary format for scenes (AudioBIFS), a binary format that is part of the MPEG-4 specification [M6], [M7]. It is closely related to the XML-based Virtual Reality Modeling Language (VRML) which was developed for the description of audio-visual 3D scenes and interactive virtual reality applications [M8]. The complex AudioBIFS specification uses scene graphs to specify routes of object movements. A major disadvantage of AudioBIFS is that is not designed for real-time operation where a limited system delay and random access to the data stream are a requirement. Furthermore, the encoding of the object positions does not exploit the limited localization performance of human listeners. For a fixed listener position within the audio-visual scene, the object data can be quantized with a much lower number of bits [M9]. Hence, the encoding of the object metadata that is applied in AudioBIFS is not efficient with regard to data compression.
According to an embodiment, an apparatus for generating one or more audio output channels may have: a parameter processor for calculating output channel mixing information, and a downmix processor for generating the one or more audio output channels, wherein the downmix processor is configured to receive an audio transport signal including one or more audio transport channels, wherein two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, wherein the audio transport signal depends on a first mixing rule and on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the parameter processor is configured to receive information on the second mixing rule, wherein the information on the second mixing rule indicates how to mix the plurality of premixed signals such that the one or more audio transport channels are acquired, wherein the parameter processor is configured to calculate the output channel mixing information depending on an audio objects number indicating the number of the two or more audio object signals, depending on a premixed channels number indicating the number of the plurality of premixed channels, and depending on the information on the second mixing rule, and wherein the downmix processor is configured to generate the one or more audio output channels from the audio transport signal depending on the output channel mixing information.
According to another embodiment, an apparatus for generating an audio transport signal including one or more audio transport channels may have: an object mixer for generating the audio transport signal including the one or more audio transport channels from two or more audio object signals, such that the two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, and an output interface for outputting the audio transport signal, wherein the apparatus is configured to transmit the audio transport signal to a decoder, wherein the object mixer is configured to generate the one or more audio transport channels of the audio transport signal depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels, and wherein the second mixing rule depends on the premixed channels number, and wherein object mixer is configured to generate the one or more audio transport channels of the audio transport signal depending on a first matrix, wherein the first matrix indicates how to mix the two or more audio object signals to acquire the plurality of premixed channels, and depending on a second matrix, wherein the second matrix indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein first coefficients of the first matrix indicate information on the first mixing rule, and wherein second coefficients of the second matrix indicate information on the second mixing rule, wherein the apparatus is configured to transmit the second coefficients of the second mixing matrix to the decoder, and wherein the apparatus is configured to not transmit the first coefficients of the first mixing matrix to the decoder.
According to another embodiment, a system may have: an apparatus for generating an audio transport signal including one or more audio transport channels, which apparatus may have: an object mixer for generating the audio transport signal including the one or more audio transport channels from two or more audio object signals, such that the two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, and an output interface for outputting the audio transport signal, wherein the apparatus is configured to transmit the audio transport signal to a decoder, wherein the object mixer is configured to generate the one or more audio transport channels of the audio transport signal depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels, and wherein the second mixing rule depends on the premixed channels number, and wherein object mixer is configured to generate the one or more audio transport channels of the audio transport signal depending on a first matrix, wherein the first matrix indicates how to mix the two or more audio object signals to acquire the plurality of premixed channels, and depending on a second matrix, wherein the second matrix indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein first coefficients of the first matrix indicate information on the first mixing rule, and wherein second coefficients of the second matrix indicate information on the second mixing rule, wherein the apparatus is configured to transmit the second coefficients of the second mixing matrix to the decoder, and wherein the apparatus is configured to not transmit the first coefficients of the first mixing matrix to the decoder, and an apparatus for generating one or more audio output channels, which apparatus may have: a parameter processor for calculating output channel mixing information, and a downmix processor for generating the one or more audio output channels, wherein the downmix processor is configured to receive an audio transport signal including one or more audio transport channels, wherein two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, wherein the audio transport signal depends on a first mixing rule and on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the parameter processor is configured to receive information on the second mixing rule, wherein the information on the second mixing rule indicates how to mix the plurality of premixed signals such that the one or more audio transport channels are acquired, wherein the parameter processor is configured to calculate the output channel mixing information depending on an audio objects number indicating the number of the two or more audio object signals, depending on a premixed channels number indicating the number of the plurality of premixed channels, and depending on the information on the second mixing rule, and wherein the downmix processor is configured to generate the one or more audio output channels from the audio transport signal depending on the output channel mixing information,
wherein the apparatus for generating one or more audio output channels is configured to receive the audio transport signal and information on the second mixing rule from the apparatus for generating an audio transport signal, and wherein the apparatus for generating one or more audio output channels is configured to generate the one or more audio output channels from the audio transport signal depending on the information on the second mixing rule.
According to another embodiment, a method for generating one or more audio output channels may have the steps of: receiving an audio transport signal including one or more audio transport channels, wherein two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, wherein the audio transport signal depends on a first mixing rule and on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, receiving information on the second mixing rule, wherein the information on the second mixing rule indicates how to mix the plurality of premixed signals such that the one or more audio transport channels are acquired, calculating output channel mixing information depending on an audio objects number indicating the number of the two or more audio object signals, depending on a premixed channels number indicating the number of the plurality of premixed channels, and depending on the information on the second mixing rule, and generating one or more audio output channels from the audio transport signal depending on the output channel mixing information.
According to another embodiment, a method for generating an audio transport signal including one or more audio transport channels may have the steps of: generating the audio transport signal including the one or more audio transport channels from two or more audio object signals, outputting the audio transport signal, and transmitting the audio transport signal to a decoder, and transmitting second coefficients of a second mixing matrix to the decoder, and not transmitting first coefficients of a first mixing matrix to the decoder, wherein generating the audio transport signal including the one or more audio transport channels from two or more audio object signals is conducted such that the two or more audio object signals are mixed within the audio transport signal, wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, and wherein generating the one or more audio transport channels of the audio transport signal is conducted depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to acquire a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels, and wherein the second mixing rule depends on the premixed channels number, wherein generating the one or more audio transport channels of the audio transport signal depending on the first matrix, wherein the first matrix indicates how to mix the two or more audio object signals to acquire the plurality of premixed channels, and depending on the second matrix, wherein the second matrix indicates how to mix the plurality of premixed channels to acquire the one or more audio transport channels of the audio transport signal, wherein the first coefficients of the first matrix indicate information on the first mixing rule, and wherein the second coefficients of the second matrix indicate information on the second mixing rule.
According to another embodiment, a non-transitory digital storage medium may have computer-readable code stored thereon to perform the inventive methods when said storage medium is run by a computer or signal processor.
According to embodiments, efficient transportation is realized and means how to decode the downmix for 3D audio content are provided.
An apparatus for generating one or more audio output channels is provided. The apparatus comprises a parameter processor for calculating output channel mixing information and a downmix processor for generating the one or more audio output channels. The downmix processor is configured to receive an audio transport signal comprising one or more audio transport channels, wherein two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals. The audio transport signal depends on a first mixing rule and on a second mixing rule. The first mixing rule indicates how to mix the two or more audio object signals to obtain a plurality of premixed channels. Moreover, the second mixing rule indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. The parameter processor is configured to receive information on the second mixing rule, wherein the information on the second mixing rule indicates how to mix the plurality of premixed signals such that the one or more audio transport channels are obtained. Moreover, the parameter processor is configured to calculate the output channel mixing information depending on an audio objects number indicating the number of the two or more audio object signals, depending on a premixed channels number indicating the number of the plurality of premixed channels, and depending on the information on the second mixing rule. The downmix processor is configured to generate the one or more audio output channels from the audio transport signal depending on the output channel mixing information.
Moreover, an apparatus for generating an audio transport signal comprising one or more audio transport channels is provided. The apparatus comprises an object mixer for generating the audio transport signal comprising the one or more audio transport channels from two or more audio object signals, such that the two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals, and an output interface for outputting the audio transport signal. The object mixer is configured to generate the one or more audio transport channels of the audio transport signal depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to obtain a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. The first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels, and wherein the second mixing rule depends on the premixed channels number. The output interface is configured to output information on the second mixing rule.
Furthermore, a system is provided. The system comprises an apparatus for generating an audio transport signal as described above and an apparatus for generating one or more audio output channels as described above. The apparatus for generating one or more audio output channels is configured to receive the audio transport signal and information on the second mixing rule from the apparatus for generating an audio transport signal. Moreover, the apparatus for generating one or more audio output channels is configured to generate the one or more audio output channels from the audio transport signal depending on the information on the second mixing rule.
Furthermore, a method for generating one or more audio output channels is provided. The method comprises:
Moreover, a method for generating an audio transport signal comprising one or more audio transport channels is provided. The method comprises:
Generating the audio transport signal comprising the one or more audio transport channels from two or more audio object signals is conducted such that the two or more audio object signals are mixed within the audio transport signal, wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals. Generating the one or more audio transport channels of the audio transport signal is conducted depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to obtain a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. The first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels. The second mixing rule depends on the premixed channels number.
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:
Before describing advantageous embodiments of the present invention in detail, the new 3D Audio Codec System is described.
In conventional technology, no flexible technology exists combining channel coding on the one hand and object coding on the other hand so that acceptable audio qualities at low bit rates are obtained.
This limitation is overcome by the new 3D Audio Codec System.
Before describing advantageous embodiments in detail, the new 3D Audio Codec System is described.
Furthermore, the 3D audio encoder comprises a core encoder 300 for core encoding core encoder input data, a metadata compressor 400 for compressing the metadata related to the one or more of the plurality of audio objects.
Furthermore, the 3D audio encoder can comprise a mode controller 600 for controlling the mixer, the core encoder and/or an output interface 500 in one of several operation modes, wherein in the first mode, the core encoder is configured to encode the plurality of audio channels and the plurality of audio objects received by the input interface 1100 without any interaction by the mixer, i.e., without any mixing by the mixer 200. In a second mode, however, in which the mixer 200 was active, the core encoder encodes the plurality of mixed channels, i.e., the output generated by block 200. In this latter case, it is advantageous to not encode any object data anymore. Instead, the metadata indicating positions of the audio objects are already used by the mixer 200 to render the objects onto the channels as indicated by the metadata. In other words, the mixer 200 uses the metadata related to the plurality of audio objects to pre-render the audio objects and then the pre-rendered audio objects are mixed with the channels to obtain mixed channels at the output of the mixer. In this embodiment, any objects may not necessarily be transmitted and this also applies for compressed metadata as output by block 400. However, if not all objects input into the interface 1100 are mixed but only a certain amount of objects is mixed, then only the remaining non-mixed objects and the associated metadata nevertheless are transmitted to the core encoder 300 or the metadata compressor 400, respectively.
Furthermore, as illustrated in
The
In addition to the first and the second modes as discussed in the context of
Finally, the SAOC encoder 800 can encode, when the 3D audio encoder is configured in the fourth mode, the channels plus pre-rendered objects as generated by the pre-renderer/mixer. Thus, in the fourth mode the lowest bit rate applications will provide good quality due to the fact that the channels and objects have completely been transformed into individual SAOC transport channels and associated side information as indicated in
The 3D audio decoder comprises a metadata decompressor 1400, a core decoder 1300, an object processor 1200, a mode controller 1600 and a postprocessor 1700.
Specifically, the 3D audio decoder is configured for decoding encoded audio data and the input interface is configured for receiving the encoded audio data, the encoded audio data comprising a plurality of encoded channels and the plurality of encoded objects and compressed metadata related to the plurality of objects in a certain mode.
Furthermore, the core decoder 1300 is configured for decoding the plurality of encoded channels and the plurality of encoded objects and, additionally, the metadata decompressor is configured for decompressing the compressed metadata.
Furthermore, the object processor 1200 is configured for processing the plurality of decoded objects as generated by the core decoder 1300 using the decompressed metadata to obtain a predetermined number of output channels comprising object data and the decoded channels. These output channels as indicated at 1205 are then input into a postprocessor 1700. The postprocessor 1700 is configured for converting the number of output channels 1205 into a certain output format which can be a binaural output format or a loudspeaker output format such as a 5.1, 7.1, etc., output format.
Advantageously, the 3D audio decoder comprises a mode controller 1600 which is configured for analyzing the encoded data to detect a mode indication. Therefore, the mode controller 1600 is connected to the input interface 1100 in
Advantageously, the indication whether mode 1 or mode 2 is to be applied is included in the encoded audio data and then the mode controller 1600 analyses the encoded data to detect a mode indication. Mode 1 is used when the mode indication indicates that the encoded audio data comprises encoded channels and encoded objects and mode 2 is applied when the mode indication indicates that the encoded audio data does not contain any audio objects, i.e., only contain pre-rendered channels obtained by mode 2 of the
Furthermore, the postprocessor 1700 can be implemented as a binaural renderer 1710 or a format converter 1720. Alternatively, a direct output of data 1205 of
In an advantageous embodiment of the present invention, the object processor 1200 comprises the SAOC decoder 1800 and the SAOC decoder is configured for decoding one or more transport channels output by the core decoder and associated parametric data and using decompressed metadata to obtain the plurality of rendered audio objects. To this end, the OAM output is connected to box 1800.
Furthermore, the object processor 1200 is configured to render decoded objects output by the core decoder which are not encoded in SAOC transport channels but which are individually encoded in typically single channeled elements as indicated by the object renderer 1210. Furthermore, the decoder comprises an output interface corresponding to the output 1730 for outputting an output of the mixer to the loudspeakers.
In a further embodiment, the object processor 1200 comprises a spatial audio object coding decoder 1800 for decoding one or more transport channels and associated parametric side information representing encoded audio signals or encoded audio channels, wherein the spatial audio object coding decoder is configured to transcode the associated parametric information and the decompressed metadata into transcoded parametric side information usable for directly rendering the output format, as for example defined in an earlier version of SAOC. The postprocessor 1700 is configured for calculating audio channels of the output format using the decoded transport channels and the transcoded parametric side information. The processing performed by the post processor can be similar to the MPEG Surround processing or can be any other processing such as BCC processing or so.
In a further embodiment, the object processor 1200 comprises a spatial audio object coding decoder 1800 configured to directly upmix and render channel signals for the output format using the decoded (by the core decoder) transport channels and the parametric side information
Furthermore, and importantly, the object processor 1200 of
The mixer 1220 is connected to the output interface 1730, the binaural renderer 1710 and the format converter 1720. The binaural renderer 1710 is configured for rendering the output channels into two binaural channels using head related transfer functions or binaural room impulse responses (BRIR). The format converter 1720 is configured for converting the output channels into an output format having a lower number of channels than the output channels 1205 of the mixer and the format converter 1720 may use information on the reproduction layout such as 5.1 speakers or so.
The
Furthermore, a vector base amplitude panning (VBAP) stage 1810 is configured which receives, from the SAOC decoder, information on the reproduction layout and which outputs a rendering matrix to the SAOC decoder so that the SAOC decoder can, in the end, provide rendered channels without any further operation of the mixer in the high channel format of 1205, i.e., 32 loudspeakers.
the VBAP block advantageously receives the decoded OAM data to derive the rendering matrices. More general, it advantageously may use geometric information not only of the reproduction layout but also of the positions where the input signals should be rendered to on the reproduction layout. This geometric input data can be OAM data for objects or channel position information for channels that have been transmitted using SAOC.
However, if only a specific output interface may be used then the VBAP state 1810 can already provide the rendering matrix that may be used for the e.g., 5.1 output. The SAOC decoder 1800 then performs a direct rendering from the SAOC transport channels, the associated parametric data and decompressed metadata, a direct rendering into the output format that may be used without any interaction of the mixer 1220. However, when a certain mix between modes is applied, i.e., where several channels are SAOC encoded but not all channels are SAOC encoded or where several objects are SAOC encoded but not all objects are SAOC encoded or when only a certain amount of pre-rendered objects with channels are SAOC decoded and remaining channels are not SAOC processed then the mixer will put together the data from the individual input portions, i.e., directly from the core decoder 1300, from the object renderer 1210 and from the SAOC decoder 1800.
In 3D audio, an azimuth angle, an elevation angle and a radius is used to define the position of an audio object. Moreover, a gain for an audio object may be transmitted.
Azimuth angle, elevation angle and radius unambiguously define the position of an audio object in a 3D space from an origin. This is illustrated with reference to
The azimuth angle specifies, for example, an angle in the xy-plane (the plane defined by the x-axis and the y-axis). The elevation angle defines, for example, an angle in the xz-plane (the plane defined by the x-axis and the z-axis). By specifying the azimuth angle and the elevation angle, the straight line 415 through the origin 400 and the position 410 of the audio object can be defined. By furthermore specifying the radius, the exact position 410 of the audio object can be defined.
In an embodiment, the azimuth angle is defined for the range: −180°<azimuth≦180°, the elevation angle is defined for the range: −90°<elevation≦90° and the radius may, for example, be defined in meters [m] (greater than or equal to 0 m). The sphere described by the azimuth, elevation and angle can be divided into two hemispheres: left hemisphere (0°<azimuth≦180°) and right hemisphere (−180°<azimuth≦0°), or upper hemisphere (0°<elevation≦90°) and lower hemisphere (−90°<elevation≦0°)
In another embodiment, where it, may, for example, be assumed that all x-values of the audio object positions in an xyz-coordinate system are greater than or equal to zero, the azimuth angle may be defined for the range: −90° azimuth≦90°, the elevation angle may be defined for the range: −90°<elevation≦90°, and the radius may, for example, be defined in meters [m].
The downmix processor 120 may, for example, be configured to generate the one or more audio channels depending on the one or more audio object signals depending on the reconstructed metadata information values, wherein the reconstructed metadata information values may, for example, indicate the position of the audio objects.
In an embodiment metadata information values may, for example, indicate, the azimuth angle defined for the range: −180°<azimuth≦180°, the elevation angle defined for the range: −90°<elevation≦90° and the radius may, for example, defined in meters [m] (greater than or equal to 0 m).
In
In other embodiments, audio channel generator 120 may generate the four audio channels such that the first audio object 510 is reproduced with a high level by loudspeakers 511 and 512 and with a low level by loudspeakers 513 and 514.
Moreover, the second audio object is located at a position 520 close to the assumed positions of loudspeakers 513 and 514, and is located far away from loudspeakers 511 and 512. Therefore, the audio channel generator 120 may generate the four audio channels such that the second audio object 520 is reproduced by loudspeakers 513 and 514 but not by loudspeakers 511 and 512.
In other embodiments, downmix processor 120 may generate the four audio channels such that the second audio object 520 is reproduced with a high level by loudspeakers 513 and 514 and with a low level by loudspeakers 511 and 512.
In alternative embodiments, only two metadata information values are used to specify the position of an audio object. For example, only the azimuth and the radius may be specified, for example, when it is assumed that all audio objects are located within a single plane.
In further other embodiments, for each audio object, only a single metadata information value of a metadata signal is encoded and transmitted as position information. For example, only an azimuth angle may be specified as position information for an audio object (e.g., it may be assumed that all audio objects are located in the same plane having the same distance from a center point, and are thus assumed to have the same radius). The azimuth information may, for example, be sufficient to determine that an audio object is located close to a left loudspeaker and far away from a right loudspeaker. In such a situation, the audio channel generator 120 may, for example, generate the one or more audio channels such that the audio object is reproduced by the left loudspeaker, but not by the right loudspeaker.
For example, Vector Base Amplitude Panning may be employed to determine the weight of an audio object signal within each of the audio output channels (see, e.g., [VBAP]). With respect to VBAP, it is assumed that an audio object signal is assigned to a virtual source, and it is furthermore assumed that an audio output channel is a channel of a loudspeaker.
In embodiments, a further metadata information value e.g., of a further metadata signal may specify a volume, e.g., a gain (for example, expressed in decibel [dB]) for each audio object.
For example, in
According to SAOC technique, an SAOC encoder receives a plurality of audio object signals X and downmixes them by employing a downmix matrix D to obtain an audio transport signal Y comprising one or more audio transport channels. The formula
Y=DX
may be employed. The SAOC encoder transmits the audio transport signal Y and information on the downmix matrix D (e.g., coefficients of the downmix matrix D) to the SAOC decoder. Moreover, the SAOC encoder transmits information on a covariance matrix E (e.g., coefficients of the covariance matrix E) to the SAOC decoder.
On the decoder side, the audio object signals X could be reconstructed to obtain reconstructed audio objects {circumflex over (X)} by employing the formula
{circumflex over (X)}=GY
wherein G is a parametric source estimation matrix with G=E DH (D E DH)−1.
Then, one or more audio output channels Z could be generated by applying a rendering matrix R on the reconstructed audio objects {circumflex over (X)} according to the formula:
Z=R{circumflex over (X)}.
Generating the one or more audio output channels Z from the audio transport signal can, however, be also conducted in a single step by employing matrix U according to the formula:
Z=UY, with U=RG.
Each row of the rendering matrix R is associated with one of the audio output channels that shall be generated. Each coefficient within one of the rows of the rendering matrix R determines the weight of one of the reconstructed audio object signals within the audio output channel, to which said row of the rendering matrix R relates.
For example, the rendering matrix R may depend on position information for each of the audio object signals transmitted to the SAOC decoder within metadata information. For example, an audio object signal having a position that is located close to an assumed or real loudspeaker position may, e.g., have a higher weight within the audio output channel of said loudspeaker than the weight of an audio object signal, the position of which is located far away from said loudspeaker (see
In
The downmixing to a lower number of transport channels is done using downmixing coefficients for each input signal and downmix channel (e.g., by employing a downmix matrix).
The state of the art in processing audio object signals is the MPEG SAOC-system. One main property of such a system is that the intermediate downmix signals (or SAOC Transport Channels according to
The 3D Audio Codec System has the purpose to use SAOC technology to increase the efficiency for coding a large number of objects or channels. Downmixing a large number of objects to a small number of transport channels saves bitrate.
The apparatus comprises an object mixer 210 for generating the audio transport signal comprising the one or more audio transport channels from two or more audio object signals, such that the two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals.
Moreover, the apparatus comprises an output interface 220 for outputting the audio transport signal.
The object mixer 210 is configured to generate the one or more audio transport channels of the audio transport signal depending on a first mixing rule and depending on a second mixing rule, wherein the first mixing rule indicates how to mix the two or more audio object signals to obtain a plurality of premixed channels, and wherein the second mixing rule indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. The first mixing rule depends on an audio objects number, indicating the number of the two or more audio object signals, and depends on a premixed channels number, indicating the number of the plurality of premixed channels, and wherein the second mixing rule depends on the premixed channels number. The output interface 220 is configured to output information on the second mixing rule.
The apparatus comprises a parameter processor 110 for calculating output channel mixing information and a downmix processor 120 for generating the one or more audio output channels.
The downmix processor 120 is configured to receive an audio transport signal comprising one or more audio transport channels, wherein two or more audio object signals are mixed within the audio transport signal, and wherein the number of the one or more audio transport channels is smaller than the number of the two or more audio object signals. The audio transport signal depends on a first mixing rule and on a second mixing rule. The first mixing rule indicates how to mix the two or more audio object signals to obtain a plurality of premixed channels. Moreover, the second mixing rule indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal.
The parameter processor 110 is configured to receive information on the second mixing rule, wherein the information on the second mixing rule indicates how to mix the plurality of premixed signals such that the one or more audio transport channels are obtained. The parameter processor 110 is configured to calculate the output channel mixing information depending on an audio objects number indicating the number of the two or more audio object signals, depending on a premixed channels number indicating the number of the plurality of premixed channels, and depending on the information on the second mixing rule.
The downmix processor 120 is configured to generate the one or more audio output channels from the audio transport signal depending on the output channel mixing information.
According to an embodiment, the apparatus may, e.g., be configured to receive at least one of the audio objects number and the premixed channels number.
In another embodiment, the parameter processor 110 may, e.g., be configured to determine, depending on the audio objects number and depending on the premixed channels number, information on the first mixing rule, such that the information on the first mixing rule indicates how to mix the two or more audio object signals to obtain the plurality of premixed channels. In such an embodiment, the parameter processor 110 may, e.g., be configured to calculate the output channel mixing information, depending on the information on the first mixing rule and depending on the information on the second mixing rule.
According to an embodiment, the parameter processor 110 may, e.g., be configured to determine, depending on the audio objects number and depending on the premixed channels number, a plurality of coefficients of a first matrix P as the information on the first mixing rule, wherein the first matrix P indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. In such an embodiment, the parameter processor 110, may, e.g., be configured to receive a plurality of coefficients of a second matrix P as the information on the second mixing rule, wherein the second matrix Q indicates how to mix the plurality of premixed channels to obtain the one or more audio transport channels of the audio transport signal. The parameter processor 110 of such an embodiment may, e.g., configured to calculate the output channel mixing information depending on the first matrix P and depending on the second matrix Q.
Embodiments are based on the finding that when downmixing the two or more audio object signals X to obtain an audio transport signal Y on the encoder side by employing downmix matrix D according to the formula
Y=DX,
then downmix matrix D can be divided into the two smaller matrices P and Q according to the formula
D=QP.
Here, the first matrix P realizes the mix from the audio object signals X to the plurality of premixed channels Xpre according to the formula:
X
pre
=PX.
The second matrix Q realizes the mix from the plurality of premix channels Xpre to the one or more audio transport channels of the audio transport signal Y according to the formula:
Y=Q X
pre.
According to embodiments, information on the second mixing rule, e.g., on the coefficients of the second mixing matrix Q, is transmitted to the decoder.
The coefficients of the first mixing matrix P do not have to be transmitted to the decoder. Instead, the decoder receives information on the number of audio object signals and information on the number of premixed channels. From this information, the decoder is capable of reconstructing the first mixing matrix P. For example, the encoder and decoder determine the mixing matrix P in the same way, when mixing a first number of Nobjects audio object signals to a second number Npre premixed channels.
The apparatus 320 for generating one or more audio output channels is configured to receive the audio transport signal and information on the second mixing rule from the apparatus 310 for generating an audio transport signal. Moreover, the apparatus 320 for generating one or more audio output channels is configured to generate the one or more audio output channels from the audio transport signal depending on the information on the second mixing rule.
For example, the parameter processor 110 may, e.g., be configured to receive metadata information comprising position information for each of the two or more audio object signals, and determines the information on the first downmix rule depending on the position information of each of the two or more audio object signals, e.g., by employing Vertical Base Amplitude Panning. E.g., the encoder may also have access to the position information of each of the two or more audio object signals and may also employ Vector Base Amplitude Panning to determining the weights of the audio object signals in the premixed channels, and by this determines the coefficients of the first matrix P in the same way as done later by the decoder (e.g., both encoder and decoder may assume the same positioning of the assumed loudspeakers assigned to the Npre premixed channels).
By receiving the coefficients of the second matrix Q and by determining the first matrix P, the decoder can determine the downmix matrix D according to D=QP.
In an embodiment, the parameter processor 110 may, for example, be configured to receive covariance information, e.g., coefficients of a covariance matrix E (e.g., from the apparatus for generating the audio transport signal), indicating an object level difference for each of the two or more audio object signals, and, possibly, indicating one or more inter object correlations between one of the audio object signals and another one of the audio object signals.
In such an embodiment, the parameter processor 110 may be configured to calculate the output channel mixing information depending on the audio objects number, depending on the premixed channels number, depending on the information on the second mixing rule, and depending on the covariance information.
For example, using the covariance matrix E, the audio object signals X could be reconstructed to obtain reconstructed audio objects {circumflex over (X)} by employing the formula
{circumflex over (X)}=GY
wherein G is a parametric source estimation matrix with G=E DH (D E DH)−1.
Then, one or more audio output channels Z could be generated by applying a rendering matrix R on the reconstructed audio objects {circumflex over (X)} according to the formula:
Z=R{circumflex over (X)}.
Generating the one or more audio output channels Z from the audio transport signal can, however, be also conducted in a single step by employing matrix U according to the formula:
Z=UY, with S=UG.
Such a matrix S is an example for an output channel mixing information determined by the parameter processor 110.
For example, as already explained above, each row of the rendering matrix R may be associated with one of the audio output channels that shall be generated. Each coefficient within one of the rows of the rendering matrix R determines the weight of one of the reconstructed audio object signals within the audio output channel, to which said row of the rendering matrix R relates.
According to an embodiment, wherein the parameter processor 110 may, e.g., be configured to receive metadata information comprising position information for each of the two or more audio object signals, may e.g., be configured to determine rendering information, e.g., the coefficients of the rendering matrix R depending on the position information of each of the two or more audio object signals, and may, e.g., be configured to calculate the output channel mixing information (e.g., the above matrix S) depending on the audio objects number, depending on the premixed channels number, depending on the information on the second mixing rule, and depending on the rendering information (e.g., rendering matrix R).
Thus, the rendering matrix R may, for example, depend on position information for each of the audio object signals transmitted to the SAOC decoder within metadata information. E.g., an audio object signal having a position that is located close to an assumed or real loudspeaker position may, e.g., have a higher weight within the audio output channel of said loudspeaker than the weight of an audio object signal, the position of which is located far away from said loudspeaker (see
In the following, embodiments realizing spatial downmix for object based signals are explained in detail.
Reference is made to the following notations and definitions:
Without loss of generality, in order to improve readability of equations, for all introduced variables the indices denoting time and frequency dependency are omitted.
If no constrain is specified regarding the input signals (channels or objects), the downmix coefficients are computed in the same way for input channel signals and input object signals. The notation for the number of input signals N is used.
Some embodiments may, e.g., be designed for downmixing the object signals in a different manner than the channel signals, guided by the spatial information available in the object metadata.
The downmix may be separated in two steps:
However, in some embodiments, the downmix is done in a single step, e.g., by employing matrix D defined according to the formula: D=QP, and by applying Y=DX with D=QP.
Inter alia, a further advantage of the proposed concepts is, e.g., that the input object signals which are supposed to be rendered at the same spatial position, in the audio scene, are downmixed together in same transport channels. Consequently at the decoder side a better separation of the prerendered signals is obtained, avoiding separation of audio objects which will be mixed back together in the final reproduction scene.
According to particular advantageous embodiments, the downmix can be described as a matrix multiplication by:
X
pre
=PX and Y=QXpre.
where P of size (Npre×NObjects) and Q of size (NDmxCh×Npre) are computed as explained in the following.
The mixing coefficients in P are constructed from the object signals metadata (radius, gain, azimuth and elevation angles) using a panning algorithm (e.g. Vector Base Amplitude Panning). The panning algorithm should be the same with the one used at the decoder side for constructing the output channels.
The mixing coefficients in Q are given at the encoder side for Npre input signals and NDmxCh available transport channels.
In order to reduce the computational complexity, the two-step downmix can be simplified to one by computing the final downmix gains as:
D=QP.
Then the downmix signals are given by:
Y=DX.
The mixing coefficients in P are not transmitted within the bitstream. Instead, they are reconstructed at the decoder side using the same panning algorithm. Therefore the bitrate is reduced by sending only the mixing coefficients in Q. In particular, as the mixing coefficients in P are usually time variant, and as P is not transmitted, a high bitrate reduction can be achieved.
In the following, the bitstream syntax according to an embodiment is considered.
For signaling the used downmix method and the number of channels Npre to prerender the objects in the first step, the MPEG SAOC bitstream syntax is extended with 4 bits:
In context of MPEG SAOC, this can be accomplished by the following modification:
bsSaocDmxMethod: Indicates how the downmix matrix is constructed
Syntax of Saoc3DFrame( ): the way that DMGs are read for different modes
According to an embodiment, the downmix matrix D applied to the input audio signals S determines the downmix signal as
X=DS.
The downmix matrix D of size Ndmx×N is obtained as:
D=D
dmx
D
premix.
The matrix Ddmx and matrix Dpremix have different sizes depending on the processing mode.
The matrix Ddmx is obtained from the DMG parameters as:
Here, the dequantized downmix parameters are obtained as:
DMG
i,j
=D
DMG(i,j,l).
In case of direct mode, no premixing is used. The matrix Dpremix has size N×N and is given by: Dpremix=I. The matrix Ddmx has size Ndmx×N and is obtained from the DMG parameters.
In case of premixing mode the matrix Dpremix has size (Nch+Npremix)×N and is given by:
where the premixing matrix A of size Npremix is received as an input to the SAOC 3D decoder, from the object renderer.
The matrix Ddmx has size Ndmx×(Nch+Npremix and is obtained from the DMG parameters.
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 |
---|---|---|---|
13177357 | Jul 2013 | EP | regional |
13177371 | Jul 2013 | EP | regional |
13177378 | Jul 2013 | EP | regional |
13189281 | Oct 2013 | EP | regional |
This application is a continuation of copending U.S. patent application Ser. No. 15/004,629, filed Jan. 22, 2016, which is a continuation of International Application No. PCT/EP2014/065290, filed Jul. 16, 2014, which claims priority from European Applications Nos. EP 13177371, filed Jul. 22, 2013, EP 13177357, filed Jul. 22, 2013, EP 13177378, filed Jul. 22, 2013, and EP 13189281, filed Oct. 18, 2013, which are each incorporated herein in its entirety by this reference thereto. The present invention is related to audio encoding/decoding, in particular, to spatial audio coding and spatial audio object coding, and, more particularly, to an apparatus and method for realizing a SAOC downmix of 3D audio content and to an apparatus and method for efficiently decoding the SAOC downmix of 3D audio content.
Number | Date | Country | |
---|---|---|---|
Parent | 15004629 | Jan 2016 | US |
Child | 15611673 | US | |
Parent | PCT/EP2014/065290 | Jul 2014 | US |
Child | 15004629 | US |