ES2676832T3 - Determinación de un presupuesto de codificación de una trama de transición LPD/FD - Google Patents
Determinación de un presupuesto de codificación de una trama de transición LPD/FD Download PDFInfo
- Publication number
- ES2676832T3 ES2676832T3 ES15745542.9T ES15745542T ES2676832T3 ES 2676832 T3 ES2676832 T3 ES 2676832T3 ES 15745542 T ES15745542 T ES 15745542T ES 2676832 T3 ES2676832 T3 ES 2676832T3
- Authority
- ES
- Spain
- Prior art keywords
- coding
- frame
- transition
- bits
- predictive
- 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
- 230000007704 transition Effects 0.000 title claims abstract description 212
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000009826 distribution Methods 0.000 claims abstract description 27
- 230000005236 sound signal Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 description 36
- 238000012952 Resampling Methods 0.000 description 20
- 238000003786 synthesis reaction Methods 0.000 description 17
- 230000009466 transformation Effects 0.000 description 17
- 230000015572 biosynthetic process Effects 0.000 description 16
- 230000015654 memory Effects 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 15
- 239000011248 coating agent Substances 0.000 description 15
- 238000000576 coating method Methods 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000005284 excitation Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 101100234408 Danio rerio kif7 gene Proteins 0.000 description 2
- 101100221620 Drosophila melanogaster cos gene Proteins 0.000 description 2
- 101100202924 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) tsp-2 gene Proteins 0.000 description 2
- 101100398237 Xenopus tropicalis kif11 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 102100034799 CCAAT/enhancer-binding protein delta Human genes 0.000 description 1
- 101000945965 Homo sapiens CCAAT/enhancer-binding protein delta Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000003860 storage 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/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/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
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] 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/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/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (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)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Procedimiento de determinación de una distribución de bits de codificación de una trama de transición (321; 322), implementándose dicho procedimiento en un codificador/decodificador (100; 500) para la codificación/decodificación de una señal digital audio, estando la trama de transición antecedida por una trama anterior (320) codificada por predicción, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición, caracterizándose el procedimiento por las siguientes etapas: - atribución (402; 405) de una tasa de bits para la codificación predictiva de la subtrama de transición, siendo dicha tasa de bits igual al mínimo entre la tasa de bits de la codificación por transformada de la trama de transición y un primer valor predeterminado de tasa de bits; - determinación (404; 408) de un primer número de bits asignados para la codificación predictiva de la subtrama de transición para dicha tasa de bits; y - cálculo (410) de un segundo número de bits asignados para la codificación por transformada de la trama de transición a partir del primer número de bits y de un número de bits disponibles para la codificación de la trama de transición.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Determinación de un presupuesto de codificación de una trama de transición LPD/FD
La presente invención se refiere al campo de la codificación/decodificación de las señales digitales.
La invención se aplica ventajosamente a la codificación/decodificación de sonidos que pueden contener palabra y música mezclados o en alternancia.
Para codificar eficazmente los sonidos de palabra de baja tasa, se fomentan las técnicas de tipo CELP (“Code Excited Linear Prediction”). Para codificar eficazmente los sonidos musicales, se fomentan más bien las técnicas de codificación por transformada.
Los codificadores de tipo CELP son codificadores predictivos. Tienen como objetivo modelizar la producción de la palabra a partir de diversos elementos: una predicción lineal a corto plazo para modelizar el conducto vocal, una predicción a largo plazo para modelizar la vibración de las cuerdas vocales en período sonoro, y una excitación derivada de un diccionario fijo (ruido blanco, excitación algébrica) para representar la “innovación” que no se ha podido modelizar.
Los codificadores por transformada como MPEG AAC, AAC-LD, AAC-ELD o ITU-T G.722.1 Anexo C, por ejemplo, usan transformadas con muestreo crítico con el fin de compactar la señal en el campo transformado. Se llama “transformada con muestreo crítico”, una transformada por la que el número de coeficientes en el campo transformado es igual al número de muestras temporales en cada trama analizada.
Una solución para codificar eficazmente una señal de contenido mixto palabra/música consiste en seleccionar en el curso del tiempo la mejor técnica entre al menos dos modos de codificación, uno de tipo CELP, otro de tipo transformada.
Es el caso por ejemplo de los códecs 3GPP AMR-WB+ y MPEG USAC (para "Unified Speech Audio Coding" en inglés). Las aplicaciones contempladas por AMR-WB+ y USAC no son conversacionales, sino que corresponden a servicios de difusión y almacenamiento, sin grandes limitaciones en el retraso algorítmico.
La versión inicial del códec USAC, llamada RM0 (Referencia Model 0), se describe en el artículo de M. Neuendorf et al., A Novel Scheme for Low Bitrate Unified Speech and Audio Coding - MPEG RM0, 7-10 May 2009, 126th AES Convention. Este códec RM0 alterna entre varios modos de codificación:
• Para las señales de tipo palabra: modos LPD (para “Linear Predictive Domain” en inglés) que comprenden dos modos diferentes derivados de la codificación AMR-WB+:
- Un modo ACELP
- Un modo TCX (Transform Coded eXcitation) llamado wLPT (para “weighted Linear Predictive Transform” en inglés) que usa una transformada de tipo MDCT (a diferencia del códec AMR-WB+ que usa una transformada de Fourier rápida, FFT, para “Fast Fourier Transform” en inglés).
• Para las señales de tipo música: modo FD (para “Frequency Domain” en inglés) que usa una codificación por transformada MDCT (para “Modified Discrete Cosine Transform’’ en inglés) de tipo MPEG AAC (para “Advanced Audio Coding” en inglés) sobre 1024 muestras.
En el códec USAC, las transiciones entre modos LPD y FD son cruciales para asegurar una calidad suficiente sin defecto de conmutación, ya que cada modo (ACELP, TCX, FD) tiene una “firma” específica (en términos de artefactos) y que los modos FD y LPD son de naturaleza diferentes - el modo FD se basa en una codificación por transformada en el campo de la señal, mientras que los modos LPD usan una codificación lineal predictiva en el campo perceptualmente ponderado con memorias de filtro que hay que gestionar correctamente. La gestión de las conmutaciones intermodos en el códec USAC RM0 se detalla en el artículo de J. Lecomte et al., “Efficient cross-fade Windows for transitions between LPC-based and non-LPC based audio coding”, 7-10 May 2009, 126th AES Convention. Como se explica en este artículo, la dificultad principal reside en las transiciones entre modos LPD hacia FD y viceversa. Solo se destaca en este caso el caso de las transiciones de ACELP hacia FD.
Para comprender bien el funcionamiento de ello, se recuerda en este caso el principio de la codificación por transformada MDCT a través de un ejemplo típico de realización.
En el codificador la transformación MDCT se recorta generalmente entre tres etapas, estando la señal dividida en tramas de M muestras antes de codificación MDCT:
• Ponderación de la señal por una ventana llamada en este documento “ventana MDCT” de longitud 2M
• Repliegue temporal (o “time-domain aliasing” en inglés) para formar un bloque de longitud M
5
10
15
20
25
30
35
40
45
50
55
60
65
• Transformación DCT (para “Discrete Cosine Transform" en inglés) de longitud M
La ventana MDCT está dividida en 4 porciones adyacentes de longitud iguales M/2, llamadas en este documento “cuartos”.
La señal se multiplica por la ventana de análisis después se efectúan los repliegues: el primer cuarto (con ventana) se repliega (es decir se invierte en el tiempo y se pone en recubrimiento) sobre el segundo cuarto y el cuarto cuarto se repliega sobre el tercero.
Más precisamente, el repliegue temporal de un cuarto sobre otro se efectúa de la manera siguiente: la primera muestra del primer cuarto se suma (o se sustrae) a la última muestra del segundo cuarto, la segunda muestra del primer cuarto se suma (o se sustrae) a la penúltima muestra del segundo cuarto, y así sucesivamente hasta la última muestra del primer cuarto que se suma (o se sustrae) a la primera muestra del segundo cuarto.
Se obtienen por tanto, a partir de 4 cuartos, 2 cuartos replegados en los que cada muestra es el resultado de una combinación lineal de 2 muestras de la señal que hay que codificar. Esta combinación lineal induce un repliegue temporal.
Los 2 cuartos replegados se codifican a continuación conjuntamente después de transformación DCT (de tipo IV). Para la trama siguiente se desplaza una mitad de ventana (o sea un 50 % de recubrimiento), los tercer y cuarto cuartos de la trama anterior se convierten entonces en el primer y segundo cuarto de la trama corriente. Después de repliegue, se envía una segunda combinación lineal de los mismos pares de muestras como en la trama anterior, pero con pesos diferentes.
En el decodificador, después de transformación DCT inversa se obtiene por tanto la versión decodificada de estas señales replegadas. Dos tramas consecutivas contienen el resultado de 2 repliegues diferentes de los mismos cuartos, es decir para cada par de muestras se obtiene el resultado de 2 combinaciones lineales con pesos diferentes pero conocidos: un sistema de ecuación puede resolverse por tanto para obtener la versión decodificada de la señal de entrada, el repliegue temporal puede suprimirse de este modo usando 2 tramas decodificadas consecutivas.
La resolución de los sistemas de ecuaciones mencionadas se hace en general implícitamente por despliegue, multiplicación por una ventana de síntesis sabiamente elegida después suma-recubrimiento de las partes comunes. Esta suma-recubrimiento asegura al mismo tiempo la transición suave (sin discontinuidad debida a los errores de cuantificación) entre 2 tramas decodificadas consecutivas, en efecto esta operación se comporta como un fundido encadenado. Cuando la ventana para el primer cuarto o el cuarto cuarto está a cero para cada muestra, se habla de una transformación MDCT sin repliegue temporal en esta parte de la ventana. En este caso la transición suave no está asegurada por la transformación MDCT, debe hacerse por otros medios como por ejemplo un fundido encadenado exterior.
Cabe señalar que existen variantes de implementación de la transformación MDCT, en particular sobre la definición de la transformada DCT, sobre la manera de replegar temporalmente el bloque que hay que transformar (por ejemplo, se puede invertir las señales aplicadas a los cuartos replegados a la izquierda y a la derecha, o replegar los segundo y tercer cuartos sobre respectivamente los primeros y cuarto cuartos), etc. Estas variantes no cambian el principio del análisis-síntesis MDCT con la reducción del bloque de muestras por ventanaje, repliegue temporal después transformación y por fin ventanaje, repliegue y suma-recubrimiento.
En el caso del codificador USAC RM0 descrito en el artículo de Lecomte et al., la transición entre una trama codificada por una codificación ACELP y una trama codificada por una codificación FD, se efectúa de la manera siguiente:
Una ventana de transición para el modo FD se usa con un recubrimiento a la izquierda de 128 muestras.
El repliegue temporal en esta zona de recubrimiento se anula introduciendo un repliegue temporal “artificial” a la derecha de la trama ACELP reconstruida. La ventana MDCT que sirve a la transición tiene un tamaño de 2304 muestras y la transformación DCT opera sobre 1152 muestras mientras que normalmente las tramas del modo FD se codifican con una ventana de tamaño de 2048 muestras y una transformación DCT de 1024 muestras. De este modo la transformación MDCT del modo FD normal no se puede usar directamente para la ventana de transición, el codificador debe integrar igualmente una versión modificada de esta transformación lo que complica la implementación de la transición para el modo FD.
Esta técnica de codificación del estado de la técnica tiene un retraso algorítmico del orden de 100 a 200 ms. Este retraso es incompatible con aplicaciones conversacionales para las que el retraso de codificación es en general del orden de 20 a 25 ms para los codificadores de palabra para las aplicaciones móviles (ej: GSM EFR, 3GPP AMR y AMR-WB) y del orden de 40 ms para los codificadores por transformada conversacionales para la videoconferencia
5
10
15
20
25
30
35
40
45
50
55
60
65
(por ejemplo UIT-T G.722.1 Anexo C y G.719). Por otro lado, el hecho de aumentar puntualmente el tamaño de transformación DCT (2304 contra 2048) genera un pico de complejidad en el momento de la transición.
Para paliar estos inconvenientes, la solicitud de patente internacional WO2012/085451, cuyo contenido está incorporado por referencia a la presente solicitud, propone un nuevo método para codificar una trama de transición. La trama de transición se define como una trama corriente codificada por transformada que sucede a una trama anterior codificada por una codificación predictiva. Según el nuevo método citado anteriormente, una parte de la trama de transición, por ejemplo una subtrama de 5 ms, en el caso de una codificación CELP a 12,8 kHz, y dos tramas CELP complementarias de 4 ms cada una, en el caso de una codificación CELP a 16 kHz, se codifican por una codificación predictiva restringida con respecto a la codificación predictiva de la trama anterior.
La codificación predictiva restringida consiste en usar los parámetros estables de la trama anterior codificada por una codificación predictiva, como por ejemplo los coeficientes del filtro de predicción lineal y en solo codificar algunos parámetros mínimos para la subtrama complementaria en la trama de transición.
Como la trama anterior no se ha codificado con una codificación por transformada, la anulación del repliegue temporal en la primera parte de la trama es imposible. La solicitud de patente WO2012/085451 citada anteriormente propone además modificar la primera mitad de la ventana MDCT para no tener un repliegue temporal en el primer cuarto normalmente replegado. Se propone también integrar una parte de la suma-recubrimiento (también llamado “fundido encadenado” o incluso “overlap-add” en inglés) entre la trama CELP decodificada y la trama MDCT decodificada modificando los coeficientes de la ventana de análisis/síntesis. Con referencia a la figura 4e de la solicitud citada anteriormente, los trazos mixtos (líneas que alternan puntos y trazos) corresponden a las líneas de repliegue de codificación MDCT (figura de arriba) y a las líneas de despliegue de decodificación MDCT (figura de abajo). En la figura de arriba, las líneas en negrita separan las tramas de nuevas muestras a la entrada del codificador. La codificación de una nueva trama MDCT puede empezarse cuando una trama definida de este modo de nuevas muestras de entrada está totalmente disponible. Es importante destacar que estas líneas en negrita en el codificador no corresponden a la trama corriente sino a los bloques sucesivos de nuevas muestras que llegan para cada trama: la trama corriente se retrasa en efecto en 8,75 ms que corresponden a una anticipación, denominada “lookahead" en inglés. En la figura de abajo, las líneas en negrita separan las tramas decodificadas a la salida del decodificador.
En el codificador, la ventana de transición es nula hasta el punto de repliegue. De este modo los coeficientes de la parte izquierda de la ventana replegada serán idénticos a los de la ventana no replegada. La parte entre el punto de repliegue y el final de la subtrama CELP de transición (TR) corresponde a una semiventana sinusoidal. En el decodificador, después de despliegue, la misma ventana se aplica a la señal. En el segmento entre el punto de repliegue y el principio de la trama MDCT, los coeficientes de la ventana corresponden a una ventana de forma sen2. Para asegurar la suma-recubrimiento entre la subtrama CELP decodificada y la señal procedente de la MDCT, solo basta con aplicar una ventana de tipo cos2 a la parte de la subtrama CELP en recubrimiento y sumar esta última con la trama MDCT. El método es de reconstrucción perfecta.
Sin embargo, la solicitud WO2012/085451 prevé la asignación de un presupuesto de bits Btrans para la codificación de la subtrama CELF que correspondería al presupuesto necesario para la codificación CELP de una trama clásica, pasada a una sola subtrama. El presupuesto restante para la codificación de la trama de transición por transformada es entonces insuficiente y puede llevar a una baja de calidad de baja tasa.
La presente invención viene a mejorar esta situación.
A tal efecto, un primer aspecto de la invención se refiere a un procedimiento de determinación de una distribución de bits de codificación de una trama de transición. Este procedimiento se implementa en un codificador/decodificador para la codificación/decodificación de una señal digital audio. La trama de transición va antecedida de una trama anterior codificada por predicción y la codificación de esta trama de transición comprende una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición. El procedimiento incluye las etapas siguientes:
- atribución de una tasa de bits para la codificación predictiva de la subtrama de transición, siendo la tasa de bits igual al mínimo entre la tasa de bits de la codificación por transformada de la trama de transición y un primer valor predeterminado de tasa de bits;
- determinación de un primer número de bits asignados para la codificación predictiva de la subtrama de transición para la tasa de bits; y
- cálculo de un segundo número de bits asignados para la codificación por transformada de la trama de transición a partir del primer número de bits y de un número de bits disponibles para la codificación de la trama de transición.
La tasa de bits de la codificación predictiva está refrenada por tanto por un valor máximo. El número de bits asignados a la codificación predictiva depende de esta tasa de bits. En la medida en que cuanto más baja es la tasa de bits, más bajo es el número de bits asignado a la codificación, se garantiza un presupuesto restante mínimo para la codificación de la trama de transición por transformada.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por otro lado, el número de bits atribuidos a la codificación predictiva de la subtrama se optimiza con respecto a la tasa de bits de la codificación por transformada. En efecto, si la tasa de bits de la codificación por transformada de la trama de transición es inferior al primer valor predeterminado, la tasa de bits para la codificación predictiva y la tasa de bits para la codificación por transformada es idéntica. Por tanto se mejora la coherencia de las señales generada de este modo lo que simplifica las etapas posteriores de codificación (codificación canal) y el tratamiento de las tramas recibidas en el decodificador.
En otro modo de realización, el codificador/decodificador comprende un primer centro que funciona, para la codificación/decodificación predictiva de una trama de señal, a una primera frecuencia, y un segundo centro que funciona, para la codificación/decodificación predictiva de una trama de señal, a una segunda frecuencia. El primer valor predeterminado de tasa de bits depende del centro seleccionado entre los primero y segundo centros para la codificación/decodificación de la trama anterior codificada por predicción.
La frecuencia de funcionamiento del centro del codificador/decodificador tiene una influencia sobre el número de bits necesario para representar correctamente la señal digital de entrada. Por ejemplo, para ciertas frecuencias de funcionamiento, cabe prever bits complementarios para codificar bandas frecuencias no directamente tratadas por el centro.
En un modo de realización, cuando el primer centro se ha seleccionado para la codificación/decodificación de la trama anterior codificada por predicción, la tasa de bits atribuida es además igual al máximo entre la tasa de bits de la trama de transición codificada por transformada y al menos un segundo valor predeterminado de tasa de bits, siendo el segundo valor inferior al primer valor. De este modo, una tasa de bits mínima está garantizada con el fin de evitar diferencias de tasas demasiado grandes entre las diferentes tramas codificadas.
En otro modo de realización, la señal digital se descompone en al menos una banda baja de frecuencias y una banda alta de frecuencia. En esta situación, el primer número de bits calculado se atribuye a la codificación predictiva de la subtrama de transición para la banda baja de frecuencias. Un tercer número de bits predeterminado se asigna entonces a una codificación de la subtrama de transición para la banda alta de frecuencias. Por otro lado, el segundo número de bits asignados para la codificación por transformada de la trama de transición se determina entonces además a partir del tercer número de bits predeterminado. De este modo, es posible codificar eficazmente la totalidad del espectro frecuencial de la señal de entrada sin sacrificar la calidad de la señal restituida a la decodificación.
En un modo de realización, el número de bits disponibles para la codificación de la trama de transición es fijo. Ello reduce la complejidad de las etapas de codificación.
En otro modo de realización, el segundo número de bits es igual al número fijo de bits de codificación de la trama de transición menos el primer número de bits menos el tercer número de bits. La determinación final de la distribución de los bits en la trama de transición se limita de este modo a una sustracción de valores enteros lo que simplifica la codificación.
Como variante, el segundo número de bits es igual al número fijo de bits de codificación de la trama de transición menos el primer número de bits menos el tercer número de bits menos un primer bit menos un segundo bit. El primer bit indica si un filtrado de paso bajo se efectúa durante la determinación de los parámetros de la codificación predictiva de la subtrama de transición, siendo los parámetros relativos al plazo tonal. El segundo bit indica la frecuencia usada por el centro del codificador/decodificador para la codificación/decodificación predictiva de la subtrama de transición. Una indicación de este tipo permite una codificación más flexible.
Un segundo aspecto de la invención se refiere a un procedimiento de codificación de una señal digital audio en un codificador apto para codificar tramas de señal según una codificación predictiva o según una codificación por transformada, que incluye las etapas siguientes:
* codificación de una trama anterior de muestras de la señal digital según una codificación predictiva;
* codificación de una trama corriente de muestras de la señal digital en una trama de transición, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición, incluyendo la codificación de la trama corriente las subetapas siguientes:
- determinación de la distribución de los bits mediante el procedimiento según el primer aspecto de la invención;
- codificación por transformada de la trama de transición en el segundo número de bits asignados;
- codificación predictiva de la subtrama de transición en el primer número de bits asignados.
La determinación de la distribución de los bits comprendidos en la trama de transición se determina de este modo antes de la codificación. Como se describe esto a continuación, esta determinación de la distribución de los bits es reproducible en el decodificador lo que evita una transmisión explícita de informaciones sobre esta distribución.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por otro lado, esta codificación garantiza una distribución equilibrada entre la codificación predictiva y la codificación por transformada en el seno de la trama de transición.
En un modo de realización, la codificación predictiva comprende la generación de parámetros de codificación predictiva determinados para la tasa de bits atribuida durante la distribución de los bits en la trama de transición. El uso de parámetros predictivos de este tipo permite optimizar mejor la ratio entre la tasa de bits atribuida a la codificación predictiva y la tasa restante atribuida a la codificación por transformada, y por tanto optimizar la calidad de la señal reconstruida. En efecto, con calidad constante, el número de bits atribuidos a tal o tal parámetro predictivo puede variar en proporciones no lineales con respecto a la tasa de bits atribuida a la codificación predictiva.
En otro modo de realización, la codificación predictiva comprende la generación de parámetros de codificación predictiva restringidos con respecto a la codificación predictiva de la trama anterior reutilizando al menos un parámetro de la codificación predictiva de la trama anterior. De este modo, en la decodificación, unas informaciones complementarias se extraen de la trama anterior para completar la decodificación de la subtrama de transición que hay que decodificar. Ello reduce el número de bits que deben reservarse para la codificación predictiva de la subtrama de transición.
La combinación de una reutilización de parámetros de una trama anterior con la atribución de la tasa de bits de la codificación por transformada de la trama de transición permite asegurar una transición coherente a menor coste.
Un tercer aspecto de la invención se refiere a un procedimiento de decodificación de una señal digital audio codificada por una codificación predictiva y por una codificación por transformada, que incluye las etapas de:
* decodificación predictiva de una trama anterior de muestras de la señal digital codificada según una codificación predictiva;
* decodificación de una trama de transición que codifica una trama corriente de muestras de la señal digital, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición, que incluye las subetapas de:
- determinación de la distribución de los bits mediante el procedimiento según el primer aspecto de la invención;
- decodificación predictiva de la subtrama de transición en el primer número de bits asignados;
- decodificación por transformada de la trama de transición en el segundo número de bits asignados.
Como se ha mencionado anteriormente, el procedimiento de determinación de la distribución de los bits en la trama de transición es directamente reproducible al nivel del decodificador. En efecto, la distribución de los bits se determina únicamente a partir de la tasa de bits de la parte de la trama de transición codificada por transformada. Ningún bit complementario es por tanto necesario para implementar esta etapa de determinación de la distribución de los bits y se realiza por tanto un ahorro de ancho de banda.
Un cuarto aspecto de la invención contempla además un programa informático que incluye instrucciones para la implementación del procedimiento según los aspectos de la invención descritos anteriormente, cuando estas instrucciones se ejecutan por un procesador.
Un quinto aspecto de la invención se refiere a un dispositivo de determinación de una distribución de bits de codificación de una trama de transición, implementándose este dispositivo en un codificador/decodificador para la codificación/decodificación de una señal digital audio, estando la trama de transición antecedida por una trama anterior codificada por predicción, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición, siendo el número de bits de codificación de la trama de transición fijo, incluyendo el dispositivo un procesador habilitado para efectuar las operaciones siguientes:
- atribución de una tasa de bits para la codificación predictiva de la subtrama de transición, siendo dicha tasa de bits igual al mínimo entre la tasa de bits de la codificación por transformada de la trama de transición y un primer valor predeterminado de tasa de bits, en el;
- determinación de un primer número de bits asignados para la codificación predictiva de la subtrama de transición para la tasa de bits;
- cálculo de un segundo número de bits asignados para la codificación por transformada de la trama de transición a partir del número de bits necesario para la codificación de los parámetros de codificación y el número fijo de bits de codificación de la trama de transición.
Un sexto aspecto de la invención contempla además un codificador apto para codificar tramas de una señal digital audio según una codificación predictiva o según una codificación por transformada, que incluye:
* un dispositivo según el quinto aspecto de la invención;
* un codificador predictivo que incluye un procesador habilitado para efectuar las operaciones siguientes:
5
10
15
20
25
30
35
40
45
50
55
60
65
- codificación de una trama anterior de muestras de la señal digital según una codificación predictiva;
- codificación predictiva de una única subtrama comprendida en una trama de transición que codifica una trama corriente de muestras de la señal digital, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de la subtrama, estando el procesador habilitado para efectuar la operación de codificación predictiva de la subtrama de transición en el primer número de bits asignados;
* un codificador por transformada que incluye un procesador habilitado para efectuar una codificación por transformada de la trama de transición en el segundo número de bits asignados.
Un séptimo aspecto de la invención contempla además un decodificador de una señal digital codificada por una codificación predictiva y por una codificación por transformada, que incluye:
* un dispositivo según el quinto aspecto de la invención;
* un decodificador predictivo que incluye un procesador habilitado para efectuar las operaciones siguientes:
- decodificación predictiva de una trama anterior de muestras de la señal digital codificada según una codificación predictiva;
- decodificación predictiva de una única subtrama comprendida en una trama de transición que codifica una trama corriente de muestras de la señal digital, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de la subtrama, estando el procesador habilitado para efectuar la operación de decodificación predictiva de la subtrama de transición en el primer número de bits asignados;
* un decodificador por transformada que incluye un procesador habilitado para efectuar una decodificación por transformada de la trama de transición en el segundo número de bits asignados.
Otras características y ventajas de la invención se pondrán de manifiesto con el examen de la descripción detallada a continuación y de los dibujos adjuntos en los que:
- la figura 1 ilustra un codificador audio según un modo de realización de la invención;
- la figura 2 es un diagrama que ilustra las etapas de un procedimiento de codificación, implementado por el codificador audio de la figura 1, según un modo de realización de la invención;
- la figura 3 presenta una transición entre tramas CELP y MDCT según un modo de realización de la invención;
- la figura 4 es un diagrama que ilustra las etapas de un procedimiento de determinación de una distribución de bits de codificación de una trama de transición, según un modo de realización de la invención;
- la figura 5 ilustra un decodificador audio según un modo de realización de la invención;
- la figura 6 es un diagrama que ilustra las etapas de un procedimiento de decodificación, implementado por el decodificador audio de la figura 5, según un modo de realización de la invención;
- la figura 7 ilustra un dispositivo de determinación de la distribución de bits en una trama de transición según un modo de realización de la invención.
La figura 1 ilustra un codificador audio 100 según un modo de realización de la invención.
La figura 2 es un diagrama que ilustra las etapas de un procedimiento de codificación, implementado por el codificador audio 100 de la figura 1, según un modo de realización de la invención.
El codificador 100 comprende una unidad de recepción 101 para recibir, en una etapa 201, una señal de entrada muestreada a una frecuencia dada fs (por ejemplo 8, 16, 32 o 48 kHz) y descompuesta en subtramas, por ejemplo de 20 ms.
Previa recepción de una trama corriente, una unidad de pretratamiento 102 es apta para seleccionar, en una etapa 202, el modo de codificación que es el más adecuado para la codificación de la trama corriente, entre al menos un modo LPD y un modo LD. En la descripción que sigue, se considera, a título ilustrativo, que una codificación MDCT se usa para el modo FD y que una codificación CELP se usa para el modo LPD. Ninguna restricción está asociada con las técnicas de codificación respectivamente empleadas para los modos LPD y FD. De este modo, se pueden usar, por ejemplo, modos complementarios a los modos CELP y MDCT, la codificación CELP puede sustituirse por otro tipo de codificación predictiva, la transformada MDCT puede sustituirse por otro tipo de transformada.
Se supone en este caso que el tipo de trama se transmite explícitamente por medio del bloque 206, con por ejemplo una codificación de longitud fija que indica el modo elegido entre una lista predefinida. En variantes de la invención, esta codificación del modo elegido en cada trama podrá ser de longitud variable. Se prevé igualmente que el tipo de codificación CELP (12,8 o 16 kHz) podrá transmitirse explícitamente mediante un bit con el fin de facilitar la decodificación de la trama de transición.
Una etapa 203 verifica que la codificación CELP se ha seleccionado en la etapa 202. En caso de que se seleccione el modo LPD, la trama de señal se transmite a un codificador CELP 103 para la codificación de una trama CELP en una etapa 204. El codificador CELP puede usar dos “centros” que funcionan a dos frecuencias de muestreo internas respectivas, por ejemplo fijadas a 12,8 kHz y 16 kHz, que requieren el uso de un muestreo de la señal de entrada (a la frecuencia fs) a la frecuencia interna de 12,8 o 16 kHz. Un remuestreo de este tipo puede implementarse en una
5
10
15
20
25
30
35
40
45
50
55
60
65
unidad de remuestreo en el bloque de pretratamiento 102 o en el codificador CELP 103. La trama se codifica a continuación por predicción por el codificador CELP 103 deduciendo parámetros CELP que dependen en general de una clasificación de la señal. Estos parámetros CELP incluyen generalmente coeficientes LPC, un vector de ganancias adaptativo y fijo, un vector de diccionario adaptativo, un vector de diccionario fijo. Esta lista puede modificarse igualmente en función de una clase de señal en la trama, como en la codificación UIT-T G.718. Los parámetros calculados de este modo pueden cuantificarse, multiplexarse y transmitirse, a continuación, en una etapa 206 en el decodificador por una unidad de transmisión 108. Parámetros de codificación CELP, como los coeficientes LPC, el vector de ganancias adaptativo y fijo, el vector de diccionario adaptativo, el vector de diccionario fijo así como estados del decodificador CELP pueden memorizarse además, en una etapa 205, en una memoria 107 en caso de que la trama siguiente a la trama corriente fuera una trama de transición MDCT.
Como se explica a continuación, una extensión de banda podrá efectuarse igualmente con una codificación asociada de la banda alta cuando la trama corriente es de tipo CELP.
En caso de que la codificación MDCT se haya seleccionado por la unidad 102 en la etapa 203, se verifica en una etapa 207 que la trama anterior a la trama corriente se ha codificado por transformada MDCT. En caso de que la trama anterior a la trama corriente se ha codificado por transformada MDCT, la trama corriente se transmite al codificador MDCT 105 directamente, para una codificación por transformada MDCT de la trama corriente en una etapa 208. El codificador MDCT puede codificar una trama que cubre 28,75 ms de señal no remuestreada, que incluye 20 ms de trama y 8,75 ms de lookahead por ejemplo. Ninguna restricción está asociada con el tamaño de la ventana MDCT. Además, un retraso correspondiente al retraso del codificador CELP debido al remuestreo de la señal de entrada, se aplica a la trama codificada por el codificador MDCT, para que se sincronicen las tramas MDCT y CELP. Un retraso de este tipo puede ser de 0,9375 ms según el tipo de remuestreo antes de codificación CELP. La trama codificada por transformada MDCT se transmite al decodificador en la etapa 206.
En caso de que la codificación MDCT se seleccione por la unidad 102, en caso de que la trama anterior a la trama corriente se haya codificado por predicción, la trama corriente es una trama de transición y se transmite a una unidad de transición 104. Como se describe en lo que sigue, la trama de transición MDCT comprende una subtrama CELP complementaria.
La unidad de transición 104 es apta para implementar las etapas siguientes:
- anticipar, en una etapa 209, el presupuesto de bits necesarios para la codificación de la subtrama CELP de transición para definir el presupuesto disponible para la codificación MDCT de la trama corriente. Como se detalla en lo que sigue, el presupuesto puede depender de la tasa de la trama corriente. Además, el presupuesto puede evaluarse en función del centro CELP usado. Con el fin de conservar un presupuesto de bits suficiente para no degradar la calidad de la codificación MDCT, la invención puede prever limitar la tasa de codificación de la subtrama CELP. Comprende a tal efecto un dispositivo de determinación de la distribución de bits en una trama de transición, como el dispositivo 700 de la figura 7;
- modificar, en una etapa 210, la ventana MDCT usada en el codificador conforme a la figura 3 descrita a continuación;
- poner a cero la memoria de la transformación MDCT ya que la trama anterior era una trama CELP, en una etapa 211 - de manera equivalente la memoria MDCT podrá ignorarse en la decodificación MDCT.
En un modo de realización, al menos una de estas etapas se efectúa por la unidad de codificación de trama de transición 106 descrita a continuación.
La trama MDCT de transición se codifica por el codificador MDCT 105, en una etapa 212, como se describe en lo que sigue, y sobre la base del presupuesto de bits asignados en la etapa 209. La subtrama CELP complementaria se codifica igualmente por el codificador CELP 103, en una etapa 213, como se describe en lo que sigue con referencia a la figura 3, y en función del presupuesto de bits asignados en la etapa 209. La codificación CELP puede efectuarse antes o después de codificación MDCT.
La figura 3 presenta la transición entre tramas CELP y MDCT en el codificador, antes de codificación, y en el decodificador, antes de decodificación.
Una trama que hay que codificar 301 se recibe en el codificador 100 y se codifica por el codificador CELP 103. Una trama corriente 302 se recibe a continuación en entrada del codificador 100 para codificarse por transformada MDCT. Se trata por tanto de una trama de transición. La trama siguiente 303 recibida en entrada del codificador se codifica igualmente por transformada MDCT. Según la invención, la trama siguiente 303 podría codificarse por codificación CELP y ninguna restricción está asociada con la codificación empleada para la trama siguiente 303.
Una ventana MDCT asimétrica 304 puede usarse para la codificación de la trama corriente. Esta ventana 304 presenta un flanco ascendente 307 de 14,375 ms, una fase con una ganancia a 1 de 11,25 ms, un flanco descendente 309 de 8,75 ms correspondiente al lookahead, y una parte nula 310 de 5,265 ms. La adición de la parte nula 310 permite disminuir el lookahead y de este modo el retraso correspondiente. En un modo de realización, la
5
10
15
20
25
30
35
40
45
50
55
60
65
forma de esta ventana de análisis MDCT para la codificación MDCT se modifica por ejemplo para disminuir más el lookahead o para usar una ventana simétrica cuyos ejemplos se dan en la solicitud de patente WO2012/085451.
El trazo puntuado 312 representa el medio de la ventana MDCT 304. En ambos lados del trazo 312, los cuartos de 10 ms de la ventana MDCT 212 se repliegan como se ha descrito en la parte introductiva. La línea continua 311 indica la zona de repliegue entre los primer y segundo cuartos de la ventana MDCT 304.
La ventana MDCT de la trama siguiente 303 se referencia 306 y presenta una zona de suma recubrimiento con la ventana MDCT 304 correspondiente al flanco descendente 309 de la ventana MDCT 304.
Una ventana MDCT 305 representa teóricamente la ventana que se aplicaría a la trama anterior si se hubiera codificado por transformada MDCT. Sin embargo, codificándose la trama anterior 301 por el codificador CELP 103, es necesario, con el fin de permitir el despliegue en el decodificador de la primera parte de la trama codificada por transformada MDCT, que la ventana sea nula en el primer cuarto (ya que la segunda parte de la trama MDCT anterior no está disponible).
A tal efecto, la ventana MDCT 304 se modifica en una ventana MDCT 313 cuyo primer cuarto está a cero, lo que permite de este modo el repliegue temporal en la primera parte de la trama MDCT en el decodificador.
Al nivel del decodificador, las ventanas de análisis 304, 305, 306 y 313 corresponden respectivamente a ventanas de síntesis 324, 325, 326 y 327. Esta ventana de síntesis se invierte por tanto temporalmente con respecto a la ventana de análisis correspondiente. En variantes de la invención, las ventanas de análisis y de síntesis pueden ser idénticas, de tipo sinusoidal u otro.
Una primera trama 320 de nuevas muestras codificada por codificación CELP se recibe en el decodificador. Corresponde a la versión codificada de la trama CELP 301. Se recuerda en este documento que la trama decodificada está desplazada en 8,75 ms con respecto a la trama 320.
Se recibe, a continuación, la versión codificada de la trama de transición 302 (referencias 321 y 322 que forman una trama completa). Entre el final de la trama CELP 320 y el principio del flanco ascendente de la ventana de síntesis 327 (que corresponde a la línea de repliegue), se crea un hueco o GAP. En el ejemplo particular representado en este caso, siendo un cuarto de ventana MDCT de 10 ms y siendo la parte nula de la ventana de síntesis MDCT 324 que recubre la trama CELP 320 de 5,625 ms (que corresponde a la parte 310 de la ventana de análisis MDCT 204), el hueco es de 4,375 ms. Además, con el fin de asegurar una longitud de suma recubrimiento satisfactoria con el principio de la parte no nula de la ventana MDCT 327, el retraso entre la trama CELP 320 y el principio de la ventana MDCT 327 se prolonga en la longitud necesaria. En el ejemplo que sigue, consideramos, a título ilustrativo, una longitud de suma recubrimiento satisfactoria de 1,875 ms, alcanzando el retraso citado anteriormente (que corresponde a una longitud de señal que falta) 6,25 ms, como se representa con la referencia 321 en la figura 2.
Se observará que las tramas de señales representadas en la figura 3 pueden contener señales a frecuencias de muestreo diferentes que son de 12,8 o 16 kHz en caso de codificación/decodificación CELP y de fs en caso de codificación/decodificación MDCT; sin embargo en el decodificador, después de remuestreo de la síntesis CELP y desplazamiento temporal de la síntesis MDCT las tramas permanecen sincronizadas y la representación de la figura 3 permanece exacta.
Como se ha evocado anteriormente la solicitud WO2012/085451 propone codificar una subtrama CELP complementaria de 5 ms al principio de la trama de transición MDCT, en el caso de una codificación CELP a 12,8 kHz, y dos tramas CELP complementarias de 4 ms cada una al principio de la trama de transición MDCT, en el caso de una codificación CELP a 16 kHz.
En el caso a 12,8 KHz, el retraso de 6,25 ms no se corrige y la suma recubrimiento se ve impactada: se dispone únicamente en el decodificador de 0,625 ms de suma recubrimiento, lo que es insuficiente.
En el caso a 16 kHz, dos subtramas CELP complementarias se codifican al principio de la trama de transición, lo que solo deja muy poco presupuesto para codificar la trama MDCT de transición y puede llevar a una baja de calidad significativa de baja tasa.
Con el fin de superar estos inconvenientes, la presente invención puede prever codificar una única subtrama CELP complementaria a 12,8 o 16 kHz por el codificador CELP 103. Muestras complementarias se generan en el decodificador, como se detalla en lo que sigue, con el fin de generar la señal que falta en la longitud de 6,25 ms citada anteriormente.
Con el fin de codificar la subtrama CELP de transición, la unidad 106 puede volver a usar al menos un parámetro CELP de la trama CELP anterior. Por ejemplo, la unidad 106 puede volver a usar los coeficientes de predicción lineal A(z) de la subtrama CELP anterior así como la energía de la innovación de la trama anterior (almacenados en la memoria 107 como se ha descrito anteriormente) con el fin de codificar únicamente el vector de diccionario
5
10
15
20
25
30
35
40
45
50
55
60
65
adaptativo, la ganancia adaptativa, la ganancia fija y el vector del diccionario fijo de la subtrama CELP de transición. De este modo, la subtrama complementaria CELP puede codificarse con el mismo centro (12,8 kHz o 16 kHz) que la trama CELP anterior.
Una unidad de codificación de trama de transición 106 asegura la codificación de una trama de transición según la invención. La invención puede prever además la inserción por la unidad 106 en el flujo de bits de un bit complementario que indica que la trama codificada 322 es una trama de transición, sin embargo en el caso general esta indicación de trama de transición podrá transmitirse igualmente en la indicación global de modo de codificación de la trama corriente, sin tomar bits complementarios.
La invención puede prever además que esta unidad 106 codifique la banda alta de la señal en las etapas 204 y 214 (procedimiento llamado “de extensión de banda”), cuando se necesita la misma, con un presupuesto fijo ya que la frecuencia de muestreo de la señal de síntesis en el decodificador no siempre es idéntica a la frecuencia del centro CELP.
A tal efecto, la unidad de codificación de trama de transición 106 puede implementar las etapas siguientes:
- filtrado de la trama anterior CELP y de la subtrama CELP de la trama de transición por un filtro de paso alto con el fin de solo conservar la parte alta del espectro (por encima de la frecuencia que corresponde al centro CELP usado, esto es por encima de 6,4 u 8 kHz). Un filtrado de este tipo puede implementarse por un filtro con respuesta de impulsos finita, FIR, del codificador CELP 103;
- búsqueda de correlación entre la parte filtrada de la subtrama CELP de transición original y la trama CELP anterior filtrada con el fin de estimar un parámetro de retraso luego una ganancia (diferencia de amplitud entre la señal correspondiente a la subtrama filtrada y la señal predicha por aplicación del retraso);
- codificación del parámetro de retraso y de la ganancia citados anteriormente usando por ejemplo una cuantificación escalar (por ejemplo, el retraso puede codificarse en 6 bits y la ganancia en 6 bits).
La etapa 209 citada anteriormente se ilustra con más detalle con referencia a la figura 4 que es un diagrama que ilustra las etapas de un procedimiento de determinación de una distribución de bits de codificación de transición según un modo de realización de la invención. El procedimiento citado anteriormente se implementa de la misma manera en el codificador y en el decodificador, pero se presenta, a título ilustrativo únicamente, del lado codificador.
En una etapa 400, la tasa total (en bit/s), anotada core_brate, que puede asignarse a la codificación de la trama corriente se fija como siendo igual a la tasa de salida del codificador MDCT. Considerándose la duración de la trama en este ejemplo como siendo de 20 ms, el número de tramas por segundo es 50 y el presupuesto total en bits es igual a core_brate / 50. El presupuesto total puede ser fijo, en el caso de un codificador con tasa fija, o variable, en el caso de un codificador con tasa variable cuando se implementa una adaptación de la tasa de codificación. A continuación, se usa una variable num_bits, iniciada en el valor core_brate /50.
En una etapa 401, la unidad de transición 104 determina el centro CELP, entre al menos dos centros CELP, que se ha usado para la codificación de la trama CELP anterior. En el ejemplo que sigue, se consideran dos centros CELP que funcionan a frecuencias respectivas de 12,8 kHz y 16 kHz. Como variante, un solo centro CELP se implementa en la codificación y/o en la decodificación.
En caso de que el centro CELP usado para la trama CELP anterior está a una frecuencia de 12,8 kHz, el procedimiento comprende una etapa 402 de atribución de una tasa de bits, anotada cbrate, para la codificación CELP de la subtrama de transición, siendo la tasa de bits igual al mínimo entre la tasa de bits de la codificación MDCT de la trama de transición y un primer valor predeterminado de tasa de bits. El primer valor predeterminado puede fijarse a 24,4 kbit/s por ejemplo, lo que permite asegurar un presupuesto de bits satisfactorio para la codificación por transformada.
De este modo, cbrate = min(core_bitrate, 24400). Esta limitación significa limitar el funcionamiento de la codificación CELP restringido limitado a la subtrama complementaria con parámetros CELP codificados como si estuvieran codificados por una codificación CELP a no más de 24,40 kbit/s.
En una etapa 403 facultativa, la tasa de bits atribuida se compara con una tasa de bits CELP a 11,60 kbit/s. Si la tasa de bits atribuida es superior, un bit puede reservarse para codificar una indicación de bits de filtrado de paso bajo del diccionario adaptativo (como por ejemplo en la codificación AMR-WB en las tasas superiores o iguales a 12,65 kbit/s). Se actualiza la variable num_bits:
num_bits:= num_bits - 1
En una etapa 404, un primer número de bits, anotado budg1, se asigna para la codificación predictiva de la subtrama CELP complementaria. El primer número de bits budg1 representa el número de bits que representan los parámetros CELP usados para la codificación de la subtrama CELP. Como se ha detallado anteriormente, la codificación de la
5
10
15
20
25
30
35
40
45
50
55
60
65
subtrama CELP puede estar restringida por que se usa un número restringido de parámetros CELP, reutilizándose ventajosamente ciertos parámetros usados para la codificación de la trama CELP anterior.
Por ejemplo, solo la excitación puede modelizarse para la codificación de la subtrama CELP complementaria, y se reservan de este modo bits únicamente para el vector del diccionario fijo, para el vector del diccionario adaptativo y para el vector de ganancias. El número de bits atribuidos a cada uno de estos parámetros se deduce de la tasa de bits atribuida a la codificación de la subtrama CELP complementaria en la etapa 402. Por ejemplo, la Tabla 1/G722.2 - Distribución de los bits del algoritmo de codificación AMR-WB para trama de 20 ms, procedente de la versión de julio de 2003 de la norma G.722.2 del ITU-T, da unos ejemplos de asignaciones de bits por parámetro CELP en función de la tasa de bits atribuida.
En el ejemplo anterior, en el que la codificación de la subtrama de transición está restringida, budg1 corresponde a la suma de los bits atribuidos respectivamente al diccionario adaptativo, al diccionario fijo y al vector de ganancias. Por ejemplo, para una tasa de bits atribuida de 19,85 kbit/s, con referencia a la Tabla1/G722 citada anteriormente, 9 bits están asignados al diccionario adaptativo (plazo tonal), 72 bits están asignados al diccionario fijo (código algébrico), y 7 bits están asignados al vector de ganancias (ganancia de repertorio). En ese caso, budg1 es igual a 88 bits.
Se puede actualizar de este modo la variable num_bits:
num_bits:= num_bits - budg1
La invención puede prever igualmente tomar en cuenta clases de tramas en la asignación de bits a los parámetros CELP. Por ejemplo, la norma G.718 del ITU-T, en su versión de junio de 2008, secciones 6.8 y 8.1, da los presupuestos que hay que asignar a cada parámetro CELP en función de clases, o modos como el modo no-sonoro (UC), el modo sonoro (VC), el modo de transición (TC) y el modo genérico (GC), y en función de la tasa de bits asignada (layer1 o layer2, correspondiente a tasas respectivas de 8 kbit/s y de 8+4 kbit/s). El codificador G.718 es un codificador jerárquico, pero es posible combinar los principios de codificación CELP que usa una clasificación de G.718 con la asignación multitasas de AMR-WB.
Si se ha determinado en la etapa 401 que el centro CELP usado para la trama CELP anterior está a una frecuencia de 16 kHz, el procedimiento comprende una etapa 405 de atribución de una tasa de bits, anotada cbrate, para la codificación CELP de la subtrama de transición, siendo la tasa de bits igual al mínimo entre la tasa de bits de la codificación MDCT de la trama de transición y un primer valor predeterminado de tasa de bits. En el caso del centro a 16 kHz, el primer valor predeterminado puede fijarse a 22,6 kbit/s por ejemplo, lo que permite asegurar un presupuesto de bits satisfactorio para la codificación por transformada. De este modo, el primer valor predeterminado depende del centro CELP usado para la codificación de la trama CELP anterior. Además, para la codificación centro a 16 kHz, unos valores umbrales pueden aplicarse durante la atribución de una tasa de bits a la codificación CELP. De este modo, la tasa de bits atribuida es además igual al máximo entre la tasa de bits de la trama de transición codificada por transformada y al menos un segundo valor predeterminado de tasa de bits, siendo el segundo valor inferior al primer valor. El segundo valor predeterminado de tasa de bits puede ser por ejemplo igual a 14,8 kbit/s. De este modo, si la tasa de bits de la trama de transición codificada por transformada es inferior a 14,8 kbit/s, la tasa de bits atribuida a la codificación CELP de la subtrama de transición puede ser de 14,8 kbit/s.
En un modo de realización complementario, si la tasa de bits de la trama de transición codificada por transformada es inferior a 8 kbit/s, la tasa atribuida puede ser igual a 8 kbit/s.
De este modo, según este modo de realización complementario, se obtiene el algoritmo siguiente:
Si core_bitrate < 8000 cbrate = 8000
Si no si core_bitrate < 14800 cbrate = 14800 Sino
cbrate = min(core_bitrate, 22600)
Final si
En una etapa 407 facultativa, la tasa de bits atribuida se compara con una tasa de bits CELP a 11,60 kbit/s. Si la tasa de bits atribuida es superior, un bit puede reservarse para codificar una indicación de bits de filtrado de paso bajo del diccionario adaptativo. Se actualiza la variable num_bits:
num_bits:= num_bits - 1
En una etapa 408, de la misma manera que en la etapa 404, un primer número de bits budg1 se asigna para la codificación predictiva de la subtrama CELP complementaria, y budg1 depende de la tasa de bits atribuida a la codificación CELP de la subtrama de transición.
5
10
15
20
25
30
35
40
45
50
55
60
65
En una etapa 410 común a las codificaciones a diferentes frecuencias de centro, un segundo número de bits asignados para la codificación por transformada de la trama de transición, anotado budg2, se calcula a partir del primer número de bits budg1 y del número de bits total de la trama de transición. A la vista de los cálculos anteriores, budg2 es igual a la variable num_bits. En general, se supone en este caso que el modo de la trama corriente de transición se imputa al presupuesto de codificación MDCT, por tanto esta información no se toma en cuenta explícitamente en este documento.
Las etapas anteriores pueden haberse implementado para la codificación de una banda baja de frecuencias de la subtrama de transición, en caso de que la señal audio se descomponga en al menos una banda baja de frecuencias y una banda alta de frecuencias. En una etapa 409 facultativa anterior a la etapa 410, igualmente común a las codificaciones a diferentes frecuencias de centro, el procedimiento puede comprender la asignación de un tercer número de bits predeterminado, anotado budg3 en la codificación de la banda alta de frecuencias de la subtrama de transición. En ese caso, el segundo número de bits budg2 se calcula a la vez a partir del primer número de bits budg1 y del tercer número de bits budg3.
Como se ha explicado anteriormente, la codificación de la banda alta de frecuencias (o extensión de banda) de la subtrama de transición puede estar fundada en una correlación entre la trama anterior de la señal audio y la subtrama de transición. Por ejemplo, la codificación de la banda alta de frecuencias puede estar descompuesta en dos etapas.
En una primera etapa, la trama anterior y la trama corriente de la señal audio están filtradas por un filtro de paso alto para solo conservar la parte alta del espectro. La parte alta del espectro puede corresponder a las frecuencias superiores a la del centro CELP usado. Por ejemplo, si el centro CELP usado es el centro CELP a 12,8 kHz, la banda alta corresponde a la señal audio para la que se han filtrado las frecuencias inferiores a 12,8 kHz. Un filtrado de este tipo puede implementarse por medio de un filtro FIR.
En una segunda etapa, se efectúa una búsqueda de correlación entre las partes filtradas de la trama anterior y de la trama corriente. Una búsqueda de correlación de este tipo permite estimar un parámetro de retraso después una ganancia. La ganancia corresponde a la relación de amplitud entre la parte filtrada de la trama corriente y la señal predicha por aplicación del retraso.
Por ejemplo, 6 bits pueden asignarse para la ganancia y 6 bits para el retraso. El tercer número de bits budg3 es entonces igual a 12.
Se puede actualizar entonces la variable num_bits: num_bits:= num_bits - budg3.
El segundo número de bits budg2 es entonces igual a la variable num_bits actualizada.
La figura 5 ilustra un decodificador audio 500 según un modo de realización de la invención y la figura 6 es un diagrama que ilustra las etapas de un procedimiento de decodificación según un modo de realización de la invención, implementado en el decodificador audio 500 de la figura 5.
El decodificador 500 comprende una unidad de recepción 501 para recibir, en una etapa 601, la señal digital codificada (o flujo de bits) procedente del codificador 100 de la figura 1. El flujo de bits se somete a una unidad de clasificación 502 apta para determinar, en una etapa 602 si la trama corriente es una trama CELP, una trama MDCT o una trama de transición. A tal efecto, la unidad de clasificación 502 es apta para deducir del flujo de bits una información que indica si la trama corriente es una trama de transición o no, y una información que indica el centro CELP que hay que usar para la decodificación de una trama CELP o de una subtrama CELP de transición.
En una etapa 603, se verifica que la trama corriente es una trama de transición.
Si la trama corriente no es una trama de transición, se verifica en una etapa 604 que la trama corriente es una trama CELP. Si es el caso, la trama se transmite a un decodificador CELP 504 apto para decodificar una trama CELP a una etapa 605, a la frecuencia de centro indicada por la unidad de clasificación 502. Después de la decodificación de una trama CELP, el decodificador CELP 504 puede almacenar, en una etapa 606, en una memoria 506 parámetros como los coeficientes del filtro de predicción lineal A(z) y estados internos como la energía predictiva en caso de que la trama siguiente fuera una trama de transición.
En salida del decodificador CELP 504, la señal puede remuestrearse, en una etapa 607, a la frecuencia de salida del decodificador 500 por una unidad de remuestreo 505. En un modo de realización de la invención, la unidad de remuestreo comprende un filtro FIR y el remuestreo introduce un retraso de (por ejemplo) 1,25 ms. En un modo de realización, unos tratamientos posteriores podrán aplicarse a la decodificación CELP antes o después de remuestreo.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como se ha mencionado anteriormente, en un modo de realización, una extensión de banda puede efectuarse igualmente, por una unidad de gestión de la extensión de banda 5051 en etapas 6071 y 6151, con una decodificación asociada de la banda alta cuando la trama corriente es de tipo CELP. La banda alta se combina entonces con la codificación CELP con eventualmente un retraso complementario aplicado a la síntesis CELP en banda baja.
La señal decodificada por el decodificador CELP y remuestreada, eventualmente tratada posteriormente antes o después de remuestreo, se transmite a una interfaz de salida 510 del decodificador en una etapa 608.
El decodificador 500 comprende además un decodificador MDCT 507. En caso de que se ha determinado en la etapa 604 que la trama corriente es una trama MDCT, el decodificador MDCT 507 es apto para decodificar la trama MDCT de manera clásica en una etapa 609. Además, un retraso correspondiente al retraso necesario para la aplicación del remuestreo de la señal procedente del decodificador CELP 504 se aplica a la salida del decodificador por una unidad de retraso 508, para sincronizar la síntesis MDCT con la síntesis CELP, en una etapa 610. La señal decodificada por MDCT y retrasada se transmite a la interfaz de salida 510 del decodificador en la etapa 608.
En caso de que la trama corriente se determine como siendo una trama de transición procedente de la etapa 603, un dispositivo de determinación de la distribución de bits 503 es apto para determinar, en una etapa 611, el primer número de bits budg1 asignados a la codificación CELP de la subtrama de transición y el segundo número de bits budg3 asignados a la codificación por transformada de la trama de transición. El dispositivo 503 puede corresponder al dispositivo 700 descrito con detalles con referencia a la figura 7.
El decodificador MDCT 507 usa el tercer número de bits budg3 calculado por la unidad de determinación 503 para ajustar la tasa necesaria para la decodificación de la trama de transición. El decodificador MDCT 507 pone además a cero la memoria de la transformación MDCT y decodifica la trama de transición a una etapa 612. La señal procedente del decodificador MDCT se retrasa a continuación por la unidad de retraso 508 en una etapa 613.
En paralelo, el decodificador CELP 504 decodifica la subtrama CELP de transición en función del primer número de bits budg1, en una etapa 614. El decodificador CELP 504 decodifica a tal efecto los parámetros CELP que pueden depender de la clase de la trama corriente, y que comprenden por ejemplo los valores de pitch del diccionario adaptativo, de diccionario fijo y de ganancias de la subtrama CELP y usa los coeficientes del filtro de predicción lineal. Además, el decodificador CELP 504 actualiza los estados de decodificación CELP. Estos estados pueden comprender generalmente la energía predictiva de la innovación procedente de la trama CELP anterior para generar la subtrama de señal en 4 ms o 5 ms según si se usa el centro CELP a 12,8 kHz o a 16 kHz (en el caso de una codificación restringida de la subtrama CELP de transición).
Como se ha evocado anteriormente, la solicitud WO2012/085451 prevé la codificación complementaria de una subtrama a 5 ms para el centro CELP a 12,8 kHz y de dos subtramas complementarias a 4 ms para el centro CELP a 16 kHz.
Como se explica con referencia a la figura 3, en el caso a 12,8 KHz, el retraso de 6,25 ms no se corrige y la suma recubrimiento se ve impactada: se dispone únicamente en el decodificador de 0,625 ms de suma recubrimiento, lo que es insuficiente.
En el caso a 16 kHz, dos subtramas CELP complementarias se codifican al principio de la trama de transición, lo que solo deja muy poco presupuesto para codificar la trama MDCT de transición y puede llevar a una baja de calidad con respecto a una codificación MDCT “de máxima tasa” en la trama corriente.
De este modo, la solución de la solicitud internacional WO2012/085451 no es satisfactoria.
Un aspecto independiente de la invención prevé, a partir de una única subtrama CELP complementaria de transición, la generación parcial de una segunda subtrama reutilizando parámetros de codificación usados para la codificación de la subtrama CELP de transición. De este modo se corrige el retraso, asegurando una suma-recubrimiento suficiente, y sin impactar la tasa de la codificación MDCT de la trama de transición.
A tal efecto, la invención contempla igualmente un procedimiento de decodificación P de una señal digital codificada, en un decodificador 500 apto para decodificar tramas de señal según una decodificación predictiva o según una decodificación por transformada, que incluye las etapas siguientes:
- recepción, en la etapa 501, de un primer conjunto de parámetros de codificación predictiva que codifica una primera trama de la señal digital;
- decodificación predictiva, en la etapa 605, de la primera trama sobre la base del primer conjunto de parámetros de codificación predictiva;
- recepción, en la etapa 501 para una nueva trama, de un segundo conjunto de parámetros de codificación predictiva de una primera subtrama de transición de una trama de transición codificada por transformada:
5
10
15
20
25
30
35
40
45
50
55
60
65
- decodificación, en la etapa 614, de la primera subtrama de transición sobre la base del segundo conjunto de parámetros de codificación predictiva;
- generación, en la etapa 614, de muestras de una segunda subtrama de transición, a partir de al menos un parámetro de codificación predictiva del segundo conjunto.
La invención contempla además el decodificador 500 para la implementación del procedimiento de decodificación P, así como un programa informático que incluye unas instrucciones para la implementación del procedimiento de decodificación P, cuando estas instrucciones se ejecutan por un procesador.
Los parámetros CELP reutilizados para la generación de la segunda subtrama pueden ser el vector de ganancias, el vector del diccionario adaptativo y el vector del diccionario fijo.
Según un modo de realización del procedimiento de decodificación P, un valor mínimo de recubrimiento puede predefinirse para la decodificación por transformada y el número de muestras generadas de la segunda subtrama se determina en función del valor mínimo de recubrimiento. Esta última subtrama puede generarse sin información complementaria prolongando la síntesis CELP repitiendo la predicción de pitch con el mismo retraso de pitch y la misma ganancia de diccionario adaptativo que en la primera subtrama, y efectuando un filtrado LPC de síntesis con los mismos coeficientes LPC y una desénfasis o desacentuación.
La segunda subtrama CELP puede truncarse a continuación de forma que solo se conserve 1,25 ms de señal en el caso del centro CELP a 12,8 kHz, y 2,25 ms de señal en el caso de centro CELP a 16 kHz. La primera subtrama CELP se completa de esta forma para tener 6,25 ms de señal complementaria lo que permite rellenar el hueco y asegurar una suma-recubrimiento satisfactoria (valor mínimo de recubrimiento, por ejemplo de 1,875 ms) con la trama de transición MDCT. En un modo de realización, la subtrama CELP complementaria tiene una longitud extendida a 6,25 ms para los centros CELP a 12,8 y 16 kHz, lo que implica modificar la codificación CELP “normal” para disponer de una longitud de subtrama extendida de este tipo, en particular para el diccionario fijo.
Como complemento del modo de realización anterior del procedimiento de decodificación P, el procedimiento P puede comprender además una etapa 615 de remuestreo implementada por un filtro con respuesta de impulsos finita. Como se ha explicado anteriormente, el filtro FIR puede integrarse en la unidad de remuestreo 505. El remuestreo usa la memoria del filtro FIR de la trama CELP anterior y el tratamiento induce un retraso complementario de 1,25 ms en este ejemplo.
El procedimiento P puede incluir además una etapa de adición de una señal adicional obtenida a partir de muestras almacenadas en la memoria del filtro con respuesta de impulsos finita, para corregir el retraso introducido por la etapa de remuestreo. De este modo, 1,25 ms de señal, además de los 6,25 ms de señal adicional anteriormente generada, se generan por el decodificador 500, permitiendo estas muestras ventajosamente corregir el retraso introducido por el remuestreo de los 6,25 ms de señal adicional.
A tal efecto, la memoria del filtro FIR de la unidad de remuestreo 505 puede guardarse en cada trama después de decodificación CELP. El número de muestras en esta memoria corresponde a 1,25 ms a la frecuencia del centro CELP considerada (12,8 o 16 kHz).
Según un modo de realización complementario del procedimiento P, el remuestreo de las muestras almacenadas se efectúa por un método de interpolación que introduce un segundo retraso inferior al primer retraso del filtro con respuesta de impulsos finita, que se puede considerar como nulo. De este modo, los 1,25 ms de señal generados a partir de la memoria del filtro FIR, se remuestrean según un método que implica un retraso menor. Por ejemplo, un remuestreo de los 1,25 ms de señal generada por la memoria del filtro FIR puede implementarse por interpolación cúbica, que implica un retraso de dos muestras únicamente, retraso menor comparado con el retraso del filtro FIR. De este modo, dos muestras de señal complementarias son necesarias para remuestrear los 1,25 ms de señal citados anteriormente: estas dos muestras complementarias pueden obtenerse repitiendo el último valor de la memoria de remuestreo del filtro FIR.
El decodificador puede decodificar además la parte alta frecuencia de los 6,25 ms de señal CELP obtenida a partir de las primera y segunda subtramas de transición. A tal efecto, el decodificador CELP 504 puede usar la ganancia adaptativa y el vector del diccionario fijo de la última subtrama de la trama CELP anterior.
El decodificador 500 comprende además una unidad de suma-recubrimiento 509 apta para asegurar la suma- recubrimiento, en una etapa 616, entre las subtramas de transición CELP decodificadas y remuestreadas, las muestras remuestreadas por la interpolación cúbica, y la señal decodificada de la trama de transición procedente del decodificador MDCT 507.
A tal efecto, la unidad 509 aplica la ventana modificada 327 de síntesis de la figura 3. De este modo, antes del punto de repliegue MDCT para los dos primeros cuartos, se ponen a cero las muestras con ventana. Después del punto de repliegue citado anteriormente, las muestras con ventana se dividen por la ventana no modificada 324 de la figura 3, y se multiplican por una ventana de tipo seno de manera que, combinada con la ventana aplicada al codificador, la
5
10
15
20
25
30
ventana total sea en sen2. En la parte afectada por la suma-recubrimiento, las muestras procedentes del CELP y del remuestreo a 0 plazo (por ejemplo por interpolación cúbica) están ponderadas por una ventana en cos2
La trama de transición obtenida de este modo se transmite a la interfaz de salida 510 del decodificador en la etapa 608.
La figura 7 representa un ejemplo de dispositivo 700 de determinación de la distribución de los bits de una trama de transición.
El dispositivo comprende una memoria viva 704 y un procesador 703 para almacenar instrucciones que permitan la implementación del procedimiento de determinación de la distribución de los bits de una trama de transición descrito anteriormente. El dispositivo incluye también una memoria de masa 705 para el almacenamiento de datos destinados para conservarse después de la aplicación del procedimiento. El dispositivo 700 incluye además una interfaz de entrada 701 y una interfaz de salida 706 respectivamente destinadas a recibir las tramas de la señal digital y a emitir el detalle del presupuesto asignado a estas diferentes tramas.
El dispositivo 700 puede incluir además un procesador de señal digital (DSP) 702. Este DSP 702 recibe las tramas de señal digital para conformar, demodular y amplificar, de manera conocida en sí estas tramas.
La presente invención no se limita a las formas de realización descritas anteriormente a título de ejemplos; se extiende a otras variantes.
De este modo, se ha descrito anteriormente un modo de realización en el que los dispositivos de compresión o de descompresión son entidades completas. Por supuesto, estos dispositivos pueden embarcarse en cualquier tipo de dispositivo más grande como por ejemplo una cámara digital, un aparato fotográfico, un teléfono móvil, un ordenador, un proyector de cine, etc.
Por otro lado, se ha descrito un modo de realización que propone una arquitectura particular de los dispositivos de compresión, de descompresión y de comparación. Estas arquitecturas solo se dan a título ilustrativo. De este modo, se pueden considerar igualmente una habilitación de los componentes y una distribución diferente de las tareas atribuidas a cada uno de estos componentes. Por ejemplo, las tareas efectuadas el procesador de señal digital (DSP) pueden efectuarse igualmente por un procesador clásico.
Claims (15)
- 5101520253035404550556065REIVINDICACIONES1. Procedimiento de determinación de una distribución de bits de codificación de una trama de transición (321; 322), implementándose dicho procedimiento en un codificador/decodificador (100; 500) para la codificación/decodificación de una señal digital audio, estando la trama de transición antecedida por una trama anterior (320) codificada por predicción, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama de la trama de transición, caracterizándose el procedimiento por las siguientes etapas:- atribución (402; 405) de una tasa de bits para la codificación predictiva de la subtrama de transición, siendo dicha tasa de bits igual al mínimo entre la tasa de bits de la codificación por transformada de la trama de transición y un primer valor predeterminado de tasa de bits;- determinación (404; 408) de un primer número de bits asignados para la codificación predictiva de la subtrama de transición para dicha tasa de bits; y- cálculo (410) de un segundo número de bits asignados para la codificación por transformada de la trama de transición a partir del primer número de bits y de un número de bits disponibles para la codificación de la trama de transición.
- 2. Procedimiento según la reivindicación 1, en el que el codificador/decodificador (100; 500) comprende un primer centro que funciona, para la codificación/decodificación predictiva de una trama de señal, a una primera frecuencia, y un segundo centro que funciona, para la codificación/decodificación predictiva de una trama de señal, a una segunda frecuencia,en el que el primer valor predeterminado de tasa de bits depende del centro seleccionado entre los primero y segundo centros para la codificación/decodificación de la trama anterior (320) codificada por predicción.
- 3. Procedimiento según la reivindicación 2, cuando el primer centro se ha seleccionado para la codificación/decodificación de la trama anterior (320) codificada por predicción, la tasa de bits atribuida es además igual al máximo entre la tasa de bits de la trama de transición (322) codificada por transformada y al menos un segundo valor predeterminado de tasa de bits, siendo el segundo valor inferior al primer valor.
- 4. Procedimiento según una de las reivindicaciones anteriores, en el que la señal digital audio se descompone en al menos una banda baja de frecuencias y una banda alta de frecuencias,en el que el primer número de bits calculado se atribuye a la codificación predictiva de la subtrama de transición(321) para la banda baja de frecuencias, y en el que un tercer número de bits predeterminado se asigna a una codificación de la subtrama de transición para la banda alta de frecuencias,y en el que el segundo número de bits asignados para la codificación por transformada de la trama de transición(322) se determina además a partir del tercer número de bits predeterminado.
- 5. Procedimiento según la reivindicación 4, en el que el número de bits disponibles para la codificación de la trama de transición (321; 322) es fijo.
- 6. Procedimiento según la reivindicación 5, en el que el segundo número de bits es igual al número fijo de bits de codificación de la trama de transición (321; 322) menos el primer número de bits menos el tercer número de bits.
- 7. Procedimiento según la reivindicación 5, en el que el segundo número de bits es igual al número fijo de bits de codificación de la trama de transición (321; 322) menos el primer número de bits menos el tercer número de bits menos un primer bit menos un segundo bit,indicando el primer bit si un filtrado de paso bajo se efectúa durante la determinación de los parámetros de la codificación predictiva de la subtrama de transición, siendo dichos parámetros relativos al plazo tonal, indicando el segundo bit la frecuencia usada por el centro del codificador/decodificador para la codificación/decodificación predictiva de la subtrama de transición.
- 8. Procedimiento de codificación de una señal digital audio en un codificador (100) apto para codificar tramas de señal según una codificación predictiva o según una codificación por transformada, que incluye las etapas siguientes:* codificación de una trama anterior (301) de muestras de la señal digital audio según una codificación predictiva;* codificación de una trama corriente (302) de muestras de la señal digital audio en una trama de transición (321; 322), comprendiendo la codificación de la trama de transición (321; 322) una codificación por transformada y una codificación predictiva de una única subtrama (321) de la trama de transición, incluyendo dicha codificación de la trama corriente (302) las subetapas siguientes:- determinación (209) de la distribución de los bits según una de las reivindicaciones anteriores;- codificación por transformada (212) de la trama de transición (322) en el segundo número de bits asignados;- codificación predictiva (213) de la subtrama de transición (321) en el primer número de bits asignados.5101520253035404550556065
- 9. Procedimiento de codificación según la reivindicación 8, en el que la codificación predictiva comprende la generación de parámetros de codificación predictiva determinados para dicha tasa de bits asignada.
- 10. Procedimiento de codificación según una de las reivindicaciones 8 y 9, en el que la codificación predictiva comprende la generación de parámetros de codificación predictiva restringidos con respecto a la codificación predictiva de la trama anterior (320) reutilizando al menos un parámetro de la codificación predictiva de la trama anterior.
- 11. Procedimiento de decodificación de una señal digital audio codificada, implementado en un decodificador (500) apto para decodificar tramas de señal según una codificación predictiva o según una decodificación por transformada, que incluye las etapas de:* decodificación predictiva (605) de una trama anterior de muestras de la señal digital audio codificada según una codificación predictiva;* decodificación de una trama de transición (321; 322) que codifica una trama corriente de muestras de la señal digital audio, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama (321) de la trama de transición, que incluye las subetapas de:- determinación (611) de la distribución de los bits según una de las reivindicaciones 1 a 7;- decodificación predictiva (614) de la subtrama de transición (321) en el primer número de bits asignados;- decodificación por transformada (612) de la trama de transición (322) en el segundo número de bits asignados.
- 12. Programa informático que incluye instrucciones para la implementación del procedimiento según una cualquiera de las reivindicaciones anteriores, cuando estas instrucciones se ejecutan por un procesador.
- 13. Dispositivo de determinación de una distribución de bits de codificación de una trama de transición (321; 322), implementándose dicho dispositivo (104; 503) en un codificador/decodificador para la codificación/decodificación de una señal digital audio, estando la trama de transición antecedida por una trama anterior (320) codificada por predicción, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de una única subtrama (321) de la trama de transición, siendo el número de bits de codificación de la trama de transición fijo, caracterizándose el dispositivo por un procesador habilitado para efectuar las operaciones siguientes:- atribución de una tasa de bits para la codificación predictiva de la subtrama de transición, siendo dicha tasa de bits igual al mínimo entre la tasa de bits de la codificación por transformada de la trama de transición y un primer valor predeterminado de tasa de bits;- determinación de un primer número de bits asignados para la codificación predictiva de la subtrama de transición para dicha tasa de bits y;- cálculo de un segundo número de bits asignados para la codificación por transformada de la trama de transición a partir del número de bits necesario para la codificación de los parámetros de codificación y el número fijo de bits de codificación de la trama de transición.
- 14. Codificador apto para codificar tramas de una señal digital audio según una codificación predictiva o según una codificación por transformada, que incluye:* un dispositivo (104) según la reivindicación 13;* un codificador predictivo (103) que incluye un procesador habilitado para efectuar las operaciones siguientes:- codificación de una trama anterior de muestras de la señal digital audio según una codificación predictiva;- codificación predictiva de una única subtrama comprendida en una trama de transición que codifica una trama corriente de muestras de la señal digital audio, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de dicha subtrama, estando el procesador habilitado para efectuar la codificación predictiva de la subtrama de transición en el primer número de bits asignados;* un codificador por transformada (105) que incluye un procesador habilitado para efectuar la operación de codificación por transformada de la trama de transición en el segundo número de bits asignados.
- 15. Decodificador de una señal digital audio codificada por una codificación predictiva y por una codificación por transformada, que incluye:* un dispositivo (503) según la reivindicación 13;* un decodificador predictivo (504) que incluye un procesador habilitado para efectuar las operaciones siguientes:- decodificación predictiva de una trama anterior (320) de muestras de la señal digital audio codificada según una codificación predictiva;- decodificación predictiva de una única subtrama (321) comprendida en una trama de transición que codifica una trama corriente de muestras de la señal digital audio, comprendiendo la codificación de la trama de transición una codificación por transformada y una codificación predictiva de dicha subtrama, estando el procesadorhabilitado para efectuar la operación de decodificación predictiva de la subtrama de transición en el primer número de bits asignados;* un decodificador por transformada (507) que incluye un procesador habilitado para efectuar la operación de decodificación por transformada de la trama de transición (322) en el segundo número de bits asignados.5
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1457353 | 2014-07-29 | ||
| FR1457353A FR3024581A1 (fr) | 2014-07-29 | 2014-07-29 | Determination d'un budget de codage d'une trame de transition lpd/fd |
| PCT/FR2015/052073 WO2016016566A1 (fr) | 2014-07-29 | 2015-07-27 | Détermination d'un budget de codage d'une trame de transition lpd/fd |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2676832T3 true ES2676832T3 (es) | 2018-07-25 |
Family
ID=51894138
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15745542.9T Active ES2676832T3 (es) | 2014-07-29 | 2015-07-27 | Determinación de un presupuesto de codificación de una trama de transición LPD/FD |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US10586549B2 (es) |
| EP (1) | EP3175443B1 (es) |
| JP (1) | JP6607921B2 (es) |
| KR (2) | KR102485835B1 (es) |
| CN (2) | CN112133315B (es) |
| ES (1) | ES2676832T3 (es) |
| FR (1) | FR3024581A1 (es) |
| WO (1) | WO2016016566A1 (es) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3024581A1 (fr) * | 2014-07-29 | 2016-02-05 | Orange | Determination d'un budget de codage d'une trame de transition lpd/fd |
| CN107004417B (zh) * | 2014-12-09 | 2021-05-07 | 杜比国际公司 | Mdct域错误掩盖 |
| KR102736785B1 (ko) * | 2017-09-20 | 2024-12-03 | 보이세지 코포레이션 | 씨이엘피 코덱에 있어서 서브-프레임들간에 비트-예산을 할당하는 방법 및 디바이스 |
| JP7608362B2 (ja) | 2019-05-07 | 2025-01-06 | ヴォイスエイジ・コーポレーション | コーディングされる音声信号内のアタックを検出し、検出されたアタックをコーディングするための方法およびデバイス |
| CN111402908A (zh) * | 2020-03-30 | 2020-07-10 | Oppo广东移动通信有限公司 | 语音处理方法、装置、电子设备和存储介质 |
| CN111431947A (zh) * | 2020-06-15 | 2020-07-17 | 广东睿江云计算股份有限公司 | 一种云桌面客户端优化显示的方法及系统 |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69926821T2 (de) * | 1998-01-22 | 2007-12-06 | Deutsche Telekom Ag | Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen |
| US6604070B1 (en) * | 1999-09-22 | 2003-08-05 | Conexant Systems, Inc. | System of encoding and decoding speech signals |
| US6782360B1 (en) * | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
| US6804218B2 (en) * | 2000-12-04 | 2004-10-12 | Qualcomm Incorporated | Method and apparatus for improved detection of rate errors in variable rate receivers |
| WO2003017555A2 (en) * | 2001-08-17 | 2003-02-27 | Broadcom Corporation | Improved bit error concealment methods for speech coding |
| CA2365203A1 (en) * | 2001-12-14 | 2003-06-14 | Voiceage Corporation | A signal modification method for efficient coding of speech signals |
| US6647366B2 (en) * | 2001-12-28 | 2003-11-11 | Microsoft Corporation | Rate control strategies for speech and music coding |
| US7630902B2 (en) * | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
| US7937271B2 (en) * | 2004-09-17 | 2011-05-03 | Digital Rise Technology Co., Ltd. | Audio decoding using variable-length codebook application ranges |
| US8090573B2 (en) * | 2006-01-20 | 2012-01-03 | Qualcomm Incorporated | Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision |
| FR2897733A1 (fr) * | 2006-02-20 | 2007-08-24 | France Telecom | Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant |
| BRPI0718300B1 (pt) * | 2006-10-24 | 2018-08-14 | Voiceage Corporation | Método e dispositivo para codificar quadros de transição em sinais de fala. |
| KR100848324B1 (ko) * | 2006-12-08 | 2008-07-24 | 한국전자통신연구원 | 음성 부호화 장치 및 그 방법 |
| CN101206860A (zh) * | 2006-12-20 | 2008-06-25 | 华为技术有限公司 | 一种可分层音频编解码方法及装置 |
| CN101025918B (zh) * | 2007-01-19 | 2011-06-29 | 清华大学 | 一种语音/音乐双模编解码无缝切换方法 |
| CN100578619C (zh) * | 2007-11-05 | 2010-01-06 | 华为技术有限公司 | 编码方法和编码器 |
| ATE518224T1 (de) * | 2008-01-04 | 2011-08-15 | Dolby Int Ab | Audiokodierer und -dekodierer |
| CN101261836B (zh) * | 2008-04-25 | 2011-03-30 | 清华大学 | 基于过渡帧判决及处理的激励信号自然度提高方法 |
| EP2311034B1 (en) * | 2008-07-11 | 2015-11-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding frames of sampled audio signals |
| ES2683077T3 (es) * | 2008-07-11 | 2018-09-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada |
| EP3002750B1 (en) * | 2008-07-11 | 2017-11-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding audio samples |
| KR101315617B1 (ko) * | 2008-11-26 | 2013-10-08 | 광운대학교 산학협력단 | 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기 |
| KR101622950B1 (ko) * | 2009-01-28 | 2016-05-23 | 삼성전자주식회사 | 오디오 신호의 부호화 및 복호화 방법 및 그 장치 |
| EP2460158A4 (en) * | 2009-07-27 | 2013-09-04 | METHOD AND DEVICE FOR PROCESSING A TONE SIGNAL | |
| ES2441069T3 (es) * | 2009-10-08 | 2014-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación |
| MX2012004648A (es) * | 2009-10-20 | 2012-05-29 | Fraunhofer Ges Forschung | Codificacion de señal de audio, decodificador de señal de audio, metodo para codificar o decodificar una señal de audio utilizando una cancelacion del tipo aliasing. |
| WO2011048094A1 (en) * | 2009-10-20 | 2011-04-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-mode audio codec and celp coding adapted therefore |
| CN102222505B (zh) * | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | 可分层音频编解码方法系统及瞬态信号可分层编解码方法 |
| KR20130036304A (ko) * | 2010-07-01 | 2013-04-11 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
| US8990094B2 (en) * | 2010-09-13 | 2015-03-24 | Qualcomm Incorporated | Coding and decoding a transient frame |
| FR2969805A1 (fr) * | 2010-12-23 | 2012-06-29 | France Telecom | Codage bas retard alternant codage predictif et codage par transformee |
| TWI479478B (zh) * | 2011-02-14 | 2015-04-01 | 弗勞恩霍夫爾協會 | 用以使用對齊的預看部分將音訊信號解碼的裝置與方法 |
| CN102737636B (zh) * | 2011-04-13 | 2014-06-04 | 华为技术有限公司 | 一种音频编码方法及装置 |
| FR2977439A1 (fr) * | 2011-06-28 | 2013-01-04 | France Telecom | Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard. |
| WO2013002623A2 (ko) * | 2011-06-30 | 2013-01-03 | 삼성전자 주식회사 | 대역폭 확장신호 생성장치 및 방법 |
| FR2981781A1 (fr) * | 2011-10-19 | 2013-04-26 | France Telecom | Codage hierarchique perfectionne |
| JP6039678B2 (ja) * | 2011-10-27 | 2016-12-07 | エルジー エレクトロニクス インコーポレイティド | 音声信号符号化方法及び復号化方法とこれを利用する装置 |
| TWI591620B (zh) * | 2012-03-21 | 2017-07-11 | 三星電子股份有限公司 | 產生高頻雜訊的方法 |
| CN109448745B (zh) * | 2013-01-07 | 2021-09-07 | 中兴通讯股份有限公司 | 一种编码模式切换方法和装置、解码模式切换方法和装置 |
| WO2014128197A1 (en) * | 2013-02-20 | 2014-08-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
| EP2980797A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
| FR3024581A1 (fr) * | 2014-07-29 | 2016-02-05 | Orange | Determination d'un budget de codage d'une trame de transition lpd/fd |
| TWI602172B (zh) * | 2014-08-27 | 2017-10-11 | 弗勞恩霍夫爾協會 | 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法 |
-
2014
- 2014-07-29 FR FR1457353A patent/FR3024581A1/fr active Pending
-
2015
- 2015-07-27 KR KR1020227015119A patent/KR102485835B1/ko active Active
- 2015-07-27 CN CN202010879909.4A patent/CN112133315B/zh active Active
- 2015-07-27 US US15/329,671 patent/US10586549B2/en active Active
- 2015-07-27 ES ES15745542.9T patent/ES2676832T3/es active Active
- 2015-07-27 EP EP15745542.9A patent/EP3175443B1/fr active Active
- 2015-07-27 JP JP2017504670A patent/JP6607921B2/ja active Active
- 2015-07-27 KR KR1020177005825A patent/KR20170037660A/ko not_active Ceased
- 2015-07-27 CN CN201580044697.5A patent/CN106605263B/zh active Active
- 2015-07-27 WO PCT/FR2015/052073 patent/WO2016016566A1/fr not_active Ceased
-
2020
- 2020-01-29 US US16/775,569 patent/US11158332B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN112133315B (zh) | 2024-03-08 |
| KR102485835B1 (ko) | 2023-01-09 |
| US11158332B2 (en) | 2021-10-26 |
| CN112133315A (zh) | 2020-12-25 |
| JP2017527843A (ja) | 2017-09-21 |
| WO2016016566A1 (fr) | 2016-02-04 |
| US20180182408A1 (en) | 2018-06-28 |
| KR20170037660A (ko) | 2017-04-04 |
| JP6607921B2 (ja) | 2019-11-20 |
| EP3175443A1 (fr) | 2017-06-07 |
| CN106605263A (zh) | 2017-04-26 |
| FR3024581A1 (fr) | 2016-02-05 |
| US20200168236A1 (en) | 2020-05-28 |
| KR20220066412A (ko) | 2022-05-24 |
| CN106605263B (zh) | 2020-11-27 |
| US10586549B2 (en) | 2020-03-10 |
| EP3175443B1 (fr) | 2018-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2676834T3 (es) | Gestión de la pérdida de trama en un contexto de transición FD/LPD | |
| ES2676832T3 (es) | Determinación de un presupuesto de codificación de una trama de transición LPD/FD | |
| ES2529221T3 (es) | Codificación de sonido con bajo retardo que alterna codificación predictiva y codificación por transformada | |
| ES2380307T3 (es) | Esquema de codificación/decodificación de audio de tasa de transmisión de bits baja con preprocesamiento común. | |
| ES3020834T3 (en) | Adaptive bandwidth extension and apparatus for the same | |
| ES2683077T3 (es) | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada | |
| ES2564400T3 (es) | Codificador y descodificador de audio para codificar y descodificar muestras de audio | |
| ES2587853T3 (es) | Dispositivo de decodificación de habla, método de decodificación de habla y programa de decodificación de habla | |
| ES2908183T3 (es) | Decisión no sonora para el procesamiento de la voz | |
| KR20130133846A (ko) | 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법 | |
| ES3015008T3 (en) | Downscaled decoding | |
| ES2651988T3 (es) | Transición desde una codificación/decodificación por transformada hacia una codificación/decodificación predictiva | |
| ES3052662T3 (en) | Apparatus and method encoding an audio signal using an aligned look-ahead portion | |
| BR112020009114A2 (pt) | aparelho para codificar um sinal de informações que inclui uma pluralidade de quadros, sistema que compreende um lado do codificador e um lado do decodificador, método para determinar um atraso de pitch e programa que compreende instruções |