ES2784620T3 - Métodos y dispositivos para la segmentación de vectores para codificación - Google Patents

Métodos y dispositivos para la segmentación de vectores para codificación Download PDF

Info

Publication number
ES2784620T3
ES2784620T3 ES14805696T ES14805696T ES2784620T3 ES 2784620 T3 ES2784620 T3 ES 2784620T3 ES 14805696 T ES14805696 T ES 14805696T ES 14805696 T ES14805696 T ES 14805696T ES 2784620 T3 ES2784620 T3 ES 2784620T3
Authority
ES
Spain
Prior art keywords
input vector
segments
vector
level
bits
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
ES14805696T
Other languages
English (en)
Inventor
Toftgård Tomas Jansson
Jonas Svedberg
Volodya Grancharov
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2784620T3 publication Critical patent/ES2784620T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

Un método de codificación de audio que comprende la partición de vectores de entrada de coeficientes que se originan a partir de la señal de audio para la codificación posicional de formas de los vectores de entrada, en donde dicha codificación posicional comprende la cuantificación de vector de segmentos de un vector de entrada individualmente y en donde un número máximo de bits permitidos para cuantificar un segmento de vector está restringido por un cuantificador de vector, en donde dicho método comprende: - obtener (210) el vector de entrada; - segmentar (220) dicho vector de entrada en un número entero, NSEG, de segmentos del vector de entrada según una relación entre un presupuesto total de bits para cuantificar el vector de entrada y un número máximo de bits permitidos para cuantificar un segmento de vector; - determinar (230) una representación de una diferencia de energía relativa respectiva entre partes de dicho vector de entrada en cada lado de cada límite entre dichos segmentos del vector de entrada: - a) estableciendo (231) dicho vector de entrada como vector de entrada de nivel superior; - b) dividiendo (233) el vector de entrada de nivel superior en partes izquierda y derecha, cada parte que comprende uno o más segmentos del vector de entrada, en donde el vector de entrada de nivel superior se divide en el límite del segmento entre dicha parte izquierda y dicha parte derecha en dos vectores de entrada de nivel inferior; - c) calculando (234) una representación de una diferencia de energía relativa entre dichos dos vectores de entrada de nivel inferior según una relación de energía entre dichos vectores de entrada de nivel inferior; y - d) repitiendo (236) dichos pasos b) y c) de división y cálculo restableciendo dichos vectores de entrada de nivel inferior como vector de entrada de nivel superior respectivo, hasta que todos los límites entre segmentos del vector de entrada se provean con una representación asociada de una diferencia de energía relativa; - asignar (240) bits para codificar la forma de cada uno de dicho segmento del vector de entrada y para la codificación de dichas representaciones de dichas diferencias de energía relativa entre dichos segmentos del vector de entrada, en donde los bits para codificar los segmentos del vector de entrada se distribuyen entre segmentos según las diferencias de energía relativa entre partes de dicho vector de entrada; y - proporcionar (250) cada uno de dichos segmentos del vector de entrada, dichas representaciones de dichas diferencias de energía relativas e información de asignación al cuantificador para la codificación individual de dichos segmentos del vector de entrada.

Description

DESCRIPCIÓN
Métodos y dispositivos para la segmentación de vectores para codificación
Campo técnico
La tecnología propuesta se refiere generalmente a métodos y dispositivos para la segmentación de vectores y en particular a los métodos, unidades de partición, codificadores, programas informáticos, portadores que comprenden los programas informáticos y aparatos para la partición de vectores de entrada procedentes de señales de audio/video para codificación.
Antecedentes
Ejemplos de esquemas de codificación posicional, por ejemplo, para la codificación de una señal de audio son la Codificación de Pulso Factorial (FPC) y la Cuantificación de Vectores Piramidales (PVQ). Una codificación posicional podría dar como resultado índices de palabras de código grandes, especialmente para un vector de entrada largo, debido al número rápidamente creciente de combinaciones al aumentar las dimensiones. Para implementaciones de baja complejidad, se puede usar un paso de procesamiento previo de agrupación del vector de entrada. Otra razón para este tipo de procesamiento previo puede ser las restricciones del cuantificador. Sin embargo, una agrupación convencional puede dar como resultado que diferentes partes del vector de entrada tengan tamaños muy diferentes, lo que podría hacer que la codificación posicional sea muy ineficiente. De este modo, hay una necesidad de proporcionar un procesamiento previo mejorado del vector de entrada en la codificación posicional. La publicación “Product Quantification for Nearest Neighbour Search” de H. Jégou et al. describe un cuantificador de producto convencional.
Compendio
Es un objeto proporcionar métodos y dispositivos para partición eficiente de vectores de entrada.
Este y otros objetos se cumplen por la materia en cuestión de las reivindicaciones adjuntas.
Una ventaja de la tecnología propuesta es que los vectores de entrada se segmentan para codificación eficiente, en particular, codificación posicional, independientemente de diferentes tamaños y contenido de energía.
Se apreciarán otras ventajas cuando se lea la descripción detallada.
Breve descripción de los dibujos
Las realizaciones, junto con objetos y ventajas adicionales de las mismas, se pueden entender mejor haciendo referencia a la siguiente descripción tomada junto con los dibujos adjuntos, en los que:
Las Figuras 1A-1B son ilustraciones de partición de vectores de entrada para codificación posicional;
La Figura 2 es un diagrama de flujo de pasos de una realización de un método para la partición de vectores de entrada que se originan a partir de señales de audio/video para su codificación;
Las Figuras 3-6 son ilustraciones de un proceso recursivo para determinar una representación de una diferencia de energía relativa respectiva entre partes de un vector de entrada;
La Figura 7 es un diagrama de flujo de pasos de una realización de un paso de determinación recursivamente de una representación de una diferencia de energía relativa respectiva entre partes de un vector de entrada;
La Figura 8 es un diagrama de bloques de una realización de una unidad de partición;
La Figura 9 es un diagrama de bloques de otra realización de una unidad de partición;
La Figura 10 es un diagrama de bloques de una realización de un codificador posicional;
La Figura 11 es un diagrama de bloques de otra realización de un codificador posicional; y
La Figura 12 es un diagrama de bloques de una realización de una unidad de partición.
Descripción detallada
A lo largo de los dibujos, se usan las mismas designaciones de referencia para elementos similares o correspondientes.
Para una mejor comprensión de la tecnología propuesta, puede ser útil comenzar con una breve visión de conjunto de algunos aspectos de la división de vectores.
Como ejemplo, consideremos un vector de entrada de 16-dim dividido de dos formas, como se ilustra en las Figuras 1A y 1B:
A) Simétrico (8+8) y
B) Asimétrico (2+14).
En ambos casos tenemos 2 pulsos para codificar en cada uno de los segmentos.
En caso de que no haya superposición, es decir, los pulsos no pueden ocupar la misma posición, y no haya ninguna señal a ser transmitida, el número de niveles a ser codificados y transmitidos se calcula como n!/k!(n-k)!, donde n es la dimensión del segmento y k es el número de pulsos:
A)
28 28 = 56 niveles
B)
1 91 = 92 niveles
En caso de que se permita que los pulsos ocupen la misma posición, y el signo de los pulsos también tenga que ser codificado:
A)
128 128 = 256 niveles
B)
8 392 = 400 niveles
En ambos casos es obvio que una segmentación más simétrica es más eficiente. Por lo tanto, la tecnología propuesta descrita en lo sucesivo aspira a la creación de segmentos de tamaño esencialmente igual, con el fin de facilitar una codificación eficiente, preferiblemente codificación posicional.
Un problema asociado con una división uniforme del vector de entrada es que la variación de energía entre las diferentes partes podría ser grande, lo que causará una cuantificación de ganancia inestable. Por lo tanto, la tecnología propuesta descrita en lo sucesivo también aspira a la determinación de relaciones de energía para representar una diferencia de energía relativa entre los segmentos.
Las realizaciones de la tecnología propuesta se refieren a una división no recursiva y uniforme del vector de entrada en segmentos, y comprenden un cálculo recursivo de relaciones de energía de una dimensión lo más grande posible para un cierto nivel.
Los bits para la codificación de los segmentos creados se pueden distribuir en base a la energía y, opcionalmente, también en base a las longitudes de los segmentos.
La Figura 2 ilustra un diagrama de flujo de pasos de una realización de un método para la partición de los vectores de entrada para codificación, preferiblemente codificación posicional. Preferiblemente, los vectores de entrada se originan a partir de señales de audio, pero las ideas presentadas aquí también funcionan bien, por ejemplo, para señales de video también. El proceso comienza en el paso 200. En el paso 210, se obtiene un vector de entrada. En el paso 220, el vector de entrada se segmenta en un número entero de segmentos del vector de entrada. Preferiblemente, el número entero es el número entero más pequeño por el cual cada segmento de vector de entrada cumple las restricciones asociadas con un cuantificador para la codificación, preferiblemente codificación posicional. Tales restricciones asociadas con un cuantificador típicamente comprenden las restricciones de bits reales del cuantificador. Sin embargo, las restricciones asociadas con un cuantificador también pueden comprender ajustes del coste de la tasa de bits efectiva para representar las diferencias de energía relativas cuando se segmenta dicho vector de entrada en varios segmentos del vector de entrada. En otras palabras, se determina el número de segmentos del vector de entrada, preferiblemente el número mínimo de segmentos del vector de entrada, donde cada segmento de vector de entrada individual es lo suficientemente pequeño como para ser procesado por la codificación, preferiblemente codificación posicional, a seguir. Este número entero de segmentos del vector de entrada se denota como NSEG. Esta segmentación se realiza de una manera no recursiva. En el paso 230, se determina una representación de una diferencia de energía relativa respectiva entre partes del vector de entrada en cada lado de cada límite entre los segmentos del vector de entrada. Esto, por otra parte, se realiza de una manera recursiva.
En una realización particular, los bits para la codificación de los segmentos creados se pueden distribuir en base a la energía y, opcionalmente, también en base a las longitudes de los segmentos. En tal realización, y por lo tanto ilustrada por un recuadro de puntos, el método puede comprender el paso 240 adicional de asignación de bits para codificación de cada segmento de vector de entrada y codificación de una representación de diferencias de energía relativas entre los segmentos de nivel.
Según la realización principal, en el paso 250, los segmentos del vector de entrada se proporcionan para codificación individual, preferiblemente codificación posicional, junto con representaciones de las relaciones de energía. El proceso termina en el paso 299.
Expresado de una manera más matemática, una realización de la segmentación se puede describir de la siguiente manera. Con una longitud L de un vector de entrada, un presupuesto total de bits para cuantificar este vector BTOT, y las restricciones del cuantificador (por ejemplo, bits máximos permitidos por cuantificador/segmento QMAX) el número de segmentos se calculará como:
Figure imgf000004_0001
Si ["-"I es la función de redondeo superior, la cantidad NSEG representa el número más pequeño de segmentos del vector de entrada que aún se pueden procesar por el cuantificador previsto. En otras palabras, NSEG es el número entero más pequeño posible de segmentos del vector de entrada, mediante el cual cada segmento de vector de entrada cumple las restricciones de un cuantificador para la codificación, preferiblemente codificación posicional. En realizaciones particulares, las restricciones de cuantificador se pueden basar en la cantidad QMAX y un término de ajuste que refleja el coste de la tasa de bits efectiva para la representación de las diferencias de energía relativas cuando se divide el vector de entrada en varios segmentos del vector de entrada.
La longitud de un segmento se puede obtener como:
Figure imgf000004_0002
Si el vector de entrada no se puede dividir en segmentos del vector de entrada iguales, entonces:
Figure imgf000004_0003
donde |_-J es la función de redondeo inferior.
Los coeficientes restantes L - LSEG NSEG se pueden distribuir a los segmentos de varias formas, por ejemplo, todos incluidos en el último segmento o secuencialmente a cada segmento hasta que no haya más coeficientes restantes. De este modo, se prefiere mantener una gran mayoría de los segmentos para que sean más o menos del mismo tamaño. En otras palabras, al menos NSEG-1 de los segmentos del vector de entrada tienen una longitud respectiva que difiere en menos de 1. En una realización particular, todos los coeficientes restantes se incluyen en el último segmento, es decir, los primeros NSEG-1 segmentos del vector de entrada tienen longitudes idénticas. En otra realización particular, los coeficientes restantes se distribuyen secuencialmente en cada segmento hasta que no haya más coeficientes restantes. De este modo, los diferentes segmentos del vector de entrada diferirán en longitud en una unidad como máximo. En otras palabras, todos los segmentos del vector de entrada que tienen longitudes que no difieren en más de 1.
En una realización, después de una segmentación del vector de entrada, se cuantifica el vector de forma de cada segmento. La ganancia está excluida, por ejemplo, suponiendo un valor de raíz de error cuadrático medio de uno. Las relaciones de energía que describen las diferencias de energía relativas entre los segmentos se determinan, cuantifican y usan para escalar los vectores de forma cuantificados, de manera que se conserve la forma del vector de entrada. Las relaciones de energía se calculan de manera recursiva de menor a mayor resolución, y de la forma más simétrica. Esto se describirá mediante ejemplos en conexión con las Figuras 3-6.
En los ejemplos, los segmentos se caracterizan por su número de bits Bxseg usados para representar el segmento. En las Figuras 3-6, estos números de bits también se usan para denotar los segmentos en sí mismos. Por lo tanto, un segmento Büseg se debería entender como el segmento que se codifica por los bits Büseg. Del mismo modo, la representación de una diferencia de energía relativa se caracteriza por los bits, por ejemplo, BoE, usados para codificar esa diferencia.
En la Figura 3, se ilustra una situación donde se determina que el vector de entrada se divida en dos segmentos. El vector de entrada de nivel 0, L0, se divide en dos segmentos BoSEG y B1SEG de nivel 1, L1. Un caso trivial de relación de energía Ro, y una representación BoE de una diferencia de energía relativa se proporciona en un nivel entre esos segmentos.
En la Figura 4, se ilustra una situación donde se determina que el vector de entrada sea dividido en tres segmentos. Las relaciones de energía se proporcionan en dos niveles, siendo el primero que es asimétrico debido al número impar de segmentos. Más en detalle, el vector de entrada de nivel 0, L0, se divide en dos segmentos B0SEG y B1SEG de nivel 1, L1. El segmento B1SEG, o más bien el segmento a ser codificado mediante los bits B1SEG, está incluyendo en este caso dos de los segmentos en los que se divide el vector de entrada, los segmentos del vector de entrada, mientras que el segmento Büseg incluye uno de los segmentos del vector de entrada. Se proporciona una relación de energía Ro y una representación BoE de una diferencia de energía relativa en el nivel L1 entre esos segmentos, BoSEG y B1SEG. El segmento B1SEG se maneja posteriormente como un nuevo vector de entrada de nivel superior del nivel L1 y se divide a su vez en dos segmentos B1oSEG y BnSEG de nivel 2, L2. Ahora, los segmentos B1oSEG y BnSEG incluyen un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía R01, y una representación Bo1E de una diferencia de energía relativa en el nivel L2 entre esos segmentos, B1oSEG y BnSEG.
En la Figura 5, se ilustra una situación donde se determina que el vector de entrada sea dividido en cuatro segmentos. Las relaciones de energía son en este caso simétricas en dos niveles. Más en detalle, el vector de entrada de nivel 0, L0, se divide en dos segmentos BoSEG y B1SEG de nivel 1, L1. Los segmentos B1SEG y BoSEG están incluyendo en este caso un número igual de segmentos del vector de entrada. Se proporciona una relación de energía Ro, y una representación BoE de una diferencia de energía relativa en el nivel L1 entre esos segmentos, BoSEG y B1SEG. El segmento BoSEG se maneja posteriormente como un nuevo vector de entrada de nivel superior de nivel L1 y se divide a su vez en dos segmentos BooSEG y Bo1SEG de nivel 2, L2. Los segmentos BooSEG y Bo1SEG están incluyendo un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía Roo, y una representación BooE de una diferencia de energía relativa en el nivel L2 entre esos segmentos, BooSEG y BÜ1SEG. El segmento B1SEG también se trata posteriormente como un nuevo vector de entrada de nivel superior de nivel L1 y a su vez se divide en dos segmentos B1üseg y BnSEG de nivel 2, L2. Ahora, los segmentos B1üseg y BnSEG están incluyendo un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía R01, y una representación Bo1E de una diferencia de energía relativa en el nivel L2 entre esos segmentos, B1oSEG y BnSEG.
En la Figura 6, se ilustra una situación donde se determina que el vector de entrada sea dividido en cinco segmentos. En este caso, las relaciones de energía se calculan en tres niveles. Más en detalle, el vector de entrada de nivel 0, L0, se divide en dos segmentos BoSEG y B1SEG de nivel 1, L1. Los segmentos B1SEG y BoSEG no están incluyendo en este caso un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía Ro, y una representación BoE de una diferencia de energía relativa en el nivel L1 entre esos segmentos, BoSEG y B1SEG. El segmento BoSEG se maneja posteriormente como un nuevo vector de entrada de nivel superior de nivel L1 y a su vez se divide en dos segmentos BooSEG y Bo1SEG de nivel 2, L2. Los segmentos BooSEG y Bo1SEG están incluyendo un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía Roo, y una representación BooE de una diferencia de energía relativa en el nivel L2 entre esos segmentos, BooSEG y Bo1SEG. El segmento B1SEG también se maneja posteriormente como un nuevo vector de entrada de nivel superior de nivel L1 y a su vez se divide en dos segmentos B1oSEG y BnSEG de nivel 2, L2. Los segmentos B1oSEG y BnSEG no están incluyendo un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía R01, y una representación Bü1e de una diferencia de energía relativa en el nivel L2 entre esos segmentos, B1üseg y BnSEG. El segmento BnSEG en este caso comprende más de un segmento final y, en consecuencia, está causando otro nivel de cálculos de relación de energía. Por lo tanto, el segmento BnSEG se maneja como un nuevo vector de entrada de nivel superior de nivel L2 y a su vez se divide en dos segmentos BnoSEG y Bm SEG de nivel 3, L3. Los segmentos BnoSEG y BmSEG están incluyendo un número igual de los segmentos del vector de entrada. Se proporciona una relación de energía Ron, y una representación BonE de una diferencia de energía relativa en el nivel L3 entre esos segmentos, BnoSEG y Bm SEG. Ahora, todos los segmentos están divididos. De la serie de figuras anteriores, se puede ver que el vector de entrada se establece como un vector de entrada de nivel superior, originalmente en el nivel Lo. Entonces, con el fin de dividir el vector de entrada en dos partes, se ha de encontrar un límite central entre los segmentos del vector de entrada. El vector de entrada de nivel superior se está dividiendo por ello en el límite central encontrado, en dos “segmentos de nivel”, o vectores de entrada de nivel inferior. Si el vector de entrada se puede dividir en dos partes igualmente grandes, el límite se encuentra en el centro. Si el vector de entrada tiene que ser dividido en dos partes desigualmente grandes, por ejemplo, causado por un número desigual de segmentos o segmentos de diferentes tamaños, se selecciona preferiblemente el límite más cercano a un primer lado al centro del vector de entrada de nivel superior. En la realización de las Figuras 3-6, se selecciona el límite en el lado izquierdo. En otras palabras, si el vector de entrada de nivel superior tiene que ser dividido en vectores de entrada de nivel inferior desigualmente dimensionados, el límite central se selecciona como el límite más cercano al centro del vector de entrada de nivel superior dando un último (derecha) vector de entrada de nivel inferior más grande que el primer (izquierda) vector de entrada de nivel inferior.
Se calcula una representación de una diferencia de energía relativa entre los dos vectores de entrada de nivel inferior. Si al menos uno de los dos vectores de entrada de nivel inferior comprende más de un segmento de vector, el procedimiento se repite, pero ahora con los vectores de entrada de nivel inferior, que comprenden más de un segmento de vector de entrada, usados como vectores de entrada de nivel superior. Todo el proceso continúa hasta que todos los límites entre los segmentos del vector de entrada se provean con una representación asociada de una diferencia de energía relativa, en algún nivel.
Obsérvese que la división en segmentos se realiza de manera no recursiva en una primera etapa. En una segunda etapa, las diferencias de energía se determinan de una manera recursiva.
La Figura 7 ilustra un diagrama de flujo de pasos secundarios de una realización de un paso 230 para determinar de manera recursiva una representación de diferencias de energía entre segmentos del vector de entrada. El flujo comienza desde el paso 220 de la Figura 2. En el paso 231 el vector de entrada se establece como vector de entrada de nivel superior. En el paso 232, se encuentra un límite central. El límite central es el límite entre los segmentos del vector de entrada que están en o más cerca en un primer lado al centro del vector de entrada de nivel superior. En el paso 233, el vector de entrada de nivel superior se divide en el límite central en dos vectores de entrada de nivel inferior. En el paso 234, se calcula una representación de una diferencia de energía relativa entre los dos vectores de entrada de nivel inferior. En el paso 235 se determina si todos los vectores de entrada de nivel inferior consisten o no en segmentos únicos. Todos los vectores de entrada de nivel inferior consisten en segmentos únicos cuando todos los límites entre segmentos de vectores de entrada se proveen con una representación asociada de una diferencia de energía relativa. Si hay vectores de entrada de nivel inferior restantes que comprenden más de un segmento, el flujo continúa al paso 236, donde los vectores de entrada de nivel inferior se restablecen como nuevos vectores de entrada de nivel superior. El proceso continúa entonces desde el paso 232, repitiendo la búsqueda, dividiendo y calculando si es necesario. Los pasos 232, 233 y 234 no se realizan para ningún vector de entrada de nivel superior que comprenda un segmento, es decir, sin encapsular ningún límite en absoluto.
Si, en el paso 235, se concluye que todos los vectores de entrada de nivel inferior consisten en segmentos de vectores de entrada únicos, el flujo continúa al paso 250 o 240.
El número medio de bits por segmento, según la discusión de más arriba, sería:
BSEG = btot / nseg
En una realización particular, los bits medios por segmento calculados anteriormente son sólo una estimación inicial que se puede reajustar después de calcular las relaciones de energía entre segmentos vecinos. Los bits para la codificación de los segmentos creados se pueden distribuir en base a la energía, y en base a las longitudes de los segmentos. Los bits se pueden transferir desde segmentos con energía más baja hacia segmentos con energía más alta. Al mismo tiempo, el tamaño LSEG y los límites del segmento no se ven afectados. Esto se ilustra, por ejemplo, como el paso 240 en la Figura 2, que muestra una asignación general de bits para la codificación de cada segmento de vector de entrada y para la codificación de una representación de diferencias de energía relativas entre los segmentos, tanto segmentos del vector de entrada como segmentos de nivel.
Como se indica en la Figura 7, el paso 240 de asignación de bits para la codificación de cada segmento de vector de entrada y para la codificación de una representación de diferencias de energía relativas entre los segmentos de nivel también se puede incluir como un proceso recursivo en una estructura jerárquica. En otras palabras, la asignación de bits se puede realizar de manera concurrente a la determinación, de una manera recursiva, de una representación de una diferencia de energía relativa respectiva. Con referencia a la realización ilustrada por la Figura 7, se ve que el paso de asignación de bits para la codificación de cada segmento de vector de entrada y la codificación de una representación de diferencias de energía relativas entre los segmentos de nivel se realiza en conexión con el cálculo de la representación de las diferencias de energía relativas.
La codificación de relación de energía jerárquica se puede usar para distribuir los bits de manera recursiva a los segmentos ya determinados. En el nivel superior, nivel L0, el número total de bits BTOT se dividen en bits de relación de energía BE y bits de segmento BSEG para el nivel inferior, nivel L1, de manera que
Btot = BE BSEG,
con
Bseg = BoSEG B1SEG
donde B0SEG y B1SEG son los bits asignados para los segmentos de nivel izquierdo y derecho, respectivamente, o en términos de la descripción anterior, el primer y último vector de entrada de nivel inferior en el nivel L1.
Esto se repite para cada nivel, en el sentido de que en cada nivel los bits asignados al primer y al último vector de entrada de nivel inferior, en caso de que el vector de entrada de nivel inferior encapsule más de un segmento de vector de entrada, se dividen en bits para la codificación de la representación de la diferencia de energía relativa y bits para la codificación del primer y último vector de entrada de nivel inferior respectivos.
Si el segmento de capa posterior, es decir, el vector de entrada de nivel inferior consiste en un único grupo o segmento, a los bits de segmento BSH asignados se les asignará la codificación de forma, es decir, por ejemplo, el segundo nivel de la Figura 4 donde BSH = B0SEG.
Los bits de segmento de nivel BSEG se distribuyen preferiblemente a los segmentos de primer nivel, es decir, los vectores de entrada de nivel inferior (que consisten en uno o varios segmentos de la agrupación del vector de entrada) en base a la relación de energía entre estos segmentos de nivel o vectores de entrada de nivel inferior. En general, el paso de asignación de bits asigna bits para los vectores de entrada de nivel inferior en dependencia de una relación entre el número de coeficientes de los vectores de entrada de nivel inferior y una relación entre las energías en los vectores de entrada de nivel inferior. La diferencia 9 en bits por coeficiente entre los segmentos de nivel es:
Figure imgf000007_0001
que con una diferencia de energía de medio bit por log2 es:
Figure imgf000007_0002
donde E0 y E1 son las energías de los segmentos de nivel izquierdo y derecho, es decir, el primer y último vector de entrada de nivel inferior, respectivamente. La relación de energía R0 se puede expresar de manera equivalente en términos de un ángulo a como:
R0 = tan2 a,
donde
Figure imgf000007_0003
Esto significa que el número de bits para cada segmento de nivel es:
Figure imgf000007_0004
B1seg = BSEG - B0SEG
Dependiendo de la longitud del vector de entrada L y del número de agrupaciones (segmentos) NSEG, las agrupaciones pueden no ser igualmente grandes. Esto también hace que algunos de los vectores de entrada de nivel inferior sean de diferente tamaño. También, si el número de agrupaciones o segmentos es diferente de 2n, algunos vectores de entrada de nivel inferior serán de diferente tamaño. El tamaño diferente de los segmentos del vector de entrada también tendrá un impacto negativo en la codificación de forma en las bandas que son más grandes, debido a la codificación, por ejemplo, codificación posicional. Con el fin de compensar las bandas dimensionadas diferentes, la diferencia en bits por coeficiente, compárese con la Ec. (1), se puede compensar de manera que:
Figure imgf000007_0005
donde los factores de compensación fi puede ser, por ejemplo, una función fi = F (NSEG, BSEG, Lij) de las longitudes de la agrupación Lij, donde j es el índice de la agrupación (0, ..., NSEG-1), el número de segmentos NSEG y los bits de segmento BSEG. En otras palabras, los factores de compensación pueden ser dependientes de las longitudes de los segmentos del vector de entrada, del número de segmentos del vector de entrada dentro de ambos vectores de entrada de nivel inferior y de los bits asignados para ambos vectores de entrada de nivel inferior. Combinar las Ec. (2) y (3) da las relaciones:
Figure imgf000008_0001
Bi seg = BSEG - BoSEG
donde Bseg es la suma de los bits asignados para ambos vectores de entrada de nivel inferior, excluyendo los bits asignados para codificar una representación de una diferencia de energía relativa entre los vectores de entrada de nivel inferior, B0seg son los bits asignados para el primer vector de entrada de nivel inferior, L0SEG y L1SEG son las longitudes del primer y último vectores de entrada de nivel inferior, respectivamente, R0 representa la relación entre las energías en los vectores de entrada de nivel inferior y f0 y f1 son factores de compensación para diferentes longitudes de segmentos del vector de entrada dentro del primer y último vectores de entrada de nivel inferior, respectivamente. Los factores de compensación f0 y f1 se definen de manera que llegan a ser cero para longitudes iguales de los segmentos del vector de entrada dentro del primer y último segmentos de nivel inferior, respectivamente.
En una realización, las formas se cuantifican con un cuantificador de pulso tal como es el PVQ. Los factores de compensación se basan en los bits medios por segmento, y en la diferencia entre las longitudes de segmento y la longitud mínima de segmento. En otras palabras, los factores de compensación dependen de al menos los bits medios por segmento de vector de entrada dentro del primer y último vectores de entrada de nivel inferior, respectivamente, las longitudes de segmento del vector de entrada dentro del primer y último vectores de entrada de nivel inferior, respectivamente, y una longitud mínima de segmento del vector de entrada.
Esto se puede expresar como:
Figure imgf000008_0002
donde Bseg es la suma de los bits asignados para ambos vectores de entrada de nivel inferior y NSEG es el número total de segmentos de vector dentro de ambos vectores de entrada de nivel inferior.
La función F() se define de manera que llega a ser cero cuando una agrupación es de longitud Lmin. Esto significa que fi llega a ser cero cuando todas las agrupaciones en el segmento de nivel correspondiente son de longitud Lmin. En esta realización, cuando los coeficientes restantes en la agrupación, es decir, la partición del vector de entrada, L - lseg Nseg, donde NSEG denota el número total de segmentos de vectores, se dan sólo a la última agrupación, el factor de compensación fo llega a ser cero en la medida que todas las agrupaciones j son de longitud Lmin. Además, en la medida que todas las agrupaciones excepto la última, denotada N1SEG -1, son de longitud Lmin, el factor llega a ser:
Figure imgf000008_0003
La función F() está en la realización definida como
Figure imgf000008_0004
donde la función G1( ) da el número de pulsos unitarios que dando una longitud de vector L N{ ‘ -1 , se pueden b S
representar usando bits. La función G2O da el número de bits usados para representar por la función G1()
n S
el número de pulsos determinado, pero para la dimensión inferior Lmin.
En implementaciones de baja complejidad, la complejidad de G1() y G2O se puede reducir usando tablas de búsqueda de aproximaciones o muestras secundarias.
En otra realización, los factores de compensación también son dependientes de al menos los bits medios por segmento del vector de entrada dentro del primer y último vector de entrada de nivel inferior, respectivamente, las longitudes de segmento del vector de entrada y una longitud de segmento de vector de entrada mínima.
Figure imgf000009_0001
donde BSEG es la suma de bits asignados para ambos vectores de entrada de nivel inferior y NSEG es el número total de segmentos de vector dentro de ambos vectores de entrada de nivel inferior.
Debido a la estructura jerárquica de las relaciones de energía, se puede usar una relación de energía de ascendentes para controlar los bits BE que se usan para codificar la relación de energía de descendentes. En caso de que la relación de energía de ascendentes indique baja energía para el segmento actual, BE se puede reducir o limitar y los bits ahorrados se pueden redistribuir a la codificación del vector de forma usando un BSH números de bits.
Además, si el cuantificador de vector posicional, por ejemplo, una implementación de cuantificador de vector de pulso PVQ de complejidad optimizada, es un cuantificador de tasa variable, los bits ocasionalmente ahorrados o gastados (excedidos) por el cuantificador de tasa variable para cada segmento se pueden incorporar y usar para actualizar los segmentos restantes, incluyendo sus factores de compensación.
De este modo, en un caso de codificación, preferiblemente codificación posicional, de vectores grandes o de codificación de alta tasa de bits, por ejemplo, codificación posicional de alta tasa de bits, el vector de entrada se puede procesar previamente, comprendiendo una partición (es decir, agrupación o segmentación) antes de la cuantificación real. Una ventaja con las realizaciones descritas en la presente memoria es que ofrecen una solución ligera para la partición del vector de entrada de una forma óptima para un cuantificador posicional. Las realizaciones también compensan el caso cuando la partición óptima no es posible, mediante el ajuste de los bits asignados. La tecnología propuesta proporciona una unidad de partición configurada para dividir vectores de entrada para codificación, preferiblemente codificación posicional, en donde la unidad de partición está configurada para obtener un vector de entrada. Preferiblemente, la unidad de partición está destinada a señales de audio. Sin embargo, las ideas presentadas aquí también funcionan bien para, por ejemplo, señales de video también. La unidad de partición está configurada además para segmentar, de manera no recursiva, el vector de entrada en un número entero, NSEG, de segmentos del vector de entrada. La unidad de partición está configurada para determinar, de una manera recursiva, una representación de una diferencia de energía relativa respectiva entre partes del vector de entrada a cada lado de cada límite entre los segmentos del vector de entrada. La unidad de partición también está configurada para proporcionar los segmentos del vector de entrada y representaciones de las diferencias de energía relativas para codificación individual, preferiblemente codificación posicional.
Se apreciará que los métodos y dispositivos descritos en la presente memoria se pueden combinar y reorganizar en una variedad de formas.
Por ejemplo, las realizaciones se pueden implementar en hardware o en software para su ejecución mediante circuitería de procesamiento adecuada, o una combinación de los mismos.
Los pasos, funciones, procedimientos, módulos y/o bloques descritos en la presente memoria se pueden implementar en hardware usando cualquier tecnología convencional, tal como tecnología de circuitos discretos o de circuitos integrados, incluyendo tanto circuitería electrónica de propósito general como circuitería de aplicaciones específicas.
Ejemplos particulares incluyen uno o más procesadores de señal digital configurados adecuadamente y otros circuitos electrónicos conocidos, por ejemplo, puertas lógicas discretas interconectadas para realizar una función especializada, o Circuitos Integrados de Aplicaciones Específicas (ASIC). Una realización de una unidad 20 de partición se ilustra en la Figura 8. Un vector de entrada de longitud L se obtiene a través de una sección 21 de entrada. La unidad 20 de partición está configurada para proporcionar segmentos del vector de entrada y representaciones de relaciones de energía según la descripción aquí anterior. Los segmentos del vector de entrada, junto con la representación de una diferencia de energía relativa respectiva entre partes del vector de entrada en cada lado de cada límite entre los segmentos del vector de entrada, se proporcionan para codificación individual, preferiblemente codificación posicional individual, a través de la sección 29 de salida.
Alternativamente, al menos algunos de los pasos, funciones, procedimientos, módulos y/o bloques descritos en la presente memoria se pueden implementar en software tal como un programa de ordenador para su ejecución mediante circuitería de procesamiento adecuada, tal como uno o más procesadores o unidades de procesamiento.
Por lo tanto, el diagrama o los diagramas de flujo presentados en la presente memoria se pueden considerar como un diagrama o diagramas de flujo de ordenador, cuando se realizan mediante uno o más procesadores. Un aparato correspondiente se puede definir como un grupo de módulos de función, donde cada paso realizado por el procesador o procesadores corresponde a un módulo de función. En este caso, los módulos de función se implementan como un programa de ordenador que se ejecuta en el procesador o los procesadores.
En particular, como se ilustra en la Figura 9, la unidad 20 de partición puede comprender un procesador 60 y una memoria 70. La memoria 70 comprende instrucciones ejecutables por el procesador 60, por las cuales el procesador 60 está operativo para obtener un vector de entrada, para segmentar el vector de entrada en un número entero, NSEG, de segmentos del vector de entrada, para determinar, de una manera recursiva, una representación de una diferencia de energía relativa respectiva entre partes del vector de entrada en cada lado de cada límite entre los segmentos del vector de entrada; y para proporcionar los segmentos del vector de entrada y representaciones de las diferencias de energía relativas para codificación individual, preferiblemente codificación posicional individual.
Ejemplos de circuitería de procesamiento incluyen, pero no se limitan a, uno o más microprocesadores, uno o más Procesadores de Señal Digital (DSP), una o más Unidades de Procesamiento Central (CPU), hardware de aceleración de video y/o cualquier circuitería de lógica programable adecuada tal como una o más Agrupaciones de Puertas Programables en Campo (FPGA), o uno o más Controladores Lógicos Programables (PLC).
También se debería entender que puede ser posible reutilizar las capacidades generales de procesamiento de cualquier dispositivo o unidad convencional en el que se implemente la tecnología propuesta. También puede ser posible reutilizar software existente, por ejemplo, mediante la reprogramación del software existente o añadiendo nuevos componentes de software.
En el ejemplo particular de la Figura 9, al menos algunos de los pasos, funciones, procedimientos, módulos y/o bloques descritos en la presente memoria se implementan en un programa de ordenador, que se carga en la memoria para su ejecución procesando circuitería que incluye uno o más procesadores. El procesador o procesadores y la memoria están interconectados entre sí para permitir la ejecución normal del software. Un dispositivo opcional de entrada/salida también se puede interconectar al procesador o procesadores y/o la memoria para permitir la entrada y/o salida de datos relevantes, tales como parámetro o parámetros de entrada y/o parámetro o parámetros de salida resultantes.
El término “procesador” se debería interpretar en un sentido general como cualquier sistema o dispositivo capaz de ejecutar código de programa o instrucciones de programa de ordenador para realizar una tarea de procesamiento, determinación o cálculo particular.
La circuitería de procesamiento que incluye uno o más procesadores está configurada de este modo para realizar, cuando se ejecuta el programa de ordenador, tareas de procesamiento bien definidas tales como las descritas en la presente memoria.
La circuitería de procesamiento no tiene que estar dedicada a ejecutar sólo los pasos, funciones, procedimientos y/o bloques descritos anteriormente, sino que también pueden ejecutar otras tareas.
En una realización particular, los segmentos del vector de entrada tienen longitudes idénticas o una longitud respectiva que no difiere en más de NSEG-1.
En una realización particular, los primeros NSEG-1 segmentos del vector de entrada tienen longitudes idénticas. En una realización particular, todos los segmentos del vector de entrada tienen longitudes que no difieren en más de 1.
En una realización particular, la unidad de partición está configurada para realizar la determinación, de una manera recursiva, de una representación de una diferencia de energía relativa respectiva, estableciendo el vector de entrada como un vector de entrada de nivel superior, encontrando un límite central, en su caso, entre segmentos del vector de entrada que están en o más cercanos al primer lado al centro del vector de entrada de nivel superior, dividiendo el vector de entrada de nivel superior en el límite central, en su caso, en dos vectores de entrada de nivel inferior, calculando una representación de una diferencia de energía relativa entre los dos vectores de entrada de nivel inferior si existe el límite central, y repitiendo la búsqueda, dividiendo y calculando restableciendo los vectores de entrada de nivel inferior como un vector de entrada de nivel superior respectivo, hasta que todos los límites entre segmentos del vector de entrada se provean con una representación asociada de una diferencia de energía relativa. En una realización particular, la unidad de partición está configurada para, si el vector de entrada de nivel superior tiene que ser dividido en vectores de entrada de nivel inferior no igualmente dimensionados, seleccionar el límite central como el límite más cercano al centro del vector de entrada de nivel superior que da un último vector de entrada de nivel inferior más grande que el primer vector de entrada de nivel inferior.
En una realización particular, la unidad de partición está configurada además para asignar bits para la codificación de cada segmento de vector de entrada y para la codificación de una representación de diferencias de energía relativas entre los segmentos.
En una realización particular, la unidad de partición está configurada para realizar la asignación de bits concurrentemente a la determinación, de una manera recursiva, de una representación de una diferencia de energía relativa respectiva.
En una realización particular, la unidad de partición está configurada además para asignar bits para la codificación de cada uno de los segmentos del vector de entrada realizada en conexión con el cálculo de una representación de una diferencia de energía relativa.
En una realización particular, la unidad de partición está configurada para realizar la asignación de bits asignando bits para los vectores de entrada de nivel inferior en dependencia de una relación entre las longitudes de los vectores de entrada de nivel inferior y una relación entre las energías en los vectores de entrada de nivel inferior. En una realización particular, la unidad de partición está configurada para realizar la asignación de bits asignando bits para el vector de entrada de nivel inferior según las ecuaciones presentadas más arriba.
En una realización particular, los factores de compensación son dependientes de las longitudes de los segmentos del vector de entrada, el número de segmentos del vector de entrada dentro de los vectores de entrada de nivel inferior y bits asignados para ambos vectores de entrada de nivel inferior.
En una realización particular, los factores de compensación son dependientes de al menos los bits medios por segmento de vector de entrada, las longitudes de segmento de vector de entrada y una longitud de segmento de vector de entrada mínima.
La unidad de partición constituye típicamente una parte de un codificador. Una realización se aplica a un codificador, preferiblemente un codificador para codificación posicional, como se ilustra en la Figura 10.
De este modo, la Figura 10 es un diagrama de bloques esquemático de un codificador 50 posicional según las realizaciones. El codificador comprende una unidad 10 de entrada configurada para recibir un vector de entrada de longitud L, una unidad 20 de partición, un cuantificador 30 posicional y una unidad 40 de salida para la señal de audio codificada. Preferiblemente, el codificador está configurado para la codificación posicional de señales de audio, es decir, donde el vector de entrada representa una señal de audio a ser codificada. Sin embargo, las ideas presentadas aquí también funcionan bien para, por ejemplo, señales de video también.
El codificador 50 posicional con sus unidades incluidas se podría implementar en hardware. Hay numerosas variantes de elementos de circuitería que se pueden usar y combinar para lograr las funciones de las unidades del codificador. Tales variantes se abarcan por las realizaciones. Ejemplos particulares de implementación de hardware del codificador son la implementación en hardware de procesador de señal digital (DSP) y tecnología de circuitos integrados, incluyendo tanto circuitería electrónica de propósito general como circuitería de aplicaciones específicas. El codificador posicional descrito en la presente memoria se podría implementar alternativamente, como se ilustra en la Figura 11, por ejemplo, por uno o más de un procesador 60 y software adecuado con almacenamiento o memoria 70 adecuados, por lo tanto, con el fin de realizar la partición de un vector de entrada, según las realizaciones descritas en la presente memoria. El vector entrante se recibe por una entrada (ENTRADA) 10, a la que se conectan el procesador 60 y la memoria 70, y la señal codificada obtenida del software se emite desde la salida (SALIDA) 40. En una realización, un codificador para codificación posicional comprende una unidad de entrada configurada para recibir un vector de entrada, una unidad de partición según cualquiera de las realizaciones presentadas más arriba, un cuantificador y una unidad de salida para una señal codificada.
En una realización particular, un programa de ordenador comprende instrucciones que, cuando se ejecutan por al menos un procesador, hacen que el procesador o procesadores obtengan un vector de entrada, para segmentar, de una manera no recursiva, el vector de entrada en un número entero, NSEG, de segmentos del vector de entrada. Las instrucciones, cuando se ejecutan por el procesador, hacen que el procesador determine además, de una manera recursiva, una representación de una diferencia de energía relativa respectiva entre partes del vector de entrada en cada lado de cada límite entre los segmentos del vector de entrada, y proporcione los segmentos del vector de entrada y las representaciones de las diferencias de energía relativas para la codificación individual, preferiblemente la codificación posicional.
La tecnología propuesta también proporciona un portador que comprende el programa de ordenador, en donde el portador es uno de una señal electrónica, una señal óptica, una señal electromagnética, una señal magnética, una señal eléctrica, una señal de radio, una señal de microondas o un medio de almacenamiento legible por ordenador. A modo de ejemplo, el software o programa de ordenador se puede realizar como producto de programa de ordenador, que normalmente se transporta o almacena en un medio legible por ordenador, en particular un medio no volátil. El medio legible por ordenador puede incluir uno o más dispositivos de memoria extraíbles o no extraíbles que incluyen, pero no se limita a, una Memoria de Sólo Lectura (ROM), una Memoria de Acceso Aleatorio (RAM), un Disco Compacto (CD), un Disco Versátil Digital (DVD), un disco Blu-ray, una memoria de Bus Universal Serie (USB), un dispositivo de almacenamiento Unidad de Disco Duro (HDD), una memoria rápida, una cinta magnética o cualquier otro dispositivo de memoria convencional. De este modo, el programa de ordenador se puede cargar en la memoria operativa de un ordenador o de un dispositivo de procesamiento equivalente para su ejecución por la circuitería de procesamiento del mismo.
En una realización particular, un portador comprende el programa de ordenador mencionado más arriba, en donde el portador es uno de una señal electrónica, una señal óptica, una señal electromagnética, una señal magnética, una señal eléctrica, una señal de radio, una señal de microondas o un medio de almacenamiento legible por ordenador. La tecnología descrita anteriormente se puede usar, por ejemplo, en un emisor, que se puede usar en un dispositivo móvil (por ejemplo, teléfono móvil, ordenador portátil) o un dispositivo estacionario, tal como un ordenador personal. La tecnología propuesta se puede aplicar a un terminal de usuario, que puede ser un dispositivo cableado o inalámbrico.
Como se usa en la presente memoria, los términos no limitantes “Equipo de Usuario” y “dispositivo inalámbrico” pueden referirse a un teléfono móvil, un teléfono celular, un Asistente Digital Personal, PDA, equipado con capacidades de radiocomunicación, un teléfono inteligente, un ordenador portátil u Ordenador Personal, PC, equipado con un módem de banda ancha móvil interno o externo, un PC de tableta con capacidades de radiocomunicación, un dispositivo de destino, un UE de dispositivo a dispositivo, un UE de tipo máquina o UE capaz de comunicación máquina a máquina, iPAD, equipo de instalaciones de cliente, CPE, equipo incorporado en ordenador portátil, LEE, equipo montado en ordenador portátil, LME, llave electrónica USB, un dispositivo portátil de radiocomunicación electrónico, un dispositivo sensor equipado con capacidades de radiocomunicación o similares. En particular, el término “UE” y el término “dispositivo inalámbrico” se deberían interpretar como términos no limitantes que comprenden cualquier tipo de dispositivo inalámbrico que se comunica con un nodo de red de radio en un sistema de comunicación celular o móvil o cualquier dispositivo equipado con circuitería de radio para comunicación inalámbrica según cualquier estándar relevante para comunicación dentro de un sistema de comunicación celular o móvil.
Como se usa en la presente memoria, el término “dispositivo cableado” puede referirse a cualquier dispositivo configurado o preparado para la conexión cableada a una red. En particular, el dispositivo cableado puede ser al menos alguno de los dispositivos anteriores, con o sin capacidad de radiocomunicación, cuando está configurado para conexión cableada.
Se ha de entender que la elección de unidades o módulos de interacción, así como la denominación de las unidades son sólo con propósitos ejemplares, y se puede configurar en una pluralidad de formas alternativas con el fin de ser capaz de ejecutar las acciones de proceso descritas.
Por lo tanto, el diagrama o los diagramas de flujo presentados en la presente memoria se pueden considerar como un diagrama o diagramas de flujo de ordenador, cuando se realiza por uno o más procesadores. Una unidad de partición o codificador posicional correspondiente se puede definir como un grupo de módulos de función, donde cada paso realizado por el procesador corresponde a un módulo de función. En este caso, los módulos de función se implementan como un programa de ordenador que se ejecuta en el procesador. Por lo tanto, la unidad de partición o el codificador posicional se pueden definir alternativamente como un grupo de módulos de función, donde los módulos de función se implementan como un programa de ordenador que se ejecuta en al menos un procesador. De este modo, el programa de ordenador que reside en la memoria se puede organizar como módulos de función apropiados configurados para realizar, cuando se ejecutan por el procesador, al menos parte de los pasos y/o tareas descritos en la presente memoria. Un ejemplo de tales módulos de función se ilustra en la Figura 12.
La Figura 12 es un diagrama de bloques esquemático que ilustra un ejemplo de un aparato para la partición de vectores de entrada para codificación, preferiblemente codificación posicional, o una unidad 30 de partición que comprende un grupo de módulos de función. La unidad 30 de partición comprende un módulo 401 de obtención para obtener un vector de entrada. La unidad 30 de partición comprende un módulo 402 de segmentación para segmentar, de una manera no recursiva, el vector de entrada en un número entero, NSEG, de segmentos del vector de entrada. La unidad de partición 30 comprende un módulo 403 de determinación recursiva para determinar, de una manera recursiva, una representación de una diferencia de energía relativa respectiva entre partes del vector de entrada en cada lado de cada límite entre los segmentos del vector de entrada. La unidad 30 de partición comprende un módulo 405 de provisión para proporcionar los segmentos del vector de entrada y las representaciones de las diferencias de energía relativas para codificación individual, preferiblemente codificación posicional individual.
Preferiblemente, el aparato para la partición está configurado para codificación posicional de señales de audio, es decir, donde el vector de entrada representa una señal de audio para ser codificada. Sin embargo, las ideas presentadas aquí también funcionan bien para, por ejemplo, señales de video también.
En una realización particular, la unidad 30 de partición también comprende un módulo 404 de asignación para asignar bits a segmentos del vector de entrada y para una representación de las diferencias de energía relativas entre segmentos de nivel inferior.
Alternativamente, es posible realizar los módulos en la Figura 12 de manera predominante por módulos de hardware, o alternativamente por hardware. La medida del software frente al hardware es puramente una selección de implementación.
También se debería observar que las unidades o módulos descritos en esta descripción se han de considerar como entidades lógicas y no necesariamente como entidades físicas separadas. Se apreciará que el alcance de la tecnología descrita en la presente memoria abarca completamente otras realizaciones que pueden llegar a ser obvias para los expertos en la técnica, y que el alcance de esta descripción no está limitado en consecuencia.
Abreviaturas
ASIC Circuito Integrado de Aplicaciones Específicas
BE bits para codificar la relación de energía
BSEG bits por segmento
BSH bits para el vector de forma correspondiente a cierta relación de energía
BTOT presupuesto total de bits disponibles
CD Disco Compacto
UPC Unidad de Procesamiento Central
DSP Procesador de Señal Digital
DVD Disco Versátil Digital
E energía por segmento en un nivel
FPC Codificación de Pulso Factorial
FPGA Agrupación de Puertas Programables en Campo
HDD Unidad de Disco Duro
L longitud (dimensión) del vector de entrada
LSEG longitud (dimensión) de un segmento
LEE Equipo Integrado en Ordenador Portátil
LME Equipo Montado en Ordenador Portátil
NSEG número de segmentos
PC Ordenador Personal
PDA Asistente Digital Personal
PLC Controlador Lógico Programable
PVQ Cuantificación de Vector Piramidal
QMAX bits permitidos máximos por cuantificador
R relación de energía entre segmentos vecinos en un nivel
RAM Memoria de Acceso Aleatorio
ROM Memoria de Sólo Lectura
UE Equipo de Usuario
USB Bus Universal Serie

Claims (16)

REIVINDICACIONES
1. Un método de codificación de audio que comprende la partición de vectores de entrada de coeficientes que se originan a partir de la señal de audio para la codificación posicional de formas de los vectores de entrada, en donde dicha codificación posicional comprende la cuantificación de vector de segmentos de un vector de entrada individualmente y en donde un número máximo de bits permitidos para cuantificar un segmento de vector está restringido por un cuantificador de vector, en donde dicho método comprende:
- obtener (210) el vector de entrada;
- segmentar (220) dicho vector de entrada en un número entero, NSEG, de segmentos del vector de entrada según una relación entre un presupuesto total de bits para cuantificar el vector de entrada y un número máximo de bits permitidos para cuantificar un segmento de vector;
- determinar (230) una representación de una diferencia de energía relativa respectiva entre partes de dicho vector de entrada en cada lado de cada límite entre dichos segmentos del vector de entrada:
- a) estableciendo (231) dicho vector de entrada como vector de entrada de nivel superior;
- b) dividiendo (233) el vector de entrada de nivel superior en partes izquierda y derecha, cada parte que comprende uno o más segmentos del vector de entrada, en donde el vector de entrada de nivel superior se divide en el límite del segmento entre dicha parte izquierda y dicha parte derecha en dos vectores de entrada de nivel inferior;
- c) calculando (234) una representación de una diferencia de energía relativa entre dichos dos vectores de entrada de nivel inferior según una relación de energía entre dichos vectores de entrada de nivel inferior; y - d) repitiendo (236) dichos pasos b) y c) de división y cálculo restableciendo dichos vectores de entrada de nivel inferior como vector de entrada de nivel superior respectivo, hasta que todos los límites entre segmentos del vector de entrada se provean con una representación asociada de una diferencia de energía relativa;
- asignar (240) bits para codificar la forma de cada uno de dicho segmento del vector de entrada y para la codificación de dichas representaciones de dichas diferencias de energía relativa entre dichos segmentos del vector de entrada, en donde los bits para codificar los segmentos del vector de entrada se distribuyen entre segmentos según las diferencias de energía relativa entre partes de dicho vector de entrada; y
- proporcionar (250) cada uno de dichos segmentos del vector de entrada, dichas representaciones de dichas diferencias de energía relativas e información de asignación al cuantificador para la codificación individual de dichos segmentos del vector de entrada.
2. El método según la reivindicación 1, caracterizado por que dicho número entero, NSEG, es el número entero más pequeño por el cual cada segmento de vector de entrada cumple las restricciones asociadas con un cuantificador para dicha codificación.
3. El método según la reivindicación 1, caracterizado por que si dicho vector de entrada de nivel superior tiene que ser dividido en vectores de entrada de nivel inferior no igualmente dimensionados, seleccionar el límite del segmento como el límite más cercano al centro del vector de entrada de nivel superior dando un último vector de entrada de nivel inferior más grande que el primer vector de entrada de nivel inferior.
4. El método según la reivindicación 1, caracterizado por que el paso de asignar (240) bits se realiza en conexión con dicho paso de determinar (230), de una manera recursiva, una representación de una diferencia de energía relativa respectiva.
5. El método según la reivindicación 1, caracterizado por que el paso de asignar (240) bits para la codificación de cada uno de dichos segmentos del vector de entrada realizado en conexión con dicho paso d) calcular (234) una representación de una diferencia de energía relativa.
6. El método según la reivindicación 5, caracterizado por que dicho paso de asignar (240) bits asigna bits para dichos vectores de entrada de nivel inferior en dependencia de una relación entre las longitudes de dichos vectores de entrada de nivel inferior y una relación entre las energías en dichos vectores de entrada de nivel inferior.
7. El método según la reivindicación 6, caracterizado por que dicho paso de asignar (240) bits asigna bits para dicho primer vector de entrada de nivel inferior según:
Figure imgf000014_0001
donde BSEG es la suma de bits asignados para ambos vectores de entrada de nivel inferior, excluyendo los bits asignados para la codificación de una representación de una diferencia de energía relativa entre los vectores de entrada de nivel inferior, B0SEG es el número de bits asignados para el primer vector de entrada de nivel inferior, L0SEG y L1SEG son las longitudes del primer y último vectores de entrada de nivel inferior, respectivamente, R0 representa dicha relación entre las energías en dichos vectores de entrada de nivel inferior y f0 y f1 son factores de compensación para longitudes que difieren del primer y último vectores de entrada de nivel inferior, respectivamente, en donde f0 y f llegan a ser cero para longitudes iguales de los segmentos del vector de entrada dentro del primer y último segmentos de nivel inferior respectivamente,
y para dicho último vector de entrada de nivel inferior según:
B1seg = BSEG - B0SEG,
donde B1SEG son los bits asignados para el último vector de entrada de nivel inferior.
8. Un codificador de audio (50) para codificación posicional, que comprende una unidad (10) de entrada configurada para recibir un vector de entrada que representa una señal de audio, una unidad (20) de partición configurada para partición de vectores de entrada de coeficientes que se originan a partir de la señal de audio para la codificación posicional de formas de los vectores de entrada, un cuantificador (30) configurado para cuantificar en vectores segmentos de un vector de entrada individualmente y en donde un número máximo de bits permitidos para cuantificar un segmento de vector está restringido por un cuantificador de vector, y una unidad (40) de salida para una señal codificada, en donde la unidad de partición está configurada para obtener un vector de entrada;
en donde dicha unidad (20) de partición está configurada para segmentar dicho vector de entrada en un número entero, NSEG, de segmentos del vector de entrada según una relación entre un presupuesto total de bits para cuantificar el vector de entrada y un número máximo de bits permitidos para cuantificar un segmento de vector; en donde dicha unidad (20) de partición está configurada para determinar una representación de una diferencia de energía relativa respectiva entre partes de dicho vector de entrada en cada lado de cada límite entre dichos segmentos del vector de entrada por medio:
- a) estableciendo dicho vector de entrada como un vector de entrada de nivel superior;
- b) dividiendo el vector de entrada de nivel superior en partes izquierda y derecha, cada parte que comprende uno o más segmentos del vector de entrada, en donde el vector de entrada de nivel superior se divide en el límite del segmento entre dicha parte izquierda y dicha parte derecha en dos vectores de entrada de nivel inferior;
- c) calculando una representación de una diferencia de energía relativa entre dichos dos vectores de entrada de nivel inferior según una relación de energía entre dichos vectores de entrada de nivel inferior; y
- d) repitiendo dichos pasos b) y c) de división y cálculo restableciendo dichos vectores de entrada de nivel inferior como vector de entrada de nivel superior respectivo, hasta que todos los límites entre segmentos del vector de entrada se provean con una representación asociada de una diferencia de energía relativa;
en donde dicha unidad (20) de partición está configurada para asignar bits para codificar la forma de cada uno de dichos segmentos del vector de entrada y para la codificación de dichas representaciones de dichas diferencias de energía relativas entre dichos segmentos del vector de entrada, en donde los bits para codificar los segmentos del vector de entrada se distribuyen entre segmentos según las diferencias de energía relativas entre partes de dicho vector de entrada; y
en donde dicha unidad (20) de partición está configurada para proporcionar cada uno dicho segmento del vector de entrada, dichas representaciones de dichas diferencias de energía relativas e información de asignación al cuantificador (30) para la codificación individual de dichos segmentos del vector de entrada.
9. El codificador de audio de la reivindicación 8, caracterizado por que dicho número entero, NSEG, es el número entero más pequeño por el cual cada dicho segmento de vector de entrada cumple las restricciones asociadas con un cuantificador para dicha codificación.
10. El codificador de audio según la reivindicación 8, caracterizado por que dicha unidad (20) de partición está configurada para, si dicho vector de entrada de nivel superior tiene que ser dividido en vectores de entrada de nivel inferior no igualmente dimensionados, seleccionar el límite de segmento como el límite más cercano al centro del vector de entrada de nivel superior que da un último vector de entrada de nivel inferior más grande que el primer vector de entrada de nivel inferior.
11. El codificador de audio según la reivindicación 8, caracterizado por que dicha unidad (20) de partición está configurada para realizar dicha asignación de bits en conexión con dicha determinación, de una manera recursiva, de una representación de una diferencia de energía relativa respectiva.
12. El codificador de audio según la reivindicación 8, caracterizado por que dicha unidad (20) de partición está configurada para asignar bits para la codificación de cada uno de dichos segmentos del vector de entrada realizada de manera concurrente a dicho d) cálculo de una representación de una diferencia de energía relativa.
13. El codificador de audio según la reivindicación 12, caracterizado por que dicha unidad (20) de partición está configurada para realizar dicha asignación de bits asignando bits para dichos vectores de entrada de nivel inferior en dependencia de una relación entre las longitudes de dichos vectores de entrada de nivel inferior y una relación entre las energías en dichos vectores de entrada de nivel inferior.
14. El codificador de audio según la reivindicación 13, caracterizado por que dicha unidad (20) de partición está configurada para realizar dicha asignación de bits asignando bits para dicho primer vector de entrada de nivel inferior según:
Figure imgf000016_0001
donde BSEG es la suma de bits asignados para ambos vectores de entrada de nivel inferior, excluyendo los bits asignados para la codificación de una representación de una diferencia de energía relativa entre los vectores de entrada de nivel inferior, B0SEG es el número de bits asignados para el primer vector de entrada de nivel inferior, L0SEG y L1SEG son las longitudes del primer y último vectores de entrada de nivel inferior, respectivamente, R0 representa dicha relación entre las energías en dichos vectores de entrada de nivel inferior y f0 y f1 son factores de compensación para longitudes que difieren del primer y último vectores de entrada de nivel inferior, respectivamente, en donde f0 y f1 llegan a ser cero para longitudes iguales de los segmentos del vector de entrada dentro del primer y último segmentos de nivel inferior, respectivamente,
y para dicho último vector de entrada de nivel inferior según:
B1SEG = BSEG - B0SEG,
donde B1SEG son los bits asignados para el último vector de entrada de nivel inferior.
15. Un programa de ordenador que comprende instrucciones, que cuando se ejecutan por al menos un procesador (60), hacen que el al menos un procesador (60) realice el método según una cualquiera de las reivindicaciones 1 a 7.
16. Un portador que comprende el programa de ordenador de la reivindicación 15, en donde el portador es uno de una señal electrónica, una señal óptica, una señal electromagnética, una señal magnética, una señal eléctrica, una señal de radio, una señal de microondas o un medio de almacenamiento legible por ordenador.
ES14805696T 2013-11-07 2014-11-06 Métodos y dispositivos para la segmentación de vectores para codificación Active ES2784620T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361901089P 2013-11-07 2013-11-07
PCT/SE2014/051310 WO2015069177A1 (en) 2013-11-07 2014-11-06 Methods and devices for vector segmentation for coding

