ES2773958T3 - Codificación vectorial de forma de ganancia dividida - Google Patents

Codificación vectorial de forma de ganancia dividida Download PDF

Info

Publication number
ES2773958T3
ES2773958T3 ES14805698T ES14805698T ES2773958T3 ES 2773958 T3 ES2773958 T3 ES 2773958T3 ES 14805698 T ES14805698 T ES 14805698T ES 14805698 T ES14805698 T ES 14805698T ES 2773958 T3 ES2773958 T3 ES 2773958T3
Authority
ES
Spain
Prior art keywords
vector
segments
segment
target vector
shape
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14805698T
Other languages
English (en)
Inventor
Erik Norvell
Tomas Toftgård
Volodya Grancharov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2773958T3 publication Critical patent/ES2773958T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/665Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using psychoacoustic properties of the ear, e.g. masking effect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

Un método para la cuantificación vectorial de forma de ganancia de un vector x objetivo que comprende pluralidad de coeficientes derivados de una señal de audio, donde una ganancia del vector x objetivo es cuantificada mediante un cuantificador de ganancia y una forma del vector x objetivo es cuantificada por un cuantificador de vector dividido, y un número máximo de bits, BMÁX, permitido para cuantificar un segmento de vector es restringido por el cuantificador de vector dividido, con el método que es llevado a cabo por un codificador de audio, con el método que comprende: - determinar un número inicial, Np_inic, de segmentos para el vector x objetivo sobre la base de una relación entre un número de bits asignados para cuantificar la forma del vector x objetivo y BMÁX; - determinar la energía de cada segmento de vector objetivo de Np_inic mediante la suma de energías de coeficientes de vector; - determinar un número promedio de bits por segmento, BPROM, sobre la base de una relación entre el número de bits asignados para cuantificar la forma del vector x objetivo y el Np_inic; - determinar un número final, Np, de segmentos mediante el aumento del número inicial, Np_inic, de segmentos en uno si una desviación máxima de una energía de segmento de vector objetivo a partir de un valor de energía por segmento promedio, EPROM, es mayor que un umbral proporcional a la diferencia entre BMÁX y BPROM; - proporcionar el número final, Np, al cuantificador de vector dividido para ser usado en la cuantificación de la forma del vector x objetivo; e - indicar el aumento del número de segmentos para un decodificador de audio.

Description

