ES2588745T3 - Encoding method, decoding method, encoder device, decoder device, program and recording medium - Google Patents

Encoding method, decoding method, encoder device, decoder device, program and recording medium Download PDF

Info

Publication number
ES2588745T3
ES2588745T3 ES11803545.0T ES11803545T ES2588745T3 ES 2588745 T3 ES2588745 T3 ES 2588745T3 ES 11803545 T ES11803545 T ES 11803545T ES 2588745 T3 ES2588745 T3 ES 2588745T3
Authority
ES
Spain
Prior art keywords
coefficients
value
groups
gradient
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11803545.0T
Other languages
Spanish (es)
Inventor
Masahiro Fukui
Shigeaki Sasaki
Yusuke Hiwasaki
Shoichi Koyama
Kimitaka Tsutsumi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of ES2588745T3 publication Critical patent/ES2588745T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Un método de codificación que comprende: una etapa de cuantificación vectorial para la cuantificación vectorial colectiva de varias muestras para obtener un índice de cuantificación vectorial y el valor cuantificado de cada una de las varias muestras, y una etapa de selección de grupos de coeficientes de producción de Información de índices que indica un grupo de coeficientes que minimiza la suma del error entre el valor de cada muestra y el valor obtenido multiplicando el valor cuantificado de la muestra por un coeficiente que corresponde a la posición de la muestra, de todas las posiciones de muestras, entre varios grupos de coeficientes predeterminados que corresponden a las posiciones de las muestras, en donde cada uno de los grupos de coeficientes está formado de coeficientes dispuestos en una línea recta en un plano que tiene valores de frecuencia o de tiempo que corresponden a las posiciones de muestras con las que están asociados los coeficientes en un primer eje del mismo y los valores de los coeficientes en un segundo eje del mismo; y los coeficientes de cada uno de los varios grupos de coeficientes están dispuestos en el plano en una línea recta que tiene un gradiente diferente del de las líneas rectas para los otros grupos. caracterizado por que: la salida del número de bits de la información de índices en la etapa de selección de grupos de coeficientes es igual o menor que el valor obtenido restando el número de bits realmente usados para un código que corresponde al índice de cuantificación vectorial del número de bits asignados para el código que corresponde al índice de cuantificación vectorial.A coding method comprising: a vector quantification stage for the collective vector quantification of several samples to obtain a vector quantification index and the quantized value of each of the several samples, and a stage for selecting groups of production coefficients Index Information indicating a group of coefficients that minimizes the sum of the error between the value of each sample and the value obtained by multiplying the quantified value of the sample by a coefficient that corresponds to the position of the sample, of all the positions of samples, between several groups of predetermined coefficients that correspond to the positions of the samples, where each of the groups of coefficients is formed of coefficients arranged in a straight line in a plane that has frequency or time values corresponding to the sample positions with which the coefficients on a first axis are associated thereof and the values of the coefficients in a second axis thereof; and the coefficients of each of the various groups of coefficients are arranged in the plane in a straight line that has a different gradient from that of the straight lines for the other groups. characterized in that: the output of the number of bits of the index information at the stage of selecting coefficient groups is equal to or less than the value obtained by subtracting the number of bits actually used for a code corresponding to the vector quantization index of the number of bits assigned for the code corresponding to the vector quantization index.

Description

imagen1image 1

imagen2image2

imagen3image3

imagen4image4

imagen5image5

imagen6image6

5 5

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

intervalo de números de fila que pueden ser identificadas por la información de índices idx que puede ser escrita en la región de bits no usados como intervalo de búsqueda y selecciona el número de fila m’. En otras palabras, el calculador de gradientes 116 selecciona solamente un número de fila m’ indicado por la información de índices idx que puede ser escrita en la región de bits no usados. Más específicamente, el calculador de gradientes 116 selecciona solamente un número de fila m’ que puede ser identificado por la información de índices idx que puede ser expresada con el número de bits no usados realmente para un código que corresponde al índice de cuantificación vectorial entre el número de bits asignados para el código que corresponde al índice de cuantificación vectorial. Por ejemplo, el calculador de gradientes 116 identifica un número de fila m' según se da a continuación, entre los mMAX números de fila m = 0,..., mMAx -1 que pueden ser identificados por la información de índices idx que puede ser escrita en la región de bits no usados, y escribe información de índices idx que corresponde al número de fila m' en la región de bits no usados. range of row numbers that can be identified by the idx index information that can be written in the region of unused bits as a search interval and select the row number m ’. In other words, the gradient calculator 116 selects only one row number m ’indicated by the idx index information that can be written in the region of unused bits. More specifically, the gradient calculator 116 selects only a row number m 'that can be identified by the idx index information that can be expressed with the number of bits not actually used for a code corresponding to the vector quantization index between the number of bits assigned for the code corresponding to the vector quantization index. For example, gradient calculator 116 identifies a row number m 'as given below, among the mMAX row numbers m = 0, ..., mMAx -1 that can be identified by the idx index information that can be written in the region of unused bits, and write idx index information that corresponds to the row number m 'in the region of unused bits.

