MX2007006805A - Metodo para crear una representacion de un resultado de calculo, dependiente linealmente, en un cuadrado de un valor. - Google Patents

Metodo para crear una representacion de un resultado de calculo, dependiente linealmente, en un cuadrado de un valor.

Info

Publication number
MX2007006805A
MX2007006805A MX2007006805A MX2007006805A MX2007006805A MX 2007006805 A MX2007006805 A MX 2007006805A MX 2007006805 A MX2007006805 A MX 2007006805A MX 2007006805 A MX2007006805 A MX 2007006805A MX 2007006805 A MX2007006805 A MX 2007006805A
Authority
MX
Mexico
Prior art keywords
representation
logarithm
bits
value
spectral
Prior art date
Application number
MX2007006805A
Other languages
English (en)
Inventor
Sascha Disch
Johannes Hilpert
Stefan Geyersberger
Marc Gayer
Manfred Lutzky
Markus Lohwasser
Bernhard Grill
Original Assignee
Fraunhofer Ges Forschung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Ges Forschung filed Critical Fraunhofer Ges Forschung
Publication of MX2007006805A publication Critical patent/MX2007006805A/es

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

En la transicion en el rango logaritmico, no todo el ancho de bits del resultado dependiente linealmente, en el cuadrado del valor, se debe considerar. Mas bien es posible escalar el resultado de un valor con x bits de modo que una representacion con menos de x bits del resultado sea suficiente para obtener la represtacion logaritmica basada en el mismo. El efecto del factor de escala en la representacion logaritmica resultante puede ser compensado por agregar o restar un valor de correccion, obtenido por la funcion de logaritmo aplicada al factor de escala hacia o desde la representacion logaritmica escalada, sin alguna perdida de la dinamica. De esta manera, se proporciona un metodo y un aparato para crear una representacion de un resultado dependiente linealmente por un cuadro de un valor, de modo que el calculo es sencillo y/o posible con poco gasto del "hardware" (equipo).

Description

MÉTODO PARA CREAR UNA REPRESENTACIÓN DE UN RESULTADO DE CÁLCULO, DEPENDIENTE L1NEALMENTE EN UN CUADRADO DE UN VALOR Descripción La presente invención se refiere a la creación de una representación de un resultado de cálculo, dependiente linealmente en un cuadrado de un valor, tal como una suma de cuadrados de un grupo de valores, según sea requerida, por ejemplo, en algunos codificadores de audio, en los cuales, de acuerdo con un líneas de frecuencia modelo psicoacústico se combinan para formar grupos de frecuencia, con el fin de realizar la codificación ulterior por medio de las energías de señales de los grupos de frecuencia. En métodos modernos de codificación de audio, basados en bancos de filtros, tal como los métodos MPEG Layer 3 o MPEG AAC, se usa en el codificador un modelo psicoacústico. En este modelo psicoacústico el espectro total de la señal de audio, transformada en el intervalo de frecuencia, se divide en grupos de frecuencias individuales de anchos variables y/o números variables de líneas de frecuenta por grupo de frecuencia, para el cálculo de los umbrales de escucha psicoacústicos, para la decisión si la estéreo- codificación central/lateral debe ser usada y para la evaluación y/o el cálculo de los factores de escala en el módulo de cuantificación del codificador de audio, las energías de señal de las porciones de la señal de audio en los grupos de frecuencia individuales se calculan en el modelo psicoacústico. Esto se efectúa elevando al cuadrado cada línea de frecuencia individual, que resulta en las energías de línea y la suma subsiguiente de todas las energías de línea en un grupo de frecuencia, para formar la energía de banda de un grupo de frecuencia, de la cual puede ser aproximadamente el 40 al 60 por canal de audio en el caso del ejemplo de MPRG AAC. En lo siguiente, será considerada la aplicación especial de una forma de realización de dicho método en un procesador de punto fijo. En la representación de punto fijo, las líneas de frecuencia se representan con un ancho de palabra de, por ejemplo, 24 bits o 32 bits, ün ancho de palabra de solamente 16 bits no es suficiente. Se usa un factor de escalado global o un factor de desplazamiento, el cual aplica a todas las líneas de frecuencia de un canal de audio y también a todas las líneas de frecuencia de todos los canales de audio procesados en un codificador, y las cuales determinan para cuántas posiciones cada valor de línea de frecuencia debe ser desplazado a la izquierda o la derecha, de modo que el escalado original pueda ser obtenido de nuevo, lo cual se refiere como la representación del punto de bloque flotante Es decir que las líneas de frecuencia de al menos un canal de audio son llevadas fuera igualmente y/o están en el mismo nivel de escala. En consideración de la dinámica, generalmente alta, de las amplitudes individuales de las líneas de frecuencia, esto tiene algunas de las líneas de frecuencia representadas con una exactitud relativamente alta, tal como, por ejemplo, 22 bits válidos, con un ancho de palabra de 24 bits o 30 bits válidos con un ancho de palabra de 32 bits, en tanto otros se representan con solamente unos cuantos bits válidos y, por lo tanto, no exactamente. En la forma de realización di método de codificación de audio, basado en banco de filtros, mencionado antes, en un procesador de punto fijo, surgirán problemas, como los descritos abajo. Primeramente, los problemas relacionados con la representación de las propias energías de señal. Por medio del cuadrado, las energías de señal, que es la de los cuadrados sumados en forma ascendente de las líneas de frecuencia, ha obtenido dinámicas dobles de aquellas de las líneas de frecuencia, si la exactitud total se va a mantener.
Existen verdaderamente varias posibilidades de representar las energías de señal. Una posibilidad es la representación de las energías de señal por un tipo de datos que tiene un ancho de palabra doble que el de tipo de datos usados para la representación de las líneas de frecuencia, que es, por ejemplo, un tipo de datos con un ancho de 48 bits o de 64 bits. Imagine, por ejemplo, una línea de frecuencia con 22 bits válidos, representada por un tipo de datos de 24 bits. Con base en la suma, la energía de señal junto con las otras líneas de frecuencia, tienen al menos 44 bits válidos y sería representada en un tipo de datos de 48 bits. Sin embargo, este procedimiento no es factible al menos para energías de 64 bits, es decir, en casos, en que las líneas de frecuencia se representan en un tipo de datos de 32 bits, como en los procesadores de punto fijo más convencionales, o no soportan tipos de datos de 64 bits en casi todas las operaciones y cálculos de acceso de memoria, que usan un tipo de datos de 64 bits, son extremadamente lentos comparados, por ejemplo, con las operaciones y cálculos de acceso de 32 bits. Además, el consumo de memoria es significantemente mayor en el caso de datos de 64 bits. Otra posibilidad de la representación de las energías de señal es la representación por un tipo de datos de punto flotante, por medio de la mantisa y el exponente. De nuevo, supongamos el caso ejemplar, antes mencionado, que una línea de frecuencia con 22 bits válidos se representa en un tipo de datos de 24 bits. La energía de señal del grupo representativo luego será representada en un tipo de datos de punto flotante, estandarizado o patentado, con mantisa de 16 bits que incluyen el bit de signo y el exponente de 8 bits . Aquí, no es importante si se refiere a un tipo de datos de punto flotante patentado con mantisa y anchos de exponentes escogidos arbitrariamente. En un procesador de punto fijo sin una unidad de cálculo de punto flotante, los cálculos con los tipos de datos de punto flotante siempre tendrán que ser emulados por varis etapas de cálculo y, por lo tanto serán extremadamente lentos, así que este procedimiento no es factible. Otro campo problemático es la forma de realización del método codificador de audio mencionado, basado en bancos de filtros, en un procesador de punto fijo es el reproceso de las energías de señal en el curso del método de codificación. Las energías de señal y los umbrales de escucha derivados de las mismas se usan en la rutina ulterior del codificador de audio en numerosos diferentes sitios en el algoritmo, por ejemplo, con el fin de calcular relaciones o cocientes, por ejemplo entre la energía de señal y el umbral de escucha. La división requerida no es fácil de realizar en un procesador de punto fijo. Una posibilidad de realizar una división en un procesador de punto fijo es el uso de comandos de división de un solo bits, los cuales se llevan a cabo en algunos procesadores de punto fijo y suministran un bit adicional de exactitud en el cociente por operación. Para una división con una exactitud de, por ejemplo 48 bits, 48 comandos de división individuales para una sola división de dos energías de señal o una energía e señal y un umbral de escucha, por lo tanto será requerido. Esto no es factible y es muy ineficiente, debido al gasto de tiempo implicado para los altos cálculos. Otra posibilidad de realizar una división en un procesador de punto fijo es el uso de tablas, posiblemente en conexión con las etapas de iteración subsiguientes para aumentar la exactitud de los resultados de la división. Este procedimiento, sin embargo, a menudo no es factible como para la exactitud requerida del resultado de división, o una tabla muy grande debe ser usada o etapas de iteración subsiguientes que a su vez tendrán una alta demanda del tiempo de cálculo. Ambos métodos mencionados pueden ser usados en un procesador de punto fijo en relación con los tipos de datos de punto fijo o tipos de datos de punto flotante, emulados por software, que, sin embargo, en ninguno de los casos proporciona una aplicación eficiente adecuadamente con respecto al tiempo de cálculo y el consumo de memoria con exactitud del resultado simultánea. Los problemas, antes mencionados, no ocurrirán si se usa un GPP (Procesador para Propósitos Generales) . Para muchas aplicaciones, sin embargo, el uso de procesadores que tienen un desempeño mayor que los procesadores de punto fijo, sin una unidad de cálculo de punto flotante es automáticamente fuera de cuestión debido a la presión del alto precio y el número alto de piezas. Ejemplos de estas aplicaciones son los teléfonos móviles y los PDA. La patente US 6,756,618 Bl responde al problema del cálculo de SMR, que es el cálculo de la relación entre la energía de señal y el umbral de escucha y así contra el último término del uso de los chips (microcircuitos) de DSP de punto fijo, de acuerdo con el procedimiento ahí propuesto, primero la ventana usual y luego la transformación de Fourier para la descomposición de una señal de audio en sus constituyentes espectrales es llevada a cabo, seguido de lo cual la energía de cada señal de entrada y/o señal de la línea de frecuencia, es decir, la energía de línea, se calcula de las porciones reales e imaginarias del valor de línea de frecuencia respectiva, Sin ir más en relación a la creación de las energías de señal de los grupos de líneas de frecuencia, el método puede también ser continuado basado en las energías de señal de estos grupos . El contenido de este documento es intentar remover el problema que los datos de entrada, es decir las energías que en su mayoría tienen intervalo dinámico que es demasiado grande, como la mayoría de los chips de DSP de punto fijo comprenden un ancho de datos de solamente 16 a 24 bits, en tanto el estándar de MPEG requerirá un ancho de datos de 34 bits, que es un intervalo dinámico de 101 dB. Por lo tanto, las energía primero tendrán que ser escaladas, En particular, se hace una proposición para divagar desde el procediendo anterior y usar dos valores de escala diferentes. Más precisamente, de acuerdo con este documento, la energía se compara a un umbral y se escala en forma ascendente o descendente, respectivamente, con el fin de ser capaz de representar el resultado del logaritmo con 16 bits suficientes en una transición en un intervalo logarítmico, con el fin de poder calcular la relación SMR en el intervalo logarítmico con 16 bits. Dependiendo de si se realiza una escala ascendente o descendente, una tabla diferente para los umbrales se usa. Para tomar el logaritmo, se usan 10 veces el logaritmo común, así que la unidad dB será obtenida. Si el resultado de tomar el logaritmo de las energías de línea escaladas en forma ascendente es cero, la relación de SMR se calculará tomando el logaritmo de la energía de línea escalada en forma ascendente menos el logaritmo de 10 veces la energía umbral, de otra manera, el resultado de la energía de línea de escala ascendente y la energía de línea de escala ascendente se combinan entre sí. El procedimiento propuesto en la patente US 6,754,618 Bl evita algunos de los problemas, antes mencionados, con respecto al reproceso de las energías de señal, propuestas para calcular la relación de SMR en el intervalo logarítmico. Esto elimina el cálculo de división complejo. Sin embargo, el procedimiento es desventajoso en que el cálculo del logaritmo es aún relativamente complejo, ya que el intervalo del valor para una representación de punto fijo de 16 bits, según es adecuada para procesadores de punto fijo de DSP de 16 bits, se establece después del cálculo del logaritmo, mientras toma el logaritmo como tal, es aún ejecutada en las energías presentes en dinámicas altas, que resulta en la necesidad de tanto como dos tomas del logaritmo por valor de energía. Por lo tanto es conveniente simplificar la transición en el intervalo logarítmico también, sin que ocurra una pérdida de la dinámica. La patente US 5,608,663 se refiere a la ejecución rápida de multiplicaciones paralelas de números de punto flotante, por medio de la conversión en un formato de punto fijo logarítmico, la adición en el intervalo logarítmico y la conversión subsiguiente de nuevo. La patente US 5,197,024 trata generalmente con un cálculo exponencial / logarítmico y un aparato respectivo. La patente US 6,732,071 se refiere a una solución eficiente para un control de régimen en la codificación de audio y para la determinación del valor del parámetro de cuantificación usa una iteración de ciclo con una condición de terminación, de acuerdo con la cual un logaritmo doble de un término que depende en el valor de línea de la frecuencia máxima . La patente US 6,351,730 describe el uso de un logaritmo doble para un cálculo de ganancia dentro de la codificación de audio. Los valores de ganancia son usados para la asignación del bit en un codificador de audio MDCT-codificado. La patente US 5,764,698 describe el uso de un logaritmo natural para la representación de energías de señal de audio. Una descripción más detallada de la transición en el intervalo logarítmico no se da. Es el objeto de la presente invención proporcionar un método y un aparato para crear una representación de un resultado, dependiente linealmente en un cuadrado de un valor, de manera que el cálculo sea más sencillo o posible, con menos gasto del hardware. Este objeto se logra por un aparato de acuerdo con la reivindicación 1, y un método, de acuerdo con la reivindicación 18. El aparato de la invención para crear una representación de un resultado de cálculo, dependiente linealmente en un cuadrado de un valor, este resultado de cálculo estando presente en una representación de x bits, sin tomar logaritmos, e incluye: medios de proceso para realizar un proceso de la representación de x bits sin tomar logaritmo del valor, con el fin de obtener el resultado del cálculo, dependiente linealmente en el valor, en que el medio del proceso se configura para usar un factor de escala efectivo, de manera que el resultado del cálculo sea escalado en dependencia del factor de escalado efectivo; medios para tomar el logaritmo, aplicando una función logarítmica para a , la representación de y bits del resultado de cálculo del cual no se toma logaritmo y el cual es obtenido o indirecta o directamente del proceso por los medios de proceso - es decir, por ejemplo, sacando las posiciones de bit, con el fin de obtener una representación escalada, con el logaritmo tomado del resultado de cálculo y/o una representación con el logaritmo tomado del resultado del cálculo escalado, en que y es menor de 2 veces x, y medios de re-escalar para agregar o restar un valor de corrección hacia o desde, respectivamente, la representación logarítmica escalada, la cual corresponde a la función de logaritmo, de modo que un logaritmo escalado sea aplicado al factor de escala efectivo, con el fin de obtener una representación con el logaritmo tomado del resultado del cálculo - ahora ya no escalado.
El hallazgo de la presente invención es que en la transición en el intervalo logarítmico, no es necesario tomar en consideración todo el ancho de bit del resultado, dependiente linealmente en el cuadrado de un valor. Más bien, es posible escalar el resultado de un valor con x bits, de modo que una representación con menos de x bits del resultado sea suficiente para obtenerla con base en la representación logarítmica. El efecto del factor de escala en la representación logarítmica resultante puede ser cancelado agregando o restando un valor de corrección, obtenido por la función logarítmica aplicada al factor de escala, hacia o desde la representación logarítmica escalada, respectivamente, sin cualquier pérdida de dinámica. Por lo tanto, es una ventaja de la presente invención que en la manera inventiva, una pluralidad de resultados pueden ser transferidos en una representación logarítmica en una manera tal que, subsiguientemente, el nivel de escala será el mismo para todos, con mantenimiento sustancial de la dinámica. De acuerdo con una modalidad de la presente invención, el proceso de la representación de x bits del valor consiste en la creación de una suma de cuadrados de un grupo de valores, con el fin de obtener el resultado del cálculo, dependiente linealmente del valor, En lugar de realizar el factor de escalado efectivo, solamente después del cálculo de la suma de cuadrados, sin embargo, las representaciones de x bits son escaladas previamente con un factor de escalado común. Este factor de escalado común se determina del número de los valores y/o por medio del número mayor de posiciones válidas entre las representaciones de x bits de los valores. Este procedimiento hace posible permanecer constantemente, partiendo de la situación inicial con representaciones de x bits de los valores, en el formato de representación de x bits. Esto se aplica igualmente a los cuadrados de los valores individuales y a la suma de los cuadrados individuales. Aquí, el factor de escalado común se determina de modo que la suma de cuadrados y no se someta al rebosamiento como resultado de esta suma. De acuerdo con esta modalidad, la función de logaritmo se realiza en una sección de la representación de x bits sin tampoco tomar logaritmo de la suma de cuadrados en esta modalidad, la ventaja se mantiene en que el procedimiento puede ser usado para varios grupos de valore, de modo que, por una parte, los valores de los grupos individuales son escalados con un diferente factor de escalado común y, por otra, el nivel de escalado subsiguiente es el mismo para la representación logarítmica de la suma de cuadrados. De acuerdo con otra modalidad preferida de la presente invención, un logaritmo doble se usa como la función de logaritmo, con un factor que es menor o igual a 1/y. De esta manera, es posible llevar a cabo la formación de mapa entre la representación del bit y del resultado del cálculo y la representación escalada del logaritmo tomado del resultado de cálculo en una manera que utiliza óptimamente los intervalos de valores de ambas representaciones. De acuerdo con otra modalidad de la presente invención, para la codificación de audio, los valores de línea espectrales de un grupo se someten a una creación de sumas de cuadrados en la manera antes mencionada, grupo por grupo, que es por escalar los valores de línea espectrales antes del cálculo de las sumas de cuadrados, en que los valores de línea de frecuencia están presentes en un formato de datos de punto fijo, de x. bits, sin tomar logaritmos, sumando en forma ascendente los cuadrados sencillos resultantes, los cuales, igualmente, deben estar presentes en el formato de datos de punto fijo de x bits únicamente, aplicando la función de logaritmo que comprende la toma del logaritmo con el logaritmo doble y el escalado con el factor menor o igual a 1/x a la suma de cuadrados, y agregando o restando un valor de corrección, obtenido del factor de escalado común por la función del logaritmo hacia o desde, respectivamente, la representación de punto fijo de x bits del resultado de tomar el logaritmo. De esta manera, las estrategias de señal de todos los grupos espectrales se mantiene, cada una de las operaciones de cálculo puede ser realizada por medio de una unidad de cálculo configurada por procesar los números de punto fijo con u x bits solamente. Esta modalidad, por lo tanto, es ventajosa en que es posible realizar un codificador de audio en un DSP de punto fijo de 16 ó 24 bits, sin la necesidad de una programación compleja con los gastos aumentados involucrados del tiempo de cálculo.
En las siguientes modalidades preferidas de la presente invención, se discuten en mayor detalle con respecto a los dibujos acompañantes, en los cuales: la Figura 1 es una representación esquemática que ilustra la estructura del formato de datos de punto fijo, de 32 bits; las Figuras 2a son representaciones esquemáticas de una cuadratura, y 2b del valor de punto fijo de 32 bits, para ilustrar el efecto de valores demasiado pequeños en el resultado de punto fijo de 64 bits; la Figura 3 es una gráfica de una función de logaritmo, de acuerdo con una modalidad de la presente invención; la Figura 4 es un diagrama esquemático de bloques de un aparato para crear una suma de cuadrados, de acuerdo con una modalidad de la presente invención; la Figura 5 es un diagrama de bloques de una posible forma de realización del aparato de la Figura 4; la Figura 6 es un diagrama de flujo para ilustrar la función del aparato, de acuerdo con la Figura 5, y la Figura 7 es un diagrama esquemático de bloques para ilustrar un codificador de audio, de acuerdo con una modalidad de la presente invención. En lo siguiente, se describirá la presente invención con referencia a las figuras y frecuentemente contra el fondo del proceso de la señal de audio y específicamente la señal de audio de codificación. Como se explica en mayor detalle siguiendo la descripción de las figuras, la presente invención no se limita a este campo de aplicación, pero esta exposición sirve predominantemente para facilitar el entendimiento. Antes de explicar las modalidades de la presente invención en mayor detalle, en lo siguiente, una introducción a estas modalidades, que son una clase de revisión y de las ventajas de las siguientes modalidades se entenderán mejor, se suministran con referencia a las Figuras 1 a 3. La Figura 2 muestra la estructura de un posible formato de datos, de punto fijo, de 32 bits, el cual es una base ejemplar de las siguientes modalidades discutidas. El formato de datos de 32 bits representado, puede fácilmente ser aplicado igualmente a otos conteos de bits. Como se puede ver, un valor almacenado en el formato de datos, de punto fijo, comprende 32 bits. Por lo tanto, un registrador de 32 bits es suficiente para almacenar este valor en el formato de datos de punto fijo, de 32 bits.. Tal registrador se diseña en la Figura 1 con 10. Las posiciones de los 32 bits son indicadas con cuadrados individuales, numerados X0...X3?, desde el bit menos significante (LSB) al bit más significante (MSB) . Los significados de las posiciones de bits individuales, de acuerdo con el formato de datos de punto fijo, de 32 bits, son indicados debajo de las posiciones de bits individuales. Como se puede ver, el bit más significante representa el signo del valor, es decir + o -. Los bits restantes, X30 a X0, expresan la magnitud del valor. De acuerdo con la modalidad de la Figura 1, estos bits representan una fracción verdadera, es decir, el formato de datos 10 es un formato de datos de punto fijo fracciónales, en donde, por convención, el punto o la coma se colocan en la ubicación más a la izquierda, es decir en el costado izquierdo, antes del bit X30. El valor en el registrador 10, por lo tato, puede ser expresado como: Co o se puede ver fácilmente, el intervalo del valor representable del formato de datos de punto fijo fracciónales, se extiende desde alrededor exclusivamente de ~1 hasta exclusivamente 1.
Como se discutió en la introducción de la descripción de la presente invención, las energías de señal se obtienen, por ejemplo, por medio del cuadrado de las líneas de frecuencia y la suma ascendente de todas las líneas de frecuencia al cuadrado, es decir, las energías de línea, en un grupo de frecuencia. El número de las líneas contenido en un grupo de frecuencia varía de 4 a 96, en el ejemplo de MPEG Layer-3 y MPEF AAC. Como también se discutió en la introducción de la descripción de la presente solicitud, es posible representar los valores de la línea de frecuencia en un formato de datos de punto fijo, usando un factor de escala global, que se aplica a todas las líneas de frecuencia de un canal de audio y aún a líneas de frecuencia de todos los canales de audio procesados en un codificador y que determinan cómo muchas posiciones de cada valor de la línea de frecuencia se va a desplazar a la izquierda o la derecha en el costado del descodificador, así que el escalado original puede ser reobtenido. Con el fin de someter tales valores de datos de punto fijo, de 32 bits, en un procesador de punto fijo, con ancho de palabras de datos de 32 bits a una suma de cuadrados para el cálculo de las energías de señal de audio, los siguientes requisitos básicos deben ser cumplidos para una forma de realización eficiente del cálculo de las energías de señal de audio de las líneas de frecuencia: - las líneas de frecuencia deben estar representadas con un ancho de palabra de 32 bits. 16 bits no son suficientes; - las energías de señal de audio deben también estar representadas en un formato de datos de punto fijo y no en un formato de datos de punto flotante; las energías de señal de audio deben estar representadas en un tipo de datos con un ancho de palabra no mayor de 32 bits. Esto resulta un ancho de palabra de 32 bits para las energías de señal de audio igualmente.
Las modalidades especiales de la presente invención escritas en lo siguiente, cumplen con todos estos requisitos básicos, aunque se debe notar que una forma de realización menos eficiente puede ser obtenida si no se cumplen todos estos requisitos básicos. Como será discutido más adelante, por ejemplo, no es absolutamente necesario que las energías de la señal de audio sean limitadas en su ancho de palabra a 32 bits. El reproceso de las energías de señal solamente será limitado a una representación de punto fijo de 32 bits. De las modalidades anteriores, surge el siguiente problema en el cálculo de las energías de la señal de audio.
El cuadrado de los valores de la línea de frecuencia de 32 bits, primero proporciona energías de línea con un ancho de palabra de 64 bits, en que, sin embargo, los 32 bits - en el caso de las siguientes modalidades, los 43 bits menores - se descartan en el proceso ulterior y la aritmética fraccional continúa con solamente los 32 bits mayores. Con el fin de ilustrar esto, se hace referencia a las Figuras 2a y 2b. Ellas muestran dos registradores de entrada 12a y 12b de un multiplicador usado como un medio de elevar al cuadrado, escribiendo los mismos valores en los registradores del multiplicando de entrada 12a y 12b. Ambos registradores, 12a y 12b, son registradores de 32 bits. Además, las Figuras 2a y 2b muestran un registrador 14 de salida de 64 bits, que consiste de una porción superior 14a y una porción inferior 14b. El multiplicador, el cual no se representa en las Figuras 2a y 2b, se configura para leer los contenidos del registrador de los registradores 12a y 12b en el formato de datos de punto fijo de 32 bits, y para multiplicar 16 de los dos valores, así que se suministra un resultado de 64 bits, el cual es producido en el registrador 14 de salida en un formato de datos de punto fijo de 64 bits. Así, la porción superior 14a del registrador 14 de salida cubre las primeras 31 posiciones binarias-, después de la coma, en tanto la porción inferior 114b cubre las posiciones binarias restantes. Las Figuras 2a y 2b muestran situaciones en que los valores de línea de frecuencia diferente se han escrito en los registradores 12a y 12b de entrada, así que se suministran resultados diferentes en el registrador de salida 14. La Figura 2a muestra específicamente una situación en la cual el valor de la línea de frecuencia es alto, es decir 0x12345678. En tanto que los valores de la línea de frecuencia son accionados en un nivel alto, es decir, ocupan un número grande de bits válidos en una palabra de datos de 32 bits, los 32 bits superiores del ancho realmente de 64 bits, resultan en un registrador de salida 14, son suficientemente exactos con el fin de expresar el resultado y/o el cuadrado. El error que se obtiene cuando solamente la porción superior 14a es usada, más bien que las cantidades del resultado completo a solamente 0x000000003será9b080 en el caso de la Figura 2a. La Figura 2b muestra el caso de un pequeño valor de línea de frecuencia en los registradores de entrada, 12a y 12b, respectivamente, es decir 0x00004333321. Tales valores de línea de frecuencia también ocurren, como se mencionó antes, con todas las líneas de frecuencia de al menos un canal de audio que tienen un factor de escalado global y, por lo tanto, típicamente un número mayor de las líneas de frecuencia ocupará un número pequeño de bits válidos en una palabra de datos de 32 bits solamente, es decir, tiene una amplitud pequeña. Como se puede ver de la Figura 2b, en el caso de valores de línea de frecuencia pequeña, los 32 bits superiores del registrador 14 de salida no expresan el resultado al cuadrado con suficiente exactitud. La suma de varias de tales energías de línea para formar el valor de energía de señal, en particular, por lo tanto, suministrará un resultado incorrecto, es decir, por ejemplo cero, el cual en el último curso de la codificación de audio resultará en una cualidad de audio reducida. En el ejemplo de la Figura 2b, la porción superior del registrador de salida, por ejemplo, indicará un resultado de cero, mientras el valor del resultado real será de 0x0000000023349482- En vista de los ejemplos de las Figuras 2a y 2b, parece ser necesario considerar primero todos los 64 bits del registrador 14 de salida en procesos subsiguientes de las energías de señal. Sin embargo, esto requerirá numerosas operaciones complicadas de datos de 64 bits, es decir operaciones con operandos de 64 bits, e infringirán en los requisitos básicos antes mencionados, para una forma de realización eficiente.
Si, sin embargo, la porción de 32 bits superior de cada valor de energía de señal en el registrador 14 de salida se va a usar realmente sólo una mejora puede primero ser lograda por desplazar todos los valores de línea de frecuencia en un grupo de frecuencia a la izquierda por el mismo número de bits antes de elevar al cuadrado, por lo cual los resultados contienen así un número mayor de bits válidos en la porción de 32 bits superior del resultado de 64 bits, o desplazando el resultado en el registrador 14 del resultado. La porción superior 14a de cada valor de energía de señal puede luego ser convertida en un intervalo logarítmico aplicando una unidad de cálculo para calcular la función de logaritmo a la porción superior respectiva 14a de las energías de señal. La unidad de cálculo solamente tendrá que ser capaz de tomar el logaritmo de un valor de datos de punto fijo, de 32 bits, con el fin de obtener un valor de datos de punto fijo, de 64 bits. La función de logaritmo, la cual convierte el valor x en el valor y, puede ser y = log2(X)/64, el curso de la función la cual se ilustra en la Figura 3. Esta Figura 3 muestra solamente la sección de la función de logaritmo con xe )0.1(, el cual es el único uno relevante para los valores de energía de señal cuadrados en el formato de datos de punto fijo de 32 bits. Aquí, el factor escalar 1/64 asegura que el valor posible más cercano, es decir un valor de la señal de energía de 2~63 (1 bit es al menos reservado para el signo) , también cubre el posible intervalo del valor de salida, que se extiende desde -1 hasta 1, exclusivamente en el caso de representaciones de punto fijo, aún si los valores de señal de energía, los cuales, de acuerdo con la función de logaritmo de la Figura 3, se toman del logaritmo de, son valores de punto fijo de 64 bits. Sin embargo, el procedimiento no será satisfactorio como en las etapas del proceso ulteriores de la codificación de audio dentro de un codificador de audio todas las energías de señal deben por todos los medios tener la misma escala y, por lo tanto, el desplazamiento a la izquierda y/o el factor de escala que aumenta la exactitud interferirá con la exactitud de este mismo nivel de escala. En este punto exactamente, el efecto de una propiedad positiva de tomar el logaritmo se muestra. Como se notó antes, la representación de las energías de línea es exacta máximamente por medio del desplazamiento prescrito a la izquierda, por ejemplo, s posiciones de bits en la línea de frecuencia y/o dominio de amplitud y/o por el escalado por un 22s efectivo en el dominio de energía de señal a la izquierda realizado en este grupo de frecuencia, es decir, el valor s, debe ser notado. Si el valor de energía de señal de la función de logaritmo, mostrado en la Figura 3, en lo siguiente referido como LD64(), el cual se calculó con tal exactitud alta, es ahora convertido en el intervalo logarítmico - en lo siguiente, algunas veces referido como formato LD64- luego el mismo está aún presente con la exactitud posible máxima. Un desplazamiento a la izquierda de las líneas de frecuencia por hilera de 1 bit corresponde a, por ejemplo, un desplazamiento a la izquierda por 2 bits en las energías de señal en el intervalo no logarítmico lineal, es decir, después de elevar al cuadrado, y esto, a su vez, corresponde a la adición de 2/64 en el intervalo logarítmico como 2/64 = log2(2)2)64 = LD64 (22) . Con el fin de restaurar la escala original en las energías de señal en el formato LD64, solamente una resta con 2*s/64 debe ser efectuada, en que s corresponde al desplazamiento notado previamente a la izquierda de los valores de línea de la frecuencia del grupo. Sin embargo, esta resta no resulta en una pérdida de exactitud, ya que bits no válidos se pierden y/o desplazan fuera, como será el caso con un desplazamiento a la derecha en el intervalo lineal. Así, las energías de señal están presentes en el formato LD64, el cual se explicará en lo siguiente, es ventajoso para los cálculos ulteriores en cualquier manera del codificador de audio, con una exactitud alta y el mismo escalado para todos los valores de energía de señal.
Después de la discusión anterior de los principios y ventajas de las modalidades de la presente invención, en lo siguiente, serán explicadas modalidades preferidas de la presente invención en mayor detalle con respecto a las Figuras 4 a 7. La Figura 4 muestra una representación esquemática de un aparato adecuado para calcular la suma de cuadrados de un grupo de N x bits valores de punto fijo, mientras por una parte mantiene el intervalo dinámico y por otra retiene los gastos del hardware dentro de límites razonables. El aparato se basa en las consideraciones previas. El aparato de la Figura 4, el cual se designa generalmente con 20, incluye registradores 22?, 222, ... 22N, de x bits, para almacenar los valore de punto fijo de N bits, una suma de cuadrados medios 24, para determinar la suma de cuadrados de valores en los registradores 22?, ... 22N, en el intervalo logarítmico, escalado por un factor de escalado efectivo ajustable, un registrador 26 del primer resultado, para cerrar el resultado de la suma de cuadrados medios 24, medios para tomar el logaritmo 28, para convertir el resultado en el registrador 26 del resultado en el formato LD64, un registrador 30 del segundo resultado, para cerrar el resultado de los medios para tomar el logaritmo 28, que re-escala los medios 32 para re-escalar y/o revertir el re-escalado del resultado en el registrador 30 del resultado, un registrador 34 de salida para trabar el resultado final, conforme sale por el medio 32 de re-escalado, y elementos 36 de control, que aseguran que el escalado efectuado por la suma de cuadrados medios 24 se invierta por el re-escalado en el medio 32 de re-escalado y determinar además el factor de escalado común. Después que los componentes individuales del aparato 20 se han descrito, su cooperación en la creación de las sumas de cuadrados será descrita en lo siguiente, en que cada interacción se indica por flechas respectivas. Como ya se ha mencionado, los valores que se van a someter a la suma de cuadrados están primero presentes en los registradores 22?, ...22N, en el formato de punto fijo de x bits. Como también se explicó previamente, estos valores, que pueden ser valores de línea de frecuencia, pueden divergir claramente de uno a otro, con respecto al número de sus bits válidos . La suma de cuadrados medios 24 ahora recibe estos valores en los registradores 22? a 22N, con el fin de someter los mismos a una creación de una suma de cuadrados, en tal forma que finalmente una suma de cuadrados de los valores en los registradores 22? a 22N, estará presente en una representación de punto fijo en el registrador 26, escalado por un factor de escalado efectivo, ajustable, al menos indirectamente, por medios de control 36. Aquí, no es absolutamente necesario que el registrador 26 de resultado, en el cual se escribe la suma de cuadrados medios 24, el resultado de esta suma de cuadrados tenga 2x bits. Más bien, será suficiente como se insinúa por la representación de línea de guiones parcial del registrador 26, si la suma de cuadrados medios 24 suministra una representación de punto fijo de y bits del resultado, en que preferiblemente y = x. En las siguientes dos posibilidades en particular, se mostrará cómo la suma de cuadrados medios 2 particulares pueden considerar la información del factor de escala desde medios de control 36, con el fin de producir el resultado escalado en el registrador 26 y cómo el medio de control 36 puede determinar la información del factor de escala y/o el factor de escala efectivo por el cual el resultado en el registrador 26 se escala, de manera que ningún bit válido se pierda por el sobre flujo. Con base en la descripción precedente, la primera posibilidad consiste en que el elemento 36 de control, que analiza los contenidos de los registradores 22? a 22N, con el fin de determinar el valor de escalado efectivo de antemano, con el fin que no pueda ocurrir un sobre flujo por la suma subsiguiente de los cuadrados de los valores en los registradores 22? a 22N, . Esto ocurrirá si ningún bit de sobre flujo está presente en una unidad del cálculo de adición de la suma de cuadrados medios 24, indicado en la Figura 4 con 38, o al menos cuando el cuadrado de "sobre flujo" y/o el valor de energía se escriben en una celda de memoria que no ofrece definitivamente cualquier bit de sobre flujo, como es el caso por ejemplo con el registrador 26. Por lo tanto, el elemento 36 de control ajusta la información del factor de escala en dependencia del número N y el número máximo de bits libres en los registradores 22? a 22N, y/o el máximo de x menos el número de posiciones válidas de los valores individuales en los registradores 22? a 22N, que ningún sobre flujo ocurra en una salida en el registrador 26 y/o el resultado no dejará el intervalo de valores de -1 a 1 exclusivamente. En particular, el medio de control 36 puede, como se mencionó previamente, ajustar el actor de escala efectivo, por el cual el resultado en el registrador es escalado, por medio de un factor de escala común, el cual la suma de cuadrados medios 24 utiliza para escalar los contenidos del registrador 22? a 22N, en el inicio, es decir, antes de la elevación al cuadrado 40. En particular, el factor de escala común, como ya se ha explicado previamente, puede corresponder a una potencia de 2, así que el escalado de antemano de los valores en los registradores 22]. a 22N, puede ser logrado por una operación de desplazamiento a la izquierda. En este caso, no será necesario, como ya se ha explicado antes, que la suma de cuadrados medios 24 agregue 38 a los resultados intermedios de elevación al cuadrado 40 de los contenidos individuales del registrador escalado en un formato de datos de punto fijo 2x, con el fin de producir el resultado en el registrador 26 de resultados, más bien que la suma de cuadrados medios 24 requiera una representación de punto fijo de y bits de los resultados de cuadrados intermedios 42x ...41N, únicamente. La suma 38 a través de todos los resultados de cuadrados intermedios 41?...42N, suministra un resultado final de la suma de cuadrados medios 24 en el registrador 26. Asimismo otra posibilidad para determinar y considerar el factor de escala será la suma de cuadrados medios 24, primero sometiendo los contenidos 22? a 22N, del registrador al cuadrado 40, uno después de otro, con el fin de obtener resultados intermedios 42? a 42, en el formato de datos de punto fijo 2x. El mismo luego será sometido a la suma 38 por la suma de cuadrados medios 24. El resultado de la suma de cuadrados de punto fijo 2x luego será examinado en el número de bits no usados y/o la diferencia entre 2x y el número de posiciones válidas por los medios de control 36, con el fin de ejecutar una operación de desplazamiento correspondiente a la izquierda por un número respectivo de bits en este resultado de la suma de cuadrados de 2x bits por la suma de cuadrados medios 24, entes que los últimos entren el resultado en el registrador 26. La desventaja en este procedimiento comparado con aquel descrito primero, es que el gasto del cálculo interno en la suma de cuadrados medios 24, sería aumentado, ya que los valores 42?a 42N tendrán que ser procesados con un ancho de palabra de 2x, y en particular tendrán que ser sometidos a la suma 38. Para esto, o una unidad de cálculo de adición con capacidad de desempeño aumentada se requerirá o también una unidad de cálculo de adición de formato de datos de punto fijo, de y bits, que tiene un bit de sobre flujo asignado deberá ser controlado más a menudo. Con esta posibilidad, la suma de cuadrados medios 24 primero cuadrará los valores en los registradores 22? a 22N, individualmente, y luego sumará 38 a los valores de cuadrados de punto fijo de 2x bits, 42? a 42N y después escalará el resultado de acuerdo con la información del factor de escala de la unidad 36 de control y producirá la misma al registrador 26. En una modalidad, la cual es llevada a cabo preferiblemente con x = 24 bits, el registrador 26 tiene una longitud de y = 2x posiciones. En otra modalidad, la cual es llevada a cabo preferiblemente con x = 32 bits, una reducción de posición a x posiciones se realiza tan pronto como en el cuadrado en un medio 42? a 42N en una manera tan pronto como durante el cuadrado o después del cuadrado, pero antes de almacenar en el registrador. Luego, la suma se realiza con un ancho de palabra de x bits. Aquí, el registrador 26 así sólo comprenderá y= x posiciones. Los medios para tomar el logaritmo pueden luego también comprender preferiblemente x posiciones . Por medio del factor de escala efectivo, el número de bits válidos en el registrador 26 de resultados, puede ser alistado casi óptimamente. Ahora, los medios para tomar el logaritmo 28 reciben la representación del punto fijo de y bits del registrador 26, en que, si fuera necesario, las posiciones de bits remanentes de una exactitud mayor son descontadas y someten a as mismas a la conversión del formato LD64, discutida anteriormente, con respecto a la Figura 3, con el fin de entrar el resultado en el registrador 30 en el formato de datos de punto fijo de z bits, en que preferiblemente z = y y preferiblemente y = x. El resultado en el registrador 30 de resultaos muestra una representación logarítmica de la suma de cuadrados de los valores en los registradores 22? a 22N, . El medio 32 de r-escalado ahora invierte el escalado restando del valor escalado en el registrador 30 un valor 44 de corrección, el cual se recibe desde el medio 36 de control. En el caso del formato LD64, el valor de corrección, como se mencionó previamente, se suma a LD64(s), en que s será el factor de escala efectivo, con el cual la suma de cuadrados en el registrador 26 de resultados, se escala. El resultado es luego producido en el registrador 34, en el formato de datos de punto fijo por el medio 32 de re-escalado. Haciendo referencia a la Figura 4, se da un perfil aproximado de la función de una modalidad preferida de la presente invención, sin tener además una forma de realización del hardware posible. La Figura 5 muestra una posible realización del aparato de la Figura 4 en levemente más detalle. El aparato de la Figura 5, el cual se diseña generalmente con 60, incluye una memoria 62, el elemento de control 64, medios 66 de desplazamiento, un medio 68 para cuadrar, un sumador 70, un tomador 73 de logaritmos, un divisor 74 y un restador 76. Todos los módulos 62 a 76 se conectan en comunicación mutua por medio, por ejemplo, de un colector o también una interfaz 78 de programa. Los medios 66 a 76 pueden ser realizados en el hardware, pero pueden también en parte ser códigos de programa respectivos realizados por los elementos de control 64, con el fin de lograr las tareas respectivas. Los módulos 66 a 76 deben cada uno ser solamente capaces de procesar operandos de formatos de datos de punto fijo, de x bits. Entre los módulos 66 a 76, los módulos 66 a 70 forman la suma de cuadrados medos 80, mientras el tomador 72 de logaritmos y el divisor 74 se combinan para formar medios para tomar el logaritmo 82. El medio 64 de control es, por ejemplo, un programa controlado y causa la creación de suma de cuadrados de valores, los cuales se depositan en el formato de datos de punto fijo de x bits en la memoria 62 en ubicaciones 84?...84N de x bits, sean realizadlas. La función exacta del medio 64 de control es discutida con respecto a la Figura 6. Aquí, se supone específicamente que los valores de punto fijo de x bits en las ubicaciones de memoria 84?-..84N sean valores de líneas de frecuencia de un grupo de frecuencia. Primero, el elemento de control 100 examina los valores de la línea de frecuencia del grupo en las ubicaciones de memoria 84? ' 84N y ajusta un factor de escala común. El ajuste en la etapa 100 se realiza, como se explicó anteriormente, en la base del número N y el número mínimo de posiciones de bits sin usar en las ubicaciones de memoria 84? a 94N, . Específicamente, algunos ajustes al factor de escala común a una potencia de 2, tal como 2S. Alternativamente, el elemento de control 64 ajusta un valor s de desplazamiento, el cual corresponde al factor 2S de escala común. El elemento de control entre el valor s o 2S en un registrador 101, interno o externo, para el cierre.
En una etapa subsiguiente 102, el elemento 64 de control causa que el medio 66 de desplazamiento desplace los contenidos de las ubicaciones de memoria 84? a 84N con los valores de línea de frecuencia del grupo a la izquierda por s posiciones de bit, de acuerdo con el factor de escala común y/o el valor de desplazamiento. En una etapa 104, el elemento 64 de control luego causa que el dispositivo que eleva al cuadrado 68 cuadre cada valor en las ubicaciones de memoria 84x a 84N y escriba la mitad superior del resultado de 2x bits de nuevo en la ubicación de memoria respectiva 84? a 84N . El dispositivo que eleva al cuadrado 58 es, por ejemplo, un multiplicador, en que el elemento de control 104 escribe el valor respectivo que se va a elevar al cuadrado, desde una de las ubicaciones de memoria. 84x a 84N, en ambos registradores multiplicandos de x bits del multiplicador. Este dispositivo que eleva al cuadrado puede incluir internamente, por ejemplo, un registrador de resultados de 2x bits, en que el elemento de control 64, sin embargo, asegura que sólo la mitad superior, es decir el valor al cuadrado del punto fijo, de x bits, se escriba de nuevo en la ubicación de memoria respectiva 84? a 84N, Alternativamente, el medio que eleva al cuadrado calcula solamente una representación de x bits, de antemano, y, por lo tanto, tiene sólo un registrador de salida de x bits.
Después de eso, en la etapa 106, el medio 64 de control crea una suma a través de todos los contenidos de las posiciones de memoria 84? a 84N, por medio del sumador 70. Puede comenzar con la suma de los primeros dos valores y escribe el resultado en un registrador 86 de suma de x bits, en el formato de datos de punto fijo de x bits. En seguida, el medio 64 de control puede usar el sumador 70 con el fin de agregar el valor con la posición de memoria 86 a los valores subsiguientes, uno después de otro, y sobre-escribe cada valor previo en la ubicación 86 de memoria con la suma resultante. Alternativamente, el medio de control 64 puede asegurar que la suma sea escrita en una de las posiciones de memoria 84? a 84N, y acumularse ahí . En una etapa 108, el medio 64 de control luego instruye al medio que toma logaritmos 72 para tomar el logaritmo de la suma en la ubicación 86 de memoria, y después de eso, el divisor 74 divide el resultado por 64. El resultado intermedio del medio 72 que toma logaritmos es, por ejemplo, escrito de nuevo en la ubicación 86 de memoria, como es, por ejemplo, el resultado del divisor 74. SI este divisor es una potencia de 2, él será realizado como un medio de desplazamiento sencillo. Después de la etapa 106, una representación escalada con el logaritmo tomado de la suma de cuadrados está, por lo tanto, presente en la ubicación 86 de memoria. En una etapa 110, el medio de control, por lo tanto, instruye al restador 76 a restar del valor en la ubicación 86 de la memoria, el cual es dividido y el logaritmo del cual es tomado, un valor dependiente del factor de escalado s almacenado en el cerrojo 101, es decir, el valor 2*s/64. Después que las modalidades preferidas de la presente invención se han descrito anteriormente con respecto a las Figuras 4 a 6, en lo siguiente se discutirá una modalidad para un codificador de audio, en el cual se realiza un aparato de acuerdo con estas modalidades . El codificador de audio de la Figura 7, el cual se designa generalmente con 150, incluye medios 152 de transformación, medios 154 del cálculo de energía de grupo y un generador 156 de corriente del código, que se conectan en serie ente una entrada 158 y una salida 160 del codificador 150. El generador 156 de corriente usa un modelo psicoacústico 162, con el fin de desplazar la información irrelevante, por ejemplo, desde una señal de audio 164, para ser codificada y presentar en la entrada 158, cuya distancia sólo afecta levemente o nada la cualidad de audio de la corriente de datos codificados producida en la salida 160. Aunque no se muestra en la Figura 7, el generador de corriente de códigos 156 puede ser acoplado al medio 152 de transformación o al medio de cálculo 154 de energía del grupo por medio de una trayectoria de retrocarga. La señal de audio 174 presente en la entrada 158 , por ejemplo, es como una secuencia de valores de muestreo de audio, los cuales son muestreados con frecuencia predeterminada del muestreo. La señal 164 de audio puede, por ejemplo, estar presente en un formato PCM. En 164, la señal de audio se representa como proyectada contra el tiempo t, en que el eje vertical representa la amplitud A en unidades arbitrarias. Luego, el medio de transformación 152 transforma la señal 164 de audio de un intervalo de tiempo en un intervalo espectral, por descomponer la señal de audio 164 en sus constituyentes espectrales. El medio 152 de transformación puede, por ejemplo, consistir específicamente de un banco de filtro de análisis, que tiene 32 filtros de paso de banda. Más precisamente, el medio 162 de transformación descompone la señal 164 de audio en componentes espectrales, sección por sección. Las secciones o marcos 166, para los cuales la descomposición espectral es efectuada, traslapa en tiempo, por ejemplo, por 50%. En cada componente espectral, un valor espectral y/o valor de línea de frecuencia se crea para cada marco sucesivo, que se ilustra por medio de puntos en el espectrograma 168, generado por el medio 152 de transformación. Esta manera, una línea de frecuencia de una secuencia de valores de líneas de frecuencia se crea por el componente espectral, en que las líneas de frecuencia se indican en 168 con flechas horizontales, que se dividen visualmente en valores de línea de frecuencia para los tres marcos indicados 166 solamente. En el espectrograma 168, un número arbitrario de líneas de frecuencia se dispone a lo largo del eje espectral o del eje de frecuencia f, en tanto, sin embargo, el número real de líneas de frecuencia será mayor. Basado en el espectrograma 168 así creado, el generador 156 de corriente de código 156 generará la corriente de datos codificados. Para este fin, el generador 156 de corriente de código, sin embargo, no p no siempre requiere la descomposición espectral de todos los componentes espectrales. Además, las líneas de frecuencia son divididas, de acuerdo con aspectos psicoacústicos en los grupos 170, como se indica por círculos . Para la generación de corriente de código para cada grupo 170, el generador 156 de la corriente de código requiere específicamente, para cada uno de los marcos 166, el valor de energía de la señal asociada, es decir, la suma de cuadrados de los valores de amplitud, o sea la suma de cuadrados de los valores de la línea de frecuencia.
El cálculo se realiza por el medio 154 del cálculo de la energía de grupo, calcula la energía de señal para cada grupo 170 de líneas de frecuencia, como la suma de cuadrados de las líneas de frecuencia, en que el medio 154 de cálculo de energía de grupo es, por ejemplo, configurado como se muestra en las Figuras 4 y 5 y/o funciona como se describió en las figuras 4 a 6. El resultado del medio 154 del cálculo de energía de grupo es las secuencias 172 de los valores de energía de señal, es decir, una secuencia 172 por grupo 170. Por lo tanto, las secuencias 172 de energía de señal tienen un valor de energía de señal por marco 166, que se ilustra a lo largo de las flechas 172, por medio de un punto. Con base en estas secuencias 172, los valores de energía de señal, el generador 156 de corriente de código luego genera la corriente 160 de datos codificados en la base del modelo psicoacústico 162. Aquí, una ventaja en el reproceso de los valores de energía de señal en el medio 156 no es sólo los valores presentes en el formato de datos de punto fijo, que tienen el mismo número de bits, conforme los valores de línea de frecuencia están presentes, sino también los valores presentes en el intervalo logarítmico, conforme este intervalo habilita la ejecución más sencilla de las multiplicaciones, exponentes y divisiones, ya que cualquiera de estas operaciones transforma en adiciones/restas más sencillas y multiplicaciones/divisiones en el intervalo logarítmico. Con el fin de ilustrar esto, consideremos el caso del codificador de la Figura 7, que produce una corriente de datos MPEG. El codificador de audio de la Figura 7 es, por ejemplo, un codificador MPEG AAC, en este casos, el generador 156 de corriente de código incluye el módulo TNS (configuración de ruido temporal) , en el cual el generador 156 de corriente de código realiza un cálculo eficiente del espectro pesado de energía. Este módulo TNS en particular realiza un cálculo con las energías de señal SE del tipo x = Í/ÍSE)1* ' Esto puede ser efectuado más fácilmente con las energías de señal estando en el formato logarítmico LD64, como se usa por el medio 154 de cálculo de energía de grupo. El módulo TNS calcula simplemente X en LD64"1 (-LD64_SE »1) , en que a » b indica una operación de desplazamiento a la derecha del operando a en el costado izquierdo por el número b de bits en el costado derecho, en tanto LD64"1 () es una función inversa de la función de logaritmo LD64() y LD64_SE es el valor de energía de señal en el formato LD64 logarítmico, conforme se produce por el elemento 154 de cálculo de energía de grupo. "» 1", por lo tanto, designa un desplazamiento a la derecha por 1 bit, que corresponde a una división por 2. La división por 2, como se realiza en el intervalo logarítmico, corresponde a la raíz cuadrada en el intervalo lineal. El signo menos corresponde a la función inversa 1/x en el intervalo lineal, el cálculo de la función LD64-1 se puede realizar con menos complejidad que el cálculo de la raíz de y la inversión del resultado, que serían requeridos si las energías de señal se alimentan al generador 156 de la corriente del código en el intervalo lineal. Este generador 156 de la corriente de código podría también generar una corriente de datos PEG 4 AAC y luego incluiría un módulo PNS sustitución del ruido perceptual) . Este módulo PNS calcula internamente la distancia entre el umbral de espucha y la energía de señal en el grupo 170 de frecuencia. El módulo PNS se determina específicamente por medio de la distancia entre el umbral de escucha y la energía de señal, si la sustitución de ruido puede o no ser realizada. La dinámica mayor y la exactitud relacionada de la representación logarítmica de las energías de señal, conforme ellas se producen por unidad 154 de cálculo de energía de grupo, y el umbral de escucha, que son también provistos en la representación LD64 logarítmica en el generador 156 de corriente de código son la contribución esencial a la determinación de PNS correcta. En particular, en la función de coherencia en el módulo de PNS, una división y un cálculo de raíz en la forma de Y = (SE l/ÍEl.S)^ ocurre, en que SE1, SE2 y 3 son energías de señal producidas por el medio 154 de cálculo de energía de grupo. La representación logarítmica de la energía de señal facilita y acelera este cálculo en una extensión mayor. Específicamente, el módulo PNS en el generador 15 de corriente de código puede realizar el cálculo de LD64Y, es decir de Y en el formato LD64, por calcular lo siguiente LD64_Y = LD64_SE1 - ( (LD64_SE2 + LD64-SE3)» 1) en que LD64_SE# será la representación logarítmica del valor de energía de señal respectivo SE#, conforme es producido por el medio 154 de cálculo de energía de grupo. El generador 156 de corriente de código puede, por ejemplo, también comprender un módulo de estéreo central/lateral que realiza una decisión de codificación central/lateral. En este módulo CS, se calculan numerosas divisiones, es decir del umbral de escucha a la energía de señal, para la decisión si una codificación central/lateral (CS) se va a usar o no. Por el uso del formato LD64, conforme es producido por el medio 154 de cálculo de energía de grupo, estas divisiones se transforman en simples restas. Los umbrales, como cuál codificación CS se va a usar, son constantes y pueden, por lo tato, ser convertidaza en el intervalo logarítmico ya en el código de fuente, por lo cual no se requiere un tiempo de cálculo ulterior además del tiempo de operación del programa. Esto se aplica a muchas más constantes, usadas en el código modificado en relación con los cálculos de LD64. Lo mencionado antes, en particular, también se aplica al módulo de estéreo de intensidad de un MPE Layer 33 o codificador AAC. El generador 156 de corriente del código puede además comprender un estimador del factor de escala, que realiza un cálculo de un volumen alto de sonido. En el estimador del factor de escala, que es un ejemplo ubicado en el módulo de cuantificación del generador 156 de corriente de código, un cálculo de la cuarta raí de los umbrales de escucha, es decir un cálculo del volumen de sonido, se realiza. Representando el umbral de escucha por medio de un formato de datos logarítmicos, es decir el LD64, el cálculo de esta cuarta raíz puede ser realizado muy eficientemente por desplazar simplemente los umbrales medios logarítmicos a la derecha por 2 bits. La etapa inversa, es decir una involución por 4, puede también ser realizada en una manera muy sencilla, desplazando a la izquierda por 2 bits. En el estimador del factor de escala del generador 156 de corriente de código, asimismo, por ejemplo, un cálculo de los factores de escala SCF, que constituye una parte del ancho de la etapa de cuantificación, puede ser calculado de los umbrales de escucha modificados, LT, y las energías de señal, SE. El cálculo incluye la etapa de cálculo del tipo SCF = log (k*LT/SE), en que log ( ) será un logaritmo común y k será una constante. Este cálculo puede ser logrado muy elegante y eficientemente por el uso del formato LD64 y una conversión correspondiente de la fórmula original. El estimador del factor de escala realizará el cálculo específicamente como tal: SCF = log/k) + log2*64* (LD64_LT-LD64_SE) " Los ejemplos anteriores de módulos posibles dentro del generador 156 de corriente de código muestra que el uso del formato de datos logarítmico LD64 facilita un aumento en eficiencia en los procesadores de punto fijo. El formato LD64 de datos logarítmicos, en muchos casos, realiza la forma de realización de un codificador de audio con alta calidad de audio en estas posibles plataformas, si cierta calidad de audio no está cerca del mismo. Los ejemplos anteriores para módulos posibles en el generador 156 de corriente de código, en particular, muestran que la representación de las energías de señal, umbrales de escucha y valores de energía ulteriores en un formato de datos logarítmico es muy apropiada como en el proceso de energías de señales y umbrales de escucha, la mayoría de las etapas de cálculo se realizan por medio de una división o multiplicación. Por lo tanto, una división se transforma en una resta y una multiplicación en una suma, lo cual resulta en una representación eficiente y proceso de las energías de señal y los umbrales de escucha en un codificador de audio por medio del formato de datos logarítmicos ilustrado. Las estrategas de señal en el intervalo lineal, es decir en el intervalo no logarítmico, se representan en el formato de datos de punto fijo, fraccional, el cual tiene un intervalo de valor de -.0 hasta +0.99999... En las modalidades anteriores, un logaritmo de base 2, el logaritmo doble LD, se usa. En un logaritmo doble, un valor de energía de señal de 0.25 en el intervalo lineal corresponde a un valor LD de -2. Un valor de energía de 0.3 en el intervalo lineal, corresponde a un valor LD de -1.7369656. Como en un procesador de punto fijo, típicamente cualquier valor de enteros o también valores fracciónales, pero no valores mixtos, puede ser representado, en las modalidades precedentes, los valores de LD se escalan en el contexto del formato LD64, que sólo valores fracciónales se obtenían. Por supuesto, otra posibilidad sería escoger la escala de modo que sólo valores enteros se obtengan. Una escala con un factor de 1/64 se escoge específicamente, ya que esta factor es aplicable a todos los anchos de palabra hasta de 64 bits y, por lo tanto, también cubre los anchos de palabra convencionales de 48 bits y de 32 bits. El cálculo del logaritmo doble escalado con 1/64, es decir el formato LD64, se realiza de acuerdo con la fórmula y = log2(x)/64 = LD64 (x) . En renuncia de la portabilidad extendida, este factor puede, por supuesto, ser también aumentado, es decir, hasta 1/y, en que y será el número de bits de la suma escalada de cuadrados con el logaritmo no tomado. La Figura 3 muestra la gráfica de la función del logaritmo. aquí, las características de la función de logaritmo pueden ser reconocidas, las cuales para magnitudes menores, es decir en una representación de punto fijo valores x de entrada realmente más inexactos (más cercanos a 0.0) ofrecen un número mayor de valores de salida y, es decir una resolución menor en el intervalo logarítmico, la cual, conforme ellos son mayores en magnitudes, es decir, más cercanos -1.0, son, por lo tanto, más exactos en la representación de punto fijo. De acuerdo con las modalidades anteriores, una pérdida de exactitud en el cálculo de las energías de señal antes de la transición en el intervalo logarítmico, se evita por el factor de escala común y/o el valor de desplazamiento común, antes de elevar al cuadrado. Por lo tanto, la modalidad de la Figura 7 representa un codificador que usa un formato de datos logarítmicos escalados o aún no escalados, en el modelo psicoacústico y/o en el módulo de cuantificación para la representación y proceso de las energías de señal y los umbrales de escucha. Sin embargo, se entenderá que la descripción anterior del logaritmo doble y de la escala con 1/64 es solamente un ejemplo. En cualquier caso, la representación logarítmica sirve para lograr una ejecución más rápida de numerosos cálculos, tal como en el módulo de decisión central/lateral y el estimador del factor de escala del módulo de cuantificación, debido a que, como se ha explicado, al uso del formato logarítmico, las divisiones presentes originalmente se transforman en simples restas, las cuales pueden ser realizadas muchas veces más rápido en el procesador de punto fijo. Lo mismo se aplica a los cálculos de raíces, tal como el cálculo de una raíz cuadrada, una raíz cuarta, etc., las cuales se transforman en simples desplazamientos a la derecha. El gasto del cálculo será tomado por la transferencia en el intervalo logarítmico es por mucho compensado por la ganancia de velocidad en los últimos pasos del algoritmo. Por lo tato, las ventajas de las modalidades anteriores específicamente son la mayor exactitud de los valores representados logarítmicamente, al igual que la mayor velocidad del proceso en el uso de la representación logarítmica. Haciendo referencia a la descripción anterior, se entenderá que la presente invención no se limita a los formatos de datos de punto fijo. Las modalidades anteriores, relacionadas a la creación de sumas de cuadrados de valores puede también ser aplicada razonablemente a valores que están presentes no en el formato de datos de punto fijo, sino en un formato de datos de enteros. En este caso, el valor mayor de y bits del resultado de la suma de cuadrados de 2x bits, será suministrado a la toma del logaritmo. De acuerdo con las modalidades anteriores, se usa una función para tomar el logaritmo en la cual se realiza una escala por 1/64. Este factor es razonable si una y la misma codificación es para operar en diferentes plataformas con diferentes formatos de datos de punto fijo. Es, sin embargo, también posible que el factor en la función logarítmica puede sólo ser mayor de x, es decir, mayor que el número de bits de los valores que se suministran a la suma de cuadrados . Asimismo, se entenderá con respecto a las modalidades precedentes, que la presente invención no se limita a la creación de sumas de cuadrados. La presente invención puede, por ejemplo, también ser ventajosa si en los grupos existentes de sólo un valor de modo que sólo una codificación se realice. En este caso, el medio 36 de control, por supuesto, no tendrá que anticipar la información del factor de escala en alguna manera. Más bien, en este caso, el factor de escala usado para escalar el valor antes de elevar al cuadrado, resultaría automáticamente del número de bits válido y/o el número de bits sin usar. Muy generalmente, la presente invención puede ser usada para la creación de una representación de un resultado linealmente dependiente de un cuadrado de un valor. Haciendo referencia a la descripción anterior, también se entenderá que la presente invención, por supuesto, no se limita al uso en el contexto de codificación de audio. Las mismas ventajas, descritas anteriormente, con respecto a la codificación de audio, es decir, que logran el mismo nivel de escala para las energías de señal individuales, con el intervalo dinámico mantenido y la reducción simultánea del gasto de codificación de audio, pueden también ser obtenidos en otros campos de aplicación, por ejemplo, en proporcionar un archivo de audio con una marca de agua o similar. Se entenderá especialmente que, dependiendo de las circunstancias, el esquema de la invención puede también ser llevado a cabo en el software. La realización puede ser efectuada en el medio de almacenamiento digital, en particular en un disquete o un CD con señales de control que se pueden leer electrónicamente, que cooperan con un sistema de computadora programable, donde se ejecute el método respectivo. En general, la invención, por lo tanto, también consiste en un producto de programa de computadora con un código de programa para realizar el método de la invención, almacenado en un portador que se puede leer por la máquina, cuando este producto de programa de computadora opera en una computadora. En otras palabras, la invención, puede, por lo tanto, ser llevad a cabo como un programa de computadora, con un código de programa para realizar el método, cuando este programa de computadora se opera en una computadora.

Claims (18)

  1. REIVINDICACIONES 1. Un aparato para calcular una energía de señal de una señal de amplitud de información, este aparato comprende : un medio de transformación para descomponer una señal de amplitud de información en valores espectrales, presentes en una representación de x bits, con el logaritmo no tomado; medios de proceso para realizar la elevación al cuadrado en la representación de x bits, con el logaritmo no tomado de cada valor espectral, con el fin de obtener un valor espectral respectivo elevado al cuadrado y una suma de los valores espectrales al cuadrado, con el fin de obtener una suma de cuadrados como un resultado de cálculo en una representación de y bits, con el logaritmo no tomado, en que y es menor o igual a 2 veces x, y donde el elemento de proceso se configura para usar un factor de escala efectivo, de modo que el resultado del cálculo sea escalado con un factor de escala efectivo; medios para tomar el logaritmo, con el fin de aplicar una función de logaritmo a la representación de y bits, con el logaritmo no tomado del resultado de cálculo, con el fin de obtener una representación escalada con el logaritmo tomado del resultado de cálculo; y medios de re-escalado, para sumar o restar un valor de corrección, hacia o desde, respectivamente, la representación logarítmica escalada, el valor que corresponde a la función de logaritmo aplicada al factor de escala efectivo, con el fin de obtener una representación con el logaritmo tomado del resultado del cálculo, como la energía de señal.
  2. 2. El aparato, de acuerdo con la reivindicación 1, en que el medio de proceso se configura para anticipar la representación de x bits de cada valor espectral del grupo en un formato de datos de punto fijo.
  3. 3. El aparato, de acuerdo con la reivindicación 1 ó 2, en que además comprende : un medio de control, para impulsar el medio de proceso, de modo que el factor de escala efectivo sea dependiente de un número de valores espectrales del grupo de valores.
  4. 4. Aparato, de acuerdo con una de las reivindicaciones 1 a 3, que además comprende: un medio de control, para impulsar los medios de proceso, de modo que ,por el escalado con un factor de escala efectivo, sea mayor el número de posiciones válidas en la representación de y bits, con el logaritmo no tomado.
  5. 5. Aparato, de acuerdo con una de las reivindicaciones 1 a 4, que además comprende un medio de control para ajustar un factor de escala común, en dependencia de un número de valores espectrales, este medio de proceso comprende: un medio de escala, para escalar la representación de x bits con el logaritmo no tomado de cada valor espectral, en dependencia del factor de escalado común, con el fin de obtener valores espectrales escalados en una representación de x bits. un medio que eleva al cuadrado, para elevar al cuadrado la representación de x bits de cada valor espectral escalado, con el fin de obtener valores espectrales escalados elevados al cuadrado; y medios de suma, para la suma ascendente de los valores espectrales escalados al cuadrado, con el fin de obtener la suma de cuadrados .
  6. El aparato, de acuerdo con la reivindicación 5, en que la representación de x bits, con el logaritmo no tomado de cada valor espectral, se representa en un formato de datos de punto fijo, y el medio de control se configura para realizar además el ajuste en dependencia del número más pequeño de las posiciones de bits sin usar en las representaciones de x bits de los valores espectrales.
  7. Aparato, de acuerdo con la reivindicación 5 ó 6, en que el medio de control se configura para ajustar el factor de escala común a una potencia enésima de 3, y el medio de escala se configura para desplazar la representación d x bits de un valor espectral del grupo, en un registrador de valor de x bits por n bits.
  8. Aparato, de acuerdo con una de las reivindicaciones 5 a 7, en que el medio para elevar al cuadrado comprende un registrador de resultados de 2x bits y se configura para depositar un valor espectral escalado al cuadrado, predeterminado, de los valores espectrales escalados al cuadrado, en una representación de 2x bits, en el registrador de resultados de 2x bits, y el medio de suma se configura para leer una sección de y bits de la representación de 2x bits, desde el registrador de resultados de 2x bits, mientras ignora los bits remanentes en el registrador de resultado de 2x bits, con el fin de sumar la sección de y bits junto con las secciones de y bits de los otros valores espectrales escalados elevados al cuadrado, y escribir la suma de cuadrados en un registrador de y bits.
  9. 9. Aparato, de acuerdo con una de las reivindicaciones precedentes, en que el medio para tomar el logaritmo se configura para procesar la representación de y bits, con el logaritmo no tomado, de modo que la representación escalada, con el logaritmo tomado, corresponda a una representación de y bits del logaritmo doble de la representación de y bits, con el logaritmo no tomado, dividido por un número mayor o igual a y, y el medio de re-escalado se configura para agregar la representación escalada, con el logaritmo tomado, o su resta, a una cantidad que corresponda al logaritmo doble del factor de escala efectivo, dividido por dicho número.
  10. 10. Aparato, de acuerdo con una de las reivindicaciones precedentes, en que el elemento de proceso, el medio para tomar el logaritmo y el elemento de re-escalado, se configuran para operar en un formato de datos de punto fijo.
  11. 11. Aparato, de acuerdo con una de las reivindicaciones precedentes, llevado a cabo en un procesador de punto fijo.
  12. 12. Aparato, de acuerdo con una de las reivindicaciones .precedentes, en que y es igual a x o a 2x.
  13. 13. Aparato, de acuerdo con una de las reivindicaciones precedentes, en que el medio de transformación se configura para descomponer la señal de amplitud de información en los componentes espectrales, con el fin de obtener una línea espectral por componente espectral, donde cada línea espectral incluye una secuencia de los valores espectrales, en que las líneas espectrales se asignan a diferentes grupos espectrales y en que el medio de proceso se configura para realizar, para cada uno de los grupos, la elevación al cuadrado y la suma de los valores espectrales dentro del grupo respectivo, con el fin de obtener, para el grupo respectivo, una suma de cuadrados como un resultado del cálculo, y el medio para tomar el logaritmo y el medio de re-escalado se configuran para obtener una energía de señal para cada suma de cuadrados.
  14. 14. El elemento de proceso, de acuerdo con la reivindicación 13, que además comprende: un generador de corriente de códigos para, con base en los valores de energía de señal de los grupos, generar una corriente de datos codificados, que representan la versión codificada de la señal de amplitud de información.
  15. 15. El elemento de proceso, de acuerdo con la reivindicación 14 precedente, en que la señal de amplitud de información es una señal de audio.
  16. 16. El elemento de proceso, de acuerdo con la reivindicación 14 ó 15 precedente, en que el generador de corriente de códigos se configura para generar la corriente de datos codificados, con base además en un modelo psicoacústico.
  17. 17. El elemento de proceso, de acuerdo con la reivindicación 14 ó 16 precedente, en que el generador de corriente de códigos es un codificador MPEG 1/2 Layer-3 o un codificador MPEG 2/4 AAC.
  18. 18. Método para calcular una energía de una señal de una señal de amplitud de información, este método comprende : descomponer una señal de amplitud de información en valores espectrales, presentes en una representación de x bits, con el logaritmo no tomado; realizar la elevación al cuadrado en la representación de x bits, con el logaritmo no tomado de cada valor espectral, con el fin de obtener un valor espectral al cuadrado respectivo, y una suma en los valores espectrales cuadrados, con el fin de obtener una suma de los cuadrados como un resultado del cálculo en una representación de y bits, con el logaritmo no tomado, en que y es menor que o igual a 2 veces x y en que el desempeño es ejecutado usando un factor de escala efectivo, tal que el resultado de cálculo sea escalado con el factor de escala efectivo; aplicar una función de logaritmo a la representación de y bits con el logaritmo no tomado del resultado de cálculo, con el fin de obtener una representación escalada con el logaritmo tomado del resultado de cálculo; y agregar o restar un valor de corrección a o desde la representación logarítmica escalada, el valor corresponde a la función logarítmica aplicada al factor de escala efectivo, con el fin de obtener una representación con el logaritmo tomado del resultado de cálculo, como la energía de señal. Programa de computadora, con un código de programa para realizar el método de acuerdo con la reivindicación 18, cuando este programa de computadora es operado en una computadora .
MX2007006805A 2004-12-13 2005-12-13 Metodo para crear una representacion de un resultado de calculo, dependiente linealmente, en un cuadrado de un valor. MX2007006805A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004059979A DE102004059979B4 (de) 2004-12-13 2004-12-13 Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
PCT/EP2005/013383 WO2006063797A2 (de) 2004-12-13 2005-12-13 Verfahren zum bilden einer darstellung eines von einem quadrat eines wertes linear abhängigen berechnungsergebnisses

Publications (1)

Publication Number Publication Date
MX2007006805A true MX2007006805A (es) 2007-07-20

Family

ID=36390168

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007006805A MX2007006805A (es) 2004-12-13 2005-12-13 Metodo para crear una representacion de un resultado de calculo, dependiente linealmente, en un cuadrado de un valor.

Country Status (19)

Country Link
US (1) US8037114B2 (es)
EP (2) EP1825356B1 (es)
JP (2) JP4954087B2 (es)
KR (1) KR100921795B1 (es)
CN (1) CN101147122B (es)
AU (1) AU2005315826B2 (es)
BR (1) BRPI0517176B1 (es)
CA (1) CA2590509C (es)
DE (1) DE102004059979B4 (es)
ES (1) ES2596275T3 (es)
HK (1) HK1105233A1 (es)
IL (1) IL183835A (es)
IN (1) IN266829B (es)
MX (1) MX2007006805A (es)
NO (1) NO341726B1 (es)
PL (1) PL1825356T3 (es)
PT (1) PT1825356T (es)
RU (1) RU2375743C2 (es)
WO (1) WO2006063797A2 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004059979B4 (de) 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
GB0817977D0 (en) * 2008-10-01 2008-11-05 Craven Peter G Improved lossy coding of signals
US8311843B2 (en) * 2009-08-24 2012-11-13 Sling Media Pvt. Ltd. Frequency band scale factor determination in audio encoding based upon frequency band signal energy
EP2490006A4 (en) * 2009-10-14 2018-05-02 Nippon Paper Industries Co., Ltd. Method for measuring degree of contaminant deposition
JP2012235832A (ja) * 2011-05-10 2012-12-06 Canon Inc 被検体情報取得装置
EP2980801A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for estimating noise in an audio signal, noise estimator, audio encoder, audio decoder, and system for transmitting audio signals
US10020002B2 (en) * 2015-04-05 2018-07-10 Qualcomm Incorporated Gain parameter estimation based on energy saturation and signal scaling
US10559315B2 (en) * 2018-03-28 2020-02-11 Qualcomm Incorporated Extended-range coarse-fine quantization for audio coding
DE102022200283A1 (de) * 2022-01-13 2023-07-13 Robert Bosch Gesellschaft mit beschränkter Haftung Radarsystem und Verfahren zum Betreiben eines Radarsystems

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3587251T2 (de) * 1984-12-20 1993-07-15 Gte Laboratories Inc Anpassbares verfahren und vorrichtung fuer sprachkodierung.
JPS61188624A (ja) * 1985-02-15 1986-08-22 Fujitsu Ltd 固定小数点演算装置
US5197024A (en) 1989-06-14 1993-03-23 Pickett Lester C Method and apparatus for exponential/logarithmic computation
JP2948378B2 (ja) * 1991-09-28 1999-09-13 富士ゼロックス株式会社 重力多体系および電気力多体系用相互作用力計算用処理装置
JP3217576B2 (ja) * 1993-02-22 2001-10-09 テキサス インスツルメンツ インコーポレイテツド 集積オーディオデコーダ装置及び動作方法
US5764698A (en) * 1993-12-30 1998-06-09 International Business Machines Corporation Method and apparatus for efficient compression of high quality digital audio
US5570454A (en) * 1994-06-09 1996-10-29 Hughes Electronics Method for processing speech signals as block floating point numbers in a CELP-based coder using a fixed point processor
JPH08237497A (ja) * 1995-02-23 1996-09-13 Canon Inc 画像処理装置及び方法
US5608663A (en) * 1995-03-03 1997-03-04 Motorola, Inc. Computational array circuit for providing parallel multiplication
KR0154387B1 (ko) * 1995-04-01 1998-11-16 김주용 음성다중 시스템을 적용한 디지탈 오디오 부호화기
US5699485A (en) * 1995-06-07 1997-12-16 Lucent Technologies Inc. Pitch delay modification during frame erasures
US5719998A (en) 1995-06-12 1998-02-17 S3, Incorporated Partitioned decompression of audio data using audio decoder engine for computationally intensive processing
JP3110288B2 (ja) * 1995-07-21 2000-11-20 日本電気株式会社 指数対数変換回路
US5864802A (en) * 1995-09-22 1999-01-26 Samsung Electronics Co., Ltd. Digital audio encoding method utilizing look-up table and device thereof
KR100335609B1 (ko) 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
JPH11242585A (ja) * 1998-02-24 1999-09-07 Sony Corp 除算回路およびグラフィック演算装置
AU3372199A (en) * 1998-03-30 1999-10-18 Voxware, Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
DE19826252C2 (de) * 1998-06-15 2001-04-05 Systemonic Ag Verfahren zur digitalen Signalverarbeitung
JP3515903B2 (ja) * 1998-06-16 2004-04-05 松下電器産業株式会社 オーディオ符号化のための動的ビット割り当て方法及び装置
JP2000151414A (ja) * 1998-11-12 2000-05-30 Matsushita Electric Ind Co Ltd ディジタルオーディオ符号化装置、同符号化方法、及び同符号化プログラムを記録した記録媒体
US6341300B1 (en) * 1999-01-29 2002-01-22 Sun Microsystems, Inc. Parallel fixed point square root and reciprocal square root computation unit in a processor
US6516049B1 (en) * 2000-06-06 2003-02-04 Ikanos Communications, Inc. Method and apparatus for insertion loss estimation in wireline communications
US6754618B1 (en) * 2000-06-07 2004-06-22 Cirrus Logic, Inc. Fast implementation of MPEG audio coding
JP2002196792A (ja) * 2000-12-25 2002-07-12 Matsushita Electric Ind Co Ltd 音声符号化方式、音声符号化方法およびそれを用いる音声符号化装置、記録媒体、ならびに音楽配信システム
US6732071B2 (en) 2001-09-27 2004-05-04 Intel Corporation Method, apparatus, and system for efficient rate control in audio encoding
DE10217297A1 (de) 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
DE10234130B3 (de) 2002-07-26 2004-02-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals
SG135920A1 (en) 2003-03-07 2007-10-29 St Microelectronics Asia Device and process for use in encoding audio data
DE102004059979B4 (de) 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals

Also Published As

Publication number Publication date
PL1825356T3 (pl) 2017-01-31
AU2005315826B2 (en) 2009-06-11
PT1825356T (pt) 2016-11-04
CA2590509A1 (en) 2006-06-22
CN101147122A (zh) 2008-03-19
JP4954087B2 (ja) 2012-06-13
NO341726B1 (no) 2018-01-08
AU2005315826A1 (en) 2006-06-22
EP1825356A2 (de) 2007-08-29
RU2375743C2 (ru) 2009-12-10
RU2007126655A (ru) 2009-01-20
BRPI0517176A (pt) 2008-09-30
DE102004059979A1 (de) 2006-06-14
EP1843246A3 (de) 2008-01-02
WO2006063797A2 (de) 2006-06-22
JP2008523450A (ja) 2008-07-03
KR100921795B1 (ko) 2009-10-15
ES2596275T3 (es) 2017-01-05
IL183835A (en) 2013-07-31
IL183835A0 (en) 2007-10-31
EP1843246A2 (de) 2007-10-10
KR20070086097A (ko) 2007-08-27
IN266829B (es) 2015-06-04
BRPI0517176B1 (pt) 2022-05-17
CA2590509C (en) 2014-10-28
JP4953978B2 (ja) 2012-06-13
CN101147122B (zh) 2012-07-18
EP1825356B1 (de) 2016-08-03
HK1105233A1 (zh) 2008-02-06
US20070276889A1 (en) 2007-11-29
DE102004059979B4 (de) 2007-11-22
NO20072916L (no) 2007-09-13
JP2008026912A (ja) 2008-02-07
WO2006063797A3 (de) 2006-09-21
US8037114B2 (en) 2011-10-11

Similar Documents

Publication Publication Date Title
MX2007006805A (es) Metodo para crear una representacion de un resultado de calculo, dependiente linealmente, en un cuadrado de un valor.
CN107993673B (zh) 确定噪声混合因子的方法、系统、编码器、解码器和介质
JP4398979B2 (ja) 変換表現に転換するか、または変換表現を逆変換するための装置および方法
US20230086320A1 (en) Pyramid vector quantizer shape search
KR100771401B1 (ko) 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법
CA2944927A1 (en) Apparatus and method for generating a plurality of spectral patterns
EP1495465B1 (en) Method for modeling speech harmonic magnitudes
KR20010042988A (ko) 음성 신호를 디코딩하기 위한 방법 및 장치
JPH07199996A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations
US6308194B1 (en) Discrete cosine transform circuit and operation method thereof
JPH07160267A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
US20080133634A1 (en) 0.75-power computing apparatus and method
EP1228507A1 (en) A method of reducing memory requirements in an ac-3 audio encoder

Legal Events

Date Code Title Description
FG Grant or registration