Patent Description:
Improvement in quality of life is accompanied with people's ever-increasing requirements for high-quality audio. Compared with a mono signal, stereo has a sense of direction and a sense of distribution of acoustic sources, and can improve clarity, intelligibility, and a sense of immediacy of sound, and therefore is popular with people.

Stereo processing technologies mainly include mid/side (MS) encoding, intensity stereo (IS) encoding, and parametric stereo (PS) encoding.

In the MS encoding, mid/side transformation is performed on two signals based on inter-channel coherence, and energy of channels is mainly concentrated in a mid channel, so that inter-channel redundancy is eliminated. In the MS encoding technology, reduction of a code rate depends on coherence between input signals. When coherence between a left-channel signal and a right-channel signal is poor, the left-channel signal and the right-channel signal need to be transmitted separately.

In the IS encoding, high-frequency components of a left-channel signal and a right-channel signal are simplified based on a feature that a human auditory system is insensitive to a phase difference between high-frequency components (for example, components above <NUM>) of channels. However, the IS encoding technology is effective only for high-frequency components. If the IS encoding technology is extended to a low frequency, severe man-made noise is caused.

The PS encoding is an encoding scheme based on a binaural auditory model. As shown in <FIG> (in <FIG>, xL is a left-channel time-domain signal, and xR is a right-channel time-domain signal), in a PS encoding process, an encoder side converts a stereo signal into a mono signal and a few spatial parameters (or spatial perception parameters) that describe a spatial sound field. As shown in <FIG>, after obtaining a mono signal and spatial parameters, a decoder side restores a stereo signal with reference to the spatial parameters. Compared with the MS encoding, the PS encoding has a higher compression ratio. Therefore, in the PS encoding, a higher encoding gain can be obtained on a premise that relatively good sound quality is maintained. In addition, the PS encoding can be performed in full audio bandwidth, and can well restore a spatial perception effect of stereo.

In the PS encoding, multi-channel parameters (also referred to as spatial parameters) include inter-channel coherence (IC), an inter-channel level difference (ILD), an inter-channel time difference (ITD), an overall phase difference (OPD), an inter-channel phase difference (IPD), and the like. The IC describes inter-channel cross-correlation or coherence. This parameter determines perception of a sound field range, and can improve a sense of space and sound stability of an audio signal. The ILD is used to distinguish a horizontal azimuth of a stereo acoustic source, and describes an inter-channel energy difference. This parameter affects frequency components of an entire spectrum. The ITD and the IPD are spatial parameters that represent a horizontal orientation of an acoustic source, and describe inter-channel time and phase differences. The ILD, the ITD, and the IPD can determine perception of human ears for a location of an acoustic source, can be used to effectively determine a sound field location, and plays an important part in restoration of a stereo signal.

In a stereo recording process, due to impact of factors such as background noise, reverberation, and multi-party speaking, a multi-channel parameter calculated according to an existing PS encoding scheme is always unstable (a multi-channel parameter value frequently and sharply changes). A downmixed signal calculated based on such a multi-channel parameter is discontinuous. As a result, quality of stereo obtained on the decoder side is poor. For example, an acoustic image of the stereo played on the decoder side jitters frequently, and even auditory freezing occurs. <NPL>), relates to MPEG-<NUM> audio parametric coding. <NPL>, relates to a higher-order prediction method to extend the differential spatial cue representation in spatial audio coding. <CIT> relates to a device for postprocessing at least one channel signal of a plurality of channel signals of a multi-channel signal.

<CIT> discloses a multi-channel signal encoding method that includes: determining a sum of CLDs of a current frame in a certain frequency band area; determining an average value of sums of channel level differences of at least two frames before the current frame in the certain frequency band area; according to the sum of channel level differences of the current frame in the certain frequency band area, the average value of the sums of channel level differences of at least two frames before the current frame in the certain frequency band area, and a preset threshold, judging whether the channel level differences of the current frame are in a transient state or a non-transient state, and obtaining a judgement result; and according to the judgement result, performing quantization processing on the CLDs of the current frame of the multi-channel signal.

This application provides a multi-channel signal encoding method and an encoder, to improve stability of a multi-channel parameter in PS encoding, thereby improving encoding quality of an audio signal.

According to a first aspect, an encoder for performing a multi-channel signal encoding method is provided, including.

The multi-channel parameter of the current frame is determined based on comprehensive consideration of the characteristic parameter of the current frame and the difference between the current frame and the previous K frames. This determining manner is more proper. Compared with a manner of directly reusing a multi-channel parameter of a previous frame for the current frame, this manner can better ensure accuracy of inter-channel information of a multi-channel signal.

The determining a multi-channel parameter of the current frame based on the difference parameter and a characteristic parameter of the current frame includes:
if the difference parameter meets a first preset condition, determining the multi-channel parameter of the current frame based on the characteristic parameter of the current frame.

With reference to the first aspect, in some implementations of the first aspect, the difference parameter is an absolute value of a difference between the initial multi-channel parameter of the current frame and a multi-channel parameter of a previous frame of the current frame, and the first preset condition is that the difference parameter is greater than a preset first threshold.

With reference to the first aspect, in some implementations of the first aspect, the difference parameter is a product of the initial multi-channel parameter of the current frame and a multi-channel parameter of a previous frame of the current frame, and the first preset condition is that the difference parameter is less than or equal to <NUM>.

With reference to the first aspect, in some implementations of the first aspect, the determining the multi-channel parameter of the current frame based on the characteristic parameter of the current frame includes:
determining the multi-channel parameter of the current frame based on a correlation parameter of the current frame, where the correlation parameter is used to represent a degree of correlation between the current frame and the previous frame of the current frame.

With reference to the first aspect, in some implementations of the first aspect, the method further includes:
determining the correlation parameter based on a target channel signal in the multi-channel signal of the current frame and a target channel signal in a multi-channel signal of the previous frame.

With reference to the first aspect, in some implementations of the first aspect, the determining the correlation parameter based on a target channel signal in the multi-channel signal of the current frame and a target channel signal in a multi-channel signal of the previous frame includes:
determining the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter is at least one of a frequency domain amplitude value and a frequency domain coefficient of the target channel signal.

With reference to the first aspect, in some implementations of the first aspect, the method further includes:
determining the correlation parameter based on a pitch period of the current frame and a pitch period of the previous frame.

The determining the multi-channel parameter of the current frame based on the characteristic parameter of the current frame includes:
if the characteristic parameter meets a second preset condition, determining the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame, where T is an integer greater than or equal to <NUM>.

With reference to the first aspect, in some implementations of the first aspect, the determining the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame includes:
determining the multi-channel parameters of the previous T frames as the multi-channel parameter of the current frame, where T is equal to <NUM>.

With reference to the first aspect, in some implementations of the first aspect, the determining the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame includes:
determining the multi-channel parameter of the current frame based on a change trend of the multi-channel parameters of the previous T frames, where T is greater than or equal to <NUM>.

The characteristic parameter includes at least one of the correlation parameter and a peak-to-average ratio parameter of the current frame, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame of the current frame, and the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame; and the second preset condition is that the characteristic parameter is greater than a preset threshold.