imagen7image7

El símbolo ||·|| indica la norma de ·; argminm || || significa que la minimización de ||·|| en m se vuelve m'; argrninm significa argrnin con subíndice m; y  = [X(0),…,X(C0-1)], ^ = [X^(0),…,X^(C0-1)]; y Am significa una matriz diagonal que tiene vectores de coeficientes de gradiente m = [m(0),..., m(C0 -1)] que corresponden al número de fila m como sus elementos diagonales, según se muestra a continuación. The symbol || · || indicates the rule of ·; argminm || || means that the minimization of || · || in m it becomes m '; argrninm means argrnin with subscript m; and  = [X (0),…, X (C0-1)],  ^ = [X ^ (0),…, X ^ (C0-1)]; and Am means a diagonal matrix that has gradient coefficient vectors m = [m (0), ..., m (C0 -1)] that correspond to the row number m as its diagonal elements, as shown then.

imagen8image8

El número de bits de la información de índices idx, descrito en lo que antecede, es igual o menor que el número de bits obtenido restando el número de bits usados realmente para un código que corresponde al índice de cuantificación vectorial del número de bits asignados para el código que corresponde al índice de cuantificación vectorial. A partir de la descripción anterior, la información de índices idx puede ser transmitida simplemente usando la región de bits no usados. The number of bits of the idx index information, described above, is equal to or less than the number of bits obtained by subtracting the number of bits actually used for a code corresponding to the vector quantization index of the number of bits allocated for the code that corresponds to the vector quantification index. From the above description, the idx index information can be transmitted simply using the region of unused bits.

[Ejemplo de la etapa E4] [Example of step E4]

En este ejemplo, el calculador de gradientes 116 ejecuta las etapas mostradas en la Fig. 3 para escribir la información de índices idx que indica el número de fila del vector de coeficientes de gradiente seleccionado en la región de bits no usados. Cuando C0 es L, el proceso de la etapa E4 de la Fig. 3 es ejecutado para cada trama. Cuando C0 es un divisor común de L distinto de 1 o L, el proceso de la etapa E4 de la Fig. 3 es ejecutado repetidamente para cada sub-banda en una trama única. In this example, the gradient calculator 116 executes the steps shown in Fig. 3 to write the idx index information indicating the row number of the selected gradient coefficient vector in the region of unused bits. When C0 is L, the process of step E4 of Fig. 3 is executed for each frame. When C0 is a common divisor of L other than 1 or L, the process of step E4 of Fig. 3 is repeatedly executed for each sub-band in a single frame.

El calculador de gradientes 116 compara el numero de entrada de bits no usados, U, con 0 (etapa E40); y si no se satisface U > 0, el calculador de gradientes 116 finaliza el proceso de la etapa E4 sin adaptar los varios valores cuantificados de entrada X^(0),…,X^(C0 -1), como se muestra a continuación. Gradient calculator 116 compares the input number of unused bits, U, with 0 (step E40); and if U> 0 is not satisfied, the gradient calculator 116 ends the process of step E4 without adapting the various quantized input values X ^ (0), ..., X ^ (C0 -1), as shown below .

imagen9image9

Cuando se satisface U > 0, el calculador de gradientes 116 inicializa m y idx estableciendo m = 0 e idx = 0 (etapa E41) y prosigue a la etapa E42. When U> 0 is satisfied, the gradient calculator 116 initializes m and idx by setting m = 0 and idx = 0 (step E41) and proceeds to step E42.

En la etapa E42, el calculador de gradientes 116 usa el número de bits no usados, U, para especificar el intervalo de números de fila que pueden ser identificados con la información de índices idx que puede ser escrita en la región de bits no usados según el intervalo de búsqueda, y decide un valor de decisión de intervalo de búsqueda mMAX para decidir el intervalo de búsqueda (el intervalo de números de fila). En otras palabras, el calculador de gradientes 116 obtiene mMAX decidiendo el número de números de fila que puede ser identificado con la información de índices que puede ser escrita en la región de bits no usados (etapa E42). In step E42, the gradient calculator 116 uses the number of unused bits, U, to specify the range of row numbers that can be identified with the idx index information that can be written in the region of unused bits according to the search interval, and decides a mMAX search interval decision value to decide the search interval (the range of row numbers). In other words, gradient calculator 116 obtains mMAX by deciding the number of row numbers that can be identified with index information that can be written in the region of unused bits (step E42).

