Multi-channel audio signal encoding and decoding method and device

By obtaining the correlation value set of multi-channel audio signals, selecting the most correlated channel pair set, and encoding the audio frames, the problem of low encoding and decoding efficiency of multi-channel audio signals in the prior art is solved, and the improvement is achieved Efficient coding and lower redundancy.

CN113948095BActive Publication Date: 2025-02-25HUAWEI TECH CO LTD

Patent Information

Application Number
CN202010699706.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-07-17
Publication Date
2025-02-25
Estimated Expiration
2040-07-17

AI Technical Summary

Technical Problem

The prior art is difficult to effectively code multi-channel audio signals, resulting in redundancy between channel signals and low encoding efficiency.

Method used

By obtaining the set of correlation values ​​of the multi-channel audio signal, select the most correlated channel pair set, and encode the audio frames according to the set to reduce redundancy between channel signals.

Benefits of technology

It improves the encoding efficiency of multi-channel audio signals, reduces redundancy between channel signals, and improves the overall quality of audio signals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113948095B_ABST
    Figure CN113948095B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for encoding and decoding a multi-channel audio signal. The encoding method of the multi-channel audio signal includes: obtaining a first audio frame to be encoded; obtaining a correlation value set, the correlation value set includes the correlation values ​​of multiple channel pairs, and one channel pair includes two channel signals out of at least five channel signals; selecting M correlation values ​​from the correlation value set, the M correlation values ​​are all greater than other correlation values ​​in the correlation value set except the M correlation values, and the M correlation values ​​are all greater than or equal to the group pair threshold; obtaining M channel pair sets, each channel pair set includes at least one of the M channel pairs corresponding to the M correlation values; determining a target channel pair set from the M channel pair sets, the sum of the correlation values ​​of all channel pairs in the target channel pair set is the largest among the M channel pair sets; encoding the first audio frame according to the target channel pair set. The present application reduces the redundancy between channel signals and improves the coding efficiency of audio.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to audio processing technology, and in particular to a method and device for encoding and decoding multi-channel audio signals. Background Art

[0002] Multi-channel audio encoding and decoding is a technology for encoding or decoding audio containing more than two channels. Common multi-channel audio includes 5.1-channel audio, 7.1-channel audio, 7.1.4-channel audio, and 22.2-channel audio.

[0003] The MPEG Surround (MPS) standard specifies joint coding for four channels, but there is still a need for a coding and decoding method for the above-mentioned various multi-channel audio signals. Summary of the invention

[0004] The present application provides a method and device for encoding and decoding a multi-channel audio signal to reduce redundancy between channel signals and improve audio encoding efficiency.

[0005] In a first aspect, the present application provides a method for encoding a multi-channel audio signal, comprising: obtaining a first audio frame to be encoded, the first audio frame comprising at least five channel signals; obtaining a correlation value set, the correlation value set comprising correlation values ​​of multiple channel pairs, one channel pair comprising two channel signals of the at least five channel signals, the correlation value of the one channel pair being used to represent the correlation between the two channel signals of the one channel pair; selecting M correlation values ​​from the correlation value set, the M correlation values ​​being all greater than other correlation values ​​in the correlation value set except the M correlation values , the M correlation values ​​are all greater than or equal to the pair threshold, and M is a positive integer less than or equal to a set value; obtaining M channel pair sets, each of the channel pair sets includes at least one of the M channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not contain the same channel signal; determining a target channel pair set from the M channel pair sets, the sum of the correlation values ​​of all channel pairs in the target channel pair set is the largest among the M channel pair sets; encoding the first audio frame according to the target channel pair set.

[0006] The first audio frame of this embodiment can be any frame in the multi-channel audio signal to be encoded, and the first audio frame includes five or more channel signals. Encoding two channel signals with higher correlation together can reduce redundancy and improve coding efficiency. Therefore, this embodiment determines the pairing based on the correlation value between the two channel signals. In order to find the channel pair set with the highest correlation as much as possible, the correlation value between the two of the at least five channel signals in the first audio frame can be calculated to obtain the correlation value set of the first audio frame. For example, five channel signals can form a total of 10 channel pairs, and correspondingly, the correlation value set can include 10 correlation values. In this embodiment, all the correlation values ​​included in the correlation value set can be sorted in descending order, and the first M correlation values ​​in the front are selected from them. The M correlation values ​​must be greater than or equal to the pairing threshold. This is because the correlation value less than the pairing threshold indicates that the correlation between the two channel signals in the corresponding channel pair is low, and there is no need for pairing encoding. In order to improve the coding efficiency, it is not necessary to select all the correlation values ​​greater than or equal to the group pair threshold, so an upper limit N of M is set, that is, at most N correlation values ​​can be selected.

[0007] This embodiment obtains the sum of correlation values ​​of multiple channel pair sets as much as possible, and then determines the channel pair set corresponding to the maximum sum of correlation values ​​as the target channel pair set, so as to maximize the sum of correlation values ​​of all channel pairs included in the target channel pair set, increase the number of grouped channel pairs as much as possible, reduce redundancy between channel signals, and improve audio coding efficiency.

[0008] In a possible implementation, the M channel pair sets include a first channel pair set, and the acquiring the M channel pair sets acquires the first channel pair set; the acquiring the first channel pair set includes: adding a first channel pair among the M channel pairs to the first channel pair set, the first channel pair being any one of the M channel pairs; when other channel pairs among the multiple channel pairs except an associated channel pair include a channel pair whose correlation value is greater than the group pair threshold, selecting a channel pair with a maximum correlation value from the other channel pairs to add to the first channel pair set, the associated channel pair including any one of the channel signals included in the channel pair that has been added to the first channel pair set.

[0009] Among multiple channel pairs, multiple channel pairs with larger correlation values ​​are respectively used as the first channel pairs added to the channel pair set, and then the channel pair corresponding to the maximum correlation value among the remaining channel pairs is selected to be added to the corresponding channel pair set. By obtaining the sum of the correlation values ​​of multiple channel pair sets as much as possible, and then determining the channel pair set corresponding to the maximum sum of the correlation value as the target channel pair set, the sum of the correlation values ​​of all channel pairs included in the target channel pair set can be maximized, and the number of grouped channel pairs can be increased as much as possible, thereby reducing the redundancy between channel signals and improving the audio coding efficiency.

[0010] In one possible implementation, the selecting M correlation values ​​from the correlation value set includes: selecting N correlation values ​​from the correlation value set, the N correlation values ​​are all greater than other correlation values ​​in the correlation value set except the N correlation values, and N is the set value; selecting correlation values ​​greater than or equal to the group pair threshold from the N correlation values, and the number of correlation values ​​greater than or equal to the group pair threshold is M.

[0011] The M correlation values ​​are greater than or equal to the pair threshold, where M is a positive integer less than or equal to a set value (e.g., N). In this embodiment, all correlation values ​​included in the correlation value set may be sorted in descending order, and the first N correlation values ​​in the front are selected. Among the N correlation values, there may be correlation values ​​less than the pair threshold, so M correlation values ​​greater than or equal to the pair threshold are selected from the N correlation values. This is because the correlation value less than the pair threshold indicates that the correlation between the two channel signals in the corresponding channel pair is low, and there is no need for pair coding.

[0012] In a possible implementation manner, the correlation value is a normalized value.

[0013] Normalization processing can bring related values ​​with widely different value ranges into a unified range for comparison and processing, thereby improving computational efficiency.

[0014] In a possible implementation manner, when the correlation value of the channel pair is less than the pair threshold, the correlation value of the channel pair is set to 0.

[0015] A smaller correlation value indicates that the correlation between the corresponding two channel signals is smaller and there is no need to pair them. Therefore, the correlation value of the two channel signals in this case is set to 0 to facilitate subsequent calculations and improve computational efficiency.

[0016] In a second aspect, the present application provides a method for encoding a multi-channel audio signal, comprising: obtaining a first audio frame to be encoded, the first audio frame comprising at least five channel signals; obtaining a correlation value set, the correlation value set comprising correlation values ​​of multiple channel pairs, one channel pair comprising two channel signals of the at least five channel signals, the correlation value of the one channel pair being used to represent the correlation between the two channel signals of the one channel pair; obtaining multiple channel pair sets based on the multiple channel pairs, when the channel pair sets comprise more than two channel pairs, the more than two channel pairs do not contain the same channel signals; obtaining the sum of correlation values ​​of all channel pairs contained in each channel pair set in the multiple channel pair sets based on the correlation value set; determining a target channel pair set, the sum of correlation values ​​of all channel pairs in the target channel pair set being the largest among the multiple channel pair sets; and encoding the first audio frame based on the target channel pair set.

[0017] By obtaining the sum of correlation values ​​of as many channel pair sets as possible, and then determining the channel pair set corresponding to the maximum sum of correlation values ​​as the target channel pair set, the sum of correlation values ​​of all channel pairs contained in the target channel pair set can be maximized, and the number of grouped channel pairs can be increased as much as possible, reducing redundancy between channel signals and improving audio coding efficiency.

[0018] In a possible implementation, acquiring multiple channel pair sets according to the multiple channel pairs includes: acquiring the multiple channel pair sets according to other channel pairs except for related channels among the multiple channel pairs, and the correlation value of the non-related channel pairs is less than a pairing threshold.

[0019] A smaller correlation value indicates that the correlation between the corresponding two channel signals is smaller and there is no need to pair them. Therefore, deleting the correlation value of the two channel signals and the channel pair of the two channel signals in this case can reduce the subsequent calculation amount and improve the operation efficiency.

[0020] In a possible implementation manner, the correlation value is a normalized value.

[0021] Normalization processing can bring related values ​​with widely different value ranges into a unified range for comparison and processing, thereby improving computational efficiency.

[0022] In a possible implementation manner, when the correlation value of the channel pair is less than the group pair threshold, the correlation value of the channel pair is set to 0.

[0023] A smaller correlation value indicates that the correlation between the corresponding two channel signals is smaller and there is no need to pair them. Therefore, the correlation value of the two channel signals in this case is set to 0 to facilitate subsequent calculations and improve computational efficiency.

[0024] In a third aspect, the present application provides a method for encoding a multi-channel audio signal, comprising: obtaining a first audio frame to be encoded, the first audio frame including at least five channel signals; obtaining a correlation value set of the first audio frame, the correlation value set of the first audio frame including correlation values ​​of multiple channel pairs respectively, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair; obtaining a correlation value set of a second audio frame, the correlation value set of the second audio frame including correlation values ​​of multiple channel pairs respectively of the second audio frame, one channel pair including two channel signals of the at least five channel signals of the second audio frame, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair. the correlation between two channel signals of a channel pair, the second audio frame being the previous frame of the first audio frame; judging whether it is necessary to re-acquire a target channel pair set of the first audio frame according to a correlation value set of the first audio frame and a correlation value set of the second audio frame; if it is necessary to re-acquire the target channel pair set of the first audio frame, adopting a method as described in any one of the first to second aspects above to acquire the target channel pair set of the first audio frame, and encoding the first audio frame according to the target channel pair set; if it is not necessary to re-acquire the target channel pair set of the first audio frame, determining the target channel pair set of the second audio frame as the target channel pair set of the first audio frame, and encoding the first audio frame according to the target channel pair set.

