MXPA06006621A - Transcodificacion entre indices de diccionarios de impulsos multiples utilizados para la codificacion en la compresion de senal digital. - Google Patents

Transcodificacion entre indices de diccionarios de impulsos multiples utilizados para la codificacion en la compresion de senal digital.

Info

Publication number
MXPA06006621A
MXPA06006621A MXPA06006621A MXPA06006621A MXPA06006621A MX PA06006621 A MXPA06006621 A MX PA06006621A MX PA06006621 A MXPA06006621 A MX PA06006621A MX PA06006621 A MXPA06006621 A MX PA06006621A MX PA06006621 A MXPA06006621 A MX PA06006621A
Authority
MX
Mexico
Prior art keywords
positions
pulse
subframe
format
encoder
Prior art date
Application number
MXPA06006621A
Other languages
English (en)
Inventor
Mohamed Ghenania
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of MXPA06006621A publication Critical patent/MXPA06006621A/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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • 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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • 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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

La presente invencion se refiere a la transcodificacion de compresion entre codificadores de impuso que utilizan diccionarios de impulsos multiples en donde cada impulso tiene una posicion la cual es localizada por un indice. Para cada posicion de impulso actual proporcionada por el primer codificador, se forma una comunidad (Vge, Vde) alrededor de dicha posicion. Se seleccionan las posiciones de los impulsos en un conjunto que consiste de una union de comunidades de acuerdo con las posiciones de los impulsos admitidos por el segundo codificador. El segundo codificador recibe finalmente dicha seleccion (Sj), que comprende un numero reducido de posiciones de impulsos en relacion con el numero total de impulsos del diccionario del segundo codificador.

Description

TRANSCODIFICACION ENTRE ÍNDICES DE DICCIONARIOS DE IMPULSOS MÚLTIPLES UTILIZADOS PARA LA CODIFICACIÓN EN LA COMPRESIÓN DE SEÑAL DIGITAL Descripción de la Invención La presente invención se refiere a la codificación y descodificación de señales digitales, en particular en aplicaciones que transmiten o almacenan señales multimedia tales como señales de audio (voz y/o sonido). En el campo de la codificación de compresión, muchos codificadores modelan una señal de L muestras usando un número de impulsos mucho menor que el número total de muestras. Éste es el caso de ciertos codificadores de audiofrecuencia, por ejemplo, tal como el codificador de audio "TDAC" descrito en particular en el documento publicado US-2001 /027393, en el cual los coeficientes de transformación del coseno, modificados, discretos, normalizados en cada banda, son cuantificados por cuantificadores vectoriales usando los diccionarios algebraicos de tamaño interpolado, estos códigos algebraicos generalmente incluyen algunos componentes que son diferentes a cero, los otros componentes son iguales a cero. Esto también es el caso con la mayoría de los codificadores de voz que usan el análisis por síntesis, en particular los codificadores de la Algebraic Code Excited Linear Prediction (ACELP), Multi-Pulse Máximum Likelihood Quantization (MP-MLQ) y otros tipos. Para modelar la señal de innovación, estos codificadores utilizan un directorio integrado por las formas de onda que tienen muy pocos componentes que son diferentes a cero, tienen posiciones y amplitudes que obedecen además a reglas predeterminadas. Se describen brevemente a continuación codificadores de la clase anterior que usan el análisis por síntesis. En codificadores que usan el análisis por síntesis, un modelo de síntesis se utiliza en la codificación para extraer los parámetros que modelan las señales a ser codificadas, que se puede probar en la frecuencia del teléfono (Fe = 8 kilohertz (kHz)) o a una frecuencia más alta, por ejemplo en 16 kHz para la codificación de banda ancha (banda pasante de 50 hertz (hz) a 7 kHz). Dependiendo de la aplicación y de la calidad requerida, las velocidades de compresión varían de 1 a 16. Estos codificadores operan a velocidades del bit de 2 kilobits por segundo (kbps) a 16 kbps en la banda del teléfono y de 6 kbps a 32 kbps en la banda ancha. A continuación se proporciona una breve descripción del codee (codificador-descodificador) digital CELP, tal codee utiliza el análisis por síntesis y es el más ampliamente usado actualmente para la codificación/descodificación de señales de voz. Una señal de voz se prueba y se convierte en una serie de bloques de L' muestras llamados tramas. Como regla general, cada trama se divide en bloques más pequeños de L muestras llamados subtramas. Cada bloque es sintetizado filtrando una forma de onda extraída de un directorio (también llamado un diccionario) multiplicado por un aumento vía dos filtros que varían en tiempo. El diccionario de excitación es un conjunto finito de formas de onda de L muestras. El primer filtro es un filtro de predicción a largo plazo (LTP, por sus siglas en inglés). Un análisis de LTP evalúa los parámetros de este filtro de LTP, que explota la naturaleza periódica de los sonidos expresados (que representan típicamente la frecuencia del tono fundamental (la frecuencia de la vibración de los acordes vocales)). El segundo filtro es un filtro de predicción a corto plazo. Los métodos de análisis de la codificación de la predicción lineal (LPC, por sus siglas en inglés) se utilizan para obtener los parámetros de predicción a corto plazo que representan la función de transferencia de la zona vocal y la característica del espectro de la señal (que representa típicamente la modulación resultante de la forma asumida por los labios, las posiciones de la lengüeta y de la laringe, etc.). El método usado para determinar la secuencia de innovación es el método conocido como análisis por síntesis. En el codificador, una gran cantidad de secuencias de innovación del diccionario de excitación son filtradas por los filtros de LTP y LPC y se selecciona la forma de onda que produce la señal sintética se acerca a la señal original de acuerdo a un criterio ponderable perceptivo, conocido generalmente como el criterio de CELP. El uso de diccionarios de impulsos múltiples en estos codificadores de análisis por síntesis, se describe brevemente abajo, en el entendimiento que los codificadores de CELP y los descodificadores de CELP son bien conocidos por un experto en la técnica. El codificador de la velocidad de bits múltiple del ITU-T G.723.1 Standard es un buen ejemplo de un codificador que usa el análisis por síntesis que emplea diccionarios de impulsos múltiples. Aquí, todas las posiciones de impulso están separadas. Las dos velocidades de bits del codificador (6.3 kbps y 5.3 kbps) modelan la señal de innovación por medio de formas de onda extraídas del diccionario que incluye solamente un número pequeño de impulsos diferentes a cero: seis o cinco para la velocidad del bit alta, cuatro para la velocidad del bit baja. Estos impulsos son de amplitud +1 ó -1 . En su modo de 6.3 kbps, el codificador G.723.1 utiliza dos diccionarios alternativamente: *en el primer diccionario, usado para subtramas pares, las formas de onda comprenden seis impulsos, y •en el segundo diccionario, usado para subtramas impares, comprenden cinco impulsos. En ambos diccionarios, una sola restricción se impone en las posiciones de los impulsos de cualquier código-vector, que deben todos tener la misma paridad, es decir, deben todos ser pares o todos deben ser impares. En el diccionario del modo de 5.3 kbps, las posiciones de los cuatro impulsos están más severamente restringidas. Aparte de la misma restricción de paridad de los diccionarios del modo de velocidad del bit alta, hay una opción limitada de posiciones para cada impulso. El diccionario de impulsos múltiples del modo de 5.3 kbps pertenece a la familia bien conocida de diccionarios de ACELP. La estructura de un directorio de ACELP se basa en la técnica de permutación de un solo-impulso interpolada (ISPP, por sus siglas en inglés), que consiste en dividir un conjunto de L posiciones en pistas interpoladas K, los N impulsos son situados en ciertas pistas predefinidas. En algunas aplicaciones, la dimensión L de las palabras de código, se puede ampliar a L+N. Por consiguiente, en el caso del directorio en el modo de velocidad del bit baja de un codificador ITU-T G.723.1 , la dimensión del bloque de 60 muestras se amplía a 64 muestras y las 32 posiciones pares (o impares de acuerdo con las circunstancias) se dividen en cuatro pistas interpoladas sin traslapar de longitud 8. Por lo tanto hay dos grupos de cuatro pistas, una para cada paridad. La tabla 1 abajo precisa las cuatro pistas para las posiciones pares para cada impulso i0 a i3.
Tabla 1: Posiciones y amplitudes de los impulsos del diccionario de ACELP del codificador G.723. 1 del modo de 5,3 kbps Los diccionarios de innovación de ACELP son utilizados en muchos codificadores estandardizados que emplean el análisis por síntesis (ITU-T G.723.1 , ITU-T G.729, IS-641 , 3GPP NB-AMR, 3GPP WB-AMR). Las tablas 2 a 4 abajo precisan algunos ejemplos de estos diccionarios de ACELP para una longitud de bloque de 40 muestras.
Observe que la restricción de paridad no es utilizada en estos diccionarios. La tabla 2 abarca el diccionario de ACELP para 17 bits y cuatro impulsos diferentes a cero de amplitud ±1 , usados en el codificador ITU-T G.729 del modo de 8 kbps, el codificador IS-641 del modo de 7.4 kbps, y el codificador 3GPP NB-AMR del modo de 7.4 y 7.95 kbps.
Tabla 2: Posiciones y amplitudes de los impulsos del diccionario de ACELP 8 del codificador ITU-T G.729 del modo de 8 kbps, codificador IS-641 del modo de 7.4 kbps y el codificador 3GPP NB-AMR del modo de 7.4 y 7.95 kbps.
La tabla 3 abarca el diccionario de ACELP para 35 bits, usado en el codificador 3GPP NB-AMR del modo de 12.2 kbps, en donde cada código-vector contiene 10 impulsos diferentes a cero de amplitud ±1 . El bloque de 40 muestras se divide en cinco pistas de longitud 8, cada una con dos impulsos. Observe que los dos impulsos de la misma pista pueden traslaparse y dar lugar a un solo impulso de amplitud ±2.
Tabla 3: Posiciones y amplitudes de los impulsos del diccionario de ACELP del codificador 3GPP NB-AMR del modo de 12.2 kbps Finalmente, la tabla 4 abarca el diccionario de ACELP para 1 1 bits y dos impulsos diferentes a cero de amplitud ±1 , usado en la extensión de velocidad del bit baja (6.4 kbps) del codificador ITU-T G.729 y en el codificador 3GPP NB-AMR del modo de 5.9 kbps.
Tabla 4: Posiciones y amplitudes de los impulsos del diccionario de ACELP del codificador ITU-T G.729 del modo de 6.4 kbps y del codificador 3GPP NB-AMR del modo de 5.9 kbps.
Lo que se entiende por "explorar" los diccionarios de impulsos múltiples se explica abajo. Como con cualquier operación de cuantificar, la búsqueda del modelo óptimo de un vector que se codificará, consiste en seleccionar del conjunto (o un subconjunto) de los código-vectores del diccionario el que "se asemeje" lo más estrechamente posible, es decir, el que minimice la distancia medida entre éste y el vector de entrada. Una etapa referida como "explorar" los diccionarios se realiza para este propósito. En el caso de diccionarios de impulsos múltiples, esto equivale a buscar la combinación de impulsos que optimiza la proximidad de la señal a modelarse y la señal resultante de la opción de impulsos. Dependiendo del tamaño y/o estructura del diccionario, esta exploración puede ser exhaustiva o no-exhaustiva (y por lo tanto más o menos compleja). Puesto que los diccionarios usados en el codificador TDAC referido anteriormente, son uniones de códigos de permutación del tipo I I , el algoritmo para codificar un vector de coeficientes de transformación normalizados explota esta propiedad para determinar su comunidad más cercana de todos los código-vectores, calculando solamente un número limitado de los criterios de distancia (que usan los también llamados vectores "guía absolutos"). En los codificadores que emplean el análisis por síntesis, la exploración de los diccionarios de impulsos múltiples no es exhaustiva excepto en el caso de diccionarios pequeños. Solamente un porcentaje pequeño de diccionarios de una velocidad de bits más alta se explora. Por ejemplo, los diccionarios de impulsos múltiples ACELP se exploran generalmente en dos etapas. Para simplificar esta búsqueda, una primera etapa preselecciona la amplitud (y por lo tanto la señal, vea anteriormente) de cada posición del impulso posible simplemente cuantificando una señal dependiendo de la señal de entrada. Puesto que las amplitudes de los impulsos son fijas, entonces las posiciones de los impulsos son buscadas para usar una técnica del análisis por síntesis (que se conforma al criterio de CELP). A pesar de usar la estructura de ISPP, y a pesar del número pequeño de impulsos, una búsqueda exhaustiva de las combinaciones de posiciones se efectúa solamente para los diccionarios de velocidad de bits baja (típicamente menos de o igual a 12 bits). Esto se aplica al diccionario de ACELP de 1 1 -bits usado en el codificador G.729 del modo de 6.4 kbps (ver la tabla 4), por ejemplo, en la cual se prueban todas las 512 combinaciones de posiciones de dos impulsos para seleccionar la mejor, que equivale a calcular los 512 criterios correspondientes de CELP. Varios métodos de enfoque se han propuesto para los diccionarios de un velocidad de bits más alta. La expresión "búsqueda enfocada" entonces se utiliza. Algunos de estos métodos de la técnica anterior se utilizan en los codificadores estandardizados mencionados anteriormente. Su objetivo es reducir el número de combinaciones de posiciones que se explorarán en base de las propiedades de la señal a modelarse. Un ejemplo es el algoritmo de "profundidad-primer árbol" usado por muchos codificadores de ACELP estandarizados, en donde se da preferencia a ciertas posiciones, tal como el máximo local de las pistas de una señal objetivo dependiendo de la señal de entrada, de la última señal sintética, y de un filtro compuesto por la síntesis y filtros de ponderación perceptivos. Hay varias variantes de esto, dependiendo del tamaño del diccionario usado. Para explorar el diccionario de ACELP para 35 bits y 10 impulsos (ver tabla 3), el primer impulso se coloca en la misma posición que el máximo global de la señal objetivo. Esto es seguido por cuatro iteraciones por ia permutación circular de las pistas consecutivas. En cada iteración, la posición del segundo impulso se fija en el máximo local de una de las otras cuatro pistas, y las posiciones de los otros ocho impulsos restantes, se buscan secuencialmente en pares en bucles interpolados. 256 (8 x 8 x 4 pares) diversas combinaciones se prueban en cada iteración, que significa que solamente 1024 combinaciones de posiciones de los 1 0 impulsos entre los 225 del diccionario pueden explorarse. Una diversa variante se utiliza en el codificador IS641 , en donde un porcentaje más alto de combinaciones del diccionario para 17 bits y cuatro impulsos (ver tabla 2) es explorado. 768 combinaciones de las 8192 (=213) combinaciones de las posiciones de impulso se prueban. En el codificador G.7298 de 8 kbps, el mismo diccionario de ACELP es explorado por un método de enfoque distinto. El algoritmo efectúa una búsqueda iterativa interpolando cuatro bucles de búsqueda del impulso (uno por impulso). La búsqueda es enfocada haciendo la entrada en el bucle interior (búsqueda para el último impulso que pertenece a las pistas 3 ó 4) con la condicional de exceder un umbral adaptante que también depende de las propiedades de la señal objetivo (valores máximos locales y valores medios de las primeras tres pistas). Por otra parte, el número máximo de exploraciones de combinaciones de cuatro impulsos se fija a 1440 (que representa 1 7.6% de las 81 92 combinaciones). En el codificador G.723.1 del modo 6.3 kbps, no todas las combinaciones 2x25xC530 (o 2x26xC63o) de cinco (o seis) impulsos se exploran. Para cada cuadro, el algoritmo emplea un análisis de "impulsos múltiples" conocido para buscar secuencialmente las posiciones y las amplitudes de los impulsos. Como con los diccionarios de ACELP, hay las variantes que restringen el número de combinaciones probadas. Sin embargo, las técnicas anteriores sufren de los problemas siguientes. La exploración de un diccionario de impulsos múltiples, incluso una exploración sub-óptima del mismo, constituye en muchos codificadores, una operación costosa en términos del tiempo de cálculo. Por ejemplo, en los codificadores G .723.1 del modo de 6.3 kbps y G.729 del modo de 8 kbps, la búsqueda representa cerca de la mitad de la complejidad total del codificador. Para el codificador NB-AMR, representa un tercio de la complejidad total. Para el codificador TDAC, representa un cuarto de la complejidad total. Está claro en particular que esta complejidad llega a ser crítica si una pluralidad de operaciones de codificación tiene que realizarse por la misma unidad de procesador, tal como una entrada que maneja muchas llamadas en paralelo o un servidor que distribuye muchos contenidos multimedia. El problema de la complejidad es acentuado por la multiplicidad de formatos de compresión que circulan en las redes. Para ofrecer movilidad y continuidad, los servicios modernos e innovadores de las comunicaciones multimedia deben se capaces de funcionar bajo una amplia variedad de condiciones. El dinamismo del sector de las comunicaciones multimedia y de la naturaleza heterogénea de las redes, los puntos de acceso y terminales han generado una plétora de formatos de compresión cuya presencia en sistemas de comunicaciones hace necesario la codificación múltiple en cascada (transcodificación) o en paralelo (codificación de formato múltiple o codificación de modos múltiples). El significado del término "transcodificación" se explica a continuación. La transcodificación llega a ser necesaria si, en un sistema de transmisión, una trama de señal comprimida enviada por un codificador puede ya no proceder en el mismo formato. La transcodificación convierte la trama a otro formato compatible con el resto del sistema de transmisión. La solución más elemental (y por lo tanto la que se usa más ampliamente ahora) es colocar de manera seguida un descodificador y un codificador. La trama comprimida llega con un primer formato y se descomprime. La señal descomprimida entonces se comprime con un segundo formato aceptado por el resto del sistema de comunicaciones. Tal cascada de un descodificador y de un codificador es referida como "tándem". Tal solución es muy costosa en términos de complejidad (esencialmente debido al registro) y degrada la calidad porque la segunda codificación se efectúa en una señal descodificada, que es una versión degradada de la señal original. Por otra parte, una trama puede encontrar varios tándems antes de alcanzar su destino. El costo del cálculo y la pérdida de calidad no son difíciles de imaginar. Por otra parte, los retrasos ligados a cada operación en tándem son acumulativos y pueden comprometer la interactividad de llamadas. Lo que es más, la complejidad también causa problemas en un sistema de compresión multiformato en el cual el mismo contenido se comprime a más de un formato. Éste es el caso de servidores de contenido que difunden el mismo contenido en una pluralidad de formatos adaptados a las condiciones, redes y terminales de acceso de diversos clientes. Esta operación de codificación múltiple llega a ser extremadamente compleja mientras que el número de formatos requeridos aumenta, lo que satura rápidamente los recursos del sistema.
Otro caso de la codificación múltiple en paralelo es una compresión de múltiples modos de decisión posteriori. Una pluralidad de modos de compresión se aplica a cada segmento de la señal a ser codificada, y se selecciona la que optimiza un criterio dado o alcanza la mejor relación de velocidad de bits/distorsión. De nuevo, la complejidad de cada uno de los modos de compresión limita el número de los mismos y/o conduce a una selección a priori de un número muy pequeño de modos. Los procesos de la técnica anterior para solucionar los problemas anteriores se describen más adelante.
Las nuevas aplicaciones de comunicaciones multimedia (tales como aplicaciones de audio y video) hacen necesario frecuentemente una pluralidad de operaciones de codificación en cascada (transcodificación) o en paralelo (codificación múltiple y codificación de múltiples modos de decisión a posteriori). Permanece el problema a solucionarse de la barrera de complejidad que resulta de todas estas operaciones de codificación, a pesar del aumento en las capacidades de proceso actuales. La mayoría de las operaciones de codificación múltiple de la técnica anterior no toman cuenta las interacciones entre los formatos y entre el formato del codificador E y su contenido. Sin embargo, se han propuesto algunas técnicas inteligentes de transcodificación que no se conforman simplemente con la descodificación y luego la re-codificación, sino que por el contrario explotan las similitudes entre los formatos de codificación para poder reducir la complejidad mientras que limitan la degradación resultante. Los también llamados métodos de transcodificación "inteligente" se describen más adelante. Todos los codificadores en la misma familia de codificadores (CELP, paramétricos, transformadores, etc.) extraen los mismos parámetros físicos de la señal. Hay sin embargo gran variedad en términos de modelar y/o cuantificar esos parámetros. Así, el mismo parámetro se puede codificar de la misma manera o muy diferentemente de un codificador a otro. Por otra parte, la codificación puede ser estrictamente idéntica, o puede ser idéntica en términos de modelar y calcular el parámetro, pero diferir simplemente en cómo la codificación se traduce a la forma de bits. Finalmente, la codificación puede ser totalmente diferente en términos de modelar y cuantificar el parámetro, o aún en términos de su frecuencia de análisis o muestreo. Si el modelado y cálculo del parámetro son estrictamente idénticos, incluyendo la traducción a la forma de bit, es suficiente copiar el campo del bit correspondiente de la corriente del bit generada por el primer codificador a la del segundo. Esta situación altamente favorable se presenta en la transcodificación del G.729 estándar al IS-641 estándar para la excitación adaptante (retrasos de LTP), por ejemplo. Si, para el mismo parámetro, los dos codificadores difieren solamente en términos de la traducción del parámetro calculado en forma de bit, es suficiente descodificar el campo del bit del primer formato y después volverlo al dominio binario usando el método de codificación del segundo formato. Esta conversión se puede también efectuar por medio de tablas de correspondencia una por una. Esto es la situación al transcodificar excitaciones fijas desde el G.729 estándar al AMR estándar (modos de 7.4 kbps y 7.95 kbps), por ejemplo. En las dos situaciones anteriores, la transcodificación del parámetro permanece en el nivel de bit. La simple manipulación del bit hace el parámetro compatible con el segundo formato de codificación. Por otra parte, si un parámetro extraído de la señal es modelado o cuantificado diferentemente por dos formatos de codificación, el pasar de uno a otro no es tal algo fácil. Se han propuesto varios métodos. Estos operan en el nivel del parámetro, el nivel de excitación, o el nivel de señal descodificada. Para transcodificar en el dominio del parámetro, restante en el nivel del parámetro, es posible si los dos formatos de codificación calculan un parámetro de la misma manera pero lo cuantifica de forma diferente. Cuantificar diferencias se puede relacionar con la exactitud o el método seleccionado (escalar, vectorial, profético, etc.). Entonces es suficiente descodificar el parámetro y luego cuantificarlo usando el método del segundo formato de codificación. El método de la técnica anterior es utilizado actualmente para transcodificar los aumentos de excitación en particular. El parámetro descodificado debe ser modificado frecuentemente antes de que sea vuelto a cuantificar. Por ejemplo, si los codificadores tienen diversas frecuencias del análisis del parámetro o diversas longitudes de trama/subtrama, se acostumbra interpolar/poner en décimo los parámetros. La interpolación se puede efectuar por el método descrito en el documento publicado US2003/033142, por ejemplo. Otra opción de modificación es redondear el parámetro a la exactitud impuesta a éste por el segundo formato de codificación. Esta situación se encuentra para la mayor parte de la altura de la frecuencia fundamental ("tono"). Si no es posible transcodificar un parámetro dentro del dominio del parámetro, la descodificación puede ir a un nivel más alto. Éste es el dominio de excitación, sin llegar en lo que respecta al dominio de señal. Esta técnica se ha propuesto para los aumentos en el documento "Improving transcoding capability of speech coders in olean and frame erasured channel enviroments", Hong-Goo Kang, Hong Kook Kim, Cox, R.V. , Speech Coding, 2000, Proceedings 2000, IEEE Workshop on Speech Coding, páginas 78-80. Finalmente, una última solución (la más compleja y la menos "inteligente") consiste en recalcular el parámetro explícitamente, como el codificador lo haría, pero basado en una señal sintetizada. Esta operación equivale a una clase de tándem parcial, con solamente algunos parámetros que son recalculados enteramente. Este método se ha aplicado a los parámetros diversos tales como la excitación fija, los aumentos en la referencia de IEEE citada anteriormente, o tono. Para los impulsos de transcodificación, aunque varias técnicas se han desarrollado para calcular los parámetros rápidamente y a un costo más bajo, hay pocas soluciones disponibles hoy en día usan un proceso inteligente para calcular los impulsos de un formato a partir del parámetro equivalente en otro formato. En la codificación que usa el análisis por síntesis, la transcodificación inteligente de códigos de impulso se aplica solamente si el modelado es idéntico (o similar). En contraste, si el modelado es diferente, se utiliza ei método de tándem parcial. Observe que para limitar la complejidad de esta operación, se han propuesto procesos enfocados que explotan las propiedades de la señal descodificada o de una señal derivada tal como una señal objetivo. En el documento US-2001/027393 citado anteriormente, en una modalidad que utiliza un codificador de transformación MDCT, se describe un procedimiento de cambio de velocidad de bits que se puede considerar un caso especial de la transcodificación inteligente. Ese procedimiento vuelve a cuantificar un vector de un primer diccionario usando un vector de un segundo diccionario. Con este fin, se distingue entre dos situaciones dependiendo de si el vector que se va a volver a cuantificar pertenece al segundo diccionario o no. Si el vector cuantificado pertenece al diccionario nuevo, el modelado es idéntico; si no, se aplica el método de descodificación parcial. Estableciéndose por sí misma aparte de todas las técnicas mencionadas del arte anterior, la presente invención propone un método de transcodificar impulsos múltiples basado en seleccionar un subconjunto de combinaciones de las posiciones de impulso de un grupo de conjuntos de impulsos de una combinación de posiciones de impulso de otro grupo de conjuntos de impulsos, los dos grupos se distinguen por los números de impulsos que incluyen y por las reglas que gobiernan sus posiciones y/o sus amplitudes. Esta forma de transcodificación en particular es muy beneficiosa para la codificación múltiple en cascada (transcodificación) o en paralelo (codificación múltiple y codificación de múltiples modos). Con este fin, la presente invención en primer lugar propone un método de transcodificación entre un primer codee de compresión y un segundo codee de compresión. El primer y segundo codees son de tipo impulso y utilizan los diccionarios de impulsos múltiples en los cuales cada impulso tiene una posición marcada por un índice asociado. El método de transcodificación de la invención incluye las siguientes etapas: a) en donde sea apropiado, adaptar los parámetros de codificación entre el primer y segundo codees; b) obtener del primer codee un número seleccionado de posiciones de impulso e índices de posición respectivos asociados con las mismas; c) para cada posición de impulso actual del índice dado, formar un grupo de posiciones de impulso incluyendo por lo menos la posición del impulso actual y las posiciones de impulso con índices asociados inmediatamente debajo e inmediatamente arriba del índice dado; d) seleccionar en función de las posiciones de impulso aceptadas por el segundo codee, por lo menos algunas de las posiciones de impulso en un grupo constituido por una unión de los grupos formados en la etapa c); y e) enviar las posiciones de impulso seleccionadas al segundo codee para codificar/descodificar las posiciones enviadas. La etapa de selección d) por lo tanto implica un número de posiciones de impulso que es menor que el número total de posiciones de impulso en el diccionario del segundo codee. Está claro en particular que si, en la etapa e), el segundo codee anterior es un codificador, las posiciones de impulso seleccionadas son transmitidas a ese codificador para codificar buscando solamente las posiciones transmitidas. Si el segundo codee anteriormente mencionado es un descodificador, las posiciones de impulso seleccionadas se transmiten para que las posiciones sean descodificadas. La etapa b) utiliza preferiblemente la descodificación parcial de la corriente de bits provista por el primer codee para identificar un primer número de posiciones de impulso que el primer codee utiliza en un primer formato de codificación. El número elegido en la etapa b) por lo tanto corresponde preferiblemente a este primer número de posiciones de impulso. En una modalidad ventajosa, las etapas anteriores son ejecutadas por un producto de software que incluye instrucciones del programa para ese efecto. A este respecto, la presente invención también se dirige a un producto de software de la clase anterior, adaptado para almacenarse en una memoria de una unidad de procesamiento, en particular una computadora o terminal móvil, o en un medio de memoria removible adaptado para cooperar con un lector de la unidad de procesamiento. La presente invención también se dirige a un dispositivo para transcodificar entre el primer y segundo codees de compresión, en cuyo caso incluye una memoria adaptada para almacenar las instrucciones de un producto de software del tipo descrito anteriormente. Otras características y ventajas de la invención llegan a ser evidentes de la lectura de la descripción detallada siguiente y de examinar los dibujos anexos, en los cuales: La figura 1 a es un diagrama de un contexto de transcodificación en los términos de la presente invención en una configuración de "cascada"; La figura 1 b es un diagrama de un contexto de transcodificación en los términos de la presente invención en una configuración "paralela"; La figura 2 es un diagrama de los varios procesos de transcodificación que se efectuarán; La figura 2a es un diagrama de un proceso de adaptación para uso cuando las frecuencias de muestreo del primer codificador E y del segundo codificador S son diferentes; La figura 2b es un diagrama de una variante del proceso de la figura 2a; La figura 3 resume las etapas del método de transcodificación de la invención; La figura 4 es un diagrama de dos subtramas de los codificadores E y S con diversas duraciones Le y Ls, respectivamente, donde Le > Ls, pero con las mismas frecuencias de muestreo; La figura 4b representa una implementación práctica de la figura 4 que muestra la correspondencia de tiempo entre un codificador G.723.1 y un codificador G.729; La figura 5 es un diagrama que muestra la división de la excitación del primer codificador E en la velocidad del segundo codificador S; La figura 6 muestra una situación en la cual una de las pseudosubtramas STE'O está vacía; y La figura 7 es un diagrama de un proceso de adaptación para uso cuando las duraciones de la subtrama del primer codificador E y del segundo codificador S son diferentes. Observe primero que la presente invención se relaciona con modelar y codificar señales digitales multimedia tales como señales de audio (voz y/o sonido) usando diccionarios de impulsos múltiples. Puede implementarse en el contexto de la codificación/descodificación múltiple en cascada o en paralelo o de cualquier otro sistema de modelar una señal por medio de una representación de impulsos múltiples y que, basado en el conocimiento de un primer conjunto de impulsos que pertenece a un primer grupo, tiene que determinar por lo menos un conjunto de impulsos de un segundo grupo. Por concisión, solamente el paso de un primer grupo a otro grupo se describe, pero la invención se aplica igualmente al paso a los grupos n (n > 2). Por otra parte, solamente la situación de "transcodificación" entre dos codificadores se describe abajo, pero la transcodificación entre un codificador y un descodificador se puede por supuesto deducir de esto sin mayor dificultad. Considere el caso por lo tanto de modelar una señal por los conjuntos de impulsos que corresponden a dos sistemas de codificación. Las figuras 1 a y 1 b representan un transcodificador D entre un primer codificador E usando un primer formato de codificación COD1 y un segundo codificador S usando un segundo formato de codificación COD2. El codificador E suministra una corriente de bits codificada SCE en la forma de una sucesión de tramas codificadas al transcodificador D, que incluye un módulo descodificador parcial 10 para recuperar el número Ne de las posiciones de impulso usadas en el primer formato de codificación y las posiciones Pe de esos impulsos. Como aparece detalladamente más adelante, el transcodificador de la invención extrae la comunidad derecha ved y la comunidad izquierda veg de cada posición de impulso pe y selecciona las posiciones de impulso en la unión de esas comunidades que serán reconocidas por el segundo codificador S.
El módulo 1 1 del transcodificador representado en las figuras 1 a y 1 b por lo tanto realiza estas etapas para suministrar esta selección de posiciones (denotado Sj en las figuras 1 a y 1 b) al segundo codificador S. Estará claro en particular que de esta selección Sj se constituye un subdirectorio más pequeño que el diccionario empleado generalmente por el segundo codificador S, que es una de las ventajas de la invención. Usando este subdirectorio, la codificación efectuada por el codificador S es por supuesto más rápida, porque es más restringida, pero sin esta degradación de calidad de la codificación. En el ejemplo representado en la figura 1 a, el transcodificador D ¡ncluye además un módulo 12 para por lo menos en parte descodificar la corriente codificada SCE que el primer codificador E suministra. Entonces el módulo 12 suministra al segundo codificador S una versión por lo menos en parte descodificada s'0 de la señal original s0. El segundo codificador S entonces suministra una corriente de bits codificada SCs basado en la versión s'0. En esta configuración, el transcodificador D por lo tanto efectúa la adaptación de codificación entre el primer codificador E y el segundo codificador S, favoreciendo ventajosamente (porque es más restringida) una codificación más rápida del segundo codificador S. Por supuesto, como alternativa a esto, la entidad referida como S en las figuras 1 a y 1 b puede ser un descodificador y, en esta variante, el transcodificador D de la invención efectúa la transcodificación apropiada entre un codificador E y un descodificador S, esta descodificación es rápida debido a la información proporcionada por el transcodificador D. Puesto que el proceso es reversible, está claro que, mucho más generalmente, el transcodificador D en el sentido de la presente invención opera entre un primer codee E y un segundo codee S. Observe que el arreglo del codificador E, transcodificador D y codificador S, puede conformarse a una configuración de "cascada" de acuerdo a lo representado en la figura 1 a. En la variante representada en la figura 1 b, este arreglo puede conformarse a una configuración "paralela". En este caso, los dos codificadores E y S reciben la señal original s0 y los dos codificadores E y S suministran las corrientes codificadas SC E y sCs. respectivamente. Por supuesto, aquí el segundo codificador S ya no tiene que recibir la versión s'0 de la figura 1 a y del módulo 12 del transcodificador D para que por lo menos la descodificación parcial ya no sea necesaria. Observe además que, si el codificador E puede proporcionar una salida compatible con la entrada del módulo 1 1 (número de impulsos y de posiciones de impulso), el módulo 10 se puede simplemente omitir o "brincar". Observe además que el transcodificador D se puede equipar simplemente con una memoria para almacenar las instrucciones para implementar las etapas precedentes y un procesador para procesar estas instrucciones. La invención por lo tanto se aplica como sigue. El primer codificador E ha efectuado su operación de codificación en una señal dada s0 (por ejemplo la señal original). Las posiciones de los impulsos seleccionados por el primer codificador E están por lo tanto disponibles. Este codificador determina estas posiciones pe usando una técnica propia durante el proceso de codificación. El segundo codificador S debe también realizar su codificación. En el caso de la transcodificación, el segundo codificador S tiene solamente la corriente de bits generada por el primer codificador y la invención es aquí aplicable a la transcodificación "inteligente" de acuerdo a lo definido anteriormente. En el caso de la codificación múltiple en paralelo, el segundo codificador S también tiene la señal que el primer codificador tiene y aquí la invención se aplica a la "codificación múltiple inteligente". Un sistema que requiere codificar el mismo contenido en una pluralidad de formatos puede explotar la información de un primer formato para simplificar la codificación de otros formatos. La invención se puede también aplicar a la situación particular de la codificación múltiple en paralelo que constituye una codificación de múltiples modos de decisión a posteriori.
La presente invención se puede utilizar para determinar rápidamente las posiciones ps (denotada de manera intercambiable s¡ más adelante) de los impulsos para otro formato de codificación de las posiciones pe (denotada de manera intercambiable e¡ más adelante) de los impulsos de un primer formato. Reduce considerablemente la complejidad del cálculo de esta operación para el segundo codificador limitando el número de posiciones posibles. Con este fin, se utilizan las posiciones seleccionadas por el primer codificador para definir un conjunto restringido de posiciones de todas las posiciones posibles del segundo codificador, en donde se busca por consiguiente el conjunto restringido del mejor conjunto de posiciones para los impulsos. Esto da lugar a un aumento significativo en la complejidad mientras que limita la degradación de la señal con relación a una búsqueda exhaustiva o enfocada estándar.. Por lo tanto es claro que la presente invención limita el número de posiciones posibles definiendo un conjunto restringido de posiciones basadas en posiciones del primer formato de codificación. Difiere de las soluciones existentes en que utilizan solamente las propiedades de la señal a modelarse para limitar el número de posiciones posibles, dando preferencia a y/o la eliminación de posiciones. Para cada impulso de un conjunto de un primer grupo, serán preseleccionadas dos comunidades (una en la derecha y una en la izquierda) de ancho variable y de mayor o menor restricción son definidas preferiblemente y un conjunto de posiciones posibles se extrae del mismo dentro de las cuales por lo menos una combinación de impulsos cumple con las restricciones del segundo conjunto. El método de transcodificación tiene la ventaja de optimizar la relación de complejidad/calidad adaptando el número de posiciones de impulso y/o de los tamaños respectivos (en términos de combinaciones de las posiciones de impulso) de las comunidades derechas e izquierdas para cada impulso, tanto en el principio del proceso o para cada subtrama como una función de la complejidad autorizada y/o del conjunto de posiciones de inicio. La invención también ajusta/limita el número de combinaciones de posiciones favoreciendo ventajosamente las comunidades inmediatas. Según lo indicado anteriormente, la presente invención también se dirige a un producto de software del algoritmo, donde el mismo se diseña en particular para extraer las posiciones de comunidad que facilitan la composición de las combinaciones de impulsos del segundo conjunto. Según lo indicado anteriormente, la naturaleza heterogénea de las redes y del contenido puede llamar a formatos de codificación altamente variados en su ejecución. Los codificadores pueden ser distinguidos por numerosas características, de las cuales dos en particular, la frecuencia de muestreo y la duración de una subtrama, determinan sustancialmente el modo de operación de la invención. Las opciones se describen abajo en la relación correspondiente a las modalidades de la invención apropiadas para estas situaciones. La figura 2 resume estas situaciones. Se obtienen inicialmente: • los números Ne, Ns de las posiciones de impulso, • las frecuencias de muestreo respectivas Fe, Fs, y • las duraciones de la subtrama Le, Ls utilizados por los codificadores E y S, respectivamente (etapa 21 ). Así está ya claro que las etapas de adaptación y recuperación de los números Ne, Ns de las posiciones de impulso se pueden intercambiar ventajosamente o de forma simple conducirse simultáneamente. Las frecuencias de muestreo se comparan en una prueba 22. Si las frecuencias son iguales, las duraciones de la subtrama se comparan en una prueba 23. Si no, las frecuencias de muestreo son adaptadas en una etapa 32 por un método descrito abajo. Después de la prueba 23, si las duraciones de la subtrama son iguales, los números Ne y Ns de las posiciones de impulso usados por el primer y segundo formatos de codificación, respectivamente, se comparan en una prueba 24. Si no, las duraciones de la subtrama se adaptan en una etapa 33 usando un método que también se describe abajo. Está claro que las etapas 22, 23, 32 y 33 juntas definen la etapa anterior a) de adaptación de los parámetros de codificación. Se observa que las etapas 22 y 32 (adaptación de frecuencia de muestreo), por un lado, y las etapas 23 y 33 (adaptación de la duración de la subtrama), por otra parte, pueden ser intercambiadas. Primero se describe abajo una situación en la cual las frecuencias de muestreo son iguales y las duraciones de la subtrama son iguales. Ésta es la situación más favorable, pero es sin embargo necesario distinguir la situación en la cual el primer formato utiliza más impulsos que el segundo (Ne > Ns) y la situación contraria (Ne < Ns), de acuerdo al resultado de la prueba 24. *Ne > N« en la figura 2 El principio es como sigue. Los directorios de los dos codificadores E y S utilizan los impulsos Ne y Ns en cada subtrama, respectivamente. El codificador E calcula las posiciones de sus impulsos Ne con respecto a la subtrama Se. Estas posiciones abajo son e¡ y pe intercambiablemente denotadas. El conjunto restringido ps de posiciones privilegiadas para los impulsos del directorio del codificador S entonces es hecho de posiciones N?, e¡ y de sus comunidades: donde v'd y v'g > 0 son los tamaños de las comunidades derechas e izquierdas del impulso [. Los valores de v'd y v'g, que se eligen en la etapa 27 en la figura 2, son más grandes o más pequeños de acuerdo a la complejidad y calidad requeridas. Estos tamaños se pueden fijar arbitrariamente al principio del proceso o elegirse para cada subtrama Se. En la etapa 29 en la figura 2, el conjunto Ps entonces contiene cada posición e¡ así como sus comunidades derechas v'd y sus comunidades izquierdas v'g. Es entonces necesario definir para cada uno de los impulsos Ns del directorio del codificador S, las posiciones donde el impulso se autoriza para asumirse entre los propuestos por Ps. Para este fin, las reglas que gobiernan la construcción del directorio de S se introducen. Se asume que los impulsos N5 de S pertenecen a los subconjuntos predefinidos de posiciones, que un número dado de impulsos comparte el mismo subconjunto de posiciones autorizadas. Por ejemplo, según lo mostrado en la tabla 3 arriba, los 10 impulsos del codificador 3GPP NB-AMR del modo de 12.2 kbps se distribuyen de dos en dos en cinco subconjuntos diferentes. N's denota el número de subconjuntos de diferentes posiciones (N's > Ns en este ejemplo puesto que N's = 5) y T¡ (para j = 1 a N's) denota los subconjuntos de posiciones que definen el directorio de S. Partiendo del conjunto Ps, los subconjuntos N's, Sj que resultan de la intersección de Ps con uno de los conjuntos Tj se constituyen en la etapa 30 en la figura 2 de la ecuación: Sj3 Ps H 7j Las comunidades v'd y v'g deben ser de suficiente tamaño para que ninguna intersección esté vacía. Es por lo tanto necesario permitir el ajuste de los tamaños de comunidad, si es necesario, como una función del conjunto de inicio de impulsos. Éste es el propósito de la prueba 34 en la figura 2, con un aumento en el tamaño de las comunidades (etapa 35) y un retorno para la definición de la unión Ps de los grupos formados en la etapa c) (etapa 29 en la figura 2), si una de las intersecciones está vacía. Por otra parte, si ninguna de las intersecciones Sj esta vacía, es el subdirectorio que consiste de las intersecciones Sj que se envía al codificador S (etapa final 31 ). La invención ventajosamente explota la estructura de los directorios. Por ejemplo, si el directorio del codificador S es del tipo ACELP, son las intersecciones de las posiciones de las pistas con Ps las calculadas. Si el directorio del codificador E es también del tipo ACELP, el procedimiento de la extracción de la comunidad también explota la estructura de pista y las etapas de extracción de las comunidades y de la composición de los subconjuntos restringidos de posiciones se combinan juiciosamente. En particular, es benéfico para el algoritmo de extracción de comunidad tomar en cuenta la composición de las combinaciones de impulsos de acuerdo con las restricciones del segundo conjunto. Como surgirá más adelante, los algoritmos de extracción de comunidad se producen para facilitar la composición de combinaciones de impulsos del segundo conjunto. Una de las modalidades descritas más adelante (de ACELP con dos impulsos a ACELP con cuatro impulsos) es un ejemplo de esta tipo de algoritmo.
El número de combinaciones posibles de posiciones es por lo tanto pequeño y el tamaño del subconjunto del directorio del codificador S es generalmente mucho menor que el del directorio original, el cual en gran medida reduce la complejidad de la penúltima etapa de transcodificación. El número de combinaciones de las posiciones de impulso define el tamaño del subconjunto ya mencionado. Éste es el número de posiciones de impulso que reduce la invención, lo que conduce a una reducción en el número de combinaciones de las posiciones de impulso y así hace posible obtener un subdirectorio de tamaño restringido. La etapa 46 en la figura 3 entonces consiste en lanzar la búsqueda para el mejor conjunto de posiciones para los impulsos Ns en el subdirectorio de tamaño restringido. El criterio de selección es similar al del proceso de codificación. Para reducir aún más la complejidad, la exploración de este subdirectorio se puede acelerar usando las técnicas de enfoque del arte previo, descritas anteriormente. La figura 3 resume las etapas de la invención para una situación en la cual el codificador E utiliza por lo menos tantos impulsos como el codificador S. Sin embargo, según lo ya precisado con referencia a la figura 2, si el número Ns de posiciones para el segundo formato (el formato de S) es mayor que el número Ne de posiciones para el primer formato (el formato de E), el proceso difiere solamente en algunas variantes ventajosas que se describen más adelante. En líneas generales, las etapas de la figura 3 se resumen como sigue. Después de una etapa a) de adaptación de parámetros de codificación (presente solamente si es necesario y por lo tanto representada en un contorno discontinuo en el bloque 41 en la figura 3): •recuperar las posiciones e¡ de los impulsos del codificador E, y preferiblemente un número Ne de posiciones (etapa 42 que corresponde a la etapa b) antes mencionada), •extraer las comunidades y formar grupos de comunidades de acuerdo con la ecuación: (etapa 43 que corresponde a la etapa c) antes mencionada), • composición de subconjuntos restringidos {Sj— de las posiciones que forman la selección de la etapa d) anteriormente mencionada y que corresponde a la etapa 44 representada en la figura 3, y • envió de la selección al codificador S (etapa 45 que corresponde a la etapa e) anteriormente mencionada). Después de esta etapa 45, el codificador S entonces elige un conjunto de posiciones en el directorio restringido obtenido en la etapa 44. La etapa siguiente es por lo tanto una etapa 46 de búsqueda del subdirectorio recibido por el codificador S para un conjunto (opt(S¡)) de posiciones óptimas incluyendo el segundo número Ns de posiciones, tal como se indicó anteriormente. Para acelerar la exploración del subdirectorio, esta etapa 46 de búsqueda para el conjunto óptimo de posiciones se implementa preferiblemente por medio de una búsqueda enfocada. Continua el procesamiento naturalmente con la codificación que es efectuada después por el segundo codificador S. Se describen después las formas de procesamiento proporcionadas para la situación en la cual el número Ne de los impulsos usados por el primer formato de codificación es inferior que el número Ns de los impulsos usados por el segundo formato de codificación. *NP < Na en la figura 2 Si el formato de S usa más impulsos que el formato de E, el proceso es similar al explicado anteriormente. Sin embargo, los impulsos del formato de S pueden no tener posiciones en el directorio restringido. En este caso, en una primera modalidad, todas las posiciones posibles se autorizan para los impulsos. En una segunda y preferida modalidad los tamaños de las comunidades V'd y V'g se aumentan simplemente en la etapa 28 en la figura 2. *Np<Ng<2Nc en la figura 2 Un caso especial se debe enfatizar en la presente. Si Ne es aproximado a Ns, normalmente si Ne<Ns<2Nß, entonces una manera preferida de determinar las posiciones puede ser considerada, aún cuando la forma anterior del procesamiento siga siendo totalmente aplicable. Otra reducción en la complejidad se puede obtener directamente por fijación de las posiciones de los impulsos de S en la base de los de E. Los primeros impulsos Ne de S se colocan en las posiciones de las de E. Los impulsos Ns-Ne restantes se colocan tan cerca como sea posible de los primeros impulsos Ne (en su comunidad inmediata). La etapa 25 en la figura 2 entonces prueba si los números Ne y Ns están próximos (con Ne > Ns) y, si es así la opción de las posiciones de impulso en la etapa 26 es según lo descrito anteriormente. Por supuesto, en ambos casos, Ne < Ns y Ne < Ns < 2Ne, si una de las intersecciones Sj está vacía a pesar de las precauciones anteriores, el tamaño de las comunidades V+g, V+d, es simplemente aumentado en la etapa 35, según lo descrito en la situación donde Ne > Ns. Finalmente, en todos los casos, si ninguna de las intersecciones Sj está vacía, el subdirectorio formado por las intersecciones Sj se envía al segundo codificador S (etapa 31 ). Se describen a continuación las formas de procesamiento usadas en la etapa de adaptación a) si los parámetros de codificación del primer y segundo formatos no son iguales, en particular sus frecuencias de muestreo y duraciones de subtrama. Las siguientes situaciones entonces se distinguen. *Duraciones de subtrama iguales pero diferentes frecuencias de muestreo Esta situación corresponde a "n" para la prueba 22 e "y" para la prueba 23 en la figura 2. La etapa de adaptación a) entonces se aplica a la etapa 32 en la figura 2. El procesamiento previo no se puede aplicar directamente aquí debido a que los dos formatos no tienen la misma subdivisión de tiempo.
Debido a que las frecuencias de muestreo son diferentes, las dos tramas no tienen el mismo número de muestras sobre la misma duración. En lugar de determinar las posiciones de los impulsos del formato del codificador S sin tomar cuenta los del formato del codificador E, como un tándem lo haría, se proponen dos formas diferentes de procesamiento que constituyen dos diferentes modalidades. Limitan la complejidad estableciendo una correspondencia entre las posiciones de los dos formatos, después de lo cual el procesamiento invierte al proceso descrito anteriormente (como si las frecuencias de muestreo fueran iguales). El procesamiento de la primera modalidad usa la cuantificación directa de la escala de tiempo del primer formato por la del segundo formato. Esta operación de cuantificación, la cual se puede tabular o computar a partir de una fórmula, encuentra para cada posición de una subtrama del primer formato su equivalente en una subtrama del segundo formato, y viceversa. Por ejemplo, la correspondencia entre las posiciones pe y ps en las subtramas de los dos formatos se puede definir por la siguiente ecuación: A "5 ± 5 t Q= e < Le y O= ps < 6 en la cual Fe y Fs son las frecuencias de muestreo de E y S, respectivamente, Le y Ls son sus longitudes de subtrama, y L j denota la parte integra. Dependiendo de las características de la unidad de procesamiento, esta correspondencia podría utilizar la fórmula anterior o ventajosamente tabularse para los valores Le. Una solución intermedia puede también ser seleccionada tabulando solamente los primeros valores Le ( , d siendo el factor común más alto de Le y Ls), las posiciones i " T 41 ss entonces son deducidas fácilmente. d Se observa que también es posible hacer una pluralidad de posiciones de la subtrama de S que corresponde a una posición de una subtrama de E. Por ejemplo, retener las posiciones inmediatamente F abajo e inmediatamente arriba ~ T Pe El procesamiento general descrito anteriormente es aplicado iniciando a partir del conjunto de las posiciones ps que corresponde a las posiciones pe, (extracción de comunidades, composición de las combinaciones de impulsos, selección de la combinación óptima).
Esta situación de las duraciones iguales de la subtrama pero diferentes frecuencias de muestreo se encuentra en las Tablas 5a a 5d abajo, refiriéndose a una modalidad en la cual el codificador E es del tipo 3GPP NB-AMR y el codificador S es del tipo WB-AMR. El codificador NB-AMR tiene una subtrama de 40 muestras para una frecuencia de muestreo de 8 kHz. El codificador WB-AMR utiliza 64 muestras por subtrama a 12.8 kHz. En ambos casos, la subtrama tiene una duración de 5 ms. La tabla 5a da la correspondencia de las posiciones en una subtrama de NB-AMR a una subtrama de WB-AMR y la tabla 5b da la correspondencia opuesta. Las tablas 5c y 5d son las tablas de correspondencia restringidas.
Tabla 5a: tabla de correspondencia de tiempo de NB-AMR a WB-AMR :WB-AMH 10 ?\ 12 13 14 15! n\ ,1H1 F1! 22P3 g4i2S|26i27|2oÍ29Í30ßl NB-ÁMR n l 12H3 13 U m is 16 16 17 18 n 19 19 fWJ M B2B3I 3435 smw . m MSi Má m m m »q 5f B2teiS*itef b8BSte6tel 6263; jNB-ÁMR 2d2 ib ß323! 24Q32ß2fO2a asssm 3031 1 32B3! mmms ¡36Í36J37I B8B8B9B9 Tabla 5b: tabla de la correspondencia del tiempo de WB-AMR a NB-AMR Tabla 5c: tabla de correspondencia de tiempo restringido de NB-AMR a WB-AMR 7ao/a 5af; rao/a de correspondencia de tiempo de WB-AMR a NB-AMR Brevemente, las siguientes etapas aplican (ver la figura 2a): a1 ) cuantificación de escala de tiempo directa de la primera frecuencia a la segunda frecuencia (etapa 51 en la figura 2a), a2) como una función de la cuantificación, determinación de cada posición de impulso en una subtrama con el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo de una posición de impulso en una subtrama con el primer formato de codificación caracterizado por la primera frecuencia de muestreo (etapa 52 en la figura 2a). En términos generales, la etapa de cuantificación a1 ) es efectuada por el cálculo y/o tabulación de una función la cual hace corresponder a una posición de impulso pe en una subtrama con el primer formato de una posición del impulso ps en subtrama con el segundo formato; tal función de hecho toma la forma de una combinación lineal que implica un coeficiente de multiplicador que corresponde a la relación de la segunda frecuencia de muestreo con la primera frecuencia de muestreo. Por otra parte, para ir en la dirección opuesta de una posición de impulso en una subtrama con el segundo formato ps a una posición de impulso en una subtrama con el primer formato pe, se aplica por supuesto una función inversa de esta combinación lineal aplicada a una posición de impulso en una subtrama con el segundo formato ps. Claramente el proceso de transcodificación es totalmente reversible y es por tanto adaptado igualmente a una dirección de transcodificación (E->S) como a la otra (S->E). Una segunda modalidad de adaptación de la frecuencia de muestreo utiliza un cambio convencional del principio de frecuencia de muestreo. Iniciando de la subtrama que contiene los impulsos encontrados por el primer formato, el supermuestreo se aplica en la frecuencia igual al múltiplo común más bajo de las dos frecuencias de muestreo Fe y Fs. Entonces, después de la filtración de paso bajo, el inframuestreo se aplica para invertir a la frecuencia de muestreo del segundo formato, es decir Fs. Se obtiene una subtrama en la frecuencia Fs que contiene los impulsos filtrados de E. Una vez más, el resultado de las operaciones de supermuestreo/filtración LP /inframuestreo se pueden tabular para cada posición posible de una subtrama de E. Esté procesamiento se puede también efectuar por cálculo "en línea". Tal como en la primera modalidad de adaptación de la frecuencia de muestreo, una o más posiciones de S se pueden asociar con una posición de E, según lo explicado abajo, y se aplica el procesamiento general en el sentido de la invención descrita anteriormente. Según lo indicado en la variante representada en la figura 2b, se aplican las siguientes etapas: a'1 ) supermuestreo de una subtrama con el primer formato de codificación caracterizado por la primera frecuencia de muestreo en una frecuencia Fpcrn igual al múltiplo común más bajo de la primera y segunda frecuencias de muestreo (etapa 53 en la figura 2b), y a'2) aplicación de la filtración de paso bajo a la subtrama sometida a supermuestreo (etapa 54 en la figura 2b), seguida por el inframuestreo para lograr una frecuencia de muestreo que corresponde a la segunda frecuencia de muestreo (etapa 55 en la figura 2b). El proceso continúa obteniendo, preferiblemente por un método de umbral, un número de posiciones, posiblemente un número variable de posiciones, adaptado de los impulsos de E (etapa 56), tal como en la primera modalidad anterior. *Frecuencias de muestreo iguales pero diferentes duraciones de subtrama Se describe a continuación el procesamiento realizado en la situación donde las frecuencias de muestreo son iguales pero las duraciones de subtrama son diferentes. Esta situación corresponde a "n" para la prueba 23 pero "o" para la prueba 22 de la figura 2. La etapa de adaptación a) entonces se aplica a la etapa 33 en la figura 2. Tal como en la situación anterior, la etapa de extracción de comunidad como tal no se puede aplicar directamente. Es necesario primero hacer a las dos subtramas compatibles. Aquí las subtramas difieren en tamaño. Para enfrentar esta incompatibilidad, en lugar de calcular las posiciones de los impulsos tal como lo hace el tándem, una modalidad preferida ofrece una solución de baja complejidad que determina un directorio restringido de combinaciones de posiciones para los impulsos del segundo formato a partir de las posiciones de los impulsos del primer formato. Sin embargo, la subtrama de S y la de E no son del mismo tamaño, no es posible establecer una correspondencia temporal directa entre una subtrama de S y una subtrama de E. Según lo mostrado en la figura 4 (en la cual las subtramas de E y S son designadas STE y STS, respectivamente), los límites de las subtramas los dos formatos no están alineados y durante un tiempo las subtramas cambian en relación entre sí. En una modalidad preferida, se propone para dividir la excitación de E en pseudosubtramas el tamaño de las de S y a la velocidad de tiempo de S. Las pseudosubtramas son STE' denotadas en la figura 5. En la práctica, estas cantidades para establecer una correspondencia temporal entre las posiciones en los dos formatos tomando en cuenta la diferencia de tamaño de la subtrama para alinear las posiciones relativas a un origen común a E y S. La determinación del origen común se describe detalladamente más adelante. Una posición p°e (respectivamente p°s) del primer formato (respectivamente el segundo formato) relativa al origen coincide con la posición Pe (respectivamente ps) de la subtrama ie (respectivamente js) de E (respectivamente S) relativa a la subtrama. Así: °e=Pe+ e ? ?wHßU i con d= p? < Le ?y OS Ps < Ls I A una posición pe de la subtrama ie del formato de E corresponde a la posición ps de la subtrama js del formato de S, ps y js son respectivamente el resto y el cociente de la división Euclidiana por LS de la posición p°e de pe relativo a un origen O común a E y S: con pß< LT y Q=ps < L J Jdenota la parte integral, = denota el módulo, el índice de una subtrama de E (respectivamente S) es dado con relación al origen común O. Por consiguiente, las posiciones pe en una subtrama js se utilizan para determinar un conjunto restringido de posiciones para impulsos de S en la subtrama js por medio del proceso general descrito anteriormente. Sin embargo, si Le > Ls, una subtrama de S puede no contener ningún impulso. En el ejemplo de figura 6, los impulsos de la subtrama STEO son representados por las líneas verticales. El formato de E puede concentrar muy bien los impulsos de STEO en el extremo de la subtrama, en cuyo caso la pseudosubtrama STE'O no contiene ningún impulso. Todos los impulsos colocados por E se encuentran en STE!1 durante la división. En este caso, una búsqueda enfocada convencional se aplica preferiblemente a la pseudosubtrama STE'O. Las modalidades preferidas para la determinación de un tiempo de origen O común para los dos formatos se describen después. Esa referencia común constituye la posición (número 0) del cual las posiciones de los impulsos se numera en las subtramas subsecuentes. Esta posición O se puede definir en varias maneras, dependiendo del sistema que utiliza el método de transcodificación de la presente invención. Por ejemplo, para un módulo de transcodificador incluido en un equipo de sistema de transmisión, será natural que se tome para el origen de la primera posición de la primera trama recibida después de que el equipo se inicie. Sin embargo, la desventaja de tal opción es que las posiciones toman valores cada vez más grandes y puede llegar a ser necesario limitarlos. Para esto es suficiente actualizar la posición del origen común siempre que sea posible. Por consiguiente, si las longitudes respectivas Le y Ls de las subtramas de E y S son durante un tiempo constantes, la posición del origen común se reajusta cada vez que los límites de las subtramas E y S se alinean. Esto ocurre periódicamente, el período (expresado en muestras) es igual al múltiplo común más bajo de Le y Ls. La situación se puede también considerar, en la cual Lß y/o Ls no son constantes en tiempo. Ya no es posible encontrar un múltiplo común para las dos longitudes de la subtrama, en Le(n) y Ls(n) actualmente denotados, donde n representa el número de la subtrama. En este caso, es necesario sumar los valores Le(n) y Ls(n) rápidamente y comparar las dos sumas obtenidas en cada subtrama: Cada vez que Te(k) = Ts(k'), el origen común es actualizado (y tomado en la posición k x Le o k' x Ls). Las dos sumas de Te y Ts preferiblemente se reajustan. Brevemente, y más generalmente, llamando la primera (respectivamente segunda) duración de la subtrama de la duración de la subtrama del primer (respectivamente segundo) formato de codificación, las etapas de adaptación ejecutadas cuando las duraciones de la subtrama son diferentes se resumen en la figura 7, y son preferiblemente como sigue: a20) definir un origen O común para las subtramas con los primer y segundo formatos; a21 ) dividir las subtramas sucesivas con el primer formato de codificación caracterizado por una primera duración de la subtrama en pseudosubtramas de duración L'e que corresponde a la duración de la subtrama (etapa 71 ), a22) actualizar el origen común O (etapa 79); y a23) determinar la correspondencia entre las posiciones de impulso en las pseudosubtramas p'8 y en las subtramas con el segundo formato (etapa 80). Para determinar el origen común O, los siguientes casos preferiblemente se diferencian en la prueba 72 en la figura 7: la primera y segunda duraciones son estables en tiempo ("o" sale de la prueba 72); y la primera y segunda duraciones varían en tiempo ("n" sale de la prueba 72). En el caso anterior, la posición de tiempo de origen común se actualiza periódicamente (etapa 74), cada vez que los límites de las subtramas respectivas de la primera duración St(Le) y de la segunda duración St(Le) se alinea en tiempo (prueba 73 aplicada a tales límites).
En el segundo caso, es preferible si: a22l) las sumas respectivas de las subtramas con del el primer formato Te(k) y, subtramas con el segundo formato Ts(k') se efectúan sucesivamente (etapa 76), la igualdad a222 de las dos sumas se detecta, definiendo el tiempo para actualizar el origen común (prueba 77), y a223) las dos sumas mencionadas anteriormente se reajustan (etapa 78), después de que se detecte tal igualdad, para la detección futura de un siguiente origen común. Ahora, en la situación en la cual las duraciones de subtrama y frecuencias de muestreo son diferentes, es suficiente combinar juiciosamente algoritmos de las correspondencias entre las posiciones de E y S descritas para las dos situaciones anteriores. *MODALIDADES Tres modalidades de transcodificación de acuerdo con la invención se describen después. Estas modalidades describen la aplicación del procesamiento proporcionado en las situaciones descritas anteriormente en codificadores de voz estándar usando análisis por síntesis. Las primeras dos modalidades ¡lustran la situación favorable en la cual las frecuencias de muestreo y duraciones de subtrama son idénticas. La modalidad final ilustra la situación en la cual las duraciones de subtrama son diferentes. ^Modalidad No. 1 La primera modalidad se aplica a la transcodificación inteligente entre el modelo G.723.1 MP-MLQ del modo de 6.3 kbps y el modelo ACELP del G.723.1 del modo de 5.3 kbps con cuatro impulsos. La transcodificación inteligente de alta velocidad de bit a baja velocidad de bit de G.723.1 utiliza un modelo MP-MLQ con seis y cinco impulsos con un modelo ACELP con cuatro impulsos. La modalidad descrita aquí determina las posiciones de los cuatro impulsos de ACELP de las posiciones de los impulsos de MP-MLQ. La operación del codificador G.723.1 se resume abajo. Se han descrito anteriormente el codificador de velocidad de bit múltiple 1TU-T G.723.1 y sus directorios de pulso múltiple. Es suficiente decir que una trama G.723.1 contiene 240 muestras a 8 kHz y se divide en cuatro subtramas cada una de 60 muestras. La misma restricción se impone ante las posiciones de los impulsos de cualquier código-vector de cada uno de los tres diccionarios de pulso múltiple. Estas posiciones deben tener todas la misma paridad (deben ser todas pares o todas ser impares). La subtrama de posiciones 60(+4) por lo tanto se divide en dos rejillas cada una de 32 posiciones. La rejilla par incluye las posiciones numeradas [0, 2, 4, .. , 58, (60, 62)]. La rejilla impar incluye las posiciones [1 , 3, 5, .. , 59, (61 , 63) ]. Para cada velocidad de bit, la exploración del directorio, aunque no sea exhaustiva, sigue siendo compleja, según lo indicado anteriormente. La selección de un subconjunto del directorio ACELP del G.723.1 . de modo de 5.3 kbps de un elemento de un directorio de G.723.1 MP-MLQ del modo de 6.3 kbps, se describe más adelante. El objetivo es modelar la señal de innovación de una subtrama por medio de un elemento del directorio de ACELP del G.723.1 de modo de 5.3 kbps que se conoce del elemento del directorio del MP-MLQ G.723.1 de modo de 6.3 kbps determinado durante una primera operación de codificación. Por lo tanto están disponible las posiciones Ne (Ne = 5 ó 6) de los impulsos seleccionados por el codificador G.723.1 del modo de 6.3 kbps. Por ejemplo, puede ser asumido posiciones extraídas de la corriente de bits del codificador G.723.1 del modo de 6.3 kbps para una subtrama cuya excitación es modelada por Ne = 5 impulsos son como sigue: Se recuerda que aquí no se requiere ninguna adaptación de la frecuencia de muestreo o de la duración de la subtrama. Después de este etapa de recuperar las posiciones e,, una etapa subsecuente entonces consiste en extraer las comunidades derechas e izquierdas de los cinco impulsos directamente. Las comunidades derechas e izquierdas se toman para que sean iguales a dos. El conjunto Ps de las posiciones seleccionadas es: Ps ß {-2,^í) JUfcW¿0U^7 ^ ^^ La tercera etapa consiste en componer el conjunto restringido de las posiciones posibles para cada impulso (aquí una pista) del directorio de ACELP del codificador G.723.1 del modo de 5.3 kbps tomando Ns = 4 intersecciones de Ps con los cuatro conjuntos de posiciones de las pistas pares (respectivamente pistas impares) autorizadas por el directorio (según lo representado en la tabla 1 ). Para la paridad par: de dónde: Sg = {%% ? l ={2,10,26,}; S2 ^ { 8*36,44} % - {$30,38,46}; para paridad impar: donde La combinación de estas posiciones seleccionadas constituye el nuevo directorio restringido en el cual la búsqueda será efectuada. Para este etapa, el procedimiento para seleccionar el conjunto de posiciones óptimas se basa en el criterio CELP, tal como en el codificador G.723.1 del modo de 5.3 kbps. La exploración puede ser exhaustiva pero preferiblemente es enfocada. El número de combinaciones de posiciones en el directorio restringido es igual a 180 (= 4*3*3*4+2*1 *3*3) en vez de 8192 (= 2*8*8*8*8) combinaciones de las posiciones del directorio ACELP del codificador G.723.1 del modo de 5.3 kbps. El número de combinaciones puede ser restringido aún más considerando solamente la paridad elegida para el modo de 6.3 kbps (en el presente ejemplo que es la paridad par). En este caso, el número de combinaciones en el directorio restringido es igual a 144. Dependiendo del tamaño de las comunidades involucradas, para uno de los cuatro impulsos, el conjunto Ps puede no contener ninguna posición para una pista del modelo ACELP (situación en la cual uno de los conjuntos S¡ está vacío). Por consiguiente, para las comunidades de tamaño 2, de cuando las posiciones de los impulsos Ne están todas en la misma pista, Ps contiene solamente posiciones de tal pista y de pistas adyacentes. En este caso, dependiendo de la relación calidad/complejidad, es posible tanto sustituir el conjunto S¡ con T¡ (cuyas cantidades no restringen el conjunto de posiciones de tal pista) como aumentar la comunidad derecha (o izquierda) de los impulsos. Por ejemplo, si todos los impulsos del codificador del modo de 6.3 kbps están en la pista 2, con las comunidades derechas e izquierdas igual a dos, entonces la pista o no tendrá ninguna posición diferente de la paridad. Entonces es suficiente aumentar en 2 el tamaño de la comunidad izquierda y/o derecha para asignar posiciones a tal pista 0. Para ilustrar esta modalidad, se considera el siguiente ejemplo: El conjunto Ps de posiciones seleccionadas es como sigue: Asumiendo que se desee conservar la misma paridad, la división inicial de estas posiciones para los cuatro impulsos es como sigue: So*®; Sí={2t 10, 18, 34, 50}; S¿={4, 12, 20, 36, 62); S^d, 14, 22, 38, 54}; | Aumentando en 2 la comunidad izquierda de los impulsos, se obtiene: S ß, 8, 16, 32, 48}; S ß, 10, 18, 34, 50}; SJ K 12, 20, 36, 52}; S^{Q, 14, 22, 38, 54} por lo tanto con SQ 0 ).
* Modalidad no. 2 La segunda modalidad siguiente ilustra la aplicación de la invención para la transcodificación inteligente entre modelos de ACELP de la misma longitud. En particular, esta segunda modalidad se aplica a la transcodificación inteligente entre el modelo de ACELP con cuatro impulsos de G.729 del modo de 8 kbps y el ACELP con dos impulsos de G.729 del modo de 6.4 kbps La transcodificación inteligente entre los modos de 6.4 kbps y 8 kbps del codificador G.729, utiliza un directorio de ACELP con dos impulsos y un segundo con cuatro impulsos. La modalidad descrita aquí determina las posiciones de cuatro impulsos (8 kbps) de las posiciones de dos impulsos (6.4 kbps) y viceversa. La operación del codificador ITU-T G.729 se describe brevemente. Este codificador puede operar a tres velocidades de bits: 6.4, 8 y 1 1.8 kbps. Las primeras dos velocidades de bits se consideran aquí. Una trama de G.729 contiene 80 muestras a 8 kHz y se divide en dos subtramas cada una de 40 muestras. Para cada subtrama, G.729 modela la señal de innovación por medio de impulsos que se conforman al modelo de ACELP. Utiliza cuatro impulsos para el modo de 8 kbps y dos impulsos para el modo de 6.4 kbps. Las tablas 2 y 4 anteriores dan las posiciones que los impulsos pueden adoptar para estas dos velocidades de bits. A 6.4 kbps, una búsqueda exhaustiva de todas las (512) combinaciones de posiciones se efectúa. A 8 kbps, una búsqueda enfocada se utiliza preferiblemente. El procesamiento general de acuerdo con la invención se utiliza otra vez aquí. Sin embargo, la estructura de ACELP común a los dos directorios se explota ventajosamente aquí. Establecer la correspondencia entre los conjuntos de posiciones por lo tanto explota una división de la subtrama de 40 muestras en cinco pistas cada una de ocho posiciones, según lo precisado en la tabla 6 siguiente.
Tabla 6: División de posiciones en cinco pistas en los diccionarios de A CELP del G.729 En los dos directorios, las posiciones de los impulsos comparten estas pistas, según lo mostrado en la tabla 7 siguiente. Todos los impulsos son caracterizados por su la pista y su rango en esa pista. El modo de 8 kbps ubica un impulso en cada una de las primeras tres pistas y el último impulso en una de las dos últimas pistas. El modo de 6.4 kbps ubica su primer impulso en la pista P-i o P3 y su segundo impulso en la pista P0, Pi , P2 o P .
Tabla 7: Distribución de los impulsos de los directorios A CELP del G. 729 de los modos de 8 y 6.4 kbps en cinco pistas. Esta modalidad explota la interpolación de las pistas (estructura de ISSP) para facilitar ia extracción de las comunidades y componer los subconjuntos restringidos de posiciones. Por consiguiente, para moverse de una pista a otra, es suficiente cambiar una unidad a la derecha o a la izquierda. Por ejemplo, en la 5a posición de la pista 2 (posición absoluta 22), un cambio de una unidad a la derecha (+1 ) conduce a la 5a posición en la pista 3 (posición absoluta 23) y un cambio de una unidad a la izquierda (-1 ) conduce a la 5a posición de la pista 1 (posición absoluta 21 ). Más generalmente, un cambio de posición de ±d se refleja aquí en los efectos siguientes. Al nivel de las pistas P¡: comunidad derecha: P¡ = P(¡+d)-=5 comunidad izquierda: P¡ => P(i-d)s5 En el nivel del rango m en la pista: * comunidad derecha: si (I + d) < 4: m¡ => m¡ si no: m¡ => m¡ + 1 * comunidad izquierda: si (I - d) = = 0: m¡ => m,- si no m,- => /T?,- 1 La selección de un subconjunto del directorio ACELP con cuatro impulsos del codificador G.729 del modo de 8 kbps de un elemento de un directorio ACELP con dos impulsos del codificador G.729 del modo de 6.4 kbps se describe después. Es considerada una subtrama de G.729 del modo de 6.4 kbps. Dos impulsos son colocados por el codificador, pero es necesario para determinar las posiciones de los otros impulsos que el G.729 del modo de 8 kbps debe colocarse. Para restringir la complejidad radicalmente, solamente una posición por impulso es seleccionado y solamente una combinación de posiciones se conserva. Esto tiene la ventaja que la etapa de selección es por lo tanto inmediata. Dos de los cuatro impulsos del G.729 del modo de 8 kbps se seleccionan en las mismas posiciones como los del modo de 6.4 kbps, después de lo cual los dos impulsos restantes se colocan en la comunidad inmediata de los primeros dos. Como se indica anteriormente, se explota la estructura de la pista. En la primera etapa para recuperar las dos posiciones descifrando el índice binario (en nueve bits) de las dos posiciones, las dos pistas correspondientes también se determina. De estas dos pistas (que pueden ser idénticas), las últimas tres etapas para extraer las comunidades, componen los subconjuntos restringidos y seleccionan una combinación de impulsos son entonces juiciosamente asociados. Diferentes casos son entonces distinguidos de acuerdo a las pistas P,- (i = 0 a 4) que contienen los dos impulsos del modo de 6.4 kbps. Las posiciones de los impulsos del modo de 6.4 kbps son designados ek y aquéllas de los impulsos del modo de 8 kbps son designados sk. La Tabla 8 más adelante dan las posiciones seleccionadas en cada caso. Las columnas marcadas "Pj+d=P¡" especifican la ley de comunidad en el nivel de las pistas y terminan en la pista P¡. En el nivel de las pistas P¡: * para la comunidad derecha: Pi * para la comunidad izquierda: P¡ => Pa-d)=5 Tabla 8: Selección del directorio restringido de G.729 del modo de 8 kbps a partir de dos impulsos del directorio ACELP G.729 del modo de 6.4 kbps. El objetivo es por lo tanto preferiblemente balancear la distribución de las cuatro posiciones con relación a las dos posiciones iniciales, aunque puede hacerse una diferente elección. Cuatro situaciones (indicadas por un exponente entre paréntesis en la Tabla 8) pueden sin embargo dar lugar a problemas del efecto de borde: Situación (1 ): si e-i = 0, no podemos tomar s3 = e-i - 1 , así elegiremos s3 = e0 + 2. Situación (2) si e<¡ = 39, no podemos tomar s0 = e<¡ + 1 , así que elegiremos s0 = e0 - 1 - Situación (3) si e^ - 38, no podemos tomar s0 = e0 + 2, así que elegiremos s0 = ei -2. Situación (4) si e = 39, no podemos tomar 50 = 6! + 1 , así que elegiremos s0 = e0 - 3. Para reducir la complejidad adicional, la señal de cada impulso sk se puede tomar como igual a la del impulso ßj a partir del cual se deduce. La selección de un subconjunto del directorio ACELP del G.729 del modo de 6.4 kbps con dos impulsos de un elemento del directorio ACELP del G.729 del modo de 8 kbps con cuatro impulsos se describe después. Para una subtrama del G.729 del modo de 8 kbps, la primera etapa es para recuperar las posiciones de los cuatro impulsos generados por el modo de 8 kbps. La descodificación del índice binario (en 13 bits) de estas cuatro posiciones produciendo su rango en su pista respectiva para las primeras tres posiciones (pistas 0 a 2) y la pista (3 ó 4) del cuarto impulso junto con su rango en esta pista. Cada posición e¡ (0 < i < 4) es caracterizada por el par (p¡, m¡) en el cual p¡ es el índice de su pista y la m¡ es su rango en esa pista. Tenemos: e¡ = 5m¡ + p¡ con 0 < m¡ < 8 y p¡ = i para l < 3 y p3 = 3 ó 4. Como ya se mencionó, la extracción de la comunidad y composición del subconjunto restringida se combinan y ventajosamente explotan la estructura ISSP común para los dos directorios. Las cinco intersecciones T'j del conjunto Ps de las comunidades de las cuatro posiciones con las cinco pistas Pj son construidas explotando la propiedad de la posición adyacente inducida intercalando las pistas: Por consiguiente, una comunidad derecha (respectivamente izquierda) de +1 (respectivamente -1 ) del impulso (p,m) pertenece a T'p+1 si p < 4 (respectivamente a T'p-1 si p > 0), si no (p = 4) a T'0 a condición de que m < 7 (respectivamente a T'4 (I = 0) a condición de que m > 0). La restricción en la comunidad derecha para una posición del cuarto impulso que pertenece a la cuarta pista (respectivamente la comunidad izquierda para una posición de la primera pista) se asegura que la posición adyacente no está fuera del subconjunto. Por consiguiente, usando la notación del modulo 5 (=5), una comunidad derecha (respectivamente izquierda) de +1 (respectivamente -1) del impulso (p,m) pertenece a T'(p+1)=5 (respectivamente a T'(p-?)=5). Obsérvese que es necesario tomar en cuenta los efectos de borde. Generalizando un tamaño de comunidad d, una comunidad derecha de +d (respectivamente una comunidad izquierda de -d) del impulso (p,m) pertenece a T'(p+1)=5 (respectivamente T'(p-1)=5). El rango de la comunidad de ±d es igual a m si p + d < 4 (o p - d = 0), si no el rango m se incrementa para una comunidad derecha y disminuye para una comunidad izquierda. Tomar en cuenta el efecto de borde por lo tanto de cantidades para asegurar que m < 7 si p + d > 4 y m > 0 si p - d < 0. Iniciando a partir de esta distribución de comunidades en las cinco pistas, es algo fácil determinar los subconjuntos S0 y Si de las posiciones de los dos impulsos: So = T'? T'S y S = T'o T T'= T^ La cuarta etapa y etapa final consisten en buscar para el par óptimo en los dos subconjuntos obtenidos. El algoritmo de búsqueda (como el algoritmo estandardizado que explota la estructura de pista) y la pista mediante el almacenamiento de pista de impulsos simplifican de nuevo el algoritmo de búsqueda. En la práctica, esto por lo tanto no es de utilidad para construir los subconjuntos restringidos S0 y Si explícitamente, como los conjuntos T'j se pueden utilizar solamente. En el siguiente ejemplo, los cuatro impulsos del G.729 del modo de 8 kbps se han puesto en las siguientes posiciones: e0 = 5; e-, = 21; e2 = 22; e3 = 34. Esas cuatro posiciones son caracterizadas por los cuatro pares (P1, m?)= (0, 1), (1, 4), (2, 4) (4, 6).
Tomando una comunidad fija igual a 1 , las cinco intersecciones T'j se construyen como sigue: e0: (0, 1 ) produce: (4.0) a la izquierda y (1 , 1 ) a la derecha e-i : (1 , 4) produce: (0, 4) a la izquierda y (2, 4) a la derecha e2: (2, 4) produce: (1 , 4) a la izquierda y (3, 4) a la derecha e3: (4, 6) produce: (3, 6) a la izquierda y (0, 7) a la derecha Así tenemos: T'0 = {(0, 1 ), (0, 4), (0, 7)} TU = {(1 , 4), (1 , 1 )} T'2 = {(2, 4)} T'3 = {(3, 4), (3, 6)} T'4 = = {(4, 6), (4, 0)} Invirtiendo a la notación de posición: TO = {5, 20, 35} ^ = {21 , 6} T'2 = {22} T'3 = {23, 33} T'4 = = {34, 4} En la etapa final, un algoritmo similar al del modo G.729 de 6.4 kbps efectúa la búsqueda para el mejor par de impulsos. Donde el algoritmo es mucho menos complejo aquí como el número de combinaciones de posiciones que se explorarán es muy pequeño. En el ejemplo, este número de combinaciones a probarse es solamente 4 (Cardinal (T ) + Cardinal (T'3)) multiplicado por 8 (Cardinal (T'0) + Cardinal (T' + Cardinal (T'2) + Cardinal (TU)), es decir 32 combinaciones en vez de 512. Para una comunidad de tamaño 1 , menos del 8% de las combinaciones de posiciones serán exploradas en promedio, sin exceder 10% (50 combinaciones). Para una comunidad de tamaño 2, menos del 17% de combinaciones de posiciones serán exploradas en promedio y más del 25% de las combinaciones serán exploradas. Para una comunidad de tamaño 2, la complejidad del proceso propuesto por la invención (aglomerar junto el costo de buscar el directorio restringido y el costo de extraer las comunidades asociadas con la composición de las intersecciones) representa menos del 30% de una búsqueda exhaustiva para una calidad equivalente. * Modalidad No. 3 La modalidad final ilustra pasar entre el modelo ACELP de G.729 del modo de 8 kbps y el modelo MP-MLQ del G.723.1 del modo de 6.3 kbps. La transcodificación inteligente de los impulsos entre G.723.1 (modo de 6.3 kbps) y G.729 (modo de 8 kbps) implica dos dificultades importantes. En primer lugar, el tamaño de las tramas es diferente (40 muestras para G.729 contra 60 muestras para G.723.1 ). La segunda dificultad se une a diferentes estructuras de los diccionarios (tipo ACELP para G.729 y tipo MP-MLQ para G.723.1 ). La modalidad descrita en la presente muestra cómo la invención elimina estos dos problemas para transcodificar los impulsos a costo reducido conservando la calidad de transcodificación. Primero toda una correspondencia temporal se actualiza entre las posiciones los dos formatos, tomando en cuenta la diferencia de tamaño de las subtramas para alinear las posiciones con relación a un origen común a E y S. Las longitudes de subtrama G.729 y G.723.1 tienen un múltiplo común inferior de 120, la correspondencia temporal se actualiza por los bloques de 120 muestras, es decir dos subtramas G.723.1 para cada tres subtramas G.729, como se muestra en la figura 4b del ejemplo. Alternativamente, puede ser preferible trabajar en bloques completos de tramas. En este caso, los bloques de 240 muestras se eligen, es decir una trama G.723.1 (cuatro subtramas) para cada tres tramas G.729 (seis subtramas). Se describe después la selección de un subconjunto del directorio MP-MLQ G.723.1 del modo de 6.3 kbps de elementos del directorio ACELP G.729 del modo de 8 kbps con cuatro impulsos. La primera etapa consiste en recuperar las posiciones de los impulsos por bloque de tres subtramas G.729 (con índice ie, 0 < ie < 2). La posición de este bloque en la subtrama ie es designada pe(/e)- Antes de la extracción de la comunidad, las 12 posiciones pe( e) se convierten en 12 posiciones ps(/s) divididas en dos subtramas G.723.1 (de índice y's, 0 < js = 1 ). La ecuación general anterior se puede utilizar (involucrando el módulo de la longitud de la subtrama) para realizar la adaptación de las duraciones de la subtrama. Sin embargo, se prefiere aquí simplemente para distinguir tres situaciones de acuerdo al valor del índice ie: ' si ie = 0, entonces y's = 0 y ps = pe si /e = 2, entonces y's = 1 y ps = pe + 20 si ie = 1 , entonces si pe < 20 js - 0 y ps = pe + 40 si no (pe > 20) : y's = 1 y ps = pe - 20 Así no se efectúa ningún módulo de división y operación n. Las cuatro posiciones recuperadas en la subtrama STEO del bloque se asignan directamente a la subtrama STSO con la misma posición, los de la subtrama STE2 del bloque se asignan directamente a la subtrama STS1 con un incremento de posición de +20, las posiciones de la subtrama STE1 debajo de 20 se asignan a la subtrama STSO con un incremento de +40, y las otras se asignan a la subtrama STS1 con un incremento de -20. Las comunidades de estas 12 posiciones entonces se extraen.
Observe que las comunidades derechas (respectivamente izquierdas) de las posiciones de la subtrama STSO (respectivamente STS1 ) a extraerse de su subtrama pueden ser autorizarse, estas posiciones de comunidad están entonces en la subtrama STS1 (respectivamente STSO). Las etapas de extracción temporales de comunidad y correspondencia pueden ser intercambiadas. En este caso, las comunidades derechas (respectivamente izquierdas) de las posiciones de la subtrama STEO (respectivamente STE2) a extraerse de su subtrama pueden autorizarse, estas posiciones de la comunidad entonces están en la subtrama STE1 . Similarmente, las comunidades derechas (respectivamente izquierdas) de las posiciones en STE1 pueden conducir a las posiciones de comunidades en STE2 (respectivamente STEO). Una vez que el conjunto de las posiciones restringidas para cada subtrama STS se ha constituido, la etapa final consiste en explorar el directorio restringido constituido de esta manera para cada subtrama STS para seleccionar los impulsos Np (= 6 ó 5) con la misma paridad.
Este procedimiento puede derivarse del algoritmo estandardizado o tomar su inspiración de otros procedimientos enfocados. Para ilustrar esta modalidad, se consideran tres subtramas G.729 que se pueden utilizar para construir los subdirectorios de dos subtramas G.723.1 . Asumiendo que G.729 produce las siguientes posiciones: STEO : e00 = 5; e0? = 1 ; e02 = 3; e03 = 39; STE1 : e10 = 15; e1 = 31 ; e12 = 22; e13 = 4; STE2 : e20 = 0; e21 = 1 ; e22 = 37; e23 = 24. Después de la aplicación de la etapa de correspondencia temporal anterior, la asignación de estas 12 posiciones a las subtramas STSO y STS1 es como sigue: STSO : Soo = 5; s0? = 1 ; s02 = 32; s03 = 39 (s0k = eo?) STSO: s'i = 55; s'13 = 44 (s'ok = e1 k + 40, si e?k < 20) STS1 : s'n = 1 1 ; s'12 = 2 (s'1 k = e1 k - 20, si e1 k > 20) STS1 : s20 = 20; s21 = 21 ; s22 = 57; s23 = 44 (sok = e2k + 20) Así tenemos los conjuntos de posiciones {1 , 5, 32, 39, 44, 55} para la subtrama STSO y {2, 1 1 , 20, 21 , 44, 57} para la subtrama STS1 . En esta etapa es necesario extraer las comunidades. Tomando una comunidad fijada en 1 , por ejemplo, obtenemos: Psl * V {1WU2)1J{20^1J ]U^ 22, 3}U{4334 ,45J{J{56>57^8} MP-MLQ no impone ninguna restricción en los impulsos, aparte de su paridad. Sobre una subtrama, deben tener la misma paridad. Es por lo tanto necesario aquí dividir Ps0 y Ps? en dos subconjuntos, como sigue: - Pso : {0,2,4,8,32,40,44,54,56} " {1 ,5,31 ,33,39,43,45,55} - Ps1 : {2,10,12,20,22,44,56} ?y {1,3,11,21,23,43,45,57} Finalmente, este subdirectorio es transmitido al algoritmo de selección que determina las mejores posiciones Np_ en el sentido del criterio de CELP para las subtramas FTSO y STS1 de G.723.1 . Esto reduce considerablemente el número de combinaciones a probarse. Por ejemplo, permanecen en la subtrama STSO nueve posiciones pares y ocho posiciones impares, en lugar de 30 y 30. Ciertas precauciones sin embargo se requieren en situaciones en las cuales las posiciones seleccionadas por G.729 son tales que la extracción de las comunidades producen un número N de posiciones posibles menor del número de posiciones del G.723.1 (N < Np). Este es el caso en particular si las posiciones G.729 están todas en secuencia (por ejemplo: {0, 1 , 2, 3}). Existen entonces dos opciones: • cualquiera para aumentar el tamaño de la comunidad para las subtramas referidas hasta un suficiente tamaño se obtiene para Ps (tamaño = Np): - o para seleccionar los primeros impulsos N y autorizarlos para los impulsos Np - N restantes una búsqueda entre las posiciones 30 - N restantes de la rejilla, como se describe anteriormente.
La operación de proceso opuesta, consiste en seleccionar un subconjunto del directorio ACELP de G.729 del modo de 8 kbps con cuatro impulsos de elementos de un directorio MP-MLQ de G.723.1 del modo de 6.3 kbps, se describe más adelante. En conjunto, el proceso es similar. Dos subtramas de G.723.1 corresponden a tres tramas G.729. De nuevo, las posiciones de G.723.1 se extraen y traducen en la trama de tiempo del G.729 ahora. Estas posiciones se podrían traducir ventajosas en la forma "pista - línea en la pista" para beneficiarla tal como anteriomente de la estructura de ACELP para extraer las comunidades y para buscar las posiciones óptimas. Los mismos arreglos como antes se adoptan para prevenir situaciones en las cuales la extracción de la comunidad producirá un número insuficiente de posiciones (aquí menos de cuatro posiciones). Así la presente invención determina a un costo más bajo las posiciones de un conjunto de impulsos de un primer conjunto de impulsos, los dos conjuntos de impulsos que pertenecen a dos directorios de impulsos múltiples. Estos dos directorios se pueden distinguir por su tamaño, longitud y número de impulsos de sus palabras de código, y las reglas que rigen las posiciones y/o amplitudes de los impulsos. Se da preferencia a las comunidades de las posiciones de los impulsos del conjunto(s) seleccionado en el primer directorio para determinar los de un conjunto en el segundo directorio. La invención además explota la estructura de los directorios de inicio y/o destino para reducir la complejidad adicional. Desde la primera modalidad descrita anteriormente, se implica el cambio de un modelo de MP-MLQ a un modelo de ACELP, quedando claro que la invención es fácil de aplicarse a dos modelos de impulsos múltiples que tienen diferentes restricciones estructurales. Desde la segunda modalidad, se implica pasar entre dos modelos que tienen diferentes números de impulsos basados en la misma estructura de ACELP, quedará claro que la invención ventajosamente explota la estructura de los directorios para reducir la complejidad transcodificada. A partir de la tercera modalidad, implica pasar entre un modelo de MP-MLQ y un modelo de ACELP, estará claro que la invención se puede incluso aplicar a codificadores con diferentes longitudes de la subtrama o frecuencias de muestreo. La invención ajusta la relación de calidad/complejidad y en particular reduce en gran medida la complejidad del cálculo para una mínima deterioración en comparación a una búsqueda convencional de un modelo de impulsos múltiples.

Claims (1)

  1. REIVINDICACIONES 1 . Un método de transcodificación entre un primer codee de compresión y un segundo codee de compresión, el primer y segundo codees son de tipo impulso y utilizan los diccionarios de impulsos múltiples en los cuales cada impulso tiene una posición marcada por un índice asociado, donde el método se caracteriza en que incluye las siguientes etapas: a) en donde sea apropiado, adaptar los parámetros de codificación entre el primer y segundo codees; b) obtener del primer codee un número seleccionado (Ne) de posiciones de impulso e índices de posición respectivos (e¡) asociados con las mismas; c) para cada posición de impulso actual de índice dado, formar un grupo de posiciones de impulso incluyendo por lo menos la posición del impulso actual y las posiciones de impulso con índices asociados inmediatamente debajo e inmediatamente arriba del índice dado; d) seleccionar en función de las posiciones de impulso (Tj) aceptadas por el segundo codee, por lo menos algunas de las posiciones de impulso en un conjunto (Ps) constituido por una unión de los grupos formados en la etapa c); y e) enviar las posiciones de impulso seleccionadas al segundo codee para codificar/descodificar las posiciones enviadas; la etapa de selección d) por lo tanto implica un número de posiciones de impulso que es menor que el número total de posiciones de impulso en el diccionario del segundo codee. 2. Un método de acuerdo a la reivindicación 1 , en donde el primer codee (E) utiliza un primer número de impulsos en un primer formato de codificación y caracterizado en que el número seleccionado (Ne) en la etapa b) corresponde al primer número de posiciones del pulso. 3. Un método de acuerdo a la reivindicación 2, en donde: • el primer codee (E) utiliza un primer número (Ne) de posiciones de impulso en un primer formato de codificación; y • el segundo codee (E) utiliza un segundo número (Ns) de posiciones de impulso en un segundo formato de codificación; y caracterizado en que además ¡ncluye una etapa de discriminación entre las siguientes situaciones: • el primer número (Ne) es mayor que o igual al segundo número (Ns); y • el primer número (NT) es menos que el segundo número (Ns). 4. Un método de acuerdo a la reivindicación 3, en donde el primer número (Ne) es mayor que o igual al segundo número (Ns) (Ne=Ns) y caracterizado en que cada grupo formado en la etapa c) incluye las posiciones de impulso de comunidades derechas (v'd) y las posiciones de impulso de comunidades izquierdas (v'g) de la posición del impulso actual del índice dado y los números respectivos de las posiciones de impulso de las comunidades izquierda y derecha, se seleccionan como una función de una relación de calidad de la complejidad/transcodificación. 5. Un método de acuerdo a la reivindicación 4, caracterizado en que se construye en la etapa d) un subdirectorio de combinaciones de las posiciones de impulso que resultan de las intersecciones (Sj) de: • un conjunto (Ps) constituido por una unión de los grupos formados en la etapa c); y • posiciones de impulso (Tj) aceptadas por el segundo codee, de modo que el subdirectorio tiene un tamaño menor que el número de combinaciones de la posición del impulso (Tj) aceptado por el segundo codee. 6. Un método de acuerdo a la reivindicación 5, caracterizado en que después de la etapa e) el subdirectorio se busca para un conjunto óptimo de posiciones incluyendo el segundo número (Ns) de posiciones en el nivel del segundo codificador (S). 7. Un método de acuerdo a la reivindicación 6, caracterizado en que la etapa de buscar para el conjunto óptimo de posiciones se efectúa por medio de una búsqueda enfocada para acelerar la exploración del subdlrectorio. 8. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el primer codee se adapta para enviar una sucesión de tramas codificadas y caracterizado en que los números respectivos de las posiciones de impulso en los grupos formados en el etapa c) están seleccionados sucesivamente de una trama a otra. 9. Un método de acuerdo a la reivindicación 3, en donde el primer número (Ne) es menor que el segundo número (Ns) (Ne<Ns) y caracterizado en que una prueba adicional es efectuada para determinar si las posiciones de impulso proporcionadas en el segundo número (Ns) de las posiciones de impulso se incluyen en las posiciones de impulso de los grupos formados en la etapa c) y, en el caso de un resultado negativo de la prueba, el número de posiciones de impulso en los grupos formados en la etapa c) se incrementa. 10. Un método de acuerdo a la reivindicación 3, caracterizado en que además de discriminar la situación en la cual el segundo número Ns está entre el primer número Ne y dos veces el primer número Ne (Ne<Ns<2Ne), y si es el caso: d ) las posiciones de impulso Ne se seleccionan desde el principio; y c2) se selecciona además un número complementario de posiciones de impulso Ns - Ne definido en la comunidad inmediata de las posiciones de impulso seleccionadas en la etapa d ). 1 1 . Un método de acuerdo a cualquiera de las reivindicaciones anteriores, en donde el primer codee opera con una primera frecuencia de muestreo dada y desde una primera duración de la subtrama dada y caracterizado en que los parámetros codificados para los cuales la adaptación se realiza en la etapa a) incluye una duración de la subtrama y una frecuencia de muestreo y el segundo codee opera con una segunda frecuencia de muestreo y una segunda duración de la subtrama y caracterizado en que las siguientes cuatro situaciones se distinguen en la etapa a): • la primera y segunda duraciones son iguales y la primera y segunda frecuencias son iguales; • la primera y segunda duraciones son iguales y la primera y segunda frecuencias son diferentes; • la primera y segunda duraciones son diferentes y la primera y segunda frecuencias son ¡guales; y • la primera y segunda duraciones son diferentes y la primera y segunda frecuencias son diferentes. 12. Un método de acuerdo a la reivindicación 1 1 , en donde la primera y segunda duraciones son iguales y la primera y segunda frecuencias de muestreo son diferentes y caracterizado en que incluye las etapas de: a1 ) cuantificación de la escala de tiempo directa de la primera frecuencia a la segunda frecuencia; y a2) determinación como una función de la cuantificación de cada posición del impulso en una subtrama con el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo de una posición del impulso en una subtrama con el primer formato de codificación caracterizado por la primera frecuencia de muestreo. 13. Un método de acuerdo a la reivindicación 12, caracterizado en que la etapa de cuantificación a1 ) es efectuada mediante el cálculo y/o tabulación en base de una función que en una posición del impulso en una subtrama con el primer formato (pe) establece la correspondencia de una posición del impulso en una subtrama con el segundo formato (ps), la función sustancialmente toma la forma de una combinación lineal que involucra un coeficiente multiplicador que corresponde a la relación de la segunda frecuencia de muestreo a la primera frecuencia de muestreo. 14. Un método de acuerdo a la reivindicación 13, caracterizado en que para pasar inversamente una posición del impulso en una subtrama con el segundo formato (ps) a una posición del impulso en una subtrama con el primer formato (pß) se aplica una función inversa a la combinación lineal aplicada a una posición del impulso en una subtrama con el segundo formato (ps). 15. Un método de acuerdo a la reivindicación 1 1 , en donde la primera y segunda duraciones son iguales y la primera y segunda frecuencias de muestreo son diferentes y caracterizado en que incluye las etapas de: a'1 ) supermuestreo de una subtrama con el primer formato de codificación caracterizado por la primera frecuencia de muestreo en una frecuencia igual al múltiplo común más bajo de la primera y segunda frecuencias de muestreo; y a'2) aplicar a la subtrama sometida a supermuestreo la filtración de bajo paso seguido por el inframuestreo para obtener una frecuencia de muestreo que corresponda a la segunda frecuencia de muestreo. 16. Un método de acuerdo a la reivindicación 15, caracterizado en que el método continúa obteniendo un número de posiciones por medio de un método de umbral, donde es apropiado un número variable de posiciones. 17. Un método de acuerdo a la reivindicación 12, caracterizado en que adicionalmente incluye una etapa de establecer la correspondencia para cada posición (pe) de un impulso de una subtrama con el primer formato de codificación caracterizado por la primera frecuencia de muestreo de un grupo de posiciones de impulso (ps) en una subtrama con el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo, cada grupo incluye un número de posiciones que es una función de la relación (Fs/Fe) entre la segunda frecuencia de muestreo y la primera frecuencia de muestreo. 18. Un método de acuerdo a la reivindicación 1 1 , en donde la primera y segunda duraciones de la subtrama son diferentes y caracterizado en que incluye las etapas de: a20) definir un origen (O) común para las subtramas del primer y segundo formatos; a21 ) dividir las subtramas sucesivas del primer formato de codificación caracterizado por una primera duración de la subtrama para formar pseudosubtramas de duración que corresponden a la duración de la subtrama del segundo formato; a22) actualizar el origen común; y a23) determinar la correspondencia entre las posiciones de impulso en las pseudosubtramas y en las subtramas con el segundo formato. 1 9. Un método de acuerdo a la reivindicación 18, caracterizado en que también discrimina las siguientes situaciones: • la primera y segunda duraciones están fijas en tiempo; y • la primera y segunda duraciones varían en tiempo. 20. Un método de acuerdo a la reivindicación 19, en donde la primera y segunda duraciones están fijas en tiempo y caracterizado en que la posición en tiempo del origen común es periódicamente actualizada siempre que los límites de subtramas respectivos de la primera y segunda duración estén alineados en tiempo. 21 . Un método de acuerdo a la reivindicación 1 9, en donde la primera y segunda duraciones varían en tiempo y caracterizado en que: a221 ) las adiciones respectivas de las duraciones de las subtramas con el primer formato y las duraciones de las subtramas con el segundo formato se efectúan sucesivamente; a222) la igualdad de las dos adiciones se detecta, definiendo un tiempo de actualizar el origen común; y a223) las dos adiciones se reajustan, después de que se detecte la igualdad, para la detección futura de un origen común siguiente. 22. Un producto de software adaptado para ser almacenado en una memoria de una unidad de procesamiento, en particular una computadora o terminal móvil, o en un medio de memoria removible adaptado para cooperar con un lector de la unidad de procesamiento, caracterizado en que incluye las instrucciones para implementar el método de transcodificación de acuerdo a cualquiera de las reivindicaciones anteriores. 23. Un sistema para transcodificar entre un primer codee de compresión y un segundo codee de compresión, el primer y segundo codees son del tipo de impulso y utilizan diccionarios de impulsos múltiples en los cuales cada impulso tiene una posición marcada por un índice asociado, el sistema está caracterizado en que incluye una memoria adaptada para almacenar las instrucciones de un producto de software de acuerdo a la reivindicación 22.
