ES2310372T3 - Procedimiento de codificacion de entropia mejorada. - Google Patents
Procedimiento de codificacion de entropia mejorada. Download PDFInfo
- Publication number
- ES2310372T3 ES2310372T3 ES05821490T ES05821490T ES2310372T3 ES 2310372 T3 ES2310372 T3 ES 2310372T3 ES 05821490 T ES05821490 T ES 05821490T ES 05821490 T ES05821490 T ES 05821490T ES 2310372 T3 ES2310372 T3 ES 2310372T3
- Authority
- ES
- Spain
- Prior art keywords
- coefficient
- last
- coefficients
- module
- vlc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Meat, Egg Or Seafood Products (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Farming Of Fish And Shellfish (AREA)
- Excavating Of Shafts Or Tunnels (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
Abstract
Procedimiento para proporcionar un proceso de codificación de entropía simplificado en una codificación de video de coeficientes de transformada cuantificados que representan un bloque de valores de píxeles residuales en un macrobloque, en el cual los coeficientes son asignados a unas posiciones en el interior del bloque de orden creciente, caracterizado por el hecho de que el procedimiento comprende las etapas de: I. especificar una primera posición de un último coeficiente diferente de cero en el interior del bloque combinado con una indicación de si el módulo de dicho último coeficiente diferente de cero es mayor que 1 como un acontecimiento entre un cierto número de acontecimientos posibles en un primer código de longitud variable (o VLC, siglas de Variable Length Code), II. si el módulo de dicho último coeficiente diferente de cero es igual a 1, definir dicho último coeficiente diferente de cero como un último coeficiente diferente de cero actualmente, y a. especificar el número de posiciones con coeficientes nulos entre dicho último coeficiente diferente de cero actualmente y un próximo coeficiente diferente de cero en el interior del bloque, orientado en un orden de posición decreciente, combinado con una indicación de si el módulo de dicho próximo coeficiente diferente de cero es mayor que 1 como un acontecimiento entre un cierto número de acontecimientos posibles en un segundo VLC, y definir dicho próximo coeficiente diferente de cero como dicho último coeficiente diferente de cero actualmente, b. repetir la etapa a. si el módulo de dicho último coeficiente diferente de cero actualmente es igual a 1, III. si el módulo de dicho último o último coeficiente diferente de cero actualmente es mayor que 1, a. especificar el módulo de cada coeficiente no especificado en la etapa I-II y las correspondientes posiciones según uno o más VLCs.
Description
Procedimiento de codificación de entropía
mejorada.
La invención se refiere a la
codificación/descodificación de entropía de datos de coeficientes de
transformada para sistemas de compresión de video.
La transmisión de imágenes dinámicas en tiempo
real se emplea en muchas aplicaciones tales como por ejemplo las
videoconferencias, las reuniones en red, la difusión de televisión y
la telefonía video.
Sin embargo, representar imágenes dinámicas
requiere mucha información ya que el video digital se representa
típicamente mediante cada píxel de una imagen con 8 bits (1 Byte).
Estos datos de video no comprimidos resultan en grandes volúmenes
de bits, que no pueden ser transmitidos en tiempo real en redes de
comunicación convencionales y en líneas de transmisión debido a la
limitación del ancho de banda.
Por lo tanto, permitir la transmisión de video
en tiempo real requiere una gran compresión de los datos. Sin
embargo, la compresión de los datos compromete la calidad de la
imagen. Por lo tanto, se han hecho grandes esfuerzos para
desarrollar técnicas de compresión que permitan la transmisión en
tiempo real de video de alta calidad con conexiones de datos de
ancho de banda limitado.
En los sistemas de compresión de video, el
objetivo principal es representar la información de video con la
mínima capacidad posible. La capacidad se define con bits, ya sea
como un valor constante o como una unidad de bits/tiempo. En ambos
casos, el objetivo principal es reducir el número de bits.
El procedimiento de codificación de video más
común se describe en las normas MPEG* y H.26*. Los datos de video
son sometidos a cuatro procesos principales antes de la transmisión,
a saber predicción, transformación, cuantificación y codificación
de entropía.
El proceso de predicción reduce
significativamente la cantidad de bits requeridos para cada imagen
de una secuencia de video a transmitir. Saca provecho de la
similitud entre partes de la secuencia y otras partes de la
secuencia. Puesto que la parte de predicción es conocida tanto para
la codificación y la descodificación, solo se debe transmitir la
diferencia. Esta diferencia suele necesitar mucha menos capacidad
para su representación. La predicción se basa principalmente en
vectores que representan movimientos. El proceso de predicción se
suele realizar en tamaños de bloques cuadrados (por ejemplo de 16x16
píxeles). Hay que notar que en algunos casos, se emplean las
predicciones de píxeles basadas en los píxeles adyacentes de la
misma imagen antes que las basadas en píxeles de imágenes
anteriores. A esto se le llama intra predicción, opuesta a la
Inter.-predicción.
Los residuos representados como un bloque de
datos (por ejemplo de 4x4 píxeles) sigue conteniendo una
correlación interna. Un procedimiento bien conocido que aprovecha
esto es la realización de una transformada de bloque en dos
dimensiones. En H.263 se emplea una transformación directa de coseno
8x8 (DCT, siglas de "Discrete Cosine Transform"),
mientras que en H.264 se utiliza una transformada de tipo entero
4x4. Esta transforma píxeles 4x4 en coeficientes de transformada 4x4
y suelen poder ser representados con menos bits que en la
representación con píxeles. Transformar una matriz de píxeles 4x4
con correlación interna resultará probablemente en un bloque 4x4 de
coeficientes de transformada con muchos menos valores no nulos que
en el bloque de píxeles 4x4 original.
La representación directa de los coeficientes de
transformada sigue siendo demasiado costosos para varias
aplicaciones. Se lleva a cabo un proceso de cuantificación para una
reducción adicional de la representación de los datos. Luego los
coeficientes de transformada son sometidos a una cuantificación. Una
versión simple de la cuantificación es dividir los valores de los
parámetros por un número - que da como resultado un número menor
que se puede representar con menos bits. Hay que mencionar que este
proceso de cuantificación tiene como resultado que la secuencia de
video reconstruida es algo diferente de la secuencia no comprimida.
Este fenómeno es conocido como "codificación perdida"
("lossy coding"). El resultado de la parte de
cuantificación se conoce como coeficientes de transformada
cuantificados.
La codificación de entropía implica una
representación sin pérdidas de diferentes tipos de parámetros tales
como los datos de encabezamiento o de descripción de sistema, datos
de predicción (típicamente vectores de movimiento), y coeficientes
de transformada cuantificados a partir del proceso de
cuantificación. Este último suele representar el mayor consumo de
bits.
La condición se realiza por bloques de la imagen
de video. Un macro bloque consiste en varios
sub-bloques para la luminosidad (luma) y
para la cromaticidad (chroma). Hay típicamente dos
componentes cromáticos (Cr, Cb) con al mitad de resolución tanto en
horizontal como en vertical comparada con la luminosidad. En la
figura 1, el macro bloque consiste en 16x16 píxeles de luminosidad y
dos componentes cromáticos con 8x8 píxeles cada uno. Cada uno de
los componentes es dividido en bloques 4x4, representados por
cuadrados pequeños. Para fines de codificación, los bloques 4x4
luminosos y cromáticos son agrupados conjuntamente en
sub-bloques 8x8 y designados por
Y0-Y3 y Cr, Cb.
En H.263 y H.264 se describe el estado de la
técnica referente a la codificación de entropía de coeficientes de
transformada cuantificados para compresión video.
H.263 se basa en la codificación de longitud
variable (VLC). Se define un conjunto de acontecimientos. Un
acontecimiento representa la fijación de valores para uno o más
parámetros. Un acontecimiento se asigna a un único código de bit.
La tabla de códigos se diseña de manera que la longitud de los
códigos se corresponde con la probabilidad estadística de cada
acontecimiento. La eficiencia optima se consigue si el número de
Bits = -log2(p), donde p es la probabilidad estadística del
acontecimiento (p está en el rango 0-1). Un ejemplo
de un Código VLC se muestra en la tabla 1.
En H.264, se introducen procedimientos
mejorados, en especial el concepto de "Adaptación al Contexto"
(CA, siglas de "Context Adaptivity"). El concepto se
aplica a un modelo que cambia dinámicamente según la codificación
previa. Como ejemplo, se puede escoger una tabla VLC más adecuada
según los acontecimientos previos, lo cual hace la codificación más
eficaz. En H.264 se describen dos de estos procedimientos basados en
la CA:
- 1
- CAVLC con Adaptación a Contexto moderada que emplea tablas VLC para codificar.
- 2
- CABAC ("Binary Arithmetic Coding") con Adaptación a Contexto más compleja y que emplea una codificación aritmética al final. De esta resulta una mayor ganancia de compresión, pero con el coste de una mayor complejidad.
Se considera que CAVLC tiene una adaptatividad y
una complejidad moderadas. CABAC emplea una adaptatividad más
elaborada pero se considera como demasiado complejo para ciertas
aplicaciones, en especial para aplicaciones en tiempo real.
US 2004/0228540 describe procedimientos de
codificación y descodificación de entropía.
Es un objeto de la presente invención
proporcionar un procedimiento de codificación de entropía mejorado
comparado con el estado de la técnica que combina una baja
complejidad con altas prestaciones. Las características definidas
en la reivindicación 1 independiente adjunta caracterizan a este
procedimiento.
Otro objeto de la presente invención es el de
proporcionar un procedimiento de descodificación de entropía
mejorado comparado con el estado de la técnica que combina una baja
complejidad con altas prestaciones. Las características definidas
en la reivindicación 5 independiente adjunta caracterizan a este
procedimiento.
Con la finalidad de que la invención sea más
comprensible; la siguiente discusión hará referencia a los dibujos
y tablas adjuntos, en los cuales.
La figura 1 muestra un macro bloque de 16x16
píxeles luminosos y dos componentes cromáticos de 8x8 píxeles,
La figura 2 ilustra ejemplos de Patrones de
bloques modificados diferentes,
La figura 3 muestra un bloque y sus vecinos en
el interior de un macrobloque a codificar,
La figura 4 es un diagrama de flujo que ilustra
esquemáticamente una primera realización de un procedimiento según
la invención,
La figura 5 es un diagrama de flujo que ilustra
esquemáticamente una segunda realización de un procedimiento según
la invención,
Tabla 1 muestra un ejemplo de Código VLC,
Tabla 2 muestra un ejemplo de un Modo LEVEL,
Tabla 3 muestra un ejemplo de un Modo RUN.
La presente invención proporciona un
procedimiento de codificación/descodificación de coeficientes de
transformada cuantificados en bloques de los cuales se sabe que
tienen coeficientes de transformada no nulos. Sin embargo, para una
mejor comprensión de la invención, la codificación de información
referente a bloques que tienen o no coeficientes, llamada a menudo
Patrón de bloque codificado (CBP, siglas de "Coded block
Pattern"), se describirá a continuación a modo de
ejemplo.
En la figura 2 se muestran diferentes tipos de
bloques típicamente usados en CBP. El bloque A es 16x16 un bloque
luminoso dividido en 16 bloques de 4x4 que son sometidos a una
transformada de 2 dimensiones. Las líneas gruesas en A indican que
también hay una partición del bloque 16x16 en cuatro bloques 8x8.
Cada bloque 4x4 tendrá 16 coeficientes de transformada. Los no
nulos se codifican de la manera siguiente:
un bit indica si hay o no coeficientes no nulos
en todo el bloque 16x16. En el caso de que haya coeficientes, hay
un bit adicional por bloque 8x8 que indica si hay o no coeficientes
no nulos. En el caso de que haya coeficientes, hay un bit adicional
por bloque 4x4 para indicar si hay o no coeficientes no nulos.
El bloque B tiene la misma partición que A. Los
cuadrados negros indican Coeficientes DC en un bloque 4x4. Son
sometidos a una segunda transformada 4x4 para formar un bloque 4x4
separado. Este bloque tiene 16 coeficientes de transformada,
mientras que los otros bloques tendrán 15 coeficientes puesto que
los coeficientes DC están desplazados hacia el bloque DC. El bloque
B es un tipo especial de intra bloque. Un bit indica si hay
coeficientes no nulos en la transformada DC 4x4. Otro bit indica si
hay o no coeficientes AC no nulos en todo el bloque 16x16. En el
caso de que haya coeficientes, un bit adicional por bloque 4x4
indica si hay o no coeficientes AC no nulos.
El bloque C es un bloque luminoso 8x8 dividido
en cuatro bloques 4x4 que son sometidos a una transformada de 2
dimensiones. Los cuadrados negros indican Coeficientes DC en un
bloque 4x4. Son sometidos a una segunda transformada 2x2 para
formar un bloque 2x2 separado. Este bloque tiene cuatro
coeficientes, mientras que los otros bloques tendrán 15
coeficientes puesto que los coeficientes DC están desplazados hacia
el bloque DC. Este es uno de los 2 coeficientes cromáticos. Se
puede utilizar una estructura similar al primero para el bloque b
teniendo en cuenta que hay 2 componentes cromáticos y que es
deseable tener una indicación de 1 bit si hay coeficientes
cromáticos no nulos en todos los bloques.
La presente invención tiene ciertas similitudes
con la mencionada codificación de longitud variable adaptable al
contexto (CAVLC siglas de "Context Adaptive Variable Length
Coding") de la técnica anterior, tal como se ha mencionado
en la sección de antecedentes. En lo que sigue, se describirán las
bases de la Codificación CAVLC según H.264.
Durante la codificación hay un proceso de
predicción para predecir los valores de los píxeles en cada uno de
los bloques. Este es sustraído a lo largo de los datos de los
píxeles para codificarlos y el resultado es la llamada señal
residual.
Para lograr una mayor compresión, la señal
residual es sometida a una transformación 4x4 de la que resultan
4x4 = 16 coeficientes de transformada. Están organizados como una
cadena de 16 números de manera que, estadísticamente, el tamaño de
los coeficientes decrece a medida que aumenta la posición en la
cadena. Para obtener la compresión necesaria, los coeficientes de
transformada también son sometidos a un proceso de cuantificación
antes de la codificación de entropía. A resultas de ello, la mayoría
de los coeficientes son 0. Una típica cadena de coeficientes de
transformada cuantificados tendrá el siguiente aspecto:
(1)6 -4 0 2
0 0 -1 0 0 1 0 0 0 0 0
0
Antes de la Codificación CAVLC actual se lleva a
cabo una Codificación CBP8 para especificar cuál de los bloques 8x8
(en la figura 3 marcados con línea gruesa) tienen coeficientes de
transformada y cuales no.
En la descripción de la Codificación CAVLC, los
coeficientes de transformada cuantificados del bloque c en la
figura 3 que incluyen los coeficientes (1) se utilizan como
ejemplo.
La primera etapa es codificar un parámetro
combinado que representa la combinación del número de coeficientes
no nulos (N) y el número de coeficientes hacía el final que tienen
valores absolutos iguales a 1. En el ejemplo de arriba, este
parámetro es (5,2). Si todos los coeficientes fuesen 0, la
combinación sería (0,0). Este parámetro se codifica con una tabla
de Códigos de longitud variable (VLC). Para aumentar la compresión
se pueden escoger diferentes Tablas VLC según el valor de N de los
bloques 4x4 a y b de arriba y de la izquierda.
En este punto, ya se ha especificado que los dos
últimos coeficientes tienen valores absolutos iguales a 1. Por lo
tanto, la próxima etapa es especificar los restantes: 6, -4, 2. En
este proceso se emplea una "exploración en orden inverso". Eso
significa que los coeficientes se codifican en el orden: 2 -4 6.
Esto se hace así porqué las tablas VLC se pueden cambiar según el
tamaño del coeficiente codificado previamente. En el ejemplo se
utiliza un VLC "de inicio" para codificar 2 y 4. Puesto que 4
está por encima de un umbral determinado, se utiliza un VLC
diferente para codificar 6.
Para cada coeficiente no nulo un bit adicional
indica si el coeficiente es positivo o negativo.
\newpage
A continuación, se codifica el número de
coeficientes nulos (TZ) antes del último coeficiente no nulo. En el
ejemplo de arriba TZ = 5. N estable ce un límite superior de TZ. A
partir de ahí, se escoge una tabla VLC adecuada dependiendo de
N.
Finalmente, se codifica la actual distribución
de coeficientes nulos, que también se hace mediante exploración en
orden inverso. Por lo tanto, se especifica que hay dos Coeficientes
nulos antes del último 1. Ya es conocido que hay en total cinco
coeficientes nulos, y se emplea una Tabla VLC adecuada. Luego se
codifican los dos coeficientes nulos antes de -1 y los coeficientes
nulos antes de 2. Luego quedan completamente especificadas las
posiciones de todos los coeficientes nulos y no nulos.
Así como el CAVLC del estado de la técnica
especifica el número de coeficientes no nulos combinado con el
número de 1's en un bloque 4x4, la presente invención introduce
acontecimientos que combinan la posición del último coeficiente
diferente de cero con la condición de si el valor absoluto es mayor
que 1. Además, no se utiliza información del exterior del
macrobloque para decidir que VLC utilizar. Los coeficientes se
suelen codificar empezando con un Modo Run y siguiendo con modo
Level cuando se encuentra el primer coeficiente con valor absoluto
> 1. Un ejemplo de RUN y LEVEL se muestra en las tablas 2 y 3,
respectivamente.
A continuación, se describirá una realización de
la presente invención con referencia a la figura 3 y los
coeficientes de (1). Hay que notar que si aquí se describe
únicamente la codificación, la presente invención también se aplica
para la descodificación, aunque aplicado inversamente.
Después de cuantificar los coeficientes de la
transformada en un bloque, los coeficientes son representados
mediante los así llamados valores LEVEL que pueden ser 0, 1, 2 etc.
El valor absoluto de LEVEL se llama ALEVEL, y el signo de LEVEL (+ o
-) se llama SIGNLEVEL.
Como ya se ha indicado, la presente invención
empieza de forma más directa que en la CAVLC del estado de la
técnica para definir la posición (P) del último coeficiente numerado
0-3, 0-14 o 0-15
dependiendo del número de coeficientes en el bloque, es decir
dependiendo de cual de los CBP mostrados en la figura 2 se está
usando. Un acontecimiento combinado se codifica indicando P y si
ALEVEL del último coeficiente es = 1 ó > 1. En el caso de (1),
el acontecimiento es (9, = 1).
Para una mayor compresión, se escoge una Tabla
VLC dependiendo del P de los bloques a y b pero solamente si están
en el interior del macrobloque. Esto representa una simplificación
puesto que la codificación/descodificación puede basarse en el
macrobloque, lo cual hace innecesario que la lectura de datos esté
conectada con otros macrobloques.
Además, según la realización de la presente
invención, cuyo VLC a usar depende del tamaño del bloque para
evitar la reserva de códigos para valores de P o ALEVEL que no se
pueden dar, y el valor de P en los bloques a y b. Sin embargo, la
dependencia de a y b solamente ocurre si están en el interior del
mismo macrobloque que el bloque 4x4 que hay que codificar.
Igual que en la CAVLC del estado de la técnica,
se utiliza una exploración en orden inverso. Si el ALEVEL del
último coeficiente es 1, la codificación sigue en modo Run.
Con referencia ahora al ejemplo, se codifica el
número de coeficientes nulos (R) antes del último 1 (R = 2). Se
codifica en combinación con una indicación de si el valor absoluto
del próximo coeficiente (Next) es 1 ó > 1. En este caso, el
próximo coeficiente es 1.
Dependiendo de la posición del ultimo
coeficiente codificado, se limitan los posibles valores del
siguiente RUN. Como ejemplo: Si el último coeficiente codificado
estaba en la posición 4, los valores de RUN pueden estar en el
rango 0-4. A partir de aquí, se necesita una Tabla
VLC que permita únicamente cinco valores RUN a codificar, ya que el
valor 1 queda excluido. Esto se utiliza en el diseño.
Según la realización de la invención, ALEVEL se
codifica directamente(incluido el valor 0). En el ejemplo de
arriba los códigos son:
ALEVEL = 2 (sabiendo que es > 1)
ALEVEL = 0
ALEVEL = 4
ALEVEL = 6
Hay que destacar que en el CAVLC del estado de
la técnica, se pueden cambiar las Tablas VLC dependiendo del tamaño
del coeficiente codificado previamente. Como ejemplo, en el proceso
de adaptación utilizado en la codificación de nivel H.264, hay 6
Tablas VLC diferentes disponibles llamadas VLCn donde n=0,1,2,3,4,5.
Al principio de un bloque n se pone a 0. Para cada coeficiente
codificado, se puede cambiar el n a usar para codificar el próximo
coeficiente de la manera siguiente:
si ALEVEL > 3*2^{n}, n es aumentado en 1,
pero no puede sobrepasar 5.
Finalmente, para cada coeficiente no nulo un bit
indica si el coeficiente es positivo o negativo.
La figura 4 es un diagrama de flujo que ilustra
esquemáticamente una realización de un procedimiento según la
invención.
El diagrama de flujo de la figura 4 ilustra
esquemáticamente un procedimiento para proporcionar un proceso de
codificación de entropía simplificado en una codificación de video
de coeficientes de transformada cuantificados que representan un
bloque de valores de píxeles residuales en un macrobloque. En el
procedimiento, los coeficientes de transformada cuantificados son
asignados a unas posiciones en el interior del bloque de orden
creciente.
El procedimiento empieza en la etapa inicial
41.
A continuación, se realiza la etapa 42 de
especificación de la primera posición. En esta etapa 42 se
determina si el módulo del último coeficiente diferente de cero está
entre [1,n], o una indicación de >n si el módulo de dicho último
coeficiente diferente de cero es mayor que n.
Además, en la etapa 42, si se cumple la
condición anterior, se especifican una primera posición de un
último coeficiente diferente de cero en el interior del macrobloque
junto con el módulo de dicho último coeficiente diferente de cero,
como un acontecimiento entre un cierto número de acontecimientos
posibles en un primer código de longitud variable (VLC).
A continuación, en la etapa de determinación 43,
se determina si el módulo de dicho último coeficiente diferente de
cero está entre [1,n].
Si el resultado de esta etapa de determinación
43 es verdadero, el último coeficiente diferente de cero se define
en la etapa de definición 44 como un último coeficiente diferente de
cero actualmente.
A continuación, se realiza la etapa 45 de
especificación del número de posiciones. En esta etapa, se
especifican el número de posiciones con coeficientes nulos entre
dicho último coeficiente diferente de cero actualmente y un próximo
coeficiente diferente de cero en el interior del bloque, orientado
en orden de posición decreciente, junto con el módulo de dicho
próximo coeficiente diferente de cero, si el módulo de dicho próximo
coeficiente diferente de cero está entre [1,n] o una indicación de
>n si el módulo de dicho próximo coeficiente diferente de cero
es mayor que n como un acontecimiento entre un cierto número de
acontecimientos posibles en un segundo VLC. La etapa 45 también
comprende la definición de dicho próximo coeficiente diferente de
cero para ser dicho último coeficiente diferente de cero
actualmente.
Si, por otro lado, el resultado de la etapa de
determinación 43 fuese falso, es decir si el módulo del último
coeficiente no nulo actualmente es mayor que n, se realiza la etapa
47 (más abajo) de especificación de los módulos de los
coeficientes.
Posteriormente a la etapa 45 de especificación
del número de posiciones, se realiza la etapa de determinación 46.
En la etapa de determinación 46, se determina si el módulo de dicho
último coeficiente diferente de cero actualmente está entre
[1,n].
Si el resultado de la etapa de determinación 46
es verdadero, se repite la etapa 45 de especificación del número de
posiciones.
También, si el resultado de la etapa de
determinación 46 es falso, es decir si el módulo del último
coeficiente diferente de cero actualmente es mayor que n, se realiza
la etapa 47 de especificación del módulo de los coeficientes.
También se realiza la etapa 47 de especificación
del módulo de los coeficientes si el resultado de la etapa de
determinación 43 es falso, es decir si el módulo del último
coeficiente diferente de cero es mayor que n.
En la etapa 47 de especificación del módulo de
los coeficientes, se especifican el módulo de cada coeficiente no
especificado en las etapas anteriores y las correspondientes
posiciones según uno o más VLCs.
Ventajosamente, la etapa 47 de especificación
del módulo de los coeficientes también incluye el hecho de que un
primer o último coeficiente ordenado de dichos coeficientes no
especificados en las anteriores etapas 41-46 se
especifica según un tercer VLC que tiene valores de módulo posibles
de [n+1,\rightarrow], mientras que los restantes dichos
coeficientes no especificados en la etapa I-III son
especificados según un cuarto VLC que tiene valores de módulo
posibles de [0,\rightarrow].
Ventajosamente, la constante n vale 1.
Ventajosamente, el primer VLR depende de uno o
más bloques vecinos con una posición fijada con respecto a dicho
bloque si dicho o dichos uno o más bloques vecinos están en el
interior del macrobloque.
El proceso finaliza en la etapa final 48.
La figura 5 es un diagrama de flujo que ilustra
esquemáticamente una segunda realización de un procedimiento según
la invención.
El diagrama de flujo de la figura 5 ilustra
esquemáticamente un procedimiento para proporcionar un proceso de
decodificación de entropía simplificado en una decodificación de
video de coeficientes de transformada cuantificados que representan
un bloque de valores de píxeles residuales en un macrobloque, en el
cual los coeficientes son asignados a unas posiciones en el
interior del bloque de orden creciente.
El procedimiento empieza en la etapa inicial
51.
A continuación, se realiza la etapa 52 de
interpretación de la primera posición. En esta etapa 52 se
determina si el módulo del último coeficiente diferente de cero está
entre [1,n], o una indicación de >n si el módulo de dicho último
coeficiente diferente de cero es mayor que n.
Si eso es cierto, una primera posición de un
último coeficiente diferente de cero en el interior del macrobloque
junto con un módulo de dicho último coeficiente diferente de cero es
interpretado como un acontecimiento entre un cierto número de
acontecimientos posibles en un primer código de longitud variable
(VLC).
A continuación, en la etapa de determinación 53,
se determina si el módulo de dicho último coeficiente diferente de
cero está entre [1,n].
Si el resultado de esta etapa de determinación
53 es verdadera, se define el último coeficiente diferente de cero
en la etapa de definición 54 como un último coeficiente diferente de
cero actualmente.
A continuación, se realiza la etapa 45 de
interpretación del número de posiciones. En esta etapa, el número
de posiciones con coeficientes nulos entre dicho último coeficiente
diferente de cero actualmente y un próximo coeficiente diferente de
cero en el interior del bloque, orientado hacia un orden de posición
decreciente, se interpreta junto con un módulo de dicho próximo
coeficiente diferente de cero, si el módulo de dicho próximo
coeficiente diferente de cero está entre [1,n] o una indicación de
>n si el módulo de dicho próximo coeficiente diferente de cero
es mayor que n, como un acontecimiento entre un cierto número de
acontecimientos posibles en un segundo VLC. La etapa 55 también
comprende la definición de dicho próximo coeficiente diferente de
cero para ser dicho último coeficiente diferente de cero
actualmente.
Si, por otro lado, el resultado de la etapa de
determinación 53 fuese falso, es decir si el módulo del último
coeficiente no nulo actualmente fuese mayor que n, se realiza la
etapa 57 (más abajo) de interpretación de los módulos de los
coeficientes.
Posteriormente a la etapa 55 de interpretación
del número de posiciones, se realiza la etapa de determinación 56.
En la etapa de determinación 56, se determina si el módulo de dicho
último coeficiente diferente de cero actualmente está entre
[l,n].
Si el resultado de la etapa de determinación 56
es verdadero, se repite la etapa 55 de interpretación del número de
posiciones.
Además, si el resultado de la etapa de
determinación 56 es falsa, es decir, si el módulo del último
coeficiente diferente de cero actualmente es mayor que n, se realiza
la etapa 57 de interpretación de los módulo de los
coeficientes.
También se realiza la etapa 57 de interpretación
del módulo de los coeficientes si el resultado de la etapa de
determinación 53 es falso, es decir si el módulo del último
coeficiente diferente de cero es mayor que n.
En la etapa 57 de interpretación de los módulos
de los coeficientes, se interpretan los módulos de cada coeficiente
no especificado las etapas anteriores y las correspondientes
posiciones según uno o más VLCs.
Ventajosamente, la etapa 57 de interpretación de
los módulos de los coeficientes también incluye el hecho de que un
primer o último coeficiente ordenado de dichos coeficientes no
interpretados en las anteriores etapas 51-56 se
interpreta según un tercer VLC que tiene valores de módulo posibles
de [n+1,\rightarrow], mientras que restantes de dichos
coeficientes no interpretados en la etapa I-III son
interpretados según un cuarto VLC que tiene valores de módulo
posibles de [0, \rightarrow].
Ventajosamente, la constante n vale 1.
Ventajosamente, el primer VLR depende de uno o
más bloques vecinos con una posición fijada con respecto a dicho
bloque si dicho o dichos uno o más bloques vecinos están en el
interior del macrobloque.
El proceso finaliza en la etapa final 58.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Esta lista de referencias citadas por el
solicitante está prevista únicamente para ayudar al lector y no
forma parte del documento de patente europea. Aunque se ha puesto
el máximo cuidado en su realización, no se pueden excluir errores u
omisiones y la OEP declina cualquier responsabilidad en este
respecto.
\bullet US 20040228540 A [0016].
Claims (8)
1. Procedimiento para proporcionar un proceso de
codificación de entropía simplificado en una codificación de video
de coeficientes de transformada cuantificados que representan un
bloque de valores de píxeles residuales en un macrobloque, en el
cual los coeficientes son asignados a unas posiciones en el interior
del bloque de orden creciente,
caracterizado por el hecho de que el
procedimiento comprende las etapas de:
I. especificar una primera posición de un último
coeficiente diferente de cero en el interior del bloque combinado
con una indicación de si el módulo de dicho último coeficiente
diferente de cero es mayor que 1 como un acontecimiento entre un
cierto número de acontecimientos posibles en un primer código de
longitud variable (o VLC, siglas de Variable Length
Code),
II. si el módulo de dicho último coeficiente
diferente de cero es igual a 1, definir dicho último coeficiente
diferente de cero como un último coeficiente diferente de cero
actualmente, y
- a.
- especificar el número de posiciones con coeficientes nulos entre dicho último coeficiente diferente de cero actualmente y un próximo coeficiente diferente de cero en el interior del bloque, orientado en un orden de posición decreciente, combinado con una indicación de si el módulo de dicho próximo coeficiente diferente de cero es mayor que 1 como un acontecimiento entre un cierto número de acontecimientos posibles en un segundo VLC, y definir dicho próximo coeficiente diferente de cero como dicho último coeficiente diferente de cero actualmente,
- b.
- repetir la etapa a. si el módulo de dicho último coeficiente diferente de cero actualmente es igual a 1,
III. si el módulo de dicho último o último
coeficiente diferente de cero actualmente es mayor que 1,
- a.
- especificar el módulo de cada coeficiente no especificado en la etapa I-II y las correspondientes posiciones según uno o más VLCs.
2. Procedimiento según la reivindicación 1,
en el cual la etapa III.a. también incluye el
hecho de que un primer o último coeficiente ordenado de dichos
coeficientes no especificados en la etapa I-III se
especifica según un tercer VLC que tiene valores de módulo posibles
de [2,\rightarrow], mientras que los demás de dichos coeficientes
no especificados en la etapa I-III son
especificados según un cuarto VLC que tiene valores de módulo
posibles de [0,\rightarrow].
3. Procedimiento según la reivindicación 1 o la
2,
en el cual dicho primer VLC depende de uno o más
bloques vecinos con una posición fijada con respecto a dicho bloque
si dicho o dichos uno o más bloques vecinos están en el interior del
macrobloque.
4. Procedimiento según las reivindicaciones 1, 2
ó 3,
en el cual dicho segundo VLC es un código
RUN.
5. Procedimiento para proporcionar un proceso de
decodificación de entropía simplificado en una decodificación de
video de coeficientes de transformada cuantificados que representan
un bloque de valores de píxeles residuales en un macrobloque, en el
cual los coeficientes son asignados a unas posiciones en el interior
del bloque de orden creciente,
caracterizado por el hecho de que el
procedimiento comprende las etapas de:
IV. interpretar una primera posición de un
último coeficiente diferente de cero en el interior del bloque
combinado con una indicación de si el módulo de dicho último
coeficiente diferente de cero es mayor que 1 como un acontecimiento
específico entre un cierto número de acontecimientos posibles en un
primer código de longitud variable (VLC),
V. si el módulo de dicho último coeficiente
diferente de cero es igual a 1, definir dicho último coeficiente
diferente de cero como un último coeficiente diferente de cero
actualmente, y
- a.
- interpretar el número de posiciones con coeficientes nulos entre dicho último coeficiente diferente de cero actualmente y un próximo coeficiente diferente de cero en el interior del bloque, orientado en un orden de posición decreciente, combinado con una indicación de si el módulo de dicho próximo coeficiente diferente de cero es mayor que 1 como un acontecimiento específico entre un cierto número de acontecimientos posibles en un segundo VLC, y definir dicho próximo coeficiente diferente de cero para ser dicho último coeficiente diferente de cero actualmente,
- b.
- repetir la etapa a. si el módulo de dicho último coeficiente diferente de cero actualmente es igual a 1,
VI. si el módulo de dicho último o último
coeficiente diferente de cero actualmente es mayor que 1,
- a.
- interpretar el módulo de cada coeficiente no especificado en la etapa I-II y las correspondientes posiciones según uno o más VLCs.
6. Procedimiento según la reivindicación 5,
en el cual la etapa III.a. también incluye el
hecho de que un primer o último coeficiente ordenado de dichos
coeficientes no interpretados en la etapa IIII se interpreta según
un tercer VLC que tiene valores de módulo posibles de
[2,\rightarrow], mientras que los demás de dichos coeficientes no
interpretados en la etapa I-III son interpretados
según un cuarto VLC que tiene valores de módulo posibles de
[0,\rightarrow].
7. Procedimiento según la reivindicación 5 o la
6,
en el cual dicho primer VLC depende de uno o más
bloques vecinos con una posición fijada con respecto a dicho bloque
si dicho o dichos uno o más bloques vecinos están en el interior del
macrobloque.
8. Procedimiento según las reivindicaciones 5, 6
ó 7,
en el cual dicho segundo VLC es un código
RUN.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| NO20045714A NO322043B1 (no) | 2004-12-30 | 2004-12-30 | Fremgangsmate for forenklet entropikoding |
| NO20045714 | 2004-12-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2310372T3 true ES2310372T3 (es) | 2009-01-01 |
Family
ID=35209728
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05821490T Expired - Lifetime ES2310372T3 (es) | 2004-12-30 | 2005-12-27 | Procedimiento de codificacion de entropia mejorada. |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US7843998B2 (es) |
| EP (1) | EP1834487B1 (es) |
| JP (1) | JP2008527789A (es) |
| CN (1) | CN100581252C (es) |
| AT (1) | ATE400969T1 (es) |
| DE (1) | DE602005008111D1 (es) |
| ES (1) | ES2310372T3 (es) |
| NO (1) | NO322043B1 (es) |
| WO (1) | WO2006071125A1 (es) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8369411B2 (en) * | 2007-03-29 | 2013-02-05 | James Au | Intra-macroblock video processing |
| US8416857B2 (en) * | 2007-03-29 | 2013-04-09 | James Au | Parallel or pipelined macroblock processing |
| US8837575B2 (en) * | 2007-03-29 | 2014-09-16 | Cisco Technology, Inc. | Video processing architecture |
| US8422552B2 (en) * | 2007-03-29 | 2013-04-16 | James Au | Entropy coding for video processing applications |
| US8571104B2 (en) * | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
| US8891615B2 (en) * | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
| US9008171B2 (en) * | 2008-01-08 | 2015-04-14 | Qualcomm Incorporated | Two pass quantization for CABAC coders |
| KR101511082B1 (ko) * | 2008-05-09 | 2015-04-13 | 삼성전자주식회사 | 최하위 비트를 이용한 엔트로피 부호화 방법과 그 장치 및엔트로피 복호화 방법과 그 장치 |
| EP2154894A1 (en) * | 2008-08-15 | 2010-02-17 | Thomson Licensing | Video coding with coding of the locations of significant coefficients in a block of coefficients |
| US9183181B2 (en) | 2011-01-10 | 2015-11-10 | Cisco Technology, Inc. | Integer matrix transform video compression system, method and computer program product |
| CA2810899C (en) | 2010-10-05 | 2016-08-09 | General Instrument Corporation | Coding and decoding utilizing adaptive context model selection with zigzag scan |
| US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
| US9042440B2 (en) | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
| US8976861B2 (en) | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
| US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
| US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
| US9106913B2 (en) | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
| US10397577B2 (en) | 2011-03-08 | 2019-08-27 | Velos Media, Llc | Inverse scan order for significance map coding of transform coefficients in video coding |
| US8938001B1 (en) | 2011-04-05 | 2015-01-20 | Google Inc. | Apparatus and method for coding using combinations |
| US9167253B2 (en) | 2011-06-28 | 2015-10-20 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
| US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
| US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
| US8891616B1 (en) | 2011-07-27 | 2014-11-18 | Google Inc. | Method and apparatus for entropy encoding based on encoding cost |
| LT2773117T (lt) * | 2011-10-24 | 2018-12-27 | Infobridge Pte. Ltd. | Vaizdo dekodavimo aparatas |
| US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
| US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
| US9237344B2 (en) * | 2012-03-22 | 2016-01-12 | Qualcomm Incorporated | Deriving context for last position coding for video coding |
| US9774856B1 (en) | 2012-07-02 | 2017-09-26 | Google Inc. | Adaptive stochastic entropy coding |
| US8891888B2 (en) | 2012-09-05 | 2014-11-18 | Google Inc. | Entropy coding for recompression of images |
| US9509998B1 (en) | 2013-04-04 | 2016-11-29 | Google Inc. | Conditional predictive multi-symbol run-length coding |
| US9392288B2 (en) | 2013-10-17 | 2016-07-12 | Google Inc. | Video coding using scatter-based scan tables |
| US9179151B2 (en) | 2013-10-18 | 2015-11-03 | Google Inc. | Spatial proximity context entropy coding |
| CN113810706B (zh) | 2016-04-29 | 2025-02-28 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
| US11876990B2 (en) * | 2021-07-13 | 2024-01-16 | Mediatek Inc. | Video residual decoding apparatus using storage device to store side information and/or state information for syntax element decoding optimization and associated method |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US228510A (en) * | 1880-06-08 | Lacing-hook for boots and shoes | ||
| NO175080B (no) * | 1992-03-11 | 1994-05-16 | Teledirektoratets Forskningsav | Fremgangsmåte for koding av bildedata |
| KR100469176B1 (ko) * | 1996-11-06 | 2005-02-02 | 마쯔시다덴기산교 가부시키가이샤 | 화상 부호화 방법 |
| US7006631B1 (en) * | 2000-07-12 | 2006-02-28 | Packet Video Corporation | Method and system for embedding binary data sequences into video bitstreams |
| EP3099066B1 (en) * | 2001-11-22 | 2019-08-14 | Godo Kaisha IP Bridge 1 | Variable length coding method and variable length decoding method |
| ATE352826T1 (de) * | 2002-05-02 | 2007-02-15 | Fraunhofer Ges Forschung | Arithmetische codierung von transformationskoeffizienten |
| US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
| US6646578B1 (en) | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
| US7212681B1 (en) * | 2003-01-15 | 2007-05-01 | Cisco Technology, Inc. | Extension of two-dimensional variable length coding for image compression |
| US7194137B2 (en) * | 2003-05-16 | 2007-03-20 | Cisco Technology, Inc. | Variable length coding method and apparatus for video compression |
| US7471840B2 (en) * | 2004-08-18 | 2008-12-30 | Cisco Technology, Inc. | Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression |
| US7620258B2 (en) * | 2004-08-18 | 2009-11-17 | Cisco Technology, Inc. | Extended amplitude coding for clustered transform coefficients |
| JP4271134B2 (ja) * | 2004-12-10 | 2009-06-03 | 株式会社東芝 | 可変長符号化デコーダおよびデコード方法 |
| US8731051B1 (en) * | 2006-02-10 | 2014-05-20 | Nvidia Corporation | Forward and inverse quantization of data for video compression |
-
2004
- 2004-12-30 NO NO20045714A patent/NO322043B1/no not_active IP Right Cessation
-
2005
- 2005-12-27 ES ES05821490T patent/ES2310372T3/es not_active Expired - Lifetime
- 2005-12-27 US US11/316,931 patent/US7843998B2/en active Active
- 2005-12-27 AT AT05821490T patent/ATE400969T1/de not_active IP Right Cessation
- 2005-12-27 JP JP2007549298A patent/JP2008527789A/ja active Pending
- 2005-12-27 WO PCT/NO2005/000487 patent/WO2006071125A1/en not_active Ceased
- 2005-12-27 EP EP05821490A patent/EP1834487B1/en not_active Expired - Lifetime
- 2005-12-27 CN CN200580045490A patent/CN100581252C/zh not_active Expired - Lifetime
- 2005-12-27 DE DE602005008111T patent/DE602005008111D1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| ATE400969T1 (de) | 2008-07-15 |
| CN101095359A (zh) | 2007-12-26 |
| NO20045714D0 (no) | 2004-12-30 |
| EP1834487A1 (en) | 2007-09-19 |
| NO322043B1 (no) | 2006-08-07 |
| US7843998B2 (en) | 2010-11-30 |
| WO2006071125A1 (en) | 2006-07-06 |
| JP2008527789A (ja) | 2008-07-24 |
| DE602005008111D1 (de) | 2008-08-21 |
| US20060146938A1 (en) | 2006-07-06 |
| EP1834487B1 (en) | 2008-07-09 |
| CN100581252C (zh) | 2010-01-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2310372T3 (es) | Procedimiento de codificacion de entropia mejorada. | |
| ES2442851T3 (es) | Método y sistema para codificación aritmética binaria adaptativa basada en contexto | |
| ES2270246T3 (es) | Procedimiento y disposicion para la codificacion de coeficientes de transformacion en codificadores y decodificadores de imagen y/o de video asi como programa informatico correspondiente y medio de almacenamiento correspondiente legible por ordenador. | |
| JP4113114B2 (ja) | Golomb−riceコーディングを使用するdct圧縮 | |
| CN106797457B (zh) | 具有改进调色板表和索引图编码的先进屏幕内容编码方法 | |
| CN111083476B (zh) | 编码和解码视频数据的方法及视频数据编码器和解码器 | |
| RU2602834C2 (ru) | Способ и устройство для кодирования/декодирования видеоданных | |
| US20040136457A1 (en) | Method and system for supercompression of compressed digital video | |
| JP2004531995A5 (es) | ||
| JP2009165141A (ja) | ゴロム・ライスを使用する無損失フレーム内符号化 | |
| JP2002520899A (ja) | Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ | |
| CN105325000A (zh) | 图像编码装置、图像编码方法、图像解码装置和图像解码方法 | |
| WO2012138032A1 (ko) | 영상 정보 부호화 방법 및 복호화 방법 | |
| CA2950180C (en) | Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs | |
| WO2018057104A1 (en) | Storing and retrieving high bit depth image data | |
| ES2371871T3 (es) | Aparato y procedimiento para la codificación por múltiples descripciones. | |
| US20090016624A1 (en) | Method of graphics and image data compression | |
| CN110708547B (zh) | 针对变换模式的有效熵编码组分组方法 | |
| TWI885844B (zh) | 一種編解碼方法、裝置及其設備 | |
| KR100359813B1 (ko) | 영상 압축 부호화를 위한 변형 이중 스캔방법 | |
| US7843997B2 (en) | Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data | |
| Dikbas et al. | Lossless image compression using adjustable fractional line-buffer | |
| US7103102B2 (en) | Bit stream code lookup table for an MPEG-4 code word | |
| Guo et al. | Research on Image Compression Algorithm Based on Predictive Residual Coding | |
| CN114788276B (zh) | 图像数据编码和解码 |