[0025] By obtaining the sum of the differences between the correlation value set of the current audio frame and the correlation value set of the previous audio frame, it is determined whether it is necessary to re-obtain the target channel pair set of the current frame. This can greatly reduce the amount of calculation and improve the encoding efficiency when the audio changes slightly. Even if the audio changes significantly and the target channel pair set needs to be re-obtained, the sum of the correlation values ​​of multiple channel pair sets can be obtained as much as possible, and then the channel pair set corresponding to the maximum sum of correlation values ​​is determined as the target channel pair set. This can maximize the sum of the correlation values ​​of all channel pairs contained in the target channel pair set, increase the number of grouped channel pairs as much as possible, reduce the redundancy between channel signals, and improve the audio encoding efficiency.

[0026] In a possible implementation, judging whether it is necessary to reacquire the target channel pair set of the first audio frame according to the correlation value set of the first audio frame and the correlation value set of the second audio frame includes: calculating the absolute value of the difference between the correlation values ​​corresponding to the same channel pair in the correlation value set of the first audio frame and the correlation value set of the second audio frame; calculating the sum of the absolute values ​​corresponding to the plurality of channel pairs; when the sum of the absolute values ​​is less than a change threshold, determining that it is not necessary to reacquire the target channel pair set of the first audio frame; when the sum of the absolute values ​​is greater than or equal to the change threshold, determining that it is necessary to reacquire the target channel pair set of the first audio frame. The change threshold may be, for example, α×the number of channel pairs, where α may be 0.14 or 0.15, and the number of channel pairs refers to the number of channel pairs included in the correlation value set of the first audio frame (or the correlation value set of the second audio frame).

[0027] In a fourth aspect, the present application provides a method for encoding a multi-channel audio signal, comprising: obtaining a first audio frame to be encoded, the first audio frame comprising K channel signals, K being an integer greater than or equal to 5; when K is greater than a channel signal quantity threshold, encoding the first audio frame using any of the methods described in the first aspect above; when K is less than or equal to the channel signal quantity threshold, encoding the first audio frame using any of the methods described in the second aspect above. The channel signal quantity threshold may be, for example, 5, 6, or 7.

[0028] The difference from the method of the first aspect or the second aspect is that the method of the first aspect and the method of the second aspect are merged, that is, which method is used to obtain the target channel pair set for the first audio frame according to the number of channel signals contained in the first audio frame. When the number of channel signals contained in the first audio frame is large, if the method of the second aspect is used, it is necessary to exhaustively enumerate all target channel pair sets, which will increase the amount of calculation. Therefore, the method of the first aspect will reduce a lot of calculation at this time. When the number of channel signals contained in the first audio frame is small, the method of the second aspect can obtain the sum of the correlation values ​​of all channel pair sets, ensuring that the target channel pair set finally selected must be the optimal result that best meets the characteristics of the first audio frame.

[0029] In a fifth aspect, the present application provides an encoding device, comprising: an acquisition module, used to acquire a first audio frame to be encoded, the first audio frame comprising at least five channel signals; acquiring a correlation value set, the correlation value set comprising correlation values ​​of multiple channel pairs, one channel pair comprising two channel signals of the at least five channel signals, the correlation value of the one channel pair being used to represent the correlation between the two channel signals of the one channel pair; selecting M correlation values ​​from the correlation value set, the M correlation values ​​being all greater than other correlation values ​​in the correlation value set except the M correlation values, the M correlation values are all greater than or equal to the group pair threshold, and M is a positive integer less than or equal to the set value; obtaining M channel pair sets, each of the channel pair sets includes at least one of the M channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not contain the same channel signal; a determination module, used to determine a target channel pair set from the M channel pair sets, the sum of the correlation values ​​of all channel pairs in the target channel pair set is the largest in the M channel pair sets; an encoding module, used to encode the first audio frame according to the target channel pair set.

[0030] In a possible implementation, the M channel pair sets include a first channel pair set; the acquisition module is specifically configured to add a first channel pair among the M channel pairs to the first channel pair set, where the first channel pair is any one of the M channel pairs; when other channel pairs among the multiple channel pairs except the associated channel pair include channel pairs whose correlation values ​​are greater than the pair group threshold, select a channel pair with the largest correlation value from the other channel pairs to add to the first channel pair set, where the associated channel pair includes any one of the channel signals included in the channel pair that has been added to the first channel pair set.

[0031] In a possible implementation, the acquisition module is specifically used to select N correlation values ​​from the correlation value set, and the N correlation values ​​are all greater than other correlation values ​​in the correlation value set except the N correlation values, and N is the set value; select correlation values ​​greater than or equal to the group pair threshold from the N correlation values, and the number of correlation values ​​greater than or equal to the group pair threshold is M.

[0032] In a possible implementation manner, the correlation value is a normalized value.

[0033] In a possible implementation manner, when the correlation value of the channel pair is less than the pair threshold, the correlation value of the channel pair is set to 0.

[0034] In a sixth aspect, the present application provides an encoding device, comprising: an acquisition module, used to acquire a first audio frame to be encoded, the first audio frame including at least five channel signals; acquiring a correlation value set, the correlation value set including correlation values ​​of multiple channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair; acquiring multiple channel pair sets based on the multiple channel pairs, when the channel pair set includes more than two channel pairs, the more than two channel pairs do not contain the same channel signals; acquiring the sum of correlation values ​​of all channel pairs contained in each channel pair set in the multiple channel pair sets based on the correlation value set; a determination module, used to determine a target channel pair set, the sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the multiple channel pair sets; and an encoding module, used to encode the first audio frame according to the target channel pair set.

[0035] In a possible implementation, the acquisition module is specifically configured to acquire the plurality of channel pair sets according to other channel pairs except for the correlated channels among the plurality of channel pairs, and the correlation value of the non-correlated channel pairs is less than a pairing threshold.

[0036] In a possible implementation manner, the correlation value is a normalized value.

[0037] In a possible implementation manner, when the correlation value of the channel pair is less than the group pair threshold, the correlation value of the channel pair is set to 0.

[0038] In a seventh aspect, the present application provides an encoding device, including: an acquisition module, used to acquire a first audio frame to be encoded, the first audio frame including at least five channel signals; acquiring a correlation value set of the first audio frame, the correlation value set of the first audio frame including respective correlation values ​​of a plurality of channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair; acquiring a correlation value set of a second audio frame, the correlation value set of the second audio frame including respective correlation values ​​of a plurality of channel pairs of the second audio frame, one channel pair including two channel signals of the at least five channel signals of the second audio frame, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair. a correlation between two channel signals of a pair, wherein the second audio frame is a previous frame of the first audio frame; an encoding module, configured to determine whether it is necessary to re-acquire a target channel pair set of the first audio frame according to a correlation value set of the first audio frame and a correlation value set of the second audio frame; if it is necessary to re-acquire the target channel pair set of the first audio frame, execute the method as described in any of the above implementation modes to acquire the target channel pair set of the first audio frame, and encode the first audio frame according to the target channel pair set; if it is not necessary to re-acquire the target channel pair set of the first audio frame, determine the target channel pair set of the second audio frame as the target channel pair set of the first audio frame, and encode the first audio frame according to the target channel pair set.

[0039] In a possible implementation, the encoding module is specifically configured to calculate an absolute value of a difference between a correlation value set of the first audio frame and a correlation value set of the second audio frame corresponding to the same channel pair; calculate a sum of the absolute values ​​corresponding to a plurality of the channel pairs; when the sum of the absolute values ​​is less than a change threshold, determine that it is not necessary to reacquire a target channel pair set of the first audio frame; and when the sum of the absolute values ​​is greater than or equal to the change threshold, determine that it is necessary to reacquire a target channel pair set of the first audio frame.

[0040] In an eighth aspect, the present application provides an encoding device, comprising: an acquisition module, used to acquire a first audio frame to be encoded, the first audio frame comprising K channel signals, K being an integer greater than or equal to 5; an encoding module, used to, when K is greater than a threshold value for the number of channel signals, execute a method as described in any one of the above-mentioned first aspects to encode the first audio frame; when K is less than or equal to the threshold value for the number of channel signals, execute a method as described in any one of the above-mentioned second aspects to encode the first audio frame.

[0041] In the ninth aspect, the present application provides a device, comprising: one or more processors; a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of the first to fourth aspects above.

[0042] In a tenth aspect, the present application provides a computer-readable storage medium, comprising a computer program, wherein when the computer program is executed on a computer, the computer executes the method described in any one of the first to fourth aspects above.

[0043] In an eleventh aspect, the present application provides a computer-readable storage medium, characterized in that it includes a coded bit stream obtained according to the coding method for a multi-channel audio signal as described in any one of the first to fourth aspects above. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 A schematic block diagram of an audio decoding system 10 used in the present application is given as an example;

[0045] Figure 2 A schematic block diagram of an audio decoding device 200 used in the present application is exemplarily given;

[0046] Figure 3 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application;

[0047] Figure 4 is an exemplary structural diagram of an encoding device applied to the multi-channel audio signal encoding method provided by the present application;

[0048] Figure 5 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application;

[0049] Figure 6 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application;

[0050] Figure 7 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application;

[0051] Figure 8 is an exemplary structural diagram of a decoding device applied to the multi-channel audio signal decoding method provided by the present application;

[0052] Fig. 9 This is a schematic diagram of the structure of an encoding device embodiment of the present application;

[0053] Fig.10This is a schematic diagram of the structure of an embodiment of the device of the present application. DETAILED DESCRIPTION

[0054] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0055] The terms "first", "second", etc. in the specification embodiments, claims, and drawings of the present application are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, including a series of steps or units. The method, system, product, or device is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.

[0056] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0057] Explanation of relevant terms involved in this application:

[0058] Audio frame: Audio data is streamed. In practical applications, in order to facilitate audio processing and transmission, the amount of audio data within a certain period of time is usually taken as a frame of audio. This period of time is called "sampling time". Its value can be determined according to the requirements of the codec and specific application. For example, the period of time is 2.5ms to 60ms, where ms is milliseconds.

[0059] Audio signal: Audio signal is a carrier of frequency and amplitude changes of regular sound waves with voice, music and sound effects. Audio is a continuously changing analog signal, which can be represented by a continuous curve, called a sound wave. The digital signal generated by analog-to-digital conversion or computer is an audio signal. Sound waves have three important parameters: frequency, amplitude and phase, which determine the characteristics of audio signals.