With reference to the first aspect, in some implementations of the first aspect, the initial multi-channel parameter of the current frame includes at least one of the following: an initial inter-channel coherence IC value of the current frame, an initial inter-channel time difference ITD value of the current frame, an initial inter-channel phase difference IPD value of the current frame, an initial overall phase difference OPD value of the current frame, and an initial inter-channel level difference ILD value of the current frame.

With reference to the first aspect, in some implementations of the first aspect, the characteristic parameter of the current frame includes at least one of the following parameters of the current frame: the correlation parameter, the peak-to-average ratio parameter, a signal-to-noise ratio parameter, and a spectrum tilt parameter, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame, the peak-to-average ratio parameter is used to represent the peak-to-average ratio of the signal of the at least one channel in the multi-channel signal of the current frame, the signal-to-noise ratio parameter is used to represent a signal-to-noise ratio of a signal of at least one channel in the multi-channel signal of the current frame, and the spectrum tilt parameter is used to represent a spectrum tilt degree of a signal of at least one channel in the multi-channel signal of the current frame.

According to a second aspect, a computer-readable medium is provided. The computer-readable medium stores program code to be executed by an encoder. The program code includes an instruction used to perform the method in the first aspect.

In this application, the multi-channel parameter of the current frame is determined based on comprehensive consideration of the characteristic parameter of the current frame and the difference between the current frame and the previous K frames. This determining manner is more proper. Compared with a manner of directly reusing the multi-channel parameter of the previous frame for the current frame, this manner can better ensure accuracy of inter-channel information of a multi-channel signal.

It should be noted that a stereo signal may also be referred to as a multi-channel signal. The foregoing briefly describes functions and meanings of multi-channel parameters of the multi-channel signal: an ILD, an ITD, and an IPD. For ease of understanding, the following describes the ILD, the ITD, and the IPD in a more detailed manner by using an example in which a signal picked up by a first microphone is a first-channel signal and a signal picked up by a second microphone is a second-channel signal.

The ILD describes an energy difference between the first-channel signal and the second-channel signal. Usually, a ratio of energy of a left channel to energy of a right channel is calculated, and then the ratio is converted into a logarithm-domain value. For example, if an ILD value is greater than <NUM>, it indicates that energy of the first-channel signal is higher than energy of the second-channel signal; if an ILD value is equal to <NUM>, it indicates that energy of the first-channel signal is equal to energy of the second-channel signal; or if an ILD value is less than <NUM>, it indicates that energy of the first-channel signal is less than energy of the second-channel signal. For another example, if the ILD is less than <NUM>, it indicates that energy of the first-channel signal is higher than energy of the second-channel signal; if the ILD is equal to <NUM>, it indicates that energy of the first-channel signal is equal to energy of the second-channel signal; or if the ILD is greater than <NUM>, it indicates that energy of the first-channel signal is less than energy of the second-channel signal. It should be understood that the foregoing values are merely examples, and a relationship between the ILD value and the energy difference between the first-channel signal and the second-channel signal may be defined based on experience or an actual requirement.

The ITD describes a time difference between the first-channel signal and the second-channel signal, namely, a difference between a time at which sound generated by an acoustic source arrives at the first microphone and a time at which the sound generated by the acoustic source arrives at the second microphone. For example, if an ITD value is greater than <NUM>, it indicates that the time at which the sound generated by the acoustic source arrives at the first microphone is earlier than the time at which the sound generated by the acoustic source arrives at the second microphone; if an ITD value is equal to <NUM>, it indicates that the sound generated by the acoustic source simultaneously arrives at the first microphone and the second microphone; or if an ITD value is less than <NUM>, it indicates that the time at which the sound generated by the acoustic source arrives at the first microphone is later than the time at which the sound generated by the acoustic source arrives at the second microphone. For another example, if the ITD is less than <NUM>, it indicates that the time at which the sound generated by the acoustic source arrives at the first microphone is earlier than the time at which the sound generated by the acoustic source arrives at the second microphone; if the ITD is equal to <NUM>, it indicates that the sound generated by the acoustic source simultaneously arrives at the first microphone and the second microphone; or if the ITD is greater than <NUM>, it indicates that the time at which the sound generated by the acoustic source arrives at the first microphone is later than the time at which the sound generated by the acoustic source arrives at the second microphone. It should be understood that the foregoing values are merely examples, and a relationship between the ITD value and the time difference between the first-channel signal and the second-channel signal may be defined based on experience or an actual requirement.

The IPD describes a phase difference between the first-channel signal and the second-channel signal. This parameter is usually used together with the ITD to restore phase information of a multi-channel signal on a decoder side.

It can be learned from the foregoing descriptions that an existing multi-channel parameter calculation manner causes discontinuity of a multi-channel parameter. For ease of understanding, with reference to <FIG> and <FIG>, the following describes in detail the existing multi-channel parameter calculation manner and disadvantages of the existing multi-channel parameter calculation manner by using an example in which a multi-channel signal includes a left-channel signal and a right-channel signal, and a multi-channel parameter is an ITD value.

In the prior art, an ITD value may be calculated in a plurality of manners. For example, the ITD value may be calculated in time domain, or the ITD value may be calculated in frequency domain.

<FIG> is a schematic flowchart of a time-domain-based ITD value calculation method. The method in <FIG> includes the following steps.

<NUM>: Calculate an ITD value based on a left-channel time-domain signal and a right-channel time-domain signal.

Specifically, the ITD parameter may be calculated based on the left-channel time-domain signal and the right-channel time-domain signal by using a time-domain cross-correlation function. For example, calculation is performed within a range: <NUM> ≤ i ≤ Tmax: <MAT> and <MAT>.

If <MAT>, T<NUM> is an opposite number of an index value corresponding to max(Cn(i)); otherwise, T<NUM> is an index value corresponding to max(Cp(i)), where i is an index value of the cross-correlation function, xR is the right-channel time-domain signal, xL is the left-channel time-domain signal, Tmax is corresponding to a maximum ITD value at different sampling rates, and Length is a frame length.

<NUM>: Perform quantization processing on the ITD value.

<FIG> is a schematic flowchart of a frequency-domain-based ITD value calculation method. The method in <FIG> includes the following steps.

<NUM>: Perform time-frequency transformation on a left-channel time-domain signal and a right-channel time-domain signal, to obtain a left-channel frequency-domain signal and a right-channel frequency-domain signal.

Specifically, in the time-frequency transformation, a time-domain signal may be transformed into a frequency-domain signal by using a technology such as discrete Fourier transform (DFT) or modified discrete cosine transform (MDCT).

For example, time-frequency transformation may be performed on the input left-channel time-domain signal and right-channel time-domain signal by using DFT transformation. Specifically, the DFT transformation may be performed by using the following formula: <MAT> where n is an index value of a sample of a time-domain signal, k is an index value of a frequency bin of a frequency-domain signal, L is a time-frequency transformation length, and x(n) is the left-channel time-domain signal or the right-channel time-domain signal.

<NUM>: Calculate an ITD value based on the left-channel frequency-domain signal and the right-channel frequency-domain signal.

Specifically, L frequency bins of a frequency-domain signal may be divided into a plurality of sub-bands. An index value of a frequency bin included in a bth sub-band is Ab-<NUM> ≤ k ≤ Ab - <NUM>. Within a search range: - Tmax ≤ j ≤ Tmax, an amplitude value may be calculated by using the following formula: <MAT>.

In this case, an ITD value of the bth sub-band may be <MAT>, that is, an index value of a sample corresponding to a maximum value calculated based on the foregoing formula.

