ES2588356T3 - Método y codificador para la codificación conjunta de vectores de una señal de voz - Google Patents

Método y codificador para la codificación conjunta de vectores de una señal de voz Download PDF

Info

Publication number
ES2588356T3
ES2588356T3 ES11856688.4T ES11856688T ES2588356T3 ES 2588356 T3 ES2588356 T3 ES 2588356T3 ES 11856688 T ES11856688 T ES 11856688T ES 2588356 T3 ES2588356 T3 ES 2588356T3
Authority
ES
Spain
Prior art keywords
index
divided
coding
indt
combined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11856688.4T
Other languages
English (en)
Inventor
Fuwei Ma
Dejun Zhang
Lei Miao
Fengyan Qi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2588356T3 publication Critical patent/ES2588356T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L19/00Details of, or accessories for, apparatus for measuring steady or quasi-steady pressure of a fluent medium insofar as such details or accessories are not special to particular types of pressure gauges
    • G01L19/08Means for indicating or recording, e.g. for remote indication
    • G01L19/12Alarms or signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

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)
  • Spectroscopy & Molecular Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un método de codificación conjunta de vectores para una señal de voz, que comprende: el cálculo (A1, B1) de un índice de codificación Indt de cada vector, en donde un sub-índice t designa un t-ésimo vector, tΕ[0, T-1], y T es el número de vectores y es un número entero mayor o igual a 2, y el índice de codificación es un índice utilizado para indicar la distribución de pulsos en la pista, en donde cada vector representa una distribución de pulsos en una pista; la división (A2, B2) de al menos un índice Indt al menos una vez en al menos dos secciones, en donde la división comprende al menos una vez la división del índice Indt en dos índices divididos Indt0 e Indt1 en conformidad con un factor establecido SLFt, siendo el factor SLFt un número entero positivo, el índice Indt0 indica un número de serie de un intervalo al que pertenece el índice Indt, el índice Indt1 indica un número de serie del índice Indt en el intervalo al que pertenece el índice Indt, no siendo la longitud del intervalo mayor que el factor SLFt, y**Fórmula** en donde la división (A2, B2) del índice Indt en dos índices divididos Indt0 e Indt1 en conformidad con un factor preestablecido SLFt es concretamente: Indt0>=Int(Indt/SLFt), en donde Int() designa un redondeo al número entero inferior, y Indt1>=Indt%SLFt, en donde % designa la utilización de un resto; la combinación (A3, B3) de un índice dividido de al menos un vector y de índices divididos o de índices de codificación de otros vectores para generar un índice combinado IndSLF; en donde la combinación (A3, B3) de un índice dividido de al menos un vector y de índices divididos o de índices de codificación de otros vectores para generar un índice combinado IndSLF; consiste concretamente en: para un vector t, que proporciona un índice dividido para participar en la combinación, la selección de un índice dividido capaz de representar características de ocupación de espacio del índice Indt, para participar en la combinación, en donde ser capaz de representar características de ocupación de espacio del índice Indt se refiere a que, en comparación con otros índices divididos, una tasa de ocupación de un margen de valores de un índice dividido seleccionado para un espacio de codificación es el más próximo a una tasa de ocupación de un margen de valores del índice Indt para el espacio de codificación; y la realización (A4, B4) de una codificación en conformidad con el índice combinado y otros índices divididos no combinados.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Metodo y codificador para la codificacion conjunta de vectores de una senal de voz CAMPO DE LA INVENCION