[0060] Channel signal: refers to the independent audio signals collected or played back at different spatial locations when recording or playing. Therefore, the number of channels is the number of sound sources when recording or the number of speakers when playing.

[0061] The following is the system architecture used in this application.

[0062] Figure 1 A schematic block diagram of an audio decoding system 10 used in the present application is given as an example. Figure 1 As shown, the audio decoding system 10 may include a source device 12 and a destination device 14. The source device 12 generates an encoded bit stream, so the source device 12 may be referred to as an audio encoding device. The destination device 14 may decode the encoded bit stream generated by the source device 12, so the destination device 14 may be referred to as an audio decoding device.

[0063] The source device 12 includes an encoder 20 , and optionally may include an audio source 16 , an audio preprocessor 18 , and a communication interface 22 .

[0064] The audio source 16 may include or may be any type of audio capture device for capturing real-world speech, music, sound effects, etc., and / or any type of audio generation device, such as an audio processor or device for generating speech, music, and sound effects. The audio source may be any type of memory or storage for storing the above audio.

[0065] The audio preprocessor 18 is used to receive (original) audio data 17 and preprocess the audio data 17 to obtain preprocessed audio data 19. For example, the preprocessing performed by the audio preprocessor 18 may include trimming or denoising. It is understood that the audio preprocessing unit 18 may be an optional component.

[0066] The encoder 20 is configured to receive the pre-processed audio data 19 and provide encoded audio data 21 .

[0067] The communication interface 22 in the source device 12 may be used to receive the encoded audio data 21 and to send the encoded audio data 21 to the destination device 14 via the communication channel 13 for storage or direct reconstruction.

[0068] The destination device 14 includes a decoder 30 and, optionally, may include a communication interface 28 , an audio post-processor 32 and a playback device 34 .

[0069] The communication interface 28 in the destination device 14 is used to directly receive the encoded audio data 21 from the source device 12 and provide the encoded audio data 21 to the decoder 30 .

[0070] The communication interface 22 and the communication interface 28 can be used to send or receive encoded audio data 21 through a direct communication link between the source device 12 and the destination device 14, such as a direct wired or wireless connection, or through any type of network, such as a wired network, a wireless network or any combination thereof, any type of private network and public network or any type of combination thereof.

[0071] For example, the communication interface 22 may be used to encapsulate the encoded audio data 21 into a suitable format such as a message, and / or process the encoded audio data 21 using any type of transmission coding or processing for transmission over a communication link or network.

[0072] The communication interface 28 corresponds to the communication interface 22 , for example, and can be used to receive transmission data, and use any type of corresponding transmission decoding or processing and / or decapsulation to process the transmission data to obtain the encoded audio data 21 .

[0073] Both the communication interface 22 and the communication interface 28 can be configured as follows Figure 1 A unidirectional communication interface, or a bidirectional communication interface, is indicated by an arrow pointing from the source device 12 to the corresponding communication channel 13 of the destination device 14, and can be used to send and receive messages, etc. to establish a connection, confirm and exchange any other information related to the communication link and / or data transmission such as encoded audio data, etc.

[0074] The decoder 30 is configured to receive the encoded audio data 21 and provide decoded audio data 31 .

[0075] The audio post-processor 32 is used to post-process the decoded audio data 31 to obtain the post-processed audio data 33. The post-processing performed by the audio post-processor 32 may include, for example, trimming or resampling.

[0076] The playback device 34 is used to receive the post-processed audio data 33 to play the audio to the user or listener. The playback device 34 can be or include any type of player for playing the reconstructed audio, such as an integrated or external speaker. For example, the speaker can include a speaker, a stereo, etc.

[0077] Figure 2 A schematic block diagram of an audio decoding device 200 used in the present application is given as an example. In one embodiment, the audio decoding device 200 may be an audio decoder (eg Figure 1 decoder 30) or an audio encoder (e.g. Figure 1encoder 20).

[0078] The audio decoding device 200 includes: an input port 210 and a receiving unit (Rx) 220 for receiving data, a processor, a logic unit or a central processing unit 230 for processing data, a transmitting unit (Tx) 240 and an output port 250 for transmitting data, and a memory 260 for storing data. The audio decoding device 200 may also include an optical-to-electrical conversion component and an electro-optical (EO) component coupled to the input port 210, the receiving unit 220, the transmitting unit 240 and the output port 250 for the output or input of optical or electrical signals.

[0079] The processor 230 is implemented by hardware and software. The processor 230 can be implemented as one or more CPU chips, cores (e.g., multi-core processors), FPGAs, ASICs, and DSPs. The processor 230 communicates with the input port 210, the receiving unit 220, the transmitting unit 240, the output port 250, and the memory 260. The processor 230 includes a decoding module 270 (e.g., an encoding module or a decoding module). The decoding module 270 implements the embodiments disclosed in the present application to implement the encoding and decoding method of the multi-channel audio signal provided in the present application. For example, the decoding module 270 implements, processes, or provides various encoding operations. Therefore, the decoding module 270 provides substantial improvements to the functions of the audio decoding device 200 and affects the conversion of the audio decoding device 200 to different states. Alternatively, the decoding module 270 is implemented by instructions stored in the memory 260 and executed by the processor 230.

[0080] The memory 260 includes one or more disks, tape drives, and solid-state drives, and can be used as an overflow data storage device for storing programs when these programs are selectively executed, and for storing instructions and data read during program execution. The memory 260 can be volatile and / or non-volatile, and can be a read-only memory (ROM), a random access memory (RAM), a ternary content-addressable memory (TCAM), and / or a static random access memory (SRAM).

[0081] Based on the description of the above embodiments, the present application provides a method for encoding and decoding a multi-channel audio signal.

[0082] Figure 3 300 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application. The process 300 may be performed by the source device 12 or the audio decoding device 200 in the audio decoding system 10. The process 300 is described as a series of steps or operations. It should be understood that the process 300 may be performed in various orders and / or may occur simultaneously, not limited to Figure 3The execution order shown in the figure is as follows. Figure 3 As shown, the method includes:

[0083] Step 301: Obtain a first audio frame to be encoded.

[0084] The first audio frame of this embodiment can be any frame in the multi-channel audio signal to be encoded, and the first audio frame includes five or more channel signals. For example, the 5.1 channel includes six channel signals, namely the center channel (C), the front left channel (left, L), the front right channel (right, R), the rear left surround channel (left surround, LS), the rear right surround channel (right surround, RS) and the 0.1 channel low frequency effects (low frequency effects, LFE). The 7.1 channel includes eight channel signals, namely C, L, R, LS, RS, LB, RB and LFE, wherein LFE is an audio channel from 3-120 Hz, which is usually sent to speakers designed specifically for low tones.

[0085] Step 302: Obtain a set of related values.

[0086] The correlation value set includes correlation values ​​of multiple channel pairs, wherein one channel pair includes two channel signals of at least five channel signals, and the correlation value of one channel pair is used to indicate the correlation between the two channel signals of the channel pair. Optionally, the multiple channel pairs may include all channel pairs corresponding to the at least five channel signals, or the multiple channel pairs may also include some channel pairs corresponding to the at least five channel signals, which is not specifically limited.

[0087] Encoding two channel signals with higher correlation together can reduce redundancy and improve coding efficiency. Therefore, in this embodiment, the pairing is determined based on the correlation value between the two channel signals. In order to find the channel pair set with the highest correlation as much as possible, the correlation value between two of the at least five channel signals in the first audio frame can be calculated to obtain the correlation value set of the first audio frame. For example, five channel signals can form a total of 10 channel pairs, and correspondingly, the correlation value set can include 10 correlation values.

[0088] Optionally, the correlation values ​​may be normalized so that the correlation values ​​of all channel pairs are limited to a specific range, so as to facilitate setting a unified judgment standard for the correlation values, such as a pair threshold. The pair threshold may be set to a value greater than or equal to 0.2 and less than or equal to 1, such as 0.3, 0.4, or 0.35, etc. In this way, as long as the normalized correlation value of the two channel signals is less than the pair threshold, it is considered that the correlation between the two channel signals is poor and does not require pair encoding.

[0089] In a possible implementation, the correlation value between two channel signals (eg, ch1 and ch2) may be calculated using the following formula:

[0090]

[0091] Among them, corr_norm(ch1,ch2) represents the normalized correlation value between channel signal ch1 and channel signal ch2, spec_ch1(i) represents the frequency domain coefficient of the i-th frequency point of channel signal ch1, spec_ch2(i) is the frequency domain coefficient of the i-th frequency point of channel signal ch2, and N represents the total number of frequency points of an audio frame.

[0092] It should be noted that other algorithms or formulas may also be used to calculate the correlation value between the two channel signals, and this application does not make any specific limitation on this.

[0093] Step 303: Select M correlation values ​​from the correlation value set.

[0094] The M correlation values ​​are all greater than other correlation values ​​in the correlation value set except the M correlation values, and the M correlation values ​​are all greater than or equal to the group pair threshold, and M is a positive integer less than or equal to a set value (e.g., N). In this embodiment, all correlation values ​​included in the correlation value set can be sorted in order from large to small, and the first M correlation values ​​in the front are selected therefrom. The M correlation values ​​must be greater than or equal to the group pair threshold, because the correlation value less than the group pair threshold indicates that the correlation between the two channel signals in the corresponding channel pair is low, and there is no need for group pair coding. In order to improve the coding efficiency, it is not necessary to select all the correlation values ​​greater than or equal to the group pair threshold, so an upper limit N of M is set, that is, at most N correlation values ​​can be selected.

[0095] N can be an integer greater than or equal to 2, and the maximum value of N cannot exceed the number of all channel pairs corresponding to all channel signals of the first audio frame. The larger the value of N, the more calculations will be required, while the smaller the value of N, the more likely the channel pair set will be lost, thereby reducing the coding efficiency.

[0096] Optionally, N can be set to the maximum channel pair plus one, that is, CH represents the number of channel signals included in the first audio frame. For example, if the 5.1 channel includes five channel signals (excluding the LFE channel), then N=3; if the 7.1 channel includes seven channel signals (excluding the LFE channel), then N=4.

[0097] If the correlation value set does not include a correlation value greater than or equal to the pair threshold, the subsequent steps do not need to be performed, and each channel signal of the first audio frame can be mono-encoded. If M correlation values ​​are selected from the correlation value set, the following steps can be performed.

[0098] Step 304: Obtain M channel pair sets.

[0099] Each channel pair set includes at least one of the M channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not contain the same channel signal. For example, for 5.1 channels, the three channel pairs corresponding to the maximum correlation value selected from the correlation value set are (L, R), (R, C) and (LS, RS), where the correlation value of (LS, RS) is less than the pair threshold, so it is excluded. Then the remaining two channel pairs (L, R) and (R, C) can obtain two channel pair sets, one of which includes (L, R) and the other includes (R, C).

[0100] Taking any one of the M channel pairs corresponding to the M correlation values ​​(for example, the first channel pair) as an example, the method for obtaining the M channel pair sets in this embodiment may include: adding the first channel pair to the first channel pair set, the M channel pair sets including the first channel pair set; when other channel pairs among the multiple channel pairs except the associated channel pair include a channel pair whose correlation value is greater than the group pair threshold, selecting a channel pair with the largest correlation value from the other channel pairs to add to the first channel pair set, and the associated channel pair includes any one of the channel signals included in the channel pair that has been added to the first channel pair set.

[0101] Except for the step of adding the first channel pair to the first channel pair set, the above process is an iterative processing step.

[0102] a. Determine whether other channel pairs among the plurality of channel pairs, excluding the associated channel, include a channel pair whose correlation value is greater than the pairing threshold.

[0103] b. If the channel pair includes a correlation value greater than the pair threshold, a channel pair with the largest correlation value is selected from other channel pairs and added to the first channel pair set.

[0104] At this time, as long as the other channel pairs include a channel pair whose correlation value is greater than the pair threshold, the above step b can be iteratively performed.

[0105] Optionally, in order to reduce the amount of calculation, the correlation values ​​that are less than the group pair threshold may be deleted from the correlation value set, which may reduce the number of channel pairs and further reduce the number of iterations.

[0106] Step 305: Determine a target channel pair set from the M channel pair sets.

[0107] The sum of the correlation values ​​of all channel pairs in the target channel pair set is the largest among the M channel pair sets. After obtaining the above M channel pair sets, the sum of the correlation values ​​of all channel pairs included in each channel pair set can be calculated, and finally the channel pair set with the largest sum of the correlation values ​​is determined as the target channel pair set.

[0108] Step 306: Encode the first audio frame according to the target channel pair set.

[0109] The process of encoding the first audio frame according to the target channel pair set can be referred to as follows Figure 4 The embodiments shown will not be described in detail here.

[0110] Optionally, this embodiment may perform energy equalization processing on at least five channel signals in the first audio frame before encoding the first audio frame, especially before performing stereo processing on at least five channel signals of the first audio frame, to obtain at least five balanced channel signals, and then perform stereo processing on the at least five balanced channel signals. At this time, the encoded object is related to the balanced channel signal.

[0111] The energy balancing mode may include a first energy balancing mode and / or a second energy balancing mode, wherein the first energy balancing mode uses only two channel signals in a channel pair to obtain two balanced channel signals corresponding to a channel pair. The second energy balancing mode uses two channel signals in a channel pair and at least one channel signal external to a channel to obtain two balanced channel signals corresponding to a channel pair.

[0112] When the energy balancing mode is the first energy balancing mode, the average value of the energy or amplitude value of the two channel signals contained in the current channel pair in the target channel pair set can be calculated, and the two channel signals are respectively subjected to energy balancing processing according to the average value to obtain the corresponding two balanced channel signals. In this way, when the fluctuation interval value of at least five channel signals is large, energy balancing can be performed only between the two related channel signals, so that the allocation of bits during stereo processing is more in line with the energy characteristics of the channel signals, avoiding the problem that the coding noise of the channel pair with large energy may be much greater than the coding noise of the channel pair with small energy due to insufficient bits in a low bit rate coding environment, and the bits of the channel pair with small energy will be redundant.

[0113] When the energy balancing mode is the second energy balancing mode, an average value of energy or amplitude values ​​of at least five channel signals may be calculated, and energy balancing processing is performed on the at least five channel signals according to the average value to obtain at least five balanced channel signals.

[0114] This embodiment obtains the sum of correlation values ​​of multiple channel pair sets as much as possible, and then determines the channel pair set corresponding to the maximum sum of correlation values ​​as the target channel pair set, so as to maximize the sum of correlation values ​​of all channel pairs included in the target channel pair set, increase the number of grouped channel pairs as much as possible, reduce redundancy between channel signals, and improve audio coding efficiency.

[0115] The following two specific embodiments are used to illustrate the Figure 3 The process of how to obtain the target channel pair set in the method embodiment shown is described.

[0116] Figure 4 is an exemplary structural diagram of an encoding device used in the encoding method of a multi-channel audio signal provided in the present application. The encoding device may be an encoder 20 of a source device 12 in an audio decoding system 10, or a decoding module 270 in an audio decoding device 200. The encoding device may include a channel pair set generation module, a multi-channel processing module, a channel encoding module, and a bitstream multiplexing interface, wherein:

[0117] The input of the channel pair set generation module is n channel signals (CH1-CHn) of multi-channel audio, where n is an integer greater than or equal to 5, and the n channel signals can all be processed in stereo. The channel pair set generation module calculates the correlation value between any two channel signals in the n channel signals, and then adopts the correlation value according to the correlation value. Figure 3 The method of the illustrated embodiment obtains a target channel pair set, for example, (CH1, CH2), (CH3, CH4), ..., (CHi-1, CHi).

[0118] The multi-channel processing module includes multiple stereo processing units, which can adopt prediction-based or Karhunen-Loeve Transform (KLT)-based processing, that is, the input two channel signals are rotated (for example, via a 2×2 rotation matrix) to maximize energy compression, thereby concentrating the signal energy in one channel.

[0119] Each channel pair in the target channel pair set output by the channel pair set generation module is input into a stereo processing unit, for example, (CH1, CH2) is input into stereo processing unit 1, (CH3, CH4) is input into stereo processing unit 2, ..., (CHi-1, CHi) is input into stereo processing unit m. After processing the two input channel signals, the stereo processing unit outputs the processed channel signal (P) and multi-channel parameters (SIDE_PAIR) corresponding to the two channel signals. The multi-channel parameters include channel pair index, energy balance side information, and stereo processing side information. For example, stereo processing unit 1 processes CH1 and CH2 to obtain P1 and P2, and SIDE_PAIR1, stereo processing unit 2 processes CH3 and CH4 to obtain P3 and P4, and SIDE_PAIR2, ..., stereo processing unit m processes CHi-1 and CHi to obtain Pi-1 and Pi, and SIDE_PAIRm.

[0120] The channel encoding module uses a mono encoding unit (or a mono channel box, a mono tool) to encode the processed channel signal output by the multi-channel processing module and output the corresponding encoded channel signal (E). During the encoding of the channel signal by the mono encoding unit, more bits are allocated to the channel signal with higher energy (or higher amplitude), and fewer bits are allocated to the channel signal with less energy (or less amplitude). Optionally, the channel encoding module can also use a stereo encoding unit, such as a parametric stereo encoder or a lossy stereo encoder to encode the processed channel signal output by the multi-channel processing module. For example, P1, P2, P3, P4, ..., Pi1, Pi are respectively encoded by a mono encoding unit to obtain E1, E2, E3, E4, ..., Ei1, Ei.

[0121] It should be noted that the unpaired channel signals (eg CHj) in the channel pair set generation module do not need to be processed by the stereo processing unit in the multi-channel processing module, and can be directly input into a mono encoding unit in the channel encoding module to obtain Ej.

[0122] The code stream multiplexing interface generates a coded multi-channel signal, which includes the coded channel signal output by the channel encoding module and the multi-channel parameters output by the multi-channel processing module. For example, the coded multi-channel signal includes E1, E2, E3, E4, ..., Ei1, Ei, and SIDE_PAIR1, SIDE_PAIR2, ..., SIDE_PAIRm. Optionally, the code stream multiplexing interface can process the coded multi-channel signal into a serial signal or a serial bit stream.

[0123] As described above, the processing flow for obtaining the target channel pair set provided by the present application can be as follows: Figure 4The channel pair set generation module in the encoding device shown is implemented.

[0124] Embodiment 1

[0125] Taking 5.1 channels as an example, the 5.1 channels include a center channel (C), a front left channel (left, L), a front right channel (right, R), a rear left surround channel (left surround, LS), a rear right surround channel (right surround, RS) and a 0.1 channel low frequency effects (LFE). For these channels, the channel pair set generation module can use a multi-channel mask to remove channels that do not need to be processed by multi-channel to improve coding efficiency. The LFE channel can be removed from the 5.1 channel, so the channel signals input to the channel pair set generation module include C, L, R, LS and RS. The method for obtaining a target channel pair set may include the following steps:

[0126] (1) Calculate the correlation value between any two of the five channel signals.

[0127] The present application may use the following formula to calculate the correlation value between two channel signals (eg, channel signal ch1 and channel signal ch2):

[0128]

[0129] Among them, corr_norm(ch1,ch2) represents the normalized correlation value between channel signal ch1 and channel signal ch2, spec_ch1(i) represents the frequency domain coefficient of the i-th frequency point of channel signal ch1, spec_ch2(i) is the frequency domain coefficient of the i-th frequency point of channel signal ch2, and N represents the total number of frequency points of an audio frame.

[0130] In this embodiment, there are five channel signals participating in the 5.1 channel pairing, so the obtained correlation value set can include at most Table 1 shows an example of a set of correlation values ​​for 5.1 channels.

[0131] Table 1

[0132] Channel signal\correlation value R C LS RS L 0.36 0.47 0.39 0.27 R 0.57 0.22 0.08 C 0.31 0.26 LS 0.42

[0133] The pairing threshold is set to 0.3. Only two channel signals with correlation values ​​greater than 0.3 can be paired. Therefore, the correlation values ​​less than the pairing threshold in Table 1 are deleted to obtain Table 1a. In this way, channel signals with smaller correlation can be ignored during the iterative processing, thereby reducing the amount of calculation.

[0134] Table 1a

[0135]

[0136] N is set to the maximum channel logarithm plus one, that is Select N=3 largest correlation values ​​from Table 1a, for example, from largest to smallest, they are 0.57 (R, C), 0.47 (L, C), and 0.42 (LS, RS), and these three correlation values ​​are all greater than the pair threshold of 0.3.

[0137] (2) The first iterative process

[0138] (R, C) is the first channel pair added to the first channel pair set, and the relevant values ​​of the channel pairs including R and / or C are deleted from Table 1a to obtain Table 1b.

[0139] Table 1b

[0140]

[0141] The maximum correlation value in Table 1b is 0.42 (LS, RS), so LS and RS are combined into the second channel pair and added to the first channel pair set. At this time, only one channel signal L is left out of the five channel signals, and it is impossible to continue pairing. Therefore, the final first channel pair set includes two channel pairs (R, C) and (LS, RS).

[0142] The sum of the correlation values ​​of the first channel pair set is calculated as S(1)=0.57+0.42=0.99.

[0143] (3) Second iterative processing flow

[0144] (L, C) is the first channel pair added to the second channel pair set, and the relevant values ​​of the channel pairs including L and / or C are deleted from Table 1a to obtain Table 1c.

[0145] Table 1c

[0146]

[0147] The maximum correlation value in Table 1c is 0.42 (LS, RS), so LS and RS are combined into a second channel pair and added to the second channel pair set. At this time, only one channel signal R is left out of the five channel signals, and it is impossible to continue pairing. Therefore, the final second channel pair set includes two channel pairs (L, C) and (LS, RS).