In the prior art, if a peak value of a cross correlation coefficient of a multi-channel signal of a current frame is relatively small, a calculated ITD value may be considered inaccurate. In this case, the ITD value of the current frame is zeroed. Due to impact of factors such as background noise, reverberation, and multi-party speaking, an ITD value calculated according to an existing PS encoding scheme is frequently zeroed. As a result, the ITD value frequently and sharply changes, and inter-frame discontinuity is caused for a downmixed signal calculated based on such an ITD value, and consequently acoustic quality of a multi-channel signal is poor.

To resolve the problem that a multi-channel parameter frequently and sharply changes, a feasible processing manner is as follows: When a calculated multi-channel parameter of a current frame is considered inaccurate, a multi-channel parameter of a previous frame of the current frame may be reused. In this processing manner, the problem that a multi-channel parameter frequently and sharply changes can be well resolved. However, this processing manner may cause the following problem: If signal quality of the current frame is relatively good, the calculated multi-channel parameter of the current frame is usually relatively accurate. In this case, if the processing manner is still used, the multi-channel parameter of the previous frame may still be reused as a multi-channel parameter of the current frame, and the relatively accurate multi-channel parameter of the current frame is discarded. As a result, inter-channel information of a multi-channel signal is inaccurate.

With reference to <FIG> and <FIG>, the following describes in detail an audio signal encoding method according to the embodiments of this application.

<FIG> is a schematic flowchart of a multi-channel signal encoding method according to an embodiment of this application. The method in <FIG> includes the following steps.

Obtain a multi-channel signal of a current frame.

It should be noted that a quantity of multi-channel signals is not specifically limited in this embodiment of this application. Specifically, the multi-channel signal may be a dual-channel signal, a three-channel signal, or a signal of more than three channels. For example, the multi-channel signal may include a left-channel signal and a right-channel signal. For another example, the multi-channel signal may include a left-channel signal, a middle-channel signal, a right-channel signal, and a rear-channel signal.

Determine an initial multi-channel parameter of the current frame.

In some embodiments, the initial multi-channel parameter of the current frame may be used to represent correlation between multi-channel signals.

In some embodiments, the initial multi-channel parameter of the current frame includes at least one of the following: an initial IC value of the current frame, an initial ITD value of the current frame, an initial IPD value of the current frame, an initial OPD value of the current frame, an initial ILD value of the current frame, and the like.

The initial multi-channel parameter of the current frame may be calculated in a plurality of manners. For details, refer to the prior art. For example, a multi-channel parameter is an ITD value. The time-domain-based ITD value calculation manner shown in <FIG> or the frequency-domain-based ITD value calculation manner in <FIG> may be used in step <NUM>. Alternatively, a hybrid-domain (time domain + frequency domain)-based ITD value calculation manner may be used based on the following formula: <MAT> where Li(f) represents a frequency domain coefficient of a left-channel frequency-domain signal, <MAT> represents a conjugate of a frequency domain coefficient of a right-channel frequency-domain signal, arg max() means selecting a maximum value from a plurality of values, and IDFT() represents inverse discrete Fourier transform.

Determine a difference parameter based on the initial multi-channel parameter of the current frame and multi-channel parameters of previous K frames of the current frame, where the difference parameter is used to represent a difference between the initial multi-channel parameter of the current frame and the multi-channel parameters of the previous K frames, and K is an integer greater than or equal to <NUM>.

It should be understood that the previous K frames of the current frame are previous K frames closely adjacent to the current frame in all frames of a to-be-encoded audio signal. For example, assuming that the to-be-encoded audio signal includes <NUM> frames and K = <NUM>, if the current frame is a fifth frame in the <NUM> frames, the previous K frames of the current frame are a fourth frame in the <NUM> frames. For another example, assuming that the to-be-encoded audio signal includes <NUM> frames and K = <NUM>, if the current frame is a seventh frame in the <NUM> frames, the previous K frames of the current frame are a fifth frame and a sixth frame in the <NUM> frames.

Unless otherwise specified, previous K frames appearing in the following are previous K frames of a current frame, and a previous frame appearing in the following is a previous frame of a current frame.

Determine a multi-channel parameter of the current frame based on the difference parameter and a characteristic parameter of the current frame.

It should be noted that the multi-channel parameter (including the initial multi-channel parameter) may be represented in a form of a numerical value. Therefore, the multi-channel parameter may also be referred to as a multi-channel parameter value.

In some embodiments, the characteristic parameter of the current frame may include a mono parameter of the current frame. The mono parameter may be used to represent a feature of a signal of a channel in the multi-channel signal of the current frame.

In some embodiments, the determining a multi-channel parameter of the current frame in step <NUM> may include: modifying the initial multi-channel parameter to obtain the multi-channel parameter of the current frame. For example, the characteristic parameter of the current frame is the mono parameter of the current frame. Step <NUM> may include: modifying the initial multi-channel parameter of the current frame based on the difference parameter and the mono parameter of the current frame, to obtain the multi-channel parameter of the current frame.

In some embodiments, the characteristic parameter of the current frame includes at least one of the following parameters of the current frame: a correlation parameter, a peak-to-average ratio parameter. It may optionally also include at least one of a signal-to-noise ratio parameter, and a spectrum tilt parameter. The correlation parameter is used to represent a degree of correlation between the current frame and a previous frame. The peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame. The signal-to-noise ratio parameter is used to represent a signal-to-noise ratio of a signal of at least one channel in the multi-channel signal of the current frame. The spectrum tilt parameter is used to represent a spectrum tilt degree or a spectral energy change trend of a signal of at least one channel in the multi-channel signal of the current frame.

Encode the multi-channel signal based on the multi-channel parameter of the current frame.

For example, operations, such as mono audio encoding, spatial parameter encoding, and bitstream multiplexing, shown in <FIG> may be performed. For a specific encoding scheme, refer to the prior art.

In this embodiment of this application, the multi-channel parameter of the current frame is determined based on comprehensive consideration of the characteristic parameter of the current frame and the difference between the current frame and the previous K frames. This determining manner is more proper. Compared with a manner of directly reusing a multi-channel parameter of the previous frame for the current frame, this manner can better ensure accuracy of inter-channel information of a multi-channel signal.

The following describes an implementation of step <NUM> in detail.

Optionally, in some embodiments, step <NUM> may include: if the difference parameter meets a first preset condition, adjusting a value of the initial multi-channel parameter of the current frame based on a value of the characteristic parameter of the current frame, to obtain the multi-channel parameter of the current frame.

Optionally, in some embodiments, step <NUM> may include: if the characteristic parameter of the current frame meets a first preset condition, adjusting a value of the initial multi-channel parameter of the current frame based on a value of the difference parameter, to obtain the multi-channel parameter of the current frame.

It should be understood that the first preset condition may be one condition, or may be a combination of a plurality of conditions. In addition, if the first preset condition is met, determining may be further performed based on another condition. If all conditions are met, a subsequent step is performed.

Optionally, in some embodiments, as shown in <FIG>, step <NUM> may include the following substeps:.

It should be understood that the difference parameter may be defined in a plurality of manners. Different manners of defining the difference parameter may be corresponding to different first preset conditions. The following describes in detail the difference parameter and the first preset condition corresponding to the difference parameter.