DESCRIPCIÓN
Codificación vectorial de forma de ganancia dividida
Campo técnico
La invención descrita en el presente documento en general se refiere a la codificación y decodificación vectorial de forma de ganancia y, en particular, a la cuantificación vectorial de forma de ganancia dividida.
Antecedentes
Los métodos de codificación para, p. ej., audio y/o vídeo, comprenden habitualmente algún tipo de cuantificación de segmentos de señal. Se sabe que la cuantificación vectorial (VQ, de sus siglas en inglés) sin restricciones es un método de cuantificación útil para muestras agrupadas, es decir, vectores, de una cierta longitud. Sin embargo, las restricciones de complejidad de memoria y búsqueda han conducido al desarrollo de cuantificadores vectoriales estructurados. Diferentes estructuras proporcionan diferentes compensaciones en términos de complejidad de búsqueda y requisitos de memoria. Un método tal convencional para la cuantificación vectorial estructurada es la cuantificación vectorial de forma/ganancia, donde el vector x objetivo se representa mediante el uso de un vector de forma r y una ganancia G:
_ x
r ~ G
El concepto de cuantificación vectorial de forma/ganancia es para cuantificar un par de componentes de forma y de ganancia {r, G} en lugar de cuantificar directamente el vector objetivo. Los componentes de ganancia y de forma son después codificados mediante el uso de un cuantificador de forma que se encuentra sintonizado para la entrada de forma normalizada, y un cuantificador de ganancia que maneja la dinámica de la señal. Esta estructura se utiliza comúnmente en la codificación de audio ya que la división en la dinámica y la forma, que también significa estructura fina, se ajusta bien con el modelo auditivo perceptual.
Además, muchos códecs de audio tales como IETF Opus e ITU-T G.719 utilizan una cuantificación vectorial de forma/ganancia para codificar los coeficientes espectrales de la señal de audio de destino. Estos dos códecs utilizan una estructura de banda fija para particionar el espectro en múltiples segmentos, y no existe adaptación de la estructura de banda a ningún cambio en el vector objetivo.
Un problema con la cuantificación de forma de ganancia es encontrar una longitud vectorial adecuada. Los vectores más largos proporcionan variaciones más grandes dentro del vector de manera que el cuantificador de forma necesita manejar la dinámica de la señal. Los vectores más cortos reducen la dinámica dentro del vector, pero se pueden ver afectados por el hecho de que la dimensionalidad inferior de la VQ de forma tiene menos capacidad para explotar la correlación de la muestra. Es más, la sobrecarga para la codificación de ganancia aumenta a medida que el número de particiones aumenta, lo que deja menos bits para la codificación de la forma.
Compendio
Es deseable lograr una codificación y una decodificación vectoriales de forma de ganancia que sean eficientes.
Según un primer aspecto, se describe un método para la cuantificación vectorial de forma de ganancia dividida según la reivindicación 1.
Según un segundo aspecto, se describe un codificador de audio operativo para realizar una cuantificación vectorial de forma de ganancia dividida según la reivindicación 6.
Según un tercer aspecto, un programa informático comprende instrucciones que cuando se ejecutan en un aparato provocan que el aparato realice el método según el primer aspecto descrito anteriormente.
Breve descripción de los dibujos
Lo anterior y otros objetos, características y ventajas de la tecnología descrita en el presente documento serán evidentes a partir de la siguiente descripción más particular de realizaciones tal como se ilustra en los dibujos adjuntos. Los dibujos no están necesariamente a escala, poniéndose énfasis en cambio en ilustrar los principios de la tecnología descrita en el presente documento.
Las Figuras 1-2 son diagramas de flujo que muestran los métodos llevados a cabo por medio de un codificador según realizaciones representativas.
La Figura 3a ilustra Eprom y la energía media por segmento para un número de segmentos vectoriales.
La Figura 3b ilustra Bmáx y Bprom para un número de segmentos vectoriales.
La Figura 4 es un diagrama de flujo que muestra un método llevado a cabo por medio de un codificador según una realización representativa.
Las Figuras 5-6 son diagramas de flujo que muestran los métodos llevados a cabo por medio de un decodificador según realizaciones representativas.
La Figura 7 es un diagrama que muestra una disminución general de la varianza de forma con el número de divisiones.
La Figura 8 muestra un ejemplo de un vector objetivo (Figura superior) y las correspondientes energías para 3 divisiones (Figura central) y 4 divisiones (Figura inferior). Adviértase que el modelo con 4 divisiones sigue más de cerca la dinámica de la energía en el vector objetivo.
La Figura 9 es un diagrama que muestra una compensación en la división del vector objetivo para la cuantificación de forma/ganancia. Un número bajo de divisiones no puede normalizar el vector de forma suficientemente bien.
Un número alto de divisiones requiere una gran sobrecarga de bits para transmitir las ganancias, y como consecuencia, no se deja el número suficiente de bits para la codificación de la forma.
La Figura 10 muestra un ejemplo de un vector objetivo y las correspondientes energías del segmento para divisiones de 2 y 3 vías.
La Figura 11 es un diagrama que muestra la varianza de las energías del segmento como una función del número de segmentos en los que se encuentra dividido el vector objetivo en la Figura 10.
Las Figuras 12a-14 ilustran diferentes implementaciones de un codificador y/o un decodificador según las realizaciones representativas.
La figura 15 ilustra un codificador según las realizaciones representativas.
La figura 16 ilustra un decodificador según las realizaciones representativas.
Descripción detallada
Un concepto de las realizaciones descritas en el presente documento consiste en analizar la forma y determinar una resolución adecuada en los subvectores, dado un vector objetivo de un cierto tamaño. Esto puede reducir el error de cuantificación, y aumentar la calidad percibida, en el caso del códec de audio. Además, un objetivo de algunas realizaciones descritas en el presente documento es encontrar un número óptimo de secciones, es decir, un número de divisiones del vector objetivo.
Las realizaciones en el presente documento se refieren a un método para admitir la codificación vectorial de forma de ganancia dividida. El método está destinado a llevarse a cabo mediante un codificador multimedia en situaciones donde la codificación de cada segmento de vector se encuentra sometida a una restricción relacionada con un número máximo de bits, Bmáx. Es decir, en situaciones donde el número máximo de bits permitidos para la codificación de un segmento de vector sea Bmáx. Esta restricción se puede deber, p. ej., a la capacidad de procesamiento y/o la capacidad de memoria del codificador multimedia. Se describirá a continuación un método según una realización representativa con referencia a la Figura 1. El método ilustrado en la Figura 1 comprende, para un vector x objetivo, que determina un número inicial, Np_inic, de segmentos 101 para el vector x objetivo. El número, Np_inic, se puede determinar sobre la base de, p. ej., Bmáx y un balance de bits, es decir, el número de bits asignados para la codificación de todo el vector x. El método además comprende la determinación de un número de bits promedio por segmento, Bprom, 102 sobre la base del balance de bits de vector y Np_inic. Adviértase que el vector x no necesita en realidad dividirse en esta etapa, a pesar de que se hayan determinado un número inicial de segmentos y un número de bits promedio disponibles para un segmento de vector inicial. El método además comprende la determinación de un número final, Np, de segmentos a utilizar en la codificación vectorial de forma de ganancia, sobre la base de las energías de los segmentos Np_inic y una diferencia entre Bmáx y Bprom 103. Por medio de la determinación de un número final de segmentos sobre la base de estos parámetros, se permite una asignación eficiente de bits del balance de bits sobre el vector objetivo, que se describirá más en detalle más adelante. La determinación de un número de segmentos se puede expresar en forma alternativa cómo la determinación de un número de divisiones, ya que el número de segmentos y el número de divisiones están estrechamente relacionados. En forma alternativa, el término división se puede utilizar para denotar un segmento.
El número final determinado, Np, de segmentos se puede indicar luego a un decodificador multimedia, con el fin de permitir que el decodificador multimedia decodifique adecuadamente el vector de forma de ganancia codificado. Debe tenerse en cuenta que no necesariamente se indica el número de segmentos real, sino más bien un cambio de acuerdo con lo comparado con el número inicial de segmentos determinado. Con respecto a la determinación del Np_inic, este número inicial de segmentos se puede proporcionar para el codificador y el decodificador. En tales casos el término «determinación» se referirá, p. ej., a establecer el Np_inic para su uso, o similar.
En una realización, ilustrada en la Figura 2, la determinación de un número final de segmentos comprende el aumento del número de segmentos (y divisiones) 204 cuando una relación entre las energías de los segmentos Np_¡n¡c y la diferencia entre Bmáx y Bprom cumple un criterio. Con «aumento» del número de segmentos aquí se quiere decir el aumento, de acuerdo con lo comparado en el número inicial Np_inic, de segmentos. Por ejemplo, el aumento puede ser por medio de una división (y un segmento), que tiene como resultado un número final de segmentos de Np= Np_inic 1. El aumento del número de segmentos luego se puede indicar 205 a un decodificador multimedia de una manera adecuada. Es ventajoso utilizar tan pocos bits como sea posible para indicar el número final de segmentos a un decodificador. Cuando el aumento es un número predeterminado de segmentos (o divisiones), p. ej., uno, el número aumentado final de segmentos (o divisiones), podría indicarse al decodificador multimedia mediante el uso de un único bit, que a menudo se denomina una bandera.
Por ejemplo, el bit podría establecerse en «1», o «verdadero», cuando se aplica un número aumentado de segmentos, y puede establecerse en «0», o «falso», cuando se va a utilizar el número inicial de segmentos. Es decir, la determinación de un número final de segmentos puede además comprender determinar 206 que el número inicial, Np_inic, de segmentos, se debería utilizar, es decir, Np=Np_inic, cuando la relación entre las energías de los segmentos Np_inic y la diferencia entre Bmáx y Bprom no cumple el criterio, o, cuando no se cumple un criterio correspondiente. Esto se ilustra como la acción 206 en la Figura 2.
La determinad < - ;e un número final, Np, de segmentos puede comprender el aumento del número de segmentos 204, de acuerdo con lo comparado con el número inicial, para el vector x objetivo, cuando una desviación máxima, de una energía de segmento de vector objetivo, a partir de un valor de energía por segmento promedio, Eprom, para el vector x objetivo es mayor que un umbral sobre la base de la diferencia entre Bmáx y Bprom. Es decir, una variación de energía sobre los segmentos vectoriales objetivo se puede comparar con un umbral sobre la base de la diferencia entre Bmáx y Bprom. La lógica detrás del uso de una desviación máxima a partir de un valor de energía por segmento promedio, Eprom, es descrita de una manera simplificada, de forma que cuando existen grandes desviaciones de una energía por segmento promedio, existen grandes diferencias en la importancia perceptual de los diferentes segmentos. Debe tenerse en cuenta que la comparación del «umbral» se puede expresar al revés, de manera tal que la diferencia entre Bmáx y Bprom se compare a un umbral, lo que depende, o está en función, de las energías de los segmentos Np ¡nic. Es decir, lo anterior se puede expresar de forma que cuando la diferencia entre Bmáx y (Bmáx- Bprom) Bprom es menor que un umbral dependiendo de una desviación máxima, de una energía de segmento de vector objetivo, a partir de un valor de energía por segmento promedio, Eprom, para el vector x objetivo, el número de segmentos debe aumentarse, etc. Por ejemplo, se puede expresar de forma que el número de divisiones debe aumentarse cuando M > a(BMÁx - Bprom), o, cuando (Bmáx - Bprom) donde ya sea a(BMÁx - Bprom) o puede denotarse como umbral.
Con respecto a las energías de los segmentos, la en ~ jía de registro por segmento se puede calcular como:
Figure imgf000004_0001
donde i es un índice de segmento y k es un índice de muestra. La energía por segmento promedio se puede definir entonces como:
Figure imgf000004_0002
Una medida de las variaciones de energía se puede definir entonces como la desviación de energía de registro máxima absoluta de la media como:
Figure imgf000004_0003
La determinación, o decisión, de cuándo agregar una división adicional puede ser en función de pruebas si la medida de variación de energía M se encuentra por encima de un cierto umbral sobre la base de Bmáx y Bprom como:
cuando M > a(BMÁx - Bprom) se establece Np = (Npjn ic 1);
si no, se establece Np = Np_¡n¡c
La Figura 3a ilustra una energía media por segmento (puntos negros) y la energía promedio total Eprom (promedio de los promedios de segmentos). Para minimizar la distorsión de codificación, es deseable utilizar más bits para los segmentos de codificación que comprenden más energía que para los segmentos de codificación que comprenden menos energía. Por lo tanto, cuando existe una gran variación en la energía entre segmentos, sería deseable volver a asignar los bits a partir de segmentos que comprenden menos energía a segmentos que comprenden más energía, suponiendo que todos los segmentos inicialmente se asignan en por lo menos aproximadamente los bits Bprom, es decir, suponiendo una distribución uniforme inicial de los bits sobre los segmentos. La Figura 3b es un gráfico simple que ilustra un número de segmentos, un valor Bmáx y un valor Bprom. Cuando la diferencia entre Bmáx y Bprom, lo cual también podría denotar el margen en este documento, es «pequeña», p. ej. más pequeña que un umbral, no será posible reasignar esa cantidad de bits a los segmentos de alto contenido de energía, antes de alcanzar Bmáx. Sin embargo, por medio del aumento del número de segmentos, Bprom se reducirá, lo cual se ilustra por medio de una flecha discontinua en la Figura 3a, y por lo tanto aumentará la posibilidad de asignar más bits a los segmentos de alto contenido de energía. Por medio del aumento del número de segmentos, se permite una desviación positiva más alta, en el número de bits, a partir de Bprom, que permite la reasignación de bits. La desviación positiva máxima permitida es Bmáx - Bprom. El término «reasignación» aquí no implica que un número promedio Bprom de bits en realidad se encuentre asignado a cada segmento antes de la reasignación, sino que únicamente se utiliza para facilitar la comprensión de la solución proporcionada en el presente documento.
Se puede describir una realización representativa como: cuando una variación de energía entre los segmentos vectoriales es «grande» con relación a un margen, Bmáx - Bprom, el número de divisiones y segmentos se incrementan en «1», lo cual entonces se indica a un decodificador por medio del ajuste de una bandera de un bit. La determinación de «grande» puede llevarse a cabo por el uso de un valor de umbral, el cual puede seleccionarse, p. ej., en función de simulaciones. Esta realización se ilustra en la Figura 4. En la Figura 4, la variación de energía se denota como M y, en este ejemplo, el umbral Mumb se basa en Bmáx - Bprom. Diferentes ejemplos de expresiones para una variación de energía se describirán con más detalle a continuación.
Debido a que la diferencia entre Bmáx y Bprom, es decir, el margen, es un número de bits, que se debe comparar con una variación de energía, p. ej., una desviación máxima a partir de un promedio, que es una medida de energía, se puede utilizar un parámetro de ajuste a para hacer que el umbral de decisión sea proporcional al margen. Un valor de a se puede derivar p. ej., en función de simulaciones.
Además, existen situaciones donde no se considera significativo llevar a cabo el análisis del número de los segmentos descritos con anterioridad. Por análisis se comprende aquí la determinación de Bprom 102 y la determinación de un número final de segmentos 103. En tales situaciones, no es deseable llevar a cabo el análisis o desperdiciar bits en la indicación de un número de segmentos al decodificador. Por lo tanto, la materialización del análisis, y la indicación de un resultado, puede estar condicionada, es decir, únicamente se llevará a cabo cuando por lo menos se cumpla una condición adicional. Una tal condición adicional puede ser que el balance de bits de vector se encuentre por encima de un umbral. La razón de tal condición sería que cuando el balance de bits es bajo, no hay muchos bits para reasignar a otros segmentos. Otra condición adicional sería que el número inicial de divisiones o secciones debería estar por debajo de un umbral. La razón de tal condición sería, p. ej., las restricciones de complejidad.
Debe tenerse en cuenta que las realizaciones descritas con anterioridad están destinadas a ser no recursivas, lo que implica una baja complejidad. Esto puede ser ventajoso, de acuerdo con lo comparado con métodos recursivos más demandantes de recursos. Se debe tener en cuenta además que los segmentos están destinados a estar por lo menos aproximadamente distribuidos en forma uniforme sobre el vector, es decir, ser de, por lo menos aproximadamente, igual tamaño. Esto también puede ser una ventaja, de acuerdo con lo comparado con métodos que generan segmentos de tamaños muy diferentes.
Las realizaciones en el presente documento además se refieren a un método para admitir la decodificación vectorial de forma de ganancia dividida. El método corresponde al método de codificación descrito con anterioridad. El método está destinado a llevarse a cabo por medio de un decodificador multimedia en situaciones donde una representación de cada segmento de vector de un vector x de forma de ganancia se encuentra sometida a una restricción relacionada con un número máximo de bits, Bmáx, permitido para la codificación de un segmento de vector. El término «multimedia» aquí pretende referirse a, p. ej., audio y/o vídeo. Se describirá a continuación un método según una realización representativa con referencia a la Figura 5. El método ilustrado en la Figura 5 comprende la determinación de un número inicial, Np inic, de segmentos, para un vector a reconstruir xq 501; el método además comprende la recepción de una indicación 502, desde un codificador multimedia, de si se aplica un mayor número de segmentos para el vector xq, o no, y la determinación de un número final de segmentos para la decodificación del vector xq sobre la base del número inicial de segmentos y la indicación recibida 503. El vector xq luego se puede decodificar 504 sobre la base del número final de segmentos. La indicación se puede, en analogía con el ejemplo en el lado del codificador, recibir en forma de una bandera de bits, la cual se establece, p. ej., en «1» cuando se aplica una división adicional, Np=Np_inic 1, y en «0» cuando se va a utilizar el número inicial de segmentos, Np=Np_inic. El uso de una bandera como indicador también se ilustra en la Figura 6.
En correspondencia con el lado del codificador, la recepción de una indicación puede estar condicionada y, por lo tanto, únicamente se lleva a cabo cuando se cumplen una o más condiciones adicionales. Las mismas condiciones se deben utilizar en el lado del codificador y el decodificador. Tales condiciones adicionales pueden, de acuerdo con lo indicado previamente, ser, p. ej., que el balance de bits de vector se encuentre por encima de un umbral T1, y que el número inicial de divisiones o segmentos se encuentre por debajo de un umbral T2, y/o que la tasa de bits por muestra Bmuestra se encuentre por encima de un límite dado. (T1 y T2 sólo se utilizan para indicar que no es el mismo umbral para los dos casos).
Se describirán a continuación algunos detalles y variantes adicionales de la solución proporcionada en el presente documento. Las realizaciones de un codificador multimedia y un decodificador multimedia correspondientes a las realizaciones de los métodos descritas con anterioridad se describirán al final de la descripción detallada.
Las variaciones de energía a través de un vector objetivo se pueden capturar mediante la división del vector objetivo en secciones más pequeñas. El beneficio de la división dependerá de la distribución de energía del vector objetivo. Esto se puede ilustrar por medio del cálculo de la varianza a2 de la señal de destino después de la normalización de las energías en cada sección. Suponiendo que las secciones tienen igual tamaño, esto se puede expresar como
Figure imgf000006_0001
donde la a2 es la varianza de la sección i, y Np es el número de segmentos.
Habitualmente, el valor de varianza disminuye rápidamente durante los primeros pocos números de divisiones, pero luego se satura, tal como se ilustra en la Figura 7. Mirando la forma del gráfico en la Figura 7, el punto de saturación puede interpretarse como el punto donde no es necesaria una mayor resolución en más secciones. Además, se puede observar que esta curva siempre convergerá a cero ya que la división final generará las secciones que contienen una muestra cada una con varianza cero. En la Figura 8, se muestra un vector objetivo de ejemplo con las correspondientes energías de sección para divisiones de 3 y 4 vías.
En otra realización, se compara la varianza de las energías entre las secciones/segmentos para diferentes configuraciones de división, es decir, para diferentes números de segmentos. Un gran aumento en la varianza entre diferentes configuraciones de división, p. ej., 3 segmentos vs. 2 segmentos, indica que sería beneficioso con una división adicional del vector objetivo. La varianza V se computa como
Figure imgf000006_0002
con la energía por coeficiente en un segmento i:
Figure imgf000006_0003
donde BW; es la longitud del segmento,
y, con la energía promedio por coeficiente:
Figure imgf000006_0004
La Figura 10 ilustra un vector objetivo de ejemplo (Figura superior) y las correspondientes energías del segmento para divisiones de 2 (Figura central) y 3 vías (Figura inferior), respectivamente, del vector objetivo de ejemplo. En la Figura 11, se muestra la correspondiente varianza de las energías del segmento para un número variable de segmentos. Considerando el cambio de 2 segmentos a 3 segmentos, la varianza V se incrementa, lo que entonces indica que una división en 3 segmentos sería beneficiosa sobre una división en 2 segmentos.
En una realización la decisión para divisiones adicionales se hace en función de:
si
Figure imgf000006_0005
si no,
enviar bandera = 0
donde es un umbral más bajo para el aumento en la varianza de las energías del segmento entre dos números consecutivos de divisiones. Cuando el aumento en la varianza es suficiente, es decir, en este ejemplo excede el umbral fi, el número de segmentos se incrementa, p. ej., en uno. De acuerdo con lo mencionado previamente, el uso de una división adicional se podría señalizar desde el codificador al decodificador por, por ejemplo, el uso de un bit para la señalización de una división adicional o ninguna división adicional. Sin embargo, se pueden utilizar más bits para la señalización de más de una división adicional, si se prefiere.
Una variación de la realización anterior es utilizar directamente la energía promedio por coeficiente Ecoef en segmentos normalizados como una medida de las variaciones de energía. La motivación para hacer esto es que cuando la energía promedio por coeficiente no cambia mucho entre dos números consecutivos de divisiones, la distribución dentro de cada segmento es similar y no se beneficia de una mayor división, mientras que un cambio grande entre dos números consecutivos de divisiones motiva una división adicional. La decisión se puede realizar en función de un umbral y similar al de la expresión anterior:
si
Figure imgf000007_0001
si no,
enviar bandera = 0
En otra realización, suponiendo que se proporciona un número inicial de segmentos Np_nic, p. ej., debido a las restricciones de cuantificador, el algoritmo toma la decisión de aumentar Np_inic o no con el siguiente procedimiento:
En primer lugar, la energía de registro por segmento se calcula como:
Figure imgf000007_0002
La energía por segmento promedio entonces se define como:
Figure imgf000007_0003
Una medida de las variaciones de energía se define como la desviación de energía de registro máxima absoluta de la media:
Figure imgf000007_0004
El absoluto se utiliza en caso de que sea esencial desencadenar en cualquier desviación grande del valor medio, ya sea positivo o negativo. En algunos casos, únicamente el límite superior es de importancia, en cuyo caso el valor absoluto se puede omitir, como:
Figure imgf000007_0005
En además otra realización, el límite inferior puede ser de mayor importancia, y la medida se puede definir entonces para encontrar la desviación negativa más pequeña:
Figure imgf000007_0006
En todas las realizaciones ejemplares de la medida de desviación de energía, la intención es aumentar el número de divisiones en caso de que la desviación estimada de energía sea grande. La razón es que una división adicional debería proporcionar un poco más de libertad para asignar los bits localmente, tal como se ha descrito previamente. La decisión de cuándo agregar una división adicional puede ser en función de pruebas si la medida de variación de energía M se encuentra por encima de un cierto umbral Mumb como (que también se ilustra en la Figura 4):
si M > M ÜMB R
N p = .V p + 11
enviar bandera = 1
si no,
enviar bandera = 0
En una realización, la decisión para una división adicional también puede verse afectada por las restricciones en el codificador para las diferentes secciones o segmentos. En tales casos, una división adicional puede ser necesaria si la asignación de bits necesaria no puede ajustarse por debajo del número máximo de bits para cada sección o segmento, Bmáx. Tal como se mencionó previamente, la diferencia entre el número máximo de bits por sección Bmáx y el número de bits promedio por sección Bprom puede denotarse por el margen para la asignación de bits (Bmáx -Bprom). Los bits promedio por banda se pueden calcular como
Figure imgf000008_0001
donde Bbanda denota el número de bits para la banda dada, es decir, el balance de bits para un vector objetivo que representa la banda. El término «banda» aquí se puede interpretar, p. ej., como la banda de frecuencia, la cual el vector objetivo representa. Además, el umbral de decisión se puede ajustar mediante el uso de un parámetro de ajuste a para hacer que el umbral de decisión sea proporcional al margen:
si
M > a (B MAX- B pROM)
\ ~ +1
enviar bandera = 1
si no,
enviar bandera = 0
La decisión de utilizar una división adicional también se puede codificar como un parámetro y enviarse desde el codificador al decodificador. Para asegurar que la señalización de división adicional se realice únicamente cuando se necesite, p. ej., ya que requiere un bit adicional cuando se utiliza, el algoritmo anterior puede estar restringido a utilizarse únicamente en situaciones en las que pueda ser beneficioso. Por ejemplo, puede estar limitado a utilizarse únicamente cuando el número inicial de divisiones o segmentos Np_uc se encuentre por debajo de un número máximo de divisiones o segmentos, p. ej., Np_inic < NpMÁx y/o cuando la tasa de bits por muestra Bmuestra se encuentre por encima de un límite dado, p. ej., Bmuestra > Bmuestra, umb. Para que esté sincronizado, se debería utilizar la misma condición en el codificador y el decodificador para una decodificación correcta del flujo de bits.
Es una ventaja de las realizaciones que puedan mejorar el rendimiento de los esquemas de cuantificación de forma/ganancia. El criterio para división requiere una complejidad computacional adicional insignificante, y dado que la cuantificación de segmentos más pequeños es menos compleja que la cuantificación de todo el vector objetivo, el algoritmo propuesto de las realizaciones también puede lograr una reducción de la complejidad computacional.
Implementaciones
Los métodos y técnicas descritos anteriormente se pueden implementar en codificadores y decodificadores, que pueden ser parte de otros dispositivos.
Codificador, Figuras 12a-12c
En la Figura 12a, se ilustra una realización representativa de un codificador multimedia de manera general. Por codificador multimedia se hace referencia a un codificador para, p. ej., señales de audio y/o vídeo. El codificador 1200 está configurado para llevar a cabo por lo menos una de las realizaciones del método descritas con anterioridad con referencia a cualquiera de las Figuras 1-2 y 4. El codificador 1200 se encuentra asociado con las mismas características técnicas, objetos y ventajas que las realizaciones del método descritas previamente. El codificador se describirá de manera resumida con el fin de evitar la repetición innecesaria.
El codificador se puede implementar y/o describir de la siguiente manera:
El codificador 1200 está configurado para la codificación vectorial de forma de ganancia dividida. El codificador 1200 comprende el sistema de circuitos de procesamiento, o medios de procesamiento 1201 y una interfaz de comunicación 1202. El sistema de circuitos de procesamiento 1201 está configurado para hacer que el codificador 1200, para un vector de forma objetivo x: determine un número inicial Np_inic de segmentos, y además determine un número de bits promedio por segmento, Bprom, sobre la base de un balance de bits de vector y Np_inic. El sistema de circuitos de procesamiento 1201 se encuentra además configurado para hacer que el codificador determine un número final de segmentos a utilizar en la codificación vectorial de forma de ganancia en función de las energías de los segmentos Np_inic y una diferencia entre Bmáx y Bprom. La interfaz de comunicación 1202, que también se puede denotar, p. ej., como interfaz de Entrada/Salida (E/S), incluye una interfaz para enviar datos a, y recibir datos de, otras entidades o módulos.
El sistema de circuitos de procesamiento 1201 puede, tal como se ilustra en la Figura 12b, comprender medios de procesamiento, tal como un procesador 1203, p. ej., una CPU, y una memoria 1204 para almacenar o retener instrucciones. La memoria entonces comprenderá instrucciones, p. ej., en la forma de un programa informático 1205, que cuando se ejecuta por medio de los medios de procesamiento 1203 hace que el codificador 1200 lleve a cabo las acciones descritas con anterioridad.
Se muestra una implementación alternativa del sistema de circuitos de procesamiento 1201 en la Figura 12c. El sistema de circuitos de procesamiento aquí comprende una primera unidad de determinación 1206, configurada para hacer que el codificador 1200: determine un número inicial Np_inic, de segmentos para un vector x de forma objetivo. El sistema de circuitos de procesamiento además comprende una segunda unidad de determinación 1207 configurada para hacer que el codificador determine un número de bits promedio por segmento, Bprom, sobre la base de un balance de bits de vector y Np_inic. El sistema de circuitos de procesamiento además comprende una tercera unidad de determinación 1208, configurada para hacer que el codificador determine un número final de segmentos, para el vector x, a utilizar en la codificación vectorial de forma de ganancia, sobre la base de las energías de los segmentos Np_inic y una diferencia entre Bmáx y Bprom. El sistema de circuitos de procesamiento 1201 puede comprender más unidades, tal como una unidad de indicación 1209 configurada para hacer que el codificador indique el número final de segmentos, p. ej., un aumento en un segmento de acuerdo con lo comparado con el número inicial, a un decodificador multimedia. Esta tarea podría llevarse a cabo alternativamente en una de las otras unidades.
Los codificadores descritos con anterioridad se pueden configurar para las diferentes realizaciones del método descritas en el presente documento, tal como el aumento del número de segmentos, de acuerdo con lo comparado con el número inicial, para el vector x objetivo para la codificación vectorial de forma de ganancia cuando una desviación máxima, de una energía de segmento de vector objetivo, a partir de un valor de energía por segmento promedio, Eprom, para el vector x objetivo es mayor que un umbral sobre la base de la diferencia entre Bmáx y Bprom.
Se puede suponer que el codificador 1200 comprende funcionalidades adicionales, para llevar a cabo las funciones habituales del codificador.
Decodificador, Figuras 13a-13c
Las realizaciones en el presente documento también se refieren a un decodificador multimedia 1300 configurado para llevar a cabo las realizaciones del método de decodificación descrito con anterioridad. Es decir, el método para admitir la decodificación vectorial de forma de ganancia dividida, ilustrado, p. ej., en la Figura 5. En la Figura 13a, se ilustra una realización representativa de un decodificador 1300 de manera general. El decodificador 1300 está configurado para llevar a cabo por lo menos una de las realizaciones del método descritas con anterioridad con referencia a las Figuras 5-6. El decodificador 1300 se encuentra asociado con las mismas características técnicas, objetos y ventajas que las realizaciones del método descritas previamente. El decodificador se describirá de manera resumida con el fin de evitar la repetición innecesaria.
El decodificador 1300 está configurado para admitir la decodificación vectorial de forma de ganancia dividida, y se puede operar para llevar a cabo la decodificación vectorial de forma de ganancia dividida. El decodificador 1300 comprende el sistema de circuitos de procesamiento 1301 y una interfaz de comunicación 1302. El sistema de circuitos de procesamiento 1301 está configurado para hacer que el nodo de red determine un número inicial Np_inic, para un vector xq a reconstruir; y además para recibir una indicación, desde un codificador multimedia, de si se aplica un mayor número de segmentos para el vector xq, o no. El sistema de circuitos de procesamiento 1301 se encuentra además configurado para hacer que el nodo de red determine un número final de segmentos para la decodificación del vector xq sobre la base de la indicación recibida. La interfaz de comunicación 1302, que también puede denotarse, p. ej., como interfaz de Entrada/Salida (E/S), incluye una interfaz para enviar datos a, y recibir datos de, otras entidades o módulos.
El sistema de circuitos de procesamiento 1301 puede, tal como se ilustra en la Figura 13b, comprender medios de procesamiento, tal como un procesador 1303, y una memoria 1304 para almacenar o retener instrucciones. La memoria entonces comprenderá instrucciones, p. ej., en la forma de programa informático 1305, que cuando se ejecutan por medio de los medios de procesamiento 1303 hace que el nodo de red 1300 lleve a cabo las acciones descritas con anterioridad.
En la Figura 13c, se muestra una implementación alternativa del sistema de circuitos de procesamiento 1301. El sistema de circuitos de procesamiento aquí comprende una primera unidad de determinación 1306, configurada para hacer que el nodo de red determine un número inicial de segmentos, Np_inic, para un vector xq a reconstruir. El sistema de circuitos de procesamiento 1301 además comprende una unidad de recepción 1307, configurada para hacer que el nodo de red reciba una indicación, desde un codificador multimedia, de si se aplica un mayor número de segmentos para el vector xq, o no. El sistema de circuitos de procesamiento 1301 además comprende una segunda unidad de determinación 1308, configurada para hacer que el nodo de red determine un número final de segmentos para la decodificación del vector xq, sobre la base de la indicación recibida.
Se puede suponer que el nodo de red 1300 comprende funcionalidades adicionales, para llevar a cabo las funciones habituales del decodificador.
El codificador y el decodificador se pueden describir y/o implementar en forma alternativa tal como se ilustra en la Figura 14. La Figura 14 es un diagrama de bloques esquemático de un codificador y decodificador de algoritmo de división según realizaciones de la solución sugerida en el presente documento. El codificador comprende una unidad de decisión de división inicial, una unidad de análisis de variación de energía, y una unidad de codificador de división. El decodificador comprende un dispositivo que toma decisiones de división inicial, y un decodificador de decisión. El codificador y el decodificador con sus unidades incluidas podrían implementarse en hardware y/o software.
El codificador y el decodificador descritos en el presente documento se pueden implementar en forma alternativa, p. ej., en uno o más de un procesador y software adecuados con el almacenamiento o memoria adecuados por lo tanto, con el fin de llevar a cabo la determinación de un número adecuado de divisiones y/o segmentos de un vector de entrada, según las realizaciones descritas en el presente documento, véanse las Figuras 15 y 16. Para el codificador ilustrado en la Figura 15, el vector entrante es recibido por una entrada (ENTRADA), a la que están conectados el procesador y la memoria, y la representación codificada del vector, p. ej., una señal de audio (parámetros), una señal de audio, obtenida del software, es presentada como resultado desde la salida (SALIDA).
El decodificador descrito en el presente documento se puede implementar, p. ej., en uno o más de un procesador y software adecuados con el almacenamiento o memoria adecuados por lo tanto, con el fin de llevar a cabo la decodificación de los parámetros de entrada, según las realizaciones descritas en el presente documento, véase la Figura 16. Los parámetros entrantes son recibidos por una entrada (ENTRADA), a la que están conectados el procesador y la memoria, y la señal obtenida decodificada del software es presentada como resultado desde la salida (SALIDA).
La tecnología descrita con anterioridad puede estar comprendida, p. ej., en un dispositivo inalámbrico tal como, p. ej., un equipo de usuario, un terminal móvil, una tableta, un dispositivo inalámbrico móvil para la comunicación de máquina a máquina, una tarjeta inalámbrica integrada o incrustada, una tarjeta inalámbrica enchufada externamente, un dispositivo «dongle» (módulo lógico), etc., o en un dispositivo fijo o semifijo, tal como un ordenador personal o un televisor inteligente.
Observaciones concluyentes
Los pasos, funciones, procedimientos, módulos, unidades y/o bloques descritos en el presente documento se pueden implementar en hardware mediante el uso de cualquier tecnología convencional, tal como tecnologías de circuito discreto o de circuito integrado, que incluyen tanto sistemas de circuitos electrónicos de propósito general como sistemas de circuitos de aplicación específica.
Los ejemplos particulares incluyen uno o más procesadores de señal digital configurados adecuadamente y otros circuitos electrónicos conocidos, p. ej., puertas lógicas discretas interconectadas para realizar una función especializada, o Circuitos integrados de aplicación específica (o ASIC, de sus siglas en inglés).
Alternativamente, por lo menos algunos de los pasos, funciones, procedimientos, módulos, unidades y/o bloques descritos con anterioridad pueden implementarse en software tal como un programa informático para su ejecución por medio de sistemas de circuitos de procesamiento adecuados que incluyen una o más unidades de procesamiento. El software se puede transportar por medio de un portador, tal como una señal electrónica, una señal óptica, una señal de radio, o un medio de almacenamiento legible por ordenador antes y/o durante el uso del programa informático en los nodos de red.
El diagrama o los diagramas de flujo presentado(s) en el presente documento se puede(n) considerar como un diagrama o diagramas de flujo de ordenador, cuando se lleva(n) a cabo en uno o más procesadores. Un aparato correspondiente se puede definir como un grupo de módulos de función, donde cada paso realizado por el procesador corresponde a un módulo de función. En este caso, los módulos de función se implementan como un programa informático que funciona en el procesador.
Los ejemplos de sistemas de circuitos de procesamiento incluyen, pero no se limitan a, uno o más microprocesadores, uno o más Procesadores de señal digital, DSP (de sus siglas en inglés), una o más Unidades de procesamiento central, CPU (de sus siglas en inglés), y/o cualquier sistema de circuito lógico programable adecuado tal como una o más Matrices de puertas programables de campo, FPGA (de sus siglas en inglés), o uno o más Controladores lógicos programables, PLC (de sus siglas en inglés). Es decir, las unidades o módulos en las disposiciones de los diferentes nodos descritos con anterioridad pueden implementarse mediante una combinación de circuitos analógicos y digitales, y/o uno o más procesadores configurados con software y/o firmware, p. ej., almacenados en una memoria. Uno o más de estos procesadores, así como el otro hardware digital, se pueden incluir en un único sistema de Circuitos integrados de aplicación específica, ASIC, o varios procesadores y diversos hardware digitales pueden estar distribuidos entre varios componentes separados, ya sea individualmente empaquetados o montados en un sistema en un solo chip, SoC (de sus siglas en inglés).
También se debería comprender que puede ser posible volver a utilizar las capacidades de procesamiento generales de cualquier dispositivo o unidad convencional en la que se implementa la tecnología propuesta. También puede ser posible volver a utilizar software existente, p. ej., mediante la reprogramación del software existente o mediante la adición de nuevos componentes de software.
Abreviaturas
Np número de secciones
E logaritmo de energía de segmento
Eprom energía promedio del segmento sobre los segmentos de un vector objetivo
Bmáx bits máximos permitidos por segmento
Bprom bits promedio por segmento
Bmuestra bits por muestra
Bbanda bits asignados para una banda dada
b w ancho de banda
x vector objetivo
r vector de forma (también llamado residual)
G ganancia (escalar o vectorial) para ampliar el vector objetivo
i índice de segmento
k índice de muestra