Normalmente, el número de bits no usados, U, puede identificar 2u números de fila. Por lo tanto, el intervalo de búsqueda puede ser establecido al intervalo de 2u números de fila. En el presente ejemplo, sin embargo, un valor que indica que la corrección con el uso del vector de coeficientes de gradiente m no está ejecutada es asignado a Normally, the number of unused bits, U, can identify 2u row numbers. Therefore, the search interval can be set to the range of 2 row numbers. In the present example, however, a value indicating that the correction with the use of the gradient coefficient vector m is not executed is assigned to

8 8

imagen10image10

imagen11image11

5 5

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

imagen12image12

La unidad de ajuste del gradiente 124 lee la Información de índices idx de la región de bits no usados del índice modificado de cuantificación vectorial, de acuerdo con mMAX (etapa D33). La unidad de ajuste del gradiente 124 decide, por ejemplo, la posición donde la Información de índices idx es almacenada, de acuerdo con mMAX, y lee la Información de índices idx. Gradient adjustment unit 124 reads the idx index information of the unused bit region of the modified vector quantization index, according to mMAX (step D33). The gradient adjustment unit 124 decides, for example, the position where the idx index information is stored, according to mMAX, and reads the idx index information.

La unidad de ajuste del gradiente 124 decide si se satisface idx > 0 (si idx = 0) (etapa D34). Si se satisface Idx > 0 (no se satisface idx = 0), la unidad de ajuste del gradiente 124 actualiza los varios valores cuantificados X^(b-C0),…, X^((b+1).C0 -1), según se muestra a continuación (etapa D35), y finaliza el proceso de la etapa D3. Gradient adjustment unit 124 decides whether idx> 0 is satisfied (if idx = 0) (step D34). If Idx> 0 is satisfied (idx = 0 is not satisfied), the gradient adjustment unit 124 updates the various quantized values X ^ (b-C0), ..., X ^ ((b + 1) .C0 -1) , as shown below (step D35), and the process of step D3 ends.

imagen13image13

Si no se satisface idx > 0 (se satisface idx = 0), la unidad de ajuste del gradiente 124 finaliza el proceso de la etapa D3 sin actualizar los varios valores decodificados X^(b.C0),…, X^((b+1).C0 -1) (etapa D36), según se muestra a continuación. If idx> 0 is not satisfied (idx = 0 is satisfied), the gradient adjustment unit 124 ends the process of step D3 without updating the various decoded values X ^ (b.C0), ..., X ^ ((b +1) .C0 -1) (step D36), as shown below.

imagen14image14

La descripción del [Ejemplo de la etapa D3] termina aquí. The description of [Example of step D3] ends here.

Si son necesarias señales decodificadas en el dominio del tiempo, se introducen en el convertidor en el dominio del tiempo 125 los valores ajustados X^UD(k) producidos en la unidad de ajuste del gradiente 124, y el convertidor en el dominio del tiempo 125 transforma X^UD(k) en señales en el dominio del tiempo z(n) , por ejemplo, mediante una transformada inversa de Fourier. If decoded signals in the time domain are necessary, the adjusted values X ^ UD (k) produced in the gradient adjustment unit 124, and the converter in the time domain 125 are entered into the time domain converter 125 transform X ^ UD (k) into signals in the time domain z (n), for example, by an inverse Fourier transform.

(Características de esta forma de realización) (Characteristics of this embodiment)

Según se ha descrito en lo que antecede, dado que en esta forma de realización, el dispositivo decodificador 12 ajusta varios valores decodificados X^(k) usando el vector de coeficientes de gradiente seleccionado por el dispositivo codificador 11, pueden reducirse el ruido musical y similares causados por el error de cuantificación. As described above, since in this embodiment, the decoder device 12 adjusts various decoded values X ^ (k) using the gradient coefficient vector selected by the encoder device 11, musical noise can be reduced and similar caused by the quantization error.