Optionally, in some embodiments, the difference parameter may be a difference between the initial multi-channel parameter of the current frame and the multi-channel parameter of the previous frame, or an absolute value of the difference. The first preset condition may be that the difference parameter is greater than a preset first threshold. The first threshold may be <NUM> to <NUM> times of a target value. For example, the first threshold may be <NUM> times of the target value. The target value is a multi-channel parameter whose absolute value is larger in the multi-channel parameter of the previous frame and the initial multi-channel parameter of the current frame.

Optionally, in some embodiments, the difference parameter may be a difference between the initial multi-channel parameter of the current frame and an average value of the multi-channel parameters of the previous K frames, or an absolute value of the difference. The first preset condition may be that the difference parameter is greater than a preset first threshold. The first threshold may be <NUM> to <NUM> times of a target value. For example, the first threshold may be <NUM> times of the target value. The target value is a multi-channel parameter whose absolute value is larger in the multi-channel parameter of the previous frame and the initial multi-channel parameter of the current frame.

Optionally, in some embodiments, the difference parameter may be a product of the initial multi-channel parameter of the current frame and the multi-channel parameter of the previous frame, and the first preset condition may be that the difference parameter is less than or equal to <NUM>.

The following describes a specific implementation of step <NUM> in detail.

Optionally, in some embodiments, step <NUM> may include: determining the multi-channel parameter of the current frame based on the correlation parameter and/or the spectrum tilt parameter of the current frame, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame, and the spectrum tilt parameter is used to represent the spectrum tilt degree or the spectral energy change trend of the signal of the at least one channel in the multi-channel signal of the current frame.

Step <NUM> includes: determining the multi-channel parameter of the current frame based on the correlation parameter and/or the peak-to-average ratio parameter of the current frame, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame, and the peak-to-average ratio parameter is used to represent the peak-to-average ratio of the signal of the at least one channel in the multi-channel signal of the current frame.

The following describes the correlation parameter of the current frame in detail.

Specifically, the correlation parameter may be used to represent the degree of correlation between the current frame and the previous frame. The degree of correlation between the current frame and the previous frame may be represented in a plurality of manners. Different representation manners may be corresponding to different manners of calculating the correlation parameter. The following provides detailed descriptions with reference to specific embodiments.

Optionally, in some embodiments, the degree of correlation between the current frame and the previous frame may be represented by using a degree of correlation between a target channel signal in the multi-channel signal of the current frame and a target channel signal in a multi-channel signal of the previous frame. It should be understood that the target channel signal of the current frame is corresponding to the target channel signal of the previous frame. To be specific, if the target channel signal of the current frame is a left-channel signal, the target channel signal of the previous frame is a left-channel signal; if the target channel signal of the current frame is a right-channel signal, the target channel signal of the previous frame is a right-channel signal; or if the target channel signal of the current frame includes a left-channel signal and a right-channel signal, the target channel signal of the previous frame includes a left-channel signal and a right-channel signal. It should be further understood that the target channel signal may be a target channel time-domain signal or a target channel frequency-domain signal.

For example, the target channel signal is a frequency-domain signal. The determining the correlation parameter based on the target channel signal in the multi-channel signal of the current frame and the target channel signal in the multi-channel signal of the previous frame may specifically include: determining the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter of the target channel signal includes a frequency domain amplitude value and/or a frequency domain coefficient of the target channel signal.

In some embodiments, the frequency domain amplitude value of the target channel signal may be frequency domain amplitude values of some or all sub-bands of the target channel signal. For example, the frequency domain amplitude value of the target channel signal may be frequency domain amplitude values of sub-bands in a low frequency part of the target channel signal.

Specifically, for example, the target channel signal is a left-channel frequency-domain signal. Assuming that a low frequency part of the left-channel frequency-domain signal includes M sub-bands, and each sub-band includes N frequency domain amplitude values, normalized cross-correlation values of frequency domain amplitude values of sub-bands of the current frame and the previous frame may be calculated based on the following formula, to obtain M normalized cross-correlation values that are in a one-to-one correspondence with the M sub-bands: <MAT> where
|L(i * N + j)| represents a jth frequency domain amplitude value of an ith sub-band in a low frequency part of a left-channel frequency-domain signal of the current frame, |L(-<NUM>)(i * N + j)| represents a jth frequency domain amplitude value of an ith sub-band in a low frequency part of a left-channel frequency-domain signal of the previous frame, and cor(i) represents a normalized cross-correlation value of an ith sub-band in the M sub-bands.

Then, the M normalized cross-correlation values may be determined as the correlation parameter of the current frame and the previous frame; or a sum of the M normalized cross-correlation values or an average value of the M normalized cross-correlation values may be determined as the correlation parameter of the current frame.

In some embodiments, the foregoing manner of calculating the correlation parameter based on the frequency domain amplitude value may be replaced with a manner of calculating the correlation parameter based on the frequency domain coefficient.

In some embodiments, the foregoing manner of calculating the correlation parameter based on the frequency domain amplitude value may be replaced with a manner of calculating the correlation parameter based on an absolute value of the frequency domain coefficient.

It should be understood that the multi-channel signal of the current frame may be a multi-channel signal of one or more subframes of the current frame. Likewise, the multi-channel signal of the previous frame may be a multi-channel signal of one or more subframes of the previous frame. In other words, the correlation parameter may be calculated based on all multi-channel signals of the current frame and all multi-channel signals of the previous frame, or may be calculated based on a multi-channel signal of one or some subframes of the current frame and a multi-channel signal of one or some subframes of the previous frame.

For example, the target channel signal includes a left-channel time-domain signal and a right-channel time-domain signal. A normalized cross-correlation value of a left-channel time-domain signal and a right-channel time-domain signal of the current frame and a left-channel time-domain signal and a right-channel time-domain signal of the previous frame at each sample may be calculated based on the following formula, to obtain N normalized cross-correlation values, and the N normalized cross-correlation values are searched for a maximum normalized cross-correlation value: <MAT> where
L(n) represents the left-channel time-domain signal, R(n) represents the right-channel time-domain signal, N is a total quantity of samples of the left-channel time-domain signal, and L is a quantity of offset samples between an nth sample of the right-channel time-domain signal and an nth sample of the left-channel time-domain signal.

In some embodiments, the maximum normalized cross-correlation value calculated in the foregoing formula may be used as the correlation parameter of the current frame.

It should be understood that the multi-channel signal of the current frame may be a multi-channel signal of one or more subframes of the current frame. Likewise, the multi-channel signal of the previous frame may be a multi-channel signal of one or more subframes of the previous frame. For example, a plurality of maximum normalized cross-correlation values that are in a one-to-one correspondence with a plurality of subframes may be calculated based on the foregoing formula by using a subframe as a unit. Then, one or more of the plurality of maximum normalized cross-correlation values, a sum of the plurality of maximum normalized cross-correlation values, or an average value of the plurality of maximum normalized cross-correlation values is used as the correlation parameter of the current frame.

The foregoing provides the manner of calculating the correlation parameter based on the time-domain signal. The following describes in detail a manner of calculating the correlation parameter based on a pitch period.

Optionally, in some embodiments, the degree of correlation between the current frame and the previous frame may be represented by using a degree of correlation between a pitch period of the current frame and a pitch period of the previous frame. In this case, the correlation parameter may be determined based on the pitch period of the current frame and the pitch period of the previous frame.