[0148] The sum of the correlation values ​​of the first channel pair set is calculated as S(2)=0.47+0.42=0.89.

[0149] (4) The third iterative process

[0150] (LS, RS) is the first channel pair added to the third channel pair set. The relevant values ​​of the channel pairs including LS and / or RS are deleted from Table 1a to obtain Table 1d.

[0151] Table 1d

[0152]

[0153] The maximum correlation value in Table 1d is 0.57 (R, C), so R and C are combined into the second channel pair and added to the third channel pair set. At this time, only one channel signal L is left out of the five channel signals, and it is impossible to continue pairing. Therefore, the final third channel pair set includes two channel pairs (LS, RS) and (R, C).

[0154] The sum of the correlation values ​​of the first channel pair set is calculated as S(3)=0.42+0.57=0.99.

[0155] (5) Obtain the target channel pair set

[0156] The largest of S(1), S(2) and S(3) are S(1) and S(3), and the channel pairs contained in the two channel pair sets corresponding to them are the same. Therefore, the channel pair set corresponding to S(1) (or S(3)) is used as the target channel pair set, that is, the channel pairs that can be obtained by 5.1 channels in this embodiment include (L, C) and (LS, RS). The target channel pair set can be represented by an index, and index values ​​can be set for the channel pairs corresponding to all the relevant values ​​in Table 1. After the target channel pair set is determined, the channel pairs in the target channel pair set can be represented by the corresponding index values ​​to save the number of bits in the bit stream.

[0157] Embodiment 2

[0158] Taking 7.1 channels as an example, the 7.1 channels include C, L, R, LS, RS, left back channel (LB), right back channel (RB) and LFE. For these channels, the channel pair set generation module can use a multi-channel mask to remove channels that do not need to be processed by multi-channel to improve coding efficiency. The LFE channel can be removed from the 7.1 channel, so the channel signals input to the channel pair set generation module include C, L, R, LS, RS, LB and RB. The method for obtaining a target channel pair set may include the following steps:

[0159] (1) Calculate the correlation value between any two of the seven channel signals.

[0160] This embodiment may also use the formula in the above-mentioned embodiment 1 to calculate the correlation value between the two channel signals.

[0161] In this embodiment, there are seven channel signals participating in the 7.1 channel pairing, so the obtained correlation value set can include at most Table 2 shows an example of a set of correlation values ​​for 7.1 channels.

[0162] Table 2

[0163] Channel signal\correlation value R C LS RS LB RB L 0.36 0.47 0.39 0.27 0.43 0.24 R 0.57 0.22 0.08 0.19 0.21 C 0.31 0.26 0.36 0.07 LS 0.42 0.67 0.03 RS 0.64 0.07 LB 0.19

[0164] The pairing threshold is set to 0.3, that is, only two channel signals with a correlation value greater than 0.3 can be paired. Therefore, the correlation values ​​less than the pairing threshold in Table 2 are deleted to obtain Table 2a. In this way, channel signals with less correlation can be ignored during the iterative processing, thereby reducing the amount of calculation.

[0165] Table 2a

[0166]

[0167] N is set to the maximum channel logarithm plus one, that is Select N=4 largest correlation values ​​from Table 2a, for example, from large to small, they are 0.67 (LS, LB), 0.64 (RS, LB), 0.57 (R, C), and 0.47 (L, C). These four correlation values ​​are all greater than the pair threshold of 0.3.

[0168] (2) The first iterative process

[0169] (LS, LB) is the first channel pair added to the first channel pair set, and the relevant values ​​of the channel pairs including LS and / or LB are deleted from Table 2a to obtain Table 2b.

[0170] Table 2b

[0171]

[0172] The maximum correlation value in Table 2b is 0.57 (R, C), so R and C are combined into a second channel pair and added to the first channel pair set. The correlation values ​​of the channel pairs containing R and / or C are deleted from Table 2b to obtain Table 2c.

[0173] Table 2c

[0174]

[0175] There are no more relevant values ​​available in Table 2c, so the final first channel pair set includes two channel pairs (LS, LB) and (R, C).

[0176] The sum of the correlation values ​​of the first channel pair set is calculated as S(1)=0.67+0.57=1.24.

[0177] (3) Second iterative processing flow

[0178] (RS, LB) is the first channel pair added to the second channel pair set, and the relevant values ​​of the channel pairs including RS and / or LB are deleted from Table 2a to obtain Table 2d.

[0179] Table 2d

[0180]

[0181] The maximum correlation value in Table 2d is 0.57 (R, C), so R and C form a second channel pair and are added to the second channel pair set. The correlation values ​​of the channel pairs containing R and / or C are deleted from Table 2d to obtain Table 2e.

[0182] Table 2e

[0183]

[0184] The largest correlation value in Table 2e is 0.39 (L, LS), so L and LS are combined into a third channel pair and added to the second channel pair set. The correlation values ​​of the channel pairs containing L and / or LS are deleted from Table 2e to obtain Table 2f.

[0185] Table 2f

[0186]

[0187] There are no more relevant values ​​available in Table 2f, so the final first channel pair set includes three channel pairs (RS, LB), (R, C) and (L, LS).

[0188] The sum of the correlation values ​​of the second channel pair set is calculated as S(2)=0.64+0.57+0.39=1.6.

[0189] (4) The third iterative process

[0190] (R, C) is the first channel pair added to the third channel pair set, and the relevant values ​​of the channel pairs including R and / or C are deleted from Table 2a to obtain Table 2g.

[0191] Table 2g

[0192]

[0193] The maximum correlation value in Table 2g is 0.67 (LS, LB), so LS and LB are combined into a second channel pair and added to the third channel pair set. The correlation values ​​of the channel pairs containing LS and / or LB are deleted from Table 2g to obtain Table 2h.

[0194] Table 2h

[0195]

[0196] There are no more relevant values ​​available in Table 2h, so the final first channel pair set includes two channel pairs (R, C) and (LS, LB).

[0197] The sum of the correlation values ​​of the second channel pair set is calculated as S(3)=0.57+0.67=1.24.

[0198] (5) The fourth iterative process

[0199] (L, C) is the first channel pair added to the fourth channel pair set, and the relevant values ​​of the channel pairs including L and / or C are deleted from Table 2a to obtain Table 2i.

[0200] Table 2i

[0201]

[0202] The maximum correlation value in Table 2i is 0.67 (LS, LB), so LS and LB are combined into the second channel pair and added to the fourth channel pair set. The correlation values ​​of the channel pairs containing LS and / or LB are deleted from Table 2i to obtain Table 2j.

[0203] Table 2j

[0204]

[0205] There are no more relevant values ​​available in Table 2j, so the final first channel pair set includes two channel pairs (L, C) and (LS, LB).

[0206] The sum of the correlation values ​​of the second channel pair set is calculated as S(4)=0.47+0.67=1.14.

[0207] (6) Obtain the target channel pair set

[0208] The largest of S(1), S(2), S(3) and S(4) is S(2), so the channel pair set corresponding to S(2) is used as the target channel pair set, that is, the channel pairs that can be obtained for 7.1 channels in this embodiment include (RS, LB), (R, C) and (L, LS).

[0209] Compared with the first embodiment, the second embodiment has one more iterative processing process, and the number of channel pairs included in the target channel pair set is also one more, which is related to the number of channel signals involved in the pairing.

[0210] Figure 5500 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application. The process 500 may be performed by the source device 12 or the audio decoding device 200 in the audio decoding system 10. The process 500 is described as a series of steps or operations. It should be understood that the process 500 may be performed in various orders and / or occur simultaneously, not limited to Figure 5 The execution order shown in the figure is as follows. Figure 5 As shown, the method includes:

[0211] Step 501: Obtain a first audio frame to be encoded.

[0212] Step 502: Obtain a set of related values.

[0213] Steps 501 and 502 of this embodiment may refer to the above-mentioned steps 301 and 302, which will not be described in detail here.

[0214] Step 503: Acquire multiple channel pair sets according to the multiple channel pairs.

[0215] The correlation value set includes correlation values ​​of multiple channel pairs of at least five channel signals of the first audio frame. By regularly combining the multiple channel pairs (i.e., multiple channel pairs in the same channel pair set cannot contain the same channel signal), multiple channel pair sets corresponding to the at least five channel signals can be obtained.

[0216] In a possible implementation, when the number of channel signals is an odd number, the following formula may be used to calculate the number of all channel pair sets:

[0217]

[0218] In a possible implementation, when the number of channel signals is an even number, the following formula may be used to calculate the number of all channel pair sets:

[0219]

[0220] Pair_num represents the number of all channel pair sets, and CH represents the number of channel signals participating in multi-channel processing in the first audio frame, which is the result after multi-channel mask screening.

[0221] Optionally, in order to reduce the amount of calculation, after obtaining the correlation value set, multiple channel pair sets can be obtained based on the other channel pairs except the correlated channels among the multiple channel pairs, and the correlation value of the non-correlated channel pair is less than the group pair threshold. In this way, when obtaining the channel pair set, the number of channel pairs participating in the calculation can be reduced, thereby reducing the number of channel pair sets, and the amount of calculation of the sum of the correlation values ​​can also be reduced in subsequent steps.

[0222] Optionally, in order to reduce the amount of calculation, after obtaining the correlation value set, the channel signals whose correlation values ​​with other channel signals are less than the pairing threshold can be deleted, that is, such channel signals are not considered for pairing. When obtaining the channel pair set, the number of channel pairs participating in the calculation can be reduced, thereby reducing the number of channel pair sets, and the amount of calculation of the sum of the correlation values ​​can also be reduced in subsequent steps.

[0223] Step 504: Obtain, according to the correlation value set, the sum of the correlation values ​​of all channel pairs included in each channel pair set of the multiple channel pair sets.

[0224] For each channel pair set, the sum of the correlation values ​​of all channel pairs included in the channel pair set is calculated.

[0225] Step 505: Determine a target channel pair set.

[0226] Step 506: Encode the first audio frame according to the target channel pair set.

[0227] Steps 505 and 506 of this embodiment may refer to the above-mentioned steps 305 and 306, which will not be described in detail here.

[0228] This embodiment obtains the sum of correlation values ​​of multiple channel pair sets as much as possible, and then determines the channel pair set corresponding to the maximum sum of correlation values ​​as the target channel pair set, so as to maximize the sum of correlation values ​​of all channel pairs included in the target channel pair set, increase the number of grouped channel pairs as much as possible, reduce redundancy between channel signals, and improve audio coding efficiency.

[0229] The following is a specific example of Figure 5 The process of how to obtain the target channel pair set in the method embodiment shown is described. Figure 4 The channel pair set generation module in the encoding device shown is implemented.

[0230] Embodiment 3

