ES2765527T3 - Dispositivo y método para la ejecución de la codificación de Huffman - Google Patents
Dispositivo y método para la ejecución de la codificación de Huffman Download PDFInfo
- Publication number
- ES2765527T3 ES2765527T3 ES16175414T ES16175414T ES2765527T3 ES 2765527 T3 ES2765527 T3 ES 2765527T3 ES 16175414 T ES16175414 T ES 16175414T ES 16175414 T ES16175414 T ES 16175414T ES 2765527 T3 ES2765527 T3 ES 2765527T3
- Authority
- ES
- Spain
- Prior art keywords
- band
- value
- index
- differential
- differential index
- 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
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000001228 spectrum Methods 0.000 claims abstract description 11
- 239000003607 modifier Substances 0.000 claims abstract 8
- 238000013139 quantization Methods 0.000 claims description 23
- 238000011002 quantification Methods 0.000 claims description 14
- 230000001131 transforming effect Effects 0.000 claims 2
- 230000000873 masking effect Effects 0.000 description 27
- 230000003595 spectral effect Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0204—Speech 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 using subband decomposition
- G10L19/0208—Subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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 using orthogonal transformation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un aparato de codificación de audio/voz, que comprende: un procesador; una memoria; un transformador adaptado para transformar una señal de audio/voz de entrada al dominio de tiempos en un espectro de frecuencias; un divisor de banda adaptado para dividir el espectro de frecuencias en una pluralidad de bandas; un calculador del factor de norma adaptado para calcular un nivel de factores de norma para cada banda; un cuantificador adaptado para cuantificar los factores de norma para cada banda; un calculador del índice diferencial (1301) adaptado para calcular los índices diferenciales entre un índice de banda N-ésima y un índice de banda (N-1)-ésima, en donde N es un entero de 1 o más; un modificador del índice diferencial (1302) adaptado para modificar un intervalo de los índices diferenciales para la N-ésima banda cuando N es un entero de 2 o más, y sustituir el índice diferencial con el índice diferencial modificado y adaptado para no modificar el intervalo de los índices diferenciales para la banda N-ésima cuando N es un entero de 1; un codificador (1304; 1305) de Huffman adaptado para codificar los índices diferenciales usando una tabla de Huffman seleccionada entre un número de tablas de Huffman predefinidas; y un transmisor adaptado para transmitir los índices diferenciales codificados y una señal de bandera para indicar la tabla de Huffman seleccionada a un aparato de decodificación de audio/voz, en donde cuando el índice diferencial calculado de la banda (N-1)-ésima es mayor que un primer valor, el modificador del índice diferencial es adaptado para modificar un índice diferencial para una banda N-ésima añadiendo un valor sustraído determinado sustrayendo el primer valor de un índice diferencial para una banda (N- 1)-ésima, en donde cuando el índice diferencial calculado de una banda (N-1)-ésima es menor que un segundo valor, el modificador del índice diferencial está adaptado para modificar un índice diferencial para una banda N-ésima añadiendo un valor sustraído determinado sustrayendo el segundo valor de un índice diferencial para la banda (N- 1)-ésima, en donde el primer valor es una suma de un valor desplazado y un valor umbral, y el segundo valor es una diferencia del valor desplazado y el valor umbral, y el valor desplazado es 15, y en donde cuando el índice diferencial calculado de la banda (N-1)-ésima no es mayor que el primer valor y no es menor que el segundo valor, el modificador del índice diferencial es adaptado para no modificar un índice diferencial para la banda N-ésima.
Description
DESCRIPCIÓN
Dispositivo y método para la ejecución de la codificación de Huffman
Campo técnico
La presente invención se refiere a un aparato de codificación de audio/voz, un aparato de decodificación de audio/voz y unos métodos de codificación y decodificación usando la codificación de Huffman.
Técnica anterior
En la compresión de señales la codificación de Huffman es ampliamente usada para codificar una señal de entrada utilizando una tabla de códigos (Tabla de Huffman) de longitud variable (VL). La codificación de Huffman es más eficiente que la codificación de longitud fija (FL) para la señal de entrada que tiene una distribución estadística que no es uniforme.
En la codificación de Huffman la tabla de Huffman se obtiene de una forma particular basada en la probabilidad estimada de ocurrencia para cada valor posible de la señal de entrada. Durante la codificación cada valor de la señal de entrada es correlacionado con un particular código de longitud variable en la tabla de Huffman.
Codificando los valores de la señal que son estadísticamente más probable que ocurran usando unos códigos VL relativamente cortos (usando relativamente pocos bits), y por el contrario codificando los valores de la señal que son estadísticamente infrecuentes que ocurran usando unos códigos VL relativamente largos (usando relativamente más bits), se puede reducir el número total de bits usados para codificar la señal de entrada.
Lista de citas
[Documento 1 no de la patente] Recomendación ITU-T G.719 (06/2008) “Codificación de audio de banda completa de baja complejidad, aplicaciones en conversación de alta calidad”.
El documento JP-2002-268693 A se refiere a una parte de determinación de la sección de procesamiento que establece una pluralidad de secciones de procesamiento en un eje de frecuencias en la codificación de un coeficiente de conversión de modo que las secciones son menos que las secciones de las unidades mínimas prescritas. Una parte del proceso de codificación óptimo codifica el coeficiente de conversión calculado por una parte de conversión ortogonal, establecida por la parte de determinación, de acuerdo con un índice para controlar adaptativamente la cantidad de generación del ruido de cuantificación calculado por un análisis auditivo y produce el coeficiente de conversión codificado y la información auxiliar adjunta que ha sido usada para la codificación.
Compendio de la invención
Problema técnico
Sin embargo, en algunas aplicaciones, tal como la codificación de señales de audio, las estadísticas de las señales pueden variar significativamente de un conjunto de señales de audio a otro conjunto de señales de audio. E incluso dentro del mismo conjunto de señales de audio.
Si las estadísticas de las señales de audio varían drásticamente de las estadísticas de la tabla de Huffman predefinida, la codificación de la señal no puede ser realizada óptimamente. Y sucede que, para codificar la señal de audio que tiene estadísticas diferentes, el consumo de bits por la codificación de Huffman es mucho mayor que el consumo de bits por una codificación de longitud fija.
Una posible solución es incluir la codificación de Huffman y la codificación de longitud fija en la codificación, y se selecciona el método de codificación que consume menos bits. Una señal de bandera se transmite al lado del decodificador para indicar qué método de codificación se selecciona en el codificador. Esta solución es utilizada en un documento nuevamente normalizado ITU-T codificador-decodificador de voz G.719.
La solución resuelve el problema para algunas secuencias muy extremas en las que la codificación de Huffman consume más bits que la codificación de longitud fija. Pero para otras señales de entrada que tienen estadísticas diferentes de la tabla de Huffman aún así selecciona la codificación de Huffman, todavía no es óptima.
En el documento normalizado ITU-T codificador-decodificador de voz G.719 se usa la codificación de Huffman en la codificación de los índices de cuantificación de los factores de norma.
La estructura G.719 está ilustrada en la Figura 1.
En el lado del codificador la señal de entrada muestreada a 48 kHz es procesada a través de un detector de corrientes transitorias (101). Dependiendo de la detección de una corriente transitoria, una transformación de resolución de alta frecuencia o de resolución de baja frecuencia (102) se aplica en la unidad de información de la señal de entrada. Los coeficientes espectrales obtenidos son agrupados en bandas de longitudes desiguales. La
norma de cada banda es estimada (103) y la envoltura espectral resultante que consiste en las normas de todas las bandas es cuantificada y codificada (104). Los coeficientes son a continuación normalizados por las normas cuantificadas (105). Las normas cuantificadas son después ajustadas (106) basándose en la ponderación espectral adaptativa y usados como una entrada para la asignación de bits (107). Los coeficientes espectrales normalizados son vectores de retícula cuantificados y codificados (108) basándose en los bits asignados para cada banda de frecuencia. El nivel de los coeficientes espectrales no codificacións es estimado, codificado (109) y transmitido al decodificaciónr. La codificación de Huffman se aplica a los índices de cuantificación para los coeficientes espectrales codificados así como las normas codificadas.
En el lado del decodificador, la bandera de corrientes transitorias es primeramente decodificada, lo que indica la configuración de la unidad de información, es decir estacionaria o transitoria. La envoltura espectral es decodificada y en el decodificador se usan los mismos algoritmos de exactitud de bits, ajustes de norma y de asignación de bits para volver a calcular la asignación de bits que es esencial para decodificar los índices de cuantificación de los coeficientes de transformación normalizados. Después de la descuantificación (112), los coeficientes espectrales no codificados de baja frecuencia (asignados cero bits) son regenerados usando un libro de códigos de relleno espectral formado a partir de los coeficientes espectrales recibidos (coeficientes espectrales con asignación de bits distintos de cero) (113). El índice de ajuste del nivel de ruido se usa para ajustar el nivel de los coeficientes regenerados. Los coeficientes espectrales no codificados de alta frecuencia son regenerados usando la ampliación del ancho de banda. Los coeficientes espectrales decodificados y los coeficientes espectrales regenerados son mezclados y llevados al espectro normalizado. La envoltura espectral decodificada es aplicada conduciendo al espectro de banda completa decodificada (114). Finalmente, la transformación inversa (115) se aplica para recuperar la señal decodificada del dominio del tiempo. Esto se realiza aplicando bien la transformación inversa modificada discreta del coseno para los modos estacionarios, o la inversa de la transformación de mayor resolución temporal para el modo transitorio.
En el codificador (104) los factores de norma de las subbandas espectrales son escalares cuantificados con un cuantificador escalar logarítmico uniforme con 40 pasos de 3dB. En la Figura 2 se muestran las entradas del libro de códigos del cuantificador logarítmico. Como se ve en el libro de códigos, el intervalo de los factores de norma es [2 25, 217], y el valor disminuye a medida que aumenta el índice.
En la Figura 3 se ilustra la codificación de los índices de cuantificación para los factores de norma. Hay en total 44 subbandas y correspondientemente 44 factores de norma. Para la primera subbanda el factor de norma es cuantificado usando las primeras 32 entradas del libro de códigos (301), mientras que otros factores de norma son escalares cuantificados con las 40 entradas (302) del libro de códigos mostrado en la Figura 2. El índice de cuantificación para el primer factor de norma de subbanda es directamente codificado con 5 bits (303), mientras que los índices para las otras subbandas son codificados por una codificación diferencial. Los índices diferenciales se obtienen usando la siguiente fórmula (304).
[1]
Dif_índice(n) = Índice(n)-Índice(n-1)+15para n e [1,43] ...(Ecuación 1] Y los índices diferenciales son codificados por dos métodos posibles, codificación de longitud fija (305) y codificación de Huffman (306). En la Figura 4 de muestra la tabla de Huffman para los índices diferenciales. En esta tabla hay en total 32 entradas, de 0 a 31, que atiende a las posibilidades de un cambio brusco de energía entre subbandas contiguas.
No obstante, para una señal de entrada de audio hay un fenómeno físico denominado enmascaramiento auditivo. El enmascaramiento auditivo ocurre cuando la percepción de un sonido está afectada por la presencia de otro sonido. Como ejemplo, si hay dos señales con frecuencias similares que existen al mismo tiempo: un pico potente a 1 kHz y un tono de bajo nivel a 1,1 kHz, el tono de nivel bajo a 1,1 kHz será enmascarado (inaudible) debido a la existencia del pico potente a 1 kHz.
El nivel de presión del sonido necesario para hacer el sonido perceptible en la presencia de otro sonido (enmascarador) se define como umbral de enmascaramiento en la codificación de audio. El umbral de enmascaramiento depende de la frecuencia, el nivel de la presión sonora del enmascarador. Si los dos sonidos tienen una frecuencia similar, el efecto de enmascaramiento es grande, y el umbral de enmascaramiento es también grande. Si el enmascarador tiene un nivel de presión sonora grande, tiene un fuerte efecto de enmascaramiento sobre el otro sonido, y el umbral de enmascaramiento también es grande.
De acuerdo con la anterior teoría del enmascaramiento auditivo, si una subbanda tiene una gran energía, tendría un gran efecto de enmascaramiento en otras subbandas, especialmente en las subbandas contiguas. Entonces el umbral de enmascaramiento para las otras subbandas especialmente la subanda contigua, es grande.
Si el componente del sonido en la subbanda contigua tiene pequeños errores de cuantificación (menores que el umbral de enmascaramiento), la degradación del componente de sonido en esta subbanda no es capaz de ser percibido por los oyentes.
No es necesario codificar el factor de norma con una muy alta resolución para esta subbanda mientras que los errores de cuantificación sean inferiores al umbral de enmascaramiento.
Solución del problema
En esta invención el anterior objetivo se consigue por la materia objeto de las reivindicaciones independientes. Las realizaciones ventajosas están cubiertas por las reivindicaciones dependientes.
Brevemente, las propiedades del enmascaramiento auditivo son exploradas para estrechar el intervalo de los índices diferenciales, de modo que una tabla de Huffman que tiene menos palabras de código puede ser diseñada y usada para codificar. Como la tabla de Huffman tiene menos palabras de código, es posible diseñar los códigos con una longitud menor (consume menos bits). Haciendo esto, el consumo total de bits para codificar los índices diferenciales puede ser reducido.
Efectos ventajosos de la invención
Adoptando los códigos de Huffman que consumen menos bits, el consumo de bits total para codificar los índices diferenciales puede ser reducido.
Breve descripción de los dibujos
La Figura 1 ilustra el esquema de ITU-T G.719;
La Figura 2 ilustra el libro de códigos para cuantificación de factores de norma;
La Figura 3 ilustra el proceso de cuantificación y codificación de factores de norma;
La Figura 4 muestra la tabla de Huffman usada para la codificación de índices de factores de norma;
La Figura 5 muestra el esquema de acuerdo con el ejemplo 1;
Las Figuras 6A y 6B muestran unos ejemplos de tablas de Huffman predefinidas;
La Figura 7 ilustra la obtención de la curva de enmascaramiento;
La Figura 8 ilustra cómo el intervalo de los índices diferenciales es reducido;
La Figura 9 muestra un diagrama de flujos de cómo se hace la modificación de los índices;
La Figura 10 ilustra cómo las tablas de Huffman pueden ser diseñadas;
La Figura 11 ilustra el esquema del ejemplo 2;
La Figura 12 ilustra el esquema del ejemplo 3;
La Figura 13 ilustra el codificador de la realización 4 de esta invención;
La Figura 14 ilustra el decodificador de la realización 4 de esta invención.
Descripción
El principio principal de la invención se describe en esta sección con la ayuda de la Figura 5 a la Figura 12. No obstante, sólo la realización 4 forma parte de la invención, en tanto que los ejemplos 1 a 3 son útiles solamente para la comprensión de la invención. Los expertos en la técnica serán capaces de modificar y adaptar esta invención. Se proporcionan unas ilustraciones para facilitar la explicación.
(Ejemplo 1)
La Figura 5 ilustra el codificador-decodificador inventado, el cual comprende un codificador y un decodificador que aplican el esquema inventado en la codificación de Huffman.
En el codificador ilustrado en la Figura 5 las energías de las subbandas son procesadas por la modelación psicoacústica (501) para obtener el umbral de enmascaramiento Mask(n). De acuerdo con el Mask(n) obtenido, los índices de cuantificación de los factores de norma para las subbandas cuyos errores de cuantificación están por debajo del umbral de enmascaramiento son modificados (502) de modo que el intervalo de los índices diferenciales puede ser menor.
Los índices diferenciales para los índices modificados se calculan de acuerdo con la ecuación que viene a continuación:
Dif_índice(n) = Nuevo_índice(n)- Nuevo_índice(n-1)+15
Para ne[1,43] ... (Ecuación 2)
El intervalo de los índices diferenciales para la codificación de Huffman se identifica como se muestra en la ecuación que viene a continuación (504).
[3]
Intervalo = [Min(Dif_índice(n), Max(Dif_índice(n))] ...(Ecuación 3) De acuerdo con el valor del intervalo, la tabla de Huffman que está diseñada para el intervalo específico entre un conjunto de tablas de Huffman predefinidas es seleccionada (505) para la codificación de los índices diferenciales (506). Como ejemplo, si entre los índices diferenciales para la unidad de información de entrada, el valor mínimo es 12, y el valor máximo es 18, entonces el Intervalo = [12, 18]. La tabla de Huffman diseñada para [12, 18] es seleccionada como la tabla de Huffman para codificación.
El conjunto de tablas de Huffman predefinidas son diseñadas (el detalle será explicado en la parte posterior) y dispuestas de acuerdo con el intervalo de los índices diferenciales. La señal de bandera para indicar la tabla de Huffman seleccionada y los índices codificados son transmitidos al lado del decodificaciónr.
Otro método para la selección de la tabla de Huffman es calcular todos los bits consumidos usando cada tabla de Huffman, a continuación se selecciona la tabla de Huffman que consume menos bits.
Como ejemplo, en las Figuras 6A y 6B se muestra un conjunto de 4 tablas de Huffman predefinidas. En este ejemplo hay 4 tablas de Huffman predefinidas, un intervalo cubierto de [13, 17], [12, 18], [11, 19] y [10, 20] correspondientemente. La tabla 6.1 muestra la señal de bandera y el intervalo correspondiente para la tabla de Huffman. La tabla 6.2 muestra los códigos de Huffman para todos los valores en el intervalo de [13, 17]. La tabla 6.3 muestra los códigos de Huffman para todos los valores en el intervalo de [12, 18]. La tabla 6.4 muestra los códigos de Huffman para todos los valores en el intervalo de [11, 19]. La tabla 6.5 muestra los códigos de Huffman para todos los valores en el intervalo de [10, 20].
Comparando la longitud del código de Huffman en las Figuras 6A y 6B con la tabla de Huffman original mostrada en la Figura 4, se puede ver que la longitud del código de Huffman para los mismos valores consume menos bits. Esto explica cómo se preservan los bits.
En el decodificaciónr ilustrado en la Figura 5, de acuerdo con la señal de bandera, se selecciona la correspondiente tabla de Huffman (507) para decodificar índices diferenciales (508). Los índices diferenciales se usan para reconstruir los índices de cuantificación de los factores de norma de acuerdo con la ecuación que viene a continuación:
[4]
Dif_índice(n) = Índice(n)+Índice(n-1)-15
para ne[1, 43] ... (Ecuación 4)
La Figura 7 ilustra la obtención de la curva de enmascaramiento de la señal de entrada. Primeramente, se calculan las energías de las subbandas, y con ésta se obtienen las energías y la curva de enmascaramiento de la señal de entrada. La obtención de la curva de enmascaramiento puede utilizar algunas tecnologías existentes de la técnica anterior tal como el método de obtención de la curva de enmascaramiento en el codificador-decodificador MPEGAAC.
La Figura 8 ilustra cómo el intervalo de los índices diferenciales es reducido. Primeramente, se hace la comparación entre el umbral de enmascaramiento y la energía del error de cuantificación de subbanda. Para las subbandas cuya energía de los errores de cuantificación está por debajo del umbral de enmascaramiento, sus índices son modificados hasta un valor que está más próximo a la subbanda contigua, pero la modificación se asegura de que la energía de error de cuantificación correspondiente no exceda el umbral de enmascaramiento, de modo que la calidad del sonido no sea afectada. Después de la modificación, el intervalo de los índices puede ser reducido. Esto se explica a continuación.
Como se muestra en la Figura 8, para las subbandas 0, 2 y 4, debido a que sus energías del error de cuantificación están debajo del umbral de enmascaramiento, sus índices son modificados para estar más cerca de sus índices de contigüidad.
La modificación de los índices puede ser hecha como a continuación (usando la subbanda 2 como ejemplo). Como se muestra en la Figura 2, un índice grande se corresponde a una energía menor, y después el Índice(1) es menor
que el Índice(2). La modificación del Índice(2) es realmente para disminuir su valor. Puede ser hecho como muestra la Figura 9.
Para las subbandas 1 y 3, debido a que sus energías están por encima del umbral de enmascaramiento, sus índices no son cambiados. A continuación los índices diferenciales están más cerca del centro. Usando la subbanda 1 como ejemplo:
[5]
Dif_índice(1) = Índice(1)-Índice(0)+15 para ne[1, 43] ... (Ecuación 5)
[6]
Nuevo_dif(1) = Nuevo_índice(1)-Nuevo_índice(0)+15
para ne[1, 43] ... (Ecuación 6) [7]
v Nuevo_índice(1)-Nuevo_índice(0)<Índice(1)-Índice(0)
■ Nuevo_Dif_índice(1)-15<Dif_índice(1)-15. ..(Ecuación 7) En esta invención el diseño de la tabla de Huffman puede ser realizado sin conexión con una gran base de datos de secuencia de entradas. En la Figura 10 se ilustra el proceso.
Las energías de las subbandas son procesadas por el modelado psicoacústico (1001) para obtener el umbral de enmascaramiento Mask(n). De acuerdo con el Mask(n) obtenido, los índices de cuantificación de los factores de norma para las subbandas cuya energía de errores de cuantificación esté por debajo del umbral de enmascaramiento son modificados (1002) de modo que el intervalo de los índices diferenciales pueda ser menor. Los índices diferenciales para los índices modificados son calculados (1003).
El intervalo de los índices diferenciales para la codificación de Huffman es identificado (1004). Para cada valor del intervalo, todas las señales de entrada que tienen el mismo intervalo serán reunidas y se calcula la distribución de la probabilidad de cada valor del índice diferencial dentro del intervalo.
Para cada valor del intervalo se diseña una tabla de Huffman de acuerdo con la probabilidad. Algunos métodos tradicionales de diseño de la tabla de Huffman pueden ser usados aquí para diseñar la tabla de Huffman.
(Ejemplo 2)
En este ejemplo se introduce un método que puede mantener el ahorro de bits, pero para restaurar los índices diferenciales hasta un valor más cercano al valor original.
Como se muestra en la Figura 11, después de seleccionada la tabla de Huffman en 1105, los índices diferenciales se calculan entre los índices de cuantificación originales. Los índices diferenciales originales y los nuevos índices diferenciales son comparados sobre si consumen los mismos bits en la tabla de Huffman seleccionada.
Si consumen el mismo número de bits en la tabla de Huffman seleccionada, los índices diferenciales modificados son restaurados a los índices diferenciales originales. Si no consumen el mismo número de bits, las palabras del código en la tabla de Huffman que está más cerca de los índices deferenciales originales y consume el mismo número de bits y consumen el mismo número de bits son seleccionadas como los índices diferenciales restaurados. Los méritos de este ejemplo son que los errores de cuantificación del factor de norma pueden ser menores mientras que el consumo de bits es el mismo que en el ejemplo 1.
(Ejemplo 3)
En este ejemplo se introduce un método que impide el uso del modelo psicoacústico pero sólo usa un umbral de relación de energía.
Como se muestra en la Figura 12, en lugar de usar el modelo psicoacústico para obtener el umbral de enmascaramiento, las energías de las subbandas y un predefinido umbral de relación de energía se usan para determinar si modificar el índice de cuantificación de la subbanda específica (1201). Como se muestra en la ecuación que viene a continuación, si la relación de energía entre la subbanda actual y la subbanda contigua es menor que el umbral, entonces la subbanda actual es considerada como no tan importante, entonces el índice de cuantificación de la subbanda actual puede ser modificado.
[8]
Energía(n)/Energía(n-1) < Umbral
&& Energía(n)/Energía(n+1) < Umbral ... (Ecuación 8)
La modificación del índice de cuantificación puede ser hecha como se muestra en la ecuación que viene a continuación:
[9]
2
NFN uevo _ índice( n)
Min(Energía(n - 1), Energía(n 1)) * Umbral /Energía(n) y NF Ín. d ice (n ) J
^ NF,N uevo _ índ ice( n ) = ^Min(Energía(n - 1), Energía(n 1)) * Umbral / Energía(n) * NFináíce(n) ... (Ecuación 9) en donde,
NFNuevojndice(n) significa el factor de norma decodificado para la subbanda n usando un índice de cuantificación modificado
NFíndice(n) significa el factor de norma decodificación que usa el índice de cuantificación original
Energía(n-I) significa la energía para la subbanda n-1
Energía(n) significa la energía para la subbanda n
Energía(n+1) significa la energía para la subbanda n+1
El mérito de este ejemplo es que el muy complejo y de alta complejidad modelado psicoacústico puede ser evitado. (Realización 4)
En esta realización se introduce un método que reduce el intervalo de los índices diferenciales mientras que es capaz de reconstruir perfectamente los índices diferenciales.
Como se muestra en la Figura 13, los índices diferenciales son obtenidos de los índices de cuantificación (1301) de acuerdo con la ecuación que viene a continuación:
[10]
Dif_índice(n) = Índice(n) - Índice (n-1) 15 ... (Ecuación 10) en donde,
Dif_índice(n) significa el índice diferencial para la subbanda n
Índice(n) significa el índice de cuantificación para la subbanda n
Índice(n-1) significa el índice de de cuantificación para la subbanda n-1
Con el fin de reducir el intervalo de los índices diferenciales, se aplica un módulo para modificar los valores de algunos índices diferenciales (1302).
La modificación se realiza de acuerdo con el valor del índice diferencial para la subbanda precedente y un umbral. Una manera de modificar el índice diferencial (cuando n>1) puede ser hecho como se muestra en la ecuación que viene a continuación, el primer índice diferencial no sería modificado para conseguir una perfecta reconstrucción en el lado del decodificaciónr:
[11]
si Dif_índice(n-1) > (15+Umbral),
Dif_índice_nuevo(n) = Dif_índice(n)+Dif_índice(n-1)-15+Umbral);
entonces si Dif_índice(n-1)<(15-Umbral),
Dif_índice_nuevo(n) = Dif_índice(n)+Dif_índice(n-1)-( 15-Umbral);
de otro modo
Dif_índice_nuevo(n) = Dif-índice(n); ... (Ecuación 11)
en donde
n>1
Dif_índice(n) significa el índice diferencial para la subbanda n;
Dif_índice(n-1) significa el índice diferencial para la subbanda n-1;
Dif_índice_nuevo(n) significa el nuevo índice diferencial para la subbanda n;
Umbral significa el valor para examinar si realizar la modificación del índice diferencial;
El motivo por el que esta modificación puede reducir el intervalo de los índices diferenciales se explica como sigue: para una señal de audio/voz es cierto que la energía fluctúa de una banda de frecuencia a otra banda de frecuencia. No obstante, se ha observado que normalmente no hay un cambio brusco en la energía procedente de bandas de frecuencia contiguas. La energía gradualmente aumenta o disminuye de una banda de frecuencia a otra banda de frecuencia. Los factores de norma que representan la energía también cambian gradualmente. Los índices de cuantificación del factor de norma también cambiarían gradualmente, y después los índices diferenciales variarían en un pequeño intervalo.
El cambio brusco de energía sucede sólo cuando algunos componentes principales del sonido que tienen gran energía comienzan a mostrar el efecto en la banda de frecuencia o su efecto comienza a disminuir. Los factores de norma que representan la energía también tienen un cambio brusco procedente de la banda de frecuencia anterior, los índices de cuantificación del factor de norma también aumentarían o disminuirían rápidamente en un gran valor. Entonces resultó en un índice diferencial muy grande o muy pequeño.
Como un ejemplo, supóngase que hay un componente principal del sonido que tiene una gran energía en la subbanda n de frecuencia. Mientras, en las subbandas (n-1) y (n+1) de frecuencia no hay un componente principal del sonido. Entonces, de acuerdo con la tabla de Huffman de la Figura 2, el Índice (n) tendrá un valor muy pequeño, mientras el Índice (n-1) y el Índice (n+1) tendrán un valor muy grande. Entonces, de acuerdo con la Ecuación (10), Dif_índice(n) es muy pequeño (menor que (15-Umbral)) y Dif_índice(n+1) es muy grande. Si la modificación en la Ecuación (11) es realizada, entonces de acuerdo con la Ecuación (12) que viene a continuación, el límite superior de los índices diferenciales posiblemente puede ser reducido, por lo que el intervalo de los índices diferenciales puede ser reducido.
[12]
v Dif_índice_nuevo(n-1) < (15-Umbral)
Dif-índice(n-1)-(15-Umbral) < 0
v Dif_índice_nuevo(n) = Dif_índice(n)+Dif_índice(n-1)-(15-Umbral);
• Dif-índice(n) < Dif_índice(n) ... (Ecuación 12)
Como se muestra en la Figura 14, en el lado del decodificador, con el fin de reconstruir perfectamente los índices diferenciales, se aplica un módulo nombrado “reconstrucción de índices diferenciales” (1403). La reconstrucción se realiza de acuerdo con el valor del índice diferencial para la subbanda precedente y un umbral. El umbral en el decodificador es el mismo que el umbral usado en el codificador.
La forma de reconstruir el índice diferencial (cuando n>1), que es correspondiente a la modificación en el codificador, puede ser hecha como se muestra en la ecuación que viene a continuación, el primer índice diferencial sería directamente recibido ya que no es modificado en el lado del codificador:
[13]
si Dif_índice(n-1) > (15+Umbral),
Dif_índice(n) = Dif_índice_nuevo(n) - Dif_índice(n-1) (15+Umbral);
entonces si Dif_índice(n-1) < (15-Umbral),
Dif_índice(n) = Dif_índice-nuevo(n) - Dif_índice(n-1) (15-Umbral);
de otro modo
Dif_índice(n) = Dif_índice_nuevo(n);
en donde,
Dif_índice(n) significa el índice diferencial para la subbanda n;
Dif_índice(n-1) significa el índice diferencial para la subbanda n-1;
Dif_índice_nuevo(n) significa el nuevo índice diferencial para la subbanda n;
Umbral significa el valor para examinar si reconstruir el índice diferencial.
Como se muestra en la anterior Ecuación (11) y la Ecuación (13), si la modificación de un índice diferencial debería ser hecha y cuánto debería ser modificada es todo dependiente del índice diferencial para la banda de frecuencia precedente. Si el índice diferencial para la banda de frecuencia precedente puede ser perfectamente reconstruido, entonces el índice diferencial de corriente puede ser también reconstruido perfectamente.
Como se muestra en la anterior Ecuación (11) y la Ecuación (13), el primer índice diferencial no es modificado en el lado del codificador, es directamente recibido y puede ser perfectamente reconstruido, entonces el segundo índice diferencial puede ser reconstruido de acuerdo con el valor del primer índice diferencial; a continuación el tercer índice diferencial, el cuarto índice diferencial, y así sucesivamente, siguiendo el mismo procedimiento, todos los índices diferenciales pueden ser perfectamente reconstruidos.
El mérito de esta realización es que el intervalo de los índices diferenciales puede ser reducido, mientras que los índices diferenciales pueden todavía ser perfectamente reconstruidos en el lado del decodificador. Por lo tanto, la eficiencia de los bits puede ser mejorada mientras se retiene la exactitud de bits de los índices de cuantificación. Además, aunque se han descrito casos con las realizaciones anteriores en donde la presente invención está configurada por el soporte físico, la presente invención puede ser puesta en práctica por un soporte lógico en combinación con un soporte físico.
Cada bloque de funciones empleado en la descripción de la realización antes mencionada puede ser aplicado típicamente como un LSI constituido por un circuito integrado. Éstos pueden ser microplaquetas individuales o parcial o totalmente contenidas en una única microplaqueta. El “LSI” es adoptado aquí pero éste puede también ser referido como un “IC”, “sistema LSI”, “super LSI” o “ultra LSI” dependiendo en los diferentes grados de integración. Además, el método de integración de circuitos no está limitado al del LSI, y la aplicación usando unos circuitos especializados o procesadores de uso general es también posible. Después de la fabricación del LSI, la utilización de un FPGA (Disposición de Compuertas de Campo Programable) o un procesador reconfigurable en el que las conexiones y fijaciones de celdas de circuitos dentro de un LSI pueden ser reconfiguradas es también posible. Además, si la tecnología de circuitos integrados viene para sustituir la del LSI como resultado del avance de la tecnología de los semiconductores u otra tecnología derivada, es también posible realizar la integración de bloques funcionales usando esta tecnología. La aplicación de biotecnología es también posible.
La exposición está basada en las Solicitudes de Patente Japonesa N° 2011-94295, presentada el 20 de Abril de 2011 y la N° 2011-133432, presentada el 15 de Junio de 2011.
Aplicabilidad industrial
El aparato codificador, el aparato decodificador y los métodos de codificación y decodificación de acuerdo con la presente invención son aplicables a un aparato terminal de comunicación inalámbrica, a un aparato de estación base en un sistema de comunicación móvil, un aparato terminal de conferencia, un aparato terminal de teleconferencia, un aparato terminal de videoconferencia, y un aparato terminal de voz sobre protocolo de internet (VOIP).
Lista de Anotaciones de Referencia
101 Detector de corriente transitoria
102 Transformación
103 Estimación de norma
104 Cuantificación y codificación de norma
105 Normalización del espectro
106 Ajuste de norma
107 Asignación de bits
108 Cuantificación y codificación de la retícula
109 Ajuste del nivel de ruido
110 Multiplex (de varios canales)
111 Desmultiplexar
112 Decodificación de la retícula
113 Generador de llenado espectral
114 Forma de envoltura
115 Transformación inversa
301 Cuantificación escalar (32 pasos) 302 Cuantificación escalar (40 pasos) 303 Transmisión directa (5 bits)
304 Diferencia
305 Codificación de longitud fija
306 Codificación de Huffman
501 Modelo psicoacústico
502 Modificación de índices
503 Diferencia
504 Comprobar intervalo
505 Seleccionar tabla de códigos de Huffman 506 Codificación de Huffman
507 Seleccionar tabla de Huffman
508 Decodificación de Huffman
509 Suma
1001 Modelo psicoacústico
1002 Modificación de índice
1003 Diferencia
1004 Comprobar intervalo
1005 Probabilidad
1006 Obtener código de Huffman
1101 Modelo psicoacústico
1102 Modificación de índice
1103 Diferencia
1104 Comprobar intervalo
1105 Seleccionar tabla de código de Huffman 1106 Diferencia
1107 Restaurar índices diferenciales
1108 Codificación de Huffman
1201 Modificación de índice
1202 Diferencia
1203 Comprobación de intervalo
1204 Seleccionar tabla de código de Huffman 1205 Codificación de Huffman
1301 Diferencia
1302 Modificación de índices diferenciales 1303 Comprobación de intervalo
1304 Seleccionar tabla de código de Huffman 1305 Codificación de Huffman
1401 Seleccionar tabla de código de Huffman 1402 Codificación de Huffman
1403 Reconstrucción de índices diferenciales 1404 Suma
Claims (6)
1. Un aparato de codificación de audio/voz, que comprende:
un procesador;
una memoria;
un transformador adaptado para transformar una señal de audio/voz de entrada al dominio de tiempos en un espectro de frecuencias;
un divisor de banda adaptado para dividir el espectro de frecuencias en una pluralidad de bandas;
un calculador del factor de norma adaptado para calcular un nivel de factores de norma para cada banda;
un cuantificador adaptado para cuantificar los factores de norma para cada banda;
un calculador del índice diferencial (1301) adaptado para calcular los índices diferenciales entre un índice de banda N-ésima y un índice de banda (N-1)-ésima, en donde N es un entero de 1 o más;
un modificador del índice diferencial (1302) adaptado para modificar un intervalo de los índices diferenciales para la N-ésima banda cuando N es un entero de 2 o más, y sustituir el índice diferencial con el índice diferencial modificado y adaptado para no modificar el intervalo de los índices diferenciales para la banda N-ésima cuando N es un entero de 1; un codificador (1304; 1305) de Huffman adaptado para codificar los índices diferenciales usando una tabla de Huffman seleccionada entre un número de tablas de Huffman predefinidas; y
un transmisor adaptado para transmitir los índices diferenciales codificados y una señal de bandera para indicar la tabla de Huffman seleccionada a un aparato de decodificación de audio/voz,
en donde cuando el índice diferencial calculado de la banda (N-1)-ésima es mayor que un primer valor, el modificador del índice diferencial es adaptado para modificar un índice diferencial para una banda N-ésima añadiendo un valor sustraído determinado sustrayendo el primer valor de un índice diferencial para una banda (N-1 )-ésima
en donde cuando el índice diferencial calculado de una banda (N-1)-ésima es menor que un segundo valor, el modificador del índice diferencial está adaptado para modificar un índice diferencial para una banda N-ésima añadiendo un valor sustraído determinado sustrayendo el segundo valor de un índice diferencial para la banda (N-1 )-ésima
en donde el primer valor es una suma de un valor desplazado y un valor umbral, y el segundo valor es una diferencia del valor desplazado y el valor umbral, y el valor desplazado es 15, y
en donde cuando el índice diferencial calculado de la banda (N-1)-ésima no es mayor que el primer valor y no es menor que el segundo valor, el modificador del índice diferencial es adaptado para no modificar un índice diferencial para la banda N-ésima.
2. Un aparato de codificación de audio/voz, que comprende:
un receptor para recibir unas señales de audio/voz transmitidas desde un aparato de codificación de audio/voz; un procesador;
una memoria;
un selector (1401) de tablas de Huffman adaptado para seleccionar una tabla de Huffman de acuerdo con una señal de bandera para indicar la tabla de Huffman seleccionada por el aparato de codificación de audio/voz;
un decodificador (1402) de Huffman adaptado para decodificar los índices diferenciales entre un índice de banda N-ésima y un índice de banda (N-1)'ésima, en donde N es un entero de 1 o más, recibidos por el aparato de codificación de audio/voz, usando la tabla de Huffman seleccionada;
un reconstructor de índices diferenciales (1403) adaptado para reconstruir un índice diferente N'ésim° decodificado usando la tabla de Huffman seleccionada cuando N es un entero de 2 o más, y sustituye el índice diferencial con el índice diferencial reconstruido, y no adaptado para reconstruir el índice diferencial N-*^™ cuando N es un entero de 1;
un calculador del índice (1404) adaptado para calcular los índices de cuantificación usando los índices diferenciales reconstruidos;
un descuantificador adaptado para descuantificar un nivel de factores de norma para cada banda; y un transformador adaptado para transformar un espectro decodificado que es generado usando el factor de norma para cada banda en un dominio de frecuencias en una señal del dominio temporal,
en donde cuando el índice diferencial decodificado de la banda (N-1)-ésima es mayor que un primer valor, el reconstructor de índices diferenciales está adaptado para reconstruir un índice diferencial para una banda N-ésima sustrayendo un valor sustraído determinado sustrayendo el primer valor de un índice diferencial para una banda (N-1)-ésima,
en donde cuando el índice diferencial decodificado de una banda (N-1)-ésima es menor que un segundo valor, el reconstructor de índices diferenciales está adaptado para reconstruir un índice diferencial para una banda N'ésima sustrayendo un valor sustraído determinado sustrayendo el segundo valor de un índice diferencial para la banda (N-1)'ésima,
en donde el primer valor es una suma de un valor desplazado y un valor umbral, y el segundo valor es una diferencia del valor desplazado y el valor umbral, y el valor desplazado es 15, y
en donde cuando el índice diferencial decodificado de una banda (N-1)'ésima no es mayor que el primer valor y no es menor que el segundo valor, y el reconstructor de índices diferenciales está adaptado para reconstruir un índice diferencial decodificado para la banda N'ésima.
3. Un aparato de codificación de audio/voz, que comprende:
transformar, mediante un transformador, una señal de entrada del dominio temporal a un espectro de frecuencias; dividir el espectro de frecuencias en una pluralidad de bandas;
calcular un nivel de factores de norma para cada banda;
cuantificar los factores de norma para cada banda;
calcular los índices diferenciales entre un índice de banda N'ésima y un índice de banda (N-1)'ésima, en donde N es un entero de 1 o más;
modificar un intervalo de uno de los índices diferenciales para la banda N'ésima cuando N es un entero de 2 o más, y sustituir el índice diferencial con el índice diferencial modificado y no modificar el intervalo de los índices diferenciales para la banda N'ésima cuando N es un entero de 1;
codificar los índices diferenciales usando una tabla de Huffman seleccionada entre varias tablas de Huffman predefinidas; y
transmitir los índices diferenciales codificados y una señal de bandera para indicar la tabla de Huffman seleccionada a un aparato de decodificación de audio/voz,
en donde cuando el índice diferencial calculado de la banda (N-1)'ésima es mayor que un primer valor, se modifica un índice diferencial añadiendo un valor sustraído determinado sustrayendo el primer valor de un índice diferencial para una banda (N-1)'ésima,
en donde cuando el índice diferencial calculado de una banda (N-1)'ésima es menor que un segundo valor, se modifica un índice diferencial para una banda N'ésima añadiendo un valor sustraído determinado sustrayendo el segundo valor de un índice diferencial para la banda (N-1)'ésima,
en donde el primer valor es una suma de un valor desplazado y un valor umbral, y el segundo valor es una diferencia del valor desplazado y el valor umbral, y el valor desplazado es 15, y
en donde cuando el índice diferencial calculado de una banda (N-1)'ésima es no mayor que el primer valor y no es menor que el segundo valor, el índice diferencial para la banda N'ésima no es modificado.
4. Un método de decodificación de audio/voz, que comprende:
recibir unas señales de audio/voz transmitidas desde un aparato de codificación de audio/voz;
seleccionar una tabla de Huffman de acuerdo con una señal de bandera para indicar la tabla de Huffman seleccionada por el aparato de codificación de audio/voz;
decodificar unos índices diferenciales entre un índice de banda N'ésima y un índice de banda (N-1)'ésima, en donde N es un entero de 1 o más, recibidos por el aparato de codificación de audio/voz usando la tabla de Huffman seleccionada;
reconstruir un índice diferencial N-ésimo decodificado usando la tabla de Huffman seleccionada cuando N es un entero de 2 o más, y sustituir el índice diferencial con el índice diferencial reconstruido, y no reconstruir el índice diferencial N-ésimo cuando N es un entero de 1;
calcular los índices de cuantificación usando los índices diferenciales reconstruidos;
descuantificar por un descuantificador un nivel de factores de norma para cada banda; y
transformar un espectro decodificado que es generado usando los factores de norma para cada banda en un dominio de frecuencias en una señal del dominio temporal,
en donde cuando el índice diferencial de la banda (N-1)-ésima es mayor que un primer valor, un índice diferencial para una banda N-ésima es reconstruido sustrayendo un valor sustraído determinado sustrayendo el primer valor de un índice diferencial para una banda (N-1)-ésima,
en donde cuando el índice diferencial decodificado de una banda (N-1)-ésima es menor que un segundo valor, un índice diferencial para una banda N-ésima es reconstruido sustrayendo un valor sustraído determinado sustrayendo el segundo valor de un índice diferencial para la banda (N-1)-ésima,
en donde el primer valor es una suma de un valor desplazado y un valor umbral, y el segundo valor es una diferencia del valor desplazado y el valor umbral, y el valor desplazado es 15, y
en donde cuando el índice diferencial decodificado de una banda (N-1)-ésima no es mayor que el primer valor y no es menor que un segundo valor, es reconstruido un índice diferencial decodificado para la banda N-ésima.
5. El aparato de codificación de audio/voz de acuerdo con la reivindicación 1, que además comprende: un selector de tablas de Huffman adaptado para seleccionar una tabla de Huffman que fue diseñada basándose en un valor mínimo y un valor máximo de los índices diferenciales.
6. El aparato de codificación de audio/voz de acuerdo con la reivindicación 1, que además comprende: un selector de tablas de Huffman adaptado para seleccionar una tabla de Huffman que consuma la menor cantidad de bits para codificar los índices diferenciales.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011094295 | 2011-04-20 | ||
JP2011133432 | 2011-06-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2765527T3 true ES2765527T3 (es) | 2020-06-09 |
Family
ID=47041264
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES16175414T Active ES2765527T3 (es) | 2011-04-20 | 2012-03-12 | Dispositivo y método para la ejecución de la codificación de Huffman |
ES19194667T Active ES2977133T3 (es) | 2011-04-20 | 2012-03-12 | Dispositivo y método para la ejecución de la codificación de Huffman |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19194667T Active ES2977133T3 (es) | 2011-04-20 | 2012-03-12 | Dispositivo y método para la ejecución de la codificación de Huffman |
Country Status (14)
Country | Link |
---|---|
US (3) | US9881625B2 (es) |
EP (4) | EP3594943B1 (es) |
JP (3) | JP5937064B2 (es) |
KR (3) | KR101959698B1 (es) |
CN (2) | CN103415884B (es) |
BR (1) | BR112013026850B1 (es) |
CA (2) | CA3051552C (es) |
ES (2) | ES2765527T3 (es) |
MY (2) | MY193565A (es) |
PL (2) | PL3096315T3 (es) |
RU (1) | RU2585990C2 (es) |
TW (2) | TWI573132B (es) |
WO (1) | WO2012144127A1 (es) |
ZA (1) | ZA201307316B (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100715450B1 (ko) * | 2004-02-02 | 2007-05-07 | (주)경안인더스트리 | 비석면 단열판 및 그 제조방법 |
EP3594943B1 (en) * | 2011-04-20 | 2024-02-21 | Panasonic Holdings Corporation | Device and method for execution of huffman coding |
PT3232437T (pt) * | 2012-12-13 | 2019-01-11 | Fraunhofer Ges Forschung | Dispositivo de codificação de áudio de voz, dispositivo de descodificação de áudio de voz, método de codificação de áudio de voz e método de descodificação de áudio de voz |
CA3077876C (en) | 2013-05-24 | 2022-08-09 | Dolby International Ab | Audio encoder and decoder |
ES2934591T3 (es) | 2013-09-13 | 2023-02-23 | Samsung Electronics Co Ltd | Procedimiento de codificación sin pérdidas |
US10468033B2 (en) | 2013-09-13 | 2019-11-05 | Samsung Electronics Co., Ltd. | Energy lossless coding method and apparatus, signal coding method and apparatus, energy lossless decoding method and apparatus, and signal decoding method and apparatus |
US20150142345A1 (en) * | 2013-10-18 | 2015-05-21 | Alpha Technologies Inc. | Status Monitoring Systems and Methods for Uninterruptible Power Supplies |
EP3111627B1 (en) * | 2014-02-28 | 2018-07-04 | Dolby Laboratories Licensing Corporation | Perceptual continuity using change blindness in conferencing |
WO2016162283A1 (en) * | 2015-04-07 | 2016-10-13 | Dolby International Ab | Audio coding with range extension |
EP3347979A4 (en) | 2015-09-13 | 2019-01-16 | Alpha Technologies Inc. | ENERGY CONTROL SYSTEMS AND METHODS |
US10381867B1 (en) | 2015-10-16 | 2019-08-13 | Alpha Technologeis Services, Inc. | Ferroresonant transformer systems and methods with selectable input and output voltages for use in uninterruptible power supplies |
WO2018121887A1 (en) * | 2017-01-02 | 2018-07-05 | Huawei Technologies Duesseldorf Gmbh | Apparatus and method for shaping the probability distribution of a data sequence |
EP3598742B1 (en) * | 2017-03-14 | 2021-06-16 | Sony Corporation | Recording device and recording method |
US20180288439A1 (en) * | 2017-03-31 | 2018-10-04 | Mediatek Inc. | Multiple Transform Prediction |
EP3652604A4 (en) | 2017-07-14 | 2021-03-17 | Alpha Technologies Services, Inc. | VOLTAGE REGULATED AC SUPPLY SYSTEMS AND PROCEDURES |
CN109286922B (zh) * | 2018-09-27 | 2021-09-17 | 珠海市杰理科技股份有限公司 | 蓝牙提示音处理方法、系统、可读存储介质和蓝牙设备 |
US12113554B2 (en) | 2022-07-12 | 2024-10-08 | Samsung Display Co., Ltd. | Low complexity optimal parallel Huffman encoder and decoder |
WO2024012666A1 (en) * | 2022-07-12 | 2024-01-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding or decoding ar/vr metadata with generic codebooks |
CN118713680A (zh) * | 2024-08-27 | 2024-09-27 | 湖南师范大学 | 一种基于区块链技术的可信计量数据存储方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3131542B2 (ja) * | 1993-11-25 | 2001-02-05 | シャープ株式会社 | 符号化復号化装置 |
JP3186007B2 (ja) * | 1994-03-17 | 2001-07-11 | 日本電信電話株式会社 | 変換符号化方法、復号化方法 |
US5956674A (en) * | 1995-12-01 | 1999-09-21 | Digital Theater Systems, Inc. | Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels |
US5848195A (en) | 1995-12-06 | 1998-12-08 | Intel Corporation | Selection of huffman tables for signal encoding |
US6366614B1 (en) * | 1996-10-11 | 2002-04-02 | Qualcomm Inc. | Adaptive rate control for digital video compression |
JP3784993B2 (ja) * | 1998-06-26 | 2006-06-14 | 株式会社リコー | 音響信号の符号化・量子化方法 |
KR100844810B1 (ko) * | 2000-12-22 | 2008-07-09 | 소니 가부시끼 가이샤 | 부호화 장치 및 복호 장치 |
US6411226B1 (en) * | 2001-01-16 | 2002-06-25 | Motorola, Inc. | Huffman decoder with reduced memory size |
JP2002268693A (ja) * | 2001-03-12 | 2002-09-20 | Mitsubishi Electric Corp | オーディオ符号化装置 |
JP2003233397A (ja) | 2002-02-12 | 2003-08-22 | Victor Co Of Japan Ltd | オーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化データ伝送装置 |
EP2006840B1 (en) * | 2002-09-04 | 2012-07-04 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
JP4369140B2 (ja) | 2003-02-17 | 2009-11-18 | パナソニック株式会社 | オーディオ高能率符号化装置、オーディオ高能率符号化方法、オーディオ高能率符号化プログラム及びその記録媒体 |
WO2005004113A1 (ja) * | 2003-06-30 | 2005-01-13 | Fujitsu Limited | オーディオ符号化装置 |
EP1513137A1 (en) * | 2003-08-22 | 2005-03-09 | MicronasNIT LCC, Novi Sad Institute of Information Technologies | Speech processing system and method with multi-pulse excitation |
US7966424B2 (en) * | 2004-03-15 | 2011-06-21 | Microsoft Corporation | Data compression |
US7668715B1 (en) | 2004-11-30 | 2010-02-23 | Cirrus Logic, Inc. | Methods for selecting an initial quantization step size in audio encoders and systems using the same |
WO2007037613A1 (en) * | 2005-09-27 | 2007-04-05 | Lg Electronics Inc. | Method and apparatus for encoding/decoding multi-channel audio signal |
WO2007096551A2 (fr) | 2006-02-24 | 2007-08-30 | France Telecom | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
JP5010197B2 (ja) * | 2006-07-26 | 2012-08-29 | 株式会社東芝 | 音声符号化装置 |
KR101041895B1 (ko) * | 2006-08-15 | 2011-06-16 | 브로드콤 코포레이션 | 패킷 손실 후 디코딩된 오디오 신호의 시간 워핑 |
JP4823001B2 (ja) * | 2006-09-27 | 2011-11-24 | 富士通セミコンダクター株式会社 | オーディオ符号化装置 |
PL2068307T3 (pl) * | 2006-10-16 | 2012-07-31 | Dolby Int Ab | Udoskonalony sposób kodowania i odtwarzania parametrów w wielokanałowym kodowaniu obiektów poddanych procesowi downmiksu |
US7966175B2 (en) * | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
US7953595B2 (en) * | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
RU2394283C1 (ru) * | 2007-02-14 | 2010-07-10 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способы и устройства для кодирования и декодирования объектно-базированных аудиосигналов |
JP5071479B2 (ja) * | 2007-07-04 | 2012-11-14 | 富士通株式会社 | 符号化装置、符号化方法および符号化プログラム |
KR101426788B1 (ko) * | 2007-11-20 | 2014-08-06 | 삼성전자주식회사 | 무선 통신 시스템에서 채널 품질 정보 전송 방법 및 장치 |
US8630848B2 (en) * | 2008-05-30 | 2014-01-14 | Digital Rise Technology Co., Ltd. | Audio signal transient detection |
US8463603B2 (en) * | 2008-09-06 | 2013-06-11 | Huawei Technologies Co., Ltd. | Spectral envelope coding of energy attack signal |
US8194862B2 (en) * | 2009-07-31 | 2012-06-05 | Activevideo Networks, Inc. | Video game system with mixing of independent pre-encoded digital audio bitstreams |
JP5358818B2 (ja) | 2009-10-27 | 2013-12-04 | 株式会社ユーシン | 扉用の施解錠装置 |
JP2011133432A (ja) | 2009-12-25 | 2011-07-07 | Shizuoka Oil Service:Kk | オイル粘度チェッカー並びにこれを用いたオイル供給システム |
US9106925B2 (en) * | 2010-01-11 | 2015-08-11 | Ubiquity Holdings, Inc. | WEAV video compression system |
CN102222505B (zh) * | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | 可分层音频编解码方法系统及瞬态信号可分层编解码方法 |
EP3594943B1 (en) * | 2011-04-20 | 2024-02-21 | Panasonic Holdings Corporation | Device and method for execution of huffman coding |
-
2012
- 2012-03-12 EP EP19194667.2A patent/EP3594943B1/en active Active
- 2012-03-12 KR KR1020187013479A patent/KR101959698B1/ko active IP Right Grant
- 2012-03-12 EP EP16175414.8A patent/EP3096315B1/en active Active
- 2012-03-12 CA CA3051552A patent/CA3051552C/en active Active
- 2012-03-12 JP JP2013510855A patent/JP5937064B2/ja active Active
- 2012-03-12 MY MYPI2018000285A patent/MY193565A/en unknown
- 2012-03-12 PL PL16175414T patent/PL3096315T3/pl unknown
- 2012-03-12 KR KR1020137025124A patent/KR101859246B1/ko active IP Right Grant
- 2012-03-12 ES ES16175414T patent/ES2765527T3/es active Active
- 2012-03-12 EP EP23217545.5A patent/EP4322161A3/en active Pending
- 2012-03-12 US US14/008,732 patent/US9881625B2/en active Active
- 2012-03-12 CN CN201280012790.4A patent/CN103415884B/zh active Active
- 2012-03-12 CN CN201410725584.9A patent/CN104485111B/zh active Active
- 2012-03-12 KR KR1020197006961A patent/KR101995694B1/ko active IP Right Grant
- 2012-03-12 CA CA2832032A patent/CA2832032C/en active Active
- 2012-03-12 EP EP12774449.8A patent/EP2701144B1/en active Active
- 2012-03-12 ES ES19194667T patent/ES2977133T3/es active Active
- 2012-03-12 WO PCT/JP2012/001701 patent/WO2012144127A1/ja active Application Filing
- 2012-03-12 MY MYPI2013003592A patent/MY164987A/en unknown
- 2012-03-12 RU RU2013146688/08A patent/RU2585990C2/ru active
- 2012-03-12 BR BR112013026850-6A patent/BR112013026850B1/pt active IP Right Grant
- 2012-03-12 PL PL19194667.2T patent/PL3594943T3/pl unknown
- 2012-03-19 TW TW101109432A patent/TWI573132B/zh active
- 2012-03-19 TW TW106100427A patent/TWI598872B/zh active
-
2013
- 2013-10-01 ZA ZA2013/07316A patent/ZA201307316B/en unknown
-
2016
- 2016-05-10 JP JP2016094584A patent/JP6321072B2/ja active Active
-
2017
- 2017-12-12 US US15/839,056 patent/US10204632B2/en active Active
-
2018
- 2018-04-04 JP JP2018072367A patent/JP6518361B2/ja active Active
- 2018-12-19 US US16/225,851 patent/US10515648B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2765527T3 (es) | Dispositivo y método para la ejecución de la codificación de Huffman | |
ES2665766T3 (es) | Mezclado de corrientes de datos de entrada y generación a partir de ahí de una corriente de datos de salida | |
ES2664090T3 (es) | Relleno de subvectores no codificados en señales de audio codificadas por transformada | |
US20220130402A1 (en) | Encoding device, decoding device, encoding method, decoding method, and non-transitory computer-readable recording medium | |
ES2737889T3 (es) | Codificador, decodificador, procedimiento de codificación, procedimiento de decodificación y programa |