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 PDFInfo
- 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
Links
- 230000006835 compression Effects 0.000 title claims description 17
- 238000007906 compression Methods 0.000 title claims description 17
- 238000000034 method Methods 0.000 claims description 65
- 238000005070 sampling Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 31
- 230000006978 adaptation Effects 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 15
- 238000011002 quantification Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000009966 trimming Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 230000000295 complement effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000003786 synthesis reaction Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 13
- 230000005284 excitation Effects 0.000 description 11
- 239000000203 mixture Substances 0.000 description 10
- 101150067286 STS1 gene Proteins 0.000 description 7
- 101100028967 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PDR5 gene Proteins 0.000 description 7
- 101150027289 Ubash3b gene Proteins 0.000 description 7
- 102100040338 Ubiquitin-associated and SH3 domain-containing protein B Human genes 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000036961 partial effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 3
- 101100364962 Arabidopsis thaliana STE1 gene Proteins 0.000 description 3
- 101100018717 Mus musculus Il1rl1 gene Proteins 0.000 description 3
- 101100096884 Rattus norvegicus Sult1e1 gene Proteins 0.000 description 3
- 101150006985 STE2 gene Proteins 0.000 description 3
- 101100219191 Schizosaccharomyces pombe (strain 972 / ATCC 24843) byr1 gene Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 102100036044 Conserved oligomeric Golgi complex subunit 4 Human genes 0.000 description 1
- 102100040998 Conserved oligomeric Golgi complex subunit 6 Human genes 0.000 description 1
- 101000876012 Homo sapiens Conserved oligomeric Golgi complex subunit 4 Proteins 0.000 description 1
- 101000748957 Homo sapiens Conserved oligomeric Golgi complex subunit 6 Proteins 0.000 description 1
- 101001104102 Homo sapiens X-linked retinitis pigmentosa GTPase regulator Proteins 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 208000036448 RPGR-related retinopathy Diseases 0.000 description 1
- 201000000467 X-linked cone-rod dystrophy 1 Diseases 0.000 description 1
- 201000000465 X-linked cone-rod dystrophy 2 Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 210000000867 larynx Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010809 targeting technique Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/173—Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination 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).
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
\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
\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.
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
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,
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.
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.
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:
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:
(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
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
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:
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:
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.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\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.
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í:
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:
\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:
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.
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:
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:
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:
Para la paridad impar:
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:
El conjunto P_{s} de las posiciones
seleccionadas es:
Si se supone que se quiere conservar la misma
paridad, la repartición inicial de estas posiciones para los 4
impulsos es:
Al aumentar a 2 la vecindad izquierda de los
impulsos, se obtiene:
(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
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
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
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:
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}.
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:
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:
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:
Al volver a la notación por posiciones:
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:
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:
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:
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:
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,
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.
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,
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.
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.
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)
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)
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 |
-
2003
- 2003-12-10 FR FR0314489A patent/FR2867648A1/fr active Pending
-
2004
- 2004-11-24 ES ES04805537T patent/ES2303129T3/es active Active
- 2004-11-24 MX MXPA06006621A patent/MXPA06006621A/es active IP Right Grant
- 2004-11-24 DE DE602004012600T patent/DE602004012600T2/de active Active
- 2004-11-24 CN CN2004800366046A patent/CN1890713B/zh not_active Expired - Fee Related
- 2004-11-24 JP JP2006543573A patent/JP4970046B2/ja not_active Expired - Fee Related
- 2004-11-24 WO PCT/FR2004/003008 patent/WO2005066936A1/fr active IP Right Grant
- 2004-11-24 PL PL04805537T patent/PL1692687T3/pl unknown
- 2004-11-24 KR KR1020067011552A patent/KR101108637B1/ko not_active IP Right Cessation
- 2004-11-24 US US10/582,126 patent/US7574354B2/en not_active Expired - Fee Related
- 2004-11-24 EP EP04805537A patent/EP1692687B1/fr not_active Not-in-force
- 2004-11-24 AT AT04805537T patent/ATE389933T1/de not_active IP Right Cessation
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 |