Claims (10)

REIVINDICACIONES
1. Un método para la cuantificación vectorial de forma de ganancia de un vector x objetivo que comprende pluralidad de coeficientes derivados de una señal de audio, donde una ganancia del vector x objetivo es cuantificada mediante un cuantificador de ganancia y una forma del vector x objetivo es cuantificada por un cuantificador de vector dividido, y un número máximo de bits, Bmáx, permitido para cuantificar un segmento de vector es restringido por el cuantificador de vector dividido, con el método que es llevado a cabo por un codificador de audio, con el método que comprende: - determinar un número inicial, Np_inic, de segmentos para el vector x objetivo sobre la base de una relación entre un número de bits asignados para cuantificar la forma del vector x objetivo y Bmáx;
- determinar la energía de cada segmento de vector objetivo de Np_inic mediante la suma de energías de coeficientes de vector;
- determinar un número promedio de bits por segmento, Bprom, sobre la base de una relación entre el número de bits asignados para cuantificar la forma del vector x objetivo y el Np_inic;
- determinar un número final, Np, de segmentos mediante el aumento del número inicial, Np_inic, de segmentos en uno si una desviación máxima de una energía de segmento de vector objetivo a partir de un valor de energía por segmento promedio, Eprom, es mayor que un umbral proporcional a la diferencia entre Bmáx y Bprom;
- proporcionar el número final, Np, al cuantificador de vector dividido para ser usado en la cuantificación de la forma del vector x objetivo; e
- indicar el aumento del número de segmentos para un decodificador de audio.
2. El método según la reivindicación 1, en donde la energía de cada segmento de vector objetivo se computa como energía de registro por segmento.
3. El método según la reivindicación 2, en donde la energía de registro por segmento se computa como:
Figure imgf000012_0001
donde i es un índice de segmento y k es un índice de segmento del coeficiente.
4. El método según cualquiera de las reivindicaciones precedentes, en donde la determinación de aumentar el número inicial de segmentos solo se lleva a cabo cuando al menos una condición adicional se cumpla.
5. El método según cualquiera de las reivindicaciones precedentes, en donde la determinación de aumentar el número inicial de segmentos se lleva a cabo cuando el número inicial de segmentos está por debajo de un umbral y/o cuando una tasa de bits por muestra está por encima de un límite dado.
6. Un codificador de audio (1200) operable para llevar a cabo la cuantificación vectorial de forma de ganancia de un vector x objetivo que comprende pluralidad de coeficientes derivados de una señal de audio, donde una ganancia del vector x objetivo es cuantificada mediante un cuantificador de ganancia y una forma del vector objetivo es cuantificada mediante un cuantificador de vector dividido y, donde un número máximo de bits, Bmáx, permitido para cuantificar un segmento de vector es restringido por el cuantificador de vector dividido, con el codificador de audio que está configurado para:
- determinar un número inicial, Np_inic, de segmentos para el vector x objetivo sobre la base de una relación entre un número de bits asignados para cuantificar la forma del vector x objetivo y Bmáx.
- determinar la energía de cada segmento de vector objetivo de Np_inic mediante la suma de energías de coeficientes de vector:
- determinar un número promedio de bits por segmento, Bprom, sobre la base de una relación entre el número de bits asignados para cuantificar la forma del vector x objetivo y el Np_inic;
- determinar un número final, Np, de segmentos mediante el aumento del número inicial, Np_inic de segmentos en uno si una desviación máxima, de una energía de segmento de vector objetivo a partir de un valor de energía por segmento promedio, Eprom, es mayor que un umbral proporcional a la diferencia entre Bmáx y Bprom;
- proporcionar el número final, Np, al cuantificador de vector dividido para ser usado en la cuantificación de la forma del vector x objetivo; e
- indicar el aumento del número de segmentos para un decodificador de audio.
7. El codificador de audio según la reivindicación 6 configurado además para llevar a cabo el método según al menos una de las reivindicaciones 2 a 5.
8. Un dispositivo inalámbrico que comprende el codificador de audio según la reivindicación 6.
9. Un programa informático (1205, 1305) que comprende instrucciones que, cuando se ejecutan en al menos un procesador, hacen que al menos un procesador lleve a cabo el método según al menos una de las reivindicaciones 1 a 5.
10. Un portador que contiene el programa informático de la reivindicación previa, en donde el portador es uno de una señal electrónica, una señal óptica, una señal de radio o un medio de almacenamiento legible por ordenador.
ES14805698T 2013-11-12 2014-11-11 Codificación vectorial de forma de ganancia dividida Active ES2773958T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361903024P 2013-11-12 2013-11-12
PCT/SE2014/051339 WO2015072914A1 (en) 2013-11-12 2014-11-11 Split gain shape vector coding