Publications (1)

Publication Number Publication Date
ES2784620T3 true ES2784620T3 (es) 2020-09-29

Family

ID=52001043

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14805696T Active ES2784620T3 (es) 2013-11-07 2014-11-06 Métodos y dispositivos para la segmentación de vectores para codificación

Country Status (8)

Country Link
US (5) US10320413B2 (es)
EP (2) EP3066760B1 (es)
CN (3) CN111554311B (es)
BR (1) BR112016010273B1 (es)
DK (1) DK3066760T3 (es)
ES (1) ES2784620T3 (es)
HK (1) HK1222480A1 (es)
WO (1) WO2015069177A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015069177A1 (en) * 2013-11-07 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for vector segmentation for coding
PT3633675T (pt) 2014-07-28 2021-06-01 Ericsson Telefon Ab L M Pesquisa de forma de um quantificador vetorial em pirâmide

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
US5943446A (en) * 1995-07-19 1999-08-24 Unisys Corporation Method and apparatus for increasing the speed of a full code book search in a quantizer encoder
US6064954A (en) * 1997-04-03 2000-05-16 International Business Machines Corp. Digital audio signal coding
EP1039442B1 (en) * 1999-03-25 2006-03-01 Yamaha Corporation Method and apparatus for compressing and generating waveform
US6324505B1 (en) * 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
MXPA02004015A (es) 1999-10-22 2003-09-25 Activesky Inc Un sistema de video orientado a los objetos.
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
DE60323331D1 (de) * 2002-01-30 2008-10-16 Matsushita Electric Ind Co Ltd Verfahren und vorrichtung zur audio-kodierung und -dekodierung
KR20030070179A (ko) * 2002-02-21 2003-08-29 엘지전자 주식회사 오디오 스트림 구분화 방법
US7310598B1 (en) * 2002-04-12 2007-12-18 University Of Central Florida Research Foundation, Inc. Energy based split vector quantizer employing signal representation in multiple transform domains
US7366645B2 (en) * 2002-05-06 2008-04-29 Jezekiel Ben-Arie Method of recognition of human motion, vector sequences and speech
US8090577B2 (en) * 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
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
US7643558B2 (en) 2003-03-24 2010-01-05 Qualcomm Incorporated Method, apparatus, and system for encoding and decoding side information for multimedia transmission
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
US20070147518A1 (en) * 2005-02-18 2007-06-28 Bruno Bessette Methods and devices for low-frequency emphasis during audio compression based on ACELP/TCX
KR101237413B1 (ko) * 2005-12-07 2013-02-26 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법, 오디오 신호의부호화 및 복호화 장치
US8670557B2 (en) * 2007-09-10 2014-03-11 Spansion Llc Cryptographic system with modular randomization of exponentiation
WO2009061814A2 (en) * 2007-11-05 2009-05-14 University Of Florida Research Foundation, Inc. Lossless data compression and real-time decompression
CN101527138B (zh) * 2008-03-05 2011-12-28 华为技术有限公司 超宽带扩展编码、解码方法、编解码器及超宽带扩展系统
EP2372705A1 (en) * 2010-03-24 2011-10-05 Thomson Licensing Method and apparatus for encoding and decoding excitation patterns from which the masking levels for an audio signal encoding and decoding are determined
KR101430118B1 (ko) * 2010-04-13 2014-08-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 또는 비디오 인코더, 오디오 또는 비디오 디코더 그리고 가변적인 예상 방향을 이용하여 멀티-채널 오디오 또는 비디오 신호들을 프로세싱하기 위한 관련 방법들
WO2012019637A1 (en) * 2010-08-09 2012-02-16 Jadhav, Shubhangi Mahadeo Visual music playlist creation and visual music track exploration
US9318115B2 (en) * 2010-11-26 2016-04-19 Nokia Technologies Oy Efficient coding of binary strings for low bit rate entropy audio coding
US8942431B2 (en) * 2012-06-24 2015-01-27 Neurologix Security Group Inc Biometrics based methods and systems for user authentication
CN107516531B (zh) * 2012-12-13 2020-10-13 弗朗霍弗应用研究促进协会 语音声响编码装置和解码装置、语音声响编码和解码方法
CN104427496B (zh) 2013-08-29 2018-06-26 成都鼎桥通信技术有限公司 Td-lte集群通信系统加密传输方法、装置和系统
WO2015069177A1 (en) * 2013-11-07 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for vector segmentation for coding

