ES3009924T3 - Method and device for quantization of linear prediction coefficient and method and device for inverse quantization - Google Patents
Method and device for quantization of linear prediction coefficient and method and device for inverse quantization Download PDFInfo
- Publication number
- ES3009924T3 ES3009924T3 ES21168545T ES21168545T ES3009924T3 ES 3009924 T3 ES3009924 T3 ES 3009924T3 ES 21168545 T ES21168545 T ES 21168545T ES 21168545 T ES21168545 T ES 21168545T ES 3009924 T3 ES3009924 T3 ES 3009924T3
- Authority
- ES
- Spain
- Prior art keywords
- quantization
- quantizer
- signal
- frame
- prediction
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
- G10L19/07—Line spectrum pair [LSP] 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
- G10L2019/0001—Codebooks
- G10L2019/0002—Codebook adaptations
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0004—Design or structure of the codebook
- G10L2019/0005—Multi-stage vector quantisation
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0004—Design or structure of the codebook
- G10L2019/0006—Tree or treillis structures; Delayed decisions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un aparato de cuantificación comprende: un primer módulo de cuantificación para realizar la cuantificación sin una predicción entre cuadros; y un segundo módulo de cuantificación para realizar la cuantificación con una predicción entre cuadros, y el primer módulo de cuantificación comprende: una primera parte de cuantificación para cuantificar una señal de entrada; y una tercera parte de cuantificación para cuantificar una primera señal de error de cuantificación, y el segundo módulo de cuantificación comprende: una segunda parte de cuantificación para cuantificar un error de predicción; y una cuarta parte de cuantificación para cuantificar una segunda señal de error de cuantificación, y la primera parte de cuantificación y la segunda parte de cuantificación comprenden un cuantificador vectorial estructurado en red. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método y dispositivo para cuantificación de coeficiente de predicción lineal y método y dispositivo para cuantificación inversa
Campo técnico
La descripción se refiere a un aparato de cuantificación para codificar una señal de audio.
Antecedentes de la técnica
En un sistema para codificar un sonido como, por ejemplo, la voz o el audio, se utiliza un coeficiente de codificación predictiva lineal (LPC, por sus siglas en inglés) para representar una característica de frecuencia a corto plazo del sonido. El coeficiente LPC se obtiene en forma de dividir un sonido de entrada en unidades de trama y minimizar la energía de un error de predicción para cada trama. Sin embargo, el coeficiente LPC tiene un amplio rango dinámico y una característica de un filtro LPC utilizado es muy sensible a un error de cuantificación del coeficiente LPC y, por lo tanto, no se garantiza la estabilidad del filtro.
Por lo tanto, un coeficiente LPC se cuantifica convirtiendo el coeficiente LPC en otro coeficiente en el cual la estabilidad del filtro se confirma fácilmente, la interpolación es ventajosa y una característica de cuantificación es buena. Se prefiere en su mayoría que un coeficiente LPC se cuantifique convirtiendo el coeficiente LPC en una frecuencia espectral de línea (LSF) o una frecuencia espectral de inmitancia (ISF, por sus siglas en inglés). En particular, un esquema de cuantificación de un coeficiente LSF puede utilizar una alta correlación entre tramas del coeficiente LSF en un dominio de frecuencia y un dominio de tiempo, aumentando así una ganancia de cuantificación.
Un coeficiente LSF muestra una característica de frecuencia de un sonido de corta duración y, en el caso de una trama en la cual una característica de frecuencia de un sonido de entrada varía bruscamente, un coeficiente LSF de una trama correspondiente también varía bruscamente. Sin embargo, un cuantificador que incluye un predictor entre tramas que utiliza una alta correlación entre tramas de un coeficiente LSF no puede llevar a cabo una predicción adecuada para una trama que varía bruscamente y, por lo tanto, el rendimiento de cuantificación disminuye.
Por lo tanto, es necesario seleccionar un cuantificador optimizado en correspondencia con una característica de señal de cada trama de un sonido de entrada.
A partir del documento WO 2012/114878 A2, se conoce un método de cuantificación que incluye cuantificar una señal de entrada seleccionando uno de un primer esquema de cuantificación que no utiliza una predicción entre tramas y un segundo esquema de cuantificación que utiliza la predicción entre tramas, teniendo en cuenta uno o más de un modo de predicción, un error predictivo y un estado del canal de transmisión.
Descripción
Problemas técnicos
Una o más realizaciones a modo de ejemplo incluyen un aparato para cuantificar eficientemente un coeficiente de codificación predictiva lineal (LPC) con baja complejidad y un método y aparato para cuantificación inversa.
Solución técnica
Según una o más realizaciones a modo de ejemplo, se provee un aparato de cuantificación según la reivindicación 1. El aparato de cuantificación puede incluir características ventajosas adicionales según cualquiera de las reivindicaciones 2 a 6.
Efectos ventajosos
Según una realización a modo de ejemplo, cuando una señal de voz o audio se cuantifica clasificando la señal de voz o audio en múltiples modos de codificación según una característica de señal de voz o audio y asignando una cantidad diversa de bits según una relación de compresión aplicada a cada modo de codificación, la señal de voz o audio se puede cuantificar de manera más eficiente diseñando un cuantificador que tenga un buen rendimiento a una velocidad binaria baja.
Además, se puede minimizar la cantidad utilizada de memoria compartiendo un libro de códigos de algunos cuantificadores cuando se diseña un dispositivo de cuantificación para proveer varias velocidades de bits.
Breve descripción de los dibujos
Estos y/u otros aspectos se harán evidentes y se apreciarán más fácilmente a partir de la siguiente descripción de las realizaciones a modo de ejemplo, tomadas en conjunto con los dibujos anexos en los cuales:
La FIG. 1 es un diagrama de bloques de un aparato de codificación de sonido.
La FIG. 2 es un diagrama de bloques de un aparato de codificación de sonido.
La FIG. 3 es un diagrama de bloques de una unidad de cuantificación de codificación predictiva lineal (LPC). La FIG. 4 es un diagrama de bloques detallado de una unidad de determinación de función de ponderación de la FIG. 3.
La FIG. 5 es un diagrama de bloques detallado de una primera unidad de generación de función de ponderación de la FIG. 4.
La FIG. 6 es un diagrama de bloques de una unidad de cuantificación de coeficientes LPC.
La FIG. 7 es un diagrama de bloques de una unidad de selección de la FIG. 6.
La FIG. 8 es un diagrama de flujo para describir una operación de la unidad de selección de la FIG. 6.
Las FIGS. 9A a 9D son diagramas de bloques que ilustran varios ejemplos implementados de un primer módulo de cuantificación que se muestra en la FIG. 6.
Las FIGS. 10A a 10F son diagramas de bloques que ilustran varios ejemplos implementados de un segundo módulo de cuantificación que se muestra en la FIG. 6.
Las FIGS. 11A a 11F son diagramas de bloques que ilustran varios ejemplos implementados de un cuantificador en el que se aplica un peso a un cuantificador vectorial codificado de entrelazado con restricciones de bloque (BC-TCVQ, por sus siglas en inglés).
La FIG. 12 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a baja velocidad.
La FIG. 13 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a alta velocidad, según una realización.
La FIG. 14 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a baja velocidad.
La FIG. 15 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a alta velocidad.
La FIG. 16 es un diagrama de bloques de una unidad de cuantificación de coeficiente LPC.
La FIG. 17 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle cerrado.
La FIG. 18 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle cerrado.
La FIG. 19 es un diagrama de bloques de un aparato de cuantificación inversa.
La FIG. 20 es un diagrama de bloques detallado del aparato de cuantificación inversa.
La FIG. 21 es un diagrama de bloques detallado del aparato de cuantificación inversa.
Modo de invención
El concepto inventivo puede permitir diversos tipos de cambios o modificaciones y diversos cambios de forma, y se ilustrarán realizaciones específicas en dibujos y se describirán en detalle en la memoria descriptiva. En la descripción del concepto inventivo, cuando se determina que una descripción específica de características conocidas relevantes puede oscurecer los aspectos esenciales del concepto inventivo, se omite una descripción detallada del mismo.
Aunque términos como, por ejemplo, "primero" y "segundo", se pueden utilizar para describir varios elementos, estos no pueden limitarse a los términos. Los términos se pueden utilizar para clasificar un determinado elemento a partir de otro.
La terminología utilizada en la solicitud se utiliza únicamente para describir realizaciones específicas y no tiene ninguna intención de limitar el concepto inventivo. Los términos utilizados en esta memoria descriptiva son aquellos términos generales que se utilizan ampliamente en la actualidad en la técnica, pero los términos pueden variar según la intención de las personas con experiencia ordinaria en la técnica, precedentes o nueva tecnología en la técnica. Asimismo, el solicitante puede seleccionar términos especificados y, en este caso, el significado detallado de los mismos se describirá en la descripción detallada. Por lo tanto, los términos utilizados en la memoria descriptiva deben entenderse no como simples nombres sino en función del significado de los términos y la descripción general.
Una expresión en singular incluye una expresión en plural a menos que sean claramente diferentes entre sí en el contexto. En la solicitud, debe entenderse que términos como, por ejemplo, "incluir" y "tener", se utilizan para indicar la existencia de una característica, número, etapa, operación, elemento, parte o una combinación de los mismos implementados sin excluir con antelación la posibilidad de la existencia o adición de una o más características, números, etapas, operaciones, elementos, partes o combinaciones de los mismos.
A continuación, se describirán en detalle realizaciones del concepto inventivo con referencia a los dibujos anexos, y numerales de referencia iguales en los dibujos denotan elementos iguales, y por lo tanto se omitirá su descripción repetitiva.
En general, un cuantificador codificado de entrelazado (TCQ, por sus siglas en inglés) cuantifica un vector de entrada asignando un elemento a cada etapa de TCQ, mientras que un cuantificador vectorial codificado de entrelazado (TCVQ, por sus siglas en inglés) utiliza una estructura de generación de subvectores dividiendo un vector de entrada completo en subvectores y luego asignando cada subvector a una etapa de TCQ. Cuando se forma un cuantificador utilizando un elemento, se forma un TCQ, y cuando se forma un cuantificador utilizando un subvector combinando múltiples elementos, se forma un TCVQ. Por lo tanto, cuando se utiliza un subvector bidimensional (2D), un número total de etapas de TCQ tienen el mismo tamaño que el obtenido dividiendo el tamaño de un vector de entrada por 2. Comúnmente, un códec de voz/audio codifica una señal de entrada en una unidad de trama, y se extrae un coeficiente de frecuencia espectral de línea (LSF) para cada trama. Un coeficiente LSF tiene forma vectorial y se utiliza una dimensión de 10 o 16 para el coeficiente LSF. En este caso, al considerar un TCVQ 2D, el número de subvectores es 5 u 8.
La FIG. 1 es un diagrama de bloques de un aparato de codificación de sonido según un ejemplo ilustrativo.
Un aparato 100 de codificación de sonido que se muestra en la FIG. 1 puede incluir una unidad 110 de selección de modo de codificación, una unidad 130 de cuantificación de coeficiente de codificación predictiva lineal (LPC) y una unidad 150 de codificación CELP. Cada componente puede implementarse como al menos un procesador (no se muestra) al integrarse en al menos un módulo. En una realización, dado que un sonido puede indicar audio o voz, o una señal mixta de audio y voz, en adelante, un sonido se denomina voz para facilitar la descripción.
Con referencia a la FIG. 1, la unidad 110 de selección de modo de codificación puede seleccionar uno de múltiples modos de codificación en correspondencia con múltiples velocidades. La unidad 110 de selección de modo de codificación puede determinar un modo de codificación de una trama actual utilizando una característica de señal, información de detección de actividad de voz (VAD, por sus siglas en inglés) o un modo de codificación de una trama anterior.
La unidad 130 de cuantificación de coeficiente LPC puede cuantificar un coeficiente LPC utilizando un cuantificador correspondiente al modo de codificación seleccionado y determinar un índice de cuantificación que representa el coeficiente LPC cuantificado. La unidad 130 de cuantificación de coeficiente LPC puede llevar a cabo la cuantificación convirtiendo el coeficiente LPC en otro coeficiente adecuado para la cuantificación.
La unidad 150 de codificación de señal de excitación puede llevar a cabo la codificación de señal de excitación según el modo de codificación seleccionado. Para la codificación de señal de excitación, se puede utilizar un algoritmo de predicción lineal excitada por código (CELP, por sus siglas en inglés) o CELP algebraica (ACELP, por sus siglas en inglés). Los parámetros representativos para codificar un coeficiente LPC mediante un esquema CELP son un índice de libro de códigos adaptativo, una ganancia de libro de códigos adaptativo, un índice de libro de códigos fijo, una ganancia de libro de códigos fija y similares. La codificación de señal de excitación se puede llevar a cabo en función de un modo de codificación correspondiente a una característica de una señal de entrada. Por ejemplo, se pueden utilizar cuatro modos de codificación, es decir, un modo de codificación sorda (UC, por sus siglas en inglés), un modo de codificación sonora (VC, por sus siglas en inglés), un modo de codificación genérica (GC, por sus siglas en inglés) y un modo de codificación de transición (TC, por sus siglas en inglés). El modo UC se puede seleccionar cuando una señal de voz es un sonido sordo o un ruido que tiene una característica que es similar a la del sonido sordo. El modo VC se puede seleccionar cuando una señal de voz es un sonido sonoro. El modo TC puede utilizarse cuando se codifica una señal de un período de transición en el cual una característica de una señal de voz varía bruscamente. El modo GC puede utilizarse para codificar las otras señales. El modo UC, el modo VC, el modo TC y el modo GC siguen la definición y el criterio de clasificación redactados en ITU-T G.718, pero no se limitan a ellos. La unidad 150 de codificación de señal de excitación puede incluir una unidad de búsqueda de tono de bucle abierto (no se muestra), una unidad de búsqueda de libro de códigos fijo (no se muestra) o una unidad de cuantificación de ganancia (no se muestra), pero se pueden añadir a u omitir componentes de la unidad 150 de codificación de señal de excitación según un modo de codificación. Por ejemplo, en el modo VC, se incluyen todos los componentes descritos anteriormente y, en el modo UC, no se utiliza la unidad de búsqueda de tono de bucle abierto. La unidad 150 de codificación de señal de excitación puede simplificarse en el modo GC y el modo VC cuando el número de bits asignados a la cuantificación es grande, es decir, en el caso de una alta velocidad binaria. Es decir, al incluir el modo UC y el modo TC en el modo GC, el modo GC puede usarse para el modo UC y el modo TC. En el caso de una alta velocidad binaria, se puede incluir además un modo de codificación inactiva (IC, por sus siglas en inglés) y un modo de codificación de audio (AC, por sus siglas en inglés). La unidad 150 de codificación de señal de excitación puede clasificar un modo de codificación en el modo GC, el modo UC, el modo VC y el modo TC cuando el número de bits asignados a la cuantificación es pequeño, es decir, en el caso de una baja velocidad binaria. En el caso de una baja velocidad binaria, se pueden incluir además el modo IC y el modo AC. El modo IC puede seleccionarse para silenciar, y el modo AC puede seleccionarse cuando una característica de una señal de voz está cerca del audio.
El modo de codificación puede subdividirse además según un ancho de banda de una señal de voz. El ancho de banda de una señal de voz puede clasificarse, por ejemplo, en una banda estrecha (NB, por sus siglas en inglés), una banda ancha (WB, por sus siglas en inglés), una banda súper ancha (SWB, por sus siglas en inglés) y una banda completa (FB, por sus siglas en inglés). La NB puede tener un ancho de banda de 300-3400 Hz o 50-4000 Hz, la WB puede tener un ancho de banda de 50-7000 Hz o 50-8000 Hz, la SWB puede tener un ancho de banda de 50-14000 Hz o 50-16000 Hz, y la FB puede tener un ancho de banda de hasta 20000 Hz. En la presente memoria, los valores numéricos relacionados con los anchos de banda se establecen por conveniencia y no están limitados a ellos. Además, la clasificación del ancho de banda también puede establecerse para que sea más simple o más compleja.
Una vez determinados los tipos y el número de modos de codificación, es necesario volver a entrenar un libro de códigos utilizando una señal de voz correspondiente a un modo de codificación determinado.
La unidad 150 de codificación de señal de excitación puede utilizar además un algoritmo de codificación de transformada según un modo de codificación. Una señal de excitación puede codificarse en una unidad de trama o subtrama.
La FIG. 2 es un diagrama de bloques de un aparato de codificación de sonido según otro ejemplo ilustrativo.
Un aparato 200 de codificación de sonido que se muestra en la FIG. 2 puede incluir una unidad 210 de preprocesamiento, una unidad 220 de análisis LP, una unidad 230 de cálculo de señal ponderada, una unidad 240 de búsqueda de tono de bucle abierto, una unidad 250 de análisis de señal y detección de actividad de voz (VAD), una unidad 260 de codificación, una unidad 270 de actualización de memoria y una unidad 280 de codificación de parámetros. Cada componente puede implementarse como al menos un procesador (no se muestra) al integrarse en al menos un módulo. En la realización, dado que un sonido puede indicar audio o voz, o una señal mixta de audio y voz, en adelante, un sonido se denomina voz para facilitar la descripción.
Con referencia a la FIG. 2, la unidad 210 de preprocesamiento puede preprocesar una señal de voz de entrada. A través del procesamiento de preprocesamiento, se puede eliminar un componente de frecuencia no deseado de la señal de voz, o se puede regular una característica de frecuencia de la señal de voz de modo que sea ventajosa en la codificación. En detalle, la unidad 210 de preprocesamiento puede llevar a cabo filtrado de paso alto, preénfasis, conversión de muestreo o similares.
La unidad 220 de análisis LP puede extraer un coeficiente LPC llevando a cabo un análisis LP en la señal de voz preprocesada. En general, se lleva a cabo un análisis LP por trama, pero se pueden llevar a cabo dos o más análisis LP por trama para una mejora adicional de la calidad del sonido. En este caso, un análisis es una LP para un final de trama, que es un análisis LP existente, y los otros análisis pueden ser LP para una subtrama intermedia para mejorar la calidad del sonido. En la presente memoria, un final de trama de una trama actual indica la última subtrama entre subtramas que constituyen la trama actual, y un final de trama de una trama anterior indica la última subtrama entre subtramas que constituyen la trama anterior. La subtrama intermedia indica una o más subtramas entre subtramas existentes entre la última subtrama que es el final de trama de la trama anterior y la última subtrama que es el final de trama de la trama actual. Por ejemplo, una trama puede constar de cuatro subtramas. Se utiliza una dimensión de 10 para un coeficiente LPC cuando una señal de entrada es una NB, y se utiliza una dimensión de 16-20 para un coeficiente LPC cuando una señal de entrada es una WB, pero la realización no está limitada a esto.
La unidad 230 de cálculo de señal ponderada puede recibir la señal de voz preprocesada y el coeficiente LPC extraído y calcular una señal filtrada con ponderación perceptual basándose en un filtro de ponderación perceptual. El filtro de ponderación perceptual puede reducir el ruido de cuantificación de la señal de voz preprocesada dentro de un rango de enmascaramiento para utilizar un efecto de enmascaramiento de una estructura auditiva humana.
La unidad 240 de búsqueda de tono de bucle abierto puede buscar un tono de bucle abierto utilizando la señal filtrada de ponderación perceptual.
La unidad 250 de análisis de señales y VAD puede determinar si la señal de entrada es una señal de voz activa analizando varias características, incluida la característica de frecuencia de la señal de entrada.
La unidad 260 de codificación puede determinar un modo de codificación de la trama actual mediante el uso de una característica de señal, información VAD o un modo de codificación de la trama anterior, cuantificar un coeficiente LPC mediante el uso de un cuantificador correspondiente al modo de codificación seleccionado, y codificar una señal de excitación según el modo de codificación seleccionado. La unidad 260 de codificación puede incluir los componentes que se muestran en la FIG. 1.
La unidad 270 de actualización de memoria puede almacenar la trama actual codificada y los parámetros utilizados durante la codificación para la codificación de una trama posterior.
La unidad 280 de codificación de parámetros puede codificar parámetros que se utilizarán para la decodificación en un extremo de decodificación e incluir los parámetros codificados en un flujo de bits. Preferiblemente, se pueden codificar parámetros correspondientes a un modo de codificación. El flujo de bits generado por la unidad 280 de codificación de parámetros se puede utilizar con fines de almacenamiento o transmisión.
La Tabla 1 de más abajo muestra un ejemplo de un esquema y una estructura de cuantificación para cuatro modos de codificación. Un esquema de cuantificación sin predicción entre tramas puede denominarse esquema de red de seguridad, y un esquema de cuantificación con predicción entre tramas puede denominarse esquema predictivo. Además, VQ representa un cuantificador vectorial y BC-TCQ representa un cuantificador codificado de entrelazado con restricciones de bloques.
Tabla 1
Un BC-TCVQ representa un cuantificador vectorial codificado de entrelazado con restricciones de bloques. Un TCVQ permite un libro de códigos vectorial y una etiqueta de ramificación mediante la generalización de un TCQ. Las características principales del TCVQ son la partición de los símbolos VQ de un conjunto expandido en subconjuntos y la etiqueta de las ramificaciones de entrelazado con estos subconjuntos. El TCVQ se basa en un código de convolución de tasa 1/2, que tiene N=2v estados de entrelazado, y tiene dos ramificaciones que entran en y salen de cada estado de entrelazado. Cuando se proveen M vectores de origen, se busca una trayectoria de distorsión mínima utilizando un algoritmo de Viterbi. Como resultado, una mejor trayectoria de entrelazado puede comenzar en cualquiera de los N estados iniciales y terminar en cualquiera de los N estados terminales. Un libro de códigos en el TCVQ tiene 2,K,K 1 palabras de código vectoriales. En este caso, dado que el libro de códigos tiene 2K' veces más palabras de código que un VQ de tasa nominal R, R' puede ser un factor de expansión del libro de códigos. Una operación de codificación se describe de forma sencilla de la siguiente manera. En primer lugar, para cada vector de entrada, se busca la distorsión correspondiente a la palabra de código más cercana en cada subconjunto, y se busca una trayectoria de distorsión mínima a través de un entrelazado utilizando el algoritmo de Viterbi colocando, como distorsión buscada, una métrica de ramificación para una ramificación etiquetada a un subconjunto S. Dado que el BC-TCVQ requiere un bit para que cada muestra de origen designe una trayectoria de entrelazado, el BC-TCVQ tiene una complejidad baja. Una estructura BC-TCVQ puede tener 2k estados de entrelazado iniciales y 2v-k estados terminales para cada estado de entrelazado inicial permitido cuando 0<k<v. La codificación de Viterbi única comienza desde un estado de entrelazado inicial permitido y termina en una etapa de vector m-k. Para especificar un estado inicial, se requieren k bits, y para designar una trayectoria a la etapa de vector m-k, se requieren m-k bits. La trayectoria de terminación única que depende de un estado de entrelazado inicial se especifica previamente para cada estado de entrelazado en la etapa de vector m-k a través de una etapa de vector m. Independientemente del valor de k, se requieren m bits para especificar un estado de entrelazado inicial y una trayectoria a través de un entrelazado.
Un BC-TCVQ para el modo VC a una frecuencia de muestreo interna de 16 KHz puede utilizar TCVQ de 16 estados y 8 etapas que tengan un vector 2D. Se pueden asignar subvectores LSF que tengan dos elementos a cada etapa. La Tabla 2 a continuación muestra los estados iniciales y los estados terminales para un BC-TCVQ de 16 estados. En la presente memoria, k y v denotan 2 y 4, respectivamente, y se utilizan cuatro bits para un estado inicial y un estado terminal.
Tabla 2
Un modo de codificación puede variar según la velocidad binaria aplicada. Como se describió anteriormente, para cuantificar un coeficiente LPC a una velocidad binaria alta utilizando dos modos de codificación, se pueden utilizar 40 o 41 bits para cada trama en el modo GC, y 46 bits para cada trama en el modo TC.
La FIG. 3 es un diagrama de bloques de una unidad de cuantificación de coeficiente LPC según un ejemplo ilustrativo.
Una unidad 300 de cuantificación de coeficiente LPC que se muestra en la FIG. 3 puede incluir una primera unidad 310 de conversión de coeficiente, una unidad 330 de determinación de función de ponderación, una unidad 350 de cuantificación ISF/LSF y una segunda unidad 379 de conversión de coeficiente. Cada componente puede implementarse como al menos un procesador (no se muestra) al integrarse en al menos un módulo. Un coeficiente LPC no cuantificado y la información del modo de codificación pueden proveerse como entradas a la unidad 300 de cuantificación de coeficiente LPC.
Con referencia a la FIG. 3, la primera unidad 310 de conversión de coeficiente puede convertir un coeficiente LPC extraído mediante el análisis LP de un final de trama de una trama actual o una trama anterior de una señal de voz en un coeficiente de una forma diferente. Por ejemplo, la primera unidad 310 de conversión de coeficiente puede convertir el coeficiente LPC del final de trama de la trama actual o de la trama anterior en cualquier forma de un coeficiente LSF y un coeficiente ISF. En este caso, el coeficiente ISF o el coeficiente LSF indican un ejemplo de una forma en la cual el coeficiente LPC se puede cuantificar más fácilmente.
La unidad 330 de determinación de función de ponderación puede determinar una función de ponderación para la unidad 350 de cuantificación ISF/LSF utilizando el coeficiente ISF o el coeficiente LSF convertido a partir del coeficiente LPC. La función de ponderación determinada puede utilizarse en una operación de selección de una trayectoria de cuantificación o un esquema de cuantificación o de búsqueda de un índice de libro de códigos con el que se minimice un error ponderado en la cuantificación. Por ejemplo, la unidad 330 de determinación de función de ponderación puede determinar una función de ponderación final combinando una función de ponderación de magnitud, una función de ponderación de frecuencia y una función de ponderación basada en una posición del coeficiente ISF/LSF.
Además, la unidad 330 de determinación de función de ponderación puede determinar una función de ponderación teniendo en cuenta al menos uno de un ancho de banda de frecuencia, un modo de codificación e información de análisis de espectro. Por ejemplo, la unidad 330 de determinación de función de ponderación puede derivar una función de ponderación óptima para cada modo de codificación. Alternativamente, la unidad 330 de determinación de función de ponderación puede derivar una función de ponderación óptima según un ancho de banda de frecuencia de una señal de voz. Alternativamente, la unidad 330 de determinación de función de ponderación puede derivar una función de ponderación óptima según la información de análisis de frecuencia de una señal de voz. En este caso, la información de análisis de frecuencia puede incluir información de inclinación espectral. La unidad 330 de determinación de función de ponderación se describe en detalle a continuación.
La unidad 350 de cuantificación ISF/LSF puede obtener un índice de cuantificación óptimo según un modo de codificación de entrada. En detalle, la unidad 350 de cuantificación ISF/LSF puede cuantificar el coeficiente ISF o el coeficiente LSF convertido a partir del coeficiente LPC del final de trama de la trama actual. Cuando una señal de entrada es el modo UC o el modo TC correspondiente a una señal no estacionaria, la unidad 350 de cuantificación ISF/LSF puede cuantificar la señal de entrada utilizando únicamente el esquema de red de seguridad sin una predicción entre tramas, y cuando una señal de entrada es el modo VC o el modo GC correspondiente a una señal estacionaria, la unidad 350 de cuantificación ISF/LSF puede determinar un esquema de cuantificación óptimo teniendo en cuenta un error de trama cambiando el esquema predictivo y el esquema de red de seguridad.
La unidad 350 de cuantificación ISF/LSF puede cuantificar el coeficiente ISF o el coeficiente LSF utilizando la función de ponderación determinada por la unidad 330 de determinación de la función de ponderación. La unidad 350 de cuantificación ISF/LSF puede cuantificar el coeficiente ISF o el coeficiente LSF utilizando la función de ponderación determinada por la unidad 330 de determinación de la función de ponderación para seleccionar una de múltiples trayectorias de cuantificación. Un índice obtenido como resultado de la cuantificación se puede utilizar para obtener el coeficiente ISF cuantificada (QISF, por sus siglas en inglés) o el coeficiente LSF cuantificada (QLSF, por sus siglas en inglés) a través de una operación de cuantificación inversa.
La segunda unidad 370 de conversión de coeficiente puede convertir el coeficiente QISF o el coeficiente QLSF en un coeficiente LPC cuantificada (QLPC, por sus siglas en inglés).
A continuación, se describe una relación entre la cuantificación vectorial de coeficientes LPC y una función de ponderación.
La cuantificación vectorial indica una operación de selección de un índice de libro de códigos que tenga el menor error mediante el uso de una medida de distancia de error al cuadrado basada teniendo en cuenta que todas las entradas en un vector tienen la misma importancia. Sin embargo, para los coeficientes LPC, dado que todos los coeficientes tienen una importancia diferente, cuando se reducen los errores de coeficientes importantes, se puede mejorar la calidad perceptual de una señal finalmente sintetizada. Por lo tanto, cuando se cuantifican los coeficientes LSF, un aparato de decodificación puede seleccionar un índice de libro de códigos óptimo mediante la aplicación de una función de ponderación que represente la importancia de cada coeficiente LPC a una medida de distancia de error al cuadrado, mejorando así el rendimiento de una señal sintetizada.
Según un ejemplo ilustrativo, se puede determinar una función de ponderación de magnitud sobre qué se ve realmente afectado para una envolvente espectral por cada ISF o LSF utilizando información de frecuencia de la ISF y la LSF y una magnitud espectral real. Según un ejemplo ilustrativo, se puede obtener una eficiencia de cuantificación adicional combinando una función de ponderación de frecuencia en la cual se consideran una característica perceptual de un dominio de frecuencia y una distribución de formantes y la función de ponderación de magnitud. En este caso, dado que se utiliza una magnitud real en el dominio de frecuencia, se puede reflejar bien la información de envolvente de frecuencias completas y se puede derivar con precisión un peso de cada coeficiente ISF o LSF. Según un ejemplo ilustrativo, se puede obtener una eficiencia de cuantificación adicional combinando una función de ponderación basada en información de posición de coeficientes LSF o coeficientes ISF con la función de ponderación de magnitud y la función de ponderación de frecuencia.
Según un ejemplo ilustrativo, cuando una ISF o una LSF convertida a partir de un coeficiente LPC se cuantifica vectorialmente, si la importancia de cada coeficiente es diferente, se puede determinar una función de ponderación que indica qué entrada es relativamente más importante en un vector. Además, al determinar una función de ponderación capaz de asignar un peso más alto a una porción de mayor energía mediante el análisis de un espectro de una trama que se va a codificar, se puede mejorar la precisión de la codificación. Una energía alta en un espectro indica una correlación alta en un dominio temporal.
En la Tabla 1, un índice de cuantificación óptimo para un VQ aplicado a todos los modos puede determinarse como un índice para minimizar Ewerr(p) de la Ecuación 1.
Ecuación 1
15 f .
Emn (P) =Zr=0Wemi(OTO “ClO')]
En la ecuación 1, w(i) denota una función de ponderación, r(i) denota una entrada de un cuantificador y c(i) denota una salida del cuantificador y se utiliza para obtener un índice para minimizar la distorsión ponderada entre dos valores.
A continuación, una medida de distorsión utilizada por un BC-TCQ básicamente sigue un método descrito en el documento US 7,630,890. En este caso, una medida de distorsión d(x, y) puede representarse mediante la ecuación 2.
Ecuación 2
Según un ejemplo ilustrativo, se puede aplicar una función de ponderación a la medida de distorsión d(x, y). La distorsión ponderada se puede obtener ampliando una medida de distorsión utilizada para un BC-TCQ en el documento US 7,630,890 a una medida para un vector y luego aplicando una función de ponderación a la medida ampliada. Es decir, se puede determinar un índice óptimo obteniendo una distorsión ponderada como se representa en la Ecuación 3 a continuación en todas las etapas de un BC-TCVQ.
Ecuación 3
La unidad 350 de cuantificación ISF/LSF puede llevar a cabo la cuantificación según un modo de codificación de entrada, por ejemplo, cambiando un cuantificador de vector de red (LVQ, por sus siglas en inglés) y un BC-TCVQ. Si un modo de codificación es el modo GC, se puede utilizar el LVQ, y si el modo de codificación es el modo VC, se puede utilizar el BC-TCVQ. A continuación, se describe una operación de selección de un cuantificador cuando el LVQ y el BC-TCVQ están mezclados. En primer lugar, se pueden seleccionar las velocidades de bits para la codificación. Después de seleccionar las velocidades de bits para la codificación, se pueden determinar los bits para un cuantificador LPC correspondiente a cada velocidad de bits. A continuación, se puede determinar el ancho de banda de una señal de entrada. Un esquema de cuantificación puede variar según si la señal de entrada es una NB o una WB. Además, cuando la señal de entrada es una WB, es necesario que se determine adicionalmente si un límite superior de un ancho de banda que se va a codificar realmente es 6,4 KHz u 8 KHz. Es decir, dado que un esquema de cuantificación puede variar según si una frecuencia de muestreo interna es de 12,8 KHz o de 16 KHz, es necesario comprobar un ancho de banda. A continuación, se puede determinar un modo de codificación óptimo dentro de un límite de modos de codificación utilizables según el ancho de banda determinado. Por ejemplo, pueden ser utilizables cuatro modos de codificación (UC, VC, GC y TC), pero solo se pueden utilizar tres modos (VC, GC y TC) a una alta velocidad binaria (por ejemplo, 9,6 Kbit/s o superior). Se selecciona un esquema de cuantificación, p. ej., uno de LVQ y BC-TCVQ, en función de una velocidad binaria para la codificación, un ancho de banda de una señal de entrada y un modo de codificación, y se genera un índice cuantificado en función del esquema de cuantificación seleccionado.
Según un ejemplo ilustrativo, se determina si una velocidad binaria corresponde a entre 24,4 Kbps y 65 Kbps, y si la velocidad binaria no corresponde a entre 24,4 Kbps y 65 Kbps, se puede seleccionar el LVQ. De lo contrario, si la velocidad binaria corresponde a entre 24,4 Kbps y 65 Kbps, se determina si un ancho de banda de una señal de entrada es una NB, y si el ancho de banda de la señal de entrada es una NB, se puede seleccionar el LVQ. De lo contrario, si el ancho de banda de la señal de entrada no es una NB, se determina si un modo de codificación es el modo VC, y si el modo de codificación es el modo VC, se puede utilizar el BC-TCVQ, y si el modo de codificación no es el modo VC, se puede utilizar el LVQ.
Según otro ejemplo ilustrativo, se determina si una velocidad binaria corresponde a entre 13,2 Kbps y 32 Kbps, y si la velocidad binaria no corresponde a entre 13,2 Kbps y 32 Kbps, se puede seleccionar el LVQ. De lo contrario, si la velocidad binaria corresponde a entre 13,2 Kbps y 32 Kbps, se determina si un ancho de banda de una señal de entrada es una WB, y si el ancho de banda de la señal de entrada no es una WB, se puede seleccionar el LVQ. De lo contrario, si el ancho de banda de la señal de entrada es una WB, se determina si un modo de codificación es el modo VC, y si el modo de codificación es el modo VC, se puede utilizar el BC-TCVQ, y si el modo de codificación no es el modo VC, se puede utilizar el LVQ.
Según un ejemplo ilustrativo, un aparato de codificación puede determinar una función de ponderación óptima combinando una función de ponderación de magnitud que utiliza una magnitud espectral correspondiente a una frecuencia de un coeficiente ISF o un coeficiente LSF convertido a partir de un coeficiente LPC, una función de ponderación de frecuencia en la cual se consideran una característica perceptual de una señal de entrada y una distribución de formantes, una función de ponderación basada en posiciones de coeficientes LSF o coeficientes ISF.
La FIG. 4 es un diagrama de bloques de la unidad de determinación de la función de ponderación de la FIG. 3, según un ejemplo ilustrativo.
Una unidad 400 de determinación de función de ponderación que se muestra en la FIG. 4 puede incluir una unidad 410 de análisis de espectro, una unidad 430 de análisis LP, una primera unidad 450 de generación de función de ponderación, una segunda unidad 470 de generación de función de ponderación y una unidad 490 de combinación. Cada componente puede estar integrado e implementado como al menos un procesador.
Con referencia a la FIG. 4, la unidad 410 de análisis de espectro puede analizar una característica del dominio de frecuencia para una señal de entrada a través de una operación de mapeo de tiempo a frecuencia. En la presente memoria, la señal de entrada puede ser una señal preprocesada, y la operación de mapeo de tiempo a frecuencia puede llevarse a cabo utilizando la transformada rápida de Fourier (FFT, por sus siglas en inglés), pero la realización no se limita a esto. La unidad 410 de análisis de espectro puede proveer información de análisis de espectro, por ejemplo, magnitudes espectrales obtenidas como resultado de la FFT. En la presente memoria, las magnitudes espectrales pueden tener una escala lineal. En detalle, la unidad 410 de análisis de espectro puede generar magnitudes espectrales llevando a cabo una FFT de 128 puntos. En este caso, un ancho de banda de las magnitudes espectrales puede corresponder a un rango de 0-6400 Hz. Cuando una frecuencia de muestreo interna es de 16 KHz, el número de magnitudes espectrales puede extenderse hasta 160. En este caso, se omiten las magnitudes espectrales para un rango de 6400-8000 Hz, y las magnitudes espectrales omitidas pueden generarse mediante un espectro de entrada. En detalle, las magnitudes espectrales omitidas para el rango de 6400-8000 Hz pueden reemplazarse utilizando las últimas 32 magnitudes espectrales correspondientes a un ancho de banda de 4800-6400 Hz. Por ejemplo, se puede utilizar un valor medio de los últimos 32 tamaños espectrales.
La unidad 430 de análisis LP puede generar un coeficiente LPC mediante el análisis LP de la señal de entrada. La unidad 430 de análisis LP puede generar un coeficiente ISF o LSF a partir del coeficiente LPC.
La primera unidad 450 de generación de función de ponderación puede obtener una función de ponderación de magnitud y una función de ponderación de frecuencia basándose en información de análisis de espectro del coeficiente ISF o LSF y generar una primera función de ponderación combinando la función de ponderación de magnitud y la función de ponderación de frecuencia. La primera función de ponderación puede obtenerse basándose en FFT, y se puede asignar un peso grande a medida que una magnitud espectral es grande. Por ejemplo, la primera función de ponderación puede determinarse normalizando la información de análisis de espectro, es decir, magnitudes espectrales, de modo que cumpla con una banda ISF o LSF y luego utilizando una magnitud de una frecuencia correspondiente a cada coeficiente ISF o LSF.
La segunda unidad 470 de generación de función de ponderación puede determinar una segunda función de ponderación en base a información de intervalo o posición de coeficientes ISF o LSF adyacentes. Según un ejemplo ilustrativo, la segunda función de ponderación relacionada con la sensibilidad espectral puede generarse a partir de dos coeficientes ISF o LSF adyacentes a cada coeficiente ISF o LSF. Comúnmente, los coeficientes ISF o LSF están ubicados en un círculo unitario de un dominio Z y se caracterizan por que cuando un intervalo entre coeficientes ISF o LSF adyacentes es más estrecho que el de los alrededores, aparece un pico espectral. Como resultado, la segunda función de ponderación puede usarse para aproximar la sensibilidad espectral de los coeficientes LSF en base a posiciones de coeficientes LSF adyacentes. Es decir, midiendo cuán cerca están ubicados los coeficientes LSF adyacentes, puede predecirse una densidad de los coeficientes LSF, y dado que un espectro de señal puede tener un valor pico cerca de una frecuencia en la que existen coeficientes LSF densos, puede asignarse un peso grande. En la presente memoria, para aumentar la precisión cuando se aproxima la sensibilidad del espectro, se pueden utilizar adicionalmente varios parámetros para los coeficientes LSF cuando se determina la segunda función de ponderación.
Como se ha descrito anteriormente, un intervalo entre coeficientes ISF o LSF y una función de ponderación puede tener una relación proporcional inversa. Se pueden llevar a cabo varios ejemplos ilustrativos utilizando esta relación entre un intervalo y una función de ponderación. Por ejemplo, un intervalo se puede representar mediante un valor negativo o como un denominador. Como otro ejemplo, para enfatizar aún más un peso obtenido, cada elemento de una función de ponderación se puede multiplicar por una constante o representarse como un cuadrado del elemento. Como otro ejemplo, una función de ponderación obtenida de forma secundaria mediante la realización de un cálculo adicional, p. ej., un cuadrado o un cubo, de una función de ponderación obtenida principalmente se puede reflejar además.
Un ejemplo de derivación de una función de ponderación utilizando un intervalo entre coeficientes ISF o LSF es el siguiente.
Según un ejemplo ilustrativo, una segunda función de ponderación Ws(n) puede obtenerse mediante la Ecuación 4 a continuación.
Ecuación 4
En la Ecuación 4, Isfi<-1>e Isfi<+1>denotan coeficientes LSF adyacentes a un coeficiente LSF actual.
Según otro ejemplo ilustrativo, la segunda función de ponderación Ws(n) puede obtenerse mediante la Ecuación 5 a continuación.
Ecuación 5
En la Ecuación 5, lsfn denota un coeficiente LSF actual, Isfn-i e Isfn+i denotan coeficientes LSF adyacentes, y M es una dimensión de un modelo LP y puede ser 16. Por ejemplo, dado que los coeficientes LSF abarcan entre 0 yn,los pesos primero y último se pueden calcular en función de lsfo=0 e lsfM=n.
La unidad 490 de combinación puede determinar una función de ponderación final que se utilizará para cuantificar un coeficiente LSF combinando la primera función de ponderación y la segunda función de ponderación. En este caso, como esquema de combinación, se pueden utilizar varios esquemas como, por ejemplo, un esquema de multiplicación de la primera función de ponderación y la segunda función de ponderación, un esquema de multiplicación de cada función de ponderación por una relación adecuada y luego sumar los resultados de la multiplicación, y un esquema de multiplicación de cada ponderación por un valor predeterminado utilizando una tabla de búsqueda o similar y luego sumar los resultados de la multiplicación.
La FIG. 5 es un diagrama de bloques detallado de la primera unidad de generación de función de ponderación de la FIG. 4, según una realización a modo de ejemplo.
Una primera unidad 500 de generación de función de ponderación que se muestra en la FIG. 5 puede incluir una unidad 510 de normalización, una unidad 530 de generación de función de ponderación de tamaño, una unidad 550 de generación de función de ponderación de frecuencia y una unidad 570 de combinación. En la presente memoria, para facilitar la descripción, se utilizan coeficientes LSF a modo de ejemplo como señal de entrada de la primera unidad 500 de generación de función de ponderación.
Con referencia a la FIG. 5, la unidad 510 de normalización puede normalizar los coeficientes LSF en un rango de 0 a K-1. Los coeficientes LSF pueden tener comúnmente un rango de 0 aTi.Para una frecuencia de muestreo interna de 12,8 KHz, K puede ser 128, y para una frecuencia de muestreo interna de 16,4 KHz, K puede ser 160.
La unidad 530 de generación de función de ponderación de magnitud puede generar una función de ponderación de magnitud W<1>(n) en función de la información de análisis de espectro para el coeficiente LSF normalizado. Según un ejemplo ilustrativo, la función de ponderación de magnitud puede determinarse en función de una magnitud espectral del coeficiente LSF normalizado.
En detalle, la función de ponderación de magnitud puede determinarse utilizando un contenedor espectral correspondiente a una frecuencia del coeficiente LSF normalizado y dos contenedores espectrales vecinos ubicados a la izquierda y a la derecha de, p. ej., uno anterior o posterior a, un contenedor espectral correspondiente. Cada función de ponderación de magnitud W<1>(n) relacionada con una envolvente espectral puede determinarse en base a la Ecuación 6 de más abajo extrayendo un valor máximo entre magnitudes de tres contenedores espectrales.
Ecuación 6
En la Ecuación 6, Min denota un valor mínimo de wf(n), y wf(n) puede definirse por 10log(Emax(n)) (en la presente memoria, n=0,..., M-1). En la presente memoria, M denota 16 y Emax(n) denota un valor máximo entre magnitudes de tres contenedores espectrales para cada coeficiente LSF.
La unidad 550 de generación de función de ponderación de frecuencia puede generar una función de ponderación de frecuencia W<2>(n) basada en información de frecuencia para el coeficiente LSF normalizado. Según una realización, la función de ponderación de frecuencia puede determinarse utilizando una característica perceptual de una señal de entrada y una distribución de formantes. La unidad 550 de generación de función de ponderación de frecuencia puede extraer la característica perceptual de la señal de entrada según una escala Bark. Además, la unidad 550 de generación de función de ponderación de frecuencia puede determinar una función de ponderación para cada frecuencia en función de un primer formante de una distribución de formantes. La función de ponderación de frecuencia puede exhibir un peso relativamente bajo a una frecuencia muy baja y una frecuencia alta y exhibir el mismo peso de tamaño en un cierto período de frecuencia, p. ej., un período correspondiente a un primer formante, a una frecuencia baja. La unidad 550 de generación de función de ponderación de frecuencia puede determinar la función de ponderación de frecuencia según un ancho de banda de entrada y un modo de codificación.
La unidad 570 de combinación puede determinar una función de ponderación basada en FFT Wf(n) combinando la función de ponderación de magnitud W<1>(n) y la función de ponderación de frecuencia W<2>(n). La unidad 570 de combinación puede determinar una función de ponderación final multiplicando o sumando la función de ponderación de magnitud y la función de ponderación de frecuencia. Por ejemplo, la función de ponderación basada en FFT Wf(n) para la cuantificación LSF de final de trama se puede calcular en base a la Ecuación 7 de más abajo.
Ecuación 7
La FIG. 6 es un diagrama de bloques de una unidad de cuantificación de coeficiente LPC según un ejemplo ilustrativo.
Una unidad 600 de cuantificación de coeficiente LPC que se muestra en la FIG. 6 puede incluir una unidad 610 de selección, un primer módulo 630 de cuantificación y un segundo módulo 650 de cuantificación.
Con referencia a la FIG. 6, la unidad 610 de selección puede seleccionar una de cuantificación sin una predicción entre tramas y cuantificación con una predicción entre tramas en base a un criterio predeterminado. En la presente memoria, como criterio predeterminado, se puede utilizar un error de predicción de una LSF no cuantificada. El error de predicción se puede obtener en base a un valor de predicción entre tramas.
El primer módulo 630 de cuantificación puede cuantificar una señal de entrada provista a través de la unidad 610 de selección cuando se selecciona la cuantificación sin una predicción entre tramas.
El segundo módulo 650 de cuantificación puede cuantificar una señal de entrada provista a través de la unidad 610 de selección cuando se selecciona la cuantificación con una predicción entre tramas.
El primer módulo 630 de cuantificación puede llevar a cabo la cuantificación sin una predicción entre tramas y puede denominarse esquema de red de seguridad. El segundo módulo 650 de cuantificación puede llevar a cabo la cuantificación con una predicción entre tramas y puede denominarse esquema predictivo.
En consecuencia, se puede seleccionar un cuantificador óptimo en correspondencia con varias velocidades binarias, desde una velocidad binaria baja para un servicio de voz interactivo altamente eficiente hasta una velocidad binaria alta para proveer un servicio de calidad diferenciada.
La FIG. 7 es un diagrama de bloques de la unidad de selección de la FIG. 6, según un ejemplo ilustrativo.
Una unidad 700 de selección que se muestra en la FIG. 7 puede incluir una unidad 710 de cálculo de error de predicción y una unidad 730 de selección de esquema de cuantificación. En la presente memoria, la unidad 710 de cálculo de error de predicción puede estar incluida en el segundo módulo 650 de cuantificación de la FIG. 6.
Con referencia a la FIG. 7, la unidad 710 de cálculo de error de predicción puede calcular un error de predicción basándose en varios métodos al recibir, como entradas, un valor de predicción entre tramas p(n), una función de ponderación w(n) y un coeficiente LSF z(n) del cual se ha eliminado un valor DC. En primer lugar, se puede utilizar el mismo predictor entre tramas que se utiliza en el esquema predictivo del segundo módulo 650 de cuantificación. En la presente memoria, se puede utilizar cualquiera de un método autorregresivo (AR) y un método de promedio móvil (MA, por sus siglas en inglés). Como señal z(n) de una trama anterior para una predicción entre tramas, se puede utilizar un valor cuantificado o un valor no cuantificado. Además, cuando se obtiene un error de predicción, se puede aplicar o no una función de ponderación. En consecuencia, se puede obtener un total de ocho combinaciones, y cuatro de las ocho combinaciones son las siguientes.
En primer lugar, un error de predicción de AR ponderado que utiliza una señal cuantificada z(n) de una trama anterior puede representarse mediante la Ecuación 8 de más abajo.
Ecuación 8
En segundo lugar, un error de predicción de AR que utiliza la señal cuantificada z(n) de la trama anterior puede representarse mediante la Ecuación 9 de más abajo.
Ecuación 9
A /-1
e p<=>X<( * * ( 0 - ¿ í - i ( 0 p ( 0 ) 2>
;=o
En tercer lugar, un error de predicción de AR ponderado que utiliza una señal z(n) de la trama anterior puede representarse mediante la Ecuación 10 de más abajo.
Ecuación 10
En cuarto lugar, un error de predicción de AR que utiliza la señal z(n) de la trama anterior puede representarse mediante la Ecuación 11 de más abajo.
Ecuación 11
A /-1
E P<=>X í=0<( z*(0 - z*- , (0 p ( 0 ) 2>
En la presente memoria, M denota una dimensión de una LSF y, cuando un ancho de banda de una señal de voz de entrada es una WB, se utiliza habitualmente 16 para M y p(i) denota un coeficiente previsto del método AR. Como se ha descrito anteriormente, es habitual un caso en el cual se utiliza información sobre una trama inmediatamente anterior y se puede determinar un esquema de cuantificación utilizando un error de predicción obtenido como se ha descrito anteriormente.
Si un error de predicción es mayor que un umbral predeterminado, esto puede sugerir que una trama actual tiende a ser no estacionaria. En este caso, se puede utilizar el esquema de red de seguridad. De lo contrario, se utiliza el esquema predictivo y, en este caso, se puede restringir de modo que el esquema predictivo no se seleccione continuamente.
Según un ejemplo ilustrativo, para prepararse para un caso en el cual no existe información sobre una trama anterior debido a la ocurrencia de un error de trama en la trama anterior, se puede obtener un segundo error de predicción utilizando una trama anterior de la trama anterior, y se puede determinar un esquema de cuantificación utilizando el segundo error de predicción. En este caso, en comparación con el primer caso descrito anteriormente, el segundo error de predicción se puede representar mediante la Ecuación 12 de más abajo.
Ecuación 12
E ¡>2 -Z e w ( 0 ( ^ ( P - V 20 ')p ( 0 ) 2
7=0
La unidad 730 de selección de esquema de cuantificación puede determinar un esquema de cuantificación para una trama actual utilizando el error de predicción obtenido por la unidad 710 de cálculo de error de predicción. En este caso, el modo de codificación obtenido por la unidad de determinación de modo de codificación (110 de la FIG. 1) puede tenerse en cuenta, además. Según un ejemplo ilustrativo, en el modo VC o en el modo GC, la unidad 730 de selección de esquema de cuantificación puede funcionar.
La FIG. 8 es un diagrama de flujo para describir una operación de la unidad de selección de la FIG. 6, según un ejemplo ilustrativo. Cuando un modo de predicción tiene un valor de 0, esto indica que siempre se utiliza el esquema de red de seguridad, y cuando el modo de predicción tiene un valor distinto de 0, esto indica que se determina un esquema de cuantificación cambiando el esquema de red de seguridad y el esquema predictivo. Ejemplos de un modo de codificación en el cual siempre se utiliza el esquema de red de seguridad pueden ser el modo UC y el modo TC. Además, ejemplos de un modo de codificación en el cual se cambian y utilizan el esquema de red de seguridad y el esquema predictivo pueden ser el modo VC y el modo GC.
Con referencia a la FIG. 8, en la operación 810, se determina si un modo de predicción de una trama actual es 0. Como resultado de la determinación en la operación 810, si el modo de predicción es 0, p. ej., si la trama actual tiene una alta variabilidad como en el modo UC o el modo TC, dado que una predicción entre tramas es difícil, el esquema de red de seguridad, es decir, el primer módulo 630 de cuantificación, siempre se puede seleccionar en la operación 850.
De lo contrario, como resultado de la determinación en la operación 810, si el modo de predicción no es 0, uno del esquema de red de seguridad y el esquema predictivo puede determinarse como un esquema de cuantificación teniendo en cuenta un error de predicción. Para este fin, en la operación 830, se determina si el error de predicción es mayor que un umbral predeterminado. En la presente memoria, el umbral puede determinarse con antelación a través de experimentos o simulaciones. Por ejemplo, para una WB cuya dimensión es 16, el umbral puede determinarse como, por ejemplo, 3.784.536,3. Sin embargo, puede restringirse de modo que el esquema predictivo no se seleccione continuamente.
Como resultado de la determinación en la operación 830, si el error de predicción es mayor que o igual al umbral, se puede seleccionar el esquema de red de seguridad en la operación 850. De lo contrario, como resultado de la determinación en la operación 830, si el error de predicción es menor que el umbral, se puede seleccionar el esquema predictivo en la operación 870.
Las FIGS. 9A a 9D son diagramas de bloques que ilustran varios ejemplos implementados del primer módulo de cuantificación que se muestra en la FIG. 6. Según un ejemplo ilustrativo, se supone que se utiliza un vector LSF de 16 dimensiones como entrada del primer módulo de cuantificación.
Un primer módulo 900 de cuantificación que se muestra en la FIG. 9A puede incluir un primer cuantificador 911 para cuantificar un contorno de un vector de entrada completo mediante el uso de un TCQ y un segundo cuantificador 913 para cuantificar adicionalmente una señal de error de cuantificación. El primer cuantificador 911 puede implementarse utilizando un cuantificador que utilice una estructura de entrelazado como, por ejemplo, un TCQ, un TCVQ, un BC-TCQ o un BC-TCVQ. El segundo cuantificador 913 puede implementarse utilizando un cuantificador vectorial o un cuantificador escalar, pero no se limita a ellos. Para mejorar el rendimiento mientras se minimiza el tamaño de la memoria, se puede utilizar un cuantificador vectorial dividido (SVQ, por sus siglas en inglés), o para mejorar el rendimiento, se puede utilizar un cuantificador vectorial de múltiples etapas (MSVQ, por sus siglas en inglés). Cuando el segundo cuantificador 913 se implementa utilizando un SVQ o un MSVQ, si hay complejidad de sobra, se pueden almacenar dos o más candidatos y luego se puede utilizar una técnica de decisión suave para llevar a cabo una búsqueda de índice de libro de códigos óptima.
El funcionamiento del primer cuantificador 911 y del segundo cuantificador 913 es el siguiente.
En primer lugar, se puede obtener una señal z(n) eliminando un valor medio previamente definido de un coeficiente LSF no cuantificado. El primer cuantificador 911 puede cuantificar o cuantificar de forma inversa un vector completo de la señal z(n). Un cuantificador utilizado en la presente memoria puede ser, por ejemplo, un BC-TCQ o un BC-TCVQ. Para obtener una señal de error de cuantificación, se puede obtener una señal r(n) utilizando un valor de diferencia entre la señal z(n) y una señal cuantificada de forma inversa. La señal r(n) se puede proveer como una entrada del segundo cuantificador 913. El segundo cuantificador 913 se puede implementar utilizando un SVQ, un MSVQ o similar. Una señal cuantificada por el segundo cuantificador 913 se convierte en un valor cuantificado z(n) después de ser cuantificada inversamente y luego agregada a un resultado cuantificado inversamente por el primer cuantificador 911, y se puede obtener un valor LSF cuantificado agregando el valor medio al valor cuantificado z(n).
El primer módulo 900 de cuantificación que se muestra en la FIG. 9B puede incluir además un predictor 932 intratrama además de un primer cuantificador 931 y un segundo cuantificador 933. El primer cuantificador 931 y el segundo cuantificador 933 pueden corresponder al primer cuantificador 911 y al segundo cuantificador 913 de la FIG. 9A. Dado que se codifica un coeficiente LSF para cada trama, se puede llevar a cabo una predicción utilizando un coeficiente LSF de 10 o 16 dimensiones en una trama. Según la FIG. 9B, se puede cuantificar una señal z(n) a través del primer cuantificador 931 y el predictor 932 intra-trama. Como señal pasada que se utilizará para una predicción intra-trama, se utiliza un valor t(n) de una etapa anterior, que se ha cuantificado a través de un TCQ. Un coeficiente de predicción que se utilizará para la predicción intra-trama puede definirse con antelación mediante una operación de entrenamiento de libro de códigos. Para el TCQ, se utiliza comúnmente una dimensión y, según las circunstancias, se puede utilizar un grado o dimensión superior. Dado que un TCVQ trata con un vector, el coeficiente de predicción puede tener un formato de matriz 2D correspondiente a un tamaño de una dimensión del vector. En la presente memoria, la dimensión puede ser un número natural de 2 o más. Por ejemplo, cuando una dimensión de un VQ es 2, es necesario obtener un coeficiente de predicción con antelación utilizando una matriz de tamaño 2X2. Según un ejemplo ilustrativo, el TCVQ utiliza 2D y el predictor 932 intra-trama tiene un tamaño de 2X2.
Una operación de predicción intra-trama del TCQ es la siguiente. Una señal de entrada tj(n) del primer cuantificador 931, es decir, un primer TCQ, puede obtenerse mediante la Ecuación 13 de más abajo.
Ecuación 13
9-199=9-1(r¡) P jj j-209, j =2,..., M
Sin embargo, una operación de predicción intra-trama del TCVQ utilizando 2D es la siguiente. La señal de entrada tj(n) del primer cuantificador 931, es decir, el primer TCQ, se puede obtener mediante la Ecuación 14 de más abajo.
Ecuación 14
En la presente memoria, M denota una dimensión de un coeficiente LSF y utiliza 10 para una NB y 16 para una WB, pj denota un coeficiente de predicción 1 D y Aj denota un coeficiente de predicción 2X2.
El primer cuantificador 931 puede cuantificar un vector de error de predicción t(n). Según un ejemplo ilustrativo, el primer cuantificador 931 puede implementarse utilizando un TCQ, en detalle, un BC-TCQ, un BC-TCVQ, un TCQ o un TCVQ. El predictor 932 intra-trama utilizado junto con el primer cuantificador 931 puede repetir una operación de cuantificación y una operación de predicción en una unidad de elemento o una unidad de subvector de un vector de entrada. Una operación del segundo cuantificador 933 es la misma que la del segundo cuantificador 913 de la FIG.
9A.
La FIG. 9C muestra el primer módulo 900 de cuantificación para compartir el libro de códigos además de la estructura de la FIG. 9A. El primer módulo 900 de cuantificación puede incluir un primer cuantificador 951 y un segundo cuantificador 953. Cuando un codificador de voz/audio admite la codificación de múltiples velocidades, es necesaria una técnica de cuantificación del mismo vector de entrada LSF en varios bits. En este caso, para exhibir un rendimiento eficiente mientras se minimiza una memoria de libro de códigos de un cuantificador que se va a utilizar, se puede implementar para permitir dos tipos de asignación de número de bits con una estructura. En la FIG. 9C, fH(n) denota una salida de alta velocidad y fL(n) denota una salida de baja velocidad. En la FIG. 9C, cuando solo se utiliza un BC-TCQ/BC-TCVQ, la cuantificación para una velocidad baja se puede llevar a cabo solo con el número de bits utilizado para el BC-TCQ/BC-TCVQ. Si se necesita una cuantificación más precisa además de la cuantificación descrita anteriormente, una señal de error del primer cuantificador 951 puede cuantificarse utilizando el segundo cuantificador 953 adicional.
La FIG. 9D incluye además un predictor 972 intra-trama además de la estructura de la FIG. 9C. El primer módulo 900 de cuantificación puede incluir además el predictor 972 intra-trama además de un primer cuantificador 971 y un segundo cuantificador 973. El primer cuantificador 971 y el segundo cuantificador 973 pueden corresponder al primer cuantificador 951 y al segundo cuantificador 953 de la FIG. 9C.
Las FIGS. 10A a 10F son diagramas de bloques que ilustran varios ejemplos implementados del segundo módulo de cuantificación que se muestra en la FIG. 6.
Un segundo módulo 10000 de cuantificación que se muestra en la FIG. 10A incluye además un predictor 1014 entre tramas además de la estructura de la FIG. 9B. El segundo módulo 10000 de cuantificación que se muestra en la FIG.
10A puede incluir además el predictor 1014 entre tramas además de un primer cuantificador 1011 y un segundo cuantificador 1013. El predictor 1014 entre tramas es una técnica de predicción de una trama actual mediante el uso de un coeficiente LSF cuantificado con respecto a una trama anterior. Una operación de predicción entre tramas utiliza un método para llevar a cabo una resta de una trama actual mediante el uso de un valor cuantificado de una trama anterior y luego llevar a cabo la adición de una porción de contribución después de la cuantificación. En este caso, se obtiene un coeficiente de predicción para cada elemento.
El segundo módulo 10000 de cuantificación que muestra en la FIG. 10B incluye además un predictor 1032 intra-trama además de la estructura de la FIG. 10A. El segundo módulo 10000 de cuantificación que se muestra en la FIG. 10B puede incluir además el predictor 1032 intra-trama además de un primer cuantificador 1031, un segundo cuantificador 1033 y un predictor 1034 intra-trama.
La FIG. 10C muestra el segundo módulo 1000 de cuantificación para compartir el libro de códigos además de la estructura de la FIG. 10B. Es decir, se muestra una estructura de compartición de un libro de códigos de un BC-TCQ/BC-TCVQ entre una velocidad baja y una velocidad alta además de la estructura de la FIG. 10B. En la FIG. 10B, un diagrama de circuito superior indica una salida relacionada con una velocidad baja para la que no se utiliza un segundo cuantificador (no se muestra), y un diagrama de circuito inferior indica una salida relacionada con una velocidad alta para la que se utiliza un segundo cuantificador 1063.
La FIG. 10D muestra un ejemplo en el cual el segundo módulo 1000 de cuantificación se implementa omitiendo un predictor intra-trama de la estructura de la FIG. 10C.
Las FIGS. 11A a 11F son diagramas de bloques que ilustran varios ejemplos implementados de un cuantificador 1100 en el cual se aplica un peso a un BC-TCVQ.
La FIG. 11A muestra un BC-TCVQ básico y puede incluir una unidad 1111 de cálculo de función de ponderación y una parte 1112 BC-TCVQ. Cuando el BC-TCVQ obtiene un índice óptimo, se obtiene un índice mediante el cual se minimiza la distorsión ponderada. La FIG. 11B muestra una estructura de adición de un predictor 1123 intra-trama a la FIG. 11A. Para la predicción intra-trama utilizada en la FIG. 11B, se puede utilizar el método AR o el método MA. Según un ejemplo ilustrativo, se utiliza el método AR, y se puede definir con antelación un coeficiente de predicción que se utilizará.
La FIG. 11C muestra una estructura de adición de un predictor 1134 entre tramas a la FIG. 11B para una mejora adicional del rendimiento. La FIG. 11C muestra un ejemplo de un cuantificador utilizado en el esquema predictivo. Para la predicción entre tramas utilizada en la FIG. 11<c>, se puede utilizar el método AR o el método MA. Según un ejemplo ilustrativo, se utiliza el método AR, y se puede definir con antelación un coeficiente de predicción que se va a utilizar. A continuación, se describe una operación de cuantificación. En primer lugar, un valor de error de predicción predicho utilizando la predicción entre tramas se puede cuantificar por medio de un BC-TCVQ utilizando la predicción entre tramas. Se transmite un valor de índice de cuantificación a un decodificador. A continuación, se describe una operación de decodificación. Se obtiene un valor cuantificado r(n) añadiendo un valor de predicción intra-trama a un resultado cuantificado del BC-TCVQ. Un valor LSF finalmente cuantificado se obtiene añadiendo un valor de predicción del predictor 1134 entre tramas al valor cuantificado r(n) y luego añadiendo un valor medio al resultado de la suma.
La FIG. 11 D muestra una estructura en la cual se omite un predictor intra-trama de la FIG. 11C. La FIG. 11 E muestra una estructura de cómo se aplica un peso cuando se añade un segundo cuantificador 1153. Una función de ponderación obtenida por una unidad 1151 de cálculo de función de ponderación se utiliza tanto para un primer cuantificador 1152 como para el segundo cuantificador 1153, y se obtiene un índice óptimo utilizando una distorsión ponderada. El primer cuantificador 1152 puede implementarse utilizando un BC-TCQ, un BC-TCVQ, un TCQ o un TCVQ. El segundo cuantificador 1153 puede implementarse utilizando un SQ, un VQ, un SVQ o un MSVQ. La FIG. 11 F muestra una estructura en la cual se omite un predictor entre tramas de la FIG. 11 E.
Un cuantificador de una estructura de conmutación se puede implementar combinando las formas de cuantificador de varias estructuras, que se han descrito con referencia a las FIGS. 11A a 11F.
La FIG. 12 es un diagrama de bloques de un dispositivo de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a baja velocidad, según un ejemplo ilustrativo. Un dispositivo 1200 de cuantificación que se muestra en la FIG. 12 puede incluir una unidad 1210 de selección, un primer módulo 1230 de cuantificación y un segundo módulo 1250 de cuantificación.
La unidad 1210 de selección puede seleccionar uno del esquema de red de seguridad y el esquema predictivo como un esquema de cuantificación basado en un error de predicción.
El primer módulo 1230 de cuantificación lleva a cabo la cuantificación sin una predicción entre tramas cuando se selecciona el esquema de red de seguridad y puede incluir un primer cuantificador 1231 y un primer predictor 1232 intra-trama. En detalle, un vector LSF puede ser cuantificado a 30 bits por el primer cuantificador 1231 y el primer predictor 1232 intra-trama.
El segundo módulo 1250 de cuantificación lleva a cabo la cuantificación con una predicción entre tramas cuando se selecciona el esquema predictivo y puede incluir un segundo cuantificador 1251, un segundo predictor 1252 intratrama y un predictor 1253 entre tramas. En detalle, un error de predicción correspondiente a una diferencia entre un vector LSF del cual se ha eliminado un valor medio y un vector de predicción puede cuantificarse a 30 bits mediante el segundo cuantificador 1251 y el segundo predictor 1252 intra-trama.
El aparato de cuantificación que se muestra en la FIG. 12 ilustra un ejemplo de cuantificación de coeficiente LSF utilizando 31 bits en el modo VC. El primer y segundo cuantificadores 1231 y 1251 en el dispositivo de cuantificación de la FIG. 12 pueden compartir libros de códigos con el primer y segundo cuantificadores 1331 y 1351 en un dispositivo de cuantificación de la FIG. 13. A continuación se describe una operación del aparato de cuantificación que se muestra en la FIG. 12. Se puede obtener una señal z(n) eliminando un valor medio de un valor LSF de entrada f(n). La unidad 1210 de selección puede seleccionar o determinar un esquema de cuantificación óptimo utilizando valores p(n) y z(n) predichos entre tramas utilizando un valor decodificado z(n) en una trama anterior, una función de ponderación y un modo de predicción pred_mode. Según el resultado seleccionado o determinado, se puede llevar a cabo la cuantificación utilizando uno del esquema de red de seguridad y el esquema predictivo. El esquema de cuantificación seleccionado o determinado puede codificarse mediante un bit.
Cuando la unidad 1210 de selección selecciona el esquema de red de seguridad, un vector de entrada completo de un coeficiente LSF z(n) del cual se ha eliminado el valor medio se puede cuantificar a través del primer predictor 1232 intra-trama y utilizando el primer cuantificador 1231 utilizando 30 bits. Sin embargo, cuando la unidad 1210 de selección selecciona el esquema predictivo, una señal de error de predicción obtenida utilizando el predictor 1253 entre tramas a partir del coeficiente LSF z(n) del cual se ha eliminado el valor medio se puede cuantificar a través del segundo predictor 1252 intra-trama y utilizando el segundo cuantificador 1251 utilizando 30 bits. El primer y segundo cuantificadores 1231 y 1251 pueden ser, por ejemplo, cuantificadores que tienen una forma de un TCQ o un TCVQ. En detalle, se puede utilizar un BC-TCQ, un BC-TCVQ o similar. En este caso, un cuantificador utiliza un total de 31 bits. Un resultado cuantificado se utiliza como salida de un cuantificador de baja velocidad y las salidas principales del cuantificador son un vector LSF cuantificado y un índice de cuantificación.
La FIG. 13 es un diagrama de bloques de un aparato de cuantificación según una realización de la presente invención que tiene una estructura de conmutación de un esquema de bucle abierto a una alta velocidad, según una realización a modo de ejemplo. Un dispositivo 1300 de cuantificación mostrado en la FIG. 13 puede incluir una unidad 1310 de selección, un primer módulo 1330 de cuantificación y un segundo módulo 1350 de cuantificación. En comparación con la FIG. 12, existen diferencias en que se añade un tercer cuantificador 1333 al primer módulo 1330 de cuantificación, y se añade un cuarto cuantificador 1353 al segundo módulo 1350 de cuantificación. En las FIGS. 12 y 13, los primeros cuantificadores 1231 y 1331 y los segundos cuantificadores 1251 y 1351 pueden utilizar los mismos libros de códigos, respectivamente. Es decir, el aparato 1200 de cuantificación LSF de 31 bits de la FIG. 12 y el aparato 1300 de cuantificación LSF de 41 bits de la FIG. 13 pueden utilizar el mismo libro de códigos para un BC-TCVQ. Por consiguiente, aunque no se puede decir que el libro de códigos sea un libro de códigos óptimo, se puede ahorrar un tamaño de memoria significativo.
La unidad 1310 de selección puede seleccionar uno del esquema de red de seguridad y el esquema predictivo como un esquema de cuantificación basado en un error de predicción.
El primer módulo 1330 de cuantificación puede llevar a cabo la cuantificación sin una predicción entre tramas cuando se selecciona el esquema de red de seguridad y puede incluir el primer cuantificador 1331, el primer predictor 1332 intra-trama y el tercer cuantificador 1333.
El segundo módulo 1350 de cuantificación puede llevar a cabo la cuantificación con una predicción entre tramas cuando se selecciona el esquema predictivo y puede incluir el segundo cuantificador 1351, un segundo predictor 1352 intra-trama, el cuarto cuantificador 1353 y un predictor 1354 entre tramas.
El aparato de cuantificación que se muestra en la FIG. 13 ilustra un ejemplo de cuantificación de coeficiente LSF utilizando 41 bits en el modo VC. El primer y segundo cuantificadores 1331 y 1351 en el dispositivo 1300 de cuantificación de la FIG. 13 pueden compartir libros de códigos con el primer y segundo cuantificadores 1231 y 1251 en el dispositivo 1200 de cuantificación de la FIG. 12, respectivamente. A continuación, se describe una operación del aparato 1300 de cuantificación. Una señal z(n) se puede obtener eliminando un valor medio de un valor LSF de entrada f(n). La unidad 1310 de selección puede seleccionar o determinar un esquema de cuantificación óptimo utilizando valores p(n) y z(n) predichos entre tramas utilizando un valor decodificado z(n) en una trama anterior, una función de ponderación y un modo de predicción pred_mode. Según el resultado seleccionado o determinado, la cuantificación puede llevarse a cabo utilizando uno del esquema de red de seguridad y el esquema predictivo. El esquema de cuantificación seleccionado o determinado puede codificarse mediante un bit.
Cuando la unidad 1310 de selección selecciona el esquema de red de seguridad, un vector de entrada completo de un coeficiente LSF z(n) del cual se ha eliminado el valor medio puede cuantificarse y cuantificarse de forma inversa a través del primer predictor 1332 intra-trama y el primer cuantificador 1331 utilizando 30 bits. Un segundo vector de error que indica una diferencia entre una señal original y el resultado cuantificado de forma inversa puede proveerse como una entrada del tercer cuantificador 1333. El tercer cuantificador 1333 puede cuantificar el segundo vector de error utilizando 10 bits. El tercer cuantificador 1333 puede ser, por ejemplo, un SQ, un VQ, un SVQ o un MSVQ. Después de la cuantificación y la cuantificación inversa, un vector finalmente cuantificado puede almacenarse para una trama posterior.
Sin embargo, cuando la unidad 1310 de selección selecciona el esquema predictivo, una señal de error de predicción obtenida restando p(n) del predictor 1354 entre tramas del coeficiente LSF z(n) del cual se ha eliminado el valor medio puede cuantificarse o cuantificarse de forma inversa mediante el segundo cuantificador 1351 utilizando 30 bits y el segundo predictor 1352 intra-trama. El primer y segundo cuantificadores 1331 y 1351 pueden ser, por ejemplo, cuantificadores que tienen una forma de un TCQ o un TCVQ. En detalle, se puede utilizar un BC-TCQ, un BC-TCVQ o similar. Se puede proveer un segundo vector de error que indica una diferencia entre una señal original y el resultado cuantificado de forma inversa como una entrada del cuarto cuantificador 1353. El cuarto cuantificador 1353 puede cuantificar el segundo vector de error utilizando 10 bits. En la presente memoria, el segundo vector de error puede dividirse en dos subvectores de dimensión 8X8 y luego cuantificarse mediante el cuarto cuantificador 1353. Dado que una banda baja es más importante que una banda alta en términos de percepción, el segundo vector de error puede codificarse asignando una cantidad diferente de bits a un primer VQ y a un segundo VQ. El cuarto cuantificador 1353 puede ser, por ejemplo, un SQ, un VQ, un SVQ o un MSVQ. Después de la cuantificación y la cuantificación inversa, se puede almacenar un vector finalmente cuantificado para una trama posterior.
En este caso, un cuantificador utiliza un total de 41 bits. Un resultado cuantificado se utiliza como salida de un cuantificador de alta velocidad y las salidas principales del cuantificador son un vector LSF cuantificado y un índice de cuantificación.
Como resultado, cuando se utilizan tanto la FIG. 12 como la FIG. 13, el primer cuantificador 1231 de la FIG. 12 y el primer cuantificador 1331 de la FIG. 13 pueden compartir un libro de códigos de cuantificación, y el segundo cuantificador 1251 de la FIG. 12 y el segundo cuantificador 1351 de la FIG. 13 pueden compartir un libro de códigos de cuantificación, ahorrando así significativamente toda la memoria del libro de códigos. Para ahorrar adicionalmente la memoria del libro de códigos, el tercer cuantificador 1333 y el cuarto cuantificador 1353 comparten un libro de códigos de cuantificación. En este caso, dado que una distribución de entrada del tercer cuantificador 1333 difiere de la del cuarto cuantificador 1353, se puede utilizar un factor de escala para compensar una diferencia entre las distribuciones de entrada. El factor de escala puede calcularse teniendo en cuenta una entrada del tercer cuantificador 1333 y una distribución de entrada del cuarto cuantificador 1353. Según una realización, una señal de entrada del tercer cuantificador 1333 puede dividirse por el factor de escala, y una señal obtenida por el resultado de la división puede cuantificarse por el tercer cuantificador 1333. La señal cuantificada por el tercer cuantificador 1333 puede obtenerse multiplicando una salida del tercer cuantificador 1333 por el factor de escala. Como se describió anteriormente, si una entrada del tercer cuantificador 1333 o del cuarto cuantificador 1353 se escala correctamente y luego se cuantifica, se puede compartir un libro de códigos mientras se mantiene el rendimiento como máximo.
La FIG. 14 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a baja velocidad, según otro ejemplo ilustrativo. En el dispositivo 1400 de cuantificación de la FIG. 14, las partes de baja velocidad de las FIGS. 9C y 9D se pueden aplicar a un primer cuantificador 1431 y un segundo cuantificador 1451 utilizados por un primer módulo 1430 de cuantificación y un segundo módulo 1450 de cuantificación. A continuación, se describe una operación del dispositivo 1400 de cuantificación. Un cálculo 1400 de función de ponderación puede obtener una función de ponderación w(n) utilizando un valor LSF de entrada. La función de ponderación obtenida w(n) puede ser utilizada por el primer cuantificador 1431 y el segundo cuantificador 1451. Una señal z(n) se puede obtener eliminando un valor medio de un valor LSF f(n). Una unidad 1410 de selección puede determinar un esquema de cuantificación óptimo utilizando valores p(n) y z(n) predichos entre tramas utilizando un valor decodificado z(n) en una trama anterior, una función de ponderación y un modo de predicción pred_mode. Según el resultado seleccionado o determinado, la cuantificación se puede llevar a cabo utilizando uno del esquema de red de seguridad y el esquema predictivo. El esquema de cuantificación seleccionado o determinado se puede codificar por medio de un bit.
Cuando la unidad 1410 de selección selecciona el esquema de red de seguridad, un coeficiente LSF z(n) del cual se ha eliminado el valor medio puede ser cuantificado por el primer cuantificador 1431. El primer cuantificador 1431 puede utilizar una predicción intra-trama para un alto rendimiento o puede no utilizar la predicción intra-trama para una baja complejidad, como se describe con referencia a las FIGS. 9C y 9D. Cuando se utiliza un predictor intra-trama, se puede proveer un vector de entrada completo al primer cuantificador 1431 para cuantificar el vector de entrada completo mediante el uso de un TCQ o un TCVQ a través de la predicción intra-trama.
Cuando la unidad 1410 de selección selecciona el esquema predictivo, el coeficiente LSF z(n) del que se ha eliminado el valor medio puede proveerse al segundo cuantificador 1451 para cuantificar una señal de error de predicción, que se obtiene utilizando la predicción entre tramas, utilizando un TCQ o un TCVQ a través de la predicción intra-trama. El primer y segundo cuantificadores 1431 y 1451 pueden ser, por ejemplo, cuantificadores que tienen una forma de un TCQ o un TCVQ. En detalle, se puede utilizar un BC-TCQ, un BC-TCVQ o similar. Un resultado cuantificado se utiliza como una salida de un cuantificador de una velocidad baja.
La FIG. 15 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle abierto a una alta velocidad, según otro ejemplo ilustrativo. Un aparato 1500 de cuantificación mostrado en la FIG. 15 puede incluir una unidad 1510 de selección, un primer módulo 1530 de cuantificación y un segundo módulo 1550 de cuantificación. Cuando se compara con la FIG. 14, existen diferencias en que se añade un tercer cuantificador 1532 al primer módulo 1530 de cuantificación, y se añade un cuarto cuantificador 1552 al segundo módulo 1550 de cuantificación. En las FIGS. 14 y 15, los primeros cuantificadores 1431 y 1531 y los segundos cuantificadores 1451 y 1551 pueden utilizar los mismos libros de códigos, respectivamente. En consecuencia, aunque no se puede decir que el libro de códigos sea un libro de códigos óptimo, se puede ahorrar un tamaño de memoria de forma significativa. A continuación, se describe una operación del dispositivo 1500 de cuantificación. Cuando la unidad 1510 de selección selecciona el esquema de red de seguridad, el primer cuantificador 1531 lleva a cabo la primera cuantificación y la cuantificación inversa, y un segundo vector de error que indica una diferencia entre una señal original y un resultado cuantificado inversamente puede proveerse como una entrada del tercer cuantificador 1532. El tercer cuantificador 1532 puede cuantificar el segundo vector de error. El tercer cuantificador 1532 puede ser, por ejemplo, un SQ, un VQ, un SVQ o un MSVQ. Después de la cuantificación y la cuantificación inversa, un vector cuantificado finalmente puede almacenarse para una trama posterior.
Sin embargo, cuando la unidad 1510 de selección selecciona el esquema predictivo, el segundo cuantificador 1551 lleva a cabo la cuantificación y la cuantificación inversa, y un segundo vector de error que indica una diferencia entre una señal original y un resultado cuantificado inversamente puede proveerse como una entrada del cuarto cuantificador 1552. El cuarto cuantificador 1552 puede cuantificar el segundo vector de error. El cuarto cuantificador 1552 puede ser, por ejemplo, un SQ, un VQ, un SVQ o un MSVQ. Después de la cuantificación y la cuantificación inversa, un vector cuantificado finalmente puede almacenarse para una trama posterior.
La FIG. 16 es un diagrama de bloques de una unidad de cuantificación de coeficiente LPC según otro ejemplo ilustrativo.
Una unidad 1600 de cuantificación de coeficiente LPC que se muestra en la FIG. 16 puede incluir una unidad 1610 de selección, un primer módulo 1630 de cuantificación, un segundo módulo 1650 de cuantificación y una unidad 1670 de cálculo de función de ponderación. En comparación con la unidad 600 de cuantificación de coeficiente LPC que se muestra en la FIG. 6, existe una diferencia en que la unidad 1670 de cálculo de función de ponderación está incluida además. Un ejemplo de implementación detallado se muestra en las FIGS. 11A a 11F.
La FIG. 17 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle cerrado, según un ejemplo ilustrativo.
Un aparato 1700 de cuantificación que se muestra en la FIG. 17 puede incluir un primer módulo 1710 de cuantificación, un segundo módulo 1730 de cuantificación y una unidad 1750 de selección. El primer módulo 1710 de cuantificación puede incluir un primer cuantificador 1711, un primer predictor 1712 intra-trama y un tercer cuantificador 1713, y el segundo módulo 1730 de cuantificación puede incluir un segundo cuantificador 1731, un segundo predictor 1732 intratrama, un cuarto cuantificador 1733 y un predictor 1734 entre tramas.
Con referencia a la FIG. 17, en el primer módulo 1710 de cuantificación, el primer cuantificador 1711 puede cuantificar un vector de entrada completo utilizando un BC-TCVQ o un BC-TCQ a través del primer predictor 1712 intra-trama. El tercer cuantificador 1713 puede cuantificar una señal de error de cuantificación utilizando un VQ.
En el segundo módulo 1730 de cuantificación, el segundo cuantificador 1731 puede cuantificar una señal de error de predicción utilizando un BC-TCVQ o un BC-TCQ a través del segundo predictor 1732 intra-trama. El cuarto cuantificador 1733 puede cuantificar una señal de error de cuantificación utilizando un VQ.
La unidad 1750 de selección puede seleccionar una de una salida del primer módulo 1710 de cuantificación y una salida del segundo módulo 1730 de cuantificación.
En la FIG. 17, el esquema de red de seguridad es el mismo que el de la FIG. 9B, y el esquema predictivo es el mismo que el de la FIG. 10B. En la presente memoria, para la predicción entre tramas, se puede utilizar uno del método AR y el método MA. Según un ejemplo ilustrativo, se muestra un ejemplo de utilización de un método AR de primer orden. Se define con antelación un coeficiente de predicción y, como vector pasado para la predicción, se selecciona un vector como un vector óptimo entre dos esquemas en una trama anterior.
La FIG. 18 es un diagrama de bloques de un aparato de cuantificación que tiene una estructura de conmutación de un esquema de bucle cerrado, según otro ejemplo ilustrativo. En comparación con la FIG. 17, se omite un predictor intra-trama. Un dispositivo 1800 de cuantificación que se muestra en la FIG. 18 puede incluir un primer módulo 1810 de cuantificación, un segundo módulo 1830 de cuantificación y una unidad 1850 de selección. El primer módulo 1810 de cuantificación puede incluir un primer cuantificador 1811 y un tercer cuantificador 1812, y el segundo módulo 1830 de cuantificación puede incluir un segundo cuantificador 1831, un cuarto cuantificador 1832 y un predictor 1833 entre tramas.
Con referencia a la FIG. 18, la unidad 1850 de selección puede seleccionar o determinar un esquema de cuantificación óptimo utilizando, como entrada, una distorsión ponderada obtenida utilizando una salida del primer módulo 1810 de cuantificación y una salida del segundo módulo 1830 de cuantificación. A continuación, se describe una operación para determinar un esquema de cuantificación óptimo.
si ( ((predmode!=0) && (WDist[0]<PREFERSFNET*WDist[1]))
II(predmode == 0)
II(WDist[0]<abs_threshold) )
{
safety_net = 1;
}
de lo contrario{
safety_net = 0;
}
En la presente memoria, cuando un modo de predicción (predmode) es 0, esto indica un modo en el cual siempre se utiliza el esquema de red de seguridad, y cuando el modo de predicción (predmode) no es 0, esto indica que el esquema de red de seguridad y el esquema predictivo se conmutan y se utilizan. Un ejemplo de un modo en el cual siempre se utiliza el esquema de red de seguridad puede ser el modo TC o UC. Además, WDist[0] denota una distorsión ponderada del esquema de red de seguridad, y WDist[1] denota una distorsión ponderada del esquema predictivo. Además, abs_threshold denota un umbral preestablecido. Cuando el modo de predicción no es 0, se puede seleccionar un esquema de cuantificación óptimo dando una prioridad más alta a la distorsión ponderada del esquema de red de seguridad en consideración de un error de trama. Es decir, básicamente, si un valor de WDist[0] es menor que el umbral predefinido, se puede seleccionar el esquema de red de seguridad independientemente de un valor de WDist[1]. Incluso en los demás casos, en lugar de seleccionar simplemente una distorsión menos ponderada, para la misma distorsión ponderada, se puede seleccionar el esquema de red de seguridad porque el esquema de red de seguridad es más robusto frente a un error de trama. Por lo tanto, solo cuando WDist[0] es mayor que PREFERSFNET*WDist[1], se puede seleccionar el esquema predictivo. En la presente memoria, se puede utilizar PREFERSFNET=1,15, pero no se limita a ello. Al hacer esto, cuando se selecciona un esquema de cuantificación, se puede transmitir información de bits que indica el esquema de cuantificación seleccionado y un índice de cuantificación obtenido al llevar a cabo la cuantificación utilizando el esquema de cuantificación seleccionado.
La FIG. 19 es un diagrama de bloques de un aparato de cuantificación inversa según un ejemplo ilustrativo.
Un aparato 1900 de cuantificación inversa que se muestra en la FIG. 19 puede incluir una unidad 1910 de selección, un primer módulo 1930 de cuantificación inversa y un segundo módulo 1950 de cuantificación inversa.
Con referencia a la FIG. 19, la unidad 1910 de selección puede proveer un parámetro LPC codificado, p. ej., un residuo de predicción, a uno del primer módulo 1930 de cuantificación inversa y el segundo módulo 1950 de cuantificación inversa, basándose en la información del esquema de cuantificación incluida en un flujo de bits. Por ejemplo, la información del esquema de cuantificación puede estar representada por un bit.
El primer módulo 1930 de cuantificación inversa puede cuantificar inversamente el parámetro LPC codificado sin una predicción entre tramas.
El segundo módulo 1950 de cuantificación inversa puede cuantificar inversamente el parámetro LPC codificado con una predicción entre tramas.
El primer módulo 1930 de cuantificación inversa y el segundo módulo 1950 de cuantificación inversa pueden implementarse basándose en el procesamiento inverso del primer y segundo módulos de cuantificación de cada uno de los diversos ejemplos ilustrativos descritos anteriormente según un aparato de codificación correspondiente a un aparato de decodificación.
El aparato de cuantificación inversa de la FIG. 19 se puede aplicar independientemente de si una estructura de cuantificador es un esquema de bucle abierto o un esquema de bucle cerrado.
El modo VC en una frecuencia de muestreo interna de 16 KHz puede tener dos velocidades de decodificación de, por ejemplo, 31 bits por trama o de 40 o 41 bits por trama. El modo VC puede ser decodificado por un BC TCVQ de 8 etapas y 16 estados.
La FIG. 20 es un diagrama de bloques del aparato de cuantificación inversa según una realización a modo de ejemplo que puede corresponder a una velocidad de codificación de 31 bits. Un aparato 2000 de cuantificación inversa que se muestra en la FIG. 20 puede incluir una unidad 2010 de selección, un primer módulo 2030 de cuantificación inversa y un segundo módulo 2050 de cuantificación inversa. El primer módulo 2030 de cuantificación inversa puede incluir un primer cuantificador 2031 inverso y un primer predictor 2032 intra-trama, y el segundo módulo 2050 de cuantificación inversa puede incluir un segundo cuantificador 2051 inverso, un segundo predictor 2052 intra-trama y un predictor 2053 entre tramas. El aparato de cuantificación inversa de la FIG. 20 puede corresponder al aparato de cuantificación de la FIG. 12.
Con referencia a la FIG. 20, la unidad 2010 de selección puede proveer un parámetro LPC codificado a uno del primer módulo 2030 de cuantificación inversa y el segundo módulo 2050 de cuantificación inversa basándose en la información del esquema de cuantificación incluida en un flujo de bits.
Cuando la información del esquema de cuantificación indica el esquema de red de seguridad, el primer cuantificador 2031 inverso del primer módulo 2030 de cuantificación inversa puede llevar a cabo la cuantificación inversa utilizando un BC-TCVQ. Se puede obtener un coeficiente LSF cuantificado a través del primer cuantificador 2031 inverso y el primer predictor 2032 intra-trama. Se genera un coeficiente LSF finalmente decodificado añadiendo un valor medio que es un valor DC predeterminado al coeficiente LSF cuantificado.
Sin embargo, cuando la información del esquema de cuantificación indica el esquema predictivo, el segundo cuantificador 2051 inverso del segundo módulo 2050 de cuantificación inversa puede llevar a cabo una cuantificación inversa utilizando un BC-TCVQ. Una operación de cuantificación inversa comienza desde el vector más bajo entre los vectores LSF, y el predictor 2052 intra-trama genera un valor de predicción para un elemento de vector de un orden siguiente utilizando un vector decodificado. El predictor 2053 entre tramas genera un valor de predicción a través de una predicción entre tramas utilizando un coeficiente LSF decodificado en una trama anterior. Un coeficiente LSF finalmente decodificado se genera añadiendo un valor de predicción entre tramas obtenido por el predictor 2053 entre tramas a un coeficiente LSF cuantificado obtenido a través del segundo cuantificador 2051 inverso y el predictor 2052 intra-trama y luego añadiendo un valor medio que es un valor DC predeterminado al resultado de la suma.
La FIG. 21 es un diagrama de bloques detallado del aparato de cuantificación inversa según otra realización que puede corresponder a una velocidad de codificación de 41 bits. Un aparato 2100 de cuantificación inversa que se muestra en la FIG. 21 puede incluir una unidad 2110 de selección, un primer módulo 2130 de cuantificación inversa y un segundo módulo 2150 de cuantificación inversa. El primer módulo 2130 de cuantificación inversa puede incluir un primer cuantificador 2131 inverso, un primer predictor 2132 intra-trama y un tercer cuantificador 2133 inverso, y el segundo módulo 2150 de cuantificación inversa puede incluir un segundo cuantificador 2151 inverso, un segundo predictor 2152 intra-trama, un cuarto cuantificador 2153 inverso y un predictor 2154 entre tramas. El aparato de cuantificación inversa de la FIG. 21 puede corresponder al aparato de cuantificación de la FIG. 13.
Con referencia a la FIG. 21, la unidad 2110 de selección puede proveer un parámetro LPC codificado a uno del primer módulo 2130 de cuantificación inversa y el segundo módulo 2150 de cuantificación inversa basándose en la información del esquema de cuantificación incluida en un flujo de bits.
Cuando la información del esquema de cuantificación indica el esquema de red de seguridad, el primer cuantificador 2131 inverso del primer módulo 2130 de cuantificación inversa puede llevar a cabo la cuantificación inversa utilizando un BC-TCVQ. El tercer cuantificador 2133 inverso puede llevar a cabo la cuantificación inversa utilizando un SVQ. Se puede obtener un coeficiente LSF cuantificado a través del primer cuantificador 2131 inverso y el primer predictor 2132 intra-trama. Se genera un coeficiente LSF finalmente decodificado añadiendo un coeficiente LSF cuantificado obtenido por el tercer cuantificador 2133 inverso al coeficiente LSF cuantificado y añadiendo luego un valor medio que es un valor DC predeterminado al resultado de la suma.
Sin embargo, cuando la información del esquema de cuantificación indica el esquema predictivo, el segundo cuantificador 2151 inverso del segundo módulo 2150 de cuantificación inversa puede llevar a cabo una cuantificación inversa utilizando un BC-TCVQ. Una operación de cuantificación inversa comienza desde el vector más bajo entre los vectores LSF, y el segundo predictor 2152 intra-trama genera un valor de predicción para un elemento de vector de un orden siguiente utilizando un vector decodificado. El cuarto cuantificador 2153 inverso puede llevar a cabo una cuantificación inversa utilizando un SVQ. Un coeficiente LSF cuantificado provisto desde el cuarto cuantificador 2153 inverso puede añadirse a un coeficiente LSF cuantificado obtenido a través del segundo cuantificador 2151 inverso y el segundo predictor 2152 intra-trama. El predictor 2154 entre tramas puede generar un valor de predicción a través de una predicción entre tramas utilizando un coeficiente LSF decodificado en una trama anterior. Un coeficiente LSF finalmente decodificado se genera sumando un valor de predicción entre tramas obtenido por el predictor 2153 entre tramas al resultado de la suma y luego sumando un valor medio que es un valor DC predeterminado.
En la presente memoria, el tercer cuantificador 2133 inverso y el cuarto cuantificador 2153 inverso comparten un libro de códigos.
Aunque no se muestran, los aparatos de cuantificación inversa de las FIGS. 19 a 21 pueden usarse como componentes de un aparato de decodificación correspondiente a la FIG. 2.
Los contenidos relacionados con un BC-TCVQ empleado en asociación con la cuantificación de coeficiente LPC/cuantización inversa se describen en detalle en el documento"Block Constrained Trellis Coded Vector Quantization of LSF Parameters for Wideband Speech Codees"(Jungeun Park y Sangwon Kang,ETRI Journal,volumen 30, número 5, octubre de 2008). Además, los contenidos relacionados con un TCVQ se describen en detalle en el documento"Trellis Coded Vector Quantization"(Thomas R. Fischer y otros,IEEE Transactions on Information Theory,vol. 37, número 6, noviembre de 1991).
Los métodos según los ejemplos ilustrativos pueden ser editados por programas ejecutables por ordenador e implementados en un ordenador digital de uso general para ejecutar los programas mediante el uso de un medio de grabación legible por ordenador. Además, las estructuras de datos, comandos de programa o archivos de datos utilizables en las realizaciones de la presente invención pueden ser grabados en el medio de grabación legible por ordenador a través de varios medios. El medio de grabación legible por ordenador puede incluir todo tipo de dispositivos de almacenamiento para almacenar datos legibles por un sistema informático. Ejemplos del medio de grabación legible por ordenador incluyen medios magnéticos como, por ejemplo, discos duros, disquetes o cintas magnéticas, medios ópticos como, por ejemplo, memorias de solo lectura en disco compacto (CD-ROM, por sus siglas en inglés) o discos versátiles digitales (DVD), medios magneto-ópticos como, por ejemplo, discos flópticos, y dispositivos de hardware que están especialmente configurados para almacenar y llevar a cabo comandos de programa como, por ejemplo, ROM, RAM o memorias flash. Además, el medio de grabación legible por ordenador puede ser un medio de transmisión para transmitir una señal para designar comandos de programa, estructuras de datos o similares. Ejemplos de comandos de programa incluyen un código de lenguaje de alto nivel que puede ser ejecutado por un ordenador utilizando un intérprete, así como un código de lenguaje de máquina creado por un compilador.
Aunque las realizaciones de la presente invención se han descrito con referencia a las realizaciones limitadas y a los dibujos, las realizaciones de la presente invención no se limitan a las realizaciones descritas anteriormente, y las personas con experiencia ordinaria en la técnica pueden realizar actualizaciones y modificaciones de las mismas de diversas maneras a partir de la descripción. Por lo tanto, el alcance de la presente invención no está definido por la descripción anterior sino por las reivindicaciones anexas.
Claims (6)
1. Un aparato de cuantificación para codificar una señal de audio, comprendiendo el aparato de cuantificación: un primer módulo de cuantificación, implementado por al menos un procesador, configurado para cuantificar coeficientes de frecuencia espectral de línea, LSF, de la señal de audio sin predicción entre tramas;
un segundo módulo de cuantificación, implementado por el al menos un procesador, configurado para cuantificar los coeficientes LSF con la predicción entre tramas; y
una unidad de selección para seleccionar uno del primer módulo de cuantificación y el segundo módulo de cuantificación,
en donde el primer módulo de cuantificación comprende:
una primera parte de cuantificación configurada para cuantificar una señal de audio de entrada para generar una primera señal de cuantificación; y
una tercera parte de cuantificación configurada para cuantificar una primera señal de error de cuantificación generada a partir de la primera señal de cuantificación y la señal de audio de entrada,
en donde el segundo módulo de cuantificación comprende:
un predictor entre tramas configurado para generar una señal de predicción para predecir la señal de audio de entrada; una segunda parte de cuantificación configurada para cuantificar una señal de error de predicción generada a partir de la señal de predicción y la señal de audio de entrada, para generar una segunda señal de cuantificación; y una cuarta parte de cuantificación configurada para cuantificar una segunda señal de error de cuantificación generada a partir de la señal de error de predicción y la segunda señal de cuantificación,
en donde la primera parte de cuantificación y la segunda parte de cuantificación comprenden un cuantificador vectorial codificado de entrelazado, TCVQ, que asigna subvectores a cada etapa del TCVQ, y
en donde la tercera parte de cuantificación y la cuarta parte de cuantificación comparten un libro de códigos.
2. El aparato de cuantificación de la reivindicación 1, en donde el TCVQ es un cuantificador vectorial codificado de entrelazado, BC-TCVQ, restringido por bloques de 16 estados y 8 etapas.
3. El aparato de cuantificación de la reivindicación 1, en donde los subvectores se generan dividiendo un vector de entrada del TCVQ en subvectores bidimensionales.
4. El aparato de cuantificación de la reivindicación 1, en donde el TCVQ está configurado para buscar un índice óptimo basado en una función de ponderación.
5. El aparato de cuantificación de la reivindicación 1, en donde la unidad de selección selecciona uno del primer módulo de cuantificación y el segundo módulo de cuantificación basándose en una señal de error de predicción, en una manera de bucle abierto.
6. El aparato de cuantificación de la reivindicación 1, en donde la tercera parte de cuantificación y la cuarta parte de cuantificación son cuantificadores vectoriales.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201461971638P | 2014-03-28 | 2014-03-28 | |
| US201462029687P | 2014-07-28 | 2014-07-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3009924T3 true ES3009924T3 (en) | 2025-03-31 |
Family
ID=54196513
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24194481T Active ES3044658T3 (en) | 2014-03-28 | 2015-03-30 | Device for quantization of linear prediction coefficient |
| ES21168545T Active ES3009924T3 (en) | 2014-03-28 | 2015-03-30 | Method and device for quantization of linear prediction coefficient and method and device for inverse quantization |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24194481T Active ES3044658T3 (en) | 2014-03-28 | 2015-03-30 | Device for quantization of linear prediction coefficient |
Country Status (9)
| Country | Link |
|---|---|
| US (3) | US10515646B2 (es) |
| EP (3) | EP4439552B1 (es) |
| JP (1) | JP6542796B2 (es) |
| KR (3) | KR102392003B1 (es) |
| CN (2) | CN110853659B (es) |
| ES (2) | ES3044658T3 (es) |
| PL (1) | PL3125241T3 (es) |
| SG (2) | SG11201608787UA (es) |
| WO (1) | WO2015145266A2 (es) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3042066C (en) * | 2014-04-25 | 2021-03-02 | Ntt Docomo, Inc. | Linear prediction coefficient conversion device and linear prediction coefficient conversion method |
| ES2982894T3 (es) * | 2014-05-07 | 2024-10-18 | Industry Univ Cooperation Foundationhanyang Univ Erica Campus | Dispositivo para cuantificar el coeficiente predictivo lineal |
| WO2016142002A1 (en) * | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| DE102018112215B3 (de) * | 2018-04-30 | 2019-07-25 | Basler Ag | Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert |
| KR102030384B1 (ko) | 2018-06-19 | 2019-11-08 | 광운대학교 산학협력단 | 잔차 계수 부호화/복호화 방법 및 장치 |
| CN119743599A (zh) | 2018-06-11 | 2025-04-01 | 韩华视觉株式会社 | 用于对图像进行解码和编码的方法以及非暂态计算机可读介质 |
| GB2577698A (en) | 2018-10-02 | 2020-04-08 | Nokia Technologies Oy | Selection of quantisation schemes for spatial audio parameter encoding |
| CN112233682B (zh) * | 2019-06-29 | 2024-07-16 | 华为技术有限公司 | 一种立体声编码方法、立体声解码方法和装置 |
| CN110830404A (zh) * | 2019-10-31 | 2020-02-21 | 西南交通大学 | 一种基于矢量线性预测的数字移动前传信号量化方法 |
| CN113571073A (zh) * | 2020-04-28 | 2021-10-29 | 华为技术有限公司 | 一种线性预测编码参数的编码方法和编码装置 |
| CN115843378A (zh) * | 2020-07-07 | 2023-03-24 | 弗劳恩霍夫应用研究促进协会 | 使用针对多声道音频信号的声道的缩放参数的联合编码的音频解码器、音频编码器以及相关方法 |
| CN114357355B (zh) * | 2022-01-05 | 2025-05-30 | 北京师范大学 | 一种基于曲线特征加权的植被指数时序数据函数拟合重建方法 |
| US12525248B2 (en) * | 2022-08-11 | 2026-01-13 | Electronics And Telecommunications Research Institute | Apparatus for encoding and decoding audio signal and method of operation thereof |
Family Cites Families (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5596659A (en) * | 1992-09-01 | 1997-01-21 | Apple Computer, Inc. | Preprocessing and postprocessing for vector quantization |
| WO1994006099A1 (en) * | 1992-09-01 | 1994-03-17 | Apple Computer, Inc. | Improved vector quantization |
| IT1271959B (it) * | 1993-03-03 | 1997-06-10 | Alcatel Italia | Codec per il parlato a predizione lineare eccitato da un libro di codici |
| CA2135629C (en) * | 1993-03-26 | 2000-02-08 | Ira A. Gerson | Multi-segment vector quantizer for a speech coder suitable for use in a radiotelephone |
| JP3557255B2 (ja) * | 1994-10-18 | 2004-08-25 | 松下電器産業株式会社 | Lspパラメータ復号化装置及び復号化方法 |
| US5774839A (en) * | 1995-09-29 | 1998-06-30 | Rockwell International Corporation | Delayed decision switched prediction multi-stage LSF vector quantization |
| US6904404B1 (en) | 1996-07-01 | 2005-06-07 | Matsushita Electric Industrial Co., Ltd. | Multistage inverse quantization having the plurality of frequency bands |
| JP3246715B2 (ja) | 1996-07-01 | 2002-01-15 | 松下電器産業株式会社 | オーディオ信号圧縮方法,およびオーディオ信号圧縮装置 |
| US6055496A (en) * | 1997-03-19 | 2000-04-25 | Nokia Mobile Phones, Ltd. | Vector quantization in celp speech coder |
| US5974181A (en) * | 1997-03-20 | 1999-10-26 | Motorola, Inc. | Data compression system, method, and apparatus |
| TW408298B (en) * | 1997-08-28 | 2000-10-11 | Texas Instruments Inc | Improved method for switched-predictive quantization |
| US6125149A (en) * | 1997-11-05 | 2000-09-26 | At&T Corp. | Successively refinable trellis coded quantization |
| US6324218B1 (en) * | 1998-01-16 | 2001-11-27 | At&T | Multiple description trellis coded quantization |
| US7072832B1 (en) * | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
| US6959274B1 (en) | 1999-09-22 | 2005-10-25 | Mindspeed Technologies, Inc. | Fixed rate speech compression system and method |
| AU7486200A (en) | 1999-09-22 | 2001-04-24 | Conexant Systems, Inc. | Multimode speech encoder |
| US6504877B1 (en) * | 1999-12-14 | 2003-01-07 | Agere Systems Inc. | Successively refinable Trellis-Based Scalar Vector quantizers |
| JP3404024B2 (ja) | 2001-02-27 | 2003-05-06 | 三菱電機株式会社 | 音声符号化方法および音声符号化装置 |
| US8050452B2 (en) * | 2001-03-22 | 2011-11-01 | Digimarc Corporation | Quantization-based data embedding in mapped data |
| US7376242B2 (en) * | 2001-03-22 | 2008-05-20 | Digimarc Corporation | Quantization-based data embedding in mapped data |
| JP2003140693A (ja) | 2001-11-02 | 2003-05-16 | Sony Corp | 音声復号装置及び方法 |
| CA2388358A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
| KR100486732B1 (ko) | 2003-02-19 | 2005-05-03 | 삼성전자주식회사 | 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치 |
| JP2007506986A (ja) | 2003-09-17 | 2007-03-22 | 北京阜国数字技術有限公司 | マルチ解像度ベクトル量子化のオーディオcodec方法及びその装置 |
| KR100659725B1 (ko) * | 2005-12-09 | 2006-12-19 | 한국전자통신연구원 | 다중 안테나 시스템의 송신 장치 및 방법과, 수신 장치 및방법 |
| KR100728056B1 (ko) * | 2006-04-04 | 2007-06-13 | 삼성전자주식회사 | 다중 경로 트랠리스 부호화 양자화 방법 및 이를 이용한다중 경로 트랠리스 부호화 양자화 장치 |
| US20090198491A1 (en) * | 2006-05-12 | 2009-08-06 | Panasonic Corporation | Lsp vector quantization apparatus, lsp vector inverse-quantization apparatus, and their methods |
| US8589151B2 (en) * | 2006-06-21 | 2013-11-19 | Harris Corporation | Vocoder and associated method that transcodes between mixed excitation linear prediction (MELP) vocoders with different speech frame rates |
| US7414549B1 (en) * | 2006-08-04 | 2008-08-19 | The Texas A&M University System | Wyner-Ziv coding based on TCQ and LDPC codes |
| KR101412255B1 (ko) * | 2006-12-13 | 2014-08-14 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 부호화 장치, 복호 장치 및 이들의 방법 |
| EP2101320B1 (en) * | 2006-12-15 | 2014-09-03 | Panasonic Corporation | Adaptive excitation vector quantization apparatus and adaptive excitation vector quantization method |
| KR100903110B1 (ko) | 2007-04-13 | 2009-06-16 | 한국전자통신연구원 | 트렐리스 부호 양자화 알고리듬을 이용한 광대역 음성 부호화기용 lsf 계수 양자화 장치 및 방법 |
| CN101399041A (zh) | 2007-09-30 | 2009-04-01 | 华为技术有限公司 | 背景噪声编解码方法及装置 |
| KR101671005B1 (ko) | 2007-12-27 | 2016-11-01 | 삼성전자주식회사 | 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법및 장치 |
| CN101609682B (zh) * | 2008-06-16 | 2012-08-08 | 向为 | 自适应多速率宽带不连续发送的一种编码器和方法 |
| EP2139000B1 (en) * | 2008-06-25 | 2011-05-25 | Thomson Licensing | Method and apparatus for encoding or decoding a speech and/or non-speech audio input signal |
| EP2144230A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
| GB2466675B (en) * | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
| GB2466673B (en) * | 2009-01-06 | 2012-11-07 | Skype | Quantization |
| RU2519027C2 (ru) | 2009-02-13 | 2014-06-10 | Панасоник Корпорэйшн | Устройство векторного квантования, устройство векторного обратного квантования и способы для этого |
| US8670990B2 (en) * | 2009-08-03 | 2014-03-11 | Broadcom Corporation | Dynamic time scale modification for reduced bit rate audio coding |
| WO2011087333A2 (ko) | 2010-01-15 | 2011-07-21 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
| EP2557566B8 (en) | 2010-04-08 | 2018-09-19 | Lg Electronics Inc. | Method and apparatus for processing an audio signal |
| KR101660843B1 (ko) * | 2010-05-27 | 2016-09-29 | 삼성전자주식회사 | Lpc 계수 양자화를 위한 가중치 함수 결정 장치 및 방법 |
| FR2961980A1 (fr) * | 2010-06-24 | 2011-12-30 | France Telecom | Controle d'une boucle de retroaction de mise en forme de bruit dans un codeur de signal audionumerique |
| KR101826331B1 (ko) * | 2010-09-15 | 2018-03-22 | 삼성전자주식회사 | 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법 |
| KR101747917B1 (ko) | 2010-10-18 | 2017-06-15 | 삼성전자주식회사 | 선형 예측 계수를 양자화하기 위한 저복잡도를 가지는 가중치 함수 결정 장치 및 방법 |
| BR122021000241B1 (pt) | 2011-04-21 | 2022-08-30 | Samsung Electronics Co., Ltd | Aparelho de quantização de coeficientes de codificação preditiva linear |
| CA2833874C (en) | 2011-04-21 | 2019-11-05 | Ho-Sang Sung | Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium |
| US9406307B2 (en) * | 2012-08-19 | 2016-08-02 | The Regents Of The University Of California | Method and apparatus for polyphonic audio signal prediction in coding and networking systems |
| CN103050121A (zh) | 2012-12-31 | 2013-04-17 | 北京迅光达通信技术有限公司 | 线性预测语音编码方法及语音合成方法 |
| US9842598B2 (en) * | 2013-02-21 | 2017-12-12 | Qualcomm Incorporated | Systems and methods for mitigating potential frame instability |
| CN103236262B (zh) | 2013-05-13 | 2015-08-26 | 大连理工大学 | 一种语音编码器码流的转码方法 |
| CN103632673B (zh) | 2013-11-05 | 2016-05-18 | 无锡北邮感知技术产业研究院有限公司 | 一种语音线性预测模型的非线性量化方法 |
| ES2982894T3 (es) * | 2014-05-07 | 2024-10-18 | Industry Univ Cooperation Foundationhanyang Univ Erica Campus | Dispositivo para cuantificar el coeficiente predictivo lineal |
-
2015
- 2015-03-30 EP EP24194481.8A patent/EP4439552B1/en active Active
- 2015-03-30 EP EP21168545.8A patent/EP3869506B1/en active Active
- 2015-03-30 KR KR1020167026991A patent/KR102392003B1/ko active Active
- 2015-03-30 CN CN201911127329.3A patent/CN110853659B/zh active Active
- 2015-03-30 JP JP2016559611A patent/JP6542796B2/ja active Active
- 2015-03-30 PL PL15769251T patent/PL3125241T3/pl unknown
- 2015-03-30 ES ES24194481T patent/ES3044658T3/es active Active
- 2015-03-30 US US15/300,173 patent/US10515646B2/en active Active
- 2015-03-30 SG SG11201608787UA patent/SG11201608787UA/en unknown
- 2015-03-30 SG SG10201808285UA patent/SG10201808285UA/en unknown
- 2015-03-30 ES ES21168545T patent/ES3009924T3/es active Active
- 2015-03-30 WO PCT/IB2015/001152 patent/WO2015145266A2/ko not_active Ceased
- 2015-03-30 EP EP15769251.8A patent/EP3125241B1/en active Active
- 2015-03-30 KR KR1020247001250A patent/KR102745244B1/ko active Active
- 2015-03-30 CN CN201580028157.8A patent/CN106463134B/zh active Active
- 2015-03-30 KR KR1020227013950A patent/KR102626320B1/ko active Active
-
2019
- 2019-11-19 US US16/688,482 patent/US11450329B2/en active Active
-
2022
- 2022-09-19 US US17/947,249 patent/US11848020B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3009924T3 (en) | Method and device for quantization of linear prediction coefficient and method and device for inverse quantization | |
| ES2982894T3 (es) | Dispositivo para cuantificar el coeficiente predictivo lineal | |
| ES2989845T3 (es) | Dispositivo y procedimiento de determinación de función de ponderación para cuantificar el coeficiente de codificación de predicción lineal |