Publications (1)

Publication Number Publication Date
ES2773958T3 true ES2773958T3 (es) 2020-07-15

Family

ID=52001045

Family Applications (2)

Application Number Title Priority Date Filing Date
ES14805698T Active ES2773958T3 (es) 2013-11-12 2014-11-11 Codificación vectorial de forma de ganancia dividida
ES19186188T Active ES2891050T3 (es) 2013-11-12 2014-11-11 Codificación vectorial de forma de ganancia dividida

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES19186188T Active ES2891050T3 (es) 2013-11-12 2014-11-11 Codificación vectorial de forma de ganancia dividida

Country Status (12)

Country Link
US (3) US9385750B2 (es)
EP (3) EP3069449B1 (es)
CN (3) CN110649925B (es)
AR (2) AR099351A1 (es)
BR (1) BR112016009785B1 (es)
DK (2) DK3069449T3 (es)
ES (2) ES2773958T3 (es)
MX (3) MX352106B (es)
PL (1) PL3069449T3 (es)
PT (2) PT3069449T (es)
TW (3) TWI708501B (es)
WO (1) WO2015072914A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112014022848B1 (pt) * 2012-03-29 2021-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Método para codificação de região de pico executado por um codec de transformada, codec de transformada, terminal móvel, e, meio de armazenamento legível por computador
EP3069449B1 (en) * 2013-11-12 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Split gain shape vector coding
KR102034419B1 (ko) 2014-07-28 2019-10-18 텔레폰악티에볼라겟엘엠에릭슨(펍) 피라미드 벡터 양자화기의 형상 검색
US10559315B2 (en) 2018-03-28 2020-02-11 Qualcomm Incorporated Extended-range coarse-fine quantization for audio coding
US10762910B2 (en) 2018-06-01 2020-09-01 Qualcomm Incorporated Hierarchical fine quantization for audio coding
CN111061907B (zh) * 2019-12-10 2023-06-20 腾讯科技(深圳)有限公司 媒体数据处理方法、装置及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310598B1 (en) * 2002-04-12 2007-12-18 University Of Central Florida Research Foundation, Inc. Energy based split vector quantizer employing signal representation in multiple transform domains
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
CN1327408C (zh) * 2004-12-31 2007-07-18 苏州大学 一种低比特率语音编码器
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8924222B2 (en) * 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
WO2012122299A1 (en) * 2011-03-07 2012-09-13 Xiph. Org. Bit allocation and partitioning in gain-shape vector quantization for audio coding
DK2908313T3 (da) * 2011-04-15 2019-06-11 Ericsson Telefon Ab L M Adaptiv deling af forstærknings-/formrater
US20130132100A1 (en) * 2011-10-28 2013-05-23 Electronics And Telecommunications Research Institute Apparatus and method for codec signal in a communication system
US9860604B2 (en) * 2011-11-23 2018-01-02 Oath Inc. Systems and methods for internet video delivery
JP2013131918A (ja) * 2011-12-21 2013-07-04 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
EP3069449B1 (en) * 2013-11-12 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Split gain shape vector coding

