Audio signal coding method and implementation device thereof
By using a polynomial quantization method for complex linear prediction coefficients, the problem of low quantization efficiency of complex linear prediction coefficients in the prior art is solved, and efficient encoding and accurate decoding of audio signals are achieved.
Patent Information
- Application Number
- CN202480011008.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2024-02-06
- Publication Date
- 2025-09-12
AI Technical Summary
Existing linear prediction coding methods have low quantization efficiency when processing complex linear prediction coefficients, making it difficult to effectively compress audio signal data.
The polynomial with complex linear prediction coefficients as coefficients is quantized. By generating and processing the solution of the complex polynomial and combining phase distortion and inverse quantization operations, the effective encoding and decoding of the audio signal is achieved.
It improves the coding efficiency of audio signals, reduces the redundancy of data quantization, and improves the accuracy of signal reconstruction and compression effect.
Smart Images

Figure CN120641980A_ABST
Abstract
Description
Technical Field
[0001] The following description relates to a method and apparatus for encoding an audio signal. Background Art
[0002] Linear predictive coding (LPC) is a core technology of speech coding systems and audio coding systems and has been developed in various forms. LPC can reduce the amount of information in a signal by using a filter that approximates the human vocal tract with an all-pole model.
[0003] In linear predictive coding, the predicted filter coefficients may be referred to as linear prediction coefficients (LPC).
[0004] The above description is information acquired or known to the inventor(s) during the process of conceiving the present disclosure and is not necessarily publicly known technology prior to filing this application. Summary of the Invention
[0005] Technical goals One embodiment includes a method for efficiently quantizing a polynomial having complex linear prediction coefficients (LPCs) as coefficients.
[0006] The technical objectives to be achieved are not limited to those described above, and other technical objectives not mentioned above can be clearly understood by those of ordinary skill in the art from the following description.
[0007] Technical Solution According to one embodiment, a method for decoding an audio signal includes receiving a bitstream including information about a first audio signal, and generating a second audio signal based on first quantization information obtained from the bitstream and a first spectrum. The first quantization information includes quantization information generated based on a first complex polynomial having complex linear prediction coefficients (LPCs) corresponding to the first audio signal as coefficients.
[0008] The quantization information generated based on the first complex polynomial includes quantization information on solutions of the second and third complex polynomials generated based on the first complex polynomial.
[0009] The step of generating the second audio signal includes filtering the first spectrum based on the first quantization information to generate the second spectrum. The step of generating the second audio signal includes generating the second audio signal based on the second spectrum.
[0010] The magnitude of the solutions of the second complex polynomial and the third complex polynomial is 1.
[0011] A second complex polynomial and a third complex polynomial are generated based on the first complex polynomial and the fourth complex polynomial.
[0012] The fourth complex polynomial is obtained based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied.
[0013] The second complex polynomial is generated based on the sum of the first complex polynomial and the fourth complex polynomial. The third complex polynomial is generated based on the difference between the first complex polynomial and the fourth complex polynomial.
[0014] Generating a second audio signal based on the second spectrum includes filtering the second spectrum based on second quantization information obtained from the bitstream. Generating a second audio signal based on the second spectrum includes converting the filtered second spectrum into a time-domain signal to generate the second audio signal. The second quantization information includes quantization information regarding a solution of a fifth complex polynomial and a solution of a sixth complex polynomial. The fifth and sixth complex polynomials are generated based on a seventh complex polynomial having real LPC coefficients corresponding to the first audio signal as coefficients.
[0015] According to one embodiment, a method for encoding an audio signal includes generating a first spectrum corresponding to an input audio signal. The method includes obtaining a first complex polynomial having complex LPC coefficients corresponding to the first spectrum as coefficients. The method includes generating a bitstream based on the first complex polynomial.
[0016] The step of generating a bitstream includes obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial. The step of generating a bitstream includes generating a bitstream based on solutions of the second complex polynomial and the third complex polynomial.
[0017] The magnitudes of the second complex polynomial and the third complex polynomial are 1.
[0018] The step of obtaining the second and third complex polynomials based on the first complex polynomial includes obtaining a fourth complex polynomial based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied. The step of obtaining the second and third complex polynomials based on the first complex polynomial includes obtaining the second and third complex polynomials based on the first and fourth complex polynomials.
[0019] The step of obtaining the second and third complex polynomials based on the first and fourth complex polynomials includes obtaining the second complex polynomial based on the sum of the first and fourth complex polynomials. The step of obtaining the second and third complex polynomials based on the first and fourth complex polynomials includes obtaining the third complex polynomial based on the difference between the second and fourth complex polynomials.
[0020] Generating a bitstream based on the solutions of the second and third complex polynomials includes reconstructing a complex LPC based on the phases of the solutions of the second and third complex polynomials. Generating a bitstream based on the solutions of the second and third complex polynomials includes filtering the first spectrum based on the reconstructed complex LPC. Generating a bitstream based on the solutions of the second and third complex polynomials includes generating a bitstream based on the filtered first spectrum.
[0021] The step of reconstructing the complex LPC includes reconstructing the complex LPC based on a quantization operation on a phase and a dequantization operation on the quantized phase.
[0022] The step of generating the first spectrum includes generating a second spectrum corresponding to the input audio signal. The step of generating the first spectrum includes filtering the second spectrum based on a real-number LPC corresponding to the input audio signal to generate the first spectrum.
[0023] According to one embodiment, an apparatus for decoding an audio signal includes a processor and a memory configured to store instructions. When the instructions are executed by the processor, the apparatus is configured to perform multiple operations. The multiple operations include receiving a bitstream including information about a first audio signal. The multiple operations include generating a second audio signal based on first quantization information obtained from the bitstream and a first spectrum. The first quantization information includes quantization information generated based on a first complex polynomial having complex LPC coefficients corresponding to the first audio signal as coefficients.
[0024] The quantization information generated based on the first complex polynomial includes quantization information on solutions of the second and third complex polynomials generated based on the first complex polynomial.
[0025] The step of generating the second audio signal includes filtering the first spectrum based on the first quantization information to generate the second spectrum. The step of generating the second audio signal includes generating the second audio signal based on the second spectrum.
[0026] The magnitude of the solutions of the second complex polynomial and the third complex polynomial is 1.
[0027] A second complex polynomial and a third complex polynomial are generated based on the first complex polynomial and the fourth complex polynomial.
[0028] The fourth complex polynomial is obtained based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied.
[0029] The second complex polynomial is generated based on the sum of the first complex polynomial and the fourth complex polynomial. The third complex polynomial is generated based on the difference between the first complex polynomial and the fourth complex polynomial.
[0030] Generating a second audio signal based on the second spectrum includes filtering the second spectrum based on second quantization information obtained from the bitstream. Generating a second audio signal based on the second spectrum includes converting the filtered second spectrum into a time domain signal to generate the second audio signal. The second quantization information includes quantization information regarding a solution of a fifth complex polynomial and a solution of a sixth complex polynomial. The fifth and sixth complex polynomials are generated based on a seventh complex polynomial having real LPC coefficients corresponding to the first audio signal as coefficients.
[0031] According to one embodiment, an apparatus for encoding an audio signal includes a processor and a memory configured to store instructions. When the instructions are executed by the processor, the apparatus is configured to perform multiple operations. The multiple operations include generating a first spectrum corresponding to an input audio signal. The multiple operations include obtaining a first complex polynomial having complex LPC coefficients corresponding to the first spectrum as coefficients. The multiple operations include generating a bitstream based on the first complex polynomial.
[0032] The step of generating a bitstream includes obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial. The step of generating a bitstream includes generating a bitstream based on solutions of the second complex polynomial and the third complex polynomial.
[0033] The magnitudes of the second complex polynomial and the third complex polynomial are 1.
[0034] The step of obtaining the second and third complex polynomials based on the first complex polynomial includes obtaining a fourth complex polynomial based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied. The step of obtaining the second and third complex polynomials based on the first complex polynomial includes obtaining the second and third complex polynomials based on the first and fourth complex polynomials.
[0035] The step of obtaining the second and third complex polynomials based on the first and fourth complex polynomials includes obtaining the second complex polynomial based on the sum of the first and fourth complex polynomials. The step of obtaining the second and third complex polynomials based on the first and fourth complex polynomials includes obtaining the third complex polynomial based on the difference between the second and fourth complex polynomials.
[0036] Generating a bitstream based on the solutions of the second and third complex polynomials includes reconstructing a complex LPC according to the phases of the solutions of the second and third complex polynomials. Generating a bitstream based on the solutions of the second and third complex polynomials includes filtering the first spectrum based on the reconstructed complex LPC. Generating a bitstream based on the solutions of the second and third complex polynomials includes generating a bitstream based on the filtered first spectrum.
[0037] The step of reconstructing the complex LPC includes reconstructing the complex LPC based on a quantization operation on a phase and a dequantization operation on the quantized phase.
[0038] The step of generating the first spectrum includes generating a second spectrum corresponding to the input audio signal. The step of generating the first spectrum includes filtering the second spectrum based on a real-number LPC corresponding to the input audio signal to generate the first spectrum.
[0039] According to one embodiment, a method for encoding an audio signal includes extracting a first complex LPC from an input audio signal. The method includes converting the first complex LPC into a real LPC using phase warping. The method includes encoding the input audio signal based on the real LPC.
[0040] The step of extracting includes generating frequency domain coefficients corresponding to the input audio signal. The step of extracting includes obtaining a first complex LPC from the frequency domain coefficients.
[0041] The conversion step includes distorting the phase of a solution of a first linear prediction system having a first complex LPC as a coefficient so that the solution is located in the first quadrant or the second quadrant. The conversion step includes calculating a second linear prediction system having the phase-distorted solution and a conjugate complex number of the phase-distorted solution as a solution.
[0042] The step of twisting comprises reducing the phase by half.
[0043] The encoding step includes calculating a line spectral frequency (LSF) corresponding to a real number LPC. The encoding step includes encoding the input audio signal using the LSF.
[0044] The step of encoding the input audio signal using the LSF includes calculating a residual signal using the LSF. The step of encoding the input audio signal using the LSF includes quantizing the residual signal. The step of encoding the input audio signal using the LSF includes encoding the quantized residual signal.
[0045] The step of calculating the residual signal using the LSF includes quantizing the LSF. The step of calculating the residual signal using the LSF includes converting the quantized LSF into a second complex LPC. The step of calculating the residual signal using the LSF includes calculating the residual signal using the second complex LPC.
[0046] According to one embodiment, a method for decoding an audio signal includes receiving an encoded residual signal and a quantized LSF. The method includes converting the quantized LSF into a complex LPC using phase warping. The method includes outputting a time-domain audio signal corresponding to the encoded residual signal.
[0047] The step of converting the quantized LSF into a complex LPC includes converting the quantized LSF into an LSF by inverse quantization. The step of converting the quantized LSF into a complex LPC includes distorting the phase of a solution located in a first quadrant and a second quadrant among solutions of a first linear prediction system corresponding to the LSF. The step of converting the quantized LSF into a complex LPC includes calculating a second linear prediction system using the phase-distorted solution as a solution. The step of converting the quantized LSF into a complex LPC includes extracting coefficients of the second linear prediction system.
[0048] The step of twisting includes expanding the phase.
[0049] The outputting step includes decoding the encoded residual signal to generate a quantized residual signal. The outputting step includes converting the quantized residual signal into a frequency domain residual signal by inverse quantization. The outputting step includes generating complex coefficients corresponding to the frequency domain residual signal by using a complex LPC. The outputting step includes converting the complex coefficients into a time domain signal by inverse Fourier transform.
[0050] According to one embodiment, an apparatus for decoding an audio signal includes a processor and a memory configured to store instructions. When the instructions are executed by the processor, the apparatus is configured to perform multiple operations. The multiple operations include extracting a first complex LPC from an input audio signal. The multiple operations include converting the first complex LPC into a real LPC using phase warping. The multiple operations include encoding the input audio signal based on the real LPC.
[0051] The step of extracting includes generating frequency domain coefficients corresponding to the input audio signal. The step of extracting includes obtaining a first complex LPC from the frequency domain coefficients.
[0052] The conversion step includes distorting the phase of a solution of a first linear prediction system having a first complex LPC as a coefficient so that the solution is located in the first quadrant or the second quadrant. The conversion step includes calculating a second linear prediction system having the phase-distorted solution and a conjugate complex number of the phase-distorted solution as a solution.
[0053] The step of twisting includes reducing the phase.
[0054] The encoding step includes calculating an LSF corresponding to a real number LPC. The encoding step includes encoding an input audio signal using the LSF.
[0055] The step of encoding the input audio signal using the LSF includes calculating a residual signal using the LSF. The step of encoding the input audio signal using the LSF includes quantizing the residual signal. The step of encoding the input audio signal using the LSF includes encoding the quantized residual signal.
[0056] The step of calculating the residual signal using the LSF includes quantizing the LSF. The step of calculating the residual signal using the LSF includes converting the quantized LSF into a second complex LPC. The step of calculating the residual signal using the LSF includes calculating the residual signal using the second complex LPC.
[0057] According to one embodiment, a computer-readable storage medium storing one or more computer programs includes instructions for a processor to execute the method. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 is a diagram illustrating an encoder and a decoder according to one embodiment.
[0059] Figure 2 is a diagram illustrating a first encoding process according to one embodiment.
[0060] Figures 3 to 5 is a diagram illustrating a phase distortion preprocessing method according to one embodiment.
[0061] Figure 6 is a diagram illustrating a first decoding process according to one embodiment.
[0062] Figure 7 is a flowchart illustrating a first encoding process according to one embodiment.
[0063] Figure 8 is a flowchart illustrating a first decoding process according to one embodiment.
[0064] Figure 9 is a diagram illustrating a second encoding process according to one embodiment.
[0065] Figure 10 is a diagram illustrating a second decoding process according to one embodiment.
[0066] Figure 11 is a diagram illustrating a third encoding process according to one embodiment.
[0067] Figure 12 is a diagram illustrating a third decoding process according to one embodiment.
[0068] Figure 13 is a diagram illustrating the operation of a complex linear prediction coefficient (CLPC) analysis module according to one embodiment.
[0069] Figures 14 to 16 is a diagram illustrating the operation of a quantization module according to one embodiment.
[0070] Figure 17 is a diagram illustrating the operation of an inverse quantization module according to one embodiment.
[0071] Figure 18 is a schematic block diagram of an encoder according to one embodiment.
[0072] Figure 19 is a schematic block diagram of a decoder according to one embodiment. DETAILED DESCRIPTION
[0073] The following detailed structural or functional description is provided only as an example, and various changes and modifications may be made to the examples. Here, the examples are not interpreted as limiting the present disclosure, and should be understood to include all changes, equivalents and replacements within the scope of the ideas and techniques of the present disclosure.
[0074] Terms such as first, second, etc. may be used herein to describe components. Each of these terms is not used to define the nature, order, or sequence of the corresponding component, but is only used to distinguish the corresponding component from other components. For example, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.
[0075] It should be noted that if one component is described as being “connected,” “coupled,” or “engaged” to another component, a third component may be “connected,” “coupled,” or “engaged” between the first and second components, even though the first component may be directly connected, coupled, or engaged to the second component.
[0076] The singular is intended to include the plural unless the context clearly indicates otherwise. As used herein, each of "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B or C" may include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. It will be further understood that the terms "comprise / comprising..." and / or "including / comprising..." when used herein specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0077] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms (such as those defined in commonly used dictionaries) should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless explicitly defined as such herein.
[0078] As used in conjunction with the present disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "component," or "circuit"). A module may be a single integral component or its smallest unit or component adapted to perform one or more functions. For example, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0079] The term "unit" as used herein may refer to a software or hardware component, such as a field programmable gate array (FPGA) or an ASIC, and a "unit" performs a predefined function. However, a "unit" is not limited to software or hardware. A "unit" may be configured to reside on an addressable storage medium or to operate one or more processors. Therefore, a "unit" may include, for example, components (such as software components, object-oriented software components, class components, and task components), processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided in components and "units" may be combined into fewer components and "units," or may be further divided into additional components and "units." In addition, components and "units" may be implemented to operate on one or more central processing units (CPUs) within a device or a secure multimedia card. In addition, a "unit" may include one or more processors.
[0080] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. When describing the embodiments with reference to the accompanying drawings, the same reference numerals denote the same elements, and repeated description thereof will be omitted.
[0081] Figure 1 is a diagram illustrating an encoder and a decoder according to one embodiment.
[0082] Reference Figure 1 According to one embodiment, the encoder 110 may generate a bitstream by encoding an input audio signal 11. The input audio signal 11 may include a speech signal. The input audio signal 11 may be a time domain signal having a real value.
[0083] The decoder 160 may generate a reconstructed signal 16 corresponding to the input audio signal 11 by using the bitstream generated by the encoder 110. The reconstructed signal 16 may be a time domain signal having real values.
[0084] Figure 2 is a diagram illustrating a first encoding process according to one embodiment.
[0085] Reference Figure 2 According to one embodiment, the encoder 110 may include a time-frequency (TF) module 210, a linear prediction coefficient (LPC) analysis module 220, a first quantization module 230, a frequency domain linear prediction (FDLP) module 240, a scaling module 250, a second quantization module 260 and an encoding module 270.
[0086] The TF module 210 may generate frequency domain coefficients 21 corresponding to the input audio signal 11 by using Fourier transform (e.g., discrete Fourier transform). For example, the TF module 210 may generate frequency domain coefficients 21 (e.g., complex coefficients) respectively corresponding to frames of the input audio signal 11.
[0087] The LPC analysis module 220 may generate a first complex LPC 22 corresponding to the frequency domain coefficient 21 by analyzing the frequency domain coefficient 21 .
[0088] The first quantization module 230 may convert the first complex LPC 22 into a real LPC suitable for quantization based on line spectral frequency (LSF). Figures 3 to 5 The method of converting the first complex LPC into the real LPC is further described. The first quantization module 230 can obtain the LSF corresponding to the real LPC. The first quantization module 230 can quantize the LSF.
[0089] The first quantization module 230 may convert the quantized LSF 24 into the second complex LPC 23. The process of converting the quantized LSF 24 into the second complex LPC 23 may be substantially the same as the inverse process of converting the first complex LPC 22 into the quantized LSF 24. Therefore, a repeated description thereof is omitted. Since the second complex LPC 23 is generated based on the quantized LSF 24, the second complex LPC 23 may be the reconstructed first complex LPC 22. The quantized LSF 24 may be packaged into a bitstream, and the bitstream may be sent to a decoder (e.g., Figure 1 decoder 160).
[0090] The FDLP module 240 may obtain a residual signal 25 corresponding to the frequency domain coefficient 21 by using the second complex LPC 23. For example, the FDLP module 240 may obtain the residual signal 25 by filtering the frequency domain coefficient 21 based on the second complex LPC 23.
[0091] The scaling module 250 may scale the residual signal 25. For example, the scaling module 250 may scale the amplitude of the residual signal 25. Scaling information 27 of the scaling module 250 may be included in a bitstream, and the bitstream may be transmitted to the decoder 160. The scaling information 27 may include information about a scaling factor.
[0092] The second quantization module 260 can quantize the scaled amplitude 26 of the residual signal 25 and the phase 26 of the residual signal 25, respectively. The encoding module 270 can perform encoding (e.g., lossless encoding) on the quantized amplitude 28 and the quantized phase 28. The encoded signal (or compressed signal) 29 can be packaged into a bitstream, and the bitstream can be sent to the decoder 160.
[0093] Figures 3 to 5 is a diagram illustrating a phase distortion preprocessing method according to one embodiment.
[0094] Figure 3 The locations of solutions to the line spectral polynomials (LSPs) of a linear prediction system (eg, a linear prediction filter) with real LPCs as coefficients may be shown. Figure 4 The position of the LSP solution corresponding to the linear prediction system using complex LPC as coefficients can be shown. Figure 5 The position of the solution of the LSP corresponding to the linear prediction system with real-number LPC as coefficients can be shown, where the real-number LPC is generated based on the phase warp.
[0095] Reference Figure 3 According to one embodiment, based on a time domain signal with a real value (e.g., Figure 1The linear prediction system calculated by computing the input audio signal 11) can be modeled as Equation 1 shown below.
[0096] [Equation 1]
[0097] In Equation 1, A(z) can represent a linear prediction system, and a ( l ) can represent the l LPCs.
[0098] A polynomial such as Equation 2 shown below can be obtained from Equation 1.
[0099] [Equation 2]
[0100]
[0101] In Equation 2, F1(z) may represent a symmetric polynomial, and F2(z) may represent an antisymmetric polynomial.
[0102] The solutions of the polynomials F1(z) and F2(z) may lie alternately on the unit circle in the complex plane. Each polynomial may have L+1 solutions, and each polynomial may have a real root (e.g., +1 or -1). For critical sampling, by excluding the real roots, a polynomial (e.g., LSP) such as that shown in Equation 3 below may be obtained.
[0103] [Equation 3]
[0104]
[0105] The quantized LSF can be calculated using Equation 3. Figure 3 As shown, the solution of the linear prediction system A(z) with real number LPC as coefficients can be expressed as a pair of conjugate complex numbers, and the solutions of LSP P(z) and Q(z) corresponding to the linear prediction system A(z) can also be expressed as a pair of conjugate complex numbers.
[0106] Reference Figure 4 According to one embodiment, the LPC corresponding to the complex frequency domain coefficients may be a complex LPC. The solution of the linear prediction system A'(z) with the complex LPC as coefficients may not be represented as a pair of conjugate complex numbers.
[0107] The linear prediction system A'(z) may have L (e.g., 16) solutions. The solutions of the linear prediction system A'(z) may lie on the unit circle in the complex plane. In other words, the magnitude of the solutions of the linear prediction system A'(z) may be less than 1.
[0108] The solutions of the polynomials corresponding to the linear prediction system A'(z) (e.g., the complex line spectrum polynomials (CLSP) P'(z) and Q'(z)) may not lie on the unit circle in the complex plane. In other words, the magnitudes of the solutions of the polynomials corresponding to the linear prediction system A'(z) (e.g., P'(z) and Q'(z)) may have values other than 1.
[0109] It may be necessary to convert the complex LPC into real LPC to apply LSF based quantization. A phase warp based transform can be applied to convert the complex LPC into real LPC as shown below.
[0110] The solution of the linear prediction system A'(z) can be expressed as Equation 4.
[0111] [Equation 4]
[0112] Encoder (e.g. Figure 1 and Figure 2 The encoder 110) can decode z i The phase of the linear prediction system A'(z) is distorted to convert the solution z i Positioned in the first quadrant or the second quadrant. For example, the encoder 110 can i The phase of the phase distortion solution is reduced by half. wp,i Positioned in the first or second quadrant, as shown in Equation 5 below.
[0113] [Equation 5]
[0114] The encoder 110 can calculate the linear prediction system A wp (z), the linear prediction system A wp (z) The solution z is a phase distortion wp,i and the phase-distorted solution z wp,i The complex conjugate of As the solution. Linear prediction system A wp The solution of (z) can be expressed as a pair of conjugate complex numbers, and this can represent the linear prediction system A wp (z) uses real LPC as coefficient.
[0115] Reference Figure 5 According to one embodiment, with the linear prediction system A wp (z) corresponding LSP P' wp (z) and Q' wp(z) The respective solutions may have a property (eg, an interleaved property) that the solutions are alternately located on a unit circle in the complex plane. In other words, the encoder 110 may generate the phase P′ between 0 and π according to the LSF-based quantization. wp (z) and Q' wp The phase (or phase information) of the solution of (z) is quantized. The quantized phase (e.g., quantized LSF) can be packaged into a bit stream, and the bit stream can be sent to a decoder (e.g., Figure 1 decoder 160).
[0116] Since the linear prediction system A wp The order of (z) (e.g., 2L) can be twice the order of the linear prediction system A'(z) (e.g., L), so the order of the corresponding LSF can also be increased by two times. However, considering that the amount of information of the complex LPC is twice that of the real LPC, the increase in the LPC order may not be a problem from the coding perspective.
[0117] Figure 6 is a diagram illustrating a first decoding process according to one embodiment.
[0118] refer to Figure 6 According to one embodiment, the decoder 160 may include a decoding module 610, a first inverse quantization module 620, a scaling module 630, a second inverse quantization module 640, an inverse frequency domain linear prediction (IFDLP) module 650, and a frequency-time (FT) module 660. The operations performed by the decoder 160 may be similar to those performed by the encoder (e.g., Figure 1 and Figure 2 The inverse process of the operation performed by the encoder 110 is the same. Therefore, a detailed description thereof is omitted.
[0119] The decoding module 610 may receive the data from the encoder (eg, Figure 1 and Figure 2 The decoding module 610 can generate a quantized signal 61 (or quantized information) by decoding (or reconstructing) the coded signal 29 (e.g., Figure 2 quantized amplitude 28 and quantized phase 28).
[0120] The first inverse quantization module 620 may inverse quantize the quantized signal 61 to generate information related to the residual signal 62 (eg, Figure 2 The scaled amplitude 26 of the residual signal and the phase 26 of the residual signal).
[0121] The scaling module 630 may scale the residual signal 62 (eg, Figure 2The scaled amplitude of the residual signal is scaled (or descaled) by 26).
[0122] The second inverse quantization module 640 may obtain the quantized LSF 24 from the bitstream received from the encoder 110. The second inverse quantization module 640 may convert the quantized LSF 24 into a complex LPC based on the phase distortion. The second inverse quantization module 640 may inverse quantize the quantized LSF 24 to obtain (or reconstruct) the LSF (e.g., Figure 2 The second inverse quantization module 640 can obtain the phase between 0 and 1 from the reconstructed LSF. The second inverse quantization module 640 can obtain (or reconstruct) the corresponding LSP by increasing the phase of the obtained solution by n times (for example, n is a real number). The second inverse quantization module 640 can obtain (or reconstruct) the complex LPC 64 corresponding to the LSP.
[0123] The IFDLP module 650 may convert the scaled (or descaled) residual signal 63 into frequency domain coefficients 65 based on the complex LPC 64. For example, the IFDLP module 650 may generate the frequency domain coefficients 65 by filtering the scaled residual signal 63 based on the complex LPC 64.
[0124] The TF module 660 can generate a reconstructed signal 16 from the frequency domain coefficients 65 by using an inverse Fourier transform (eg, an inverse discrete Fourier transform). The reconstructed signal 16 can be a signal that is consistent with the input audio signal (eg, Figure 1 and Figure 2 The time domain signal corresponding to the input audio signal 11).
[0125] Figure 7 is a flowchart illustrating a first encoding process according to one embodiment.
[0126] Reference Figure 7 According to one embodiment, the first encoding process (eg, operations 710 to 730) may be performed with reference to Figures 1 to 5 The encoder described (e.g., Figure 1 and Figure 2 The operations of the encoder 110 are substantially the same. Therefore, repeated description thereof is omitted. Operations 710 to 730 may be performed sequentially, but the example is not limited thereto. For example, two or more operations may be performed in parallel.
[0127] In operation 710, the encoder 110 may generate an audio signal from an input audio signal (eg, Figure 1 and Figure 2 The input audio signal 11) extracts the complex LPC (for example, Figure 2 The first complex LPC 22).
[0128] In operation 720 , the encoder 110 may convert the complex LPC 22 into a real LPC based on the phase warp.
[0129] In operation 730 , the encoder 110 may encode (or compress) the input audio signal 11 based on the real-number LPC.
[0130] According to one embodiment, the encoder 110 can provide a method for efficiently quantizing the complex LPC 22 by converting the complex LPC 22 into a real LPC. For example, the encoder 110 can quantize the LSF corresponding to the complex LPC 22 and send the quantized LSF to the decoder (e.g., Figure 1 and Figure 6 decoder 160).
[0131] Figure 8 is a flowchart illustrating a first decoding process according to one embodiment.
[0132] refer to Figure 8 According to one embodiment, the first decoding process (eg, operations 810 to 830) may be performed with reference to Figure 1 and Figure 6 The decoder described (e.g., Figure 1 and Figure 6 The operations of the decoder 160 are substantially the same. Therefore, repeated description thereof is omitted. Operations 810 to 830 may be performed sequentially, but the example is not limited thereto. For example, two or more operations may be performed in parallel.
[0133] In operation 810, the decoder 160 may receive an encoded residual signal (eg, Figure 2 and Figure 6 The coded residual signal 29) and the quantized LSF (eg, Figure 2 and Figure 6 quantized LSF 24). The decoder 160 may obtain the quantized LSF 24 from the encoder (e.g., Figure 1 and Figure 2 The encoder 110 receives a bitstream. The bitstream may include the encoded residual signal 29, the quantized LSF 24 and scaling information (e.g., Figure 2 and Figure 6 Scaling information 27).
[0134] In operation 820, the decoder 160 may convert the quantized LSF 24 into a complex LPC (eg, Figure 6 The complex LPC 64).
[0135] In operation 830, the decoder 160 may output a time domain signal (eg, Figure 1and Figure 6 The reconstructed signal 16).
[0136] Figure 9 is a diagram illustrating a second encoding process according to one embodiment.
[0137] Reference Figure 9 According to one embodiment, the encoder 110 may include a TF module 910, a complex LPC (CLPC) analysis module 915, a first quantization module 920, a complex time domain noise shaping (CTNS) module 925, a scaling module 930, a second quantization module 935, an encoding module 940 and a multiplexer 945.
[0138] The TF module 910 can obtain the audio signal (eg, Figure 1 The TF module 910 may obtain the complex coefficients using a transform such as a discrete Fourier transform (DFT) and a modulated complex lapped transform (MCLT).
[0139] The CLPC analysis module 915 may generate a complex LPC corresponding to the complex coefficients generated by the TF module 910. For example, the CLPC analysis module 915 may generate the complex LPC using the Levinson-Durbin algorithm. The linear prediction system A with the complex LPC as coefficients may be modeled by a complex polynomial as shown in Equation 6. c (z) (eg, the linear prediction system A'(z) of Equation 4).
[0140] [Equation 6]
[0141] In Equation 6, a c ( l ) can represent the l LPCs.
[0142] Linear Prediction System A c The solution (or zero) of (z) may not be represented as in the reference Figure 4 A pair of conjugate complex numbers described by . Figure 4 As shown, the linear prediction system A c The solution of (z) can be located on the unit circle in the complex plane. In other words, the linear prediction system A c The magnitude of the solution to (z) can be less than 1.
[0143] The CLPC analysis module 915 can be used to analyze the linear prediction system A c (z) Obtain a complex polynomial (e.g., CLSP or Complex Immittance Spectrum Polynomial (CISP)). Figure 13Further description of the linear prediction system A c (z) Method for obtaining complex polynomials.
[0144] The first quantization module 920 may quantize information (e.g., phase of the solution, such as complex line spectrum frequency (CLSF) or complex impedance spectrum frequency (CISF)) about the complex polynomial (e.g., CLSP or CISP) obtained by the CLPC analysis module 915. The quantized information may be packaged into a bit stream, and the bit stream may be sent to a decoder (e.g., Figure 10 The first quantization module 920 can reconstruct the linear prediction system A by using the quantized information. c (z) (or plural LPC). Figures 14 to 16 The operation of the first quantization module 920 is further described.
[0145] The CTNS module 925 can be based on the reconstruction of the linear prediction system A c The complex coefficients generated by the TF module 910 are filtered by (z) (or reconstructed complex LPC) to generate a residual signal (eg, a spectrum).
[0146] The scaling module 930 may scale the residual signal generated by the CTNS module 925. For example, the scaling module 930 may perform a scaling process on each of the subbands based on the bit rate. Scaling information (e.g., a scaling factor) of the scaling module 930 may be packaged into a bitstream, and the bitstream may be sent to a decoder (e.g., Figure 10 decoder 160).
[0147] The second quantization module 935 may quantize the scaled residual signal in the complex domain.
[0148] The encoding module 940 may compress the quantized residual signal (e.g., complex quantization index) generated by the second quantization module 935. For example, the encoding module 940 may compress the quantized residual signal using lossless encoding (or lossless compression). The encoded signal (or compressed signal) may be packaged into a bitstream, and the bitstream may be sent to the decoder 160.
[0149] The multiplexer 945 may generate a bitstream based on the information quantized by the first quantization module 920 (eg, the quantized CLSF or the quantized CISF), the scaling information of the scaling module 930 , and the encoded signal generated by the decoding module 940 .
[0150] Figure 10 is a diagram illustrating a second decoding process according to one embodiment.
[0151] Reference Figure 10According to one embodiment, the decoder 160 may include a demultiplexer 1010, a first inverse quantization module 1015, a decoding module 1020, a second inverse quantization module 1025, a scaling module 1030, an inverse complex time-domain noise shaping (ICTNS) module 1035 and an FT module 1040.
[0152] The demultiplexer 1010 may receive data from an encoder (eg, Figure 9 The demultiplexer 1010 may obtain an encoded signal (or compressed signal) (e.g., Figure 9 The coded signal generated by the coding module 940), the quantized information (eg, Figure 9 The first quantization module 920 generates the quantized CLSF or the quantized CISF) and the scaling information (eg, Figure 9 Scaling information of the scaling module 930).
[0153] The first inverse quantization module 1015 may reconstruct the linear prediction system A from the quantized information (eg, quantized CLSF or quantized CISF) obtained by the demultiplexer 1010. c (z) (or plural LPC). Figure 17 The operation of the first inverse quantization module 1015 is further described.
[0154] The decoding module 1020 can perform the operations performed by the encoding module (eg, Figure 9 The inverse process of the operation performed by the encoding module 940) to reconstruct the quantized signal (e.g., by Figure 9 For example, the decoding module 1015 may generate (or reconstruct) the quantized signal based on lossless decoding.
[0155] The second inverse quantization module 1025 may generate (or reconstruct) a residual signal (eg, a signal obtained by the decoding module 1020) from the quantized signal. Figure 9 The second inverse quantization module 1025 may perform inverse quantization on the quantized signal to generate a residual signal.
[0156] The scaling module 1030 generates a scaling signal based on the scaling information obtained by the demultiplexer 1010 (eg, Figure 9 The residual signal generated by the second inverse quantization module 1025 is scaled by the scaling information of the scaling module 930 in the scaling module 930. The signal can be scaled. For example, when the scaling module (e.g., Figure 9 When the scaling factor of the scaling module 930 is n (eg, n is a natural number), the scaling factor of the scaling module 1030 may be 1 / n. The scaling module 1030 may perform scaling processing on each subband.
[0157] The ICTNS module 1035 can reconstruct the complex coefficients (e.g., Figure 9 The ICTNS module 1035 may perform the complex coefficients generated by the CTNS module (e.g., Figure 9 The CTNS module 925) performs the inverse process of the operation to reconstruct the complex coefficients.
[0158] The FT module 1040 can generate a reconstructed signal (eg, Figure 1 The FT module 1040 may perform a transform (such as an inverse discrete Fourier transform (IDFT)), a windowing operation, and / or an overlap operation to generate the reconstructed signal 16.
[0159] Figure 11 is a diagram illustrating a third encoding process according to one embodiment.
[0160] Reference Figure 11 According to one embodiment, the encoder 110 may include a TF module 910, a real LPC (RLPC) analysis module 950, a third quantization module 955, a frequency domain noise shaping (FDNS) module 960, a CLPC analysis module 915, a first quantization module 920, a CTNS module 925, a scaling module 930, a second quantization module 935, an encoding module 940, and a multiplexer 945. The TF module 910, the CLPC analysis module 915, the first quantization module 920, the CTNS module 925, the scaling module 930, the second quantization module 935, the encoding module 940, and the multiplexer 945 may be connected to the reference signal. Figure 9 The modules described are basically the same, so their repeated descriptions are omitted.
[0161] The RLPC analysis module 950 may generate a signal that is consistent with the input audio signal (eg, Figure 1 The input audio signal 11) corresponds to the real number LPC.
[0162] The third quantization module 955 may perform a quantization process and an inverse quantization process on the real number LPC generated by the RLPC analysis module 950 to generate a reconstructed real number LPC. For example, the third quantization module 955 may generate a reconstructed real number LPC from a linear prediction system (e.g., Figure 1A linear prediction system A(z) of the obtained polynomial is obtained (e.g., P(z) and Q(z) of Equation 3), information about a solution of the obtained polynomial (e.g., a phase of the solution, such as LSF and ISF)) may be quantized, and the quantized information (e.g., quantized LSF or quantized ISF) may be inversely quantized. The quantized information generated by the third quantization module 955 may be packaged into a bitstream, and the bitstream may be sent to a decoder (e.g., Figure 12 decoder 160).
[0163] The FDNS module 960 may filter the complex coefficients generated by the TF module 910 based on the reconstructed real LPC generated by the third quantization module 955. The FNDS module 960 may reduce temporal redundancy.
[0164] Figure 12 is a diagram illustrating a third decoding process according to one embodiment.
[0165] Reference Figure 12 According to one embodiment, the decoder 160 may include a demultiplexer 1010, a first inverse quantization module 1015, a decoding module 1020, a second inverse quantization module 1025, a scaling module 1030, an ICTNS module 1035, an FT module 1040, a third inverse quantization module 1045, and an inverse frequency domain noise shaping (IFDNS) module 1050. The demultiplexer 1010, the first inverse quantization module 1015, the decoding module 1020, the second inverse quantization module 1025, the scaling module 1030, the ICTNS module 1035, and the FT module 1040 may be connected to a reference signal. Figure 10 The modules described are basically the same, so their repeated descriptions are omitted.
[0166] The third inverse quantization module 1045 may be used to dequantize the quantized information obtained from the bitstream (eg, Figure 11 The quantized LSF or quantized ISF generated by the third quantization module 955 is inversely quantized to reconstruct the real LPC (for example, Figure 11 The real number LPC generated by the RLPC analysis module 950).
[0167] The IFDNS module 1050 may process the reconstructed frequency coefficients generated by the ICTNS module 1035 based on the reconstructed real LPC generated by the third inverse quantization module 1045. The operations performed by the IFDNS module 1050 may be similar to those performed by the FDNS module (e.g., Figure 11 The reverse process of the operation performed by the FDNS module 960 is the same.
[0168] Figure 13 is a diagram illustrating the operation of a CLPC analysis module according to one embodiment.
[0169] Reference Figure 13 According to one embodiment, operations 1310 to 1350 may be performed sequentially, but are not limited thereto. For example, two or more operations may be performed in parallel.
[0170] At operation 1310, a CLPC analysis module (e.g., Figure 9 The CLPC analysis module 915 can generate a linear prediction system with complex LPC as coefficients (for example, the linear prediction system A of Equation 6). c (z)).
[0171] At operation 1320, the CLPC analysis module 915 may use Instead of linear prediction system A c (z) .
[0172] In operation 1330, the CLPC analysis module 915 may apply a conjugate complex operation to the converted linear prediction system A. c ( ).
[0173] In operation 1340, the CLPC analysis module 915 may Multiply by a linear prediction system with conjugate complex arithmetic applied To generate the system polynomial .
[0174] In operation 1350, the CLPC analysis module 915 may analyze the system polynomial by With linear prediction system A c (z) Add or from the linear prediction system A c (z) Subtract the system polynomial to generate a complex polynomial (eg, CLSP or CISP), such as Equation 10.
[0175] [Equation 7]
[0176]
[0177] In Equation 7, when When P is 1, c (z) and Q c (z) can be a CLSP, and when When P is 0, c (z) and Q c (z) may be CISP. However, Can have real values other than 0 or 1.
[0178] Figures 14 to 16 is a diagram illustrating the operation of a quantization module according to one embodiment. Figure 14 is a diagram showing a first quantization module (eg, Figure 9 and Figure 11 A flowchart of the operation of the first quantization module 920), Figure 15 is a diagram showing the location of the solution of CLSP in the complex plane, Figure 16 is a diagram showing the location of the solution of CISP in the complex plane.
[0179] Reference Figure 14 According to one embodiment, operations 1410 to 1470 may be performed sequentially, but are not limited thereto. For example, two or more operations may be performed in parallel.
[0180] In operation 1410, the first quantization module 920 may obtain the data obtained by the CLPC analysis module (eg, Figure 9 and Figure 11 The CLPC analysis module 915) generates a solution of the complex polynomial (e.g., CLSP or CISP).
[0181] like Figure 15 As shown, CLSP (for example, when When P in Equation 7 is 1 c (z) and Q c (z)) may exist on the unit circle in the complex plane. In other words, the amplitude of the solution of the CLSP may be 1. The solutions of the CLSP may each have the property of being alternately located on the unit circle (e.g., an interleaved property). However, each solution of the CLSP may not have a value of -1 or 1, unlike the LSP. This may indicate that the CLSP does not have the critical sampling property in which the information to be quantized is preserved. When the amount of information to be quantized of the LSF (e.g., the phase of the solution of the LSP) is L (e.g., L is a real number), the amount of information to be quantized of the CLSF (e.g., the phase of the solution of the CSLP) may be 2L+2.
[0182] like Figure 16 As shown, CISP (for example, when When P in Equation 7 is 0 c (z) and Q c (z)) may exist on the unit circle. In other words, the amplitude of the CLSP solution may be 1. The CISP solutions may each have a property (e.g., an interleaved property) in which the solutions are alternately located on the unit circle. The amount of information to be quantized in the CISF (e.g., the phase of the CISP solution) may be 2L+2.
[0183] In operation 1420, the first quantization module 920 may obtain The phase (e.g., CLSF or CISF) of the solution to the complex polynomial (e.g., CLSP or CISP) between . Since the magnitude of the solution to the complex polynomial is 1, it may not be necessary to quantize the magnitude.
[0184] In operation 1430, the first quantization module 920 may quantize the phase (or phase information) (e.g., CLSF or CISF) of the solution of the complex polynomial (e.g., CLSP or CISP). The quantized phase (e.g., quantized CLSF or quantized CISF) generated by the first quantization module 920 may be packed into a bitstream by the multiplexer 945, and the bitstream may be sent to a decoder (e.g., Figure 10 and Figure 12 decoder 160).
[0185] In operation 1440 , the first quantization module 920 may inverse quantize the quantized phase (eg, quantized CLSF or quantized CISF) to reconstruct a phase (eg, CLSF or CISF) of a solution of the complex polynomial (eg, CLSP or CISF).
[0186] In operation 1450, the first quantization module 920 may reconstruct a solution (eg, CLSP or CISP) of the complex polynomial (eg, CLSP or CISP) by using the reconstructed phase (eg, the phase reconstructed in operation 1440). Figure 15 and Figure 16 P c (z) and Q c (z) solution).
[0187] In operation 1460, the first quantization module 920 may reconstruct the complex polynomial (e.g., CLSP or CISP) by using the reconstructed solution (e.g., the solution reconstructed in operation 1450) of the complex polynomial (e.g., CLSP or CISP). The first quantization module 920 may classify the reconstructed solution as an even index or an odd index. The first quantization module 920 may reconstruct the polynomial (e.g., CLSP or CISP) by using the solution with an even index. c (z) and Q c (z), and P can be reconstructed by using the solution with odd index c (z) and Q c Another one in (z).
[0188] In operation 1470, the first quantization module 920 may reconstruct the complex LPC (or a linear prediction system having the complex LPC as a coefficient (e.g., the linear prediction system A of Equation 6) by using the reconstructed complex polynomial (e.g., the complex polynomial reconstructed in operation 1460). c (z))).
[0189] The first quantization module 920 can reconstruct the complex LPC (or linear prediction system A) based on the reconstructed CLSP. c (z)), as shown in Equation 8.
[0190] [Equation 8]
[0191] In Equation 8, A c (z) can represent a linear prediction system, and P c (z) and Q c (z) can represent the reconstructed CLSP. From the perspective of encoding, the reconstructed polynomial (or value) may be different from the original polynomial (or value). However, in this disclosure, for ease of description, the sign of the reconstructed polynomial can be expressed as the same as the sign of the original polynomial.
[0192] The first quantization module 920 may reconstruct the linear prediction system A by using the reconstructed CISP c (z), as shown in Equation (9). Unlike CLSP, CISP may require a linear prediction system A c The last coefficient A of (z) c (L) to reconstruct the linear prediction system A c (z).
[0193] [Equation 9]
[0194] As shown in Equation 9, P c (z) and Q c (z) may need to be multiplied by and , to reconstruct the linear prediction system A based on CISP c (z). To this end, the encoder 110 may send sequence information related to CISP to the decoder 1660. The sequence information may include information about P c (z) and Q c For example, the sequence information may include information about the phase of the solution of P c (z) the following information: P c (z) The solution with minimum phase.
[0195] Figure 17 is a diagram illustrating the operation of an inverse quantization module according to one embodiment.
[0196] Reference Figure 17 According to one embodiment, the first inverse quantization module (eg, Figure 10 and Figure 12The first inverse quantization module 1015) may perform operations 1710 to 1740. Operations 1710 to 1740 may be compared with the reference Figures 14 to 16 The operations 1440 to 1470 described are substantially the same, and therefore, repeated descriptions thereof are omitted.
[0197] Figure 18 is a schematic block diagram of an encoder according to one embodiment.
[0198] Reference Figure 18 According to one embodiment, the encoder 1800 (eg, Figure 1 、 Figure 2 、 Figure 9 and Figure 11 The encoder 110 may include a processor 1820 and a memory 1840.
[0199] The memory 1840 may store instructions (or programs) executable by the processor 1820. For example, the instructions include instructions for performing the operation of the processor 1820 and / or the operation of each component of the processor 1820.
[0200] Memory 1840 may include one or more computer-readable storage media. Memory 1840 may include nonvolatile storage elements (e.g., magnetic hard disks, optical disks, floppy disks, flash memory, electrically programmable memory (EPROM), and electrically erasable programmable memory (EEPROM)).
[0201] The memory 1840 may be a non-transitory medium. The term "non-transitory" may indicate that the storage medium is not embodied in a carrier wave or propagated signal. However, the term "non-transitory" should not be interpreted as meaning that the memory 1840 is non-removable.
[0202] The processor 1820 may process data stored in the memory 1840. The processor 1820 may execute computer-readable codes (eg, software) stored in the memory 1840 and instructions triggered by the processor 1820.
[0203] The processor 1820 may be a data processing device implemented in hardware, which has a circuit physically configured to perform a desired operation. For example, the desired operation may include codes or instructions included in a program.
[0204] The data processing apparatus implemented in hardware may include, for example, a microprocessor, a CPU, a processor core, a multi-core processor, a multiprocessor, an ASIC, and an FPGA.
[0205] The processor 1820 may cause the encoder 1800 to perform one or more operations by executing the code and / or instructions stored in the memory 1840. The operations performed by the encoder 1800 may be substantially the same as the operations performed by the above-described encoder 110. Therefore, a repeated description thereof will be omitted.
[0206] Figure 19 is a schematic block diagram of a decoder according to one embodiment.
[0207] Reference Figure 19 According to one embodiment, the decoder 1900 (eg, Figure 1 、 Figure 6 、 Figure 10 and Figure 12 The decoder 160 may include a processor 1920 and a memory 1940 .
[0208] The memory 1940 may store instructions (or programs) executable by the processor 1920. For example, the instructions include instructions for performing the operation of the processor 1920 and / or the operation of each component of the processor 1920.
[0209] Memory 1940 may include one or more computer-readable storage media. Memory 1940 may include non-volatile storage elements (eg, magnetic hard disks, optical disks, floppy disks, flash memory, EPROM, and EEPROM).
[0210] Memory 1940 may be a non-transitory medium. The term "non-transitory" may indicate that the storage medium is not embodied in a carrier wave or propagated signal. However, the term "non-transitory" should not be interpreted to mean that memory 1940 is non-removable.
[0211] The processor 1920 may process data stored in the memory 1940. The processor 1920 may execute computer-readable codes (eg, software) stored in the memory 1940 and instructions triggered by the processor 1920.
[0212] The processor 1920 may be a data processing device implemented in hardware, which has a circuit physically configured to perform a desired operation. For example, the desired operation may include codes or instructions included in a program.
[0213] The data processing apparatus implemented in hardware may include, for example, a microprocessor, a CPU, a processor core, a multi-core processor, a multiprocessor, an ASIC, and an FPGA.
[0214] The processor 1920 may cause the decoder 1900 to perform one or more operations by executing the code and / or instructions stored in the memory 1940. The operations performed by the decoder 1900 may be substantially the same as the operations performed by the decoder 160 described above. Therefore, a repeated description thereof will be omitted.
[0215] The units described herein can be implemented using hardware components, software components, and / or a combination of hardware components and software components. Processing means can be implemented using one or more general or special computers such as, for example, a processor, a controller, and an arithmetic logic unit (ALU), a DSP, a microcomputer, an FPGA, a programmable logic unit (PLU), a microprocessor, or any other device that can respond and execute instructions in a defined manner. The processing means can run an operating system (OS) and one or more software applications running on the OS. The processing means can also access, store, manipulate, process, and create data in response to the execution of software. For simplicity, the description of the processing means is used as a singular; however, it will be understood by those skilled in the art that the processing means can include multiple processing elements and various types of processing elements. For example, the processing means can include multiple processors, or a single processor and a single controller. In addition, different processing configurations are possible, such as parallel processors.
[0216] Software may include a computer program, a piece of code, instructions, or some combination thereof that, independently or collectively, instructs or configures a processing device to operate as desired. Software and data may be stored in any type of machine, component, physical or virtual device, or computer storage medium or device that is capable of providing instructions or data to a processing device or being interpreted by a processing device. Software may also be distributed across networked computer systems so that the software is stored and executed in a distributed manner. Software and data may be stored by one or more non-transitory computer-readable recording media.
[0217] The methods according to the above examples can be recorded on a non-transitory computer-readable medium including program instructions to implement the various operations of the above examples. The medium may also include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the medium may be program instructions specially designed and constructed for the purposes of the examples, or they may be of a type that is well known and available to those skilled in the art of computer software. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROM disks, DVDs, and / or Blu-ray discs; magneto-optical media such as optical discs; and hardware devices specifically configured to store and execute program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.). Examples of program instructions include machine code, such as generated by a compiler, and files containing higher-level code that can be executed by a computer using an interpreter.
[0218] The above-mentioned apparatuses may be configured to act as one or more software modules in order to perform the operations of the above-mentioned examples, and vice versa.
[0219] As described above, although the examples are described with reference to limited figures, those skilled in the art may apply various technical modifications and variations based on the examples. For example, if the described techniques are performed in a different order, and / or if the components in the described systems, architectures, devices, or circuits are combined in a different manner or replaced or supplemented by other components or their equivalents, suitable results may be achieved.
[0220] Although the present disclosure has been described and explained with reference to various embodiments, it will be understood by those skilled in the art that the various embodiments are intended to be illustrative rather than restrictive. It will be understood by those skilled in the art that various changes in form and details may be made without departing from the true spirit and full scope of the present disclosure, including the scope of the appended claims and their equivalents. In addition, it will be understood by those skilled in the art that any embodiment described herein may be used in conjunction with other embodiments described herein.
[0221] Accordingly, other implementations, other examples, and equivalents of the claims are within the scope of the appended claims.
Claims
1. A method for decoding an audio signal, the method comprising: receiving a bitstream comprising information about a first audio signal; as well as generating a second audio signal based on first quantization information obtained from the bitstream and the first spectrum, The first quantization information includes quantization information generated based on a first complex polynomial having a complex linear prediction coefficient (LPC) corresponding to the first audio signal as a coefficient.
2. The method according to claim 1, wherein The quantization information generated based on the first complex polynomial includes quantization information on solutions of a second complex polynomial and a third complex polynomial, the second complex polynomial and the third complex polynomial being generated based on the first complex polynomial.
3. The method according to claim 1, wherein The step of generating a second audio signal comprises: filtering the first spectrum based on the first quantization information to generate a second spectrum; and A second audio signal is generated based on the second frequency spectrum.
4. The method according to claim 2, wherein: The magnitude of the solutions of the second complex polynomial and the third complex polynomial is 1.
5. The method according to claim 2, wherein: The second complex polynomial and the third complex polynomial are generated based on the first complex polynomial and the fourth complex polynomial, and The fourth complex polynomial is obtained based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied.
6. The method according to claim 5, wherein: The second complex polynomial is generated based on the sum of the first complex polynomial and the fourth complex polynomial, and The third complex polynomial is generated based on the difference between the first complex polynomial and the fourth complex polynomial.
7. The method according to claim 3, wherein: The step of generating a second audio signal based on the second spectrum comprises: filtering the second spectrum based on second quantization information obtained from the bitstream; and Converting the filtered second spectrum into a time domain signal to generate a second audio signal, wherein the second quantized information includes quantized information on a solution of the fifth complex polynomial and a solution of the sixth complex polynomial, and The fifth and sixth complex polynomials are generated based on a seventh complex polynomial having real LPCs corresponding to the first audio signal as coefficients.
8. A method for encoding an audio signal, the method comprising: generating a first frequency spectrum corresponding to an input audio signal; obtaining a first complex polynomial having complex linear prediction coefficients (LPCs) corresponding to the first spectrum as coefficients; as well as A bitstream is generated based on the first complex polynomial.
9. The method according to claim 8, wherein The steps to generate a bitstream include: obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial; and A bitstream is generated based on the solutions of the second complex polynomial and the third complex polynomial.
10. The method according to claim 9, wherein: The magnitudes of the second complex polynomial and the third complex polynomial are 1.
11. The method according to claim 9, wherein The step of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial includes: obtaining a fourth complex polynomial based on a substitution operation on the first complex polynomial and a conjugate complex operation on the first complex polynomial to which the substitution operation is applied; and A second complex polynomial and a third complex polynomial are obtained based on the first complex polynomial and the fourth complex polynomial.
12. The method according to claim 11, wherein The step of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial includes: Obtaining a second complex polynomial based on the sum of the first complex polynomial and the fourth complex polynomial; and Based on the difference between the second complex polynomial and the fourth complex polynomial, a third complex polynomial is obtained.
13. The method according to claim 9, wherein: The step of generating a bit stream based on the solutions of the second complex polynomial and the third complex polynomial comprises: reconstructing the complex LPC based on phases of solutions of the second complex polynomial and the third complex polynomial; filtering the first spectrum based on the reconstructed complex LPC; and A bitstream is generated based on the filtered first spectrum.
14. The method according to claim 13, wherein The step of reconstructing the complex LPC includes reconstructing the complex LPC based on a quantization operation on a phase and a dequantization operation on the quantized phase.
15. The method according to claim 8, wherein The steps of generating a first spectrum include: generating a second spectrum corresponding to the input audio signal; and The first spectrum is generated by filtering the second spectrum based on a real-number LPC corresponding to the input audio signal.
16. An apparatus for decoding an audio signal, the apparatus comprising: processor; as well as a memory configured to store instructions, Wherein, when the instructions are executed by the processor, the device is configured to perform a plurality of operations, The multiple operations include: receiving a bitstream comprising information about a first audio signal; and generating a second audio signal based on first quantization information obtained from the bitstream and the first spectrum, The first quantization information includes quantization information generated based on a first complex polynomial having a complex linear prediction coefficient (LPC) corresponding to the first audio signal as a coefficient.
17. An apparatus for encoding an audio signal, the apparatus comprising: processor; as well as a memory configured to store instructions, Wherein, when the instructions are executed by the processor, the apparatus is configured to perform a plurality of operations, and The multiple operations include: generating a first frequency spectrum corresponding to an input audio signal; obtaining a first complex polynomial having complex linear prediction coefficients (LPCs) corresponding to the first spectrum as coefficients; and A bitstream is generated based on the first complex polynomial.