The present disclosure relates to the field of communications technologies, and in particular, to an inter-channel phase difference parameter encoding method and apparatus.
As quality of life is improved, a requirement for high-quality audio is constantly increased. Compared with mono audio, stereo audio presents a sense of orientation and a sense of distribution for each acoustic source, and can improve clarity and intelligibility of audio information and enhance a sense of presence of audio play. Therefore, stereo audio is highly favored by people.
A parametric stereo (PS) encoding technology is a common stereo encoding technology. In the PS encoding technology, encoding and decoding processing is performed on a stereo signal (in other words, a multi-channel signal) based on a spatial perception characteristic. Specifically, encoding and decoding of a multi-channel signal are converted into encoding and decoding of a mono audio signal and encoding and decoding of spatial perception parameters. The spatial perception parameters in PS encoding include inter-channel correlation (IC), an inter-channel level difference (ILD), an inter-channel time difference (ITD), an inter-channel phase difference (IPD), and the like. An ITD parameter and an IPD parameter are spatial perception parameters that indicate horizontal orientation of an acoustic source. An ILD parameter, the ITD parameter, and the IPD parameter determine human ear's perception of a location of the acoustic source, and can effectively determine a sound field location and is important for stereo signal restoration. Therefore, determining of parameters such as the IPD parameter is important for stereo signal restoration.
In the prior art 1, when an IPD parameter of each frame in a stereo signal is calculated, specifically, a time domain signal is transformed into a frequency domain signal, the frequency domain signal is divided into a plurality of subbands, IPD parameters of subbands are calculated one by one, and then the IPD parameters of all subbands are quantized to be used to encode the stereo signal. It can be learned that, calculation of the IPD parameter in the prior art 1 needs to be performed on the subbands one by one. Consequently, a plurality of resources are occupied, and encoding efficiency is low.
In the prior art 2, when an IPD parameter of each frame in a stereo signal is calculated, specifically, a time domain signal is transformed into a frequency domain signal, an IPD parameter of a stereo signal with one frame is calculated based on the frequency domain signal. The IPD parameter of the stereo signal with the frame is a group inter-channel phase difference (group IPD) parameter, and then the group IPD parameter is quantized to be used to encode the stereo signal. It can be learned that, in the prior art, only one IPD parameter (that is, the group IPD parameter) is calculated, and then only one IPD parameter can be quantized. Although less resources are occupied, phase information precision for encoding is low, and encoding quality is poor.
This application provides an IPD parameter encoding method and apparatus to increase a diversity of selecting an IPD parameter encoding scheme, better maintain phase information, and improve audio encoding quality.
According to a first aspect of the present disclosure, an IPD parameter encoding method is provided and includes:
obtaining a reference parameter used to determine an IPD parameter encoding scheme of a current frame of a multi-channel signal;
determining the IPD parameter encoding scheme of the current frame based on the reference parameter, where the determined IPD parameter encoding scheme of the current frame is one of at least two preset IPD parameter encoding schemes; and
processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame.
It can be learned that when the IPD parameter is encoded, the reference parameter is obtained, the IPD parameter encoding scheme of the current frame corresponding to the current frame is determined based on the reference parameter, and the IPD parameter of the current frame is processed by using the determined IPD parameter encoding scheme, so that not only the IPD parameter of the current frame can be adaptively processed, but also processing of the IPD parameter of the current frame matches with the current frame, to improve encoding quality of the multi-channel signal.
In one embodiment, the reference parameter includes at least one of a signal characteristic parameter of the current frame and signal characteristic parameters of A frames prior to the current frame, and A is an integer not less than 1.
The signal characteristic parameter of the current frame includes at least one of a parameter indicating correlation between left channel and right channel of the current frame, a variance of subband IPD parameters of the current frame, a signal type of the current frame, and the ITD parameter of the current frame.
The signal characteristic parameters of the A frames previous to the current frame include at least one of a parameter indicating correlation between left channel and right channel of each of the previous A frames, a variance of subband IPD parameters of each of the previous A frames, an ITD parameter of each of the previous A frames, an IPD parameter encoding scheme of each of the previous A frames, and a signal type of each of the previous A frames.
The signal type includes a voice type or a music type.
A value of A may be 1, 2, 3, 4, 5, or the like.
It can be learned that, in some cases, when the IPD parameter encoding scheme of the current frame is to be determined, not only the signal characteristic parameter of the current frame is used, but also signal characteristic parameters of the A frames previous to the current frame is used, so that the determined IPD parameter encoding scheme of the current frame not only matches with the current frame but also matches with the A frames previous to the current frame, to ensure continuous continuity of the encoding scheme, and further improve encoding quality.
In one embodiment, the reference parameter includes the parameter indicating the correlation between the left channel and right channel of the current frame.
If a value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to a first threshold, the IPD parameter encoding scheme of the current frame is a first encoding scheme in the at least two IPD parameter encoding schemes.
In one embodiment, the first threshold is 0.75.
In one embodiment, the reference parameter includes the IPD parameter encoding scheme of each of the previous A frames and the signal type of each of the previous A frames.
If the IPD parameter encoding scheme of each of the previous A frames is the first encoding scheme in the at least two IPD parameter encoding schemes, and the signal type of each of the previous A frames is a music type, the IPD parameter encoding scheme of the current frame is the first encoding scheme, and the value of A may be 1.
In one embodiment, the reference parameter includes the ITD parameter of the current frame, the variance of the subband IPD parameterss of the current frame, and the signal type of each of the previous A frames.
If a value of the ITD parameter of the current frame is greater than a third threshold, the variance of the subband IPD parameterss of the current frame is less than a fourth threshold, and the signal type of each of the A frames previous to the current frame is a voice type, the IPD parameter encoding scheme of the current frame is the first encoding scheme in the at least two IPD parameter encoding schemes.
In one embodiment, the first encoding scheme includes any one of the following manners:
a group IPD parameter encoding scheme;
skipping encoding an IPD parameter; or
setting a value of an IPD parameter to 0.
In some cases, whether the IPD parameter of the current frame is transmitted to a decoder does not improve a decoding effect. Therefore, the first encoding scheme may be skipping encoding the IPD parameter, setting the value of the IPD parameter to 0, or the group ID parameter encoding scheme. When the first encoding scheme is skipping encoding the IPD parameter, all encoding bits can be used to encode a parameter that can improve a decoding effect. When the first encoding scheme is setting the value of the IPD parameter to 0, or the group ID parameter encoding scheme, because the IPD parameter or a group ID parameter with a value of 0 occupies very few bits, the encoding bits may alternatively be used as many as possible to encode the parameter that can improve the decoding effect, to improve an encoding effect.
In one embodiment, when the first encoding scheme is the group IPD parameter encoding scheme, the processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame includes:
extracting subband IPD parameters of left channel frequency domain signal and right channel frequency domain signal of the current frame;
determining a group IPD parameter of the current frame based on the extracted subband IPD parameters; and
encoding the group IPD parameter of the current frame.
In one embodiment, if the IPD parameter encoding scheme of the current frame is not the first encoding scheme,
the IPD parameter encoding scheme of the current frame is a second encoding scheme.
The second encoding scheme includes an IPD parameter encoding scheme of a subband set, or a subband IPD parameter encoding scheme, and the subband IPD parameter encoding scheme is encoding subband IPD parameters of some or all of subbands of the current frame.
In one embodiment, the second encoding scheme is the subband IPD parameter encoding scheme.
The processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame includes:
calculating IPD parameters of all or some of subbands of left channel frequency domain signal and right channel frequency domain signal of the current frame; and
encoding the IPD parameters that are of all or some of the subbands and that are obtained through calculation.
When the second encoding scheme is encoding the IPD parameters of some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame, only subband IPD parameters of some subbands that are at a relatively low frequency and that are of the left channel frequency domain signal and right channel frequency domain signal of the current frame may be encoded. In an implementation, IPD parameters of remaining subbands different from a subband at the highest frequency and a subband at the second highest frequency may be encoded. Because the subband IPD parameters different from the subband at the highest frequency and the subband at the second highest frequency does not significantly improve an encoding effect, skipping encoding subband IPD parameters of two subbands can ensure that an encoding bit is used for a parameter that can better improve the encoding effect, to further improve encoding quality.
In one embodiment, the method further includes:
performing encoding based on the determined IPD parameter encoding scheme of the current frame.
For example, an encoding scheme flag bit may be set, and the flag bit occupies one bit, to indicate whether the IPD parameter encoding scheme of the current frame is a first encoding scheme or a second encoding scheme. In this way, a decoder can determine the IPD parameter encoding scheme of the current frame based on the encoding scheme flag bit, to perform decoding by using a corresponding decoding manner.
In one embodiment, before the processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame, the method further includes:
determining whether the determined IPD parameter encoding scheme of the current frame needs to be adjusted;
adjusting the determined IPD parameter encoding scheme of the current frame when it is determined that the determined IPD parameter encoding scheme of the current frame needs to be adjusted.
The processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame includes:
processing the IPD parameter of the current frame based on the adjusted IPD parameter encoding scheme of the current frame.
In one embodiment, the determining whether the determined IPD parameter encoding scheme of the current frame needs to be adjusted is performed based on IPD parameter encoding schemes of the A frames previous to the current frame.
Whether the IPD parameter encoding scheme of the current frame is determined based on the IPD parameter encoding schemes of the A frames previous to the current frame, to ensure a smooth transition between the IPD parameter encoding scheme of the current frame and the IPD parameter encoding schemes of the A frames previous to the current frame, to avoid a sudden change of an encoding effect.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame is obtained by using the following calculation formula:
where
El(b) indicates an energy sum of an audio-left channel, Er(b) indicates an energy sum of an audio-right channel, Lr(k) indicates a real part of a kth frequency value of an audio-left channel frequency domain signal, Rr(k) indicates a real part of a kth frequency value of an audio-right channel frequency domain signal, Li(k) indicates an imaginary part of the kth frequency value of the audio-left channel frequency domain signal, Ri(k) indicates an imaginary part of the kth frequency value of the audio-right channel frequency domain signal, L indicates a quantity of subband spectral coefficients, and N indicates a quantity of subbands, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, χR(n) indicates an audio right channel time domain signal, L(k) indicates a kth frequency value that is of the audio-left channel frequency domain signal and that is used to calculate the IPD parameter, and R(k) indicates a kth frequency value that is of the audio-right channel frequency domain signal and that is used to calculate the IPD parameter, where χL(n) and χR(n) indicate sequences of real numbers.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame is obtained by using the following calculation formula:
where
L indicates a quantity of subband spectral coefficients, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, and χR(n) indicates an audio-right channel time domain signal, where χL(n) and χR(n) indicate sequences of real numbers.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame is obtained by using the following calculation formula:
L indicates a quantity of subband spectral coefficients, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, and χR(n) indicates an audio-right channel time domain signal, where χL(n) and χR(n) indicate sequences of real numbers. R*(k) indicates a conjugate of R(k). To be specific, R*(k) indicates a conjugate of a kth frequency value of an audio-right channel frequency domain signal.
According to a second aspect of the present disclosure, an IPD difference parameter encoding apparatus is provided and includes:
an obtaining unit, configured to obtain a reference parameter, where the reference parameter is used to determine an IPD parameter encoding scheme of a current frame of a multi-channel signal;
a determining unit, configured to determine the IPD parameter encoding scheme of the current frame based on the reference parameter, where the determined IPD parameter encoding scheme of the current frame is one of at least two preset IPD parameter encoding schemes; and
a processing unit, configured to process an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame.
It can be learned that when the IPD parameter is encoded, the reference parameter is obtained, the IPD parameter encoding scheme of the current frame corresponding to the current frame is determined based on the reference parameter, and the IPD parameter of the current frame is processed by using the determined IPD parameter encoding scheme, so that not only the IPD parameter of the current frame can be adaptively processed, but also processing of the IPD parameter of the current frame matches with the current frame, to improve encoding quality of the multi-channel signal.
In one embodiment, the reference parameter includes at least one of a signal characteristic parameter of the current frame and signal characteristic parameters of A frames previous to the current frame, and A is an integer not less than 1.
The signal characteristic parameter of the current frame includes at least one of a parameter indicating correlation between left channel and right channel of the current frame, a variance of subband IPD parameters of the current frame, a signal type of the current frame, and the ITD parameter of the current frame.
The signal characteristic parameters of the A frames previous to the current frame include at least one of a parameter indicating correlation between left channel and right channel of each of the previous A frames, a variance of subband IPD parameters of each of the previous A frames, an ITD parameter of each of the previous A frames, an IPD parameter encoding scheme of each of the previous A frames, and a signal type of each of the previous A frames.
The signal type includes a voice type or a music type.
It can be learned that, in some cases, when the IPD parameter encoding scheme of the current frame is to be determined, not only the signal characteristic parameter of the current frame is used, but also signal characteristic parameters of the A frames previous to the current frame is used, so that the determined IPD parameter encoding scheme of the current frame not only matches with the current frame but also matches with the A frames previous to the current frame, to ensure continuous continuity of the encoding scheme, and further improve encoding quality.
In one embodiment, the reference parameter includes the parameter indicating the correlation between the left channel and right channel of the current frame.
If a value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to a first threshold, the IPD parameter encoding scheme of the current frame is a first encoding scheme in the at least two IPD parameter encoding schemes.
In one embodiment, the first threshold is 0.75.
In one embodiment, the reference parameter includes the IPD parameter encoding scheme of each of the previous A frames and the signal type of each of the previous A frames.
If the IPD parameter encoding scheme of each of the previous A frames is the first encoding scheme in the at least two IPD parameter encoding schemes, and the signal type of each of the previous A frames is a music type, the IPD parameter encoding scheme of the current frame is the first encoding scheme, and the value of A may be 1.
In one embodiment, the reference parameter includes the ITD parameter of the current frame, the variance of the subband IPD parameterss of the current frame, and the signal type of each of the previous A frames.
If a value of the ITD parameter of the current frame is greater than a third threshold, the variance of the subband IPD parameterss of the current frame is less than a fourth threshold, and the signal type of each of the A frames previous to the current frame is a voice type, the IPD parameter encoding scheme of the current frame is the first encoding scheme in the at least two IPD parameter encoding schemes.
In one embodiment, the first encoding scheme includes any one of the following manners:
a group IPD parameter encoding scheme;
skipping encoding an IPD parameter; or
setting a value of an IPD parameter to 0.
In some cases, whether the IPD parameter of the current frame is transmitted to a decoder does not improve a decoding effect. Therefore, the first encoding scheme may be skipping encoding the IPD parameter, setting the value of the IPD parameter to 0, or the group ID parameter encoding scheme. When the first encoding scheme is skipping encoding the IPD parameter, all encoding bits can be used to encode a parameter that can improve a decoding effect. When the first encoding scheme is setting the value of the IPD parameter to 0, or the group ID parameter encoding scheme, because the IPD parameter or a group ID parameter with a value of 0 occupies very few bits, the encoding bits may alternatively be used as many as possible to encode the parameter that can improve the decoding effect, to improve an encoding effect.
In one embodiment, if the IPD parameter encoding scheme of the current frame is not the first encoding scheme,
the IPD parameter encoding scheme of the current frame is a second encoding scheme.
The second encoding scheme includes an IPD parameter encoding scheme of a subband set, or a subband IPD parameter encoding scheme, and the subband IPD parameter encoding scheme is encoding subband IPD parameters of some or all of subbands of the current frame.
In one embodiment, the second encoding scheme is the subband IPD parameter encoding scheme.
The processing an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame includes:
calculating IPD parameters of all or some of subbands of left channel frequency domain signal and right channel frequency domain signal of the current frame; and
encoding the IPD parameters that are of all or some of the subbands and that are obtained through calculation.
When the second encoding scheme is encoding the IPD parameters of some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame, only subband IPD parameters of some subbands that are at a relatively low frequency and that are of the left channel frequency domain signal and right channel frequency domain signal of the current frame may be encoded. In an implementation, IPD parameters of remaining subbands different from a subband at the highest frequency and a subband at the second highest frequency may be encoded. Because the subband IPD parameters different from the subband at the highest frequency and the subband at the second highest frequency does not significantly improve an encoding effect, skipping encoding subband IPD parameters of two subbands can ensure that an encoding bit is used for a parameter that can better improve the encoding effect, to further improve encoding quality.
In one embodiment, the apparatus further includes:
an encoding unit, configured to perform encoding based on the determined IPD parameter encoding scheme of the current frame.
For example, an encoding scheme flag bit may be set, and the flag bit occupies one bit, to indicate whether the IPD parameter encoding scheme of the current frame is a first encoding scheme or a second encoding scheme. In this way, a decoder can determine the IPD parameter encoding scheme of the current frame based on the encoding scheme flag bit, to perform decoding by using a corresponding decoding manner.
In one embodiment, the determining unit is further configured to determine whether the IPD parameter encoding scheme that is of the current frame and that is determined by the determining unit needs to be adjusted.
The apparatus further includes:
an adjusting unit, configured to adjust the determined IPD parameter encoding scheme of the current frame when the determining unit determines that the determined IPD parameter encoding scheme of the current frame needs to be adjusted; and
the processing unit, further configured to process the IPD parameter of the current frame based on the adjusted IPD parameter encoding scheme of the current frame.
In one embodiment, the determining whether the determined IPD parameter encoding scheme of the current frame needs to be adjusted is performed based on IPD parameter encoding schemes of the A frames previous to the current frame.
Whether the IPD parameter encoding scheme of the current frame is determined based on the IPD parameter encoding schemes of the A frames previous to the current frame, to ensure a smooth transition between the IPD parameter encoding scheme of the current frame and the IPD parameter encoding schemes of the A frames previous to the current frame, to avoid a sudden change of an encoding effect.
In one embodiment, the obtaining unit is specifically configured to obtain, by using the following calculation formula, the parameter indicating the correlation between the left channel and right channel of the current frame:
El(b) indicates an energy sum of an audio-left channel, Er(b) indicates an energy sum of an audio-right channel, Lr(k) indicates a real part of a kth frequency value of an audio-left channel frequency domain signal, Rr(k) indicates a real part of a kth frequency value of an audio-right channel frequency domain signal, Li(k) indicates an imaginary part of the kth frequency value of the audio-left channel frequency domain signal, Ri(k) indicates an imaginary part of the kth frequency value of the audio-right channel frequency domain signal, L indicates a quantity of subband spectral coefficients, and N indicates a quantity of subbands, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, χR(n) indicates an audio-right channel time domain signal, L(k) indicates a kth frequency value that is of the audio-left channel frequency domain signal and that is used to calculate the IPD parameter, and R(k) indicates a kth frequency value that is of the audio-right channel frequency domain signal and that is used to calculate the IPD parameter, where χL(n) and χR(n) indicate sequences of real numbers.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame is obtained by using the following calculation formula:
L indicates a quantity of subband spectral coefficients, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, and χR(n) indicates an audio-right channel time domain signal, where χL(n) and χR(n) indicate sequences of real numbers.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame is obtained by using the following calculation formula:
L indicates a quantity of subband spectral coefficients, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, χL(n) indicates an audio-left channel time domain signal, and χR(n) indicates an audio-right channel time domain signal, where χL(n) and χR(n) indicate sequences of real numbers. R*(k) indicates a conjugate of R(k). To be specific, R*(k) indicates a conjugate of a kth frequency value of an audio-right channel frequency domain signal.
According to a third aspect of the present disclosure, a terminal is provided and includes a memory and a processor.
The memory is configured to store a group of executable code.
The processor is configured to execute the executable code stored in the memory to perform any one of the first aspect or the first implementation to the thirteenth implementation of the first aspect.
A fourth aspect of the present disclosure provides a storage medium. The storage medium stores executable code. When the executable code is executed, any one of the first aspect or the first implementation to the thirteenth implementation of the first aspect may be performed.
According to a fifth aspect of the present disclosure, a computer program is provided. The computer program may perform any one of the first aspect or the first implementation to the thirteenth implementation of the first aspect.
When the IPD parameter is encoded in the embodiments of the present disclosure, the reference parameter is obtained, the IPD parameter encoding scheme of the current frame corresponding to the current frame is determined based on the reference parameter, and the IPD parameter of the current frame is processed by using the determined IPD parameter encoding scheme, so that not only the IPD parameter of the current frame can be adaptively processed, but also processing of the IPD parameter of the current frame matches with the current frame, to improve encoding quality of the multi-channel signal.
To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly describes the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present disclosure, and a person of ordinary skill in the art may derive other drawings from these accompanying drawings without creative efforts.
The following clearly describes technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely some but not all of the embodiments of the present disclosure. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
In PS encoding, an encoder downmixes a stereo signal input from a multi-channel (for example, an x1 channel and an x2 channel) into a mono audio signal, extracts spatial perception parameters of the stereo signal through spatial perception parameter analysis, obtains a mono audio bitstream through mono audio signal encoding, and obtains a spatial perception parameter bitstream through spatial perception parameter encoding. Further, the encoder performs bitstream multiplexing on the mono audio bitstream and the spatial perception parameter bitstream to obtain a bitstream for stereo signal encoding.
A decoder performs bitstream demultiplexing on a bitstream for stereo signal encoding to obtain a mono audio bitstream and a spatial perception parameter bitstream, performs mono audio signal decoding on the mono audio bitstream, and performs spatial perception parameter decoding on the spatial perception parameter bitstream. Further, after decoding a mono audio signal, the decoder synthesizes a reconstructed stereo signal by using the spatial perception parameters.
In one embodiment, the spatial perception parameters in the foregoing PS encoding and PS decoding include parameters such as IC, an ILD, an ITD, and an IPD. The IC describes an inter-channel correlation or correlation. This parameter determines perception of a sound field range, and can improve a sense of space and sound stability of an audio signal. An ILD parameter is used to distinguish between horizontal direction angles of stereo sources and describes an inter-channel intensity difference. This parameter affects frequency components of an entire spectrum. An ITD parameter and an IPD parameter are spatial perception parameters that indicate horizontal orientation of an acoustic source. The ILD parameter, the ITD parameter, and the IPD parameter determine human ears' perception of a location of a sound source, and can effectively determine a sound field location and is important for stereo signal restoration. Therefore, determining of parameters such as the IPD parameter is important for stereo signal restoration.
An application scenario of a solution of the present disclosure is shown in
It should be noted that, in the foregoing description, the RAN merely includes an example of two network elements (e.g., the base station and the PGW). During actual implementation, the RAN further includes a plurality of other network elements. For ease of description, another network element is omitted in the embodiments of the present disclosure. Similarly, the core network also merely includes an example of the SBC. For ease of description, another network element is omitted in the embodiments of the present disclosure. It may be understood that network elements in the foregoing network are merely examples, and names of the network elements may be different in different networks. For example, the PGW is referred to as an evolved packet data gateway (ePDG) in an LTE network. Similarly, a connection manner between the foregoing network elements may also change with evolution of a network. Therefore, in the embodiments of the present disclosure, an application scenario of the present disclosure is not limited to the foregoing examples.
The terminal 301 and the terminal 305 are terminals that have a cellular network access capability, and may be a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a mobile phone, a tablet computer (Pad), a notebook computer (NB), a personal computer (PC), or the like.
Another application scenario of a solution of the present disclosure is shown in
The terminal 401 and the terminal 403 are terminals having an Internet access capability, and may be wearable devices, VR devices, AR devices, mobile phones, Pads, NBs, PCs, or the like.
Operation S501. Obtain a reference parameter used to determine an IPD parameter encoding scheme of a current frame of a multi-channel signal.
During specific implementation, according to one embodiment, the IPD parameter encoding method provided in this embodiment of the present disclosure may be performed by an encoder that can encode the multi-channel signal. After encoding an IPD parameter of the current frame by using the IPD parameter encoding method provided in this embodiment of the present disclosure, the encoder transmits the encoded IPD parameter. A decoder uses, for stereo synthesis processing, the IPD parameter obtained through decoding. The following describes in detail the IPD parameter encoding method provided in this embodiment of the present disclosure. It should be noted that the encoder and the decoder in this embodiment of the present disclosure are merely described in terms of a function, and actual forms of the encoder and the decoder may be the foregoing terminals. It may be understood that, in a call process, the terminal may have a function of both an encoder and a decoder. For ease of description, the current frame is directly used when the current frame of the multi-channel signal is subsequently described. The multi-channel signal in this embodiment of the present disclosure may be a dual-channel signal, a three-channel signal, a four-channel signal, or the like. A specific quantity of channels corresponding to the multi-channel signal is not limited in this embodiment of the present disclosure.
In one embodiment, when encoding the IPD parameter of the current frame, the encoder may first obtain the reference parameter used to determine the IPD parameter encoding scheme of the current frame, and then determine the IPD parameter encoding scheme of the current frame based on the reference parameter. In other words, the reference parameter is used to determine the IPD parameter encoding scheme of the current frame. It may be understood that the reference parameter may alternatively be used to determine an encoding scheme for another parameter of the current frame. In this embodiment of the present disclosure, the reference parameter is not limited to being used to determine the IPD parameter encoding scheme. During specific implementation, the reference parameter may include at least one of a signal characteristic parameter of the current frame and signal characteristic parameters of A frames previous to the current frame. To be specific, the reference parameter may include the signal characteristic parameter of the current frame, the signal characteristic parameters of the A frames previous to the current frame, the signal characteristic parameter of the current frame and the signal characteristic parameters of the A frames previous to the current frame, or the like, and may specifically be determined based on an actual application scenario. This is not limited herein. Herein, A is an integer not less than 1. To be specific, the A frames previous to the current frame may be one frame, two frames, three frames, or the like previous to the current frame. This is not limited herein. The frame previous to the current frame and the current frame are consecutive in a time sequence. The two frames previous to the current frame are consecutive in a time sequence and include the frame previous to the current frame. The three frames previous to the current frame are consecutive in a time sequence and include the two frames previous to the current frame.
During specific implementation, according to one embodiment, the signal characteristic parameter of the current frame may include one or more of parameters such as a parameter indicating correlation between left channel and right channel of the current frame, a variance of subband IPD parameters of the current frame, a signal type of the current frame, and an ITD parameter of the current frame. The parameter indicating the correlation between the left channel and right channel of the current frame, and the variance of the subband IPD parameterss of the current frame may be obtained through calculation based on left channel frequency domain signal and right channel frequency domain signal of the multi-channel signals. The ITD parameter of the current frame may be determined based on a manner of extracting an ITD parameter of the multi-channel signal of the current frame. The manner of extracting the ITD parameter of the current frame may include an extraction manner provided in a standard protocol or an extraction manner known to a person skilled in the art. This is not limited herein.
The signal characteristic parameters of the A frames prior to the current frame (referred to herein as “previous A frames”) include one or more of parameters such as a parameter indicating correlation between left channel and right channel of each of the A frames previous to the current frame, a variance of subband IPD parameters of each of the A frames previous to the current frame, an ITD parameter of each of the A frames previous to the current frame, an IPD parameter encoding scheme of each of the A frames previous to the current frame, and a signal type of each of the A frames previous to the current frame. Selection of a specific parameter or specific parameters may be determined based on an actual application scenario. This is not limited herein. The IPD parameter encoding scheme of each of the A frames previous to the current frame may be stored in a cache or a memory. The signal type may include a voice type or a music type. The signal characteristic parameters of the A frames previous to the current frame may be stored in a cache. It may be understood that, after the signal characteristic parameter of the current frame is obtained, the signal characteristic parameter of the current frame is also stored in the cache to determine an IPD parameter encoding scheme of a following frame.
In one embodiment, the encoder may perform time-frequency transformation on left channel and right channel time domain signals of the multi-channel signal of the current frame to obtain the left channel frequency domain signal and right channel frequency domain signal of the current frame. Specifically, the foregoing time-frequency transformation may be implemented by using an implementation such as fast fourier transformation (Fast Fourier Transformation, FFT) or modified discrete cosine transform (Modified Discrete Cosine Transform, MDCT). This is not limited herein. The time-frequency transformation performed on the left channel and right channel time domain signals of the multi-channel signal of the current frame may be performed in a form of a frame or in a form of a subframe. One frame may usually include four subframes, two subframes, or eight subframes. A specific quantity of subframes may be determined based on a specific situation.
For example, in one embodiment, when the encoder transforms the left channel and right channel time domain signals of the multi-channel signal of the current frame into the left channel frequency domain signal and right channel frequency domain signal through the FFT, the following transformation formulas may specifically be used:
Herein, n indicates an index value of a time domain signal, k indicates an index value of a frequency domain signal, Length indicates a frame length, M indicates a time-frequency transformation length for transforming a time domain signal into a frequency domain signal, χL(n) indicates an audio-left channel time domain signal, χR(n) indicates an audio-right channel time domain signal, L(k) indicates a kth frequency value that is of an audio-left channel frequency domain signal and that is used to calculate the IPD parameter, and R(k) indicates a kth frequency value that is of an audio-right channel frequency domain signal and that is used to calculate the IPD parameter, where, χL(n) and χR(n) indicate sequences of real numbers.
A fourier transformation coefficient X(k) of a sequence of real numbers χ(n) (including χL(n) and χR(n)) is a complex number, and a real part of the sequence of real numbers χ(n) has an even symmetry and an imaginary part has an odd symmetry. To be specific, X(k) has a conjugate symmetry. Both X(0) and X(N/2) are real numbers and meet the following relationship formula:
X(k)=X*(N−k), where 1≤k≤L/2−1.
When discrete fourier transformation is performed, by using this conjugate symmetry, the encoder does not need to calculate and store X(k), L/2+1≤k≤L−1, and imaginary parts of X(0) and X(L/2), but only needs to calculate X(0) to X(L/2), to reduce occupation of a computing resource and a storage resource of the encoder.
After transforming the left channel and right channel time domain signals of the current frame into the left channel frequency domain signal and right channel frequency domain signal in a form of a frame or a subframe, the encoder may calculate, based on the left channel frequency domain signal and right channel frequency domain signal, the parameter indicating the correlation between the left channel and right channel of the current frame.
In one embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame may be obtained through calculation by using the following calculation formula:
El(b) indicates an energy sum of an audio-left channel, Er(b) indicates an energy sum of an audio-right channel, Lr(k) indicates a real part of a kth frequency value of an audio-left channel frequency domain signal, Rr(k) indicates a real part of a kth frequency value of an audio-right channel frequency domain signal, Li(k) indicates an imaginary part of a kth frequency value of the audio-left channel frequency domain signal, Ri(k) indicates an imaginary part of a kth frequency value of the audio-right channel frequency domain signal, L indicates a quantity of subband spectral coefficients, and N indicates a quantity of subbands.
In another implementation, the parameter indicating the correlation between the left channel and right channel of the current frame may be obtained through calculation by using the following calculation formula:
In another embodiment, the parameter indicating the correlation between the left channel and right channel of the current frame may be obtained through calculation by using the following calculation formula:
Herein, R*(k) indicates a conjugate of R(k). To be specific, R*(k) indicates a conjugate of the kth frequency value of the audio-right channel frequency domain signal.
In some feasible implementations, after transforming the left channel and right channel time domain signals of the current frame into the left channel frequency domain signal and right channel frequency domain signal, the encoder may further calculate the variance of the subband IPD parameterss of the current frame based on the left channel frequency domain signal and right channel frequency domain signal. Specifically, the encoder may first divide the left channel frequency domain signal and right channel frequency domain signal of the current frame into at least two subbands (in other words, a plurality of subbands). It is assumed that the left channel frequency domain signal and right channel frequency domain signal are divided into Nsubband subbands, Nsubband where is an integer greater than 2. Then, the encoder may calculate IPD parameters of all subbands based on frequency domain signals of the Nsubband subbands obtained through division, and calculate the variance of the subband IPD parameterss of the current frame based on the IPD parameters of the Nsubband subbands obtained through calculation.
In an implementation, the encoder may specifically calculate the subband IPD parameter by using the following calculation formula:
Herein, b indicates an index value of a subband, and a frequency included in a subband b is Ab-1≤k≤Ab−1.
In an implementation, the encoder may calculate the variance of the subband IPD parameterss by using the following calculation formula:
In another embodiment of the present disclosure, the subband IPD parameter may be obtained through calculation by using the following calculation formula:
Herein, atan2 indicates an arctan function.
It may be understood that, during actual application, the subband IPD parameter may alternatively be obtained through calculation in another manner. A specific calculation manner of the subband IPD parameter is not limited in this embodiment of the present disclosure.
S502. Determine the IPD parameter encoding scheme of the current frame based on the obtained reference parameter.
During specific implementation, in one embodiment, the encoder may adaptively select, based on the obtained reference parameter, one of a plurality of preset IPD parameter encoding schemes as the IPD parameter encoding scheme of the current frame.
The plurality of preset IPD parameter encoding schemes may include a first encoding scheme and a second encoding scheme. The first encoding scheme includes a group IPD parameter encoding scheme, skipping encoding an IPD parameter, setting a value of the IPD parameter to 0, or the like. The second encoding scheme includes an IPD parameter encoding scheme of a subband set, a subband IPD parameter encoding scheme, or the like. The subband IPD parameter encoding scheme may be encoding IPD parameters of all or some of subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame.
It may be understood that, in one embodiment, it may be predetermined that the first encoding scheme is specifically one of the following: the group IPD parameter encoding scheme, skipping encoding the IPD parameter, and setting the value of the IPD parameter to 0. Therefore, the encoder may directly determine that an encoding scheme is the group IPD parameter encoding scheme, skipping encoding the IPD parameter, or setting the value of the IPD parameter to 0, and does not need to perform selection from three encoding schemes. Correspondingly, it may further be predetermined that the second encoding scheme is specifically one of the IPD parameter encoding scheme of the subband set and the subband IPD parameter encoding scheme. Therefore, the encoder may directly determine that an encoding scheme is the IPD parameter encoding scheme of the subband set or the subband IPD parameter encoding scheme, and does not need to perform selection from two encoding schemes.
In another embodiment, the encoder may first determine the first encoding scheme or the second encoding scheme. When determining the first encoding scheme, the encoder selects one of the foregoing three encoding schemes. Correspondingly, when determining the second encoding scheme, the encoder selects one of the foregoing two second encoding schemes.
In one embodiment, after the IPD parameter encoding scheme of the current frame is determined, the determined IPD parameter encoding scheme of the current frame may be encoded. A specific encoding scheme may be setting a preset parameter as a preset value, and indicating different encoding schemes by using different values. For example, in an implementation, the IPD parameter encoding scheme of the current frame may be indicated by using an encoding scheme flag bit. The flag bit may occupy one bit. When a value of this bit is 0, it indicates that the IPD parameter encoding scheme of the current frame is the first encoding scheme. When a value of this bit is 1, it indicates that the IPD parameter encoding scheme of the current frame is the second encoding scheme. Certainly, when a value of this bit is 1, it may alternatively indicate that the IPD parameter encoding scheme of the current frame is the first encoding scheme, and when a value of this bit is 0, it may alternatively indicate that the IPD parameter encoding scheme of the current frame is the second encoding scheme. The decoder may determine the IPD parameter encoding scheme based on the value of the flag bit, to determine a corresponding decoding manner.
Operation S503. Process an IPD parameter of the current frame based on the determined IPD parameter encoding scheme of the current frame.
In one embodiment, the reference parameter includes the parameter indicating the correlation between the left channel and right channel of the current frame. In this case, when the IPD parameter encoding scheme of the current frame is to be determined, the parameter indicating the correlation between the left channel and right channel of the current frame may be compared with a predefined first threshold. If a value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to the first threshold, the IPD parameter encoding scheme of the current frame is the first encoding scheme. On the contrary, if a value of the parameter indicating the correlation between the left channel and right channel of the current frame is less than the first threshold, the IPD parameter encoding scheme of the current frame is the second encoding scheme. A value of the predefined first threshold ranges from 0.6 to 0.95. For example, the value may specifically be 0.89, 0.8, 0.75, or the like.
In one embodiment, the reference parameter includes the variance of the subband IPD parameterss of the current frame. In this case, when the IPD parameter encoding scheme of the current frame is to be determined, the variance of the subband IPD parameterss of the current frame may be compared with a predefined second threshold. If a value of the parameter indicating the correlation between the left channel and right channel of the current frame is less than the second threshold, it indicates that the IPD parameter encoding scheme of the current frame is the first encoding scheme. On the contrary, if a value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to the second threshold, it indicates that the IPD parameter encoding scheme of the current frame is the second encoding scheme. A value of the predefined second threshold ranges from 0.05 to 0.5. For example, the value may specifically be 0.45, 0.25, 0.3, or the like.
In one embodiment, the reference parameter includes the signal type of the current frame. For example, in an implementation, when the signal type of the current frame is a voice type, it may be determined that the IPD parameter encoding scheme of the current frame is the second encoding scheme. When the signal type of the current frame is a music type, it may be determined that the IPD parameter encoding scheme of the current frame is a first IPD parameter encoding scheme. It may be understood that, in some other embodiments, the signal type of the current frame is not the only reference parameter for determining the IPD parameter encoding scheme of the current frame. The IPD parameter encoding scheme may further be determined with reference to another reference parameter.
In one embodiment, the reference parameter includes an ITD parameter of the current frame. If a value of the ITD parameter of the current frame is greater than a preset threshold, it is determined that the IPD parameter encoding scheme of the current frame is the first encoding scheme. Otherwise, the IPD parameter encoding scheme of the current frame is the second encoding scheme. In an embodiment, the preset threshold may be 1, 2, 3, 4, or 5.
It may be understood that the signal characteristic parameter of the current frame may include only one of the foregoing parameters. In this case, the IPD parameter encoding scheme of the current frame may be determined provided that the parameter meets a corresponding parameter condition. Certainly, the signal characteristic parameter of the current frame may alternatively include at least two of the foregoing parameters. In this case, the IPD parameter encoding scheme of the current frame may be determined only when the at least two parameters respectively meet corresponding parameter conditions.
In one embodiment, the reference parameter includes the IPD parameter encoding scheme of each of the A frames previous to the current frame and the signal type of each of the A frames previous to the current frame. In this case, it may be determined whether the IPD parameter encoding scheme of each of the A frames previous to the current frame is a preset IPD parameter encoding scheme and whether the signal type of each of the A frames previous to the current frame is a preset signal type. If the IPD parameter encoding scheme of each of the A frames previous to the current frame is the first encoding scheme, and the signal type of each of the A frames of the current frame is a music type, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme.
For example, when A=1, the A frames previous to the current frame are one frame previous to the current frame. If the IPD parameter encoding scheme of the frame previous to the current frame is the first encoding scheme, and the signal type of the frame previous to the current frame is a music type, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme. Otherwise, it is determined that the IPD parameter encoding scheme of the current frame is not the first encoding scheme, for example, the second encoding scheme.
When A=2, the A frames previous to the current frame are two frames previous to the current frame. If IPD parameter encoding schemes of the two frames previous to the current frame both are first encoding schemes, and signal types of the two frames previous to the current frame are music types, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme. Otherwise, it is determined that the IPD parameter encoding scheme of the current frame is not the first encoding scheme, for example, the second encoding scheme.
In one embodiment, the reference parameter includes the ITD parameter of the current frame, the variance of the subband IPD parameterss of the current frame, and the signal type of each of the A frames previous to the current frame. In this case, an absolute value of the ITD parameter of the current frame may be compared with a predefined third threshold, the variance of the subband IPD parameterss of the current frame is compared with a predefined fourth threshold, and it is determined whether the signal type of each of the A frames previous to the current frame is a voice type. A value of the predefined third threshold may range from 0 to 4. For example, the value of the third threshold may be 4, 2, 0, or the like. A value of the predefined fourth threshold may range from 0.05 to 0.4. The value of the fourth threshold may be 0.4, 0.35, 0.25, 0.05, or the like. If the absolute value of the ITD parameter of the current frame is greater than the third threshold, the variance of the subband IPD parameters of the current frame is less than the fourth threshold, and the signal type of each of the A frames previous to the current frame is a voice type, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme. Otherwise, it is determined that the IPD parameter encoding scheme of the current frame is not the first encoding scheme, for example, the second encoding scheme.
If the A frames previous to the current frames are the frame previous to the current frame, when the absolute value of the ITD parameter of the current frame is greater than the third threshold, the variance of the subband IPD parameters of the current frame is less than the fourth threshold, and the signal type of the frame previous to the current frame is a voice type, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme. If the A frames previous to the current frames are the two frames previous to the current frame, when the absolute value of the ITD parameter of the current frame is greater than the third threshold, the variance of the subband IPD parameters of the current frame is less than the fourth threshold, and a signal type of each of the two frames previous to the current frame is a voice type, the IPD parameter encoding scheme of the current frame may be determined as the first encoding scheme.
In one embodiment, after determining that the IPD parameter encoding scheme of the current frame is the first encoding scheme, the encoder may process the IPD parameter of the current frame based on the first encoding scheme. For example, if the first encoding scheme is skipping encoding the IPD parameter, no operation is performed, to be specific, ending a process corresponding to encoding of the IPD parameter of the current frame. If the first encoding scheme is the group IPD parameter encoding scheme, the group IPD parameter of the current frame may be encoded. The group IPD parameter of the current frame is used as the IPD parameter of the current frame. If the first encoding scheme is setting the value of the IPD parameter to 0, the value of the IPD parameter of the current frame may be set to 0, and then the IPD parameter with a value of 0 is subsequently processed. For example, if the value of the IPD parameter is required as an input during some processing, after the value of the IPD parameter of the current frame is set to 0, 0 may be used as the input of the processing.
In one embodiment, the reference parameter includes the parameter indicating the correlation between the left channel and right channel of the current frame, and may further include the IPD parameter encoding scheme of the frame previous to the current frame and the signal type of the previous frame. If the value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to the first threshold, it may be determined that the IPD parameter encoding scheme of the current frame is the first encoding scheme. If the value of the parameter indicating the correlation between the left channel and right channel of the current frame is less than the first threshold, and the IPD parameter encoding scheme of the frame previous to the current frame is the first encoding scheme and the signal type of the previous frame is a music signal type, it may also be determined that the IPD parameter encoding scheme of the current frame is the first encoding scheme. Otherwise, if the value of the parameter indicating the correlation between the left channel and right channel of the current frame is less than the first threshold, and the IPD parameter encoding scheme of the frame previous to the current frame is the second encoding scheme or the signal type of the frame previous to the current frame is a voice type, it is determined that the IPD parameter encoding scheme of the current frame is the second encoding scheme.
Further, in one embodiment, after the IPD parameter encoding scheme of the current frame is determined by using the foregoing implementation, whether to adjust the IPD parameter encoding scheme of the current frame may further be determined based on the IPD parameter encoding schemes of the A frames previous to the current frame. For example, whether to adjust the IPD parameter encoding scheme of the current frame may be determined based on the IPD parameter encoding scheme of the frame, two frames, three frames, four frames, or five frames previous to the current frame. In a possible implementation, if the IPD parameter encoding scheme of the current frame is the same as the IPD parameter encoding scheme of the previous A frames, the IPD parameter encoding scheme of the current frame does not need to be adjusted. If the IPD parameter encoding scheme of the current frame is different from the IPD parameter encoding scheme of the previous A frames, adjusting the IPD parameter encoding scheme of the current frame may be considered. For example, the two frames, three frames, four frames, or five frames previous to the current frame, including the frame previous to the current frame use a same IPD parameter encoding scheme. In addition, when the IPD parameter encoding scheme used by the two frames, three frames, four frames, or five frames previous to the current frame is different from the IPD parameter encoding scheme of the current frame, the IPD parameter encoding scheme of the current frame may be adjusted. To be specific, the IPD parameter encoding scheme of the current frame is adjusted to be the same as the IPD parameter encoding scheme of the previous A frames. Adjusting the IPD parameter encoding scheme of the current frame may ensure that an encoding scheme of the current frame is kept consistent with that of a previous frame to some extent, so that an encoded code stream can ensure a smooth transition between the previous frame and the current frame during decoding, and auditory perception is better.
In one embodiment, the encoder may extract IPD parameters of at least some subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame when the encoding scheme is the second encoding scheme. The at least some subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame may specifically include all or some of the Nsubband subbands obtained through division of the left channel frequency domain signal and right channel frequency domain signal of the current frame. This is not limited herein. During specific implementation, a user may determine, based on encoding requirements such as an encoding rate or encoding quality of multi-channel signal encoding, that a frequency domain range of the left channel frequency domain signal and right channel frequency domain signal that are of the current frame and that are used to encode the group IPD parameter of the current frame includes an entire frequency domain range of the left channel frequency domain signal and right channel frequency domain signal of the current frame, to be specific, frequency domain signals of all subbands in the left channel frequency domain signal and right channel frequency domain signal of the current frame, or includes a specific frequency domain range of the left channel frequency domain signal and right channel frequency domain signal of the current frame, to be specific, frequency domain signals of some frames in the left channel frequency domain signal and right channel frequency domain signal of the current frame. The frequency domain signals of some of the frames in the left channel frequency domain signal and right channel frequency domain signal of the current frame are included in the frequency domain signals of some of the subbands of the left channel frequency domain signal and right channel frequency domain signal.
In one embodiment, the encoder may not first extract IPD parameters of all or some of subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame, and then determine the IPD parameter encoding scheme of the current frame. If the first encoding scheme is skipping encoding the IPD parameter of the current frame, the IPD parameters of all or some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame may not be directly extracted. In some other implementations, an IPD parameter of each of all or some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame may alternatively first be extracted, and then the IPD parameter encoding scheme of the current frame is determined.
In one embodiment, if the encoder determines that the frequency domain range of the left channel frequency domain signal and right channel frequency domain signal that are of the current frame and that are used to encode the group IPD parameters of the left channel frequency domain signal and right channel frequency domain signal of the current frame is an entire frequency domain range of the left channel frequency domain signal and right channel frequency domain signal of the current frame, an IPD parameter of each of all subbands (to be specific, the Nsubband subbands of the current frame) of the left channel frequency domain signal and right channel frequency domain signal of the current frame may be extracted, an average value of IPD parameters of all extracted subbands may be calculated, and then the obtained average value of the IPD parameters of all of the subbands is used as the group IPD parameter of the current frame. In an implementation, a formula for calculating the group IPD parameter of the current frame is as follows:
G_IPD indicates the group IPD parameter of the current frame, and IPD(b) indicates an IPD parameter of a bth subband.
In one embodiment, if the encoder determines that the frequency domain range of the left channel frequency domain signal and right channel frequency domain signal that are the current frame and that are used to encode the group IPD parameters of the left channel frequency domain signal and right channel frequency domain signal of the current frame is a specific frequency domain range of the left channel frequency domain signal and right channel frequency domain signal of the current frame, for example, [k1, k2], to be specific, frequency domain signals between a (k1)th frequency and a (k2)th frequency, an IPD parameter of each of some subbands (to be specific, subbands of the frequency domain signals between the (k1)th frequency and the (k2)th frequency) of the left channel frequency domain signal and right channel frequency domain signal of the current frame may be extracted, an average value of IPD parameters of all extracted subbands may be calculated, and then the obtained average value of the IPD parameters of all of the subbands is used as the group IPD parameter of the current frame.
In one embodiment, the IPD parameters of the subbands of the frequency domain signals between the (k1)th frequency and the (k2)th frequency each may be predefined as an IPD parameter of each frequency. To be specific, in this case, calculation of the IPD parameters of the subbands may be replaced with calculation of the IPD parameter of each frequency. The group IPD parameter of the current frame is calculated by using the IPD parameter of each frequency as an IPD parameter of each subband. A manner of calculating the IPD parameter of each frequency one by one in a preset frequency domain range [k1, k2] is as follows:
IPD(k)=∠L(k)R*(k),k1≤k≤k2.
Herein, ∠ indicates calculating an angle of a complex number. L(k) indicates a kth frequency value of an audio-left channel frequency domain signal, and R*(k) indicates a conjugate of a kth frequency value of an audio-right channel frequency domain signal.
Further, statistical processing may be performed on IPD(k) in a preset range (a multi-frame signal of a multi-channel frequency domain signal, including a current frame and A frames previous to the current frame) to obtain the group IPD parameter.
For example, if the specific frequency domain range [k1, k2] is a selection range of each of six frames of left channel frequency domain signal and right channel frequency domain signal, an average value of IPD parameters of (k2−k1+1)th frequencies of each frame in left channel frequency domain signal and right channel frequency domain signal with the six frames may be calculated, and a calculation formula is as follows:
Further, an average value of IPD parameters of six consecutive frames including the current frame may be calculated, and is used as the group IPD parameter of the current frame:
M[0]IPD indicates an average value of IPD parameters of the current frame, M[−1]IPD indicates an average value of IPD parameters of a frame previous to and adjacent to the current frame, M[−2]IPD indicates an average value of IPD parameters of a frame previous to and adjacent to the frame previous to and adjacent to the current frame, and so on.
In one embodiment, the second encoding scheme may be an IPD parameter encoding scheme of a subband set, or a subband IPD parameter encoding scheme. For example, when an IPD parameter encoding scheme of the current frame is a subband IPD parameter extraction manner, an IPD parameter of each of all or some of subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame are extracted, and then the IPD parameter of the subband is quantized in any quantization manner. This is not specifically limited.
Operation S601. Obtain the parameter indicating the correlation between the left channel and right channel of the current frame.
For a specific manner of obtaining the parameter indicating the correlation between the left channel and right channel of the current frame, refer to the foregoing description. Details are not described herein again.
Operation S602. Determine whether a value of the parameter indicating the correlation between the left channel and right channel of the current frame is greater than or equal to 0.75. If the value of the parameter indicating the correlation between the left channel and right channel is less than 0.75, go to operation S603; if the value of the parameter indicating the correlation between the left channel and right channel is greater than or equal to 0.75, go to operation S607.
Operation S603. Obtain the IPD parameter encoding scheme of the frame previous to the current frame.
The IPD parameter encoding scheme of the frame previous to the current frame may be stored in a cache. The IPD parameter encoding scheme of the previous frame may be skipping encoding an IPD parameter, or encoding subband IPD parameters of all or some of subbands of left channel frequency domain signal and right channel frequency domain signal.
Operation S604. Determine whether the IPD parameter encoding scheme of the frame previous to the current frame is skipping encoding the IPD parameter. If the IPD parameter encoding scheme of the frame previous to the current frame is skipping encoding the IPD parameter, go to operation S605. If the IPD parameter encoding scheme of the frame previous to the current frame is not skipping encoding the IPD parameter, go to operation S608.
Operation S605. Obtain the signal type of the frame previous to the current frame.
The signal type of the frame previous to the current frame may be stored in the cache. The signal type of the previous frame may be a music signal type or a voice signal type.
Operation S606. Determine whether the signal type of the frame previous to the current frame is the music signal type. If the signal type of the frame previous to the current frame is the music signal type, go to operation S607; if the signal type of the frame previous to the current frame is not the music signal type, go to operation S608.
Operation S607. Skip encoding the IPD parameter of the current frame, to be specific, determine that the IPD parameter encoding scheme of the current frame is skipping encoding the IPD parameter. End a processing procedure of the current frame.
Operation S608. Encode the subband IPD parameters of all or some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame. A subband is in a one-to-one correspondence to a subband IPD parameter. In other words, each subband has a corresponding subband IPD parameter.
A specific process of obtaining the subband IPD parameter is described above, and details are not described herein again.
When the subband IPD parameters of some of the subbands of the left channel frequency domain signal and right channel frequency domain signal of the current frame are encoded, to-be-encoded subband IPD parameters of a specific part of subbands may be set based on a requirement. For example, it is assumed that there are a subbands in total, and frequency values of the a subbands gradually increase from a 0th subband to an (a−1)th subband. In an embodiment, only subband IPD parameters from the 0th subband to an (a−3)th subband may be encoded. In other words, subband IPD parameters of two subbands respectively with the highest frequency and the second highest frequency are not encoded. In another embodiment, only subband IPD parameters from a second subband to an (a−1)th subband may be encoded. In other words, subband IPD parameters of two subbands respectively with the lowest frequency and the second lowest frequency are not encoded. Certainly, subband IPD parameters of any two of the subbands may alternatively not be encoded. It may be understood that, in some embodiments, a quantity of subbands corresponding to encoded subband IPD parameters may be set based on a specific requirement. For example, subband IPD parameters of (a−1) subbands in the a subbands may be encoded, or subband IPD parameters of (a−2) subbands in the a subbands may be encoded, or subband IPD parameters of (a−3) subbands in the a subbands may be encoded, or subband IPD parameters of (a−4) subbands in the a subbands may be encoded.
It may be understood that a performing sequence of obtaining operations S601, S603, and S605 in
Operation S701. Obtain a reference parameter used to determine an IPD parameter encoding scheme of a current frame of a multi-channel signal.
For a specific reference parameter and a specific manner of obtaining the reference parameter, refer to description in the foregoing embodiment. Details are not described herein again.
Operation S702. Determine the IPD parameter encoding scheme of the current frame based on the obtained parameter.
For the IPD parameter encoding scheme of the current frame, refer to the description in the foregoing embodiment. Details are not described herein again.
Operation S703. Determine whether the IPD parameter encoding scheme of the current frame is the same as an IPD parameter encoding scheme of a frame previous to the current frame. If the IPD parameter encoding scheme of the current frame is the same as the IPD parameter encoding scheme of the frame previous to the current frame, go to operation S704. If the IPD parameter encoding scheme of the current frame is different from the IPD parameter encoding scheme of the frame previous to the current frame, go to operation S705.
Operation S704. Set a preset value of a counter to 0, and go to operation S707.
In other words, the IPD parameter encoding scheme of the current frame does not need to be adjusted.
Operation S705. Determine whether a preset value of the counter is less than 5. If the preset value of the counter is less than 5, go to operation S706. If the preset value of the counter is greater than or equal to 5, go to operation S707.
Operation S706. Adjust the IPD parameter encoding scheme of the current frame, and increase the preset value of the counter by 1, and go to operation S708.
When the IPD parameter encoding scheme of the current frame is a first encoding scheme, the IPD parameter encoding scheme of the current frame is adjusted to a second encoding scheme. For example, when the IPD parameter encoding scheme of the current frame is skipping encoding an IPD parameter, the IPD parameter encoding scheme of the current frame is adjusted to encoding subband IPD parameters of all or some of subbands of left channel frequency domain signal and right channel frequency domain signal of the current frame. Alternatively, when the IPD parameter encoding scheme of the current frame is a second encoding scheme, the IPD parameter encoding scheme of the current frame is adjusted to a first encoding scheme. For example, when the IPD parameter encoding scheme of the current frame is encoding subband IPD parameters of all or some of subbands of left channel frequency domain signal and right channel frequency domain signal of the current frame, the IPD parameter encoding scheme of the current frame is adjusted to skipping encoding an IPD parameter.
Operation S707. Process an IPD parameter of the current frame by using the determined IPD parameter encoding scheme of the current frame. End a procedure.
Operation S708. Process an IPD parameter of the current frame by using the adjusted IPD parameter encoding scheme of the current frame.
In another embodiment of the present disclosure, when whether to adjust the IPD parameter encoding scheme of the current frame is to be determined, two counters may be used. A specific processing manner is as follows:
When the IPD parameter encoding scheme of the current frame and the IPD parameter encoding scheme of the frame previous to the current frame both are first encoding schemes, a value of a first counter is set to 0. If the IPD parameter encoding scheme of the frame previous to the current frame is the first encoding scheme, the IPD parameter encoding scheme of the current frame is the second encoding scheme, and the value of the first counter is less than 5, the IPD parameter encoding scheme of the current frame is adjusted to the first encoding scheme, and the value of the first counter is increased by 1. The first encoding scheme may be skipping encoding the IPD parameter, and the second encoding scheme may be encoding the subband IPD parameters of all or some of the subbands of the left channel frequency domain signal and right channel frequency domain signal.
When the IPD parameter encoding scheme of the current frame and the IPD parameter encoding scheme of the frame previous to the current frame both are second encoding schemes, a value of a second counter is set to 0. If the IPD parameter encoding scheme of the frame previous to the current frame is the second encoding scheme, the IPD parameter encoding scheme of the current frame is the first encoding scheme, and the value of the second counter is less than 5, the IPD parameter encoding scheme of the current frame is adjusted to the second encoding scheme, and the value of the second counter is increased by 1. The first encoding scheme may be skipping encoding the IPD parameter, and the second encoding scheme may be encoding the subband IPD parameters of all or some of the subbands of the left channel frequency domain signal and right channel frequency domain signal.
It may be understood that, if the IPD parameter encoding scheme of the current frame is adjusted, the adjusted IPD parameter encoding scheme of the current frame is cached. In other words, when an IPD parameter encoding scheme of a frame after the current frame is to be determined, refer to the adjusted IPD parameter encoding scheme of the current frame.
an obtaining unit 801, configured to obtain a reference parameter, where the reference parameter is used to determine an IPD parameter encoding scheme of a current frame of a multi-channel signal, and
for a specific reference parameter and a specific obtaining parameter of the reference parameter, reference may be made to description in the foregoing embodiment, and details are not described herein again;
a determining unit 802, configured to determine an IPD parameter encoding scheme of the current frame based on the reference parameter obtained by the obtaining unit 801, where the determined IPD parameter encoding scheme of the current frame is one of at least two preset IPD parameter encoding schemes, and
for determining the IPD parameter encoding scheme of the current frame, reference may specifically be made to description in a method embodiment part, for specific encoding schemes of the at least two preset IPD parameter encoding schemes, reference may also be made to description in the method embodiment part, and details are not described herein again; and
a processing unit 803, configured to process an IPD parameter of the current frame based on the IPD parameter encoding scheme that is of the current frame and that is determined by the determining unit 802.
For a specific processing process, refer to description in the method embodiment part. Details are not described herein again.
In another embodiment of the present disclosure, the determining unit 802 may further be configured to determine whether the determined IPD parameter encoding scheme of the current frame needs to be adjusted. In this case, as shown in
As shown in
As shown in
As shown in
As shown in
As shown in
In one embodiment, the processor 908 and the memory 909 may further have a data exchange interface. Data exchange between the processor 908 and the memory 909 may be directly performed through the data exchange interface, and does not need to pass through the bus 907, to improve data exchange efficiency between the processor 908 and the memory 909.
In one embodiment, the processor 908 and the memory 909 may be a processor and a memory in a digital signal processor (DSP: Digital Signal Processor). In other words, both the processor 908 and the memory 909 are encapsulated in the DSP. In this case, data exchange between the processor 908 and the memory 909 may be performed through a data exchange interface inside the DSP. In addition, because both the processor 908 and the memory 909 are encapsulated in the DSP, the processor 908 and the memory 909 may exchange data with another component through one data exchange interface between the DSP and the bus 907.
An embodiment of the present disclosure further provides a computer program. When the computer program is executed, a procedure of any one of the foregoing method embodiments may be executed.
An embodiment of the present disclosure further provides a storage medium. The storage medium stores executable code, and when the executable code is executed, a procedure in any one of the foregoing method embodiments may be executed.
A person of ordinary skill in the art may understand that all or some of procedures of the method in the embodiments may be implemented by a computer program instructing related hardware. The program may be stored in a computer readable storage medium. When the program runs, the procedures of the method in the embodiments are included. The storage medium may include: a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), or the like.
In the specification, claims, and accompanying drawings of the present disclosure, the terms “first”, “second”, “third”, “fourth”, and the like are intended to distinguish between different objects but do not indicate a specific order. In addition, the terms “include”, “have”, and any other variant thereof are intended to cover a non-exclusive inclusion. For example, a process, a method, a system, a product, or a device that includes a series of operations or units is not limited to the listed operations or units, but optionally further includes a operation or unit that is not listed, or optionally further includes another inherent operation or unit of the process, method, system, product, or device.
What is disclosed above is merely example embodiments of the present disclosure, and certainly is not intended to limit the protection scope of the present disclosure. Therefore, equivalent variations made in accordance with the claims of the present disclosure shall fall within the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201710524352.0 | Jun 2017 | CN | national |
This application is a continuation of U.S. patent application Ser. No. 16/723,449, filed on Dec. 20, 2019, which is a continuation of International Application No. PCT/CN2018/085756, filed on May 5, 2018, which claims priority to Chinese Patent Application No. 201710524352.0, filed on Jun. 30, 2017. All of the afore-mentioned patent applications are hereby incorporated by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
11031021 | Zhang | Jun 2021 | B2 |
20110123031 | Ojala | May 2011 | A1 |
20110257968 | Kim et al. | Oct 2011 | A1 |
20120221343 | Kim et al. | Aug 2012 | A1 |
20140098963 | Lang et al. | Apr 2014 | A1 |
20140164001 | Lang et al. | Jun 2014 | A1 |
20150010155 | Virette et al. | Jan 2015 | A1 |
20150025881 | Carlos et al. | Jan 2015 | A1 |
20160254002 | Zhang et al. | Sep 2016 | A1 |
20170365260 | Chebiyyam et al. | Dec 2017 | A1 |
20190096411 | Zhang et al. | Mar 2019 | A1 |
Number | Date | Country |
---|---|---|
102165519 | Aug 2011 | CN |
103559884 | Feb 2014 | CN |
104246873 | Dec 2014 | CN |
104681029 | Jun 2015 | CN |
107452387 | Dec 2017 | CN |
2169664 | Mar 2010 | EP |
2296142 | Mar 2011 | EP |
3451331 | Mar 2019 | EP |
2012503792 | Feb 2012 | JP |
2019522233 | Aug 2019 | JP |
20080031366 | Apr 2008 | KR |
20140140102 | Dec 2014 | KR |
20160077201 | Jul 2016 | KR |
2305870 | Sep 2007 | RU |
2017206794 | Dec 2017 | WO |
2017222871 | Dec 2017 | WO |
Entry |
---|
JungHoe Kim et al,“Enhanced stereo coding with phase parameters for MPEG unified speech and audio coding”, Audio Engineering Society Convention 127th Convention, Oct. 2009, total 7 pages. |
G 722: “ITU-T G.722 7 kHz audio-coding within 64 kbiUs”, ITU-T Reconmendation, Sep. 16, 2012 (Sep. 16, 2012), pp. 1-274, XP055147503. |
Virettee David et al: G. 722 annex D and G.711.1 Annex F—New ITU-T stereo codecs, ICASSP, IEEE International Conference on Acoustics Speech and Signal Processing—Proceedings 1999 IEEE, IEEE, May 26, 2013 (May 26, 2013), pp. 528-532, XP032508530. |
Number | Date | Country | |
---|---|---|---|
20210264926 A1 | Aug 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16723449 | Dec 2019 | US |
Child | 17319353 | US | |
Parent | PCT/CN2018/085756 | May 2018 | US |
Child | 16723449 | US |