En esta forma de realización, se especifica como vector de coeficientes de gradiente m, un vector compuesto de coeficientes de gradiente m(0),..., m(C0 -1) que están correlacionados entre sí. Por ejemplo, el vector de coeficientes de gradiente m es un vector compuesto de varios coeficientes de gradiente m(0),..., m(C0-1) distribuidos asimétricamente, por ejemplo, en una línea recta en el plano (k, m(k)). Las señales de entrada, tales como las señales de audio o señales acústicas, forman a menudo una envolvente lineal o curvada. Al usar el vector de coeficientes de gradiente m que refleja tales características de las señales de entrada, puede suprimirse la cantidad de la información de índices idx mientras se sigue ajustando el error de cuantificación con gran precisión. En el ejemplo mostrado en la Fig. 6, la magnitud |X(k)| de las señales de entrada en sub-bandas k = 0,..., 63 disminuye a medida que k aumenta. Por tanto, al ajustar |X(0)|,…, |X(63)| usando el vector de coeficientes de gradiente m compuesto de coeficientes de gradiente m (0),..., m (63) distribuidos asimétricamente en una línea recta con un gradiente negativo en el plano (k, m(k)), pueden reducirse sus errores procedentes de las magnitudes |X^(0)|,…, |X^(63)| de los valores cuantificados. Al usar el vector de coeficientes de gradiente m adecuado para las características de las señales de entrada en cada sub-banda según se describió en lo que antecede, puede reducirse eficientemente el error de cuantificación. In this embodiment, a vector composed of gradient coefficients m (0), ..., m (C0 -1) that are correlated with each other is specified as a vector of gradient coefficients m. For example, the vector of gradient coefficients m is a vector composed of several gradient coefficients m (0), ..., m (C0-1) distributed asymmetrically, for example, in a straight line in the plane (k, m (k)). Input signals, such as audio signals or acoustic signals, often form a linear or curved envelope. By using the gradient coefficient vector m that reflects such characteristics of the input signals, the amount of idx index information can be suppressed while the quantization error is still adjusted with great precision. In the example shown in Fig. 6, the magnitude | X (k) | of the input signals in subbands k = 0, ..., 63 decreases as k increases. Therefore, when setting | X (0) |, ..., | X (63) | using the gradient coefficient vector m composed of gradient coefficients m (0), ..., m (63) distributed asymmetrically in a straight line with a negative gradient in the plane (k, m (k) ), your errors from the magnitudes | X ^ (0) |, ..., | X ^ (63) can be reduced | of the quantified values. By using the gradient coefficient vector m suitable for the characteristics of the input signals in each subband as described above, the quantization error can be efficiently reduced.

La información de índices idx para identificar el vector de coeficientes de gradiente m seleccionado por el dispositivo codificador 11, se transmite usando de forma eficaz la región de bits no usados, eliminando la necesidad de una región adicional para transmitir la información de índices idx. The idx index information to identify the gradient coefficient vector m selected by the encoder device 11, is transmitted using the region of unused bits efficiently, eliminating the need for an additional region to transmit the idx index information.

Modificaciones Modifications

La presente invención no está limitada a la forma de realización descrita en lo que antecede. Por ejemplo, si el dispositivo decodificador 12 incluye la unidad de aplanamiento 126, la unidad de aplanamiento 126 recibe el valor ajustado X^UD(k) obtenido en la etapa D3 (Fig. 4) y, si un valor ajustado X^UD(k)’ más antiguo que el valor ajustado X^UD(k) no es 0, produce una suma ponderada del valor ajustado más antiguo X^UD(k)’ y el valor ajustado actual X^UD(k) como un valor aplanado X^POST(k). Si X^UD(k)’ es 0, la unidad de aplanamiento 126 no obtiene la suma ponderada de los valores ajustados, lo que significa que la unidad de aplanamiento 126 no aplana los valores The present invention is not limited to the embodiment described above. For example, if the decoder device 12 includes the flattening unit 126, the flattening unit 126 receives the set value X ^ UD (k) obtained in step D3 (Fig. 4) and, if a set value X ^ UD ( k) 'older than the adjusted value X ^ UD (k) is not 0, produces a weighted sum of the oldest adjusted value X ^ UD (k)' and the current adjusted value X ^ UD (k) as a flattened value X ^ POST (k). If X ^ UD (k) ’is 0, the flattening unit 126 does not obtain the weighted sum of the adjusted values, which means that the flattening unit 126 does not flatten the values

11 5 11 5

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

ajustados, sino que produce X^UD(k) como X^POST(k) (etapa D4 en la Fig. 4). Ejemplos de los valores ajustados más antiguos X^UD(k)’ incluyen un valor ajustado obtenido en la etapa D3 para la trama inmediatamente anterior a la trama que corresponde al valor ajustado X^UD(k) y un valor aplanado obtenido en la etapa D4 para la trama inmediatamente anterior a la trama que corresponde al valor ajustado X^UD(k). adjusted, but produces X ^ UD (k) as X ^ POST (k) (step D4 in Fig. 4). Examples of the oldest adjusted values X ^ UD (k) 'include an adjusted value obtained in step D3 for the frame immediately preceding the frame corresponding to the adjusted value X ^ UD (k) and a flattened value obtained in the stage D4 for the frame immediately before the frame corresponding to the set value X ^ UD (k).

