ES2442173T3 - Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas - Google Patents

Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas Download PDF

Info

Publication number
ES2442173T3
ES2442173T3 ES08020113.0T ES08020113T ES2442173T3 ES 2442173 T3 ES2442173 T3 ES 2442173T3 ES 08020113 T ES08020113 T ES 08020113T ES 2442173 T3 ES2442173 T3 ES 2442173T3
Authority
ES
Spain
Prior art keywords
interval
current
probability
value
bit
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
Application number
ES08020113.0T
Other languages
English (en)
Inventor
Detlev Marpe
Thomas Wiegand
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29285283&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2442173(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2442173T3 publication Critical patent/ES2442173T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Hardware Redundancy (AREA)

Abstract

Un procedimiento para codificar aritméticamente símbolos que hay que codificar que tienen un estado binariobasado en una anchura de intervalo actual (R) de un intervalo actual y, para modelos de probabilidad adaptativosque tienen una distribución de probabilidad no uniforme, representando una probabilidad una estimación deprobabilidad para el símbolo respectivo que hay que codificar, en el que la probabilidad está representada por uníndice de probabilidad para asignar un estado de probabilidad entre una pluralidad de estados de probabilidadrepresentativos, en el que el procedimiento comprende las siguientes etapas: para símbolos que hay que codificar con un modelo de probabilidad no adaptativo que tiene una distribución deprobabilidad uniforme, codificar un símbolo (bit) que hay que codificar respectivo: doblando un punto de apoyo de intervalo (L) actual de un intervalo actual para obtener un nuevo punto de apoyo deintervalo, seleccionar una mitad superior o inferior del intervalo actual como un nuevo intervalo aumentando el nuevo punto deapoyo de intervalo por una anchura de intervalo actual (R), en función del valor del símbolo (bit) que hay quecodificar respectivo, y renormalizar la nueva anchura de intervalo y el nuevo punto de apoyo de intervalo utilizando una operación deescalado y primeros valores umbral, y dando como salida un bit en el caso de una operación de escalado, ypara símbolos que hay que codificar con un modelo de probabilidad adaptativo que tiene una distribución deprobabilidad no uniforme, codificar un símbolo actual que hay que codificar mediante: división asistida mediante tabla de la anchura de intervalo actual (R) basado en un índice de probabilidad actual paraobtener un valor de la anchura de intervalo parcial (RLPS) de un intervalo parcial del intervalo actual para un valormenos probable (LPS) del símbolo actual (bit) que hay que codificar, mediante: cartografiar la anchura de intervalo actual (R) con un índice de cuantización (q_index) de entre una pluralidad deíndices de cuantización representativos; y acceder a una tabla de división de intervalo utilizando el índice de cuantización (q_index) y el índice de probabilidadactual para obtener el valor de la anchura de intervalo parcial (RLPS); estimación asistida mediante tabla de una probabilidad de ocurrencia de un símbolo que hay que codificar siguienteutilizando dos tablas que proporcionan reglas de transición desde el índice de probabilidad actual a un nuevo índicede probabilidad, y de los cuales uno se proporciona para el caso de que el símbolo actual que hay que codificar tieneel valor menos probable (LPS) y el otro para el caso de que el símbolo actual que hay que codificar tiene el valormás probable (MPS), y seleccionar una parte del intervalo actual con el valor de la anchura de intervalo parcial (RLPS) como un nuevointervalo estableciendo una nueva anchura de intervalo al valor de la anchura de intervalo parcial (RLPS) eincrementando un punto de apoyo de intervalo (L) por una diferencia entre la anchura de intervalo actual (R) y elvalor de la anchura de intervalo parcial (RLPS), o la parte restante del intervalo actual como el nuevo intervaloestableciendo la nueva anchura de intervalo a la diferencia entre la anchura de intervalo actual (R) y el valor de laanchura de intervalo parcial (RLPS), y mantener el punto de apoyo de intervalo (L), en función del símbolo actual quehay que codificar, y renormalizar la nueva anchura de intervalo y el punto de apoyo de intervalo utilizando el doblado de la nuevaanchura de intervalo y el punto de apoyo de intervalo y utilizando una operación de escalado y segundos valoresumbrales comparados con los cuales los primeros valores umbral están doblados, y dando como salida un bit encada operación de escalado.

Description

Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas
[0001] La invención se refiere a un procedimiento y a un dispositivo para codificar aritméticamente y descodificar estados binarios y a un programa informático correspondiente y un medio de almacenamiento legible por ordenador correspondiente que puede en particular ser utilizado en la compresión de datos digitales.
[0002] La presente invención describe un nuevo procedimiento eficiente para la codificación aritmética binaria. Existe una demanda para la codificación aritmética binaria en la mayoría de áreas de aplicación diferentes de compresión de datos digitales; aquí, en particular, son especialmente interesantes las aplicaciones en los sectores de la compresión de imágenes digitales. En numerosas normas para la codificación de imágenes, como por ejemplo, JPEG, JPEG -2000, JPEG -LS y JPIG, se definieron procedimientos para una codificación aritmética binaria. Las actividades de normalización más nuevas también prevén de manera obvia el uso futuro de estas tecnologías de codificación en el campo de la codificación video (CABAC en H. 264/AVC) [1].
[0003] Las ventajas de la codificación aritmética (CA) en contraste con la codificación de Huffman [2] que hasta ahora se había utilizado en la práctica, se pueden caracterizar básicamente por tres características:
1.
Mediante el uso de la codificación aritmética, por mecanismos de adaptación simples se puede obtener una adaptación dinámica a la presente estadística de fuente (adaptabilidad).
2.
La codificación aritmética permite la asignación de un número de bits no entero por símbolo que va a codificarse y es por lo tanto adecuada para lograr resultados de codificación que ilustran una aproximación de la entropía como límite inferior dado teóricamente (aproximación de entropía) [3].
3.
Se pueden utilizar enlaces estadísticas de modelos de contexto adecuados entre símbolos para una reducción adicional de datos con la codificación aritmética (redundancia entre símbolos) [4].
[0004] Como desventaja de una aplicación de la codificación aritmética, se considera en general el aumento del esfuerzo de cálculo en comparación con la codificación de Huffman.
[0005] El concepto de la codificación aritmética se remonta a la documentación básica para la teoría de información por Shannon [5]. Los primeros procedimientos de construcción conceptuales fueron publicados primeramente por Elias [6]. Una primera variante LIFO (last-in-first-out) de la codificación aritmética fue diseñada por Rissanen [7] y más tarde modificada [8] [9] [10] por diferentes autores de las implementaciones FIFO (first-in-first-out).
[0006] Todos estos documentos tienen como principio básico común la descomposición de intervalo parcial recursiva. En correspondencia con las probabilidades dadas P(“0”) y P(“1”) de dos resultados {“0”, “1”} de un alfabeto binario un intervalo dado principalmente, por ejemplo el intervalo [0, 1), se descompone de forma recursiva en intervalos parciales dependiendo de la ocurrencia de eventos individuales. Aquí, el tamaño del intervalo parcial resultante como el producto de las probabilidades individuales de los eventos que ocurren es proporcional a la probabilidad de la secuencia de eventos individuales. Como cada evento Si añade una contribución de H(Si) = log(P(Si)) del contenido de información teórica H(Si) de Si a la tasa global por la probabilidad P(Si), una relación entre el número NBit de bits para ilustrar el intervalo parcial y la entropía de la secuencia de los resultados de los eventos individuales, que viene dada por el término derecho de la ecuación siguiente:
NEll =− log∏l P(Sl) = −I logP(Sl)
l
[0007] El principio básico, sin embargo, requiere en primer lugar de una precisión ilimitada (teóricamente) en la ilustración del intervalo parcial resultante y aparte de esto, tiene la desventaja de que sólo después de la codificación de los últimos resultados pueden darse como salida los bits para una representación de intervalo parcial resultante. A los efectos de aplicación práctica, fue decisivo por lo tanto desarrollar mecanismos para una salida gradual de bits con una representación simultánea con números con una precisión fija predeterminada. Estos mecanismos se introdujeron por primera vez en los documentos [3] [7] [11].
[0008] En la figura 1, se indican las operaciones básicas para una codificación aritmética binaria. En la implementación ilustrada el intervalo parcial actual está representado por los dos valores L y R, donde L indica el punto de desplazamiento y R el tamaño (anchura) del intervalo parcial, donde ambas cantidades se ilustran, utilizando números b bits enteros respectivamente. La codificación de un bit ∈ {0, 1} se lleva a cabo de este modo, básicamente, en cinco subetapas: En la primera etapa se determina el valor del símbolo menos probable utilizando la estimación de probabilidad. Para este símbolo, también llamado LPS (Least Probable Symbol- símbolo menos probable), en contraste con el MPS (Most Probable Symbol- símbolo más probable), se utiliza la estimación de probabilidad PLPS en la segunda etapa para calcular la anchura RLPS del intervalo parcial correspondiente.
Dependiendo del valor del bit que hay que codificar L y R se actualizan en la tercera etapa. En la cuarta etapa se actualiza la estimación de probabilidad en función del valor del bit que se acaba de codificar y finalmente el intervalo de código R se somete a la así llamada renormalización en la última etapa, es decir R se reescala por ejemplo para que se satisfaga la condición R∈[2b-2, 2b-1]. Aquí, se da como salida un bit en cada operación de escalado. Para más detalles, consulte [10].
[0009] La principal desventaja de una implementación, tal como se indica más arriba, reside ahora en el hecho de que el cálculo de la anchura de intervalo RLPS requiere una multiplicación para cada símbolo que hay que codificar. En general, las operaciones de multiplicación, en particular cuando se realizan en hardware, son costosas y requieren mucho tiempo. En varios documentos de investigación se examinaron los procedimientos para sustituir esta operación de multiplicación por una aproximación adecuada [11] [12] [13] [14]. Por la presente, los procedimientos publicados con referencia a este tema se pueden separar generalmente en tres categorías.
[0010] El primer grupo de propuestas para una codificación aritmética binaria libre de multiplicaciones, se basa en el enfoque de la aproximación de las probabilidades estimadas PLPS para que la multiplicación en la segunda etapa de La figura 1 podrá sustituirse por una o varias operaciones de suma y desplazamiento [11] [14]. Para esto, en el caso más simple las probabilidades PLPS se aproximan por valores en la forma 2-q con el entero q > 0.
[0011] En la segunda categoría de procedimientos aproximativos se propone aproximar el rango de valores de R por valores discretos en la forma (1/2 – r), donde se selecciona r ∈ {0} ∪ {2-k I k > 0, k entero} [15] [16].
[0012] La tercera categoría de procedimientos sólo se conoce por el hecho de que aquí cualquier operación aritmética se sustituye por accesos a tabla. La tercera categoría de procedimientos sólo se conoce por el hecho de que aquí cualquier operación aritmética se sustituye por accesos a tabla. A este grupo de procedimientos pertenecen, por un lado el codificador Q utilizado en los procedimientos JPEG estándar y los relacionados, tales como los codificadores QM - y MQ - [12], y por otro lado el codificador cuasi aritmético [13]. Mientras que este último procedimiento realiza una limitación drástica del número b de bits utilizados para la representación de R con el fin de obtener tablas aceptablemente dimensionadas, en el codificador Q la renormalización de R se implementa de manera que R puede al menos aproximadamente ser aproximado por 1. De esta manera se evita la multiplicación para determinar RLPS. Además, se realiza la estimación de probabilidad mediante una tabla en la forma de una máquina de estado finito. Además, se realiza la estimación de probabilidad mediante una tabla en la forma de una máquina de estado finito [12].
[0013] El documento de patente US5592162 describe un procedimiento de realización de codificación aritmética, estando el número de posibles intervalos de anchuras restringido.
[0014] Mediante el uso de un índice relativo a dichas anchuras de intervalo, la codificación aritmética libre de multiplicaciones se puede lograr con una sobrecarga reducida en términos de almacenamiento.
[0015] Esta invención se refiere a un dispositivo y a un procedimiento para la codificación aritmética, un dispositivo y a un procedimiento para la decodificación aritmética, un medio de almacenamiento, y un programa de ordenador de acuerdo con las reivindicaciones adjuntas.
[0016] Un procedimiento para codificar y descodificar estados binarios aritméticamente se realiza ventajosamente de modo que en una primera etapa un rango de valores que se puede pre-establecer para la especificación de la anchura de intervalo R se separa en K anchuras de intervalo representativas {Q1, …, QK}, un rango de valores que se puede pre-establecer para la especificación de las probabilidades se separa en N estados de probabilidad representativos {P1, …, PN} y se dan unas reglas de asignación, que asignan un QK (1 ≤ k ≤ K) a cada anchura de intervalo R y un Pn (1 ≤ n ≤ N) a cada probabilidad, y que en una segunda etapa la codificación o descodificación de los estados binarios ocurre realizando el cálculo de la nueva anchura de intervalo a obtener en el proceso de codificación o descodificación, respectivamente, utilizando una anchura de intervalo representativa QK (1 ≤ k ≤ K) y un estado de probabilidad representativo Pn (1 ≤ n ≤ N) mediante operaciones aritméticas distintas de la multiplicación y la división, en el que la anchura de intervalo representativa QK se determina mediante el intervalo de base básico de la anchura R y el estado de probabilidad representativo Pn se determina mediante la estimación de probabilidad subyacente al símbolo que hay que codificar o a descodificar según las reglas de asignación dadas.
[0017] Otra realización se caracteriza por el hecho de que basado en el intervalo que se tiene que evaluar actualmente con una anchura R para determinar la anchura de intervalo asociada QK se determina un índice q_index mediante una operación de desplazamiento y ocultamiento de bits aplicada a la representación interna/binaria en ordenador de R.
[0018] También es ventajoso que a partir del intervalo que se tiene que evaluar actualmente con una anchura R para determinar la anchura de intervalo asociada QK se determina un índice q_index mediante una operación de desplazamiento aplicada a la representación interna/binaria en ordenador de R y un acceso aguas abajo a una tabla
Qtab, en el que la tabla Qtab contiene los índices de anchuras de intervalo que corresponden a los valores de R que se precuantizaron por la operación de desplazamiento.
[0019] En particular, es ventajoso cuando la estimación de probabilidad subyacente al símbolo que hay que codificar
o descodificar está asociada a un estado de probabilidad Pn utilizando un índice p_state.
[0020] También es una ventaja cuando la determinación de la anchura de intervalo RLPS que corresponde a los LPS se realiza mediante un acceso a la tabla Rtab, en el que la tabla Rtab contiene los valores que corresponden a todos los K valores cuantizados de R y a los N diferentes estados de probabilidad de la anchura de intervalo RLPS como valores de producto (QK * Pn). El esfuerzo de cálculo se reduce en particular cuando la determinación de la anchura de intervalo RLPS que corresponde a los LPS se realiza mediante un acceso a la tabla Rtab, en el que para evaluar la tabla se utilizan el índice de cuantización q_index y el índice de la probabilidad state p_state.
[0021] También se prevé que en el procedimiento para los N diferentes estados de probabilidad representativos se den unas reglas de transición, en el que las reglas de transición indican que nuevo estado se utiliza basado en el símbolo codificado o descodificado actualmente para el siguiente símbolo que hay que codificar o descodificar. Por lo tanto es una ventaja cuando se crea una tabla Next_State_LPS que contiene el índice m del nuevo estado de probabilidad Pm cuando un símbolo menos probable (LPS) ocurre además del índice n del estado de probabilidad dado actualmente Pn, y/or cuando se crea una tabla Next_State_MPS que contiene el índice m del nuevo estado de probabilidad Pm cuando un símbolo más probable (MPS) ocurre además del índice n del estado de probabilidad dado actualmente Pn.
[0022] Se consigue una optimización del procedimiento para una codificación y decodificación aritmética binaria asistida mediante tabla, en particular, gracias a que los valores de la anchura de intervalo RLPS que corresponden a todas las K anchuras de intervalo a a todos los N diferentes estados de probabilidad se entran como valores de producto (QK * Pn) en una tabla Rtab.
[0023] Una optimización adicional se consigue cuando el número K de los valores de cuantización y / o el número N de los estados representativos se seleccionan en función de la precisión preestablecida de la codificación y / o dependiendo del espacio de almacenamiento disponible.
[0024] La codificación incluye las siguientes etapas, por ejemplo:
1.
Determinación del LPS
2.
Cuantización de R:
q_index = Qtab[R>>q]
3. Determinación de RLPS y R:
RLPS = Rtab [q_index, p_state]
R = R – RLPS
4. Cálculo del nuevo intervalo parcial:
if (bit: LPS) then
L L + R
R RLPS
p_state Next_State_LPS [p_state]
if (p_state = 0) then valMPS 1 – valMPS
else
p_state Next_State_MPS [p_state]
5. Renormalización de L y R, bits de escritura, en el que
q_index describe el índice de un valor de cuantización leído de Qtab, p_state describe el estado actual, RLPS describe la anchura de intervalo correspondiente al LPS y valMPS describe el bit que corresponde al MPS.
[0025] La descodificación incluye las siguientes etapas, por ejemplo:
1.
Determinación del LPS
2.
Cuantización de R:
q_index = Qtab[R>>q]
3. Determinación de RLPS y R:
RLPS = Rtab [q_index, p_state] R = R – RLPS
4. Determinación de bit en función de la posición del intervalo parcial:
if (V ≥ R) then bit LPS V V -R R RLPS
if (p_state = 0) valMPS 1 -valMPS p_state Next_State_LPS [p_state]
else bit MPS p_state Next_State_MPS [p_state]
5. Renormalización de R, leer un bit y actualizar V, en el que
q_index describe el índice de un valor de cuantización leído de Qtab, p_state describe el estado actual, RLPS describe la anchura de intervalo correspondiente al LPS, valMPS describe el bit que corresponde al MPS, y V describe un valor del interior del intervalo parcial actual.
[0026] En otro procedimiento se proporciona que al codificar y/o descodificar el cálculo del índice de cuantización q_index se realiza en la segunda sub-etapa según la regla de cálculo:
q_index = (R >> q) & Qmask
en el que Qmask ilustra una máscara de bit seleccionada adecuadamente en función de K.
[0027] Si una distribución de probabilidad uniforme está presente se puede lograr una optimización adicional del procedimiento para una codificación descodificación aritmética asistida por tabla mediante la codificación según la reivindicación 12. Las sub-etapas 1 a 4 se realizan según la siguiente regla de cálculo:
R R >> 1 if (bit = 1) then L L + R
o donde las sub-etapas 1 a 4 de la codificación según la reivindicación 12 se realizan según la siguiente regla de cálculo:
L L << 1 if (bit = 1) then L L + R
y en el que en la última alternativa la renormalización (subetapa 5 según la reivindicación 12) se realiza con valores umbral de decisión doblados y no doblados de L y R, y donde en la descodificación según la reivindicación 13 las sub-etapas 1 a 4 se realizan según la siguiente regla de cálculo:
R R >>1
if (V ≥ R) then bit 1 V V – R
else bit 0,
o las sub-etapas 1 a 5 de la descodificación según la reivindicación 13 se realizan según la siguiente regla de cálculo:
1.
Leer un bit y actualizar V
2.
Determinación de bit según la posición del intervalo parcial:
5 if (V ≥ R) then bit 1 V V – R
else bit 0.
[0028] También resulta ventajoso cuando la inicialización de los modelos de probabilidad se realiza en función de un parámetro de cuantización SliceQP y parámetros de modelo presetablecidos m y n, en el que SliceQP describe los parámetros de cuantización presetablecido al principio de una porción y m y n describen los parámetros de modelo.
15 [0029] También es ventajoso cuando la inicialización de los modelos de probabilidad incluye las siguientes etapas:
1.
preState = min(max(1, ((m * SliceQP) >>4)+n), 2*N)
2.
if (preState <=N) then
p_state = N+1 – preState20 valMPS = 0
else p_state = preState – N valMPS = 1,
25 en el que valMPS describe el bit que corresponde al MPS, SliceQP describe los parámetros de cuantización preestablecidos al principio de una porción y m y n describen los parámetros de modelo.
[0030] Un dispositivo para codificar y descodificar aritméticamente estados binarios incluye al menos un procesador que está implementado de manera que se pueda llevar a cabo un procedimiento para codificar y descodificar 30 aritméticamente, en el que en una primera etapa un rango de valores que se puede pre-establecer para la especificación de la anchura de intervalo R se separa en K anchuras de intervalo representativas {Q1, …, QK}, un rango de valores que se puede pre-establecer para la especificación de las probabilidades se separa en N estados de probabilidad representativos {P1, …, PN} y se dan reglas de asignación, que asignan un QK (1 ≤ k ≤ K) a cada anchura de intervalo R y un Pn (1 ≤ n ≤ N) a cada probabilidad, y en el que en una segunda etapa la codificación o 35 descodificación de los estados binarios ocurre realizando el cálculo de la nueva anchura de intervalo a obtener en el proceso de codificación o descodificación, respectivamente, utilizando una anchura de intervalo representativa QK (1 ≤ k ≤ K) y un estado de probabilidad representativo Pn (1 ≤ n ≤ N) mediante operaciones aritméticas distintas de la multiplicación y la división, en el que la anchura de intervalo representativa QK se determina mediante el intervalo de base básico de la anchura R y el estado de probabilidad representativo Pn se determina mediante la estimación de
40 probabilidad subyacente al símbolo que hay que codificar o a descodificar según las reglas de asignación dadas..
[0031] Un programa de ordenador para codificar y descodificar aritméticamente de estados binarios permite a un ordenador, tras haber sido cargado en la memoria del ordenador, realizar un procedimiento para codificar y descodificar aritméticamente, en el que en una primera etapa un rango de valores que se puede pre-establecer para 45 la especificación de la anchura de intervalo R se separa en K anchuras de intervalo representativas {Q1, …, QK}, un rango de valores que se puede pre-establecer para la especificación de las probabilidades se separa en N estados de probabilidad representativos {P1, …, PN} y se dan reglas de asignación, que asignan un QK (1 ≤ k ≤ K) a cada anchura de intervalo R y un Pn (1 ≤ n ≤ N) a cada probabilidad, y en el que en una segunda etapa la codificación o descodificación de los estados binarios ocurre realizando el cálculo de la nueva anchura de intervalo a obtener en el 50 proceso de codificación o descodificación, respectivamente, utilizando una anchura de intervalo representativa QK (1 ≤ k ≤ K) y un estado de probabilidad representativo Pn (1 ≤ n ≤ N) mediante operaciones aritméticas distintas de la multiplicación y la división, en el que la anchura de intervalo representativa QK se determina mediante el intervalo de base básico de la anchura R y el estado de probabilidad representativo Pn se determina mediante la estimación de probabilidad subyacente para el símbolo que hay que codificar o a descodificar según las reglas de asignación
55 dadas.
[0032] Por ejemplo, este tipo de programas informáticos se pueden proporcionar (a cambio de una tarifa determinada o de manera gratuita, de acceso libre o protegida por contraseña) que se puede descargar en una red de datos o de comunicación. Los programas de ordenador facilitados pueden entonces hacerse utilizables por un
60 procedimiento en el que un programa de ordenador según la reivindicación 22 se descarga desde una red para la transmisión de datos, como por ejemplo, de Internet a unos medios de procesamiento de datos conectados a la red.
[0033] Para realizar un procedimiento para codificar y descodificar aritméticamente estados binarios se utiliza preferentemente un medio de almacenamiento legible por ordenador en el que hay un programa almacenado que65 permite a un ordenador, tras haber sido cargado en la memoria del ordenador, realizar un procedimiento para una
codificación y descodificación aritmética, en el que en una primera etapa un rango de valores que se puede preestablecer para la especificación de la anchura de intervalo R se separa en K anchuras de intervalo representativas {Q1, …, QK}, un rango de valores que se puede pre-establecer para la especificación de las probabilidades se separa en N estados de probabilidad representativos {P1, …, PN} y se dan reglas de asignación, que asignan un QK (1 ≤ k ≤ K) a cada anchura de intervalo R y un Pn (1 ≤ n ≤ N) a cada probabilidad, y en el que en una segunda etapa la codificación o descodificación de los estados binarios ocurre realizando el cálculo de la nueva anchura de intervalo a obtener en el proceso de codificación o descodificación, respectivamente, utilizando una anchura de intervalo representativa QK (1 ≤ k ≤ K) y un estado de probabilidad representativo Pn (1 ≤ n ≤ N) mediante operaciones aritméticas distintas de la multiplicación y la división, en el que la anchura de intervalo representativa QK se determina mediante el intervalo de base básico de la anchura R y el estado de probabilidad representativo Pn se determina mediante la estimación de probabilidad subyacente como base para el símbolo que hay que codificar o a descodificar según las reglas de asignación dadas.
[0034] En lo que sigue, la invención se explica con más detalle con referencia a una realización ilustrada en los dibujos, en los que:
[0035]
La figura 1 muestra una ilustración de las operaciones básicas para una codificación aritmética binaria; La figura 2 muestra un esquema modificado de codificación aritmética asistida por tabla; La figura 3 muestra el principio de la decodificación aritmética asistida por tabla; La figura 4 muestra el principio de codificación o de decodificación, respectivamente, de datos binarios que tienen una distribución uniforme; La figura 5 muestra una alternativa de realización de la codificación o decodificación, respectivamente, para los datos binarios con una distribución uniforme; y La figura 6 muestra la inicialización de los modelos de probabilidad en función de un parámetro de cuantización SliceQP y parámetros de modelo preestablecidos m y n.
[0036] En primer lugar, sin embargo, se explica con más detalle el fondo teórico:
Estimación de probabilidad asistida por tabla
[0037] Como ya se mencionó anteriormente, el efecto de la codificación aritmética se basa en una estimación de la probabilidad de ocurrencia de los símbolos a ser codificados que debe a ser tan buena como sea posible. A fin de permitir una adaptación de estadísticas de fuentes no estacionarias, esta estimación tiene que ser actualizada en el curso del proceso de codificación. Generalmente, se utilizan para ello procedimientos habituales que operan usando contadores de frecuencia escalados de los resultados codificados [17]. Si CLPS y CMPS designan contadores para las frecuencias de ocurrencia de LPS y MPS, entonces utilizando estos contadores se puede realiza la estimación
CLPS
PLPS = (1) CLPS + CMPS
y entonces se puede llevar a cabo la operación destacada en la figura 1 de la subdivisión de intervalo. A efectos prácticos, la división necesaria en la ecuación (1) es desventajosa. A menudo es conveniente y necesario, sin embargo, llevar a cabo un cambio de escala de las lecturas de contador cuando se excede un valor umbral predeterminado Cmax del contador general CTotal = CMPS + CLPS. (En este contexto, es de señalar que con una representación de b-bits de L y R la probabilidad más pequeña que puede ser indicada correctamente es 2-b+2, de modo que para evitar salirse de este límite inferior, si es necesario se requiere un cambio de escala de las lecturas de contador.) Con una selección adecuada de Cmax se pueden tabular los valores recíprocos de CTotal, de modo que la división necesaria en la ecuación (1) puede ser sustituida por un acceso a la tabla y por una operación de multiplicación y desplazamiento. Con el fin de evitar también estas operaciones aritméticas, sin embargo, en la presente invención se utiliza un procedimiento completamente asistido por tabla para la estimación de probabilidad.
[0038] Para esto, en una fase de entrenamiento se preseleccionan los estados de probabilidad representativos {PK I 0 ≤ k < Nmax}, en la que la selección de los estados es por un lado dependiente de las estadísticas de los datos que hay que codificar y por otro lado de las condiciones laterales del número máximo predeterminado Nmax de estados. Además, se definen unas reglas de transición que indican que nuevo estado se va a utilizar para el siguiente símbolo que ha de codificarse basado en el símbolo actualmente codificado. Estas reglas de transición se proporcionan en forma de dos tablas: {Next_State_LPSk I 0 ≤ k < Nmax} y {Next_State_MPSk I 0 ≤ k < Nmax}, en el que las tablas proporcionan el índice m del nuevo estado de probabilidad Pm cuando ocurre un LPS o MPS, respectivamente, para el índice n del estado de probabilidad dado actualmente. Es de señalar aquí, que para una estimación de probabilidad en el codificador o decodificador aritmético, respectivamente, como se propone en el presente documento, no se requiere la tabulación explícita de los estados de probabilidad. Más bien, los estados se asignan solamente implícitamente utilizando sus respectivos índices, como se describe en la siguiente sección. Además de
las reglas de transición se debe especificar en qué estados de probabilidad se debe intercambiar el valor de los LPS y MPS. Por lo general, sólo habrá uno de estos estados excelentes que se podrá identificar utilizando su índice p_state.
Separación de intervalo asistido por tabla
[0039] La figura 2 muestra el esquema modificado para la codificación aritmética asistida con tabla, como se propone en el presente documento. Después de la determinación de los LPS, primero de todo se asigna la anchura de intervalo R dada a u valor cuantizado Q utilizando un cartografiado tabulado Qtab y una operación de desplazamiento adecuada (por q bit). Como alternativa, en algunos casos especiales la cuantización también se puede realizar sin la utilización del cartografiado tabulado Qtab sólo con la ayuda de una combinación de operaciones de desplazamiento y de enmascaramiento. En general, aquí se realiza una cuantificación relativamente basta a K = 2 … 8 valores representativos. También aquí, de manera similar al caso de la estimación de probabilidad, no se realiza una determinación explicita de Q; más bien, solamente se transfiere un índice q_index a
Q. Este índice se utiliza ahora junto con el índice p_state para una caracterización del estado de probabilidad actual para la determinación de la anchura de intervalo RLPS. Para ello, se utiliza ahora la entrada correspondiente de la tabla Rtab. Aquí, se introducen los K ⋅ Nmax valores de producto R x PLPS, que corresponden a todos los K valores cuantizados de R y los Nmax diferentes de los estados de probabilidad, como valores enteros con una precisión en general de b-2 bits. Para implementaciones prácticas se da aquí una posibilidad de sopesar entre los requisitos de almacenamiento del tamaño de la tabla y la precisión aritmética que finalmente también determina la eficiencia de la codificación. Ambas variables objetivo están determinadas por la granularidad de la representación de R y PLPS.
[0040] En la cuarta etapa de la figura 2 se muestra cómo se realiza la actualización del estado de probabilidad p_state en función del bit de evento anteriormente codificado. Aquí, se utilizan las tablas de transición Next_State_LPS y Next_State_MPS que ya se mencionaron anteriormente en la sección “Estimación de probabilidad asistida por tabla”. Estas operaciones corresponden al proceso de actualización que se indica en la figura 1 en la etapa 4 que no se explica con más detalle.
[0041] La figura 3 muestra el diagrama de flujo correspondiente de la decodificación aritmética asistida mediante tabla. Para caracterizar el intervalo parcial actual en el decodificador se utilizan la anchura de intervalo R y un valor
V. Este último está presente dentro del intervalo parcial y se refina sucesivamente con cada bit leído. Como se puede ver en la figura 3, las operaciones para la estimación de probabilidad y la determinación de la anchura de intervalo R se realizan según las del codificador.
[0042] Codificación con distribución de probabilidad uniforme. En aplicaciones en las que, por ejemplo, unos valores con signo que hay que codificar cuya distribución de probabilidad está dispuesta simétricamente en torno a cero, para la codificación de la información de signo puede suponerse en general una distribución equitativa. Como esta información por un lado debe incrustarse en la corriente de bits aritmética, aunque por otro lado no es sensato utilizar un aparato relativamente compacto de la estimación de probabilidad y separación de intervalo asistida por tabla para el caso de una probabilidad de p ≈ 0.5, se propone en este caso especial usar opcionalmente un procedimiento especial de codificador / decodificador que puede ser ilustrado tal como sigue.
[0043] En este caso especial la anchura de intervalo del nuevo intervalo parcial puede determinarse en el codificador mediante una simple operación de desplazamiento que corresponde a una bisección de la anchura del intervalo original R. En función del valor del bit que hay que codificar, la mitad superior o la mitad inferior de R, respectivamente, se selecciona entonces como un nuevo intervalo parcial (ver la figura 4). La renormalización y salida posteriores de bits se llevan a cabo como en el caso anterior de la solución asistida por tabla.
[0044] En el decodificador correspondiente las operaciones necesarias se reducen a determinar el bit a descodificar utilizando el valor de V en relación con la anchura de intervalo actual R mediante una simple operación de comparación. En el caso de que se establezca el bit descodificado, V debe reducirse en una cantidad de R. Como se ilustra en la figura 4, la decodificación se termina por la renormalización y la actualización de V mediante el siguiente bit que se leerá.
[0045] Una realización alternativa de la codificación de eventos con una distribución de probabilidad uniforme se ilustra en la figura 5. En esta implementación a modo de ejemplo no se modifica la anchura de intervalo actual R. En lugar de ello, primero se dobla V mediante una operación de desplazamiento en el codificador. En función del valor del bit que hay que codificar, entonces, de forma similar al ejemplo anterior, la mitad superior o inferior, respectivamente, de R se selecciona como un nuevo intervalo parcial (ver la figura 5). La renormalización y salida posterior de bits se realizan como en el caso anterior de la solución asistida mediante tabla con la diferencia de que la duplicación de R y L no se lleva a cabo y que las operaciones de comparación correspondientes se realizan con valores de umbral duplicados.
[0046] En el decodificador correspondiente de la alternativa de realización primero de todo se lee un bit y se actualiza V. La segunda etapa se realiza de la misma manera que la etapa 1 en la figura 4, es decir el bit a descodificar se determina utilizando el valor de V en relación con la anchura de intervalo actual R mediante una simple operación de comparación, y en el caso en el que se establece el bit decodificado, V debe reducirse en la cantidad de R (ver la figura 5).
5 Acceder a e inicializar los modelos de probabilidad
[0047] Cada modelo de probabilidad, tal como se utiliza en la invención propuesta, se indica utilizando dos parámetros: 1) El índice p_state que caracteriza el estado de probabilidad de los LPS, y 2) el valor valMPS de los MPS. Cada una de estas dos variables necesita ser inicializada al comienzo de la codificación o decodificación,
10 respectivamente, de una unidad de codificación completada (en aplicaciones de codificación de vídeo sobre una porción). Los valores de inicialización pueden por tanto derivarse de la información de control, como por ejemplo, el parámetro de cuantificación (de una porción), como se ilustra como un ejemplo en la figura 6.
Proceso de inicialización controlado hacia delante
15 [0048] Una posibilidad adicional de adaptación de las distribuciones de partida de los modelos se proporciona por el siguiente procedimiento. Con el fin de garantizar una mejor adaptación de las inicializaciones de los modelos, en el codificador se puede proporcionar una selección de valores iniciales predeterminados de los modelos. Estos modelos se pueden combinar en grupos de distribuciones de partida y se puede acceder a estos usando índices, de
20 modo que en el codificador se lleva a cabo la selección adaptativa de un grupo de valores de partida y se transmite al decodificador en la forma de un índice como información de página. Este procedimiento se conoce como un proceso de inicialización controlado hacia delante.
[0049] Por último, se señala una vez más que hay la posibilidad de que el número de posibles índices de
25 cuantificación y / o el número de estados de probabilidad pueda ser seleccionado como una función de la precisión predefinida de la codificación y / o como una función del espacio de almacenamiento disponible. La estimación de probabilidad de los estados puede llevarse a cabo mediante una máquina de estados finitos (FSM). Además, es posible que los estados de probabilidad se generen fuera de línea. Por último, se puede prever que la selección de los estados dependa de la estadística de los datos que hay que codificar y/o del número de estados.
Referencias [0050]
5 [1] T. Wiegand, G. Sullivan, “Draft Text of Final Draft International Standard (FDIS) of Joint Video Specification (ITU-T Rec. H. 264 1ISO/IEC 14496-10 AVC)”, JVT-G050, March 2003.
[2] D. A. Huffman, “A method for Construction of Minimum Redundancy code”, Proc. IRE, Vol. 40, pp. 10981101, 1952.
[3] I. H. Witten, R. M. Neal, J. G. Cleary, “Arithmetic Coding for Data Compression”, Communication of the ACM, Vol. 30, No. 6, pp. 520-540, 1987.
[4] G. G. Langdon, J. Rissanen, “A Simple General Binary Source code”, IEEE Transactions on Information 15 Theory, Vol. 28, pp. 800-803, 1982.
[5] C. E. Shannon, “A Mathematical Theory of Communication”, Bell Syst. Tech. Journal, vol. 27, pp. 379-423, 623-656, 1948.
20 [6] P. Elias, in “Information Theory y Coding”, N. Abramson (Ed.), New York, Mc-Gra-Hill, 1963.
[7] J. Rissanen, “Generalized Kraft Inequality y Arithmetic Coding”, IBM J. Res. Develop., Vol. 20, pp. 198-203, 1976.
25 [8] R. C. Pasco, “Source Coding y Algorithms for Fast Data Compression”, Ph. D. Dissertation, Stanford University, USA, 1976.
[9] G. G. Langdon, “An Introduction to Arithmetic Coding”, IBM J. Res. Develop., Vol. 28, pp. 135-149, 1984.
30 [10] A. Moffat, R. M. Neal, I. H. Witten, “Arithmetic Coding Revisited”, Proc. IEEE Data Compression Conference, Snowbird (USA), pp. 202-211, 1996.
[11] J. Rissanen, K. M. Mohiuddin, “A Multiplication-Free Multialphabet Arithmetic Arithmetic Code”, IEEE Trans. on Communication, Vol. 37, pp. 93-98, 1989.
[12] W. B. Pennebaker, J. L. Mitchell, G. G. Langdon, R. B. Arps, “An Overview of the Basic Principles of the Q-Coder Adaptive Binary Arithmetic Coder”, IBM J. Res. Develop., Vol. 32, pp. 717-726, 1988.
[13] P. G. Howard, J. S. Vitter, “Practical Implementations of Arithmetic Coding”, in “Image y Text Compression”, 40 J. Storer (Ed.), Norwell (USA), Kluwer, 1992.
[14] L. Huynh, A. Moffat, “A Probability-Ratio Approach to Approximate Binary Arithmetic Coding”, IEEE Trans. on Information Theory, Vol. 43, pp. 1658-1662, 1997.
45 [15] D. Chevion, E. D. Karnin, E. Walach, “High-Efficiency, Multiplication Free Approximation of Arithmetic Coding”, Proc. IEEE Data Compression Conference, Snowbird (USA), pp. 43-52, 1991.
[16] G. Feygin, P. G. Gulak, P. Chow, “Minimizing Excess Code Length y VLSI Complexity in the Multiplication Free Approximation of Arithmetic Coding”, Inform. Proc. Manag., vol. 30, pp. 805-816, 1994.
[17] D. L. Duttweiler, Ch. Chamzas, “Porbability estimation in Arithmetic y Adaptive-Huffman Entropy Coders”, IEEE Trans. on Image Processing, Vol. 4, pp. 237-246, 1995.