In some embodiments, the pitch period of the current frame or the previous frame may include a pitch period of each subframe of the current frame or the previous frame.

Specifically, the pitch period of the current frame or a pitch period of each subframe of the current frame, and the pitch period of the previous frame or a pitch period of each subframe of the previous frame may be calculated based on an existing pitch period algorithm. Then, a deviation value between the pitch period of the current frame and the pitch period of each subframe of the previous frame or a deviation value between the pitch period of each subframe of the current frame and the pitch period of each subframe of the previous frame is calculated. Then, the calculated pitch period deviation value may be used as the correlation parameter of the current frame and the previous frame.

The following describes the peak-to-average ratio parameter of the current frame in detail.

The peak-to-average ratio parameter of the current frame is used to represent the peak-to-average ratio of the signal of the at least one channel in the multi-channel signal of the current frame.

For example, the multi-channel signal includes a left-channel signal and a right-channel signal. The peak-to-average ratio parameter may be a peak-to-average ratio of the left-channel signal, or may be a peak-to-average ratio of the right-channel signal, or may be a combination of a peak-to-average ratio of the left-channel signal and a peak-to-average ratio of the right-channel signal.

The peak-to-average ratio parameter may be calculated in a plurality of manners. For example, the peak-to-average ratio parameter may be calculated based on a frequency domain amplitude value of a frequency-domain signal. For another example, the peak-to-average ratio parameter may be calculated based on a frequency domain coefficient of a frequency-domain signal or an absolute value of the frequency domain coefficient.

In some embodiments, the frequency domain amplitude value of the frequency-domain signal may be frequency domain amplitude values of some or all sub-bands of the frequency-domain signal. For example, the frequency domain amplitude value of the frequency-domain signal may be frequency domain amplitude values of sub-bands in a low frequency part of the frequency-domain signal.

A left-channel frequency-domain signal is used as an example. Assuming that a low frequency part of the left-channel frequency-domain signal includes M sub-bands, and each sub-band includes N frequency domain amplitude values, a peak-to-average ratio of the N frequency domain amplitude values of each sub-band may be calculated, to obtain M peak-to-average ratios that are in a one-to-one correspondence with the M sub-bands. Then, the M peak-to-average ratios, a sum of the M peak-to-average ratios, or an average value of the M peak-to-average ratios are/is used as the peak-to-average ratio parameter of the current frame. It should be noted that, in a process of calculating the peak-to-average ratio of each sub-band, to reduce calculation complexity, a ratio of a maximum frequency domain amplitude value of each sub-band to a sum of the N frequency domain amplitude values of each sub-band may be used as a peak-to-average ratio. When the peak-to-average ratio is compared with a preset threshold, the maximum frequency domain amplitude value may be compared with a product of the preset threshold and the sum of the N frequency domain amplitude values of each sub-band, or the maximum frequency domain amplitude value may be compared with a product of the preset threshold and an average value of the N frequency domain amplitude values of each sub-band.

In some embodiments, the multi-channel signal of the current frame may be a multi-channel signal of one or more subframes of the current frame.

The characteristic parameter of the current frame may further include the signal-to-noise ratio parameter of the current frame. The following describes the signal-to-noise ratio parameter in detail.

The signal-to-noise ratio parameter of the current frame may be used to represent the signal-to-noise ratio or a signal-to-noise ratio feature of the signal of the at least one channel in the multi-channel signal of the current frame.

It should be understood that the signal-to-noise ratio parameter of the current frame may include one or more parameters. A specific parameter selection manner is not limited in this embodiment of this application. For example, the signal-to-noise ratio parameter of the current frame may include at least one of a sub-band signal-to-noise ratio, a modified sub-band signal-to-noise ratio, a segmental signal-to-noise ratio, a modified segmental signal-to-noise ratio, a full-band signal-to-noise ratio, and a modified full-band signal-to-noise ratio of the multi-channel signal, and another parameter that can represent a signal-to-noise ratio feature of the multi-channel signal.

It should be noted that a manner of determining the signal-to-noise ratio parameter is not specifically limited in this embodiment of this application.

For example, the signal-to-noise ratio parameter of the current frame may be calculated by using all signals in the multi-channel signal.

For another example, the signal-to-noise ratio parameter of the current frame may be calculated by using some signals in the multi-channel signal.

For another example, the signal-to-noise ratio parameter of the current frame may be calculated by adaptively selecting a signal of any channel in the multi-channel signal.

For another example, weighted averaging may be first performed on data representing the multi-channel signal, to form a new signal, and then the signal-to-noise ratio parameter of the current frame is represented by using a signal-to-noise ratio of the new signal.

The characteristic parameter of the current frame may further include the spectrum tilt parameter of the current frame. The following describes the spectrum tilt parameter in detail.

The spectrum tilt parameter of the current frame may be used to represent the spectrum tilt degree or the spectral energy change trend of the signal of the at least one channel in the multi-channel signal of the current frame. It should be understood that a larger spectrum tilt degree indicates weaker signal voicing, and a smaller spectrum tilt degree indicates stronger signal voicing.

The following describes in detail a manner of determining the multi-channel parameter of the current frame based on the characteristic parameter of the current frame in step <NUM>.

Optionally, in some embodiments, it may be determined, based on the characteristic parameter of the current frame, whether to reuse the multi-channel parameter of the previous frame for the current frame.

For example, if the characteristic parameter meets a second preset condition, the multi-channel parameter of the previous frame is reused for the current frame. Alternatively, if the characteristic parameter does not meet the second preset condition, the initial multi-channel parameter of the current frame is used as the multi-channel parameter of the current frame. It should be understood that a processing manner used when the characteristic parameter does not meet the second preset condition is not specifically limited in this embodiment of this application. For example, the initial multi-channel parameter may be modified in another existing manner.

Optionally, in some embodiments, it may be determined, based on the characteristic parameter of the current frame, whether to determine the multi-channel parameter of the current frame based on a change trend of multi-channel parameters of previous T frames, where T is greater than or equal to <NUM>.

For example, if the characteristic parameter meets a second preset condition, the multi-channel parameter of the current frame is determined based on the change trend of the multi-channel parameters of the previous T frames. Alternatively, if the characteristic parameter does not meet the second preset condition, the initial multi-channel parameter of the current frame is used as the multi-channel parameter of the current frame. It should be understood that a processing manner used when the characteristic parameter does not meet the second preset condition is not specifically limited in this embodiment of this application. For example, the initial multi-channel parameter may be modified in another existing manner.

It should be understood that the second preset condition may be one condition, or may be a combination of a plurality of conditions. In addition, if the second preset condition is met, determining may be further performed based on another condition. If all conditions are met, a subsequent step is performed.

It should be understood that the previous T frames of the current frame are previous T frames closely adjacent to the current frame in all the frames of the to-be-encoded audio signal. For example, if the to-be-encoded audio signal includes <NUM> frames, T = <NUM>, and the current frame is a fifth frame in the <NUM> frames, the previous T frames of the current frame are a third frame and a fourth frame in the <NUM> frames.

It should be understood that the multi-channel parameter of the current frame may be determined based on the change trend of the multi-channel parameters of the previous T frames in a plurality of manners. For example, the multi-channel parameter is an ITD value. An ITD value ITD[i] of the current frame may be calculated in the following manner: <MAT> where
delta = ITD[i-<NUM>] - ITD[i-<NUM>], ITD[i-<NUM>] represents an ITD value of the previous frame of the current frame, and ITD[i-<NUM>] represents an ITD value of a previous frame of the previous frame of the current frame.

