Patent ES-2721055-T3 (ES)
Title: Método y aparato para decodificación aritmética
Inventor: BOSSEN FRANK
IPC: H04N19/13
Filed: 2003-09-19
Granted: 2019-07-26
Abstract: Un método de decodificación aritmética que usa codificación aritmética binaria adaptativa al contexto que comprende: introducir una secuencia (1025) de información de uno o más bits, incluyendo la secuencia (1025) de información datos codificados aritméticamente; almacenar un valor de bits de la secuencia (1025) de información que incluye datos codificados aritméticamente en un registro (1070) de valores; transmitir el uno o más bits a un motor (1015) de decodificación y transmitir un identificador de contexto para un evento de una secuencia de eventos a un estimador (1010) de probabilidad; generar una estimación de probabilidad basándose en valores del contexto recibido, estimación de probabilidad que se envía al motor (1015) de decodificación y es usada por el motor (1015) de decodificación para generar el evento; asignar un valor a un rango para un MPS, basándose en un valor de estado como la estimación de probabilidad asociada con el identificador de contexto y un valor almacenado en un registro (1065) de rangos y enviar cada evento binario generado al estimador (1010) de probabilidad y a un secuenciador (1005); actualizar un estado interno del estimador (1010) de probabilidad basándose en el valor recibido a partir del motor (1015) de decodificación; determinar un valor de un intervalo de subrango para un LPS basándose en un resultado de una búsqueda en tabla que tiene como entradas un valor de un estado asociado con el identificador de contexto y un valor almacenado en el registro (1065) de rangos, y actualizar el valor del registro (1065) de rangos restando el intervalo de subrango del LPS del valor del registro; determinar un valor del evento binario como un resultado de decodificación basándose en el resultado de comparación entre el valor del registro (1070) de valores y el valor del rango para el MPS; y si el valor del registro (1070) de valores es mayor o igual que el valor del rango para el MPS, restar el valor del rango para el MPS del valor del registro (1070) de valores, ajustar el valor del registro (1070) de valores igual al resultado, ajustar el resultado de decodificación al LPS para el contexto, ajustar el rango igual al intervalo de subrango para el LPS, comprobar si el estado para el contexto del evento binario es igual a cero para determinar si cambiar el significado del MPS, y actualizar el número de estado del contexto al siguiente estado para el LPS indicado en la máquina de estados para el contexto; y si el valor del registro (1070) de valores es menor que el valor del rango para el MPS, mantener el valor del registro (1070) de valores sin cambios, ajustar el resultado decodificado al valor que se define que es el MPS para ese contexto particular, y actualizar la máquina de estados para el contexto al siguiente estado para el MPS indicado en la máquina de estados para el contexto, en el que la pluralidad de eventos son los eventos binarios convertidos a partir de valores enteros que representan los bloques de muestra transformados y cuantificados de datos de vídeo, en el que el flujo de bits incluye datos codificados de un sector que incluye una indicación de fin de sector que indica la terminación de la codificación aritmética; y reconocer uno o más bytes de relleno precedidos por cero o más bits de alineación añadidos después de los datos codificados que incluyen la indicación de fin de sector codificada en el flujo de bits identificando un patrón asociado con los bytes de relleno y no realizando decodificación aritmética en el uno o más bytes de relleno, usándose el uno o más bytes de relleno para restringir la cantidad de eventos codificados aritméticamente como una combinación lineal del número de bits en el flujo de bits y el número de bloques de muestra codificados aritméticamente, en el que la restricción adopta la forma de la siguiente combinación lineal: e <= α B + β S, donde e es la cantidad de eventos codificados aritméticamente en el flujo de bits, B es el número de bits en el flujo de bits, S es el número de bloques de muestra codificados aritméticamente en el flujo de bits, y α y β son valores predeterminados.