CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.

Un procedimiento que comprende: generar (80) valores parciales de palabras de código básicas,

correspondiendo las palabras de código básicas a niveles de un árbol (78) de codificación que especifica palabras de código canónicas de longitud variable, estando los valores parciales basados en un desplazamiento de las palabras de código básicas en un cierto número de bits; generar (82) un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits a descodificar antes de avanzar hasta un nivel seleccionado del árbol (78) de descodificación; y almacenar (84) los valores parciales y el indicador de omisión en una estructura de datos en una memoria

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2007/084270.

Solicitante: QUALCOMM INCORPORATED.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ATTN: INTERNATIONAL IP ADMINISTRATION 5775 MOREHOUSE DRIVE SAN DIEGO, CALIFORNIA 92121 ESTADOS UNIDOS DE AMERICA.

Inventor/es: REZNIK,Yuriy.

Fecha de Publicación: .

Fecha Solicitud PCT: 9 de Noviembre de 2007.

Clasificación PCT:

  • H03M7/40 ELECTRICIDAD.H03 CIRCUITOS ELECTRONICOS BASICOS.H03M CODIFICACION, DECODIFICACION O CONVERSION DE CODIGO, EN GENERAL (por medio de fluidos F15C 4/00; convertidores ópticos analógico/digitales G02F 7/00; codificación, decodificación o conversión de código especialmente adaptada a aplicaciones particulares, ver las subclases apropiadas, p. ej. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; cifrado o descifrado para la criptografía o para otros fines que implican la necesidad de secreto G09C). › H03M 7/00 Conversión de un código, en el cual la información está representada por una secuencia dada o por un número de dígitos, en un código en el cual la misma información está representada por una secuencia o por un número de dígitos diferentes. › Conversión en, o a partir de códigos la longitud variable, p. ej. código Shanno-Fano, código Huffman, código Morse.

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia.

PDF original: ES-2358551_T3.pdf

 

Ilustración 1 de CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.
Ilustración 2 de CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.
Ilustración 3 de CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.
Ilustración 4 de CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.
Ver la galería de la patente con 15 ilustraciones.
CODIFICACIÓN EFICIENTE EN TÉRMINOS DE MEMORIA DE CÓDIGOS DE LONGITUD VARIABLE.

Fragmento de la descripción:

Campo técnico

La presente divulgación se refiere a la compresión de datos y, más específicamente, a la compresión de datos usando códigos de longitud variable (VLC).

Antecedentes

La compresión de datos se usa extensamente en una gran variedad de aplicaciones, para reducir el consumo del espacio de almacenamiento de datos, el ancho de banda de la transmisión, o ambos. Ejemplos de aplicaciones de la compresión de datos incluyen la codificación de vídeo, imagen, voz y audio digitales. La codificación de vídeo digital, por ejemplo, se usa en una amplia gama de dispositivos, que incluye televisores digitales, sistemas de difusión directa digital, dispositivos de comunicación inalámbrica, agendas electrónicas (PDA), ordenadores portátiles o de sobremesa, cámaras digitales, dispositivos de grabación digital, dispositivos de juegos de vídeo, radioteléfonos celulares o satelitales, o similares. Los dispositivos de vídeo digital implementan técnicas de compresión de vídeo, tales como MPEG-2, MPEG-4 o Codificación Avanzada de Vídeo (AVC) H.264 / MPEG-4, para transmitir y recibir más eficazmente el vídeo digital.

En general, las técnicas de compresión de vídeo realizan la predicción espacial, la estimación de movimiento y la compensación de movimiento para reducir o suprimir la redundancia inherente en los datos de vídeo. En particular, la intracodificación se apoya en la predicción espacial para reducir o suprimir la redundancia espacial en el vídeo dentro de una trama de vídeo dada. La intercodificación se apoya en la predicción temporal para reducir o suprimir la redundancia temporal en el vídeo dentro de tramas adyacentes. Para la intercodificación, un codificador de vídeo efectúa la estimación de movimiento para rastrear el movimiento de bloques de vídeo coincidentes entre dos o más tramas adyacentes. La estimación de movimiento genera vectores de movimiento, que indican el desplazamiento de bloques de vídeo con respecto a los correspondientes bloques de vídeo en una o más tramas de referencia. La compensación de movimiento usa el vector de movimiento para generar un bloque de vídeo de predicción a partir de una trama de referencia. Después de la compensación de movimiento, se forma un bloque de vídeo residual restando el bloque de vídeo de predicción del bloque de vídeo original.

Un codificador de vídeo aplica procesos de transformación, cuantización y entropía para reducir adicionalmente la tasa de bits del bloque residual producido por el proceso de codificación de vídeo. Las técnicas de codificación de entropía se usan en las etapas finales de un codificador-descodificador de vídeo (CODEC), y en diversas otras aplicaciones de codificación, antes del almacenamiento o la transmisión de los datos codificados. La codificación de entropía implica generalmente la aplicación de códigos aritméticos o códigos de longitud variable (VLC) para comprimir adicionalmente los coeficientes residuales producidos por las operaciones de transformación y cuantización. Los ejemplos de técnicas de codificación de entropía incluyen la codificación aritmética binaria adaptable al contexto (CABAC) y la codificación de longitud variable adaptable al contexto (CAVLC), que pueden usarse como modalidades alternativas de codificación de entropía en algunos codificadores. Un descodificador de vídeo efectúa la descodificación de entropía para descomprimir la información residual para cada uno de los bloques, y reconstruye el vídeo codificado usando información de movimiento y la información residual.

El artículo “A low power variable length decoder for MPEG-2 based on nonuniform fine-grain table partitioning” [“Un descodificador de longitud variable de baja potencia para MPEG-2, basado en la partición no uniforme de tablas de granulado fino”], de Seong Hwan Cho et al, IEEE Transactions on Very Large Scale Integration (VLSI) Systems [Transacciones del IEEE en Sistemas de Integración en Muy Gran Escala (VLSI)], Centro de Servicios del IEEE, Piscataway, NJ, EE UU, Vol. 7, Nº 2, junio de 1999 (1999-06), XP011063421 ISSN: 1063-8210, revela un procedimiento de codificación que incluye generar valores parciales de palabras de código que especifican palabras de código de longitud variable, generar un indicador de omisión y almacenar los valores parciales en una estructura de datos en una memoria.

Resumen

En general, la presente divulgación se orienta a técnicas para la codificación de longitud variable (VLC) adaptable, eficiente en términos de memoria y de baja complejidad, de datos para una gran variedad de aplicaciones, tales como la codificación de datos de vídeo, imagen, audio o voz digitales. Las técnicas pueden aprovechar las propiedades de conjuntos específicos de palabras de código para dar soporte a estructuras de datos muy compactas.

La presente divulgación proporciona un procedimiento que comprende generar valores parciales de palabras de código básicas, correspondiendo las palabras de código básicas a niveles de un árbol de codificación que especifica palabras de código canónicas de longitud variable, estando los valores parciales basados en un desplazamiento de las palabras de código básicas en un cierto número de bits, generar un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits a descodificar antes de avanzar a un nivel seleccionado del árbol de codificación, y almacenar los valores parciales y el indicador de omisión en una estructura de datos en una memoria.

La presente divulgación también proporciona un medio tangible legible por ordenador que incluye un programa de ordenador para implementar el procedimiento.

El procedimiento puede implementarse usando un dispositivo que comprende un procesador configurado para generar los valores parciales de palabras de código básicas y el indicador de omisión, y una memoria que almacena los valores parciales y el indicador de omisión en una estructura de datos.

Un dispositivo de descodificación puede comprender una memoria que almacena una estructura de datos que comprende valores parciales de palabras de código básicas para niveles de un árbol de codificación que especifica palabras de código de longitud variable, y un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits, a descodificar antes de avanzar a un nivel seleccionado del árbol de codificación, y un descodificador que accede a la memoria para descodificar una de las palabras de código del flujo de bits, en base a los valores parciales y el indicador de omisión en la estructura de datos almacenada.

En un aspecto adicional, la presente divulgación proporciona un procedimiento de descodificación que comprende acceder a una estructura de datos almacenada en la memoria, en donde la estructura de datos comprende valores parciales de palabras de código básicas para niveles de un árbol de codificación que especifica palabras de código de longitud variable, y un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits a descodificar, antes de avanzar a un nivel seleccionado del árbol de codificación, y descodificar una entre las palabras de código del flujo de bits, en base a los valores parciales y al indicador de omisión en la estructura de datos almacenada.

La presente divulgación proporciona adicionalmente un procedimiento adicional que comprende realizar la codificación de longitud variable según una estructura de códigos, en donde la estructura de códigos define grupos de palabras de código en un árbol de codificación, cada uno de los grupos incluye palabras de código que representan valores con los mismos pesos y las palabras de código en cada uno de los grupos están ordenadas lexicográficamente con respecto a los valores representados por las palabras de código, y subgrupos primeros y segundos de palabras de código dentro de cada uno de los grupos, en donde el primer subgrupo incluye palabras de código con una primera longitud y el segundo subgrupo incluye palabras de código con una segunda longitud, distinta a la primera longitud, y generar un resultado de la codificación de longitud variable para al menos uno entre el almacenamiento en memoria, la transmisión a un dispositivo o la presentación a un usuario.

Puede proporcionarse adicionalmente un medio tangible legible por ordenador que comprende instrucciones para causar que un procesador efectúe la codificación de longitud variable según una estructura... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento que comprende:

generar (80) valores parciales de palabras de código básicas, correspondiendo las palabras de código básicas a niveles de un árbol (78) de codificación que especifica palabras de código canónicas de longitud variable, estando los valores parciales basados en un desplazamiento de las palabras de código básicas en un cierto número de bits;

generar (82) un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits a descodificar antes de avanzar hasta un nivel seleccionado del árbol (78) de descodificación; y

almacenar (84) los valores parciales y el indicador de omisión en una estructura de datos en una memoria.

2. El procedimiento de la reivindicación 1, que comprende adicionalmente:

generar valores representados por las palabras de código básicas;

generar longitudes de los valores parciales de las palabras de código básicas, y

almacenar los valores y las longitudes en la estructura de datos en la memoria.

3. El procedimiento de la reivindicación 1, que comprende adicionalmente almacenar (84) la estructura de datos en una memoria de uno entre un descodificador de vídeo, un descodificador de imagen, un descodificador de audio o un descodificador de voz.

4. El procedimiento de la reivindicación 1, en el cual algunos de los niveles del árbol de codificación incluyen palabras de código dispuestas en orden lexicográfico con respecto a los valores representados por las palabras de código, y cada una de las palabras de código básicas es una palabra de código lexicográficamente mínima en un nivel correspondiente en el árbol (78) de codificación.

5. El procedimiento de la reivindicación 1, en el cual los valores parciales de las palabras de código básicas representan la eliminación de un número fijo de bits iniciales de las palabras de código básicas.

6. El procedimiento de la reivindicación 1, que comprende adicionalmente descodificar una de las palabras de código del flujo de bits de palabras de código, usando la estructura de datos almacenada, en el cual la descodificación comprende:

buscar (98) en los niveles del árbol (78) de codificación un valor seleccionado de los niveles parciales de las palabras de código básicas que sea menor o igual a la palabra de código del flujo de bits de palabras de código;

omitir (108) un cierto número de bits en el flujo de bits de palabras de código antes de avanzar al nivel seleccionado del árbol (78) de codificación en respuesta al indicador de omisión;

calcular uno entre una pluralidad de valores correspondientes a la palabra de código, en base a una diferencia entre el valor seleccionado de los valores parciales de las palabras de código básicas que sea menor o igual que la palabra de código y la palabra de código, y un índice del valor seleccionado de los valores parciales de las palabras de código básicas que sea menor o igual que la palabra de código.

7. El procedimiento de la reivindicación 1, que comprende adicionalmente codificar valores con las palabras de código coherentes con el árbol (78) de codificación, en el cual los valores representados por las palabras de código representan al menos uno entre datos de vídeo, datos de imagen, datos de voz o datos de audio.

8. Un procedimiento de descodificación que comprende:

acceder a una estructura de datos almacenada en memoria, en el cual la estructura de datos comprende valores parciales de palabras de código básicas para niveles de un árbol (78) de codificación que especifican palabras de código canónicas de longitud variable, estando los valores parciales basados en un desplazamiento de las palabras de código básicas en un cierto número de bits, y un indicador de omisión que instruye a un descodificador para omitir un cierto número de bits en un flujo de bits a descodificar antes de proseguir hasta un nivel seleccionado del árbol de codificación; y descodificar una de las palabras de código del flujo de bits, en base a los valores parciales y el indicador de omisión en la estructura de datos almacenada.

9. Un programa de ordenador que comprende instrucciones para causar que un procesador lleve a cabo el procedimiento según una cualquiera de las reivindicaciones 1 a 7.

 

Patentes similares o relacionadas:

Codificación de las posiciones de los picos espectrales, del 27 de Mayo de 2020, de TELEFONAKTIEBOLAGET LM ERICSSON (PUBL): Un método de codificación de las posiciones de los picos espectrales de un segmento de una señal de audio, comprendiendo el método: - determinar cuál […]

Sistema y método para codificación y decodificación aritmética, del 29 de Abril de 2020, de NTT DOCOMO, INC.: Método de decodificación aritmética para convertir una secuencia de información compuesta por una secuencia de bits en una secuencia de eventos binarios compuesta […]

Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen, del 4 de Marzo de 2020, de Sun Patent Trust: Un procedimiento de codificación de imagen para codificar datos de imagen por compresión que incluye una pluralidad de unidades de procesamiento que tienen diferentes tamaños […]

Aparato de decodificación de vídeo que usa actualización de parámetros para la desbinarización del coeficiente de transformación codificado por entropía, y procedimiento de codificación que usa el mismo para la binarización, del 26 de Febrero de 2020, de SAMSUNG ELECTRONICS CO., LTD.: Un aparato de decodificación de vídeo, comprendiendo el aparato: un analizador que obtiene una cadena binaria correspondiente a un elemento […]

Transformación solapada condicional, del 20 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un método para codificar un flujo de bits de vídeo utilizando una transformación solapada condicional, en donde el método comprende: la señalización de un modo de filtro […]

Esquema de codificación y decodificación entrópica, del 4 de Septiembre de 2019, de GE Video Compression, LLC: Aparato de codificación entrópica que comprende un descomponedor configurado para convertir una secuencia de elementos de […]

Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados, del 4 de Septiembre de 2019, de CANON KABUSHIKI KAISHA: Procedimiento de descodificación de una unidad de transformación de datos de vídeo codificados utilizando la descodificación de Golomb-Rice, siendo la unidad de […]

Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable, del 14 de Agosto de 2019, de Godo Kaisha IP Bridge 1: Un método de codificación para codificar un coeficiente de un componente de frecuencia incluido en un bloque objetivo a codificar, comprendiendo el método de codificación: […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .