Device and method for encoding or decoding multichannel signals
Through the multi-channel audio encoding and decoding method of dynamic signal paths, the iterative processor and multi-channel processor calculate the signal correlation, which solves the problem that fixed signal paths cannot adapt to the characteristics of multi-channel signals in traditional technology, and achieves more efficient encoding and decoding effects.
Patent Information
- Application Number
- JP2025001698
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2015-06-17
- Filing Date
- 2025-01-06
- Publication Date
- 2025-04-23
AI Technical Summary
The prior art is difficult to effectively encode and decode multi-channel audio signals, especially in 3D audio environments, where traditional fixed signal paths cannot be dynamically adjusted to adapt to the characteristics of multi-channel signals.
The encoding and decoding methods of dynamic signal paths are adopted, and the cross-correlation between signals is calculated by iterating the processor and multi-channel processor, and the signal path is dynamically constructed to adapt to the characteristics of multi-channel signals, and encoding and decoding is performed through multi-channel parameters.
It realizes dynamic adjustment of signal paths in multi-channel audio signals, improves the efficiency and effect of encoding and decoding, and can better adapt to the multi-channel signal characteristics in the 3D audio environment.
Smart Images

Figure 2025066734000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to audio coding / decoding, and more particularly to audio coding that exploits inter-channel signal dependencies. [Background technology]
[0002] Audio coding is a compression technique that addresses the issue of utilizing redundant and redundant parts of an audio signal. MPEG USAC [ISO / IEC 23003-3: In 2012 Information Technology MPEG Audio Technology Part 3: Integrated Speech and Audio Coding, joint stereo coding of two channels is performed using MPS This can be done using complex predictions such as 2-1-2, or synthetic stereo with bandlimited or full-bandwidth residual signals. Information Technology MPEG Audio Technologies Part 1: MPEG Environment] combines OTT and TTT boxes incrementally for joint coding of multichannel audio with / without transmission of residual signal. MPEG-H quad channel elements incrementally apply MPS 2-1-2 stereo boxes followed by complex prediction / MS stereo boxes building a fixed 4x4 remix tree. AC4 [ETSI TS 103 190 V1.1.1 (2014-04) Digital Audio Compression (AC-4 ) standard introduces new 3-, 4-, and 5-channel elements that allow remixing the transmitted channels via the transmitted mixing matrix or later joint stereo coding information. Furthermore, previous publications suggest using orthogonal transforms such as the Karhunen-Loeve Transform (KLT) for enhanced multichannel audio coding. [Yang, Dai and Ai, Hongmei and Kyriakakis, Chris and Kuo, C.-C. Jay, 2001: Adaptive Karhunen-Loeve Transform for Enhanced Multichannel Audio Coding, http: / / ict.usc.edu / pubs / Adaptive%20Karhunen-Loeve%20Transform%20for%20Enhanced %20Multichannel%20Audio%20Coding.pdf]
[0003] In a 3D audio environment, loudspeaker channels are distributed by several high layers resulting in horizontal and vertical channel pairs. As defined in USAC, joint coding of only two channels is not enough to take into account the spatial and perceptual relationship between the channels. In MPEG environments, additional pre / post processing steps are applied and the residual signals are transmitted individually without the possibility of joint stereo coding, for example to exploit the dependency between the vertical residual signals between right and left. In AC-4, a dedicated N-channel element is introduced that allows efficient coding of the joint coding parameters, but fails for common speaker setups with more channels, as proposed in new immersive playback scenarios (7.1+4, 22.2). The MPEG-H quad-channel element is limited to only 4 channels and cannot be dynamically applied to any channel, but rather preconfigures and fixes the number of channels. Summary of the Invention [Problem to be solved by the invention]
[0004] The object of the present invention is to provide an improved encoding / decoding concept. [Means for solving the problem]
[0005] This object is achieved by providing a device for encoding a multi-channel signal having at least three channels according to claim 1, a device for decoding the encoded multi-channel signal having at least first and second multi-channel parameters according to claim 12. This is achieved by an apparatus for encoding a multi-channel signal having at least three channels according to claim 21, a method for decoding an encoded multi-channel signal having encoded channels and at least the first and second multi-channel parameters according to claim 22, or a computer program according to claim 23.
[0006] An embodiment comprises an apparatus for encoding a multi-channel signal having at least three channels. The apparatus comprises an iterative processor, a channel encoder and an output interface. The iterative processor is configured to select, in a first iteration step, a set having the highest value or having a value above a threshold, process the selected set using a multi-channel processing operation to derive a first multi-channel parameter (MCH_PAR1) for the selected set, and calculate, in the first iteration step, an inter-channel correlation value between each set of at least three channels to derive a first processed channel. Furthermore, the iterative processor is configured to perform the calculation, selection and processing using at least one of the processed channels in a second iteration step to derive a second multi-channel parameter and a second processed channel. The channel encoder is configured to encode the channel resulting from the iterative processing performed by the iterative processor to obtain an encoded channel. The output interface is configured to generate an encoded multi-channel signal having the encoded channel and the first and second multi-channel parameters.
[0007] Another embodiment comprises an apparatus for decoding an encoded multi-channel signal, the encoded multi-channel signal having encoded channels and first and second multi-channel parameters. The apparatus comprises a channel decoder and a multi-channel processor. The channel decoder is configured to decode the encoded channels to obtain decoded channels. The multi-channel processor is configured to perform multi-channel processing using a second set of decoded channels identified by the second multi-channel parameter and using the second multi-channel parameters to obtain processed channels, and is configured to perform another multi-channel processing using a first set of channels identified by the first multi-channel parameter and using the first multi-channel parameters, the first set of channels comprising at least one processed channel.
[0008] In contrast to common multi-channel coding concepts that use a fixed signal path (e.g., a stereo coding tree), the embodiment of the present invention uses a dynamic signal path that adapts to the characteristics of at least three input channels of a multi-channel input signal. In particular, the iterative processor 102 may be adapted to construct a signal path (e.g., a stereo tree) based on inter-channel correlation values between each set of at least three channels CH1 to CH3 to select the set having the highest value or a value above a threshold in a first iteration step, and based on inter-channel correlation values between each set of at least three channels and a corresponding previously processed channel to select the set having the highest value or a value above a threshold in a second iteration step.
[0009] Another embodiment comprises a method for encoding a multi-channel signal having at least three channels, the method comprising: - in a first iteration step, calculating inter-channel correlation values between each set of at least three channels, selecting in the first iteration step the set having the highest value or having a value above a threshold, and processing the selected set using a multi-channel processing operation to derive first multi-channel parameters for the selected set and to derive a first processed channel. - performing the calculating, selecting and processing steps in a second iteration step using at least one of the processed channels to obtain second multi-channel parameters and a second processed channel. - encoding the channels resulting from the iterative process performed by the iterative processor to obtain encoded channels. - generating an encoded multi-channel signal comprising the encoded channels and the first and second multi-channel parameters.
[0010] Another embodiment comprises a method for decoding an encoded multi-channel signal having encoded channels and first and second multi-channel parameters, the method comprising: - decoding the encoded channel to obtain a decoded channel. - performing a multi-channel processing using a second set of decoded channels identified by the second multi-channel parameters and using the second multi-channel parameters to obtain processed channels, and performing another multi-channel processing using a first set of channels identified by the first multi-channel parameters and using the first multi-channel parameters to obtain processed channels, the first set of channels comprising at least one processed channel.
[0011] Embodiments of the present invention are herein described with reference to the accompanying drawings. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 shows a schematic block diagram of an apparatus for encoding a multi-channel signal having at least three channels according to an embodiment of the present invention. [Diagram 2] FIG. 2 shows a schematic block diagram of an apparatus for encoding a multi-channel signal having at least three channels according to an embodiment of the present invention. [Diagram 3] FIG. 3 shows a schematic block diagram of a stereo box according to an embodiment of the present invention. [Figure 4] FIG. 4 shows a schematic block diagram of an apparatus for decoding an encoded multi-channel signal having encoded channels and at least first and second multi-channel parameters according to an embodiment of the present invention. [Diagram 5] FIG. 5 shows a flowchart of a method for encoding a multi-channel signal having at least three channels according to an embodiment of the present invention. [Figure 6] FIG. 6 shows a flow chart of a method for decoding an encoded multi-channel signal comprising encoded channels and at least first and second multi-channel parameters according to an embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] Elements which are equal or equivalent, or which have equal or equivalent functions, will be described hereinafter by equal or equivalent reference numbers.
[0014] In the following description, a number of details are described in more detail throughout the description of the embodiments of the present invention. However, it will be apparent to those skilled in the art that the embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring the embodiments of the present invention. In addition, the features of different embodiments described below may be combined with each other unless otherwise specified.
[0015] FIG. 1 shows a schematic block diagram of an apparatus (encoder) for encoding a multi-channel signal 101 having at least three channels CH1 to CH3. 0 comprises a repetition processor 102, a channel encoder 104, and an output interface 106.
[0016] The iterative processor 102 is configured to calculate, in a first iteration step, inter-channel correlation values between each set of at least three channels CH1 to CH3, to select the set having the highest value or having a value above a threshold, and to process the selected set using a multi-channel processing operation to derive a first multi-channel parameter MCH_PAR1 for the selected set, and to derive first processed channels P1 and P2. Further, the iterative processor 102 is configured to perform calculation, selection and processing using at least one processed channel P1 or P2 to derive a second multi-channel parameter MCH_PAR2, and second processed channels P3 and P4, in a second iteration step.
[0017] For example, as shown in FIG. 1, in a first iteration step, the iterative processor 102 may calculate inter-channel correlation values between a first set of at least three channels, CH1 to CH3, the first set consisting of a first channel CH1 and a second channel CH2, may calculate inter-channel correlation values between a second set of at least three channels, CH1 to CH3, the second set consisting of the second channel CH2 and a third channel CH3, and may calculate inter-channel correlation values between a third set of at least three channels, CH1 to CH3, the third set consisting of the first channel CH1 and the third channel CH3.
[0018] In FIG. 1, in the first iteration step, the third set consisting of the first channel CH1 and the third channel CH3 is presumed to have the highest inter-channel correlation value, so that the iterative processor 102 selects the third set having the highest inter-channel correlation value in the first iteration step and processes the selected set, i.e., the third set, using multi-channel processing operations to derive a first multi-channel parameter MCH_PAR1 for the selected set and to derive first processed channels P1 and P2.
[0019] Further, in the second iteration step, the iterative processor 102 may be configured to calculate inter-channel correlation values between each pair of at least three channels CH1 to CH3 and the processed channels P1 and P2 in order to select the pair having the highest inter-channel correlation value or having a value above a threshold value in the second iteration step. Thus, the iterative processor 102 may be configured not to select the selected pair of the first iteration step in the second iteration step (or any other iteration step).
[0020] Referring to the example shown in FIG. 1, the iterative processor 102 may further calculate an inter-channel correlation value between a fourth set consisting of the first channel CH1 and the first processed channel P1, an inter-channel correlation value between a fifth set consisting of the first channel CH1 and the second processed channel P2, a sixth set consisting of the second channel CH2 and the first processed channel P1, an inter-channel correlation value between a seventh set consisting of the second channel CH2 and the second processed channel P2, an eighth set consisting of the third channel CH3 and the first processed channel P1, an inter-channel correlation value between a ninth set consisting of the third channel CH3 and the second processed channel P2, and an inter-channel correlation value between a tenth set consisting of the first processed channel P1 and the second processed channel P2.
[0021] In FIG. 1, the iterative processor 102 selects a sixth set in a second iteration step and processes the selected set, e.g., the sixth set, using multi-channel processing operations to derive second multi-channel parameters MCH_PAR2 for the selected set and to derive second processed channels P3 and P4. In this case, the sixth pair consisting of the second channel CH2 and the first processed channel P1 is assumed to have the highest inter-channel correlation value.
[0022] The iterative processor 102 may be configured to select only one pair when the difference in levels between the pairs is less than a threshold, the threshold being less than 40 dB, 25 dB, 12 dB, or less than 6 dB. Thus, a threshold of 25 or 40 dB corresponds to a rotation angle of 3 or 0.5 degrees.
[0023] The iterative processor 102 may be configured to calculate a normalized integer correlation value and when the normalized integer correlation value is greater than 0.2, or preferably 0.3, for example, the iterative processor 102 may be configured to select a set.
[0024] Furthermore, the iterative processor 102 may provide channels resulting from the multi-channel processing to the channel encoder 104. For example, referring to FIG. 1, the iterative processor 102 may provide the third processed channel P3, the fourth processed channel P4 resulting from the multi-channel processing performed in the second iteration step, and the second processed channel P2 resulting from the multi-channel processing performed in the first iteration step to the channel encoder 104. Thus, the iterative processor 102 may only provide those processed channels to the channel encoder 104, which are not (further) processed in the later iteration steps. As shown in FIG. 1, the first processed channel P1 is not provided to the channel encoder 104, since it is further processed in the second iteration step.
[0025] The channel encoder 104 may be configured to encode the channels P2 to P4 resulting from the iterative processing (or multi-channel processing) performed by the iterative processor 102, to obtain encoded channels E1 to E3.
[0026] For example, the channel encoder 104 may be configured to use mono encoders (or mono boxes, or mono tools) 120_1 to 120_3 to encode the channels P2 to P4 resulting from the iterative process (or multi-channel process). The mono boxes may be configured to encode the channels such that fewer bits are required to encode a channel having a smaller energy (or a smaller amplitude) than to encode a channel having a larger energy (or a larger amplitude). The mono boxes 120_1 to 120_3 may be, for example, transform-based audio encoders. Furthermore, the channel encoder 104 may be configured to use a stereo encoder (for example, a parametric stereo encoder or a lossy stereo encoder) to encode the channels P2 to P4 resulting from the iterative process (or multi-channel process).
[0027] The output interface 106 may be configured to generate and encode a multi-channel signal 107 having encoded channels E1 to E3 and first and second multi-channel parameters MCH_PAR1 and MCH_PAR2.
[0028] For example, the output interface 106 may be configured to generate the encoded multi-channel signal 107 as a serial signal or serial bit stream, such that the second multi-channel parameters MCH_PAR2 are included in the encoded signal 107 before the first multi-channel parameters MCH_PAR1. Thus, a decoder in the embodiment described below with respect to Figure 4 will receive the second multi-channel parameters MCH_PAR2 before the first multi-channel parameters MCH_PAR1.
[0029] In Fig. 1, the iterative processor 102 exemplarily performs two multi-channel processing operations, a multi-channel processing operation in a first iterative step and a multi-channel processing operation in a second iterative step. Of course, the iterative processor 102 may also perform another multi-channel processing operation in a later iterative process. Thus, the iterative processor 102 may be configured to perform the iterative steps until an iterative termination criterion is reached. The iterative termination criterion is when the maximum iterative step number is equal, or the total number of all channels of the multi-channel signal 101 is greater than twice, or when the inter-channel correlation value does not have a value greater than the threshold, the threshold being preferably greater than 0.2, or the threshold being preferably 0.3. In another embodiment, the iterative termination criterion is when the maximum iterative step number is equal, or the total number of all channels of the multi-channel signal 101 is greater, or when the inter-channel correlation value does not have a value greater than the threshold, the threshold being preferably greater than 0.2, or the threshold being preferably 0.3.
[0030] For illustration purposes, the multi-channel processing operations performed by the iterative processor 102 in the first and second iteration steps are exemplarily illustrated in Fig. 1 by processing boxes 110 and 112. Processing boxes 110 and 112 may be implemented in hardware or software. Processing boxes 110 and 112 are, for example, stereo boxes.
[0031] Thus, inter-channel signal dependencies may be exploited by applying known joint stereo coding tools in a hierarchical manner. In contrast to previous MPEG methods, the processed signal set is not predetermined by a fixed signal path (e.g., a stereo coding tree) but may be dynamically changed to adapt to the input signal characteristics. The input of the actual stereo box can be (1) the raw channels, such as channels CH1 to CH3, or (2) the output of the aforementioned stereo box, such as processed signals P1 to P4, or (3) a combination of the raw channels and the output of the aforementioned stereo box.
[0032] The processing inside the stereo boxes 110 and 112 will either be prediction-based (like the USAC hybrid prediction box), or KLT / PCA-based (the input channels will be rotated (e.g. via a 2x2 rotation matrix) at the encoder to maximize energy compaction, i.e. to concentrate the signal energy in one channel, and at the decoder the rotated signals will be transformed back to the original input signal orientation).
[0033] In a possible implementation of the encoder 100, (1) the encoder calculates inter-channel correlations between all channel pairs, selects one appropriate signal pair from the input signal, and applies the stereo tool to the selected channels, (2) the encoder recalculates inter-channel correlations between all channels (including unprocessed channels as well as processed intermediate output channels), selects one appropriate signal pair from the input signal, and applies the stereo tool to the selected channels, and (3) the encoder repeats step (2) until all inter-channel correlations are below a threshold or if the maximum number of transforms has been applied.
[0034] As already mentioned, the signal set processed by the encoder 100, or more precisely the iterative processor 102, may be dynamically changed to adapt to the input signal characteristics, rather than being predetermined by a fixed signal path (e.g. a stereo coding tree). Thus, the encoder 100 (or the iterative processor 102) may be configured to build a stereo tree depending on at least three channels CH1 to CH3 of the multi-channel (input) signal 101. In other words, the encoder 100 (or the iterative processor 102) may be configured to build a stereo tree depending on at least three channels CH1 to CH3 of the multi-channel (input) signal 101. The stereo tree may be configured to build a stereo tree based on inter-channel correlations (e.g., by calculating inter-channel correlation values between each set of at least three channels CH1 to CH3 in a first iteration step to select the set having the highest value or a value above a threshold, and by calculating inter-channel correlation values between each set of at least three channels and a previously processed channel in a second iteration step to select the set having the highest value or a value above a threshold). According to the one-step approach, a correlation matrix may be calculated, possibly for each iteration, including correlations of all channels in a possibly processed previous iteration.
[0035] As indicated above, the iterative processor 102 may be configured to derive a first multi-channel parameter MCH_PAR1 for the selected set in a first iteration step and to derive a second multi-channel parameter MCH_PAR2 for the selected set in a second iteration step. The first multi-channel parameter MCH_PAR1 may comprise a first channel set identification (or index) that identifies (or conveys) the set of channels selected in the first iteration step and the second multi-channel parameter MCH_PAR2 may comprise a second channel set identification (or index) that identifies (or conveys) the set of channels selected in the second iteration step.
[0036] In the following, the effective indexing of the input signals is defined. For example, the channel sets may be effectively conveyed using a unique index for each set depending on the total number of channels. For example, the set indexing for six channels may be shown in the following table: JPEG2025066734000002.jpg60170
[0037] For example, in the above table, index 5 may convey the pair consisting of channel 1 and channel 2. Similarly, index 6 may convey the pair consisting of channel 1 and channel 3.
[0038] The total number of possible channel pair indices for n channels may be calculated by: numPairs = numChannels*(numChannels-1) / 2
[0039] Therefore, the number of bits required to convey one channel set is: numBits = floor(log2(numPairs-1))+1
[0040] Additionally, the encoder 100 may use a channel mask. The structure of a multi-channel tool may include a channel mask that indicates which channels the tool is active on. Thus, the LFE (LFE = bass boost / boost channel) may be indexed and more Channels may be removed from the channel set allowing efficient encoding. For example, for an 11.1 setting, this reduces the number of channel set indexing from 12*11 / 2=66 to 11*10 / 2=55, allowing it to be conveyed with 6 bits instead of 7. This mechanism can also be used to exclude channels that are intended to be mono objects (e.g. multilingual tracks). Upon decoding of the channel mask, a channel map can be generated to allow a remapping of the channel set indexes to the decoder channels.
[0041] Further, the iterative processor 102 may be configured to derive a plurality of selected set indications for the first frame, and the output interface 106 may be configured to include in the multi-channel signal 107 a keep indicator for a second frame following the first frame indicating that the second frame has the same plurality of selected set indications as the first frame.
[0042] A keep indicator, or keep tree flag, can be used to signal that no new trees are transmitted, but the last stereo tree is used. This can be used to avoid multiple transmissions of the same stereo tree configuration if the channel correlation characteristics remain static for a longer period of time.
[0043] Fig. 2 shows a schematic block diagram of the stereo boxes 110, 112. The stereo boxes 110, 112 have inputs for a first input signal I1 and a second input signal I2 and outputs for a first output signal O1 and a second input signal O2. As shown in Fig. 2, the dependence of the output signals O1 and O2 from the input signals I1 and I2 is represented by s-parameters S1 to S4.
[0044] The iterative processor 102 may use (or may comprise) stereo boxes 110, 112 to perform multi-channel processing operations on the input channels and / or the processed channels to derive (separate) processed channels. For example, the iterative processor 102 may be configured to use commercially available predictive-based or KLT (Karhunen-Loeve Transform)-based rotational stereo boxes 110, 112.
[0045] A commercially available encoder (or a stereo box on the encoder side) may be configured to encode input signals I1 and I2 to obtain output signals O1 and O2 according to the following equations: JPEG2025066734000003.jpg16161
[0046] A commercially available decoder (or a stereo box on the decoder side) may be configured to decode the input signals I1 and I2 to obtain the output signals O1 and O2 according to the following equations: JPEG2025066734000004.jpg16161
[0047] A prediction-based encoder (or a stereo box on the encoder side) may be configured to encode the input signals I1 and I2 to obtain the output signals O1 and O2 according to the following equations: JPEG2025066734000005.jpg16161p is the prediction coefficient.
[0048] A prediction-based decoder (or a stereo box on the decoder side) may be configured to decode the input signals I1 and I2 to obtain the output signals O1 and O2 according to the following equations: JPEG2025066734000006.jpg16161
[0049] A KLT-based rotary encoder (or a stereo box on the encoder side) may be configured to encode input signals I1 and I2 to obtain output signals O1 and O2 according to the following equations: JPEG2025066734000007.jpg16161
[0050] A KLT-based rotational decoder (or a stereo box on the decoder side) may be configured to decode the input signals I1 and I2 to obtain the output signals O1 and O2 according to the following equations (inverse rotation):
[0051] In the following, the calculation of the rotation angle α for the KLT-based rotation is presented.
[0052] The rotation angle α for the KLT-based rotation may be defined as follows: JPEG2025066734000008.jpg14163c xy is the entry of the unnormalized correlation matrix, and c 11 , c 22 is the channel energy.
[0053] This may be done using the atan2 function to be able to distinguish between negative correlations in the numerator of the fraction and negative energy differences in the denominator of the fraction. alpha = 0.5*atan2(2*correlation[ch1][ch2], (correlation[ch1][ch1] - correlation[ch2][ch2]))
[0054] Further, the iterative processor 102 may be configured to calculate inter-channel correlations using frames for each channel comprising the multiple bands to obtain one inter-channel correlation value for the multiple bands. The iterative processor 102 may be configured to perform multi-channel processing for each of the multiple bands to obtain first or second multi-channel parameters for each of the multiple bands.
[0055] Thus, the iterative processor 102 is configured to calculate stereo parameters in multi-channel processing, and the iterative processor 102 is configured to perform stereo processing only within bands where the stereo parameters are higher than a threshold quantized to zero defined by a stereo quantizer (e.g., a KLT-based rotational encoder). The stereo parameters are, for example, MS On / Off, or rotation angle, or prediction coefficients. I guess so.
[0056] For example, the iterative processor 102 may be configured to calculate rotation angles in multi-channel processing, and the iterative processor 102 may be configured to only perform rotation processing within bands where the rotation angle is higher than a threshold quantized to zero defined by a rotation angle quantizer (e.g., a KLT-based rotation encoder).
[0057] Therefore, the encoder 100 (or the output interface 106) may be configured to transmit transformation / rotation information as either one parameter for the complete spectrum (full bandbox) or multiple frequency-dependent parameters for a portion of the spectrum.
[0058] The encoder 100 may be configured to generate a bitstream 107 according to the following table:
[0059] Table 1 - mpegh3daExtElementConfig() syntax JPEG2025066734000009.jpg217148
[0060] Table 21 - MCCConfig() Syntax JPEG2025066734000010.jpg65150
[0061] Table 32 - MultichannelCodingBoxBandWise() syntax JPEG2025066734000011.jpg204149
[0062] Table 4 - MultichannelCodingBoxFullband() syntax JPEG2025066734000012.jpg57147
[0063] Table 5 - MultichannelCodingFrame() syntax JPEG2025066734000013.jpg105150
[0064] Table 6 - usacExtElementType values JPEG2025066734000014.jpg74128
[0065] Table 7 - Interpretation of data blocks for extended payload encoding JPEG2025066734000015.jpg63151
[0066] Figure 3 is a schematic block diagram of an iterative processor 102 according to one embodiment. In the embodiment shown in Figure 3, the multi-channel signal 101 is a 5.1 channel signal having six channels: a left channel L, a right channel R, a left surround channel Ls, a right surround channel Rs, a front channel C and a bass amplification channel LFE.
[0067] 3, the LFE channel is not processed by the iterative processor 102. This may be the case because the inter-channel correlation values between the LFE channel and each of the other five channels L, R, Ls, Rs, C are small, or the channel mask indicates that the LFE channel should not be processed, and it is assumed that:
[0068] In a first iteration step, the iterative processor 102 calculates inter-channel correlation values between each pair of the five channels L, R, Ls, Rs, C in order to select the pair having the highest value or having a value above a threshold. In Fig. 3, it is assumed that the left channel L and the right channel R have the highest value, so that the iterative processor 102 processes the left channel L and the right channel R using a stereo box (or stereo tool) 110 that performs multi-channel processing operations to derive first and second processed channels P1 and P2.
[0069] In order to select the pair having the highest value or having a value above the threshold in the second iteration step, the iterative processor 102 calculates inter-channel correlation values between each pair of the five channels L, R, Ls, Rs, C and the processed channels P1 and P2 in the second iteration step. In Fig. 3, it is assumed that the left surround channel Ls and the right surround channel Rs have the highest value, so that the iterative processor 102 processes the left surround channel Ls and the right surround channel Rs using the stereo box (or stereo tool) 112 to derive the third and fourth processed channels P3 and P4.
[0070] In the third iteration step, the iterative processor 102 calculates inter-channel correlation values between each pair of the five channels L, R, Ls, Rs, C and the processed channels P1 to P4 in order to select the pair having the highest value or having a value above the threshold. In Fig. 3, it is assumed that the first processed channel P1 and the third processed channel P3 have the highest value, so that the iterative processor 102 processes the first processed channel P1 and the third processed channel P3 using the stereo box (or stereo tool) 114 to derive the fifth and sixth processed channels P5 and P6.
[0071] In the fourth iteration step, the iterative processor 102 calculates inter-channel correlation values between each pair of the five channels L, R, Ls, Rs, C and the processed channels P1 to P6 in order to select the pair having the highest value or having a value above the threshold. In Fig. 3, it is assumed that the fifth processed channel P5 and the front channel C have the highest value, so that the iterative processor 102 processes the fifth processed channel P5 and the front channel C using the stereo box (or stereo tool) 115 to derive the seventh and eighth processed channels P7 and P8.
[0072] The stereo boxes 110 to 116 can be MS stereo boxes, i.e. the mid / side stereo sound effect boxes are configured to provide a mid channel and a side channel, where the mid channel is the sum between the input channels of the stereo box and the side channel is the difference between the input channels of the stereo box. Furthermore, the stereo boxes 110 to 116 can be rotation boxes or stereo prediction boxes.
[0073] In FIG. 3, the first processed channel P1, the third processed channel P3, and the fifth processed channel P5 may be intermediate channels, and the second processed channel P2, the fourth processed channel P4, and the sixth processed channel P6 may be intermediate channels.
[0074] 3, the iterative processor 102 may be configured to perform the calculations, selections and processing using the input channels L, R, Ls, Rs, C and the middle channels P1, P3, P5 of the processed channels (only) in the second iteration step and, if applicable, in any subsequent iteration steps. In other words, the iterative processor 102 may be configured not to use the flanking channels P1, P3, P5 of the processed channels when calculating, selecting and processing in the second iteration step and, if applicable, in any subsequent iteration steps.
[0075] FIG. 4 shows a schematic block diagram of a device (decoder) 200 for decoding an encoded multi-channel signal 107 having encoded channels E1 to E3 and at least first and second multi-channel parameters MCH_PAR1 and MCH_PAR2. The apparatus 200 comprises a channel decoder 202 and a multi-channel processor 204.
[0076] The channel decoder 202 is configured to decode the encoded channels E1 to E3 to obtain decoded channels D1 to D3.
[0077] For example, the channel decoder 202 may comprise at least three mono decoders (or mono boxes or mono tools) 206_1 to 206_3, each of which may be configured to decode one of the at least three encoded channels E1 to E3 to obtain a respective decoded channel E1 to E3. The mono decoders 206_1 to 206_3 may be, for example, transform-based audio decoders.
[0078] The multi-channel processor 204 is configured to perform multi-channel processing using a second set of decoded channels identified by a second multi-channel parameter MCH_PAR2 and using the second multi-channel parameter MCH_PAR2, and to perform another multi-channel processing using a first set of channels identified by a first multi-channel parameter MCH_PAR1 and using the first multi-channel parameter MCH_PAR1 to obtain processed channels, the first set of channels comprising at least one processed channel.
[0079] 4, by way of example, the second multi-channel parameter MCH_PAR2 may indicate (or signal) that the second set of decoded channels consists of the first decoded channel D1 and the second decoded channel D2. Thus, the multi-channel processor 204 may decode the processed channel P1 * and P2 *The multi-channel processing is performed using a second set of decoded channels consisting of the first decoded channel D1 and the second decoded channel D2 (identified by a second multi-channel parameter MCH_PAR2) and using the second multi-channel parameter MCH_PAR2 to obtain a first decoded channel P1 and a second decoded channel D2 (identified by a second multi-channel parameter MCH_PAR2). * and the third decoded channel D3. Therefore, the multi-channel processor 204 may process the processed channel P3 * and P4 * To obtain the first processed channel P1 * and the third decrypted channel Next, another multi-channel processing is performed using the first set of decoded channels consisting of channel D3 (identified by the first multi-channel parameter MCH_PAR1) and using the first multi-channel parameter MCH_PAR1.
[0080] Additionally, the multi-channel processor 204 provides a third processed channel P3 * as the first channel CH1 and the fourth processed channel P4 * to the third channel C H3, the second processed channel P2 * can be provided as the second channel CH2. do.
[0081] Assuming that the decoder 200 shown in Fig. 4 receives the encoded multi-channel signal 107 from the encoder 100 shown in Fig. 1, the first decoded channel D1 of the decoder 200 is equivalent to the third processed channel P3 of the encoder 100, the second decoded channel D2 of the decoder 200 is equivalent to the fourth processed channel P4 of the encoder 100, and the third decoded channel D3 of the decoder 200 is equivalent to the second processed channel P2 of the encoder 100. Furthermore, the first processed channel P1 of the decoder 200 is equivalent to the third processed channel P3 of the encoder 100, the second decoded channel D2 of the decoder 200 is equivalent to the fourth processed channel P4 of the encoder 100, and the third decoded channel D3 of the decoder 200 is equivalent to the second processed channel P2 of the encoder 100. * teeth , which is equivalent to the first processed channel P1 of the encoder 100.
[0082] Furthermore, the encoded multi-channel signal 107 may be a serial signal, with the second multi-channel parameters MCH_PAR2 being received at the decoder 200 before the first multi-channel parameters MCH_PAR1. In that case, the multi-channel processor 204 may be configured to process the decoded channels in the order in which the multi-channel parameters MCH_PAR1 and MCH_PAR2 were received by the decoder. In the example shown in FIG. 4, the decoder receives the second multi-channel parameters MCH_PAR2 before the first multi-channel parameters MCH_PAR1, and therefore processes the first set of decoded channels identified by the first multi-channel parameters MCH_PAR1 (first processed channel P1). * and the third The multi-channel processing is performed using a second set of decoded channels (consisting of the first and second decoded channels D1 and D2) identified by a second multi-channel parameter MCH_PAR2 before performing multi-channel processing using the first set of decoded channels (consisting of the first and second decoded channels D1 and D2) identified by a second multi-channel parameter MCH_PAR2.
[0083] In Fig. 4, the multi-channel processor 204 exemplarily performs two multi-channel processing operations. For illustration purposes, the multi-channel processing operations performed by the multi-channel processor 204 are indicated in Fig. 4 by processing boxes 208 and 210. The processing boxes 208 and 210 may be implemented in hardware or software. The processing boxes 208 and 210 may be stereo boxes, such as, for example, a commercial decoder (or stereo box at the decoder side), or a prediction-based decoder (or stereo box at the decoder side), or a KLT-based rotation decoder (or stereo box at the decoder side), as described above with reference to the encoder 100.
[0084] For example, the encoder 100 may use a KLT-based rotational encoder (or a stereo box on the encoder side). In that case, the encoder 100 may derive the first and second multi-channel parameters MCH_PAR1 and MCH_PAR2 such that the first and second multi-channel parameters MCH_PAR1 and MCH_PAR2 comprise a rotation angle. The rotation angle may be differentially encoded. Hence, the multi-channel processor 204 of the decoder 200 may comprise a differential decoder to differentially decode the differentially encoded rotation angle.
[0085] The apparatus 200 further comprises an input interface 212 configured to receive and process the encoded multi-channel signal 107, provide the encoded channels E1 to E3 to the channel decoder 202, and provide the first and second multi-channel parameters MCH_PAR1 and MCH_PAR2 to the multi-channel processor 204.
[0086] As already mentioned, the keep indicator (or keep tree flag) can be used to signal that no new trees are to be transmitted, but the last stereo tree should be used. This can be used to avoid multiple transmissions of the same stereo tree configuration if the channel correlation characteristics are static for a long time.
[0087] Therefore, when the encoded multi-channel signal 107 comprises first or second multi-channel parameters MCH_PAR1 and MCH_PAR2 for a first frame and a keep indicator for a second frame following the first frame, the multi-channel processor 204 may be configured to perform multi-channel processing or another multi-channel processing on the same second set or the same first set of channels in the second frame as used for the first frame.
[0088] The multi-channel processing and the further multi-channel processing may include a stereo processing using stereo parameters. For each scale factor band or group of scale factor bands of the decoded channels D1 to D3, the first stereo parameter comprises a first multi-channel parameter MCH_PAR1 and the second stereo parameter comprises a second multi-channel parameter MCH_PAR2. Hence, the first stereo parameter and the second stereo parameter can be of the same type, such as a rotation angle or a prediction coefficient. Of course, the first stereo parameter and the second stereo parameter can be of different types. For example, the first stereo parameter can be a rotation angle and the second stereo parameter can be a prediction coefficient, or vice versa.
[0089] Additionally, the first or second multi-channel parameters MCH_PAR1 and MCH_PAR2 may comprise a multi-channel processing mask indicating which scale factor bands are multi-channel processed and which are not, and thus the multi-channel processor 204 may be configured to not perform multi-channel processing in the scale factor bands indicated by the multi-channel processing mask.
[0090] The first and second multi-channel parameters MCH_PAR1 and MCH_PAR2, respectively, may include a channel pair identification (or index). The multi-channel processor 204 may be configured to decode the channel pair identification (or index) using a predicted decoding rule or a decoding rule indicated in the encoded multi-channel signal.
[0091] For example, the channel sets may be effectively signaled using a unique index for each set depending on the total number of channels, as described above with reference to encoder 100.
[0092] Furthermore, the decoding rules may be Huffman decoding rules, and the multi-channel processor 204 may be configured to perform Huffman decoding of the channel set identification.
[0093] The encoded multi-channel signal 107 further comprises a multi-channel processing allowance indicator indicating only a sub-group of decoded channels for which multi-channel processing is allowed, and indicating at least one decoded channel for which multi-channel processing is not allowed. Thus, the multi-channel processor 204 is configured to not perform any multi-channel processing for at least one decoded channel for which multi-channel processing is not allowed, as indicated by the multi-channel processing allowance indicator.
[0094] For example, when the multi-channel signal is a 5.1 channel signal, the multi-channel processing allowance indicator may indicate that the multi-channel processing only allows five channels, namely right R, left L, right surround Rs, left surround LS, and front C, and that the multi-channel processing does not allow an LFE channel.
[0095] For the decoding process (decoding the channel pair index), the following C code can be used: Therefore, for every channel pair, the number of channels with an active KLT process (nChannels) and the number of channel pairs in the current frame (numPairs) are needed. JPEG2025066734000016.jpg65137
[0096] To decode the prediction coefficients for the out-of-band angles, the following C code may be used: JPEG2025066734000017.jpg124149
[0097] To decode the prediction coefficients for the non-band KLT angles, the following C code may be used: JPEG2025066734000018.jpg131137
[0098] To avoid floating point differences in trigonometric functions on different platforms, the following lookup table can be used to convert angle indices directly to sin / cos: JPEG2025066734000019.jpg190162
[0099] For decoding of multi-channel coding, the following C code can be used for the KLT rotation based approach. JPEG2025066734000020.jpg89131
[0100] For band processing, the following C code may be used: JPEG2025066734000021.jpg165136
[0101] For application of the KLT rotation the following C code may be used: JPEG2025066734000022.jpg55137
[0102] FIG. 5 is a flow chart of a method 300 for encoding a multi-channel signal having at least three channels. The method 300 includes, in a first iteration step, the step 302 of calculating inter-channel correlation values between each set of at least three channels, selecting in a first iteration step the set having the highest value or having a value above a threshold, and processing the selected set using multi-channel processing operations to derive first multi-channel parameters for the selected set and to derive a first processed channel; the step 304 of performing the calculation, selection and processing in a second iteration step using at least one of the processed channels to derive second multi-channel parameters and a second processed channel; the step 306 of encoding the channels resulting from the iterative processing performed by the iterative processor to obtain encoded channels; and the step 308 of generating an encoded multi-channel signal comprising the encoded channels and the first and second multi-channel parameters.
[0103] 6 shows a flow chart of a method 400 for decoding an encoded multi-channel signal having encoded channels and at least first and second multi-channel parameters. The method 400 comprises a step 402 of decoding the encoded channels to obtain decoded channels, and a step 404 of performing multi-channel processing using a second set of decoded channels identified by the second multi-channel parameter and using the second multi-channel parameter, and performing multi-channel processing using a first set of channels identified by the first multi-channel parameter and using the first multi-channel parameter, to obtain processed channels, the first set of channels comprising at least one processed channel.
[0104] Although the present invention has been described in relation to block diagrams in which the blocks represent actual or logical hardware elements, the present invention may also be implemented by a computer-implemented method, in which case the blocks represent corresponding method steps, where these steps represent the functionality performed by the corresponding logical or physical hardware blocks.
[0105] Although some aspects are described in relation to an apparatus, it will be apparent that these aspects also refer to a description of the corresponding method, where the blocks or apparatus correspond to method steps or features of the method steps. Similarly, aspects described in relation to a method step also refer to a description of the corresponding blocks or items or features of the corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, or a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.
[0106] The transmitted or encoded signals of the present invention may be stored on a digital recording medium or transmitted over a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.
[0107] Depending on specific implementation requirements, embodiments of the present invention may be implemented in hardware or in software. The implementation may be carried out using a digital storage medium, such as a floppy disk, DVD, Blu-ray disk, CD, ROM, PROM, EPROM, EEPROM or FLASH memory, having stored thereon an electrically readable control signal that cooperates (or can cooperate) with a programmable computer system to execute the respective method. In this way, the digital storage medium is computer readable.
[0108] Some embodiments of the present invention include a method for performing one of the methods described herein. The present invention further comprises a data storage medium having electrically readable control signals operable to cooperate with a programmable computer system to perform the program.
[0109] Generally, embodiments of the present invention may be implemented as a computer program product having program code, and when the computer program product runs on a computer, the program code is operated to perform one of the methods. The program code may be stored on, for example, a machine-readable medium.
[0110] Another embodiment comprises the computer program for performing one of the methods described herein, stored on a machine readable medium.
[0111] 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.
[0112] Another embodiment of the inventive method is therefore a data storage medium (or a non-transitory storage medium such as a digital storage medium, or a computer readable medium) comprising and recorded thereon a computer program for performing one of the methods described herein. The data storage medium, digital storage medium, or storage medium is usually tangible and / or non-transitory.
[0113] 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, for example a data stream or a sequence of signals adapted to be transmitted via a data communications connection, for example via the Internet.
[0114] Another 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.
[0115] Another embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
[0116] Another embodiment according to the invention comprises a device or system arranged to transmit (e.g. electronically or optically) a computer program for performing one of the methods described herein to a receiving device. The receiving device may for example be a computer, a mobile device, a memory device or similar device. The device or system may for example comprise a file server for transmitting the computer program to the receiving device.
[0117] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods may be preferably performed by any hardware apparatus.
[0118] The above described embodiments merely illustrate the principles of the present invention. It is understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. The present invention is therefore limited only by the scope of the appended claims and should not be construed as limited to the embodiments described herein. It is intended that the invention be limited by the specific details set forth herein for purposes of illustration only.
Claims
1. An apparatus (100) for encoding a multi-channel signal (101) having at least three channels (CH1:CH3), comprising: an iterative processor (102) for calculating, in a first iteration step, inter-channel correlation values between each set of said at least three channels (CH:CH3), selecting in said first iteration step the set having the highest value or having a value above a threshold, processing said selected set using multi-channel processing operations (110, 112) to derive first multi-channel parameters (MCH_PAR1) for said selected set, and deriving first processed channels (P1, P2), an iterative processor (102) configured to perform the calculation, the selection and the processing in a second iteration step using at least one of the processed channels (P1) to derive second multi-channel parameters (MCH_PAR2) and second processed channels (P3, P4); a channel encoder for encoding the channels (P2:P4) resulting from the iterative process performed by the iterative processor (104) to obtain encoded channels (E1:E3); An apparatus (100) comprising an output interface (106) for generating an encoded multi-channel signal (107) having said encoded channels (E1:E3) and said first and second multi-channel parameters (MCH_PAR1, MCH_PAR2).
2. 2. The apparatus (100) of claim 1, wherein the output interface (106) is configured to generate the encoded multi-channel signal (107) as a serial bit stream and such that the second multi-channel parameter (MCH_PAR2) precedes the first multi-channel parameter (MCH_PAR1) in the encoded signal.
3. The iterative processor (102) performs stereo processing comprising at least one group including a rotation processing using rotation angle calculations from the selected set and a prediction processing.
3. The device (100) according to claim 1 or 2, configured to:
4. An apparatus (100) according to any one of claims 1 to 3, wherein the first multi-channel parameter (MCH_PAR1) comprises a first identification of the channel in the selected set for the first iteration step, and the second multi-channel parameter (MCH_PAR2) comprises a second identification of the channel in the selected set for the second iteration step.
5. the iterative processor (102) is configured to calculate inter-channel correlations using frames of each channel comprising a plurality of bands to obtain one inter-channel correlation value for the plurality of bands; An apparatus (100) according to any one of claims 1 to 4, wherein the iterative processor (104) is configured to perform the multi-channel processing for each of the plurality of bands to obtain the first or the second multi-channel parameters (MCH_PAR1, MCH_PAR2) for each of the plurality of bands.
6. The iterative processor (102) is configured to derive, for a first frame, a plurality of selected set indications, and the output interface (106) outputs to the multi-channel signal (107) a key for a second frame following the first frame indicating that the second frame has the same plurality of selected set indications as the first frame. The device (100) of any one of claims 1 to 5, configured to include a loop indicator.
7. The apparatus (100) according to any one of claims 1 to 6, wherein the iterative processor (102) is configured to only select one set when the level difference of the sets is smaller than a threshold, the threshold being smaller than 40 dB, or 25 dB, or 12 dB, or smaller than 6 dB.
8. An apparatus (100) according to one of claims 1 to 7, wherein the iterative processor (102) is configured to calculate a normalized correlation value, and wherein the iterative processor (102) is configured to select a set when the correlation value is greater than 0.2, preferably 0.
3.
9. 9. The apparatus (100) according to claim 1, wherein the iterative processor (102) is configured to calculate stereo parameters in the multi-channel processing, and the iterative processor (102) is configured to perform stereo processing only within bands in which the stereo parameters are higher than a threshold quantized to zero defined by a stereo parameter quantizer.
10. The apparatus (100) according to one of claims 1 to 9, wherein the iterative processor (102) is configured to calculate a rotation angle in the multi-channel processing, and the iterative processor (102) is configured to perform rotation processing within a band in which the rotation angle is higher than a threshold dequantized to zero on the decoder side.
11. The apparatus (100) of any one of claims 1 to 10, wherein the iterative processor (102) is configured not to select the selected set of the first iterative step in a second iterative step and, if applicable, in any subsequent iterative steps.
12. The apparatus (100) according to one of claims 1 to 11, wherein the iterative processor (102) is configured to perform iterative steps until an iterative termination criterion is reached, the iterative termination criterion being that the maximum number of iterative steps is equal to or greater than twice the total number of channels (CH1:CH3) of the multi-channel signal (101), or the iterative termination criterion being when the inter-channel correlation value does not have a value higher than the threshold value.
13. the iterative processor (102) is configured to process the selected set in the first iteration step using the multi-channel processing, the processed channels (P1, P2) being a mid channel (P1) and a side channel (P2); The apparatus (100) according to one of claims 1 to 12, wherein the iterative processor (102) is configured to perform the calculation, the selection and the processing in the second iteration step using only the intermediate channel (P1) of the processed channels (P1, P2) as the at least one of the processed channels (P1, P2) to derive the second multi-channel parameters (MCH_PAR2) and a second processed channel (P3, P4).
14. 2. The method according to claim 1 , wherein the channel encoder comprises a channel encoder (120_1:120_3) for encoding the channels (P2:P4) resulting from the iterative process, the channel encoder being arranged to encode the channels (P2:P4) in such a way that fewer bits are used to encode a channel having less energy than to encode a channel having more energy. An apparatus (100) according to one of claims 13.
15. An apparatus (200) for decoding an encoded multi-channel signal (107) having encoded channels (E1:E3) and at least first and second multi-channel parameters (MCH_PAR1, MCH_PAR2), comprising: a channel decoder (202) for decoding the encoded channels (E1:E3) to obtain decoded channels (D1:D3); performing multi-channel processing using a second set of the decoded channels (D1:D3) identified by the second multi-channel parameters (MCH_PAR2) and using the second multi-channel parameters (MCH_PAR2) to obtain processed channels (P1 * , P2 * ), and for obtaining the channels (D1:D3, P1) identified by the first multi-channel parameters (MCH_PAR1). * , P2 * ) and using the first set of multi-channel parameters (MCH_P a multi-channel processor (204) for performing another multi-channel processing using a first set of channels (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, P23, P24, P25, P26, P27, P28, * , P2 * ) is configured in the apparatus (200).
16. the encoded multi-channel signal (107) comprises the first and second multi-channel parameters (MCH_PAR1, MCH_PAR2) for a first frame and a keep indicator for a second frame following the first frame, 16. The apparatus (200) of claim 15, wherein the multi-channel processor (204) is configured to perform the multi-channel processing and the further multi-channel processing in the second frame on the same second set and the same first set used in the first frame.
17. An apparatus (200) according to one of claims 15 or 16, wherein the multi-channel processing and the further multi-channel processing include stereo processing using stereo parameters, and for each scale factor band or group of scale factor bands of the decoded channels (D1:D3), a first stereo parameter is included in the first multi-channel parameters (MCH_PAR1) and a second stereo parameter is included in the second multi-channel parameters (MCH_PAR2).
18. the first or second multi-channel parameters (MCH_PAR1, MCH_PAR2) comprise a multi-channel processing mask indicating which scale factor bands are multi-channel processed and which scale factor bands are not multi-channel processed; 18. The apparatus (200) of claim 15, wherein the multi-channel processor (204) is configured to not perform the multi-channel processing in the scale factor bands indicated by the multi-channel processing mask.
19. the first or second multi-channel parameters (MCH_PAR1, MCH_PAR2), respectively, include an identification of a channel set; The apparatus (200) of claim 15, wherein the multi-channel processor (204) is configured to decode the identification of the channel set using a predefined decoding rule or a decoding rule indicated in the encoded multi-channel signal.
20. the decoding rules are Huffman decoding rules, and the multi-channel processor (204) is configured to perform Huffman decoding of the channel set identities.
20. The apparatus (200) of claim 19.
21. the encoded multi-channel signal (107) comprises a multi-channel processing allowance indicator indicating only a subgroup of the decoded channels for which the multi-channel processing is allowed and indicating at least one decoded channel for which the multi-channel processing is not allowed, The apparatus (200) of any one of claims 15 to 20, wherein the multi-channel processor (204) is configured to not perform any multi-channel processing for at least one decoded channel for which the multi-channel processing is not permitted, as indicated by the multi-channel processing permittivity indicator.
22. 22. The apparatus (200) according to claim 15, wherein the first or the second multi-channel parameters (MCH_PAR1, MCH_PAR2) comprise stereo parameters, the stereo parameters being differentially coded, and the multi-channel processor (204) comprises a differential decoder for differentially decoding the differentially coded stereo parameters.
23. the encoded multi-channel signal (107) is a serial signal in which the second multi-channel parameters (MCH_PAR2) are received at the decoder (200) before the first multi-channel parameters (MCH_PAR1); 23. The apparatus according to claim 15, wherein the multi-channel processor (204) is configured to process the decoded channels (D1:D3) in the order in which the multi-channel parameters (MCH_PAR1, MCH_PAR2) are received by the decoder (200).
24. A method (300) for encoding a multi-channel signal having at least three channels, the method comprising the steps of: calculating (302) inter-channel correlation values between each set of the at least three channels in a first iteration step; selecting the set having the highest value or having a value above a threshold in the first iteration step; processing the selected set using a multi-channel processing operation to derive first multi-channel parameters for the selected set and to derive a first processed channel; performing (304) the calculating, selecting and processing steps in a second iteration step using at least one of the processed channels to derive second multi-channel parameters and a second processed channel; - encoding (306) the channels resulting from the iterative process performed by said iterative processor to obtain encoded channels; and generating (308) an encoded multi-channel signal comprising said encoded channels and said first and second multi-channel parameters.
25. A method (400) for decoding an encoded multi-channel signal having encoded channels and at least first and second multi-channel parameters, the method comprising: decoding (402) the encoded channel to obtain a decoded channel; using a second set of the decoded channels identified by the second multi-channel parameters to obtain processed channels, and and performing (404) a multi-channel process using a first set of channels identified by the first multi-channel parameters and performing another multi-channel process using the first multi-channel parameters, the first set of channels comprising at least one processed channel.
26. 26. A computer program for performing, when running on a computer or processor, the method of encoding the multi-channel signal of claim 24 or the method of decoding an encoded multi-channel signal of claim 25.
27. 27. An apparatus, method or computer program according to any of claims 1 to 26, wherein multi-channel processing means joint stereo processing or joint processing of more than two channels, a multi-channel signal having two channels or more than two channels.
Citation Information
Patent Citations
Device and method for encoding voice
JP2002073086A
Acoustic signal encoder, acoustic signal encoding method, and acoustic signal decoder
JP2015011076A
Method and apparatus for down-mixing multi-channel audio
US20130077793A1
Methods and devices for joint multichannel coding
WO2015036351A1