Claims (26)

  1. REIVINDICACIONES
    1. Un procedimiento para codificar aritméticamente símbolos que hay que codificar que tienen un estado binario basado en una anchura de intervalo actual (R) de un intervalo actual y, para modelos de probabilidad adaptativos que tienen una distribución de probabilidad no uniforme, representando una probabilidad una estimación de probabilidad para el símbolo respectivo que hay que codificar, en el que la probabilidad está representada por un índice de probabilidad para asignar un estado de probabilidad entre una pluralidad de estados de probabilidad representativos, en el que el procedimiento comprende las siguientes etapas:
    para símbolos que hay que codificar con un modelo de probabilidad no adaptativo que tiene una distribución de probabilidad uniforme, codificar un símbolo (bit) que hay que codificar respectivo:
    doblando un punto de apoyo de intervalo (L) actual de un intervalo actual para obtener un nuevo punto de apoyo de intervalo,
    seleccionar una mitad superior o inferior del intervalo actual como un nuevo intervalo aumentando el nuevo punto de apoyo de intervalo por una anchura de intervalo actual (R), en función del valor del símbolo (bit) que hay que codificar respectivo, y
    renormalizar la nueva anchura de intervalo y el nuevo punto de apoyo de intervalo utilizando una operación de escalado y primeros valores umbral, y dando como salida un bit en el caso de una operación de escalado, y
    para símbolos que hay que codificar con un modelo de probabilidad adaptativo que tiene una distribución de probabilidad no uniforme, codificar un símbolo actual que hay que codificar mediante:
    división asistida mediante tabla de la anchura de intervalo actual (R) basado en un índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial (RLPS) de un intervalo parcial del intervalo actual para un valor menos probable (LPS) del símbolo actual (bit) que hay que codificar, mediante:
    cartografiar la anchura de intervalo actual (R) con un índice de cuantización (q_index) de entre una pluralidad de índices de cuantización representativos; y
    acceder a una tabla de división de intervalo utilizando el índice de cuantización (q_index) y el índice de probabilidad actual para obtener el valor de la anchura de intervalo parcial (RLPS);
    estimación asistida mediante tabla de una probabilidad de ocurrencia de un símbolo que hay que codificar siguiente utilizando dos tablas que proporcionan reglas de transición desde el índice de probabilidad actual a un nuevo índice de probabilidad, y de los cuales uno se proporciona para el caso de que el símbolo actual que hay que codificar tiene el valor menos probable (LPS) y el otro para el caso de que el símbolo actual que hay que codificar tiene el valor más probable (MPS), y
    seleccionar una parte del intervalo actual con el valor de la anchura de intervalo parcial (RLPS) como un nuevo intervalo estableciendo una nueva anchura de intervalo al valor de la anchura de intervalo parcial (RLPS) e incrementando un punto de apoyo de intervalo (L) por una diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), o la parte restante del intervalo actual como el nuevo intervalo estableciendo la nueva anchura de intervalo a la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), y mantener el punto de apoyo de intervalo (L), en función del símbolo actual que hay que codificar, y
    renormalizar la nueva anchura de intervalo y el punto de apoyo de intervalo utilizando el doblado de la nueva anchura de intervalo y el punto de apoyo de intervalo y utilizando una operación de escalado y segundos valores umbrales comparados con los cuales los primeros valores umbral están doblados, y dando como salida un bit en cada operación de escalado.
  2. 2.
    El procedimiento según la reivindicación 1, que comprende además ajustar un valor indicativo del estado más probable de un estado indicado inicial al estado binario del símbolo actual que hay que codificar, cuando el nuevo índice de probabilidad es igual a un índice de probabilidad predeterminado y el símbolo que hay que codificar tiene un estado binario diferente del estado indicado inicial.
  3. 3.
    Un procedimiento para descodificar aritméticamente símbolos codificados que tienen un estado binario basado en una anchura de intervalo actual (R) y, para modelos de probabilidad adaptativos que tienen una distribución de probabilidad no uniforme, representando una probabilidad una estimación de probabilidad para el símbolo codificado, en el que la probabilidad está representada por un índice de probabilidad de un estado de probabilidad entre una pluralidad de estados de probabilidad representativos, en el que el procedimiento comprende la siguiente etapa:
    para símbolos codificados de un modelo de probabilidad no adaptativo que tiene una distribución de probabilidad uniforme, descodificar un símbolo codificado (bit) respectivo mediante:
    leer un bit y actualizar un valor (V) dentro de un intervalo parcial de un intervalo actual refinando el bit leído,
    determinar un valor del símbolo codificado (bit) respectivo mediante una operación de comparación entre el valor actualizado (V) y una anchura de intervalo actual (R) del intervalo actual, y
    reducir el valor actualizado (V) por la anchura de intervalo actual, en función del valor determinado, y
    para símbolos codificados de un modelo de probabilidad adaptativo que tienen una distribución de probabilidad no uniforme, descodificar el símbolo actual codificado (bit) mediante:
    división asistida mediante tabla de una anchura de intervalo actual (R) basado en un índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial (RLPS) de un intervalo parcial del intervalo actual para un valor menos probable (LPS) del símbolo actual codificado (bit) mediante:
    cartografiar la anchura de intervalo actual (R) con un índice de cuantización (q_index) de entre una pluralidad de índices de cuantización representativos; y
    acceder a una tabla de división de intervalo utilizando el índice de cuantización (q_index) y el índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial;
    estimación asistida mediante tabla de una probabilidad de ocurrencia de un símbolo codificado siguiente utilizando dos tablas que proporcionan reglas de transición desde el índice de probabilidad actual a un nuevo índice de probabilidad, y de los cuales uno se proporciona para el caso de que el símbolo actual codificado (bit) tiene el valor menos probable (LPS) y el otro para el caso de que el símbolo actual codificado tiene el valor más probable (MPS), y
    determinar un valor del símbolo actual codificado (bit) mediante una operación de comparación entre un valor (V) dentro de un intervalo parcial del intervalo actual por un lado y una diferencia entre la anchura de intervalo actual (R) del intervalo actual y el valor de la anchura de intervalo parcial (RLPS) por otro lado, y
    establecer una nueva anchura de intervalo al valor de la anchura de intervalo parcial (RLPS) y reducir el valor (V) dentro de un intervalo parcial del intervalo actual por la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), o establecer la nueva anchura de intervalo a la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS) y mantener el valor (V) dentro de un intervalo parcial del intervalo actual, en función de la operación de comparación, y
    renormalizar la nueva anchura de intervalo (R), leer un bit, y actualizar el valor (V) dentro de un intervalo parcial del intervalo actual refinando utilizando el bit leído.
  4. 4.
    El procedimiento según la reivindicación 3, que comprende además ajustar un valor indicativo del estado más probable del símbolo actual codificado de un estado indicado inicial a un diferente estado binario, cuando el nuevo índice de probabilidad es igual a un índice de probabilidad predeterminado y el valor dentro del nuevo intervalo parcial es mayor que o igual a una diferencia de la anchura de intervalo actual y valor de la anchura de intervalo parcial.
  5. 5.
    El procedimiento según cualquiera de las reivindicaciones anteriores, en el que la anchura de intervalo actual está representado con una precisión de b bits, y el valor de la anchura de intervalo parcial obtenido de la tabla de división de intervalo está representado con una precisión de b-2 bits.
  6. 6.
    El procedimiento según cualquiera de las reivindicaciones anteriores, en el que actualizar la estimación de probabilidad comprende consultar, con el índice de probabilidad actual, en una de las dos tablas (Next_State_LPS, Next_State_MPS) para obtener un nuevo índice de probabilidad, en el que la selección de la tabla depende de si el símbolo actual codificado tiene el valor menos probable (LPS) o el valor más probable (MPS).
  7. 7.
    Un dispositivo para codificar aritméticamente un símbolo que hay que codificar que tiene un estado binario basado en una anchura de intervalo actual R y, para modelos de probabilidad adaptativos que tienen una distribución de probabilidad no uniforme, representando una probabilidad una estimación de probabilidad para el símbolo que hay que codificar, en el que la probabilidad está representada por un índice de probabilidad para asignar un estado de probabilidad entre una pluralidad de estados de probabilidad representativos, en el que el dispositivo comprende:
    medios para, para símbolos que hay que codificar con un modelo de probabilidad no adaptativo que tiene una distribución de probabilidad uniforme, codificar un símbolo (bit) que hay que codificar respectivo:
    doblando un punto de apoyo de intervalo (L) actual de un intervalo actual para obtener un nuevo punto de apoyo de 5 intervalo,
    seleccionando una mitad superior o inferior del intervalo actual como un nuevo intervalo aumentando el nuevo punto de apoyo de intervalo por una anchura de intervalo actual (R), en función del valor del símbolo (bit) que hay que codificar respectivo, y
    10 renormalizando la nueva anchura de intervalo y el nuevo punto de apoyo de intervalo utilizando una operación de escalado y primeros valores umbral, y dando como salida un bit en el caso de una operación de escalado, y
    medios para, para símbolos que hay que codificar con un modelo de probabilidad adaptativo que tienen una 15 distribución de probabilidad no uniforme, codificar un símbolo actual que hay que codificar mediante:
    la división asistida mediante tabla de la anchura de intervalo actual (R) basado en un índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial (RLPS) de un intervalo parcial del intervalo actual para un valor menos probable (LPS) del símbolo actual (bit) que hay que codificar, mediante:
    20 el cartografiado la anchura de intervalo actual (R) con un índice de cuantización (q_index) de entre una pluralidad de índices de cuantización representativos; y
    el acceso a una tabla de división de intervalo utilizando el índice de cuantización (q_index) y el índice de 25 probabilidad actual para obtener el valor de la anchura de intervalo parcial (RLPS);
    la estimación asistida mediante tabla de una probabilidad de ocurrencia de un símbolo que hay que codificar siguiente utilizando dos tablas que proporcionan reglas de transición desde el índice de probabilidad actual a un nuevo índice de probabilidad, y de los cuales uno se proporciona para el caso de que el símbolo actual que hay que
    30 codificar tiene el valor menos probable (LPS) y el otro para el caso de que el símbolo actual que hay que codificar tiene el valor más probable (MPS), y
    seleccionar una parte del intervalo actual con el valor de la anchura de intervalo parcial (RLPS) como un nuevo intervalo estableciendo una nueva anchura de intervalo al valor de la anchura de intervalo parcial (RLPS) e
    35 incrementando un punto de apoyo de intervalo (L) por una diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), o la parte restante del intervalo actual como el nuevo intervalo estableciendo la nueva anchura de intervalo a la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), y mantener el punto de apoyo de intervalo (L), en función del símbolo actual que hay que codificar, y
    40 renormalizar la nueva anchura de intervalo y el punto de apoyo de intervalo utilizando el doblado de la nueva anchura de intervalo y el punto de apoyo de intervalo y utilizando una operación de escalado y segundos valores umbrales comparados con los cuales los primeros valores umbral están doblados, y dando como salida un bit en cada operación de escalado.
  8. 8. Un dispositivo para descodificar aritméticamente un símbolo codificado que tiene un estado binario basado en una anchura de intervalo actual R y, para modelos de probabilidad adaptativos que tienen una distribución de probabilidad no uniforme, representando una probabilidad una estimación de probabilidad para el símbolo codificado, en el que la probabilidad está representada por un índice de probabilidad para asignar un estado de
    50 probabilidad entre una pluralidad de estados de probabilidad representativos, en el que el dispositivo comprende:
    medios para, para símbolos codificados de un modelo de probabilidad no adaptativo que tiene una distribución de probabilidad uniforme, descodificar un símbolo codificado (bit) respectivo mediante:
    55 leer un bit y actualizar un valor (V) dentro de un intervalo parcial de un intervalo actual refinando el bit leído,
    determinar un valor del símbolo codificado (bit) respectivo mediante una operación de comparación entre el valor actualizado (V) y una anchura de intervalo actual (R) del intervalo actual, y
    60 reducir el valor actualizado (V)en la anchura de intervalo actual, en función del valor determinado, y
    medios para, para símbolos codificados de un modelo de probabilidad adaptativo que tienen una distribución de probabilidad no uniforme, descodificar el símbolo actual codificado (bit) mediante: división asistida mediante tabla de una anchura de intervalo actual (R) basado en un índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial (RLPS) de un intervalo parcial del intervalo actual para un valor menos probable (LPS) del símbolo actual codificado (bit) mediante:
    5 el cartografiado de la anchura de intervalo actual (R) con un índice de cuantización (q_index) de entre una pluralidad de índices de cuantización representativos; y
    el acceso a una tabla de división de intervalo utilizando el índice de cuantización (q_index) y el índice de probabilidad actual para obtener un valor de la anchura de intervalo parcial;
    10 la estimación asistida mediante tabla de una probabilidad de ocurrencia de un símbolo codificado siguiente utilizando dos tablas que proporcionan reglas de transición desde el índice de probabilidad actual a un nuevo índice de probabilidad, y de los cuales uno se proporciona para el caso de que el símbolo actual codificado (bit) tiene el valor menos probable (LPS) y el otro para el caso de que el símbolo actual codificado tiene el valor más probable (MPS), y
    15 la determinación de un valor del símbolo actual codificado (bit) mediante una operación de comparación entre un valor (V) dentro de un intervalo parcial del intervalo actual por un lado y una diferencia entre la anchura de intervalo actual (R) del intervalo actual y el valor de la anchura de intervalo parcial (RLPS) por otro lado, y
    20 el establecimiento de una nueva anchura de intervalo al valor de la anchura de intervalo parcial (RLPS) y reducir el valor (V) dentro de un intervalo parcial del intervalo actual por la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS), o establecer la nueva anchura de intervalo a la diferencia entre la anchura de intervalo actual (R) y el valor de la anchura de intervalo parcial (RLPS) y mantener el valor (V) dentro de un intervalo parcial del intervalo actual, en función de la operación de comparación, y
    25 renormalizar la nueva anchura de intervalo (R), leer un bit, y actualizar el valor (V) dentro de un intervalo parcial del intervalo actual refinando utilizando el bit leído.
  9. 9. Un programa de ordenador que permite a un ordenador tras haber sido cargado en la memoria del ordenador 30 realizar un procedimiento según cualquiera de las reivindicaciones 1 a 6.
  10. 10. Un medio de almacenamiento legible por ordenador en el que hay un programa almacenado que permite a un ordenador tras haber sido cargado en la memoria del ordenador realizar un procedimiento según cualquiera de las reivindicaciones 1 a 6.
    1.
    Determinación del LPS
  11. 2.
    Cálculo de las variables RLPS y RMPS:
    RLPS = R X RLPS
    RMPS = R – RLPS
  12. 3. Cálculo del nuevo intervalo parcial:
    if (bit: LPS) then L L + RMPS R RLPS
    else R RMPS
  13. 4.
    Actualización de la estimación de probabilidad PLPS
  14. 5.
    Dar como salida los bits y renormalizar R
    Fig. 1
    1.
    Determinación del LPS
  15. 2.
    Cuantización de R:
    q_index = Qtab[R>>q]
  16. 3. Determinación de RLPS y RMPS:
    RLPS = Rtab [q_index, p_state] RMPS = R – RLPS
  17. 4. Cálculo del nuevo intervalo parcial:
    if (bit: LPS) then
    L L + RMPS
    R RLPS
    p_state Next_State_LPS [p_state]
    else
    R RMPS
    p_state Next_State_MPS [p_state]
    Fig. 2
    1.
    Determinación del LPS
  18. 2.
    Cuantización de R:
    q_index = Qtab[R>>q]
  19. 3. Determinación de RLPS y RMPS:
    RLPS = Rtab [q_index, p_state] R = R – RLPS
  20. 4. Determinación de bit en función de la posición del intervalo parcial:
    if (V ≥ RMPS) then
    bit LPS
    V V -RMPS
    R RLPS
    p_state Next_State_LPS [p_state]
    else bit MPS R RMPS p_state Next_State_MPS [p_state]
  21. 5. Renormalización de R, leer un bit y actualizar V
    Fig. 3
    Codificador:
    1. Cálculo del nuevo intervalo parcial
    R R >> 1
    if (bit = 1) then
    L L + R
  22. 2. Dar como salida los bits y renormalizar R
    Descodificador:
    1. Determinación de bit en función de la posición del intervalo parcial:
    if (V ≥ R) then
    bit 1
    V V – R
    else bit 0,
  23. 2. Leer un bit, renormalizar R y actualizar V
    Fig. 4
    Codificador:
    1. Cálculo del nuevo intervalo parcial
    L L << 1
    if (bit = 1) then
    L L + R
  24. 2. Dar como salida un bit y renormalizar utilizando valores umbrales de determinación duplicados (sin duplicar R y L)
    Descodificador:
    1.
    Leer un bit y actualizar V
  25. 2.
    Determinación de bit en función de la posición del intervalo parcial:
    if (V ≥ R) then
    bit 1
    V V – R
    else
    Fig. 5
    1.
    preState = min(max(1, ((m * SliceQP) >>4)+n), 126)
  26. 2.
    if (preState <=63) then p_state = 63 – preState valMPS = 0
    else p_state = preState – 64 valMPS = 1,
    Fig. 6