The following describes the foregoing second preset condition in detail.

It should be understood that the second preset condition may be defined in a plurality of manners, and setting of the second preset condition is related to selection of the characteristic parameter. This is not specifically limited in this embodiment of this application.

For example, the characteristic parameter is the correlation parameter and/or the peak-to-average ratio parameter, the correlation parameter is an average value of correlation values of the multi-channel signal of the current frame and the multi-channel signal of the previous frame in sub-bands, and the peak-to-average ratio parameter is an average value of peak-to-average ratios of the multi-channel signal of the current frame in the sub-bands. The second preset condition may be one or more of the following conditions:.

The second threshold may be greater than the fourth threshold, and the fourth threshold may be less than the fifth threshold; or the third threshold may be greater than the sixth threshold, and the sixth threshold may be less than the seventh threshold.

It should be noted that, if the characteristic parameter includes the peak-to-average ratio parameter, and the second preset condition includes that the peak-to-average ratio parameter is greater than or equal to a preset threshold, a value relationship between the peak-to-average ratio parameter and the preset threshold needs to be determined. To simplify calculation, a process of comparing the peak-to-average ratio parameter with the preset threshold may be converted into comparison between a peak value of peak-to-average ratios and a target value. The target value may be a product of the preset threshold and an average value of the peak-to-average ratios, or may be a product of the preset threshold and a sum of parameters used to calculate the peak-to-average ratios. For example, the parameters used to calculate the peak-to-average ratios are frequency domain amplitude values of sub-bands, and each sub-band includes N frequency domain amplitude values. When the peak-to-average ratios are compared with the preset threshold, a maximum frequency domain amplitude value of each sub-band may be compared with a product of the preset threshold and a sum of the N frequency domain amplitude values of each sub-band, or a maximum frequency domain amplitude value of each sub-band may be compared with a product of the preset threshold and an average value of the N frequency domain amplitude values of each sub-band.

The following describes the embodiments of this application in a more detailed manner with reference to an example in <FIG> is described mainly by using an example in which a multi-channel signal of a current frame includes a left-channel signal and a right-channel signal, and a multi-channel parameter is an ITD value. It should be noted that the example in <FIG> is merely intended to help a person skilled in the art understand the embodiments of this application, but not intended to limit the embodiments of this application to a specific value or a specific scenario that is listed as an example. Obviously, a person skilled in the art may perform various equivalent modifications or variations based on the provided example in <FIG>, and such modifications or variations also fall within the scope of the embodiments of this application.

<FIG> is a schematic flowchart of a multi-channel signal encoding method according to an embodiment of this application. It should be understood that processing steps or operations shown in <FIG> are merely examples, and other operations or variations of the operations in <FIG> may be further performed in this embodiment of this application. In addition, the steps in <FIG> may be performed in a sequence different from that shown in <FIG>, and some operations in <FIG> may not need to be performed.

The method in <FIG> includes the following steps.

<NUM>: Perform time-frequency transformation on a left-channel time-domain signal and a right-channel time-domain signal of a current frame, to obtain a left-channel frequency-domain signal and a right-channel frequency-domain signal.

<NUM>: Perform a normalized cross-correlation operation on the left-channel frequency-domain signal and the right-channel frequency-domain signal, to obtain a target frequency-domain signal.

<NUM>: Perform frequency-time transformation on the target frequency-domain signal, to obtain a target time-domain signal.

<NUM>: Determine an initial ITD value of the current frame based on the target time-domain signal.

A process described in steps <NUM> to <NUM> may be represented by using the following formula: <MAT> where
Li(f) represents a frequency domain coefficient of the left-channel frequency-domain signal, <MAT> represents a conjugate of a frequency domain coefficient of the right-channel frequency-domain signal, arg max() means selecting a maximum value from a plurality of values, and IDFT() represents inverse discrete Fourier transform.

<NUM>: Perform fine-grained ITD control, to calculate an ITD value of the current frame.

<NUM>: Perform phase offset on the left-channel time-domain signal and the right-channel time-domain signal based on the ITD value of the current frame.

<NUM>: Perform downmixing on a left-channel time-domain signal and a right-channel time-domain signal.

For implementations of steps <NUM> and <NUM>, refer to the prior art.

Step <NUM> is corresponding to step <NUM> in <FIG>. Any implementation provided in step <NUM> may be used for step <NUM>. The following lists several optional implementations.

Step <NUM>: Divide a low frequency part of the left-channel frequency-domain signal of the current frame into M sub-bands, where each sub-band includes N frequency domain amplitude values.

Step <NUM>: Calculate a correlation parameter of the current frame and a previous frame based on the following formula: <MAT> where
|L(i* N + j)| represents a jth frequency domain amplitude value of an ith sub-band in the low frequency part of the left-channel frequency-domain signal of the current frame, |L(-<NUM>)(i * N + j)| represents a jth frequency domain amplitude value of an ith sub-band in a low frequency part of a left-channel frequency-domain signal of the previous frame, and cor(i) represents a normalized cross-correlation value corresponding to an ith sub-band in the M sub-bands.

It should be understood that the correlation parameter of the current frame and the previous frame is obtained through calculation in step <NUM>. The correlation parameter may be a normalized cross-correlation value of each sub-band, or may be an average value of normalized cross-correlation values of the sub-bands.

Step <NUM>: Calculate a peak-to-average ratio of each sub-band of the current frame.

It should be understood that step <NUM> and step <NUM> may be performed simultaneously, or may be performed sequentially. In addition, the peak-to-average ratio of each sub-band may be represented by using a ratio of a peak value of the frequency domain amplitude values of each sub-band to an average value of the frequency domain amplitude values of each sub-band, or may be represented by using a ratio of a peak value of the frequency domain amplitude values of each sub-band to a sum of the frequency domain amplitude values of the sub-band. This can reduce calculation complexity.

It should be understood that a peak-to-average ratio parameter of a multi-channel signal of the current frame may be obtained through calculation in step <NUM>. The peak-to-average ratio parameter may be the peak-to-average ratio of each sub-band, a sum of peak-to-average ratios of the sub-bands, or an average value of peak-to-average ratios of the sub-bands.

Step <NUM>: If the initial ITD value of the current frame and an ITD value of the previous frame meet a first preset condition, determine, based on the correlation parameter and/or a peak-to-average ratio parameter of the current frame, whether to reuse the ITD value of the previous frame for the current frame.

For example, the first preset condition may be:.

It should be noted that the first preset condition may be one condition, or may be a combination of a plurality of conditions. In addition, if the first preset condition is met, determining may be further performed based on another condition. If all conditions are met, a subsequent step is performed.

The determining, based on the correlation parameter and/or a peak-to-average ratio parameter of the current frame, whether to reuse the ITD value of the previous frame for the current frame may be specifically: determining whether the correlation parameter and/or the peak-to-average ratio parameter of the current frame meet/meets a second preset condition; and if the correlation parameter and/or the peak-to-average ratio parameter of the current frame meet/meets the second preset condition, reusing the ITD value of the previous frame for the current frame.

For example, the second preset condition may be:.

