Audio signal coding method and device for performing the same
By employing substitution and conjugate operations with phase warping, the method effectively quantizes complex linear predictive coefficients, enhancing the efficiency and accuracy of audio encoding and decoding processes.
Patent Information
- Application Number
- JP2025544763
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2024-02-06
- Publication Date
- 2026-02-06
AI Technical Summary
Existing audio coding technologies face challenges in efficiently quantizing polynomials with complex linear predictive coefficients, leading to inefficiencies in encoding and decoding audio signals.
The method involves generating and quantizing complex polynomials based on substitution and conjugate operations to create efficient encoding and decoding processes, utilizing phase warping to convert complex LPCs to real LPCs for effective quantization and reconstruction of audio signals.
This approach enables efficient quantization and reconstruction of audio signals, reducing computational complexity and improving the accuracy of audio encoding and decoding processes.
Smart Images

Figure 2026504684000001_ABST
Abstract
Description
[Technical Field]
[0001] The following disclosure relates to methods and apparatus for coding audio signals. [Background technology]
[0002] Linear predictive coding (LPC) is a core technology in speech 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 predictive coefficients (LPC).
[0004] The background art described above was held or acquired by the inventors in the process of deriving the contents of the disclosure of this specification, and is not necessarily publicly known art that was made public to the general public prior to the filing of this application. Summary of the Invention [Problem to be solved by the invention]
[0005] One embodiment provides a method for efficiently quantizing polynomials having complex linear predictive coefficients (LPCs) as coefficients.
[0006] The technical problems to be achieved by this document are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the technical field to which this document pertains from the description below. [Means for solving the problem]
[0007] According to an embodiment, a method for decoding an audio signal may include receiving a bitstream including information related to a first audio signal. The method may include generating a second audio signal based on first quantization information and a first frequency spectrum obtained from the bitstream. The first quantization information may include 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 may include quantization information for solutions of a second complex polynomial and a third complex polynomial generated based on the first complex polynomial.
[0009] The operation of generating the second audio signal may include filtering the first frequency spectrum based on the first quantization information to generate a second frequency spectrum, and the operation of generating the second audio signal may include generating the second audio signal based on the second frequency spectrum.
[0010] The magnitude of the solutions of the second complex polynomial and the third complex polynomial may be one.
[0011] The second complex polynomial and the third complex polynomial may be generated based on the first complex polynomial and the fourth complex polynomial.
[0012] The fourth complex polynomial may be obtained based on a substitution operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the substitution operation has been applied.
[0013] The second complex polynomial may be generated based on the sum of the first complex polynomial and the fourth complex polynomial, and the third complex polynomial may be generated based on the difference between the first complex polynomial and the fourth complex polynomial.
[0014] The operation of generating the second audio signal based on the second frequency spectrum may include filtering the second frequency spectrum based on second quantization information obtained from the bitstream. The operation of generating the second audio signal based on the second frequency spectrum may include converting the filtered second frequency spectrum into a time-domain signal to generate the second audio signal. The second quantization information may include quantization information for a solution of a fifth complex polynomial and a solution of a sixth complex polynomial. The fifth complex polynomial and the sixth complex polynomial may be generated based on a seventh complex polynomial having real linear predictive coefficients (LPC) corresponding to the first audio signal as coefficients.
[0015] According to one embodiment, a method for encoding an audio signal may include generating a first frequency spectrum corresponding to an input audio signal, obtaining a first complex polynomial having complex LPC coefficients corresponding to the first frequency spectrum, and generating a bitstream based on the first complex polynomial.
[0016] The operation of generating the bit stream may include an operation of obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial, and the operation of generating the bit stream may include an operation of generating the bit stream based on solutions of the second complex polynomial and the third complex polynomial.
[0017] The magnitude of the solutions of the second complex polynomial and the third complex polynomial may be one.
[0018] The operation of obtaining the second and third complex polynomials based on the first complex polynomial may include an operation of obtaining a fourth complex polynomial based on a permutation operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the permutation operation has been applied. The operation of obtaining the second and third complex polynomials based on the first complex polynomial may include an operation of obtaining the second and third complex polynomials based on the first complex polynomial and the fourth complex polynomial.
[0019] The operation of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial may include an operation of obtaining the second complex polynomial based on a sum of the first complex polynomial and the fourth complex polynomial. The operation of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial may include an operation of obtaining the third complex polynomial based on a difference between the second complex polynomial and the fourth complex polynomial.
[0020] The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of restoring the complex LPC based on phases of solutions of the second and third complex polynomials. The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of filtering the first frequency spectrum based on the restored complex LPC. The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of generating the bit stream based on the filtered first frequency spectrum.
[0021] The operation of reconstructing the complex LPC may include an operation of reconstructing the complex LPC based on a quantization operation on the phase and an inverse quantization operation on the quantized phase.
[0022] The operation of generating the first frequency spectrum may include generating a second frequency spectrum corresponding to the input audio signal, and the operation of generating the first frequency spectrum may include filtering the second frequency spectrum based on a real-valued LPC corresponding to the input audio signal to generate the first frequency spectrum.
[0023] According to an embodiment, an apparatus for decoding an audio signal may include a processor and a memory for storing instructions. The instructions, when executed by the processor, may cause the apparatus to perform a plurality of operations. The plurality of operations may include receiving a bitstream including information related to a first audio signal. The plurality of operations may include generating a second audio signal based on first quantization information and a first frequency spectrum obtained from the bitstream. The first quantization information may include quantization information generated based on a first complex polynomial having complex linear prediction coefficients (LPCs) corresponding to the first audio signal as coefficients.
[0024] The quantization information generated based on the first complex polynomial may include quantization information for solutions of a second complex polynomial and a third complex polynomial generated based on the first complex polynomial.
[0025] The operation of generating the second audio signal may include filtering the first frequency spectrum based on the first quantization information to generate a second frequency spectrum, and the operation of generating the second audio signal may include generating the second audio signal based on the second frequency spectrum.
[0026] The magnitude of the solutions of the second complex polynomial and the third complex polynomial may be one.
[0027] The second complex polynomial and the third complex polynomial may be generated based on the first complex polynomial and the fourth complex polynomial.
[0028] The fourth complex polynomial may be obtained based on a substitution operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the substitution operation has been applied.
[0029] The second complex polynomial may be generated based on the sum of the first complex polynomial and the fourth complex polynomial, and the third complex polynomial may be generated based on the difference between the first complex polynomial and the fourth complex polynomial.
[0030] The operation of generating the second audio signal based on the second frequency spectrum may include filtering the second frequency spectrum based on second quantization information obtained from the bitstream. The operation of generating the second audio signal based on the second frequency spectrum may include converting the filtered second frequency spectrum into a time-domain signal to generate the second audio signal. The second quantization information may include quantization information for a solution of a fifth complex polynomial and a solution of a sixth complex polynomial. The fifth complex polynomial and the sixth complex polynomial may be generated based on a seventh complex polynomial having real linear predictive coefficients (LPC) corresponding to the first audio signal as coefficients.
[0031] According to one embodiment, an apparatus for encoding an audio signal may include a processor and a memory storing instructions. The instructions, when executed by the processor, may cause the apparatus to perform a plurality of operations. The plurality of operations may include generating a first frequency spectrum corresponding to an input audio signal. The plurality of operations may include obtaining a first complex polynomial having complex LPC coefficients corresponding to the first frequency spectrum. The plurality of operations may include generating a bitstream based on the first complex polynomial.
[0032] The operation of generating the bit stream may include an operation of obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial, and the operation of generating the bit stream may include an operation of generating the bit stream based on solutions of the second complex polynomial and the third complex polynomial.
[0033] The magnitude of the solutions of the second complex polynomial and the third complex polynomial may be one.
[0034] The operation of obtaining the second and third complex polynomials based on the first complex polynomial may include an operation of obtaining a fourth complex polynomial based on a permutation operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the permutation operation has been applied. The operation of obtaining the second and third complex polynomials based on the first complex polynomial may include an operation of obtaining the second and third complex polynomials based on the first complex polynomial and the fourth complex polynomial.
[0035] The operation of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial may include an operation of obtaining the second complex polynomial based on a sum of the first complex polynomial and the fourth complex polynomial. The operation of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial may include an operation of obtaining the third complex polynomial based on a difference between the second complex polynomial and the fourth complex polynomial.
[0036] The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of restoring the complex LPC based on phases of solutions of the second and third complex polynomials. The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of filtering the first frequency spectrum based on the restored complex LPC. The operation of generating the bit stream based on solutions of the second and third complex polynomials may include an operation of generating the bit stream based on the filtered first frequency spectrum.
[0037] The operation of restoring the complex LPC may include an operation of restoring the complex LPC based on a quantization operation on the phase and an inverse quantization operation on the quantized phase.
[0038] The operation of generating the first frequency spectrum may include generating a second frequency spectrum corresponding to the input audio signal, and the operation of generating the first frequency spectrum may include filtering the second frequency spectrum based on a real-valued LPC corresponding to the input audio signal to generate the first frequency spectrum.
[0039] According to an embodiment, a method for encoding an audio signal may include extracting a first complex LPC from an input audio signal, converting the first complex LPC to a real LPC using phase warping, and coding the input audio signal based on the real LPC.
[0040] The extracting may include generating frequency domain coefficients corresponding to the input audio signal, and the extracting may include obtaining the first complex LPC from the frequency domain coefficients.
[0041] The converting operation may include warping the phase of a first linear prediction system having the first complex LPC as coefficients so that the solution of the first linear prediction system is located in a first quadrant or a second quadrant. The converting operation may include calculating phase warped solutions and a second linear prediction system having a solution that is a complex conjugate of the phase warped solutions.
[0042] The warping operation may include halving the phase.
[0043] The coding operation may include calculating a line spectral frequency (LSF) corresponding to the real-valued LPC, and coding the input audio signal using the LSF.
[0044] The operation of coding the input audio signal using the LSF may include calculating a residual signal using the LSF, quantizing the residual signal, or coding the input audio signal using the LSF may include coding the quantized residual signal.
[0045] The operation of calculating a residual signal using the LSF may include quantizing the LSF. The operation of calculating a residual signal using the LSF may include converting a quantized LSF into a second complex LPC. The operation of calculating a residual signal using the LSF may include calculating the residual signal using the second complex LPC.
[0046] According to an embodiment, a method for decoding an audio signal may include receiving a coded residual signal and a quantized LSF. The method may include converting the quantized LSF to a complex LPC using phase warping. The method may include outputting a time-domain audio signal corresponding to the coded residual signal using the complex LPC.
[0047] The converting operation may include converting the quantized LSF to an LSF through inverse quantization. The converting operation may include warping the phases of solutions located in a first quadrant and a second quadrant of a first linear prediction system solution corresponding to the LSF. The converting operation may include calculating a second linear prediction system having the phase-warped solution as a solution. The converting operation may include extracting coefficients of the second linear prediction system.
[0048] The warping operation may include multiplying the phase.
[0049] The outputting operation may include decoding the coded residual signal to generate a quantized residual signal, converting the quantized residual signal into a frequency-domain residual signal through inverse quantization, generating complex coefficients corresponding to the frequency-domain residual signal using the complex-valued LPC, or converting the complex coefficients into a time-domain signal through an inverse Fourier transform.
[0050] According to one embodiment, an apparatus for decoding an audio signal may include a processor and a memory storing instructions. The instructions, when executed by the processor, may cause the apparatus to perform a plurality of operations. The plurality of operations may include extracting a first complex LPC from an input audio signal. The plurality of operations may include converting the first complex LPC to a real LPC using phase warping. The plurality of operations may include coding the input audio signal based on the real LPC.
[0051] The extracting operation may include generating frequency domain coefficients corresponding to the input audio signal, and the extracting operation may include obtaining the first complex LPC from the frequency domain coefficients.
[0052] The converting operation may include warping the phase of a first linear prediction system having the first complex LPC as coefficients so that the solution of the first linear prediction system is located in a first quadrant or a second quadrant. The converting operation may include calculating phase warped solutions and a second linear prediction system having a solution that is a complex conjugate of the phase warped solutions.
[0053] The warping operation may include reducing the phase.
[0054] The coding operation may include calculating a line spectral frequency (LSF) corresponding to the real-valued LPC, and coding the input audio signal using the LSF.
[0055] The operation of coding the input audio signal using the LSF may include calculating a residual signal using the LSF, quantizing the residual signal, or coding the input audio signal using the LSF may include coding the quantized residual signal.
[0056] The operation of calculating a residual signal using the LSF may include quantizing the LSF. The operation of calculating a residual signal using the LSF may include converting a quantized LSF into a second complex LPC. The operation of calculating a residual signal using the LSF may include calculating the residual signal using the second complex LPC.
[0057] According to one embodiment, a computer-readable medium having one or more computer programs stored thereon may include instructions for causing a processor to perform the method. [Brief explanation of the drawings]
[0058] [Figure 1] FIG. 1 is a diagram illustrating an encoder and a decoder according to an embodiment.
[0059] [Figure 2]FIG. 2 is a diagram illustrating a first encoding process according to an embodiment.
[0060] [Figure 3-5] 3 to 5 are diagrams illustrating a phase warping-based preprocessing method according to an embodiment.
[0061] [Figure 6] FIG. 6 is a diagram illustrating a first decoding process according to an embodiment.
[0062] [Figure 7] FIG. 7 is a flowchart illustrating a first encoding process according to an embodiment.
[0063] [Figure 8] FIG. 8 is a flowchart illustrating a first decoding process according to an embodiment.
[0064] [Figure 9] FIG. 9 is a diagram illustrating a second encoding process according to an embodiment.
[0065] [Figure 10] FIG. 10 is a diagram illustrating a second decoding process according to an embodiment.
[0066] [Figure 11] FIG. 11 is a diagram illustrating a third encoding process according to an embodiment.
[0067] [Figure 12] FIG. 12 is a diagram illustrating a third decoding process according to an embodiment.
[0068] [Figure 13] FIG. 13 is a diagram illustrating the operation of the CLPC analysis module according to an embodiment.
[0069] [Figure 14-16] 14 to 16 are diagrams for explaining the operation of the quantization module according to an embodiment.
[0070] [Figure 17] FIG. 17 is a diagram illustrating the operation of the inverse quantization module according to an embodiment.
[0071] [Figure 18] FIG. 18 is a schematic block diagram of an encoder according to an embodiment.
[0072] [Figure 19] FIG. 19 is a schematic block diagram of a decoder according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0073] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified in various forms. Therefore, the embodiments are not limited to the specific disclosed forms, and the scope of the present specification includes modifications, equivalents, or alternatives within the technical spirit.
[0074] Although terms such as "first" or "second" may be used to describe multiple components, such terms should be construed only to distinguish one component from the other components. For example, a first component may be designated as a second component, and similarly, a second component may be designated as a first component.
[0075] When any component is referred to as being "connected" to another component, it is directly linked or connected to the other component, but it should be understood that there may be other components in between.
[0076] The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, each of the phrases "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" includes any one or all possible combinations of the items listed together in the corresponding phrase. In this specification, the words "comprise" or "have" and the like indicate the presence of a feature, numeral, step, operation, element, component, or combination thereof described in the specification, and should be understood as not precluding the possibility of the presence or addition of one or more other features, numerals, steps, operations, elements, components, or combinations thereof.
[0077] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art. Commonly used, predefined terms should be interpreted as having a meaning consistent with the meaning they have in the context of the relevant art, and should not be interpreted as having an ideal or overly formal meaning unless expressly defined herein.
[0078] As used herein, the term "module" includes a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integrated component, or the smallest unit or portion of such a component that performs one or more functions. For example, according to one embodiment, a module is implemented in the form of an application-specific integrated circuit (ASIC).
[0079] As used herein, the term "module" refers to software or hardware components such as FPGAs or ASICs, and the "module" performs some function. However, the term "module" is not limited to software or hardware. A "module" may reside on an addressable storage medium or be configured to implement one or more processors. For example, a "module" may include 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 functionality provided within a component and a "module" may be combined into fewer components and "modules" or further divided into additional components and "modules." Furthermore, components and "modules" may be embodied to implement one or more CPUs within a device or secure multimedia card. A "module" may also include one or more processors.
[0080] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. When describing with reference to the drawings, the same components will be given the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted.
[0081]
[0082] FIG. 1 is a diagram illustrating an encoder and a decoder according to an embodiment.
[0083] 1, according to one embodiment, an encoder 110 generates a bitstream by encoding an input audio signal 11. The input audio signal 11 may include a speech signal or may be a time-domain signal having real values.
[0084] The decoder 160 can use the bitstream generated by the encoder 110 to generate a reconstructed signal 16 corresponding to the input audio signal 11. The reconstructed signal 16 may be a time-domain signal having real values.
[0085]
[0086] FIG. 2 is a diagram illustrating a first encoding process according to an embodiment.
[0087] Referring to FIG. 2, according to one embodiment, the encoder 110 includes a time-frequency (TF) module 210, a linear predictive 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.
[0088] The TF module 210 uses a Fourier transform (e.g., a discrete Fourier transform) to generate frequency domain coefficients 21 corresponding to the input audio signal 11. For example, the TF module 210 may generate frequency domain coefficients 21 (e.g., complex coefficients) corresponding to each frame of the input audio signal 11.
[0089] The LPC analysis module 220 can analyze the frequency domain coefficients 21 to generate first complex linear predictive coefficients (LPCs) 22 corresponding to the frequency domain coefficients 21 .
[0090] The first quantization module 230 converts the first complex-valued LPCs 22 into real linear predictive coefficients (LPCs) suitable for quantization based on line spectral frequencies (LSFs). A method for converting the first complex-valued LPCs into real LPCs will be described in detail with reference to FIGS. 3 to 5. The first quantization module 230 may obtain line spectral frequencies (LSFs) corresponding to the real LPCs. The first quantization module 230 may quantize the LSFs.
[0091] The first quantization module 230 converts the quantized line spectral frequencies (LSFs) 24 into second complex LPCs 23. The process for converting the quantized LSFs 24 into the second complex LPCs 23 is substantially the same as the inverse of the process for converting the first complex LPCs 22 into the quantized LSFs 24. Here, redundant description will be omitted. Because the second complex LPCs 23 are generated based on the quantized LSFs 24, the second complex LPCs 23 refers to the reconstructed first complex LPCs 22. The quantized LSFs 24 may be packed into a bitstream, and the bitstream may be transmitted to a decoder (e.g., decoder 160 in FIG. 1).
[0092] The FDLP module 240 may use the second complex LPCs 23 to obtain a residual signal 25 corresponding to the frequency-domain coefficients 21. For example, the FDLP module 240 may obtain the residual signal 25 by filtering the frequency-domain coefficients 21 based on the second complex LPCs 23.
[0093] The scaling module 250 may scale the residual signal 25. For example, the scaling module 250 may scale the magnitude of the residual signal 25. The scaling information 27 of the scaling module 250 is included in a bitstream, which is transmitted to the decoder 160. The scaling information 27 may include information regarding a scale factor.
[0094] The second quantization module 260 may quantize the scaled magnitude 26 of the residual signal 25 and the phase 26 of the residual signal 25. The encoding module 270 performs coding (e.g., lossless coding) on the quantized magnitude 28 and the quantized phase 28. The coded signal (or compressed signal) 29 may be packed into a bitstream, and the bitstream may be transmitted to the decoder 160.
[0095]
[0096] 3 to 5 are diagrams illustrating a phase warping-based preprocessing method according to an embodiment.
[0097] Figure 3 shows the location of solutions for line spectral polynomials (LSPs) corresponding to a linear prediction system (e.g., a linear prediction filter) having real linear predictive coefficients (LPCs) as coefficients. Figure 4 shows the location of solutions for LSPs corresponding to a linear prediction system having complex LPCs as coefficients. Figure 5 shows the location of solutions for LSPs corresponding to a linear prediction system having real LPCs as coefficients generated based on phase warping.
[0098] Referring to FIG. 3, according to one embodiment, a linear prediction system calculated based on a time-domain signal having real values (e.g., the input audio signal 11 in FIG. 1) is modeled as shown in Equation (1) below.
[0099]
[0100]
[0101]
[0102]
number
[0103]
[0104] In equation (1), A(z) denotes a linear prediction system, and a(l) denotes an l-th order LPC.
[0105]
[0106] From equation (1), a polynomial such as equation (2) below is obtained.
[0107]
[0108]
[0109]
[0110]
number
[0111]
[0112] In equation (2), F1(z) denotes a symmetric polynomial, and F2(z) denotes an antisymmetric polynomial.
[0113]
[0114] The solutions of each of the polynomials F1(z) and F2(z) may be arranged alternately on a unit circle in the complex plane. Each of the polynomials has L+1 solutions, and each of the polynomials may have a real root (e.g., +1 or −1). By excluding the real roots for critical sampling, polynomials (e.g., line spectral polynomials (LSPs)) are obtained as shown in Equation (3) below.
[0115]
[0116]
[0117]
[0118]
number
[0119]
[0120] The LSFs to be quantized are calculated using Equation (3). As shown in Figure 3, the solution of a linear prediction system A(z) having real-valued LPCs as coefficients is expressed as a pair of complex conjugates, and the solutions of LSPs P(z) and Q(z) corresponding to the linear prediction system A(z) may also be expressed as a pair of complex conjugates.
[0121] 4, according to one embodiment, LPCs corresponding to complex-frequency domain coefficients may be complex-valued LPCs. The solution of a linear prediction system A'(z) having complex-valued LPCs as coefficients is not expressed as a pair of complex conjugate numbers.
[0122] The linear prediction system A'(z) has L (e.g., 16) solutions. The solutions of the linear prediction system A'(z) may lie within a unit circle in the complex plane. That is, the magnitude of the solutions of the linear prediction system A'(z) may be less than 1.
[0123] Solutions of polynomials (e.g., complex line spectral polynomials (CLSPs) P'(z) and Q'(z)) corresponding to the linear prediction system A'(z) also do not lie on the unit circle in the complex plane. That is, the magnitudes of the solutions of polynomials (e.g., P'(z) and Q'(z)) corresponding to the linear prediction system A'(z) may have values other than 1.
[0124] To apply LSF-based quantization, complex LPCs need to be converted to real LPCs. To convert complex LPCs to real LPCs, a phase warping-based transformation is applied as follows:
[0125] The solution to the linear prediction system A'(z) is given by equation (4).
[0126]
[0127]
[0128]
[0129]
number
[0130]
[0131] An encoder (e.g., encoder 110 of FIGS. 1 and 2) generates a solution z of a linear prediction system A′(z). i The solution z is located in the first or second quadrant. iFor example, the encoder 110 warps the phase of the solution z i By reducing the phase of z by half, we obtain the phase-warped solution z wp、i is located in the first or second quadrant.
[0132]
[0133]
[0134]
[0135]
number
[0136]
[0137] The encoder 110 generates the phase-warped solution z wp、i and the phase-warped solution z wp、i The complex conjugate of z wp、i * A linear prediction system A with the solution wp(z) Calculate the linear prediction system A wp(z) The solution to is expressed as a pair of conjugate complex numbers, which is the linear prediction system A wp(z) has real LPC coefficients.
[0138] JPEG2026504684000007.jpg59170
[0139] Linear Prediction System A wp Since the number of differences in (z) (e.g., 2L) is twice as large as the number of differences (L) in the linear prediction system A'(z), the number of differences in the corresponding LSFs may also be doubled. However, considering that the amount of information in a complex LPC is twice that of a real LPC, the increase in the number of differences in the LPC is not a problem from the encoding point of view.
[0140]
[0141] FIG. 6 is a diagram illustrating a first decoding process according to an embodiment.
[0142] 6, according to one embodiment, the decoder 160 includes 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 are the reverse of the operations performed by an encoder (e.g., the encoder 110 of FIGS. 1 and 2), and a detailed description thereof will be omitted here.
[0143] The decoding module 610 can obtain a coded signal 29 (e.g., a coded residual signal) from a bitstream received from an encoder (e.g., the encoder 110 of FIGS. 1 and 2). The decoding module 610 can decode (or reconstruct) the coded signal 29 to generate a quantized signal (or quantized information) 61 (e.g., the quantized magnitude 28 and the quantized phase 28 of FIG. 2).
[0144] The first inverse quantization module 620 can inverse quantize the quantized signal 61 to generate information about the residual signal 62 (e.g., the scaled magnitude 26 of the residual signal and the phase 26 of the residual signal in FIG. 2).
[0145] The scaling module 630 may scale (or inversely scale) the residual signal 62 (eg, the scaled magnitude of the residual signal 26 of FIG. 2) based on scaling information 27 received from the encoder 110.
[0146] JPEG2026504684000008.jpg58170
[0147] The IFDLP module 650 can convert the scaled (or inversely scaled) residual signal 63 based on complex LPCs 64 into frequency-domain coefficients 65. For example, the IFDLP module 650 can generate the frequency-domain coefficients 65 by filtering the scaled residual signal 63 based on multiple LPCs 64.
[0148] The TF module 660 may use an inverse Fourier transform (e.g., an inverse discrete Fourier transform) to generate the reconstructed signal 16 from the frequency domain coefficients 65. The reconstructed signal 16 may be a time domain signal that corresponds to an input audio signal (e.g., the input audio signal 11 of FIGS. 1 and 2).
[0149]
[0150] FIG. 7 is a flowchart illustrating a first encoding process according to an embodiment.
[0151] Referring to FIG. 7, according to one embodiment, the first encoding process (e.g., operations 710 to 730) may be substantially the same as the operations of the encoder (e.g., encoder 110 of FIGS. 1 and 2) described with reference to FIGS. 1 to 5. Here, redundant description will be omitted. Operations 710 to 730 are performed sequentially, but are not limited to this. For example, two or more operations may be performed in parallel.
[0152] In operation 710, the encoder 110 extracts complex LPCs (eg, the first complex LPCs 22 in FIG. 2) from an input audio signal (eg, the input audio signal 11 in FIGS. 1 and 2).
[0153] In operation 720, the encoder 110 converts the complex LPCs 22 into real LPCs based on phase warping.
[0154] In operation 730, the encoder 110 codes (or compresses) the input audio signal 11 based on real-valued LPCs.
[0155] According to one embodiment, encoder 110 converts complex-valued LPCs 22 into real-valued LPCs, thereby providing a method for efficiently quantizing complex-valued LPCs 22. For example, encoder 110 can quantize the LSFs corresponding to complex-valued LPCs 22 and transmit the quantized LSFs to a decoder (e.g., decoder 160 of FIGS. 1 and 6).
[0156]
[0157] FIG. 8 is a flowchart illustrating a first decoding process according to an embodiment.
[0158] Referring to FIG. 8, according to one embodiment, the first decoding process (e.g., operations 810 to 830) is substantially the same as the operations of the decoder (e.g., decoder 160 of FIGS. 1 and 6) described with reference to FIGS. 1 and 6. Here, redundant description will be omitted. Operations 810 to 830 are performed sequentially, but are not limited to this. For example, two or more operations may be performed in parallel.
[0159] At operation 810, decoder 160 receives a coded residual signal (e.g., coded residual signal 29 in FIGS. 2 and 6) and quantized LSFs (e.g., quantized LSFs 24 in FIGS. 2 and 6). Decoder 160 may receive a bitstream from an encoder (e.g., encoder 110 in FIGS. 1 and 2). The bitstream includes coded residual signal 29, quantized LSFs 24, and scaling information (e.g., scaling information 27 in FIGS. 2 and 6).
[0160] In operation 820, the decoder 160 converts the quantized LSFs 24 into complex LPCs (eg, the complex LPCs 64 of FIG. 6) using phase warping.
[0161] In operation 830, decoder 160 outputs a time-domain signal (eg, reconstructed signal 16 of FIGS. 1 and 6) that corresponds to residual signal 29 coded using complex LPCs 64.
[0162]
[0163] FIG. 9 is a diagram illustrating a second encoding process according to an embodiment.
[0164] Referring to FIG. 9, according to one embodiment, the encoder 110 includes a time-frequency (TF) module 910, a complex linear predictive coefficient (CLPC) analysis module 915, a first quantization module 920, a complex temporal noise shaping (CTNS) module 925, a scaling module 930, a second quantization module 935, an encoding module 940, and a multiplexer 945.
[0165] The TF module 910 obtains complex coefficients corresponding to frames of an input audio signal (e.g., input audio signal 11 in FIG. 1 ). The TF module 910 may use transforms such as DFT (discrete Fourier transform) and MCLT (modulated complex lapped transform) to obtain the complex coefficients.
[0166] The CLPC analysis module 915 can generate complex linear predictive coefficients (LPCs) corresponding to the complex coefficients generated by the TF module 910. For example, the CLPC analysis module 915 may generate the complex LPCs using the Levinson-Durbin algorithm. A linear predictive system Ac(z) having complex LPCs as coefficients (e.g., the linear predictive system A'(z) in Equation (4)) may be modeled with a complex polynomial, as shown in Equation (6).
[0167]
[0168]
[0169]
[0170]
number
[0171]
[0172] In equation (6), a c (l) indicates l-th order LPC.
[0173]
[0174] Linear Prediction System A c The solutions (or zeros) of (z) are not expressed as pairs of conjugate complex numbers, as explained with reference to FIG. 4. As shown in FIG. 4, the linear prediction system A c The solution of (z) may be located within the unit circle in the complex plane. That is, the linear prediction system A c The magnitude of the solution for (z) is less than 1.
[0175] The CLPC analysis module 915 is a linear prediction system A cObtain complex polynomials (e.g., CLSPs (complex line spectral polynomials) or CISPs (complex immittance spectral polynomials)) from (z). Linear Prediction System A c A method for obtaining a complex polynomial from (z) will be described in detail with reference to FIG.
[0176] The first quantization module 920 may quantize information (e.g., the phase of the solution, such as complex line spectral frequencies (CLSFs) or complex immittance spectral frequencies (CISFs)) about the solution of the complex polynomial (e.g., CLSPs or CISPs) obtained by the CLPC analysis module 915. The quantized information may be packed into a bitstream, which may be transmitted to a decoder (e.g., decoder 160 of FIG. 10). The first quantization module 920 may use the quantized information to generate a linear prediction system A. c (z) (or complex linear predictive coefficients (LPCs)). The operation of the first quantization module 920 will now be described in detail with reference to FIGS.
[0177] The CTNS module 925 converts the complex coefficients generated by the TF module 910 into a reconstructed linear prediction system A. c By filtering based on (z) (or the reconstructed complex LPCs), a residual signal (eg, a frequency spectrum) can be generated.
[0178] 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 for each sub-band based on a bitrate. The scaling information (e.g., scale factors) of the scaling module 930 may be packed into a bitstream, and the bitstream may be transmitted to a decoder (e.g., decoder 160 of FIG. 10).
[0179] The second quantization module 935 may quantize the scaled residual signal in the complex domain.
[0180] The encoding module 940 may compress the quantized residual signal (e.g., complex quantization indices) generated by the second quantization module 935. For example, the encoding module 940 may use lossless coding (or lossless compression) to compress the quantized residual signal. The coded signal (or compressed signal) may be packed into a bitstream, and the bitstream may be transmitted to the decoder 160.
[0181] The multiplexer 945 can generate a bitstream based on the information quantized by the first quantization module 920 (e.g., quantized CLSFs or quantized CISFs), the scaling information of the scaling module 930, and the coded signal generated by the decoding module 940.
[0182]
[0183] FIG. 10 is a diagram illustrating a second decoding process according to an embodiment.
[0184] Referring to FIG. 10, according to one implementation, the decoder 160 includes 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 temporal noise shaping (ICTNS) module 1035, and a frequency-time (FT) module 1040.
[0185] The demultiplexer 1010 receives a bitstream from an encoder (e.g., the encoder 110 of FIG. 9 ). The demultiplexer 1010 may obtain a coded signal (or a compressed signal) from the bitstream (e.g., the coded signal generated by the encoding module 940 of FIG. 9 ), quantized information (e.g., the quantized CLSFs or quantized CISFs generated by the first quantization module 920 of FIG. 9 ), and scaling information (e.g., the scaling information of the scaling module 930 of FIG. 9 ).
[0186] The first dequantization module 1015 generates a linear prediction system A from the quantized information (e.g., quantized CLSFs or quantized CISFs) obtained by the demultiplexer 1010. c (z) (or complex LPCs). The operation of the first inverse quantization module 1015 will be described in detail with reference to FIG.
[0187] The decoding module 1020 performs the inverse of the operations performed by the encoding module (e.g., the encoding module 940 of FIG. 9) to recover a quantized signal (e.g., the signal quantized by the second quantization module 935 of FIG. 9) from the coded signal obtained by the demultiplexer 110. For example, the decoding module 1015 may generate (or recover) the quantized signal based on lossless decoding.
[0188] The second inverse quantization module 1025 generates (or recovers) a residual signal (e.g., the scaled residual signal generated by the scaling module 930 of FIG. 9) from the quantized signal obtained by the decoding module 1020. The second inverse quantization module 1025 can inverse quantize the quantized signal to generate the residual signal.
[0189] The scaling module 1030 may scale the residual signal generated by the second inverse quantization module 1025 based on the scaling information obtained by the demultiplexer 1010 (e.g., the scaling information of the scaling module 930 in FIG. 9). For example, when the scale factor of the scaling module (e.g., the scaling module 930 in FIG. 9) is n (e.g., n is a real number), the scale factor of the scaling module 1030 may be 1 / n. The scaling module 1030 may perform the scaling process for each subband.
[0190] The ICTNS module 1035 recovers the complex coefficients (e.g., the complex coefficients produced by the TF module 910 in FIG. 9) from the scaled residual signal produced by the scaling module 1030. The ICTNS module 1035 may perform the inverse of the operations performed by a CTNS module (e.g., the CTNS module 925 in FIG. 9) to recover the complex coefficients.
[0191] The FT module 1040 generates a reconstructed signal (e.g., reconstructed signal 16 of FIG. 1) from the reconstructed complex coefficients generated by the ICTNS module 1035. 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.
[0192]
[0193] FIG. 11 is a diagram illustrating a third encoding process according to an embodiment.
[0194] 11, according to one embodiment, the encoder 110 includes a TF module 910, a real linear predictive coefficient analysis (RLPC) module 950, a third quantization module 955, a frequency domain noise shaping (FDNS) module 960, a complex linear predictive coefficient analysis (CLPC) module 915, a first quantization module 920, a complex temporal noise shaping (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 complex linear predictive coefficient analysis (CLPC) module 915, the first quantization module 920, the complex temporal noise shaping (CTNS) module 925, the scaling module 930, the second quantization module 935, the encoding module 940, and the multiplexer 945 may be substantially the same as the modules described with reference to FIG. 9, and a duplicated description will be omitted here.
[0195] The RLPC analysis module 950 can generate real linear predictive coefficients (LPCs) corresponding to an input audio signal (eg, input audio signal 11 of FIG. 1).
[0196] The third quantization module 955 performs quantization and dequantization processes on the real LPCs generated by the RLPC analysis module 950 to generate reconstructed real linear predictive coefficients. For example, the third quantization module 955 may obtain polynomials (e.g., P(z) and Q(z) in Equation (3)) from a linear prediction system (e.g., the linear prediction system A(z) in FIG. 1) having real LPCs as coefficients, quantize information about the solutions of the obtained polynomials (e.g., the phases of the solutions, such as LSFs or ISFs), and dequantize the quantized information (e.g., the quantized LSFs or quantized ISFs). The quantized information generated by the third quantization module 955 is packed into a bitstream, and the bitstream is transmitted to a decoder (e.g., the decoder 160 in FIG. 12).
[0197] The FDNS module 960 filters the complex coefficients generated by the TF module 910 based on the reconstructed real LPCs generated by the third quantization module 955. The FDNS module 960 can reduce temporal redundancy.
[0198]
[0199] FIG. 12 is a diagram illustrating a third decoding process according to an embodiment.
[0200] 12, according to one embodiment, the decoder 160 includes 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 temporal noise shaping (ICTNS) module 1035, a frequency-time (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 inverse complex temporal noise shaping (ICTNS) module 1035, and the frequency-time (FT) module 1040 may be substantially the same as the modules described with reference to FIG. 10, and a duplicated description will be omitted here.
[0201] The third inverse quantization module 1045 may inverse quantize quantized information obtained from the bitstream (e.g., the quantized LSFs or quantized ISFs generated by the third quantization module 955 of FIG. 11 ) to recover real-valued LPCs (e.g., the real-valued LPCs generated by the RLPC analysis module 950 of FIG. 11 ).
[0202] The IFDNS module 1050 processes the reconstructed frequency coefficients generated by the ICTNS module 1035 based on the reconstructed real linear predictive coefficients generated by the third inverse quantization module 1045. The operations performed by the IFDNS module 1050 are similar to the inverse of the operations performed by an FDNS module (e.g., FDNS module 960 of FIG. 11 ).
[0203]
[0204] FIG. 13 is a diagram illustrating the operation of the CLPC analysis module according to an embodiment.
[0205] 13, according to one embodiment, operations 1310 to 1350 may be performed sequentially, but are not limited to this. For example, two or more operations may be performed in parallel.
[0206] In operation 1310, a CLPC analysis module (e.g., CLPC analysis module 915 of FIG. 9) generates a linear prediction system (e.g., linear prediction system A of Equation (6)) having complex LPCs as coefficients. c (z)).
[0207] JPEG2026504684000010.jpg17170
[0208] JPEG2026504684000011.jpg25170
[0209] JPEG2026504684000012.jpg30170
[0210] JPEG2026504684000013.jpg25170
[0211]
[0212]
[0213]
[0214]
number
[0215]
[0216] JPEG2026504684000015.jpg46170
[0217]
[0218] 14 to 16 are diagrams illustrating the operation of a quantization module according to an embodiment. Fig. 14 is a flowchart illustrating the operation of a first quantization module (for example, the first quantization module 920 in Figs. 9 and 11), Fig. 15 is a diagram illustrating the location of solutions of CLSPs on the complex plane, and Fig. 16 is a diagram illustrating the location of solutions of CISPs on the complex plane.
[0219] 14, according to one embodiment, operations 1410 to 1470 may be performed sequentially, but are not limited to this. For example, two or more operations may be performed in parallel.
[0220] In operation 1410, the first quantization module 920 obtains solutions to complex polynomials (eg, CLSPs or CISPs) generated by a CLPC analysis module (eg, CLPC analysis module 915 of FIGS. 9 and 11).
[0221] JPEG2026504684000016.jpg73170
[0222] JPEG2026504684000017.jpg41170
[0223] JPEG2026504684000018.jpg18170
[0224] At operation 1430, the first quantization module 920 quantizes the phases (or phase information) (e.g., CLSFs or CISFs) of the solutions of the complex polynomials (e.g., CLSPs or CISPs). The quantized phases (e.g., quantized CLSFs or quantized CISFs) produced by the first quantization module 920 may be packed into a bitstream by the multiplexer 945, and the bitstream may be transmitted to a decoder (e.g., the decoder 160 of FIGS. 10 and 12).
[0225] At operation 1440, the first quantization module 920 dequantizes the quantized phases (e.g., quantized CLSFs or quantized CISFs) to restore the phases (e.g., CLSFs or CISFs) of the solutions of the complex polynomials (e.g., CLSPs or CISPs).
[0226] In operation 1450, the first quantization module 920 uses the recovered phase (e.g., the phase recovered in operation 1440) to calculate a solution (e.g., P in FIGS. 15 and 16) of a complex polynomial (e.g., CLSPs or CISPs). c (z) and Q c (solution of z) is restored.
[0227] At operation 1460, the first quantization module 920 reconstructs the complex polynomials (e.g., CLSPs or CISPs) using the reconstructed solutions (e.g., the solutions reconstructed at operation 1450) of the complex polynomials (e.g., CLSPs or CISPs). The first quantization module 920 may classify each of the reconstructed solutions into even indices or odd indices. The first quantization module 920 may use the solutions with even indices to quantize P c (z) and Q c (z) and use the solutions with odd indices to find P c (z) and Q c (z) restores the other one.
[0228] In operation 1470, the first quantization module 920 uses the reconstructed complex polynomial (e.g., the complex polynomial reconstructed in operation 1460) to quantize complex LPCs (or a linear prediction system having complex LPCs as coefficients (e.g., the linear prediction system A of Equation (6)) c (z)) is restored.
[0229] The first quantization module 920 quantizes complex LPCs (or linear predictive systems A) based on the reconstructed CLSPs as shown in Equation (8). c (z)) is restored.
[0230]
[0231]
[0232]
[0233]
number
[0234]
[0235] In formula (8), A c (z) denotes the reconstructed linear prediction system, and P c (z) and Q c (z) denotes the reconstructed CLSPs. From a coding perspective, the reconstructed polynomials (or values) may not be identical to the original polynomials (or values), but for convenience in this disclosure, the symbols for the reconstructed polynomials are shown in the same way as the symbols for the original polynomials.
[0236] The first quantization module 920 uses the restored CISPs to generate a linear prediction system A as shown in Equation (9). c (z). CISPs are different from CLSPs in that they are linear prediction systems A c To recover (z), we use a linear prediction system A c The last coefficient A of (z) c (L) is required.
[0237]
[0238]
[0239]
[0240]
number
[0241]
[0242] JPEG2026504684000021.jpg52170
[0243]
[0244] FIG. 17 is a diagram illustrating the operation of the inverse quantization module according to an embodiment.
[0245] 17, according to one embodiment, a first inverse quantization module (e.g., the first inverse quantization module 1015 in FIGS. 10 and 12) may perform operations 1710 to 1740. Operations 1710 to 1740 are substantially the same as operations 1440 to 1470 described with reference to FIGS. 14 to 16, respectively. A redundant description will be omitted.
[0246]
[0247] FIG. 18 is a schematic block diagram of an encoder according to an embodiment.
[0248] Referring to FIG. 18, according to one embodiment, an encoder 1800 (eg, the encoder 110 of FIGS. 1, 2, 9, and 11) includes a processor 1820 and a memory 1840.
[0249] Memory 1840 stores instructions (or programs) executable by processor 1820. For example, the instructions may include instructions for performing operations of processor 1820 and / or each component of processor 1820.
[0250] Memory 1840 may include one or more computer-readable storage media. Memory 1840 may include non-volatile storage elements (e.g., magnetic hard disk, optical disk, floppy disk, flash memory, electrically programmable memories (EPROM), electrically erasable and programmable memories (EEPROM)).
[0251] The memory 1840 may be a non-transitory medium. The term "non-transitory" indicates that the storage medium is not embodied in a carrier wave or propagated signal. However, the term "non-transitory" should not be construed as meaning that the memory 1840 is immovable.
[0252] The processor 1820 processes data stored in the memory 1840. The processor 1820 executes computer-readable code (e.g., software) stored in the memory 1840 and instructions triggered by the processor 1820.
[0253] The processor 1820 may be a data processing device implemented in hardware having circuits with physical structures for performing desired operations, which may include, for example, code or instructions contained in a program.
[0254] For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an ASIC (Application-Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array).
[0255] The processor 1820 executes codes and / or instructions stored in the memory 1840 to cause the encoder 1800 to perform one or more operations. The operations performed by the encoder 1800 may be substantially the same as the operations performed by the encoder 110 described above, and redundant description will be omitted here.
[0256]
[0257] FIG. 19 is a schematic block diagram of a decoder according to one embodiment.
[0258] Referring to FIG. 19, according to one embodiment, a decoder 1900 (eg, decoder 160 of FIGS. 1, 6, 10, and 12) includes a processor 1920 and a memory 1940.
[0259] Memory 1940 stores instructions (or programs) executable by processor 1920. For example, the instructions may include instructions for performing operations of processor 1920 and / or each component of processor 1920.
[0260] Memory 1940 includes one or more computer-readable storage media, and may include non-volatile storage elements (e.g., magnetic hard disk, optical disk, floppy disk, flash memory, electrically programmable memories (EPROM), electrically erasable and programmable memories (EEPROM)).
[0261] The memory 1940 may be a non-transitory medium. The term "non-transitory" indicates that the storage medium is not embodied in a carrier wave or propagated signal. However, the term "non-transitory" should not be construed as meaning that the memory 1940 is immovable.
[0262] The processor 1920 processes data stored in the memory 1940. The processor 1920 can execute computer-readable code (e.g., software) stored in the memory 1940 and instructions triggered by the processor 1920.
[0263] The processor 1920 is a data processing device implemented in hardware having circuits with physical structures for performing desired operations, which may include, for example, code or instructions contained in a program.
[0264] For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an ASIC (Application-Specific Integrated Circuit), or an FPGA (Field Programmable Gate Array).
[0265] The processor 1920 executes codes and / or instructions stored in the memory 1940 to cause one or more operations to be performed by the decoder 1900. The operations performed by the decoder 1900 may be substantially the same as the operations performed by the decoder 160 described above, and redundant description will be omitted here.
[0266]
[0267] The above-described embodiments may be implemented using hardware components, software components, and / or a combination of hardware and software components. For example, the adaptive supersampling apparatus, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, or other device capable of executing and responding to commands. The processing device may execute an operating system (OS) and software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, the description may refer to a single processing device, but those skilled in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing adaptive supersampling apparatus may include multiple processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
[0268] The software may include a computer program, code, instructions, or any combination thereof, capable of configuring a processing device or instructing the processing device, either individually or collectively, as desired. The software and / or data may be permanently embodied in any type of machine, component, physical adaptive supersampling device, virtual adaptive supersampling device, computer storage medium, or adaptive supersampling device, or transmitted signal wave, to be interpreted by or provide instructions or data to the processing adaptive supersampling device. The software may be distributed across networked computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.
[0269] The method according to the present invention may be embodied in the form of program instructions that can be executed by various computer means and recorded on a computer-readable recording medium. The recording medium may include program instructions, data files, data structures, and the like, alone or in combination. The recording medium and program instructions may be specially designed and constructed for the purposes of the present invention, or they may be well known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language code, such as that generated by a compiler, but also high-level language code that is executed by a computer using an interpreter, for example.
[0270] The hardware devices described above may be configured to operate as one or more software models to perform the operations described in the present invention, and vice versa.
[0271] Although the embodiments have been described above with reference to limited drawings, those skilled in the art may apply various technical modifications and variations based on the above description. For example, the described techniques may be performed in a different order than described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than described, and may be replaced or substituted with other components or equivalents, while still achieving suitable results.
[0272]
[0273] While the present disclosure has been illustrated and described with reference to various embodiments, those skilled in the art will understand that the various embodiments are illustrative and not limiting. Those skilled in the art will understand that various changes in form and detail can be made therein without departing from the true spirit and overall scope of the present disclosure, including the scope of the appended claims and equivalents thereof. Those skilled in the art will also understand that any embodiment described herein can be used in combination with any other embodiment described herein.
[0274] Accordingly, other implementations, other embodiments, and equivalents of the claims are intended to fall within the scope of the following claims.
Claims
1. 1. A method for decoding an audio signal, comprising: receiving a bitstream containing information about a first audio signal; generating a second audio signal based on the first quantization information and the first frequency spectrum obtained from the bitstream; Including, The method, wherein the first quantization information includes quantization information generated based on a first complex polynomial having complex linear prediction coefficients (LPC) corresponding to the first audio signal as coefficients.
2. 2. The method of claim 1, wherein the quantization information generated based on the first complex polynomial includes quantization information for solutions of a second complex polynomial and a third complex polynomial generated based on the first complex polynomial.
3. The operation of generating the second audio signal includes: filtering the first frequency spectrum based on the first quantization information to generate a second frequency spectrum; generating the second audio signal based on the second frequency spectrum; The method of claim 1 , comprising:
4. The method of claim 2 , wherein the magnitude of the solutions of the second complex polynomial and the third complex polynomial is one.
5. The second complex polynomial and the third complex polynomial are generated based on the first complex polynomial and the fourth complex polynomial, The fourth complex polynomial is The method of claim 2 , wherein the complex polynomial is obtained based on a permutation operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the permutation operation has been applied.
6. the second complex polynomial is generated based on the sum of the first complex polynomial and the fourth complex polynomial; The method of claim 5 , wherein the third complex polynomial is generated based on a difference between the first complex polynomial and the fourth complex polynomial.
7. The operation of generating the second audio signal based on the second frequency spectrum comprises: filtering the second frequency spectrum based on second quantization information obtained from the bitstream; transforming the filtered second frequency spectrum into a time domain signal to generate the second audio signal; Including, the second quantization information includes quantization information for a solution of a fifth complex polynomial and a solution of a sixth complex polynomial; 4. The method of claim 3, wherein the fifth complex polynomial and the sixth complex polynomial are generated based on a seventh complex polynomial having real linear predictive coefficients (LPC) corresponding to the first audio signal as coefficients.
8. 1. A method for encoding an audio signal, comprising: generating a first frequency spectrum corresponding to the input audio signal; obtaining a first complex polynomial having a complex LPC corresponding to the first frequency spectrum as a coefficient; generating a bitstream based on the first complex polynomial; A method comprising:
9. The operation of generating the bitstream includes: obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial; generating the bitstream based on solutions of the second complex polynomial and the third complex polynomial; The method of claim 8, comprising:
10. The method of claim 9 , wherein the magnitude of the solutions of the second complex polynomial and the third complex polynomial is one.
11. The operation of obtaining a second complex polynomial and a third complex polynomial based on the first complex polynomial includes: an operation of obtaining a fourth complex polynomial based on a permutation operation on the first complex polynomial and a complex conjugate operation on the first complex polynomial to which the permutation operation has been applied; obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial; 10. The method of claim 9, comprising:
12. The operation of obtaining the second complex polynomial and the third complex polynomial based on the first complex polynomial and the fourth complex polynomial includes: obtaining the second complex polynomial based on the sum of the first complex polynomial and the fourth complex polynomial; obtaining the third complex polynomial based on a difference between the second complex polynomial and the fourth complex polynomial; The method of claim 11 , comprising:
13. generating the bitstream based on solutions of the second complex polynomial and the third complex polynomial, restoring the complex LPC signal based on the phases of solutions of the second complex polynomial and the third complex polynomial; filtering the first frequency spectrum based on a reconstructed complex LPC; generating the bitstream based on the filtered first frequency spectrum; 10. The method of claim 9, comprising:
14. The method of claim 13 , wherein the act of reconstructing the complex-valued LPC comprises the act of reconstructing the complex-valued LPC based on a quantization operation on the phase and a dequantization operation on the quantized phase.
15. The act of generating the first frequency spectrum includes: generating a second frequency spectrum corresponding to the input audio signal; filtering the second frequency spectrum based on a real-valued LPC corresponding to the input audio signal to generate the first frequency spectrum; The method of claim 8, comprising:
16. 1. An apparatus for decoding an audio signal, comprising: a processor; a memory for storing instructions; Including, The instructions, when executed by the processor, cause the device to perform a number of operations; The plurality of operations include: receiving a bitstream containing information about a first audio signal; generating a second audio signal based on the first quantization information and the first frequency spectrum obtained from the bitstream; Including, The apparatus, wherein the first quantization information includes quantization information generated based on a first complex polynomial having a complex LPC corresponding to the first audio signal as coefficients.
17. 1. An apparatus for encoding an audio signal, comprising: a processor; a memory for storing instructions; Including, The instructions, when executed by the processor, cause the device to perform a number of operations; The plurality of operations include: generating a first frequency spectrum corresponding to the input audio signal; obtaining a first complex polynomial having a complex LPC corresponding to the first frequency spectrum as a coefficient; generating a bitstream based on the first complex polynomial; 1. An apparatus comprising: