ES2266312T3 - Indexacion de posiciones y señales de pulso en codigos de cifrado y descifrado algebraicos para la codificacion de señales de banda ancha. - Google Patents
Indexacion de posiciones y señales de pulso en codigos de cifrado y descifrado algebraicos para la codificacion de señales de banda ancha. Download PDFInfo
- Publication number
- ES2266312T3 ES2266312T3 ES01997803T ES01997803T ES2266312T3 ES 2266312 T3 ES2266312 T3 ES 2266312T3 ES 01997803 T ES01997803 T ES 01997803T ES 01997803 T ES01997803 T ES 01997803T ES 2266312 T3 ES2266312 T3 ES 2266312T3
- Authority
- ES
- Spain
- Prior art keywords
- amplitude
- index
- positions
- pulses
- zero
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 270
- 230000005284 excitation Effects 0.000 claims description 42
- 230000015572 biosynthetic process Effects 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 35
- 238000003786 synthesis reaction Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 20
- 230000005236 sound signal Effects 0.000 claims description 14
- 230000002457 bidirectional effect Effects 0.000 claims description 8
- 230000001413 cellular effect Effects 0.000 claims description 8
- 230000010267 cellular communication Effects 0.000 claims description 5
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims 26
- FLDSMVTWEZKONL-AWEZNQCLSA-N 5,5-dimethyl-N-[(3S)-5-methyl-4-oxo-2,3-dihydro-1,5-benzoxazepin-3-yl]-1,4,7,8-tetrahydrooxepino[4,5-c]pyrazole-3-carboxamide Chemical compound CC1(CC2=C(NN=C2C(=O)N[C@@H]2C(N(C3=C(OC2)C=CC=C3)C)=O)CCO1)C FLDSMVTWEZKONL-AWEZNQCLSA-N 0.000 claims 1
- 230000010255 response to auditory stimulus Effects 0.000 claims 1
- 230000000452 restraining effect Effects 0.000 abstract 1
- 239000013598 vector Substances 0.000 description 101
- 238000013461 design Methods 0.000 description 21
- 238000005070 sampling Methods 0.000 description 20
- 238000000926 separation method Methods 0.000 description 20
- 210000004027 cell Anatomy 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000012546 transfer Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 12
- 230000003595 spectral effect Effects 0.000 description 10
- 238000001228 spectrum Methods 0.000 description 10
- 238000011002 quantification Methods 0.000 description 9
- 108010001267 Protein Subunits Proteins 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000011045 prefiltration Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000005303 weighing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 210000003771 C cell Anatomy 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000004578 scanning tunneling potentiometry Methods 0.000 description 1
- 235000019832 sodium triphosphate Nutrition 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000017105 transposition Effects 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
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- 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/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
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0007—Codebook element generation
- G10L2019/0008—Algebraic codebooks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Moving Of The Head To Find And Align With The Track (AREA)
- Dc Digital Transmission (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Investigating, Analyzing Materials By Fluorescence Or Luminescence (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Treatment Of Fiber Materials (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
Abstract
Un método de indexación de posiciones y amplitudes de pulso en un código algebraico de cifrado y descifrado para una codificación y una decodificación eficientes de una señal de sonido, en el que: - el código de cifrado y descifrado comprende un conjunto de combinaciones de amplitud/posición de pulso; - cada combinación de amplitud/posición de pulso define un número de posiciones diferentes y comprende tanto pulsos de amplitud cero como pulsos de amplitud distinta de cero, asignados a posiciones respectivas de la combinación, y - cada pulso de amplitud distinta de cero asume una de la pluralidad de amplitudes posibles, y en el que dicho procedimiento de indexación comprende: - formar un conjunto de al menos una pista de dichas posiciones de pulso, en la que la posición de cada pulso de amplitud distinta de cero de cada combinación de amplitud/posición de pulso está restringida a una pista de dicho conjunto; - indexar, de acuerdo con un primer procedimiento, mencionado en lo que sigue como procedimiento 1, la posición y la amplitud de un pulso de amplitud distinta de cero solamente cuando la posición de dicho pulso de amplitud distinta de cero se localice en una pista de dicho conjunto; - indexar, de acuerdo con un segundo procedimiento, mencionado en lo que sigue como procedimiento 2, las posiciones y amplitudes de dos pulsos distintos de cero solamente cuando las posiciones de dichos dos pulsos de amplitud distinta de cero estén localizadas en una pista de dicho conjunto, y - cuando las posiciones de un número X de pulsos de amplitud distinta de cero se localicen en una pista de dicho conjunto, en la que X>_3: - dividir las posiciones de dicha pista en dos secciones; - utilizar otro procedimiento asociado a dicho número X, mencionado en lo que sigue como procedimiento X, para indexar las posiciones y amplitudes de dichos X pulsos de amplitud distinta de cero, comprendiendo dicho procedimiento X: - identificar en cuál de las dos secciones de pista se localiza cada pulso de amplitud distinta de cero; - calcular sub-índices de dichos X pulsos de amplitud distinta de cero utilizando los procedimientos 1 y 2 en al menos una de las citadas secciones de pista y en la pista completa, y - calcular un índice de ¿posición y amplitud¿ de dichos X pulsos de amplitud distinta de cero mediante la combinación de dichos sub-índices.
Description
Indexación de posiciones y señales de pulso en
códigos de cifrado y descifrado algebraicos para la codificación de
señales de banda ancha.
La presente invención se refiere a una técnica
para codificar digitalmente una señal, en particular aunque no
exclusivamente una señal de voz, con vistas a la transmisión y
sintetización de esta señal. Más específicamente, la presente
invención está relacionada con un método para indexar posiciones y
amplitudes de pulso de pulsos con amplitud distinta de cero, en
particular aunque no exclusivamente en códigos de cifrado y
descifrado algebraicos muy amplios, necesarios para la codificación
de alta calidad de señales de banda ancha en base a técnicas de
Predicción Lineal Excitada de Código Algebraico (ACELP).
La demanda de técnicas para una codificación
eficaz de voz/audio digital de banda ancha, con una buena relación
subjetiva de calidad/velocidad de bit, se está incrementando en
relación con numerosas aplicaciones, tales como en aplicaciones de
teleconferencia de audio/video, multimedia e inalámbricas, así como
también en aplicaciones de Internet y de red de envío en paquetes.
Hasta hace poco tiempo, se utilizaron principalmente anchos de
banda telefónica filtrada en la gama de 200-3400 Hz
en aplicaciones de codificación de voz. Sin embargo, existe una
demanda creciente de aplicaciones de voz de banda ancha con el fin
de incrementar la inteligibilidad y la naturalidad de las señales
de voz. Un ancho de banda comprendido en la gama de
50-7000 Hz, ha sido encontrado como suficiente para
suministrar una calidad de voz para comunicación verbal. Para
señales de audio, esta gama proporciona una calidad de audio
aceptable, pero todavía es más baja que la calidad CD (Compact Disk,
Disco Compacto) que opera en la gama de 20-20000
Hz.
Un codificador de voz convierte una señal de voz
en una corriente digital de bits que se transmite por un canal de
comunicación (o que se almacena en un medio de almacenaje). La señal
de voz es digitalizada (muestreada y cuantificada con 16 bits por
muestra normalmente), y el codificador de voz tiene la misión de
representar estas muestras digitales con un número más pequeño de
bits mientras mantiene una buena calidad de voz subjetiva. El
decodificador o sintetizador de voz, opera sobre la corriente de
bits transmitida o almacenada, y la convierte de nuevo en una señal
digital.
Una de las mejores técnicas conocidas que es
capaz de conseguir una buena relación de calidad/velocidad de bit,
es la que se conoce como técnica CELP (Code Excited Linear
Prediction, Predicción Lineal Excitada de Código). De acuerdo con
esta técnica, la señal de voz muestreada se procesa en bloques
sucesivos de L muestras denominadas normalmente
"delimitaciones", donde L es algún número predeterminado
(correspondiente a 10-30 ms de palabra). En CELP,
se calcula un filtro de síntesis de LP (Linear Prediction,
Predicción Lineal), y se transmite cada delimitación. La
delimitación de la muestra L se divide entonces en bloques más
pequeños conocidos como sub-delimitaciones de
muestras de tamaño N, siendo L = kN y siendo k el número de
sub-delimitaciones en una delimitación (N
corresponde normalmente a 4-10 ms de palabra). Se
determina una señal de excitación en cada
sub-delimitación, la cual consiste normalmente en
dos componentes: uno procedente de la excitación pasada (también
denominado contribución de separación de paso o código adaptativo de
cifrado y descifrado), y el otro procedente de un código de cifrado
y descifrado innovador (también conocido como código fijo de
cifrado y descifrado). Esta señal de excitación es transmitida y
utilizada en el decodificador como entrada del filtro de síntesis
de LP con el fin de obtener la voz sintetizada.
Para sintetizar voz de acuerdo con la técnica
CELP, cada bloque de N muestras se sintetiza filtrando un vector de
código apropiado del código de cifrado y descifrado de innovación a
través de filtros variables en el tiempo que modelizan las
características espectrales de la señal de voz. Estos filtros
consisten en un filtro de síntesis de separación de paso
(implementado normalmente como código de cifrado y descifrado
adaptativo que contiene la señal de excitación pasada), y un filtro
de síntesis de LP. En el extremo de codificador, se calcula la
salida de síntesis para todos, o para un subconjunto de, los
vectores de código del código de cifrado y descifrado (búsqueda de
código de cifrado y descifrado). El vector de código conservado es
el que produce la salida de síntesis más cercana a la señal de voz
original de acuerdo con una medida de distorsión ponderada
perceptivamente. Este pesaje perceptivo se realiza utilizando lo que
se conoce como filtro de pesaje perceptivo, el cual se deriva
normalmente del filtro de síntesis de LP.
Un código de cifrado y descifrado innovador en
el contexto CELP, es un conjunto indexado de N secuencias de
muestra largas, que se mencionarán como vectores de código de N
dimensiones. Cada secuencia de código de cifrado y descifrado está
indexada por un número entero k que está comprendido en la gama de 1
a M, donde M representa el tamaño del código de cifrado y
descifrado, expresado con frecuencia como un número de bits b,
siendo M = 2^{b}.
Un código de cifrado y descifrado puede ser
almacenado en una memoria física, por ejemplo una tabla de búsqueda
(código de cifrado y descifrado estocástico), o puede estar referido
a un mecanismo para relacionar el índice con un vector de código
correspondiente, por ejemplo una fórmula (código de cifrado y
descifrado algebraico).
Un inconveniente de este tipo de códigos de
cifrado y descifrado, códigos de cifrado y descifrado estocásticos,
consiste en que con frecuencia conllevan un almacenaje físico
sustancial. Éstos son estocásticos, es decir, aleatorios en el
sentido de que el recorrido desde el índice hasta el vector de
código asociado, incluye tablas de búsqueda que son el resultado de
números generados aleatoriamente o de técnicas estadísticas
aplicadas a grandes conjuntos de ejercitación de palabra. El tamaño
de los códigos de cifrado y descifrado estocásticos tiende a estar
limitado por la complejidad de la búsqueda y/o del almacenaje.
El segundo tipo de códigos de cifrado y
descifrado consiste en códigos de cifrado y descifrado algebraicos.
En contraste con los códigos de cifrado y descifrado estocásticos,
los códigos de cifrado y descifrado algebraicos no son aleatorios y
no requieren almacenaje sustancial. Un código de cifrado y
descifrado algebraico es un conjunto de vectores de código
indexados cuyas amplitudes y posiciones de los pulsos del vector de
código kº pueden ser derivadas de un índice k correspondiente a
través de una regla que no requiere ningún almacenaje físico, o
requiere un almacenaje mínimo. Por lo tanto, el tamaño de los
códigos de cifrado y descifrado algebraicos no está limitado por
requisitos de almacenaje. Los códigos de cifrado y descifrado
algebraicos pueden estar también diseñados para una búsqueda
eficaz.
El modelo CELP ha tenido mucho éxito en la
codificación de señales de sonido de la banda telefónica, y existen
varios estándares basados en CELP en una amplia gama de
aplicaciones, especialmente en aplicaciones celulares digitales. En
la banda de teléfono, la señal de sonido es una banda limitada a
200-3400 Hz y muestreada a razón de 16000
muestreos/segundo.
Se presentan algunas dificultades cuando se
aplica el modelo CELP optimizado de banda de teléfono a señales de
banda ancha, y se necesita añadir características adicionales al
modelo con el fin de obtener señales de banda ancha de alta
calidad. Estas características incluyen un filtrado eficaz de pesado
perceptivo, un filtrado de separación de paso de ancho de banda
variable, y técnicas eficaces de aumento de separación de paso y de
alisamiento de ganancia. Otro tema importante que se presenta en la
codificación de señales de banda ancha, consiste en la necesidad de
utilizar códigos de cifrado y descifrado de excitación muy grandes.
Por lo tanto, resultan muy importantes las estructuras eficientes
de código de cifrado y descifrado que requieren un almacenaje
mínimo y que pueden ser buscadas rápidamente. Los códigos de cifrado
y descifrado algebraicos han sido conocidos por su eficacia y son
ahora utilizados ampliamente en diversos estándares de
decodificación de voz. Códigos de cifrado y descifrado algebraicos
y procedimientos de búsqueda rápida, se encuentran descritos en las
Patentes US núms. 5.444.816 (Adoul et al.) concedida el 22
de Agosto de 1995; 5.699.482 concedida a Adoul et al. el 17
de Diciembre de 1997; 5.754.976 concedida a Adoul et al. el
19 de Mayo de 1998, y 5.701.392 (Adoul et al.) de fecha 23
de Diciembre de 1997.
Un objeto de la presente invención consiste en
proporcionar un nuevo procedimiento para indexar posiciones y
amplitudes de pulso en códigos de cifrado y descifrado algebraicos
para codificar eficientemente, en particular pero no
exclusivamente, señales de banda ancha.
La invención está definida en la reivindicación
de método 1 anexa, la reivindicación de dispositivo 27
independiente, y la reivindicación de sistema 60 independiente.
Realizaciones ventajosas se encuentran definidas en las
reivindicaciones dependientes.
En los dibujos anexos:
La Figura 1 es un diagrama esquemático de
bloques de una realización preferida del dispositivo de codificación
de banda ancha;
La Figura 2 es un diagrama esquemático de
bloques de una realización preferida del dispositivo de
decodificación de banda ancha;
La Figura 3 es un diagrama esquemático de
bloques de una realización preferida del dispositivo de análisis de
separación de paso;
La Figura 4 es un diagrama esquemático de
bloques, simplificado, de un sistema de comunicación celular en el
que pueden ser implementados el dispositivo de codificación de banda
ancha de la Figura 1 y el dispositivo de decodificación de banda
ancha de la Figura 2, y
La Figura 5 es un diagrama de flujo de una
realización preferida para un procedimiento de codificación de dos
pulsos signados en una pista de longitud k = 2^{M}, que incluye la
indexación de las posiciones de pulso y los signos.
Según conocen bien los expertos en la materia,
un sistema de comunicación celular tal como el mostrado con 401
(Figura 4), proporciona un servicio de telecomunicaciones sobre una
gran área geográfica dividiendo esa gran área geográfica en un
número C de células más pequeñas. Las células C más pequeñas se
ponen en servicio mediante estaciones de base 402_{1}, 402_{2},
..., 402_{c} celulares respectivas para dotar a cada célula con
canales de transmisión de señales de radio, canales de audio y de
datos.
Los canales de transmisión de señales de radio
se utilizan para situar llamadas a radioteléfonos móviles (unidades
móviles de transmisor/receptor) tales como 403 dentro de los límites
del área (célula) de cobertura de la estación de base 402 celular,
y para colocar llamadas a otros radioteléfonos 403 situados ya sea
en el interior o ya sea fuera de la célula de la estación de base,
o a otra red tal como la Red Conmutada de Teléfonos Públicos (PSTN)
404.
Una vez que un radioteléfono 403 ha colocado con
éxito, o ha recibido, una llamada, se establece un canal de audio o
de datos entre este radioteléfono 403 y la estación de base 402
celular correspondiente a la célula en la que se encuentra situado
el radioteléfono 403, y se establece la comunicación entre la
estación de base 402 y el radioteléfono 403 por ese canal de audio
o de datos. El radioteléfono 403 puede recibir también información
de control o de temporización por el canal de transmisión de señales
mientras se está produciendo una llamada.
Si un radioteléfono 403 abandona una célula y
entra en otra célula adyacente mientras se está celebrando una
llamada, el radioteléfono 403 traspasa la llamada a un canal de
audio o de datos disponible de la estación de base 402 de la nueva
célula. Si un radioteléfono 403 abandona una célula y entra en otra
célula adyacente cuando no se está celebrando ninguna llamada, el
radioteléfono 403 envía un mensaje de control por el canal de
transmisión de señales para registrarse en la estación de base 402
de la nueva célula. De esta manera, resulta posible la comunicación
móvil por una amplia zona geográfica.
El sistema 401 de comunicación celular comprende
además una terminal de control 405 para controlar la comunicación
entre las estaciones de base 402 celulares y la PSTN 404, por
ejemplo durante una comunicación entre un radioteléfono 403 y la
PSTN 404, o entre un radioteléfono 403 situado en una primera célula
y un radioteléfono 403 situado en una segunda célula.
Por supuesto, se requiere un
sub-sistema de comunicación de radio inalámbrica
bidireccional para establecer un canal de audio o de datos entre
una estación de base 402 de una célula y un radioteléfono 403
situado en esa célula. Según se ha ilustrado de forma muy
simplificada en la Figura 4, tal sub-sistema de
comunicación de radio inalámbrica bidireccional comprende
típicamente en el radioteléfono 403:
- un transmisor 406 que incluye:
- -
- un codificador 407 para codificar una señal de voz u otra señal que va a ser transmitida, y
- -
- un circuito de transmisión 408 para transmitir la señal codificada desde el codificador 407 a través de una antena tal como 409, y
- un receptor 410 que incluye:
- -
- un circuito de recepción 411 para recibir una señal de voz codificada transmitida u otra señal, normalmente a través de la misma antena 409, y
- -
- un decodificador 412 para decodificar la señal codificada recibida desde el circuito 411 de recepción.
El radioteléfono 403 comprende además otros
circuitos 413 de radioteléfono convencional para suministrar una
señal de voz u otra señal al codificador 407, y para procesar la
señal de voz u otra señal procedente del decodificador 412. Estos
circuitos 413 de radioteléfono son bien conocidos por los expertos
en la materia y, en consecuencia, no van a ser descritos con mayor
detalle en la presente descripción.
También un sub-sistema de
comunicación de radio inalámbrica bidireccional de este tipo,
comprende típicamente en la estación de base 402:
- un transmisor 414 que incluye:
- -
- un codificador 415 para codificar la señal de voz u otra señal que va a ser transmitida, y
- -
- un circuito de transmisión 416 para transmitir la señal codificada procedente del codificador 415 a través de una antena tal como 417, y
- un receptor 418 que incluye:
\newpage
- -
- un circuito de recepción 419 para recibir una señal de voz codificada transmitida u otra señal por medio de la misma antena 417, o a través de otra antena diferente (no representada), y
- -
- un decodificador 420 para decodificar la señal codificada recibida procedente del circuito de recepción 419.
La estación de base 402 comprende además,
típicamente, un controlador 421 de estación de base, junto con su
base de datos 422 asociada, para controlar la comunicación entre el
terminal de control 405 y el transmisor 414 y el receptor 418. El
controlador 421 de estación de base controlará también la
comunicación entre el receptor 418 y el transmisor 414 en caso de
comunicación entre dos radioteléfonos, tales como el 403, situados
en la misma célula que la estación de base 402.
Según conocen bien los expertos en la materia,
se requiere codificación con el fin de reducir el ancho de banda
necesario para transmitir una señal, por ejemplo una señal de voz
tal como las palabras, a través del sub-sistema de
comunicación de radio inalámbrica bidireccional, es decir, entre un
radioteléfono 403 y una estación de base 402.
Los codificadores de voz de LP (tales como 415 y
407), que operan típicamente a 13 kbits/segundo y por debajo, tales
como los codificadores de Predicción Lineal Excitada de Código
(CELP), utilizan típicamente un filtro de síntesis de LP para
modelizar la envolvente espectral a corto plazo de la señal de
palabra. La información de LP es transmitida, típicamente, cada 10
ó 20 ms hasta el decodificador (tal como 420 y 412), y es extraída
en el extremo de decodificador.
Las técnicas novedosas que se describen en la
presente descripción, pueden ser utilizadas con señales de banda
telefónica que incluyen la palabra, con señales de sonido distintas
de la palabra, así como también con otros tipos de señales de banda
ancha.
La Figura 1 muestra un diagrama de bloques
general de un dispositivo 100 de codificación de voz tipo CELP,
modificado para acomodar mejor las señales de banda ancha. Las
señales de banda ancha pueden comprender, entre otras, señales
tales como la música y las señales de video.
La señal 114 de entrada muestreada, se divide en
bloques sucesivos de L muestras, denominadas "unidades de
información". En cada unidad de información, se computan
diferentes parámetros que representan la señal de voz, se codifican
y se transmiten. Habitualmente se computan los parámetros de LP que
representan el filtro de síntesis de LP, una vez por cada unidad de
información. La unidad de información se divide además en bloques
más pequeños de N muestras (bloques de longitud N), en los que se
determinan los parámetros de excitación (separación de paso e
innovación). En la literatura CELP, estos bloques de longitud N se
denominan "sub-unidades de información", y las
señales de la muestra N en las sub-unidades de
información se mencionan como vectores N dimensionales. En esta
realización preferida, la longitud N corresponde a 5 ms, mientras
que la longitud L corresponde a 20 ms, lo que significa que una
unidad de información contiene cuatro sub-unidades
(N = 80 a la velocidad de muestreo de 16 kHz, y 64 tras un muestreo
descendente a 12,8 kHz). Se producen diversos vectores N
dimensionales en el procedimiento de codificación. En lo que sigue
se proporciona una lista de los vectores que aparecen en las
Figuras 1 y 2, así como también una lista de los parámetros
transmitidos:
- s
- Vector de voz de entrada de señal de banda ancha (tras el muestreo descendente, pre-procesamiento y pre-énfasis);
- s_{w}
- Vector de palabra ponderado;
- s_{0}
- Respuesta de entrada cero de filtro de síntesis ponderada;
- s_{p}
- Señal pre-procesada muestreada descendente;
- \hat{s}
- Señal de voz sintetizada sobremuestreada;
- s'
- Señal de síntesis con anterioridad a la atenuación;
- s_{d}
- Señal de síntesis atenuada;
- s_{h}
- Señal de síntesis tras la atenuación y el post-procesamiento;
- x
- Vector objetivo para búsqueda de separación de paso;
- x_{2}
- Vector objetivo para búsqueda de innovación;
- h
- Respuesta de impulso de filtro de síntesis ponderada;
- v_{T}
- Vector de código de cifrado y descifrado adaptativo (separación) a un retardo T_{i};
- y_{T}
- Vector de código de cifrado y descifrado de separación filtrado (v_{T} convolucionado con h);
- c_{k}
- Vector de código innovador de índice k (entrada kª del código de cifrado y descifrado de innovación);
- c_{f}
- Vector de código de innovación escalado incrementado;
- u
- Señal de excitación (vectores de código de innovación y de separación de paso escalados);
- u'
- Excitación incrementada;
- z
- Secuencia de ruido pasa banda;
- w'
- Secuencia de ruido blanco, y
- w
- Secuencia de ruido escalado.
- STP
- Parámetros de predicción a corto plazo (que define A(z));
- T
- Retraso de separación (o índice de código de cifrado y descifrado de separación de paso);
- b
- Ganancia de separación de paso (o ganancia de código de cifrado y descifrado de separación de paso);
- j
- índice del filtro pasa bajo utilizado en el vector de código de separación de paso;
- k
- Índice de vector de código (entrada de código de cifrado y descifrado de innovación), y
- g
- ganancia de código de cifrado y descifrado de innovación.
En esta realización preferida, los parámetros
STP son transmitidos una vez por unidad de información, y el resto
de los parámetros son transmitidos cada sub-unidad
(cuatro veces por unidad de información).
La señal de voz muestreada se codifica sobre la
base de bloque por bloque mediante el dispositivo de codificación
100 de la Figura 1, el cual se ha descompuesto en once módulos
numerados del 101 al 111.
La señal de voz de entrada, se procesa en los L
bloques de muestra mencionados anteriormente, denominados unidades
de información.
Con referencia a la Figura 1, la señal de voz
114 de entrada muestreada, se somete a muestreo descendente en un
módulo 101 de muestreo descendente. Por ejemplo, la señal se somete
a muestreo descendente desde 16 kHz a 12,8 kHz, utilizando técnicas
bien conocidas por los expertos en la materia. El descenso del
muestreo a otra frecuencia puede estar, por supuesto, previsto. El
muestreo descendente incrementa la eficacia de la codificación,
puesto que se codifica un ancho de banda de menor frecuencia. Esto
reduce también la complejidad algorítmica puesto que se reduce el
número de muestras de una unidad de información. El uso de muestreo
descendente resulta significativo cuando la velocidad de bit se
reduce por debajo de 16 kbit/s; el muestreo descendente no es
esencial por encima de 16 kbit/s.
Tras el muestreo descendente, la unidad de
información de 320 muestras de 20 ms, se reduce a una unidad de
información de 256 muestras (relación de muestreo descendente de
4/5).
La unidad de información de entrada, se
suministra a continuación al bloque 102 de
pre-procesamiento opcional. El bloque 102 de
pre-procesamiento puede consistir en un filtro pasa
alto con una frecuencia de corte de 50 Hz. El filtro pasa alto 102
elimina las componentes de sonido indeseadas por debajo de 50
Hz.
La señal pre-procesada sometida
a muestreo descendente, se indica mediante S_{p}(n), n = 0,
1, 2, ..., L-1, donde L es la longitud de la unidad
de información (256 a una frecuencia de muestreo de 12,8 kHz). En
una realización preferida, la señal s_{p}(n) se
pre-enfatiza utilizando un filtro de pre-énfasis 103
que tiene la siguiente función de transferencia:
P(z) =
1 - \mu
z^{-1}
donde \mu es un factor de
pre-énfasis con un valor comprendido entre 0 y 1 (un valor típico es
\mu = 0,7), y z representa la variable del polinomio P(z).
También se podría utilizar un filtro de orden más alto. Se debe
puntualizar que el filtro pasa alto 102 y el filtro de pre-énfasis
103 pueden ser intercambiados para obtener implementaciones de
punto doble más
eficientes.
\newpage
La función del filtro de pre-énfasis 103
consiste en aumentar el contenido de alta frecuencia de la señal de
entrada. También reduce la gama dinámica de la señal de voz de
entrada, lo que hace que sea más adecuada la implementación de
punto doble. Sin pre-énfasis, el análisis de LP en punto doble
utilizando aritmética de precisión simple, es difícil de
implementar.
La pre-énfasis juega también un importante papel
en la consecución de un ponderado perceptivo global apropiado del
error de cuantificación, lo que contribuye a mejorar la calidad de
sonido. Esto va a ser explicado con mayor detalle en lo que
sigue.
La salida del filtro 103 de pre-énfasis se ha
indicado como s(n). Esta señal se utiliza para realizar
análisis de LP en el módulo calculador 104. El análisis de LP es
una técnica bien conocida por los expertos en la materia. En esta
realización preferida, se utiliza la aproximación de
auto-correlación. En la aproximación de
auto-correlación, la señal s(n) se divide en
ventanas utilizando una ventana de Hamming (que tiene normalmente
una longitud del orden de 30-40 ms). Las
auto-correlaciones son calculadas a partir de la
señal con ventanas, y se utiliza recurrencia de
Levinson-Durbin para calcular los coeficientes de
filtro de LP, a_{j}, donde j = 1, ..., p, y donde p es el orden
de LP, el cual es típicamente 16 en codificación de banda ancha. Los
parámetros a_{i} son los coeficientes de la función de
transferencia del filtro de LP, la cual viene dada por la siguiente
relación:
A(z) =
1 + \sum\limits^{p}_{j=1}
a_{i}z^{-1}
El análisis de LP se realiza en el módulo
calculador 104, el cual realiza también la cuantificación y la
interpolación de los coeficientes de filtro de LP. Los coeficientes
de filtro de LP son transformados en primer lugar en otro dominio
equivalente más adecuado a efectos de cuantificación y de
interpolación. Los dominios de par espectral de línea (LSP) y de
par espectral de inmitancia (ISP), son dos dominios en los que se
puede realizar eficazmente la cuantificación y la interpolación.
Los 16 coeficientes de filtro de LP, a_{j}, pueden ser
cuantificados en un orden de 30 a 50 bits utilizando cuantificación
de partición o de multi-etapa, o una combinación de
las mismas. El propósito de la interpolación consiste en permitir la
actualización de los coeficientes de filtro de LP cada
sub-unidad mientras que los transmite una vez por
cada unidad de información, lo que mejora el comportamiento del
codificador sin incrementar la velocidad de bit. La cuantificación y
la interpolación de los coeficientes de filtro de LP, se estima que
son bien conocidos por los expertos en la materia, por lo que, en
consecuencia, no se van a describir con mayor detalle en la presente
descripción.
Los párrafos que siguen van a describir el resto
de las operaciones de codificación realizadas en base a una
sub-unidad de información. En la descripción que
sigue, el filtro A(z) indica el filtro de LP interpolado no
cuantificado de la sub-unidad de información, y el
filtro A(z) indica el filtro de LP interpolado cuantificado
de la sub-unidad de información.
En codificadores de análisis mediante síntesis,
los parámetros óptimos de separación de paso y de innovación se
buscan minimizando el error cuadrático medio entre la palabra de
entrada y la palabra sintetizada en un dominio perceptivamente
ponderado. Esto es equivalente a minimizar el error entre la palabra
de entrada ponderada y la palabra de síntesis ponderada.
La señal ponderada s_{w}(n) es una
computada en un filtro 105 de ponderación perceptiva.
Tradicionalmente, la señal ponderada s_{w}(n) es computada
mediante un filtro de ponderación que tiene una función de
transferencia W(z) en forma de
W(z) =
A(z/\gamma_{1})/A(z/\gamma_{2})
\hskip1cmdonde \ 0<\gamma_{2}<\gamma_{1}\leq1
Según conocen bien los expertos en la materia,
en los antiguos codificadores de análisis mediante síntesis (AbS),
el análisis muestra que el error de cuantificación es ponderado
mediante una función de transferencia W^{-1}(z), que es la
inversa de la función de transferencia del filtro 105 de ponderación
perceptiva. Este resultado ha sido bien descrito por B.S. Atal y
M.R. Schroeder en "Codificación predictiva de la palabra y
criterios de error subjetivos", IEEE Transaction ASSP, vol. 27,
núm. 3, pp. 247-254, Junio 1979. La función de
transferencia W^{-1}(z) presenta algo de la estructura
formante de la señal de voz de entrada. De ese modo, se aprovecha
la propiedad de enmascaramiento del oído humano mediante la
conformación del error de cuantificación de modo que tiene más
energía en las regiones formantes en las que será enmascarada por la
energía de señal intensa presente en esas regiones. La cantidad de
ponderación está controlada por los factores \gamma_{1} y
\gamma_{2}.
El filtro 105 tradicional de ponderación
perceptiva citado anteriormente, trabaja bien con señales de banda
telefónica. Sin embargo, se ha encontrado que este filtro 105
tradicional de ponderación perceptiva no es adecuado para una
ponderación perceptiva eficiente de las señales de banda ancha.
También se ha encontrado que el filtro 105 tradicional de
ponderación perceptiva tiene limitaciones inherentes en la
modelación de la estructura formante y de la desviación espectral
que se requiere habitualmente. La desviación espectral es más
pronunciada en señales de banda ancha debido a la amplia gama
dinámica entre las frecuencias altas y bajas. Para resolver este
problema, se ha sugerido añadir un filtro de desviación en
W(z) con el fin de controlar la desviación y la ponderación
formante de la señal de entrada de banda ancha, por separado.
Una solución mejor para este problema consiste
en introducir el filtro 103 de pre-énfasis en la entrada, computar
el filtro A(z) de LP en base a la palabra de pre-énfasis
s(n), y utilizar un filtro modificado W(z) mediante
la fijación de su denominador.
El análisis de LP se realiza en un módulo 104
sobre la señal s(n) de pre-énfasis, con el fin de obtener el
filtro A(z) de LP. También, se utiliza un nuevo filtro 105 de
ponderación perceptiva con denominador fijo. Un ejemplo de función
de transferencia para este filtro 104 de ponderación perceptiva
viene dado por la siguiente relación:
W(z) =
A(z/\gamma_{1})/(1-\gamma_{2}z^{-1})
\hskip1cmdonde \ 0<\gamma_{2}<\gamma_{1} \leq 1
Se puede utilizar un orden más alto en el
denominador. Esta estructura desacopla sustancialmente la
ponderación formante de la desviación.
Obsérvese que debido a que A(z) se
calcula en base a la señal s(n) de palabra
pre-enfatizada, la desviación del filtro
1/A(z/\gamma_{1}) es menos pronunciada en comparación con
el caso en que A(z) se calcula en base a la palabra
original. Puesto que la atenuación se realiza en el extremo del
decodificador utilizando un filtro que tiene la función de
transferencia:
P^{-1} =
1/(1-\muz^{-1}),
el espectro de error de
cuantificación se conforma mediante un filtro que tiene una función
de transferencia W^{-1}(z)P^{-1}(z).
Cuando se establece que \gamma_{1} es igual a \mu, lo que es
típicamente el caso, el espectro del error de cuantificación se
conforma mediante un filtro cuya función de transferencia es
1/A(z/\gamma_{1}), con A(z) calculada en base a
la señal de palabra pre-enfatizada. La escucha
subjetiva mostró que esta estructura conseguir la conformación del
error mediante una combinación de filtrado de pre-énfasis y de
ponderación modificada, es muy eficaz para las señales de
codificación de banda ancha, adicionalmente a las ventajas de
implementación algorítmica de punto
doble.
Con el fin de simplificar el análisis de
separación de paso, se estima en primer lugar un retraso de paso
T_{OL} de bucle abierto en el módulo 106 de búsqueda de paso de
bucle abierto, utilizando la señal s_{w}(n) de palabra
ponderada. El análisis de paso de bucle cerrado, que se realiza en
el módulo 107 de búsqueda de paso de bucle cerrado en base a una
sub-unidad, está restringido en torno al retraso de
paso T_{OL} de bucle abierto, lo que reduce significativamente la
complejidad de búsqueda de los parámetros T y b de la LTP (retraso
de paso y ganancia de paso). El análisis de paso de bucle abierto se
realiza normalmente en el módulo 106, una vez cada 10 ms (2
sub-unidades), utilizando técnicas bien conocidas
por los expertos en la materia.
El vector objetivo x para análisis de LTP
(Predicción a Largo Plazo), se calcula en primer lugar. Esto se
hace habitualmente restando la respuesta s_{0} de entrada cero del
filtro W(z)/Â(z) de síntesis ponderada, de la señal
s_{w}(n) de palabra ponderada. Esta respuesta s_{0} de
entrada se calcula mediante un calculador 108 de respuesta de
entrada cero. Más específicamente, el vector x objetivo se calcula
utilizando la siguiente relación:
x = s_{w} -
s_{0}
donde x es el vector objetivo de N
dimensiones, s_{w} es el vector de palabra ponderada en la
sub-unidad, y s_{0} es la respuesta de entrada
cero del filtro W(z)/Â(z) que es la salida del filtro
combinado W(z)/Â(z) debido a sus estados iniciales. El
calculador 108 de respuesta de entrada cero actúa en respuesta al
filtro Â(z)de LP interpolada cuantificada procedente del
calculador 104 de análisis, cuantificación e interpolación de LP, y
a los estados iniciales del filtro W(z)/Â(z) de síntesis
cuantificada almacenados en el módulo 111 de memoria para calcular
la respuesta s_{0} de entrada cero (aquella parte de la respuesta
debida a los estados iniciales según se determina haciendo que las
entradas sean iguales a cero) del filtro W(z)/Â(z). Esta
operación es bien conocida por los expertos en la materia y, por
consiguiente, no va a ser descrita con mayor
detalle.
Por supuesto, se pueden utilizar aproximaciones
alternativas pero matemáticamente equivalentes para calcular el
vector x objetivo.
Un vector h de respuesta impulsional de N
dimensiones del filtro W(z)/Â(z) de síntesis ponderada, se
calcula en el generador 109 de respuesta impulsional utilizando los
coeficientes A(z) y Â(z) de filtro de LP, en el módulo 104.
De nuevo, esta operación es bien conocida por los expertos en la
materia y, por consiguiente, no va a ser explicada con mayor
detalle en la presente descripción.
\newpage
Los parámetros b, T y j de paso de bucle cerrado
(o código de cifrado y descifrado de paso), se calculan en el
módulo 107 de búsqueda de paso de bucle cerrado, el cual utiliza el
vector x objetivo, el vector h de respuesta de impulso, y el
retardo T_{OL} de paso de bucle abierto, como entradas.
Tradicionalmente, la predicción de paso ha sido representada por un
filtro de paso que tiene la siguiente función de transferencia:
1/(1-bz^{-T})
donde b es la ganancia de paso y T
es el retardo o retraso de paso. En este caso, la contribución de
paso a la señal de excitación u(n) viene dada por
bu(n-T), donde la excitación total viene dada
por:
u(n) =
bu(n-T) +
gc_{k}(n)
siendo g la ganancia de código de
cifrado y descifrado innovador y c_{k}(n) el vector de
código innovador de índice
k.
Esta representación tiene limitaciones si el
retardo T de paso es más corto que la longitud N de
sub-unidad. En otra representación, se puede ver la
contribución de paso como un código de cifrado y descifrado de paso
que contiene la señal de excitación que ha pasado. En general, cada
vector del código de cifrado y descifrado de paso es una versión
que cambia en uno respecto al vector anterior (desechar una muestra
y añadir una nueva muestra). Para retardos de paso T>N, el
código de cifrado y descifrado de paso es equivalente a la
estructura de filtro (1/(1-bz^{-T}), y un vector
de código de cifrado y descifrado de paso v_{T}(n) en el
retardo de paso T viene dado por:
v_{T}(n) =
u(n-T),
\hskip1cmn = 0, ..., N-1
Para retardos de paso T más cortos que N, se
forma un vector v_{T}(n) mediante la repetición de las
muestras disponibles a partir de la última excitación hasta que el
vector está completo (esto no es equivalente a la estructura de
filtro).
En codificadores más recientes, se utiliza una
alta resolución de paso que mejora significativamente la calidad de
los segmentos de sonido de la voz. Esto se consigue mediante un
sobremuestreo de la excitación pasada utilizando filtros de
interpolación polifásicos. En este caso, el vector v_{T}(n)
corresponde normalmente a una versión interpolada de la excitación
pasada, siendo el retardo de paso T un retardo no entero (por
ejemplo, 50,25).
La búsqueda de paso consiste en encontrar el
mejor retardo de paso T y la ganancia b que minimicen el error E
ponderado cuadrático medio entre el vector x objetivo y la
excitación pasada filtrada escalada. El error E viene expresado
como:
E = \Arrowvert
x-by_{T} \Arrowvert
^{2}
donde y_{T} es el vector de
código de cifrado y descifrado de paso filtrado a retardo de paso
T:
y_{T}(n) =
v_{T}(n) \text{*}h(n) =
\sum\limits^{n}_{i=o}v_{T}(i)h(n-i),
\hskip1cmn = 0, ..., N-1
Se puede demostrar que el error E se minimiza
llevando al máximo el criterio de búsqueda:
C=
\frac{x^{t}y_{T}}{\sqrt{y^{t}_{T}y_{T}}}
donde t indica transposición de
vector.
En una realización preferida, se utiliza una
resolución de paso de sub-muestra de 1/3, y la
búsqueda de paso (código de cifrado y descifrado de paso) se
compone de tres etapas.
En la primera etapa, se estima un retardo
T_{OL} de paso de bucle abierto en el módulo 106 de búsqueda de
paso de bucle abierto, en respuesta a la señal s_{w}(n) de
palabra ponderada. Según se ha indicado en la descripción que
antecede, este análisis de paso de bucle abierto se realiza
normalmente una vez cada 10 ms (dos sub-unidades)
utilizando técnicas bien conocidas por los expertos en la
materia.
En la segunda etapa, e busca el criterio de
búsqueda C en el módulo 107 de búsqueda de paso de bucle cerrado
para retardos de paso enteros en torno al retardo T_{OL} de paso
de bucle abierto estimado (normalmente \pm5), lo que simplifica
significativamente el procedimiento de búsqueda. La descripción que
sigue propone un procedimiento simple para actualizar el vector de
código y_{T} filtrado sin necesidad de calcular la convolución
para cara retardo de paso.
Una vez que se ha encontrado el retardo de paso
entero óptimo en la segunda etapa, una tercera etapa de la búsqueda
(módulo 107) prueba las fracciones alrededor del retardo de paso
entero óptimo.
Cuando el predictor de paso está representado
por un filtro de forma 1/(1-bz^{-T}), el cual es
una suposición válida para retardos de paso T>N, el espectro del
filtro de paso de separación presenta una estructura armónica sobre
la totalidad de la gama de frecuencia, con una frecuencia armónica
relacionada con 1/T. En caso de señales de banda ancha, esta
estructura no es muy eficaz debido a que la estructura armónica en
las señales de banda ancha no cubre el espectro extendido completo.
La estructura armónica existe solamente hasta una cierta
frecuencia, dependiendo del segmento de palabra. De ese modo, con el
fin de conseguir una representación eficaz de la contribución de
paso en segmentos de voz de la palabra de banda ancha, el filtro de
predicción de paso necesita tener la flexibilidad de variar la
cantidad de periodicidad sobre el espectro de banda ancha.
Un método importante capacitado para conseguir
una modelación eficaz de la estructura armónica del espectro de
palabra de las señales de banda ancha, se va a describir en la
presente descripción, con lo que se aplican varias formas de
filtros pasabajo a la excitación pasada, y se selecciona el filtro
pasabajo con ganancia de predicción más alta.
Cuando se utiliza resolución de paso de
sub-muestra, los filtros pasabajo pueden estar
incorporados en los filtros de interpolación utilizados para
obtener la resolución de paso más alta. En este caso, la tercera
etapa de la búsqueda de paso, en la que se comprueban las fracciones
alrededor del retardo de paso entero elegido, se repite para varios
filtros de interpolación que tienen características pasabajo
diferentes, y se seleccionan la fracción y el índice de filtro que
optimizan el criterio C de búsqueda.
Una aproximación más simple consiste en
completar la búsqueda en las tres etapas descritas anteriormente
para determinar el retardo de paso fraccional óptimo con la
utilización de un solo filtro de interpolación con una cierta
respuesta de frecuencia, y seleccionar la configuración óptima de
filtro pasabajo al final mediante la aplicación de diferentes
filtros pasabajo predeterminados al vector v_{T} de código de
cifrado y descifrado de paso elegido, y seleccionar el filtro
pasabajo que minimiza el error de predicción de paso. La
aproximación se discute con mayor detalle en lo que sigue.
La Figura 3 ilustra un diagrama esquemático de
bloques de una realización preferida de la ultima aproximación
propuesta.
En el módulo de memoria 303, la pasada señal
u(n) de excitación, n<0, es almacenada. El módulo 301 de
búsqueda de código de cifrado y descifrado de paso actúa en
respuesta al vector x objetivo, al retardo T_{OL} de paso de
bucle abierto y a la pasada señal u(n) de excitación, n<0,
procedente del módulo 303 de memoria para conducir una búsqueda de
código de cifrado y descifrado de paso (código de cifrado y
descifrado) que minimice el criterio C de búsqueda que se ha
definido en lo que antecede. A partir del resultado de la búsqueda
realizada en el módulo 301, el módulo 302 genera el vector v_{T}
de código de cifrado y descifrado de paso óptimo. Obsérvese que,
puesto que se utiliza una resolución de paso de
sub-muestra (paso fraccional), la pasada señal de
excitación u(n), n<0, es interpolada y el vector v_{T}
de código de cifrado y descifrado de paso corresponde con la señal
de excitación pasada interpolada. En esta realización preferida, el
filtro de interpolación (en el módulo 301, aunque no se muestra),
tiene una característica de filtro pasabajo que elimina los
contenidos de frecuencia superiores a 7000 Hz.
En una realización preferida, se utilizan K
características de filtro; estas características de filtro podrían
ser características de filtro pasabajo y pasabanda. Una vez que se
ha determinado el vector de código v_{T} óptimo y se ha
suministrado mediante el generador 302 de vector de código de paso,
se calculan K versiones filtradas de v_{T} utilizando
respectivamente K filtros diferentes de configuración de frecuencia
tal como 305^{(j)}, donde j=1, 2, ..., K. Esas versiones
filtradas se han indicado como v_{f}^{(j)}, donde j=1, 2, ...,
K. Los diferentes vectores v_{f}^{(j)} son convolucionados en
módulos 304^{(j)} respectivos, donde j=0, 1, 2, ..., K, con la
respuesta impulsional h para obtener los vectores y^{(j)}, donde
j=0, 1, 2, ..., K. Para calcular el error de predicción cuadrático
medio para cada vector y^{(j)}, el valor y^{(j)} se multiplica
por la ganancia b por medio de un amplificador 307^{(j)}
correspondiente, y se resta el valor by^{(j)} del vector x
objetivo por medio de un sustractor 308^{(j)} correspondiente. El
selector 309 selecciona el filtro 305^{(j)} de configuración de
frecuencia que minimiza el error de predicción cuadrático medio:
e^{(j)} =
\Arrowvert x-b^{(j)}y^{(j)}\Arrowvert ^{2},
\hskip0.5cmj = 1, 2, ..., K
Para calcular el error e^{(j)} cuadrático
medio de predicción de paso para cada valor de y^{(j)}, el valor
y^{(j)} se multiplica por la ganancia b por medio de un
amplificador 307^{(j)} correspondiente, y el valor
b^{(j)}y^{(j)} se resta del vector x objetivo por medio del
sustractor 308^{(j)}. Cada ganancia b^{(j)} se calcula en un
calculador 306^{(j)} de ganancia correspondiente en asociación con
el filtro de configuración de frecuencia a índice j, utilizando la
siguiente relación:
b^{(j)} =
x^{t}y^{(j)}/ \Arrowvert y^{(j)}
\Arrowvert^{2}
En el selector 309, se eligen los parámetros b,
T y j en base a v_{T} o v_{f}^{(j)} que minimizan el error e
de predicción de paso cuadrático medio.
\newpage
Haciendo de nuevo referencia a la Figura 1, el
índice T de código de cifrado y descifrado de paso es codificado y
transmitido a un multiplexor 112. La ganancia b de paso es
cuantificada y transmitida al multiplexor 112. Con esta nueva
alternativa, se necesita información extra para codificar el índice
j del filtro de configuración de frecuencia seleccionado, en el
multiplexor 112. Por ejemplo, si se utilizan tres filtros (j=0, 1,
2, 3), entonces se necesitan dos bits para representar esta
información. La información j de índice de filtro puede ser
codificada juntamente con la ganancia b de paso.
Una vez que el paso, o los parámetros b, T y j
de la LTP (Predicción a Largo Plazo) han sido determinados, la
siguiente etapa consiste en buscar la excitación innovadora óptima
por medio del módulo 110 de búsqueda de la Figura 1. En primer
lugar, el vector x objetivo es actualizado mediante substracción de
la contribución LTP:
x_{2} = x -
by_{T}
donde b es la ganancia de paso y
y_{T} es el vector filtrado de código de cifrado y descifrado de
paso (la excitación anterior a retardo T filtrada con el filtro
pasabajo seleccionado y convolucionada con la respuesta impulsional
h según se describe con referencia a la Figura
3).
El procedimiento de búsqueda en CELP se realiza
hallando el vector de código c_{k} de excitación óptimo y la
ganancia g que minimizan el error cuadrático medio entre el vector
objetivo y el vector de código filtrado escalado:
E = \Arrowvert
x_{2} - gHc_{k} \Arrowvert
^{2}
donde H es una matriz de
convolución triangular inferior derivada del vector h de respuesta
impulsional.
Hay que apreciar que el código de cifrado y
descifrado de innovación utilizado es un código de cifrado y
descifrado dinámico de un código de cifrado y descifrado algebraico
seguido de un pre-filtro adaptativo F(z) que
aumenta los componentes espectrales especiales con el fin de
mejorar la calidad de la palabra de síntesis, de acuerdo con la
Patente US núm. 5.444.816. Se pueden utilizar diferentes métodos
para diseñar este pre-filtro. Aquí, se utiliza un
diseño relevante para señales de banda ancha en el que F(z)
consiste en dos partes: una parte
1/(1-0,85z^{-%}) de incremento de periodicidad, y
una parte inclinada (1 - \beta_{1}z^{-1}), donde T es la parte
entera del retardo de paso y \beta_{1} está relacionada con la
sonorización de la sub-unidad anterior y está
acotada por [0,0, 0,5]. Obsérvese que con anterioridad a la búsqueda
de código de cifrado y descifrado, la respuesta impulsional
h(n) debe incluir el pre-filtro F(z).
Es decir,
h(n)
\leftarrow h(n) + \beta
h(n-T)
Con preferencia, la búsqueda de código de
cifrado y descifrado innovador se realiza en el módulo 110 por medio
de un código de cifrado y descifrado algebraico según se describe
en las Patentes US núms. 5.444.816 (Adoul et al.) concedida
el 22 de Agosto de 1995; 5.699.482 concedida a Adoul et al.,
el 17 de Diciembre de 1997; 5.754.976 concedida a Adoul et
al., el 19 de Mayo de 1998, y 5.701.392 (Adoul et al.)
concedida el 23 de Diciembre de 1997.
Existen muchas formas de diseñar un código de
cifrado y descifrado algebraico. En la realización que se describe
en la presente, el código de cifrado y descifrado algebraico está
compuesto por vectores de código que tienen N_{p} pulsos p_{j}
de amplitud distinta de cero (o pulsos distintos de cero para
abreviar).
Llamemos m_{i} y \beta_{i} la posición y
la amplitud del pulso iº distinto de cero, respectivamente.
Supondremos que la amplitud \beta_{i} es conocida, ya sea
porque la amplitud de iº es fija o ya sea porque exista algún
método para seleccionar \beta_{i} con anterioridad a la búsqueda
de código de cifrado y descifrado. La preselección de las
amplitudes de pulso se realiza de acuerdo con el método que se
describe en la Patente US núm. 5.754.976 mencionada
anteriormente.
Denominemos "pista i", indicada como
T_{i}, el conjunto de posiciones p_{i} que el pulso iº distinto
de cero puede ocupar entre 0 y N-1. A continuación
se proporcionan algunos conjuntos típicos de pistas suponiendo
N=64.
Varios ejemplos de diseño han sido introducidos
en la Patente US núm. 5.444.816, y se conocen como "Interleaved
Single Pulse Permutations, Permutaciones de Pulso Simple
Interpolado" (ISPP). Estos ejemplos estuvieron basados en una
longitud de vector de código de N=40 muestras.
\newpage
Ahora proporcionamos nuevos ejemplos de diseño
basados en una longitud de vector de código de N=64, y en una
estructura de "Permutaciones de Pulso Simple Interpolado"
ISPP(64,4) que se definen en la Tabla 1.
Pista Núm. | Posiciones válidas de pulso en cada pista |
0 | 0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60 |
1 | 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 |
2 | 2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62 |
3 | 3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63 |
En el diseño ISPP(64,4), un conjunto de
64 posiciones se divide en cuatro pistas interpoladas de 60/4 = 16
posiciones válidas cada una. Se precisan cuatro bits para
especificar las 16 = 2^{4} posiciones válidas de un pulso dado
distinto de cero. Existen muchas formas de derivar una estructura de
código de cifrado y descifrado y este diseño de ISPP para albergar
requisitos particulares en términos de número de pulsos o bits de
codificación. Se pueden diseñar diversos códigos de cifrado y
descifrado en base a esta estructura variando el número de pulsos
distintos de cero que pueden ser colocados en cada pista.
Si se dispone un pulso simple, distinto de cero,
con signo, en cada pista, la posición del pulso se codifica con 4
bits y su signo (si consideramos que cada pulso distinto de cero
puede ser positivo o negativo) se codifica con 1 bit. Por lo tanto,
se requiere un total de 4 x (4 + 1) = 20 bits de codificación para
especificar posiciones y signos de pulsos para esta estructura de
código de cifrado y descifrado algebraico particular.
Si se disponen dos pulsos signados distintos de
cero en cada pista, las dos posiciones de pulso son codificadas con
8 bits y sus signos correspondientes pueden ser codificados
solamente con 1 bit aprovechando el ordenamiento de pulso (esto
será detallado más adelante en la presente descripción). Por lo
tanto, se requiere un total de 4x(4+4+1) = 36 bits de
codificación para posiciones y signos de pulso específicos para esta
estructura algebraica particular de código de cifrado y
descifrado.
Se pueden diseñar otras estructuras de código de
cifrado y descifrado mediante la colocación de 3, 4, 5 ó 6 pulsos
distintos de cero en cada pista. Los métodos para la codificación
eficiente de las posiciones y los signos de los pulsos en esas
estructuras, serán descritos posteriormente.
Además, se pueden diseñar otros códigos de
cifrado y descifrado mediante la colocación de un número desigual
de pulsos distintos de cero en diferentes pistas, o ignorando
ciertas pistas o juntando algunas pistas. Por ejemplo, un código de
cifrado y descifrado puede ser diseñado disponiendo 3 pulsos
distintos de cero en las pistas T_{0} y T_{2}, y dos pulsos
distintos de cero en las pistas T_{1} y T_{3} (13+9+13+9 =
código de cifrado y descifrado de 42 bits). Se pueden diseñar otros
códigos de cifrado y descifrado considerando la unión de las pistas
T_{2} y T_{3} y disponiendo pulsos distintos de cero en las
pistas T_{0}, T_{1} y T_{2}, T_{3}.
Como se puede apreciar, se pueden formar una
gran variedad de códigos de cifrado y descifrado entorno al tema
general de diseños de ISPP.
Aquí se van a considerar varios casos de
colocación de 1 a 6 códigos signados distintos de cero por pista, y
se describen métodos para una codificación eficaz conjunta de
posiciones y signos de pulso en una pista dada.
En primer lugar, vamos a dar ejemplos de
codificación de 1 pulso distinto de cero y de 2 pulsos distintos de
cero por pulso. La codificación de 1 pulso signado distinto de cero
por pista es directa, y la codificación de 2 pulsos signados
distintos de cero por pista se encuentra descrita en la literatura,
en el estándar EFR de codificación de palabra (Global System for
Mobile Communications, Sistema Global para Comunicaciones Móviles,
GSM 06.60, "Sistema de telecomunicaciones celulares digitales;
transcodificación de palabra de Velocidad Total Incrementada
(EFR)", Instituto Europeo de Normas de Telecomunicaciones,
1996).
Tras haber presentado un método para codificar 2
pulsos signados distintos de cero, se van a describir métodos para
una codificación eficaz de 3, 4, 5 y 6 pulsos signados distintos de
cero por pista.
En una pista de longitud K, un pulso distinto de
cero signado requiere un bit para el signo y log_{2}(K)
bits para la posición. Consideraremos aquí el caso especial de que
K=2^{M}, lo que significa que se necesitan M bits para codificar
la posición de pulso. Así, se necesita un total de M+1 bits para un
pulso signado distinto de cero en una pista de longitud K =
2^{M}. En esta realización preferida, el bit que representa el
signo (índice de signo), es establece en 0 si el pulso distinto de
cero es positivo, y en 1 si el pulso distinto de cero es negativo.
Por supuesto, la notación inversa puede ser también utilizada.
El índice de posición de un pulso en una pista
determinada, viene dado por la posición de pulso en la
sub-unidad, dividida (división entera) por la
separación de pulso en la pista. El índice de la pista se halla
mediante el resto de esta división entera. Tomando el ejemplo de
ISPP(64,4) de la Tabla 1, el tamaño de
sub-unidad es de 64 (0-63) y la
separación de pulso es 4. Un pulso en la posición 25 de la
sub-unidad, tiene un índice de posición de 25 DIV 4
= 6, y un índice de pista de 25 MOD 4 = 1, donde DIV indica división
entera y MOD indica el resto de la división. De forma similar, un
pulso en la posición 40 de la sub-unidad, tiene un
índice de posición de 10 y un índice de pista de 0.
El índice de un pulso signado distinto de cero
con un índice de posición p, y el índice de signo s, y en una pista
de longitud 2^{M}, viene dado por:
I_{1p} = p +
sx2^{M}.
Para el caso de que K = 16 (M = 4 bits), el
índice de 5 bits del pulso signado ha sido representado en la tabla
que sigue:
Signo | Posición | |||
s | b_{3} | b_{2} | b_{1} | b_{0} |
El procedimiento código_1pulso(p,s,M)
muestra cómo codificar un pulso con un índice de posición p y un
índice de signo s en una pista de longitud 2^{M}.
Procedimiento | código_1pulso(p,s,M) |
Comienzo | |
\hskip0.5cm I_{1p} = p + sx2^{M} | |
Fin |
Procedimiento 1: Codificar 1 pulso signado
distinto de cero en una pista de longitud K = 2^{M} utilizando
M+1 bits.
En el caso de dos pulsos distintos de cero por
pista con k = 2^{M} posiciones potenciales, cada pulso necesita 1
bit para el signo y M bits para la posición, lo que proporciona un
total de 2M+2 bits. Sin embargo, existe algo de redundancia debido
a poca importancia de la ordenación de pulso. Por ejemplo, colocar
el primer pulso en la posición p y el segundo pulso en la posición
q, es equivalente a colocar el primer pulso en la posición q y el
segundo pulso en la posición p. Se puede ahorrar un bit codificando
solamente un signo y deduciendo el segundo signo de la ordenación
de las posiciones en el índice. En esta realización preferida, el
índice viene dado por:
I_{2p} = p_{1}
+ p_{0}x2^{M} +
sx2^{2M}
donde s es el índice de signo del
pulso distinto de cero con un índice de posición
p_{0.}
En el codificador, si dos señales son iguales,
entonces se establece la posición más pequeña en p_{0} y la
posición más grande se establece en p_{1}. Por otra parte, si las
dos señales no son iguales, entonces la posición más grande se
establece en p_{0} y la posición más pequeña se establece en
p_{1}.
En el decodificador, el signo del pulso distinto
de cero en la posición p_{0} se encuentra fácilmente disponible.
El segundo signo se deduce de la ordenación de pulso. Si la posición
p_{1} es más pequeña que la posición p_{0}, entonces el signo
del pulso distinto de cero en la posición p_{1} es opuesto al
signo del pulso distinto de cero en la posición p_{0}. Si la
posición p es más grande que la posición p0_{0}, entonces el
signo del pulso distinto de cero en la posición p_{1} es el mismo
que el signo del pulso distinto de cero en la posición p_{0}.
\newpage
En esta realización preferida, el ordenamiento
de los bits en el índice se muestra a continuación. s corresponde
con el signo del pulso p_{0} distinto de cero.
Signo | Posición p_{0} | Posición p_{1} | ||||||
s | b_{3} | b_{3} | b_{2} | b_{0} | b_{3} | b_{2} | b_{1} | b_{0} |
El procedimiento para codificar dos pulsos
distintos de cero con índices de posición p_{0} y p_{1} y con
índices de signo \sigma_{1}, ha sido representado en la Figura
5. Esto se explica con mayor detalle en el Procedimiento 2 que
sigue.
Procedimiento \hskip3cm código 2_pulso([p_{0} p_{1}], [\sigma_{0}\sigma_{1}], M) | |
\hskip0.3cm Comienzo | |
\hskip0.8cm Si \sigma_{0} = \sigma_{1} (501 en la Figura 5) | |
\hskip1,2cm Si p_{0} \leq p_{1} (502) | |
\hskip1,5cm I_{2p} = p_{1}+p_{0}x2^{M} + \sigma_{0}x2^{M} (503-504) | |
\hskip1,2cm Si p_{0} \geq p_{1} (véase 502) | |
\hskip1,5cm I_{2p} = p0+p_{1}x2 + \sigma_{0}x2^{M} (505-504) | |
\hskip0.8cm Si \sigma_{0} \neq \sigma_{1} (501 en la Figura 5) | |
\hskip1,2cm Si p_{0} \leq p_{1} (506) | |
\hskip1,5cm I_{2p} = p_{0}+p_{1}x2^{M} + \sigma_{1}x2^{M} | |
\hskip1,2cm Si p_{0} \geq p_{1} (véase 506) | |
\hskip1,5cm I_{2p} = p_{1} + p_{0}x2^{M} + \sigma_{0}x2^{M} | |
\hskip0.3cm Fin |
Procedimiento 2: Codificación de 2 pulsos
signados distintos de cero en una pista de longitud K = 2^{M}
utilizando 2M+1 bits.
En caso de tres pulsos distintos de cero por
pista, se puede utilizar una lógica similar a la utilizada en el
caso de dos pulsos distintos de cero. Para una pista con 2^{M}
posiciones, se necesitan 3M+1 bits en vez de 3M+3 bits. Una forma
simple de indexar los pulsos distintos de cero, que se describe en
la presente descripción, consiste en dividir las posiciones de
pista en dos mitades (o secciones), e identificar una mitad que
contenga al menos dos pulsos distintos de cero. El número de
posiciones en cada sección es de K/2 = 2^{M}/2 =
2^{M-1}, lo que puede ser representado con
M-1 bits. Los dos pulsos distintos de cero en la
sección que contiene al menos dos pulsos distintos de cero, se
codifican con el procedimiento código_2pulso([p_{0}p_{1}],
[s_{0}s_{1}], M-1), que requiere
2(M-1)+1 bits, y el pulso restante que puede
estar en cualquier lugar de la pista (en cualquier sección) se
codifica con el procedimiento código_1pulso(p, s, M) que
requiere M+1 bits. Finalmente, el índice de la sección que contiene
los dos pulsos distintos de cero se codifica con 1 bit. De ese
modo, el número total de bits requeridos es de
2(M-1)+1 + M+1 + 1 = 3M+1.
Una forma simple de comprobar si dos pulsos
distintos de cero están situados en la misma mitad de la pista, se
realiza comprobando si el bit más significativo (MSB) de sus índices
de posición es igual para ambos. Esto puede hacerse simplemente
mediante la operación lógica de OR Exclusiva que da 0 si los MSB son
iguales, y 1 si no lo son. Obsérvese que MSB = 0 significa que la
posición pertenece a la mitad inferior de la pista (0 -
(K/2-1)) y MSB = 1 significa que pertenece a la
mitad superior (K/2 - (K-1)). Si los dos pulsos
pertenecen a la mitad superior, necesitan ser cambiados a la gama
(0 - (K/2-1)) con anterioridad a la codificación de
los mismos utilizando 2(M+1)+1 bits. Esto puede hacerse
enmascarando los M-1 bits menos significativos (LSB)
con una máscara consistente en M-1 unos (1s) (lo
que corresponde al número
2^{M-1}-1).
El procedimiento para codificar 3 pulsos en
índices de posición p_{0}, p_{1} y p_{2}, e índices de signo
\sigma_{0}, \sigma_{1} y \sigma_{2}, se describe en el
procedimiento que sigue.
Procedimiento
código_3pulso[(p_{0}p_{1}p_{2}],
[\sigma_{0}\sigma_{1}\sigma_{2}], M)
Comienzo
Si MSB(p_{0}) XOR MSB(p_{1}) =
0 (si las posiciones están en la misma mitad)
- p_{0} = p_{0} AND (2^{M-1}-1) (enmascarar los M-1 LSBs)
- p_{1} = p_{1} AND (2^{M-1}-1) (enmascarar los M-1 LSBs)
- I_{2p} = código_2pulso([p_{0}p_{1}], [\sigma_{0}\sigma_{1}], M-1)
- I_{1p} = código_1pulso(p_{2}, \sigma_{2}, M)
- I_{3p} = I_{2p} + MSB(p_{0})x2^{2M-1} + I_{1p}x2^{2M}
O bien si MSB(p_{0}) XOR
MSB(p_{2}) = 0
- p_{0} = p_{0} AND (2^{M-1}-1)
- p_{2} = p_{2} AND (2^{M-1}-1)
- I_{2p} = código_2pulso([p_{0}p_{2}], [\sigma_{0}\sigma_{2}], M-1)
- I_{1p} = código_1pulso(p_{1}, \sigma_{1}, M)
- I_{3p} = I_{2p} + MSB(p_{0})x2^{2M-1} + I_{1p}x2^{2M}
O bien (si las posiciones p_{1} y p_{2}
están en la misma mitad)
- p_{1} = p_{1} AND (2^{M-1}-1)
- p_{2} = p_{2} AND (2^{M-1}-1)
- I_{2p} = código_2pulso([p_{1}p_{2}], [\sigma_{1}\sigma_{2}], M-1)
- I_{1p} = código_1pulso(p_{0}, \sigma_{0}, M)
- I_{3p} = I_{2p} + MSB(p_{1})x2^{2M-1} + I_{1p}x2^{2M}
Fin
Procedimiento 3: Codificación de 3 pulsos
signados en una pista de longitud K = 2^{M} utilizando 3M+1
bits.
La tabla que sigue muestra la distribución de
los bits en el índice de 13 bits de acuerdo con esta realización
preferida para el caso de M=4 (K=16).
Signo | Posición del 3º | Índice | 2 pulsos en la sección k | |||||||||
pulso | de | |||||||||||
Sección | ||||||||||||
s_{0} | p_{0} | p_{1} | ||||||||||
s | b_{3} | b_{3} | b_{2} | b_{0} | k | s | b_{2} | b_{1} | b_{0} | b_{2} | b_{1} | b_{0} |
Los 4 pulsos signados distintos de cero en una
pista de longitud K=2^{M}, pueden ser codificados utilizando 4M
bits.
De forma similar al caso de 3 pulsos, las K
posiciones de la pista se dividen en 2 secciones (2 mitades), donde
cada sección contiene K/2 posiciones de pulso. Aquí hemos indicado
las secciones como Sección A con posiciones 0 a
K/2-1 y Sección B con posiciones K/2 a
K-1. Cada sección puede contener de 0 a 4 pulsos
distintos de cero. La tabla que sigue muestra los 5 casos que
representan el número de pulsos posible en cada una de las
secciones:
\newpage
Caso | Pulsos en la Sección A | Pulsos en la Sección B | Bits necesarios |
0 | 0 | 4 | 4M-3 |
1 | 1 | 3 | 4M-2 |
2 | 2 | 2 | 4M-2 |
3 | 3 | 1 | 4M-2 |
4 | 4 | 0 | 4M-3 |
En los casos 0 ó 4, los 4 pulsos en una sección
de longitud K/2 = 2^{M-1} pueden ser codificados
utilizando 4(M-1)+1 = 4M-3
bits (esto se explicará más adelante).
En los casos 1 ó 3, el pulso en una sección de
longitud K/2 = 2^{M-1} puede ser codificado con
M-1+1 = M bits, y los 3 pulsos de la otra sección
pueden ser codificados con 3(M-1)+1 =
3M-2 bits. Esto da un total de
M+3M-2 = 4M-2 bits.
En el caso 2, los pulsos en una sección de
longitud K/2 = 2^{M-1} pueden ser codificados con
2(M-1)+1 = 2M-1 bits. Así,
para ambas secciones, se necesitan 2(2M-1) =
4M-2 bits.
Ahora, el índice de caso puede ser codificado
con 2 bits (4 casos posibles) suponiendo que los casos 0 y 4 están
combinados. Entonces, para los casos 1, 2 ó 3, el número de bits
necesarios es de 4M-2. Esto da un total de
4M-2 + 2 = 4M bits. Para los casos 0 ó 4, se
necesita 1 bit para identificar cualquiera de los casos, y se
necesitan 4M-3 bits para codificar los 4 pulsos de
la sección. Con la adición de los 2 bits necesarios para el caso
general, esto da un total de 1+4M-3+2 = 4M bits.
De este modo, como puede verse a partir de la
descripción que antecede, los 4 pulsos pueden ser codificados con
un total de 4M bits.
El procedimiento de codificación de 4 pulsos
signados distintos de cero en una pista de longitud K=2^{M}
utilizando 4M bits, está representado en el Procedimiento 4 que
sigue.
Las tablas siguientes muestran la distribución
de bits en el índice para los diferentes casos descritos en lo que
antecede de acuerdo con la realización preferida en la que M = 4 (K
= 16). Codificar 4 pulsos con signo por pista requiere 16 bits en
este caso.
Casos 0 ó 4
Caso Global | Caso 0 ó 4 | 4 pulsos en Sección A o B |
2 | 1 | 13 |
Casos 1
Caso global | 1 pulso en Sección A | 3 pulsos en Sección B |
2 | 1+3 = 4 | 1+3 + 1 + 1+2+2 = 10 |
Casos 2
Caso global | 2 pulsos en Sección A | 2 pulsos en Sección B |
2 | 1+3+3 = 7 | 1+3+3 = 7 |
Casos 3
Caso global | 3 pulsos en Sección A | 1 pulso en Sección B |
2 | 1+3 + 1 + 1+2+2 = 10 | 1+3 = 4 |
\vskip1.000000\baselineskip
Procedimiento 4: Codificación de 4 pulsos
distintos de cero con signo, en una pista de longitud K=2^{M}
utilizando 4M bits.
Obsérvese que para los casos 0 ó 1, donde los 4
pulsos distintos de cero están en la misma sección, se necesitan
4(M-1)+1 = 4M-3 bits. Esto se
hace utilizando un método simple de codificación de 4 pulsos
distintos de cero en una Sección de longitud K/2 =
2^{M-1} bits. Esto se hace dividendo además la
sección en dos sub-secciones de longitud k/4 =
2^{M-2}; identificando una
sub-sección que contiene al menos 2 pulsos distintos
de cero; codificando los 2 pulsos distintos de cero en esa
sub-sección utilizando
2(M-2)+1 = 2M-3 bits;
codificando el índice de la sub-sección que
contiene al menos 2 pulsos distintos de cero utilizando 1 bit; y
codificando los 2 pulsos restantes distintos de cero, suponiendo
que éstos están en cualquier parte de la sección, utilizando
2(M-1)+1 = 2M-1 bits. Esto da
un total de (2M-3) + (1) + (2M-1) =
4M-3 bits.
La codificación de 4 pulsos signados distintos
de cero en una Sección de longitud K/2 = 2^{M-1}
utilizando 4M-3 bits se muestra en el Procedimiento
4_Sección.
\vskip1.000000\baselineskip
Procedimiento 4_Sección: Codificación de 4
pulsos signados en una Sección de longitud K/2 =
2^{M-1} utilizando 4M-3 bits.
Los 5 pulsos con signo, distintos de cero, en
una pista de longitud K=2^{M}, pueden ser codificados utilizando
5M bits.
De manera similar al caso de 4 pulsos distintos
de cero, las K posiciones de la pista se dividen en 2 secciones
(dos mitades), de las que cada sección contiene K/2 posiciones. Aquí
indicamos las secciones como Sección A con las posiciones 0 a
K/2-1, y Sección B con las posiciones K/2 a
K-1. Cada sección puede contener de 0 a 5 pulsos.
La tabla que sigue muestra los 6 casos que representan el número
posible de pulsos en cada una de las secciones:
Caso | Pulsos en la Sección A | Pulsos en la Sección B | Bits necesarios |
0 | 0 | 5 | 5M-1 |
1 | 1 | 4 | 5M-1 |
2 | 2 | 3 | 5M-1 |
3 | 3 | 2 | 5M-1 |
4 | 4 | 1 | 5M-1 |
5 | 5 | 0 | 5M-1 |
En los casos 0, 1 y 2, existen al menos 3 pulsos
distintos de cero en la Sección B. Por otra parte, en los casos 3,
4 y 5, existen al menos 3 pulsos en la Sección A. De ese modo, una
alternativa simple para codificar los 5 pulsos distintos de cero
consiste en codificar los 3 pulsos distintos de cero en la misma
sección utilizando el Procedimiento 3, que requiere
3(M-1)+1 = 3M-2 bits, y
codificar los 2 pulsos restantes utilizando el Procedimiento 2, que
requiere 2M+1 bits. Esto da 5M-1 bits. Se necesita
un bit extra para identificar la sección que contiene al menos 3
pulsos distintos de cero (casos (0, 1, 2) o casos (3, 4, 5)). De ese
modo, se necesita un total de 5M bits para codificar los 5 pulsos
con signos distintos de cero.
El procedimiento de codificación de 5 pulsos
signados en una pista de longitud K=2^{M} utilizando 5M bits, se
muestra en el Procedimiento 5 que sigue.
Las dos tablas siguientes muestran la
distribución de bits en el índice para los diferentes casos
descritos en lo que antecede de acuerdo con la realización
preferida, donde M = 4 (K = 16). La codificación de 5 pulsos
signados distintos de cero por pista requiere 20 bits en este
caso.
\vskip1.000000\baselineskip
Casos 0, 1 y 2
Identificador de Sección | Mínimo de 3 pulsos en la Sección B | Los otros 2 pulsos restantes en la pista |
1 | 1+3 + 1 + 1+2+2 = 10 | 1+4+4 = 9 |
\vskip1.000000\baselineskip
Casos 3, 4 y 5
Identificador de Sección | Mínimo de 3 pulsos en la Sección A | Los otros 2 pulsos restantes en la pista |
1 | 1+3 + 1 + 1+2+2 = 10 | 1+4+4 = 9 |
Procedimiento 5: Codificación de 5 pulsos
signados en una pista de longitud K=2^{M} utilizando 5M bits.
Los 6 pulsos con signo en una pista de longitud
K=2^{M} se codifican en esta realización preferida con utilizando
6M-2 bits.
De forma similar al caso de 5 pulsos, las K
posiciones en la pista se dividen en 2 secciones (dos mitades)
donde cada sección contiene K/2 posiciones. Aquí indicamos las
secciones como Sección A con posiciones 0 a K/2-1,
y Sección B con posiciones K/2 a K-1. Cada sección
puede contener de 0 a 6 pulsos. La tabla que sigue muestra los 7
casos que representan el número de pulsos posible en cada una de las
secciones:
\newpage
Caso | Pulsos en la Sección A | Pulsos en la Sección B | Bits necesarios |
0 | 0 | 6 | 6M-5 |
1 | 1 | 5 | 6M-5 |
2 | 2 | 4 | 6M-5 |
3 | 3 | 3 | 6M-5 |
4 | 4 | 2 | 6M-5 |
5 | 5 | 1 | 6M-5 |
6 | 6 | 0 | 6M-5 |
Obsérvese que los casos 0 y 6 son similares
salvo en que los 6 pulsos distintos de cero están en secciones
diferentes. De forma similar, la diferencia entre los casos 1 y 5,
así como también los casos 2 y 4, es la sección que contiene más
pulsos. Por lo tanto, estos casos pueden ser acoplados y se puede
asignar un bit extra para identificar la sección que contiene más
pulsos. Puesto que estos casos necesitan inicialmente
6M-5 bits, los casos acoplados necesitan
6M-4 bits teniendo en cuenta el bit de Sección.
Así, tenemos ahora 4 estados de casos acoplados,
necesitándose 2 bits extra para el estado. Esto da un total de
6M-4+2 = 6M-2 bits para los 6 pulsos
signados distintos de cero. Los casos acoplados se muestran en la
tabla que sigue.
Casos acoplados | Pulsos en la Sección A o B | Pulsos en la otra Sección | Bits necesarios |
0, 6 | 0 | 6 | 6M-4 |
1, 5 | 1 | 5 | 6M-4 |
6M-42, 4 | 2 | 4 | 6M-4 |
3 | 3 | 3 | 6M-4 |
En los casos 0 ó 6, se necesita 1 bit para
identificar la sección que contiene 6 pulsos distintos de cero. 5
pulsos distintos de cero de esa sección, se codifican utilizando el
Procedimiento 5 que necesita 5(M-1) bits
(puesto que los pulsos están confinados en esa sección), y el pulso
restante se codifica utilizando el Procedimiento 1, que requiere
1+(M-1) bits. De ese modo, se necesita un total de
1+5(M-1)+M = 6M-4 bits para
estos casos acoplados. Se necesitan 2 bits extra para codificar el
estado del caso acoplado, lo que da un total de
6M-2 bits.
En los casos 1 ó 5, se necesita 1 bit para
identificar la sección que contiene 5 pulsos. Los 5 pulsos de esa
sección se codifican utilizando el Procedimiento 5 que necesita
5(M-1) bits, y el pulso de la otra sección
se codifica utilizando el Procedimiento 1, que requiere
1+(M-1) bits. De ese modo, se necesita un total de
1+5(M-1)+M = 6M-4 bits para
estos casos acoplados. Se necesitan 2 bits extra para codificar el
estado de los casos acoplados, lo que da un total de
6M-2 bits.
En los casos 2 ó 4, se necesita 1 bit para
identificar la sección que contiene 4 pulsos distintos de cero. Los
4 pulsos de esa sección se codifican utilizando el Procedimiento 4
que necesita 4(M-1) bits y los 2 pulsos de
la otra sección se codifican utilizando el Procedimiento 2, que
requiere (1+2(M-1) bits. De ese modo, se
necesita un total de
1+4(M-1)+1+2(M-1) =
6M-4 para estos casos acoplados. Se necesitan 2 bits
extra para codificar el estado del caso, lo que da un total de
6M-2 bits.
En el caso 3, los 3 pulsos distintos de cero de
cada sección se codifican utilizando el Procedimiento 3 que
requiere 3(M-1)+1 bits en cada Sección. Esto
da 6M-4 bits para ambas secciones. Se necesitan 2
bits extra para codificar el estado del caso, lo que da un total de
6M-2 bits.
El procedimiento de codificación de 6 pulsos
signados distintos de cero en una pista de longitud K=2^{M}
utilizando 6M-2 bits, se muestra en el procedimiento
6 que sigue.
Las 2 tablas siguientes muestran la distribución
de bits en el índice para los diferentes casos descritos en lo que
antecede de acuerdo con la realización preferida, donde M=4 (K=16).
La codificación de 6 pulsos con signo distintos de cero por pista,
requiere 22 bits en este caso.
Casos 0 y 6
Estado de caso acoplado | Identificador de Sección de | 5 pulsos en la sección | Otro pulso en la sección |
6 pulsos | |||
2 | 1 | 5(4-1) = 15 | 1+3 = 4 |
Casos 1 y 5
Estado de caso acoplado | Identificador de Sección de | 5 pulsos en la sección | Otro pulso en la sección |
5 pulsos | |||
2 | 1 | 5(4-1) = 15 | 1+3 = 4 |
Casos 2 y 4
Estado de caso acoplado | Identificador de Sección de | 4 pulsos en la sección | Otro pulso en la sección |
4 pulsos | |||
2 | 1 | 4(4-1) = 12 | 1+3+3 = 7 |
Caso 3
Estado de caso acoplado | 3 pulsos en la Sección A | 3 pulsos en la Sección B |
2 | 3(4-1)+1 = 10 | 3(4-1)+1 = 10 |
Procedimiento 6: Codificación de 6 pulsos
signados en una pista de longitud K=2^{M} utilizando
6M-2 bits.
Aquí, se presentan diferentes ejemplos de diseño
de código de cifrado y descifrado en base al diseño de
ISPP(64,4) explicado en lo que antecede. El tamaño de pista
es K=16, requiriendo M=4 bits por pista. Los diferentes ejemplos de
diseño se obtienen cambiando el número de pulsos distintos de cero
por pista. A continuación se describen 8 diseños posibles. Otras
estructuras de códigos de cifrado y descifrado pueden ser obtenidas
fácilmente eligiendo diferentes combinaciones de pulsos distintos
de cero por pista.
Diseño 1: 1 pulso por pista (código de
cifrado y descifrado de 20 bits)
En este ejemplo, cada pulso distinto de cero
requiere (4+1) bits (procedimiento 1), lo que da un total de 20
bits para los 4 pulsos en las 4 pistas.
Diseño 2: 2 pulsos por pista (código de
cifrado y descifrado de 36 bits)
En este ejemplo, los dos pulsos distintos de
cero de cada pista requieren (4+4+1) = 9 bits (Procedimiento 2), lo
que da un total de 36 bits para los 8 pulsos distintos de cero en
las 4 pistas.
Diseño 3: 3 pulsos por pista (código de
cifrado y descifrado de 52 bits)
En este ejemplo, los 3 pulsos distintos de cero
en cada pista requieren (3x4+1) = 13 bits (Procedimiento 3), lo que
da un total de 52 bits para los 12 pulsos distintos de cero en las 4
pistas.
Diseño 4: 4 pulsos por pista (código de
cifrado y descifrado de 64 bits)
En este ejemplo, los 4 pulsos distintos de cero
en cada pista requieren (4x4) = 16 bits (Procedimiento 4) lo que da
un total de 64 bits para los 16 pulsos en las 4 pistas.
Diseño 5: 5 pulsos por pista (código de
cifrado y descifrado de 80 bits)
En este ejemplo, los 5 pulsos distintos de cero
de cada pista requieren (5x4) = 20 bits (Procedimiento 5), lo que
da un total de 80 bits para los 20 pulsos distintos de cero en las 4
pistas.
Diseño 6: 6 pulsos por pista (código de
cifrado y descifrado de 88 bits)
En este ejemplo, los 6 pulsos distintos de cero
de cada pista requieren (6x4-2) = 22 bits
(Procedimiento 6), lo que da un total de 88 bits para los 24 pulsos
distintos de cero en las 4 pistas.
Diseño 7: 3 pulsos en las pistas T_{0} y
T_{2}, y 2 pulsos en las pistas T_{1} y T_{3} (código de
cifrado y descifrado de 44 bits)
En este ejemplo, las pistas T_{0} y T_{2} de
3 pulsos distintos de cero requieren (3x4+1) = 13 bits
(Procedimiento 3) por pista, y los 2 pulsos distintos de cero en
las pistas T_{1} y T_{3} requieren (1+4+4) = 9 bits
(Procedimiento 2) por pista. Esto da un total de (13+9+13+9) = 44
bits para los 10 pulsos distintos de cero en las 4 pistas.
Diseño 8: 5 pulsos en las pistas T_{0} y
T_{2} y 4 pulsos en las pistas T_{1} y T_{3} (código de
cifrado y descifrado de 72 bits)
En este ejemplo, las pistas T_{0} y T_{2} de
5 pulsos distintos de cero requieren (5x4) = 20 bits (Procedimiento
5) por pista y los 4 pulsos de las pistas T_{1} y T_{3}
requieren (4x4) = 16 bits (Procedimiento 4) por pista. Esto da un
total de (20+16+20+16) = 72 bits para los 18 pulsos distintos de
cero en las 4 pistas.
En esta realización preferida, se utiliza un
método especial para realizar una búsqueda de primera intensidad,
descrito en la patente US 5.701.392, con lo que las necesidades de
memoria para almacenar los elementos de la matriz H'H (la cual se
va a definir posteriormente), se reducen significativamente. Esta
matriz contiene las auto-correlaciones de la
respuesta impulsional h(n) y se necesita para realizar el
procedimiento de búsqueda. En esta realización preferida, solamente
se calcula y se almacena una parte de esta matriz, y la otra parte
se calcula en-línea dentro del procedimiento de
búsqueda.
El código algebraico de cifrado y descifrado se
busca hallando el vector de código c_{k} de excitación óptima y
la ganancia g que minimiza el error cuadrático medio entre el vector
objetivo y el vector de código filtrado escalado:
E = \Arrowvert
x_{2} -
gHc_{k}\Arrowvert^{2}
donde H es una matriz de
convolución triangular inferior derivada del vector h de respuesta
impulsional. La matriz H se define como la matriz de convolución de
Toeplitz triangular inferior con diagonal h(0) y diagonales
inferiores h(1), ...,
h(N-1).
Se puede demostrar que el error E ponderado
cuadrático medio puede ser minimizado optimizando el criterio de
búsqueda:
Q_{k} =
\frac{(x^{t}_{2}Hc_{k})^{2}}{c^{t}_{k}H^{t}Hc_{k}} =
\frac{(d^{t}c_{k})^{2}}{c^{t}_{k}\phi c_{k}} =
\frac{(R_{k})^{2}}{E_{k}}
donde d = H'x_{2} es la
correlación entre la señal objetivo x_{2}(n) y la respuesta
impulsional h(n) (también conocida como el vector objetivo
filtrado inverso), y \Phi = H'H es la matriz de correlaciones de
h(n).
Los elementos del vector d se calculan
mediante:
d(n) =
\sum\limits^{N-1}_{i=n}x_{2}(i)h(i-n),
\hskip0.5cmn=0, ..., N-1
y los elementos de la matriz
simétrica \Phi se calculan
mediante:
\phi(i,j) =
\sum\limits^{N-1}_{n=j}h(n-i)h(n-j),
\hskip0.5cmi=0, ..., N-1,
\hskip0.5cmj=0, ..., N-1
El vector d y la matriz \Phi pueden ser
calculados con anterioridad a la búsqueda de código de cifrado y
descifrado.
La estructura algebraica de los códigos de
cifrado y descifrado permite procedimientos de búsqueda muy rápidos
debido a que el vector de innovación c_{k} solamente contiene unos
pocos pulsos distintos de cero. La correlación en el numerador del
criterio de búsqueda Q_{k} viene dada por:
R =
\sum\limits^{N_{p}-1}_{i=0}\beta
_{i}d(m_{i})
donde m_{i} es la posición del
pulso iº, \beta_{i} es su amplitud, y n_{p} es el número de
pulsos. La energía en el denominador del criterio de búsqueda
Q_{k} viene dada
por:
E =
\sum\limits^{N_{p}-1}_{i=0}\phi(m_{i},m_{i})
\hskip0.5cm+
\hskip0.5cm2\sum\limits^{N_{p}-2}_{i=0} \ \sum\limits^{N_{p}-1}_{j=i+1}\beta_{i}\beta_{j}\phi(m_{i},m_{j})
Para simplificar el procedimiento de búsqueda,
las amplitudes de pulso son determinadas previamente mediante
cuantificación de una cierta señal b(n) de referencia. Se
pueden utilizar diversos métodos para definir esta señal de
referencia. En la realización preferida, b(n) viene dada
por:
b(n) =
\sqrt{\frac{E_{d}}{E_{r}}}r_{LTP}(n)+\alpha
d(n)
donde E_{d} = d'd es la energía
de la señal d(n) y E_{r} = r'_{LTP}r_{LTP} es la
energía de la señal r_{LTP}(n), que es la señal residual
tras una predicción a largo plazo. El factor escalar a controla la
cantidad de dependencia de la señal de referencia sobre
d(n).
En la alternativa de amplitud de pulso
seleccionada de señal que se describe en la Patente US 5.754.976, el
signo de un pulso en la posición i se establece de modo que es
igual al signo de la señal de referencia en esa posición. Para
simplificar la búsqueda, la señal d(n) y la matriz \Phi se
modifican para que incorporen los signos preseleccionados.
Indiquemos con s_{b}(n) el vector que
contiene los signos de b(n). La señal d'(n) modificada viene
dada por:
d'(n) =
s_{b}(n)d(n),
\hskip0.5cmn = 0, ..., N-1
y la matriz F' de correlación
modificada viene dada
por:
\phi'(i,j) =
s_{b}(i)s_{b}(j)\phi(i,j),
\hskip0.5cmi=0,...,N-1;
\hskip0.5cmj=i,...,N-1
La correlación en el numerador del criterio de
búsqueda Q_{k} viene ahora da por:
R =
\sum\limits^{N_{p}-1}_{i=0}d'(i)
\newpage
y la energía en el denominador del
criterio de búsqueda Q_{k} viene dada
por:
E =
\sum\limits^{N_{p}-1}_{i=0}\phi '(m_{i},m_{j})
\hskip0.5cm+
\hskip0.5cm2 \sum\limits^{N_{p}-2}_{i=0} \ \sum\limits^{N_{p}-1}_{j=1+1}\phi '(m_{i},m_{j})
El objetivo de la búsqueda consiste ahora en
determinar el vector de código con el mejor conjunto de posiciones
de pulso N_{p} suponiendo que las amplitudes de pulso han sido
seleccionadas como se ha descrito en lo que antecede. El criterio
de selección básico consiste en la optimización de la relación
Q_{k} mencionada anteriormente.
De acuerdo con la Patente US 5.701.392, con el
fin de reducir la complejidad de la búsqueda, las posiciones de
pulso se determinan para N_{m} pulsos a la vez. De manera más
precisa, los pulsos N_{p} disponibles se dividen en M
sub-conjuntos no vacíos de N_{m} pulsos
respectivamente, de tal modo que: N_{1} + N_{2} ... + N_{m}
... + N_{M} = N_{p}. Una elección particular de las posiciones
para los primeros J = N_{1} + N_{2} ... +
N_{m-1} pulsos considerados, se denomina
trayectoria de nivel m, o trayectoria de longitud J. Un criterio
básico para una trayectoria de J posiciones de pulso, consiste en la
relación Q_{k}(J) cuando solamente se consideran J pulsos
relevantes.
La búsqueda comienza con el subconjunto #1 y
continúa con los sub-conjuntos que siguen de acuerdo
con una estructura de árbol en la que se busca el
sub-conjunto m en el nivel mº del árbol.
El propósito de la búsqueda a nivel 1 consiste
en considerar los N_{1} pulsos del sub-conjunto #1
y sus posiciones válidas con el fin de determinar una, o un número
de, trayectoria(s) candidata(s) de longitud N_{1}
que estén en los nodos del árbol a nivel 1.
La trayectoria en cada nodo terminal de nivel
m-1 se extiende a una longitud N_{1} + N_{2} ...
+ N_{m} a nivel m, considerando N_{m} nuevos pulsos y sus
posiciones válidas. Se determina una, o un número de,
trayectoria(s) candidata(s) extendida(s), para
constituir nodos de nivel m.
El mejor vector de código corresponde a la
trayectoria de longitud N_{p} que optimiza un criterio dado, por
ejemplo el criterio Q_{k}(N_{p}) con respecto a todos los
nodos de nivel M.
En la realización preferida, se consideran
siempre 2 pulsos a la vez en el procedimiento de búsqueda, es decir,
N_{m} = 2. Sin embargo, en vez de suponer que la matriz \Phi ha
sido pre-calculada y almacenada, lo que requiere
una memoria de NxN palabras (64x64 = 4k palabras en esta realización
preferida), se utiliza una alternativa eficaz de memoria que reduce
considerablemente la necesidad de memoria. En esta nueva
alternativa, el procedimiento de búsqueda se realiza de tal modo
que sólo se pre-calculan y almacenan una parte de
los elementos necesarios de la matriz de correlación. Esta parte
está relacionada con las correlaciones de la respuesta impulsional
correspondiente a las posiciones potenciales de pulso en pistas
consecutivas, así como también con las correlaciones
correspondientes a \phi(jj), j = 0, ...,
N-1 (es decir, los elementos de la diagonal
principal de la matriz \Phi).
Como ejemplo de ahorro de memoria, en esta
realización preferida, el tamaño de la sub-unidad de
información es de N=64, lo que significa que la matriz de
correlación es de un tamaño de 64x64 = 4096. Puesto que la búsqueda
de pulsos se realiza dos pulsos a la vez en pistas consecutivas, en
especial las pistas T_{0}-T_{1},
T_{1}-T_{2}, T_{2}-T_{3}, o
T_{3}-T_{0}, los elementos de correlación
necesarios son los correspondientes a pulsos en pistas adyacentes.
Puesto que cada una de las pistas contiene 16 posiciones
potenciales, existen 16x16 = 256 elementos de correlación
correspondientes a dos pistas adyacentes. De ese modo, con la
alternativa de eficacia de memoria, los elementos necesarios son
4x256 = 1024 para las cuatro posibilidades de pistas adyacentes
(T_{0}-T_{1}, T_{1}-T_{2},
T_{2}-T_{3} y T_{3}-T_{0}).
Adicionalmente, se necesitan 64 correlaciones en la diagonal de la
matriz. Lo que da una necesidad de almacenaje de 1088 en vez de
4096
palabras.
palabras.
Una forma especial del procedimiento de búsqueda
de árbol de primera intensidad, se utiliza en esta realización
preferida, en la que se buscan dos pulsos en dos pistas consecutivas
a la vez. Con el fin de reducir la complejidad, se comprueba un
número limitado de posiciones potenciales del primer pulso. Además,
para códigos algebraicos de cifrado y descifrado con un gran número
de pulsos, algunos pulsos de los niveles más altos del árbol de
búsqueda pueden ser fijados.
Con el fin de adivinar inteligentemente qué
posiciones de pulso son consideradas para el primer pulso o con el
fin de fijar algunas posiciones de pulso, se utiliza un "vector b
de estimación de probabilidad de posición de pulso", el cual
está basado en señales relacionadas con la palabra. La componente
b(p) del pº de este vector b estimado, caracteriza la
posibilidad de que un pulso ocupe la posición p (p = 0, 1, ...,
N-1) en el mejor vector de código que
estamos
buscando.
buscando.
Para una pista dada, el vector b estimado indica
la probabilidad relativa de cada posición válida. Esta propiedad
puede ser utilizada ventajosamente como criterio de selección en los
cinco primeros niveles de la estructura de árbol en lugar del
criterio Q_{k}(j) de selección básica que en cualquier
caso, en los cinco primeros niveles, opera sobre demasiados pocos
pulsos como para proporcionar un comportamiento fiable en la
selección de posiciones válidas.
\newpage
En esta realización preferida, el vector b
estimado es la misma señal de referencia utilizada en la
pre-selección de las amplitudes de pulso que se ha
descrito anteriormente. Es decir,
b(n) =
\sqrt{\frac{E_{d}}{E_{r}}}r_{LTP}(n)+\alpha
d(n)
donde E_{d} = d'd es la energía
de la señal d(n), y E_{r} = r'_{LTP}r_{LTP} es la
energía de la señal r_{LTP}(n) que es la señal residual
tras una predicción a largo
plazo.
Una vez que se han elegido el vector de código
c_{k} de excitación óptima y su ganancia g mediante el módulo
110, se codifican el índice k de vector de código y la ganancia g, y
se transmiten al multiplexor 112.
Con referencia a la Figura 1, los parámetros b,
T, j, Â(z), k y g, han sido multiplexados mediante el multiplexor
112 con anterioridad a ser transmitidos a través de un canal de
comunicación.
En el módulo 111 de memoria (Figura 1), se
actualizan los estados del filtro W(z)/Â(z) de síntesis
ponderada, mediante filtrado de la señal de excitación u = gc_{k}
+ bv_{T} a través del filtro de síntesis ponderada. Después de
este filtrado, los estados del filtro se memorizan y se utilizan en
la siguiente sub-unidad de información como estados
iniciales para calcular la respuesta de entrada cero en el módulo
calculador 108.
Como en el caso del vector x objetivo, otras
aproximaciones alternativas pero matemáticamente equivalentes, bien
conocidas por los expertos en la materia, pueden ser utilizadas para
actualizar los estados de filtro.
El dispositivo 200 de decodificación de palabra
de la Figura 2 ilustra las diversas etapas llevadas a cabo entre la
entrada digital 222 (flujo de datos de entrada hasta el
desmultiplexor 217), y la palabra 223 muestreada de salida
(s_{salida} desde el sumador 221).
El desmultiplexor 217 extrae los parámetros del
modelo de síntesis a partir de la información binaria recibida
desde un canal de entrada digital. A partir de cada unidad de
información binaria recibida, los parámetros extraídos son:
- -
- los parámetros Â(z) de predicción a corto plazo (STP) por la línea 225 (una vez por unidad de información);
- -
- los parámetros T, b y j de predicción a largo plazo (LTP) (para cada sub-unidad de información), y
- -
- el índice k y la ganancia g de código de cifrado y descifrado de innovación (para cada sub-unidad de información).
La señal actual de palabra se sintetiza en base
a esos parámetros como se va a explicar en lo que sigue.
El código 218 de cifrado y descifrado innovador
actúa en respuesta al índice k para producir el vector de código
c_{k} innovador, el cual es escalado por la ganancia g
decodificada a través de un amplificador 224. En la realización
preferida, se utiliza un código 218 de cifrado y descifrado
innovador como el descrito en las Patentes US núms. 5.444.816,
5.699.482, 5.754.976 y 5.701.392, para representar el vector de
código c_{k} innovador.
El vector de código escalado gc_{k} escalado
generado a la salida del amplificador 224, es procesado a través de
un filtro de innovación 205.
El vector de código escalado gc_{k} generado a
la salida del amplificador 224, es también procesado mediante un
incrementador de paso dependiente de la frecuencia, en particular el
filtro de innovación 205.
El incremento de la periodicidad de la señal de
excitación u mejora la calidad en caso de segmentos sonoros. Esto
se ha hecho en el pasado filtrando el vector de innovación
procedente del código 218 de cifrado y descifrado innovador (código
de cifrado y descifrado fijo) mediante un filtro de la forma
1/(1-\varepsilonbz^{-T}) donde e es un factor
por debajo de 0,5 que controla la cantidad de periodicidad
introducida. Esta alternativa es menos eficaz en caso de señales de
banda ancha debido a que introduce periodicidad sobre el espectro
completo. Se describe una nueva aproximación alternativa, que forma
parte de la invención, con la que se consigue un aumento de
periodicidad filtrando el vector de código c_{k} a partir del
vector de código innovador (fijo) mediante un filtro de innovación
205 (F(z)) cuya respuesta de frecuencia enfatiza las
frecuentas más altas en mayor medida que las frecuencias más bajas.
Los coeficientes de F(z) están relacionados con la cantidad
de periodicidad en la señal u de excitación.
\newpage
Se encuentran disponibles muchos métodos
conocidos por los expertos en la materia para obtener coeficientes
de periodicidad válidos. Por ejemplo, el valor de la ganancia b
proporciona una indicación de la periodicidad. Es decir, si la
ganancia b es próxima a 1, la periodicidad de la señal u de
excitación es alta, y si la ganancia b es menor de 0,5 entonces la
periodicidad es baja.
Otra forma eficaz de derivar los coeficientes de
filtro F(z) consiste en relacionarlos con la cantidad de
contribución de paso en la señal u de excitación total. Esto da como
resultado una respuesta de frecuencia que depende de la
periodicidad de la sub-unidad de información, donde
las frecuencias más altas son enfatizadas más intensamente
(pendiente global más fuerte) para ganancias de paso más altas. El
filtro de innovación 205 tiene el efecto de rebajar la energía del
vector de código c_{k} innovador a frecuencias bajas cuando la
señal de excitación u es más periódica, lo que aumenta la
periodicidad de la señal de excitación u a frecuencias más bajas
que a frecuencias más altas. Algunas formas sugeridas para el filtro
de innovación 205 son:
(1)F(z)
= 1 - \sigma
z^{-1},
o
(2)F(z)
= -\alpha z + 1 - \alpha z^{-1}
donde \sigma o \alpha son
factores de periodicidad derivados del nivel de periodicidad de la
señal de excitación
u.
La segunda forma de F(z) con tres
términos, se utiliza en una realización preferida. El factor de
periodicidad \alpha se calcula en el generador 204 de factor de
sonorización. Se pueden utilizar varios métodos para derivar el
factor de periodicidad a en base a la periodicidad de la señal de
excitación u. A continuación se presentan dos métodos.
Método
1
La relación de contribución de paso respecto a
la señal u de excitación total, se calcula en primer lugar en el
generador 204 de factor de sonorización mediante:
R_{p} =
\frac{b^{2}v^{t}_{T}v_{T}}{u^{t}u} =
\frac{b^{2}\sum\limits^{N-1}_{n=0}v^{2}_{T}(n)}{\sum\limits^{N-1}_{n=0}u^{2}(n)}
en la que v_{T} es el vector de
cifrado y descifrado de paso, b es la ganancia de paso, y u es la
señal de excitación u dada a la salida del sumador 219
por:
u = gc_{k} +
bv_{T}
Obsérvese que el término bv_{T} tiene su
fuente en el código 201 de cifrado y descifrado de paso (código de
cifrado y descifrado de paso) en respuesta al retardo T de paso y al
valor anterior de u almacenado en la memoria 203. El vector de
código v_{T} de paso procedente del código de cifrado y descifrado
201 se procesa a continuación mediante un filtro 202 pasabajo cuya
frecuencia de corte se ajusta mediante el índice j desde el
desmultiplexor 217. El vector de código v_{T} resultante se
multiplica después por la ganancia b procedente del desmultiplexor
217, por medio de un amplificador 226 para obtener la señal
bv_{T}.
El factor \alpha se calcula en el generador
204 de factor de sonorización mediante:
\alpha =
qR_{p}
\hskip0.5cmacotado por \alpha < q
donde q es un factor que controla
la cantidad de incremento (q se establece en 0,25 en esta
realización
preferida).
Método
2
A continuación se discute otro método para
calcular el factor de periodicidad \alpha.
En primer lugar, se calcula un factor r_{v} de
sonorización en el generador 204 de generador de sonorización
mediante:
r_{v} =
(E_{v}-E_{c}) \ / \
(E_{v}+E_{c})
donde E_{v} es la energía del
vector de código bv_{T} de paso escalado, y E_{c} es la energía
del vector de código gc_{k} innovador escalado. Es
decir:
E_{v} =
b^{2}v_{T}{}^{1}v_{T} =
b^{2}\sum\limits^{N-1}_{n=0}v_{T}{}^{2}(n)
y
E_{c} =
g^{2}c_{kt}c_{k} =
g^{2}\sum\limits^{N-1}_{n=0}c_{k}{}^{2}(n)
Obsérvese que el valor de r_{v} está
comprendido entre -1 y 1 (1 corresponde a señales puramente de voz,
y -1 corresponde a señales puramente insonoras).
En esta realización preferida, el factor
\alpha es calculado a continuación en el generador 204 de factor
de sonorización mediante:
\alpha =
0,125(1 +
r_{v})
lo que corresponde a un valor 0
para señales puramente insonoras y a 0,25 para señales puramente de
voz.
En la primera forma, de dos términos, de
F(z), el factor de periodicidad s puede ser aproximado
utilizando \sigma = 2\alpha en los métodos 1 y 2 que anteceden.
En tal caso, el factor de periodicidad s se calcula como sigue en
el método 1 anterior:
\sigma =
2qR_{p}
\hskip0.5cmacotado por \sigma < 2q.
En el método 2, el factor de periodicidad sse
calcula como sigue:
\sigma =
0,25(1 +
r_{v}).
La señal incrementada c_{r} se calcula por
tanto filtrando el vector de código gc_{k} innovador escalado
mediante el filtro de innovación 205 (F(z)).
La señal u' de excitación incrementada se
calcula mediante el sumador como:
u' = c_{f} +
bv_{T}
Obsérvese que este proceso no se realiza en el
codificador 100. Así, es esencial actualizar el contenido del
código 201 de cifrado y descifrado de paso, utilizando la señal de
excitación u sin incremento para mantener el sincronismo entre el
codificador 100 y el decodificador 200. Por lo tanto, la señal de
excitación u se utiliza para actualizar la memoria 203 del código
201 de cifrado y descifrado de paso, y la señal u' de excitación
incrementa se utiliza a la entrada del filtro 206 de síntesis de
LP.
La señal s' sintetizada se calcula filtrando la
señal u' de excitación incrementada mediante el filtro 206 de
síntesis de LP que tiene la forma 1/Â(z), donde Â(z) es el filtro de
LP interpolado en la sub-unidad de información
actual. Según puede verse en la Figura 2, los coeficientes Â(z) de
LP cuantificados en la línea 225 procedente del desmultiplexor 217,
son suministrados al filtro 206 de síntesis de LP para ajustar los
parámetros del filtro de síntesis 206 de forma correspondiente. El
filtro 207 de desénfasis es la inversa del filtro 103 de
pre-énfasis de la Figura 1. La función de transferencia del filtro
207 de desénfasis viene dada por:
D(z) =
1/(1 - \mu
z^{-1})
donde \mu es un factor de
pre-énfasis con un valor comprendido entre 0 y 1 (un valor típico es
el de \mu = 0,7). También se podría utilizar un filtro de orden
más
alto.
El vector s' se filtra mediante el filtro de
desénfasis D(Z) (módulo 207) para obtener el vector s_{d},
el cual se hace pasar a través del filtro pasaalto 208 para eliminar
las frecuencias indeseadas por debajo de 50 Hz y obtener
además s_{h}.
además s_{h}.
\newpage
El módulo 209 de sobremuestreo realiza el
proceso inverso al módulo 101 de muestreo descendente de la Figura
1. En esta realización preferida, el sobremuestreo convierte la
velocidad de muestreo de 12,8 kHz en la velocidad de muestreo
original de 16 kHz, utilizando técnicas bien conocidas por los
expertos en la materia. La señal de síntesis sobremuestreada se ha
indicado como \hat{S}. La señal \hat{S} se menciona también como
señal intermedia de banda ancha sintetizada.
La señal \hat{S} de síntesis sobremuestreada
no contiene las componentes de frecuencia más lata que se perdieron
en el proceso de muestreo descendente (módulo 101 de la Figura 1) en
el codificador 100. Esto proporciona una percepción pasabajo a la
señal de palabra sintetizada. Para restablecer la banda completa de
la señal original, se describe un procedimiento de generación de
alta frecuencia. Este procedimiento se lleva a cabo en los módulos
210 a 216, y en el sumador 221, y requiere una entrada procedente
del generador 204 de factor de sonorización (Figura 2).
En esta nueva aproximación, los contenidos de
lata frecuencia son generados rellenando la parte superior del
espectro con un ruido blando escalado apropiadamente en el dominio
de excitación, convertido a continuación al dominio de la palabra,
con preferencia conformándolo con el mismo filtro de síntesis de LP
utilizado para sintetizar la señal \hat{S}
sub-muestreada.
El procedimiento de generación de alta
frecuencia de acuerdo con la presente invención, va a ser descrito
en lo que sigue.
El generador 213 de ruido aleatorio, genera una
secuencia w' de ruido blanco con un espectro plano sobre la
totalidad del ancho de banda de la frecuencia, utilizando técnicas
bien conocidas por los expertos en la materia. La secuencia
generada es de longitud N',la cual es la longitud de
sub-unidad de información en el dominio original.
obsérvese que N es la longitud de la sub-unidad de
información en el dominio de muestreo descendente. En esta
realización preferida, N=64 y N'=80, lo que corresponde a 5 ms.
La secuencia de ruido blanco es escalada
apropiadamente en el módulo 214 de ajuste de ganancia. El ajuste de
ganancia comprende las siguientes etapas. En primer lugar, la
energía de la secuencia w' de ruido generado se establece de modo
que sea igual a la energía de la señal u' de excitación incrementada
mediante un módulo 210 de cálculo de energía, y la secuencia de
ruido escalado resultante viene dada por:
w(n) =
w'(n)
\sqrt{\frac{\sum\limits^{N-1}_{n=0}u^{t^{2}}(n)}{\sum\limits^{N'-1}_{n=0}w^{t^{2}}(n)}}
\hskip0.5cmn = 0, ..., N’-1
La segunda etapa en el escalado de ganancia,
consiste en tener en cuenta el contenido de alta frecuencia de la
señal sintetizada a la salida del generador 204 de factor de
sonorización en caso de segmentos sonoros (donde se encuentra
presente menos energía en frecuencias latas en comparación con los
segmentos insonoros). Con preferencia, la medición del contenido de
alta frecuencia se implementa midiendo la desviación de la señal de
síntesis a través del calculador 212 de desviación espectral, y
reduciendo la energía de forma correspondiente. Se pueden utilizar
igualmente otras mediciones tales como las mediciones de cruce por
cero. Cuando la desviación es muy fuerte, lo que corresponde a
segmentos sonoros, la energía de ruido se reduce más. El factor de
desviación se calcula en el módulo 212 como el primer coeficiente
de correlación de la señal de síntesis s_{h}, y viene dado
por:
desviación =
\frac{\sum\limits^{N-1}_{n=1}s_{h}(n)s_{h}(n-1)}{\sum\limits^{N-1}_{n=1}s^{2}{}_{h}(n)}
\hskip0.5cmcondicionada por:
\hskip0.5cmdesviación \geq 0 y desviación \geq r_{v}
donde el factor de sonorización
r_{v} viene dado
por:
r_{v} =
(E_{v}-E_{c}) /
(E_{v}+E_{c})
donde E_{v} es la energía del
vector de código bv_{T} escalado y E_{c} es la energía del
vector de código gc_{k} innovador escalado, según se ha descrito
anteriormente. El factor de sonorización r_{v} es, con mayor
frecuencia, menor que la desviación, pero esta condición fue
introducida como precaución contra los tonos de alta frecuencia
donde el valor de la desviación es negativo y el valor de r_{v} es
alto. Por lo tanto, esta condición reduce la energía de ruido de
tales señales
tonales.
El valor de desviación es 0 en caso de espectro
plano, y 1 en caso de señales de voz intensamente sonoras, y es
negativo en caso de señales insonoras en las que se encuentra
presente más energía a frecuencias altas.
\newpage
Se pueden utilizar diferentes métodos para
derivar el factor de escalado g_{t} a partir de los contenidos de
alta frecuencia. En esta invención, se proporcionan dos métodos
basados en la desviación de señal que se ha descrito en lo que
antecede.
Método
1
El factor escalar g_{t} se deriva de la
desviación mediante:
g_{t} = 1 -
desviación
\hskip0.5cmacotado \ por
\hskip0.5cm0,2 \leq g_{t} \leq 1,0
Para una señal intensamente sonora en la que la
desviación se aproxima a 1, el valor de g_{t} es de 0,2, y para
señales intensamente sonoras g_{t} se hace 1,0.
Método
2
El factor de desviación g_{t} se restringe en
primer lugar de modo que sea mayor que, o igual a, cero, en cuyo
caso el factor escalar se deriva de la desviación mediante:
g_{t} =
10^{-0,6desviación}
La secuencia w_{g} de ruido escalado producida
en el módulo 214 de ajuste de ganancia, viene dada por tanto
como:
w_{g} =
g_{t}w'
Cuando la desviación está próxima a cero, el
factor escalar g_{t} está próximo a 1, lo que no da como resultado
una reducción de energía. Cuando el valor de inclinación es 1, el
factor escalar g_{t} da como resultado una reducción de 12 dB en
la energía del ruido generado.
Una vez que el ruido ha sido escalado
apropiadamente (w_{g}), se lleva al dominio de la palabra
utilizando el configurador espectral 215. En la realización
preferida, esto se consigue filtrando el ruido w_{g} a través de
una versión expandida de ancho de banda del mismo filtro de síntesis
de LP utilizado en el dominio de muestreo descendente (1/Â(z/0,8)).
Los coeficientes correspondientes de filtro de LP expandido de ancho
de banda, se calculan en el configurador espectral 215.
La secuencia w_{f} de ruido escalado filtrado
se filtra entonces en pasabanda en la gama de frecuencia requerida
para ser restaurada utilizando el filtro 216 pasabanda. En la
realización preferida, el filtro 216 pasabanda limita la secuencia
de ruido a la gama de frecuencia de 5,6 - 7,2 kHz. La secuencia z
resultante de ruido filtrado pasabanda, se añade en el sumador 221
a la señal \hat{S} de palabra sintetizada sobremuestreada con el
fin de obtener la señal s_{salida} de sonido reconstruida en la
salida 223.
Claims (62)
1. Un método de indexación de posiciones y
amplitudes de pulso en un código algebraico de cifrado y descifrado
para una codificación y una decodificación eficientes de una señal
de sonido, en el que:
- -
- el código de cifrado y descifrado comprende un conjunto de combinaciones de amplitud/posición de pulso;
- -
- cada combinación de amplitud/posición de pulso define un número de posiciones diferentes y comprende tanto pulsos de amplitud cero como pulsos de amplitud distinta de cero, asignados a posiciones respectivas de la combinación, y
- -
- cada pulso de amplitud distinta de cero asume una de la pluralidad de amplitudes posibles, y
en el que dicho procedimiento de indexación
comprende:
- -
- formar un conjunto de al menos una pista de dichas posiciones de pulso, en la que la posición de cada pulso de amplitud distinta de cero de cada combinación de amplitud/posición de pulso está restringida a una pista de dicho conjunto;
- -
- indexar, de acuerdo con un primer procedimiento, mencionado en lo que sigue como procedimiento 1, la posición y la amplitud de un pulso de amplitud distinta de cero solamente cuando la posición de dicho pulso de amplitud distinta de cero se localice en una pista de dicho conjunto;
- -
- indexar, de acuerdo con un segundo procedimiento, mencionado en lo que sigue como procedimiento 2, las posiciones y amplitudes de dos pulsos distintos de cero solamente cuando las posiciones de dichos dos pulsos de amplitud distinta de cero estén localizadas en una pista de dicho conjunto, y
- -
- cuando las posiciones de un número X de pulsos de amplitud distinta de cero se localicen en una pista de dicho conjunto, en la que X\geq3:
- -
- dividir las posiciones de dicha pista en dos secciones;
- -
- utilizar otro procedimiento asociado a dicho número X, mencionado en lo que sigue como procedimiento X, para indexar las posiciones y amplitudes de dichos X pulsos de amplitud distinta de cero, comprendiendo dicho procedimiento X:
- -
- identificar en cuál de las dos secciones de pista se localiza cada pulso de amplitud distinta de cero;
- -
- calcular sub-índices de dichos X pulsos de amplitud distinta de cero utilizando los procedimientos 1 y 2 en al menos una de las citadas secciones de pista y en la pista completa, y
- -
- calcular un índice de "posición y amplitud" de dichos X pulsos de amplitud distinta de cero mediante la combinación de dichos sub-índices.
2. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1,
que comprende interpolar las posiciones de pulso de cada pista con
las posiciones de pulso de las otras pistas.
3. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que el cálculo de un índice de posición y amplitud de dichos X
pulsos de amplitud distinta de cero comprende:
- calcular al menos un índice intermedio por combinación de al menos dos de dichos sub-índices, y
- calcular el índice de posición y amplitud de dichos X pulsos de amplitud distinta de cero por combinación de los restantes subíndices y de dicho al menos un índice intermedio.
4. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que dicho procedimiento 1 comprende producir un índice de
posición y amplitud que incluya un índice de posición indicativo de
la posición de dicho pulso de amplitud distinta de cero en la citada
pista, y un índice de amplitud indicativo de la amplitud de dicho
pulso de amplitud distinta de cero.
5. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 4, en
el que el índice de posición comprende un primer grupo de bits, y el
índice de amplitud comprende al menos un bit.
6. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 5, en
el que dicho al menos un bit del índice de amplitud es un bit de
orden más alto.
7. Un método de indexación de posiciones y
amplitudes de pulo según se ha definido en la reivindicación 5, en
el que dicha pluralidad de amplitudes posibles de cada pulso de
amplitud distinta de cero comprende +1 y -1, y en el que dicho al
menos un bit del índice de amplitud es un bit de signo.
8. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que:
- dicha pluralidad de amplitudes posibles de cada pulso de amplitud distinta de cero comprende +1 y -1, y
- el procedimiento 1 comprende producir un índice de posición y amplitud de dicho pulso de amplitud distinta de cero que tiene la forma:
I_{1p} = p +
sx2^{M}
- en la que p es un índice de posición de dicho pulso de amplitud distinta de cero en dicha pista, s es un índice de signo de dicho pulso de amplitud distinta de cero, y 2^{M} es el número de posiciones en dicha pista.
9. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 8, en
el que el número de posiciones en dicha pista es de 16, y en el que
el índice de posición y amplitud es un índice de 5 bits
representado por la siguiente tabla:
10. Un método de indexación de posiciones y
amplitudes de pulso según de ha definido en la reivindicación 1, en
el que dicho procedimiento 2 comprende producir un índice de
posición y amplitud que comprende:
- primer y segundo índices de posición, indicativos respectivamente de las posiciones de los dos pulsos de amplitud distinta de cero en dicha pista, y
- un índice de amplitud indicativo de las amplitudes de dichos dos pulsos de amplitud distinta de cero.
11. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 10,
en el que, en el índice de posición y amplitud:
- el índice de amplitud comprende al menos un bit;
- el primer índice de posición comprende un grupo de bits, y
- el segundo índice de posición comprende un segundo grupo de bits.
12. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 11,
en el que, en el índice de posición y amplitud:
- dicho al menos un bit del índice de amplitud es un bit de orden más alto;
- los bits del primer grupo son bits de orden intermedio, y
- los bits del segundo grupo son bits de orden más bajo.
13. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 11,
en el que dicha pluralidad de amplitudes posibles de cada pulso de
amplitud distinta de cero comprende +1 y -1, en el que dicho al
menos un bit del índice de amplitud es un bit de signo.
14. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 10,
en el que el procedimiento 2 comprende:
cuando dichos dos pulsos tienen la misma
amplitud, generar un índice de amplitud indicativo de la amplitud
del pulso distinto de cero cuya posición está indicada por el primer
índice de posición, generar un primer índice de posición indicativo
de la posición más pequeña de los dos pulsos de amplitud distinta de
cero en la citada pista, y producir un segundo índice de posición
indicativo de la posición más grande de los dos pulsos de amplitud
distinta de cero en dicha pista, y
\newpage
cuando dichos dos pulsos tienen amplitudes
diferentes, producir un índice de amplitud indicativo de la amplitud
del pulso de amplitud distinta de cero cuya posición está indicada
por el primer índice de posición, producir un primer índice de
posición indicativo de la posición más grande de los dos pulsos de
amplitud distinta de cero en dicha pista, y producir un segundo
índice de posición indicativo de la posición más pequeña de los dos
pulsos de amplitud distinta de cero en dicha pista.
15. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que procedimiento 2 comprende, cuando la posición de un primer
pulso de amplitud distinta de cero con índice de posición p_{0} e
índice de signo \sigma_{0}, y la posición de un segundo pulso de
amplitud distinta de cero con índice de posición p_{1} e índice
de signo \sigma_{1}, están localizadas en una pista de dicho
conjunto, producir un índice de posición y amplitud de dichos primer
y segundo pulsos de amplitud distinta de cero, de forma:
16. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 15,
en el que el número de posiciones en dicha pista es de 16, y en el
que el índice de posición y amplitud es un índice de 9 bits
representado en la siguiente tabla:
17. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que, cuando X=3,
dividir las posiciones de dicha pista en dos
secciones comprende dividir las posiciones de dicha pista en
secciones de pista superior e inferior, y
el procedimiento 3 comprende:
- identificar una de las secciones de pista superior e inferior, que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en dicha sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero utilizando el procedimiento 1 aplicado a las posiciones de la citada pista completa, y
- producir un índice de posición y amplitud de los tres pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices.
18. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 17,
en el que:
calcular un primer sub-índice de dichos al menos
dos pulsos de amplitud distinta de cero situados en dicha sección
de pista utilizando el procedimiento 2 comprende, cuando las
posiciones de dichos al menos dos pulsos de amplitud distinta de
cero están localizados en la sección superior, cambiar las
posiciones de dichos al menos dos pulsos de amplitud distinta de
cero desde la sección superior hasta la sección inferior.
19. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 18,
en el que cambiar las posiciones de dichos al menos dos pulsos de
amplitud distinta de cero desde la sección superior hasta la
sección inferior comprende enmascarar un número de bits menos
significativos de los índices de posición dichos al menos dos
pulsos de amplitud distinta de cero, con una más cara que consiste
en dicho número de unos (1's).
20. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 17,
en el que calcular un primer sub-índice de dichos al menos dos
pulsos de amplitud distinta de cero localizados en la citada
sección de pista, utilizando el procedimiento 2, comprende insertar
un índice de sección que indica aquella de dichas secciones
superior e inferior de pista en la que se encuentran localizados
dichos al menos dos pulsos de amplitud distinta de cero.
21. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 17,
en el que el número de posiciones de dicha pista es 16, y en el que
el índice de posición y amplitud es un índice de 13 bits
representado en la siguiente tabla:
22. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 1, en
el que:
dicho procedimiento 1 comprende producir un
índice de posición y amplitud que incluye un índice de posición
indicativo de la posición de dicho pulso de amplitud distinta de
cero en la citada pista, y un índice de amplitud indicativo de la
amplitud de dicho pulso de amplitud distinta de cero, en el que el
índice de posición comprende un primer grupo de bits, y el índice
de posición comprende al menos un bit;
dicho procedimiento 2 comprende producir un
índice de posición y amplitud que incluye un primer y un segundo
índices de posición indicativos respectivamente de las posiciones de
los dos pulsos de amplitud distinta de cero en la citada pista, y
un índice de amplitud indicativo de las amplitudes de dichos dos
pulsos de amplitud distinta de cero, en el que el índice de
amplitud comprende al menos un bit, el primer índice de posición
comprende un primer grupo de bits, y el segundo índice de posición
comprende un segundo grupo de bits;
cuando X=3:
- dividir las posiciones de dicha pista en dos secciones comprende dividir las posiciones de dicha pista en secciones de pista superior e inferior, y
- el procedimiento 3 comprende:
- identificar una de las secciones de pista superior e inferior que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en dicha sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero, utilizando el procedimiento 1 aplicado a las posiciones de dicha pista completa, y
- producir un índice de posición y amplitud de los tres pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices.
23. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 22,
en el que, cuando X=4:
dividir las posiciones de dicha pista en dos
secciones comprende dividir las posiciones de dicha pista en
secciones de pista superior e inferior, y
\newpage
el procedimiento 4 comprende:
- cuando la sección superior de pista contiene
las posiciones de los cuatro pulsos de amplitud distinta de
cero:
- dividir además la sección de pista en sub-secciones de pista superior e inferior;
- identificar una de las sub-secciones de pista superior e inferior que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero en dicha sub-sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sub-sección de pista;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero, utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de la sección superior de pista, y
- producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección inferior de pista contiene
la posición de un pulso de amplitud distinta de cero y la sección
superior de pista contiene las posiciones de los otros tres pulsos
de amplitud distinta de cero:
- calcular un primer sub-índice de dichos pulsos de amplitud distinta de cero en la sección de pista inferior utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los tres pulsos restantes de amplitud distinta de cero en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de la sección de pista superior, y
- producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de dichos dos pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los dos pulsos restantes distintos de cero localizados en la sección de pista superior utilizando el procedimiento 2 aplicado a las posiciones de la sección de pista superior, y
- producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del otro pulso de
amplitud distinta de cero:
- calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista superior utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista superior, y
- producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de los cuatro pulsos de amplitud distinta de
cero:
- dividir además la sección de pista inferior en sub-secciones de pista inferior y superior;
- identificar una de las sub-secciones de pista superior e inferior que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en dicha sub-sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sub-sección de pista;
- calcular un segundo sub-índice de pulso restante de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la sección de pista inferior completa, y
- producir un índice de posición y amplitud de los tres pulsos de amplitud distinta de cero mediante la combinación dichos primer y segundo sub-índices.
24. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 23,
en el que el procedimiento 4 comprende:
- cuando dicha sub-sección de
pista es la sub-sección superior,
calcular un primer sub-índice de dichos al menos
dos pulsos de amplitud distinta de cero localizados en dicha
sub-sección de pista utilizando el procedimiento 2,
comprende cambiar las posiciones de dichos al menos dos pulsos de
amplitud distinta de cero desde la sub-sección de
pista superior hasta la sub-sección de pista
inferior.
25. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 24,
en el que cambiar las posiciones de dichos al menos dos pulsos de
amplitud distinta de cero desde la sub-sección
superior hasta la sub-sección inferior comprende
enmascarar un número de bits menos significativos de los índices de
posición de dichos al menos dos pulsos de amplitud distinta de cero
con una máscara consistente en dicho número de unos (1's).
26. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 23,
en el que, cuando X=5:
dividir las posiciones de dicha pista en dos
secciones de pista comprende dividir las posiciones de dicha pista
en secciones de pista superior e inferior, y
el procedimiento 5 comprende:
- detectar una de las secciones inferior y superior de pista en la que estén localizadas las posiciones de al menos tres pulsos de amplitud distinta de cero;
- calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en dicha sección de pista utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero, utilizando el procedimiento 2 aplicado a las posiciones de la citada pista en su totalidad, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, combinando dichos primer y segundo sub-índices.
27. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 23,
en el que, cuando X=5:
dividir las posiciones de dicha pista en dos
secciones comprende dividir las posiciones de dicha pista en
secciones de pista inferior e inferior, y
el procedimiento 5 comprende:
- cuando la sección de pista superior contiene
las posiciones de los cinco pulsos de amplitud distinta de
cero:
- calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en dicha sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de un pulso de amplitud distinta de cero y la sección
de pista superior contiene las posiciones de los otros cuatro pulsos
de amplitud distinta de cero:
- calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros tres
pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de la citada pista completa, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior, utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero localizados en la sección de pista superior, utilizando el procedimiento 2 aplicado a las posiciones de la citada pista en su totalidad, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cuatro pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del otro pulso de
amplitud distinta de cero:
- calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de los cinco pulsos de amplitud distinta de
cero:
- calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la citada pista completa, y
- producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices.
28. Un método de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 27,
en el que cuando X=6:
dividir las posiciones de dicha pista en dos
secciones comprende dividir las posiciones de dicha pista en
secciones inferior y superior de pista, y
el procedimiento 6 comprende:
- cuando la sección superior de pista contiene
las posiciones de los seis pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de cinco pulsos de amplitud distinta de cero localizados en dicha sección de pista superior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista superior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero mediante la combinación dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de un pulso de amplitud distinta de cero y la sección
de pista superior contiene las posiciones de los otros cinco pulsos
de amplitud distinta de cero:
- calcular un primer sub-índice de los cinco pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice del pulso de amplitud distinta de cero localizado en la sección de pista inferior utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista inferior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros
cuatro pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de los cuatro pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 4 aplicado a las posiciones de dicha sección de pista superior;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista inferior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero mediante la combinación de dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros tres
pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los tres pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de la sección de pista superior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero mediante la combinación de dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cuatro pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- calcular un primer sub-índice de los cuatro pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 4 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista superior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero combinando dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cinco pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del pulso restante de
amplitud distinta de cero:
- calcular un primer sub-índice de los cinco pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista superior utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista superior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero mediante la combinación de dichos primer y segundo sub-índices, y
- cuando la sección de pista inferior contiene
las posiciones de los seis pulsos de amplitud distinta de cero:
- calcular un primer subíndice de cinco pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista inferior;
- calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista inferior utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista inferior, y
- producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero mediante la combinación de dichos primer y segundo sub-índices.
29. Un dispositivo para la indexación de
posiciones y amplitudes de pulso en un código de cifrado y
descifrado algebraico para la codificación y decodificación
eficaces de una señal de sonido, en el que:
- -
- el código de cifrado y descifrado comprende un conjunto de combinaciones de amplitud/posición de pulso;
- -
- cada combinación de amplitud/posición de pulso define un número de posiciones diferente, y comprende tanto pulsos de amplitud cero como pulsos de amplitud distinta de cero, asignados a posiciones respectivas de la combinación, y
- -
- cada pulso de amplitud distinta de cero asuma una de una pluralidad de amplitudes posibles, y
en el que dicho dispositivo de indexación
comprende:
- -
- un conjunto de al menos una pista de dichas posiciones de pulso en la que la posición de cada pulso de amplitud distinta de cero de cada combinación de amplitud/posición de pulso está restringida a una pista de dicho conjunto;
- -
- medios para indexar, de acuerdo con un primer procedimiento, denominado en lo que sigue procedimiento 1, la posición y amplitud de un pulso de amplitud distinta de cero cuando solamente la posición de dicho pulso de amplitud distinta de cero está localizada en una pista de dicho conjunto;
- -
- medios para indexar, de acuerdo con un segundo procedimiento, denominado en lo que sigue procedimiento 2, las posiciones y amplitudes de dos pulsos de amplitud distinta de cero cuando solamente las posiciones de dichos dos pulsos de amplitud distinta de cero están localizados en una pista de dicho conjunto; y
- -
- cuando las posiciones de un número X de pulsos de amplitud distinta de cero están localizadas en una pista de dicho conjunto, en el que X\geq3:
- -
- medios para dividir las posiciones de dicha pista en dos secciones;
- -
- medios para desarrollar otro procedimiento asociado a dicho número X, denominado en lo que sigue procedimiento X, para indexar las posiciones y amplitudes de dichos X pulsos de amplitud distinta de cero,
utilizando dicho procedimiento X medios que
comprenden:
- -
- medios para identificar en cuál de las dos secciones de pista están localizados cada uno de los pulsos de amplitud distinta de cero, y
- -
- medios para calcular sub-índices de dichos X pulsos de amplitud distinta de cero utilizando los procedimientos 1 y 2 en al menos una de las citadas secciones de pista y en la pista completa, y
- -
- medios para calcular un índice de posición y amplitud de dichos X pulsos de amplitud distinta de cero, comprendiendo los medios de cálculo de dicho índice medios para combinar dichos sub-índices.
30. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
que comprende medios para interpolar las posiciones de pulso de cada
pista con las posiciones de pulso de las otras pistas.
31. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que los medios para calcular un índice de posición y amplitud
de dichos X pulsos de amplitud distinta de cero, comprenden:
- medios para calcular al menos un índice intermedio mediante la combinación de al menos dos de dichos sub-índices, y
- calcular el índice de posición y amplitud de dichos X pulsos de amplitud distinta de cero mediante la combinación de los restantes sub-índices y de dicho al menos un índice intermedio.
32. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que dicho procedimiento 1 comprende medios para producir un
índice de posición y amplitud que incluye un índice de posición
indicativo de la posición de dicho pulso de amplitud distinta de
cero en la citada pista, y un índice de amplitud indicativo de la
amplitud de dicho pulso de amplitud distinta de cero.
33. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 32,
en el que el índice de posición comprende un primer grupo de bits, y
el índice de amplitud comprende al menos un bit.
34. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 33,
en el que dicho al menos un bit del índice de amplitud es un bit de
orden más alto.
35. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 33,
en el que dicha pluralidad de amplitudes posibles de cada pulso de
amplitud distinta de cero comprende +1 y -1, y en el que dicho al
menos un bit del índice de amplitud es un bit de signo.
36. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que:
- dicha pluralidad de amplitudes posibles de cada pulso de amplitud distinta de cero comprende +1 y -1, y
- el procedimiento 1 comprende medios para producir un índice de posición y amplitud de dicho pulso de amplitud distinta de cero que tiene la forma:
I_{1p} = p +
sx2^{M}
- en la que p es un índice de posición de dicho pulso de amplitud distinta de cero en dicha pista, s es un índice de signo de dicho pulso de amplitud distinta de cero, y 2^{M} es el número de posiciones en dicha pista.
37. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 36,
en el que el número de posiciones en dicha pista es 16, y en el que
el índice de posición y amplitud es un índice de 5 bits
representado en la siguiente tabla:
38. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que dicho procedimiento 2 comprende medios para producir un
índice de posición y amplitud que incluye:
- primer y segundo índices de posición indicativos respectivamente de las posiciones de los dos pulsos de amplitud distinta de cero en dicha pista y,
- un índice de amplitud indicativo de las amplitudes de dichos dos pulsos de amplitud distinta de cero.
39. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 38,
en el que, en el índice de posición y amplitud:
- el índice de amplitud comprende al menos un bit;
- el primer índice de posición comprende un primer grupo de bits, y
- el segundo índice de posición comprende un segundo grupo de bits.
40. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 39,
en el que, en el índice de posición y amplitud:
- dicho al menos un bit del índice de amplitud es un bit de orden más alto;
- los bits del primer grupo son bits de orden intermedio, y
- los bits del segundo grupo son bits de orden inferior.
41. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 39,
en el que dicha pluralidad de amplitudes posibles de cada pulso de
amplitud distinta de cero comprende +1 y -1, y en el que dicho al
menos un bit del índice de amplitud es un bit de signo.
\newpage
42. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 39,
en el que el procedimiento 2 comprende:
medios para producir un índice de amplitud
indicativo de la amplitud del pulso de amplitud distinta de cero
cuya posición viene indicada por el primer índice de posición;
medios para producir un primer índice de
posición indicativo de la posición más pequeña de los dos pulsos de
amplitud distinta de cero en dicha pista;
medios para producir un segundo índice de
posición indicativo de la posición más grande de los dos pulsos de
amplitud distinta de cero en dicha pista, y
- cuando dichos dos pulsos tienen amplitudes
diferentes:
- medios para producir un índice de amplitud indicativo de la amplitud del pulso de amplitud distinta de cero cuya posición está indicada por el primer índice de posición;
- medios para producir un primer índice de posición indicativo de la posición más grande de los dos pulsos de amplitud distinta de cero en dicha pista, y
- medios para producir un segundo índice de posición indicativo de la posición más pequeña de los dos pulsos de amplitud distinta de cero en dicha pista.
43. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que el procedimiento 2 comprende, cuando la posición de un
primer pulso de amplitud distinta de cero con índice de posición
p_{0} e índice de signo \sigma_{0}, y la posición de un
segundo pulso de amplitud distinta de cero con índice de posición
p_{1} e índice de signo \sigma_{1} están localizadas en una
pista del conjunto, medios para producir un índice de posición y
amplitud de dichos primer y segundo pulsos de amplitud distinta de
cero que es de la forma:
44. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 43,
en el que el número de posiciones en dicha pista es de 16, y en el
que el índice de posición y amplitud es un índice de 9 bits
representado en la siguiente tabla:
45. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que, cuando X=3:
los medios para dividir las posiciones de dicha
pista en dos secciones comprenden medios para dividir las
posiciones de dicha pista en secciones de pista superior e inferior,
y
el procedimiento 3 comprende:
- medios para identificar una de las secciones de pista superior e inferior que contiene las posiciones de al menos dos pulsos de amplitud distinta de cero;
- medios para calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero, localizados en dicha sección de pista, utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero utilizando el procedimiento 1 aplicado a las posiciones de la totalidad de dicha pista, y
- medios para producir un índice de posición y amplitud de los tres pulsos de amplitud distinta de cero, comprendiendo dichos medios de producción de índice medios para combinar los citados primer y segundo sub-índices.
46. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 45,
en el que:
los medios para calcular un primer sub-índice de
dichos al menos dos pulsos de amplitud distinta de cero localizados
en dicha sección de pista utilizando el procedimiento 2 comprenden,
cuando las posiciones de dichos al menos dos pulsos de amplitud
distinta de cero están localizadas en la sección superior, medios
para cambiar las posiciones de dichos al menos dos pulsos de
amplitud distinta de cero desde la sección superior hasta la
sección
inferior.
inferior.
47. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 48,
en el que los medios para cambiar las posiciones de dichos al menos
dos pulsos de amplitud distinta de cero desde la sección superior
hasta la sección inferior comprenden medios para enmascarar un
número de bits menos significativos de los índices de posición de
dichos al menos dos pulsos de amplitud distinta de cero con una
máscara que consiste en dicho número de unos (1's).
48. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 45,
en el que los medios para calcular un primer sub-índice de dichos al
menos dos pulsos de amplitud distinta de cero localizados en dicha
sección de pista utilizando el procedimiento 2, comprenden medios
para insertar un índice de sección que indica aquellas de dichas
secciones de pista inferior y superior en la que están localizados
dichos al menos dos pulsos de amplitud distinta de cero.
49. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 45,
en el que el número de posiciones de dicha pista es de 16, y en el
que el índice de posición y amplitud es un índice de 13 bits
representado por la siguiente tabla:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
50. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 29,
en el que:
dicho procedimiento 1 comprende medios para
producir un índice de posición y amplitud que incluye un índice de
posición indicativo de la posición de dicho pulso de amplitud
distinta de cero en la citada pista, y un índice de amplitud
indicativo de la amplitud de dicho pulso de amplitud distinta de
cero, en el que el índice de posición comprende un primer grupo de
bits, y el índice de posición comprende al menos un bit;
dicho procedimiento 2 comprende medios para
producir un índice de posición y amplitud que incluye un primer y
un segundo índice de posición indicativos respectivamente de las
posiciones de los dos pulsos de amplitud distinta de cero en dicha
pista, y un índice de amplitud indicativo de las amplitudes de
dichos dos pulsos de amplitud distinta de cero, en el que el índice
de amplitud comprende al menos un bit, el primer índice de posición
comprende un primer grupo de bits, y el segundo índice de posición
comprende un segundo grupo de bits;
cuando X=\cdot:
- los medios para dividir las posiciones de dicha pista en dos secciones comprende medios para dividir las posiciones de dicha pista en secciones de pista inferior y superior, y
- el procedimiento 3 comprende:
- medios para identificar una de las secciones de pista superior e inferior que contiene las posiciones de al menos dos pulsos de amplitud distinta de cero;
- medios para calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en la citada sección de pista, utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero utilizando el procedimiento 1 aplicado a las posiciones de la totalidad de dicha pista, y
- medios para producir un índice de posición y amplitud de los tres pulsos de amplitud distinta de cero, con los medios de producción de dicho índice comprendiendo medios para combinar dichos primer y segundo sub-índices.
51. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 50,
en el que, cuando X=4:
los medios para dividir las posiciones de dicha
pista en dos secciones comprenden medios para dividir las
posiciones de dicha pista en secciones de pista inferior y superior,
y
el procedimiento 4 comprende:
- cuando la sección de pista superior contiene
las posiciones de los cuatro pulsos de amplitud distinta de
cero:
- medios para dividir adicionalmente la sección de pista superior en sub-secciones de pista superior e inferior;
- medios para identificar una de las sub-secciones de pista superior e inferior que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- medios para calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en dicha sub-sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sub-sección de pista;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero, utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha sección de pista superior, y
- medios para producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de un pulso de amplitud distinta de cero y la sección
de pista superior contiene las posiciones de los otros tres pulsos
de amplitud distinta de cero:
- medios para calcular un primer sub-índice de dicho pulso de amplitud distinta de cero localizado en la sección de pista inferior, utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los tres pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de la sección de pista superior, y
- medios para producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero, con los citados medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de dichos dos pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 2 aplicado a las posiciones de la sección de pista superior, y
- medios para producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del otro pulso de
amplitud distinta de cero:
- medios para calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista superior utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista superior, y
- medios para producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de los cuatro pulsos de amplitud distinta de
cero:
- medios para dividir adicionalmente la sección de pista inferior en sub-secciones de pista inferior y superior;
- medios para identificar una de las sub-secciones superior e inferior que contenga las posiciones de al menos dos pulsos de amplitud distinta de cero;
- medios para calcular un primer sub-índice de dichos al menos dos pulsos de amplitud distinta de cero localizados en la citada sub-sección de pista utilizando el procedimiento 2 aplicado a las posiciones de dicha sub-sección de pista;
- calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de la sección de pista inferior, y
- medios para producir un índice de posición y amplitud de los cuatro pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices.
52. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 51,
en el que el procedimiento 4 comprende:
- cuando dicha sub-sección de
pista es la sub-sección superior,
los medios para calcular un primer sub-índice de
dichos al menos dos pulsos de amplitud distinta de cero localizados
en dicha sub-sección de pista utilizando el
procedimiento 2, comprenden medios para cambiar las posiciones de
dichos al menos dos pulsos de amplitud distinta de cero desde la
sub-sección de pista superior hasta la
sub-sección de pista inferior.
53. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 24,
en el que los medios para cambiar las posiciones de dichos al menos
dos pulsos de amplitud distinta de cero desde la
sub-sección superior hasta la
sub-sección inferior comprenden medios para
enmascarar un número de bits menos significativos de los índices de
posición de dichos al menos dos pulsos de amplitud distinta de cero
con una máscara consistente en dicho número de unos (1's).
54. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 51,
en el que, cuando X=5:
los medios para dividir las posiciones de dicha
pista en dos secciones de pista comprenden medios para dividir las
posiciones de dicha pista en secciones de pista superior e inferior,
y
el procedimiento 5 comprende:
- medios para detectar una de las secciones inferior y superior de pista en la que estén localizadas las posiciones de al menos tres pulsos de amplitud distinta de cero;
- medios para calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en dicha sección de pista utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista;
\newpage
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero, utilizando el procedimiento 2 aplicado a las posiciones de la citada pista en su totalidad, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, con los medios de producción de dicho índice comprendiendo medios para combinar dichos primer y segundo sub-índices.
55. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 51,
en el que, cuando X=5:
los medios para dividir las posiciones de dicha
pista en dos secciones comprenden medios para dividir las
posiciones de dicha pista en secciones de pista inferior e inferior,
y
el procedimiento 5 comprende:
- cuando la sección de pista superior contiene
las posiciones de los cinco pulsos de amplitud distinta de
cero:
- medios para calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en dicha sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, con los medios de producción de dicho índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de un pulso de amplitud distinta de cero y la sección
de pista superior contiene las posiciones de los otros cuatro pulsos
de amplitud distinta de cero:
- medios para calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, donde dichos medios e producción de índice comprenden medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros tres
pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de la citada pista completa, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, donde dichos medios de producción de índice comprenden medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior, utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los dos pulsos restante de amplitud distinta de cero localizados en la sección de pista superior, utilizando el procedimiento 2 aplicado a las posiciones de la citada pista en su totalidad, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cuatro pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del otro pulso de
amplitud distinta de cero:
- medios para calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la totalidad de dicha pista, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de los cinco pulsos de amplitud distinta de
cero:
- medios para calcular un primer sub-índice de tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero utilizando el procedimiento 2 aplicado a las posiciones de la citada pista completa, y
- medios para producir un índice de posición y amplitud de los cinco pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices.
56. Un dispositivo de indexación de posiciones y
amplitudes de pulso según se ha definido en la reivindicación 55,
en el que cuando X=6:
los medios para dividir las posiciones de dicha
pista en dos secciones comprenden medios para dividir las
posiciones de dicha pista en secciones inferior y superior de pista,
y
el procedimiento 6 comprende:
- cuando la sección superior de pista contiene
las posiciones de los seis pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de cinco pulsos de amplitud distinta de cero localizados en dicha sección de pista superior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista superior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para la combinación de dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
la posición de un pulso de amplitud distinta de cero y la sección
de pista superior contiene las posiciones de los otros cinco pulsos
de amplitud distinta de cero:
- medios para calcular un primer sub-índice de los cinco pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice del pulso de amplitud distinta de cero localizado en la sección de pista inferior utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista inferior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de dos pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros
cuatro pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de los cuatro pulsos de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 4 aplicado a las posiciones de dicha sección de pista superior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista inferior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para la combinación de dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de tres pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros tres
pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de dichos tres pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 3 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los tres pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 3 aplicado a las posiciones de la sección de pista superior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para la combinación de dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cuatro pulsos de amplitud distinta de cero y la
sección de pista superior contiene las posiciones de los otros dos
pulsos de amplitud distinta de cero:
- medios para calcular un primer sub-índice de los cuatro pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 4 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice de los dos pulsos restantes de amplitud distinta de cero localizados en la sección de pista superior utilizando el procedimiento 2 aplicado a las posiciones de dicha sección de pista superior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para combinar dichos primer y segundo sub-índices;
- cuando la sección de pista inferior contiene
las posiciones de cinco pulsos de amplitud distinta de cero y la
sección de pista superior contiene la posición del pulso restante de
amplitud distinta de cero:
- medios para calcular un primer sub-índice de los cinco pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista superior utilizando el procedimiento 1 aplicado a las posiciones de dicha sección de pista superior, y
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para la combinación de dichos primer y segundo sub-índices, y
- cuando la sección de pista inferior contiene
las posiciones de los seis pulsos de amplitud distinta de cero:
- medios para calcular un primer subíndice de cinco pulsos de amplitud distinta de cero localizados en la sección de pista inferior utilizando el procedimiento 5 aplicado a las posiciones de dicha sección de pista inferior;
- medios para calcular un segundo sub-índice del pulso restante de amplitud distinta de cero localizado en la sección de pista inferior utilizando el procedimiento 1 aplicado a las posiciones de la sección de pista inferior, y
\newpage
- medios para producir un índice de posición y amplitud de los seis pulsos de amplitud distinta de cero, con dichos medios de producción de índice comprendiendo medios para la combinación de dichos primer y segundo sub-índices.
57. Un sistema de comunicación celular para dar
servicio a un área geográfica amplia dividida en una pluralidad de
células, que comprende:
unidades transmisoras/receptoras móviles;
estaciones celulares de base situadas
respectivamente en dichas células;
medios para controlar la comunicación entre las
estaciones celulares de base;
un sub-sistema de comunicación
inalámbrica bidireccional entre cada unidad móvil situada en una
célula y la estación celular de base de dicha célula, comprendiendo
dicho sub-sistema de comunicación inalámbrica
bidireccional, tanto en la unidad móvil como en la estación celular
de base (a) un transmisor que incluye medios para codificar una
señal de palabra y medios para transmitir la señal de palabra
codificada, y (b) un receptor que incluye medios para recibir una
señal de palabra codificada transmitida y medios para decodificar la
señal de palabra codificada recibida;
- en el que dichos medios de codificación de señal de palabra comprenden medios de respuesta a la señal de palabra para producir parámetros de codificación de la señal de palabra, y en el que dichos medios de producción de parámetros de codificación de la señal de palabra comprenden medios para buscar un código de cifrado y descifrado algebraico con vistas a la producción de al menos uno de dichos parámetros de codificación de señal de palabra, y un dispositivo como el que se ha descrito en cualquiera de las reivindicaciones 29 a 56, para indexar posiciones y amplitudes de pulso en dicho código de cifrado y descifrado algebraico, constituyendo la citada señal de palabra dicha señal sonora.
58. Un elemento de red celular que comprende (a)
un transmisor que incluye medios para codificar una señal de
palabra y medios para transmitir la señal de palabra codificada, y
(b) un receptor que incluye medios para recibir una señal de
palabra codificada transmitida y medios para decodificar la señal de
palabra codificada recibida;
en el que dichos medios de codificación de señal
de palabra comprenden medios de respuesta a la señal de palabra
para producir parámetros de codificación de señal de palabra, y en
el que dichos medios de producción de parámetros de codificación de
señal de palabra comprenden medios para buscar un código de cifrado
y descifrado algebraico con vistas a producir al menos uno de
dichos parámetros de codificación de señal de palabra, y un
dispositivo como el descrito en cualquiera de las reivindicaciones
29 a 56, para indexar posiciones y amplitudes de pulso en el citado
código de cifrado y descifrado algebraico, constituyendo dicha señal
de palabra la citada señal sonora.
59. Una unidad transmisora/receptora móvil
celular, que comprende (a) un transmisor que incluye medios para
codificar una señal de palabra y medios para transmitir la señal de
palabra codificada, y (b) un receptor que incluye medios para
recibir una señal de palabra codificada transmitida y medios para
decodificar la señal de palabra codificada recibida;
- en el que dichos medios de codificación de señal de palabra comprenden medios de respuesta a la señal de palabra para producir parámetros de codificación de señal de palabra, y en el que dichos medios de producción de parámetros de codificación de señal de palabra comprenden medios para buscar un código de cifrado y descifrado algebraico con vistas a producir al menos uno de dichos parámetros de codificación de señal de palabra, y un dispositivo como se ha descrito en cualquiera de las reivindicaciones 29 a 56, para indexar posiciones y amplitudes de pulso en dicho código de cifrado y descifrado algebraico, constituyendo dicha señal de palabra la citada señal sonora.
60. Un sub-sistema de
comunicación inalámbrica bidireccional para un sistema de
comunicación celular, estando dicho sistema adaptado para dar
servicio a un área geográfica dividida en una pluralidad de células,
y que comprende:
unidades transmisoras/receptoras móviles;
estaciones celulares de base situadas
respectivamente en dichas células, y
medios para controlar la comunicación entre las
estaciones celulares de base;
estando dicho sub-sistema
adaptado para operar entre cada unidad móvil situada en una célula y
la estación celular de base de dicha célula, comprendiendo además
dicho sub-sistema de comunicación inalámbrica
bidireccional, tanto en la unidad móvil como en la estación celular
de base:
- (a)
- un transmisor que incluye medios para codificar una señal de palabra y medios para transmitir la señal de palabra codificada, y
\newpage
- (b)
- un receptor que incluye medios para recibir una señal de palabra codificada transmitida y medios para decodificar la señal de palabra codificada recibida;
en el que dichos medios de codificación de señal
de palabra comprenden medios de respuesta a la citada señal de
palabra para producir parámetros de codificación de señal de
palabra, y en el que dichos medios de producción de parámetros de
codificación de señal de palabra comprenden medios para buscar un
código de cifrado y descifrado algebraico con vistas a la
producción de al menos uno de dichos parámetros de codificación de
señal de palabra, y un dispositivo como el descrito en cualquiera
de las reivindicaciones 29 a 56, para indexar posiciones y
amplitudes de pulso en dicho código de cifrado y descifrado
algebraico, constituyendo dicha señal de palabra la citada señal
sonora.
61. Un codificador para codificar una señal
sonora, que comprende medios de procesamiento de señal sonora en
respuesta a la señal sonora para producir parámetros de codificación
de señal de palabra, en el que los medios de procesamiento de señal
sonora comprenden:
medios para buscar un código de cifrado y
descifrado algebraico con vistas a la producción de al menos uno de
los parámetros de codificación de señal de palabra, y
un dispositivo tal y como el que se ha descrito
en cualquiera de las reivindicaciones 29 a 56, para indexar
posiciones y amplitudes de pulso en el citado código de cifrado y
descifrado algebraico.
62. Un decodificador para sintetizar una señal
sonora en respuesta a parámetros de codificación de señal sonora,
que comprende:
medios de procesamiento de parámetros de
codificación en respuesta a dichos parámetros de codificación de
señal sonora para producir una señal de excitación, en el que dichos
medios de procesamiento de parámetros de codificación
comprenden:
- un código de cifrado y descifrado algebraico de respuesta a al menos uno de dichos parámetros de codificación de señal sonora para producir una porción de la citada señal de excitación, y
- un dispositivo como el que se ha descrito en cualquiera de las reivindicaciones 29 a 56, para indexar posiciones y amplitudes de pulso en el citado código de cifrado y descifrado algebraico, y
medios de filtro de síntesis para sintetizar la
citada señal sonora en respuesta a la citada señal de
excitación.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2327041 | 2000-11-22 | ||
CA002327041A CA2327041A1 (en) | 2000-11-22 | 2000-11-22 | A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2266312T3 true ES2266312T3 (es) | 2007-03-01 |
Family
ID=4167763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01997803T Expired - Lifetime ES2266312T3 (es) | 2000-11-22 | 2001-11-22 | Indexacion de posiciones y señales de pulso en codigos de cifrado y descifrado algebraicos para la codificacion de señales de banda ancha. |
Country Status (18)
Country | Link |
---|---|
US (1) | US7280959B2 (es) |
EP (1) | EP1354315B1 (es) |
JP (1) | JP4064236B2 (es) |
KR (1) | KR20020077389A (es) |
CN (1) | CN1205603C (es) |
AT (1) | ATE330310T1 (es) |
AU (2) | AU2002221389B2 (es) |
BR (1) | BR0107760A (es) |
CA (1) | CA2327041A1 (es) |
DE (1) | DE60120766T2 (es) |
DK (1) | DK1354315T3 (es) |
ES (1) | ES2266312T3 (es) |
MX (1) | MXPA03004513A (es) |
NO (1) | NO20023252L (es) |
PT (1) | PT1354315E (es) |
RU (1) | RU2003118444A (es) |
WO (1) | WO2002043053A1 (es) |
ZA (1) | ZA200205695B (es) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2388352A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for frequency-selective pitch enhancement of synthesized speed |
US7249014B2 (en) * | 2003-03-13 | 2007-07-24 | Intel Corporation | Apparatus, methods and articles incorporating a fast algebraic codebook search technique |
CN1757060B (zh) * | 2003-03-15 | 2012-08-15 | 曼德斯必德技术公司 | Celp语音编码的话音指数控制 |
JP4047296B2 (ja) * | 2004-03-12 | 2008-02-13 | 株式会社東芝 | 音声復号化方法及び音声復号化装置 |
WO2004090870A1 (ja) | 2003-04-04 | 2004-10-21 | Kabushiki Kaisha Toshiba | 広帯域音声を符号化または復号化するための方法及び装置 |
JP4580622B2 (ja) * | 2003-04-04 | 2010-11-17 | 株式会社東芝 | 広帯域音声符号化方法及び広帯域音声符号化装置 |
US7318035B2 (en) * | 2003-05-08 | 2008-01-08 | Dolby Laboratories Licensing Corporation | Audio coding systems and methods using spectral component coupling and spectral component regeneration |
KR100651712B1 (ko) * | 2003-07-10 | 2006-11-30 | 학교법인연세대학교 | 광대역 음성 부호화기 및 그 방법과 광대역 음성 복호화기및 그 방법 |
US20050050119A1 (en) * | 2003-08-26 | 2005-03-03 | Vandanapu Naveen Kumar | Method for reducing data dependency in codebook searches for multi-ALU DSP architectures |
KR100656788B1 (ko) * | 2004-11-26 | 2006-12-12 | 한국전자통신연구원 | 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더 |
US7571094B2 (en) * | 2005-09-21 | 2009-08-04 | Texas Instruments Incorporated | Circuits, processes, devices and systems for codebook search reduction in speech coders |
US7602745B2 (en) * | 2005-12-05 | 2009-10-13 | Intel Corporation | Multiple input, multiple output wireless communication system, associated methods and data structures |
JP3981399B1 (ja) * | 2006-03-10 | 2007-09-26 | 松下電器産業株式会社 | 固定符号帳探索装置および固定符号帳探索方法 |
US9454974B2 (en) * | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
KR101414341B1 (ko) * | 2007-03-02 | 2014-07-22 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 부호화 장치 및 부호화 방법 |
EP2157573B1 (en) | 2007-04-29 | 2014-11-26 | Huawei Technologies Co., Ltd. | An encoding and decoding method |
CN100530357C (zh) | 2007-07-11 | 2009-08-19 | 华为技术有限公司 | 固定码书搜索方法及搜索器 |
CN101765880B (zh) * | 2007-07-27 | 2012-09-26 | 松下电器产业株式会社 | 语音编码装置和语音编码方法 |
CN100578619C (zh) | 2007-11-05 | 2010-01-06 | 华为技术有限公司 | 编码方法和编码器 |
FR2934598B1 (fr) | 2008-07-30 | 2012-11-30 | Rhodia Poliamida E Especialidades Ltda | Procede de fabrication de matrice polymerique thermoplastique |
JP5223786B2 (ja) * | 2009-06-10 | 2013-06-26 | 富士通株式会社 | 音声帯域拡張装置、音声帯域拡張方法及び音声帯域拡張用コンピュータプログラムならびに電話機 |
JP5002642B2 (ja) * | 2009-11-09 | 2012-08-15 | 株式会社東芝 | 広帯域音声符号化方法及び広帯域音声符号化装置 |
US8280729B2 (en) * | 2010-01-22 | 2012-10-02 | Research In Motion Limited | System and method for encoding and decoding pulse indices |
CN102299760B (zh) | 2010-06-24 | 2014-03-12 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
CN102623012B (zh) | 2011-01-26 | 2014-08-20 | 华为技术有限公司 | 矢量联合编解码方法及编解码器 |
US9767822B2 (en) * | 2011-02-07 | 2017-09-19 | Qualcomm Incorporated | Devices for encoding and decoding a watermarked signal |
MY159444A (en) | 2011-02-14 | 2017-01-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V | Encoding and decoding of pulse positions of tracks of an audio signal |
EP3471092B1 (en) * | 2011-02-14 | 2020-07-08 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Decoding of pulse positions of tracks of an audio signal |
AU2012217153B2 (en) | 2011-02-14 | 2015-07-16 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion |
BR112012029132B1 (pt) | 2011-02-14 | 2021-10-05 | Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V | Representação de sinal de informações utilizando transformada sobreposta |
JP5969513B2 (ja) | 2011-02-14 | 2016-08-17 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 不活性相の間のノイズ合成を用いるオーディオコーデック |
BR112013020587B1 (pt) | 2011-02-14 | 2021-03-09 | Fraunhofer-Gesellschaft Zur Forderung De Angewandten Forschung E.V. | esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral |
MX2013009344A (es) | 2011-02-14 | 2013-10-01 | Fraunhofer Ges Forschung | Aparato y metodo para procesar una señal de audio decodificada en un dominio espectral. |
EP2661745B1 (en) | 2011-02-14 | 2015-04-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for error concealment in low-delay unified speech and audio coding (usac) |
KR101525185B1 (ko) | 2011-02-14 | 2015-06-02 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법 |
EP2660811B1 (en) * | 2011-02-16 | 2017-03-29 | Nippon Telegraph And Telephone Corporation | Encoding method, decoding method, encoder, decoder, program and recording medium |
US9472199B2 (en) * | 2011-09-28 | 2016-10-18 | Lg Electronics Inc. | Voice signal encoding method, voice signal decoding method, and apparatus using same |
US9015044B2 (en) * | 2012-03-05 | 2015-04-21 | Malaspina Labs (Barbados) Inc. | Formant based speech reconstruction from noisy signals |
CA2979948C (en) * | 2012-10-05 | 2019-10-22 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | An apparatus for encoding a speech signal employing acelp in the autocorrelation domain |
WO2014118192A2 (en) | 2013-01-29 | 2014-08-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Noise filling without side information for celp-like coders |
US9728200B2 (en) * | 2013-01-29 | 2017-08-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding |
US9947335B2 (en) * | 2013-04-05 | 2018-04-17 | Dolby Laboratories Licensing Corporation | Companding apparatus and method to reduce quantization noise using advanced spectral extension |
US9384746B2 (en) * | 2013-10-14 | 2016-07-05 | Qualcomm Incorporated | Systems and methods of energy-scaled signal processing |
US10573326B2 (en) * | 2017-04-05 | 2020-02-25 | Qualcomm Incorporated | Inter-channel bandwidth extension |
CN110247714B (zh) * | 2019-05-16 | 2021-06-04 | 天津大学 | 集伪装与加密于一体的仿生隐蔽水声通信编码方法及装置 |
CN117040663B (zh) * | 2023-10-10 | 2023-12-22 | 北京海格神舟通信科技有限公司 | 一种用于估计宽带频谱噪底的方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754976A (en) * | 1990-02-23 | 1998-05-19 | Universite De Sherbrooke | Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech |
US5701392A (en) * | 1990-02-23 | 1997-12-23 | Universite De Sherbrooke | Depth-first algebraic-codebook search for fast coding of speech |
CA2010830C (en) | 1990-02-23 | 1996-06-25 | Jean-Pierre Adoul | Dynamic codebook for efficient speech coding based on algebraic codes |
US5751903A (en) * | 1994-12-19 | 1998-05-12 | Hughes Electronics | Low rate multi-mode CELP codec that encodes line SPECTRAL frequencies utilizing an offset |
SE504397C2 (sv) * | 1995-05-03 | 1997-01-27 | Ericsson Telefon Ab L M | Metod för förstärkningskvantisering vid linjärprediktiv talkodning med kodboksexcitering |
US6393391B1 (en) * | 1998-04-15 | 2002-05-21 | Nec Corporation | Speech coder for high quality at low bit rates |
-
2000
- 2000-11-22 CA CA002327041A patent/CA2327041A1/en not_active Abandoned
-
2001
- 2001-11-22 PT PT01997803T patent/PT1354315E/pt unknown
- 2001-11-22 US US10/415,456 patent/US7280959B2/en not_active Expired - Lifetime
- 2001-11-22 DK DK01997803T patent/DK1354315T3/da active
- 2001-11-22 ES ES01997803T patent/ES2266312T3/es not_active Expired - Lifetime
- 2001-11-22 CN CNB018039545A patent/CN1205603C/zh not_active Expired - Lifetime
- 2001-11-22 BR BR0107760-0A patent/BR0107760A/pt not_active IP Right Cessation
- 2001-11-22 KR KR1020027009378A patent/KR20020077389A/ko not_active Withdrawn
- 2001-11-22 EP EP01997803A patent/EP1354315B1/en not_active Expired - Lifetime
- 2001-11-22 AU AU2002221389A patent/AU2002221389B2/en not_active Expired - Fee Related
- 2001-11-22 AU AU2138902A patent/AU2138902A/xx active Pending
- 2001-11-22 JP JP2002544711A patent/JP4064236B2/ja not_active Expired - Lifetime
- 2001-11-22 DE DE60120766T patent/DE60120766T2/de not_active Expired - Lifetime
- 2001-11-22 WO PCT/CA2001/001675 patent/WO2002043053A1/en active IP Right Grant
- 2001-11-22 MX MXPA03004513A patent/MXPA03004513A/es unknown
- 2001-11-22 RU RU2003118444/09A patent/RU2003118444A/ru not_active Application Discontinuation
- 2001-11-22 AT AT01997803T patent/ATE330310T1/de active
-
2002
- 2002-07-04 NO NO20023252A patent/NO20023252L/no unknown
- 2002-07-17 ZA ZA200205695A patent/ZA200205695B/en unknown
Also Published As
Publication number | Publication date |
---|---|
HK1050262A1 (en) | 2003-06-13 |
CA2327041A1 (en) | 2002-05-22 |
EP1354315A1 (en) | 2003-10-22 |
ATE330310T1 (de) | 2006-07-15 |
JP4064236B2 (ja) | 2008-03-19 |
ZA200205695B (en) | 2003-04-04 |
NO20023252L (no) | 2002-09-12 |
DE60120766D1 (de) | 2006-07-27 |
PT1354315E (pt) | 2006-10-31 |
US7280959B2 (en) | 2007-10-09 |
BR0107760A (pt) | 2002-11-12 |
MXPA03004513A (es) | 2004-12-03 |
JP2004514182A (ja) | 2004-05-13 |
US20050065785A1 (en) | 2005-03-24 |
KR20020077389A (ko) | 2002-10-11 |
EP1354315B1 (en) | 2006-06-14 |
DE60120766T2 (de) | 2007-06-14 |
RU2003118444A (ru) | 2004-12-10 |
DK1354315T3 (da) | 2006-10-16 |
WO2002043053A1 (en) | 2002-05-30 |
AU2002221389B2 (en) | 2006-07-20 |
CN1205603C (zh) | 2005-06-08 |
NO20023252D0 (no) | 2002-07-04 |
AU2138902A (en) | 2002-06-03 |
CN1395724A (zh) | 2003-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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. | |
ES2212642T3 (es) | Dispositivo de codificacion perceptual y metodo para la codificacion eficaz de señales de banda ancha. | |
ES2266003T3 (es) | Suavizador de la ganancia en un descodificador de señal de habla y audio de banda ancha. | |
ES2321147T3 (es) | Codificacion de habla de tasa de transmision variable. | |
ES2257098T3 (es) | Codificacion periodica de vocales. | |
ES2225321T3 (es) | Aparaato y procedimiento para el enmascaramiento de errores en tramas de datos. | |
AU2002221389A1 (en) | Indexing pulse positions and signs in algebraic codebooks for coding of wideband signals | |
ES2217772T3 (es) | Tecnicas mejoradas de recuperacion de tramas perdidas para sistemas parametricos de codificacion predictiva de voz. | |
ES2250197T3 (es) | Codificador de voz armonico-lpc con estructura de supertrama. | |
ES2625895T3 (es) | Método y dispositivo para la ocultación eficiente del borrado de tramas en códecs de voz basados en la predicción lineal | |
JP4334526B2 (ja) | 可変時間/周波数分解能および時間/周波数切り替えを使用する効率的なスペクトルエンベロープ符号化 | |
ES2207643T3 (es) | Sintesis de señal de excitacion durante borrado de tramas o perdida de paquetes. | |
JPH10513571A (ja) | スピーチ信号を高速符号化するための信号選択されたパルス振幅を備えた代数学的符号帳 | |
EP2038883B1 (en) | Vocoder and associated method that transcodes between mixed excitation linear prediction (melp) vocoders with different speech frame rates | |
ES2145737T5 (es) | Codificador digital de voz con predictor a largo plazo mejorado por resolucion de submuestreos. | |
KR19980080463A (ko) | 코드여기 선형예측 음성코더내에서의 벡터 양자화 방법 | |
JPH0563000B2 (es) | ||
JPH10214100A (ja) | 音声合成方法 | |
JPH06502930A (ja) | 多重モード音声コーダのためのエラー保護 | |
JP4460165B2 (ja) | 情報信号を符号化する方法および装置 | |
JPH028900A (ja) | 音声符号化復号化方法並びに音声符号化装置及び音声復合化装置 | |
GB2352949A (en) | Speech coder for communications unit | |
Woodard | Digital coding of speech using code excited linear prediction | |
Kumar et al. | A 6.7 kbps vector sum excited linear prediction on TMS320C54X digital signal processor | |
Yao | Low-delay speech coding |