ES08020113.0T 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas Expired - Lifetime ES2442173T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10220962 2002-05-02
DE10220962 2002-05-02

Publications (1)

Publication Number Publication Date
ES2442173T3 true ES2442173T3 (es) 2014-02-10

Family

ID=29285283

Family Applications (6)

Application Number Title Priority Date Filing Date
ES03725141T Expired - Lifetime ES2316749T3 (es) 2002-05-02 2003-05-02 Procedimiento y disposicion para la codificacion y la descodificacion aritmetica de estados binarios asi como programa informatico correspondiente y medio de almacenamiento legible por ordenador correspondiente.
ES10185215.0T Expired - Lifetime ES2442174T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando varias tablas de consulta
ES08020113.0T Expired - Lifetime ES2442173T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas
ES08020010.8T Expired - Lifetime ES2442215T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas de estados binarios y programa informático correspondiente y soporte de almacenamiento correspondiente legible por ordenador
ES10185209.3T Expired - Lifetime ES2442190T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando una pluralidad de tablas de consulta
ES10185219.2T Expired - Lifetime ES2439996T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas de estados binarios y programa informático correspondiente y soporte de almacenamiento correspondiente legible por ordenador

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES03725141T Expired - Lifetime ES2316749T3 (es) 2002-05-02 2003-05-02 Procedimiento y disposicion para la codificacion y la descodificacion aritmetica de estados binarios asi como programa informatico correspondiente y medio de almacenamiento legible por ordenador correspondiente.
ES10185215.0T Expired - Lifetime ES2442174T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando varias tablas de consulta

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES08020010.8T Expired - Lifetime ES2442215T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas de estados binarios y programa informático correspondiente y soporte de almacenamiento correspondiente legible por ordenador
ES10185209.3T Expired - Lifetime ES2442190T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando una pluralidad de tablas de consulta
ES10185219.2T Expired - Lifetime ES2439996T3 (es) 2002-05-02 2003-05-02 Procedimiento y dispositivo de codificación y descodificación aritméticas de estados binarios y programa informático correspondiente y soporte de almacenamiento correspondiente legible por ordenador