Also Published As

Publication number Publication date
TWI669943B (zh) 2019-08-21
MX352106B (es) 2017-11-09
CN105706369A (zh) 2016-06-22
CN110649925A (zh) 2020-01-03
BR112016009785A2 (es) 2017-08-01
TWI776298B (zh) 2022-09-01
MX365684B (es) 2019-06-11
DK3069449T3 (da) 2020-04-14
US9853659B2 (en) 2017-12-26
EP3624347B1 (en) 2021-07-21
TWI708501B (zh) 2020-10-21
BR112016009785B1 (pt) 2022-05-31
CN105706369B (zh) 2019-11-19
DK3624347T3 (da) 2021-09-20
PT3069449T (pt) 2020-03-23
US9385750B2 (en) 2016-07-05
CN110649925B (zh) 2023-04-07
TW201939948A (zh) 2019-10-01
US9602128B2 (en) 2017-03-21
US20170149441A1 (en) 2017-05-25
WO2015072914A1 (en) 2015-05-21
US20160308554A1 (en) 2016-10-20
PL3069449T3 (pl) 2020-07-13
EP3069449B1 (en) 2020-01-08
TW202114420A (zh) 2021-04-01
TW201532423A (zh) 2015-08-16
US20160036462A1 (en) 2016-02-04
CN110708075B (zh) 2023-01-06
EP3624347A1 (en) 2020-03-18
EP3069449A1 (en) 2016-09-21
EP3913808A1 (en) 2021-11-24
AR111014A2 (es) 2019-05-29
PT3624347T (pt) 2021-09-08
ES2891050T3 (es) 2022-01-26
MX2019006311A (es) 2019-08-12
AR099351A1 (es) 2016-07-20
CN110708075A (zh) 2020-01-17
MX2016005806A (es) 2016-09-28

