ES2954460T3 - Método y aparato de cuantificación de vector de envolventes de frecuencia - Google Patents

Método y aparato de cuantificación de vector de envolventes de frecuencia Download PDF

Info

Publication number
ES2954460T3
ES2954460T3 ES19162443T ES19162443T ES2954460T3 ES 2954460 T3 ES2954460 T3 ES 2954460T3 ES 19162443 T ES19162443 T ES 19162443T ES 19162443 T ES19162443 T ES 19162443T ES 2954460 T3 ES2954460 T3 ES 2954460T3
Authority
ES
Spain
Prior art keywords
vector
codebook
quantized
vectors
parts
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
ES19162443T
Other languages
English (en)
Inventor
Chen Hu
Lei Miao
Zexin Liu
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.)
Crystal Clear Codec LLC
Original Assignee
Crystal Clear Codec LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=52143115&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2954460(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Crystal Clear Codec LLC filed Critical Crystal Clear Codec LLC
Application granted granted Critical
Publication of ES2954460T3 publication Critical patent/ES2954460T3/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
    • 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
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • 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
    • 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
    • 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/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Las realizaciones de la presente invención proponen un método y un aparato de cuantificación de vectores de envolvente de frecuencia, donde el método comprende: dividir N envolventes de frecuencia en un cuadro en N1 vectores, donde cada vector en los N1 vectores comprende M envolventes de frecuencia; cuantificar un primer vector en los N1 vectores usando un primer libro de códigos, para obtener una palabra de código correspondiente al primer vector cuantificado, donde el primer libro de códigos se divide en 2<B1> partes; determinar, según la palabra de código del primer vector cuantificado, que el primer vector cuantificado está asociado con la i-ésima parte en las 2B1 partes del primer libro de códigos; determinar un segundo libro de códigos según el libro de códigos de la i-ésima parte; y cuantificar un segundo vector en los N1 vectores basándose en el segundo libro de códigos. En las realizaciones de la presente invención, las envolventes de frecuencia se dividen en una pluralidad de vectores con menos dimensiones, de modo que la cuantificación vectorial se puede realizar en vectores de envolvente de frecuencia usando un libro de códigos con una cantidad menor de bits. Por lo tanto, se puede reducir la complejidad de la cuantificación vectorial y también se puede garantizar un efecto de cuantificación vectorial. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y aparato de cuantificación de vector de envolventes de frecuencia
Campo técnico
La presente invención se refiere al campo de la codificación y la decodificación, y en particular, a un método y un aparato de cuantificación de vector de envolventes de frecuencia.
Antecedentes
En general, los valores de energía de la totalidad o parte de las frecuencias de una trama de una señal de entrada se promedian y, a continuación, se calcula una raíz cuadrada de un valor de energía promedio para obtener envolventes de frecuencia correspondientes a estas frecuencias.
En la actualidad, los métodos para cuantificar una envolvente de frecuencia mediante un códec hacen referencia habitualmente a una simple cuantificación escalar o cuantificación de vector. No obstante, en algunos casos especiales, por ejemplo, cuando es necesario obtener muchas envolventes de frecuencia a partir de una trama y la cantidad de bits que se usan para cuantificar las envolventes de frecuencia tiene ciertas limitaciones, se puede consumir una gran cantidad de bits si se usa la cuantificación escalar para cada una de las envolventes de frecuencia.
Uno de los métodos existentes de cuantificación de vector comprende las siguientes etapas: (1) dividir frecuencias que se deben cuantificar en varios vectores según las dimensiones de los vectores; (2) preentrenar un libro de códigos con una longitud de 2B usando una cantidad elevada de muestras vectoriales y de acuerdo con una cantidad B de bits para cuantificar cada uno de los vectores, es decir, este libro de códigos tiene 2B vectores, y estos vectores se entrenan de antemano de acuerdo con la cantidad elevada de muestras vectoriales; (3) comparar un vector A que debe cuantificarse con cada uno de los vectores del libro de códigos, y buscar un vector B que sea el más próximo al vector A; (4) un índice de ubicación del vector B en el libro de códigos es un valor cuantificado del vector A. Por lo tanto, si todas las envolventes de frecuencia se combinan en forma de un vector para una cuantificación de vector, se requiere un libro de códigos grande, lo cual hace que aumente la complejidad.
Uno de los problemas que requiere una resolución urgente es cómo diseñar un método sencillo y eficaz de cuantificación de vector de envolventes de frecuencia y, al mismo tiempo, garantizar la calidad de la cuantificación.
YANNIS AGIOMYRGIANNAKIS ET AL: “Conditional Vector Quantization for Speech Coding”, IEEE TRANSACTIONS ON AUDIO, SPEECH AND LANGUAGE PROCESSING, IEEE, vol. 15, n.° 2, 1 de febrero de 2007, presenta un método de cuantificación de vector que usa una cuantificación de vector condicional, la cual asigna un libro de códigos de k dimensiones a cada primer vector código, cuantificándose el segundo vector código mediante el uso de este libro de códigos vinculado.
Sumario
La presente invención propone un método y un aparato de cuantificación de vector de envolventes de frecuencia, que apuntan a resolver problemas relacionados con una precisión insuficiente de la cuantificación y una complejidad excesivamente alta provocadas por una cantidad insuficiente de bits en un libro de códigos y una cantidad relativamente elevada de envolventes de frecuencia.
Según un primer aspecto, se propone un método de cuantificación de vector de envolventes de frecuencia, en el que el método comprende: dividir N envolventes de frecuencia en una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, N1, N y M son enteros positivos, M es superior o igual a 2 y N es superior a N1; cuantificar un primer vector de los N1 vectores utilizando un primer libro de códigos de un tipo de B bits, para obtener una palabra de código del primer vector cuantificado, estando el primer libro de códigos dividido en 2B1 partes, siendo B un entero positivo superior o igual a 2 y siendo B1 un entero positivo superior o igual a 1; determinar, de acuerdo con la palabra de código del primer vector cuantificado, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, donde i es un entero positivo superior o igual a 1 e inferior o igual a 2B1. Determinar un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima; y cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos.
Haciendo referencia al primer aspecto, en una primera forma de implementación del primer aspecto, la determinación de un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima comprende: usar la parte iésima del primer libro de códigos como segundo libro de códigos, donde una cantidad de bits de la parte iésima del primer libro de códigos es B-B1.
Haciendo referencia al primer aspecto, en una segunda forma de implementación del primer aspecto, la determinación de un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima comprende: usar un libro de códigos preentrenado como segundo libro de códigos, donde una cantidad de bits del libro de códigos preentrenado y una cantidad de bits de la parte iésima del primer libro de códigos son iguales, y ambas son B-B1.
Haciendo referencia al primer aspecto o a la primera o la segunda forma de implementación del primer aspecto, en una tercera forma de implementación del primer aspecto, cuando B1 es 1, la determinación, de acuerdo con la palabra de código del primer vector cuantificado, de que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos comprende: cuando la palabra de código del primer vector cuantificado pertenece a una primera mitad de dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o, cuando la palabra de código del primer vector cuantificado pertenece a una segunda mitad de las dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la segunda mitad del primer libro de códigos.
Haciendo referencia al primer aspecto o a la primera o la segunda forma de implementación del primer aspecto, en una cuarta forma de implementación del primer aspecto, cuando M es 2 y B1 es 1, la determinación, de acuerdo con la palabra de código del primer vector cuantificado, de que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos comprende: determinar si una relación entre el primer valor del primer vector cuantificado (es decir, de un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código se sitúa dentro de un intervalo preestablecido, donde la relación se obtiene dividiendo el primer valor del primer vector cuantificado por el segundo valor del primer vector cuantificado; y, cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o, cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
Haciendo referencia al primer aspecto o a una cualquiera de la primera a la cuarta formas de implementación del primer aspecto, en una quinta forma de implementación del primer aspecto, la división de N envolventes de frecuencia de una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, comprende: cuando la trama mencionada comprende M subtramas, y cada subtrama de las M subtramas comprende N1 envolventes, donde el producto de M y N1 es N, combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia.
De acuerdo con un segundo aspecto, se propone un aparato de cuantificación de vector de envolventes de frecuencia, donde el aparato comprende: una unidad de división en vectores, configurada para dividir N envolventes de frecuencia de una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, N1, N y M son enteros positivos, M es superior o igual a 2 y N es superior a N1; una primera unidad de cuantificación, configurada para usar un primer libro de códigos de un tipo de B bits con el fin de cuantificar un primer vector de los N1 vectores que se obtienen por medio de la división por parte de la unidad de división en vectores, para obtener una palabra de código del primer vector cuantificado, donde el primer libro de códigos está dividido en 2B1 partes, B es un entero positivo superior o igual a 2 y B1 es un entero positivo superior o igual a 1; una primera unidad de determinación, configurada para determinar, de acuerdo con la palabra de código del primer vector cuantificado que se obtiene por medio de la cuantificación por parte de la primera unidad de cuantificación, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, donde i es un entero positivo superior o igual a 1 e inferior o igual a 2B1; una segunda unidad de determinación, configurada para determinar un segundo libro de códigos de acuerdo con el libro de códigos que es de la parte iésima y que es determinado por la primera unidad de determinación; y una segunda unidad de cuantificación, configurada para cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos que se determina mediante la segunda unidad de determinación.
Haciendo referencia al segundo aspecto, en una primera forma de implementación del segundo aspecto, la segunda unidad de determinación está configurada, específicamente, para: usar la parte iésima del primer libro de códigos como segundo libro de códigos, donde una cantidad de bits de la parte iésima del primer libro de códigos es B-B1.
Haciendo referencia al segundo aspecto, en una segunda forma de implementación del segundo aspecto, la segunda unidad de determinación está configurada, específicamente, para: usar un libro de códigos preentrenado como segundo libro de códigos, donde una cantidad de bits del libro de códigos preentrenado y una cantidad de bits de la parte iésima del primer libro de códigos son iguales, y ambas son B-B1.
Haciendo referencia al segundo aspecto o a la primera o segunda forma de implementación del segundo aspecto, en una tercera forma de implementación del segundo aspecto, cuando B1 es 1, la primera unidad de determinación está configurada, específicamente, para: cuando la palabra de código del primer vector cuantificado pertenece a una primera mitad de dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o, cuando la palabra de código del primer vector cuantificado pertenece a una segunda mitad de las dos partes del primer libro de códigos, determinar que el segundo vector cuantificado está asociado a la segunda mitad del primer libro de códigos.
Haciendo referencia al segundo aspecto o a la primera o la segunda forma de implementación del segundo aspecto, en una cuarta forma de implementación del segundo aspecto, cuando M es 2 y B1 es 1 la primera unidad de determinación está configurada, específicamente, para: determinar si una relación entre el primer valor del primer vector cuantificado (es decir, de un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código se sitúa dentro de un intervalo preestablecido; y, cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o, cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
Haciendo referencia al segundo aspecto o a una cualquiera de la primera a la cuarta formas de implementación del segundo aspecto, en una quinta forma de implementación del segundo aspecto, la unidad de división en vectores está configurada específicamente para: cuando la trama mencionada comprende M subtramas, y cada subtrama de las M subtramas comprende N1 envolventes, donde el producto de M y N1 es N, combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia.
En las formas de realización de la presente invención, dividiendo envolventes de frecuencia en una pluralidad de vectores con menos dimensiones, se puede llevar a cabo una cuantificación de vector sobre vectores de envolventes de frecuencia usando un libro de códigos con una cantidad menor de bits. Por lo tanto, se puede reducir la complejidad de la cuantificación de vector, y puede garantizarse la efectividad de la misma.
Breve descripción de los dibujos
Para describir las soluciones técnicas de las formas de realización de la presente invención más claramente, a continuación se introducen brevemente los dibujos adjuntos que se requieren para describir las formas de realización de la presente invención. En principio, los dibujos adjuntos de la siguiente descripción muestran meramente algunas formas de realización de la presente invención, y un experto ordinario en la materia puede incluso obtener otros dibujos a partir de estos adjuntos sin ningún esfuerzo creativo.
La figura 1 es un diagrama de flujo de un método de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención;
la figura 2 es un diagrama estructural esquemático de un aparato de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención; y
la figura 3 muestra un códec que implementa un método de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención.
Descripción de formas de realización
A continuación, se describen de forma clara y completa las soluciones técnicas de las formas de realización de la presente invención en referencia a los dibujos adjuntos en las formas de realización de la presente invención. En principio, las formas de realización descritas son algunas del conjunto total de formas de realización de la presente invención. La totalidad del resto de formas de realización obtenidas por un experto ordinario en la materia sobre la base de las formas de realización de la presente invención sin esfuerzo creativo se situará dentro del alcance de protección de la presente invención.
Con especificidad con respecto a un caso en el que la cantidad total de bits está limitada cuando se lleva a cabo una cuantificación de vector sobre envolventes de frecuencia, las formas de realización de la presente invención proponen, de acuerdo con características de las envolventes de frecuencia que se deben codificar y utilizando relaciones tales como la pertinencia entre envolventes de frecuencia en una subtrama, un método de cuantificación de vector de envolventes de frecuencia, el cual es sencillo, ahorra bits y puede garantizar una cuantificación efectiva. El método de cuantificación de vector según la forma de realización de la presente invención es específico de un caso en el que una trama comprende una pluralidad de envolventes de frecuencia.
Haciendo referencia a la figura 1, se describe a continuación un método de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención. El método de cuantificación de vector comprende las siguientes etapas:
S101. Dividir N envolventes de frecuencia de una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, N1, N y M son enteros positivos, M es superior o igual 2 y N es superior a N1.
Por ejemplo, N envolventes de frecuencia de una trama se dividen en N1 vectores M-dimensionales y, por lo tanto, N1 x M = N. A continuación, se lleva a cabo una cuantificación de vector sobre los N1 vectores. De esta manera, debido a que se reduce la cantidad de dimensiones, para lograr una precisión de cuantificación apropiada, se disminuye, de manera correspondiente, la cantidad de bits requeridos para un único vector y se reduce también la complejidad de la cuantificación de vector.
Cuando una trama comprende M subtramas, y cada subtrama de las M subtramas comprende N1 envolventes, donde el producto de M y N1 es N, para reducir la cantidad de dimensiones, una envolvente correspondiente a cada subtrama de las M subtramas se puede combinar además en un vector. En la presente, la envolvente correspondiente puede ser una envolvente en una ubicación correspondiente. Por ejemplo, las primeras envolventes de las M subtramas se combinan en un primer vector, y las segundas envolventes de las M subtramas se combinan en un segundo vector, y el resto se puede deducir por analogía. Finalmente, se obtienen N1 vectores, donde cada uno de los vectores comprende M envolventes de frecuencia.
En general, se pueden usar formas diferentes de combinación vectorial para características de envolventes de frecuencia diferentes. En primer lugar, cuando una misma subtrama tiene más de dos envolventes de frecuencia, y hay una cantidad reducida de subtramas, por ejemplo, solamente dos subtramas, se pueden combinar envolventes de frecuencia iguales de las subtramas diferentes, de manera que se puede obtener una pluralidad de vectores bidimensionales; en segundo lugar, cuando hay más de dos subtramas, las primeras envolventes de frecuencia de las subtramas se pueden combinar en un primer vector, y las envolventes de frecuencia Jésima de las subtramas se pueden combinar en el vector Jésimo.
5102. Cuantificar un primer vector de los N1 vectores usando un primer libro de códigos, para obtener una palabra de código del primer vector cuantificado, donde B bits del primer libro de códigos se dividen en 2B1 partes, B es un entero positivo superior o igual a 2 y B1 es un entero positivo superior o igual a 1.
Por ejemplo, la cantidad de bits que se requiere para llevar a cabo una cuantificación de vector sobre un primer vector es B; entonces, por medio del entrenamiento se debe obtener un primer libro de códigos que tiene 2B palabras de código. Puesto que los N1 vectores de envolventes de frecuencia pertenecen a una misma trama, una secuencia de un libro de códigos correspondiente a los N1 vectores se puede ajustar de acuerdo con el orden de estos vectores, estimando así un intervalo de un vector posterior de acuerdo con el resultado de cuantificación de un vector previo, y reduciéndose la cantidad de bits que se requieren para llevar a cabo una cuantificación de vector sobre el vector posterior.
Resulta sencillo entender que, si el primer libro de códigos se divide en dos partes, y posteriormente una parte del primer libro de códigos se usa para cuantificar un vector posterior, la parte del primer libro de códigos que se usa para cuantificar el vector posterior tiene solamente B-1 bits; o, si el primer libro de códigos se divide en cuatro partes, y posteriormente una parte del primer libro de códigos se usa para cuantificar un vector posterior, la parte del primer libro de códigos que se usa para cuantificar el vector posterior tiene solamente B-3 bits; y el resto se puede deducir por analogía. Es decir, se puede usar un libro de códigos con una cantidad menor de bits para llevar a cabo una cuantificación de vector sobre vectores de envolventes de frecuencia, reduciéndose así la complejidad de la cuantificación de vector y garantizando la efectividad de la misma.
5103. Determinar, de acuerdo con la palabra de código del primer vector cuantificado, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, donde i es un entero positivo superior o igual a 1 e inferior o igual a 2B1.
Por ejemplo, cuando B1 es 1, el primer libro de códigos se divide en dos partes. Por lo tanto, el primer vector cuantificado se compara con cada vector del primer libro de códigos, para buscar un vector que está en el primer libro de códigos y es el más próximo al primer vector, donde un índice de ubicación del vector en el primer libro de códigos es un valor cuantificado del primer vector.
Cuando se determina que el valor cuantificado del primer vector está en la primera mitad del primer libro de códigos, se determina que la palabra de código del primer vector cuantificado pertenece a la primera mitad de las dos partes del primer libro de códigos, es decir, se determina que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos, y la primera mitad del primer libro de códigos se puede usar como segundo libro de códigos; o, cuando se determina que el valor cuantificado del primer vector está en la segunda mitad del primer libro de códigos, se determina que la palabra de código del primer vector cuantificado pertenece a la segunda mitad de las dos partes del primer libro de códigos, es decir, se determina que el primer vector cuantificado está asociado a la segunda mitad del primer libro de códigos, y la segunda mitad del primer libro de códigos se puede usar como segundo libro de códigos.
Alternativamente, por ejemplo, cuando M es 2 y B1 es 1, el primer libro de códigos se divide en dos partes, y cada vector es bidimensional. Por lo tanto, el primer vector cuantificado se compara con cada vector del primer libro de códigos, para buscar un vector que está en el primer libro de códigos y es el más próximo al primer vector, donde un índice de ubicación del vector del primer libro de códigos es un valor cuantificado del primer vector.
A continuación, se determina si una relación entre el primer valor del primer vector cuantificado (es decir, de un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código está dentro de un intervalo preestablecido; y, cuando se determina que la relación está dentro del intervalo preestablecido, se determina que el primer vector cuantificado está asociado a la primera mitad de las dos partes del primer libro de códigos; o, cuando se determina que la relación no está dentro del intervalo preestablecido, se determina que el primer vector cuantificado está asociado a la segunda mitad de las dos partes del primer libro de códigos. En la presente, el intervalo preestablecido es un intervalo de umbral que se preestablece de acuerdo con la experiencia.
Se supone que el primer libro de códigos que comprende unos vectores bidimensionales es {(a1, b1), (a2, b2), (a3, b3), a4, b4)}, donde una palabra de código de (a1, b1) (es decir, un índice de ubicación de (a1, b1) en el primer libro de códigos) es 1, una palabra de código de (a2, b2) es 2, una palabra de código de (a3, b3) es 3 y una palabra de código de (a4, b4) es 4. Una palabra de código es un índice de ubicación que está en un libro de códigos y es de cada vector del libro de códigos. Si se determina que una palabra de código del primer vector cuantificado es 3, el primer vector cuantificado correspondiente a la palabra de código es (a3, b3). A continuación, la relación del primer valor a3 con respecto al segundo valor b3 se compara con un intervalo preestablecido [a, b], y si la relación está dentro del intervalo, se determina que el primer vector cuantificado está asociado a la primera mitad de las dos partes del primer libro de códigos, y la primera mitad del primer libro de códigos se puede usar como segundo libro de códigos; o, si la relación no está dentro del intervalo, se determina que el primer vector cuantificado está asociado a la segunda mitad de las dos partes del primer libro de códigos, y la segunda mitad del primer libro de códigos se puede usar como segundo libro de códigos.
5104. Determinar un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima.
Como se ha descrito anteriormente, la parte iésima del primer libro de códigos se usa como segundo libro de códigos, donde la cantidad de bits en la parte iésima del primer libro de códigos es B-B1. De manera alternativa, pero sin formar parte de la invención, como segundo libro de códigos se puede usar un libro de códigos preentrenado, donde la cantidad de bits en el libro de códigos preentrenado y la cantidad de los bits en la parte iésima del primer libro de códigos es igual, y ambas son B-B1.
Es decir, un libro de códigos para el segundo vector se puede determinar directamente de acuerdo con una parte de un libro de códigos para cuantificar el primer vector. En operaciones concretas, uno o más libros de códigos (con B-B1 bits) que comprenden solamente algunas de las palabras de código del primer libro de códigos se puede reentrenar de acuerdo con requisitos de códecs diferentes, y se pueden usar como libro de códigos para el segundo vector y un vector posterior, lográndose así el efecto de reducir la cantidad de bits que se requieren para la cuantificación y optimizándose la calidad de la misma.
5105. Cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos.
Por ejemplo, el segundo vector y el vector posterior se pueden cuantificar sobre la base del segundo libro de códigos que se determina de acuerdo con un resultado de la cuantificación del primer vector. Es decir, el primer libro de códigos de un tipo de B bits se usa para cuantificar el primer vector de los N1 vectores, con el fin de obtener la palabra de código del primer vector cuantificado; a continuación, se determina que la palabra de código del primer vector cuantificado pertenece a la parte iésima de las 2B1 partes del primer libro de códigos; a continuación, se determina el segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima; finalmente, el segundo libro de códigos se usa para cuantificar otro vector de los N1 vectores exceptuando el primer vector.
El segundo vector se cuantifica sobre la base del segundo libro de códigos que se determina de acuerdo con el resultado de cuantificar el primer vector y, a continuación, se cuantifica un tercer vector sobre la base de un tercer libro de códigos que se determina de acuerdo con el resultado de cuantificar el segundo vector, y el resto se puede deducir por analogía.
Puede observarse que, en las formas de realización de la presente invención, dividiendo envolventes de frecuencia en una pluralidad de vectores con menos dimensiones, se puede llevar a cabo una cuantificación de vector sobre vectores de envolventes de frecuencia usando un libro de códigos con una cantidad menor de bits. Por lo tanto, puede reducirse la complejidad de la cuantificación de vector, y también puede garantizarse la efectividad de la misma.
En una forma de implementación, cuando B1 es 1, la determinación de que la palabra de código del primer vector cuantificado pertenece a la parte iésima de las 2B1 partes del primer libro de códigos en la etapa S103 y la determinación de un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima en la etapa S104 comprenden, específicamente:
determinar si la palabra de código del primer vector cuantificado pertenece a la primera parte, por ejemplo, la primera mitad, de las dos partes del primer libro de códigos; y
cuando se determina que la palabra de código del primer vector cuantificado pertenece a la primera mitad de las dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad de las dos partes del primer libro de códigos, y determinar, además, que el segundo libro de códigos es la primera mitad del primer libro de códigos; o
cuando se determina que la palabra de código del primer vector cuantificado no pertenece a la primera mitad de las dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la segunda mitad de las dos partes del primer libro de códigos, y determinar, además, que el segundo libro de códigos es la última parte del primer libro de códigos.
En este caso, el segundo libro de códigos únicamente necesita B-1 bits.
En otra forma de implementación, cuando M es 2 y B1 es 1, la determinación, de acuerdo con la palabra de código del primer vector cuantificado, de que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos en la etapa 103, y la determinación de un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima en la etapa S104 comprenden específicamente:
determinar si una relación entre el primer valor del primer vector cuantificado (un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código está dentro de un intervalo preestablecido; y
cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos, y determinar, además, que el segundo libro de códigos es la primera mitad del primer libro de códigos; o
cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos, y determinar, además, que el segundo libro de códigos es la segunda mitad del primer libro de códigos.
En este caso, el segundo libro de códigos únicamente necesita B-1 bits.
En las dos formas de implementación anteriores, se ha descrito ejemplificativamente un caso en el que el primer libro de códigos de un tipo de B bits se divide en dos partes, y estas formas de implementación son sencillas de implementar. Debe entenderse que, en esta forma de realización de la presente invención, la cantidad de partes en las que se divide el primer libro de códigos no se limita a 2, y el primer libro de códigos también se puede dividir en cuatro partes, ocho partes o incluso más partes cuya cantidad sea una potencia entera de 2. En general, una cantidad de partes mayor en las que se divide el primer libro de códigos da como resultado una menor exactitud del segundo libro de códigos determinado; por lo tanto, puede verse afectada la precisión de la cuantificación. Por lo tanto, se puede determinar un valor de B1 en referencia a la cantidad de bits que se pueden usar realmente, es decir, la cantidad de partes en las que se divide el primer libro de códigos y que pueden garantizar la calidad de la cuantificación.
A continuación, se proporcionan algunas formas de realización específicas, para describir de forma detallada el método de cuantificación de vector de envolventes de frecuencia según esta forma de realización de la presente invención.
Una primera forma de realización específica es la siguiente: si una trama comprende N envolventes de frecuencia, la trama se divide en N1 subtramas, y cada una de las subtramas tiene la misma cantidad M de envolventes de frecuencia, las envolventes de frecuencia (en total M envolventes de frecuencia) de cada una de las subtramas se empaquetan en forma de un vector, y, por lo tanto, hay N1 vectores.
En primer lugar, un primer libro de códigos A que tiene 2B palabras de código que se han preentrenado y clasificado se usa para cuantificar un primer vector utilizando B bits, y un resultado de la cuantificación es ind(1).
A continuación, se determina si el resultado de la cuantificación ind(1) está en la primera mitad del primer libro de código A.
Si el resultado de la cuantificación ind(1) está en la primera mitad del primer libro de códigos A, como libro de códigos nuevo (es decir, un segundo libro de códigos que comprende B-1 bits) se usan palabras de código de la primera mitad del libro de códigos A, con el fin de cuantificar el segundo vector y un vector posterior usando los B-1 bits; o
si el resultado de la cuantificación ind(1) no está en la primera mitad del primer libro de códigos A, como libro de códigos nuevo (es decir, un segundo libro de códigos que comprende B-1 bits) se usan palabras de código de la segunda mitad del libro de códigos A, con el fin de cuantificar el segundo vector y un vector posterior usando los B-1 bits.
Puede observarse que, en la primera forma de realización específica, en primer lugar, se clasifica un libro de códigos general (por ejemplo, un primer libro de códigos); a continuación, en referencia a un resultado de cuantificación del primer vector, se estima un resultado de cuantificación de un vector posterior; y a continuación, se restringe un intervalo del libro de códigos para cuantificar el vector posterior.
Una segunda forma de realización específica es la siguiente: si un vector es bidimensional, también puede usarse el método de esta forma de realización específica.
En primer lugar, se usa un primer libro de códigos A que tiene 2B palabras de código que se han preentrenado y clasificado, para cuantificar un primer vector utilizando B bits, y un resultado de la cuantificación es ind(1).
A continuación, se determina si una relación entre dos valores del primer vector cuantificado está dentro de un intervalo preestablecido [a, b], donde la relación se obtiene dividiendo el primer valor del primer vector cuantificado por el segundo valor del primer valor cuantificado.
Si la relación está dentro del intervalo preestablecido [a, b], como libro de códigos nuevo (es decir, un segundo libro de códigos que comprende B-1 bits) se usan palabras de código de la primera mitad de libro de códigos A, para cuantificar el segundo vector y un vector posterior usando los B-1 bits; o
si la relación está dentro del intervalo preestablecido [a, b], como libro de códigos nuevo (es decir, un segundo libro de códigos que comprende B-1 bits) se usan palabras de código de la segunda mitad del libro de códigos A, para cuantificar el segundo vector y un vector posterior utilizando los B-1 bits.
Puede observarse que, en esta forma de realización específica, en referencia a características de un vector bidimensional, se estima un resultado de cuantificación de un vector posterior, y, a continuación, un intervalo del libro de códigos se restringe para cuantificar el vector posterior.
Haciendo referencia a la figura 2, a continuación se describe un aparato de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención.
En la figura 2, el aparato de cuantificación de vector de envolventes de frecuencia 20 comprende una unidad de división en vectores 21, una primera unidad de cuantificación 22, una primera unidad de determinación 23, una segunda unidad de determinación 24 y una segunda unidad de cuantificación 25, en las que:
la unidad de división en vectores 21 está configurada para dividir N envolventes de frecuencia de una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, N1, N y M son enteros positivos, M es superior o igual a 2 y N es superior a N1;
la primera unidad de cuantificación 22 está configurada para usar un primer libro de códigos que tiene B bits con el fin de cuantificar un primer vector de los N1 vectores que se obtienen por medio de la división por parte de la unidad de división en vectores 21, para obtener una palabra de código del primer vector cuantificado, donde el primer libro de códigos se divide en 2B1 partes, B es un entero positivo superior o igual a 2 y B1 es un entero positivo superior o igual a 1;
la primera unidad de determinación 23 está configurada para determinar, de acuerdo con la palabra de código del primer vector cuantificado que se obtiene por medio de la cuantificación por parte de la primera unidad de cuantificación 22, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, donde i es un entero positivo superior o igual a 1 e inferior a 2B1;
la segunda unidad de determinación 24 está configurada para determinar un segundo libro de códigos de acuerdo con el libro de códigos que es de la parte iésima y se determina mediante la primera unidad de determinación 23; y
la segunda unidad de cuantificación 25 está configurada para cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos que se determina mediante la segunda unidad de determinación 24.
Específicamente, la segunda unidad de determinación 24 está configurada para usar la parte iésima del primer libro de códigos como segundo libro de códigos, donde la cantidad de bits de la parte iésima del primer libro de códigos es B-B1. Alternativamente, aunque sin formar parte de la invención, la segunda unidad de determinación 24 puede estar configurada para usar un libro de códigos preentrenado como segundo libro de códigos, donde la cantidad de bits del libro de códigos preentrenado y la cantidad de bits de la parte iésima del primer libro de códigos son iguales, y ambas son B-B1.
Específicamente, cuando B1 es 1, la primera unidad de determinación 23 puede estar configurada para: cuando la palabra de código del primer vector cuantificado pertenece a una primera mitad de dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o, cuando la palabra de código del primer vector cuantificado pertenece a una segunda mitad de las dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la segunda mitad del primer libro de códigos.
Alternativamente, cuando M es 2 y B1 es 1, la primera unidad de determinación 23 puede estar configurada para: determinar si una relación entre el primer valor del primer vector cuantificado (es decir, de un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código está dentro de un intervalo preestablecido; y, cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o, cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
Específicamente, la unidad de división en vectores 21 puede estar configurada, además, para: cuando la trama mencionada comprende M subtramas, y cada subtrama de las M subtramas comprende N1 envolventes, donde el producto de M y N1 es N, combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia.
En las formas de realización de la presente invención, dividiendo envolventes de frecuencia en una pluralidad de vectores con menos dimensiones, se puede llevar a cabo una cuantificación de vector sobre vectores de envolventes de frecuencia utilizando un libro de códigos con una menor cantidad de bits. Por lo tanto, se puede reducir la complejidad de la cuantificación de vector, y se puede garantizar también la efectividad de la misma.
La figura 3 muestra un códec que implementa un método de cuantificación de vector de envolventes de frecuencia según una forma de realización de la presente invención. El códec 30 comprende un procesador 31 y una memoria 32. El procesador 31 está configurado para: dividir N envolventes de frecuencia de una trama en N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia, N1, N y M son enteros positivos, M es superior o igual a 2 y N es superior a N1; usar un primer libro de códigos que tiene B bits para cuantificar un primer vector de los N1 vectores, con el fin de obtener una palabra de código del primer vector cuantificado, donde el primer libro de códigos se divide en 2B1 partes, B es un entero positivo superior o igual a 2 y B1 es un entero positivo superior o igual a 1; determinar, de acuerdo con la palabra de código del primer vector cuantificado, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, donde i es un entero positivo superior o igual a 1 e inferior o igual a 2B1; determinar un segundo libro de códigos de acuerdo con el libro de códigos de la parte iésima; y cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos. La memoria 32 está configurada para almacenar instrucciones que son usadas por el procesador 31 con el fin de ejecutar el método anterior.
Específicamente, cuando la trama mencionada comprende M subtramas, y cada subtrama de las M subtramas comprende N1 envolventes, donde el producto de M y N1 es N, el procesador puede combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, donde cada vector de los N1 vectores comprende M envolventes de frecuencia.
El procesador 31 usa la parte iésima del primer libro de códigos como segundo libro de códigos, donde la cantidad de bits de la parte iésima del primer libro de códigos es B-B1; o, aunque sin formar parte de la invención, usa un libro de códigos preentrenado como segundo libro de códigos, donde la cantidad de bits del libro de códigos preentrenado y la cantidad de bits de la parte iésima del primer libro de códigos son iguales y ambas son B-B1.
Cuando B1 es 1, el procesador 31 puede determinar, de acuerdo con que la palabra de código del primer vector cuantificado pertenezca a una primera mitad de dos partes del primer libro de códigos, que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o determinar, de acuerdo con que la palabra de código del primer vector cuantificado pertenezca a una segunda mitad de las dos partes del primer libro de códigos, que el primer vector cuantificado está asociado a la segunda mitad del primer libro de códigos. Alternativamente, cuando M es 2 y B1 es 1, el procesador 31 puede determinar, de acuerdo con si la relación entre el primer valor del primer vector cuantificado (es decir, de un vector bidimensional) correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código está dentro de un intervalo preestablecido, que el primer vector cuantificado está asociado a la primera mitad o la segunda mitad del primer libro de códigos; y, cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
Puede observarse que, en las formas de realización de la presente invención, dividiendo envolventes de frecuencia en una pluralidad de vectores con menos dimensiones, se puede llevar a cabo una cuantificación de vector sobre vectores de envolventes de frecuencia usando un libro de códigos con una cantidad menor de bits. Por lo tanto, se puede reducir la complejidad de la cuantificación de vector, y se puede garantizar la efectividad de la misma.
Comprensiblemente, la solución descrita en cada reivindicación de la presente invención debe considerarse también una forma de realización, y las características de las reivindicaciones se pueden combinar. Por ejemplo, diferentes etapas complementarias de ejecución después de una etapa de determinación en la presente invención pueden servir como formas de realización diferentes.
Un experto ordinario en la materia entenderá que, en combinación con los ejemplos descritos en las formas de realización dadas a conocer en esta memoria, se pueden implementar unidades y etapas algorítmicas mediante hardware electrónico o una combinación de software informático y hardware electrónico. La materialización de las funciones por hardware o software depende de las aplicaciones y las condiciones restrictivas de diseño particulares de las soluciones técnicas. Una persona versada en la materia puede usar métodos diferentes para implementar las funciones descritas para cada aplicación particular, pero no debe considerarse que la implementación vaya más allá del alcance de la presente invención.
Los expertos en la materia entenderán claramente que, a efectos de facilitar y abreviar la descripción, para obtener un proceso de funcionamiento detallado del sistema, el aparato y la unidad anteriores, se puede hacer referencia a un proceso correspondiente de las formas de realización de método anteriores, y los detalles no se describen nuevamente en la presente.
Las unidades descritas como partes independientes pueden ser o no físicamente independientes, y las partes presentadas como unidades pueden ser o no unidades físicas, pueden estar situadas en una posición, o pueden estar distribuidas en una pluralidad de unidades de una red. Parte o la totalidad de las unidades se puede seleccionar en función de las necesidades concretas para alcanzar los objetivos de las soluciones de las formas de realización.
Además, unidades funcionales de las formas de realización de la presente invención pueden estar integradas en una unidad de procesado, o cada una de las unidades puede existir físicamente de manera individual, o dos o más unidades pueden estar integradas en una unidad.
Cuando las funciones se implementan en forma de una unidad funcional de software y se comercializan o utilizan como producto independiente, las funciones se pueden almacenar en un medio de almacenamiento legible por ordenador. Sobre la base de esta interpretación, las soluciones técnicas de la presente invención en esencia, o la parte que contribuye a la técnica anterior, o algunas de las soluciones técnicas, se pueden implementar en forma de producto de software. El producto de software se almacena en un medio de almacenamiento, y comprende varias instrucciones para indicar a un dispositivo informático (que puede ser un ordenador personal, un servidor o un dispositivo de red) que lleve a cabo la totalidad o parte de las etapas de los métodos descritos en las formas de realización de la presente invención. El medio de almacenamiento anterior comprende: cualquier medio que pueda almacenar código de programa, tal como una unidad de almacenamiento flash de USB, un disco duro extraíble, una memoria de solo lectura (Read-Only Memory, ROM), una memoria de acceso aleatorio (Random Access Memory, RAM), un disco magnético o un disco óptico.
Las descripciones anteriores son meramente formas de implementación específicas de la presente invención, pero no están destinadas a limitar el alcance de protección de la misma. Cualquier variación o sustitución percibida fácilmente por una persona versada en la materia dentro del alcance técnico dado a conocer en la presente invención se situará dentro del alcance de protección de la misma. Por lo tanto, el alcance de protección de la presente invención quedará sujeto al alcance de protección de las reivindicaciones.

Claims (8)

REIVINDICACIONES
1. Método de cuantificación de vector de envolventes de frecuencia, que comprende:
dividir (S101) N envolventes de frecuencia en una trama en N1 vectores, comprendiendo cada vector en los N1 vectores M envolventes de frecuencia, siendo N1, N y M enteros positivos, siendo M superior o igual a 2, y siendo N superior a N1;
cuantificar (S102) un primer vector en los N1 vectores utilizando un primer libro de códigos de un tipo de B bits, para obtener una palabra de código correspondiente al primer vector cuantificado, estando el primer libro de códigos dividido en 2B1 partes, siendo B un entero positivo superior o igual a 2 y siendo B1 un entero positivo superior o igual a 1;
determinar (S103), de acuerdo con la palabra de código correspondiente al primer vector cuantificado, que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, siendo i un entero positivo superior o igual a 1 e inferior o igual a 2B1;
usar la parte iésima del primer libro de códigos como un segundo libro de códigos, siendo la cantidad de bits de la parte iésima del primer libro de códigos B-B1; y
cuantificar (S105) un segundo vector de los N1 vectores sobre la base del segundo libro de códigos.
2. Método según la reivindicación 1, en el que, cuando B1 es 1, la determinación (S101), de acuerdo con la palabra de código correspondiente al primer vector cuantificado, de que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos comprende:
cuando la palabra de código correspondiente al primer vector cuantificado pertenece a una primera mitad de dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o
cuando la palabra de código correspondiente al primer vector cuantificado pertenece a una segunda mitad de las dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la segunda mitad del primer libro de códigos.
3. Método según la reivindicación 1, en el que, cuando M es 2 y B1 es 1, la determinación (S101), de acuerdo con la palabra de código correspondiente al primer vector cuantificado, de que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos comprende:
determinar si una relación entre el primer valor del primer vector cuantificado correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código se sitúa o no dentro de un intervalo preestablecido, siendo la relación obtenida dividiendo el primer valor del primer vector cuantificado por el segundo valor del primer vector cuantificado; y
cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o
cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
4. Método según una cualquiera de las reivindicaciones 1 a 3, en el que la división (S101) de N envolventes de frecuencia en una trama en N1 vectores, en el que cada vector en los N1 vectores comprende M envolventes de frecuencia, comprende:
cuando dicha una trama comprende M subtramas, y cada subtrama en las M subtramas comprende N1 envolventes, siendo el producto de M y N1 N, combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, comprendiendo cada vector de los N1 vectores M envolventes de frecuencia.
5. Aparato de cuantificación de vector de envolventes de frecuencia (20), que comprende:
una unidad de división en vectores (21), configurada para dividir N envolventes de frecuencia de una trama en N1 vectores, comprendiendo cada vector en los N1 vectores M envolventes de frecuencia, siendo N1, N y M enteros positivos, siendo M superior o igual a 2 y siendo N superior a N1;
una primera unidad de cuantificación (22), configurada para usar un primer libro de códigos de un tipo de B bits con el fin de cuantificar un primer vector en los N1 vectores que son obtenidos por medio de la división por parte de la unidad de división en vectores (21), para obtener una palabra de código correspondiente al primer vector cuantificado, estando el primer libro de códigos dividido en 2B1 partes, siendo B un entero positivo superior o igual a 2 y siendo B1 un entero positivo superior o igual a 1;
una primera unidad de determinación (23), configurada para determinar, de acuerdo con la palabra de código correspondiente al primer vector cuantificado que es obtenido mediante la cuantificación por parte de la primera unidad de cuantificación (22), que el primer vector cuantificado está asociado a la parte iésima de las 2B1 partes del primer libro de códigos, siendo i un entero positivo superior o igual a 1 e inferior o igual a 2B1;
una segunda unidad de determinación (24), configurada para usar la parte iésima del primer libro de códigos como segundo libro de códigos, siendo la cantidad de bits de la parte iésima del primer libro de códigos B-B1; y una segunda unidad de cuantificación (25), configurada para cuantificar un segundo vector de los N1 vectores sobre la base del segundo libro de códigos que se determina mediante la segunda unidad de determinación (24).
6. Aparato según la reivindicación 5, en el que, cuando B1 es 1, la primera unidad de determinación (23) está configurada específicamente para:
cuando la palabra de código correspondiente al primer vector cuantificado pertenece a una primera mitad de dos partes del primer libro de códigos, determinar que el primer vector cuantificado está asociado a la primera mitad del primer libro de códigos; o
cuando la palabra de código correspondiente al primer vector cuantificado pertenece a una segunda mitad de las dos partes del primer libro de códigos, determinar que el segundo vector cuantificado está asociado a la segunda mitad del primer libro de códigos.
7. Aparato según la reivindicación 5, en el que, cuando M es 2 y B1 es 1, la primera unidad de determinación (23) está configurada específicamente para:
determinar si una relación entre el primer valor del primer vector cuantificado correspondiente a la palabra de código y el segundo valor del primer vector cuantificado correspondiente a la palabra de código se sitúa dentro de un intervalo preestablecido, siendo la relación obtenida dividiendo el primer valor del primer vector cuantificado por el segundo valor del primer vector cuantificado; y
cuando se determina que la relación está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una primera mitad de dos partes del primer libro de códigos; o
cuando se determina que la relación no está dentro del intervalo preestablecido, determinar que el primer vector cuantificado está asociado a una segunda mitad de las dos partes del primer libro de códigos.
8. Aparato según una cualquiera de las reivindicaciones 5 a 7, en el que la unidad de división en vectores (21) está configurada específicamente para:
cuando dicha una trama comprende M subtramas, y cada subtrama en las M subtramas comprende N1 envolventes, en el que el producto de M y N1 es N, combinar una envolvente correspondiente a cada subtrama de las M subtramas en un vector, para obtener N1 vectores, comprendiendo cada vector de los N1 vectores M envolventes de frecuencia.
ES19162443T 2013-07-04 2014-07-03 Método y aparato de cuantificación de vector de envolventes de frecuencia Active ES2954460T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310279924.5A CN104282308B (zh) 2013-07-04 2013-07-04 频域包络的矢量量化方法和装置

Publications (1)

Publication Number Publication Date
ES2954460T3 true ES2954460T3 (es) 2023-11-22

Family

ID=52143115

Family Applications (2)

Application Number Title Priority Date Filing Date
ES14819622T Active ES2738883T3 (es) 2013-07-04 2014-07-03 Aparato y método de cuantificación vectorial de envolventes de frecuencia
ES19162443T Active ES2954460T3 (es) 2013-07-04 2014-07-03 Método y aparato de cuantificación de vector de envolventes de frecuencia

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES14819622T Active ES2738883T3 (es) 2013-07-04 2014-07-03 Aparato y método de cuantificación vectorial de envolventes de frecuencia

Country Status (16)

Country Link
US (2) US9805732B2 (es)
EP (3) EP4231288A1 (es)
JP (1) JP6301459B2 (es)
KR (1) KR101725531B1 (es)
CN (2) CN104282308B (es)
AU (1) AU2014286716B2 (es)
BR (1) BR112015031617B1 (es)
CA (1) CA2911314C (es)
ES (2) ES2738883T3 (es)
HK (1) HK1206137A1 (es)
MX (1) MX351967B (es)
MY (1) MY170701A (es)
PL (1) PL3594944T3 (es)
RU (1) RU2635069C2 (es)
SG (1) SG11201509155RA (es)
WO (1) WO2015000416A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102168650B1 (ko) * 2018-11-27 2020-10-21 한국과학기술원 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치
CN113766150B (zh) * 2021-08-31 2024-03-26 北京安酷智芯科技有限公司 一种降噪方法、电路系统、电子设备及计算机可读存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680508A (en) * 1991-05-03 1997-10-21 Itt Corporation Enhancement of speech coding in background noise for low-rate speech coder
WO1995010760A2 (en) * 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor
TW321810B (es) * 1995-10-26 1997-12-01 Sony Co Ltd
US6014618A (en) 1998-08-06 2000-01-11 Dsp Software Engineering, Inc. LPAS speech coder using vector quantized, multi-codebook, multi-tap pitch predictor and optimized ternary source excitation codebook derivation
US6952671B1 (en) 1999-10-04 2005-10-04 Xvd Corporation Vector quantization with a non-structured codebook for audio compression
US7337110B2 (en) 2002-08-26 2008-02-26 Motorola, Inc. Structured VSELP codebook for low complexity search
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
WO2004112400A1 (en) 2003-06-16 2004-12-23 Matsushita Electric Industrial Co., Ltd. Coding apparatus, coding method, and codebook
WO2006030865A1 (ja) * 2004-09-17 2006-03-23 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置、スケーラブル復号化装置、スケーラブル符号化方法、スケーラブル復号化方法、通信端末装置および基地局装置
NZ562182A (en) 2005-04-01 2010-03-26 Qualcomm Inc Method and apparatus for anti-sparseness filtering of a bandwidth extended speech prediction excitation signal
US7805314B2 (en) * 2005-07-13 2010-09-28 Samsung Electronics Co., Ltd. Method and apparatus to quantize/dequantize frequency amplitude data and method and apparatus to audio encode/decode using the method and apparatus to quantize/dequantize frequency amplitude data
US7602745B2 (en) * 2005-12-05 2009-10-13 Intel Corporation Multiple input, multiple output wireless communication system, associated methods and data structures
WO2007114290A1 (ja) * 2006-03-31 2007-10-11 Matsushita Electric Industrial Co., Ltd. ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
EP1970900A1 (en) * 2007-03-14 2008-09-17 Harman Becker Automotive Systems GmbH Method and apparatus for providing a codebook for bandwidth extension of an acoustic signal
US8125884B1 (en) * 2007-07-11 2012-02-28 Marvell International Ltd. Apparatus for pre-coding using multiple codebooks and associated methods
CN100585699C (zh) * 2007-11-02 2010-01-27 华为技术有限公司 一种音频解码的方法和装置
CN101335004B (zh) 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
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
CN101483043A (zh) * 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法
JP5419714B2 (ja) * 2008-01-16 2014-02-19 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
US20100274556A1 (en) * 2008-01-16 2010-10-28 Panasonic Corporation Vector quantizer, vector inverse quantizer, and methods therefor
CN101261835B (zh) 2008-04-25 2010-12-15 清华大学 基于超帧模式的多矢量多码本尺寸联合优化方法
US9037474B2 (en) * 2008-09-06 2015-05-19 Huawei Technologies Co., Ltd. Method for classifying audio signal into fast signal or slow signal
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
US8831933B2 (en) * 2010-07-30 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization
CN102208188B (zh) * 2011-07-13 2013-04-17 华为技术有限公司 音频信号编解码方法和设备

Also Published As

Publication number Publication date
EP3594944C0 (en) 2023-06-07
AU2014286716A1 (en) 2015-11-26
SG11201509155RA (en) 2015-12-30
WO2015000416A1 (zh) 2015-01-08
RU2015155949A (ru) 2017-08-09
EP3594944A1 (en) 2020-01-15
CN104282308A (zh) 2015-01-14
US9805732B2 (en) 2017-10-31
KR20160003178A (ko) 2016-01-08
MY170701A (en) 2019-08-26
EP4231288A1 (en) 2023-08-23
HK1206137A1 (en) 2015-12-31
KR101725531B1 (ko) 2017-04-10
CA2911314C (en) 2018-12-04
EP2983170A1 (en) 2016-02-10
US20180018980A1 (en) 2018-01-18
JP6301459B2 (ja) 2018-03-28
CN107316647B (zh) 2021-02-09
US10032460B2 (en) 2018-07-24
PL3594944T3 (pl) 2023-10-09
BR112015031617A2 (pt) 2017-07-25
MX2015017003A (es) 2016-04-25
US20160111105A1 (en) 2016-04-21
EP3594944B1 (en) 2023-06-07
JP2016528529A (ja) 2016-09-15
CN104282308B (zh) 2017-07-14
MX351967B (es) 2017-11-06
EP2983170A4 (en) 2016-04-13
RU2635069C2 (ru) 2017-11-08
CA2911314A1 (en) 2015-01-08
BR112015031617B1 (pt) 2022-04-12
ES2738883T3 (es) 2020-01-27
CN107316647A (zh) 2017-11-03
AU2014286716B2 (en) 2017-03-30
EP2983170B1 (en) 2019-06-05

Similar Documents

Publication Publication Date Title
CN109409518B (zh) 神经网络模型处理方法、装置及终端
JP5464703B2 (ja) 異機種混合ストレージ要素の容量を増大させる方法及びシステム
US20170033806A1 (en) Adaptive Erasure Codes
CN103957015B (zh) 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用
JP2012118979A5 (es)
US20140164873A1 (en) Techniques For Storing Bits in Memory Cells Having Stuck-at Faults
US9093170B2 (en) Multi-level cell (MLC) non-volatile memory data reading method and apparatus
ES2954460T3 (es) Método y aparato de cuantificación de vector de envolventes de frecuencia
KR20200012862A (ko) 디지털 오디오 신호들에서의 가변 알파벳 크기
US20130346833A1 (en) Processing elementary check nodes of an iterative ed transmitter appar
US20160111104A1 (en) Signal encoding and decoding methods and devices
KR101631128B1 (ko) 크기조정 상수를 사용하는 가변 노드 업데이터를 갖는 ldpc 디코더
WO2014026355A1 (en) Storing encoded data files on multiple file servers
Subbiah et al. Efficient implementation of BCH decoders on GPU for flash memory devices using iBMA
CN106569906B (zh) 基于稀疏矩阵的编码写入方法及装置
JP2018530034A (ja) メモリのためのインテリジェントコード装置、方法およびコンピュータプログラム
CN104221291B (zh) 更新与迭代解码器关联的变量节点
KR101845382B1 (ko) 분배 변환기를 갖는 메모리 제어기
US9577672B2 (en) Low density parity-check code decoder and decoding method thereof
Zhao Implementation of decoders for LDPC block codes and LDPC convolutional codes based on the parallel architecture of the GPUS
US20130339816A1 (en) Conserving computing resources during error correction
CN106911337A (zh) 数据处理方法、装置和解码器
Jiang et al. A Kind of Low Complexity LDPC Decoder