The first threshold is greater than the third threshold, and the third threshold is less than the fourth threshold; or the second threshold is greater than the fifth threshold, and the fifth threshold is less than the sixth threshold.

It should be noted that the second preset condition may be one condition, or may be a combination of a plurality of conditions. In addition, if the second preset condition is met, determining may be further performed based on another condition. If all conditions are met, a subsequent step is performed.

It should be noted that the foregoing described left-channel frequency-domain signal of the current frame may be a left-channel frequency-domain signal of one or some subframes of the current frame, and the foregoing described left-channel frequency-domain signal of the previous frame may be a left-channel frequency-domain signal of one or some subframes of the previous frame. In other words, the correlation parameter may be calculated by using a parameter of the current frame and a parameter of the previous frame, or may be calculated by using a parameter of one or some subframes of the current frame and a parameter of one or some subframes of the previous frame. Likewise, the peak-to-average ratio parameter may be calculated by using a parameter of the current frame, or may be calculated by using a parameter of one or some subframes of the current frame.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the correlation parameter of the current frame and the previous frame is calculated based on the frequency domain amplitude values of the sub-bands, but in the implementation <NUM>, the correlation parameter of the current frame and the previous frame is calculated based on a frequency domain coefficient of a sub-band or an absolute value of the frequency domain coefficient. A specific implementation process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the peak-to-average ratio parameter is calculated based on the frequency domain amplitude values of the sub-bands, but in the implementation <NUM>, the peak-to-average ratio parameter is calculated based on an absolute value of a frequency domain coefficient of a sub-band. A specific implementation process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the correlation parameter and/or the peak-to-average ratio parameter are/is calculated based on the left-channel frequency-domain signal, but in the implementation <NUM>, the correlation parameter and/or the peak-to-average ratio parameter are/is calculated based on a right-channel frequency-domain signal. A specific implementation process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the correlation parameter and/or the peak-to-average ratio parameter are/is calculated based on the left-channel frequency-domain signal or the right-channel frequency-domain signal, but in the implementation <NUM>, the correlation parameter and/or the peak-to-average ratio parameter are/is calculated based on the left-channel frequency-domain signal and the right-channel frequency-domain signal.

During specific implementation, a group of correlation parameter and/or peak-to-average ratio parameter may be calculated based on the left-channel frequency-domain signal, and then a group of correlation parameter and/or peak-to-average ratio parameter is calculated by using the right-channel frequency-domain signal. Then, a larger one of the two groups of parameters may be selected as a final correlation parameter and/or peak-to-average ratio parameter. Another process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the correlation parameter is calculated based on the frequency-domain signals, but in the implementation <NUM>, the correlation parameter is calculated based on time-domain signals.

Specifically, the correlation parameter of the current frame and the previous frame may be calculated by using the following formula: <MAT> where
L(n) represents a left-channel time-domain signal, R(n) represents a right-channel time-domain signal, N is a total quantity of samples of the left-channel time-domain signal, and L is a quantity of offset samples between an nth sample of the right-channel signal and an nth sample of the left channel.

It should be understood that the left-channel time-domain signal and the right-channel time-domain signal herein may be all left-channel signals and right-channel signals of the current frame, or may be a left-channel signal and a right-channel signal of one or some subframes of the current frame.

Another implementation process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, it needs to be determined whether to reuse the ITD value of the previous frame for the current frame, but in the implementation <NUM>, it needs to be determined whether to estimate the ITD value of the current frame based on a change trend of ITD values of previous T frames of the current frame, where T is an integer greater than or equal to <NUM>.

The ITD value ITD[i] of the current frame may be calculated in the following manner: <MAT> where
delta = ITD[i-<NUM>] - ITD[i-<NUM>], ITD[i-<NUM>] represents the ITD value of the previous frame of the current frame, and ITD[i-<NUM>] represents an ITD value of a previous frame of the previous frame of the current frame.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the correlation parameter of the current frame and the previous frame is calculated based on the time/frequency signals of the current frame and the previous frame, but in the implementation <NUM>, the correlation parameter is calculated based on pitch periods of the current frame and the previous frame.

Specifically, a pitch period of the current frame and a pitch period of the corresponding previous frame may be calculated based on an existing pitch period algorithm; a deviation between the pitch period of the current frame and the pitch period of the previous frame is calculated; and the deviation between the pitch period of the current frame and the pitch period of the previous frame is used as the correlation parameter of the current frame and the previous frame.

It should be understood that the deviation between the pitch period of the current frame and the pitch period of the previous frame may be a deviation between an overall pitch period of the current frame and an overall pitch period of the previous frame, or may be a deviation between a pitch period of one or some subframes of the current frame and a pitch period of one or some subframes of the previous frame, or may be a sum of deviations between pitch periods of some subframes of the current frame and pitch periods of some subframes of the previous frame, or may be an average value of deviations between pitch periods of some subframes of the current frame and pitch periods of some subframes of the previous frame.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the ITD value of the current frame is determined based on the correlation parameter and/or the peak-to-average ratio parameter, but in the implementation <NUM>, the ITD value of the current frame is determined based on the correlation parameter and/or a spectrum tilt parameter.

In this case, a second preset condition may be: a correlation value of the correlation parameter of the current frame and the previous frame is greater than a threshold, and/or a spectrum tilt value of the spectrum tilt parameter is less than a threshold (it should be understood that a larger spectrum tilt value indicates weaker signal voicing, and a smaller spectrum tilt value indicates stronger signal voicing).

Another process of the implementation <NUM> is similar to that of the foregoing implementation.

A difference between the implementation <NUM> and the foregoing implementation is as follows: In the foregoing implementation, the ITD value of the current frame is calculated, but in the implementation <NUM>, an IPD value of the current frame is calculated. It should be understood that the ITD value-related calculation process in steps <NUM> to <NUM> needs to be replaced with an IPD value-related process. For a manner of calculating the IPD value, refer to the prior art.

Another process of the implementation <NUM> is roughly similar to that of the foregoing implementation.

It should be understood that the foregoing <NUM> implementations are merely examples for description. In practice, these implementations may be replaced or combined with each other, to obtain a new implementation. For brevity, examples are not listed one by one herein.

The following describes apparatus embodiments of this application. The apparatus embodiments may be used to perform the foregoing methods. Therefore, for a part not described in detail, refer to the foregoing method embodiments.

<FIG> is a schematic block diagram of an encoder according to an embodiment of this application. An encoder <NUM> in <FIG> includes:.

In this embodiment of this application, the multi-channel parameter of the current frame is determined based on comprehensive consideration of the characteristic parameter of the current frame and the difference between the current frame and the previous K frames. This determining manner is more proper. Compared with a manner of directly reusing a multi-channel parameter of a previous frame for the current frame, this manner can better ensure accuracy of inter-channel information of a multi-channel signal.

The third determining unit <NUM> is specifically configured to: if the difference parameter meets a first preset condition, determine the multi-channel parameter of the current frame based on the characteristic parameter of the current frame.

Optionally, in some embodiments, the difference parameter is an absolute value of a difference between the initial multi-channel parameter of the current frame and a multi-channel parameter of a previous frame of the current frame, and the first preset condition is that the difference parameter is greater than a preset first threshold.

Optionally, in some embodiments, the difference parameter is a product of the initial multi-channel parameter of the current frame and a multi-channel parameter of a previous frame of the current frame, and the first preset condition is that the difference parameter is less than or equal to <NUM>.