La presente invencion se refiere a un metodo de codificacion conjunta de vectores y un codificador conjunto de vectores.
ANTECEDENTES DE LA INVENCION
Cuando se procesa una senal, generalmente la senal puede dividirse en multiples vectores. A modo de ejemplo, haciendo referencia a la Figura 1, se clasifica el muestreo de senales, se clasifican varios valores de muestreo como un grupo, que puede referirse como un vector, y el numero de este grupo de valores de muestreo se refiere como la dimension del vector. En un codificador de voz basado en un modelo de prediccion lineal excitada por un codigo (CELP: Code Excited Linear Prediction), en general, varios pulsos se utilizan para indicar una excitacion de ruido cuasi-blanco. Con el fin de reducir la complejidad del codificador, generalmente una senal de entrada se divide en varias subtramas a procesarse y durante el procesamiento de un libro de codigos fijado, generalmente una senal de cada subtrama se divide, ademas, en varias pistas. Sobre la base del conocimiento anterior sobre el vector, puede considerarse que los puntos de muestreo en una pista pueden formar un vector multidimensional. A modo de ejemplo, para una pista que tenga dieciseis posiciones, se supone que un caso de muestreo de senales en una pista se describe utilizando un pulso y un valor puede representarse como [-1, -5, 0, -5, 12, 0, ..., 0]. Desde la perspectiva del pulso, se indica que esta pista tiene cuatro pulsos no cero, es decir, una primera posicion tiene un pulso con su amplitud siendo 1 y un sfmboio que es "-"; una segunda posicion tiene un pulso con una amplitud de 5 y un sfmbolo que es "-"; una tercera posicion tiene un pulso con su amplitud siendo cero y el resto puede deducirse por analogfa. Desde la perspectiva del vector, un vector de 16 dimensiones tiene cuatro componentes no cero.
Es bien conocido que, en el campo de la codificacion de voz, un codificador de voz basado en el modelo CELP se aplica de forma muy amplia, tal como: G.729, GSM y G.723.1, que estan ya ampliamente aplicados en varios procesadores de senales digitales (DSP: Digital Signal Processor), dispositivos integrados, telefonos moviles y ordenadores personales (PC: Personal Computer). En comparacion con otros tipos de codificadores de voz, el codificador/decodificador de voz basado en el modelo CELP puede conseguir una buena calidad de voz en un caso de una tasa de codificacion extremadamente baja y tendra, no obstante, un excelente rendimiento en un caso de tasa de codigos alta.
En la tecnologfa de codificacion de vectores, normalmente un libro de codigos algebraico se utiliza para realizar una codificacion de cuantizacion sobre una senal residual despues de un filtrado adaptativo. Despues de la informacion de una posicion y un sfmbolo de un pulso de libro de codigos algebraico optimo en una pista se obtiene mediante busqueda, un valor de mdice correspondiente se obtiene mediante calculo de codificacion, de modo que un extremo de decodificacion puede restablecer una secuencia de pulsos en conformidad con el valor del mdice. Bajo la premisa operativa de garantizar un restablecimiento sin perdidas, para reducir bits, que se necesitan para un valor de mdice de codificacion, en tanto que sea posible que uno de los principales objetivos de la investigacion y desarrollo de un metodo de codificacion de pulsos de libro de codigos algebraico.
A continuacion, se describe, a modo de ejemplo, un metodo de codificacion preferible en la codificacion de voz denominado como un metodo de codificacion de banda ancha de multiples tasas adaptativas (AMR_WB+: Adaptive Multi-Rate Wideband), para introducir un metodo de codificacion espedfico adoptado para un pulso de libro de codigos algebraico existente. En conformidad con la diferencia entre tasas de codigos de codificacion, 1 a N pulsos pueden codificarse en cada pista y se supone que cada pista tiene M=2m posiciones y los procedimientos para codificar uno a seis pulsos en cada pista en AMR_WB+ se describen, respectivamente, como sigue:
® Un solo pulso se codifica en cada pista.
Puesto que cada pista tiene 2m posiciones, un mdice de posicion de un pulso en cada pista necesita codificarse con m bits, y un mdice de sfmbolos del pulso necesita codificarse con 1 bit. Un valor de mdice para la codificacion de un pulso con un sfmbolo es:
I]p(m)=p+s*2m
en donde pe[0, 2m-1] es un mdice de posicion del pulso, s es un mdice de sfmbolo del pulso y cuando un sfmbolo del pulso es positivo, s se establece a 0 y cuando el sfmbolo del pulso es negativo, s se establece a 1; hpe[0, 2m+1-1].
El numero de bits necesarios para codificar un pulso en cada pista es: m+1.
@ Dos pulsos se codifican en cada pista.
5
10
15
20
25
30
35
40
45
50
55
En conformidad con un resultado de ©, m+1 bits se necesitan para codificar un pulso en cada pista, y m bits se necesitan para codificar un mdice de posicion de otro pulso; puesto que el orden de pulsos no es particularmente necesario, un sfmbolo de otro pulso puede indicarse mediante una relacion de tamanos obtenida disponiendo mdices de posiciones de los pulsos. Un valor de mdice para codificar dos pulsos es:
I2p(m)=p 1 +1, po x 2m=p 1+pO x2m+Sx22m
en donde p0 y p1e[0, 2m
-1] son indices de posicion de dos pulsos, respectivamente; s es un mdice de sfmbolo del pulso p0; una regla de indicacion espedfica para un sfmbolo de pulso pi es: p0 < pi que indica que los dos sfmbolos de los dos pulsos son el mismo y p0 > pi indica que los sfmbolos de los pulsos son opuestos; kp£[0, 22m+1- 1].
El numero de bits necesarios para codificar dos pulsos en cada pista es: 2m+1.
@ Tres pulsos se codifican en cada pista.
Cada pista esta dividida en dos secciones: Seccion A y Seccion B y cada seccion incluye 2m-1 posiciones. Una determinada seccion incluye al menos dos pulsos y en conformidad con un resultado de @, 2x(m-1)+1=2m-1 bits se necesitan para codificar la seccion; otro pulso realiza la busqueda en la pista completa, y en conformidad con un resultado de ©, m+1 bits se necesitan; ademas, un bit se necesita, asimismo, para indicar una seccion que incluye dos pulsos. Un valor de mdice para codificar tres pulsos es:
I3p(m)=I2p(m-1 )+kx22m'1+I i p(m) x 22m en donde k es un mdice de Seccion; I3p£[0, 23m+1-1].
El numero de bits necesarios para codificar tres pulsos en cada pista es: 3m+1.
© Cuatro pulsos se codifican en cada pista.
Cada pista esta dividida en dos secciones: Seccion A y Seccion B y cada seccion incluye 2m"1 posiciones. Casos de combinaciones de los numeros de pulsos incluidos en cada seccion se muestran en la tabla siguiente:
Tipo
Numero de pulsos en la Seccion A Numero de pulsos en la Seccion B Numero de 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 la tabla anterior, la base del numero de bits necesarios, que corresponde a cada tipo es que: para el tipo 0 y tipo 4, un metodo similar al de @ se adopta en una seccion que tenga cuatro pulsos, pero el numero de pulsos para realizar la busqueda completa es dos, que es equivalente a l2p(rn-2)+kx22m"3+l2p(rn-1)x22m"2; para el tipo 1, es equivalente a l-ip(m-1)+l3p(m-1)x2m; para el tipo 2, es equivalente a l2p(m-1)+l2p(rn-1)x22m'1; y para el tipo 3, es equivalente a l3p(m-1)+hp(m-1)x23m'2.
El tipo 0 y el tipo 4 se consideran como una clase de caso posible, del tipo 1 al tipo 3 se utilizan cada uno como un caso y en total, existen cuatro casos; por lo tanto, se necesitan dos bits para indicar un caso correspondiente, por lo que del tipo 1 al tipo 3 todos necesitan 4m-2+2=4m bits; ademas, para el caso que incluye el tipo 0 y el tipo 4, se necesita un bit adicional para distinguirlos y por lo tanto, el tipo 0 y el tipo 4 necesitan 4m-3+2+1=4m bits.
El numero de bits necesarios para codificar cuatro pulsos en cada pista es: 4m.
© Cinco pulsos se codifican en cada pista.
Cada pista esta dividida en dos secciones: Seccion A y Seccion B y cada seccion incluye 2m-1 posiciones. Una determinada seccion incluye al menos tres pulsos, y en conformidad con un resultado de @, se necesitan 3*(m- 1)+1=3m-2 bits para codificar la seccion; los dos pulsos restantes se buscan en la pista completa y en conformidad con un resultado de @, se necesitan 2m+1 bits; ademas, un bit adicional se necesita para indicar una seccion que incluye tres pulsos. Un valor de mdice para codificar cinco pulsos es:
5
10
15
20
25
30
35
40
45
50
imagen1
El numero de bits necesarios para codificar cinco pulsos en cada pista es: 5m.
© Seis pulsos se codifican en cada pista.
Cada pista esta dividida en dos secciones: Seccion A y Seccion B y cada seccion incluye 2m-1 posiciones. Casos de combinaciones de los numeros de pulsos incluidos en cada seccion se muestra en la tabla siguiente:
Tipo
Numero de pulsos en la Seccion A Numero de pulsos en la Seccion B Numero de bits necesarios
0
0
6 6m-5
1
1
5 6m-5
2
2
4 6m-5
3
3
3
6m-4
4
4
2 6m-5
5
5
1 6m-5
6
6
0 6m-5
En la tabla anterior, la base del numero de bits necesarios, que corresponde a cada tipo, puede deducirse siguiendo @, y por ello no se repite aqu de nuevo.
El tipo 0 y el tipo 6, el tipo 1 y el tipo 5, el tipo 2 y el tipo 4 se consideran cada uno como un caso posible, el tipo 3 se utiliza como un caso independiente y en total, existen cuatro casos; por lo tanto, dos bits se necesitan para indicar un caso correspondiente y el tipo 3 necesita 6m-4+2=6m-2 bits; para los casos que incluyen tipo combinado, se necesita un bit adicional para la distincion y por lo tanto, otros tipos, excepto para el tipo 3 requieren 6m-5+2+1=6m- 2 bits.
El numero de bits necesarios para codificar seis pulsos en cada pista es: 6m-2.
Sin embargo, en un metodo de codificacion de pulsos algebraico proporcionado por AMR_WB+, una logica de codificacion similar a la recursion se adopta para dividir un caso de codificacion de un gran numero de pulsos en varios codificados de codificacion de un pequeno numero de pulsos para su procesamiento, en donde la complejidad del calculo es grande y asimismo, con el aumento del numero de pulsos codificados en una pista, se acumula gradualmente la redundancia de un mdice de codificacion, lo que produce facilmente un uso innecesario de bits de codificacion.
El documento US 2006/290539 A1 da a conocer un metodo que comprende una secuencia de al menos una operacion de la que al menos una es una operacion de entropfa-bomba, que incluye: A) la recepcion como la entrada de la operacion de una secuencia de sfmbolos extrafda de un alfabeto de sfmbolos; B) dividir la entrada de la operacion en una secuencia de bloques cuyos valores pertenecen a un diccionario de valores de bloques de modo que los valores de bloques del diccionario de valores de bloques son asf clasificados en clases enumerativas que: i) al menos una clase enumerativa incluye mas de uno de los valores de bloques y ii) un valor de mdice respectivo esta asf asociado con cada valor de bloque que pertenece a una clase enumerativa a la que mas de un valor de bloque pertenece que algunos valores de bloque que pertenecen a diferentes clases enumerativas que tienen el mismo valor de mdice pero el valor de mdice de cada valor de bloque lo identifica de forma unica dentro de la clase enumerativa a la que pertenece; C) la generacion de un componente de salida de clasificacion mediante una operacion que, al menos si se cumple un criterio de codificacion predeterminado, incluye la codificacion de entropfa de una entrada de codificacion derivada de una secuencia de identificadores de clases que especifican la secuencia de clase enumerativa de clases enumerativas a las que pertenecen bloques sucesivos en la secuencia de entrada y D) para cada clase enumerativa que pertenece a la secuencia de clases a la que pertenece mas de uno de los valores de diccionario de valores de bloque, la generacion como como un componente de salida de mdice de una secuencia de indices de los valores de bloques sucesivos de la secuencia de entrada cuyos valores pertenecen a esa clase enumerativa, estando los indices asf asociados con valores de bloques de los que algunos valores de bloques pertenecen a diferentes clases enumerativas teniendo el mismo valor de mdice pero cada valor de mdice del valor de cada bloque lo identifica de forma unica dentro de la clase enumerativa a la que pertenece.
SUMARIO DE LA INVENCION
En conformidad con un primer aspecto de la presente invencion, se da a conocer un metodo de codificacion conjunta de vectores capaz de servir de ayuda para economizar bits de codificacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
La invencion se define en las reivindicaciones adjuntas.
Un metodo de codificacion conjunta de vectores para una senal de voz, comprende:
el calculo de un mdice de codificacion Indt de cada vector, en donde un sub-mdice t indica un t-esimo vector, te[0, T- 1], y T es el numero de vectores y es un numero entero mayor o igual a 2 y el mdice de codificacion es un mdice utilizado para indicar la distribucion de pulsos en la pista, en donde cada vector representa una distribucion de pulsos en una pista;
la division de al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division, al menos una vez, comprende la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido, siendo SLFt un numero entero positivo, el mdice Indto indica un numero de serie de un intervalo al que pertenece el mdice Indt, el mdice Indti indica un numero de serie del mdice Indt en el intervalo al que pertenece el mdice Indt, siendo la longitud del intervalo no mayor que el valor de SLFt, y
Indt^IndtoxSLFt+Indti;
en donde la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido es concretamente:
Indto=Int(Indt/SLFt), en donde Int() indica un redondeo a un numero entero menor, y Indti=Indt%SLFt, en donde % indica que se adopta un resto;
la combinacion de un mdice dividido de al menos un vector y de indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF; en donde la combinacion de un mdice dividido de al menos un vector e indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF es concretamente:
para un vector t que proporciona un mdice dividido para participar en la combinacion, la seleccion de un mdice dividido capaz de representar las caractensticas de ocupacion de espacio del mdice Indt para participar en la combinacion, en donde el hecho de ser capaz de representar las caractensticas de ocupacion de espacio del mdice Indt se refiere a que, en comparacion con otros indices divididos, una tasa de ocupacion de un margen de valores de un mdice dividido seleccionado para un espacio de codificacion es la mas proxima a una tasa de ocupacion de un margen de valores del mdice Indt para el espacio de codificacion; y
la realizacion de una codificacion en conformidad con el mdice combinado y otros indices divididos no combinados.
La presente invencion da a conocertambien un codificador correspondiente al metodo de codificacion anterior.
En la presente invencion, mas de dos vectores son conjuntamente codificados y un mdice de codificacion de al menos un vector se divide y luego se combina entre vectores diferentes, de modo que se pueda recombinar la codificacion de espacios inactivos de diferentes vectores, con lo que se ayuda a economizar bits de codificacion y puesto que un mdice de codificacion de un vector se divide y luego indices divididos mas cortos (en comparacion con un mdice antes de la division) se recombina, lo que ayuda a reducir las exigencias para la anchura binaria de las partes operativas en el calculo de codificacion/decodificacion.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura i es un diagrama esquematico de la division vectorial de una senal;
La Figura 2 es un diagrama de flujo esquematico de un metodo de codificacion conformidad con la presente invencion;
La Figura 3 es un diagrama de flujo esquematico de un metodo de codificacion conformidad con la presente invencion;
La Figura 4 es un diagrama de flujo esquematico de un metodo de codificacion conformidad con la presente invencion;
La Figura 5 es un diagrama de flujo esquematico de un metodo de codificacion conformidad con la presente invencion;
La Figura 6 es un diagrama de flujo esquematico de un metodo de codificacion conformidad con la presente invencion;
segun la forma de realizacion i, en segun la forma de realizacion 2, en segun la forma de realizacion 3, en segun la forma de realizacion 4, en segun la forma de realizacion 5, en
5
10
15
20
25
30
35
40
45
50
55
La Figura 7 es un diagrama de flujo esquematico de un metodo de decodificacion segun la forma de realizacion 6;
La Figura 8 es un diagrama de flujo esquematico de un metodo de decodificacion en conformidad con la forma de realizacion 7;
La Figura 9 es un diagrama estructural logico esquematico de un codificador segun la forma de realizacion 8, en conformidad con la presente invencion;
La Figura 10 es un diagrama estructural logico esquematico de un codificador segun la forma de realizacion 9,
La Figura 11 es un diagrama estructural logico esquematico de un decodificador segun la forma de realizacion 10;
La Figura 12 es un diagrama estructural logico esquematico de un decodificador segun la forma de realizacion 11;
La Figura 13 es un diagrama esquematico de un procedimiento de codificacion conjunta de los 4 bits mas altos de 4
pistas sobre la base de una forma de realizacion de la presente invencion; y
La Figura 14 es un diagrama esquematico de un procedimiento de codificacion conjunta de los 8 bits mas altos en cascada de 2 etapas en 4 pistas sobre la base de otra forma de realizacion.
DESCRIPCION DETALLADA DE LAS FORMAS DE REALIZACION
Una forma de realizacion de la presente invencion da a conocer un metodo de codificacion conjunta de vectores, siendo mas de dos vectores conjuntamente codificados y un mdice de codificacion de al menos un vector se divide y luego se combina entre diferentes vectores, con lo que se economizan bits de codificacion y se reduce la longitud de datos que participan en el calculo. Formas de realizacion de la presente invencion dan a conocer, ademas, un codificador conjunto de vectores, en correspondencia.
Con el fin de hacer una descripcion concisa y de facil entendimiento, la distribucion de pulsos en una pista se utiliza como un ejemplo para un vector a continuacion y la codificacion conjunta para multiples pistas se describe para representar la codificacion conjunta para multiples vectores. Es facilmente entendible que la presente invencion no esta limitada a la codificacion/decodificacion para la distribucion de pulsos en pistas y en tanto que se necesite realizar un procesamiento de codificacion/decodificacion sobre multiples vectores formados a partir de un grupo de datos, puede adoptarse la solucion dada a conocer por la presente invencion y los terminos “pista” y “pulso” simplemente indican los datos en un vector con un significado concreto y no constituyen una limitacion sustancial.
En un codificador de voz, la informacion sobre las posiciones y sfmbolos (si estan relacionados) de todos los pulsos en cada pista se obtiene mediante una busqueda del libro de codigos y la informacion necesita transferirse completamente a un extremo de decodificacion, de modo que la informacion sobre las posiciones y los sfmbolos (si estan relacionados) de todos los pulsos puede recuperarse, de forma unica, en el extremo de decodificacion y asimismo, con el fin de recudir una tasa binaria lo mas posible, se espera utilizar bits lo menos posible para transferir la informacion.
Puede conocerse mediante un analisis teorico que el numero de permutaciones y combinaciones de posiciones y sfmbolos (si estan relacionados) de todos los pulsos en una misma pista es un valor mmimo de un espacio de libro de codigos, y el numero de bits de codificacion correspondiente es un valor lfmite inferior teorico. El numero total de posiciones y el numero de total de pulsos en una pistan estan fijados. En lo que respecta un caso en el que el numero total de posiciones y el numero total de pulsos en una pista son valores diferentes, el numero de permutaciones y combinaciones de posiciones y sfmbolos de todos los pulsos no es siempre una potencia entera de 2 y por lo tanto, el valor lfmite inferior teorico del numero de bits de codificacion no es siempre un numero entero y en este caso, el numero real de bits de codificacion para una codificacion de pista unica es al menos la seccion entera del valor lfmite inferior teorico mas 1, de modo que es inevitable la ocurrencia de un espacio de libro de codigos inactivo parcial. A modo de ejemplo, la tabla 1 proporciona un valor lfmite inferior teorico y un valor lfmite inferior real del numero de bits de codificacion y una situacion de un espacio inactivo, que estan en una pista con el numero total de posiciones que es 16 en un caso en que el numero total N de pulsos necesarios para la codificacion es 1 a 7 (teniendose en cuenta que un pulso tiene un sfmbolo).
Tabla 1
N
Numero total de permutaciones y combinaciones Numero de bits (bit) necesarios Numero de combinaciones inactivas Proporcion de combinaciones inactivas
Valor lfmite inferior teorico
Valor lfmite inferior real para codificacion de pista unica
1
32 5 5 0 0
5
10
15
20
25
30
35
40
45
50
N
Numero total de permutaciones y combinaciones Numero de bits (bit) necesarios Numero de combinaciones inactivas Proporcion de combinaciones inactivas
Valor lfmite inferior teorico
Valor lfmite inferior real para codificacion de pista unica
2
512 9 9 0 0
3
5472 12.4179 13 2720 33.2%
4
44032 15.4263 16 21504 32.8%
5
285088 18.1210 19 239200 45.6%
6
1549824 20.5637 21 547328 26.1%
7
7288544 22.7972 23 1100064 15.1%
Puede deducirse de la tabla 1 que, en una mayona de casos, el valor Ifmite inferior real sigue dando lugar a un importante desperdicio del espacio del libro de codigos y por lo tanto, la presente invencion propone que, estando mas de dos pistas conjuntamente codificadas, un mdice de codificacion de al menos una pista se divida en al menos dos indices divididos y luego, un mdice dividido de una pista e indices divididos o indices de codificacion de otras pistas se combinen y luego se utilicen para la codificacion.
Este metodo esta basado en una idea como sigue: la codificacion conjunta para mas de dos pistas puede permitir espacios del libro de codigos inactivos en una codificacion de pista unica a combinarse y una vez combinada, los espacios inactivos son suficientes, pudiendose reducir un bit de codificacion real. Sin embargo, si los indices de codificacion en mas de dos pistas se combinan directamente, una longitud de codificacion final puede ser grande, o incluso puede superar la anchura binaria (tal como 64 bits) generalmente utilizada para la operacion y en este momento, se necesita disenar codigos de procedimiento de procesamiento de calculo dedicados para operaciones de codificacion o decodificacion tales como adicion, sustraccion, multiplicacion y division, con lo que se obtiene un aumento de la complejidad del procesamiento.
Por lo tanto, se tiene en cuenta que un mdice de codificacion de al menos una pista es objeto de division, la combinacion interpistas se realiza con al menos un mdice dividido y de este modo, los espacios inactivos interpistas pueden combinarse en una cierta medida y asimismo, se reduce tambien la longitud de un valor que participa en la operacion.
El analisis teorico para el principio de la codificacion conjunta de multiples pistas de la presente invencion da a conocer anteriormente, y a continuacion, varias soluciones preferibles que se ilustran en detalle con formas de realizacion espedficas, respectivamente.
Forma de realizacion 1: Un metodo de codificacion de pulsos conjunto de pistas, segun se ilustra en la Figura 2, incluye las etapas siguientes:
A1: Calcular un mdice de codificacion Indt de cada pista, en donde un sub-mdice t indica una t-esima pista, te[0, T- 1], y T es el numero de pistas y es un numero entero mayor o igual a 2.
Varios metodos existentes pueden adoptarse para el calculo del mdice Indt de cada pista. A modo de ejemplo, para el metodo de calculo del mdice de codificacion de pista unica dado a conocer en la solicitud de patente China (con fecha de publicacion de 29 de octubre de 2008) con numero de publicacion CN101295506, puede hacerse especial referencia a la lmea 18, pagina 13 a la lmea 9, pagina 15 (forma de realizacion 2, Figura 14 y Figura 15) en la especificacion del documento de solicitud de patente y para un metodo de calculo de decodificacion correspondiente, puede hacerse a la lmea 23, pagina 16 a la lmea 12, pagina 17 (forma de realizacion 4) en la especificacion del documento de solicitud de patente. Tambien a modo de ejemplo, para el metodo de calculo del mdice de codificacion de pista unica dado a conocer en la solicitud de patente China (con fecha de publicacion de 18 de marzo de 2009) con numero el numero de publicacion siendo CN101388210, puede hacerse referencia especial a la lmea 23, pagina 8 a la lmea 7, pagina 10 (forma de realizacion 2, Figura 7) en la especificacion del documento de solicitud de patente y para un metodo de calculo de decodificacion correspondiente, puede hacerse referencia a la lmea 10, pagina 21 a la lmea 27, pagina 21 (forma de realizacion 6) en la especificacion del documento de solicitud de patente.
Con el fin de economizar mejor los bits de codificacion, durante la seleccion de un metodo de calculo del mdice Indt, un metodo de calculo capaz de alcanzar el valor lfmite inferior teorico del numero de bits de codificacion de pista unica puede seleccionarse en tanto que sea posible. Ademas, un metodo de calculo que permite que sea continuo el margen de valores del mdice Indt o que sea continuo lo mas posible se utiliza tambien de forma preferentemente, con el fin de utilizar el espacio inactivo. Conviene senalar que, en tanto que ambos extremos de codificacion y de decodificacion puedan determinar un metodo de calculo adoptado por una pista, pistas diferentes pueden adoptar metodos de calculo del mdice Indt diferentes.
5
10
15
20
25
30
35
40
45
50
55
60
65
A2: Dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una vez sea equivalente a dividir el mdice Indt en dos indices divididos Indt0 e Indt1 en conformidad con un factor establecido SLFt.
La division de Indt puede entenderse como sigue: que la informacion del mdice se soporta por un parametro que se convierte en la informacion de mdice que se soporta por mas de dos parametros. A modo de ejemplo, el hecho de que originalmente un parametro con el margen de valores de [0, 99] indica un centenar de casos en que pueden dividirse en esos dos parametros con el margen de valores siendo [0, 9] indicando normalmente un centenar de casos.
El mdice Indt puede dividirse en multiples indices divididos tales como Indtc, Indti, Indt2, Indt3, ....., y asf
sucesivamente. En el calculo real, un mdice dividido necesitado por la presente invencion puede obtenerse dividiendo directamente el mdice Indt o puede obtenerse dividiendo de nuevo una seccion divida por el mdice Indt; sea cual fuere el caso, la division para obtener el mdice dividido (es decir, un mdice dividido utilizado para una combinacion posterior) necesitado por la presente invencion puede entenderse equivalentemente como un proceso de dividir el mdice Indt en dos indices divididos Indtc e Indti, uno de los cuales es un mdice dividido utilizado para una combinacion posterior, y el otro puede entenderse como una seccion que incluye la informacion restante del mdice Indt.
Por lo tanto, el factor SLFt puede entenderse como sigue: el margen de valores del mdice Indt original se divide en varios intervalos, siendo la longitud de cada intervalo no superior al valor de SLFt, siendo SLFt un numero entero positivo y Indt0 indica un numero de serie de un intervalo al que pertenece el mdice Indt e Indti indica un numero de serie del mdice Indt en el intervalo al que pertenece el mdice Indt (evidentemente, Indti^SLFt), y:
imagen2
Cuando el signo de 'menos que' se toma en la formula anterior, ello significa que un espacio proporcionado conjuntamente por Indt0 e Indti puede ser mayor que un espacio originalmente ocupado por el mdice Indt; puesto que, en general, el espacio de codificacion inactivo del mdice Indt tiene algunos restos, si el espacio conjunto de Indt0 e Indti es ligeramente mayor, en general la econoirna de bits de codificacion final puede no resultar desfavorablemente influida.
Por supuesto, el caso mas economico es que la division sea capaz de realizarse en tanto que sea posible en conformidad con el tamano del espacio del mdice Indt, esto es:
Indt0=Int(Indt/SLFt), en donde Int() indica un redondeo al numero entero inferior y
Indti=Indt%SLFt, en donde % indica que se forma un resto.
En este caso, el margen de valores del mdice Indt es continuo, en comparacion con el margen de valores del mdice Indt, que es inactivo en el espacio conjuntamente proporcionado por Indt0 e Indti que solamente un diferencia entre un valor maximo de Indti y SLFt cuando Indt0 toma un valor maximo.
Diferentes pistas pueden adoptar SLFt, diferentes y si multiples indices divididos se dividen en una misma pista, cada division puede utilizar tambien un SLFt, diferente en tanto que SLFt utilizado por una determinada division de indices divididos por una determinada pista se determine a tal respecto.
A3: Combinar un mdice dividido de al menos una pista y los indices divididos o indices de codificacion de otras pistas para generar un mdice combinado IndSLF.
En correspondencia con la "division", la "combinacion" puede entenderse como sigue: que la informacion de mdice se soporta por mas de dos parametros que se convierten en la informacion de mdice que se soporta por un solo parametro. Evidentemente, el margen de valores de un parametro despues de la combinacion es mayor que, o al menos igual a un producto de margen de valores de cada parametro antes de la combinacion. La combinacion de multiples parametros puede indicarse por una formula como sigue:
AI=((((ai><Ai_] +ar_i).......)x A3+a2)x A] +ai) x A0+ao
en donde AI indica un parametro despues de la combinacion, ai indica I+i parametros antes de la combinacion, ie[0, I], y Ai indican el numero de todos los valores de ai. Esta manera de la combinacion es la mas compacta, siendo el margen de valores de un parametro despues de la combinacion igual a un producto de los margenes de valores de cada parametro antes de la combinacion y toda la combinacion de parametros aqrn mencionada puede adoptar esta manera operativa. Por supuesto, pueden adoptarse tambien otras maneras de la combinacion. A modo de ejemplo, el margen de valores de un parametro despues de la combinacion puede ser mayor que un producto de margenes
5
10
15
20
25
30
35
40
45
50
55
60
65
de valores de cada parametro antes de la combinacion en tanto que un parametro despues de la combinacion pueda retener completamente informacion de cada parametro antes de la combinacion; si el espacio de valor de un parametro despues de la combinacion no se supera excesivamente en comparacion con un producto de espacio de valor de cada parametro antes de la combinacion, en general la econoirna de bits de codificacion final no puede influirse de forma desfavorable.
En la presente invencion, un mdice combinado generado incluye al menos un mdice dividido de una pista y ademas, los indices divididos o los indices de codificacion de otras pistas pueden participar en la combinacion. Conviene senalar que la presente invencion no limita el numero de indices combinados y si una pista proporciona multiples indices divididos para participar en la combinacion, los indices divididos pueden combinarse respectivamente en indices combinados diferentes.
A4: Realizar una codificacion en conformidad con un mdice combinado y otros indices divididos no combinados.
® El mdice combinado y cada mdice dividido no combinado pueden codificarse de forma directa, respectivamente. Puesto que cada seccion de combinacion en el mdice combinado incluye una parte de un espacio inactivo de una pista, es posible economizar bits de codificacion de forma fija.
@ Ademas, una manera de codificacion de longitud variable puede adoptarse tambien para un mdice combinado, con el fin de economizar mas bits de codificacion del mdice combinado, es decir:
comparar el mdice combinado IndsLF y ajustar un valor umbral THR, en donde,
THR<2A(KsLF)-IndsLF,max,
2a(Kslf) indica una potencia de 2 de Kslf, siendo Kslf la longitud de la secuencia binaria del mdice IndsLF,max, y el mdice IndsLF,max indica un valor maximo del mdice IndsLF;
si el mdice IndsLF es menor que el umbral THR, se realiza la codificacion del mdice IndsLF utilizando un primer numero de bits de codificacion; de no ser asf, se realiza la codificacion del mdice IndsLF anadido con un valor de compensacion THRo utilizando un segundo numero de bits de codificacion, en donde se tiene la relacion THR<THRo<2A(KsLF)-IndsLF,max, siendo el primer numero menor que el segundo numero, el segundo numero es menor o igual a Kslf, y el primer numero y el segundo numero son ambos numeros enteros positivos.
Para el principio, la deduccion y descripcion espedficas del metodo anterior para economizar bits, se hace referencia a la solicitud de patente China con numero de aplicacion siendo CN200910150637.8 (siendo la fecha de solicitud de la patente el 19 de junio de 2009).
@ El mdice combinado puede dividirse y luego combinarse con otros indices divididos no combinados y luego, procederse a su codificacion.
Es decir, el mdice combinado se divide en T1 indices recombinados Indto' en conformidad con un margen de valores establecidos, en donde T1 es menor o igual al numero de pistas que generan el mdice combinado (el numero de valores de t puede ser aqu menor que el numero T de valores de t lo que indica originalmente una t-esima pista, pero puesto que se utiliza un mdice recombinado para la recombinacion con un mdice dividido no combinado de una pista t correspondiente, el sub-mdice t se sigue utilizando continuamente para indicar que esta en correspondencia con una pista), un margen de valores de al menos un mdice Indto' es mayor que un margen de valores del mdice dividido, que participa en la combinacion, de la pista t correspondiente y un margen de valores de al menos un mdice Indto' es menor que un margen de valores del mdice dividido, que participa en la combinacion, de la pista t correspondiente. En este caso, la division de un mdice combinado puede realizarse con referencia a la division de un mdice de codificacion en la etapa A2, pero se necesita dividir T1 indices recombinados, pudiendose basar cada division en el mismo o diferente margen de valores y la limitacion anterior al margen de valores del mdice recombinado dividido permite la convergencia del espacio inactivo por el mdice combinado a concentrarse en determinados indices recombinados en una cierta medida durante la division, con lo que se facilita la economica de bits de codificacion.
Cada mdice recombinado y un mdice dividido no combinado de una pista correspondiente se combinan respectivamente y luego se codifican, y si existe una pista sin que le sea asignado un mdice recombinado, se codifica un mdice dividido no combinado de la pista. Para la combinacion de un mdice recombinado y un mdice dividido de una pista correspondiente, puede hacerse referencia al proceso de combinacion de indices combinados antes citados. Puesto que el mdice combinado agrega el espacio inactivo, en un caso en que los bits de codificacion de una pista original para un mdice recombinado asignado no se incrementa, la division del mdice combinado se completa antes de que a algunas pistas pueda asignarse un mdice recombinado y en este caso, solamente puede codificarse el mdice dividido no combinado de la pista.
Por supuesto, si existe otra pista que no proporcione un mdice dividido y cuyo mdice de codificacion no participe en
5
10
15
20
25
30
35
40
45
50
55
60
la combinacion, la pista puede considerarse como una pista de codificacion independiente y no se examina en la presente invencion.
Forma de realizacion 2: Un metodo de codificacion de pulsos conjunto de pistas. Esta forma de realizacion da a conocer una solucion preferible para seleccionar indices divididos a combinarse sobre la base de la forma de realizacion 1, segun se ilustra en la Figura 3, que incluye las etapas siguientes:
B1: Calcular un mdice de codificacion Indt de cada pista.
B2: Dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a la division de Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido.
La etapa B1 y la etapa B2 pueden realizarse con referencia a la etapa A1 y etapa A2 de la forma de realizacion 1.
B3: Combinar un mdice dividido de al menos una pista e indices divididos o indices de codificacion de otras pistas para generar un mdice combinado IndsLF, y, cuando se selecciona un mdice dividido que participa en la combinacion, seleccionar, para una pista t, un mdice dividido capaz de representar las caractensticas de ocupacion del espacio del mdice Indt para participar en la combinacion.
El hecho de ser capaz de representar las caractensticas de ocupacion de espacio del mdice Indt se refiere a que, en comparacion con otros indices divididos, una tasa de ocupacion de un margen de valores de mdice dividido seleccionado para un espacio de codificacion es la mas proxima a una tasa de ocupacion de un margen de valores del mdice Indt para el espacio de codificacion.
En la presente invencion, puesto que los espacios inactivos de diferentes pistas se combinan para ayudar a economizar bits de codificacion, con el fin de conseguir un mejor efecto de utilizar el espacio inactivo, se espera que el margen de valores del mdice dividido que representa la pista t para realizar la combinacion pueda mantener la proporcion inactiva del espacio de codificacion del margen de valores del mdice Indt en tanto que sea posible, lo que significa que el margen de valores de la seccion restante del mdice Indt esta mas proximo a la utilizacion completa del espacio de codificacion, como tal, proximo a una potencia entera de 2.
B4: Realizar una codificacion en conformidad con el mdice combinado y otros indices divididos no combinados.
La etapa B4 puede ejecutarse con referencia a la etapa A4 de la forma de realizacion 1.
La adopcion de la solucion de esta forma de realizacion puede garantizar, ademas, el efecto de que un mdice combinado economiza bits de codificacion.
Forma de realizacion 3: Un metodo de codificacion de pulsos conjunto de pistas. Esta forma de realizacion da a conocer una solucion preferible para dividir un mdice de codificacion sobre la base de la forma de realizacion 1, segun se ilustra en la Figura 4, que incluye las etapas siguientes:
C1: Calcular un mdice de codificacion Indt de cada pista.
La etapa C1 puede ejecutarse con referencia a la etapa A1 de la forma de realizacion 1.
C2: Dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una
vez es equivalente a dividir el mdice Indt en dos indices divididos Indto e Indt1 en conformidad con factor SLFt establecido, Indto=Int(Indt/SLFt), y Indt1=Indt%SLFt, en donde, SLFt=2A(Kt), o SLFt=Int(Indt,max/2A(Kt)), siendo Kt un numero entero positivo y el mdice Indtmax indica un valor maximo del mdice Indt.
® Cuando SLFt=2A(Kt),
imagen3
imagen4
En este caso, el margen de valores del mdice Indt1 puede utilizar completamente un espacio de codificacion, siendo inactivo solamente una diferencia entre un valor maximo de Indt1 y 2A(Kt) cuando el mdice Indto adopta un valor maximo, y el margen de valores del mdice Indto conserva completamente las caractensticas de ocupacion de espacio del mdice Indt. Evidentemente, cuanto mas pequeno sea el valor de Kt, tanto mas proximas son las caractensticas de espacio de Indto a las de Indt y cuanto Kt es 0, el mdice Indto se degenera en el mdice Indt.
5
10
15
20
25
30
35
40
45
50
55
60
65
© Cuando SLFt=Int(Indt,max/2A(Kt)),
este caso es simplemente opuesto al de ©, y realmente, es equivalente al de los indices Indto e Indti en © intercambian posiciones, el margen de valores del mdice Indto puede utilizar completamente el espacio de codificacion y el margen de valores del mdice Indti conserva completamente las caractensticas de ocupacion de espacio del mdice Indt. Evidentemente, cuanto mas pequeno sea el valor de Kt, tanto mas proximas las caractensticas de espacio de Indti son con respecto a Indt, y cuando Kt es 0, el mdice Indti se degenera en el mdice Indt.
C3: Combinar un mdice dividido de al menos una pista y los indices divididos o indices de codificacion de otras pistas para generar un mdice combinado IndsLF.
Puede conocerse, en conformidad con el analisis realizado en la forma de realizacion 2, que si un mdice combinado necesita conseguir un mejor efecto de economizar bits de codificacion, es necesario seleccionar un mdice dividido que mantenga las caractensticas de espacio del mdice Indt en tanto que sea posible y por lo tanto, para la pista t que proporciona un mdice dividido para participar en la combinacion,
si SLFt=2A(Kt), es adecuado seleccionar el mdice Indto para participar en la combinacion y
si SLFt=Int(Indt,max/2A(Kt)), es adecuado seleccionar el mdice Indti para participar en la combinacion.
Ademas, puede conocerse en conformidad con el analisis realizado en la etapa C2 que, cuanto mas pequeno sea el valor de Kt, tanto mejor seran conservadas las caractensticas de espacio por el mdice dividido seleccionado para participar en la combinacion. Sin embargo, la longitud de un mdice combinado correspondiente se aumenta, y por lo tanto, la longitud del mdice dividido que participa en la combinacion puede determinarse en conformidad con la condicion de una pista real (tal como la longitud del mdice de codificacion original y la extension inactiva del espacio). Durante el diseno real, las proporciones de espacios inactivos, que pueden conservarse por los indices divididos utilizados para la combinacion y que corresponden a diferentes valores de Kt, pueden calcularse uno a uno y un valor Kt que puede mantener un espacio inactivo de una alta proporcion y no causar que un mdice dividido participe en la combinacion siendo excesivamente largo se selecciona a este respecto. A modo de ejemplo, puede seleccionarse que Kt=Kt,max-2, o Kt=Kt,max-3, o Kt=Kt,max-4, en donde Kt,max es la longitud de una secuencia binaria del mdice Indt,max.
C4: Realizar la codificacion en conformidad con el mdice combinado y otros indices divididos no combinados.
La etapa C4 puede ejecutarse con referencia a la etapa A4 de la forma de realizacion i.
La manera de dividir el mdice Indt, dada a conocer en esta forma de realizacion, puede garantizar que uno de los indices divididos conserve las caractensticas de ocupacion de espacio del mdice Indt en tanto que sea posible, de modo que el mdice combinado pueda economizar mejor bits de codificacion.
Forma de realizacion 4: Un metodo de codificacion de pulsos conjunto de pistas. Esta forma de realizacion da a conocer una solucion simple, comoda y facil para dividir un mdice de codificacion sobre la base de la forma de realizacion i, segun se ilustra en la Figura 5, que incluye las etapas siguientes:
Di: Calcular un mdice de codificacion Indt de cada pista.
La etapa Di puede ejecutarse con referencia a la etapa Ai de la forma de realizacion i.
D2: Dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una vez sea equivalente a dividir el mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido y la practica espedfica es la de seleccionar un valor de un bit situado en una posicion establecida de Indt como Indto, y valor de bits en las posiciones restantes como Indti.
En esta forma de realizacion, un mdice dividido se obtiene directamente a partir del mdice Indt en conformidad con una manera de division binaria. Evidentemente, en este caso, SLFt=2A(Kt), en donde el numero de bits en la posicion establecida es Kto, el numero de bits en la posicion restante es Kt, Kto+Kt=Kt,max, siendo Ktmax la longitud de la secuencia binaria del mdice Indtmax y el mdice Indtmax indica un valor maximo del mdice Indt.
Se entiende facilmente que, cuando los bits establecidos que forman un determinado mdice dividido no son continuos, ello significa que el margen de valores del mdice Indt es asignado de forma discontinua, en varios intervalos con una longitud de SLFt pero las caractensticas de ocupacion del mdice dividido para el espacio de codificacion no resultan influidas por el hecho de que un margen de valores incluido sea continuo, o no, y solamente depende de si los intervalos estan completamente ocupados.
Conviene senalar que, cuando un parametro se divide en una manera a nivel de bits, una posicion de un bit se
5
10
15
20
25
30
35
40
45
50
55
60
65
describe en conformidad con la longitud de secuencia binaria del valor maximo del parametro. A modo de ejemplo, si la longitud de la secuencia binaria del mdice Indt,max es 10, un valor del mdice Indt puede ser simplemente 2 en un determinado momento (a menos que no se ilustre especialmente de otro modo, siendo los valores utilizados todos ellos decimales) y la longitud de secuencia binaria efectiva del mdice Indt son solamente 2 bits, pero cuando el parametro se divide en una manera a nivel de bits, una posicion necesaria para dividir un bits es todavfa calculada comenzando desde los 10 bits de orden superior.
Ademas, puede deducirse a diferencia de la situacion ® descrita en la etapa C2 de la forma de realizacion 3 que la situacion ® es realmente equivalente a la de la secuencia binaria con una longitud siendo de Ktmax, comenzando el valor de Kto bits a partir del bit de orden superior del mdice Indt que se selecciona como el mdice Indto, y un valor de bits restantes se selecciona como Indti, es decir, el mdice Indt se divide en dos segmentos en conformidad con una prioridad binaria y un valor de cada segmento es correspondiente a un mdice dividido.
D3: Combinar un mdice dividido de al menos una pista en indices divididos o indices de codificacion de otras pistas para generar mdice combinado IndsLF, y la practica espedfica es la de seleccionar un mdice dividido de Indt que incluya al menos valores de los dos bits superiores para participar en la combinacion.
Puede conocerse en conformidad con el analisis en la forma de realizacion 2 que si se necesita un mdice combinado para conseguir un mejor efecto de economizar bits de codificacion, es necesario seleccionar un mdice dividido que conserve las caractensticas de espacio del mdice Indt en la mayor medida posible, y cuando el mdice Indt se divide en una manera a nivel de bits, evidentemente, varios bits superiores son los mas capaces de reflejar las caractensticas de espacio del mdice Indt y por lo tanto, no importa si los bits que forman un mdice dividido sean continuos, o no, incluyendo un mdice dividido valores de los dos bits superiores que se seleccionan preferentemente para participar en la combinacion. Por supuesto, una situacion mas preferible es, cuando el mdice Indt se divide en conformidad con la prioridad binaria de la secuencia binaria, que un mdice dividido correspondiente a un segmento dividido localizado en un bit de orden superior sea seleccionado para participar en la combinacion, tal como Indto en la situacion ® descrita en la etapa C2 de la forma de realizacion 3.
D4: Realizar la codificacion en conformidad con el mdice combinado y otros indices divididos no combinados.
La etapa D4 puede ejecutarse con referencia a la etapa A4 de la forma de realizacion 1. Ademas, si se adopta una manera en la que el mdice combinado sea dividido, combinandose luego con otros indices divididos no combinados y luego codificados, la division del mdice combinado puede realizarse tambien con referencia a la etapa D2 anterior, es decir,
dividir la longitud total Kslf de la secuencia binaria del mdice combinado en T1 secciones en conformidad con una longitud establecida, en donde T1 es menor o igual al numero de pistas que generan el mdice combinado, un valor de cada seccion esta en correspondencia con un mdice Indto', siendo Kslf la longitud de la secuencia binaria del IndsLF,max, y el mdice IndsLF,max indica un valor maximo del mdice IndsLF. A modo de ejemplo, la division de Kslf en conformidad con un valor de Kto usado por la pista t que genera el mdice combinado en donde el numero de bits divididos por cada mdice Indto' en correspondencia es menor o igual al valor de Kto utilizado por una pista t correspondiente.
A modo de ejemplo, si existen cuatro pistas, y cada pista extrae respectivamente los cuatros bits superiores de un mdice de codificacion como un mdice dividido para participar en la combinacion, despues de la combinacion, el mdice combinado puede dividirse analogamente con cuatro bits como un segmento, y se utiliza como un mdice recombinado para sustituir a los cuatros bits superiores de un mdice de codificacion original. El mdice combinado combina un espacio inactivo, y la longitud de secuencia binaria puede ser menor que 4+4+4+4, con lo que el mdice recombinado obtenido por una determinada pista puede tener solamente 3 bits o incluso menos, lo que hace que se economicen bits de codificacion de manera fija. Conviene senalar que cuando los indices divididos se combinan en un mdice combinado, la operacion de economizar bits esta completada, por lo que cuando el mdice combinado se divide en una manera a nivel de bits, no se necesita ninguna regla especial, y en tanto que un extremo de codificacion y un extremo de decodificacion adopten una misma regla, se pueden segmentar bits continuamente o no se pueden extraer de forma continua.
Esta forma de realizacion da a conocer una manera de division simple, comoda y facil del mdice Indt, que puede no solamente garantizar que uno de los indices divididos conserve las caractensticas de ocupacion de espacio del mdice Indt en la medida de lo posible, sino que tambien se pone en practica de forma conveniente.
Forma de realizacion 5: Un metodo de codificacion de pulsos conjunto de pistas. Esta forma de realizacion da a conocer un metodo de codificacion de pulsos conjunto de pistas dispuestas en cascada de capas sobre la base de la forma de realizacion 1, segun se ilustra en la Figura 6, que incluye las etapas siguientes:
E1: Pistas del grupo participan en la codificacion conjunta, en donde cada grupo incluye al menos dos pistas.
A modo de ejemplo, dieciseis pistas participan en la codificacion conjunta, formando cada cuatro pistas un grupo y
5
10
15
20
25
30
35
40
45
50
55
60
65
en total, se constituyen cuatro grupos.
E2: Dividir y combinar un mdice de codificacion en cada grupo con referencia a la manera descrita en la forma de realizacion 1.
Es decir, se calcula un mdice de codificacion de cada pista; al menos dos indices de codificacion son divididos; cada mdice de codificacion se divide al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a dividir un mdice de codificacion en dos indices divididos de una sola etapa en conformidad con un factor de una sola etapa establecido, un mdice dividido de una sola etapa indica numeros serie de varios intervalos con una longitud no superior a un valor establecido, el otro mdice dividido de una etapa indica un numero de serie del mdice de codificacion en el intervalo al que pertenece el mdice de codificacion; y los indices divididos de una sola etapa procedentes de al menos dos pistas se combinan para generar un mdice combinado de una sola etapa.
E3: Comenzando desde m=2, repetir la operacion siguiente de generar un mdice combinado de m-etapas hasta m=M; dividir al menos dos indices combinados de (m-l)-etapas, en donde me[2, M], siendo M un numero entero mayor o igual a 2; dividir cada mdice combinado de (m-l)-etapas al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a dividir un mdice combinado de (m-l)-etapas en dos indices divididos de m-etapas en conformidad con un factor de m-etapas y combinar indices divididos de m-etapas a partir de al menos dos indices combinados de (m-l)-etapas para generar un mdice combinado de m-etapas.
Considerando el mdice combinado de (m-l)-etapas necesario para dividirse como el mdice de codificacion en cada forma de realizacion antes citada, el procedimiento de division y combinacion anterior para cada etapa puede realizarse con referencia a la descripcion correspondiente y por ello no se repite aqrn de nuevo. A modo de ejemplo, con referencia a la forma de realizacion 4, el mdice dividido de una sola etapa utilizado para generar el mdice combinado de una etapa puede ser un valor interceptado a partir de un bit establecido de un mdice de codificacion correspondiente que comienza desde el bit de orden superior y el mdice dividido de m-etapas utilizado para generar el mdice combinado de (m-l)-etapas puede ser un valor interceptado desde un bit establecido de un mdice combinado de (m-l)-etapas comenzando desde el bit superior.
E4: Realizar la codificacion en conformidad con el mdice combinado de M-etapas y otros indices divididos de una etapa a (M-l)-etapas.
De forma similar a la etapa A4 en la forma de realizacion 1, el mdice combinado de M-etapas y otros indices divididos de una etapa a (M-1)-etapas no combinados pueden codificarse de forma directa, respectivamente. O, ademas, el mdice combinado de M-etapas puede dividirse y luego combinarse con otros indices divididos de (M-1)- etapas no combinados y luego codificados, por lo que aqrn no se repite de nuevo.
Conviene senalar que, aunque el procedimiento de codificacion anterior, con el fin de hacer la descripcion mas clara y proporcionarse con una operabilidad dclica, el procedimiento de division y combinacion de cada etapa se describe de forma coherente, y en realidad puede ser tambien la misma que la descrita en la forma de realizacion 1. Un mdice dividido se permite que participe en la combinacion y tambien un mdice de codificacion (para combinacion de primera etapa) o mdice combinado (para combinacion de segunda etapa anterior) se permite para participar directamente en la combinacion, o incluso puede permitirse a un mdice dividido participar en la combinacion, tal como un mdice dividido de una etapa no combinado participa en la generacion de un mdice combinado de tres etapas) con el salto operativo de una etapa, pero en estos casos, se necesita establecer una regla de division y combinacion para cada etapa, de modo que el extremo de codificacion y el extremo de decodificacion se mantengan compatibles.
Esta forma de realizacion es aplicable a la codificacion conjunta para pistas excesivas, tales como 16 o 32 o incluso mas pistas, en un caso de multiples pistas, aun cuando cada pista solamente extraiga varios de bits de indices divididos para combinarse, el mdice combinado se hace tambien excesivamente largo y, en este caso, se adopta la manera de procedimiento en cascada de capas anterior, a traves del procedimiento de division y combinacion de multiples capas, lo que puede asegurar que los espacios inactivos esten completamente combinados y el mdice combinado no se haga excesivamente largo.
Forma de realizacion 6: Un metodo de decodificacion de pulsos conjunto de pistas. El metodo de decodificacion dado a conocer en esta forma de realizacion decodifica el codigo conjunto obtenido en conformidad con el metodo de codificacion de la forma de realizacion 1 a la forma de realizacion 4 y un procedimiento de decodificacion es un procedimiento inverso para un procedimiento de codificacion, segun se ilustra en la Figura 7, que incluye las etapas siguientes.
F1: Adquirir un codigo conjunto y adquirir, a partir del codigo conjunto, un mdice combinado y un mdice dividido no combinado que corresponde a una pista.
El proceso de extraer cada mdice a partir del codigo conjunto puede realizarse en conformidad con el proceso inverso de realizar una operacion en cada mdice durante la codificacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
A modo de ejemplo, si un extremo de codificacion codifica directamente un mdice combinado y codificada mdice dividido no combinado, respectivamente, cada mdice se decodifica de forma directa.
Tambien, a modo de ejemplo, si el extremo de codificacion adopta una manera de codificacion de longitud variable para el mdice combinado, la longitud de codificacion del mdice combinado se determina y luego se decodifica en correspondencia (con referencia a la solicitud de patente China con numero de publicacion siendo CN200910150637.8).
Ademas, a modo de ejemplo, si el extremo de codificacion divide el mdice combinado, que luego se combina con otros indices divididos no combinados y a continuacion se codifica, un codigo correspondiente a cada pista se extrae a partir del codigo conjunto y un mdice recombinado y un mdice dividido no combinado se dividen a partir de un codigo de cada pista; si existe un codigo que no incluye ningun mdice recombinado, un mdice dividido no combinado correspondiente a una pista en correspondencia se obtiene directamente y luego, todos los indices recombinados se dividen en un mdice combinado en conformidad con la manera de division del extremo de codificacion.
F2: Dividir el mdice combinado en indices divididos correspondientes a la pista o dividir el mdice combinado en un mdice dividido y un mdice de codificacion que corresponden a la pista.
Esta etapa se realiza inversamente con referencia a la manera en la que el extremo de codificacion genera el mdice combinado.
A modo de ejemplo, si el extremo de codificacion genera un mdice combinado en una manera expresada por
AI=((((a|XAi_i+ai-i).....)*A2+a2)xAi+ai)*Ao+ao, durante la decodificacion, un valor de ao puede obtenerse calculando
AI% Ao, con lo que puede obtenerse entonces un valor de ai calculando Int(AI/Ao) % Ai, y el resto puede deducirse por analogfa, hasta que se obtengan todos los valores de ai
F3: Para cada pista que participe en la division del mdice de codificacion, segmentar, en conformidad con una manera de division de un extremo de codificacion, un mdice dividido que no participa en la combinacion y un mdice dividido que participa en la combinacion de la pista para generar el mdice de codificacion de la pista.
Por supuesto, para las pistas que no esten divididas pero que utilicen directamente un mdice de codificacion para participar en la combinacion, la etapa F2 puede obtener el mdice de codificacion de dichas pistas y se puede omitir esta etapa.
F4: Restablecer una secuencia de pulsos en la pista en conformidad con el mdice de codificacion de la pista para cada pista.
El extremo de codificacion utiliza la manera en la que se combinan los indices divididos, por lo que, de modo similar, un extremo de decodificacion puede obtener el beneficio de reducir el requisito de anchura binaria para el procesamiento de valores.
Forma de realizacion 7: Un metodo de decodificacion de pulsos conjunto de pistas. El metodo de decodificacion dado a conocer en esta forma de realizacion decodifica el codigo conjunto obtenido en conformidad con el metodo de codificacion en cascada de capas de la forma de realizacion 5, y un procedimiento de decodificacion es un procedimiento inverso de un procedimiento de codificacion, segun se ilustra en la Figura 8, que incluye las etapas siguientes:
Gi: Adquirir un codigo conjunto, y la adquisicion, a partir del codigo conjunto, de un mdice combinado de M-etapas, un mdice dividido de m-etapas no combinado correspondiente a cada mdice combinado de (m-i)-etapas y un mdice dividido de una etapa no combinado correspondiente a cada pista en donde M es un numero entero mayor o igual a 2, y me[2, M].
Haciendo referencia a la etapa Fi de la forma de realizacion 6, el proceso de extraccion de indices se realiza en conformidad con el proceso de inverso de realizar una operacion en cada mdice durante la codificacion de forma similar y por ello no se repite aqrn de nuevo.
G2: Comenzando desde m=M, repetir la siguiente operacion de generar un mdice combinado de (m-i)-etapas hasta m=2; dividir cada mdice combinado de m-etapas en un mdice dividido de m-etapas correspondiente a cada mdice combinado de (m-i)-etapas para generar el mdice combinado de m-etapas; y para cada mdice combinado de (m-i)- etapas, segmentar en conformidad con una manera de division de un extremo de codificacion, un mdice dividido de m-etapas que no participa en la combinacion y un mdice dividido de m-etapas que participa en la combinacion del mdice combinado de (m-i)-etapas para generar el mdice combinado de (m-i)-etapas.
G3: Dividir cada mdice combinado de una etapa en un mdice dividido de una etapa correspondiente a cada pista en un grupo de pistas para generar el mdice combinado de una etapa y para cada pista en cada grupo de pistas,
5
10
15
20
25
30
35
40
45
50
55
60
65
segmentar, en conformidad con la manera de division del extremo de codificacion, un mdice dividido de una etapa que no participe en la combinacion y un mdice dividido de una etapa que participa en la combinacion de la pista para generar un mdice de codificacion.
G4: Restablecer una secuencia de pulsos en la pista en conformidad con el mdice de codificacion para cada pista en cada grupo de pistas.
Forma de realizacion 8: Un codificador de pulsos conjunto de vectores 10. El codificador dado a conocer en esta forma de realizacion puede utilizarse para realizar el metodo de codificacion dado a conocer en la forma de realizacion 1 a la forma de realizacion 4, segun se ilustra en la Figura 9, que incluye:
una unidad de calculo del mdice de codificacion 101, configurada para calcular un mdice de codificacion Indt de cada vector, en donde un sub-mdice indica un t-esimo vector, te[0, T-1] y T es un numero entero mayor o igual a 2;
una unidad de division de mdice de vector 102, configurada para dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a dividir el mdice Indt en dos indices divididos Indto e Indt1 en conformidad con un factor SLFt establecido, siendo SLFt un numero entero positivo, el mdice Indto indica un numero de serie de un intervalo al que pertenece el mdice Indt, el mdice Indt1 indica un numero de serie del Indt en el intervalo al que pertenece el mdice Indt, siendo una longitud del intervalo no superior a SLFt, y se verifica Indt^IndtoxSLFt+Indt1;
una unidad de combinacion de indices 103, configurada para combinar un mdice dividido de al menos un vector e indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF; y
una unidad de codificacion 104, configurada para realizar una codificacion en conformidad con el mdice combinado generado por la unidad de combinacion de indices 103 y otros indices divididos no combinados divididos por la unidad de division de indices de vectores 102.
Ademas, la unidad de codificacion 104 puede incluir:
una sub-unidad de recombinacion 1041, configurada para dividir el mdice combinado en T1 indices recombinados Indt0' en conformidad un margen de valores establecido, en donde T1 es menor o igual al numero de vectores que genera el mdice combinado, un margen de valores de al menos un mdice Ind»' es mayor que un margen de valores del mdice dividido, que participa en la combinacion, del vector t correspondiente y un margen de valores de al menos un mdice Ind»' es menor que el margen de valores del mdice dividido, que participa en la combinacion, del vector t correspondiente; y
una sub-unidad de codificacion 1042, configurada para combinar cada mdice recombinado y un mdice dividido no combinado de un vector correspondiente, respectivamente, y luego codificarlo, y si existe un vector sin que le sea asignado un mdice recombinado, codificar un mdice dividido no combinado del vector.
Forma de realizacion 9: Un codificador de pulsos conjunto de vectores 20. El codificador dado a conocer en esta forma de realizacion puede utilizarse para realizar el metodo de codificacion dado a conocer en la forma de realizacion 5, segun se ilustra en la Figura 10, que incluye:
una unidad de calculo de mdice de vector 201, configurada para agrupar vectores que participan en la codificacion conjunta, en donde cada grupo al menos incluye dos vectores; en cada grupo, calcular un mdice de codificacion de cada vector, dividir al menos dos indices de codificacion; dividir cada mdice de codificacion al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a dividir un mdice de codificacion en dos indices divididos de una etapa en conformidad con un factor de una etapa establecido, un mdice dividido de una etapa indica numeros de serie de varios intervalos con una longitud no mayor que un valor establecido, el otro mdice dividido de una etapa indica un numero de serie del mdice de codificacion en un intervalo al que pertenece el mdice de codificacion y combinar indices divididos de una etapa a partir de al menos dos vectores para generar un mdice combinado de una etapa;
una unidad de calculo en cascada 202, configurada para: comenzando desde m=2, repetir la operacion siguiente de generar un mdice combinado de m-etapas hasta m=M; dividir al menos dos indices combinados de (m-1)-etapas, en donde me[2, M], siendo M un numero entero mayor o igual a 2; dividir cada mdice combinado de (m-1)-etapas al menos una vez en al menos dos secciones, en donde la division al menos una vez es equivalente a dividir un mdice combinado de (m-1)-etapas en dos indices divididos de m-etapas en conformidad con un factor de m-etapas establecido; y combinar los indices divididos de m-etapas a partir de al menos dos indices combinados de (m-1)- etapas para generar un mdice combinado de m-etapas; y
una unidad de codificacion 203, configurada para realizar una codificacion en conformidad con el mdice combinado de M-etapas y otros indices divididos no combinados de una etapa a (M-1)-etapas.
5
10
15
20
25
30
35
40
45
50
55
60
65
Durante la puesta en practica, la unidad de calculo en cascada 202 puede multiplexar una seccion en la unidad de calculo de mdice de vectores 201, en donde la seccion se utiliza para dividir y combinar un mdice de codificacion.
Forma de realizacion 10: Un decodificador de pulsos conjunto de vectores 30. El decodificador dado a conocer en esta forma de realizacion puede utilizarse para realizar el metodo de decodificacion de la forma de realizacion 6, segun se ilustra en la Figura 11, que incluye:
una unidad de decodificacion 301, configurada para adquirir un codigo conjunto y para adquirir, a partir del codigo conjunto, un mdice combinado y un mdice dividido no combinado correspondiente a un vector;
una unidad de division de indices 302, configurada para dividir el mdice combinado adquirido por la unidad de decodificacion 301 en indices divididos correspondientes al vector, o dividir el mdice combinado en un mdice dividido y un mdice de codificacion que corresponden al vector;
una unidad de restablecimiento de mdice de vectores 303, configurada para: para cada vector que participe en la division del mdice de codificacion, segmentar, en conformidad con una manera de division de un extremo de codificacion, un mdice dividido que no participa en la combinacion y un mdice dividido que participa en la combinacion del vector para generar el mdice de codificacion del vector; y
una unidad de restablecimiento de vectores 304, configurada para restablecer el vector en conformidad con el mdice de codificacion del vector para cada vector.
Ademas, la unidad de decodificacion 301 puede incluir:
una sub-unidad de decodificacion 3011, configurada para extraer, a partir del codigo conjunto, un codigo correspondiente a cada vector; dividir un mdice recombinado y un mdice dividido no combinado a partir del codigo de cada vector; y si existe un codigo que no incluye ningun mdice recombinado, obtener directamente un mdice dividido no combinado correspondiente a un vector en correspondencia; y
una sub-unidad de segmentacion 3012, configurada para segmentar todos los indices recombinados en un mdice combinado en conformidad con la manera de division del extremo de codificacion.
Forma de realizacion 11: Un decodificador de pulsos conjunto de vectores 40. El decodificador dado a conocer en esta forma de realizacion puede utilizarse para realizar el metodo de decodificacion de la forma de realizacion 7, segun se ilustra en la Figura 12, que incluye:
una unidad de decodificacion 401, configurada para adquirir un codigo conjunto, y para adquirir, a partir del codigo conjunto, un mdice combinado de M-etapas, un mdice dividido de m-etapas no combinado correspondiente a cada mdice combinado de (m-1)-etapas y un mdice dividido de una etapa no combinado correspondiente a cada vector, en donde M es un numero entero mayor o igual a 2 y me[2, M];
una unidad de recuperacion en cascada 402, configurada para: comenzando desde m=M, repetir la operacion siguiente de generar un mdice combinado de (m-1)-etapas hasta m=2; dividir cada mdice combinado de m-etapas en un mdice dividido de m-etapas correspondiente a cada mdice combinado de (m-1)-etapas para generar el mdice combinado de m-etapas, y para cada mdice combinado de (m-1)-etapas, segmentar, en conformidad con una manera de division de un extremo de codificacion, un mdice dividido de m-etapas que no participa en la combinacion y un mdice dividido de m-etapas que participa en la combinacion del mdice combinado de (m-1)-etapas para generar el mdice combinado de (m-1)-etapas;
una unidad de restablecimiento de indices de vectores 403, configurada para dividir cada mdice combinado de una etapa en un mdice dividido de una etapa correspondiente a cada vector en un grupo de vectores para generar el mdice combinado de una etapa; y para cada vector en cada grupo de vectores, segmentar, en conformidad con la manera de division del extremo de codificacion, un mdice dividido de una etapa que no participa en la combinacion y un mdice dividido de una etapa que participa en la combinacion del vector para generar un mdice de codificacion; y
una unidad de restablecimiento de vectores 404, configurada para restablecer el vector en conformidad con el mdice de codificacion para cada vector en cada grupo de vectores.
Durante la puesta en practica, la unidad de recuperacion en cascada 402 puede multiplexar una seccion en la unidad de restablecimiento de indices de vectores 403, en donde la seccion se utiliza para dividir y segmentar un mdice combinado de una etapa.
Con el fin de entender mejor el contenido de la presente invencion, se dan a conocer a continuacion dos ejemplos espedficos basados en la codificacion conjunta de pistas de la presente invencion.
Ejemplo 1: Se supone que cuatro pistas participan en una codificacion conjunta, y cinco pulsos con sfmbolos se
5
10
15
20
25
30
35
40
45
50
55
60
65
codifican en cada pista (el numero de pulsos codificados en cada pista puede variar tambien). Cada pista divide un mdice dividido que participa en la combinacion en una manera de interceptar los cuatro bits superiores de un mdice de codificacion (el numero de bits interceptados por cada pista puede variar tambien). segun se ilustra en la Figura 13, el procedimiento de codificacion es como sigue:
® Codificacion de los indices Indo, Indi, Ind2, e Ind3 de cuatro pistas se calculan respectivamente, y si el numero total de posiciones de pistas es 16, el margen de valores de un mdice de codificacion de cinco pulsos es 0 a 285088 y el numero de bits necesarios es 19.
@ Los cuatro bits superiores de cada mdice de codificacion se interceptan para utilizarse como el mdice dividido Indto que participa en la combinacion y los 15 bits restantes se utilizan como el mdice dividido Indt1 que no participa en la combinacion. Es decir, es equivalente a SLFt=2A15.
@ Los indices Indoo, Ind1o, Ind2o, e Ind3o se combinan para generar el mdice combinado IndsLF, y puesto que el numero de valores del mdice de codificacion de cinco pulsos es 285o88, que se divide por SLFt=2A15=32768 para obtener un cociente que sea 8.7oo1953125, el margen de valores de Indto es o a 8, es decir, el numero de valores de Indto es 9 (el numero de valores de Indto con otro numero de pulsos puede deducirse por analogfa, por lo que no se repite aqu de nuevo) y por lo tanto,
IadsLF~((Ind3ox91 lnd2o)x91 lndm)x9 t Indoo
Puede conocerse que el margen de valores del mdice IndsLF es o a 656o y una longitud de secuencia binaria es 13.
@ En este caso, los indices IndsLF, Indo1, Indu, Ind21, e Ind31 pueden codificarse de forma directa, una longitud de codificacion total es 13+15+15+15+15 y se economizan tres bits en comparacion con una codificacion de pista unica.
Ademas, el mdice IndsLF puede dividirse y luego combinarse con Indt1 y luego codificarse, es decir, el mdice IndsLF se divide con cuatro bits como un grupo (la division del mdice combinado en conformidad con la longitud del mdice dividido que participa en la combinacion puede representar intuitivamente el efecto de economizar bits y por supuesto, la division puede realizarse tambien en conformidad con otras longitudes; los bits de cada mdice recombinado pueden variar y los bits que forman un mismo mdice recombinado pueden ser innecesariamente continuos, lo que incluye sobre el efecto de economizar bits), se obtienen los indices Ind3o', Ind2o', IndW, y Indoo' y evidentemente, la longitud del ultimo mdice recombinado Ind3o' es solamente 1 bit; y
a continuacion, cada mdice recombinado se combina con un mdice dividido no combinado de una pista correspondiente, es decir, los cuatro bits superiores del mdice de codificacion de la pista correspondiente se sustituyen con cada mdice recombinado para obtener nuevos indices de codificacion Ind3', Ind2', IndV, y Indo', y evidentemente, la longitud del nuevo mdice de codificacion Indo' es solamente 16 bits y por lo tanto, se economizan tres bits de manera fija.
Ejemplo 2: se supone que cuatro pistas se dividen en dos grupos (dos pistas forman un grupo y el numero de pistas incluidas en cada grupo puede variar tambien) para participar en una codificacion conjunta en cascada de dos etapas y cinco pulsos con sfmbolos se codifican en cada pista (el numero de pulsos codificados en cada pista puede variar tambien). Cada pista divide un mdice dividido que participa en la combinacion en una manera de interceptacion de los ocho bits superiores de un mdice de codificacion (el numero de bits interceptados en cada pista puede variar tambien). segun se ilustra en la Figura 14, el procedimiento de codificacion es como sigue:
® Los indices de codificacion Indo, Ind1, Ind2, y Ind3 de dos pistas respectivas en dos grupos se calculan respectivamente, en donde Indo, e Ind1 son indices de codificacion de dos pistas del primer grupo, e Ind2, e Ind3 son indices de codificacion de dos pistas del segundo grupo. si el numero total de posiciones de pistas es 16, el margen de valores del mdice de codificacion de cinco pulsos es o a 285o88 y el numero de bits requeridos 19.
@ Los 8 bits superiores de un mdice de codificacion en el primer grupo y en el segundo grupo son interceptados para utilizarse como un mdice dividido de una etapa Ind1,to que participa en la combinacion (el primer sub-mdice 1 indica el numero de etapas y es el mismo a continuacion) y los 11 bits restantes se utilizan como un mdice dividido de una etapa Ind1,t1 que no participa en la combinacion. Es decir, es equivalente al del factor de una etapa sLF1,t=2A11.
@ Los indices Ind1,oo e Ind1,1o se combinan para generar un mdice combinado de una etapa Ind1,sLF,o, y los indices Ind 1,2o e Ind1,3o se combinan para generar un mdice combinado de una etapa Ind1,sLF,1; el numero de valores del mdice de codificacion de cinco pulsos es 285o88, que se divide por sLFt=2A11=2o48 para obtener un cociente que es 139.2o3125, de modo que el margen de valores del mdice Indite sea o a 139, es decir, el numero de valores de Ind1,to es 14o, y por lo tanto:
Indi,sLF,o=Ind],]0>< 140+Indi.oo
5
10
15
20
25
30
35
40
45
50
55
60
65
Indi,sLf,]-Ind],jox 140+Indi ,20
Puede conocerse que el numero de valores de los mdices combinados de una etapa Indi,sLF,o e Indi,sLF,i es 19600, y una longitud de secuencia binaria es 15 y por lo tanto, cada mdice combinado de una etapa economiza un bit y la codificacion conjunta de una etapa economiza dos bits.
© La operacion de codificacion conjunta de dos etapas continua realizandose sobre la base de los indices Indi,sLF,0 e Ind i,slf,i (cuando se realiza una codificacion conjunta de multiples etapas, un mdice combinado de la etapa anterior puede considerarse como un mdice de codificacion en una codificacion conjunta de una etapa para dividirse similarmente y combinarse y por lo tanto, un sub-mdice t es posteriormente utilizado continuamente para indicar un t- esimo mdice combinado de la etapa anterior); los 8 bits superiores del mdice Indi,sLF,t se interceptan para utilizarse como un mdice dividido de dos etapas Ind2,sLF,t0 que participa en la combinacion y los 7 bits restantes se utilizan como un mdice dividido de dos etapas Ind2,sLF,ti que no participa en la combinacion. Es decir, es equivalente al factor de dos etapas SLF2,t=2A7.
© Los indices Ind2,sLF,00 e Ind2,sLF,i0 se combinan para generar un mdice combinado de dos etapas Ind2,sLF; puesto que el numero de valores del mdice Indi,sLF,t es i9600, que se divide por SLF2,t=2A7=i28 para obtener un cociente que es i53.i25, el margen del valor del mdice Ind2,sLF,t0 es 0 a i53, es decir, el numero de valores de Ind2,sLF,t0 es i54, y por lo tanto,
Ind 2 ,sLF-Ind2,sLF, 10 x 154+Ind2,sLF,oo
Puede conocerse que el numero de valores del mdice combinado de dos etapas Ind2,sLF es 237i6 y la longitud de la secuencia binaria es i5, con lo que la codificacion conjunta de dos etapas economiza de nuevo un bit.
En este caso, los mdices Ind2,sLF, Ind2,sLF,0i, Ind2,sLF,ii, Ind i,0i, Indiii, Indi,2i, e Ind i,3i pueden codificarse directamente, una longitud de codificacion total es i5+7+7+ii+ii + ii + ii=73, y se economizan tres bits en total en comparacion con una codificacion de pista unica.
Ademas, el mdice Ind2,sLF puede dividirse y luego combinarse con Indi,sLF,ti y a continuacion, codificarse, es decir, el mdice Ind2,sLF se divide con 8 bits como un grupo (la division del mdice combinado de m-etapas en conformidad con la longitud del mdice dividido de m-etapas que participa en la combinacion puede representar intuitivamente el efecto de economizar bits y por supuesto, la division puede realizarse tambien en conformidad con otras longitudinales; los bits de cada mdice recombinado pueden variar y los bits que forman un mismo mdice recombinado pueden ser innecesariamente continuos, lo que no influye sobre el efecto de economizar bits), los indices Ind2,sLF,W e Ind2,sLF© se obtienen y evidentemente, la longitud del ultimo mdice recombinado Ind2,sLF,00' es solamente de 7 bits; y
entonces, cada mdice recombinado se combina con un mdice dividido de dos etapas no combinado de un mdice combinado de una etapa correspondiente, es decir, los cuatro bits superiores del mdice combinado de una etapa correspondiente se sustituyen con cada mdice recombinado para obtener nuevos indices combinados de una etapa Ind i,sLF,i ' e Ind i,slf,0', y evidentemente, la longitud del nuevo mdice combinado de una etapa Indi,sLF,0' es solamente de i4 bits.
En este caso, los indices Indi,sLF,i', Indi,sLF,0', Ind0i, Indii, Ind2i, e Ind3i pueden codificarse directamente, siendo la longitud de codificacion total de i5+i4+ii + ii + ii + ii=73, y se economizan tres bits en total en comparacion con la codificacion de pista unica.
Ademas, los indices Indi,sLF,i' e Indi,sLF,0' pueden dividirse y luego combinarse con Indi ti y luego codificarse, es decir,
el mdice Indi,sLF,i' se divide con 8 bits como un grupo para obtener los indices Indi© e Indi©, y evidentemente, la longitud del mdice recombinado Indi© es solamente de 7 bits; el mdice Indi,sLF,0' se divide con 8 bits como un grupo para obtener los indices Indi,© e Indi©, y evidentemente, la longitud del mdice recombinado Indi© es solamente de 6 bits, y
a continuacion, cada mdice recombinado se combina con un mdice dividido de una etapa no combinado de un mdice de codificacion correspondiente, es decir, los cuatro bits superiores del mdice de codificacion del mdice de codificacion correspondiente se sustituyen con cada mdice recombinado para obtener nuevos indices de codificacion Ind3', Ind2', Indi', e Ind0', y evidentemente, la longitud del mdice Ind2' es solamente de i8 bits, la longitud del mdice Ind0' es solamente de i7 bits y por lo tanto, se economizan tres bits de manera fija.
La tabla 2 proporciona un caso en el que durante una codificacion conjunta de cuatro pistas, la codificacion conjunta de los cuatro bits superiores economizan bits en un caso de diferente numero de pulsos (pulso con un sfmbolo) en una pista y otros casos en el que un mdice dividido o conjunto de multiples pistas intercepta diferentes bits que
pueden deducirse por analogfa.
Tabla 2
Numero de pulsos en 4 pistas
Valor Kmite inferior para bits de codificacion de pista unica Margen de codificacion conjunta de los cuatro bits superiores y el numero de bits Numero total de bits de codificacion conjunta Numero de bits economizados
Margen de valores
Numero de bits de codificacion
3,3,3,3
52 0-14640 14 50 2
3,3,3,4
55 0-14640 14 53 2
3,3,4,4
58 0-14640 14 56 2
3,4,4,4
61 0-14640 14 59 2
4,4,4,4
64 0-14640 14 62 2
4,4,4,5
67 0-11978 14 65 2
4,4,5,5
70 0-9800 14 68 2
4,5,5,5
73 0-8019 13 70 3
5,5,5,5
76 0-6560 13 73 3
5,5,5,6
78 0-8747 14 76 2
5,5,6,6
80 0-11663 14 78 2
5,6,6,6
82 0-15551 14 80 2
6,6,6,6
84 0-20735 15 83 1
6,6,6,7
86 0-24191 15 85 1
6,6,7,7
88 0-28223 15 87 1
6,7,7,7
90 0-32927 16 90 0
7,7,7,7
92 0-38415 16 92 0
5
Puede deducirse que se pueden economizar efectivamente bits de codificacion utilizando el metodo de codificacion conjunta de la presente invencion. Los bits economizados utilizando una codificacion conjunta pueden utilizarse para reducir una tasa de codigo de transmision y pueden utilizarse tambien para la cuantizacion de coeficientes de ISF, la precision del periodo de intervalos y la ganancia de otros modulos, con el fin de utilizarse para mejorar la calidad de 10 la codificacion.
A modo de ejemplo, el numero de pulsos en una pista puede aumentarse (se aumenta el numero de pulsos de codigos de excitacion ACELP) en un caso en una tasa de codigo invariable, con el fin de mejorar la calidad de codificacion. A modo de ejemplo, varios libros de codigos fijos de alta tasa de codificacion de ACELP para AMR- 15 WB+, despues de utilizar la codificacion conjunta de los cuatro bits superiores ilustrada en la tabla 2, puede anadirse con varios pulsos a una tasa de codigo original y sus detalles son como sigue:
® 3 pulsos se anaden en 18.25 kbps
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
4,4,4,4 64 -> 4,5,5,5 70
18.25 kbps
4,4,4,4 64 4,4,4,4 62
4,4,4,4
64 4,4,4,4 62
4,4,4,4 64 4,4,4,4 62
@ 6 pulsos se anaden a 19.85 kbps
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
4,4,5,5 72 -> 5,5,5,5 73
5
10
15
20
25
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
19.85 kbps
4,4,5,5 72 5,5,5,5 73
4,4,5,5
72 5,5,5,5 73
4,4,5,5 72 4,4,5,5 68
@ 6 pulsos se anaden a 19.85 kbps
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
19.85
4,4,5,5 72 -> 5,5,5,5 73
kbps
4,4,5,5 72 5,5,5,5 73
4,4,5,5 72 4,5,5,5 70
4,4,5,5 72 4,5,5,5 70
© 7 pulsos se anaden a 19.85 kbps
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
4,4,5,5 72 -> 5,5,6,6 78
19.85 kbps
4,4,5,5 72 4,5,5,5 70
4,4,5,5
72 4,5,5,5 70
4,4,5,5 72 4,5,5,5 70
© 8 pulsos se anaden a 23.05 kbps
(AMR-WB+) Numero de pulsos en 4 pistas bits (codificacion conjunta de cuatro bits superiores)Numero de pulsos en 4 pistas bits
6,6,6,6 88 -> 7,7,7,7 92
23.05 kbps
6,6,6,6 88 7,7,7,7 92
6,6,6,6
88 6,6,6,6 83
6,6,6,6 88 6,6,6,6 83
Los expertos en esta tecnica deben entender que la totalidad o una parte de las etapas de los metodos en conformidad con las formas de realizacion pueden ponerse en practica mediante un programa informatico que proporcione instrucciones a un hardware pertinente. El programa puede memorizarse en un soporte de memorizacion legible por ordenador y el soporte de memorizacion puede incluir una memoria de solamente lectura, una memoria de acceso aleatorio, un disco magnetico o un disco optico.
Un metodo de codificacion conjunta de vectores y un codificador conjunto de vectores dados a conocer en la forma de realizacion de la presente invencion se describieron en detalle con anterioridad. Formas de realizacion espedficas se utilizan para ilustrar los principios y la manera de puesta en practica de la presente invencion. Las descripciones anteriores de las formas de realizacion son simplemente para entender mejor el metodo y las ideas basicas de la presente invencion, que se definen por las reivindicaciones adjuntas.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un metodo de codificacion conjunta de vectores para una senal de voz, que comprende:
    el calculo (A1, B1) de un mdice de codificacion Indt de cada vector, en donde un sub-mdice t designa un t-esimo vector, te[0, T-1], y T es el numero de vectores y es un numero entero mayor o igual a 2, y el mdice de codificacion es un mdice utilizado para indicar la distribucion de pulsos en la pista, en donde cada vector representa una distribucion de pulsos en una pista;
    la division (A2, B2) de al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division comprende al menos una vez la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor establecido SLFt, siendo el factor SLFt un numero entero positivo, el mdice Indto indica un numero de serie de un intervalo al que pertenece el mdice Indt, el mdice Indti indica un numero de serie del mdice Indt en el intervalo al que pertenece el mdice Indt, no siendo la longitud del intervalo mayor que el factor SLFt, y
    Indt<IndtoxSLFt+Indti;
    en donde la division (A2, B2) del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor preestablecido SLFt es concretamente:
    Indto=Int(Indt/SLFt), en donde Int() designa un redondeo al numero entero inferior, y Indti=Indt%SLFt, en donde % designa la utilizacion de un resto;
    la combinacion (A3, B3) de un mdice dividido de al menos un vector y de indices divididos o de indices de codificacion de otros vectores para generar un mdice combinado IndsLF; en donde la combinacion (A3, B3) de un mdice dividido de al menos un vector y de indices divididos o de indices de codificacion de otros vectores para generar un mdice combinado IndsLF; consiste concretamente en:
    para un vector t, que proporciona un mdice dividido para participar en la combinacion, la seleccion de un mdice dividido capaz de representar caractensticas de ocupacion de espacio del mdice Indt, para participar en la combinacion, en donde ser capaz de representar caractensticas de ocupacion de espacio del mdice Indt se refiere a que, en comparacion con otros indices divididos, una tasa de ocupacion de un margen de valores de un mdice dividido seleccionado para un espacio de codificacion es el mas proximo a una tasa de ocupacion de un margen de valores del mdice Indt para el espacio de codificacion; y
    la realizacion (A4, B4) de una codificacion en conformidad con el mdice combinado y otros indices divididos no combinados.
  2. 2. El metodo segun la reivindicacion 1, en donde
    SLFt=2A(Kt), en donde Kt es un numero entero positivo, y la combinacion (A3, B3) de un mdice dividido de al menos un vector e indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF es concretamente: para un vector t que proporciona un mdice dividido para participar en la combinacion, la seleccion del mdice Indto para participar en la combinacion;
    o,
    SLFt=Int(Indt,max/2A(Kt)), en donde Indt,max indica un valor maximo del mdice Indt, y la combinacion (A3, B3) de un mdice dividido de al menos un vector y de indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF es: para el vector t que proporciona un mdice dividido para participar en la combinacion, la seleccion del mdice Indti para participar en la combinacion.
  3. 3. El metodo segun la reivindicacion 2, en donde Kt=Kt,max-2, o Kt=Kt,max-3, o Kt=Kt,max-4, siendo Kt,max una longitud de una secuencia binaria del mdice Indtmax.
  4. 4. El metodo segun la reivindicacion i, en donde la division (A2, B2) del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor establecido SLFt es concretamente:
    la seleccion de un valor de bits del mdice Indt como el mdice Indto, estando los bits situados en una posicion preestablecida, y la seleccion de un valor de bits en una posicion restante como el mdice Indti, en donde SLFt=2A(Kt), siendo el numero de los bits en la posicion preestablecida el valor Kto, el numero de los bits en la posicion restante es Kt, Kto+Kt=Kt,max, Kt,max es una longitud de una secuencia binaria del mdice Indt,max, y el mdice Indt,max indica un valor maximo del mdice Indt.
  5. 5. El metodo segun la reivindicacion 4, en donde la combinacion de indices divididos de al menos dos vectores
    2i
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    para generar un mdice combinado IndsLF es concretamente:
    para un vector t que proporciona un mdice dividido para participar en la combinacion, la seleccion, en una secuencia binaria con una longitud Ktmax, de un mdice dividido del mdice Indt para participar en la combinacion, en donde el mdice dividido al menos comprende un valor de los dos bits superiores.
  6. 6. El metodo segun cualquiera de las reivindicaciones 1 a 5, en donde la realizacion (A4, B4) de la codificacion en conformidad con el mdice combinado y otros indices divididos no combinados es:
    la division del mdice combinado en T1 indices recombinados Indto' en conformidad con un margen de valores establecido, en donde T1 es menor que o igual al numero de vectores que generan el mdice combinado, un margen de valores de al menos un mdice Indto' es mayor que un margen de valores del mdice dividido de un vector t correspondiente, en donde el mdice dividido participa en la combinacion, y un margen de valores de al menos un mdice Tndto' es menor que el margen de valores del mdice dividido del vector t correspondiente, en donde el mdice dividido participa en la combinacion; y
    la combinacion respectiva de cada mdice recombinado y de un mdice dividido no combinado de un vector correspondiente y luego, la realizacion de la codificacion, y si existe un vector sin que se le asigne un mdice recombinado, la codificacion de un mdice dividido no combinado del vector.
  7. 7. El metodo segun la reivindicacion 6, en donde la division del mdice combinado en T1 indices recombinados Indto', en conformidad con un margen de valores establecidos, es concretamente:
    la division de una longitud total Kslf de la secuencia binaria del mdice combinado en T1 secciones en conformidad con una longitud establecida, en donde un valor de cada seccion corresponde a un mdice Indto', Kslf es la longitud de la secuencia binaria de un mdice IndsLF,max, y el mdice IndsLF,max indica un valor maximo del mdice IndsLF.
  8. 8. El metodo segun la reivindicacion 7, en donde
    la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido, es concretamente: en la secuencia binaria con la longitud siendo Kt max, la seleccion de un valor de Kto bits, comenzando desde el bit superior del mdice Indt, como el mdice Indto, y la seleccion de un valor de bits restantes en tanto como el mdice Indti, en donde SLFt=2A(Kt), Kto+Kt=Kt,max, siendo Kt,max la longitud de la secuencia binaria del mdice Indt,max, y el mdice Indtmax indica un valor maximo del mdice Indt; y
    la combinacion de un mdice dividido de al menos un vector y los indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF es concretamente: para un vector t que necesita proporcionar un mdice dividido, la seleccion del mdice Indto para participar en la combinacion; y
    la division de la longitud total Kslf de la secuencia binaria del mdice combinado en T1 secciones en conformidad con una longitud establecida es concretamente: la division de la longitud Kslf en conformidad con un valor Kto utilizado por el vector t que genera el mdice combinado, en donde el numero de bits divididos por cada mdice Indto' en correspondencia, es menor que o igual al valor Kto utilizado por el vector t correspondiente.
  9. 9. El metodo segun cualquiera de las reivindicaciones 1 a 5, en donde la realizacion (A4, B4) de la codificacion en conformidad con el mdice combinado y otros indices divididos no combinados es:
    la comparacion del mdice combinado IndsLF y el ajuste de un valor umbral THR, en donde,
    THR<2A(KsLF)-IndSLF,max)
    siendo Kslf la longitud de la secuencia binaria de mdice IndsLF,max, y el mdice IndsLF,max indica un valor maximo del mdice IndsLF;
    si el mdice IndsLF es menor que el umbral THR, la codificacion del mdice IndsLF utilizando un primer numero de bits de codificacion; de no ser asf, la codificacion del mdice IndsLF anadido con un valor de compensacion THRo utilizando un segundo numero de bits de codificacion, en donde THR<THRo<2A(KsLF)-IndsLF,max, siendo el primer numero menor que el segundo numero, el segundo numero es menor o igual a Kslf, y el primer numero y el segundo numero son ambos numeros enteros positivos; y
    la codificacion de otros indices divididos no combinados.
  10. 10. Un codificador conjunto de pulsos de vectores destinado a codificar una senal de voz, que comprende:
    una unidad de calculo de mdice de codificacion (ioi), configurada para calcular un mdice de codificacion Indt de cada vector, en donde un submdice t indica un t-esimo vector, te[o, T-1], y T es un numero entero mayor o igual a 2,
    5
    10
    15
    20
    25
    30
    35
    40
    45
    y el mdice de codificacion es un mdice utilizado para indicar la distribucion de pulsos en la pista, en donde cada vector representa una distribucion de pulsos en una pista;
    una unidad de division de mdice de vector (102), configurada para dividir al menos un mdice Indt al menos una vez en al menos dos secciones, en donde la division al menos una vez comprende la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido, en donde la division del mdice Indt en dos indices divididos Indto e Indti en conformidad con un factor SLFt establecido comprende:
    Indto=Int(Indt/SLFt), en donde Int() designa un redondeo al numero entero inferior, y
    Indti=Indt%SLFt, en donde % designa la utilizacion de un resto,
    el factor SLFt es un numero entero positivo, el mdice Indto indica un numero de serie de un intervalo al que pertenece el mdice Indt, el mdice Indti indica un numero de serie del mdice Indt en el intervalo al que pertenece el mdice Indt, una longitud del intervalo no es superior al factor SLFt, y se verifica Indt^IndtoxSLFt+Indti;
    una unidad de combinacion de indices (i 03), configurada para combinar un mdice dividido de al menos un vector e indices divididos o indices de codificacion de otros vectores para generar un mdice combinado IndsLF; en donde la combinacion de un mdice dividido de al menos un vector y de indices divididos o de indices de codificacion de otros vectores para generar un mdice combinado IndsLF consiste concretamente en: para un vector t que proporciona un mdice dividido para participar en la combinacion, la seleccion de un mdice dividido capaz de representar caractensticas de ocupacion de espacio del mdice Indt para participar en la combinacion, en donde ser capaz de representar caractensticas de ocupacion de espacio del mdice Indt se refiere al hecho de que, en comparacion con otros indices divididos, una tasa de ocupacion de un margen de valores de un mdice dividido seleccionado para un espacio de codificacion es la mas proxima de una tasa de ocupacion de un margen de valores del mdice Indt para el espacio de codificacion; y
    una unidad de codificacion (i04), configurada para realizar una codificacion en conformidad con el mdice combinado y con otros indices divididos no combinados.
  11. 11. El codificador segun la reivindicacion i0, en donde la unidad de codificacion (i04) comprende:
    una sub-unidad de recombinacion (i04i), configurada para dividir el mdice combinado en Ti indices recombinados Indt0 en conformidad con un margen de valores establecido, en donde Ti es menor o igual al numero de vectores que generan el mdice combinado, siendo un margen de valores de al menos un mdice Indt0 mayor que un margen de valores del mdice dividido, que participa en la combinacion, de un vector correspondiente t y un margen de valores de al menos un mdice Indt0 es menor que el margen de valores del mdice dividido, que participa en la combinacion, del vector correspondiente t, y
    una sub-unidad de codificacion (i042), configurada para combinar cada mdice recombinado y un mdice dividido no combinado de un vector correspondiente, respectivamente, y realizar luego una codificacion y si existe un vector que no tiene un mdice recombinado asignado, codificar un mdice dividido no combinado del vector.