Country Status (12)

Country Link
US (1) US6943710B2 (es)
EP (7) EP2037412B1 (es)
JP (3) JP3989485B2 (es)
KR (1) KR100733795B1 (es)
AT (1) ATE421802T1 (es)
DE (1) DE50311129D1 (es)
DK (6) DK2326013T3 (es)
ES (6) ES2316749T3 (es)
HK (5) HK1127525A1 (es)
PT (6) PT2290612E (es)
SI (1) SI1550219T1 (es)
WO (1) WO2003094355A2 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408486B2 (en) * 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
GB2398191B (en) * 2004-03-10 2004-12-22 David Asher Jaffa Adaptive quantiser
KR100694098B1 (ko) * 2005-04-04 2007-03-12 한국과학기술원 산술 복호 방법 및 그 장치
US8572018B2 (en) * 2005-06-20 2013-10-29 New York University Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology
JP4547503B2 (ja) * 2006-03-07 2010-09-22 国立大学法人徳島大学 算術符号化装置、算術符号化方法、算術符号化プログラム及びプログラムを格納したコンピュータで読み取り可能な記録媒体
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
JP4785706B2 (ja) * 2006-11-01 2011-10-05 キヤノン株式会社 復号装置及び復号方法
JP4865509B2 (ja) * 2006-11-01 2012-02-01 キヤノン株式会社 復号装置及び復号方法
JP4717780B2 (ja) 2006-11-01 2011-07-06 キヤノン株式会社 符号化装置及びその制御方法
US7443318B2 (en) * 2007-03-30 2008-10-28 Hong Kong Applied Science And Technology Research Institute Co. Ltd. High speed context memory implementation for H.264
TWI330006B (en) * 2007-07-27 2010-09-01 Lite On It Corp Encoding method and encoder for generating balanced code or constant weighted code
JP4382840B2 (ja) * 2007-08-20 2009-12-16 Nttエレクトロニクス株式会社 2値算術符号化装置
US20090231173A1 (en) * 2008-03-14 2009-09-17 Daniel Kilbank System and method for using a microlet-based modem
JP5133950B2 (ja) * 2009-07-16 2013-01-30 日本電信電話株式会社 コンテクスト適応エントロピ符号化方法および装置,コンテクスト適応エントロピ復号方法および装置,並びにそれらのプログラム
JP5047244B2 (ja) * 2009-09-01 2012-10-10 日本電信電話株式会社 コンテクスト適応エントロピ符号化方法および装置,コンテクスト適応エントロピ復号方法および装置,並びにそれらのプログラム
KR101615384B1 (ko) * 2010-04-05 2016-04-25 삼성전자주식회사 통신 시스템에서의 채널 부호화 장치 및 방법
WO2011128268A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
JP4936574B2 (ja) * 2011-03-02 2012-05-23 キヤノン株式会社 符号化装置及びその制御方法
CN107529708B (zh) 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
US9871537B2 (en) 2011-10-27 2018-01-16 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding
KR101647244B1 (ko) * 2012-01-30 2016-08-09 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 이진 산술 코딩 방식
KR101910376B1 (ko) * 2014-06-29 2019-01-04 엘지전자 주식회사 연결된 rom-ram 테이블에 기초하여 산술 코딩을 수행하는 방법 및 장치
US10757412B2 (en) 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
US5475388A (en) * 1992-08-17 1995-12-12 Ricoh Corporation Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding
US5272478A (en) * 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
FR2703483B1 (fr) * 1993-03-29 1995-06-02 Digital Equipment Int Dispositif de mise à jour de la valeur de code dans la méthode du codage arithmétique.
US5912636A (en) * 1996-09-26 1999-06-15 Ricoh Company, Ltd. Apparatus and method for performing m-ary finite state machine entropy coding
JP3367370B2 (ja) * 1997-03-14 2003-01-14 三菱電機株式会社 適応符号化方法
US5970174A (en) * 1997-06-19 1999-10-19 Electronics For Imaging Method and apparatus for data compression and gray value estimation
US6757436B2 (en) * 1997-06-19 2004-06-29 Electroncs For Imaging, Inc. Methods and apparatus for data compression based on modeling schemes
US5973626A (en) * 1998-03-17 1999-10-26 Cornell Research Foundation, Inc. Byte-based prefix encoding
EP1465349A1 (en) * 2003-03-31 2004-10-06 Interuniversitair Microelektronica Centrum Vzw Embedded multiple description scalar quantizers for progressive image transmission
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables

Also Published As

Publication number Publication date
US20040117714A1 (en) 2004-06-17
PT2290612E (pt) 2013-12-03
EP2068448A2 (de) 2009-06-10
ES2442215T3 (es) 2014-02-10
EP1571755A3 (de) 2005-10-19
JP3989485B2 (ja) 2007-10-10
DK2068448T3 (da) 2013-12-02
JP4709821B2 (ja) 2011-06-29
EP2037412A2 (de) 2009-03-18
ES2442190T3 (es) 2014-02-10
EP2326013A2 (de) 2011-05-25
KR100733795B1 (ko) 2007-07-02
SI1550219T1 (sl) 2009-04-30
JP2008104207A (ja) 2008-05-01
EP2290612A3 (de) 2012-12-26
JP2006050605A (ja) 2006-02-16
ATE421802T1 (de) 2009-02-15
EP1571755A2 (de) 2005-09-07
EP2326013A3 (de) 2012-12-26
PT2296282E (pt) 2013-12-05
ES2439996T3 (es) 2014-01-27
JP2005525018A (ja) 2005-08-18
EP1550219A2 (de) 2005-07-06
KR20040104611A (ko) 2004-12-10
DK1550219T3 (da) 2009-03-09
EP2296282A2 (de) 2011-03-16
EP2326013B1 (de) 2013-11-06
DE50311129D1 (de) 2009-03-12
EP2037412A3 (de) 2010-03-31
WO2003094355A3 (de) 2004-05-21
HK1157948A1 (en) 2012-07-06
EP2296282A3 (de) 2012-12-26
US6943710B2 (en) 2005-09-13
DK2037412T3 (da) 2013-12-02
EP1550219B1 (de) 2009-01-21
JP4054345B2 (ja) 2008-02-27
DK2296282T3 (da) 2013-12-02
DK2290612T3 (da) 2013-12-02
ES2442174T3 (es) 2014-02-10
PT1550219E (pt) 2009-03-05
EP2068448A3 (de) 2010-03-31
EP2037412B1 (de) 2013-11-06
EP2290612A2 (de) 2011-03-02
HK1130372A1 (en) 2009-12-24
EP2290612B1 (de) 2013-11-06
DK2326013T3 (da) 2013-12-02
HK1155000A1 (en) 2012-05-04
PT2037412E (pt) 2013-12-05
ES2316749T3 (es) 2009-04-16
WO2003094355A2 (de) 2003-11-13
EP2296282B1 (de) 2013-11-06
EP2068448B1 (de) 2013-11-06
HK1127525A1 (en) 2009-09-25
PT2068448E (pt) 2013-12-03
PT2326013E (pt) 2013-12-05
HK1154430A1 (en) 2012-04-20

Similar Documents

Publication Publication Date Title
ES2442173T3 (es) Procedimiento y dispositivo de codificación y descodificación aritméticas con utilización de varias tablas
JP7100836B2 (ja) エントロピー符号化におけるコンテキスト初期化
KR102588145B1 (ko) 엔트로피 인코딩 및 디코딩 방식
Howard The design and analysis of efficient lossless data compression systems
ES2358551T3 (es) Codificación eficiente en términos de memoria de códigos de longitud variable.
Howard et al. Practical implementations of arithmetic coding
JP2009100474A (ja) コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
JP2005229632A (ja) 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JPH06224777A (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置、ビットストリーム生成方法及び遷移マシン生成方法
Matsushima et al. A class of distortionless codes designed by Bayes decision theory
CN106899848B (zh) 用于图像和视频编码的自适应二进制化器选择
BR112019013916A2 (pt) método e aparelho para derivação de faixa em codificação aritmética binária adaptativa a contexto
Belyaev et al. Binary Arithmetic Coding System with Adaptive Probability Estimation by" Virtual Sliding Window"
US6094151A (en) Apparatus and method for finite state machine coding of information selecting most probable state subintervals
JPS6345131B2 (es)
JPH0786957A (ja) 可変長コード化装置
Sun et al. Lossless Coders
Lim Arithmetic Coding
Said Resilient Parameterized Tree Codes for Fast Adaptive Coding
Mahapatra et al. Parallel implementation of a multialphabet arithmetic coding algorithm
Choe Data Compression
松島敏泰 et al. A CLASS OF NOISELESS CODES DESIGNED BY DECISION THEORY