X^POST(k) se obtiene por medio de las ecuaciones siguientes, en las que α y β son factores de ajuste y son determinados de manera apropiada dependiendo de los requisitos y las especificaciones. Por ejemplo, α = 0,85 y β = X ^ POST (k) is obtained by means of the following equations, in which α and β are adjustment factors and are determined appropriately depending on the requirements and specifications. For example, α = 0.85 and β =

0.15. α y β pueden variar de manera apropiada dependiendo de los requisitos y las especificaciones. ᶲ(ˑ) indica un signo más o menos de ˑ. 0.15. α and β may vary appropriately depending on the requirements and specifications. ᶲ (ˑ) indicates a plus or minus sign of ˑ.

imagen15image15

En consecuencia, pueden reducirse el ruido musical y similares causados por la discontinuidad en el tiempo en las características de la amplitud de X^UD(k). Si son necesarias señales decodificadas en el dominio del tiempo, X^POST(k) producido en la unidad de aplanamiento 126 es introducido en el convertidor en el dominio del tiempo 125. El convertidor en el dominio del tiempo 125 transforma X^POST(k) en señales en el dominio del tiempo z(n), por ejemplo, mediante una transformada Inversa de Fourier. Consequently, musical noise and the like caused by discontinuity over time in the amplitude characteristics of X ^ UD (k) can be reduced. If decoded signals in the time domain are necessary, X ^ POST (k) produced in the flattening unit 126 is introduced into the converter in the time domain 125. The converter in the time domain 125 transforms X ^ POST (k ) in signals in the time domain z (n), for example, by a Fourier Inverse transform.

No es preciso que las señales de entrada X(k) sean señales en el dominio de la frecuencia y pueden ser señales cualesquiera, tales como señales en el dominio del tiempo. La presente invención puede aplicarse para codificar y decodificar cualquier señal distinta de las señales en el dominio de la frecuencia. En este caso, los coeficientes de gradiente m(0),..., m(C0 -1) que corresponden al mismo número de fila m son distribuidos asimétricamente en una línea recta en el plano (k, m(k)), que tiene, por ejemplo, k (valor que corresponde al momento que corresponde al valor cuantificado X^(k) a ser multiplicado por el coeficiente de gradiente m(k), respectivamente, valor que corresponde al momento que corresponde al coeficiente de gradiente m(k)) en su primer eje y m(k) (valor del coeficiente de gradiente) en su segundo eje. Más específicamente, los coeficientes de gradiente m(0),..., m(C0 -1) que corresponden al mismo número de fila m son colocados, por ejemplo, en una línea recta en el plano (k, m(k)). En esta modificación, k es un número de momento diferenciado que corresponde a un momento diferenciado, y las posiciones de las muestras X(k) son posiciones en el eje temporal que corresponden a los números de momentos diferenciados k. SI k es un número de momento diferenciado, un valor mayor de k corresponde a un momento posterior. It is not necessary that the input signals X (k) be signals in the frequency domain and can be any signals, such as signals in the time domain. The present invention can be applied to encode and decode any signal other than signals in the frequency domain. In this case, the gradient coefficients m (0), ..., m (C0 -1) that correspond to the same row number m are distributed asymmetrically in a straight line in the plane (k, m (k )), which has, for example, k (value that corresponds to the moment corresponding to the quantized value X ^ (k) to be multiplied by the gradient coefficient m (k), respectively, value that corresponds to the moment corresponding to the gradient coefficient m (k)) on its first axis and m (k) (gradient coefficient value) on its second axis. More specifically, the gradient coefficients m (0), ..., m (C0 -1) corresponding to the same row number m are placed, for example, in a straight line in the plane (k, m (k)). In this modification, k is a differentiated moment number that corresponds to a differentiated moment, and the positions of the samples X (k) are positions on the time axis that correspond to the numbers of differentiated moments k. If k is a differentiated moment number, a value greater than k corresponds to a later moment.

