ES2303129T3 - Transcodificacion entre indices de diccionarios de multi-impulsos utilizados en la codificacion en compresion de señales digitales. - Google Patents

Transcodificacion entre indices de diccionarios de multi-impulsos utilizados en la codificacion en compresion de señales digitales. Download PDF

Info

Publication number
ES2303129T3
ES2303129T3 ES04805537T ES04805537T ES2303129T3 ES 2303129 T3 ES2303129 T3 ES 2303129T3 ES 04805537 T ES04805537 T ES 04805537T ES 04805537 T ES04805537 T ES 04805537T ES 2303129 T3 ES2303129 T3 ES 2303129T3
Authority
ES
Spain
Prior art keywords
positions
sub
encoder
pulse
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES04805537T
Other languages
English (en)
Inventor
Claude Lamblin
Mohamed Ghenania
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2303129T3 publication Critical patent/ES2303129T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Procedimiento de transcodificación entre un primer codificador/descodificador en compresión y al menos un segundo codificador/descodificador en compresión, siendo dichos primer y segundo codificadores/descodificadores de tipo de impulso y utilizando diccionarios de multi-impulsos en los cuales cada impulso comprende una posición localizada por un índice asociado, caracterizado porque comprende las siguientes etapas: a)llegado el caso, adaptar parámetros de codificación entre dichos primeros y segundos codificadores/descodificadores, b) obtener, a partir del primer codificador/descodificador, un número seleccionado (Ne) de posiciones de impulsos y de índices de posiciones (ei) respectivamente asociados, c) para cada posición de impulso corriente de índice dado, formar un grupo de posiciones de impulsos que comprenda al menos la posición de impulso corriente y posiciones de impulsos de índice asociados inmediatamente inferiores e inmediatamente superiores al índice dado, d) seleccionar, en función de posiciones de impulsos (Tj) admitidos por el segundo codificador/descodificador, una parte al menos de las posiciones de impulsos en un conjunto (Ps) constituido por una unión de dichos grupos formados en la etapa c), y e) transmitir las posiciones de los impulsos así seleccionadas en el segundo codificador/descodificador, para una codificación/descodificación a partir de dichas posiciones transmitidas, dicha selección de la etapa d) hace entonces intervenir un número de posiciones de impulsos posibles inferior al número total de posiciones de impulsos posibles del diccionario del segundo codificador/descodificador.

Description

Transcodificación entre índices de diccionarios de multi-impulsos utilizados en la codificación en compresión de señales digitales.
La presente invención se refiere a la codificación/descodificación de señales digitales, en particular en aplicaciones de transmisión o de almacenaje de las señales multimedia tales como las señales de audio (palabra y/o sonidos).
En el campo de la codificación en compresión, numerosos codificadores modelan una señal de L muestras por impulsos en número restringido, muy inferior al número total de muestras. Este es, por ejemplo, el caso de algunos codificadores de audio de frecuencias tales como el codificador de audio denominado "TDAC" descrito en particular en el documento publicado US-2001/027393. En ese codificador, los coeficientes de transformada en coseno discreto modificado normalizados en cada banda son cuantificados por cuantificadores vectoriales que utilizan diccionarios algebraicos imbricados en tamaño, estos códigos algebraicos comprenden en general algunos componentes no nulos, siendo los otros componentes iguales a cero. Este es también el caso de la mayoría de los codificadores de palabra de análisis por síntesis en particular de tipo "ACELP" (por "Algebraic Code Excited Linear Prediction"), de tipo MP-MLQ (por "MultiPulse Maximum Likelihood Quantization"), u otros. En efecto, para modelar la señal de innovación, estos codificadores utilizan un repertorio, compuesto por formas de ondas que tienen muy pocos componentes no nulos cuyas posiciones y las amplitudes obedecen, además, a reglas predeterminadas.
Más adelante se describen brevemente tales codificadores de análisis por síntesis.
En estos codificadores de análisis por síntesis, el modelo de síntesis es utilizado en la codificación para extraer los parámetros que modelan las señales a codificar. Estas señales pueden ser muestreadas en la frecuencia telefónica (F_{e} = 8 kHz) o en una frecuencia más elevada, por ejemplo a 16 kHz para la codificación en banda ampliada (banda pasante de 50 Hz a 7 kHz). Según la aplicación y la calidad deseadas, la tasa de compresión varía de 1 a 16. Estos codificadores funcionan en flujos de 2 a 16 kbit/s en banda telefónica, y en flujos de 6 a 32 kbit/s en banda ampliada.
El principio de un dispositivo de codificación/ descodificación digital de tipo CELP, que es el codificador/descodi-
ficador de análisis por síntesis más utilizado actualmente para la codificación/descodificación de las señales de palabra, es descrito brevemente más adelante. La señal de palabra es muestreada y convertida en una sucesión de bloques de L' muestras llamadas tramas. En general, cada trama es cortada en bloques más pequeños de L muestras, llamadas sub-tramas. Cada bloque es sintetizado al filtrar una forma de onda extraída de un repertorio (llamado también diccionario), multiplicada por una ganancia, a través de dos filtros que varían en el tiempo. El diccionario de excitación es un conjunto finito de formas de ondas de L muestras. El primer filtro es el filtro de predicción a largo plazo. Un análisis denominado "LTP" (por "Long Term Prediction") permite evaluar los parámetros de este filtro de predicción a largo plazo que explota la periodicidad de los sonidos fonéticos (que representan típicamente la frecuencia del fundamental (frecuencia de vibración de las cuerdas vocales)). El segundo filtro es el filtro de predicción a corto plazo. Los métodos de análisis "LPC" (por "Linear Prediction Coding") permiten obtener estos parámetros de predicción a corto plazo, representativos de la función de transferencia del conducto vocal y característicos del espectro de la señal (que representan típicamente las modulaciones debidas a la forma adoptada por los labios, la posición de la lengua y de la laringe, u otras).
El procedimiento utilizado para determinar la secuencia de innovación es el método de análisis por síntesis. Al nivel del codificador, un gran número de secuencias de innovación del diccionario de excitación son filtradas por los dos filtros LTP y LPC, y la forma de onda seleccionada es aquella que produce la señal sintética más próxima a la señal original de acuerdo con un criterio de ponderación de percepción, conocido en general con el nombre de criterio CELP.
Más adelante se describe brevemente la utilización de diccionarios de multi-impulsos en tales codificadores de análisis por síntesis, sin embargo es evidente que tanto los codificadores CELP, como los descodificadores CELP, son bien conocidos por el hombre del arte.
El codificador multi-flujos de la norma UIT-T G.723.1 es un buen ejemplo de codificador de análisis por síntesis que utiliza diccionarios de multi-impulsos. Aquí, las posiciones de impulsos son completamente distintas. Los dos flujos del codificador (6,3 kbit/s y 5,3 kbit/s) modelan la señal de innovación por formas de onda extraídas de diccionarios que solamente comprenden un número restringido de impulsos no nulos: 6 o 5 para el flujo alto, 4 para el flujo bajo. Estos impulsos son de amplitud +1 o -1. En su modo a 6,3 kbit/s, el codificador G.723.1 utiliza alternativamente dos diccionarios:
-
en el primero utilizado para las sub-tramas pares, las formas de ondas comprenden 6 impulsos y,
-
en el segundo utilizado para las sub-tramas impares, las mismas comprenden 5 impulsos.
Para estos dos diccionarios, una sola restricción es impuesta a las posiciones de los impulsos de cualquier vector-código. Esas posiciones deben tener todas la misma paridad, es decir que éstas son todas pares o todas impares. En el diccionario del modo a 5,3 kbit/s, las posiciones de los 4 impulsos son más limitadas. Además de la misma limitación de paridad que los diccionarios del modo de flujo alto, cada impulso tiene una elección limitada de posiciones.
El diccionario multi-impulso del modo a 5,3 kbit/s pertenece a la familia bien conocida de los diccionarios ACELP. La estructura de un repertorio ACELP está basada en la técnica ISPP (por "Interleaved Single-Pulse Permutation") que consiste en dividir el conjunto de las L posiciones en K pistas entrelazadas, cada uno de los N impulsos están localizados en algunas pistas predefinidas. En algunas aplicaciones, la dimensión L de las palabras de códigos puede ser extendida a L+N. Así en el caso del repertorio del modo de flujo bajo del codificador de acuerdo con la norma UIT-T G 723.1, la dimensión del bloque de 60 muestras ha sido extendida a 64 muestras y las 32 posiciones pares (respectivamente impares) han sido divididas en 4 pistas entrelazadas de longitud 8 que no se superponen. Por consiguiente hay dos grupos de 4 pistas, uno para cada paridad. La tabla 1 a continuación presenta para cada impulso denotado i_{0} a i_{3} el conjunto de estas 4 pistas para las posiciones pares.
\vskip1.000000\baselineskip
TABLA 1 Posiciones y amplitudes de los impulsos del diccionario ACELP del codificador G.723.1 a 5,3 kbit/s
1
\vskip1.000000\baselineskip
Los diccionarios de innovación ACELP son utilizados en numerosos codificadores de análisis por síntesis que están normalizados (UIT-T G.723.1, UIT-T G.729, IS-641, 3GPP NB-AMR, 3GPP WB-AMR). Las tablas 2 a 4 a continuación presentan algunos ejemplos de estos diccionarios ACELP para una longitud de bloque de 40 muestras. Se notará que la limitación de paridad no es utilizada en estos diccionarios. La tabla 2 presenta el diccionario ACELP a 17 bits y 4 impulsos no nulos de amplitud \pm1, utilizado en el codificador UIT-T G.729 a 8 bkit/s, en el codificador IS-641 a 7,4 kbit/s así como en los modos 7,4 y 7,95 kbit/s del codificador 3GPP NB-AMR.
\vskip1.000000\baselineskip
TABLA 2 Posiciones y amplitudes de los impulsos del diccionario ACELP de los codificadores UIT-T G.729 a 8 kbit/s, IS641 a 7,4 kbit/s y 3GPP NB-AMR a 7,4 y 7,95 kbit/s
2
\vskip1.000000\baselineskip
En el diccionario ACELP con 35 bits utilizado en el modo 12,2 kbit/s del codificador 3GGPP NB-AMR, cada vector-código contiene 10 impulsos no nulos de amplitud \pm1. El bloque de 40 muestras es dividido en 5 pistas de longitud 8, que contienen cada una 2 impulsos. Se nota que los dos impulsos de una misma pista pueden superponerse y resultar en un solo impulso de amplitud \pm2. Este diccionario es presentado en la tabla 3.
TABLA 3 Posiciones y amplitudes de los impulsos del diccionario ACELP del codificador 3GPP NB-AMR a 12,2 kbit/s
3
Finalmente, la tabla 4 presenta el diccionario ACELP con 11 bits y 2 impulsos no nulos de amplitud \pm1, utilizado en la extensión de flujo bajo (6,4 bkit/s) del codificador UIT-T G.729 y en el modo 5,9 kbit/s del codificador 3GPP NB-AMR.
\vskip1.000000\baselineskip
TABLA 4 Posiciones y amplitudes de los impulsos del diccionario ACELP de los codificadores UIT-T G.729 a 6,4 kbit/s y 3GPP NB-AMR a 5,9 kbit/s
4
Más adelante se describe lo que se entiende por "la exploración" de los diccionarios de multi-impulsos.
Como para cualquier operación de cuantificación, la búsqueda del modelado óptimo de un vector a codificar consiste en escoger en el conjunto (o en un subconjunto) vectores-códigos del diccionario, el que más se le "parece", es decir el que minimiza una medida de distancia entre él y ese vector de entrada. Para hacerlo, se procede a una etapa denominada "de exploración" de los diccionarios.
En el caso de los diccionarios de multi-impulsos, esta etapa vuelve a buscar la combinación de impulsos que optimice la proximidad entre la señal a modelar y la señal resultante de la elección de los impulsos. De acuerdo con el tamaño y/o la estructura del diccionario, esta exploración puede ser exhaustiva o no (por consiguiente más o menos compleja).
Al ser los diccionarios utilizados en el codificador TDAC citado anteriormente uniones de códigos de permutación de tipo II, el algoritmo de codificación de un vector de coeficientes de transformación normalizados explota esta propiedad para determinar su vecino más próximo entre todos los vectores-códigos y solamente calcula un número limitado de criterios de distancia (con una utilización de vectores denominados "líderes absolutos").
En los codificadores de análisis por síntesis, la exploración de los diccionarios de multi-impulsos no es exhaustiva salvo para los diccionarios de pequeño tamaño. Para los diccionarios a flujo más alto, solamente es explorado un pequeño porcentaje del diccionario. Por ejemplo, la exploración de los diccionarios de multi-impulsos de tipo ACELP es generalmente efectuada en dos etapas. Para simplificar esta búsqueda, una primera etapa preselecciona para cada posición posible de impulso su amplitud (por consiguiente su signo como es indicado anteriormente) mediante una simple cuantificación de una señal dependiente de la señal de entrada. Al ser fijadas las amplitudes de los impulsos, las posiciones de los impulsos son entonces buscadas mediante una técnica de análisis por síntesis (de acuerdo con el criterio CELP). A pesar de la explotación de la estructura en ISPP y del número restringido de impulsos, solamente es efectuada una búsqueda exhaustiva de las combinaciones de las posiciones para los diccionarios de flujo bajo (típicamente inferior o igual a 12 bits). Este es el caso por ejemplo, para el diccionario ACELP con 11 bits (tabla 4) utilizado en el codificador G.729 a 6,4 kbit/s donde las 512 combinaciones de posiciones de 2 impulsos son todas probadas para seleccionar la mejor, lo que vuelve a calcular los 512 criterios CELP correspondientes.
Para los diccionarios a flujo más alto, han sido propuestos diversos métodos denominados de focalización. Se habla entonces de "búsqueda focalizada".
Algunos de estos métodos, conocidos, son utilizados en los códigos normalizados citados anteriormente. Su finalidad es reducir el número de combinaciones de posiciones a explorar basándose en las propiedades de la señal a modelar. Por ejemplo, se puede citar el algoritmo denominado "depth-first tree", utilizado por muchos de los codificadores ACELP estandarizados. En este algoritmo, se privilegian algunas posiciones tales como las máximas locales de las pistas de una señal-objetivo dependiendo de la señal de entrada, de la señal sintética pasada y del filtro compuesto por filtros de síntesis y de ponderación de percepción. De ello existen muchas variantes de acuerdo con el tamaño del diccionario utilizado. Para explorar el diccionario ACELP con 35 bits y 10 impulsos (tabla 3), el primer impulso es situado en la misma posición que el máximo global de la señal-objetivo. Luego, cuatro iteraciones son efectuadas por permutación circular de las pistas consecutivas. En cada iteración, la posición del segundo impulso es fijada en el máximo local de una de las otras 4 pistas, las posiciones de los otros ocho impulsos restantes son buscadas secuencialmente por pares en anillos imbricados. Se prueba en cada iteración 256 (=4 paresx8x8) combinaciones diferentes, lo cual permite por consiguiente solamente explorar 1024 combinaciones de posiciones de los 10 impulsos entre las 2^{25} del diccionario. Otra variante es utilizada en el codificador IS641 donde es explorado un porcentaje más elevado de combinaciones del diccionario con 17 bits y 4 impulsos (tabla 2). Se prueban 768 combinaciones entre las 8192 (=2^{13}) combinaciones de posiciones de impulsos. En el codificador G.729 a 8 kbit/s, ese mismo diccionario ACELP es explorado por un método diferente de focalización. El algoritmo efectúa una búsqueda iterativa e imbrica cuatro anillos de búsqueda de los impulsos (uno por impulso). La búsqueda es focalizada y hace la entrada en el anillo interior (búsqueda del último impulso que pertenece a las pistas 3 o 4) condicional al sobrepaso de un umbral de adaptación. Este umbral depende también de las propiedades de la señal-objetivo (máximas locales y medias de las 3 primeras pistas). Además, el número máximo de exploraciones de combinaciones de 4 impulsos es fijado a 1440 (o sea 17,6% de las 8192 combinaciones).
En el codificador G.723.1 a 6,3 kbit/s, no son exploradas todas las 2x2^{5}xC^{5}_{30} (respectivamente 2x2^{6}xC^{6}_{30}|) combinaciones de 5 (respectivamente 6) impulsos. Para cada celda, el algoritmo emplea un análisis conocido, de tipo "multipulso", para buscar secuencialmente las posiciones y las amplitudes de los impulsos. Como para los diccionarios ACELP, existen variantes para restringir el número de combinaciones probadas.
Tales técnicas presentan sin embargo los siguientes problemas.
La exploración, incluso sub-óptima, de un diccionario de multi-impulso constituye en muchos codificadores una operación costosa en tiempo de cálculo. Por ejemplo, en los codificadores G.723.1 a 6,3 kbit/s y el G.729 a 8 kbit/s, esta búsqueda representa cerca de la mitad de la complejidad total del codificador. Para el NB-AMR, la misma representa un tercio de la complejidad total del codificador. Para el codificador TDAC, la misma representa un cuarto de la complejidad total del codificador.
Se comprenderá en particular que esta complejidad deviene crítica cuando varias codificaciones deben ser efectuadas por una misma unidad de procesamiento, tal como una pasarela encargada de administrar numerosas comunicaciones en paralelo o un servidor que distribuye numerosos contenidos multimedia. El problema de la complejidad es acrecentado más por la multiplicidad de los formatos de compresión que circulan en las redes.
En efecto, para ofrecer movilidad y continuidad, los servicios de comunicación multimedia modernos e innovadores deben poder funcionar en una gran variedad de condiciones. El dinamismo del sector de la comunicación multimedia y la heterogeneidad de las redes, accesos y terminales han engendrado una proliferación de formatos de compresión cuya presencia en las cadenas de comunicación necesita varias codificaciones ya sea en cascada (transcodificación), ya sea en paralelo (codificación multi-formato o codificación multi-modo).
Más adelante se define lo que se entiende por "transcodificación". La transcodificación deviene necesaria cuando, en una cadena de transmisión, una trama de señal comprimida emitida por un codificador ya no puede continuar su camino, con este formato. La transcodificación permite convertir esta trama con otro formato compatible con la sucesión de la cadena de transmisión. La solución más elemental (y la más corriente actualmente) es la colocación punta a punta de un descodificador y de un codificador. La trama comprimida llega con un primer formato, la misma es descomprimida. Esta señal descomprimida es entonces recomprimida con un segundo formato aceptado por la sucesión de la cadena de comunicación. Esta colocación en cascada de un descodificador y de un codificador es llamada "tándem". Esta solución es muy costosa en complejidad (esencialmente a causa de la recodificación) y la misma degrada la calidad. En efecto, la segunda codificación se hace sobre 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 llegar al destino. Se supone fácilmente el costo en cálculo y la pérdida de calidad. Además, los retrasos unidos a cada operación de tándem se acumulan y pueden perjudicar la interactividad de las comunicaciones.
Por otra parte, la complejidad provoca también problema en el marco de un sistema de compresión multi-formato donde un mismo contenido es comprimido en varios formatos. Este es el caso de los servidores de contenidos que difunden un mismo contenido en varios formatos adaptados a las condiciones de acceso; de redes y terminales de los diferentes clientes. Esta operación de multi-codificación deviene extremadamente compleja a medida que aumenta el número de formatos deseados, lo que satura rápidamente los recursos del sistema.
Otro caso de codificación múltiple en paralelo es la compresión multi-modo con decisión a posteriori. En cada segmento de señal a codificar, varios modos de compresión son efectuados y es seleccionado el que optimiza un criterio dado u obtiene el mejor compromiso flujo/distorsión. También ahí, la complejidad de cada uno de los modos de compresión limita el número y/o conduce a elaborar una selección a priori de un número muy restringido de modos.
Se describen más adelante los enfoques, conocidos, que han sido puestos en práctica para intentar resolver los problemas planteados descritos anteriormente.
Las nuevas aplicaciones de comunicación multimedia (tales como el audio y el video) necesitan frecuentemente varias codificaciones ya sea en cascada (transcodificación) ya sea en paralelo (multi-codificación y codificación multi-modo con decisión a posteriori). La barrera de complejidad planteada por todas estas codificaciones sigue siendo un problema a resolver, pese al aumento de las potencias de procesamiento actuales. La mayor parte de estas operaciones conocidas de codificación múltiple no tienen en cuenta las interacciones entre los formatos y entre el formato de E y su contenido. Sin embargo, algunas técnicas de transcodificación inteligente han sido propuestas que no se contentan ya con descodificar y luego recodificar, sino que explotan las similitudes entre formatos de codificaciones y permiten así reducir la complejidad, a la vez que limitan la degradación aportada.
Más adelante se describen métodos de transcodificación denominada "inteligente".
En el seno de una misma familia de codificadores (CELP, paramétrico, por transformación, u otro), todos los codificadores extraen de la señal los mismos parámetros físicos. Sin embargo, existe una gran variedad de modelado y/o cuantificación de esos parámetros. Así, de un codificador a otro, un mismo parámetro puede ser codificado de la misma manera, o, al contrario, de forma muy diferente.
Por otra parte, las codificaciones pueden ser estrictamente idénticas. Estas pueden ser idénticas en el modelado y el cálculo del parámetro, pero diferenciarse simplemente por la traducción de la codificación en forma de bits. Finalmente, estas pueden ser completamente diferentes tanto por el modelado del parámetro como por su cuantificación, incluso por su frecuencia de análisis o de muestreo.
Si el modelado y el cálculo de un parámetro son estrictamente idénticos, comprendido ello en la traducción binaria, basta con recopiar el campo binario correspondiente del tren binario generado por el primer codificador hacia el del segundo. Este caso muy favorable se presenta por ejemplo durante una transcodificación de la norma G.729 a la norma IS-641 para la excitación adaptativa (retraso LTP).
Si, para el mismo parámetro, los dos codificadores solo se distinguen por la traducción binaria del parámetro calculado, basta con descodificar el campo binario del primer formato, luego volver a pasar al dominio binario utilizando el método de codificación según el segundo formato. Esa conversión también puede ser efectuada por tablas de correspondencia biunívoca. Este es el caso por ejemplo durante una transcodificación de las excitaciones fijas de la norma G.729 a la norma AMR (7,4 y 7,95 kbit/s).
En los dos casos anteriores, la transcodificación del parámetro se realiza permaneciendo en el nivel de los bits. Una simple manipulación de bits permite convertir el parámetro en compatible con el segundo formato de codificación. En cambio, cuando un parámetro extraído de la señal es modelado o cuantificado de forma diferente por dos formatos de codificación, el paso de uno al otro no se hace de manera tan simple. Varios métodos han sido propuestos. Los mismos operan ya sea a nivel del parámetro, ya sea a nivel de la excitación, ya sea a nivel de la señal descodificada.
Para la transcodificación en el dominio de los parámetros, es posible permanecer en el nivel del parámetro cuando los dos formatos de codificación calculan un parámetro de la misma manera pero lo cuantifican de forma diferente. Las diferencias de cuantificaciones pueden estar vinculadas a la precisión seleccionada o también al método seleccionado (escalar, vectorial, predictivo, u otro). Basta entonces con descodificar el parámetro, luego cuantificarlo por el método del segundo formato de codificación. Este método conocido es aplicado actualmente, en particular para la transcodificación de las ganancias de excitaciones. Frecuentemente, hay que modificar el parámetro descodificado antes de su recuantificación. Por ejemplo, si los codificadores tienen frecuencias de análisis del parámetro o longitudes de tramas/sub-tramas diferentes, es corriente interpolar/diezmar los parámetros. La interpolación puede hacerse por ejemplo de acuerdo con el método descrito en el documento publicado US2003/033142. Otra modificación posible es redondear el parámetro a la precisión que le es impuesta por el segundo formato de codificación. Este caso se presenta sobre todo para la altura de la frecuencia fundamental (o "pitch").
Si no es posible transcodificar un parámetro permaneciendo en el dominio del parámetro, se puede ascender a un nivel superior en la descodificación. Se trata del dominio de la excitación, sin pasar por tanto al dominio de la señal. Esta técnica ha sido propuesta para las ganancias en la referencia: "Improving transcoding capability of speech coders in clean and frame erasured channel environments" de Hong-Goo Kang, Hong Kook Kim, Cox, R.V., en Speech Coding, 2000, Proceedings 2000, IEEE Workshop on Speech Coding, páginas 76-80.
\newpage
Finalmente, una última solución (la más compleja y la menos "inteligente") consiste en volver a calcular explícitamente el parámetro como lo haría el codificador, pero a partir de una señal sintetizada. Esta operación vuelve a una especie de tándem parcial, y solamente ciertos parámetros son recalculados completamente. Este método ha sido aplicado a diversos parámetros tales como la excitación fija, las ganancias en la referencia IEEE antes mencionada, o el pitch.
Para la transcodificación de los impulsos, aun cuando han sido desarrolladas varias técnicas a fin de calcular los parámetros rápidamente y al menor costo, pocas de estas soluciones tienen hoy un enfoque inteligente para calcular los impulsos de un formato a partir del parámetro equivalente en otro formato, ver por ejemplo el documento WO3058407. En codificación de análisis por síntesis, la transcodificación inteligente de los códigos de impulsos es aplicada sólo cuando el modelado es idéntico (o similar). En cambio, si los modelados son diferentes, es utilizado el método del tándem parcial. Hay que señalar que para limitar la complejidad de esta operación, han sido propuestos enfoques focalizados que explotan las propiedades de la señal descodificada o de una señal derivada tal como una señal-objetivo. En el documento antes mencionado US-2001/027393, en el ejemplo de realización que pone en práctica un codificador por transformación MDCT, es presentado un procedimiento de cambio de flujo que puede ser considerado como un caso particular de transcodificación inteligente. En efecto, este procedimiento permite recuantificar un vector de un primer diccionario por un vector de un segundo diccionario. El mismo distingue para esto dos casos según la pertenencia o no del vector a recuantificar al segundo diccionario. Si el vector cuantificado pertenece al nuevo diccionario, el modelado es idéntico; si no, es aplicado el método de la descodificación parcial.
La presente invención propone, como es indicado en las reivindicaciones 1 y 22, 23, desmarcándose de todas estas técnicas conocidas, una transcodificación de multi-impulsos basada en una selección de un subconjunto de combinaciones de posiciones de impulsos de un conjunto de juegos de impulsos a partir de una combinación de posiciones de impulsos de otro conjunto de juegos de impulsos, los dos conjuntos pueden distinguirse por el número de impulsos que estos comprenden así como por las reglas que rigen sus posiciones y/o sus amplitudes. Esta transcodificación es muy útil en particular para las codificaciones múltiples en cascada (transcodificaciones) o en paralelo (multi-codificaciones y codificaciones multi-modos).
A este efecto, la presente invención propone inicialmente un procedimiento de transcodificación entre un primer codificador/descodificador en compresión y al menos un segundo codificador/descodificador en compresión. Estos primeros y segundos codificadores/descodificadores son de tipo de impulso y utilizan diccionarios de multi-impulsos en los cuales cada impulso comprende una posición localizada por un índice asociado.
El procedimiento de transcodificación en el sentido de la invención comprende las etapas siguientes:
a) llegado el caso, adaptar parámetros de codificación entre dichos primeros y segundos codificadores/descodifi-
cadores,
b) obtener, a partir del primer codificador/descodificador, un número seleccionado de posiciones de impulsos y de índices de posiciones respectivamente asociados,
c) para cada posición de impulso corriente de índice dado, formar un grupo de posiciones de impulsos que comprenda al menos la posición de impulso corriente y posiciones de impulsos de índice asociados inmediatamente inferiores e inmediatamente superiores al índice dado,
d) seleccionar, en función de posiciones de impulsos admitidos por el segundo codificador/descodificador, una parte al menos de las posiciones de impulsos en un conjunto constituido por una unión de dichos grupos formados en la etapa c), y
e) transmitir las posiciones de los impulsos así seleccionadas en el segundo codificador/descodificador, para una codificación/descodificación a partir de dichas posiciones transmitidas.
Así, la selección de la etapa d) hace intervenir un número de posiciones de impulsos posibles inferior al número total de posiciones de impulsos posibles del diccionario del segundo codificador/descodificador.
Se comprenderá en particular que en la etapa e), en el caso en el que el segundo codificador/descodificador antes mencionado sea un codificador, las posiciones de impulso seleccionadas son transmitidas a ese codificador, para una codificación por búsqueda únicamente entre las posiciones transmitidas. En el caso en el que el segundo codificador/descodificador antes mencionado sea un descodificador, esas posiciones de impulso seleccionadas son transmitidas para una descodificación de esas posiciones.
Preferentemente, la etapa b) utiliza una descodificación parcial del flujo binario proporcionado por el primer codificador/descodificador con vistas a identificar un primer número de posiciones de impulsos que utiliza el primer codificador/descodificador, en un primer formato de codificación. Así, el número seleccionado en la etapa b) corresponde preferentemente a ese primer número de posiciones de impulsos.
En una realización ventajosa, las etapas precedentes son puestas en práctica mediante un producto programa de computación que comprende instrucciones de programa a este efecto. De este modo la presente invención apunta también a tal producto programa de computación, destinado a ser almacenado en una memoria de una unidad de procesamiento, en particular de una computadora o de un terminal móvil, o sobre un soporte de memoria extraíble y destinado a cooperar con un lector de la unidad de procesamiento.
La presente invención apunta también a un dispositivo de transcodificación entre el primer y el segundo codificadores/descodificadores en compresión, y que comprende entonces una memoria propia para almacenar instrucciones de un producto programa de computación del tipo descrito anteriormente.
Otras características y ventajas de la invención aparecerán en el examen de la descripción detallada más adelante, y los dibujos anexados en los cuales:
- la figura 1a representa esquemáticamente el contexto de transcodificación en el sentido de la presente invención, en una configuración "en cascada",
- la figura 1b representa esquemáticamente el contexto de transcodificación en el sentido de la presente invención, en una configuración "en paralelo",
- la figura 2 representa esquemáticamente los diferentes casos previstos para los procesamientos de transcodificación a efectuar,
- la figura 2a representa esquemáticamente un procesamiento de adaptación previsto para el caso en el que las frecuencias de muestreo del primer E y segundo S codificadores sean diferentes,
- la figura 2b representa esquemáticamente una variante del procesamiento de la figura 2a,
- la figura 3 resume las etapas del procedimiento de transcodificación en el sentido de la invención,
- la figura 4 representa esquemáticamente el caso de dos sub-tramas respectivamente de los codificadores E y S, de duraciones diferentes L_{e} y L_{s} (con L_{e}>L_{s}), pero con las mismas frecuencias de muestreo,
- la figura 4b representa a modo de ejemplo un caso práctico de la figura 4 e ilustra la correspondencia temporal entre un codificador G.723.1 y un codificador G.729,
- la figura 5 ilustra esquemáticamente el recorte de la excitación del primer codificador E al ritmo del segundo codificador S,
- la figura 6 ilustra el caso en el que una de las seudo-sub-tramas STE'0 está vacía,
- la figura 7 representa esquemáticamente un procesamiento de adaptación previsto para el caso en el que las duraciones de sub-trama del primer E y segundo S codificadores sean diferentes.
Se indica inicialmente que la presente invención se inscribe en el modelado y la codificación de las señales digitales multimedia tales como las señales de audio (palabra y/o sonido) por diccionarios de multi-impulsos. La misma puede ser puesta en práctica en el marco de la codificación/descodificación múltiple en cascada o en paralelo o de cualquier otro sistema que utilice el modelado de una señal mediante una representación de multi-impulsos y que, a partir del conocimiento de un primer juego de impulsos que pertenece a un primer conjunto, debe determinar al menos un juego de impulsos de un segundo conjunto. Por razones de concisión, solo es descrito el caso de un paso de un primer conjunto a otro conjunto pero la invención se aplica también en el caso del paso a n (n\geq2) conjuntos. Por otra parte, se describe más adelante solo el caso de una "transcodificación" entre dos codificadores, pero, evidentemente, la transcodificación entre un codificador y un descodificador, se deduce de esto sin mayor dificultad.
Se considera por consiguiente el caso de dos modelados de una señal por juegos de impulsos correspondientes a dos sistemas de codificación. En las figuras 1a y 1b, se ha representado un dispositivo de transcodificación D entre un primer codificador E, que utiliza un primer formato de codificación COD1, y un segundo codificador S, que utiliza un segundo formato de codificación COD2. El codificador E entrega un flujo (o "tren") binario codificado s_{CE} (en la forma de una sucesión de tramas codificadas) al dispositivo de transcodificación D, el cual comprende un módulo 10 de descodificación parcial para recuperar el número N_{e} de posiciones de impulsos utilizadas en el primer formato de codificación y las posiciones P_{e} de esos impulsos. Como se verá en detalles más adelante, el dispositivo de transcodificación en el sentido de la invención procede a una extracción de las vecindades de derecha V^{e}_{d} y de izquierda V^{e}_{g} de cada posición de impulso P_{e} y selecciona, en la unión de esas vecindades, posiciones de impulsos que serán reconocidas por el segundo codificador S. El módulo 11 del dispositivo de transcodificación representado en las figuras 1a y 1b efectúa entonces estas etapas para entregar esta selección de posiciones (denotadas S_{j} en esas figuras 1a y 1b) al segundo codificador S. Se comprenderá en particular que a partir de esta selección S_{j}, se constituye un sub-repertorio de tamaño inferior al tamaño del diccionario que utiliza habitualmente el segundo codificador S, de acuerdo con una ventaja que procura la invención. Al utilizar este sub-repertorio, la codificación que efectúa el codificador S es evidentemente más rápida ya que restringe más sin perjudicar sin embargo la calidad de la codificación.
En el ejemplo representado en la figura 1a, el dispositivo de transcodificación D comprende además un módulo 12 de descodificación al menos parcial del flujo codificado s_{CE} que entrega el primer codificador E. El módulo 12 proporciona entonces al segundo codificador S una versión al menos parcialmente descodificada s'_{0} de la señal de origen s_{0}. El segundo codificador S entrega luego, sobre la base de esta versión s'_{0} un flujo binario codificado s_{CS}.
En esta configuración, el dispositivo de transcodificación D efectúa entonces una adaptación de codificación entre el primer codificador E y el segundo codificador S, con lo que favorece ventajosamente una codificación más rápida (ya que es más restringida) junto al segundo codificador S. Evidentemente, como variante, la entidad de referencia S en las figuras 1a y 1b puede ser un descodificador y, en esta variante, el dispositivo D en el sentido de la invención efectúa una transcodificación, propiamente dicha, entre un codificador E y un descodificador S, esta descodificación se efectúa rápidamente gracias a las informaciones proporcionadas por el dispositivo D. Al ser el proceso reversible, se comprenderá que, de forma mucho más general, el dispositivo de transcodificación D en el sentido de la presente invención opera entre un primer codificador/descodificador E y un segundo codificador/descodificador S.
Se indica que el ordenamiento del codificador E, del transcodificador D y del codificador S puede respetar una configuración "en cascada", como es representado en la figura 1a. En la variante representada en la figura 1b, este ordenamiento puede respetar una configuración "en paralelo". En este caso, los dos codificadores E y S reciben la señal original s_{0} y los dos codificadores E y S entregan respectivamente los flujos codificados s_{CE} y s_{CS}. Evidentemente, el segundo codificador S no tiene ya que recibir aquí la versión s'_{0} de la figura 1a y el módulo de descodificación al menos parcial 12 del dispositivo de transcodificación D ya no es necesario. Se indica además que, si el codificador E puede proporcionar una salida compatible con la entrada del módulo 11 (tanto en relación con su número de impulsos como en relación con sus posiciones de impulsos), el módulo 10 puede simplemente ser omitido o "puesto en cortocircuito".
Se indica además que el dispositivo de transcodificación D puede simplemente ser equipado con una memoria que almacene las instrucciones para poner en práctica las etapas precedentes y con un procesador para procesar esas instrucciones.
La aplicación de la invención se sitúa por consiguiente como sigue. El primer codificador E ha efectuado su operación de codificación en una señal dada s_{0} (por ejemplo la señal original). Se dispone entonces de las posiciones de los impulsos seleccionados por el primer codificador E. Este codificador ha determinado esas posiciones p_{e} mediante una técnica que le es propia durante el proceso de codificación. El segundo codificador S debe realizar él mismo también su codificación. En el caso de la transcodificación, el segundo codificador S solamente dispone del tren binario generado por el primer codificador y la invención es aquí aplicable a la transcodificación denominada "inteligente" tal como es definida anteriormente. En el caso de la codificación múltiple en paralelo, el segundo codificador S dispone también de la señal de la cual dispone el primer codificador y la invención se aplica aquí a la "multi-codificación inteligente". En efecto, un sistema que desee codificar un mismo contenido en varios formatos puede explotar las informaciones de un primer formato para simplificar las operaciones de codificación de los otros formatos. La invención puede también aplicarse en el caso particular de la codificación múltiple en paralelo que es la codificación multi-modo con decisión a posteriori.
La presente invención permite determinar rápidamente las posiciones p_{s} (o, denotada indistintamente más adelante, s_{i}) de los impulsos para otro formato de codificación a partir de posiciones p_{e} (o, denotada indistintamente también más adelante, e_{i}) de los impulsos de un primer formato. La misma permite reducir considerablemente la complejidad de cálculo de esta operación para el segundo codificador al limitar el número de posiciones posibles. A este efecto, utiliza las posiciones seleccionadas por el primer codificador para definir un conjunto restringido de posiciones en el conjunto de las posiciones posibles del segundo codificador, conjunto restringido en el cual se buscará el mejor juego de posiciones para los impulsos. De esto resulta una ganancia en complejidad importante a la vez que limita la degradación de la señal con respecto a una investigación exhaustiva o focalizada clásica.
Se comprenderá así que la presente invención limita el número de posiciones posibles al definir un conjunto restringido de posiciones a partir de las posiciones del primer formato de codificación. La misma se distingue de las soluciones existentes en la medida en que éstas utilizan solamente las propiedades de la señal a modelar para limitar el número de posiciones posibles, al privilegiar y/o eliminar posiciones.
Preferentemente, para cada impulso de un juego de un primer conjunto, se definen dos vecindades (una derecha y una izquierda) de ancho ajustable más o menos limitado y de ahí se extrae un conjunto de posiciones posibles, en el cual será preseleccionada al menos una combinación de impulsos que respete las limitaciones del segundo conjunto.
Ventajosamente, el procedimiento de transcodificación permite optimizar el compromiso complejidad/calidad al adaptar el número de posiciones de impulsos y/o los tamaños respectivos (en término de combinaciones de posiciones de impulsos) de las vecindades derechas e izquierdas, para cada impulso. Este ajuste puede ser efectuado al inicio del procesamiento o en cada sub-trama en función de la complejidad autorizada y/o del juego de posiciones de partida. La invención permite también ajustar/limitar el número de combinaciones de posiciones que favorece ventajosamente las vecindades inmediatas.
Como es indicado anteriormente, la presente invención apunta también a un producto programa de computación cuyo algoritmo está concebido en particular para la extracción de posiciones vecinas que facilita la composición de las combinaciones de impulsos del segundo conjunto.
Como es indicado anteriormente, la heterogeneidad de las redes y de los contenidos puede presentar formatos de codificación muy variados. Los codificadores pueden distinguirse por numerosas características. En particular, dos de estas determinan sensiblemente la forma de modo de funcionamiento de la invención. Se trata de la frecuencia de muestreo y de la duración de una sub-trama. Más adelante, los diferentes casos posibles son presentados en correspondencia con la forma de realización de la invención de acuerdo con estos diferentes casos.
La figura 2 sintetiza los diferentes casos. En un primer momento, se obtienen:
-
los números de posiciones de impulsos N_{e},N_{s},
-
las respectivas frecuencias de muestreo F_{e},F_{s},
-
y las duraciones de sub-trama L_{e},L_{s}
que utilizan respectivamente los codificadores E y S (etapa 21).
Así, se comprenderá ya que las etapas de adaptación y de recuperación de los números de posiciones de impulsos N_{e}, N_{s} pueden ventajosamente ser invertidas o simplemente llevadas simultáneamente.
En la prueba 22, se comparan las frecuencias de muestreo. Si las frecuencias son iguales, se comparan, en la prueba 23, las duraciones de sub-trama. Si no, se adaptan las frecuencias de muestreo, en la etapa 32, de acuerdo con un procedimiento descrito más adelante. Al término de la prueba 23, si las duraciones de sub-trama son iguales, se comparan, en la prueba 24, los números de posiciones de impulsos N_{e} y N_{s} utilizados respectivamente por el primer y el segundo formato de codificación. Si no, se adaptan las duraciones de sub-trama en la etapa 33 de acuerdo con un procedimiento que también será descrito más adelante. Se comprenderá que las etapas 22, 23, 32 y 33 definen juntas la etapa a) de adaptación de los parámetros de codificación citada anteriormente. Se indica que las etapas 22 y 32 (adaptación de las frecuencias de muestreo), de una parte, y las etapas 23 y 33 (adaptación de las duraciones de sub-trama) por otra parte, pueden ser invertidas.
En principio se describe seguidamente el caso en el que las frecuencias de muestreo son iguales y las duraciones de sub-tramas son iguales.
Este caso es el más favorable. Sin embargo, hay que distinguir el caso en el que el primer formato utiliza más impulsos que el segundo (N_{e}\geqN_{s}), y el caso contrario (N_{e}<N_{s}), de acuerdo con el resultado de la prueba 24.
* Caso N_{e} \geq N_{s} de la figura 2
El principio es el siguiente. Al considerar los dos codificadores E y S, sus repertorios utilizan respectivamente N_{e} > N_{s} impulsos en cada sub-trama.
El codificador E ha calculado las posiciones de sus N_{e} impulsos sobre la sub-trama S_{e}. Se denota más adelante e_{i} (o, indistintamente, p_{e}) esas posiciones. El conjunto restringido P_{s} de las posiciones privilegiadas para los impulsos del repertorio del codificador S está entonces constituido por N_{e} posiciones e_{i} y por sus vecindades.
5
donde v^{i}_{d} y v^{i}_{g} \geq 0 son los tamaños de las vecindades derecha e izquierda del impulso i. Los valores v^{i}_{d} y v^{i}_{g} y, seleccionados en la etapa 27 de la figura 2, son más o menos grandes según la complejidad y la calidad deseadas. Estos tamaños pueden ser fijados arbitrariamente al inicio del procesamiento, o ser seleccionados en cada sub-trama s_{e}.
En la etapa 29 de la figura 2, el conjunto P_{s} contiene entonces cada posición e_{i} así como sus v^{i}_{d} vecinos de derecha y sus v^{i}_{g} vecinos de izquierda.
Para cada uno de los N_{s} impulsos del repertorio del codificador S, hay que definir luego las posiciones que este impulso tiene derecho a tomar entre las propuestas por P_{s}.
Para esto, se introducirán reglas que dirigen la construcción del repertorio de S. Se supone que los N_{s} impulsos de S pertenezcan a subconjuntos predefinidos de posiciones, un número dado de impulsos que comparten un mismo subconjunto de posiciones autorizadas. Por ejemplo, los 10 impulsos del modo 12,2 bit/s del codificador 3GPP NB-AMR son repartidos de 2 en 2 en 5 subconjuntos diferentes, como lo muestra la tabla 3 presentada anteriormente. Se denota N'_{s} el número de subconjuntos de posiciones diferentes (N'_{s} \leq N_{s} en este ejemplo puesto que N'_{s} = 5), y T_{j} (para j=1 a N'_{s}) los subconjuntos de posiciones que definen el repertorio de S.
A partir del conjunto P_{s}, los N'_{s} subconjuntos S_{j} resultantes de la intersección de P_{s} con uno de los conjuntos T_{j} están constituidos, en la etapa 30 de la figura 2, de acuerdo con la relación:
6
Las vecindades v^{i}_{d} y v^{i}_{g} deben ser de un tamaño suficiente como para que ninguna intersección esté vacía. Se debe permitir así un reajuste de los tamaños de vecindad, si es necesario, en función del juego de impulsos de partida. Esto es el objeto de la prueba 34 de la figura 2, con un aumento del tamaño de las vecindades (etapa 35) y regreso hacia la definición de la unión P_{s} de los grupos formados en la etapa c) (etapa 29 en la figura 2) si una de las intersecciones está vacía.
Al contrario, si ninguna intersección S_{j} está vacía, este es el sub-repertorio constituido por estas intersecciones S_{j} que es enviado al codificador S (etapa final 31).
Ventajosamente, la invención explota la estructura de los repertorios. Por ejemplo, si el repertorio del codificador S es de tipo ACELP, son las intersecciones de las posiciones de las pistas con P_{s} las que son calculadas. Si el repertorio del codificador E es también del tipo ACELP, el procedimiento de extracción de las vecindades explota también la estructura en pistas y las dos etapas de extracción de las vecindades y composición de los subconjuntos restringidos de posiciones, son juiciosamente asociados. En particular, es interesante que el algoritmo de extracción de las vecindades tenga en cuenta la composición de las combinaciones de impulsos según las limitaciones del segundo conjunto. Como se verá más adelante, algoritmos de extracción de vecindades son elaborados para facilitar la composición de las combinaciones de impulsos del segundo conjunto. Un ejemplo de tal algoritmo es ilustrado por uno de los modos de realización presentados más adelante (ACELP con 2 impulsos hacia ACELP con 4 impulsos).
El número de combinaciones de posiciones posibles es restringido así y el tamaño del subconjunto del repertorio del codificador S es generalmente muy inferior al del repertorio original, lo que reduce considerablemente la complejidad de la antepenúltima etapa de transcodificación. Se precisa aquí que el número de combinaciones de posiciones de impulsos define el tamaño del subconjunto antes mencionado. Se precisa además que es el número de posiciones de impulsos lo que se disminuye en el sentido de la invención, lo cual conlleva a una disminución del número de combinaciones de posiciones de impulsos y permite entonces obtener un sub-repertorio de tamaño restringido.
La etapa referenciada 46 en la figura 3 consiste entonces en iniciar la búsqueda del mejor juego de posiciones para los N_{s} impulsos en este sub-repertorio de tamaño restringido. El criterio de selección es similar al del proceso de codificación. Para reducir más la complejidad, se puede acelerar la exploración de este sub-repertorio al utilizar técnicas de focalización conocidas descritas anteriormente.
La figura 3 resume las etapas de la invención para el caso en el que el codificador E utilice al menos tantos impulsos como el codificador S. No obstante se indica que, como se le ha visto ya con referencia a la figura 2, si el número de posiciones N_{s} en el segundo formato (el formato de S) es superior al número de posiciones N_{e} en el primer formato (el formato de E), el procesamiento previsto sólo se distingue por algunas variantes ventajosas que serán descritas más adelante.
En resumen, estas etapas de la figura 3 se resumen como aparece a continuación. Después de una etapa a) eventual de adaptación de los parámetros de codificación (si es necesaria y representada a este efecto por trazos de puntos en la figura 3 en el bloque 41):
-
recuperación de las posiciones e_{i} de los impulsos del codificador E, y preferentemente de un número N_{e} de posiciones (etapa 42 correspondiente a la etapa b) antes mencionada),
-
extracción de las vecindades y formación de los grupos de vecindades según la relación:
7
(etapa 43 correspondiente a la etapa c) antes mencionada)
-
composición de los subconjuntos restringidos de las posiciones 8 que forman la selección de la etapa d) antes mencionada y correspondiente a la etapa 44 representada en la figura 3, y
-
y transmisión de esta selección al codificador S (etapa 45 correspondiente a la etapa e) antes mencionada).
Se indica que después de esta etapa 45, el codificador S escoge luego un juego de posiciones en el repertorio restringido obtenido en la etapa 44.
El procedimiento prosigue entonces con una etapa 46 de búsqueda en ese sub-repertorio recibido por el codificador S de un juego de posiciones óptimo (opt(S_{j})) que comprende el segundo número N_{s} de posiciones, como es indicado anteriormente. Esta etapa 46 de búsqueda del juego de posiciones óptimo es puesta en práctica preferentemente por una búsqueda focalizada para acelerar la exploración del sub-repertorio. El procesamiento prosigue naturalmente por la codificación que efectúa luego el segundo codificador S.
Se describen ahora los procesamientos previstos para el caso en el que el número de impulsos N_{e} utilizados por el primer formato de codificación sea inferior al número de impulsos N_{s} utilizados por el segundo formato de codificación.
\vskip1.000000\baselineskip
* caso N_{e} < N_{s} de la figura 2
Si el formato de S utiliza más impulsos que el formato de E, el procesamiento es similar al procesamiento expuesto anteriormente. Sin embargo, puede suceder que impulsos del formato de S no tengan posiciones en el repertorio restringido. En este caso, en una primera realización, se autorizan todas las posiciones posibles para estos impulsos. En una segunda realización, preferida, se aumenta simplemente el tamaño de las vecindades a V'_{d} y V'_{g}, en la etapa 28 de la figura 2.
\vskip1.000000\baselineskip
* caso N_{e}<N_{s}<2N_{e} de la figura 2
Un caso particular debe ser subrayado aquí. Si N_{e} está próximo a N_{s}, típicamente N_{e}<N_{s}<2N_{e}, entonces una manera preferida de determinar las posiciones es previsible, aunque el procesamiento precedente siga siendo completamente aplicable. Aún se puede ganar en complejidad si se fijan directamente las posiciones de los impulsos de S a partir de los de E. En efecto, los N_{e} primeros impulsos de S son ubicados en las posiciones de los de E. Los N_{s}-N_{e} impulsos restantes son ubicados lo más próximos posible (a la vecindad inmediata) de los N_{e} primeros impulsos. Así, se prueba en la etapa 25 de la figura 2 si los números N_{e} y N_{s} son próximos (con N_{e}>N_{s}) y, en lo afirmativo, se procede como es descrito anteriormente para la selección de las posiciones de impulsos en la etapa 26.
Evidentemente, en los dos casos N_{e}<N_{s} y N_{e}<N_{s}<2N_{e} si, a pesar de estas precauciones, una de las intersecciones S_{j} está vacía, simplemente se aumenta el tamaño de las vecindades V^{+}{}_{g}, V^{+}{}_{d} en la etapa 35, como es descrito en el caso en el que N_{e}>N_{s}.
Finalmente, en todos los casos, si ninguna intersección S_{j} está vacía, se transmite el sub-repertorio formado por las S_{j} al segundo codificador S (etapa 31).
Se describen ahora los procesamientos previstos en la etapa de adaptación a) cuando los parámetros de codificación del primer y segundo formatos no son los mismos, en particular en término de frecuencias, de muestreo y de duraciones de sub-trama.
Se distinguen entonces los casos siguientes:
\text{*}Duraciones de sub-trama iguales pero frecuencias de muestreo diferentes
Esta situación corresponde al caso "n" para la prueba 22 y "o" para la prueba 23 de la figura 2. La adaptación a) lleva entonces a la etapa 32 de la figura 2.
Ya no se puede aplicar directamente aquí el procesamiento anterior porque los dos formatos no tienen el mismo recorte del tiempo. En efecto, a causa de las frecuencias de muestreo diferentes, las dos tramas no comprenden el mismo número de muestreos en una misma duración.
En lugar de determinar las posiciones de los impulsos del formato del codificador S sin tener en cuenta las del formato del codificador E, como lo haría un tándem, se proponen aquí dos procesamientos de acuerdo con dos modos de realización distintos. Estos procesamientos son de poca complejidad, al establecer una correspondencia entre las posiciones de los dos formatos que permite entonces pasar luego al procesamiento descrito anteriormente (como si las frecuencias de muestreo fueran iguales).
El procesamiento del primer modo de realización utiliza una cuantificación directa de la escala temporal del primer formato por la del segundo formato. Esta operación de cuantificación que puede ser tabulada o calculada por una fórmula, permite así encontrar, para cada posición de una sub-trama del primer formato, su equivalente en una sub-trama del segundo formato y viceversa.
\newpage
Por ejemplo, la correspondencia entre las posiciones p_{e} y p_{s} en las sub-tramas de los dos formatos puede ser definida por la siguiente fórmula:
9
donde F_{e} y F_{s} son las frecuencias de muestreo respectivas de E y S, y L_{e} y L_{s} sus longitudes de sub-trama, \lfloor \rfloor denota la parte entera.
De acuerdo con las características de la unidad de procesamiento, esta correspondencia podrá utilizar la fórmula anterior o ventajosamente ser tabulada por los L_{e} valores. Se puede también escoger una solución intermedia al tabular solo los l_{e} primeros valores (l_{e} = \frac{L_{e}}{d}, d es el mayor divisor común de L_{e} y L_{s}), las posiciones restantes se deducen entonces fácilmente.
Hay que señalar que también se puede hacer corresponder varias posiciones de la sub-trama de S con una posición de una sub-trama de E. Por ejemplo, al retener las posiciones inmediatamente inferior e inmediatamente superior 10.
A partir del conjunto de las posiciones p_{s} correspondientes a las posiciones p_{e}, se aplica el procesamiento general descrito anteriormente (extracción de las vecindades, composición de las combinaciones de impulsos, selección de la combinación óptima).
Se encontrará este caso de duraciones de sub-trama iguales pero de frecuencias de muestreo diferentes en las tablas 5a a 5d a continuación, con referencia a un ejemplo de realización donde el codificador E es de tipo 3GPP NB-AMR y el codificador S es de tipo WWB-AMR. El codificador NB-AMR tiene una sub-trama de 40 muestras para una frecuencia de muestreo de 8 kHz. El codificador WB-AMR utiliza, por su parte, 64 muestras por sub-trama a 12,8 kHz. En los dos casos, la sub-trama tiene una duración de 5 ms. La tabla 5a ofrece la correspondencia de las posiciones en una sub-trama del NB-AMR a una sub-trama del WB-AMR, y la tabla 5b la correspondencia inversa. Las tablas de correspondencia restringida son ofrecidas en las tablas 5c y 5d.
TABLA 5a Tabla de correspondencia temporal de NB-AMR a WB-AMR
11
\vskip1.000000\baselineskip
TABLA 5b Tabla de correspondencia temporal de WB-AMR a NB-AMR
12
TABLA 5c Tabla de correspondencia temporal restringida de NB-AMR a WB-AMR
13
\vskip1.000000\baselineskip
TABLA 5d Tabla de correspondencia temporal restringida de WB-AMR a NB-AMR
14
\vskip1.000000\baselineskip
En resumen, refiriéndose a la figura 2a, se prevén las etapas siguientes:
a1) de cuantificación directa de escala temporal de la primera frecuencia a la segunda frecuencia (etapa 51 de la figura 2a),
a2) y de determinación, en función de esta cuantificación, de cada posición de impulso en una sub-trama en el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo, a partir de una posición de impulso en una sub-trama en el primer formato de codificación caracterizado por la primera frecuencia de muestreo (etapa 52 de la figura 2a).
En términos generales, la etapa a1) de cuantificación se efectúa por cálculo y/o tabulación a partir de una función que, a una posición p_{e} de impulso en una sub-trama en el primer formato, hace corresponder una posición p_{s} de impulso en una sub-trama en el segundo formato, y esta función se presenta sensiblemente como una combinación lineal que hace intervenir un coeficiente multiplicativo correspondiente a la relación de la segunda frecuencia de muestreo con la primera frecuencia de muestreo.
Por otra parte, para pasar inversamente de una posición de impulso en una sub-trama en el segundo formato p_{s} a una posición de impulso en una sub-trama en el primer formato p_{e}, se aplica evidentemente una función inversa de esta combinación lineal aplicada a una posición de impulso en una sub-trama en el segundo formato p_{s}.
Se comprenderá que el procedimiento de transcodificación es completamente reversible y se adapta tanto en un sentido de transcodificación (E\rightarrowS) como en el otro (S\rightarrowE).
En un segundo modo de realización de la adaptación de las frecuencias de muestreo, se utiliza un principio clásico de cambio de frecuencia de muestreo. Se parte de la sub-trama que contiene los impulsos encontrados por el primer formato. Se realiza un sobre-muestreo en la frecuencia igual al múltiplo común más pequeño de las dos frecuencias de muestreo F_{e} y F_{s}. Luego, después del filtrado de paso bajo, se realiza un sub-muestreo para llegar a la frecuencia de muestreo del segundo formato, es decir F_{s}. Se obtiene una sub-trama en la frecuencia F_{s} que contiene los impulsos de E filtrados. También aquí, se puede tabular el resultado de las operaciones de sobre-muestreo/filtrado de paso bajo/sub-muestreo para cada posición posible de una sub-trama de E. Este procesamiento también puede efectuarse por cálculo "en línea". Como en el primer modo de realización de la adaptación de las frecuencias de muestreo, se podrá asociar una sola o varias posiciones de S a una posición de E, como es explicado más adelante, y aplicar el procesamiento general en el sentido de la invención descrito con anterioridad.
Como es ilustrado en la variante representada en la figura 2b, se prevén las etapas siguientes:
a'1) realizar un sobre-muestreo en una sub-trama en el primer formato de codificación caracterizado por la primera frecuencia de muestreo, en una frecuencia F_{pcm} igual al múltiplo común más pequeño de las primera y segunda frecuencias de muestreo (etapa 53 de la figura 2b), y
a'2) aplicar a la sub-trama sobre-muestreada un filtrado de paso bajo (etapa 54 de la figura 2b), seguido de un sub-muestreo, para alcanzar una frecuencia de muestreo correspondiente a la segunda frecuencia de muestreo (etapa 55 de la figura 2b).
\newpage
El procedimiento prosigue con la obtención, preferentemente por formación de umbral, de un número de posiciones eventualmente variable, estas posiciones son adaptadas de los impulsos de E (etapa 56) como en el primer modo de realización anterior.
* Frecuencias de muestreo iguales pero con duraciones de sub-trama diferentes
Se describe ahora el procesamiento previsto en el caso en el que las frecuencias de muestreo sean iguales pero las duraciones de sub-trama sean diferentes. Esta situación corresponde al caso "n" para la prueba 23 pero "o" para la prueba 22 de la figura 2. La adaptación a) lleva entonces a la etapa 33 de la figura 2.
Como en el caso anterior, no se puede aplicar directamente la etapa de extracción de las vecindades tal cual. Inicialmente hay que hacer compatibles las dos sub-tramas. Aquí, las sub-tramas son diferentes por sus tamaños. Ante esta incompatibilidad, en lugar de calcular las posiciones de los impulsos como lo hace el tándem, una realización preferida propone una solución de baja complejidad que permite determinar un repertorio restringido de combinaciones de posiciones para los impulsos del segundo formato a partir de las posiciones de los impulsos del primer formato. Sin embargo, al no ser del mismo tamaño la sub-trama de S y la de E, no es posible establecer una correspondencia temporal directa entre una sub-trama de S y una sub-trama de E. Como muestra la figura 4 (en la cual las sub-tramas de E y S son designadas respectivamente por ST_{E} y ST_{S}), las fronteras de las sub-tramas de los dos formatos no son alineadas y en el curso del tiempo esas sub-tramas se desfasan una con respecto a la otra.
En un modo de realización preferido, se propone recortar la excitación de E en pseudo sub-tramas del tamaño de las de S y al ritmo de S. En la figura 5, se han representado las pseudo sub-tramas denotadas ST_{E}'. En la práctica, esto lleva también a efectuar una correspondencia temporal entre las posiciones en los dos formatos y toma en cuenta la diferencia de tamaño de las sub-tramas para alinear las posiciones relativamente en un origen común a E y S. La determinación de este origen común es descrita en detalle más adelante.
Una posición p^{o}_{e} (respectivamente p^{o}_{s}) del primer formato (respectivamente del segundo formato) con respecto a este origen coincide con la posición p_{e} (respectivamente p_{s}) de la sub-trama i_{e} (respectivamente j_{s}) de E (respectivamente S) relativamente a esta sub-trama. Se tiene así:
15
A una posición p_{e} de la sub-trama i_{e} del formato de E corresponde la posición p_{s} de la sub-trama j_{s} del formato S, p_{s} y j_{s} son respectivamente el resto y el cociente de la división euclidiana por L_{s} de la posición p^{o}_{e} de p_{e} con respecto a un origen O común a E y S:
16
\vskip1.000000\baselineskip
\lfloor\rfloor denota la parte entera, \equiv denota el módulo, teniendo en cuenta el índice de una sub-trama de E (respectivamente S) con respecto al origen común O.
Así, las posiciones p_{e} situadas en una sub-trama j_{s} son utilizadas para determinar, de acuerdo con el procesamiento general descrito anteriormente, un conjunto restringido de posiciones para impulsos de S en la sub-trama j_{s}. Sin embargo, cuando L_{e} > L_{s}, puede suceder que una sub-trama de S no contenga ningún impulso. En el ejemplo de la figura 6, los impulsos de la sub-trama STE0 son representados por trazos verticales. El formato de E puede muy bien concentrar los impulsos de STE0 en el final de sub-trama de modo que la pseudo sub-trama STE'0 no contenga entonces ningún impulso. Todos los impulsos colocados por E se encuentran en STE'1 durante el recorte. En este caso, una búsqueda focalizada clásica es preferentemente aplicada a la pseudo sub-trama STE'0.
Se describen ahora realizaciones preferidas para la determinación de un origen temporal O común a los dos formatos. Esta referencia común constituye la posición (número 0) a partir de la cual son numeradas las posiciones de los impulsos en las sub-tramas siguientes. Esta posición 0 puede ser definida de diferentes maneras, en dependencia del sistema que explota el procedimiento de transcodificación en el sentido de la presente invención. Por ejemplo, para un módulo de transcodificación incluido en un equipo de un sistema de transmisión, será natural tomar por origen la primera posición de la primera trama recibida después de la puesta en marcha del equipo.
No obstante, el inconveniente de esa selección es que las posiciones toman valores de los más grandes y puede que sea necesario limitarlos. Para esto, basta con actualizar la posición del origen común cada vez que sea posible. Así, si las longitudes respectivas L_{e} y L_{s} de las sub-tramas de E y S, son constantes en el curso del tiempo, la posición del origen común es actualizada cada vez que son alineadas las fronteras de las sub-tramas de E y S. Esto sucede periódicamente, al ser el período (en muestras) igual al múltiplo común más pequeño de L_{e} y L_{s}.
También se puede considerar el caso en que L_{e} y/o L_{s} no son constantes en el tiempo. Ya no es posible encontrar un múltiplo común a las dos longitudes de sub-trama, denotadas hasta el presente L_{e}(n) y L_{s}(n), n representa el número de la sub-trama. En este caso, conviene sumar poco a poco los valores L_{e}(n) y L_{s}(n) y comparar en cada sub-trama las dos sumas obtenidas:
17
Cada vez que se tenga T_{e}(k)=T_{s}(k'), el origen común es actualizado (y colocado en la posición kxL_{e} o en k'xL_{e}). En cuanto a las dos sumas T_{e} y T_{s}, estas son preferentemente reiniciadas.
En resumen y más generalmente, si se llama primera (respectivamente segunda) duración de sub-trama a la duración de sub-trama del primer (respectivamente segundo) formato de codificación, las etapas de adaptación efectuadas cuando las duraciones de sub-trama son diferentes son resumidas en la figura 7 y son preferentemente las siguientes:
a20) definición de un origen común O en las sub-tramas del primer y segundo formatos (etapa 70),
a21) recorte de las sub-tramas sucesivas del primer formato de codificación caracterizado por una primera duración de sub-trama, para formar pseudos sub-tramas de duraciones L'_{e} correspondientes a la segunda duración de sub-trama (etapa 71),
a22) actualización del origen común O (etapa 79),
a23) y determinación de correspondencia entre las posiciones de impulsos en las pseudos sub-tramas p'_{e} y en las sub-tramas en el segundo formato (etapa 80).
Preferentemente, para determinar el origen común O, se discriminan en la prueba 72 de la figura 7 los casos siguientes:
- las primera y segunda duraciones son fijas en el tiempo (salida "o" de la prueba 72), y
- las primera y segunda duraciones varían en el tiempo (salida "n" de la prueba 72).
En el primer caso, la posición temporal del origen común es actualizada periódicamente (etapa 74) a cada instante cuando fronteras de sub-tramas respectivas de primera duración St(L_{e}) y de segunda duración St(L_{s}) son alineadas en el tiempo (prueba 73 efectuada en esas fronteras).
En el segundo caso, preferentemente:
a221) se efectúan sucesivamente las dos sumas respectivas de las sub-tramas en el primer formato T_{e}(k) y de las sub-tramas en el segundo formato T_{s}(k') (etapa 76),
a222) se detecta una ocurrencia de una igualdad entre dichas dos sumas, lo que define un instante de actualización de dicho origen común (prueba 77),
a223) se reinician las dos sumas antes mencionadas (etapa 78), después de dicha ocurrencia, para una futura detección de un próximo origen común.
Ahora, en el caso en el que las duraciones de sub-trama y las frecuencias de muestreo sean diferentes, basta con combinar juiciosamente los algoritmos de correspondencia entre las posiciones de E y S descritas en los dos casos anteriores.
* Ejemplos de realización
Se describen ahora tres ejemplos de realización de la transcodificación en el sentido de la invención. Estos ejemplos de realización describen la puesta en práctica de los procesamientos previstos en los casos presentados anteriormente en codificadores de palabra de análisis por síntesis normalizados. Los dos primeros modos ilustran el caso favorable en el que las frecuencias de muestreo, como las duraciones de las sub-tramas, son idénticas. El último ejemplo ilustra el caso en el que las duraciones de las sub-tramas son diferentes.
* Ejemplo de realización no. 1
El primer ejemplo de realización es aplicado en la transcodificación inteligente entre el modelo MP-MLQ del G.723.1 a 6,3 kbit/s y el modelo ACELP con 4 impulsos del G.723.1 a 5,3 kbit/s.
Una transcodificación inteligente del flujo alto al flujo bajo del G.723.1 presenta un modelo MP-MLQ con 6 y 5 impulsos con un modelo ACELP con 4 impulsos. El ejemplo de realización presentado aquí permite determinar las posiciones de los 4 impulsos de la ACELP a partir de las posiciones de los impulsos del MP-MLQ.
Se recuerda a continuación el funcionamiento del codificador G.723.1.
El codificador multi-flujos UIT-T G.723.1 y sus repertorios de multi-impulsos han sido presentados anteriormente. Es precisado solamente que una trama del G.723.1 comprende 240 muestras a 8 kHz, y que está dividida en cuatro sub-tramas de 60 muestras. La misma restricción es impuesta a las posiciones de los impulsos de todo vector-código de cada uno de los tres diccionarios de multi-impulsos. Estas posiciones deben tener todas la misma paridad (todas pares o todas impares). La sub-trama de 60(+4) posiciones es cortada así en dos celdas de 32 posiciones. La celda par comprende las posiciones numeradas [0, 2, 4,..., 58 (60, 62)]. La celda impar comprende las posiciones [1, 3, 5,..., 59, (61, 63)]. Para cada flujo, la exploración del repertorio, incluso no exhaustiva, sigue siendo compleja como es indicado anteriormente.
Se describe ahora la selección de un subconjunto del repertorio ACELP del G.723.1 a 5,3 kbit/s a partir de un elemento de un repertorio MP-MLQ del G.723.1 a 6,3 kbit/s.
Se busca modelar la señal de innovación de una sub-trama por un elemento del repertorio ACELP del G.723.1 a 5,3 kbit/s que conoce el elemento del repertorio MP-MLQ del G.723.1 a 6,3 kbit/s determinado durante una primera codificación. Se dispone por consiguiente de las N_{e} posiciones (N_{e} = 5 o 6) de los impulsos seleccionados por el codificador G.723.1 a 6,3 kbit/s.
Por ejemplo, se puede suponer que las posiciones extraídas del tren binario del codificador G.723.1 a 6,3 kbit/s para una sub-trama cuya excitación es modelada por N_{e}=5 impulsos son:
18
Se recuerda que aquí no hay que hacer ninguna adaptación de las frecuencias de muestreo o de las duraciones de sub-tramas. Después de esta etapa de recuperación de las posiciones una etapa siguiente consiste entonces en extraer directamente las vecindades derechas e izquierdas de estos 5 impulsos. Las vecindades derechas e izquierdas son tomadas aquí iguales a 2. El conjunto P_{s} de las posiciones seleccionadas es:
19
La tercera etapa consiste en componer el conjunto restringido de las posiciones posibles para cada impulso (aquí una pista) del repertorio ACELP del G.723.1 a 5,3 kbit/s para lo que toma N_{s}=4 intersecciones de P_{s} con los 4 conjuntos de las posiciones de las pistas pares (respectivamente impares) autorizadas por este último repertorio (como es representado en la tabla 1).
Para la paridad par:
20
Para la paridad impar:
21
La combinación de estas posiciones seleccionadas constituye el nuevo repertorio restringido en el cual se efectuará la búsqueda. Para esta última etapa, el procedimiento de selección del juego de posiciones óptimas se apoya en el criterio CELP como lo hace el G.723.1 en el modo 5,3 kbit/s. La exploración puede ser exhaustiva o, preferentemente, focalizada.
El número de combinaciones de posiciones en el repertorio restringido es igual a 180 (=4*3*3*4+2*1*3*3) en lugar de las 8192 (=2*8*8*8*8) combinaciones de posiciones del repertorio ACELP del G.723.1 a 5,3 kbit/s.
Se indica que se puede restringir más el número de combinaciones al considerar solamente la paridad seleccionada en el modo 6,3 kbit/s (en el ejemplo citado la paridad par). En este caso, el número de combinaciones del repertorio restringido es igual a 144.
Puede suceder (según los tamaños de las vecindades consideradas) que para uno de los cuatro impulsos, el conjunto P_{s} no contenga ninguna posición para una pista del modelo ACELP (caso en el que uno de los conjuntos está vacío). Así, para vecindades con tamaño 2, cuando las posiciones de los N_{e} impulsos están todas en la misma pista, P_{s} solo contiene posiciones de esta pista y de las pistas adyacentes. En este caso, de acuerdo con el compromiso calidad/complejidad deseado, es posible ya sea reemplazar por (lo que lleva a no restringir el conjunto de las posiciones de esa pista), ya sea aumentar la vecindad derecha (o izquierda) de los impulsos. Por ejemplo, si todos los impulsos del código a 6,3 kbit/s están en la pista 2, con vecindades derecha e izquierda iguales a 2, la pista 0 no tendrá posiciones cualquiera que sea la paridad. Basta entonces con aumentar a 2 el tamaño de la vecindad izquierda y/o derecha para atribuir posiciones a esta pista 0.
Para ilustrar esta realización, se parte del siguiente ejemplo:
22
El conjunto P_{s} de las posiciones seleccionadas es:
23
Si se supone que se quiere conservar la misma paridad, la repartición inicial de estas posiciones para los 4 impulsos es:
24
Al aumentar a 2 la vecindad izquierda de los impulsos, se obtiene:
25
(con por consiguiente S_{0} \neq \diameter).
* Ejemplo de realización no. 2
El segundo ejemplo que aparece a continuación ilustra la aplicación de la invención en las transcodificaciones inteligentes entre modelos ACELP de la misma longitud. En particular, este segundo ejemplo de realización es aplicado a la transcodificación inteligente entre el ACELP con 4 impulsos del G.729 a 8 kbit/s y el ACELP con 2 impulsos del G.729 a 6,4 kbit/s.
Una transcodificación inteligente entre los modos 6,4 kbit/s y 8 kbit/s del codificador G.729, presenta un repertorio ACELP con dos impulsos y un segundo con cuatro impulsos. El ejemplo presentado aquí permite determinar las posiciones de 4 impulsos (8 kbit/s) a partir de las posiciones de 2 impulsos (6,4 kbit/s) y viceversa.
Se recuerda sucintamente el funcionamiento del codificador UIT-T G.729. Este codificador puede funcionar con tres flujos; 6,4; 8 y 11,8 kbit/s. Por consiguiente se consideran aquí los dos primeros flujos. Una trama de G.729 comprende 80 muestras a 8 kHz. Esta trama es dividida en dos sub-tramas de 40 muestras. Para cada sub-trama, el G.729 modela la señal de innovación por impulsos de acuerdo con el modelo ACELP. El mismo utiliza de ellos cuatro en el modo 8 kbit/s y dos para el modo 6,4 kbit/s. Las tablas 2 y 4 anteriores ofrecen las posiciones que pueden tomar los impulsos para estos dos flujos. A 6,4 kbit/s, es efectuada una búsqueda exhaustiva de todas las combinaciones (512) de las posiciones. A 8 kbit/s, es utilizada preferentemente una búsqueda focalizada.
El procesamiento general en el sentido de la invención es utilizado también aquí. No obstante y de forma ventajosa, se saca partido aquí de la estructura ACELP común a los dos repertorios. Hacer corresponder los juegos de posiciones explota así un recorte de la sub-trama de 40 muestras en 5 pistas de 8 posiciones, presentadas en la tabla 6 que aparece a continuación.
\vskip1.000000\baselineskip
TABLA 6 Repartición de las posiciones en cinco pistas en los diccionarios ACELP del G.729
26
En los dos repertorios, las posiciones de los impulsos se reparten estas pistas, como lo muestra la tabla 7 más adelante.
Todos los impulsos están caracterizados por su pista y su rango en esa pista. El modo a 8 kbit/s coloca un impulso en cada una de las tres primeras pistas y el último impulso en una de las dos últimas pistas. El modo a 6,4 kbit/s por su parte coloca su primer impulso en las pistas P_{1} o P_{3}, y su segundo impulso en las pistas P_{0}, P_{1}, P_{2} o P_{4}.
\vskip1.000000\baselineskip
TABLA 7 Repartición de los impulsos de los repertorios ACELP del G.729 a 8 y 6,4 kbit/s en las cinco pistas
27
El entrelazamiento de las pistas (estructura ISSP) es explotado en esta realización para facilitar la extracción de las vecindades y la composición de los subconjuntos restringidos de posiciones. Así, para desplazarse de una pista a otra, basta con desfasarse de una unidad hacia la derecha o hacia la izquierda. Por ejemplo, si se coloca en la 5^{ta} posición de la pista 2 (de posición absoluta 22), un desfase de 1 hacia la derecha (+1) hace pasar a la 5^{ta} posición de la pista 3 (de posición absoluta 23) y un desfase hacia la izquierda (-1) hace pasar a la 5^{ta} posición de la pista 1 (de posición absoluta 21).
Más generalmente, un desfase de \pmd de una posición se traduce aquí por los efectos siguientes:
Al nivel de las pistas P_{i}:
\quad
vecindad derecha: P_{i} \Rightarrow P_{(i+d)\equiv 5}
\quad
vecindad izquierda: P_{i} \Rightarrow P_{(i-d)\equiv 5}
\newpage
Al nivel del rango m en la pista:
\quad
\text{*} vecindad derecha:
\quad
si (i+d) \leq 4: m_{i} \Rightarrow m_{i}
\quad
si no: m_{i} \Rightarrow m_{i} + 1
\quad
\text{*} vecindad izquierda:
\quad
si (i-d) \geq 0: m_{i} \Rightarrow m_{i}
\quad
si no: m_{i} \Rightarrow m_{i} - 1
Se describe ahora la selección de un subconjunto del repertorio ACELP con 4 impulsos del codificador G.729 a 8 kbit/s a partir de un elemento de un repertorio ACELP con 2 impulsos del codificador G.729 a 6,4 kbit/s.
Se considera una sub-trama de G.729 en el modo 6,4 kbit/s. Dos impulsos son colocados por este codificador pero hay que determinar las posiciones de los otros impulsos que debe colocar el G.729 a 8 kbit/s. Para restringir radicalmente la complejidad, es seleccionada una sola posición por impulso y es retenida una sola combinación de posiciones. Ventajosamente, la etapa de selección es por consiguiente inmediata. Se seleccionan dos de los cuatro impulsos del G.729 a 8 kbit/s en las mismas posiciones que las del modo a 6,4 kbit/s, luego se colocan los dos impulsos restantes a una proximidad inmediata de los dos primeros. Como es indicado anteriormente, es explotada la estructura en pistas. En la primera etapa de recuperación de las dos posiciones por descodificación del índice binario (sobre 9 bits) de las 2 posiciones, también son determinadas las dos pistas correspondientes. A partir de estas dos pistas (eventualmente idénticas), son entonces juiciosamente asociadas las tres últimas etapas de extracción de las vecindades, de composición de los subconjuntos restringidos y de selección de una combinación de impulsos. Se distinguen varios casos de acuerdo con las pistas P_{i} (i=0 a 4) en las cuales se encuentran los dos impulsos del modo a 6,4 kbit/s.
Se denota e_{k} las posiciones de los impulsos del modo a 6,4 kbit/s y s_{k} las del modo a 8 kbit/s. La tabla 8 que aparece a continuación presenta para cada uno de los casos las posiciones seleccionadas. Las columnas denotadas "P_{j+d}=P_{i}" precisan la ley de vecindad al nivel de las pistas y conducen a la pista P_{i}. Se recuerda que al nivel de las pistas P_{i}.
* para la vecindad derecha: P_{i} \Rightarrow P_{(i+d)\equiv 5}
* para la vecindad izquierda: P_{i} \Rightarrow P_{(i-d)\equiv 5}
\vskip1.000000\baselineskip
TABLA 8 Selección del repertorio restringido del G.729 a 8 kbit/s a partir de los dos impulsos del repertorio ACELP del G.729 a 6,4 kbit/s
28
Preferentemente, se busca por consiguiente equilibrar la repartición de las 4 posiciones con respecto a las dos posiciones de partida, pero se indica que otra selección puede ser efectuada. Cuatro casos (señalados por un exponente entre paréntesis en la tabla 8) pueden presentar no obstante problemas de efectos de borde:
Caso (1):
si e_{1}=0, entonces no se puede tomar s_{3}=e_{1}-1. Se seleccionará s_{3}=e_{0}+2.
Caso (2):
si e_{1}=39, entonces no se puede tomar s_{0}=e_{1}+1. Se selecciona s_{0}=e_{0}-1.
Caso (3):
si e_{1}=38, entonces no se puede tomar s_{0}=e_{0}+2. Se selecciona s_{0}=e_{1}-2.
Caso(4):
si e_{1}=39, entonces no se puede tomar s_{0}=e_{1}+1. Se selecciona s_{0}=e_{0}-3.
Para disminuir más la complejidad, el signo de cada impulso s_{k} puede ser tomado igual al del impulso e_{j} del cual es deducido.
Se describe ahora la selección de un subconjunto del repertorio ACELP con dos impulsos del G.729 a 6,4 kbit/s a partir de un elemento de un repertorio ACELP con 4 impulsos del G.729 a 8 kbit/s.
Para una sub-trama de G.729 en el modo a 8 kbit/s, la primera etapa es la recuperación de las posiciones de los cuatro impulsos generados por el modo 8 kbit/s. La descodificación del índice binario (sobre 13 bits) de las 4 posiciones permite obtener su rango en su pista respectiva para las tres primeras posiciones (de las pistas 0 a 2) y la pista (3 o 4) del cuarto impulso así como su rango en esta pista. Cada posición e_{j} (0 \leq i <4) está caracterizada por la pareja (p_{i},m_{i}) donde p_{i} es el índice de su pista y m_{i} su rango en esa pista. Se tiene:
29
Como ya ha sido mencionado, la extracción de las vecindades y la composición de los subconjuntos restringidos son combinadas y explotan ventajosamente la estructura ISSP común a los dos repertorios. Al explotar la propiedad de posiciones vecinas inducida por el entrelazamiento de las pistas, se construyen las cinco intersecciones T'_{j} del conjunto P_{s} de las vecindades de las 4 posiciones con las 5 pistas P_{j}.
30
Así, un vecino derecho (respectivamente izquierdo) 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 (caso p=4) a T'_{0} siempre que m<7 (respectivamente a T'_{4} (caso i=0) siempre que m>0). La restricción en el vecino derecho para una posición del cuarto impulso que pertenezca a la cuarta pista (respectivamente izquierdo para una posición de la primera pista) permite asegurar que la posición vecina no esté aparte de la sub-trama.
Así, al utilizar la notación módulo 5 (\equiv5), un vecino derecho (respectivamente izquierdo) de +1 (respectivamente -1) del impulso (p,m) pertenece a T'_{(p+1)}\equiv5 (respectivamente a T'_{(p-1)}\equiv5). Se recuerda que hay que tener en cuenta efectos de borde. Al generalizar en un tamaño d de vecindad, un vecino derecho de +d (respectivamente izquierdo de -d) del impulso (p,m) pertenece a T'_{(p+d)}\equiv5 (respectivamente a T'_{(p-d)}\equiv5). El rango del vecino a \pmd es igual a m si p+d\leq4 (o p-d\geq0), si no el rango m es incrementado para un vecino derecho y reducido para un vecino izquierdo. Tener en cuenta los efectos de borde lleva por consiguiente a asegurar que: m<7 si p+d>4 y que m>0 si p-d<0.
A partir de esta repartición de los vecinos en las 5 pistas, es simple determinar los subconjuntos restringidos S_{0} y S_{1} de las posiciones de los dos impulsos:
31
La cuarta y última etapa consiste en efectuar la búsqueda de la pareja óptima en los dos subconjuntos obtenidos. El algoritmo de búsqueda (como el normalizado que explota la estructura en pistas) y la disposición por pista de los impulsos simplifican allí también el algoritmo de búsqueda. En la práctica, por consiguiente es inútil constituir explícitamente los subconjuntos restringidos S_{0} y S_{1} porque los conjuntos T'_{j} pueden ser utilizados solos.
En el ejemplo que aparece a continuación, el modo a 8 kbit/s del G.729 ha colocado sus cuatro impulsos en las siguientes posiciones:
32
Estas 4 posiciones están caracterizadas por las 4 parejas (p_{i},m_{i})=(0,1), (1,4), (2,4) (4,6).
Si se toma una vecindad fija igual a 1, se construyen las 5 intersecciones T'_{j} como aparece a continuación:
e_{0}:(0,1) da: (4,0) a la izquierda y (1,1) a la derecha
e_{1}:(1,4) da: (0,4) a la izquierda y (2,4) a la derecha
e_{2}:(2,4) da: (1,4) a la izquierda y (3,4) a la derecha
e_{3}:(4,6) da: (3,6) a la izquierda y (0,7) a la derecha
\vskip1.000000\baselineskip
Por consiguiente se tiene:
33
Al volver a la notación por posiciones:
34
En la última etapa, un algoritmo semejante al del G.729 a 6,4 kbit/s efectúa la búsqueda de la mejor pareja de impulsos. Este algoritmo es aquí mucho menos complejo porque el número de combinaciones de posiciones a explorar es muy restringido. En el ejemplo, sólo hay 4 (=Cardinal (T'_{1})+ Cardinal (T'_{3})) veces 8 (= Cardinal (T'_{0})+ Cardinal (T'_{1}) + Cardinal (T'_{2})+ Cardinal (T'_{4})) combinaciones a probar, o sea 32 combinaciones en lugar de 512.
Para una vecindad de tamaño 1, menos del 8% de las combinaciones de las posiciones está por explorar como promedio sin sobrepasar el 10% (50 combinaciones). Para una vecindad de tamaño 2, menos del 17% de las combinaciones de las posiciones está por explorar como promedio y como máximo el 25% de las combinaciones está por explorar. Para una vecindad de tamaño 2, la complejidad del procesamiento propuesto en la invención (al acumular el costo de la búsqueda en el repertorio restringido al costo de la extracción de las vecindades asociado a la composición de las intersecciones) representa menos del 30% de una búsqueda exhaustiva para una calidad equivalente.
* Ejemplo de realización no. 3
El último ejemplo ilustra los pasos entre el modelo ACELP del G.729 a 8 kbit/s y el modelo MP-MLQ del G.723.1 a 6,3 kbit/s.
Una transcodificación inteligente de los impulsos entre el G.723.1 (modo 6,3 kbit/s) y el G.729 (modo 8 kbit/s) comprende dos dificultades importantes. En primer lugar, el tamaño de las tramas es diferente (40 muestras para el G.729 contra 60 muestras para el G.723.1). La segunda dificultad está vinculada a la estructura diferente de los diccionarios, del tipo ACELP para el G.729 y del tipo MP-MLQ para el G.723.1. El ejemplo de realización presentado aquí muestra cómo la invención suprime estas dos dificultades a fin de transcodificar al menor costo los impulsos a la vez que preserva la calidad de la transcodificación.
Se efectúa inicialmente una correspondencia temporal entre las posiciones en los dos formatos para lo cual se toma en cuenta la diferencia de tamaño de las sub-tramas para alinear las posiciones relativamente en un origen común a E y S. Las longitudes de las sub-tramas del G.729 y del G.723.1 al tener como múltiplo común más pequeño 120, la correspondencia temporal es efectuada por bloques de 120 muestras o sea dos sub-tramas de G.723.1 para tres sub-tramas de G.729, como lo muestra el ejemplo de la figura 4b. Como variante, se puede preferir trabajar en bloques de tramas completas. En este caso, se seleccionan bloques de 240 muestras o sea una trama de G.723.1 (4 sub-tramas) para tres tramas de G.729 (6 sub-tramas).
Ahora se describe la selección de un subconjunto del repertorio MP-MLQ del G.723.1 a 6,3 kbit/s a partir de elementos del repertorio ACELP con 4 impulsos del G.729 a 8 kbit/s. La primera etapa consiste en recuperar las posiciones de los impulsos por bloques de 3 sub-tramas (de índice i_{e}, 0\leqi_{e}\leq2) del G.729. Se denota p_{e}(i_{e}) una posición de la sub-trama i_{e} de este bloque.
Antes de extraer las vecindades, se convierten estas 12 posiciones p_{e}(i_{e}) en 12 posiciones denotadas p_{s}(j_{s}), repartidas en dos sub-tramas (de índice j_{s}, 0\leqj_{s}\leq1) de G.723.1. Se puede utilizar la relación general precedente (que hace intervenir el módulo de la longitud de sub-trama) para realizar la adaptación de las duraciones de sub-tramas. Aquí se prefiere no obstante distinguir simplemente tres casos según el índice i_{e}:
\quad
si i_{e} =0, entonces j_{s} =0 y p_{s}=p_{e}
\quad
si i_{e} =2, entonces j_{s} =1 y p_{s}=p_{e}+20
\quad
si i_{e} =1, entonces si p_{e}<20 j_{s}=0 y p_{s}=p_{e}+40, si no (p_{e}\geq20):j_{s}=1 y p_{s}=p_{e}-20
No se efectúa así ni división ni operación módulo n.
Las 4 posiciones recuperadas en la sub-trama STE0 del bloque son directamente atribuidas a la sub-trama STS0 con la misma posición, las de la sub-trama STE2 del bloque son directamente atribuidas a la sub-trama STS1 con un incremento de +20 de posición, las posiciones de la sub-trama STE1 inferiores a 20 son atribuidas a la sub-trama STS0 con un incremento de +40, las otras son atribuidas a la sub-trama STS1 con una reducción de -20.
Se extraen luego las vecindades de estas 12 posiciones. Hay que señalar que se pueden autorizar las vecindades derechas (respectivamente izquierdas) de las posiciones de la sub-trama STS0 (respectivamente STS1) a salir de su sub-trama, estas posiciones vecinas están entonces en la sub-trama STS1 (respectivamente STS0).
La etapa de correspondencia temporal y de extracción de vecindad pueden ser invertidas. En este caso, se pueden autorizar las vecindades derechas (respectivamente izquierdas) de las posiciones de la sub-trama STE0 (respectivamente STE2) a salir de su sub-trama, estas posiciones vecinas están entonces en la sub-trama STE1. Del mismo modo, las vecindades derechas (respectivamente izquierdas) de las posiciones en STE1, pueden conducir a posiciones vecinas en STE2 (respectivamente STE0).
Una vez constituido el conjunto de las posiciones restringidas para cada sub-trama STS, la última etapa consiste en explorar para cada sub-trama STS su repertorio restringido así constituido para seleccionar los Np (6 o 5) impulsos de la misma paridad. Este procedimiento puede ser derivado del algoritmo normalizado o inspirarse en otros procedimientos de focalización.
Para ilustrar este ejemplo de realización, se consideran tres sub-tramas del G.729 que van a permitir construir los sub-repertorios de dos sub-tramas del G.723.1. Al suponer que el G.729 ofrece las siguientes posiciones:
350
después de la aplicación de la etapa precedente de correspondencia temporal, la atribución de estas 12 posiciones en las sub-tramas STS0 y STS1 es:
35
Se tienen por consiguiente los juegos de posiciones {1, 5, 32, 39, 44, 55} para la sub-trama STS0 y {2, 11, 20, 21, 44, 57} para la sub-trama STS1.
Ahora hay que extraer de ellos las vecindades. Tomando como ejemplo una vecindad fijada en 1, se obtiene:
36
El MP-MLQ no impone ninguna limitación en los impulsos, separando su paridad. En una sub-trama, ellos deben ser todos de la misma paridad. Por consiguiente hay que escindir aquí P_{s0} y P_{s1} en dos sub conjuntos, con:
360
Este sub-repertorio es finalmente transmitido al algoritmo de selección que determina las Np mejores posiciones en el sentido del criterio CELP para las sub-tramas STS0 y STS1 del G.723.1. Así se restringe considerablemente el número de combinaciones probadas. En efecto, por ejemplo en la sub-trama STS0, quedan 9 posiciones pares y 8 posiciones impares en lugar de 30 y 30.
\newpage
No obstante se aseguran algunas precauciones en los casos en los que las posiciones seleccionadas por el G.729 sean tales que la extracción de las vecindades ofrezca un número N de posiciones posibles inferior al número de posiciones del G.723.1 (N<N_{p}). Este es el caso en particular cuando se siguen todas las posiciones del G.729 (por ejemplo: {0,1,2,3}). Se prevén entonces dos posibilidades:
-
aumentar el tamaño de la vecindad para las sub-tramas en cuestión hasta obtener un tamaño suficiente para P_{s} (tamaño \geqN_{p}),
-
o seleccionar los N primeros impulsos y autorizar para los N_{p}-N impulsos restantes una búsqueda entre las 30-N posiciones restantes de la celda, como es descrito anteriormente.
Se describe ahora el procesamiento inverso que consiste en seleccionar un subconjunto del repertorio ACELP con 4 impulsos del G.729 a 8 kbit/s a partir de elementos de un repertorio MP-MLQ del G.723.1 a 6,3 kbit/s.
Globalmente, el procesamiento es similar. Dos sub-tramas de G.723.1 corresponden a 3 tramas de G.729. Aquí también, se extraen las posiciones del G.723.1 que se traducen en la escala de tiempo del G.729. Se podrán traducir ventajosamente estas posiciones en la forma "pista - rango en la pista" a fin de aprovechar de la forma precedente la estructura ACELP para extraer las vecindades y buscar las posiciones óptimas.
Las mismas planificaciones anteriores son previstas para prevenir los casos en los que la extracción de las vecindades ofrecieran posiciones en número insuficiente (aquí menos de 4 posiciones).
Así, la presente invención permite determinar a menor costo las posiciones de un juego de impulsos a partir de un primer juego de impulsos, los dos juegos de impulsos pertenecen a dos repertorios de multi-impulsos. Estos dos repertorios pueden distinguirse por su tamaño, la longitud y el número de impulsos de sus palabras de codificación así como por las reglas que rigen las posiciones y/o amplitudes de los impulsos. Se privilegian las vecindades de las posiciones de los impulsos del (o de los) juego(s) seleccionado(s) en el primer repertorio para determinar las de un juego en el segundo repertorio. La invención permite además explotar la estructura de los repertorios de partida y/o llegada para reducir más la complejidad. A través del primer ejemplo anterior que presenta el paso de un modelo MP-MLQ a un modelo ACELP, se comprenderá que la invención se aplica fácilmente a dos modelos de multi-impulsos que tengan restricciones estructurales diferentes. A través del segundo ejemplo de realización que presenta el paso entre dos modelos que posean un número de impulsos diferente pero basados en la misma estructura ACELP, se comprenderá que la invención permite ventajosamente la explotación de la estructura de los repertorios para reducir la complejidad de transcodificación. A través del tercer ejemplo que presenta el paso entre un modelo MP-MLQ y un modelo ACELP, se comprenderá que la invención puede aplicarse incluso para codificadores de longitudes de sub-tramas o de frecuencias de muestreo diferentes. La invención permite ajustar el compromiso calidad/complejidad y, en particular, reducir considerablemente la complejidad de cálculo para una degradación mínima en con respecto a una búsqueda clásica de un modelo de multi-impulso.