Optionally, in some embodiments, the third determining unit <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a correlation parameter of the current frame, where the correlation parameter is used to represent a degree of correlation between the current frame and the previous frame of the current frame.

Optionally, in some embodiments, the third determining unit <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a peak-to-average ratio parameter of the current frame, where the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame.

The third determining unit <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on at least one of a correlation parameter and a peak-to-average ratio parameter of the current frame, where the correlation parameter is used to represent a degree of correlation between the current frame and the previous frame of the current frame, and the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame.

Optionally, in some embodiments, the encoder further includes:
a fourth determining unit, configured to determine the correlation parameter based on a target channel signal in the multi-channel signal of the current frame and a target channel signal in a multi-channel signal of the previous frame.

Optionally, in some embodiments, the fourth determining unit is specifically configured to determine the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter is at least one of a frequency domain amplitude value and a frequency domain coefficient of the target channel signal.

Optionally, in some embodiments, the encoder further includes:
a fifth determining unit, configured to determine the correlation parameter based on a pitch period of the current frame and a pitch period of the previous frame.

The third determining unit <NUM> is specifically configured to: if the characteristic parameter meets a second preset condition, determine the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame, where T is an integer greater than or equal to <NUM>.

Optionally, in some embodiments, the third determining unit <NUM> is specifically configured to determine the multi-channel parameters of the previous T frames as the multi-channel parameter of the current frame, where T is equal to <NUM>.

Optionally, in some embodiments, the third determining unit <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a change trend of the multi-channel parameters of the previous T frames, where T is greater than or equal to <NUM>.

The characteristic parameter includes the correlation parameter and/or the peak-to-average ratio parameter of the current frame, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame of the current frame, and the peak-to-average ratio parameter is used to represent the peak-to-average ratio of the signal of the at least one channel in the multi-channel signal of the current frame; and the second preset condition is that the characteristic parameter is greater than a preset threshold.

Optionally, in some embodiments, the initial multi-channel parameter of the current frame includes at least one of the following: an initial inter-channel coherence IC value of the current frame, an initial inter-channel time difference ITD value of the current frame, an initial inter-channel phase difference IPD value of the current frame, an initial overall phase difference OPD value of the current frame, and an initial inter-channel level difference ILD value of the current frame.

The characteristic parameter of the current frame includes at least one of the following parameters of the current frame: the correlation parameter, the peak-to-average ratio parameter. It may optionally also include at least one of a signal-to-noise ratio parameter, and a spectrum tilt parameter, where the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame, the peak-to-average ratio parameter is used to represent the peak-to-average ratio of the signal of the at least one channel in the multi-channel signal of the current frame, the signal-to-noise ratio parameter is used to represent a signal-to-noise ratio of a signal of at least one channel in the multi-channel signal of the current frame, and the spectrum tilt parameter is used to represent a spectrum tilt degree of a signal of at least one channel in the multi-channel signal of the current frame.

The processor <NUM> is specifically configured to: if the difference parameter meets a first preset condition, determine the multi-channel parameter of the current frame based on the characteristic parameter of the current frame.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a correlation parameter of the current frame, where the correlation parameter is used to represent a degree of correlation between the current frame and the previous frame of the current frame.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a peak-to-average ratio parameter of the current frame, where the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on at least one of a correlation parameter and a peak-to-average ratio parameter of the current frame, where the correlation parameter is used to represent a degree of correlation between the current frame and the previous frame of the current frame, and the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame.

Optionally, in some embodiments, the processor <NUM> is further configured to determine the correlation parameter based on a target channel signal in the multi-channel signal of the current frame and a target channel signal in a multi-channel signal of the previous frame.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter is a frequency domain amplitude value of the target channel signal.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter is a frequency domain coefficient of the target channel signal.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the correlation parameter based on a frequency domain parameter of the target channel signal in the multi-channel signal of the current frame and a frequency domain parameter of the target channel signal in the multi-channel signal of the previous frame, where the frequency domain parameter is a frequency domain amplitude value and a frequency domain coefficient of the target channel signal.

Optionally, in some embodiments, the processor <NUM> is further configured to determine the correlation parameter based on a pitch period of the current frame and a pitch period of the previous frame.

The processor <NUM> is specifically configured to: if the characteristic parameter meets a second preset condition, determine the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame, where T is an integer greater than or equal to <NUM>.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the multi-channel parameters of the previous T frames as the multi-channel parameter of the current frame, where T is equal to <NUM>.

Optionally, in some embodiments, the processor <NUM> is specifically configured to determine the multi-channel parameter of the current frame based on a change trend of the multi-channel parameters of the previous T frames, where T is greater than or equal to <NUM>.

The term "and/or" in this specification indicates that three relationships may exist. For example, A and/or B may indicate the following three cases: A exists alone, both A and B exist, and B exists alone. In addition, the character "/" in this specification usually indicates that associated objects are in an "or" relationship.

A person of ordinary skill in the art may be aware that, with reference to the examples described in the embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware.

It may be clearly understood by a person skilled in the art that, for convenience and brevity of description, for detailed working processes of the foregoing described system, apparatus, and unit, reference may be made to corresponding processes in the foregoing method embodiments, and details are not described herein again.

For example, the described apparatus embodiments are merely examples. For example, the unit division is merely logical function division and may be other division during actual implementation. The indirect couplings or communication connections between the apparatuses or units may be implemented in electrical, mechanical, or other forms.

The units described as separate parts may or may not be physically separated, and parts displayed as units may or may not be physical units; in other words, may be located in one place, or may be distributed on a plurality of network units.

In addition, the functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units may be integrated into one unit.

Claim 1:
An encoder, comprising a memory and a processor;
the memory is configured to store a program; and
the processor is configured to execute the program, when the program is executed, the processor performs the method comprising:
obtaining (<NUM>) a multi-channel signal of a current frame;
determining (<NUM>) an initial multi-channel parameter of the current frame;
determining (<NUM>) a difference parameter based on the initial multi-channel parameter of the current frame and multi-channel parameters of previous K frames of the current frame, wherein the difference parameter is used to represent a difference between the initial multi-channel parameter of the current frame and the multi-channel parameters of the previous K frames, and K is an integer greater than or equal to <NUM>;
determining (<NUM>) a multi-channel parameter of the current frame based on the difference parameter and a characteristic parameter of the current frame; and
encoding (<NUM>) the multi-channel signal based on the multi-channel parameter of the current frame;
characterized in that the determining (<NUM>) a multi-channel parameter of the current frame based on the difference parameter and a characteristic parameter of the current frame comprises:
if the difference parameter meets a first preset condition, determining (<NUM>) the multi-channel parameter of the current frame based on the characteristic parameter of the current frame; and
if the characteristic parameter meets a second preset condition, determining the multi-channel parameter of the current frame based on multi-channel parameters of previous T frames of the current frame, wherein T is an integer greater than or equal to <NUM>;
wherein the characteristic parameter of the current frame comprises at least one of the correlation parameter and a peak-to-average ratio parameter of the current frame, wherein the correlation parameter is used to represent the degree of correlation between the current frame and the previous frame of the current frame, and the peak-to-average ratio parameter is used to represent a peak-to-average ratio of a signal of at least one channel in the multi-channel signal of the current frame; and the second preset condition is that the characteristic parameter is greater than a preset threshold.