La etapa E3 puede ser ejecutada de modo que en cada trama se determine un valor de normalización FGANANCIA para las señales de entrada X(k), el cuantificador vectorial 115 use un valor obtenido normalizando el valor X(k) de cada muestra de las señales de entrada con el valor de normalización FGANANCIA en vez de X(k) y use un valor obtenido normalizando el valor de normalización cuantificado X-con el valor de normalización FGANANCIA en vez de X-. Cuando se ejecuta la etapa E3, X(k) puede ser sustituido, por ejemplo, con X(k)/FGANANCIA, y X-puede ser sustituido con X-/FGANANCIA. En ese caso, no es necesario el calculador de valores de normalización 112, y puede introducirse en el cuantificador de valores de normalización 113 un valor obtenido normalizando X(k) con el valor de normalización FGANANCIA, en vez del valor de normalización cuantificado X-. A continuación, el cuantificador vectorial 115 puede ejecutar la etapa E3 usando un valor cuantificado de un valor obtenido normalizando X(k) con el valor de normalización FGANANCIA en vez del valor de normalización cuantificado X-. El índice de cuantificación del valor de normalización puede corresponder a un valor cuantificado de un valor obtenido mediante la normalización con el valor de normalización FGANANCIA. The step E3 can be executed so that in each frame a normalization value is determined FACTORY for the input signals X (k), the vector quantifier 115 uses a value obtained by normalizing the value X (k) of each sample of the signals Input with the FGANANCE normalization value instead of X (k) and use a value obtained by normalizing the quantified normalization value X- with the FGANANCE normalization value instead of X-. When step E3 is executed, X (k) can be substituted, for example, with X (k) / FGANANCE, and X- can be substituted with X- / FGANANCE. In that case, the normalization value calculator 112 is not necessary, and a value obtained by normalizing X (k) with the FGANANCE normalization value, instead of the quantized normalization value X can be entered into the normalization value quantifier 113 -. Next, the vector quantizer 115 can execute step E3 using a quantized value of a value obtained by normalizing X (k) with the FGANANCE normalization value instead of the quantized normalization value X-. The quantification index of the normalization value can correspond to a quantified value of a value obtained by normalization with the normalization value FGANANCE.

En la forma de realización descrita en lo que antecede, el calculador de gradientes 116 del dispositivo codificador 11 decide si se satisface idx > 0 y, si se satisface idx > 0, actualiza varios valores cuantificados X^(b.C0),…, X^((b+1).C0 -1) o, si no se satisface idx > 0, no actualiza los valores (etapas E410 a E412 en la Fig. 3). La unidad de ajuste del gradiente 124 del dispositivo decodificador 12 decide si se satisface idx > 0 y, si se satisface idx > 0, actualiza varios valores cuantificados X^(b.C0),…, X^((b+1).C0 -1) o, si no se satisface idx > 0, no actualiza los valores (etapas D34 a D36 en la Fig. 5). Como una modificación, se añade un vector de fila (vector de coeficientes de gradiente) -1 = [1(0),..., -1(C0-1)] = [1,…,1] del número de fila m = -1, compuesto únicamente de elementos "1" a la matriz de gradientes  dada por la Ecuación (1), y el calculador de gradientes 116 y la unidad de ajuste del gradiente 124 pueden calcular lo siguiente, con independencia de si se satisface idx > 0. In the embodiment described above, the gradient calculator 116 of the coding device 11 decides whether idx> 0 is satisfied and, if idx> 0 is satisfied, updates several quantized values X ^ (b.C0), ..., X ^ ((b + 1) .C0 -1) or, if idx> 0 is not satisfied, it does not update the values (steps E410 to E412 in Fig. 3). The gradient adjustment unit 124 of the decoder device 12 decides whether idx> 0 is satisfied and, if idx> 0 is satisfied, updates several quantized values X ^ (b.C0), ..., X ^ ((b + 1). C0 -1) or, if idx> 0 is not satisfied, it does not update the values (steps D34 to D36 in Fig. 5). As a modification, a row vector (gradient coefficient vector) -1 = [1 (0), ..., -1 (C0-1)] = [1,…, 1] of the row number m = -1, composed only of elements "1" to the gradient matrix  given by Equation (1), and gradient calculator 116 and gradient adjustment unit 124 can calculate the following, independently if idx> 0 is satisfied.

12 5 12 5

imagen16image16

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

Los valores de ejemplo específicos del número de fila m y la información de índices idx no limitan la presente invención. Los números de m e idx dados anteriormente pueden aumentar o disminuir, y algunos de los números pueden no usarse. Specific example values of row number m and idx index information do not limit the present invention. The numbers of m and idx given above may increase or decrease, and some of the numbers may not be used.

En la forma de realización descrita en lo que antecede, la información de índices idx se guarda en la región de bits no usados de U bits no usados, pero la información de índices idx puede no guardarse en la región de bits no usados. In the embodiment described above, the idx index information is stored in the region of unused bits of U unused bits, but the idx index information may not be stored in the region of unused bits.

El procesamiento descrito en lo que antecede puede ser ejecutado en el orden en el que se describe o puede ser ejecutado en paralelo o por separado, según las prestaciones del aparato que ejecute el procesamiento o según la necesidad. Pueden efectuarse otras modificaciones sin apartarse del alcance de la invención. The above-described processing can be executed in the order in which it is described or it can be executed in parallel or separately, depending on the performance of the apparatus that executes the processing or according to need. Other modifications may be made without departing from the scope of the invention.

Soporte físico, programa y medio de grabación Physical support, program and recording medium