[0231] Taking 5.1 channels as an example, the 5.1 channels include C, L, R, LS, RS and LFE. For these channels, the channel pair set generation module can use a multi-channel mask to remove channels that do not need to be processed by multi-channel to improve coding efficiency. The LFE channel can be removed from the 5.1 channels, so the channel signals input to the channel pair set generation module include C, L, R, LS and RS. The method for obtaining a target channel pair set may include the following steps:

[0232] (1) Calculate the correlation value between any two of the five channel signals.

[0233] This embodiment may also use the formula in the above-mentioned embodiment 1 to calculate the correlation value between the two channel signals.

[0234] In this embodiment, there are five channel signals participating in the 5.1 channel pairing, so the obtained correlation value set can include at most The correlation values ​​of the channel pairs are shown in Table 1.

[0235] (2) Calculate the sum of the correlation values ​​of all channel pairs corresponding to the five channel signals.

[0236] As shown in Table 1, five channel signals can obtain 10 correlation values, and accordingly, 10 channel pairs can be obtained, and then the 10 channel pairs can obtain a maximum of A set of channel pairs. For example, {(L,R),(LS,RS)}, {(L,R),(C,RS)}, {(L,R),(LS,C)}, …

[0237] For the channel pair set S(i), the sum of the correlation values ​​of all channel pairs included in S(i) is calculated, 1≤i≤15. For example, S(1)=corr(L,R)+corr(LS,RS), S(2)=corr(L,R)+corr(C,RS), S(3)=corr(L,R)+corr(LS,C), ...

[0238] Optionally, when calculating the sum of correlation values, if the correlation value of a channel pair is less than the pair threshold, the correlation value of the channel pair may be set to 0.

[0239] Optionally, in order to reduce the amount of calculation, before obtaining the channel pair set, the channel pairs whose correlation values ​​are less than the pair threshold may be excluded, so that the number of channel pairs can be reduced when obtaining the channel pair set, thereby reducing the number of channel pair sets.

[0240] Figure 6 600 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application. The process 600 may be performed by the source device 12 or the audio decoding device 200 in the audio decoding system 10. The process 600 is described as a series of steps or operations. It should be understood that the process 600 may be performed in various orders and / or may occur simultaneously, not limited to Figure 6 The execution order shown in the figure is as follows. Figure 6 As shown, the method includes:

[0241] Step 601: Obtain a first audio frame to be encoded.

[0242] Step 601 may refer to the above-mentioned step 301 and will not be described in detail here.

[0243] Step 602: Obtain a correlation value set of a first audio frame.

[0244] The correlation value set of the first audio frame includes correlation values ​​of a plurality of channel pairs, one channel pair includes two channel signals of at least five channel signals, and the correlation value of one channel pair is used to indicate the correlation between the two channel signals of one channel pair.

[0245] Step 603: Obtain a correlation value set of the second audio frame.

[0246] The correlation value set of the second audio frame includes the correlation values ​​of multiple channel pairs of the second audio frame, one channel pair includes two channel signals of at least five channel signals of the second audio frame, the correlation value of a channel pair is used to represent the correlation between the two channel signals of a channel pair, and the second audio frame is the previous frame of the first audio frame.

[0247] The difference between this embodiment and the above step 302 is that, in addition to obtaining the correlation value set of the first audio frame, this embodiment also needs to obtain the correlation value set of the previous frame (ie, the second audio frame) of the first audio frame.

[0248] The method for obtaining the correlation value set of the first audio frame may refer to the above step 302, which will not be described in detail here.

[0249] Since the encoding of the second audio frame occurs before the encoding of the first audio frame, when processing the first audio frame, the encoding device has already obtained relevant information for encoding the second audio frame, including a set of correlation values ​​of the second audio frame. Therefore, in this embodiment, the set of correlation values ​​of the second audio frame can be directly read from a cache or memory, and there is no need to calculate the set of correlation values ​​of the second audio frame again.

[0250] Step 604: Determine whether it is necessary to reacquire a target channel pair set for the first audio frame according to the correlation value set of the first audio frame and the correlation value set of the second audio frame.

[0251] In this embodiment, the sum of the difference between the correlation value set of the first audio frame and the correlation value set of the second audio frame can be calculated as the judgment basis, that is, the absolute value of the difference between the correlation values ​​corresponding to the same channel pair in the correlation value set of the first audio frame and the correlation value set of the second audio frame is calculated, and the sum of the absolute values ​​corresponding to multiple channel pairs is calculated. When the sum of the absolute values ​​is less than the change threshold, it is determined that there is no need to re-acquire the target channel pair set of the first audio frame; when the sum of the absolute values ​​is greater than or equal to the change threshold, it is determined that the target channel pair set of the first audio frame needs to be re-acquired.

[0252] Corresponding to the same channel pair, the correlation value difference is calculated respectively, and then the sum of the absolute values ​​of the difference of all channel pairs is calculated, so that it can be obtained whether the change of the correlation value between the channel signals of the first audio frame relative to the second audio frame exceeds the change threshold. If it does not exceed, it means that the change from the second audio frame to the first audio frame is not large, and there is no need to re-establish the target channel pair set for the first audio frame, which reduces the amount of calculation and improves the encoding efficiency. If it exceeds, it means that the change from the second audio frame to the first audio frame is large, and it is necessary to re-acquire the target channel pair set of the first audio frame.

[0253] Step 605: If it is necessary to reacquire the target channel pair set of the first audio frame, use Figure 3 or Figure 5 The method of the illustrated embodiment obtains a target channel pair set of a first audio frame, and encodes the first audio frame according to the target channel pair set.

[0254] In this embodiment, when determining the target channel pair set for reacquiring the first audio frame, the following method can be used: Figure 3 or Figure 5 The method in the illustrated embodiment obtains a set of correlation values ​​for the first audio frame, which will not be described in detail here.

[0255] Step 606: If it is not necessary to reacquire the target channel pair set of the first audio frame, determine the target channel pair set of the second audio frame as the target channel pair set of the first audio frame, and encode the first audio frame according to the target channel pair set.

[0256] In this embodiment, when it is determined that there is no need to re-acquire the target channel pair set of the first audio frame, the target channel pair set of the second audio frame may be directly used as the target channel pair set of the first audio frame, thereby reducing the amount of calculation and improving the encoding efficiency.

[0257] This embodiment determines whether it is necessary to re-acquire the target channel pair set of the current frame by obtaining the sum of the differences between the correlation value set of the current audio frame and the correlation value set of the previous audio frame. This can greatly reduce the amount of calculation and improve the encoding efficiency when the audio changes slightly. Even if the audio changes significantly and the target channel pair set needs to be re-acquired, the sum of the correlation values ​​of multiple channel pair sets can be obtained as much as possible, and then the channel pair set corresponding to the maximum sum of correlation values ​​is determined as the target channel pair set. This can achieve the maximum sum of the correlation values ​​of all channel pairs included in the target channel pair set, and increase the number of grouped channel pairs as much as possible, reduce the redundancy between channel signals, and improve the audio encoding efficiency.

[0258] The following is a specific example of Figure 6 The process of how to obtain the target channel pair set in the method embodiment shown is described. Figure 4The channel pair set generation module in the encoding device shown is implemented.

[0259] Embodiment 4

[0260] Taking 5.1 channels as an example, the 5.1 channels include C, L, R, LS, RS and LFE. For these channels, the channel pair set generation module can use a multi-channel mask to remove channels that do not need to be processed by multi-channel to improve coding efficiency. The LFE channel can be removed from the 5.1 channels, so the channel signals input to the channel pair set generation module include C, L, R, LS and RS. The method for obtaining a target channel pair set may include the following steps:

[0261] (1) Calculate the correlation value between any two of the five channel signals.

[0262] This embodiment may also use the formula in the above-mentioned embodiment 1 to calculate the correlation value between the two channel signals.

[0263] In this embodiment, there are five channel signals participating in the 5.1 channel pairing, so the obtained correlation value set can include at most The correlation values ​​of the channel pairs are shown in Table 1.

[0264] (2) Calculate the sum of the differences between the correlation value set of the first audio frame and the correlation value set of the second audio frame.

[0265] In this embodiment, the correlation value set of the first audio frame and the correlation value set of the second audio frame are expressed in the form of matrices, and matrices Matrix1 and Matrix2 are obtained respectively. The value of each element in the matrix corresponds to a correlation value in the correlation value set, and the sum of the differences can be calculated by the following formula:

[0266]

[0267] Among them, D represents the sum of the differences between the correlation value set of the first audio frame and the correlation value set of the second audio frame, Matrix1(i) represents the i-th element value in the matrix corresponding to the correlation value set of the first audio frame, and Matrix2(i) represents the i-th element value in the matrix corresponding to the correlation value set of the second audio frame.

[0268] (3) Determine whether it is necessary to reacquire the target channel pair set of the first audio frame according to the sum D of the correlation values.

[0269] This embodiment sets a change threshold value, and determines whether it is necessary to re-acquire the target channel pair set of the first audio frame by using the threshold value. Optionally, this embodiment may also set a flag keepFlag, when keepFlag=1, it indicates that the first audio frame can retain the target channel pair set of the previous frame, that is, it is not necessary to re-acquire the target channel pair set of the first audio frame; when keepFlag=0, it indicates that the first audio frame cannot retain the target channel pair set of the previous frame, that is, it is necessary to re-acquire the target channel pair set of the first audio frame.

[0270] Based on the above settings, when D<change threshold, keepFlag=1; when D≥change threshold, keepFlag=0.

[0271] (4) Obtain the target channel pair set for the first audio frame

[0272] According to the value of the above-mentioned flag keepFlag, the encoding device can obtain the target channel pair set of the first audio frame, that is, when keepFlag=1, the encoding device directly uses the target channel pair set of the second audio frame as the target channel pair set of the first audio frame; when keepFlag=0, the encoding device can use Figure 3 or Figure 5 The method of the illustrated embodiment obtains a target channel pair set of the first audio frame, which will not be described in detail here.

[0273] Figure 7 700 is a flowchart of an exemplary embodiment of a method for encoding a multi-channel audio signal provided by the present application. The process 700 may be performed by the source device 12 or the audio decoding device 200 in the audio decoding system 10. The process 700 is described as a series of steps or operations. It should be understood that the process 700 may be performed in various orders and / or may occur simultaneously, not limited to Figure 7 The execution order shown in the figure is as follows. Figure 7 As shown, the method includes:

[0274] Step 701: Obtain a first audio frame to be encoded, where the first audio frame includes K channel signals.

[0275] Step 701 may refer to the above-mentioned step 301 and will not be described in detail here.

[0276] Step 702: When K is greater than the channel signal quantity threshold, use Figure 3 The method of the illustrated embodiment encodes a first audio frame.

[0277] Step 703: When K is less than or equal to the channel signal quantity threshold, use Figure 5 The method of the illustrated embodiment encodes a first audio frame.