Similar Documents

Publication Publication Date Title
ES2773958T3 (es) Codificación vectorial de forma de ganancia dividida
ES2930374T3 (es) Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia
US10715807B2 (en) Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors
ES2765527T3 (es) Dispositivo y método para la ejecución de la codificación de Huffman
ES2741506T3 (es) Método y aparato de codificación de audio
ES2822607T3 (es) Método de predicción y dispositivo de codificación/decodificación para una señal de banda de alta frecuencia
RU2765985C2 (ru) Классификация и кодирование аудиосигналов
ES2821432T3 (es) Cuantificación de audio mediante indexación de vectores de complejidad reducida
ES2903247T3 (es) Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior
CN109286403B (zh) 极化码编码的方法和装置
ES2741559T3 (es) Compartición adaptativa de la velocidad de ganancia-forma
ES2945723T3 (es) Método de codificación y decodificación y aparato de codificación y decodificación para señales estéreo
ES2654488T3 (es) Método de procesamiento para señales de voz o audio y aparato de codificación de las mismas
WO2020260756A1 (en) Determination of spatial audio parameter encoding and associated decoding
WO2015000373A1 (zh) 信号编码和解码方法以及设备
Wu et al. On the design of symmetric entropy-constrained multiple description scalar quantizer with linear joint decoders
US8949117B2 (en) Encoding device, decoding device and methods therefor