ES11856688.4T 2011-01-26 2011-11-30 Método y codificador para la codificación conjunta de vectores de una señal de voz Active ES2588356T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110028694 2011-01-26
CN201110028694.6A CN102623012B (zh) 2011-01-26 2011-01-26 矢量联合编解码方法及编解码器
PCT/CN2011/083237 WO2012100596A1 (zh) 2011-01-26 2011-11-30 矢量联合编解码方法及编解码器

Publications (1)

Publication Number Publication Date
ES2588356T3 true ES2588356T3 (es) 2016-11-02

Family

ID=46562892

Family Applications (2)

Application Number Title Priority Date Filing Date
ES11856688.4T Active ES2588356T3 (es) 2011-01-26 2011-11-30 Método y codificador para la codificación conjunta de vectores de una señal de voz
ES16160251T Active ES2718935T3 (es) 2011-01-26 2011-11-30 Método y codificador para la codificación conjunta de vectores de una señal de voz

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES16160251T Active ES2718935T3 (es) 2011-01-26 2011-11-30 Método y codificador para la codificación conjunta de vectores de una señal de voz

Country Status (8)

Country Link
US (5) US8930200B2 (es)
EP (2) EP2669890B1 (es)
JP (4) JP5731675B2 (es)
KR (4) KR101926006B1 (es)
CN (1) CN102623012B (es)
ES (2) ES2588356T3 (es)
PT (1) PT2669890T (es)
WO (1) WO2012100596A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
EP2668651A4 (en) * 2011-01-28 2014-07-30 Nokia Corp CODING BY COMBINING CODE VECTORS
US9742672B1 (en) * 2014-12-29 2017-08-22 Juniper Networks, Inc. Signaling priority information for encapsulated packets
EP3913827B1 (en) * 2019-09-30 2023-06-21 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for transmitting uplink control information
CN113628630B (zh) * 2021-08-12 2023-12-01 科大讯飞股份有限公司 基于编解码网络的信息转换方法和装置、电子设备
CN118740566A (zh) * 2023-03-31 2024-10-01 华为技术有限公司 编码方法、解码方法、编码装置和解码装置

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0222982A (ja) * 1988-07-12 1990-01-25 Mitsubishi Electric Corp 静止画像伝送装置
US4975956A (en) * 1989-07-26 1990-12-04 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
US5012518A (en) * 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
CA2010830C (en) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
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
FR2729245B1 (fr) * 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
ATE192259T1 (de) * 1995-11-09 2000-05-15 Nokia Mobile Phones Ltd Verfahren zur synthetisierung eines sprachsignalblocks in einem celp-kodierer
US6009387A (en) * 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
US5808572A (en) * 1997-05-22 1998-09-15 National Science Council Method and apparatus for finite-length arithmetic coding
US6073092A (en) * 1997-06-26 2000-06-06 Telogy Networks, Inc. Method for speech coding based on a code excited linear prediction (CELP) model
US5924062A (en) * 1997-07-01 1999-07-13 Nokia Mobile Phones ACLEP codec with modified autocorrelation matrix storage and search
US6161086A (en) * 1997-07-29 2000-12-12 Texas Instruments Incorporated Low-complexity speech coding with backward and inverse filtered target matching and a tree structured mutitap adaptive codebook search
US6385576B2 (en) * 1997-12-24 2002-05-07 Kabushiki Kaisha Toshiba Speech encoding/decoding method using reduced subframe pulse positions having density related to pitch
US6104992A (en) * 1998-08-24 2000-08-15 Conexant Systems, Inc. Adaptive gain reduction to produce fixed codebook target signal
US7117146B2 (en) * 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
JP4008607B2 (ja) * 1999-01-22 2007-11-14 株式会社東芝 音声符号化/復号化方法
JP4173940B2 (ja) * 1999-03-05 2008-10-29 松下電器産業株式会社 音声符号化装置及び音声符号化方法
US6295520B1 (en) * 1999-03-15 2001-09-25 Tritech Microelectronics Ltd. Multi-pulse synthesis simplification in analysis-by-synthesis coders
JP3533339B2 (ja) 1999-04-16 2004-05-31 シャープ株式会社 復号化装置および復号化方法、並びに、プログラム記録媒体
JP4005359B2 (ja) * 1999-09-14 2007-11-07 富士通株式会社 音声符号化及び音声復号化装置
US6728669B1 (en) 2000-08-07 2004-04-27 Lucent Technologies Inc. Relative pulse position in celp vocoding
CA2327041A1 (en) * 2000-11-22 2002-05-22 Voiceage Corporation A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals
AU2002224116A1 (en) * 2000-11-27 2002-06-03 Matsushita Electric Industrial Co., Ltd. Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound
JP3916934B2 (ja) 2000-11-27 2007-05-23 日本電信電話株式会社 音響パラメータ符号化、復号化方法、装置及びプログラム、音響信号符号化、復号化方法、装置及びプログラム、音響信号送信装置、音響信号受信装置
CA2388358A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
US7363218B2 (en) * 2002-10-25 2008-04-22 Dilithium Networks Pty. Ltd. Method and apparatus for fast CELP parameter mapping
KR100463419B1 (ko) 2002-11-11 2004-12-23 한국전자통신연구원 적은 복잡도를 가진 고정 코드북 검색방법 및 장치
US7249014B2 (en) * 2003-03-13 2007-07-24 Intel Corporation Apparatus, methods and articles incorporating a fast algebraic codebook search technique
FR2867648A1 (fr) * 2003-12-10 2005-09-16 France Telecom Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
US7860710B2 (en) * 2004-09-22 2010-12-28 Texas Instruments Incorporated Methods, devices and systems for improved codebook search for voice codecs
KR100656788B1 (ko) * 2004-11-26 2006-12-12 한국전자통신연구원 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더
US7265691B2 (en) * 2005-06-23 2007-09-04 1Stworks Corporation Modeling for enumerative encoding
US20070150266A1 (en) * 2005-12-22 2007-06-28 Quanta Computer Inc. Search system and method thereof for searching code-vector of speech signal in speech encoder
WO2008035949A1 (en) * 2006-09-22 2008-03-27 Samsung Electronics Co., Ltd. Method, medium, and system encoding and/or decoding audio signals by using bandwidth extension and stereo coding
CN100525262C (zh) * 2006-12-28 2009-08-05 北京航空航天大学 一种信源信道联合编解码器及编解码方法
CN101266796B (zh) * 2007-03-12 2012-05-23 华为技术有限公司 一种量化编解码方法及装置
BRPI0809746B1 (pt) * 2007-04-20 2020-06-16 Interdigital Technology Corporation Método e aparelho para sinalização de informações de controle em modo MIMO
EP2827327B1 (en) * 2007-04-29 2020-07-29 Huawei Technologies Co., Ltd. Method for Excitation Pulse Coding
CN101388210B (zh) 2007-09-15 2012-03-07 华为技术有限公司 编解码方法及编解码器
CN101295506B (zh) * 2007-04-29 2011-11-16 华为技术有限公司 脉冲编解码方法及脉冲编解码器
CN100583649C (zh) * 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN101281750B (zh) * 2008-05-29 2010-12-22 上海交通大学 基于变长分裂表的矢量量化高阶码本扩展编码及解码系统
WO2010028301A1 (en) * 2008-09-06 2010-03-11 GH Innovation, Inc. Spectrum harmonic/noise sharpness control
US8577673B2 (en) * 2008-09-15 2013-11-05 Huawei Technologies Co., Ltd. CELP post-processing for music signals
CN101577721A (zh) * 2008-12-05 2009-11-11 湖南大学 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
CN102299760B (zh) 2010-06-24 2014-03-12 华为技术有限公司 脉冲编解码方法及脉冲编解码器
CN102623012B (zh) 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
EP3483881B1 (en) * 2013-11-13 2024-10-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder for encoding an audio signal, audio transmission system and method for determining correction values

Also Published As

Publication number Publication date
ES2718935T3 (es) 2019-07-05
JP6363741B2 (ja) 2018-07-25
KR101571459B1 (ko) 2015-11-24
KR20150135541A (ko) 2015-12-02
EP2669890B1 (en) 2016-06-08
KR102017721B1 (ko) 2019-09-03
EP2669890A4 (en) 2013-12-04
EP3174048A1 (en) 2017-05-31
US10089995B2 (en) 2018-10-02
US20170221493A1 (en) 2017-08-03
JP2014505434A (ja) 2014-02-27
CN102623012A (zh) 2012-08-01
US9404826B2 (en) 2016-08-02
JP2015130703A (ja) 2015-07-16
KR101926006B1 (ko) 2018-12-06
PT2669890T (pt) 2016-09-09
US20130317810A1 (en) 2013-11-28
JP6143115B2 (ja) 2017-06-07
KR101735698B1 (ko) 2017-05-15
US20160307577A1 (en) 2016-10-20
US9881626B2 (en) 2018-01-30
CN102623012B (zh) 2014-08-20
KR20170141829A (ko) 2017-12-26
JP5731675B2 (ja) 2015-06-10
JP2018182747A (ja) 2018-11-15
JP2017112626A (ja) 2017-06-22
US20180137870A1 (en) 2018-05-17
EP2669890A1 (en) 2013-12-04
JP6657322B2 (ja) 2020-03-04
US20150127328A1 (en) 2015-05-07
US8930200B2 (en) 2015-01-06
KR20130116929A (ko) 2013-10-24
US9704498B2 (en) 2017-07-11
EP3174048B1 (en) 2019-01-09
KR20170053749A (ko) 2017-05-16
WO2012100596A1 (zh) 2012-08-02

Similar Documents

Publication Publication Date Title
ES2588356T3 (es) Método y codificador para la codificación conjunta de vectores de una señal de voz
US9858938B2 (en) Pulse encoding and decoding method and pulse codec
ES2817906T3 (es) Método de codificación de impulsos de las señales de excitación
ES2639646T3 (es) Codificación y decodificación de posiciones de impulso de pistas de una señal de audio
CN103886862B (zh) 脉冲编解码方法及脉冲编解码器