[0278] This embodiment is different from the above Figure 3 or Figure 5 The difference of the embodiment shown is that the present embodiment will Figure 3 and Figure 5 The method of fusion is used, that is, according to the number of channel signals contained in the first audio frame, it is determined which method is used to obtain the target channel pair set for the first audio frame. When the number of channel signals contained in the first audio frame is large, if the method of the second aspect is used, it is necessary to exhaustively enumerate all target channel pair sets, which will increase the amount of calculation. Therefore, the method of the first aspect will reduce a lot of calculation at this time. When the number of channel signals contained in the first audio frame is small, the method of the second aspect can obtain the sum of the correlation values ​​of all channel pair sets, ensuring that the target channel pair set finally selected must be the optimal result that best meets the characteristics of the first audio frame.

[0279] Figure 8 is an exemplary structural diagram of a decoding device used in the decoding method of a multi-channel audio signal provided in the present application. The decoding device may be a decoder 30 of a destination device 14 in an audio decoding system 10, or a decoding module 270 in an audio decoding device 200. The decoding device may include a code stream demultiplexing interface, a channel decoding module, and a multi-channel processing module, wherein:

[0280] The bitstream demultiplexing interface receives the encoded multi-channel signal (e.g., serial bitstream bitstream) from the encoding device, and obtains the encoded channel signal (E) and multi-channel parameters (SIDE_PAIR) after demultiplexing, for example, E1, E2, E3, E4, ..., Ei1, Ei, and SIDE_PAIR1, SIDE_PAIR2, ..., SIDE_PAIRm.

[0281] The channel decoding module uses a mono decoding unit (or a mono channel box, a mono tool) to decode the coded channel signal output by the code stream demultiplexing interface and output a decoded channel signal (D). For example, E1, E2, E3, E4, ..., Ei1, Ei are respectively decoded by a mono decoding unit to obtain E1 and decoded to obtain D1, D2, D3, D4, ..., Di1, Di.

[0282] The multi-channel processing module includes multiple stereo processing units, which can adopt prediction-based or KLT-based processing, that is, the input two channel signals are de-rotated (eg, via a 2×2 rotation matrix) to transform the signals to the original signal direction.

[0283] The decoded channel signals output by the channel decoding module can identify which two decoded channel signals are paired by means of multi-channel parameters, and the paired decoded channel signals are input into the stereo processing unit. After the stereo processing unit processes the two input decoded channel signals, it outputs the channel signals (CH) corresponding to the two decoded channel signals. For example, stereo processing unit 1 processes D1 and D2 according to SIDE_PAIR1 to obtain CH1 and CH2, stereo processing unit 2 processes D3 and D4 according to SIDE_PAIR2 to obtain CH3 and CH4, ..., stereo processing unit m processes Di-1 and Di according to SIDE_PAIRm to obtain CHi-1 and CHi.

[0284] It should be noted that the unpaired channel signals (eg CHj) do not need to be processed by the stereo processing unit in the multi-channel processing module and can be directly output after being decoded.

[0285] Fig. 9 This is a schematic diagram of the structure of an embodiment of the encoding device of the present application, such as Fig. 9 As shown, the device can be applied to the source device 12 or the audio decoding device 200 in the above embodiment. The encoding device of this embodiment may include: an acquisition module 901, an encoding module 902 and a determination module 903.

[0286] In a possible implementation, an acquisition module 901 is configured to acquire a first audio frame to be encoded, the first audio frame including at least five channel signals; acquire a correlation value set, the correlation value set including correlation values ​​of multiple channel pairs, one channel pair including two channel signals of the at least five channel signals, the correlation value of the one channel pair being used to represent the correlation between the two channel signals of the one channel pair; select M correlation values ​​from the correlation value set, the M correlation values ​​are all greater than other correlation values ​​in the correlation value set except the M correlation values, and the M correlation values ​​are all greater than or equal to a channel pair threshold, M being a positive integer less than or equal to a set value; obtaining M channel pair sets, each of the channel pair sets including at least one of the M channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not contain the same channel signal; a determination module 903, configured to determine a target channel pair set from the M channel pair sets, the sum of the correlation values ​​of all channel pairs in the target channel pair set being the largest among the M channel pair sets; and an encoding module 902, configured to encode the first audio frame according to the target channel pair set.

[0287] In a possible implementation, the M channel pair sets include a first channel pair set; the acquisition module 901 is specifically configured to add a first channel pair among the M channel pairs to the first channel pair set, where the first channel pair is any one of the M channel pairs; when other channel pairs among the multiple channel pairs except the associated channel pair include channel pairs whose correlation values ​​are greater than the pair group threshold, select a channel pair with the largest correlation value from the other channel pairs to add to the first channel pair set, where the associated channel pair includes any one of the channel signals included in the channel pair that has been added to the first channel pair set.

[0288] In a possible implementation, the acquisition module 901 is specifically used to select N correlation values ​​from the correlation value set, and the N correlation values ​​are all greater than other correlation values ​​in the correlation value set except the N correlation values, and N is the set value; select correlation values ​​greater than or equal to the group pair threshold from the N correlation values, and the number of correlation values ​​greater than or equal to the group pair threshold is M.

[0289] In a possible implementation manner, the correlation value is a normalized value.

[0290] In a possible implementation manner, when the correlation value of the channel pair is less than the pair threshold, the correlation value of the channel pair is set to 0.

[0291] In a possible implementation, an acquisition module 901 is used to acquire a first audio frame to be encoded, the first audio frame includes at least five channel signals; acquire a correlation value set, the correlation value set includes correlation values ​​of multiple channel pairs, one channel pair includes two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair; acquire multiple channel pair sets according to the multiple channel pairs, when the channel pair set includes more than two channel pairs, the more than two channel pairs do not include the same channel signal; acquire the sum of correlation values ​​of all channel pairs included in each channel pair set in the multiple channel pair sets according to the correlation value set; a determination module 903 is used to determine a target channel pair set, the sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the multiple channel pair sets; and an encoding module 902 is used to encode the first audio frame according to the target channel pair set.

[0292] In a possible implementation, the acquisition module 901 is specifically configured to acquire the plurality of channel pair sets according to other channel pairs except for the correlated channels among the plurality of channel pairs, and the correlation value of the non-correlated channel pairs is less than a pairing threshold.

[0293] In a possible implementation, an acquisition module 901 is used to acquire a first audio frame to be encoded, the first audio frame including at least five channel signals; acquire a correlation value set of the first audio frame, the correlation value set of the first audio frame including correlation values ​​of a plurality of channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to indicate the correlation between the two channel signals of the one channel pair; acquire a correlation value set of a second audio frame, the correlation value set of the second audio frame including correlation values ​​of a plurality of channel pairs of the second audio frame, one channel pair including two channel signals of the at least five channel signals of the second audio frame, and the correlation value of the one channel pair is used to indicate the correlation between the two channel signals of the one channel pair, and the second audio frame is a previous frame of the first audio frame; an encoding module 902 is used to determine whether it is necessary to re-acquire a target channel pair set of the first audio frame according to the correlation value set of the first audio frame and the correlation value set of the second audio frame; if it is necessary to re-acquire the target channel pair set of the first audio frame, execute Figure 3 or Figure 5 The method of the illustrated embodiment obtains a target channel pair set for the first audio frame, and encodes the first audio frame according to the target channel pair set; if it is not necessary to re-acquire the target channel pair set for the first audio frame, the target channel pair set for the second audio frame is determined as the target channel pair set for the first audio frame, and the first audio frame is encoded according to the target channel pair set.

[0294] In a possible implementation, the encoding module 902 is specifically configured to calculate an absolute value of a difference between a correlation value set of the first audio frame and a correlation value set of the second audio frame corresponding to the same channel pair; calculate a sum of the absolute values ​​corresponding to a plurality of the channel pairs; when the sum of the absolute values ​​is less than a change threshold, determine that it is not necessary to reacquire a target channel pair set of the first audio frame; when the sum of the absolute values ​​is greater than or equal to the change threshold, determine that it is necessary to reacquire a target channel pair set of the first audio frame.

[0295] In a possible implementation, the acquisition module is used to acquire a first audio frame to be encoded, where the first audio frame includes K channel signals, where K is an integer greater than or equal to 5; the encoding module is used to execute when K is greater than a threshold value of the number of channel signals. Figure 3 The method of the embodiment shown encodes the first audio frame; when K is less than or equal to the channel signal quantity threshold, execute Figure 5 The method of the illustrated embodiment encodes the first audio frame.

[0296] The device of this embodiment can be used to perform Figure 3 , Figure 5 , Figure 6 or Figure 7 The technical solution of the method embodiment shown has similar implementation principles and technical effects, which will not be repeated here.

[0297] Fig.10 This is a schematic diagram of the structure of the device embodiment of the present application, such as Fig.10 As shown, the device may be the encoding device in the above embodiment. The device of this embodiment may include: a processor 1001 and a memory 1002, the memory 1002 is used to store one or more programs; when the one or more programs are executed by the processor 1001, the processor 1001 implements the following Figure 3 , Figure 5 , Figure 6 or Figure 7 The technical solution of the method embodiment shown.

[0298] In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instructions in the processor. The processor can be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application-specific integrated circuit (application-specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the present application can be directly embodied as a hardware coding processor to be executed, or the hardware and software modules in the coding processor are combined and executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0299] The memory mentioned in the above embodiments may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0300] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0301] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0302] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0303] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0304] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0305] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0306] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for encoding a multi-channel audio signal, characterized in that: include: Acquire a first audio frame to be encoded, where the first audio frame includes at least five channel signals; Acquire a correlation value set, the correlation value set including correlation values ​​of a plurality of channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to indicate the correlation between the two channel signals of the one channel pair; Selecting M correlation values ​​from the correlation value set, wherein the M correlation values ​​are all greater than other correlation values ​​in the correlation value set except the M correlation values, and the M correlation values ​​are all greater than or equal to a pair threshold, and M is a positive integer less than or equal to a set value; Acquire M channel pair sets, each of the channel pair sets including one or more channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not include the same channel signal; Determine a target channel pair set from the M channel pair sets, wherein the sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the M channel pair sets; The first audio frame is encoded according to the target channel pair set.

2. The method according to claim 1, characterized in that The M channel pair sets include a first channel pair set, and obtaining the M channel pair sets includes obtaining the first channel pair set; The obtaining the first channel pair set includes: Adding a first channel pair among the M channel pairs to the first channel pair set, where the first channel pair is any one of the M channel pairs; When other channel pairs among the multiple channel pairs except the associated channel include a channel pair whose correlation value is greater than the group pair threshold, a channel pair with the largest correlation value is selected from the other channel pairs to be added to the first channel pair set, and the associated channel pair includes any one of the channel signals included in the channel pair that has been added to the first channel pair set.