Claims (23)

1. Procedimiento de transcodificación entre un primer codificador/descodificador en compresión y al menos un segundo codificador/descodificador en compresión, siendo dichos primer y segundo codificadores/descodificadores de tipo de impulso y utilizando diccionarios de multi-impulsos en los cuales cada impulso comprende una posición localizada por un índice asociado,
caracterizado porque comprende las siguientes etapas:
a) llegado el caso, adaptar parámetros de codificación entre dichos primeros y segundos codificadores/descodifi-
cadores,
b) obtener, a partir del primer codificador/descodificador, un número seleccionado (Ne) de posiciones de impulsos y de índices de posiciones (e_{i}) respectivamente asociados,
c) para cada posición de impulso corriente de índice dado, formar un grupo de posiciones de impulsos que comprenda al menos la posición de impulso corriente y posiciones de impulsos de índice asociados inmediatamente inferiores e inmediatamente superiores al índice dado,
d) seleccionar, en función de posiciones de impulsos (T_{j}) admitidos por el segundo codificador/descodificador, una parte al menos de las posiciones de impulsos en un conjunto (P_{s}) constituido por una unión de dichos grupos formados en la etapa c), y
e) transmitir las posiciones de los impulsos así seleccionadas en el segundo codificador/descodificador, para una codificación/descodificación a partir de dichas posiciones transmitidas,
dicha selección de la etapa d) hace entonces intervenir un número de posiciones de impulsos posibles inferior al número total de posiciones de impulsos posibles del diccionario del segundo codificador/descodificador.
2. Procedimiento de acuerdo con la reivindicación 1, en el cual el primer codificador/descodificador (E) utiliza, en un primer formato de codificación, un primer número de impulsos,
caracterizado porque dicho número (N_{e}) seleccionado en la etapa b) corresponde a ese primer número de posiciones de impulsos.
3. Procedimiento de acuerdo con la reivindicación 2, en el cual:
- el primer codificador/descodificador (E) utiliza, en un primer formato de codificación, un primer número (N_{e}) de posiciones de impulsos,
- el segundo codificador/descodificador (S) utiliza, en un segundo formato de codificación, un segundo número (N_{s}) de posiciones de impulsos,
caracterizado porque comprende además una etapa que consiste en discriminar al menos los casos en los que:
- el primer número (N_{e}) sea superior o igual al segundo número (N_{s}),
- el primer número (N_{e}) sea inferior al segundo número (N_{s}).
4. Procedimiento de acuerdo con la reivindicación 3, en el cual el primer número (N_{e}) es superior o igual al segundo número (N_{s})(N_{e}\geqN_{s}),
caracterizado porque cada grupo formado en la etapa c) comprende posiciones de impulsos vecinas de derecha (v^{i}_{d}) y posiciones de impulsos vecinas de izquierda (v^{i}_{g}) de dicha posición de impulso corriente de índice dado, y porque los números respectivos de posiciones de impulsos vecinas de izquierda y de derecha son seleccionados en función de un compromiso de complejidad y de calidad de transcodificación.
5. Procedimiento de acuerdo con la reivindicación 4, caracterizado porque en la etapa d), se construye un sub-repertorio de combinaciones de posiciones de impulsos que resulta de las intersecciones (S_{j}) de:
- el conjunto (P_{s}) constituido por una unión de dichos grupos formados en la etapa c),
y
- posiciones de impulsos (T_{j}) admitidas por el segundo codificador/descodificador, de manera que dicho sub-repertorio sea de tamaño inferior al número de combinaciones de posiciones de impulsos (T_{j}) admitidas por el segundo codificador/descodificador.
6. Procedimiento de acuerdo con la reivindicación 5, caracterizado porque, después de la etapa e), se busca en dicho sub-repertorio un juego de posiciones óptimo que comprenda dicho segundo número (N_{s}) de posiciones, al nivel del segundo codificador (S).
7. Procedimiento de acuerdo con la reivindicación 6, caracterizado porque la etapa de búsqueda del juego de posiciones óptimo es puesta en práctica mediante una búsqueda focalizada para acelerar la exploración de dicho sub-repertorio.
8. Procedimiento de acuerdo con una de las reivindicaciones anteriores, en el cual dicho primer codificador/desco-
dificador es dispuesto para entregar una sucesión de tramas codificadas, caracterizado porque los números respectivos de posiciones de impulsos en los grupos formados en la etapa c) son sucesivamente seleccionados de una trama a la otra.
9. Procedimiento de acuerdo con la reivindicación 3, en el cual el primer número (N_{e}) es inferior al segundo número (N_{s})(N_{e}<N_{s}),
caracterizado porque se prueba además si las posiciones de impulsos previstas en el segundo número de posiciones de impulsos (N_{s}) se encuentran entre posiciones de impulsos de los grupos formados en la etapa c),
y, en caso de respuesta negativa a esta prueba, se aumenta el número de posiciones de impulsos en los grupos formados en la etapa c).
10. Procedimiento de acuerdo con la reivindicación 3, caracterizado porque se discrimina además el caso en el que el segundo número N_{s} esté comprendido entre una o dos veces el primer número N_{e}(N_{e}<N_{s}<2N_{e}),
y, en este caso:
c1) se seleccionan de entrada las N_{e} posiciones de impulsos,
c2) y se selecciona además un número complementario de posiciones de impulsos N_{s}-N_{e}, definidas en la vecindad inmediata de las posiciones de impulsos seleccionadas en la etapa c1).
11. Procedimiento de acuerdo con una de las reivindicaciones anteriores, en el cual dicho primer codificador/desco-
dificador es dispuesto para operar con una primera frecuencia de muestreo dada y a partir de una primera duración de sub-trama dada,
caracterizado porque dichos parámetros de codificación para los cuales es realizada dicha adaptación de la etapa a) comprenden al menos una duración de sub-trama y una frecuencia de muestreo, mientras que el segundo codificador/descodificador opera con una segunda frecuencia de muestreo y una segunda duración de sub-trama,
y porque, en la etapa a), se discriminan los cuatro casos siguientes:
-
las primera y segunda duraciones son iguales y las primera y segunda frecuencias son iguales,
-
las primera y segunda duraciones son iguales y las primera y segunda frecuencias son diferentes,
-
las primera y segunda duraciones son diferentes y las primera y segunda frecuencias son iguales,
-
las primera y segunda duraciones son diferentes y las primera y segunda frecuencias son diferentes.
12. Procedimiento de acuerdo con la reivindicación 11, en el cual las primera y segunda duraciones son iguales y las primera y segunda frecuencias de muestreo son diferentes,
caracterizado porque comprende etapas:
a1) de cuantificación directa de escala temporal de la primera frecuencia a la segunda frecuencia,
a2) y de determinación, en función de dicha cuantificación, de cada posición de impulso en una sub-trama en el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo, a partir de una posición de impulso en una sub-trama en el primer formato de codificación caracterizado por la primera frecuencia de
muestreo.
13. Procedimiento de acuerdo con la reivindicación 12, caracterizado porque la etapa a1) de cuantificación se efectúa por cálculo y/o tabulación a partir de una función que, en una posición de impulso en una sub-trama en el primer formato (p_{e}), hace corresponder una posición de impulso en una sub-trama en el segundo formato (p_{s}), dicha función se presenta sensiblemente como una combinación lineal que hace intervenir un coeficiente multiplicativo que corresponde a la relación de la segunda frecuencia de muestreo con la primera frecuencia de muestreo.
14. Procedimiento de acuerdo con la reivindicación 13, caracterizado porque, para pasar inversamente de una posición de impulso en una sub-trama en el segundo formato (p_{s}) a una posición de impulso en una sub-trama en el primer formato (p_{e}), se aplica una función inversa de dicha combinación lineal aplicada a una posición de impulso en una sub-trama en el segundo formato (p_{s}).
15. Procedimiento de acuerdo con la reivindicación 11, en el cual las primera y segunda duraciones son iguales y las primera y segunda frecuencias de muestreo son diferentes,
caracterizado porque comprende las siguientes etapas:
a'1) realizar un sobre-muestreo de una sub-trama en el primer formato de codificación caracterizado por la primera frecuencia de muestreo, en una frecuencia igual al múltiplo común más pequeño de las primera y segunda frecuencias de muestreo, y
a'2) aplicar a la sub-trama sobre-muestreada un filtrado de paso bajo, seguido de un sub-muestreo, para alcanzar una frecuencia de muestreo que corresponda a la segunda frecuencia de muestreo.
16. Procedimiento de acuerdo con la reivindicación 15, caracterizado porque el procedimiento prosigue mediante la obtención, por formación de umbral, de un número de posiciones, llegado el caso, variable.
17. Procedimiento de acuerdo con la reivindicación 12, caracterizado porque comprende además una etapa de hacer corresponder para cada posición (p_{e}) un impulso de una sub-trama en el primer formato de codificación caracterizado por la primera frecuencia de muestreo, un grupo de posiciones de impulsos (p_{s}) en una sub-trama en el segundo formato de codificación caracterizado por la segunda frecuencia de muestreo, cada grupo comprende un número de posiciones que es función de la relación entre la segunda y la primera frecuencia de muestreo (F_{s}/F_{e}).
18. Procedimiento de acuerdo con la reivindicación 11, en el cual las primera y segunda duraciones de sub-tramas son diferentes,
caracterizado porque comprende las etapas:
a20) de definición de un origen común (O) en las sub-tramas del primer y segundo formatos,
a21) de recorte de las sub-tramas sucesivas del primer formato de codificación caracterizado por una primera duración de sub-trama, para formar pseudos sub-tramas de duraciones correspondientes a la duración de sub-trama del segundo formato,
a22) de actualización de dicho origen común,
a23) y de una determinación de correspondencia entre las posiciones de impulsos en las pseudos sub-tramas y en las sub-tramas en el segundo formato.
19. Procedimiento de acuerdo con la reivindicación 18, caracterizado porque se discriminan además los siguientes casos:
- las primera y segunda duraciones son fijas en el tiempo,
y
- las primera y segunda duraciones varían en el tiempo.
20. Procedimiento de acuerdo con la reivindicación 19, en el cual las primera y segunda duraciones son fijas en el tiempo,
caracterizado porque la posición temporal de dicho origen común es actualizada periódicamente a cada instante en el que fronteras de sub-tramas respectivas de primera y de segunda duración son alineadas en el tiempo.
21. Procedimiento de acuerdo con la reivindicación 19, en el cual las primera y segunda duraciones varían en el tiempo,
caracterizado porque:
a221) se efectúan sucesivamente dos sumas respectivas de las duraciones de las sub-tramas en el primer formato y de las duraciones de las sub-tramas en el segundo formato,
a222) se detecta una ocurrencia de una igualdad entre dichas dos sumas, que define un instante de actualización de dicho origen común,
a223) se reinician dichas dos sumas, después de dicha ocurrencia, para una futura detección de un próximo origen común.
22. Producto programa de computación destinado a ser almacenado en una memoria de una unidad de procesamiento, en particular de una computadora o de un terminal móvil, o en un soporte memoria extraíble y destinado a cooperar con un lector de la unidad de procesamiento,
caracterizado porque comprende instrucciones para la puesta en práctica del procedimiento de transcodificación de acuerdo con una de las reivindicaciones anteriores.
23. Dispositivo de transcodificación entre un primer codificador/descodificador en compresión y al menos un segundo codificador/descodificador en compresión, siendo dichos primer y segundo codificadores/descodificadores de tipo de impulso y utilizando diccionarios de multi-impulsos en los cuales cada impulso comprende una posición localizada por un índice asociado,
caracterizado porque comprende una memoria que comprende las instrucciones de un producto programa de acuerdo con la reivindicación 22.
ES04805537T 2003-12-10 2004-11-24 Transcodificacion entre indices de diccionarios de multi-impulsos utilizados en la codificacion en compresion de señales digitales. Active ES2303129T3 (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
FR0314489 2003-12-10

Publications (1)

Publication Number Publication Date
ES2303129T3 true ES2303129T3 (es) 2008-08-01

Family

ID=34746280

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04805537T Active ES2303129T3 (es) 2003-12-10 2004-11-24 Transcodificacion entre indices de diccionarios de multi-impulsos utilizados en la codificacion en compresion de señales digitales.

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 (19)

* 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
KR20070074546A (ko) * 2004-08-31 2007-07-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 트랜스코딩을 위한 방법 및 디바이스
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
CN101295506B (zh) * 2007-04-29 2011-11-16 华为技术有限公司 脉冲编解码方法及脉冲编解码器
ES2817906T3 (es) * 2007-04-29 2021-04-08 Huawei Tech Co Ltd Método de codificación de impulsos de las señales de excitación
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 华为技术有限公司 矢量联合编解码方法及编解码器
WO2013048171A2 (ko) * 2011-09-28 2013-04-04 엘지전자 주식회사 음성 신호 부호화 방법 및 음성 신호 복호화 방법 그리고 이를 이용하는 장치
US8731081B2 (en) * 2011-12-07 2014-05-20 Motorola Mobility Llc Apparatus and method for combinatorial coding of signals
EP3579418A4 (en) * 2017-08-07 2020-06-10 Shenzhen Goodix Technology Co., Ltd. DIGITAL TO ANALOG CONVERSION CIRCUIT OF VECTOR QUANTIFICATION FOR SUPER-SAMPLING CONVERTER
CN114598558B (zh) * 2022-03-28 2023-10-31 厦门亿联网络技术股份有限公司 音频设备级联自修复系统及自修复方法
WO2024216716A1 (en) * 2023-06-02 2024-10-24 Zte Corporation Pulse interval encoding based index modulation methods for passive internet of things

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
US6829579B2 (en) * 2002-01-08 2004-12-07 Dilithium Networks, Inc. Transcoding method and system between CELP-based speech codes
KR20040095205A (ko) * 2002-01-08 2004-11-12 딜리시움 네트웍스 피티와이 리미티드 Celp를 기반으로 하는 음성 코드간 변환코딩 방식
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
FR2867648A1 (fr) 2005-09-16
CN1890713A (zh) 2007-01-03
DE602004012600D1 (de) 2008-04-30
CN1890713B (zh) 2010-12-08
JP2007515676A (ja) 2007-06-14
EP1692687A1 (fr) 2006-08-23
PL1692687T3 (pl) 2008-10-31
US20070124138A1 (en) 2007-05-31
MXPA06006621A (es) 2006-08-31
ATE389933T1 (de) 2008-04-15
WO2005066936A1 (fr) 2005-07-21
US7574354B2 (en) 2009-08-11
EP1692687B1 (fr) 2008-03-19
KR20060131781A (ko) 2006-12-20
JP4970046B2 (ja) 2012-07-04
DE602004012600T2 (de) 2009-04-30
KR101108637B1 (ko) 2012-02-09

Similar Documents

Publication Publication Date Title
ES2303129T3 (es) Transcodificacion entre indices de diccionarios de multi-impulsos utilizados en la codificacion en compresion de señales digitales.
ES2321147T3 (es) Codificacion de habla de tasa de transmision variable.
ES2266312T3 (es) Indexacion de posiciones y señales de pulso en codigos de cifrado y descifrado algebraicos para la codificacion de señales de banda ancha.
ES2257098T3 (es) Codificacion periodica de vocales.
US7149683B2 (en) Method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
JP3160852B2 (ja) 会話の急速符号化のためのデプス第一代数コードブック
JP4501288B2 (ja) ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法
JPH10513571A (ja) スピーチ信号を高速符号化するための信号選択されたパルス振幅を備えた代数学的符号帳
JP6363741B2 (ja) ベクトル結合符号化/復号方法および符号復号器
CN112530401B (zh) 一种语音合成方法、系统及装置
CN109616129B (zh) 用于提升语音丢帧补偿性能的混合多描述正弦编码器方法
US6611797B1 (en) Speech coding/decoding method and apparatus
JPH10214100A (ja) 音声合成方法
ES2337020T3 (es) Procedimiento de codificado de la prosodia para un codificador de palabra con cadencia muy baja.
CN117877460A (zh) 语音合成方法、装置、语音合成模型训练方法、装置
US5671327A (en) Speech encoding apparatus utilizing stored code data
ES2267176T3 (es) Sistema de transmision de voz.
JP3731575B2 (ja) 符号化装置及び復号装置
JPH06181443A (ja) 最尤復号方式
JPS6264129A (ja) 符号化方法
Motta et al. Trellis vector residual quantization
JPH09297597A (ja) 高能率音声伝送方法及び高能率音声伝送装置
JP3068689B2 (ja) 音声符号化方法
Anderson et al. Source Coding Algorithms
Ramasubramanian et al. Unit Selection Framework