ES2646021T3 - Método y aparato para codificación, procesamiento y decodificación de envolvente de señal de audio mediante modelado de una representación de suma acumulativa que emplea cuantificación de distribución y codificación - Google Patents
Método y aparato para codificación, procesamiento y decodificación de envolvente de señal de audio mediante modelado de una representación de suma acumulativa que emplea cuantificación de distribución y codificación Download PDFInfo
- Publication number
- ES2646021T3 ES2646021T3 ES14729323.7T ES14729323T ES2646021T3 ES 2646021 T3 ES2646021 T3 ES 2646021T3 ES 14729323 T ES14729323 T ES 14729323T ES 2646021 T3 ES2646021 T3 ES 2646021T3
- Authority
- ES
- Spain
- Prior art keywords
- envelope
- value
- aggregation
- values
- argument
- 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/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/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
- G10L19/0208—Subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Un aparato para generar una envolvente de la señal de audio a partir de uno o más valores de codificación, que comprende: una interfaz de entrada (1610) para recibir el uno o más valores de codificación y un generador de envolvente (1620) para generar la envolvente de la señal de audio dependiendo de uno o más valores de codificación, en el que el generador de envolvente (1620) está configurado para generar una función de agregación, dependiendo del uno o más valores de codificación, en el que la función de agregación comprende una pluralidad de puntos de agregación, en el que cada uno de los puntos de agregación comprende un valor de argumento y un valor de agregación, en el que la función de agregación se incrementa monotónicamente y en el que cada uno del uno o más valores de codificación indica al menos uno del valor de argumento y el valor de agregación de uno de los puntos de agregación de la función de agregación, en el que el generador de envolvente (1620) está configurado para generar la envolvente de la señal de audio de tal manera que la envolvente de la señal de audio comprende una pluralidad de puntos de envolvente, en el que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y en el que, para cada de los puntos de agregación de la función de agregación, uno de los puntos de envolvente de la envolvente de la señal de audio es asignado a tal punto de agregación, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregación y en el que el generador de envolvente (1620) está configurado para generar la envolvente de la señal de audio, de tal manera que el valor de envolvente de cada uno de los puntos de envolvente de la envolvente de la señal de audio depende del valor de agregación de al menos un punto de agregación de la función de agregación.
Description
DESCRIPCION
Metodo y aparato para codificacion, procesamiento y decodificacion de envolvente de senal de audio mediante modelado de una representacion de suma acumulativa que emplea cuantificacion de distribucion y codificacion 5
[0001] La presente invencion se refiere a un aparato y metodo para codificacion de la envolvente de la senal
de audio, procesamiento y decodificacion y en particular, a un aparato y metodo para la codificacion de envolvente de la senal de audio, procesamiento y decodificacion que emplea cuantificacion de distribucion y codificacion.
10 [0002] La codificacion predictiva lineal (LPC) es una herramienta clasica para el modelado de la envolvente
espectral del ancho de banda central en codecs de voz. El dominio mas comun para cuantificar modelos de LPC es el dominio de frecuencia del espectro de llnea (LSF). Esta basado en una descomposicion del polinomio de LPC en dos polinomios, cuyas ralces estan en el clrculo unitario, de tal manera que pueden ser descritos por sus angulos o frecuencias solamente. El documento US5710863 se refiere a la codificacion de envolvente espectral basada en una 15 representacion intermedia mediante el uso de los pares espectrales de llnea (LSP).
[0003] El objeto de la presente invencion es proporcionar conceptos mejorados para codificacion y decodificacion de envolvente de la senal de audio. El objeto de la presente invencion es resuelto por un aparato de acuerdo con la reivindicacion 1, por un aparato de acuerdo con la reivindicacion 9, por un metodo de acuerdo con la
20 reivindicacion 15, por un metodo de acuerdo con la reivindicacion 16 y por un programa informatico de acuerdo con la reivindicacion 17.
[0004] Se proporciona un aparato para generar una envolvente de la senal de audio a partir de uno o mas valores de codificacion. El aparato comprende una interfaz de entrada para recibir uno o mas valores de codificacion
25 y un generador de envolvente para generar la envolvente de la senal de audio dependiendo de uno o mas valores de codificacion. El generador de envolvente esta configurado para generar una funcion de agregacion dependiendo de uno o mas valores de codificacion, en el que la funcion de agregacion comprende una pluralidad de puntos de agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en el que la funcion de agregacion aumenta monotonicamente y en el que cada uno de los uno o mas 30 valores de codificacion indica al menos uno de un valor de argumento y un valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. Ademas, el generador de envolvente esta configurado para generar la envolvente de la senal de audio de tal manera que la envolvente de la senal de audio comprende una pluralidad de puntos de envolvente, donde cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y donde el punto de envolvente de la senal de audio es asignado a cada uno de los puntos de agregacion 35 de la funcion de agregacion, de tal manera que el valor de argumento de dicho punto de envolvente sea igual al valor de argumento de dicho punto de agregacion. Ademas, el generador de envolvente esta configurado para generar la envolvente de la senal de audio, de tal manera que el valor de envolvente de cada uno de los puntos de envolvente de la envolvente de la senal de audio dependa del valor de agregacion de al menos un punto de agregacion de la funcion de agregacion.
40
[0005] De acuerdo con una realization, el generador de envolvente puede, por ejemplo, estar configurado para determinar la funcion de agregacion mediante la determination de uno de los puntos de agregacion para cada uno de los uno o mas valores de codificacion, dependiendo de dicho valor de codificacion y mediante la aplicacion de interpolation para obtener la funcion de agregacion, dependiendo del punto de agregacion de cada uno de los uno o
45 mas valores de codificacion.
[0006] En una realizacion, el generador de envolvente puede, por ejemplo, estar configurado para determinar una primera derivada de la funcion de agregacion en una pluralidad de los puntos de agregacion de la funcion de agregacion.
50
[0007] De acuerdo con una realizacion, el generador de envolvente puede, por ejemplo, estar configurado para generar la funcion de agregacion, dependiendo de los valores de codificacion, de tal manera que la funcion de agregacion tenga una primera derivada continua.
55 [0008] En una realizacion, el generador de envolvente puede, por ejemplo, estar configurado para determinar
la envolvente de la senal de audio mediante la aplicacion de
r. .. c(A:-l)-c(fc-l)
(main acton) I A: I = —;--------------:----------
en la que la inclinacion (k) indica la derivada de la envolvente de la senal agregada en el k-esimo valor de codificacion, en la que c(k) es el valor agregado del k-esimo punto agregado de la funcion de agregacion y en la que f(k) es el valor 5 de argumento del k-esimo punto agregado de la funcion de agregacion.
[0009] De acuerdo con una realization, la interfaz de entrada puede estar configurada para recibir uno o mas valores de division como los uno o mas valores de codificacion. El generador de envolvente puede estar configurado para generar la funcion de agregacion, dependiendo de los uno o mas valores de division, en la que cada uno de los
10 uno o mas valores de division indica el valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. Ademas, el generador de envolvente puede estar configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en las que una regla de asignacion predefinida define un valor de la portion de envolvente de la senal, para cada portion de envolvente de la senal, de
15 las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal. Ademas, el generador de envolvente puede estar configurado para generar la envolvente de la senal de audio reconstruida de tal manera que, para cada una de las dos porciones de envolvente de la senal, un valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto del valor de la porcion de envolvente de la senal, de cada una de las otras porciones de envolvente de la senal.
20
[0010] Ademas, se proporciona un aparato para la determination de uno o mas valores de codificacion para codificar una envolvente de la senal de audio. El aparato comprende un agregador para la determinacion de una funcion de agregacion que comprende una pluralidad de puntos de agregacion, en la que cada unos de los puntos de agregacion comprende un valor de argumento y un valor agregado, en la que la funcion de agregacion aumenta
25 monotonicamente, en la que el agregador esta configurado para determinar el valor agregado para cada uno de una pluralidad de valores de argumento, en la que la pluralidad de valores de argumento son ordenados de tal manera que un primer valor de argumento de la pluralidad de valores de argumento tanto si precede como si sucede a un segundo valor de argumento de la pluralidad de valores de argumento, cuando dicho segundo valor de argumento es diferente del primer valor de argumento, en la que un valor de envolvente se asigna a cada uno de los valores de argumento,
30 en la que el valor de envolvente de cada uno de los valores de argumento depende de la envolvente de la senal de audio y en la que el agregador esta configurado para determinar el valor agregado para cada valor de argumento de la pluralidad de valores de argumento, dependiendo del valor de envolvente de dicho valor de argumento y dependiendo del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento. Ademas, el aparato comprende una unidad de codificacion para determinar uno o mas valores de
35 codificacion dependiendo de uno o mas de los valores agregados de la pluralidad de valores de argumento.
[0011] De acuerdo con una realizacion, el agregador puede, por ejemplo, estar configurado para determinar el valor agregado para cada valor de argumento de la pluralidad de valores de argumento al anadir el valor de envolvente de dicho valor de argumento y los valores de envolvente de los valores de argumento que preceden a dicho valor de
40 argumento.
[0012] En una realizacion, el valor de envolvente de cada uno de los valores de argumento puede, por ejemplo, indicar un valor de energla de la envolvente de la senal de audio que tiene la envolvente de la senal de audio como envolvente de la senal.
45
[0013] De acuerdo con una realizacion, el valor de envolvente de cada uno de los valores de argumento puede, por ejemplo, indicar una n-esima potencia de un valor espectral de una envolvente de la senal de audio que tiene la envolvente de la senal de audio como envolvente de la senal, en el que n es un numero entero par mayor de cero.
50 [0014] En una realizacion, el valor de envolvente de cada uno de los valores de argumento puede, por ejemplo,
indicar una n-esima potencia de un valor de amplitud de una envolvente de la senal de audio, que se representa en un dominio de tiempo y que tiene la envolvente de la senal de audio como envolvente de la senal, en el que n es un numero entero par mayor cero.
55 [0015] De acuerdo con una realizacion, la unidad de codificacion puede, por ejemplo, estar configurada para
determinar los uno o mas valores de codificacion, dependiendo de uno o mas de los valores agregados de los valores
de argumento y dependiendo del numero de valores de codificacion que indica cuantos valores van a ser determinados por la unidad de codificacion como los uno o mas valores de codificacion.
[0016] En una realizacion la unidad de codificacion puede estar configurada, por ejemplo, para determinar el
5 uno o mas valores de codificacion de acuerdo con:
en el que c(k) indica el k-esimo valor de codificacion que va a ser determinado por la unidad de codificacion, en el que 10 j indica el j-esimo valor de argumento de la pluralidad de valores de argumento, en el que a(j) indica el valor agregado que es asignado al j-esimo valor de argumento, en el que max(a) indica el valor maximo que es uno de los valores agregados que son asignados a uno de los valores de argumento, en el que ninguno de los valores agregados que son asignados a uno de los valores de argumento es mayor que el maximo valor y en el que
indica un valor mlnimo que es uno de los valores de argumento para el cual
15
es mlnimo.
[0017] Ademas se proporciona un metodo para generar una envolvente de senal de audio a partir de uno o mas valores de codificacion. El metodo comprende
20 - Recibir el uno o mas valores de codificacion y
- Generar la envolvente de la senal de audio, dependiendo de los uno o mas valores de codificacion.
[0018] La generacion de la envolvente de la senal de audio se lleva a cabo mediante la generacion de una funcion de agregacion, dependiendo del uno o mas valores de codificacion, en la que la funcion de agregacion
25 comprende una pluralidad de puntos de agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en la que la funcion de agregacion aumenta monotonicamente y en la que cada uno de los uno o mas valores de codificacion indica al menos uno de un valor de argumento y un valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. Ademas, la generacion de la envolvente de la senal de audio se lleva a cabo de tal manera que la envolvente de la senal de audio comprende una pluralidad
30 de puntos de envolvente, en la que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y en la que un punto de envolvente de la envolvente de la senal de audio es asignado a cada uno de los puntos de agregacion de la funcion de agregacion, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregacion. Ademas, la generacion de la envolvente de la senal de audio se lleva a cabo de tal manera que el valor de envolvente de cada uno de los puntos de envolvente
35 de la envolvente de la senal de audio depende del valor de agregacion de al menos un punto de agregacion de la funcion de agregacion.
[0019] Ademas, se proporciona un metodo para determinar uno o mas valores de codificacion para codificar una envolvente de la senal de audio. El metodo comprende:
40
- determinacion de una funcion de agregacion que comprende una pluralidad de puntos de agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor agregado, en la que la funcion de agregacion aumenta monotonicamente y la determinacion del valor agregado para cada uno de una pluralidad de valores de argumento, en la que la pluralidad de valores de argumento son ordenados de tal manera que un primer
45 valor de argumento, de la pluralidad de valores de argumento tanto si precede como si sucede a un segundo valor de argumento de la pluralidad de valores de argumento, cuando dicho segundo valor de argumento es diferente del primer valor de argumento, en la que un valor de envolvente es asignado a cada uno de los valores de argumento, en la que el valor de envolvente de cada uno de los valores de argumento depende de la envolvente de la senal de audio y en la que el agregador esta configurado para determinar el valor agregado para cada valor de argumento de la pluralidad
50 de valores de argumento, dependiendo del valor de envolvente de dicho valor de argumento y dependiendo del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento y:
- determinar uno o mas valores de codificacion, dependiendo de uno o mas de los valores agregados de la pluralidad de valores de argumento.
[0020] Ademas, se proporciona un programa informatico para implementar uno de los metodos descritos 5 anteriormente cuando es ejecutado en un ordenador o procesador de senal.
[0021] Se proporciona un aparato de decodificacion para obtener una envolvente de la senal de audio reconstruida. El aparato comprende un reconstructor de envolvente de la senal para generar la envolvente de la senal de audio reconstruida, dependiendo de uno o mas puntos de division y una interfaz de salida para emitir la envolvente
10 de la senal de audio reconstruida. El reconstructor de envolvente de la senal esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en el que una regla de asignacion predefinida define un valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal.
15 Ademas, el reconstructor de envolvente de la senal esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, un valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto del valor de la porcion de envolvente de la senal de la porcion de cada una de las otras porciones de envolvente de la senal.
20 [0022] De acuerdo con una realizacion, el reconstructor de envolvente de la senal puede estar configurado, por
ejemplo, para generar la envolvente de la senal de audio reconstruida, de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, el valor absoluto de su valor de porcion de envolvente de la senal es mayor del 90% del valor absoluto del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
25
[0023] En una realizacion, el reconstructor de envolvente de la senal puede estar configurado, por ejemplo, para generar la envolvente de la senal de audio reconstruida de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, el valor absoluto de su valor de porcion de envolvente de la senal es mayor del 99% del valor absoluto del valor de la porcion de envolvente de la senal de cada una de las otras porciones de
30 envolvente de la senal.
[0024] En otra realizacion, el reconstructor de envolvente de la senal 110 puede estar configurado, por ejemplo, para generar la envolvente de la senal de audio reconstruida, de tal manera que el valor de la porcion de envolvente de la senal, de cada una de las dos o mas porciones de envolvente de la senal es igual al valor de la porcion de
35 envolvente de la senal, de cada una de las otras porciones de envolvente de la senal de las dos o mas porciones de envolvente de la senal.
[0025] De acuerdo con una realizacion, el valor de la porcion de envolvente de la senal, de cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal puede, por ejemplo, depender de uno o
40 mas valores de energla o uno o mas valores de potencia de dicha porcion de envolvente de la senal. Ahora bien, el valor de la porcion de envolvente de la senal, de cada porcion de envolvente de la senal, de las dos o mas porciones de envolvente de la senal, depende de cualquier otro valor apropiado para reconstruir un nivel original u objetivo de la envolvente de la senal de audio.
45 [0026] El escalado de la envolvente puede ser implementado de varias maneras. Especlficamente, puede
corresponder a la senal de energla o masa espectral o similar (un tamano absoluto) o puede ser un factor de escalado o ganancia (un tamano relativo). Por consiguiente, puede ser codificado como un valor absoluto o relativo o puede ser codificado por una diferencia con un valor previo o con una combinacion de valores previos. En algunos casos es escalado puede ser tambien irrelevante o deducido de otros datos disponibles. La envolvente debera ser reconstruida
50 a su estado original o un nivel objetivo. As! que en general, el valor de la porcion de envolvente de la senal depende de cualquier valor apropiado para reconstruir el nivel original u objetivo de la envolvente de la senal de audio.
[0027] En una realizacion, el aparato puede comprender ademas, por ejemplo, un decodificador de puntos de
division para decodificar uno o mas puntos codificados, de acuerdo con una regla de decodificacion, para obtener una
55 posicion de cada uno del uno o mas puntos de division. El decodificador de puntos de division puede estar configurado, por ejemplo, para analizar un numero de posiciones totales que indica un numero total de posiciones de punto de division posibles, un numero puntos de division que indica el numero del uno o mas puntos de division y un numero de estado de puntos de division. Ademas, el decodificador de puntos de division puede estar configurado, por ejemplo, para generar una indicacion de la posicion de cada uno del uno o mas puntos de division utilizando el numero de
posiciones totales, el numero de puntos de division y el numero de estado de puntos de division.
[0028] De acuerdo con una realizacion, el reconstructor de envolvente de la senal puede estar configurado, por ejemplo, para generar la envolvente de la senal de audio reconstruida, dependiendo de un valor de energla total que
5 indica una energla total de la envolvente de la senal de audio reconstruida o dependiendo de cualquier otro valor apropiado para la reconstruccion de un nivel original o un nivel objetivo de la envolvente de la senal de audio.
[0029] Ademas, se proporciona un aparato de decodificacion para obtener una envolvente de la senal de audio reconstruida de acuerdo con otra realizacion. El aparato comprende un reconstructor de envolvente de la senal para
10 generar la envolvente de la senal de audio reconstruida, dependiendo de uno o mas puntos de division y una interfaz de salida para emitir la envolvente de la senal de audio reconstruida. El reconstructor de envolvente de la senal esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en el que una regla de asignacion predefinida define un valor de la porcion de envolvente de la senal para cada 15 porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal. Un valor de la porcion de envolvente predefinido es asignado a cada una de las dos o mas porciones de envolvente de la senal. El reconstructor de envolvente de la senal esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que, para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, un valor absoluto del valor de la porcion de envolvente de la senal de 20 dicha porcion de envolvente de la senal es mayor del 90% de un valor absoluto del valor de la porcion de envolvente predefinido que es asignado a dicha porcion de envolvente de la senal y de tal manera que el valor absoluto del valor de la porcion de envolvente de la senal de dicha porcion de envolvente de la senal es menor del 110% del valor absoluto del valor de la porcion de envolvente predefinido que es asignado a dicha porcion de envolvente de la senal.
25 [0030] En una realizacion, el reconstructor de envolvente de la senal esta configurado para generar la
envolvente de la senal de audio reconstruida, de tal manera que el valor de la porcion de envolvente de la senal de cada una de las dos o mas porciones de envolvente de la senal es igual al valor de la porcion de envolvente predefinido que es asignado a dicha porcion de envolvente de la senal.
30 [0031] En una realizacion, los valores de la porcion de envolvente predefinidos de al menos dos de las
porciones de envolvente de la senal difieren entre si.
[0032] En otra realizacion, el valor de la porcion de envolvente predefinido de cada una de las porciones de envolvente de la senal difiere del valor de la porcion de envolvente predefinido de cada una de las otras porciones de
35 envolvente de la senal.
[0033] Ademas, se proporciona un aparato para reconstruir una senal de audio. El aparato comprende un aparato de decodificacion de acuerdo con una de las realizaciones descritas anteriormente, para obtener una envolvente de la senal de audio reconstruida de la senal de audio y un generador de senal para generar la senal de
40 audio, dependiendo de la envolvente de la senal de audio de la senal de audio y dependiendo ademas de una caracterlstica de senal adicional de la senal de audio, la caracterlstica de senal adicional es diferente de la envolvente de la senal de audio.
[0034] Ademas, se proporciona un aparato para codificar una envolvente de la senal de audio. El aparato 45 comprende una interfaz de la envolvente de la senal de audio para recibir la envolvente de la senal de audio y un
determinador de punto de division para determinar, dependiendo de una regla de asignacion predefinida, un valor de la porcion de envolvente de la senal para al menos una porcion de la envolvente de la senal de audio de dos o mas porciones de envolvente de la senal de audio para cada una de al menos dos configuraciones de punto de division. Cada una de las al menos dos configuraciones de punto de division comprende uno o mas puntos de division, en las 50 que el uno o mas puntos de division de cada una de las dos o mas configuraciones de punto de division dividen la envolvente de la senal de audio en las dos o mas porciones de envolvente de la senal de audio. El determinador de punto de division esta configurado para seleccionar uno o mas puntos de division de una de las al menos dos configuraciones de punto de division tal como uno o mas puntos de division seleccionados para codificar la envolvente de la senal de audio, en la que el determinador de punto de division esta configurado para seleccionar el uno o mas 55 puntos de division, dependiendo del valor de la porcion de envolvente de la senal de cada una de al menos una porcion de envolvente de la senal de audio de las dos o mas porciones de envolvente de la senal de audio de cada una de las al menos dos configuraciones de punto de division.
[0035] De acuerdo con una realizacion, el valor de la porcion de envolvente de la senal de cada porcion de
envolvente de la senal de las dos o mas porciones de envolvente de la senal puede, por ejemplo, depender de uno o mas valores de energla o uno o mas valores de potencia de tal porcion de envolvente de la senal. De otra manera, el valor de la porcion de envolvente de la senal de cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal depende de cualquier otro valor apropiado para reconstruir un nivel original u objetivo de la 5 envolvente de la senal de audio.
[0036] Como ya se ha mencionado el escalado de la envolvente puede ser implementado de varias maneras. Especlficamente, puede corresponder a la energla de la senal o masa espectral o similar (un tamano absoluto) o puede ser un factor de escalamiento o ganancia (un tamano relativo). Por consiguiente, puede ser codificado como un
10 valor absoluto o relativo o puede ser codificado por una diferencia con un valor previo o a una combinacion de valores previos. En algunos casos el escalamiento tambien puede ser irrelevante o deducido de otros datos disponibles. La envolvente debe ser reconstruida a su nivel original o un nivel objetivo. As! que, en general, el valor de la porcion de envolvente de la senal depende de cualquier valor apropiado para reconstruir el nivel original u objetivo de la envolvente de la senal de audio.
15
[0037] En una realizacion, el aparato puede comprender ademas, por ejemplo, un codificador de puntos de division para codificar una posicion de cada uno del uno o mas puntos de division, para obtener uno o mas puntos codificados. El codificador de puntos de division puede estar configurado, por ejemplo, para codificar una posicion de cada uno del uno o mas puntos de division mediante codificacion del numero de estado de puntos de division. Ademas,
20 el codificador de puntos de division puede estar configurado, por ejemplo, para proporcionar un numero de posiciones totales, que indica un numero total de posiciones del punto de division posibles y un numero de puntos de division, que indica el numero del uno o mas puntos de division. El numero de estado de puntos de division, el numero de posiciones totales y el numero de puntos de division indican conjuntamente la posicion de cada uno del uno o mas puntos de division.
25
[0038] De acuerdo con una realizacion, el aparato puede comprender ademas, por ejemplo, un determinador de energla, para determinar la energla total de la envolvente de la senal de audio y para codificar la energla total de la envolvente de la senal de audio. Ahora bien, el aparato puede ademas estar configurado, por ejemplo, para determinar cualquier otro valor apropiado para reconstruir un nivel original u objetivo de la envolvente de la senal de
30 audio.
[0039] Ademas, se proporciona un aparato para codificar una senal de audio. El aparato comprende un aparato de codificacion, de acuerdo con una de las realizaciones descritas anteriormente, para codificar una envolvente de la senal de audio de la senal de audio y un codificador de caracterlstica de senal secundaria para codificar una
35 caracterlstica de senal adicional de la senal de audio, siendo la caracterlstica de senal adicional diferente de la envolvente de la senal de audio.
[0040] Ademas, se proporciona un metodo de decodificacion para obtener una envolvente de la senal de audio reconstruida. El metodo comprende:
40
- Generar la envolvente de la senal de audio reconstruida, dependiendo de uno o mas puntos de division y
- Emitir la envolvente de la senal de audio reconstruida.
[0041] La generacion de la envolvente de la senal de audio reconstruida se lleva a cabo de tal manera que el 45 uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de
envolvente de la senal de audio, en la que una regla de asignacion predefinida define el valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de tal porcion de envolvente de la senal. Ademas, la generacion de la envolvente de la senal de audio reconstruida se lleva a cabo de tal manera que, para cada una de las dos o mas porciones de envolvente de la 50 senal, el valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad del valor absoluto del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
[0042] Ademas, se proporciona un metodo de decodificacion para obtener una envolvente de la senal de audio reconstruida. El metodo comprende:
55
- Generar la envolvente de la senal de audio reconstruida, dependiendo de uno o mas puntos de division y
- Emitir la envolvente de la senal de audio reconstruida.
[0043] La generacion de la envolvente de la senal de audio reconstruida se lleva a cabo de tal manera que, el
uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en la que una regla de asignacion predefinida define el valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal. Un valor de la porcion de envolvente predefinido es 5 asignado a cada una de las dos o mas porciones de envolvente de la senal. Ademas, la generacion de la envolvente de la senal de audio reconstruida se lleva a cabo de tal manera que, para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, un valor absoluto del valor de la porcion de envolvente de la senal de dicha porcion de envolvente de la senal es mayor del 90% de un valor absoluto del valor de la porcion de envolvente predefinido que es asignado a tal porcion de envolvente de la senal y de tal manera que el valor absoluto del valor de 10 la porcion de envolvente de la senal de dicha porcion de envolvente de la senal es menor del 110% del valor absoluto del valor de la porcion de envolvente predefinido que es asignado a dicha porcion de envolvente de la senal.
[0044] Ademas, se proporciona un metodo de codificacion de una envolvente de la senal de audio. El metodo comprende:
15
- Recibir la envolvente de la senal de audio.
- Determinar, dependiendo de una regla de asignacion predefinida, un valor de la porcion de envolvente de la senal para al menos una porcion de envolvente de la senal de audio de dos o mas porciones de envolvente de la senal de audio, para cada una de al menos dos configuraciones de punto de division, en el que cada una de las al menos dos
20 configuraciones de punto de division comprende uno o mas puntos de division, en el que el uno o mas puntos de division de cada una de las dos o mas configuraciones de punto de division dividen la envolvente de la senal de audio en las dos o mas porciones de envolvente de la senal de audio y
- Seleccionar uno o mas puntos de division de una de las al menos dos configuraciones de punto de division, como uno o mas puntos de division seleccionados para codificar la envolvente de la senal de audio, en las que la seleccion
25 de los uno o mas puntos de division se lleva a cabo dependiendo del valor de la porcion de envolvente de la senal de cada una de al menos una porcion de envolvente de la senal de audio de las dos o mas porciones de envolvente de la senal de audio de cada una de las al menos dos configuraciones de punto de division.
[0045] Ademas, se proporciona un programa informatico para implementar uno de los metodos descritos 30 anteriormente cuando es ejecutado en un ordenador o procesador de senal.
[0046] Una descripcion heurlstica pero un poco inexacta de la frecuencia de espectro de llnea 5 (LSF5) es aquella que describe la distribucion de energla de la senal a lo largo del eje de frecuencia. Con una alta probabilidad, la LSF5 residira a frecuencias donde la senal tiene una gran cantidad de energla. Las realizaciones estan basadas en
35 el hallazgo de tomar esta descripcion heurlstica literariamente y cuantificar la distribucion real de la energla de la senal. Puesto que las LSF aplican esta idea solo aproximadamente, de acuerdo con las realizaciones, el concepto de LSF es omitido y en lugar de esto la distribucion de frecuencias es cuantificada, de tal manera que una forma de la envolvente suave o lisa puede ser construida a partir de aquella distribucion. Este concepto de la invencion es en lo sucesivo referido como cuantificacion de distribucion.
40
[0047] Las realizaciones estan basadas en la cuantificacion y codificacion de envolventes espectrales que se van a utilizar en la codificacion de voz y audio. Las realizaciones pueden, por ejemplo, ser aplicadas tanto en envolventes del ancho de banda central, as! como en metodos de extension de ancho de banda.
45 [0048] De acuerdo con las realizaciones, tecnicas de modelado de envolvente estandar, tales como, bandas
de factor de escala [3,4] y modelos predictivos lineales [1] pueden, por ejemplo, ser reemplazados y/o mejorados.
[0049] Un objeto de las realizaciones es obtener una cuantificacion, que combina los beneficios de ambas, estrategias predictivas lineales y estrategias a base de banda de factor de escala, mientras que omiten sus
50 inconvenientes.
[0050] De acuerdo con las realizaciones, se proporcionan conceptos, que tienen una envolvente espectral suave pero bastante precisa, por una parte, pero por otra parte pueden ser codificados con una baja cantidad de bits (opcionalmente con una tasa de bits fija) y ademas realizado con una complejidad computacional razonable.
55
[0051] En lo que sigue, se describen realizaciones de la presente invencion con mas detalle con referencia a las figuras, en las que:
La figura 1 ilustra un aparato de decodificacion para obtener una envolvente de la senal de audio reconstruida de
acuerdo con una realizacion,
La figura 2 ilustra un aparato de decodificacion de acuerdo con una realizacion adicional, en la que el aparato comprende ademas un decodificador de puntos de division,
La figura 3 ilustra un aparato para codificar una envolvente de la senal de audio de acuerdo con una realizacion,
5 La figura 4 ilustra un aparato para codificar una envolvente de la senal de audio de acuerdo con otra realizacion, en la que el aparato comprende ademas un codificador de puntos de division,
La figura 5 ilustra un aparato para codificar una envolvente de la senal de audio de acuerdo con otra realizacion, en la que el aparato para codificar una envolvente de la senal de audio comprende ademas un determinador de energla,
La figura 6 ilustra tres envolventes de senal que son descritas por bloques de energla constante de acuerdo con las 10 realizaciones,
La figura 7 ilustra una representation acumulativa de los espectros de la figura 6 de acuerdo con las realizaciones, y La figura 8 ilustra una envolvente de masa espectral interpolada, tanto en una representacion original, como en una representacion de dominio de masa acumulativa,
La figura 9 ilustra un proceso de decodificacion para decodificar posiciones de punto de division de acuerdo con una 15 realizacion,
La figura 10 ilustra un pseudocodigo que implementa la decodificacion de posiciones del punto de division de acuerdo con una realizacion,
La figura 11 ilustra un proceso de codification para codificar puntos de division de acuerdo con una realizacion,
La figura 12 ilustra un pseudocodigo que implementa la codificacion de punto de division de acuerdo con una 20 realizacion de la presente invencion,
La figura 13 ilustra un decodificador de puntos de division de acuerdo con una realizacion,
La figura 14 ilustra un aparato para codificar una senal de audio de acuerdo con una realizacion,
La figura 15 ilustra un aparato para reconstruir una senal de audio de acuerdo con una realizacion,
La figura 16 ilustra un aparato para generar una envolvente de la senal de audio a partir de uno o mas valores de 25 codificacion de acuerdo con una realizacion,
La figura 17 ilustra un aparato para determinar uno o mas valores de codificacion para codificar una envolvente de la senal de audio de acuerdo con una realizacion,
La figura 18 ilustra una funcion de agregacion de acuerdo con un primer ejemplo y La figura 19 ilustra una funcion de agregacion de acuerdo con un segundo ejemplo.
30
[0052] La figura 3 ilustra un aparato para codificar una envolvente de la senal de audio de acuerdo con una realizacion.
[0053] El aparato comprende una interfaz de la envolvente de la senal de audio 210 para recibir la envolvente 35 de la senal de audio.
[0054] Ademas, el aparato comprende un determinador de punto de division 220 para determinar, dependiendo de una regla de asignacion predefinida, un valor de la portion de envolvente de la senal para al menos una portion de envolvente de la senal de audio de dos o mas porciones de envolvente de la senal de audio para cada una de al
40 menos dos configuraciones del punto de division.
[0055] Cada una de las al menos dos configuraciones del punto de division comprende uno o mas puntos de division, en las que el uno o mas puntos de division de cada una de las dos o mas configuraciones del punto de division dividen la envolvente de la senal de audio en las dos o mas porciones de envolvente de la senal de audio. El
45 determinador del punto de division 220 esta configurado para seleccionar el uno o mas puntos de division de una de las al menos dos configuraciones del punto de division como uno o mas puntos de division seleccionados, para codificar la envolvente de la senal de audio, en las que el determinador del punto de division 220 esta configurado para seleccionar el uno o mas puntos de division, dependiendo del valor de la porcion de envolvente de la senal de cada una de al menos una porcion de envolvente de la senal de audio de las dos o mas porciones de envolvente de 50 la senal de audio de cada una de las al menos dos configuraciones del punto de division.
[0056] Una configuration del punto de division comprende uno o mas puntos de division y es definida por sus puntos de division. Por ejemplo, una envolvente de la senal de audio puede comprender 20 muestras, 0, ..., 19 y una configuracion con dos puntos de division puede ser definida por su primer punto de division en la ubicacion de la
55 muestra 3 y por su segundo punto de division en la ubicacion de la muestra 8, por ejemplo, la configuracion del punto de division puede ser indicada por la tupla (3; 8). Si se determinara solamente un punto de division, entonces un solo punto de division indica la configuracion del punto de division.
[0057] Uno o mas puntos de division apropiados se determinaran como uno o mas puntos de division
seleccionados. Para este proposito, se considera que cada una, de al menos dos configuraciones de punto de division comprende uno o mas puntos de division. El uno o mas puntos de division de la configuracion del punto de division mas apropiada son seleccionados. Si una configuracion del punto de division es mas apropiada que otra, se determina dependiendo del valor de la porcion de envolvente de la senal determinada que a su vez depende de la regla de 5 asignacion predefinida.
[0058] Unas realizaciones, en las que cada configuracion de punto de division tiene N puntos de division, cada configuracion del punto de division posible con puntos de division puede ser considerada. Sin embargo, en algunas realizaciones, no todas las configuraciones de punto de division son posibles, sino solamente dos configuraciones de
10 punto de division posibles son consideradas, en el punto de division de la configuracion de punto de division mas apropiada son escogidas como el uno o mas puntos de division seleccionados.
[0059] En realizaciones en las que solamente se determinara un solo punto de division, cada configuracion del punto de division solo comprende un punto de division unico. En realizaciones en las que se determinaran dos puntos
15 de division, cada configuracion del punto de division comprende dos puntos de division. Asimismo, en realizaciones, donde se determinaran N puntos de division, cada configuracion del punto de division comprende N puntos de division.
[0060] Una configuracion del punto de division con un solo punto de division divide la envolvente de la senal de audio en dos porciones de envolvente de la senal de audio. Una configuracion del punto de division con dos puntos
20 de division divide la envolvente de la senal de audio en tres porciones de envolvente de la senal de audio. Una configuracion del punto de division con N puntos de division divide la envolvente de la senal de audio en N + 1 porciones de envolvente de la senal de audio.
[0061] Existe una regla de asignacion predefinida, que asigna el valor de la porcion de envolvente de la senal 25 a cada una de las porciones de envolvente de la senal de audio. La regla de asignacion predefinida depende de las
porciones de envolvente de la senal de audio.
[0062] En algunas realizaciones, se determinan puntos de division de tal manera que cada una de las porciones
de envolvente de la senal de audio que resultan del uno o mas puntos de division que dividen la envolvente de la senal
30 de audio tiene un valor de las porciones de envolvente de la senal asignado por la regla de asignacion predefinida que es aproximadamente igual. De este modo, ya que el uno o mas puntos de division dependen de la envolvente de la senal de audio y la regla de asignacion, la envolvente de la senal de audio puede ser estimada en un decodificador, si la regla de asignacion y los puntos de division son conocidos en el decodificador. Esto se ilustra, por ejemplo, en la figura 6:
35
[0063] En la figura 6(a), se determinara un solo punto de division para una envolvente de la senal 610. Asl, en este ejemplo, las diferentes configuraciones posibles de punto de division son definidas por un solo punto de division. En la realizacion de la figura 6 (a), el punto de division 631 es encontrado como el mejor punto de division. El punto de division 631 divide la envolvente de la senal de audio 610 en dos porciones de envolvente de la senal. El bloque
40 rectangular 611 representa una energla de una primera porcion de envolvente de la senal definida por el punto de division 631. El bloque rectangular 612 representa una energla de una segunda porcion de envolvente de la senal definida por el punto de division 631. En el ejemplo de la figura 6(a), los bordes superiores de los bloques 611 y 612 representan una estimacion de la envolvente de la senal 610. Tal estimacion se puede hacer en un decodificador, por ejemplo, usando como informacion el punto de division 631 (por ejemplo, si el unico punto de division tiene el valor s 45 = 12, entonces el punto de division s esta ubicado en la posicion 12), la informacion acerca de donde comienza la envolvente de la senal (en este caso en el punto 638) y la informacion de donde termina la envolvente de la senal (en este caso en el punto 639). La envolvente de la senal puede empezar y puede terminar en valores fijos y esta informacion puede estar disponible como informacion fija en el receptor. De otra manera, esta informacion puede ser transmitida al receptor. En el lado del decodificador, el decodificador puede reconstruir una estimacion de la envolvente 50 de la senal, de tal manera que las porciones de envolvente de la senal, que resultan del punto de division 631 dividen la envolvente de la senal de audio, obtienen el mismo valor asignado de la regla de asignacion predefinida. En la figura 6(a), las porciones de envolvente de la senal de la envolvente de la senal que es definida por los bordes superiores de los bloques 611 y 612 obtienen el mismo valor asignado por la regla de asignacion y representan una buena estimacion de la envolvente de la senal 610. En lugar de utilizar el punto de division 631, el valor 621 se puede utilizar 55 tambien como punto de division. Ademas, en lugar del valor de partida 638, el valor 628 se puede utilizar como valor de partida y en lugar del valor final 639, el valor final 629 puede ser utilizado como valor final. Sin embargo, no solamente la codificacion del valor de la abscisa, sino tambien el valor de la ordenada requiere mas recursos de codificacion y no es necesario.
[0064] En la figura 6 (b), se determinaran tres puntos de division para una envolvente de la senal 640. Asl, en este ejemplo, las diferentes configuraciones de punto de division posibles son definidas por tres puntos de division. En la realizacion de la figura 6(b), los puntos de division 661,662, 663 son encontrados como mejores puntos de division. Los puntos de division 661, 662, 663 dividen la envolvente de la senal de audio de 640 en cuatro porciones de
5 envolvente de la senal. El bloque rectangular 641 representa una energla de una primera porcion de envolvente de la senal definida por los puntos de division. El bloque rectangular 642 representa una energla de una segunda porcion de envolvente de la senal definida por los puntos de division. El bloque rectangular 643 representa una energla de una tercera porcion de envolvente de senal definida por los puntos de division. Y el bloque rectangular 644 representa una energla de una cuarta porcion de envolvente de la senal definida por los puntos de division. En el ejemplo de la 10 figura 6(b), los bordes superiores de los bloques 641, 642, 643, 644 representan una estimation de la envolvente de la senal 640. Tal estimacion se puede hacer en un decodificador, por ejemplo, usando como information los puntos de division 661,662, 663, informacion acerca de donde comienza la envolvente de la senal (en este caso en el punto 668) e informacion de donde termina la envolvente de la senal (en este caso en el punto 669). La envolvente de la senal puede empezar y puede terminar en valores fijos y esta informacion puede estar disponible como informacion 15 fija en el receptor. De otra manera, esta informacion puede ser transmitida al receptor. En el lado del decodificador, el decodificador puede reconstruir una estimacion de la envolvente de la senal, de tal manera que las porciones de envolvente de la senal, que resultan de los puntos de division 661, 662, 663 que dividen la envolvente de la senal de audio, obtienen el mismo valor asignado de la regla de asignacion predefinida. En la figura 6(b), las porciones de envolvente de la senal de una envolvente de la senal que es definida por los bordes superiores de los bloques 641, 20 642, 643, 644 obtienen el mismo valor asignado por la regla de asignacion y representa una buena estimacion de la envolvente de la senal 640. En lugar de usar el punto de division 661, 662, 663, los valores 651, 652, 653 tambien pueden ser utilizados como puntos de division. Ademas, en lugar del valor inicial 668, el valor 658 puede ser utilizado como valor de inicio y en lugar del valor final 669, el valor final 659 puede ser utilizado como valor final. Sin embargo, no solamente la codification del valor de la abscisa, sino tambien el valor de la ordenada, requieren mas recursos de 25 codificacion y no es necesario.
[0065] En la figura 6(c), cuatro puntos de division para una envolvente de la senal 670 seran determinados. Asl, en este ejemplo, las diferentes configuraciones de punto de division posibles son definidas por cuatro puntos de division. En la realizacion de la figura 6(c), los puntos de division 691,692, 693, 694 se encuentran como los mejores
30 puntos de division. Los puntos de division 691, 692, 693, 694 dividen la envolvente de la senal de audio 670 en cinco porciones de envolvente de la senal. El bloque rectangular 671 representa una energla de una primera porcion de envolvente de la senal definida por los puntos de division. El bloque rectangular 672 representa una energla de una segunda porcion de envolvente de la senal definida por los puntos de division. El bloque rectangular 673 representa una energla de una tercera porcion de envolvente la senal definida por los puntos de division. El bloque rectangular 35 674 representa una energla de una cuarta porcion de envolvente de la senal definida por los puntos de division. Y el bloque rectangular 675 representa una energla de una quinta porcion de envolvente de la senal definida por los puntos de division. En el ejemplo de la figura 6(c), los bordes superiores de los bloques 671, 672, 673, 674, 675 representan una estimacion de la envolvente de la senal 670. Tal estimacion se puede hacer en un decodificador, por ejemplo, usando como informacion los puntos de division 691, 692, 693, 694, la informacion acerca de donde comienza la 40 envolvente de la senal (en este caso en el punto 698) y la informacion de donde termina la envolvente de la senal (en este caso en el punto 699). La envolvente de la senal puede empezar y puede terminar en valores fijos y esta informacion puede estar disponible como informacion fija en el receptor. De otra manera, esta informacion puede ser transmitida al receptor. En el lado del decodificador, el decodificador puede reconstruir una estimacion de la envolvente de la senal, de tal manera que las porciones de envolvente de la senal, que resultan de los puntos de division 691, 45 692, 693, 694 que dividen la envolvente de la senal de audio, obtienen el mismo valor asignado de la regla de asignacion predefinida. En la figura 6(c), las porciones de envolvente de la senal de una envolvente de la senal que es definida por los bordes superiores de los bloques 671, 672, 673, 674 obtienen el mismo valor asignado por la regla de asignacion y representan una buena estimacion de la envolvente de la senal 670. En lugar de utilizar el punto de division 691, 692, 693, 694, los valores 681, 682, 683, 684 se pueden utilizar tambien como puntos de division. 50 Ademas, en lugar del valor inicial 698, el valor 688 puede ser utilizado como valor de inicio y en lugar del valor final 699, el valor final 689 puede ser utilizado como valor final. Sin embargo, no solamente la codificacion de la abscisa, sino tambien el valor de la ordenada, requiere mas recursos de codificacion y no es necesario.
[0066] Como una realizacion particular adicional, el siguiente ejemplo se puede considerar:
55
[0067] Una envolvente de senal que es representada en un dominio espectral se codificara. La envolvente de la senal puede comprender, por ejemplo, n valores espectrales, (por ejemplo, n = 33).
[0068] Diferentes porciones de envolvente de la senal pueden considerarse ahora. Por ejemplo, una primera
porcion de envolvente de la senal puede comprender los primeros 10 valores espectrales Vi (i = 0, 9; siendo i un
Indice del valor espectral) y la segunda porcion de envolvente de la senal puede comprender los ultimos 23 valores espectrales (i = 10, ..., 32).
5 [0069] En una realizacion, una regla de asignacion predefinida, puede ser, por ejemplo, que el valor de la
porcion de envolvente de la senal p (m) de una porcion de envolvente de la senal espectral m con valores espectrales vo, vi, ..., Vs-i es la energla de la porcion de envolvente de la senal espectral , por ejemplo,
limite superior
p{m)= y vr2
i = limits inferior
10
en el que llmite inferior es el valor del llmite inferior de la porcion de envolvente de la senal m y en el que llmite superior es el valor del llmite superior de la porcion de envolvente de la senal m.
[0070] El determinador del valor de la porcion de la envolvente de la senal 110 puede asignar un valor de la 15 porcion de envolvente de la senal de acuerdo con una formula a una o mas de las porciones de envolvente de la senal
de audio.
[0071] El determinador de punto de division 220 esta ahora configurado para determinar uno o mas valores de la porcion de envolvente de la senal, de acuerdo con la regla de asignacion predefinida. En particular, el determinador
20 de punto de division 220 esta configurado para determinar el uno o mas valores de la porcion de envolvente de la senal, dependiendo de la regla de asignacion, de tal manera que el valor de la porcion de envolvente de la senal de cada una de las dos o mas porciones de envolvente de la senal es (aproximadamente) igual al valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal de las dos o mas porciones de envolvente de la senal.
25
[0072] Por ejemplo, en una realizacion particular, el determinador de punto de division 220 puede estar configurado para determinar un solo punto de division solamente. En tal realizacion, dos porciones de envolvente de la senal, por ejemplo, la porcion de envolvente de la senal 1 (m = 1) y la porcion de envolvente de la senal 2 (m = 2) son definidas por el punto de division s, por ejemplo, de acuerdo con las formulas:
30
*-l ■>
Pi 1)=Z*?
i= 0
n~l ,
P(2)= Vv#2
en las que n indica el numero de muestras de la envolvente de la senal de audio, por ejemplo, el numero de valores 35 espectrales de la envolvente de la senal de audio. En el ejemplo anterior, n puede ser, por ejemplo, n = 33.
[0073] El determinador del valor de la porcion de la envolvente de la senal 110 puede asignar tal valor de la porcion de envolvente de la senal p(1) a la porcion de envolvente de la senal de audio 1 y tal valor de la porcion de envolvente de la senal p(2) a la porcion de envolvente de la senal de audio 2.
40
[0074] En algunas realizaciones, se determinan ambos valores de la porcion de envolvente de la senal p(1), p(2). Sin embargo, en algunas realizaciones, solamente se considera uno de ambos valores de la porcion de envolvente de la senal. Por ejemplo, si se conoce la energla total. Entonces, es suficiente con determinar el punto de division, de tal manera que p(1) es aproximadamente el 50% de la energla total.
45
[0075] En algunas realizaciones, s(k) puede ser seleccionado de un conjunto de valores posibles, por ejemplo, de un conjunto de valores de Indice enteros, por ejemplo, {0; 1; 2; ...; 32}. En otras realizaciones, s(k) puede ser seleccionado de un conjunto de valores posibles, por ejemplo, de un conjunto de valores de frecuencia que indican un conjunto de bandas de frecuencia.
[0076] En realizaciones, en las que se determinara mas de un punto de division, se puede considerar una
formula que representa la energia acumulada, que acumula las energias de muestra hasta justo antes del punto de division s
j= 0
[0077] Si se determinan N puntos de division, entonces los puntos de division s(1), s(2), ..., s(N) son
determinados, de tal manera que:
10
-itH ,
V v- « k
/ s * l n
3=0
energia total N +1
en el que energia total es la energia total de la envolvente de la senal.
15 [0078] En una realizacion, el punto de division s(k) puede ser escogido, de manera que
es minimo.
20
[0079] Asi, de acuerdo con una realizacion, el determinador del punto de division 220 puede estar configurado,
por ejemplo, para determinar el uno o mas puntos de division s(k), de tal manera que
25
es minimo, en el que energia total indica la energia total y en el que k indica el k-esimo punto de division del uno o mas puntos de division y en el que N indica el numero del uno o mas puntos de division.
[0080] En otra realizacion, si el determinador de punto de division 220 esta configurado para seleccionar
30 solamente un punto de division s, entonces, el determinador de punto de division 220 puede probar todos los puntos de division posibles s = 1, ..., 32.
[0081] En algunas realizaciones, el determinador de punto de division 220 puede seleccionar el mejor valor
para el punto de division s, por ejemplo, el punto de division s, en el que
35
<t=\p ? y pb\=
es minimo.
40 [0082] De acuerdo con una realizacion, el valor de la porcion de envolvente de la senal de cada porcion de
envolvente de la senal de las dos o mas porciones de envolvente de la senal puede, por ejemplo, depender de uno o
i=s i= 0
mas valores de energla o uno o mas valores de potencia de dicha porcion de envolvente de la senal. De otra manera, el valor de la porcion de envolvente de la senal de cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal puede, por ejemplo, depender de cualquier otro valor apropiado para reconstruir un nivel original o un nivel objetivo de la envolvente de la senal de audio.
5
[0083] De acuerdo con una realization, la envolvente de la senal de audio puede, por ejemplo, ser representada en un dominio espectral o en un dominio de tiempo.
[0084] La figura 4 ilustra un aparato para codificar la envolvente de la senal de audio de acuerdo con otra 10 realizacion, en la que el aparato comprende ademas un codificador de puntos de division 225 para codificar los uno o
mas puntos de division, por ejemplo, de acuerdo con una regla de codification, para obtener uno o mas puntos codificados.
[0085] El codificador de puntos de division 225 puede, por ejemplo, estar configurado para codificar una 15 position de cada uno del uno o mas puntos de division, para obtener uno o mas puntos codificados. El codificador de
puntos de division 225 puede, por ejemplo, estar configurado para codificar una posicion de cada uno del uno o mas puntos de division al codificar un numero de estado de puntos de division. Ademas, el codificador de puntos de division 225 puede, por ejemplo, estar configurado para proporcionar un numero de posiciones totales que indica el numero total de posiciones del punto de division posibles y el numero de puntos de division que indica el numero del uno o 20 mas puntos de division. El numero de estado de puntos de division, el numero de posiciones totales y el numero de puntos de division indican conjuntamente la posicion de cada uno del uno o mas puntos de division.
[0086] La figura 5 ilustra un aparato para codificar una envolvente de la senal de audio, de acuerdo con otra realizacion, en la que el aparato para codificar una envolvente de la senal de audio comprende ademas un
25 determinador de energla 230.
[0087] De acuerdo con una realizacion, el aparato puede, por ejemplo, comprender ademas un determinador de energla (230) para determinar la energla total de la envolvente de la senal de audio y para codificar la energla total de la envolvente de la senal de audio.
30
[0088] En otra realizacion, sin embargo, el aparato puede, por ejemplo, estar configurado ademas para determinar cualquier otro valor apropiado para reconstruir un nivel original u objetivo de la envolvente de la senal de audio. En lugar de la energla total, una pluralidad de otros valores son apropiados para reconstruir un nivel original o un nivel objetivo de la envolvente de la senal de audio. Por ejemplo, como ya se ha mencionado, el escalado de la
35 envolvente puede ser implementado de varias maneras y ya que puede corresponder a la senal de energla o masa espectral o similar (un tamano absoluto) o puede ser un factor de escalamiento o factor de ganancia (un tamano relativo), puede ser codificado como un valor absoluto o relativo o puede ser codificado por una diferencia con un valor previo o a una combination de valores previos. En algunos casos, el escalado puede ser tambien irrelevante o deducido de otros datos disponibles. La envolvente se reconstruira a su nivel original o nivel objetivo.
40
[0089] La figura 14 ilustra un aparato para codificar una senal de audio. El aparato comprende un aparato 1410 de codificacion, de acuerdo con una de las realizaciones descritas anteriormente para codificar una envolvente de la senal de audio de la senal de audio, al generar uno o mas puntos de division y un codificador de caracterlstica de senal secundaria 1420 para codificar una caracterlstica de senal adicional de la senal de audio, la caracterlstica de
45 senal adicional es diferente de la envolvente de la senal de audio. Una persona experta en la tecnica es consciente de que, a partir de una envolvente de la senal de una senal de audio y de una caracterlstica de senal adicional de la senal de audio, la senal de audio misma puede ser reconstruida. Por ejemplo, la envolvente de la senal puede indicar, por ejemplo, la energla de las muestras de la senal de audio. La caracterlstica de senal adicional puede indicar, por ejemplo, para cada muestra de, por ejemplo, una senal de audio de dominio de tiempo, si la muestra tiene un valor 50 positivo o negativo.
[0090] La figura 1 ilustra un aparato de decodificacion para obtener una envolvente de la senal de audio reconstruida de acuerdo con una realizacion.
55 [0091] El aparato comprende un reconstructor de envolvente de la senal 110 para generar la envolvente de la
senal de audio reconstruida dependiendo de uno o mas puntos de division.
[0092] Ademas, el aparato comprende una interfaz de salida 120 para emitir la envolvente de la senal de audio
reconstruida.
[0093] El reconstructor de envolvente de la senal 110 esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio.
5
[0094] Una regla de asignacion predefinida define un valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal.
10 [0095] Ademas, el reconstructor de envolvente de la senal 110 esta configurado para generar la envolvente de
la senal de audio reconstruida, de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, el valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto del valor de la porcion de envolvente de la senal, de cada una de las otras porciones de envolvente de la senal.
15 [0096] Con respecto al valor absoluto a de un valor de la porcion de envolvente de la senal x significa:
Si x > 0, entonces a = x;
Si x < 0, entonces a = -x;
20 [0097] Si todos los valores de la porcion de envolvente de la senal son positivos, esta formulacion anterior
significa que la envolvente de la senal de audio reconstruida es generada de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, su valor de la porcion de envolvente de la senal es mayor que la mitad del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
25 [0098] En una realizacion particular, el valor de la porcion de envolvente de la senal de cada una de las
porciones de envolvente de la senal es igual al valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal de las dos o mas porciones de envolvente de la senal.
[0099] Sin embargo, en la realizacion mas general de la figura 1, la envolvente de la senal de audio es 30 reconstruida de tal manera que los valores de la porcion de envolvente de la senal de las porciones de envolvente de
la senal no tienen que ser exactamente iguales. En lugar de esto, se permite un cierto grado de tolerancia (un cierto margen).
[0100] La formulacion, “de tal manera que, para cada una de las dos o mas porciones de envolvente de la 35 senal, un valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto
del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal”, por ejemplo, se puede entender que significa que, siempre y cuando el valor absoluto mas grande de todos los valores de la porcion de envolvente de la senal no tenga dos veces el tamano del valor absoluto mas pequeno de todos los valores de la porcion de envolvente de la senal, se satisface la condicion requerida.
40
[0101] Por ejemplo, un conjunto de cuatro valores de la porcion de envolvente de la senal {0,23; 0,28; 0,19; 0,30} satisface el requerimiento anterior, ya que 0,30 <2 ■ 0,19 = 0,38. Otro conjunto de cuatro valores de la porcion
de envolvente de la senal, sin embargo, {0,24; 0,16; 0,35; 0,25} no satisface la condicion requerida, ya que 0,35> 2 • 0,16 = 0,32.
45
[0102] En el lado del descodificador, el reconstructor de envolvente de la senal 110 esta configurado para reconstruir la envolvente de la senal de audio reconstruida, de tal manera que las porciones de envolvente de la senal de audio resultantes de los puntos de division que dividen la envolvente de la senal de audio reconstruida, tienen valores de la porcion de envolvente de la senal que son aproximadamente iguales. De este modo, el valor de la porcion
50 de envolvente de la senal de cada una de las dos o mas porciones de envolvente de la senal es mayor que la mitad del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal de las dos o mas porciones de envolvente de la senal.
[0103] En tales realizaciones, los valores de la porcion de envolvente de la senal de las porciones de envolvente
55 de la senal seran aproximadamente iguales, pero no tienen que ser exactamente iguales.
[0104] La exigencia de que los valores de la porcion de envolvente de la senal de las porciones de envolvente de la senal sean bastante iguales indica al decodificador como se reconstruira la senal. Cuando las porciones de envolvente de la senal son reconstruidas de tal manera que los valores de la porcion de envolvente de la senal son
exactamente iguales, el grado de libertad en la reconstruccion de la senal en el lado del decodificador se restringe severamente.
[0105] Cuanto mas se pueden desviar los valores de la porcion de envolvente de la senal entre si, mas libertad 5 tiene el decodificador para ajustar la envolvente de la senal de audio, de acuerdo con la especificacion en el lado del
decodificador. Por ejemplo, cuando una envolvente de la senal de audio espectral es codificada, algunos decodificadores pueden preferir poner mas, por ejemplo, energla en las bandas de frecuencias mas bajas, mientras que otros decodificadores pueden preferir poner mas, por ejemplo, energla en las bandas de frecuencias mas altas. Ademas, al permitir cierta tolerancia, una cantidad limitada de errores de redondeo, por ejemplo, provocados por 10 cuantificacion y/o descuantificacion, puede ser permisible.
[0106] En una realizacion, en la que el reconstructor de envolvente de la senal 110 esta reconstruyendo bastante exacto, el reconstructor de la envolvente de la senal 110 esta configurado para generar la envolvente de la senal de audio reconstruida de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal,
15 el valor absoluto de su valor de porcion de envolvente de la senal es mayor del 90% del valor absoluto del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
[0107] De acuerdo con una realizacion, el reconstructor de envolvente de la senal 110 puede por ejemplo, estar configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que, para cada una de las
20 dos o mas porciones de envolvente de la senal, el valor absoluto de su valor de porcion de envolvente de la senal es mayor del 99% del valor absoluto del valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
[0108] En otra realizacion, sin embargo, el reconstructor de envolvente de la senal 110 puede, por ejemplo, 25 estar configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el valor de la porcion
de envolvente de la senal de cada una de las dos o mas porciones de envolvente de la senal es igual al valor de la porcion de envolvente de la senal de cada una de las otras porciones de envolvente de la senal de las dos o mas porciones de envolvente de la senal.
30 [0109] En una realizacion, el valor de la porcion de envolvente de la senal de cada porcion de envolvente de la
senal de las dos o mas porciones de envolvente de la senal puede depender, por ejemplo, de uno o mas valores de energla o uno o mas valores de potencia de dicha porcion de envolvente de la senal.
[0110] De acuerdo con una realizacion, la envolvente de la senal de audio reconstruida puede, por ejemplo, 35 ser representada en un dominio espectral o en un dominio de tiempo.
[0111] La figura 2 ilustra un aparato de decodificacion de acuerdo con una realizacion adicional, en la que el aparato comprende ademas un decodificador de puntos de division 105 para decodificar uno o mas puntos codificados, de acuerdo con una regla de decodificacion para obtener los uno o mas puntos de division.
40
[0112] De acuerdo con una realizacion, el reconstructor de envolvente de la senal 110 puede, por ejemplo, estar configurado para generar la envolvente de la senal de audio reconstruida, dependiendo del valor de energla total que indica la energla total de la envolvente de la senal de audio reconstruida o dependiendo de cualquier otro valor apropiado para reconstruir un nivel original o un nivel objetivo de la envolvente de la senal de audio.
45
[0113] Ahora, para ilustrar la presente invencion c mas detalle, se proporcionan realizaciones particulares.
[0114] De acuerdo con una realizacion particular, un concepto es dividir la banda de frecuencia en dos partes, de tal manera que ambas mitades tienen igual energla. Esta idea se ilustra en la figura 6(a), en la que la envolvente,
50 es decir, la forma general, es descrita por bloques de energla constante.
[0115] La idea se puede aplicar entonces recursivamente, de tal manera que ambas de las dos mitades son divididas adicionalmente en dos mitades, que tienen igual energla. Este procedimiento se ilustra en la figura 6 (b).
55 [0116] De forma mas general, el espectro puede ser dividido en N bloques, de tal manera que cada bloque
tiene 1/N-esimo de la energla. En la figura 6 (c), esto se ilustra con N = 5.
[0117] Para reconstruir estas envolventes espectrales constantes de bloque en bloque en el decodificador, las
fronteras de frecuencia de los bloques y por ejemplo, la energla global pueden por ejemplo ser transmitidas. Las
fronteras de energla corresponden entonces, pero solamente en sentido heurlstico, a la representacion de LSF del LPC.
[0118] Hasta ahora, se han proporcionado explicaciones con respecto a la envolvente de energla abs(x)2 de 5 una senal x. En otras realizaciones, sin embargo, la envolvente de magnitud abs(x), algunas otras potencias abs(x)n
del espectro o cualquier representacion motivada perceptualmente (por ejemplo, sonoridad) es modelada. En lugar de la energla, se podrla referir al termino “masa espectral” y asumir que describe una representacion apropiada del espectro. Lo unico importante es que es posible calcular la suma acumulativa de la representacion del espectro, es decir, que la representacion tiene solamente valores positivos.
10
[0119] Sin embargo, si una secuencia no es positiva, puede ser convertida a una secuencia positiva por la adicion de una constante suficientemente grande, al tomar su suma acumulativa o mediante cualquier otra operacion apropiada. Similarmente, una secuencia de valor complejo puede ser convertida por ejemplo a,
15 1) dos secuencias, de las que una es puramente real y una es puramente imaginaria o
2) dos secuencias, de las que la primera representa la magnitud y la segunda la fase. Estas dos secuencias pueden entonces en ambos casos ser modeladas como dos envolventes separadas.
[0120] Tampoco es necesario restringir el modelo a modelos de envolvente espectral, cualquier forma de 20 envolvente puede ser descrita con el modelo actual. Por ejemplo, la formacion de ruido temporal (TNS) [6] es una
herramienta estandar en codecs de audio, que modela la envolvente temporal de una senal. Puesto que nuestro metodo modela envolventes, puede igualmente ser aplicado adecuadamente a senales de dominio de tiempo tambien.
[0121] Similarmente, los metodos de extension de ancho de banda (BWE) aplican envolventes espectrales 25 para modelar la forma espectral de las frecuencias superiores y el metodo propuesto puede ser aplicado as! para BWE
del mismo modo.
[0122] La figura 17 ilustra un aparato para determinar uno o mas valores de codificacion para codificar una envolvente de la senal de audio de acuerdo con una realizacion.
30
[0123] El aparato comprende un agregador 1710 para determinar un valor agregado para cada uno de una pluralidad de valores de argumento. La pluralidad de valores de argumento son ordenados de tal manera que un primer valor de argumento de la pluralidad de valores de argumento tanto si precede como si sucede a un segundo valor de argumento de la pluralidad de valores de argumento, cuando dicho segundo valor de argumento es diferente del primer
35 valor de argumento.
[0124] Un valor de la envolvente se asigna a cada uno de los valores de argumento, en el que el valor de envolvente de cada uno de los valores de argumento depende de la envolvente de la senal de audio y en el que el agregador esta configurado para determinar el valor agregado para cada valor de argumento de la pluralidad de valores
40 de argumento, dependiendo del valor de envolvente del valor de argumento y dependiendo del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento.
[0125] Ademas, el aparato comprende una unidad de codificacion 1720 para determinar uno o mas valores de codificacion, dependiendo de uno o mas de los valores agregados de la pluralidad de valores de argumento. Por
45 ejemplo, la unidad de codificacion 1720 puede generar los puntos de division descritos anteriormente como el uno o mas valores de codificacion, por ejemplo, como se describe anteriormente.
[0126] La figura 18 ilustra una funcion de agregacion 1810 de acuerdo con un primer ejemplo.
50 [0127] Entre otras cosas, la figura 18 ilustra 16 puntos de envolvente de una envolvente de la senal de audio.
Por ejemplo, el 4° punto de envolvente de la envolvente de la senal de audio es indicado por el signo de referencia 1824 y el 8° punto de envolvente es indicado por el signo de referencia 1828. Cada punto de envolvente comprende un valor de argumento y un valor de envolvente. Expuesto de otra manera, el valor de argumento puede ser considerado como un componente x y el valor de la envolvente puede ser considerado como un componente y del 55 punto de la envolvente en un sistema de coordenadas x - y. Asl, como se puede ver en la figura 18, el valor de argumento del 4° punto de envolvente 1824 es 4 y el valor de envolvente del 4° punto de envolvente es 3. Como otro ejemplo, el valor de argumento del 8° punto de envolvente 1828 es 8 y el valor de envolvente del 4° punto de envolvente es 2. En otras realizaciones, los valores de argumento pueden no indicar un numero de Indice, como en la figura 18, sino que pueden, por ejemplo, indicar una frecuencia central de una banda espectral, si, por ejemplo, se considera
una envolvente espectral, de tal manera que, por ejemplo, un primer valor de argumento puede ser entonces de 300 Hz, un segundo valor de argumento puede ser de 500 Hz, etc. De otra manera, por ejemplo, en otras realizaciones, los valores de argumento pueden indicar puntos en el tiempo, si, por ejemplo, se considera una envolvente temporal.
5 [0128] La funcion de agregacion 1810 comprende una pluralidad de puntos de agregacion. Por ejemplo,
considerar el 4° punto de agregacion 1814 y el 8° punto de agregacion 1818. Cada punto de agregacion comprende un valor de argumento y un valor de agregacion. Similarmente como antes, el valor de argumento puede ser considerado como un componente x y el valor de agregacion puede ser considerado como un componente y del punto de agregacion, en un sistema de coordenadas x - y. En la figura 18, el valor de argumento del 4° punto de agregacion
10 1814 es 4 y el valor de agregacion del 4° punto de agregacion 1818 es 7. Como otro ejemplo, el valor de argumento del 8° punto de envolvente es 8 y el valor de envolvente del 4° punto de envolvente es 13.
[0129] El valor de agregacion de cada punto de agregacion de la funcion de agregacion 1810 depende del valor de la envolvente del punto de envolvente que tiene el mismo valor de argumento que el punto de agregacion
15 considerado y ademas depende del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento. En el ejemplo de la figura 18, con respecto al 4° punto de agregacion 1814, su valor de agregacion depende del valor de envolvente del 4° punto de envolvente 1824, ya que este punto de envolvente tiene el mismo valor de argumento que el punto de agregacion y depende ademas de los valores de envolvente de los puntos de envolvente 1821, 1822 y 1823, ya que los valores de argumento de estos puntos de envolvente 1821, 1822,
20 1823 preceden al valor de argumento del punto de envolvente 1824.
[0130] En el ejemplo de la figura 18, el valor de agregacion de cada punto de agregacion es determinado al sumar el valor de la envolvente del punto de envolvente correspondiente y los valores de envolvente de sus puntos de envolvente anteriores. De este modo, el valor de agregacion del 4° punto de agregacion es 1 + 2 + 1 + 3 = 7 (ya que
25 el valor de la envolvente del 1er punto de envolvente es 1, ya que el valor de la envolvente del 2° punto de envolvente es 2, ya que el valor de la envolvente del 3er punto de envolvente es 1 y ya que el valor de la envolvente del 4° punto de envolvente es 3). En consecuencia, el valor de agregacion del 8° punto de agregacion es 1 + 2 + 1 + 3 + 1 + 2 + 1 + 2 = 13.
30 [0131] La funcion de agregacion es incrementada monotonicamente. Esto significa, por ejemplo, que cada
punto de agregacion de la funcion de agregacion (que tiene un predecesor) tiene un valor de agregacion que es mayor o igual al valor de agregacion de su punto de agregacion inmediatamente anterior. Por ejemplo, con respecto a la funcion de agregacion 1810, por ejemplo, el valor de agregacion del 4° punto de agregacion 1814 es mayor o igual al valor de agregacion del 3er punto de agregacion; el valor de agregacion del 8° punto de agregacion 1818 es mayor o
35 igual al valor de agregacion del 7° punto de agregacion 1817 y as! sucesivamente y esto es cierto para todos los puntos de agregacion de la funcion de agregacion.
[0132] La figura 19 muestra otro ejemplo para la funcion de agregacion, all!, la funcion de agregacion 1910. En el ejemplo de la figura 19, el valor de agregacion de cada punto de agregacion es determinado al sumar el cuadrado
40 del valor de la envolvente del punto de envolvente correspondiente y los cuadrados de los valores de envolvente de sus puntos de envolvente anteriores. De este modo, por ejemplo, para obtener el valor de agregacion del 4° punto de agregacion 1914, el cuadrado del valor de la envolvente del punto de envolvente correspondiente 1924 y los cuadrados de los valores de envolvente de sus puntos de envolvente anteriores 1921, 1922 y 1923 son sumandos, dando como resultado 22 + 12 + 22 + 12 = 10. De tal manera que el valor de agregacion del 4° punto de agregacion 1914 en la figura
45 19 es 10. En la figura 19, los signos de referencia 1931, 1933, 1935 y 1936 indican los cuadrados de los valores de envolvente de los puntos de envolvente respectivos, respectivamente.
[0133] Lo que tambien se puede ver en las figuras 18 y 19 es que las funciones de agregacion proporcionan una manera eficiente para determinar puntos de division. Los puntos de division son un ejemplo de valores de
50 codificacion. En la figura 18, el valor de agregacion mayor de todos los puntos de division (esto puede ser, por ejemplo, una energla total) es 20.
[0134] Por ejemplo, si solo se debe determinar un punto de division, aquel valor de argumento del punto de agregacion puede ser, por ejemplo, escogido como punto de division, que es igual a o cercano a 10 (50% de 20). En
55 la figura 18, este valor de argumento serla 6 y el punto de division unico serla por ejemplo 6.
[0135] Si se deben determinar tres puntos de division, los valores de argumento de los puntos de agregacion pueden ser escogidos como puntos de division, que son iguales a o cercanos a 5, 10 y 15 (25%, 50% y 75% de 20), respectivamente. En la figura 18, estos valores de argumento serlan ya sea 3 o 4, 6 y 11. De este modo, los puntos
de division escogidos serlan ya sea 3, 6 y 11 o sedan 4, 6 y 11. En otras realizaciones, se pueden permitir valores no enteros como puntos de division y entonces, en la figura 18, los puntos de division determinados serlan, por ejemplo, 3.33, 6 y 11.
5 [0136] Asl, de acuerdo con algunas realizaciones, el agregador puede, por ejemplo, estar configurado para
determinar el valor agregado para cada valor de argumento, de la pluralidad de valores de argumento mediante la adicion del valor de envolvente de dicho valor de argumento y los valores de envolvente de los valores de argumento que preceden a dicho valor de argumento.
10 [0137] En una realization, el valor de envolvente de cada uno de los valores de argumento puede indicar, por
ejemplo, un valor de energla de una envolvente de la senal de audio que tiene la envolvente de la senal de audio como envolvente de la senal.
[0138] De acuerdo con una realizacion, el valor de envolvente de cada uno de los valores de argumento puede
15 indicar, por ejemplo, una n-esima potencia de un valor espectral de una envolvente de la senal de audio que tiene la
envolvente de la senal de audio como envolvente de la senal, en la que n es un numero entero par mayor de cero.
[0139] En una realizacion, el valor de envolvente de cada uno de los valores de argumento puede indicar, por ejemplo, una n-esima potencia de un valor de amplitud de una envolvente de la senal de audio, que se representa en
20 un dominio del tiempo y que tiene la envolvente de la senal de audio como la envolvente de la senal, en la que n es un numero entero par mayor de cero.
[0140] De acuerdo con una realizacion, la unidad de codification puede, por ejemplo, estar configurada para determinar los uno o mas valores de codificacion, dependiendo de uno o mas de los valores agregados de los valores
25 de argumento y dependiendo del numero de valores de codificacion, que indica cuantos valores van a ser determinados por la unidad de codificacion como el uno o mas valores de codificacion.
30
[0141] En una realizacion, la unidad de codificacion, por ejemplo, puede estar configurada para determinar el
uno o mas valores de codificacion de acuerdo con:
en el que c(k) indica el k-esimo valor de codificacion que se va a ser determinado por la unidad de codificacion, en el que j indica el j-esimo valor de argumento de la pluralidad de valores de argumento, en el que a(j) indica el valor 35 agregado que es asignado al j-esimo valor de argumento, en el que max(a) indica el valor maximo que es uno de los valores agregados que son asignados a uno de los valores de argumento, en el que ninguno de los valores agregados que son asignados a uno de los valores de argumento es mayor que el valor maximo y en el que
indica un valor mlnimo que es uno de los valores de argumento para los que
es minimo.
40
[0142] La figura 16 ilustra un aparato para la generation de una envolvente de la senal de audio a partir de uno
o mas valores de codificacion de acuerdo con una realizacion.
[0143] El aparato comprende una interfaz de entrada 1610 para la reception del uno o mas valores de
45 codificacion y un generador de envolvente 1620 para la generacion de la envolvente de la senal de audio, dependiendo del uno o mas valores de codificacion.
[0144] El generador de envolvente 1620 esta configurado para generar una funcion de agregacion dependiendo
del uno o mas valores de codificacion, en el que la funcion de agregacion comprende una pluralidad de puntos de
agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en el que la funcion de agregacion aumenta monotonicamente.
[0145] Cada uno de los uno o mas valores de codificacion indica al menos uno del valor de argumento y el 5 valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. Esto significa que cada uno de
los valores de codificacion especifica un valor de argumento de uno de los puntos de agregacion o especifica un valor de agregacion de uno de los puntos de agregacion o especifica tanto un valor de argumento como un valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. En otras palabras, cada uno de los uno o mas valores de codificacion indica el valor de argumento y/o el valor de agregacion de uno de los puntos de 10 agregacion de la funcion de agregacion.
[0146] Ademas, el generador de envolvente 1620 esta configurado para generar la envolvente de la senal de audio, de tal manera que la envolvente de la senal de audio comprende una pluralidad de puntos de envolvente, en la que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de la envolvente y en la que,
15 para cada uno de los puntos de agregacion de la funcion de agregacion, uno de los puntos de envolvente de la envolvente de la senal de audio es asignado a dicho punto agregacion, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregacion. Ademas, el generador de envolvente 1620 esta configurado para generar la envolvente de la senal de audio, de tal manera que el valor de la envolvente de cada uno de los puntos de envolvente de la envolvente de la senal de audio depende del valor de 20 agregacion de al menos un punto de agregacion de la funcion de agregacion.
[0147] De acuerdo con una realizacion, el generador de envolvente 1620, por ejemplo, puede estar configurado para determinar la funcion de agregacion al determinar uno de los puntos de agregacion para cada uno del uno o mas valores de codificacion dependiendo de dicho valor de codificacion y mediante la aplicacion de interpolacion, para
25 obtener la funcion de agregacion, dependiendo del punto de agregacion de cada uno de los uno o mas valores de codificacion.
[0148] De acuerdo con una realizacion, la interfaz de entrada 1610 puede estar configurada para recibir uno o mas valores de division como los uno o mas valores de codificacion. El generador de envolvente 1620 puede estar
30 configurado para generar la funcion de agregacion, dependiendo del uno o mas valores de division, en el que cada uno de los uno o mas valores de division indica el valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion. Ademas, el generador de envolvente 1620 puede estar configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio. Una regla de asignacion predefinida 35 define un valor de la porcion de envolvente de la senal, para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal, dependiendo de dicha porcion de envolvente de la senal. Ademas, el generador de envolvente 1620 puede estar configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, un valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto del valor de la porcion de envolvente de 40 la senal de cada una de las otras porciones de envolvente de la senal.
[0149] En una realizacion, el generador de envolvente 1620 por ejemplo, puede estar configurado para determinar una primera derivada de la funcion de agregacion en una pluralidad de los puntos de agregacion de la funcion de agregacion.
45
[0150] De acuerdo con una realizacion, el generador de envolvente 1620 por ejemplo, puede estar configurado para generar la funcion de agregacion, dependiendo de los valores de codificacion, de tal manera que la funcion de agregacion tiene una primera derivada continua.
50 [0151] En otras realizaciones, se puede derivar un modelo de LPC a partir de las envolventes espectrales
cuantificadas. Al tomar la transformada de Fourier inversa del espectro de potencia abs(x)2, se obtiene la autocorrelacion. A partir de esta autocorrelacion, un modelo de LPC puede ser calculado facilmente mediante metodos convencionales. Tal modelo de LPC puede ser utilizado entonces para crear una envolvente lisa.
55 [0152] De acuerdo con algunas realizaciones, se puede obtener una envolvente lisa mediante modelado de los
bloques con splines u otros metodos de interpolacion. Las interpolaciones se realizan mas convenientemente mediante modelado de la suma acumulativa de masa espectral.
[0153] La figura 7 ilustra los mismos espectros que en la figura 6 pero con sus masas acumulativas. Llnea 710
ilustra una ilnea de masa acumulativa de la envolvente de la senal original. Los puntos 721 en (a), 751, 752, 753 en (b) y 781,782, 783, 784 en (c) indican donde deben estar ubicados los puntos de division.
[0154] Los tamanos de paso entre los puntos 738, 721 y 729 en el eje y en (a) son constantes. Asimismo, los 5 tamanos de paso entre los puntos 768, 751, 752, 753 y 759 en el eje y en (b) son constantes. Asimismo, los tamanos
de paso entre los puntos 798, 781,782, 783, 784 y 789 en el eje y en (c) son constantes. La llnea de puntos entre los puntos 729 y 739 indica el valor total.
[0155] En (a), el punto 721 indica la posicion del punto de division 731 en el eje x. En (b), los puntos 751, 752 10 y 753 indican la posicion de los puntos de division 761, 762 y 763 en el eje x, respectivamente. Asimismo, en (c), los
puntos 781, 782, 783 y 784 indican la posicion de los puntos de division 791, 792, 793 y 794 en el eje x, respectivamente. Las llneas de puntos entre los puntos 729 y 739, los puntos 759 y 769 y los puntos 789 y 799, respectivamente, indican el valor total.
15 [0156] Cabe destacar que los puntos 721; 751, 752, 753; 781, 782, 783 y 784, que indican la posicion de los
puntos de division 731; 761, 762, 763; 791, 792, 793 y 794, respectivamente, estan siempre en la llnea de masa acumulativa de la envolvente de la senal original y los tamanos de paso en el eje y son constantes.
[0157] En este dominio, la masa espectral acumulativa puede ser interpolada mediante cualquier algoritmo de 20 interpolacion convencional.
[0158] Para obtener una representacion continua en el dominio original, el dominio acumulativo debe tener una primera derivada continua. Por ejemplo, la interpolacion se puede hacer usando splines, de tal manera que para el k- esimo bloque, los puntos finales de la spline son kE/N y (k + 1)E/N, en el que E es la masa total del espectro. Ademas,
25 la derivada de la spline en los puntos finales puede ser especificada, con el fin de obtener una envolvente continua en el dominio original.
[0159] Una posibilidad es especificar la derivada (la inclinacion) para el punto de division k como:
inclination^) = C\^ + ^^
V /* + l -/fc-1
30
en la que c(k) es la energla acumulada en el punto de division k y f(k) es la frecuencia del punto de division k.
[0160] Mas en general, los puntos k - 1, k y k + 1 pueden ser cualquier tipo de valores de codificacion.
35
[0161] De acuerdo con una realizacion, el generador de envolvente 1620 esta configurado para determinar la envolvente de la senal de audio mediante la determinacion de una proporcion de una primera diferencia y una segunda diferencia. Dicha primera diferencia es una diferencia entre un primer valor de agregacion (c(k + l)) de un primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de agregacion (c(k - 1) o c (k)) de un segundo
40 de los puntos de agregacion de la funcion de agregacion. Dicha segunda diferencia es una diferencia entre un primer valor de argumento (f(k + 1)) de dicho primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de argumento (f(k - 1) o f(k)) de dicho segundo de los puntos de agregacion de la funcion de agregacion.
[0162] En una realizacion particular, el generador de envolvente 1620 esta configurado para determinar la 45 envolvente de la senal de audio mediante la aplicacion de:
inclination^) =
c{k + l)- c{k-1) /(* + l )-/(*-!)
en la que inclinacion(k) indica la derivada de la funcion de agregacion en el k-esimo valor de codificacion, en la que 50 c(k + 1) es dicho primer valor de agregacion, en la que f(k + l) es dicho primer valor de argumento, en la que c(k - 1) es dicho segundo valor de agregacion, en la que f(k - 1) es dicho segundo valor de argumento, en la que k es un numero entero que indica un Indice de uno de los uno o mas valores de codificacion, en la que c(k + 1) - c(k - 1) es la primera diferencia de los dos valores agregados c(k + 1) y c(k - 1) y en la que f(k + 1) - f(k - 1) es la segunda diferencia
de los dos valores de argumento f(k + l) y f(k - l).
[0163] Por ejemplo, c(k + 1) es dicho primer valor de agregacion, que es asignado al k + 1 esimo valor de
codificacion, f(k + 1) es dicho primer valor de argumento, que es asignado al k + 1 esimo valor de codificacion, c(k - 5 1) es dicho segundo valor de agregacion, que es asignado al k-1 esimo valor de codificacion, f(k - 1) es dicho segundo valor de argumento, que es asignado al k - 1 esimo valor de codificacion.
10
[0164] En otra realizacion, el generador de envolvente 1620 esta configurado para determinar la envolvente de
la senal de audio mediante la aplicacion de:
inclinacidn(k) - 0.5 -
' r(l- + l)-M) | j
!_/(*- + !)-/(*) /(*)-/(*-1).J
en la que inclinacion(k) indica la derivada de la funcion de agregacion en el k-esimo valor de codificacion, en la que c(k + 1) es dicho primer valor de agregacion, en la que f(k + 1) es dicho primer valor de argumento, en la que c(k) es 15 dicho segundo valor de agregacion, en la que f(k) es dicho segundo valor de argumento, en la que c(k - 1) es un tercer valor de agregacion de un tercero de los puntos de agregacion de la funcion de agregacion, en la que f(k - 1) es un tercer valor de argumento del tercero de los puntos de agregacion de la funcion de agregacion, en la que k es un numero entero que indica un Indice de uno o mas valores de codificacion, en la que c(k + 1) - c(k) es la primera diferencia de los dos valores agregados c(k + 1) y c(k) y en la que f(k + 1) - f(k) es la segunda diferencia de los dos 20 valores de argumento f(k + 1) y f(k).
[0165] Por ejemplo, c(k + 1) es dicho primer valor de agregacion, que es asignado al k + 1 esimo valor de codificacion. f(k + 1) es dicho primer valor de argumento, que es asignado al k + 1 esimo valor de codificacion. c(k) es dicho segundo valor de agregacion, que es asignado al k- esimo valor de codificacion. j(k) es dicho segundo valor de
25 argumento, que es asignado al k-esimo valor de codificacion. c(k - 1) es dicho tercer valor de agregacion, que es asignado al k - 1 esimo valor de codificacion. f(k - 1) es dicho tercer valor de argumento, que es asignado al k - 1 esimo valor de codificacion.
[0166] Mediante la especificacion de que un valor de agregacion es asignado a un k - esimo valor de 30 codificacion, esto significa por ejemplo que el k-esimo valor de codificacion indica dicho valor de agregacion y/o que
el k-esimo valor de codificacion indica el valor de argumento del punto de agregacion al cual pertenece dicho valor de agregacion.
[0167] Al especificar que un valor de argumento es asignado a un k-esimo valor de codificacion, esto significa 35 por ejemplo, que el k-esimo valor de codificacion indica dicho valor de argumento y/o que el k-esimo valor de
codificacion indica el valor de agregacion del punto de agregacion al que pertenece dicho valor de argumento.
[0168] En realizaciones particulares, los valores de codificacion k - 1, k y k + 1 son puntos de division, por ejemplo, como se describe anteriormente.
40
[0169] Por ejemplo, en una realizacion, el reconstructor de envolvente de la senal 110 de la figura 1 puede, por ejemplo, estar configurado para generar una funcion de agregacion, dependiendo del uno o mas puntos de division, en el que la funcion de agregacion comprende una pluralidad de puntos de agregacion, en el que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en el que la funcion de agregacion
45 aumenta monotonicamente y en el que cada uno del uno o mas puntos de division indica al menos uno de un valor de argumento y un valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion.
[0170] En tal realizacion, el reconstructor de envolvente de la senal 110 puede, por ejemplo, estar configurado para generar la envolvente de la senal de audio, de tal manera que la envolvente de la senal de audio comprende una
50 pluralidad de puntos de envolvente, en la que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y en la que un punto de envolvente de la envolvente de la senal de audio es asignado a cada uno de los puntos de agregacion de la funcion de agregacion, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregacion.
55 [0171] Ademas, en tal realizacion, el reconstructor de envolvente de la senal 110 puede, por ejemplo, estar
configurado para generar la envolvente de la senal de audio, de tal manera que el valor de envolvente de cada uno de los puntos de envolvente de la envolvente de la senal de audio depende del valor de agregacion de al menos un punto de agregacion de la funcion de agregacion.
5 [0172] En una realizacion particular, el reconstructor de envolvente de la senal 110 puede, por ejemplo, estar
configurado para determinar la envolvente de la senal de audio mediante la determinacion de una proporcion de una primera diferencia y una segunda diferencia, siendo dicha primera diferencia una diferencia entre un primer valor de agregacion (c(k + 1)) de un primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de agregacion (c(k - 1); c(k)) de un segundo de los puntos de agregacion de la funcion de agregacion y siendo dicha
10 segunda diferencia una diferencia entre un primer valor de argumento (f(k + 1)) de dicho primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de argumento (f(k - 1); f(k)) de dicho segundo de los puntos de agregacion de la funcion de agregacion. Para este proposito, el reconstructor de envolvente de la senal 110 puede estar configurado para implementar uno de los conceptos descritos anteriormente, como se explica para el generador de envolvente 1620.
15
[0173] Los bordes mas a la izquierda y mas a la derecha no pueden usar la ecuacion anterior para inclinacion,
debido a que c(k) y f(k) no estan disponibles fuera de su intervalo de definicion. Aquellos c(k) y f(k) que estan fuera del intervalo de k son entonces reemplazados por los valores en los puntos finales en si mismos, de tal manera que:
20
inclinacion (o)
m-m
y
inclinacion (;v-i )
f(.V-l)-f(,V- 2) /(,V-l)-/(.V-2)
[0174] Debido a que hay cuatro restricciones (masa acumulativa e inclinacion en ambos puntos del extremo),
la acanaladura correspondiente puede ser escogida para ser del 4° orden polinomial.
25 [0175] La figura 8 ilustra un ejemplo de la envolvente de masa espectral interpolada, tanto en (a) la envolvente
de la senal original, como (b) el dominio de masa acumulativa.
[0176] En (a), la envolvente de la senal original es indicada por 810 y la envolvente de la masa espectral interpolada es indicada por 820. Los puntos de division son indicados por 831, 832, 833 y 834, respectivamente. 838
30 indica el inicio de la envolvente de la senal y 839 indica el fin de la envolvente de la senal.
[0177] En (b), 840 indica la envolvente de la senal original acumulada y 850 indica la envolvente de masa espectral acumulada. Los puntos de division son indicados por 861, 862, 863 y 864, respectivamente. La posicion de los puntos de division se indica por los puntos 851, 852, 853 y 854 en la envolvente de la senal original de acumulada
35 840, respectivamente. 868 indica el inicio de la envolvente de la senal original y 869 indica el final de la envolvente de la senal original en el eje x. La llnea entre 869 y 859 indica el valor total.
[0178] Las realizaciones proporcionan conceptos para la codificacion de las frecuencias que separan los bloques. Las frecuencias representan una lista de orden de escalares fk, es decir, fk < fk + 1. Si hay K + 1 bloques,
40 entonces hay K puntos de division.
[0179] Ademas, si hay N niveles de cuantificacion, entonces hay posibles cuantificaciones. Por ejemplo,
con 32 niveles de cuantificacion y 5 puntos de division, hay 201376 posibles cuantificaciones que pueden ser
codificadas con 18 bits.
[0180] Se deberla observar que la herramienta de descorrelacionador de direccionamiento transitorio (TSD) en MPEG USAC [5] tiene un problema similar de codificacion de K posiciones con un intervalo de 0 a N - 1, mediante lo
5 cual se puede usar la misma tecnica de enumeracion o una tecnica de enumeracion similar para codificar las frecuencias del problema actual. El beneficio de este algoritmo de codificacion es que tiene un consumo de bits constante.
[0181] Alternativamente, para mejorar adicionalmente la exactitud o reducir la proporcion de bits, se pueden 10 usar tecnicas de cuantificacion de vector convencionales, tales como aquellas usadas para cuantificacion de LSF. Con
tal estrategia, se puede obtener un numero mas alto de niveles de cuantificacion y se puede optimizar la cuantificacion con respecto a la distorsion media. El inconveniente es que, entonces, los libros de codigos por ejemplo tienen que ser almacenados, mientras que la estrategia de TSD usa una enumeracion algebraica de constelaciones.
15 [0182] En lo que sigue, se describen algoritmos de acuerdo con las realizaciones.
[0183] En primer lugar se considera el caso de aplicacion general.
[0184] En particular, lo siguiente describe una aplicacion practica del metodo de cuantificacion por distri bucion 20 propuesto para codificar la envolvente espectral en un escenario semejante a SBR:
De acuerdo con algunas realizaciones, el codificador esta configurado para:
- Calculo de la magnitud espectral o valores de energla de la banda de HF a partir de la senal de audio original y/o 25 - Calculo de un numero predefinido (o arbitrario y transmitido) de K Indices de sub-banda que dividen la envolvente
espectral en K + 1 bloques de masa de bloque igual y/o
- Codificacion de Indices mediante el uso del mismo algoritmo que en TSD [5] y/o
- Cuantificacion y codificacion de masa total de escritura de banda HF (por ejemplo, via Huffman) o masa total e Indices al flujo de bits.
30
[0185] De acuerdo con algunas realizaciones, el decodificador esta configurado para:
- Lectura de la masa total e Indices del flujo de bits y decodificacion subsecuente y/o
- Aproximacion de la curva de la masa acumulativa suave via interpolacion de spline y/o 35 - 1a derivada de la curva de masa acumulativa para reconstruir la envolvente espectral.
[0186] Algunas realizaciones comprenden adiciones opcionales adicionales:
Por ejemplo, algunas realizaciones proporcionan capacidades de deformacion: la disminucion del numero de niveles 40 de cuantificacion posibles conduce a una reduccion de bits necesarios para codificar los puntos de division y adicionalmente reduce la complejidad computacional. Este efecto puede ser aprovechado, por ejemplo, mediante deformacion de la envolvente espectral con la ayuda de una caracterlstica psicoacustica o simplemente mediante la suma de las bandas de frecuencia adyacentes dentro del codificador, antes de aplicar la cuantificacion de distri bucion. Despues de la reconstruccion de la envolvente espectral de los Indices de punto de division y la masa total en el lado 45 del decodificador, la envolvente debe ser des-deformada por la caracterlstica inversa.
[0187] Algunas realizaciones adicionales proporcionan conversion de envolvente adaptable: como se menciona anteriormente, no hay necesidad de aplicar la cuantificacion de distribucion sobre las energlas de la envolvente espectral (es decir, abs(x)2 de una senal x), sino que una representacion (positiva, de valor real) es realizable y otra
50 no (por ejemplo, abs(x), sqrt(abs(x)), etc.). Para ser capaces de aprovechar las diferentes propiedades de ajuste de forma de varias representaciones de envolvente, es razonable utilizar una tecnica de conversion adaptable. Por consiguiente, una detection de la conversion de mejor coincidencia (de un conjunto predefinido fijo) para la envolvente actual es efectuada como una etapa de preprocesamiento, antes de que la cuantificacion de distribucion sea aplicada. La conversion utilizada debe ser senalada y transmitida via el flujo de bits, para permitir una reconversion correcta en 55 el lado del decodificador.
[0188] Realizaciones adicionales estan configuradas para soportar un numero adaptable de bloques: para obtener una flexibilidad aun mayor del modelo propuesto, resulta beneficioso ser capaces de cambiar entre diferentes numeros de bloques para cada envolvente espectral. El numero actualmente escogido de bloques puede ser tanto de
un conjunto predefinido para minimizar la demanda de bits o senalizacion como transmitido expilcitamente, para permitir la flexibilidad mas alta. Por una parte, esto reduce la tasa global de bits, ya que para formas de envolvente constante estables no hay necesidad de alta adaptabilidad. Por otra parte, un numero menor de bloques conduce a masas de bloques mayores, lo que permite un ajuste mas preciso de picos individuales fuertes con pendientes 5 pronunciadas.
[0189] Algunas realizaciones estan configuradas para proporcionar estabilizacion de envolvente. Debido a una flexibilidad mas alta del modelo de cuantificacion de distribucion propuesto, en comparacion con, por ejemplo, una estrategia a base de banda de factor de escala, las fluctuaciones entre envolventes adyacentes temporales pueden
10 conducir a inestabilidades no deseadas. Para contrarrestar este efecto, se aplica una tecnica de estabilizacion de envolvente senal-adaptable, como una etapa de post-procesamiento: para partes de senal estable, en la que solamente se esperan pocas fluctuaciones, la envolvente es estabilizada mediante suavizado o alisamiento de valores de envolvente temporalmente vecinos. Para partes de senal que implican naturalmente cambios temporales fuertes, como por ejemplo transitorios o inicios/desplazamientos sibilantes/fricativos, se aplica solamente un debil alisamiento 15 o suavizado o no se aplica.
[0190] En lo sucesivo, se describe un algoritmo que realiza la cuantificacion de distribucion de envolvente y codificacion, de acuerdo con una realizacion.
20 [0191] La description de la realization practica del metodo de cuantificacion de distribucion propuesto para
codification de la envolvente espectral en un escenario semejante a SBR. La siguiente ilustracion del algoritmo se refiere a las etapas del lado del codificador y el lado del decodificador que pueden por ejemplo ser efectuadas para procesar una envolvente especlfica:
25 En lo que sigue, se describe un codificador correspondiente.
[0192] La determination de envolvente y preprocesamiento se puede llevar a cabo por ejemplo del siguiente
modo:
30 - Determinacion de una curva de envolvente objetivo de energla espectral (por ejemplo, representada por 20 muestras de sub-banda) y su energla total correspondiente.
- Aplicacion de deformation de envolvente mediante promediacion de par en par de valores de sub-banda para reducir el numero total de valores (por ejemplo, promediacion de 8 valores de sub-banda superiores y as! reducir el numero total de 20 a 16).
35 - Aplicacion de conversion de magnitud de envolvente para una mejor coincidencia entre el rendimiento del modelo de envolvente y criterios de calidad perceptual (por ejemplo, extraction la 4a raiz para cada valor de sub-banda,
[0193] La cuantificacion de distribucion y codificacion se pueden llevar a cabo por ejemplo del siguiente modo: 40
- Multiple determinacion de Indices de sub-banda que dividen la envolvente en un numero predefinido de bloques de masa igual (por ejemplo, repetition de 4 veces de determinacion para division de envolvente en 3, 4, 6 y 8 bloques).
- Plena reconstruction de envolventes cuantificadas por distribucion (estrategia de “analisis por slntesis”, vease a continuation).
45 - Determinacion y decision en cuanto al numero de bloques resultantes en la descripcion mas precisa de la envolvente (por ejemplo, al comparar las correlaciones cruzadas de envolventes cuantificadas por distribucion y la original).
- Correction de sonoridad por comparacion de la envolvente original y la envolvente cuantificada por distribucion y acordar adaptation de la energla total.
- Codificacion de Indices de division mediante el uso del mismo algoritmo como en la herramienta de TSD (vease [5]). 50 - Senalizacion de numero de bloques utilizados para cuantificacion de distribucion (por ejemplo, 4 numeros de bloques
predefinidos, senalizacion via 2 bits).
- Cuantificacion y codificacion de la energla total (por ejemplo, utilizando la codificacion de Huffmann).
[0194] Ahora, se describe un decodificador correspondiente.
55
[0195] La decodificacion y cuantificacion inversa, por ejemplo, se pueden llevar a cabo de la siguiente manera:
- Decodificacion del numero de bloques que se van a utilizar para la cuantificacion de distribucion y decodificacion de
la energla total.
- Decodificacion de Indices de division utilizando el mismo algoritmo como en la herramienta de TSD (vease [5]).
- Aproximacion de curva de masa acumulativa suave via interpolacion spline.
- Reconstruccion de envolvente espectral de dominio acumulativo via la primera derivada (por ejemplo, al tomar la 5 diferencia de muestras consecutivas).
[0196] El post-procesamiento se puede llevar a cabo, por ejemplo, del siguiente modo:
10
- Aplicacion de estabilizacion de envolvente para contrarrestar fluctuaciones entre envolventes subsecuentes provocadas por errores de cuantificacion (por ejemplo, via suavizado temporal de valores de sub-banda reconstruida,
1 cun k
= l-a )x
cun.k
+ a
prer.k '
en la que a = 0.1 para cuadros que contienen porciones de senal
transitorias y de otra manera a = 0.25).
- Reversion de conversion de envolvente de acuerdo con la aplicacion en el codificador.
15 - Reversion de la deformacion de la envolvente, de acuerdo con la aplicacion en el codificador.
[0197] En lo sucesivo, se describe la codificacion y decodificacion eficiente de puntos de division. El codificador de puntos de division 225 de la figura 4 y la figura 5 puede por ejemplo estar configurado para implementar la codificacion eficiente como se describe a continuacion. El decodificador de puntos de division 105 de la figura 2 puede,
20 por ejemplo, estar configurado para implementar la decodificacion eficiente como se describe a continuacion.
[0198] En la realizacion ilustrada por la figura 2, el aparato para la decodificacion comprende ademas el decodificador de puntos de division 105 para la decodificacion de uno o mas puntos codificados, de acuerdo con una regla de decodificacion, para obtener el uno o mas puntos de division. El decodificador de puntos de division 105 esta
25 configurado para analizar el numero de posiciones totales que indica el numero total de posiciones de punto de division posibles, el numero de puntos de division que indica el numero de puntos de division y el numero de estado de puntos de division. Ademas, el decodificador de puntos de division 105 esta configurado para generar una indicacion de una o mas posiciones de puntos de division utilizando el numero de posiciones totales, el numero de puntos de division y el numero de estado de puntos de division. En una realizacion particular, el decodificador de puntos de division 105 30 puede, por ejemplo, estar configurado para generar una indicacion de dos o mas posiciones de puntos de division utilizando el numero de posiciones totales, el numero de puntos de division y el numero de estado de puntos de division.
[0199] En las realizaciones ilustradas por la figura 4 y la figura 5, el aparato comprende ademas un codificador 35 de puntos de division 225 para codificar una posicion de cada uno del uno o mas puntos de division, para obtener uno
o mas puntos codificados. El codificador de puntos de division 225 esta configurado para codificar una posicion de cada uno del uno o mas puntos de division al codificar un numero de estado de puntos de division. Ademas, el codificador de puntos de division 225 esta configurado para proporcionar un numero de posiciones totales que indica el numero total de posiciones de punto de division posibles y un numero de puntos de division que indica el numero 40 del uno o mas puntos de division. El numero de estado de puntos de division, el numero de posiciones totales y el numero de puntos de division indican conjuntamente la posicion de cada uno del uno o mas puntos de division.
[0200] La figura 15 muestra un aparato para reconstruir una senal de audio de acuerdo con una realizacion. El aparato comprende un aparato para la decodificacion 1510 de acuerdo con una de las realizaciones descritas
45 anteriormente o de acuerdo con las realizaciones descritas a continuacion, para obtener una envolvente de la senal de audio reconstruida de la senal de audio y un generador de senales 1520 para generar la senal de audio dependiendo de la envolvente de la senal de audio de la senal de audio y dependiendo de una caracterlstica de senal adicional de la senal de audio, siendo la caracterlstica de senal adicional diferente de la envolvente de la senal de audio. Como ya se ha resumido anteriormente, la persona experta en la tecnica es consciente de que a partir de una 50 envolvente de la senal de una senal de audio y de una caracterlstica de senal adicional de la senal de audio, la senal de audio en si misma puede ser reconstruida. Por ejemplo, la envolvente de la senal puede, por ejemplo, indicar la energla de las muestras de la senal de audio. La caracterlstica de senal adicional puede, por ejemplo, indicar para cada muestra de, por ejemplo, una senal de audio de dominio de tiempo, si la muestra tiene un valor positivo o negativo.
55 [0201] Algunas realizaciones particulares estan basadas en que un numero de posiciones totales que indica el
numero total de posiciones de puntos de division posibles y un numero de puntos de division que indica el numero total de puntos de division pueden estar disponibles en un aparato de decodificacion de la presente invention. Por
ejemplo, un codificador puede transmitir el numero de posiciones totales y/o el numero de puntos de division al aparato para decodificacion.
[0202] En base a estas suposiciones, algunas realizaciones implementan los siguientes conceptos:
5
Sea N el numero (total) de posiciones de puntos de division posibles y sea P el numero (total) de puntos de division.
[0203] Se supone que tanto el aparato para codificacion as! como el aparato para decodificacion son
10 conscientes de los valores de N y P.
fN]
[0204] Conociendo N y P, se puede derivar que hay solamente
posiciones de punto de division posibles.
diferentes combinaciones de
15 [0205] Por ejemplo, si las posiciones de las posibles posiciones de los puntos de division son numeradas de 0
a N - 1 y si P = 8, entonces una primera combinacion posible de posiciones de punto de division con eventos serla (0, 1, 2, 3, 4, 5,6, 7), una segunda serla (0, 1,2, 3, 4, 5, 6, 8) y as! sucesivamente, hasta la combinacion (N - 8, N - 7, N - 6, N - 5, N - 4, N - 3, N - 2, N - 1), de tal manera que en total hay diferentes combinaciones.
20
[0206] Se emplea el hallazgo adicional, que un numero de estado de puntos de division puede ser codificado
por un aparato para codificacion y que el numero de estado de puntos de division es transmitido al decodificador. Si
(n\
cada una de las
combinaciones posibles
es representada por un numero de estado de puntos de division unico y si el aparato para decodificacion es consciente 25 del numero de estado de puntos de division que representa la combinacion de posiciones de puntos de division, entonces el aparato para decodificacion puede decodificar las posiciones de los puntos de division utilizando N, P y el numero de estado de puntos de division. Para muchos de los valores tlpicos de N y P, tal tecnica de codificacion emplea menos bits para codificar posiciones de punto de division de eventos en comparacion con otros conceptos.
30
35
[0207] Dicho de otra manera, el problema de codificar las posiciones de punto de division puede ser resuelto
al codificar un numero discreto P de posiciones pk en un intervalo de [0 ... N - 1], de tal manera que las posiciones no se superponen pk t ph para k t h, con el menor numero de bits posible. Dado que el orden de las posiciones no importa,
N\
se desprende que el numero de combinaciones unicas de posiciones es el coeficiente binominal de bits requerido es de este modo:
El numero
[0208] Algunas realizaciones emplean un concepto de decodificacion de posicion en posicion. Un concepto de
decodificacion de posicion en posicion. Este concepto esta basado en los siguientes hallazgos:
40
Supongamos que N es el numero (total) de posiciones de punto de division posibles y P es el numero de puntos de division (esto significa que N puede ser el numero de posiciones totales FSN y P puede ser el numero de puntos de division ESON). Se considera la primera posicion del punto de division posible. Se pueden distinguir dos casos:
45 Si la primera posicion de punto de division posible es una posicion que no comprende un punto de division, entonces,
con respecto a las N-1 posiciones de punto de division posibles combinaciones posibles de los P puntos de division con respecto a restantes.
restantes, hay solamente
diferentes
las N-1 posiciones de punto de division posibles
5
[0209] Sin embargo, si la posicion de punto de division posible es una posicion que comprende un punto de
division, entonces, con respecto a las N-1 posiciones de punto de division posibles restantes, hay solamente
P ■ (") -
diferentes combinaciones posibles de P-1 posiciones de punto de division posibles restantes con respecto a los N-1 puntos de division restantes.
10 [0210] En base a este hallazgo, las realizaciones estan basadas adicionalmente en el hallazgo de que todas
las combinaciones con una primera posicion de punto de division posible, en la que ningun punto de division esta ubicado, deberlan ser codificadas por numeros de estado de puntos de division que son menores o iguales al valor de umbral. Ademas, todas las combinaciones con una primera posicion de punto de division posible, en la que un punto de division no esta ubicado, deberlan ser codificadas por numeros de estado de puntos de division que son mayores 15 que un valor de umbral. En una realizacion, todos los numeros de estado de puntos de division pueden ser numeros enteros positivos o 0 y un valor de umbral apropiado con respecto a la primera posicion de punto de division posible
puede ser
[0211] En una realizacion, se determina, si la primera posicion del punto de division posible de un cuadro
20 comprende un punto de division mediante pruebas, si el numero de estado de puntos de division es mayor que un valor de umbral. (Alternativamente, el proceso de codificacion/decodificacion de las realizaciones puede ser realizado tambien, al probar si el numero de estado de puntos de division es mayor o igual que, menor o igual que o menor que un valor de umbral.)
25 [0212] Despues de analizar la primera posicion del punto de division posible, la decodificacion es proseguida
por la segunda posicion de punto de division posible utilizando valores ajustados: ademas de ajustar el numero de posiciones de puntos de division considerados (que se reduce en uno), el numero puntos de division se reduce tambien en uno y se ajusta el numero de estado de puntos de division, en caso de que el numero de estado de puntos de division sea mayor que el valor de umbral, para cancelar la porcion relacionada con la primera posicion del punto de 30 division posible del numero de estado de puntos de division. El proceso de decodificacion puede ser proseguido para posiciones de punto de division posibles adicionales de manera similar.
[0213] En una realizacion, se codifica un numero discreto P de posiciones pk en un intervalo de [0 ... N - 1], de
tal manera que las posiciones no se solapan pk t ph para k t h. Aqul, cada combination unica de posiciones en el 35 intervalo dado se denomina un estado y cada posicion posible en aquel intervalo se denomina una posicion de punto de division posible (pspp). De acuerdo con una realizacion de un aparato para decodificacion, se considera la primera posicion de punto de division posibl-------1 :~inrvalo. Si la posicion de punto de division posible no tiene un punto de
Ar_1 (N-1
p y ip
division, entonces el intervalo puec_______cido a N - 1 y el numero de estados posibles se reduce a
(N-V
Inversamente, si el estado es mayor que entonces se puede concluir que en la primera posicion de punto de
40 division posible, esta ubicado un punto de division. El siguiente algoritmo de decodificacion puede resultar de esto:
Para cada pspp h
Se asigna un punto de division a pspp h
5
Se actualiza el estado de estado restante: = estado
Se reduce el numero de posiciones izquierda P: = Pl
10
Fin
Fin
[0214] El calculo del coeficiente binomial en cada iteracion serla costoso. Por consiguiente, de acuerdo con las
realizaciones, se pueden utilizar las siguientes reglas para actualizar el coeficiente binomial mediante el uso del valor 15 de la iteracion previa:
[0215] Mediante el uso de estas formulas, cada actualizacion del coeficiente binomial cuesta solamente una
20 multiplicacion y una division, mientras que la evaluation expllcita costarla P multiplicaciones y divisiones en cada iteracion.
[0216] En esta realization, la complejidad total del decodificador es de P multiplicaciones y divisiones para la initialization del coeficiente binomial, para cada iteracion 1 multiplicacion, division y afirmacion si y para cada position
25 codificada 1 multiplicacion, suma y division. Cabe senalar que en teorla, serla posible reducir el numero de divisiones necesarias para inicializacion a uno. En la practica, sin embargo, este procedimiento darla como resultado numeros enteros muy grandes, que son diflciles de manejar. La complejidad del peor caso del codificador es entonces N + 2 P divisiones y N + 2P multiplicaciones, P adiciones (pueden ser ignoradas si se usan operaciones MAC) y N afirmaciones SI.
30
[0217] En una realizacion, el algoritmo de codification empleado por un aparato para codification no tiene que iterar a traves de todas las posiciones de punto de division posibles, sino solamente aquellas que tienen una posicion asignada a ellas. Por consiguiente,
35
Para cada posicion ph, h = l ... P
Actualizar estado estado:
estado +
[0218] La complejidad del peor caso del codificador es P • (P - 1) multiplicaciones y P • P(1-1) divisiones, 40 tambien como P-1 adiciones.
[0219] La figura 9 ilustra un proceso de decodificacion de acuerdo con una realizacion de la presente invention. En esta realizacion, la decodificacion se lleva a cabo en una base de posicion por posicion.
45 [0220] En la etapa 110, los valores son inicializados. El aparato para decodificacion almacena el numero de
estado de puntos de division, que recibio como valor de entrada, en la variable s. Ademas, el numero (total) de puntos de division como se indica por el numero de puntos de division es almacenado en la variable p. Ademas, el numero total de posiciones de punto de division posibles contenido en el cuadro, como se indica por el numero de posiciones totales es almacenado en la variable N.
5
[0221] En la etapa 120, el valor de spSepData[t] es inicializado con 0 para todas las posiciones de punto de
division posibles. La matriz de bits spSepData son los datos de salida que se van a generar. Indica para cada posicion de punto de division posible t, si la posicion del punto de division posible comprende un punto de division (spSepData[t] = 1) o si no (spSepData[t] = 0). En la etapa 120 los valores correspondientes de todas las posiciones de punto de
10 division posibles son inicializados con 0.
[0222] En la etapa 130, la variable k es inicializada con el valor de N-1. En esta realizacion, las N posiciones de puntos de division posibles son numeradas como 0, 1,2, ..., N - 1. Establecer k = N - 1 significa que la posicion de punto de division posible con el numero mas alto se tiene en cuenta primero.
15
[0223] En la etapa 140, se considera si k > 0. Si k < 0, la decodificacion de las posiciones de punto de division se ha terminado y el proceso termina, de otra manera el proceso continua con la etapa 150.
[0224] En la etapa 150, se comprueba si p > k. Si p es mayor que k, esto significa que todas las posiciones de 20 puntos de division posibles restantes comprenden un punto de division. El proceso continua en la etapa 230, en la que
todos los valores de campo spSepData de las posiciones de punto de division posibles restantes 0, 1, ..., k son ajustados a 1, lo que indica que cada una de las posiciones de puntos de division posibles restantes comprenden un punto de division. En este caso, el proceso termina despues de esto. Sin embargo, si la etapa 150 encuentra que p no es mayor que k, el proceso de decodificacion continua en la etapa 160.
25
[0225] En la etapa 160, se calcula el valor de c es usado como el valor de umbral.
[0226] En la etapa 170, se comprueba, si el valor real del numero de estado de puntos de division s es mayor o igual que c, en el que c es el valor de umbral calculado justo en la etapa 160.
30
[0227] Si s es menor que c, esto significa que la posicion del punto de division posible considerado (con el punto de division k) no comprende un punto de division. En este caso, no se tiene que tomar ninguna accion adicional, ya que spSepData[k] ya ha sido establecido a 0 para esta posicion del punto de division posible en la etapa 140. A continuacion, el proceso continua con la etapa 220. En la etapa 220, k es ajustado para ser k:= k - 1 y se considera la
35 siguiente posicion del punto de division posible.
[0228] Sin embargo, si la prueba en la etapa 170 muestra que s es mayor o igual que c, esto significa que la
posicion del punto de division posible considerada k comprende un punto de division. En este caso, el numero de
estado de puntos de division s es actualizado y es ajustado al valor de s: = s - c en la etapa 180. Ademas, spSepData
40 [k] es ajustado a 1 en la etapa 190 para indicar que la posicion de punto de division posible k comprende un punto de division. Ademas, en la etapa 200, p es ajustado a p - 1, lo que indica que la posicion del punto de division posible restante que se va a examinar comprende ahora solamente p - 1 posiciones de punto de division posibles con puntos de division.
45 [0229] En la etapa 210, se comprueba si p es igual a 0. Si p es igual a 0, las posiciones de puntos de division
posibles restantes no comprenden puntos de division y el proceso de decodificacion termina.
[0230] De otra manera, al menos una de las posiciones de puntos de division posibles restantes comprende un
evento y el proceso continua en la etapa 220, en la que el proceso de decodificacion continua con la siguiente posicion
50 del punto de division posible (k - 1).
[0231] El proceso de decodificacion de la realizacion ilustrada en la figura 9 genera la matriz spSepData como valor de salida que indica, para cada posicion de punto de division posible k, si la posicion de punto de division posible comprende un punto de division (spSepData[k] = 1) o si no (spSepData[k] = 0).
[0232] La figura 10 ilustra un pseudocodigo que implementa la decodificacion de posiciones de punto de division de acuerdo con una realization.
[0233] La figura 11 ilustra un proceso de codification para codificar puntos de division de acuerdo con una 5 realizacion. En esta realizacion, la codificacion es efectuada en una base de position en position. El proposito del
proceso de codificacion de acuerdo con la realizacion ilustrada en la figura 11 es generar un numero de estado de puntos de division.
[0234] En la etapa 310, los valores son inicializados. p_s es inicializado con 0. El numero de estado de puntos 10 de division es generado al actualizar sucesivamente la variable p_s. Cuando el proceso de codificacion es terminado,
p_s llevara el numero de estado de puntos de division. La etapa 310 tambien inicializa la variable k al ajustar k a k:= numero de puntos de division - 1.
[0235] En la etapa 320, la variable “pos” es establecida a pos:= spPos[k], en la que spPos es una matriz que 15 mantiene las posiciones de posiciones del punto de division posibles que comprenden puntos de division.
[0236] Las posiciones del punto de division de la matriz son almacenadas en orden ascendente.
[0237] En la etapa 330, se lleva a cabo una prueba, probando si k > pos. Si este es el caso, el proceso termina. 20 De otra manera, el proceso continua en la etapa 340.
En la etapa 340, se calcula el valor de
En la etapa 350, la variable p_s es actualizada y ajustada a p_s: = p_s + c.
En la etapa 360, k es ajustado a k: = k - 1.
A continuation, en la etapa 370, se lleva a cabo una prueba, probando si k > 0. En este caso, se considera la siguiente posicion del punto de division posible k - 1. De otra manera, el proceso termina.
30
[0242] La figura 12 ilustra un pseudocodigo que implementa la codificacion de posiciones del punto de division de acuerdo con una realizacion de la presente invention.
[0243] La figura 13 ilustra un decodificador de puntos de division 410 de acuerdo con una realizacion.
35
[0244] Un numero de posiciones totales FSN, que indica el numero total de posiciones del punto de division posibles, un numero de puntos de division ESON que indica el numero (total) de puntos de division y el numero de estado de puntos de division ESTN son alimentados en el decodificador de puntos de division 410. El decodificador de puntos de division 410 comprende un particionador 440. El particionador 440 esta adaptado para dividir el cuadro
40 en una primera partition que comprende un primer conjunto de posiciones de punto de division posibles y en una segunda particion que comprende un segundo conjunto de posiciones de punto de division posibles y en el que las posiciones de punto de division posibles que comprenden puntos de division son determinadas separadamente para cada una de las particiones. Mediante esto, las posiciones de los puntos de division pueden ser determinadas al dividir repetidamente particiones en particiones aun mas pequenas.
45
[0245] La decodificacion “a base de particion” del decodificador de puntos de division 410 de esta realizacion esta basada en los siguientes conceptos:
La decodificacion a base de particion esta basada en la idea de que un conjunto de todas las posiciones de punto de
50 division posibles es dividido en dos particiones A y B, cada particion comprende un conjunto de posiciones de punto
de division posibles, en el que la particion A comprende Na posiciones de punto de division posibles y en el que la particion B comprende Nb posiciones de punto de division posibles y de tal manera que Na + Nb = N. El conjunto de todas las posiciones de punto de division posibles puede ser dividido arbitrariamente en dos particiones, preferiblemente de tal manera que la particion A y B tienen casi el mismo numero total de posiciones de punto de
55 division posibles (por ejemplo, de tal manera que Na = Nb o Na = Nb - 1). Mediante la division del conjunto de todas las
posiciones del punto de division posibles en dos particiones, la tarea de determinar las posiciones de punto de division
[0238]
[0239]
25
[0240]
[0241]
reales es tambien dividida en dos sub-tareas, es decir, determinar las posiciones de punto de division reales en la particion de cuadro A y determinar las posiciones de punto de division reales en la particion de cuadro B.
[0246] En esta realizacion, se supone otra vez que el decodificador de puntos de division 105 es consciente 5 del numero total de posiciones del punto de division posibles, el numero total de puntos de division y el numero de
estado de puntos de division. Para resolver ambas sub-tareas, el decodificador de puntos de division 105 tambien deberla ser consciente del numero de posiciones del punto de division posibles de cada particion, el numero de puntos de division en cada particion y el numero de estado de puntos de division de cada particion (tal numero de estado de puntos de division de una particion es ahora referido como “numero de sub-estado de puntos de division”).
10
[0247] A medida que el decodificador de puntos de division divide en si mismo el conjunto de todos los puntos de division posibles en dos particiones, sabe per se que la particion A comprende Na posiciones de punto de division posibles y que la particion B comprende Nb posiciones de punto de division posibles. La determination del numero de puntos de division reales para cada una de ambas particiones esta basada en los siguientes hallazgos:
15
Ya que el conjunto de todas las posiciones de punto de division posibles ha sido dividido en dos particiones, cada una de las posiciones del punto de division real esta ahora localizada ya sea en la particion A o en la particion B. Ademas, suponiendo que P es el numero de puntos de division de una particion y N es el numero total de posiciones de punto de division posibles de la particion y que f(P, N) es una funcion que devuelve el numero de diferentes combinaciones 20 de posiciones de punto de division, entonces el numero de diferentes combinaciones de la division de todo el conjunto de posiciones de punto de division posibles (que ha sido dividido en particion A y particion B) es:
- Numero de puntos de division en particion A
- Numero de puntos de division en particion B Numero de diferentes combinaciones en todo el conjunto de posiciones del punto de division con esta configuracion
- 0
- P f(0,Na) • ffP.NPi
- 1
- P-1 f(l.Xa) * f(P-LNb)
- 2
- P-2 f(2,Na) * f(P-2JS-b)
- P
- 0 f(P.Na) * f(0.Nb)
25 [0248] En base a las consideraciones anteriores, de acuerdo con una realizacion, todas las combinaciones con
la primera configuration, en la que la particion A tiene 0 puntos de division y en la que la particion B tiene P puntos de division, deberlan ser codificados con un numero de estado de puntos de division menor que un primer valor de umbral. El numero de estado de puntos de division puede ser codificado como un valor entero que es positivo o 0. Ya que hay
solamente f(0, Na) • f(P, Nb) combinaciones con la primera configuracion, un primer valor de umbral apropiado puede 30 ser f(0, Na) • f(P, Nb).
[0249] Todas las combinaciones con la segunda configuracion, en la que la particion A tiene 1 punto de division y en la que la particion B tiene P-1 puntos de division, deberlan ser codificadas con un numero de estado de puntos de division mayor o igual que el primer valor de umbral, pero menor o igual que un segundo valor de umbral. Ya que
35 solamente hay f(1, Na) • f(P-1, Nb) combinaciones con la segunda configuracion, un segundo valor apropiado puede
ser f(0, Na) • f(P, Nb) + f(1, Na) • f(P-1, Nb). El numero de estado de puntos de division para combinaciones con otras configuraciones es determinado similarmente.
[0250] De acuerdo con una realizacion, la decodificacion se efectua al separar un conjunto de todas las 40 posiciones del punto de division posibles en dos particiones A y B. A continuation, se comprueba si un numero de
estado de puntos de division es menor que un primer valor de umbral. En una realizacion preferida, el primer valor de
umbral puede ser f(0, Na)-f(P, Nb).
[0251] Si el numero de estado de puntos de division es menor que el primer valor de umbral, entonces se puede
concluir que la particion A comprende 0 puntos de division y la particion B comprende todos los P puntos de division. La descodificacion se lleva a cabo a continuacion para ambas particiones con el numero determinado respectivamente que representa el numero de puntos de division de la particion correspondiente. Ademas un primer numero de estado de puntos de division es determinado para la particion A y un segundo numero de estado de puntos de division es 5 determinado para la particion B que se utilizan, respectivamente, como nuevo numero de estado de puntos de division. Dentro de este documento, el numero de estado de puntos de division de una particion es referido como un “numero de sub-estado de puntos de division”.
[0252] Sin embargo, si el numero de estado de puntos de division es mayor o igual al primer valor de umbral, 10 el numero de estado de puntos de division puede ser actualizado. En una realization preferida, el numero de estado
de puntos de division puede ser actualizado al restar un valor del numero de estado de puntos de division,
preferiblemente al restar el primer valor de umbral, por ejemplo, f(0, Na)f(P, Nb). En una siguiente etapa, se comprueba, si el numero de estado de puntos de division actualizado es menor que un segundo valor de umbral. En una realizacion preferida, el segundo valor de umbral puede ser f(1, Na) • f(P-1, Nb). Si el numero de estado de puntos de division es 15 menor que el segundo valor de umbral, se puede derivar que la particion A tiene un punto de division y la particion B tiene P-1 puntos de division.
[0253] A continuacion se lleva a cabo la decodificacion para ambas particiones con los numeros determinados respectivamente de puntos de division de cada particion. Se emplea un primer numero de sub-estado de puntos de
20 division para la decodificacion de la particion A y se emplea un segundo numero de sub-estado de puntos de division para la decodificacion de la particion B. Sin embargo, si el numero de estado de puntos de division es mayor o igual que el segundo valor de umbral, el numero de estado de puntos de division puede ser actualizado. En una realizacion preferida, el numero de estado de puntos de division puede ser actualizado al restar un valor del numero de estado de
puntos de division, preferiblemente f(1, Na) • f(P-1, Nb). El proceso de decodificacion se aplica similarmente para las 25 posibilidades de distribucion restantes de los puntos de division con respecto a las dos particiones.
[0254] En una realizacion, el numero de sub-estado de puntos de division para la particion A y el numero de sub-estado de puntos de division para la particion B pueden ser utilizados para la decodificacion de la particion A y la particion B, en la que ambos numeros de sub-estado de evento son determinados al llevar a cabo la division:
30
Numero de estado de puntos de division/f(numero de puntos de division de la particion B, Nb)
[0255] Preferiblemente, el numero de sub-estado de puntos de division de la particion A es la parte entera de la division anterior y el numero de sub-estado de puntos de division de la particion B es el residuo de aquella division.
35 El numero de estado de puntos de division empleado en esta division puede ser el numero de estado de puntos de division original del cuadro o un numero de estado de puntos de division actualizado, por ejemplo, actualizado al restar uno o mas valores de umbral, como se describe anteriormente.
40
45
[0256] Para ilustrar el concepto descrito anteriormente de decodificacion a base de particion, se considera una
situation en la que un conjunto de todas las posiciones de punto de division posibles tienen dos puntos de division. Ademas, si f(p, N) es otra vez la funcion que devuelve el numero de diferentes combinaciones de posiciones del punto de division de una particion, en la que p es el numero de puntos de division de una particion de cuadro y N es el numero total de puntos de division de aquella particion. Entonces, para cada una de las distribuciones posibles de las posiciones, resulta el siguiente numero de combinaciones posibles:
- Posiciones en particion A
- Posicion en particion B Numero de combinaciones en esta configuracion
- 0
- 2 f(0.N0 ' f(2,Nb)
- l
- 1 f(l.N0 ■ f(LNb)
- 9
- 0 f(2.N0 ■ f(0,Nb)
[0257] Se puede concluir de este modo que si el numero de estado de puntos de division codificados del cuadro
es menor que f(0, Na) • f(2, Nb), entonces las posiciones del punto de division deben ser distribuidas como 0 y 2. De
otra manera, f(0, Na) • f(2, Nb) es restado del numero de estado de puntos de division y el resultado es comparado con
f(1, Na) • f(1, Nb). Si es menor, entonces las posiciones son distribuidas como 1 y 1. De otra manera, solamente se tiene la distribucion 2, 0 restante y las posiciones son distribuidas como 2 y 0.
5 [0258] En lo sucesivo, se proporciona un pseudocodigo de acuerdo con una realization para descodificar
posiciones de puntos de division (en la presente: “sp”). En este pseudocodigo, “sp_a” es el numero (supuesto) de puntos de division en la partition A y “sp_b” es el numero (supuesto) de puntos de division en la partition B. En este pseudocodigo, el numero de estado de puntos de division (por ejemplo, actualizados) es referido como “estado”. Los numeros de sub-estado de puntos de division de las particiones A y B son todavla codificados conjuntamente en la 10 variable de “estado”. De acuerdo con un esquema de codification conjunto de una realizacion, el numero de sub- estado de puntos de division de A (de aqul en adelante en la presente denominado como “estado_a”) es la parte entera del estado de division/f(sp_b, Nb) y el numero de sub-estado de puntos de division de B (de aqul en adelante en la presente denominado como “estado_b”) es el residuo de aquella division. Mediante esto, la longitud (numero total de puntos de division de la particion) y el numero de posiciones codificadas (numero de puntos de division en la particion) 15 de ambas particiones puede ser decodificada mediante la misma estrategia:
Funcion x = decodificar estado (estado, sp, N)
1. Dividir vector en dos particiones de longitud Na y Nb.
20 2. Para sp_a de 0 a sp
a . sp_b = sp - sp_a
b. si el estado <f (sp_a, Na) * f (sp_b, Nb) entonces interrumpir bucle.
c. estado: = estado - f (sp_a, a) * f (sp_b, Nb)
25
3. Numero de estados posibles para la particion B es ningun_estado_b = f (sp_b, Nb)
4. Los estados, estado_a y estado_b, de las particiones A y B, respectivamente, son la parte entera y el residuo del
30 estado de division /ningun_estado__b.
5. Si Na> 1 entonces el vector decodificado de la particion A es obtenido recursivamente mediante
xa = decodificar estado (estado_a, sp_a, Na)
35
De otra manera (Na == l) y el vector xa es un escalar y se puede establecer xa = estado_a.
6. Si Nb> 1, entonces el vector decodificado de la particion B es obtenido recursivamente mediante 40
xb = decodificar estado (estado_b, sp_b, b)
De otra manera (Nb == l) y el vector xb es un escalar y se puede establecer xb = estado_b.
45 7. El resultado final x es obtenido al fusionar xa y xb por x = [xa xb].
[0259] El resultado de este algoritmo es un vector que tiene un uno (1) en cada position codificada (es decir, una posicion del punto de division) y cero (0) en cualquier otra parte (es decir, en posiciones de punto de division posibles que no comprenden puntos de division).
50
[0260] En lo sucesivo, se proporciona un pseudocodigo de acuerdo con una realizacion para codificar posiciones de puntos de division que utiliza nombres de variables similares con un significado similar como anteriormente:
55 Funcion estado = codificar estado (x, N)
1. Dividir vector en dos particiones xa y xb de longitud Na y Nb.
2. Contar puntos de division en particiones A y B en sp_a y sp_b y establecer sp = sp_a + sp_b.
3. Establecer estado a 0 5 4. Para k de 0 a sp_a-l
a. estado: = estado + f (K, Na) * f (sp-k, Nb)
5. Si Na> 1, codificar particion A por
10
estado_a = codificar estado (xa, Na);
De otra manera (Na == l), establecer estado_a = xa.
15 6. Si Nb> 1, codificar particion B por estado_b = codificar estado (xb, yb);
De otra manera (Nb == l), establecer estado_b = xb.
20
7. Codificar estados conjuntamente estado: = estado + estado_a * f (sp_b, Nb) + estado_b.
[0261] Aqul, se supone que, de forma similar al algoritmo del decodificador, cada posicion codificada (es decir, una posicion del punto de division) es identificada por un uno (1) en el vector x y todos los otros elementos son cero
25 (0) (por ejemplo, posiciones de punto de division posibles que no comprenden un punto de division).
[0262] Los metodos recursivos anteriores formulados en pseudocodigo pueden ser implementados facilmente de una manera no recursiva utilizando metodos estandar.
30 [0263] De acuerdo con una realizacion, la funcion f(p, N) puede ser realizada como una tabla de consulta.
Cuando las posiciones no se solapan, tal como en el contexto actual, entonces la funcion de numero de estados f(p, N) es simplemente la funcion binomial que puede ser calculada en llnea. Hay
35
[0264] De acuerdo con una realizacion de la presente invencion, tanto el codificador como el decodificador
tienen un bucle para, en el que el producto f(p-k, Na) * f(k, Nb) es calculado para valores consecutivos de k. Para un calculo eficiente, esto puede ser escrito como:
40
[0265] En otras palabras, terminos sucesivos para resta/adicion (en la etapa 2b y 2c en el decodificador y en
la etapa 4a en el codificador) pueden ser calculados por tres multiplicaciones y una division por iteracion.
45 [0266] Volviendo a la figura 1, realizaciones alternativas implementan el aparato de la figura 1 para
decodificacion para obtener una envolvente de la senal de audio reconstruida de manera diferente. En tales
realizaciones, como ya se ha explicado anteriormente, el aparato comprende un reconstructor de envolvente de la senal 110 para generar la envolvente de la senal de audio reconstruida dependiendo de uno o mas puntos de division y una interfaz de salida 120 para emitir la envolvente de la senal de audio reconstruida.
5 [0267] De nuevo, el reconstructor de envolvente de la senal 110 esta configurado para generar la envolvente
de la senal de audio reconstruida de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en la que una regla de asignacion predefinida define un valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal dependiendo de la porcion de envolvente de la senal.
10
[0268] En tales realizaciones alternativas, sin embargo, un valor de la porcion de envolvente predefinido es
asignado a cada una de las dos o mas porciones de envolvente de la senal.
[0269] En tales realizaciones, el reconstructor de envolvente de la senal 110 esta configurado para generar la 15 envolvente de la senal de audio reconstruida de tal manera que, para cada porcion de envolvente de la senal de las
dos o mas porciones de envolvente de la senal, un valor absoluto del valor de la porcion de envolvente de la senal de tal porcion de envolvente de la senal es mayor del 90% de un valor absoluto del valor de la porcion de envolvente predefinido que se asigna a tal porcion de envolvente de la senal y de tal manera que el valor absoluto del valor de la porcion de envolvente de la senal de tal porcion de envolvente de la senal es menor del 110% del valor absoluto del 20 valor de la porcion de envolvente de la senal predefinido que es asignado a la porcion de envolvente de la senal. Esto permite algun tipo de desviacion del valor de la porcion de envolvente predefinido.
[0270] En una realizacion particular, sin embargo, el reconstructor de envolvente de la senal 110 esta configurado para generar la envolvente de la senal de audio reconstruida de tal manera que, el valor de la porcion de
25 envolvente de la senal de cada una de las dos o mas porciones de envolvente de la senal es igual al valor de la porcion de envolvente predefinido que es asignado a dicha porcion de envolvente de la senal.
[0271] Por ejemplo, por ejemplo, tres puntos de division pueden ser recibidos que dividen la envolvente de la senal de audio en cuatro porciones de envolvente de la senal de audio. Una regla de asignacion puede especificar,
30 que el valor de la porcion de envolvente predefinido de la primera porcion de envolvente de la senal es de 0,15, que el valor de la porcion de envolvente predefinido de la segunda porcion de envolvente de la senal es de 0,25, que el valor de la porcion de envolvente predefinido de la tercera porcion de envolvente de la senal es de 0,25 y que el valor de la porcion de envolvente predefinido de la primera porcion de envolvente de la senal es de 0,35.
35 [0272] Cuando se reciben los tres puntos de division, el reconstructor de envolvente de la senal 110 reconstruye
entonces la envolvente de la senal en consecuencia, de acuerdo con los conceptos descritos anteriormente.
[0273] En otra realizacion, se puede recibir un punto de division que divide la envolvente de la senal de audio en dos porciones de envolvente de la senal de audio. Una regla de asignacion puede especificar, que el valor de la
40 porcion de envolvente predefinido de la primera porcion de envolvente de la senal es p, que el valor de la porcion de envolvente predefinido de la segunda porcion de envolvente de la senal es 1 - p. Por ejemplo, si p = 0,4 entonces 1 - p = 0,6. Una vez mas, cuando se reciben los tres puntos de division, el reconstructor de envolvente de la senal 110 reconstruye entonces la envolvente de la senal, en consecuencia, de acuerdo con los conceptos descritos anteriormente.
45
[0274] Tales realizaciones alternativas que emplean los valores de las porciones de envolvente predefinidos pueden emplear cada uno de los conceptos descritos anteriormente.
[0275] En una realizacion, los valores de la porcion de envolvente predefinidos de al menos dos de las 50 porciones de envolvente de la senal difieren entre si.
[0276] En otra realizacion, el valor de la porcion de envolvente predefinido de cada una de las porciones de envolvente de la senal difiere del valor de la porcion de envolvente predefinido de cada una de las otras porciones de envolvente de la senal.
55
[0277] Aunque algunos aspectos han sido descritos en el contexto de un aparato, esta claro que estos aspectos tambien representan una descripcion del metodo correspondiente, en la que un bloque o dispositivo corresponde a una etapa del metodo o una caracterlstica de una etapa del metodo. Analogamente, los aspectos descritos en el contexto de una etapa de metodo tambien representan una descripcion de un bloque correspondiente o un elemento
o caracterlstica de un aparato correspondiente.
[0278] La senal descompuesta de la invencion puede ser almacenada en un medio de almacenamiento digital o puede ser transmitida en un medio de transmision, tal como un medio de transmision inalambrico o un medio de
5 transmision con cable, tal como Internet.
[0279] Dependiendo de ciertos requisitos de implementation, las realizaciones de la invencion pueden ser implementadas en elementos flsicos o en elementos de programacion. La implementacion puede ser efectuada utilizando un medio de almacenamiento digital, por ejemplo un disquete, un DVD, un CD, una ROM, una PROM, una
10 EPROM, una EEPROM o una memoria FLASH, que tienen senales de control legibles electronicamente almacenadas en el mismo, que cooperan (o son capaces de cooperar) con un sistema informatico programable de tal manera que se lleva a cabo el metodo respectivo.
[0280] Algunas realizaciones de acuerdo con la invencion comprenden un soporte de datos no transitorio que 15 tiene senales de control legibles electronicamente, que son capaces de cooperar con un sistema informatico
programable, de tal manera que se lleve a cabo uno de los metodos descritos en esta invencion .
[0281] En general, las realizaciones de la presente invencion pueden ser implementadas como un producto de programa informatico con un codigo de programa, siendo el codigo de programa operativo para llevar a cabo uno de
20 los metodos, cuando el producto de programa informatico se ejecuta en un equipo. El codigo de programa puede ser almacenado por ejemplo en un soporte legible por la maquina.
[0282] Otras realizaciones comprenden el programa informatico para efectuar uno de los metodos descritos en esta invencion, almacenado en un soporte legible por la maquina.
25
[0283] En otras palabras, una realization del metodo de la invencion es, por consiguiente, un programa informatico que tiene un codigo de programa para efectuar uno de los metodos descritos en esta invencion, cuando el programa informatico se ejecuta en un equipo.
30 [0284] Una realizacion adicional de los metodos de la invencion es, por consiguiente, un soporte de datos (o
un medio de almacenamiento digital o un medio legible por ordenador) que comprende, registrado en el mismo, el programa informatico para efectuar uno de los metodos descritos en esta invencion.
[0285] Una realizacion adicional del metodo de la invencion es, por consiguiente, un flujo de datos o una 35 secuencia de senales que representan el programa informatico para efectuar uno de los metodos descritos en esta
invencion. El flujo de datos o la secuencia de senales pueden, por ejemplo estar configurados para ser transferidos via una conexion de comunicacion de datos, por ejemplo via Internet.
[0286] Una realizacion adicional comprende un medio de procesamiento, por ejemplo un equipo o un dispositivo 40 logico programable, configurado o adaptado para efectuar uno de los metodos descritos en esta invencion.
[0287] Una realizacion comprende ademas un equipo que tiene instalado en el mismo el programa informatico para efectuar uno de los metodos descritos en esta invencion.
45 [0288] En algunas realizaciones, un dispositivo logico programable (por ejemplo, una matriz de compuertas
programable en campo) puede ser usado para efectuar algunas o todas las funcionalidades de los metodos descritos en esta invencion. En algunas realizaciones, una matriz de puertas programable en campo puede cooperar con un microprocesador con el fin de efectuar uno de los metodos descritos en esta invencion. En general, los metodos son llevados a cabo preferiblemente por cualquier aparato de elementos flsicos.
50
[0289] Las realizaciones descritas anteriormente son meramente ilustrativas de los principios de la presente
invencion. Se entiende que modificaciones y variaciones de las disposiciones y los detalles descritos en esta invencion seran evidentes para otros expertos en la tecnica. Es la intention, por consiguiente, estar limitados solamente por el alcance de las reivindicaciones de patente inminentes y no por los detalles especlficos presentados a modo de 55 description y explication de las realizaciones de esta invencion.
Referencias
HI Makhoul, John. "Linear prediction: A tutorial review." Proceedings of the IEEE 63.4 (1975): 561-580.
10
- Signal Processing, IEEE International Conference on ICASSP'84.. Vol. 9. IEEE, 1984.
- [3] Pan, Davis. "A tutorial on MPEG/Audio compression."
- Multimedia, IEEE 2.2 (1995): 60-74.
- [41 M. Neuendorf, P. Gournay, M. Multrus, J. Lecomte,
- B. Bessette, R. Geiger, S. Bayer, G. Fuchs, J. Hilpert, N.
- Rettelbach, R. Salami, G. Schuller, R. Lefebvre, B. Grill. '
- 'Unified speech and audio coding scheme for high duality at
- low bitrates". In Acoustics, Speech and Signal Processing
- , 2009. ICASSP 2009. IEEE International Conference on (pp.
- 1-4). IEEE. Abril, 2009. [51 Kuntz, A., Disch, S., Backstrom, T., & Robilliard, J. '
- 'The Transient Steering Decorrelator Tool in the Upcoming
- MPEG Unified Speech and Audio Coding Standard". In Audio Engineering Society Convention 131, octubre de 2011.
- [61 Herre, Jurgen, and James D. Johnston. "Enhancing the performance of perceptual audio coders by using temporal
noise shaping (TNS).' Audio Engineering Society Convention 101. 1996.
Claims (16)
- REIVINDICACIONES1. Un aparato para generar una envolvente de la senal de audio a partir de uno o mas valores de codificacion, que comprende:5 una interfaz de entrada (1610) para recibir el uno o mas valores de codificacion yun generador de envolvente (1620) para generar la envolvente de la senal de audio dependiendo de uno o mas valores de codificacion,en el que el generador de envolvente (1620) esta configurado para generar una funcion de agregacion, dependiendo del uno o mas valores de codificacion, en el que la funcion de agregacion comprende una pluralidad de puntos de 10 agregacion, en el que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en el que la funcion de agregacion se incrementa monotonicamente y en el que cada uno del uno o mas valores de codificacion indica al menos uno del valor de argumento y el valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion, en el que el generador de envolvente (1620) esta configurado para generar la envolvente de la senal de audio de tal manera que la envolvente de la senal de audio comprende una pluralidad de 15 puntos de envolvente, en el que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y en el que, para cada de los puntos de agregacion de la funcion de agregacion, uno de los puntos de envolvente de la envolvente de la senal de audio es asignado a tal punto de agregacion, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregacion y en el que el generador de envolvente (1620) esta configurado para generar la envolvente de la senal de audio, de tal manera que 20 el valor de envolvente de cada uno de los puntos de envolvente de la envolvente de la senal de audio depende del valor de agregacion de al menos un punto de agregacion de la funcion de agregacion.
- 2. Un aparato de acuerdo con la reivindicacion 1, en el que el generador de envolvente (1620) esta configurado para determinar la funcion de agregacion mediante la determinacion de uno de los puntos de agregacion,25 para cada uno de los uno o mas valores de codificacion dependiendo de dicho valor de codificacion y mediante la aplicacion de interpolacion para obtener la funcion de agregacion dependiendo del punto de agregacion de cada uno de los uno o mas valores de codificacion.
- 3. Un aparato de acuerdo con la reivindicacion 1 o 2, en el que el generador de envolvente (1620) esta 30 configurado para determinar una primera derivada de la funcion de agregacion en una pluralidad de los puntos deagregacion de la funcion de agregacion.
- 4. Un aparato de acuerdo con una de las reivindicaciones anteriores, en el que el generador de envolvente (1620) esta configurado para generar la funcion de agregacion dependiendo de los valores de codificacion, de tal35 manera que la funcion de agregacion tiene una primera derivada continua.
- 5. Un aparato de acuerdo con una de las reivindicaciones anteriores, en el que el generador de envolvente (1620) esta configurado para determinar la envolvente de la senal de audio mediante la determinacion de la proporcion de una primera diferencia y una segunda diferencia, siendo dicha primera diferencia una diferencia entre un primer40 valor de agregacion (c(k + l)) de un primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de agregacion (c(k - 1); c(k)) de un segundo de los puntos de agregacion de la funcion de agregacion y siendo dicha segunda diferencia una diferencia entre un primer valor de argumento (f(k + 1)) de dicho primero de los puntos de agregacion de la funcion de agregacion y un segundo valor de argumento (f(k - 1); f(k)) de dicho segundo de los puntos de agregacion de la funcion de agregacion.45
- 6. Un aparato de acuerdo con la reivindicacion 5, en el que el generador de envolvente (1620) esta configurado para determinar la envolvente de la senal de audio mediante la aplicacion deincinacbn[k) =t(Ar + l)-f(A:-l)50en la que inclinacion(k) indica una derivada de la funcion de agregacion en el k-esimo valor de codificacion, en la que c (k + l) es dicho primer valor de agregacion,en la que f(k + 1) es dicho primer valor de argumento,en la que c(k - 1) es dicho segundo valor de agregacion,55 en la que f(k - 1) es dicho segundo valor de argumento,en la que k es un numero entero que indica un Indice del uno de los uno o mas valores de codificacion,en la que c(k + 1) - c(k - 1) es la primera diferencia de los dos valores agregados c(k + 1) y c(k - 1) yen la que f(k + 1) - f(k - l) es la segunda diferencia de los dos valores de argumento f(k + l) y f(k - 1).
- 7. Un aparato de acuerdo con la reivindicacion 5, en el que el generador de envolvente (1620) estaconfigurado para determinar la envolvente de la senal de audio mediante la aplicacion de
imagen1 en la que inclinacion(k) indica una derivada de la funcion de agregacion en el k-esimo valor de codificacion, en la que c(k + l) es dicho primer valor de agregacion,10 en la que f(k + 1) es dicho primer valor de argumento, en la que c(k) es dicho segundo valor de agregacion, en la que f(k) es dicho segundo valor de argumentoen la que c(k - 1) es un tercer valor de agregacion de un tercero de los puntos de agregacion de la funcion de agregacion,15 en la que f(k - 1) es un tercer valor de argumento de dicho tercero de los puntos de agregacion de la funcion de agregacion,en la que k es un numero entero que indica un Indice de uno de los uno o mas valores de codificacion, en la que c(k + 1) - c(k) es la primera diferencia de los dos valores agregados c(k + 1) y c(k) y en la que f(k + 1) - f(k) es la segunda diferencia de los dos valores de argumento f(k + 1) y f(k).20 - 8. Un aparato de acuerdo con una de las reivindicaciones anteriores, en el que la interfaz de entrada (1610) esta configurada para recibir uno o mas valores de division como el uno o mas valores de codificacion,en el que el generador de envolvente (1620) esta configurado para generar la funcion de agregacion dependiendo del 25 uno o mas valores de division, en el que cada uno de los uno o mas valores de division indica el valor de agregacion del uno de los puntos de agregacion de la funcion de agregacion,en el que el generador de envolvente (1620) esta configurado para generar la envolvente de la senal de audio reconstruida, de tal manera que el uno o mas puntos de division dividen la envolvente de la senal de audio reconstruida en dos o mas porciones de envolvente de la senal de audio, en el que una regla de asignacion predefinida define un 30 valor de la porcion de envolvente de la senal para cada porcion de envolvente de la senal de las dos o mas porciones de envolvente de la senal dependiendo de dicha porcion de envolvente de la senal yen el que el generador de envolvente (1620) esta configurado para generar la envolvente de la senal de audio reconstruida de tal manera que, para cada una de las dos o mas porciones de envolvente de la senal, un valor absoluto de su valor de porcion de envolvente de la senal es mayor que la mitad de un valor absoluto del valor de la porcion de 35 envolvente de la senal de cada una de las otras porciones de envolvente de la senal.
- 9. Un aparato para la determinacion de uno o mas valores de codificacion para la codificacion de una envolvente de la senal de audio, que comprende:40 un agregador (1710) para la determinacion de una funcion de agregacion que comprende una pluralidad de puntos de agregacion, en el que cada uno de los puntos de agregacion comprende un valor de argumento y un valor agregado, en el que la funcion de agregacion se incremente monotonicamente,en el que el agregador esta configurado para determinar el valor agregado para cada uno de una pluralidad de valores de argumento, en el que la pluralidad de valores de argumento son ordenados de tal manera que un primer valor de 45 argumento de la pluralidad de valores de argumento tanto si precede como si sucede a un segundo valor de argumento de la pluralidad de valores de argumento, cuando dicho segundo valor de argumento es diferente del primer valor de argumento, en el que se asigna un valor de envolvente a cada uno de los valores de argumento, en el que el valor de envolvente de cada uno de los valores de argumento depende de la envolvente de la senal de audio y en el que el agregador (1710) esta configurado para determinar el valor agregado para cada valor de argumento de la pluralidad 50 de valores de argumento dependiendo del valor de envolvente de dicho valor de argumento y dependiendo del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento y una unidad de codificacion (1720) para la determinacion de uno o mas valores de codificacion, dependiendo del uno o mas valores agregados de la pluralidad de valores de argumento.55 10. Un aparato de acuerdo con la reivindicacion 9, en el que el agregador (1710) esta configurado paradeterminar el valor agregado para cada valor de argumento de la pluralidad de valores de argumento mediante laadicion del valor de envolvente de dicho valor de argumento y los valores de envolvente de los valores de argumento que preceden a dicho valor de argumento.
- 11. Un aparato de acuerdo con la reivindicacion 9 o 10, en el que el valor de envolvente, de cada uno de 5 los valores de argumento, indica una n-esima potencia de un valor espectral de una envolvente de la senal de audioque tiene la envolvente de la senal de audio como envolvente de la senal, en el que n es un numero entero par mayor de cero.
- 12. Un aparato de acuerdo con la reivindicacion 9 o 10, en el que el valor de envolvente de cada uno de los 10 valores de argumento indica una n-esima potencia de un valor de amplitud de una envolvente de la senal de audio,que es representado en un dominio del tiempo y que tiene la envolvente de la senal de audio como envolvente de la senal, en el que n es un numero entero par mayor de cero.
- 13. Un aparato de acuerdo con una de las reivindicaciones 9 a 12, en el que la unidad de codificacion (1720) 15 esta configurada para determinar los uno o mas valores de codificacion, dependiendo de uno o mas de los valoresagregados de los valores de argumento y dependiendo de un numero de valores de codificacion, que indica cuantos valores van a ser determinados por la unidad de codificacion (1720) como los uno o mas valores de codificacion.
- 14. Un aparato de acuerdo con la reivindicacion 13, en el que la unidad de codificacion esta configurada 20 para determinar el uno o mas valores de codificacion de acuerdo con:
imagen2 25en la que c(k) indica el k-esimo valor de codificacion que va a ser determinado por la unidad de codificacion,en la que j indica el j-esimo valor de argumento de la pluralidad de valores de argumento, en la que a(j) indica el valor agregado que es asignado al j-esimo valor de argumento,en la que max(a) indica un valor maximo que es uno de los valores agregados que son asignados a uno de los valores de argumento, en la que ninguno de los valores agregados que son asignados a uno de los valores de argumento es30 mayor que el valor maximo y en la quevalores de argumento para los queimagen3 indica un valor mlnimo que es uno de loses minimo. - 15. Un metodo para la generacion de una envolvente de la senal de audio de uno o mas valores decodificacion, que comprende:35la recepcion del uno o mas valores de codificacion yla generacion de la envolvente de la senal de audio, dependiendo del uno o mas valores de codificacion, en la que la generacion de la envolvente de la senal de audio se lleva a cabo mediante la generacion de una funcion de agregacion dependiendo de los uno o mas valores de codificacion, en la que la funcion de agregacion comprende 40 una pluralidad de puntos de agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor de agregacion, en la que la funcion de agregacion se incrementa monotonicamente y en la que cada uno de los uno o mas valores de codificacion indica al menos uno del valor de argumento y el valor de agregacion de uno de los puntos de agregacion de la funcion de agregacion,en la que la generacion de la envolvente de la senal de audio se lleva a cabo de tal manera que la envolvente de la 45 senal de audio comprende una pluralidad de puntos de envolvente, en la que cada uno de los puntos de envolvente comprende un valor de argumento y un valor de envolvente y en la que, para cada uno de los puntos de agregacion de la funcion de agregacion, uno de los puntos de envolvente de la envolvente de la senal de audio es asignado a dicho punto de agregacion, de tal manera que el valor de argumento de dicho punto de envolvente es igual al valor de argumento de dicho punto de agregacion y50 en la que la generacion de la envolvente de la senal de audio se lleva a cabo de tal manera que el valor de envolventede cada uno de los puntos de la envolvente de la senal de audio depende del valor de agregacion de al menos un punto de agregacion de la funcion de agregacion.
- 16. Un metodo para la determinacion de uno o mas valores de codificacion para la codificacion de una 5 envolvente de la senal de audio, que comprende:la determinacion de una funcion de agregacion que comprende una pluralidad de puntos de agregacion, en la que cada uno de los puntos de agregacion comprende un valor de argumento y un valor agregado, en la que la funcion de agregacion se incrementa monotonicamente, y10 la determinacion del valor agregado para cada uno de una pluralidad de valores de argumento,en el que la pluralidad de valores de argumento son ordenados de tal manera que un primer valor de argumento de la pluralidad de valores de argumento tanto si precede como si sucede a un segundo valor de argumento de la pluralidad de valores de argumento, cuando dicho segundo valor de argumento es diferente del primer valor de argumento, en el que se asigna un valor de envolvente a cada uno de los valores de argumento, en el que el valor de envolvente, de 15 cada uno de los valores de argumento depende de la envolvente de la senal de audio y en el que el agregador (1710) esta configurado para determinar el valor agregado para cada valor de argumento de la pluralidad de valores de argumento dependiendo del valor de envolvente de dicho valor de argumento y dependiendo del valor de envolvente de cada uno de la pluralidad de valores de argumento que preceden a dicho valor de argumento y la determinacion de uno o valores de codificacion dependiendo del uno o mas de los valores agregados de la pluralidad de valores de 20 argumento.
- 17. Un programa informatico que comprende instrucciones que, cuando el programa es ejecutado por un equipo o procesador de senal, da lugar a que el equipo lleve a cabo el metodo de la reivindicacion 15 o 16.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP13171314 | 2013-06-10 | ||
| EP13171314 | 2013-06-10 | ||
| EP14167070 | 2014-05-05 | ||
| EP14167070 | 2014-05-05 | ||
| PCT/EP2014/062034 WO2014198726A1 (en) | 2013-06-10 | 2014-06-10 | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2646021T3 true ES2646021T3 (es) | 2017-12-11 |
Family
ID=50928114
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES14729323.7T Active ES2646021T3 (es) | 2013-06-10 | 2014-06-10 | Método y aparato para codificación, procesamiento y decodificación de envolvente de señal de audio mediante modelado de una representación de suma acumulativa que emplea cuantificación de distribución y codificación |
Country Status (15)
| Country | Link |
|---|---|
| US (2) | US9953659B2 (es) |
| EP (1) | EP3008726B1 (es) |
| JP (1) | JP6224827B2 (es) |
| KR (1) | KR101789083B1 (es) |
| CN (1) | CN105431902B (es) |
| AU (1) | AU2014280258B9 (es) |
| BR (1) | BR112015030686B1 (es) |
| CA (1) | CA2914771C (es) |
| ES (1) | ES2646021T3 (es) |
| MX (1) | MX353042B (es) |
| PL (1) | PL3008726T3 (es) |
| PT (1) | PT3008726T (es) |
| RU (1) | RU2662921C2 (es) |
| SG (1) | SG11201510162WA (es) |
| WO (1) | WO2014198726A1 (es) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SG11201510162WA (en) | 2013-06-10 | 2016-01-28 | Fraunhofer Ges Forschung | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding |
| BR112015030672B1 (pt) | 2013-06-10 | 2021-02-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por divisão do envelope de sinal de áudio empregando codificação e quantização de distribuição |
Family Cites Families (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5765127A (en) | 1992-03-18 | 1998-06-09 | Sony Corp | High efficiency encoding method |
| JP3271193B2 (ja) * | 1992-03-31 | 2002-04-02 | ソニー株式会社 | 音声符号化方法 |
| JP3237089B2 (ja) * | 1994-07-28 | 2001-12-10 | 株式会社日立製作所 | 音響信号符号化復号方法 |
| US5710863A (en) * | 1995-09-19 | 1998-01-20 | Chen; Juin-Hwey | Speech signal quantization using human auditory models in predictive coding systems |
| JP3283413B2 (ja) * | 1995-11-30 | 2002-05-20 | 株式会社日立製作所 | 符号化復号方法、符号化装置および復号装置 |
| SE512719C2 (sv) | 1997-06-10 | 2000-05-02 | Lars Gustaf Liljeryd | En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion |
| CA2636684C (en) | 1997-12-24 | 2009-08-18 | Mitsubishi Denki Kabushiki Kaisha | A method for speech coding, method for speech decoding and their apparatuses |
| SE9903553D0 (sv) | 1999-01-27 | 1999-10-01 | Lars Liljeryd | Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL) |
| US6978236B1 (en) * | 1999-10-01 | 2005-12-20 | Coding Technologies Ab | Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching |
| AU2002224116A1 (en) * | 2000-11-27 | 2002-06-03 | Matsushita Electric Industrial Co., Ltd. | Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound |
| SE0202159D0 (sv) | 2001-07-10 | 2002-07-09 | Coding Technologies Sweden Ab | Efficientand scalable parametric stereo coding for low bitrate applications |
| US20030187663A1 (en) | 2002-03-28 | 2003-10-02 | Truman Michael Mead | Broadband frequency translation for high frequency regeneration |
| KR100477699B1 (ko) | 2003-01-15 | 2005-03-18 | 삼성전자주식회사 | 양자화 잡음 분포 조절 방법 및 장치 |
| EP1638083B1 (en) * | 2004-09-17 | 2009-04-22 | Harman Becker Automotive Systems GmbH | Bandwidth extension of bandlimited audio signals |
| US7573912B2 (en) | 2005-02-22 | 2009-08-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. | Near-transparent or transparent multi-channel encoder/decoder scheme |
| EP1829424B1 (en) | 2005-04-15 | 2009-01-21 | Dolby Sweden AB | Temporal envelope shaping of decorrelated signals |
| KR100803205B1 (ko) * | 2005-07-15 | 2008-02-14 | 삼성전자주식회사 | 저비트율 오디오 신호 부호화/복호화 방법 및 장치 |
| US7630882B2 (en) | 2005-07-15 | 2009-12-08 | Microsoft Corporation | Frequency segmentation to obtain bands for efficient coding of digital media |
| WO2007080211A1 (en) | 2006-01-09 | 2007-07-19 | Nokia Corporation | Decoding of binaural audio signals |
| EP1989707A2 (fr) * | 2006-02-24 | 2008-11-12 | France Telecom | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
| EP1999997B1 (en) | 2006-03-28 | 2011-04-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Enhanced method for signal shaping in multi-channel audio reconstruction |
| US8392176B2 (en) | 2006-04-10 | 2013-03-05 | Qualcomm Incorporated | Processing of excitation in audio coding and decoding |
| US8532984B2 (en) | 2006-07-31 | 2013-09-10 | Qualcomm Incorporated | Systems, methods, and apparatus for wideband encoding and decoding of active frames |
| DE102006049154B4 (de) | 2006-10-18 | 2009-07-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kodierung eines Informationssignals |
| US8417532B2 (en) * | 2006-10-18 | 2013-04-09 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoding an information signal |
| EP2165328B1 (en) * | 2007-06-11 | 2018-01-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoding and decoding of an audio signal having an impulse-like portion and a stationary portion |
| EP2192579A4 (en) | 2007-09-19 | 2016-06-08 | Nec Corp | NOISE SUPPRESSION DEVICE, ITS METHOD AND PROGRAM |
| GB2453117B (en) | 2007-09-25 | 2012-05-23 | Motorola Mobility Inc | Apparatus and method for encoding a multi channel audio signal |
| CN101430880A (zh) | 2007-11-07 | 2009-05-13 | 华为技术有限公司 | 一种背景噪声的编解码方法和装置 |
| CN101521010B (zh) | 2008-02-29 | 2011-10-05 | 华为技术有限公司 | 一种音频信号的编解码方法和装置 |
| BRPI0904958B1 (pt) | 2008-07-11 | 2020-03-03 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Aparelho e método para calcular dados de extensão de largura de banda usando um quadro controlado por inclinação espectral |
| JP5606433B2 (ja) | 2008-07-11 | 2014-10-15 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | オーディオエンコーダ及びオーディオデコーダ |
| RU2494477C2 (ru) * | 2008-07-11 | 2013-09-27 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Устройство и способ генерирования выходных данных расширения полосы пропускания |
| CN102081926B (zh) | 2009-11-27 | 2013-06-05 | 中兴通讯股份有限公司 | 格型矢量量化音频编解码方法和系统 |
| CN102081927B (zh) | 2009-11-27 | 2012-07-18 | 中兴通讯股份有限公司 | 一种可分层音频编码、解码方法及系统 |
| ES2484795T3 (es) | 2010-07-19 | 2014-08-12 | Dolby International Ab | Procesamiento de señales de audio durante la reconstrucción de alta frecuencia |
| US9135929B2 (en) * | 2011-04-28 | 2015-09-15 | Dolby International Ab | Efficient content classification and loudness estimation |
| JP2016518977A (ja) * | 2013-04-16 | 2016-06-30 | マサチューセッツ インスティテュート オブ テクノロジー | エマルションまたは他の混合物の単極分離のためのシステムおよび方法 |
| DE102013104921A1 (de) | 2013-05-14 | 2014-11-20 | A. Monforts Textilmaschinen Gmbh & Co. Kg | Vorrichtung zum Beschichten und/oder Imprägnieren einer textilen Warenbahn |
| BR112015030672B1 (pt) | 2013-06-10 | 2021-02-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por divisão do envelope de sinal de áudio empregando codificação e quantização de distribuição |
| SG11201510162WA (en) | 2013-06-10 | 2016-01-28 | Fraunhofer Ges Forschung | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding |
-
2014
- 2014-06-10 SG SG11201510162WA patent/SG11201510162WA/en unknown
- 2014-06-10 PL PL14729323T patent/PL3008726T3/pl unknown
- 2014-06-10 CA CA2914771A patent/CA2914771C/en active Active
- 2014-06-10 WO PCT/EP2014/062034 patent/WO2014198726A1/en not_active Ceased
- 2014-06-10 PT PT147293237T patent/PT3008726T/pt unknown
- 2014-06-10 KR KR1020167000232A patent/KR101789083B1/ko active Active
- 2014-06-10 CN CN201480033295.0A patent/CN105431902B/zh active Active
- 2014-06-10 EP EP14729323.7A patent/EP3008726B1/en active Active
- 2014-06-10 BR BR112015030686-1A patent/BR112015030686B1/pt active IP Right Grant
- 2014-06-10 AU AU2014280258A patent/AU2014280258B9/en active Active
- 2014-06-10 RU RU2015156490A patent/RU2662921C2/ru active
- 2014-06-10 ES ES14729323.7T patent/ES2646021T3/es active Active
- 2014-06-10 JP JP2016518979A patent/JP6224827B2/ja active Active
- 2014-06-10 MX MX2015016984A patent/MX353042B/es active IP Right Grant
-
2015
- 2015-12-09 US US14/964,245 patent/US9953659B2/en active Active
-
2018
- 2018-03-13 US US15/920,066 patent/US10734008B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN105431902B (zh) | 2020-03-31 |
| WO2014198726A1 (en) | 2014-12-18 |
| EP3008726B1 (en) | 2017-08-23 |
| SG11201510162WA (en) | 2016-01-28 |
| CA2914771A1 (en) | 2014-12-18 |
| US9953659B2 (en) | 2018-04-24 |
| JP2016526695A (ja) | 2016-09-05 |
| RU2662921C2 (ru) | 2018-07-31 |
| AU2014280258B9 (en) | 2017-04-20 |
| RU2015156490A (ru) | 2017-07-14 |
| PT3008726T (pt) | 2017-11-24 |
| EP3008726A1 (en) | 2016-04-20 |
| BR112015030686A2 (pt) | 2017-08-22 |
| KR20160022338A (ko) | 2016-02-29 |
| AU2014280258A1 (en) | 2016-01-28 |
| MX2015016984A (es) | 2016-04-25 |
| PL3008726T3 (pl) | 2018-01-31 |
| KR101789083B1 (ko) | 2017-10-23 |
| HK1223725A1 (en) | 2017-08-04 |
| US20160155451A1 (en) | 2016-06-02 |
| US10734008B2 (en) | 2020-08-04 |
| AU2014280258B2 (en) | 2016-11-24 |
| JP6224827B2 (ja) | 2017-11-01 |
| CA2914771C (en) | 2018-07-17 |
| CN105431902A (zh) | 2016-03-23 |
| US20180204582A1 (en) | 2018-07-19 |
| MX353042B (es) | 2017-12-18 |
| BR112015030686B1 (pt) | 2021-12-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2573765B1 (en) | Audio encoder and decoder | |
| ES2604983T3 (es) | Ajuste de nivel en el dominio del tiempo para decodificación o codificación de señales de audio | |
| ES2433043T3 (es) | Conmutación del modo de codificación ACELP a TCX | |
| ES2874511T3 (es) | Búsqueda de forma de cuantificador de vector en pirámide | |
| ES2646021T3 (es) | Método y aparato para codificación, procesamiento y decodificación de envolvente de señal de audio mediante modelado de una representación de suma acumulativa que emplea cuantificación de distribución y codificación | |
| ES2635026T3 (es) | Aparato y procedimiento de codificación, procesamiento y decodificación de envolvente de señal de audio por división de la envolvente de la señal de audio utilizando cuantización y codificación de distribución | |
| HK1223726B (en) | Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding | |
| HK1223725B (en) | Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding | |
| HK1177316B (en) | Audio encoder and decoder |