Also Published As

Publication number Publication date
EP3637620A1 (en) 2020-04-15
US10715173B2 (en) 2020-07-14
BR112016010273A2 (es) 2017-08-08
EP3066760A1 (en) 2016-09-14
US11621725B2 (en) 2023-04-04
HK1222480A1 (zh) 2017-06-30
US11894865B2 (en) 2024-02-06
CN111554311B (zh) 2023-05-12
EP3066760B1 (en) 2020-01-15
US10320413B2 (en) 2019-06-11
US20220131554A1 (en) 2022-04-28
BR112016010273B1 (pt) 2022-05-31
CN111554311A (zh) 2020-08-18
US11239859B2 (en) 2022-02-01
CN105684315A (zh) 2016-06-15
DK3066760T3 (da) 2020-04-20
CN105684315B (zh) 2020-03-24
US20200304145A1 (en) 2020-09-24
US20190268016A1 (en) 2019-08-29
US20230283293A1 (en) 2023-09-07
WO2015069177A1 (en) 2015-05-14
CN111091843A (zh) 2020-05-01
US20160065239A1 (en) 2016-03-03
CN111091843B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
JP6881859B2 (ja) Polar符号を用いてデータを符号化する方法及び装置
JP7026706B2 (ja) レートマッチングの方法と装置およびレートデマッチングの方法と装置
US11894865B2 (en) Methods and devices for vector segmentation for coding
KR102287176B1 (ko) 폴라 코딩 방법 및 장치
CN103516476A (zh) 编码方法和设备
US10430975B2 (en) Advanced k-D tree encoding for point clouds by most significant axis selection
CN110649925B (zh) 划分的增益形状向量编码
WO2015120719A1 (zh) 信息处理方法及装置
Tarver et al. GPU-based LDPC decoding for vRAN systems in 5G and beyond
CN112332857B (zh) 一种用于ldpc码的循环移位网络系统及循环移位方法
US10200152B2 (en) Method and device for transmitting data using LDPC code
JP2019212111A (ja) 分散学習方法及び分散学習装置
CN111786680B (zh) 一种生成矩阵的确定方法及装置
US10879931B2 (en) Method and apparatus for generating low-density parity-check code basis matrix
CN109644005B (zh) 低密度奇偶校验码基矩阵生成方法及装置
US20150078478A1 (en) Methods and apparatus for reducing interference effect on data transmitted over a communication channel
CN114723035A (zh) 神经网络模型参数的压缩方法、装置、设备及存储介质