ES2934591T3 - Procedimiento de codificación sin pérdidas - Google Patents
Procedimiento de codificación sin pérdidas Download PDFInfo
- Publication number
- ES2934591T3 ES2934591T3 ES19212262T ES19212262T ES2934591T3 ES 2934591 T3 ES2934591 T3 ES 2934591T3 ES 19212262 T ES19212262 T ES 19212262T ES 19212262 T ES19212262 T ES 19212262T ES 2934591 T3 ES2934591 T3 ES 2934591T3
- Authority
- ES
- Spain
- Prior art keywords
- coding
- quantization index
- differential quantization
- bit
- huffman
- 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 abstract description 148
- 238000013139 quantization Methods 0.000 claims abstract description 156
- 230000005236 sound signal Effects 0.000 claims abstract description 22
- 238000012856 packing Methods 0.000 claims description 9
- 238000011002 quantification Methods 0.000 abstract description 2
- 230000009466 transformation Effects 0.000 abstract description 2
- 238000001228 spectrum Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000009826 distribution Methods 0.000 description 8
- 230000001052 transient effect Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 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/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/002—Dynamic bit allocation
-
- 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/04—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 predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
-
- 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/04—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 predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método de codificación sin pérdidas comprende obtener una energía, en unidades de una banda, a partir de los coeficientes de transformación de una señal de audio; seleccionar uno de un primer método de codificación y un segundo método de codificación para un índice de cuantificación diferencial de la energía; y codificar el índice de cuantificación diferencial usando el método de codificación seleccionado. El método selecciona el primer método de codificación cuando al menos un índice de cuantificación diferencial de todas las bandas excepto un primer índice de cuantificación diferencial no está representado en [-32, 31] o cuando el primer índice de cuantificación diferencial no está representado en [-46, 17] ; y selecciona un método de codificación en el que se consume un número menor de bits. El primer método de codificación incluye un modo de pulso y un modo de escala usando la codificación Huffman. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimiento de codificación sin pérdidas
CAMPO TÉCNICO
Una o más realizaciones ejemplares se refieren a un procedimiento de codificación sin pérdidas.
TÉCNICA ANTECEDENTE
Al codificar una señal de audio o una señal de voz, además de un componente de frecuencia real de un espectro, puede añadirse a un flujo de bits información lateral tal como la energía o una envolvente. En este caso, el número de bits asignados para la codificación de un componente de frecuencia de un espectro aumenta reduciendo el número de bits asignados para la codificación de la información lateral en un estado en el que se minimizan las pérdidas.
Es decir, en un caso de codificación o decodificación de una señal de audio o una señal de habla, se requiere reconstruir la señal de audio o la señal de habla con la mejor calidad de un sonido en un intervalo de bits correspondiente mediante el uso eficiente de bits limitados, especialmente a una tasa de bits baja.
El documento US 2013/110522 A1 divulga un procedimiento y un aparato de codificación sin pérdida de energía. El documento EP 2256723 A1 describe un procedimiento y un aparato de codificación. El documento CA 2832032 A1 divulga un dispositivo y un procedimiento para la ejecución de la codificación Huffman.
DIVULGACIÓN
SOLUCIÓN TÉCNICA
De acuerdo con una o más realizaciones ejemplares, se proporciona un procedimiento de codificación sin pérdidas como se define en la reivindicación 1 adjunta.
EFECTOS VENTAJOSOS
De acuerdo con una o más de las realizaciones ejemplares, un símbolo donde un intervalo de representación es grande en un índice de cuantificación que indica la energía se codifica utilizando uno de los modos de pulso y el modo de escala. De este modo, se reduce el número de bits utilizados para codificar la energía y, por tanto, se asignan más bits para codificar un espectro.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIG. 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de audio de acuerdo con una realización ejemplar;
La FIG. 2 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación de audio de acuerdo con una realización ejemplar;
La FIG. 3 es un diagrama de bloques que ilustra una configuración de un aparato de codificación sin pérdida de energía de acuerdo con la invención;
La FIG. 4 es un diagrama de bloques que ilustra una configuración detallada de un primer codificador sin pérdidas de la FIG. 3;
La FIG. 5 es una tabla que muestra un procedimiento de codificación y un modo de codificación de acuerdo con una realización ejemplar;
La FIG. 6 es un diagrama que ilustra un ejemplo de tabla de codificación Huffman que se utiliza en un procedimiento de codificación de grandes símbolos;
La FIG. 7 es un diagrama que ilustra un ejemplo de asignación de bits en un modo de pulsos;
La FIG. 8 es un diagrama de bloques que ilustra una configuración detallada de un segundo codificador sin pérdidas de la FIG. 3;
La FIG. 9 es un diagrama de bloques que ilustra una configuración detallada de un codificador de bits superiores de la FIG. 8;
La FIG. 10 ilustra un ejemplo de contextos de agrupación que se utilizan en un primer codificador en modo Huffman de la FIG. 9;
La FIG. 11 es un diagrama de flujo que describe una operación de cálculo de bits para determinar un procedimiento de codificación, de acuerdo con una realización ejemplar;
La FIG. 12 es un diagrama de bloques que ilustra una configuración de un aparato de decodificación sin pérdida de energía de acuerdo con una realización ejemplar;
La FIG. 13 es un diagrama de bloques que ilustra una configuración detallada de un primer decodificador sin pérdidas de la FIG. 12;
La FIG. 14 es un diagrama de bloques que ilustra una configuración detallada de un segundo decodificador sin pérdidas de la FIG. 12;
La FIG. 15 es un diagrama de bloques que ilustra una configuración detallada de un decodificador de bit superior de la FIG. 13; y
La FIG. 16 es un diagrama para describir un procedimiento de codificación de símbolos pequeños.
La FIG. 17 es un diagrama de bloques de un dispositivo multimedia de acuerdo con una realización ejemplar. La FIG. 18 es un diagrama de bloques de un dispositivo multimedia de acuerdo con otra realización ejemplar. La FIG.19 es un diagrama de bloques de un dispositivo multimedia de acuerdo con aún otra realización ejemplar.
MODO PARA LA INVENCIÓN
Dado que el concepto inventivo puede tener diversas realizaciones modificadas, las realizaciones preferidas se ilustran en los dibujos y se describen en la descripción detallada del concepto inventivo.
Se entenderá que, aunque los términos primero y segundo se usan en el presente documento para describir diversos elementos, estos elementos no deben estar limitados por estos términos. Los términos solo se utilizan para distinguir un componente de otros componentes.
En la siguiente descripción, los términos técnicos se utilizan únicamente para explicar una realización ejemplar específica sin limitar el concepto inventivo. Los términos utilizados en el concepto inventivo han sido seleccionados como términos generales que son ampliamente utilizados en la actualidad, en consideración a las funciones del concepto inventivo, pero pueden ser alterados de acuerdo con la intención de un operador de la habilidad ordinaria en la técnica, la práctica convencional, o la introducción de nueva tecnología. También, si hay un término que es seleccionado arbitrariamente por el solicitante en un caso específico, en cuyo caso se describirá en detalle el significado del término en una parte de la descripción correspondiente del concepto inventivo. Por lo tanto, los términos deben definirse con base en todo el contenido de esta memoria descriptiva en lugar de un simple nombre de cada uno de los términos.
Los términos de una forma singular pueden incluir formas plurales a menos que se indique lo contrario. El significado de 'comprende', 'incluye' o 'tiene' especifica una propiedad, una región, un número fijo, un paso, un procedimiento, un elemento y/o un componente, pero no excluye otras propiedades, regiones, números fijos, pasos, procedimientos, elementos y/o componentes.
En lo sucesivo, se describirán en detalle realizaciones ejemplares con referencia a los dibujos adjuntos. Números similares se refieren a elementos similares a lo largo de la descripción de las figuras, y no se proporciona una descripción repetitiva sobre el mismo elemento.
La FIG. 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de audio de acuerdo con una realización ejemplar.
El aparato 100 de codificación de señales de la FIG. 1 puede incluir un transformador 110, un cuantificador 120 de energía, un codificador 130 sin pérdida de energía, un asignador 140 de bits, un cuantificador 150 de espectro, un codificador 160 sin pérdida de espectro y un multiplexor 170. El multiplexor 170 puede ser provisto opcionalmente y puede ser reemplazado por otro elemento que realice una función de empaquetamiento de bits. Alternativamente, los datos de energía codificados sin pérdida y los datos de espectro codificados sin pérdida pueden construir un flujo de bits separado y pueden ser almacenados o transmitidos. El aparato 100 de codificación de señales puede incluir además un normalizador (no mostrado) que realiza la normalización utilizando un valor de energía después o antes de una operación de cuantificación del espectro. Cada uno de los elementos puede estar integrado en uno o más módulos y puede ser implementado con uno o más procesadores (no mostrados). Aquí, una señal puede denotar una señal de medios tales como, un sonido que indica un audio, música, un discurso, o una señal mixta de los mismos, pero en lo sucesivo, para la conveniencia de la explicación, la señal se refiere como una señal de audio. Una señal de audio de una entrada del dominio del tiempo al aparato 100 de codificación de señales puede tener diversas tasas de muestreo, y una configuración de banda de energía utilizada para cuantificar un espectro para cada tasa de muestreo puede ser cambiada. Por lo tanto, el número de energía cuantificada para el que se realiza la codificación sin pérdidas puede variar. Los ejemplos de una tasa de muestreo pueden incluir 7,2 kHz, 8 kHz, 13,2 kHz, 16,4 kHz, 32 kHZ y 48 kHz, pero no están limitados a ello. Una señal de audio de un dominio de tiempo en el que se determina una tasa de muestreo y una tasa de bits objetivo puede proporcionarse al transformador 110.
En la FIG. 1, el transformador 110 puede transformar una señal de audio de un dominio de tiempo (por ejemplo, una señal de modulación de código de pulsos (PCM)) en un dominio de frecuencia para generar un espectro de audio. En este caso, la transformación en el dominio del tiempo a la frecuencia puede realizarse utilizando diversos procedimientos conocidos, tales como la transformada discreta del coseno modificada (MDCT). Los coeficientes de transformación (por ejemplo, los coeficientes MDCT) de un espectro de audio obtenido del transformador 110 pueden proporcionarse al cuantificador 120 de energía y al cuantificador 150 de espectro.
El cuantificador 120 de energía puede obtener, en unidades de una banda, energía a partir de los coeficientes de transformación proporcionados por el transformador 110. La banda es una unidad de agrupación de muestras del
espectro de audio y puede tener una longitud uniforme o no uniforme al tiempo que refleja una banda crítica. Cuando no hay uniformidad, una banda puede establecerse de manera que el número de muestras incluidas en una banda aumente progresivamente en una dirección desde una muestra inicial hasta una última muestra para un marco. Además, en un caso de soporte de múltiples tasas de bits, una banda puede establecerse de manera que los números de muestras incluidos en las respectivas bandas que se corresponden entre sí a diferentes tasas de bits sean iguales. El número de bandas incluidas en un marco o el número de muestras incluidas en una banda puede estar predeterminado. Un valor de energía puede indicar una envoltura de coeficientes de transformación incluidos en una banda y denotar una amplitud media, una energía media, una potencia o un valor de norma. Aquí, la banda puede denotar una banda de parámetros o una banda de factores de escala.
La Energía EM(b) de una banda b puede calcularse, por ejemplo, como se expresa en la siguiente Ecuación (1).
donde XM(k) denota un coeficiente del espectro, knicio(b) denota una muestra inicial, y kfinal(b) denota una última muestra de una banda.
El cuantificador 120 de energía puede cuantificar la energía obtenida para generar un índice. De acuerdo con una realización ejemplar, en un caso de modo transitorio, reordenando la energía que se va a cuantificar antes de la cuantificación, por ejemplo, realizando una operación de reordenación de manera que las energías correspondientes a una subtrama par (un índice m=0, 2) estén en un orden de frecuencia creciente y las energías correspondientes a una subtrama impar (un índice m=1, 3) estén en un orden de frecuencia decreciente, se puede conseguir una codificación diferencial de energía eficiente. En cada fotograma, la energía puede cuantificarse de forma escalar con un tamaño de paso de cuantificación, por ejemplo, un valor de cuantificación escalar uniforme qnt. El valor del cuantificador escalar uniforme qn puede ser variable y, por ejemplo, puede seleccionarse con base en un ancho de banda y un modo.
Un índice de cuantificación IM(b) de la energía puede ser calculado, por ejemplo, como se expresa en la siguiente Ecuación (2)
Ecuación (2)
E ^ b )
I J b ) = ronda ( ---------- ), b~0,...,N ban(iaT 1
*7 i n i
De acuerdo con una realización ejemplar, los índices de cuantificación de las piezasde energía del subvector pueden codificarse diferencialmente. Para ello, se puede obtener una diferencia (es decir, un índice diferencial) entre un índice de cuantificación de una banda actual y un índice de cuantificación de una banda anterior para la banda actual. En este caso, al no existir una banda anterior a la primera en una trama, se puede obtener un índice diferencial de la primera banda restando un determinado valor de un índice de cuantificación de la primera banda. El índice diferencial △ Im(0) de la primera banda y un índice diferencial AIM(b) de la otra banda pueden calcularse, por ejemplo, como se expresa en la siguiente Ecuación (3).
donde Iref denota una energía de banda de referencia y puede fijarse en 24.
De acuerdo con una realización ejemplar, el índice diferencial AIM(b) puede ser restringido en un cierto intervalo, por ejemplo, un intervalo de [-256, 256]. Esto puede lograrse ajustando primero un índice diferencial negativo y luego ajustando un índice diferencial positivo como se expresa en la siguiente ecuación (4)
Ecuación (4)
El codificador 130 sin pérdida de energía puede realizar la codificación sin pérdida en un índice, un índice diferencial, o un índice diferencial restringido proporcionado desde el cuantificador 120 de energía. De acuerdo con una realización ejemplar, el codificador 130 sin pérdida de energía puede realizar una codificación sin pérdida en unidades de una trama utilizando un primer procedimiento de codificación o un segundo procedimiento de codificación, basándose en un intervalo o una capacidad necesaria para representar un índice diferencial y el consumo de bits. Aquí, el primer procedimiento de codificación es un procedimiento de codificación de símbolos grandes, y puede aplicarse cuando el número de símbolos necesarios para representar un índice es relativamente mayor que el segundo procedimiento de codificación. El segundo procedimiento de codificación es un procedimiento de codificación de símbolos pequeños, y puede aplicarse cuando el número de símbolos necesarios para representar un índice es relativamente menor que el primer procedimiento de codificación. Cuando se selecciona el procedimiento de codificación de símbolos grandes como procedimiento de codificación, la energía de banda puede codificarse en modo de pulso o en modo de escala. Cuando se selecciona el procedimiento de codificación de símbolos pequeños como procedimiento de codificación, un bit superior y un bit inferior pueden codificarse por separado. En detalle, el bit superior puede ser codificado en un modo de codificación Huffman con base en el contexto o en un modo de codificación Huffman redimensionado, y el bit inferior puede ser procesado a través del empaquetamiento de bts. Un índice de procedimiento de codificación que indica un procedimiento de codificación (es decir, un bit de bandera DENG_CMODE) y un índice de modo de codificación que indica un modo de codificación en cada procedimiento de codificación (es decir, un bit de bandera LC_MODE) pueden añadirse a un flujo de bits tal como información lateral, y pueden transmitirse a un descodificador. Este modo de codificación energética o envolvente puede expresarse como se ilustra en la FIG. 5.
De acuerdo con una realización ejemplar, el codificador 130 sin pérdida de energía puede seleccionar un modo de codificación, con base en un número estimado de bits que son consumidos por el modo de codificación Huffman con base en el contexto y el modo de codificación Huffman redimensionado, respectivamente, en el procedimiento de codificación de símbolos pequeños.
El asignador 140 de bits puede descuantificar un índice de cuantificación proporcionado desde el cuantificador 120 de energía para restaurar la energía. El asignador 140 de bits puede calcular un valor de umbral de enmascaramiento utilizando la energía restaurada en unidades de una banda, para el número total de bits con base en una tasa de bits objetivo y determinar el número de bits de asignación necesarios para la codificación perceptiva de cada banda en unidades de un número entero o en unidades de una fracción, con base en el valor de umbral de enmascaramiento.
En detalle, el asignador 140 de bits puede estimar el número de bits permitidos utilizando la energía restaurada en unidades de una banda para asignar un bit, y limitar el número de bits de asignación para no exceder el número de bits permitidos. En este caso, los bits pueden asignarse secuencialmente desde una banda en la que la energía es grande. Además, se pueden asignar más bits a una banda perceptualmente importante aplicando un valor de peso a la energía de cada banda de acuerdo con la importancia perceptual de cada banda. La importancia perceptiva, por ejemplo, puede determinarse mediante una ponderación psicoacústica en la norma UIT-T G.719.
El cuantificador 150 de espectro puede cuantificar los coeficientes de transformación proporcionados desde el transformador 110 utilizando el número de bits de asignación determinado en unidades de una banda para generar un índice de cuantificación de un espectro.
El codificador 160 sin pérdida de espectro puede realizar una codificación sin pérdida en el índice de cuantificación del espectro proporcionado por el cuantificador 150 de espectro. Como ejemplo de algoritmo de codificación sin pérdidas, se puede utilizar un algoritmo conocido como la codificación Huffman o la codificación factorial de impulsos (FPC). Los datos obtenidos como resultado de la codificación sin pérdidas pueden añadirse a un flujo de bits y pueden almacenarse o transmitirse.
El multiplexor 170 puede generar un flujo de bits a partir de los datos de energía proporcionados por el codificador 130 sin pérdida de energía y los datos de espectro suministrados por el codificador 160 sin pérdida de espectro.
La FIG. 2 es un diagrama de bloques que ilustra una configuración de un aparato 200 de decodificación de audio de acuerdo con una realización ejemplar.
El aparato 200 de decodificación de audio de la FIG. 2 puede incluir un demultiplexor 210, un decodificador 220 sin pérdida de energía, un descuantificador 230 de energía, un asignador 240 de bits, un decodificador 250 sin pérdida de espectro, un descuantificador 260 de espectro y un transformador 270 inverso. Cada uno de los elementos puede estar integrado en uno o más módulos y puede ser implementado con uno o más procesadores (no mostrados). De forma similar al aparato 100 de codificación de audio, el demultiplexor 210 puede proporcionarse opcionalmente y puede ser sustituido por otro elemento que realice una función de desempaquetado de bits. El aparato 200 de decodificación de señales puede incluir además un desnormalizador (no mostrado) que realiza la desnormalización utilizando un valor de energía después o antes de una operación de descualificación del espectro.
En la FIG. 2, el demultiplexor 210 puede proporcionar datos de energía codificados, mediante el análisis sintáctico de un flujo de bits, al decodificador 220 sin pérdida de energía y proporcionar datos de espectro codificados al decodificador 250 sin pérdida de espectro.
El decodificador 220 sin pérdida de energía puede decodificar sin pérdida los datos de energía codificados para obtener un índice de cuantificación de energía. De acuerdo con una realización ejemplar, cuando la codificación diferencial es realizada por un extremo de codificación, se puede obtener un índice de cuantificación diferencial. Cuando se obtiene el índice de cuantificación diferencial, se puede reconstruir el índice de cuantificación de cada banda como se expresa en la siguiente ecuación (5)
Ecuación
W ) = A/a ¿Jb) W - I X ¿ = 1 ,. ,A W >
El descuantificador 230 de energía puede descuantificarel índice de cuantificación de la energía proporcionada desde el decodificador 220 sin pérdida de energía para reconstruir la energía. En detalle, el descuantificador 230 de energía puede multiplicar el índice de cuantificación de la energía por un tamaño de paso de cuantificación (por ejemplo, el valor escalar uniforme del cuantificador q¡nt) para reconstruir la energía.
El asignador 240 de bits puede realizar la asignación de bits de un número entero o de una unidad de fracción en unidades de una banda de frecuencias utilizando la energía reconstruida proporcionada por el descuantificador 230 de energía. En detalle, los bits por muestra pueden asignarse secuencialmente a partir de una banda donde la energía es grande. Es decir, un bit para cada muestra puede asignarse primero a una banda que tenga la máxima energía, y reduciendo la energía de una banda correspondiente en una determinada unidad, puede cambiarse la prioridad de modo que un bit pueda asignarse a otra banda. Esta operación se realiza repetidamente hasta que se consume el total de bits disponibles para una trama determinada. Un funcionamiento del asignador 240 de bits es sustancialmente el mismo que el asignador 140 de bits del aparato 100 de codificación de audio.
El decodificador 250 sin pérdida de espectro puede realizar una decodificación sin pérdidas en los datos del espectro codificado para obtener un índice de cuantificación del espectro.
El descuantificador 260 de espectro puede descuantificar el índice de cuantificación del espectro proporcionado por el decodificador 250 sin pérdida de espectro utilizando el número de bits de asignación determinado en unidades de una banda, reconstruyendo así un coeficiente de transformación del espectro.
El transformador 250 inverso puede transformar inversamente el coeficiente de la transformada de espectro proporcionado desde el descuantificador 260 de espectro para reconstruir una señal de audio de un dominio de tiempo.
La FIG. 3 es un diagrama de bloques que ilustra una configuración de un aparato 300 de codificación sin pérdida de energía de acuerdo con la invención.
El aparato 300 de codificación sin pérdida de energía de la FIG. 3 incluye un determinador 310 del procedimiento de codificación, un primer codificador 330 sin pérdida y un segundo codificador 350 sin pérdida . Cada uno de los elementos puede estar integrado en uno o más módulos y puede ser implementado con uno o más procesadores (no mostrados). Una entrada de la codificación sin pérdidas comprende un índice de cuantificación diferencial. Aquí se describirá el índice de cuantificación diferencial.
En la FIG. 3, el determinador 310 del procedimiento de codificación determina uno de los procedimientos de codificación primero y segundo como procedimiento de codificación para el índice de cuantificación diferencial. Cuando se selecciona el primer procedimiento de codificación, el determinador 310 del procedimiento de codificación proporciona el índice de cuantificación diferencial al primer codificador 330 sin pérdida, y cuando se selecciona el segundo procedimiento de codificación, el determinador 310 del procedimiento de codificación proporciona el índice de cuantificación diferencial al segundo codificador 350 sin pérdida. Cuando al menos uno de los índices de cuantificación en todas las bandas de una trama no puede ser representado en [-32, 31] ([-46, 17] para un primer índice), el determinador 310 del procedimiento de codificación determina el primer procedimiento de codificación como procedimiento de codificación para un índice de cuantificación. En detalle, el primer procedimiento de codificación puede codificar datos capaces de ser representados por 256 o 512 símbolos más que 64 símbolos, y el segundo procedimiento de codificación puede codificar datos que están limitados a 64 símbolos. Cuando el primer procedimiento de codificación no es necesario, se selecciona un procedimiento de codificación en el que se consume el menor número de bits entre el primer procedimiento de codificación y el segundo procedimiento de codificación. Por ejemplo, un índice de cuantificación para todas las bandas de una trama actual se codifica utilizando una pluralidad de modos del segundo procedimiento de codificación, y uno de los procedimientos de codificación primero y segundo se determina basándose en un resultado de comparación que se obtiene comparando el bit más pequeño utilizado como resultado de la codificación por la pluralidad de modos, y un bit utilizado como resultado de la codificación por el primer procedimiento de codificación. En respuesta a un resultado de determinación del procedimiento de codificación, se genera una información lateral de 1 bit D0 que indica un procedimiento de codificación de un índice de cuantificación diferencial y se añade a un flujo de bits. Cuando se selecciona el segundo procedimiento de codificación como procedimiento de codificación, el determinador 310 del procedimiento de codificación puede dividir un índice de cuantificación diferencial de N bits en un bit superior (un bit n 0) y un bit inferior (un bit N1) para luego ser proporcionado al segundo codificador 350 sin pérdida. Aquí, N0 puede representarse como N-N1, y N1 puede representarse como N-N0. De acuerdo con una realización ejemplar, N puede ser ajustado a 6, N0 puede ser ajustado a 5, y N1 puede ser ajustado a 1.
Cuando el primer procedimiento de codificación (es decir, el procedimiento de codificación de símbolos grandes) es determinado por el determinador 310 del procedimiento de codificación, el primer codificador 330 sin pérdida selecciona uno de entre el modo de pulso y el modo de escala para cuantificar un índice de cuantificación. El modo de pulso es adecuado para un caso en el que no hay un índice de cuantificación que supere el intervalo de [-4, 3]. Por ejemplo, cuando el índice de cuantificación excede el intervalo de [-4, 3], no se utiliza el modo de pulso, y en su lugar se utiliza siempre el modo de escala. Además, cuando un primer índice supera el intervalo de [-64, 63], siempre se utiliza el modo de escala. En el procedimiento de codificación de símbolos grandes, se utiliza el modo de codificación Huffman con base en una tabla de codificación Huffman que tiene ocho símbolos ilustrados en la FIG. 6.
Hay dos indicadores en el modo de pulso. Uno de los dos indicadores es un primer indicador "indlo" que indica si el primer índice se transmite por separado, y el otro es un segundo indicador "indpls" que indica si hay un índice de cuantificación (es decir, un pulso) que supera el intervalo de [-4, 3]. Cuando el primer índice está dentro del intervalo de [-4, 3], el primer indicador se pone a 0, y el primer índice se codifica Huffman junto con otro índice utilizando la tabla de codificación Huffman ilustrada en la FIG. 6. Cuando el primer índice no está dentro del intervalo de [-4, 3], el primer indicador se pone a 1 y se empaqueta utilizando 7 bits después de sumar 64 al primer índice.
Cuando hay un pulso en una trama actual, el segundo indicador se pone a 1, y se transmite una posición de pulso "plspos" y una amplitud de pulso "plsamp" utilizando respectivamente 5 bits y 7 bits. Posteriormente, todos los demás índices se codifican utilizando la tabla de codificación Huffman de la FIG. 6. Un ejemplo de asignación de bits en el modo de pulso es como se ilustra en la FIG. 7. En la FIG. 7, cmdü indica un procedimiento de codificación, cmd1 indica el modo de pulso o el modo de escala, y A Im(0) indica el primer índice.
En el modo de escala, los índices se dividen en tres bits superiores y algunos inferiores, en función del máximo y el mínimo de todos los índices. Los tres bits superiores se codifican utilizando la tabla de codificación Huffman de la FIG.
6, y los bits inferiores están empaquetados. El número de bits inferiores se define como bitsdesplazamiento. El bitdesplazamiento se calcula para que todos los índices de cuantificación encajen en el intervalo de [-4, 3] reduciendo la escala de los índices de cuantificación. Como resultado del escalado, todos los índices de cuantificación se representan con 3 bits.
El segundo codificador 350 sin pérdida divide el índice de cuantificación diferencial en un bit superior y un bit inferior, aplica el modo de codificación Huffman al bit superior y realiza el empaquetamiento de bits en el bit inferior.
La FIG. 4 es un diagrama de bloques que ilustra una configuración detallada de un primer codificador sin pérdidas de la FIG. 3.
Un primer codificador 400 sin pérdida de la FIG. 4 puede incluir un codificador 410 de modo de pulso y un codificador 430 de modo de escala .
Con referencia a la FIG. 4, cuando algunos datos de un índice de cuantificación diferencial de entrada no están dentro de un intervalo de representación finito, el codificador 410 de modo de pulso puede ser utilizado eficientemente. Es decir, el codificador 410 de modo de pulso puede codificar por separado algunos datos (es decir, un pulso), y puede codificar los otros datos utilizando el modo de codificación Huffman.
En detalle, en el modo de pulso, la información sobre si un primer índice de cuantificación se transmite por separado, el primer índice de cuantificación A Im(0) cuando se determina que el primer índice de cuantificación se transmite por separado, puede transmitirse información sobre la existencia de un pulso, e información sobre una posición y una amplitud del pulso cuando el pulso existe como información lateral. Otros índices de cuantificación que no se transmiten de esta manera pueden ser transmitidos con base en un procedimiento de codificación Huffman.
Cuando un vector de índice de cuantificación diferencial tiene una pluralidad de valores grandes, el codificador 430 de modo de escala puede ser utilizado eficientemente. Es decir, el codificador 430 de modo de escala puede reducir un valor de todos los vectores a un intervalo en el que todos los vectores son capaces de ser representados por el modo de codificación Huffman, para ser asignados a un bit superior, y configurar un bit inferior con base en al menos un bit que son eliminados por una operación de reducción. En detalle, en el modo de escala, todos los valores de un vector de índice de cuantificación diferencial de entrada pueden ser escalados para reducir los valores a un intervalo que sea transmisible por el procedimiento de codificación Huffman, y el número de bits desplazados a la derecha puede ser transmitido como información de escala. Además, al menos un bit inferior (por ejemplo, un bit menos significativo), que se elimina en una operación de escalado, puede transmitirse a través del empaquetado de bits, y los valores que se reducen a través de la operación de escalado pueden transmitirse con base en el procedimiento de codificación Huffman.
La FIG. 8 es un diagrama de bloques que ilustra una configuración detallada de un segundo codificador sin pérdidas de la FIG. 6.
Un segundo codificador 800 sin pérdida de la FIG. 8 puede incluir un codificador 810 de bits superiores y un codificador 830 de bits inferior .
Con referencia a la FIG. 8, el codificador 810 de bits superiores puede codificar un bit superior de un índice de cuantificación diferencial, y el codificador 830 de bits inferior puede empaquetar un bit inferior del índice de cuantificación diferencial.
Aquí, el índice de cuantificación diferencial puede ajustarse para tener un valor positivo añadiendo 46 a una primera banda y añadiendo 32 a otras bandas antes de que el índice de cuantificación diferencial se divida en el bit superior y el bit inferior. En detalle, el índice de cuantificación diferencial obtenido mediante la Ecuación (4) puede limitarse a un intervalo de [0, 63] añadiendo la primera banda a un desplazamiento de 46 y añadiendo las otras bandas a un desplazamiento de 32. Cuando un índice de cuantificación diferencial restringido excede el intervalo de [0, 63] en un caso en el que una trama actual no es una trama transitoria, y el índice de cuantificación diferencial restringido excede el intervalo de [0, 31] en un caso en el que la trama actual es la trama transitoria, se puede utilizar el procedimiento de codificación de símbolos grandes.
En detalle, el codificador 810 de bits superiores puede configurar 2N0 símbolos para el bit superior expresado por un bit N0, y puede realizar la codificación utilizando un modo, en el que se consume un menor número de bits, entre una pluralidad de modos de codificación Huffman. El codificador 810 de bits superiores puede tener, por ejemplo, dos tipos de modos de codificación Huffman. En este caso, la información lateral de 1 bit D1 que indica un modo de codificación del bit superior puede añadirse en un flujo de bits junto con la información lateral de 1 bit D0 que indica un procedimiento de codificación.
El codificador 830 de bits inferiores puede realizar la codificación aplicando un procedimiento de empaquetamiento de
bits al bit inferior expresado por un bit N1. Cuando una trama está configurada con Nb número de bandas, el bit inferior puede codificarse utilizando un total de N1 *Nb bits.
La FIG. 9 es un diagrama de bloques que ilustra una configuración detallada de un codificador de bits superiores de la FIG. 6.
Un codificador 900 de bits superiores de la FIG. 9 puede incluir un primer codificador 910 de modo Huffman y un segundo codificador 930 de modo Huffman .
Con referencia a la FIG. 9, el primer codificador 910 de modo Huffman puede codificar un bit superior de un índice de cuantificación diferencial, con base en el modo de codificación Huffman con base en el contexto. El segundo codificador 930 de modo Huffman puede codificar el bit superior del índice de cuantificación diferencial, con base en el modo de codificación Huffman redimensionado.
El primer codificador 910 de modo Huffman puede dividir un intervalo de un índice de cuantificación diferencial de una banda precedente, que se utiliza como contexto, en una pluralidad de grupos y realizar la codificación Huffman en un índice de cuantificación diferencial de una banda actual, con base en una tabla de codificación Huffman que está predeterminada para cada una de la pluralidad de grupos. En este caso, la tabla de codificación Huffman puede generarse, por ejemplo, mediante un procedimiento de entrenamiento utilizando una base de datos de gran tamaño. En detalle, los datos pueden ser recogidos con base en una determinada referencia, y la tabla de codificación Huffman puede ser generada con base en los datos recogidos. De acuerdo con una realización ejemplar, los datos sobre un número de frecuencia de un índice de cuantificación diferencial de una banda actual pueden recogerse con base en un intervalo de un índice de cuantificación diferencial de una banda precedente, y la tabla de codificación Huffman puede generarse para cada grupo.
Pueden seleccionarse diversos modelos de distribución utilizando un resultado de análisis de una distribución de probabilidad de un índice de cuantificación diferencial de una banda actual que se obtiene utilizando un índice de cuantificación diferencial de una banda precedente como contexto, y así, pueden agruparse niveles de cuantificación que tengan modelos de distribución similares. Un parámetro de cada uno de los índices de grupo "0" a "2" se muestra en la FIG. 6.
Refiriéndose a una distribución de probabilidad de cada grupo, puede verse que las distribuciones de probabilidad de los índices de grupo "0" y "2" son similares y son sustancialmente inversas en torno a un eje X. Esto denota que el mismo modelo de probabilidad puede aplicarse a dos índices de grupo "0" y "2" sin que se pierda la eficacia de la codificación. Es decir, el índice de grupo "0" puede utilizar la misma tabla de codificación Huffman que la del índice de grupo "2". Se puede utilizar una tabla de codificación Huffman "1" (es decir, un modelo de probabilidad "1") para el índice de grupo "1" y una tabla de codificación Huffman "0" (es decir, un modelo de probabilidad "0") compartida por los índices de grupo "0" y "2". En este caso, un índice de un código para el índice de grupo "0" se representa por el contrario al índice de grupo "2". Es decir, cuando una tabla de codificación Huffman para un índice de cuantificación diferencial de una banda actual se determina como índice de grupo "0" por un índice de cuantificación diferencial de una banda precedente que es un contexto, un índice de cuantificación diferencial "d(i)" de la banda actual puede cambiarse a un valor de una operación de inversión (es decir, d'(i)=A-d(i)) en un extremo de codificación, y la codificación Huffman puede realizarse con referencia a una tabla de codificación Huffman del índice de grupo "2". En un extremo de decodificación, se realiza la decodificación Huffman con referencia a la tabla de decodificación Huffman del índice de grupo "2", y luego se extrae finalmente un valor d(i) mediante una operación de conversión de d(i)=A-d'(i). En este caso, se puede establecer un valor A que permita que las distribuciones de probabilidad de los índices de grupo "0" y "2" sean simétricas. El valor A puede no ser extraído a través de una operación de codificación y decodificación, sino que puede ser fijado previamente como un valor óptimo. Se puede utilizar la tabla de codificación Huffman del índice de grupo "0" en lugar de la tabla de codificación Huffman del índice de grupo "2", y se puede cambiar un índice de cuantificación diferencial en el índice de grupo "2". De acuerdo con una realización ejemplar, cuando d(i) tiene un valor de un intervalo de [0, 31], el valor A puede utilizar 31.
Para proporcionar una descripción más detallada del modo de codificación Huffman con base en el contexto, pueden utilizarse dos tipos de tablas de codificación Huffman determinadas por una distribución de probabilidad de los índices de cuantificación diferencial de tres grupos. Aquí, en la codificación Huffman de un índice de cuantificación diferencial "d(i)" de una banda actual, se describirá como ejemplo un caso en el que se utiliza un índice de cuantificación diferencial "d(i-1)" de una banda precedente como contexto y la tabla de codificación Huffman "1" para el índice de grupo "1" y la tabla de codificación Huffman "0" para el índice de grupo "2".
En primer lugar, se determina si el índice de cuantificación diferencial "d(i-1)" de la banda anterior está incluido en el índice de grupo "1". Cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente está incluido en el índice de grupo "1", se selecciona un código para el índice de cuantificación diferencial "d(i)" de la banda actual de la tabla de codificación Huffman "1". Cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente no está incluido en el índice de grupo "1", se determina si el índice de cuantificación diferencial "d(i-1)" de la banda precedente está incluido en el índice de grupo "0".
Cuando el índice de cuantificación diferencial "d(¡-1)" de la banda precedente no está incluido en el índice de grupo "0", es decir, cuando el índice de cuantificación diferencial "d(-1)" de la banda precedente está incluido en el índice de grupo "2", el código para el índice de cuantificación diferencial "d(i)" de la banda actual se selecciona de la tabla de codificación Huffman "0". Cuando el índice de cuantificación diferencial "d(-1)" de la banda precedente está incluido en el índice de grupo "0", se realiza un procesamiento inverso para el índice de cuantificación diferencial "d(i)" de la banda actual, y se selecciona un código para un índice de cuantificación diferencial "d'(i)" de la banda actual procesado inversamente a partir de la tabla de codificación Huffman "0".
La codificación Huffman se realiza para el índice de cuantificación diferencial "d(i)" de la banda actual utilizando cada uno de los códigos seleccionados.
El segundo codificador 930 de modo Huffman puede realizar la codificación Huffman sin un contexto, y configurar una tabla de codificación Huffman con un número menor de símbolos que una tabla de codificación Huffman general. El segundo codificador del modo Huffman 930 puede obtener un nuevo índice de cuantificación diferencial 'AI'M(b)" reduciendo un intervalo de un índice de cuantificación diferencial mientras se permite reconstruir perfectamente el índice de cuantificación diferencial. Un intervalo de un índice de cuantificación diferencial de una banda actual puede modificarse con base en un índice de cuantificación diferencial de una banda precedente y de un valor umbral. Un intervalo del nuevo índice de cuantificación diferencial "AI'M(b)" para la codificación Huffman puede obtenerse como Intervalo = [IntervaloMín, IntervaloMáx] = [Mín(AI'M(b)), Máx(AI'M(b))], (donde b es 1, ..., Nbandas-1).
Con base en el intervalo obtenido de esta manera, se puede calcular una diferencia de intervalo "IntervaloDif" como se expresa en la siguiente Ecuación (6).
Ecuación (6)
Intervalon j = A/ó.y(1 5- Intervalo\n„. Intervalo.u d x " 15)
La codificación Huffman redimensionada realizada por el segundo codificador 930 de modo Huffman puede ser utilizada para un nuevo índice de cuantificación diferencial cuando la diferencia de intervalo "Intervalctiif" es igual o menor que un cierto valor, por ejemplo, 11. Cuando la diferencia de intervalo "IntervaloDif" es mayor que el valor determinado, la codificación Huffman redimensionada no puede ser utilizada.
La FIG. 11 es un diagrama de flujo para describir un procedimiento de cálculo de bits para determinar un procedimiento de codificación y un modo de codificación sin pérdidas, y la operación puede realizarse en unidades de una trama. En resumen, se calculan los bits óptimos de un procedimiento de codificación "0" (es decir, el procedimiento de codificación de símbolos grandes) y de un procedimiento de codificación "1" (es decir, el procedimiento de codificación de símbolos pequeños), y se determina el procedimiento de codificación que tiene un valor menor.
En la FIG. 11, se describirá primero el procedimiento de codificación "0" (es decir, el procedimiento de codificación de símbolos grandes).
En la operación 1511, el aparato 300 de codificación de energía sin pérdidadetermina si se puede realizar el modo de pulso. Cuando se puede realizar el modo de pulso, el aparato 300 de codificación de energía sin pérdida realiza el modo de pulso para calcular un bit usado "ebit0" en la operación 1153. Cuando no se puede realizar el modo de pulso, el aparato 300 de codificación de energía sin pérdida realiza el modo de escala para calcular un bit usado "ebit1" en la operación 1155. En la operación 1157, se asigna como ebit un valor menor entre el bit usado "ebit0" y el bit usado "ebit1", y se determina un modo de codificación correspondiente al valor menor como modo de codificación del procedimiento de codificación "0".
A continuación, se describirá el procedimiento de codificación "1" (es decir, el procedimiento de codificación de símbolos pequeños).
En la operación 1110, el aparato 300 de codificación de energía sin pérdida determina si el procedimiento de codificación "1" puede ser realizado, y cuando un índice de cuantificación diferencial está configurado como una entrada en la que el procedimiento de codificación "1" puede ser realizado, el aparato 300 de codificación de energía sin pérdida calcula un bit necesario. Por ejemplo, el aparato 300 de codificación de energía sin pérdida determina si el índice de cuantificación diferencial puede ser expresado por N=6 (N0=5, N1=1) bits, y cuando el índice de cuantificación diferencial no puede ser expresado por 6 bits, el aparato 300 de codificación de energía sin pérdida determina un procedimiento de codificación como el procedimiento de codificación de símbolos grandes y calcula un bit utilizado en la operación 1171. El aparato 300 de codificación de energía sin pérdida pone un bit del procedimiento de codificación a 0, y luego incorpora la información correspondiente a ebit, en un lujo de bits. Cuando el índice de cuantificación diferencial puede expresarse en 6 bits, el aparato 300 de codificación de energía sin pérdida realiza un modo de codificación Huffman "0" para calcular un bit usado "hbit0" en la operación 1131, y realiza un modo de codificación Huffman "1" para calcular un bit usado "hbit1" en la operación 1133. En la operación 1135, un valor menor
entre el bit usado "hbitO" y el bit usado "hbitl" se asigna como hbit, y un modo de codificación correspondiente al valor menor se determina como un modo de codificación del procedimiento de codificación "1". En este caso, cuando un bit 1 que indica un modo de codificación en el cálculo de hbit y un bit "Nb" utilizado para codificar un bit inferior son 20, se pueden considerar además 20 bits.
En la operación 1173, se determina un procedimiento de codificación que utiliza un bit más pequeño entre hbit que se calcula en la operación 1135 y ebit que se calcula en la operación 1157, y se establece un bit de procedimiento de codificación correspondiente al procedimiento de codificación determinado.
La FIG. 12 es un diagrama de bloques que ilustra una configuración de un aparato 1200 de decodificación sin pérdida de energía de acuerdo con una realización ejemplar.
El aparato 1200 de decodificación sin pérdida de energía de la FIG. 12 puede incluir un determinador 1210 del procedimiento de decodificación, un primer decodificador 1230 sin pérdida y un segundo decodificador 1250 sin pérdida. Cada uno de los elementos puede estar integrado en uno o más módulos y puede ser implementado con uno o más procesadores (no mostrados).
En la FIG. 12, el determinador 1210 del procedimiento de decodificación puede analizar un flujo de bits para obtener información sobre un procedimiento de codificación y un modo de codificación a partir de información lateral. Es decir, el determinador 120 del procedimiento de decodificación puede determinar uno de los procedimientos de decodificación de símbolos grandes y un procedimiento de decodificación de símbolos pequeños utilizando un bit de bandera asociado a un procedimiento de codificación. Por ejemplo, cuando se determina el procedimiento de decodificación de símbolos grandes, se puede proporcionar un índice de cuantificación diferencial transmitido al primer decodificador 1230 sin pérdida, y cuando se determina el procedimiento de decodificación de símbolos pequeños, se puede proporcionar el índice de cuantificación diferencial transmitido al segundo decodificador 1250 sin pérdida.
El primer decodificador 1230 sin pérdida puede decodificar un índice de cuantificación diferencial proporcionado desde el determinador 1210 del procedimiento de decodificación, con base en el procedimiento de decodificación de símbolos grandes. El procesamiento inverso del modo de pulso o del modo de escala en la codificación sin pérdida puede utilizarse para la decodificación sin pérdidas con base en el procedimiento de los símbolos grandes.
El segundo decodificador 1250 sin pérdida puede decodificar el índice de cuantificación diferencial proporcionado desde el determinador 1210 del procedimiento de decodificación, con base en el procedimiento de decodificación de símbolos pequeños. Para ello, la decodificación sin pérdida puede realizarse por separado para cada uno de los bits superiores y los bits inferiores del índice de cuantificación diferencial.
La FIG. 13 es un diagrama de bloques que ilustra una configuración detallada de un primer decodificador sin pérdidas de la FIG. 6.
Un primer decodificador 1300 sin pérdida de la FIG. 13 puede incluir un decodificador 1310 de modo de pulso y un decodificador 1330 de modo de escala.
Con referencia a la FIG. 13, cuando el modo de pulso se determina a partir de un bit de bandera asociado a un modo de codificación incluido en un flujo de bits, el decodificador 1310 de modo de pulso puede decodificar un índice de cuantificación diferencial y realizar una operación inversa del codificador 410 de modo de pulso de la FIG. 6.
Cuando el modo de escala se determina a partir del bit de bandera asociado con el modo de codificación incluido en el flujo de bits, el decodificador 1330 de modo de escala puede decodificar un índice de cuantificación diferencial y realizar una operación inversa del codificador 430 de modo de escala de la FIG. 6.
La FIG. 14 es un diagrama de bloques que ilustra una configuración detallada de un segundo decodificador sin pérdidas de la FIG.6.
Un segundo decodificador 1400 sin pérdida de la FIG. 14 puede incluir un decodificador 1410 de bits superiores y un decodificador 1430 de bits inferiores .
Con referencia a la Figura 214, el decodificador 1410 de bits superiores puede decodificar los bits superiores de un índice de cuantificación diferencial, y el decodificador 1430 de bits inferiores puede desempaquetar los bits inferiores del índice de cuantificación diferencial para obtener un bit inferior reconstruido.
La FIG. 15 es un diagrama de bloques que ilustra una configuración detallada de un decodificador de bit superior de la FIG. 6.
Un codificador 1500 de bits superiores de la FIG. 15 puede incluir un primer decodificador 1510 de modo Huffman y un segundo decodificador 1530 de modo Huffman .
Con referencia a la FIG. 15, el primer decodificador 1510 de modo Huffman puede decodificar un bit superior de un índice de cuantificación diferencial, con base en la decodificación Huffman con base en el contexto. El segundo decodificador 1530 de modo Huffman puede decodificar el bit superior del índice de cuantificación diferencial, con base en la decodificación Huffman redimensionada.
En detalle, cuando un bit de bandera asociado a un procedimiento de codificación incluido en un flujo de bits indica un procedimiento de codificación pequeño, el bit de bandera asociado al modo de codificación puede ser extraído. El modo de codificación puede ser uno de los modos de codificación Huffman con base en el contexto y el modo de codificación Huffman redimensionado.
De manera similar al primer codificador 910 de modo Huffman de la FIG. 9, el primer decodificador 1510 de modo Huffman puede utilizar dos tipos de tablas de decodificación Huffman determinadas por una distribución de probabilidad de los índices de cuantificación diferencial de tres grupos. Aquí, en la decodificación Huffman de un índice de cuantificación diferencial "d(i)" de una banda actual, se describirá como ejemplo un caso en el que se utiliza un índice de cuantificación diferencial "d(i-1)" de una banda precedente como contexto y una tabla de decodificación Huffman "1" para un índice de grupo "1" y una tabla de decodificación Huffman "0" para un índice de grupo "2".
En primer lugar, se determina si el índice de cuantificación diferencial "d(i-1)" de la banda anterior está incluido en el índice de grupo "1". Cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente está incluido en el índice de grupo "1", se selecciona un código para el índice de cuantificación diferencial "d(i)" de la banda actual de la tabla de decodificación Huffman "1". Cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente no está incluido en el índice de grupo "1", se determina si el índice de cuantificación diferencial "d(i-1)" de la banda precedente está incluido en el índice de grupo "0".
Cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente no está incluido en el índice de grupo "0", es decir, cuando el índice de cuantificación diferencial "d(i-1)" de la banda precedente está incluido en el índice de grupo "2", el código del índice de cuantificación diferencial "d(i)" de la banda actual se selecciona de la tabla de decodificación Huffman "0". Cuando el índice de cuantificación diferencial "d(i-1)" de la banda anterior está incluido en el índice de grupo "0", se realiza un procesamiento inverso para el índice de cuantificación diferencial "d(i)" de la banda actual, y se selecciona un código para un índice de cuantificación diferencial "d'(i)" de la banda actual procesado inversamente a partir de la tabla de decodificación Huffman "0".
La decodificación Huffman se realiza para el índice de cuantificación diferencial "d(i)" de la banda actual utilizando cada uno de los códigos seleccionados.
De manera similar al segundo codificador 930 de modo Huffman de la FIG. 9, el segundo decodificador 1530 de modo Huffman puede realizar la decodificación Huffman en un índice de cuantificación diferencial en diferentes procedimientos de acuerdo con si una trama actual es una trama transitoria.
La FIG. 16 es un diagrama para describir un índice de cuantificación de energía codificado por un primer procedimiento de codificación, es decir, un procedimiento de codificación de símbolos pequeños. Se ilustra como ejemplo un caso en el que N es 6 y N1 es 1. Con referencia a la FIG. 16, los 5 bits superiores pueden usar un modo de codificación Huffman, y el 1 bit inferior puede usarse para simplemente empaquetar bits.
La FIG. 17 es un diagrama de bloques de un dispositivo multimedia que incluye un módulo de codificación, de acuerdo con un ejemplo de realización.
Con referencia a la FIG. 17, el dispositivo 1700 multimedia puede incluir una unidad 1710 de comunicación y el módulo 1730 de codificación. Además, el dispositivo 1700 multimedia puede incluir además una unidad 1750 de almacenamiento para almacenar un flujo de bits de audio obtenido como resultado de la codificación de acuerdo con el uso del flujo de bits de audio. Además, el dispositivo 1700 multimedia puede incluir un micrófono 1770. Es decir, la unidad 1750 de almacenamiento y el micrófono 1770 pueden incluirse opcionalmente. El dispositivo 1700 multimedia puede incluir además un módulo de decodificación arbitrario (no mostrado), por ejemplo, un módulo de decodificación para realizar una función de decodificación general o un módulo de decodificación de acuerdo con una realización ejemplar. El módulo 1730 de codificación puede ser implementado por al menos un procesador (no mostrado) integrándose con otros componentes (no mostrados) incluidos en el dispositivo 1700 multimedia como un cuerpo.
La unidad 1710 de comunicación puede recibir al menos una de las señales de audio o un flujo de bits codificado proporcionado desde el exterior o puede transmitir al menos una de las señales de audio reconstruidas o un flujo de bits codificado obtenido como resultado de la codificación en el módulo 1730 de codificación.
La unidad 1710 de comunicación está configurada para transmitir y recibir datos hacia y desde un dispositivo multimedia externo a través de una red inalámbrica, tal como Internet inalámbrico, intranet inalámbrico, una red telefónica inalámbrica, una red de área local inalámbrica (LAN), Wi-Fi, Wi-Fi Direct tercera generación (3G), cuarta generación (4G), Bluetooth, Asociación de Datos por Infrarrojos (IrDA), Identificación por Radiofrecuencia (RFID),
Banda Ultra Ancha (UWB), Zigbee, o Comunicación de Campo Cercano (NFC), o una red cableada, tal como una red telefónica por cable o Internet por cable.
De acuerdo con una realización ejemplar, el módulo 1730 de codificación puede transformar una señal de audio de un dominio de tiempo proporcionada desde la unidad 1710 de comunicación o el micrófono 1770 en un espectro de audio de un dominio de frecuencia. El módulo 1730 de codificación puede determinar un procedimiento de codificación de un índice de cuantificación de energía como uno de los procedimientos de codificación de símbolos grandes y un procedimiento de codificación de símbolos pequeños, y codificar el índice de cuantificación de energía con base en el procedimiento de codificación determinado. En detalle, al determinar el procedimiento de codificación, cuando se aplica la codificación diferencial, el módulo 1730 de codificación puede determinar uno de los procedimientos de codificación de símbolos grandes y un procedimiento de codificación de símbolos pequeños de acuerdo con si los índices de cuantificación diferencial de todas las bandas incluidas en una trama actual están representados por bits predeterminados. Aunque los índices de cuantificación diferencial de todas las bandas incluidas en una trama actual pueden estar representados por los bits predeterminados, puede compararse un resultado de la codificación del índice de cuantificación diferencial mediante el procedimiento de codificación de símbolos grandes y un resultado de la codificación del índice de cuantificación diferencial mediante el procedimiento de codificación de símbolos pequeños y, a continuación, puede elegirse un procedimiento de codificación correspondiente a un menor consumo de bits. El procedimiento de codificación de símbolos grandes puede incluir un modo de pulso y un modo de escala. En el procedimiento de codificación de símbolos pequeños, el índice de cuantificación diferencial puede dividirse en un bit superior y un bit inferior que se codifican por separado. El bit superior puede ser codificado por una pluralidad de modos de codificación Huffman y el bit inferior puede ser codificado por empaquetamiento de bits. El procedimiento de codificación y el modo de codificación determinado para el índice de cuantificación diferencial pueden generarse como información lateral.
La unidad 1750 de almacenamiento puede almacenar el flujo de bits codificado generado por el módulo 1730 de codificación. Además, la unidad 1750 de almacenamiento puede almacenar diversos programas necesarios para el funcionamiento del dispositivo 1700 multimedia.
El micrófono 1770 puede proporcionar una señal de audio desde un usuario o desde el exterior al módulo 1730 de codificación. La FIG. 18 es un diagrama de bloques de un dispositivo multimedia que incluye un módulo de decodificación, de acuerdo con un ejemplo de realización.
Con referencia a la FIG. 18, el dispositivo 1800 multimedia puede incluir una unidad 1810 de comunicación y un módulo 1830 de decodificación. Además, de acuerdo con el uso de una señal de audio reconstruida obtenida como resultado de la decodificación, el dispositivo 1800 multimedia puede incluir además una unidad 1850 de almacenamiento para almacenar la señal de audio reconstruida. Además, el dispositivo 1800 multimedia puede incluir además un altavoz 1870. Es decir, la unidad 1850 de almacenamiento y el altavoz 1870 pueden incluirse opcionalmente. El dispositivo 1800 multimedia puede incluir además un módulo de codificación (no mostrado), por ejemplo, un módulo de codificación para realizar una función de codificación general o un módulo de codificación de acuerdo con una realización ejemplar. El módulo 1830 de decodificación puede ser implementado por al menos un procesador (no mostrado) integrándose con otros componentes (no mostrados) incluidos en el dispositivo 1800 multimedia como un cuerpo.
La unidad 1810 de comunicación puede recibir al menos una de las señales de audio o un flujo de bits codificado proporcionado desde el exterior o puede transmitir al menos una de las señales de audio reconstruidas obtenidas como resultado de la decodificación en el módulo 1830 de decodificación o un flujo de bits de audio obtenido como resultado de la codificación. La unidad 1810 de comunicación puede implementarse sustancialmente y de manera similar a la unidad 1710 de comunicación de la FIG. 17.
De acuerdo con una realización ejemplar, el módulo 1980 de decodificación puede recibir un flujo de bits proporcionado a través de la unidad 1810 de comunicación y determinar un procedimiento de codificación y un modo de codificación del índice de cuantificación diferencial con base en la información lateral incluida en un flujo de bits. El módulo 1980 de decodificación puede decodificar el índice de cuantificación diferencial con base en el procedimiento de codificación y el modo de codificación determinados. El procedimiento de decodificación de símbolos grandes puede incluir un modo de pulso y un modo de escala. En el procedimiento de decodificación de símbolos pequeños, el índice de cuantificación diferencial puede dividirse en un bit superior y un bit inferior que se decodifican por separado. El bit superior puede ser decodificado por una pluralidad de modos de decodificación Huffman y el bit inferior puede ser decodificado por desempaquetamiento de bits.
La unidad 1850 de almacenamiento puede almacenar la señal de audio reconstruida generada por el módulo 1830 de decodificación. Además, la unidad 1750 de almacenamiento puede almacenar diversos programas necesarios para el funcionamiento del dispositivo 1700 multimedia.
El altavoz 1870 puede emitir al exterior la señal de audio reconstruida generada por el módulo 1830 de decodificación.
La FIG. 19 es un diagrama de bloques de un dispositivo multimedia que incluye un módulo de codificación y un módulo
de decodificación, de acuerdo con una realización ejemplar.
Con referencia a la Figura 19, el dispositivo 1900 multimedia puede incluir una unidad 1910 de comunicación, un módulo 1920 de codificación y un módulo 1930 de decodificación. Además, el dispositivo 1900 multimedia puede incluir además una unidad 1940 de almacenamiento para almacenar un flujo de bits de audio obtenido como resultado de la codificación o una señal de audio reconstruida obtenida como resultado de la decodificación de acuerdo con el uso del flujo de bits de audio o la señal de audio reconstruida. Además, el dispositivo 1900 multimedia puede incluir además un micrófono 1950 y/o un altavoz 1960. El módulo 1920 de codificación y el módulo 1930 de decodificación pueden ser implementados por al menos un procesador (no mostrado) integrándose con otros componentes (no mostrados) incluidos en el dispositivo 1900 multimedia como un solo cuerpo.
Dado que los componentes del dispositivo 1900 multimedia que se muestra en la FIG. 19 corresponden a los componentes del dispositivo 1700 multimedia mostrado en la FIG. 17 o los componentes del dispositivo 1800 multimedia mostrado en la FIG. 18, se omite una descripción detallada de la misma.
Cada uno de los dispositivos 1700, 1800 y 1900 multimedia mostrados en las FIGS. 17, 18 y 19 pueden incluir un terminal dedicado a la comunicación de voz, tal como un teléfono o un teléfono móvil, un dispositivo dedicado a la radiodifusión o a la música, tal como un televisor o un reproductor de MP3, o un dispositivo terminal híbrido de un terminal dedicado a la comunicación de voz y un dispositivo dedicado a la radiodifusión o a la música, pero no se limitan a ello. Además, cada uno de los dispositivos 1700, 1800 y 1900 multimedia puede ser utilizado como un cliente, un servidor o un transductor desplazado entre un cliente y un servidor.
Cuando el dispositivo 1700, 1800 o 1900 multimedia es, por ejemplo, un teléfono móvil, aunque no se muestra, el dispositivo 1700, 1800 o 1900 multimedia puede incluir además una unidad de entrada del usuario, tal como un teclado, una unidad de visualización para mostrar información procesada por una interfaz de usuario o el teléfono móvil, y un procesador para controlar las funciones del teléfono móvil. Además, el teléfono móvil puede incluir una unidad de cámara con función de captación de imágenes y al menos un componente para realizar una función necesaria para el teléfono móvil.
Cuando el dispositivo 1700, 1800 o 1900 multimedia es, por ejemplo, un televisor, aunque no se muestra, el dispositivo 1700, 1800 o 1900 multimedia puede incluir además una unidad de entrada del usuario, tal como un teclado, una unidad de visualización para mostrar la información de emisión recibida y un procesador para controlar todas las funciones del televisor. Además, el televisor puede incluir al menos un componente para realizar una función del televisor.
Las realizaciones ejemplares descritas anteriormente pueden escribirse como programas ejecutables por ordenador y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas utilizando un medio de grabación no transitorio legible por ordenador. Además, las estructuras de datos, las instrucciones de programa o los archivos de datos, que pueden utilizarse en las realizaciones, pueden grabarse en un medio de grabación no transitorio legible por ordenador de diversas maneras. El medio de registro no transitorio legible por ordenador es cualquier dispositivo de almacenamiento de datos que puede almacenar datos que luego pueden ser leídos por un sistema informático. Entre los ejemplos del medio de grabación no transitorio legible por ordenador se incluyen los medios de almacenamiento magnético, tal como los discos duros, los disquetes y las cintas magnéticas, los medios de grabación óptica, tal como los CD-ROM y los DVD, los medios magneto-ópticos, tal como los discos ópticos, y los dispositivos de hardware, tal como ROM, RAM y la memoria flash, especialmente configurados para almacenar y ejecutar instrucciones de programa. Además, el medio de grabación no transitorio legible por ordenador puede ser un medio de transmisión para transmitir la señal que designa las instrucciones del programa, las estructuras de datos o similares. Los ejemplos de las instrucciones del programa pueden incluir no solo códigos de lenguaje mecánico creados por un compilador sino también códigos de lenguaje de alto nivel ejecutables por un ordenador usando un intérprete o similares.
Si bien las realizaciones ejemplares se han mostrado y descrito en particular, los expertos en la técnica entenderán que se pueden realizar diversos cambios en la forma y los detalles sin apartarse del alcance del concepto inventivo definido por las reivindicaciones adjuntas. Debe entenderse que las realizaciones ejemplares descritas en el mismo deben considerarse en un sentido descriptivo solamente y no con fines de limitación. Las descripciones de características o aspectos dentro de cada realización ejemplar deben considerarse típicamente como disponibles para otras características o aspectos similares en otras realizaciones ejemplares.
Claims (1)
1. Un procedimiento de codificación sin pérdidas que comprende:
obtener una energía, en unidades de una banda, a partir de los coeficientes de transformación de una señal de audio;
seleccionar uno de los primeros procedimientos de codificación y un segundo procedimiento de codificación para un índice de cuantificación diferencial de la energía, incluyendo el primer procedimiento de codificación un modo de pulso y un modo de escala utilizando la codificación Huffman con base en una tabla de codificación Huffman que tiene ocho símbolos:
codificar el índice de cuantificación diferencial utilizando el procedimiento de codificación seleccionado; y generar una información lateral de un bit que indique el procedimiento de codificación seleccionado, y generar un flujo de bits que incluya la información lateral de un bit,
donde la selección comprende:
seleccionar el primer procedimiento de codificación cuando al menos un índice de cuantificación diferencial de las bandas, excepto un primer índice de cuantificación diferencial incluido en una trama actual no está representado en [-32, 31] o cuando el primer índice de cuantificación diferencial no está representado en [-46, 17];
seleccionar un procedimiento de codificación entre el primer procedimiento de codificación y el segundo procedimiento de codificación en el que se utiliza un menor número de bits comparando un bit utilizado más pequeño como resultado de la codificación del índice de cuantificación diferencial por una pluralidad de modos en el segundo procedimiento de codificación y un bit utilizado como resultado de la codificación del índice de cuantificación diferencial por el primer procedimiento de codificación, cuando el primer procedimiento de codificación no es necesario;
seleccionar el modo de pulso cuando ningún índice de cuantificación diferencial supera [-4, 3]; seleccionar el modo de escala cuando el primer índice de cuantificación diferencial supera [-64, 63];
donde la codificación comprende:
generar, en el modo de pulso, un primer indicador (indIü) que indica si el primer índice de cuantificación diferencial se transmite por separado, y un segundo indicador (indpls) que indica si hay un pulso que supera [-4, 3];
cuando el primer indicador tiene un valor de 0, codificación Huffman del primer índice de cuantificación diferencial junto con otro índice de cuantificación diferencial utilizando la tabla de codificación Huffman, donde el primer indicador se pone a 0 cuando el primer índice de cuantificación diferencial está dentro de [-4, 3]
cuando el primer indicador tiene un valor de 1, añadir 64 al primer índice de cuantificación diferencial, y empaquetar el primer índice de cuantificación diferencial al que se añade 64 utilizando 7 bits, donde el primer indicador se pone a 1 cuando el primer índice de cuantificación diferencial no está dentro de [-4, 3]
cuando el segundo indicador tiene un valor de 1, transmitir una posición de pulso (plspos) y una amplitud de pulso (plsamp) utilizando respectivamente 5 bits y 7 bits, y codificación de Huffman otro índice de cuantificación diferencial utilizando la tabla de codificación Huffman; y, donde el segundo indicador se pone a 1 cuando hay el pulso, y se realiza una asignación de bits para el modo de pulso de acuerdo con una tabla de asignación de bits en la que un cmdü indica el procedimiento de codificación seleccionado, un cmd1 indica el modo de pulso o el modo de escala, y un A Im(0) indica la primera división del índice de cuantificación diferencial,
en el modo de escala, los bits que representan el índice de cuantificación diferencial en tres bits superiores y algunos bits inferiores en función de un máximo y un mínimo de los índices de cuantificación
diferencial, codificación de Huffman de los tres bits superiores con base en la tabla de codificación Huffman, y empaquetar los algunos bits inferiores, en los que un número de los bits inferiores se define como un bitdesplazamiento, y el bitdesplazamientos se calcula para que todos los índices de cuantificación diferencial encajen dentro de [-4, 3] reduciendo la escala de los índices de cuantificación diferencial de modo que los índices de cuantificación diferencial estén representados por 3 bits; y
dividir, en el segundo procedimiento de codificación, el índice de cuantificación diferencial en un bit superior y un bit inferior, codificación de Huffman del bit superior y empaquetar el bit inferior.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361877540P | 2013-09-13 | 2013-09-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2934591T3 true ES2934591T3 (es) | 2023-02-23 |
Family
ID=56116151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19212262T Active ES2934591T3 (es) | 2013-09-13 | 2014-09-15 | Procedimiento de codificación sin pérdidas |
Country Status (6)
Country | Link |
---|---|
US (2) | US10699720B2 (es) |
EP (3) | EP3660843B1 (es) |
JP (2) | JP6302071B2 (es) |
CN (2) | CN111179946B (es) |
ES (1) | ES2934591T3 (es) |
PL (1) | PL3660843T3 (es) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2020084476A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block based prediction |
WO2020084473A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Multi- iteration motion vector refinement |
WO2020098643A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Simplification of combined inter-intra prediction |
CN113056914B (zh) | 2018-11-20 | 2024-03-01 | 北京字节跳动网络技术有限公司 | 基于部分位置的差计算 |
WO2020103877A1 (en) * | 2018-11-20 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Coding and decoding of video coding modes |
KR102635518B1 (ko) | 2019-03-06 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 변환된 단예측 후보의 사용 |
KR20230169434A (ko) | 2019-04-02 | 2023-12-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 디코더 측 움직임 벡터 유도 |
US11509897B2 (en) * | 2020-08-07 | 2022-11-22 | Samsung Display Co., Ltd. | Compression with positive reconstruction error |
WO2022201632A1 (ja) * | 2021-03-23 | 2022-09-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、及び、復号方法 |
CN118314908A (zh) * | 2023-01-06 | 2024-07-09 | 华为技术有限公司 | 场景音频解码方法及电子设备 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9509831D0 (en) * | 1995-05-15 | 1995-07-05 | Gerzon Michael A | Lossless coding method for waveform data |
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 |
KR100261254B1 (ko) * | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치 |
KR100335609B1 (ko) * | 1997-11-20 | 2002-10-04 | 삼성전자 주식회사 | 비트율조절이가능한오디오부호화/복호화방법및장치 |
KR100354531B1 (ko) | 1998-05-06 | 2005-12-21 | 삼성전자 주식회사 | 실시간 복호화를 위한 무손실 부호화 및 복호화 시스템 |
CZ300954B6 (cs) * | 1999-01-07 | 2009-09-23 | Koninklijke Philips Electronics N. V. | Zarízení a zpusob pro kódování digitálního informacního signálu, zarízení pro dekódování a nosic záznamu |
KR100908116B1 (ko) * | 2002-12-12 | 2009-07-16 | 삼성전자주식회사 | 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 |
DE102004009955B3 (de) * | 2004-03-01 | 2005-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Ermitteln einer Quantisierer-Schrittweite |
KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
US7630902B2 (en) * | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
JP4822816B2 (ja) * | 2005-11-14 | 2011-11-24 | キヤノン株式会社 | オーディオ信号符号化装置および方法 |
KR100736607B1 (ko) * | 2005-03-31 | 2007-07-09 | 엘지전자 주식회사 | 오디오 부호화 방법 및 장치 |
KR100803205B1 (ko) * | 2005-07-15 | 2008-02-14 | 삼성전자주식회사 | 저비트율 오디오 신호 부호화/복호화 방법 및 장치 |
US20070094035A1 (en) * | 2005-10-21 | 2007-04-26 | Nokia Corporation | Audio coding |
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 |
EP1852849A1 (en) * | 2006-05-05 | 2007-11-07 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream |
EP1883067A1 (en) * | 2006-07-24 | 2008-01-30 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream |
US7756350B2 (en) * | 2006-11-13 | 2010-07-13 | Global Ip Solutions, Inc. | Lossless encoding and decoding of digital data |
KR100903109B1 (ko) | 2006-12-13 | 2009-06-16 | 한국전자통신연구원 | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 |
US8576096B2 (en) * | 2007-10-11 | 2013-11-05 | Motorola Mobility Llc | Apparatus and method for low complexity combinatorial coding of signals |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
CN101188878B (zh) * | 2007-12-05 | 2010-06-02 | 武汉大学 | 立体声音频信号的空间参数量化及熵编码方法和所用系统 |
KR101671005B1 (ko) | 2007-12-27 | 2016-11-01 | 삼성전자주식회사 | 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법및 장치 |
WO2009093714A1 (ja) | 2008-01-24 | 2009-07-30 | Nippon Telegraph And Telephone Corporation | 符号化方法、復号化方法、それらの装置、及びそれらのプログラムと記録媒体 |
CN101826326B (zh) | 2009-03-04 | 2012-04-04 | 华为技术有限公司 | 一种立体声编码方法、装置和编码器 |
CN101615911B (zh) * | 2009-05-12 | 2010-12-08 | 华为技术有限公司 | 一种编解码方法和装置 |
CN101615910B (zh) * | 2009-05-31 | 2010-12-22 | 华为技术有限公司 | 压缩编码的方法、装置和设备以及压缩解码方法 |
CN101937680B (zh) * | 2010-08-27 | 2011-12-21 | 太原理工大学 | 码书分类重排矢量量化方法及其矢量量化器 |
EP3594943B1 (en) * | 2011-04-20 | 2024-02-21 | Panasonic Holdings Corporation | Device and method for execution of huffman coding |
RU2464649C1 (ru) | 2011-06-01 | 2012-10-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ обработки звукового сигнала |
JP6088532B2 (ja) * | 2011-10-21 | 2017-03-01 | サムスン エレクトロニクス カンパニー リミテッド | 無損失符号化方法 |
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 |
ES2934591T3 (es) | 2013-09-13 | 2023-02-23 | Samsung Electronics Co Ltd | Procedimiento de codificación sin pérdidas |
CN105745703B (zh) | 2013-09-16 | 2019-12-10 | 三星电子株式会社 | 信号编码方法和装置以及信号解码方法和装置 |
MY180423A (en) | 2014-07-28 | 2020-11-28 | Samsung Electronics Co Ltd | Signal encoding method and apparatus, and signal decoding method and apparatus |
-
2014
- 2014-09-15 ES ES19212262T patent/ES2934591T3/es active Active
- 2014-09-15 CN CN202010005273.0A patent/CN111179946B/zh active Active
- 2014-09-15 EP EP19212262.0A patent/EP3660843B1/en active Active
- 2014-09-15 EP EP14844584.4A patent/EP3046105B1/en active Active
- 2014-09-15 CN CN201480062275.6A patent/CN105723454B/zh active Active
- 2014-09-15 EP EP22197860.4A patent/EP4134951B1/en active Active
- 2014-09-15 JP JP2016542648A patent/JP6302071B2/ja active Active
- 2014-09-15 PL PL19212262.0T patent/PL3660843T3/pl unknown
-
2018
- 2018-03-01 JP JP2018036831A patent/JP6585753B2/ja active Active
-
2019
- 2019-11-04 US US16/673,237 patent/US10699720B2/en active Active
-
2020
- 2020-05-29 US US16/887,021 patent/US10909992B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3046105A4 (en) | 2017-04-05 |
US20200294514A1 (en) | 2020-09-17 |
EP4134951C0 (en) | 2024-07-24 |
US10909992B2 (en) | 2021-02-02 |
JP6585753B2 (ja) | 2019-10-02 |
EP3046105A1 (en) | 2016-07-20 |
EP4134951A1 (en) | 2023-02-15 |
JP6302071B2 (ja) | 2018-03-28 |
EP3660843B1 (en) | 2022-11-09 |
US20200066285A1 (en) | 2020-02-27 |
JP2018128684A (ja) | 2018-08-16 |
PL3660843T3 (pl) | 2023-01-16 |
EP3046105B1 (en) | 2020-01-15 |
US10699720B2 (en) | 2020-06-30 |
EP4134951B1 (en) | 2024-07-24 |
EP3660843A1 (en) | 2020-06-03 |
CN111179946B (zh) | 2023-10-13 |
CN105723454B (zh) | 2020-01-24 |
JP2016535317A (ja) | 2016-11-10 |
CN111179946A (zh) | 2020-05-19 |
CN105723454A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2934591T3 (es) | Procedimiento de codificación sin pérdidas | |
KR102248253B1 (ko) | 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치 | |
KR102401002B1 (ko) | 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치 | |
KR20220052876A (ko) | 신호 부호화방법 및 장치와 신호 복호화방법 및 장치 |