MXPA06006621A 2003-12-10 2004-11-24 Transcodificacion entre indices de diccionarios de impulsos multiples utilizados para la codificacion en la compresion de senal digital. MXPA06006621A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0314489A FR2867648A1 (fr) 2003-12-10 2003-12-10 Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
PCT/FR2004/003008 WO2005066936A1 (fr) 2003-12-10 2004-11-24 Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques

Publications (1)

Publication Number Publication Date
MXPA06006621A true MXPA06006621A (es) 2006-08-31

Family

ID=34746280

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06006621A MXPA06006621A (es) 2003-12-10 2004-11-24 Transcodificacion entre indices de diccionarios de impulsos multiples utilizados para la codificacion en la compresion de senal digital.

Country Status (12)

Country Link
US (1) US7574354B2 (es)
EP (1) EP1692687B1 (es)
JP (1) JP4970046B2 (es)
KR (1) KR101108637B1 (es)
CN (1) CN1890713B (es)
AT (1) ATE389933T1 (es)
DE (1) DE602004012600T2 (es)
ES (1) ES2303129T3 (es)
FR (1) FR2867648A1 (es)
MX (1) MXPA06006621A (es)
PL (1) PL1692687T3 (es)
WO (1) WO2005066936A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2867649A1 (fr) * 2003-12-10 2005-09-16 France Telecom Procede de codage multiple optimise
US20070250308A1 (en) * 2004-08-31 2007-10-25 Koninklijke Philips Electronics, N.V. Method and device for transcoding
FR2880724A1 (fr) * 2005-01-11 2006-07-14 France Telecom Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
US20060262851A1 (en) * 2005-05-19 2006-11-23 Celtro Ltd. Method and system for efficient transmission of communication traffic
KR100918377B1 (ko) * 2006-05-30 2009-09-22 주식회사 메디슨 영상압축 방법
US8214200B2 (en) * 2007-03-14 2012-07-03 Xfrm, Inc. Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid
EP2827327B1 (en) 2007-04-29 2020-07-29 Huawei Technologies Co., Ltd. Method for Excitation Pulse Coding
CN101295506B (zh) * 2007-04-29 2011-11-16 华为技术有限公司 脉冲编解码方法及脉冲编解码器
EP2045800A1 (en) * 2007-10-05 2009-04-08 Nokia Siemens Networks Oy Method and apparatus for transcoding
CN101931414B (zh) * 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
US8738679B2 (en) * 2009-07-03 2014-05-27 Stmicroelectronics International N.V. Offset-free sinc interpolator and related methods
CN102299760B (zh) 2010-06-24 2014-03-12 华为技术有限公司 脉冲编解码方法及脉冲编解码器
US8805697B2 (en) * 2010-10-25 2014-08-12 Qualcomm Incorporated Decomposition of music signals using basis functions with time-evolution information
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
KR102048076B1 (ko) * 2011-09-28 2019-11-22 엘지전자 주식회사 음성 신호 부호화 방법 및 음성 신호 복호화 방법 그리고 이를 이용하는 장치
US8731081B2 (en) * 2011-12-07 2014-05-20 Motorola Mobility Llc Apparatus and method for combinatorial coding of signals
WO2019028602A1 (zh) * 2017-08-07 2019-02-14 深圳市汇顶科技股份有限公司 应用于超取样转换器的向量量化数模转换电路
CN114598558B (zh) * 2022-03-28 2023-10-31 厦门亿联网络技术股份有限公司 音频设备级联自修复系统及自修复方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3109594B2 (ja) * 1998-08-18 2000-11-20 日本電気株式会社 移動通信システムおよび移動端末接続方法
US6604070B1 (en) * 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US7222070B1 (en) * 1999-09-22 2007-05-22 Texas Instruments Incorporated Hybrid speech coding and system
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
FR2802329B1 (fr) * 1999-12-08 2003-03-28 France Telecom Procede de traitement d'au moins un flux binaire audio code organise sous la forme de trames
US6687668B2 (en) * 1999-12-31 2004-02-03 C & S Technology Co., Ltd. Method for improvement of G.723.1 processing time and speech quality and for reduction of bit rate in CELP vocoder and CELP vococer using the same
US6704703B2 (en) * 2000-02-04 2004-03-09 Scansoft, Inc. Recursively excited linear prediction speech coder
JP4231987B2 (ja) * 2001-06-15 2009-03-04 日本電気株式会社 音声符号化復号方式間の符号変換方法、その装置、そのプログラム及び記憶媒体
US7272555B2 (en) * 2001-09-13 2007-09-18 Industrial Technology Research Institute Fine granularity scalability speech coding for multi-pulses CELP-based algorithm
EP1464047A4 (en) * 2002-01-08 2005-12-07 Dilithium Networks Pty Ltd TRANSCODE SCHEME BETWEEN CELP-BASED LANGUAGE CODES
US6829579B2 (en) * 2002-01-08 2004-12-07 Dilithium Networks, Inc. Transcoding method and system between CELP-based speech codes
JP4304360B2 (ja) * 2002-05-22 2009-07-29 日本電気株式会社 音声符号化復号方式間の符号変換方法および装置とその記憶媒体
JP4238535B2 (ja) * 2002-07-24 2009-03-18 日本電気株式会社 音声符号化復号方式間の符号変換方法及び装置とその記憶媒体
WO2004034379A2 (en) * 2002-10-11 2004-04-22 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US7363218B2 (en) * 2002-10-25 2008-04-22 Dilithium Networks Pty. Ltd. Method and apparatus for fast CELP parameter mapping
US7523032B2 (en) * 2003-12-19 2009-04-21 Nokia Corporation Speech coding method, device, coding module, system and software program product for pre-processing the phase structure of a to be encoded speech signal to match the phase structure of the decoded signal
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding

Also Published As

Publication number Publication date
ATE389933T1 (de) 2008-04-15
KR101108637B1 (ko) 2012-02-09
JP2007515676A (ja) 2007-06-14
FR2867648A1 (fr) 2005-09-16
ES2303129T3 (es) 2008-08-01
JP4970046B2 (ja) 2012-07-04
DE602004012600D1 (de) 2008-04-30
WO2005066936A1 (fr) 2005-07-21
CN1890713B (zh) 2010-12-08
US7574354B2 (en) 2009-08-11
CN1890713A (zh) 2007-01-03
KR20060131781A (ko) 2006-12-20
EP1692687B1 (fr) 2008-03-19
EP1692687A1 (fr) 2006-08-23
US20070124138A1 (en) 2007-05-31
PL1692687T3 (pl) 2008-10-31
DE602004012600T2 (de) 2009-04-30

Similar Documents

Publication Publication Date Title
MXPA06006621A (es) Transcodificacion entre indices de diccionarios de impulsos multiples utilizados para la codificacion en la compresion de senal digital.
RU2459282C2 (ru) Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра
CA2972808C (en) Multi-reference lpc filter quantization and inverse quantization device and method
US6980951B2 (en) Noise feedback coding method and system for performing general searching of vector quantization codevectors used for coding a speech signal
JP4162933B2 (ja) 低ビットレートcelp符号化のための連続タイムワーピングに基づく信号の修正
EP1339040A1 (en) Vector quantizing device for lpc parameters
MXPA03004513A (es) Metodo y dispositivo para vincular posiciones y signos de pulso de vinculacion en libros de codigos algebraicos para codificacion eficiente de senales de banda ancha.
US5659659A (en) Speech compressor using trellis encoding and linear prediction
WO1999018565A2 (en) Speech coding
KR100367700B1 (ko) 음성부호화기의 유/무성음정보 추정방법
US20050278174A1 (en) Audio coder
US6611797B1 (en) Speech coding/decoding method and apparatus
JP4550176B2 (ja) 音声符号化方法
JP2002366195A (ja) 音声符号化パラメータ符号化方法及び装置
JP3453116B2 (ja) 音声符号化方法及び装置
KR100341398B1 (ko) 씨이엘피형 보코더의 코드북 검색 방법
JPH06131000A (ja) 基本周期符号化装置
KR100221185B1 (ko) 음성 부호화 및 복호화 장치와 그 방법
JPH05273998A (ja) 音声符号化装置
JP2002073097A (ja) Celp型音声符号化装置とcelp型音声復号化装置及び音声符号化方法と音声復号化方法
EP2215630B1 (en) A method and an apparatus for processing an audio signal
Motta et al. Trellis vector residual quantization
KR100221186B1 (ko) 음성 부호화 및 복호화 장치와 그 방법
Li et al. Scalable Multimode Tree Coder with perceptual pre-weighting and post-weighting for wideband speech coding
JPH0566800A (ja) 音声符号化・復号化方法

Legal Events

Date Code Title Description
FG Grant or registration