El dispositivo codificador 11 y el dispositivo decodificador 12 están configurados por medio de un ordenador conocido o de uso general que incluye, por ejemplo, una unidad central de proceso (CPU) y una memoria de acceso aleatorio (RAM) y un programa especial en el que esté escrito el procesamiento descrito en lo que antecede. En ese caso, el programa especial es leído por la CPU, y la CPU ejecuta el programa especial para implementar cada función. El programa especial puede estar configurado por una sola cadena de programa o puede llevar a cabo el objetivo leyendo otro programa o biblioteca. The encoder device 11 and the decoder device 12 are configured by means of a known or general-purpose computer that includes, for example, a central processing unit (CPU) and a random access memory (RAM) and a special program in the that the processing described above be written. In that case, the special program is read by the CPU, and the CPU executes the special program to implement each function. The special program can be configured by a single program chain or can accomplish the objective by reading another program or library.

El programa puede ser grabado en un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen un aparato de grabación magnética, un disco óptico, un medio de grabación magnetoóptico y una memoria de semiconductores. Ejemplos del medio de grabación legible por ordenador son los medios de grabación no transitorios. El programa es distribuido, por ejemplo, vendiendo, transfiriendo o prestando un DVD, un CDROM u otro medio de grabación transportable en el que esté grabado el programa. El programa puede estar almacenado en una memoria de un ordenador servidor y puede ser distribuido transfiriendo el programa desde el ordenador servidor a otro ordenador a través de una red. The program can be recorded on a computer readable recording medium. Examples of the computer readable recording medium include a magnetic recording apparatus, an optical disk, a magneto-optical recording medium and a semiconductor memory. Examples of the computer readable recording medium are non-transient recording media. The program is distributed, for example, by selling, transferring or lending a DVD, a CDROM or other transportable recording medium on which the program is recorded. The program can be stored in a memory of a server computer and can be distributed by transferring the program from the server computer to another computer through a network.

El ordenador que ejecuta el programa almacena en su propia memoria el programa grabado en un medio de grabación transportable o el programa transferido desde el ordenador servidor. Cuando se ejecuta el procesamiento, el ordenador lee el programa almacenado en su propia memoria y ejecuta el procesamiento de acuerdo con el programa leído. El programa también puede ser ejecutado con otros métodos: El ordenador puede leer el programa directamente del medio de grabación transportable y ejecutar el procesamiento de acuerdo con el programa; y cada vez que el programa sea transferido desde el ordenador servidor al ordenador, el procesamiento puede ser ejecutado de acuerdo con el programa transferido. The computer that executes the program stores in its own memory the program recorded on a transportable recording medium or the program transferred from the server computer. When the processing is executed, the computer reads the program stored in its own memory and executes the processing according to the program read. The program can also be executed with other methods: The computer can read the program directly from the transportable recording medium and execute the processing according to the program; and each time the program is transferred from the server computer to the computer, the processing can be executed according to the transferred program.

Al menos una parte de las unidades de proceso del dispositivo codificador 11 o del dispositivo decodificador 12 puede estar configurada por medio de un circuito integrado especial. At least a part of the process units of the encoder device 11 or the decoder device 12 may be configured by means of a special integrated circuit.

Descripción de los números de referencia Description of reference numbers

11: Dispositivo codificador 11: Encoder device

111: Convertidor en el dominio de la frecuencia 111: Frequency domain converter

112: Calculador de valores de normalización 112: Normalization Value Calculator

113: Cuantificador de valores de normalización 113: Standardization Value Quantifier

115: Cuantificador vectorial 115: Vector quantizer

116: Calculador de gradientes 116: Gradient Calculator

12: Dispositivo decodificador 12: Decoder device

121: Decodificador de valores de normalización 121: Decoder of normalization values

122: Decodificador vectorial 122: Vector decoder

124: Unidad de ajuste del gradiente 124: Gradient adjustment unit

125: Convertidor en el dominio del tiempo 125: Time domain converter

126: Unidad de aplanamiento 126: Flattening unit

13 13

Claims (1)

imagen1image 1 imagen2image2
ES11803545.0T 2010-07-05 2011-07-04 Encoding method, decoding method, encoder device, decoder device, program and recording medium Active ES2588745T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010152970 2010-07-05
JP2010152970 2010-07-05
PCT/JP2011/065275 WO2012005211A1 (en) 2010-07-05 2011-07-04 Encoding method, decoding method, encoding device, decoding device, program, and recording medium

Publications (1)

Publication Number Publication Date
ES2588745T3 true ES2588745T3 (en) 2016-11-04

Family

ID=45441190

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11803545.0T Active ES2588745T3 (en) 2010-07-05 2011-07-04 Encoding method, decoding method, encoder device, decoder device, program and recording medium