3. The method according to claim 1 or 2, characterized in that: The selecting M correlation values ​​from the correlation value set comprises: Selecting N correlation values ​​from the correlation value set, wherein the N correlation values ​​are all greater than other correlation values ​​in the correlation value set except the N correlation values, and N is the set value; A correlation value greater than or equal to the pair threshold is selected from the N correlation values, and the number of the correlation values ​​greater than or equal to the pair threshold is M.

4. The method according to claim 1 or 2, characterized in that: The correlation values ​​are normalized values.

5. The method according to claim 1 or 2, characterized in that: When the correlation value of the one channel pair is less than the pair threshold, the correlation value of the one channel pair is set to 0.

6. A method for encoding a multi-channel audio signal, characterized in that: include: Acquire a first audio frame to be encoded, where the first audio frame includes at least five channel signals; Acquire a correlation value set, the correlation value set including correlation values ​​of a plurality of channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to indicate the correlation between the two channel signals of the one channel pair; Acquire a plurality of channel pair sets according to the plurality of channel pairs, when the channel pair sets include more than two channel pairs, the more than two channel pairs do not include the same channel signal; Acquire, according to the correlation value set, a sum of correlation values ​​of all channel pairs included in each channel pair set of the multiple channel pair sets; Determine a target channel pair set, wherein the sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the plurality of channel pair sets; The first audio frame is encoded according to the target channel pair set.

7. The method according to claim 6, characterized in that The acquiring a plurality of channel pair sets according to the plurality of channel pairs comprises: The plurality of channel pair sets are obtained according to other channel pairs except for the correlated channels in the plurality of channel pairs, and the correlation value of the non-correlated channel pairs is less than a pairing threshold.

8. The method according to claim 6, characterized in that The correlation values ​​are normalized values.

9. The method according to any one of claims 6 to 8, characterized in that: When the correlation value of the one channel pair is less than the group pair threshold, the correlation value of the one channel pair is set to 0.

10. A method for encoding a multi-channel audio signal, characterized in that: include: Acquire a first audio frame to be encoded, where the first audio frame includes at least five channel signals; Acquire a correlation value set of the first audio frame, the correlation value set of the first audio frame comprising correlation values ​​of a plurality of channel pairs, one channel pair comprising two channel signals of the at least five channel signals, and the correlation value of the channel pair being used to represent a correlation between the two channel signals of the channel pair; Acquire a correlation value set of a second audio frame, the correlation value set of the second audio frame including respective correlation values ​​of a plurality of channel pairs of the second audio frame, one channel pair including two channel signals of at least five channel signals of the second audio frame, the correlation value of the one channel pair being used to indicate a correlation between two channel signals of the one channel pair, and the second audio frame being a previous frame of the first audio frame; determining whether it is necessary to reacquire a target channel pair set of the first audio frame according to the correlation value set of the first audio frame and the correlation value set of the second audio frame; If it is necessary to re-acquire the target channel pair set of the first audio frame, adopt the method according to any one of claims 1 to 9 to acquire the target channel pair set of the first audio frame, and encode the first audio frame according to the target channel pair set; If it is not necessary to reacquire the target channel pair set of the first audio frame, the target channel pair set of the second audio frame is determined as the target channel pair set of the first audio frame, and the first audio frame is encoded according to the target channel pair set.

11. The method according to claim 10, characterized in that The determining whether it is necessary to re-acquire a target channel pair set of the first audio frame according to the correlation value set of the first audio frame and the correlation value set of the second audio frame includes: Calculating an absolute value of a difference between correlation values ​​corresponding to the same channel pair in a correlation value set of the first audio frame and a correlation value set of the second audio frame; Calculating the sum of the absolute values ​​respectively corresponding to the plurality of channel pairs; When the sum of the absolute values ​​is less than the change threshold, determining that there is no need to re-acquire the target channel pair set of the first audio frame; When the sum of the absolute values ​​is greater than or equal to the change threshold, it is determined that the target channel pair set of the first audio frame needs to be reacquired.

12. A method for encoding a multi-channel audio signal, characterized in that: include: Acquire a first audio frame to be encoded, where the first audio frame includes K channel signals, where K is an integer greater than or equal to 5; When K is greater than the channel signal quantity threshold, encoding the first audio frame using the method described in any one of claims 1 to 5; When K is less than or equal to the channel signal quantity threshold, the first audio frame is encoded using the method described in any one of claims 6 to 9.

13. A coding device, characterized in that: include: An acquisition module is configured to acquire a first audio frame to be encoded, wherein the first audio frame includes at least five channel signals; acquire a correlation value set, wherein the correlation value set includes correlation values ​​of a plurality of channel pairs, wherein one channel pair includes two channel signals of the at least five channel signals, and the correlation value of the one channel pair is used to represent the correlation between the two channel signals of the one channel pair; select M correlation values ​​from the correlation value set, wherein the M correlation values ​​are all greater than other correlation values ​​in the correlation value set except the M correlation values, and the M correlation values ​​are all greater than or equal to a pair threshold, where M is a positive integer less than or equal to a set value; acquire M channel pair sets, wherein each of the channel pair sets includes at least one of the M channel pairs corresponding to the M correlation values, and when the channel pair set includes more than two channel pairs, the more than two channel pairs do not include the same channel signal; a determination module, configured to determine a target channel pair set from the M channel pair sets, wherein a sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the M channel pair sets; An encoding module is configured to encode the first audio frame according to the target channel pair set.

14. The device according to claim 13, characterized in that The M channel pair sets include a first channel pair set; the acquisition module is specifically configured to add a first channel pair among the M channel pairs to the first channel pair set, wherein the first channel pair is any one of the M channel pairs; when other channel pairs among the multiple channel pairs except the associated channel pair include a channel pair whose correlation value is greater than the pair group threshold, select a channel pair with the largest correlation value from the other channel pairs to add to the first channel pair set, wherein the associated channel pair includes any one of the channel signals included in the channel pair that has been added to the first channel pair set.

15. The device according to claim 13 or 14, characterized in that The acquisition module is specifically used to select N correlation values ​​from the correlation value set, and the N correlation values ​​are all greater than other correlation values ​​in the correlation value set except the N correlation values, and N is the set value; select correlation values ​​greater than or equal to the group pair threshold from the N correlation values, and the number of correlation values ​​greater than or equal to the group pair threshold is M.

16. The device according to claim 13 or 14, characterized in that The correlation values ​​are normalized values.

17. The device according to claim 13 or 14, characterized in that When the correlation value of the one channel pair is less than the pair threshold, the correlation value of the one channel pair is set to 0.

18. An encoding device, characterized in that: include: an acquisition module, configured to acquire a first audio frame to be encoded, the first audio frame comprising at least five channel signals; acquire a correlation value set, the correlation value set comprising respective correlation values ​​of a plurality of channel pairs, one channel pair comprising two channel signals of the at least five channel signals, the correlation value of the one channel pair being used to represent the correlation between the two channel signals of the one channel pair; acquire a plurality of channel pair sets according to the plurality of channel pairs, when the channel pair set comprises more than two channel pairs, the more than two channel pairs do not comprise the same channel signal; and acquire a sum of correlation values ​​of all channel pairs contained in each channel pair set in the plurality of channel pair sets according to the correlation value set; A determination module, configured to determine a target channel pair set, wherein a sum of correlation values ​​of all channel pairs in the target channel pair set is the largest among the plurality of channel pair sets; An encoding module is configured to encode the first audio frame according to the target channel pair set.

19. The device according to claim 18, characterized in that The acquisition module is specifically configured to acquire the plurality of channel pair sets according to other channel pairs except the correlated channels among the plurality of channel pairs, wherein the correlation value of the non-correlated channel pairs is less than a pairing threshold.

20. The device according to claim 18 or 19, characterized in that The correlation values ​​are normalized values.

21. The device according to claim 18 or 19, characterized in that When the correlation value of the one channel pair is less than the group pair threshold, the correlation value of the one channel pair is set to 0.

22. A coding device, characterized in that: include: an acquisition module, configured to acquire a first audio frame to be encoded, the first audio frame including at least five channel signals; acquire a correlation value set of the first audio frame, the correlation value set of the first audio frame including correlation values ​​of a plurality of channel pairs, one channel pair including two channel signals of the at least five channel signals, and the correlation value of the one channel pair being used to indicate the correlation between the two channel signals of the one channel pair; acquire a correlation value set of a second audio frame, the correlation value set of the second audio frame including correlation values ​​of a plurality of channel pairs of the second audio frame, one channel pair including two channel signals of the at least five channel signals of the second audio frame, and the correlation value of the one channel pair being used to indicate the correlation between the two channel signals of the one channel pair, and the second audio frame is a previous frame of the first audio frame; an encoding module, configured to determine whether it is necessary to reacquire a target channel pair set of the first audio frame according to a correlation value set of the first audio frame and a correlation value set of the second audio frame; If it is necessary to re-acquire the target channel pair set of the first audio frame, executing the method according to any one of claims 1 to 9 to acquire the target channel pair set of the first audio frame, and encoding the first audio frame according to the target channel pair set; If it is not necessary to reacquire the target channel pair set of the first audio frame, the target channel pair set of the second audio frame is determined as the target channel pair set of the first audio frame, and the first audio frame is encoded according to the target channel pair set.

23. The device according to claim 22, characterized in that The encoding module is specifically configured to calculate an absolute value of a difference between correlation values ​​corresponding to the same channel pair in a correlation value set of the first audio frame and a correlation value set of the second audio frame; and calculate a sum of the absolute values ​​corresponding to a plurality of the channel pairs respectively; When the sum of the absolute values ​​is less than a change threshold, it is determined that there is no need to reacquire the target channel pair set of the first audio frame; when the sum of the absolute values ​​is greater than or equal to the change threshold, it is determined that there is a need to reacquire the target channel pair set of the first audio frame.

24. A coding device, characterized in that: include: An acquisition module, configured to acquire a first audio frame to be encoded, wherein the first audio frame includes K channel signals, where K is an integer greater than or equal to 5; An encoding module, configured to, when K is greater than a threshold value for the number of channel signals, execute the method described in any one of claims 1 to 5 to encode the first audio frame; and when K is less than or equal to the threshold value for the number of channel signals, execute the method described in any one of claims 6 to 9 to encode the first audio frame.

25. A device, characterized in that include: one or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 11.

26. A computer-readable storage medium, characterized in that: The invention comprises a computer program, which, when executed on a computer, causes the computer to execute the method according to any one of claims 1 to 11.

27. A computer-readable storage medium, characterized in that: The invention comprises a coded bit stream obtained according to the method for coding a multi-channel audio signal as claimed in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Coding method, coder, decoding method and decoder for multi-channel audio

    CN101695150A

  • Method for extracting audio object from audio content based on projection

    CN105898667A

Cited By

  • Coding / decoding method and apparatus for multi-channel audio signal

    WO2022012553A1