Country Status (7)

Country Link
US (1) US9319645B2 (en)
EP (1) EP2571170B1 (en)
JP (1) JP5325340B2 (en)
CN (1) CN102959871B (en)
CA (1) CA2803273A1 (en)
ES (1) ES2588745T3 (en)
WO (1) WO2012005211A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015146224A1 (en) * 2014-03-24 2015-10-01 日本電信電話株式会社 Coding method, coding device, program and recording medium
EP3594946B1 (en) * 2014-05-01 2020-10-28 Nippon Telegraph And Telephone Corporation Decoding of a sound signal
US9699461B2 (en) * 2015-08-14 2017-07-04 Blackberry Limited Scaling in perceptual image and video coding
JP7123134B2 (en) 2017-10-27 2022-08-22 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. Noise attenuation in decoder

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2088082C (en) 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
JP3186007B2 (en) 1994-03-17 2001-07-11 日本電信電話株式会社 Transform coding method, decoding method
JP3087814B2 (en) * 1994-03-17 2000-09-11 日本電信電話株式会社 Acoustic signal conversion encoding device and decoding device
US5684920A (en) 1994-03-17 1997-11-04 Nippon Telegraph And Telephone Acoustic signal transform coding method and decoding method having a high efficiency envelope flattening method therein
US5864798A (en) * 1995-09-18 1999-01-26 Kabushiki Kaisha Toshiba Method and apparatus for adjusting a spectrum shape of a speech signal
US6904404B1 (en) * 1996-07-01 2005-06-07 Matsushita Electric Industrial Co., Ltd. Multistage inverse quantization having the plurality of frequency bands
JP4308345B2 (en) * 1998-08-21 2009-08-05 パナソニック株式会社 Multi-mode speech encoding apparatus and decoding apparatus
JP3582589B2 (en) * 2001-03-07 2004-10-27 日本電気株式会社 Speech coding apparatus and speech decoding apparatus
JP4506039B2 (en) * 2001-06-15 2010-07-21 ソニー株式会社 Encoding apparatus and method, decoding apparatus and method, and encoding program and decoding program
US6968092B1 (en) * 2001-08-21 2005-11-22 Cisco Systems Canada Co. System and method for reduced codebook vector quantization
WO2004090870A1 (en) * 2003-04-04 2004-10-21 Kabushiki Kaisha Toshiba Method and apparatus for encoding or decoding wide-band audio
US20060089836A1 (en) * 2004-10-21 2006-04-27 Motorola, Inc. System and method of signal pre-conditioning with adaptive spectral tilt compensation for audio equalization
EP2234273B8 (en) * 2008-01-24 2013-08-07 Nippon Telegraph and Telephone Corporation Coding method, decoding method, apparatuses thereof, programs thereof, and recording medium
RU2443028C2 (en) * 2008-07-11 2012-02-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Apparatus and method for calculating bandwidth extension data using a spectral tilt controlled framing
WO2011156905A2 (en) * 2010-06-17 2011-12-22 Voiceage Corporation Multi-rate algebraic vector quantization with supplemental coding of missing spectrum sub-bands

Also Published As

Publication number Publication date
WO2012005211A1 (en) 2012-01-12
EP2571170A1 (en) 2013-03-20
US20130101049A1 (en) 2013-04-25
US9319645B2 (en) 2016-04-19
CN102959871B (en) 2016-09-21
CN102959871A (en) 2013-03-06
EP2571170A4 (en) 2014-09-03
JPWO2012005211A1 (en) 2013-09-02
EP2571170B1 (en) 2016-06-01
JP5325340B2 (en) 2013-10-23
CA2803273A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
US11074919B2 (en) Encoding method, decoding method, encoder, decoder, program, and recording medium
ES2559981T3 (en) Encoding method, decoding method, device, program and recording medium
ES2588745T3 (en) Encoding method, decoding method, encoder device, decoder device, program and recording medium
ES2876184T3 (en) Sound signal encoding device, sound signal encoding method, program and record support
JP6595687B2 (en) Encoding method, encoding device, program, and recording medium
KR20190040063A (en) Quantizer with index coding and bit scheduling
US20230386498A1 (en) Pitch emphasis apparatus, method and program for the same
US8711012B2 (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
JP5361565B2 (en) Encoding method, decoding method, encoder, decoder and program
CN111630594B (en) Pitch enhancement device, pitch enhancement method, and recording medium
US20210090586A1 (en) Pitch emphasis apparatus, method and program for the same
JP5544371B2 (en) Encoding device, decoding device and methods thereof
WO2013002238A1 (en) Encoding method, device, program, and recording medium