ES2726324T3 - Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello - Google Patents

Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello Download PDF

Info

Publication number
ES2726324T3
ES2726324T3 ES17176381T ES17176381T ES2726324T3 ES 2726324 T3 ES2726324 T3 ES 2726324T3 ES 17176381 T ES17176381 T ES 17176381T ES 17176381 T ES17176381 T ES 17176381T ES 2726324 T3 ES2726324 T3 ES 2726324T3
Authority
ES
Spain
Prior art keywords
subblock
block
quantification
parameter
quantization parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17176381T
Other languages
English (en)
Inventor
Mitsuru Maeda
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of ES2726324T3 publication Critical patent/ES2726324T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

Dispositivo de codificación de imagen que comprende: una unidad de división, configurada para dividir una imagen de entrada en una serie de bloques, siendo dividido por lo menos uno de los bloques en subbloques para formar un árbol cuaternario; una unidad de decisión, configurada para decidir respectivos parámetros de cuantificación de los subbloques; una unidad de obtención, configurada para obtener un primer valor de diferencia entre, en un orden de codificación, un primer parámetro de cuantificación de un primer subbloque en un primer bloque y un segundo parámetro de cuantificación de un segundo subbloque en el primer bloque, y para obtener, en un subsiguiente subbloque que no se encuentra en el primer bloque, un segundo valor de diferencia entre un parámetro de cuantificación del subsiguiente subbloque y un valor entero obtenido mediante redondeo de una media de los parámetros de cuantificación de subbloques a codificar antes del subsiguiente subbloque; y una unidad de codificación, para codificar el primer valor de diferencia y el segundo valor de diferencia.

Description

DESCRIPCIÓN
Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello
Sector técnico
La presente invención se refiere a un dispositivo de codificación de imagen, un procedimiento para codificar una imagen, un programa para ello, un dispositivo de decodificación de imagen, un procedimiento para decodificar una imagen y un programa para ello. Más concretamente, la presente invención se refiere a un procedimiento de codificación predictiva para parámetros de cuantificación en una imagen.
Antecedentes de la técnica
Como procedimiento para comprimir y grabar una imagen en movimiento, se conoce e1H.264/MPEG4AVC (de aquí en adelante conocido como H.264) (ISO/IEC 1449610; 2004 Tecnología de la Información Codificación de objetos audiovisuales Parte 10: Codificación de video avanzada). El H.264 se utiliza ampliamente para la difusión digital terrestre de un segmento.
El H.264 permite cambiar los parámetros de cuantificación en unidades de macrobloques (16x16 píxeles), utilizando el código mb_qp_delta. Una fórmula 723 explicada en el documento antes mencionado añade un valor de diferencia mb_qp_delta a un parámetro de cuantificación. QPYPREV de un macrobloque decodificado por última vez para cambiar los parámetros de cuantificación en unidades de macrobloques (16x16 píxeles).
En los últimos años, se ha iniciado una actividad para estandarizar internacionalmente la Codificación de video de alta eficiencia (HEVC, High Efficiency Video Coding). (El HEVC es un procedimiento de codificación de una eficiencia aún mayor que es un sucesor del H.264.) Esta actividad, con el aumento del tamaño de la pantalla, considera la división por tamaños de bloques mayores que los macrobloques convencionales (16x16 píxeles). Según la contribución del JCTVC JCTVCA205.doc, un bloque básico que tiene un tamaño mayor se denomina Bloque de árbol de codificación más grande (LCTB, Largest Coding Tree Block). La consideración se basa en un tamaño de 64x64 píxeles (contribución del JCTVC JCTVCA205.doc <http://wftp3.itu.int/avarch/jctvcsite/2010_04_A_Dresden/>). El LCTB está dividido, además, en una serie de subbloques, es decir, bloques de árbol de codificación (CTB, Coding Tree Blocks) sometidos a transformación y cuantificación. Como procedimiento de división, se utiliza una estructura de región de árbol cuaternario (quadtree) para dividir un bloque en cuatro subbloques (dos verticales y dos horizontales).
La figura 2A muestra la estructura de la región de árbol cuaternario. Un fotograma grueso 10000 indica un bloque básico que está formado por 64x64 píxeles, para simplificar las descripciones. Cada uno de los subbloques 10001 y 10010 está formado por 16x16 píxeles. Cada uno de los subbloques 10002 a 10009 está formado por 8x8 píxeles. Los subbloques se forman y utilizan de esta manera para transformación y otro procesamiento de la codificación. Con el HEVC, se considera que el control del parámetro de cuantificación se realiza por bloques básicos de una manera similar a los macrobloques del H.264. Sin embargo, desde el punto de vista de la calidad de la imagen, es realmente deseable realizar el control de los parámetros de cuantificación en un subbloque base. En este caso, se espera que la cuantificación en unidades más pequeñas se realice mediante el control de parámetros de cuantificación por subbloques.
Sin embargo, el procesamiento se realiza basándose en la estructura de la región de árbol cuaternario incluso si la cuantificación en unidades más pequeñas es posible. Por lo tanto, no ha sido posible llevar a cabo eficientemente el procesamiento en paralelo por subbloques, impidiendo la mejora en la velocidad de procesamiento de la codificación y la decodificación. Concretamente, haciendo referencia a la figura 2A, el subbloque 10001 (16x16 píxeles), los subbloques 10002 a 10009 (8x8 píxeles) y el subbloque 10010 (16x16 píxeles) se procesan en este orden. Puesto que cada uno de los parámetros de cuantificación de los subbloques se calcula utilizando un valor de diferencia de un parámetro de cuantificación del subbloque anterior como valor predicho, dichos parámetros de cuantificación deben someterse a un procesamiento sucesivo, impidiendo de este modo un procesamiento paralelo eficiente por subbloques.
Además, cuando se intenta la optimización de los parámetros de cuantificación para cada subbloque, los valores de la diferencia variarán, ya que el procesamiento para obtener un valor de diferencia de los parámetros de cuantificación se realiza en base a la estructura de la región de árbol cuaternario. Por ejemplo, la figura 2B muestra un valor del parámetro de cuantificación indicado en el centro de cada subbloque. El ejemplo de la figura 2B supone un caso en el que los valores de los parámetros de cuantificación cambian gradualmente de la parte superior izquierda a la inferior derecha. Este fenómeno es probable que ocurra en imágenes naturales ordinarias. Dado que el subbloque 10001 tiene un parámetro de cuantificación de 12 y el subbloque 10002 tiene un parámetro de cuantificación de 14, el subbloque 10002 tiene un valor de diferencia de 2 con respecto al subbloque 10001. Los valores siguientes de la diferencia son 4, 6, 6, 6, 0, 2, 4 y 2. Obtener de esta manera los valores de la diferencia según la estructura de la región de árbol cuaternario hace fluctuar aleatoriamente los valores de diferencia, provocando el problema de que se generan códigos grandes.
[Características de la invención]
La presente invención está dirigida a permitir que la codificación y la decodificación para cada subbloque se lleven a cabo en paralelo para conseguir no solo un procesamiento a alta velocidad, sino también una codificación y decodificación de los parámetros de cuantificación altamente eficiente. Según un aspecto de la presente invención, se da a conocer un dispositivo de codificación de imagen tal como se expone en cualquiera de las reivindicaciones 1 a 3. Según otro aspecto de la presente invención, se da a conocer un dispositivo de codificación de imagen tal como se expone en cualquiera de las reivindicaciones 4 a 6. Según otro aspecto de la presente invención se da a conocer un procedimiento de codificación de imagen según cualquiera de las reivindicaciones 7 a 9. Según otro aspecto más de la presente invención, se da a conocer un procedimiento de decodificación de imagen según cualquiera de las reivindicaciones 10 a 12. En otro aspecto se da a conocer un programa informático según la reivindicación 13. Según un aspecto de la presente invención, un dispositivo de codificación de imagen incluye: medios de división, configurados para dividir una imagen de entrada en una serie de subbloques sometidos a control de cuantificación; medios de cálculo de parámetros de cuantificación de subbloques, configurados para calcular un parámetro de cuantificación de cada uno de los subbloques; medios de cálculo de parámetros de cuantificación de bloque básico, configurados para ajustar un bloque básico que incluye, por lo menos, dos subbloques, y para calcular un parámetro de cuantificación del bloque básico; medios de cálculo del valor de diferencia, configurados para calcular un valor de diferencia entre el parámetro de cuantificación del bloque básico y el parámetro de cuantificación de cada subbloque incluido en el bloque básico; medios de codificación del valor de diferencia, configurados para codificar el valor de diferencia.
Según una realización a modo de ejemplo de la presente invención, es posible codificar y decodificar independientemente cada parámetro de cuantificación de los subbloques en base a un parámetro de cuantificación de bloque básico por subbloques, facilitando el procesamiento en paralelo por subbloque. Además, restringir el error de predicción permite una codificación y una decodificación de los parámetros de cuantificación altamente eficientes. Otras características y aspectos de la presente invención resultarán evidentes a partir de la siguiente descripción detallada de realizaciones a modo de ejemplo, haciendo referencia a los dibujos adjuntos.
Breve descripción de los dibujos
Los dibujos adjuntos, que se incorporan en y constituyen una parte de la memoria descriptiva, muestran realizaciones a modo de ejemplo, características y aspectos de la invención y, junto con la descripción, sirven para explicar los principios de la invención.
La figura 1 es un diagrama de bloques que muestra una configuración de un dispositivo de codificación de imagen según una primera realización a modo de ejemplo de la presente invención.
La figura 2A muestra una división de bloques a modo de ejemplo.
La figura 2B muestra una división de bloques a modo de ejemplo.
La figura 3 es un diagrama de bloques detallado que muestra una unidad de codificación de los parámetros de cuantificación en el dispositivo de codificación de imagen según la primera realización a modo de ejemplo de la presente invención.
La figura 4 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la primera realización a modo de ejemplo de la presente invención.
La figura 5A muestra el procesamiento en paralelo en el momento de la codificación.
La figura 5B muestra el procesamiento en paralelo en el momento de la codificación.
La figura 6 es un diagrama de bloques que muestra una configuración de un dispositivo de decodificación de imagen según una segunda realización a modo de ejemplo de la presente invención.
La figura 7 es un diagrama de bloques detallado que muestra una unidad de decodificación de parámetros de cuantificación según la segunda realización a modo de ejemplo de la presente invención.
La figura 8 es un diagrama de flujo que muestra el procesamiento de decodificación de la imagen por el dispositivo de decodificación de imagen según la segunda realización a modo de ejemplo de la presente invención.
La figura 9A muestra el procesamiento en paralelo en la decodificación.
La figura 9B muestra el procesamiento en paralelo en la decodificación.
La figura 10 es un diagrama de bloques que muestra una configuración de un dispositivo de codificación de imagen según una tercera realización a modo de ejemplo de la presente invención.
La figura 11 es un diagrama de bloques detallado que muestra una unidad de codificación de parámetros de cuantificación en un dispositivo de codificación de imagen según la tercera realización a modo de ejemplo de la presente invención.
La figura 12 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la tercera realización a modo de ejemplo de la presente invención.
La figura 13 es un diagrama de bloques que muestra una configuración de un dispositivo de decodificación de imagen según una cuarta realización a modo de ejemplo de la presente invención.
La figura 14 es un diagrama de bloques detallado que muestra una unidad de decodificación de los parámetros de cuantificación en el dispositivo de decodificación de imagen según la cuarta realización a modo de ejemplo de la presente invención.
La figura 15 es un diagrama de flujo que muestra el procesamiento de decodificación de la imagen por el dispositivo de decodificación de imagen según la cuarta realización a modo de ejemplo de la presente invención.
La figura 16 es un diagrama de bloques detallado que muestra una unidad de codificación de los parámetros de cuantificación en un dispositivo de codificación de imagen según una quinta realización a modo de ejemplo de la presente invención.
La figura 17 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la quinta realización a modo de ejemplo de la presente invención.
La figura 18 es un diagrama de bloques detallado que muestra una unidad de decodificación de los parámetros de cuantificación en un dispositivo de decodificación de imagen según una sexta realización a modo de ejemplo de la presente invención.
La figura 19 es un diagrama de flujo que muestra el procesamiento de decodificación de la imagen por el dispositivo de decodificación de imagen según la sexta realización a modo de ejemplo de la presente invención.
La figura 20 es un diagrama de bloques que muestra una configuración de hardware de un ordenador que se aplica al dispositivo de codificación de imagen y el dispositivo de decodificación de imagen según las realizaciones a modo de ejemplo de la presente invención.
Descripción de realizaciones
A continuación, se describirán con detalle algunas realizaciones a modo de ejemplo, características y aspectos de la invención, haciendo referencia a los dibujos. La invención está expuesta en el conjunto de reivindicaciones adjuntas; los demás ejemplos llamados realizaciones en la descripción son ejemplos ilustrativos.
La figura 1 es un diagrama de bloques que muestra un dispositivo de codificación de imagen según una primera realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 1, el dispositivo de codificación de imagen introduce datos de imagen desde un terminal 1000.
Una unidad de división de bloques 1001 divide la imagen de entrada en una serie de bloques básicos, es decir, recorta un bloque básico de la imagen de entrada una serie de veces y, si es necesario, divide cada bloque básico en una serie de subbloques. El dispositivo de codificación de imagen realiza el control de cuantificación para cada subbloque. Aunque se supone que la imagen de entrada tiene valores de píxel de 8 bits para simplificar descripciones, el valor de píxel no se limita a ello. El tamaño de un bloque básico es de 64x64 píxeles y el tamaño mínimo de un subbloque es de 8x8 píxeles. En este caso, el bloque básico incluye cuatro subbloques. Aunque la división de bloques se describirá a continuación basándose en un procedimiento para dividir un bloque en cuatro subbloques (dos verticales y dos horizontales), la forma y el tamaño de los bloques no se limitan a esto. El bloque básico debe incluir, por lo menos, dos subbloques. La división en subbloques no está limitada a ningún procedimiento concreto. Por ejemplo, la imagen completa se puede dividir en una serie de subbloques después del cálculo de la cantidad de borde y la agrupación. Específicamente, los subbloques pequeños se disponen en una porción en la que existen muchos bordes, y los subbloques grandes se disponen en una parte plana. Una unidad de determinación de parámetros de cuantificación 1002 determina un parámetro de cuantificación de cada bloque básico y un parámetro de cuantificación de cada subbloque.
Una unidad de predicción de bloques 1003 realiza la predicción para cada subbloque formado por la unidad de división de bloques 1001, para calcular un error de predicción para cada subbloque. La unidad de predicción de bloques 1003 aplica intrapredicción a intrafotogramas de una imagen fija y una imagen en movimiento y, asimismo, aplica la predicción de compensación de movimiento a una imagen en movimiento. Una unidad de transformación de bloques 1004 aplica la transformación ortogonal a un error de predicción para cada subbloque, para calcular un coeficiente de transformación ortogonal. La transformación ortogonal no está limitada a ningún procedimiento en concreto, y puede estar basada en la transformada discreta del coseno y en la transformada de Hadamard. Una unidad de cuantificación de bloques 1005 cuantifica el coeficiente de transformación ortogonal antes mencionado en base a cada parámetro de cuantificación de subbloque determinado por la unidad de determinación de parámetros de cuantificación 1002. Esta cuantificación permite obtener un coeficiente de cuantificación. Una unidad de codificación de bloques 1006 aplica codificación de longitud variable a un coeficiente de cuantificación para cada subbloque obtenido de esta manera para generar datos de código del coeficiente de cuantificación. La codificación no está limitada a ningún procedimiento concreto y puede basarse en el código de Huffman o en el código aritmético. Una unidad de generación de imagen 1007 reproducida de bloque reproduce un error de predicción realizando una operación inversa de la unidad de cuantificación de bloques 1005 y la unidad de transformación de bloques 1004 para generar una imagen decodificada del bloque básico en base a un resultado del procesamiento por la unidad de predicción de bloques 1003. Los datos de la imagen reproducida se almacenan y utilizan para la predicción mediante la unidad de predicción de bloques 1003.
Una unidad de codificación de parámetros de cuantificación 1008 codifica el parámetro de cuantificación de bloque básico y cada parámetro de cuantificación de subbloque determinado por la unidad 1002 de determinación de parámetros de cuantificación para generar datos de código de parámetro de cuantificación.
Una unidad de integración y codificación 1009 genera información de cabecera y codifica la predicción relacionada con la misma e integra los datos de código del parámetro de cuantificación generados por la unidad de codificación de parámetros de cuantificación 1008 y los datos de código del coeficiente de cuantificación generados por la unidad de codificación de bloques 1006. La unidad de integración y codificación 1009 envía la secuencia de bits generada al exterior a través de un terminal 1010.
A continuación, se describirá el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la presente realización a modo de ejemplo. Aunque, en la presente realización a modo de ejemplo, los datos de una imagen en movimiento se introducen en unidades de fotograma, pueden introducirse datos de imágenes fijas para un fotograma.
La unidad de división de bloques 1001 introduce datos de imagen para un fotograma desde el terminal 1000 y divide los datos de la imagen en una serie de bloques básicos, cada uno de los cuales está formado de 64x64 píxeles. Si es necesario, la unidad de división de bloques 1001 divide, además, cada bloque básico en una serie de subbloques, cada uno de los cuales está formado, por lo menos, por 8x8 píxeles. La unidad de determinación de parámetros de cuantificación 1002 y la unidad de predicción de bloques 1003 introducen información acerca de la división en subbloques y los datos de la imagen dividida.
La unidad de predicción de bloques 1003 realiza la predicción referida a la imagen reproducida almacenada en la unidad de generación de imágenes reproducidas de bloques 1007, genera un error de predicción y emite el error de predicción generado hacia la unidad de transformación de bloques 1004 y a la unidad de generación de imágenes reproducidas de bloques 1007. La unidad de transformación de bloques 1004 aplica la transformación ortogonal al error de predicción de entrada, calcula un coeficiente de transformación ortogonal y emite el coeficiente de transformación ortogonal calculado a la unidad de cuantificación de bloques 1005.
A la vista de la cantidad de códigos de entrada que se producen en cada subbloque, la unidad de determinación de parámetros de cuantificación 1002 determina un parámetro de cuantificación óptimo en base al equilibrio entre la calidad de imagen y la cantidad de códigos por subbloque. Por ejemplo, se puede utilizar una técnica explicada en la Solicitud de patente japonesa abierta a inspección pública N° 4-323961. La unidad de determinación de parámetros de cuantificación 1002 emite cada uno de los parámetros de cuantificación de subbloque determinados hacia la unidad de cuantificación de bloques1005, hacia la unidad de generación de imágenes reproducidas de bloques 1007 y hacia la unidad de codificación de parámetros de cuantificación 1008.
La unidad de cuantificación de bloques 1005 cuantifica el coeficiente de transformación ortogonal (introducido desde la unidad de transformación de bloques 1004) en base a cada parámetro de cuantificación determinado por la unidad de determinación de parámetros de cuantificación 1002 para generar un coeficiente de cuantificación. La unidad de cuantificación de bloques 1005 envía el coeficiente de cuantificación generado a la unidad de codificación de bloques 1006 y a la unidad de generación de imágenes reproducidas de bloques 1007. La unidad de generación de imágenes reproducidas de bloques 1007 introduce el coeficiente de cuantificación y reproduce un coeficiente de transformación ortogonal en base a cada parámetro de cuantificación determinado por la unidad de determinación de parámetros de cuantificación 1002. La unidad de generación de imágenes reproducidas de bloques 1007 aplica una transformación ortogonal inversa al coeficiente de transformación ortogonal reproducido para reproducir un error de predicción, genera una imagen reproducida en base al error de predicción reproducido y el valor de píxel al que se hace referencia en el momento de la predicción, y almacena la imagen reproducida. La unidad de codificación de bloques 1006 codifica el coeficiente de cuantificación para generar datos de código del coeficiente de cuantificación y envía los datos de código del coeficiente de cuantificación generados a la unidad de integración y codificación 1009.
La unidad de codificación de parámetros de cuantificación 1008 codifica para cada bloque básico los parámetros de cuantificación determinados por la unidad de determinación de parámetros de cuantificación 1002.
La figura 3 es un diagrama de bloques detallado que muestra la unidad de codificación de parámetros de cuantificación 1008. Haciendo referencia a la figura 3, la unidad de codificación de parámetros de cuantificación 1008 introduce a través del terminal 1 el parámetro de cuantificación de cada subbloque desde la unidad de determinación de parámetros de cuantificación 1002 en la figura 1. Una unidad de almacenamiento de parámetros de cuantificación 2 almacena una vez los parámetros de cuantificación de subbloque. Una unidad de determinación de parámetros de cuantificación de bloques básicos 3 determina un parámetro de cuantificación de bloque básico en base a cada parámetro de cuantificación de subbloque almacenado en la unidad de almacenamiento de parámetros de cuantificación 2. Una unidad de codificación de parámetros de cuantificación de bloques básicos 4 codifica el parámetro de cuantificación de bloque básico para generar un código de parámetro de cuantificación de bloque básico. La unidad de codificación de parámetros de cuantificación de bloques básicos 4 envía a través de un terminal 5 el código del parámetro de cuantificación de bloque básico generado a la unidad de integración y codificación 1009 en la figura 1. Una unidad de diferencia de parámetros de cuantificación de subbloque 6 obtiene la diferencia entre el parámetro de cuantificación del bloque básico y el parámetro de cuantificación de cada subbloque. Una unidad de codificación de parámetros de cuantificación de subbloques 7 codifica la diferencia para generar un parámetro de cuantificación de subbloque con un código de valor de diferencia. La unidad de codificación de parámetros de cuantificación de subbloques 7 envía a través de un terminal 8 el código del valor de diferencia de parámetro de cuantificación de subbloque generado a la unidad de integración y codificación 1009 en la figura 1.
Con la configuración mencionada anteriormente, la unidad de almacenamiento de parámetros de cuantificación 2 almacena para cada bloque básico los parámetros de cuantificación de subbloques introducidos desde el terminal 1. Cuando todos los parámetros de cuantificación de subbloques se han almacenado en la unidad de almacenamiento de parámetros de cuantificación 2, la unidad de determinación de parámetros de cuantificación de bloques básicos 3 calcula el parámetro de cuantificación del bloque básico. Con la presente realización a modo de ejemplo, la unidad de determinación de parámetros de cuantificación de bloques básicos 3 calcula un promedio de los parámetros de cuantificación de subbloques. Haciendo referencia a la figura 2B, la media es 14,6. Cuando la codificación del parámetro de cuantificación se realiza por enteros, la unidad de determinación de parámetros de cuantificación de bloques básicos 3 redondea la media 14,6 y, por lo tanto, ajusta el parámetro de cuantificación del bloque básico a 15. La unidad de determinación de parámetros de cuantificación de bloques básicos 3 envía el parámetro de cuantificación del bloque básico determinado a la unidad de codificación de parámetros de cuantificación de bloques básicos 4 y a la unidad de diferencia de parámetros de cuantificación de subbloques 6. La unidad de codificación de parámetros de cuantificación de bloques básicos 4 codifica el parámetro de cuantificación de bloque básico de entrada mediante la codificación Golomb para generar un código de parámetro de cuantificación de bloque básico, y envía el código del parámetro de cuantificación de bloque básico generado al exterior a través del terminal 5.
La unidad de diferencia de parámetros de cuantificación de subbloques 6 calcula una diferencia entre el parámetro de cuantificación de cada subbloque y el parámetro de cuantificación del bloque básico. Haciendo referencia a la figura 2B, los valores de diferencia son -3, -1, 3, -3, 3, -3, -3, -1, -1 y 5 en el orden de la estructura de la región de árbol cuaternario. La unidad de diferencia de parámetros de cuantificación de subbloques 6 envía dichos valores de diferencia a la unidad de codificación de parámetros de cuantificación de subbloques 7. La unidad de codificación de parámetros de cuantificación de subbloques 7 codifica dichos valores de diferencia junto con la existencia o ausencia de un cambio. El parámetro de cuantificación del primer subbloque 10001 difiere del parámetro de cuantificación del bloque básico o 15. La unidad de codificación de parámetros de cuantificación de subbloques 7 codifica el valor de un bit "1" que indica un cambio y un valor de diferencia "-3" mediante la codificación de Golomb, y emite el código resultante al exterior a través del terminal 8 como datos codificados del valor de diferencia del parámetro de cuantificación de subbloque. Posteriormente, la unidad de codificación de parámetros de cuantificación de subbloques 7 codifica el valor de diferencia del parámetro de cuantificación de subbloque del segundo subbloque 10002. Dado que este valor de diferencia difiere del parámetro de cuantificación de bloque básico, la unidad de codificación de parámetros de cuantificación de subbloques 7 genera un código de Golomb compuesto por un valor "1" de un bit indicando un cambio y un valor de diferencia de parámetro de cuantificación de subbloque "-1" al exterior a través del terminal 8. Posteriormente, de manera similar a lo anterior, la unidad de codificación de parámetros de cuantificación de subbloques 7 codifica un valor "1" de un bit que indica un cambio y un valor de diferencia del parámetro de cuantificación de subbloques para generar datos de valor de diferencia del parámetro de cuantificación del subbloque.
Haciendo referencia de nuevo a la figura 1, la unidad de integración y codificación 1009 genera una secuencia de imágenes, un encabezamiento de fotograma y otros códigos. Para cada bloque básico, la unidad de integración y codificación 1009 obtiene información tal como el modo de predicción de la unidad de predicción de bloques 1003 y codifica la información. A continuación, la unidad de integración y codificación 1009 introduce el código de parámetro de cuantificación del bloque básico desde la unidad de codificación de parámetros de cuantificación 1008. Posteriormente, la unidad de integración y codificación 1009 integra los datos codificados del valor de diferencia de parámetro de cuantificación de subbloque y los datos de código del coeficiente de cuantificación para cada subbloque, y emite como flujo de bits los datos integrados hacia el exterior a través del terminal 1010.
La figura 4 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la primera realización a modo de ejemplo de la presente invención. En la etapa S001, la unidad de integración y codificación 1009 genera una secuencia, un encabezamiento de fotograma y otros códigos, y envía los códigos generados al exterior a través del terminal 1010.
En la etapa S002, la unidad de división de bloques 1001 recorta secuencialmente cada bloque básico desde la imagen de entrada comenzando con la esquina superior izquierda de la misma.
En la etapa S003, la unidad de división de bloques 1001 divide, además, cada bloque básico en una serie de subbloques.
En la etapa S004, la unidad de determinación de parámetros de cuantificación 1002 determina los parámetros de cuantificación de subbloques. En la etapa S005, el dispositivo de codificación de imagen determina un parámetro de cuantificación de bloque básico en base a los parámetros de cuantificación de subbloques determinados en la etapa S004. Para simplificar las descripciones, la aplicación de codificación de imagen según la presente realización a modo de ejemplo calcula un promedio de parámetros de cuantificación de subbloques en el bloque básico como parámetro de cuantificación de bloque básico.
En la etapa S006, el dispositivo de codificación de imagen codifica el parámetro de cuantificación del bloque básico (determinado en la etapa S005) mediante la codificación de Golomb y emite el código resultante como un código de parámetro de cuantificación de bloque básico.
En la etapa S007, el dispositivo de codificación de imagen codifica el parámetro de cuantificación de subbloque para cada subbloque. Cuando se utiliza un parámetro de cuantificación que es el mismo que el parámetro de cuantificación de bloque básico en el orden de la estructura de árbol cuaternario de la región, el dispositivo de codificación de imagen emite un código "0” de un bit. Cuando se utiliza un parámetro de cuantificación diferente, el dispositivo de codificación de imagen emite un código "1" de un bit y una diferencia entre el parámetro de cuantificación de cada subbloque y el parámetro de cuantificación del bloque básico.
En la etapa S008, el dispositivo de codificación de imagen realiza una predicción para los datos de imagen de subbloque para obtener un error de predicción, aplica la transformación ortogonal y la cuantificación al error de predicción, codifica el coeficiente de cuantificación obtenido y emite los datos de código del coeficiente de cuantificación.
En la etapa S009, el dispositivo de codificación de imagen aplica una cuantificación inversa y una transformación inversa al coeficiente de cuantificación obtenido para calcular un error de predicción. El dispositivo de codificación de imagen genera una imagen reproducida del subbloque relevante, en base al error de predicción y un valor predicho obtenido a partir de la imagen reproducida.
En la etapa S010, el dispositivo de codificación de imagen determina si se ha completado el procesamiento de codificación para todos los subbloques en el bloque básico. Cuando el proceso de codificación se ha completado para todos los subbloques (SÍ en la etapa S010), el procesamiento continúa a la etapa S011. De lo contrario, cuando el procesamiento de codificación no se ha completado para todos los subbloques (NO en la etapa S010), el procesamiento vuelve a la etapa S007 para procesar el siguiente subbloque.
En la etapa S011, el dispositivo de codificación de imagen determina si se ha completado el procesamiento de codificación para todos los bloques básicos. Cuando el procesamiento de codificación se ha completado para todos los bloques básicos (SÍ en la etapa S011), el procesamiento finaliza. En caso contrario, cuando el procesamiento de codificación no se ha completado para todos los bloques básicos (NO en la etapa S011), el procesamiento vuelve a la etapa S002 para procesar el siguiente bloque básico.
Concretamente en las etapas S005 a S009, la configuración y las operaciones mencionadas anteriormente permiten codificar cada valor de diferencia de parámetro de cuantificación de subbloque utilizando el parámetro de cuantificación de bloque básico, restringiendo de este modo la cantidad de códigos generados.
Aunque, en la presente realización a modo de ejemplo, se utiliza un promedio de parámetros de cuantificación de subbloques como es como parámetro de cuantificación de bloques básico, el parámetro de cuantificación de bloques básicos no está limitado a ello y puede ser el valor del parámetro de cuantificación real de subbloque más cercano al promedio. Por ejemplo, aunque el promedio es de 14,6 en el ejemplo de la figura 2B, se puede utilizar el valor real del parámetro de cuantificación de subbloque más cercano al promedio, es decir, 14 en lugar de un valor obtenido redondeando el promedio. La obtención de esta manera del parámetro de cuantificación de subbloque permite ajustar el código que indica un cambio a "0", reduciendo el número de valores de diferencia del parámetro de cuantificación de subbloque a transmitir.
La configuración mencionada anteriormente permite, además, realizar de manera eficiente la predicción, la cuantificación, la transformación y la codificación en paralelo, consiguiendo un procesamiento de alta velocidad. Las figuras 5A y 5B muestran un ejemplo de procesamiento en paralelo para aplicar procesamiento de cuantificación, transformación y codificación a los subbloques 10001 a 10005 en el bloque básico 10000 mostrado en la figura 2A. En este caso, se supone que se utilizan tres procesadores para el procesamiento de codificación, para simplificar las descripciones. Los procesadores A C calculan cada parámetro de cuantificación de subbloque (QP), calculan y codifican cada valor de diferencia de parámetro de cuantificación de subbloque (.delta.QP), aplican transformación ortogonal y cuantificación al error de predicción, y codifican el coeficiente de cuantificación. En este caso, estos códigos son integrados por otro procesador.
La figura 5A muestra un ejemplo de procesamiento en paralelo convencional. En primer lugar, el dispositivo de codificación de imagen indica el procesamiento del subbloque 10001 al procesador A, el procesamiento del subbloque 10002 al procesador B y el procesamiento del subbloque 10003 al procesador C. El tiempo de procesamiento para el cálculo de QP depende del tamaño del bloque y de la complejidad de la imagen. Existe una tendencia de que el cálculo del parámetro de cuantificación para el subbloque 10001 que tiene un tamaño de bloque mayor necesite un tiempo más largo que el cálculo del parámetro de cuantificación para los subbloques 10002 y 10003.
Después del cálculo del parámetro de cuantificación, el dispositivo de codificación de imagen calcula los valores de diferencia del parámetro de cuantificación. El cálculo del parámetro de cuantificación de subbloque para el subbloque 10001 debe completarse para iniciar el cálculo del valor de diferencia de parámetro de cuantificación de subbloque para el subbloque 10002. Esto significa que el procesador B espera hasta que el procesador A completa el cálculo del parámetro de cuantificación de subbloque para el subbloque 10001. Si se tarda más tiempo en calcular el parámetro de cuantificación del subbloque 10002 que en calcular el del subbloque 10003, el cálculo del parámetro de cuantificación de subbloque para el subbloque 10002 debe completarse para iniciar el cálculo del valor de diferencia de parámetro de cuantificación de subbloque para el subbloque 10003. El procesador C espera hasta que el procesador B completa el cálculo del parámetro de cuantificación de subbloque para el subbloque 10002.
La figura 5B muestra un ejemplo de procesamiento en paralelo según la presente realización a modo de ejemplo. Similar al caso convencional, el dispositivo de codificación de imagen asigna el procesamiento del subbloque 10001 al procesador A, el procesamiento del subbloque 10002 al procesador B y el procesamiento del subbloque 10003 al procesador C. Después del cálculo del parámetro de cuantificación de subbloque, el dispositivo de codificación de imagen calcula valores de diferencia del parámetro de cuantificación de subbloque. Dado que el parámetro de cuantificación del bloque básico se ha completado, el cálculo del valor de diferencia del parámetro de cuantificación de subbloque para el subbloque 10002 puede iniciarse inmediatamente después de calcular el parámetro de cuantificación de subbloque. De este modo, la presente invención consigue un procesamiento en paralelo eficiente. En concreto, cuando existen subbloques que tienen una serie de tamaños, la presente invención da a conocer un efecto importante de reducir el intervalo de procesamiento.
Aunque en la presente realización a modo de ejemplo se codifica el propio valor del parámetro de cuantificación de bloques básico, la predicción puede realizarse utilizando un parámetro de cuantificación de bloque básico procesado anteriormente.
Aunque, en la presente realización a modo de ejemplo, se forma un bloque básico de 64x64 píxeles, y un subbloque está formado por hasta 8x8 píxeles, la configuración de píxeles no está limitada a esto. Por ejemplo, el tamaño de bloque de un bloque básico se puede cambiar a 128x128 píxeles. La forma del bloque básico y del subbloque no se limita a un cuadrado, y puede ser un rectángulo como 8x4 píxeles. La esencia de la presente invención no cambia. Aunque en la presente realización a modo de ejemplo, un promedio de parámetros de cuantificación de subbloque se considera como parámetro de cuantificación de bloque básico, el parámetro de cuantificación de bloque básico no se limita a ello. Por supuesto, es posible, por ejemplo, que el parámetro de cuantificación de bloque básico pueda ser una mediana de los parámetros de cuantificación de subbloque o un valor más frecuente del parámetro de cuantificación de subbloque. Por supuesto, es posible preparar una serie de procedimientos de cálculo de esta manera y seleccionar un parámetro de cuantificación de bloque básico más eficaz.
Aunque está dispuesto un código de un bit que indica un cambio en los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque, el procesamiento no está limitado a ello. Por supuesto, es posible codificar el valor de diferencia de parámetro de cuantificación de subbloque incluso cuando no hay ningún cambio. Aunque, en la presente realización a modo de ejemplo, se utiliza la codificación de Golomb para codificar el parámetro de cuantificación de bloque básico, el valor de diferencia del parámetro del parámetro de cuantificación de subbloque y el coeficiente de cuantificación, el procesamiento no está limitado a ello. Por supuesto, es posible utilizar, por ejemplo, la codificación de Huffman y otros procedimientos de codificación aritmética, y emitir los valores antes mencionados como están sin codificación.
Aunque la presente realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas utilizando intrapredicción, es evidente que la presente realización a modo de ejemplo es también aplicable a fotogramas que pueden utilizar la predicción intermedia que implica compensación de movimiento en la predicción.
A continuación, se describirá una segunda realización a modo de ejemplo de la presente invención, basada en un procedimiento de decodificación de la imagen para decodificar datos de código codificados utilizando el procedimiento de codificación según la primera realización a modo de ejemplo de la presente invención. La figura 6 es un diagrama de bloques que muestra una configuración de un dispositivo de decodificación de imagen según la segunda realización a modo de ejemplo de la presente invención.
El dispositivo de decodificación de imagen introduce una secuencia de bits codificada desde un terminal 1100. La unidad de decodificación y separación 1101 decodifica la información de cabecera de la secuencia de bits, separa los códigos requeridos de la secuencia de bits y envía los códigos separados a la etapa siguiente. La unidad de decodificación y separación 1101 realiza una operación inversa a la de la unidad de integración y codificación 1009 en la figura 1. Una unidad de decodificación de parámetros de cuantificación 1102 decodifica datos codificados de parámetros de cuantificación. Una unidad de decodificación de bloques 1103 decodifica cada código del coeficiente de cuantificación de subbloque para reproducir un coeficiente de cuantificación. Una unidad de cuantificación inversa de bloques 1104 aplica una cuantificación inversa al coeficiente de cuantificación en base al parámetro de cuantificación de subbloque reproducido por la unidad de decodificación de parámetro de cuantificación 1102 para reproducir un coeficiente de transformación ortogonal. Una unidad de transformación inversa de bloques 1105 realiza la transformación ortogonal inversa de la unidad de transformación de bloques 1004 en la figura 1 para reproducir un error de predicción. Una unidad de reproducción de bloques 1106 reproduce datos de imágenes de subbloque basándose en el error de predicción y en los datos de imagen decodificados. Una unidad de combinación de bloques 1107 dispone los datos de imagen de subbloque reproducidos en las respectivas posiciones para reproducir los datos de imagen de bloque básico.
A continuación, se describirá el procesamiento de decodificación de la imagen por el dispositivo de decodificación de imagen según la presente realización a modo de ejemplo. Aunque en la segunda realización a modo de ejemplo, una secuencia de bits de imagen en movimiento generada por el dispositivo de codificación de imagen según la primera realización a modo de ejemplo se introduce en unidades de fotograma, se puede introducir una secuencia de bits de imagen fija para un fotograma.
Haciendo referencia a la figura 6, la unidad de decodificación y separación 1101 introduce los datos de la secuencia para un fotograma desde el terminal 1100, y decodifica la información de cabecera requerida para reproducir una imagen. Posteriormente, la unidad de decodificación y separación 1101 envía el código del parámetro de cuantificación de bloque básico a la unidad de decodificación y separación 1101. Posteriormente, la unidad de decodificación y separación 1101 envía asimismo el código del valor de diferencia del parámetro de cuantificación de subbloque a la unidad de decodificación de parámetros de cuantificación 1102.
La figura 7 es un diagrama de bloques detallado que muestra la unidad de decodificación de parámetros de cuantificación 1102. La unidad de decodificación de parámetros de cuantificación 1102 introduce a través de un terminal 101 el código del parámetro de cuantificación de bloque básico de la unidad de decodificación y separación 1101 en la figura 6. La unidad de decodificación de parámetros de cuantificación 1102 introduce asimismo a través de un terminal 102 los datos codificados de la diferencia del parámetro de cuantificación de subbloque procedentes de la unidad de decodificación y separación 1101 en la figura 6. Una unidad de decodificación de parámetros de cuantificación de bloque básico 103 introduce el código del parámetro de cuantificación del bloque básico y decodifica el código del parámetro de cuantificación del bloque básico para reproducir un parámetro de cuantificación de bloque básico. Una unidad de decodificación de parámetros de cuantificación de subbloque 104 decodifica los datos codificados del valor de diferencia de parámetro de cuantificación de subbloque para reproducir cada valor de diferencia del parámetro de cuantificación de subbloque. Una unidad de adición de parámetros de cuantificación de subbloque 105 añade el parámetro de cuantificación de bloque básico reproducido y cada valor de diferencia del parámetro de cuantificación de subbloque para reproducir cada parámetro de cuantificación de subbloque. La unidad de adición de parámetros de cuantificación de subbloque 105 envía a través de un terminal 106 cada parámetro de cuantificación de subbloque reproducido a la unidad de cuantificación inversa de bloque 1104 en figura 6.
La unidad de decodificación de parámetros de cuantificación de bloque básico 103 introduce el código del parámetro de cuantificación de bloque básico desde el terminal 101, decodifica el código del parámetro de cuantificación de bloque básico utilizando el código de Golomb para reproducir un parámetro de cuantificación de bloque básico, y almacena el código resultante.
La unidad de decodificación de parámetros de cuantificación de subbloques 104 introduce los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque desde el terminal 102 y decodifica los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque utilizando el código de Golomb para reproducir un valor de diferencia del parámetro de cuantificación del subbloque. Específicamente, la unidad de decodificación de parámetros de cuantificación de subbloques 104 decodifica un código de un bit que indica la presencia o existencia de un cambio con respecto al parámetro de cuantificación de bloque básico. Cuando no hay ningún cambio, la unidad de decodificación de parámetros de cuantificación de subbloques 104 emite cero como valor de diferencia del parámetro de cuantificación del subbloque a la unidad de adición de parámetros de cuantificación de subbloques 105. Cuando existe un cambio, la unidad de decodificación de parámetros de cuantificación de subbloques 104 decodifica posteriormente el valor de diferencia del parámetro de cuantificación de subbloque y envía el valor resultante a la unidad de adición de parámetros de cuantificación de subbloques 105. La unidad de adición de parámetros de cuantificación de subbloques 105 añade el valor de diferencia del parámetro de cuantificación de subbloque al parámetro de cuantificación de bloque básico reproducido, para reproducir un parámetro de cuantificación de subbloque, y emite el parámetro de cuantificación de subbloque reproducido hacia la salida a través del terminal 106.
Haciendo referencia de nuevo a la figura 6, la unidad de decodificación de bloques 1103 introduce los datos del código del coeficiente de cuantificación de subbloque separados de la secuencia de bits por la unidad de decodificación y separación 1101, decodifica los datos del código del coeficiente de cuantificación del subbloque introducidos utilizando el código de Golomb para reproducir cada coeficiente de cuantificación de subbloque, y emite el coeficiente de cuantificación de subbloque reproducido hacia la unidad de cuantificación inversa de bloques 1104. La unidad de cuantificación inversa de bloques 1104 aplica la cuantificación inversa al coeficiente de cuantificación del subbloque introducido y al parámetro de cuantificación de subbloque para reproducir un coeficiente de transformación ortogonal, y emite el coeficiente de transformación ortogonal reproducido hacia la unidad de transformación inversa de bloques 1105. La unidad de transformación inversa de bloques 1105 aplica la transformación inversa al coeficiente de transformación ortogonal reproducido para reproducir un error de predicción, y envía el error de predicción reproducido a la unidad de reproducción de bloques 1106. La unidad de reproducción de bloques 1106 introduce el error de predicción reproducido, realiza una predicción en base a los datos de píxeles decodificados circundantes o los datos de píxeles de fotograma predeterminados para reproducir datos de imagen de subbloque, y envía los datos de la imagen de subbloque reproducida a la unidad de combinación de bloques 1107. La unidad de combinación de bloques 1107 dispone los datos de la imagen de subbloque reproducida en las respectivas posiciones para reproducir los datos de la imagen del bloque básico y envía los datos de la imagen del bloque básico reproducidos al exterior a través del terminal 1108. La unidad de combinación de bloques 1107 emite asimismo los datos de la imagen del bloque básico reproducida a la unidad de reproducción de bloques 1106 para el cálculo del valor predicho.
La figura 8 es un diagrama de flujo que muestra el procesamiento de decodificación de imagen por el dispositivo de decodificación de imagen según la segunda realización a modo de ejemplo de la presente invención. En la etapa S101, la unidad de decodificación y separación 1101 decodifica la información de cabecera.
En la etapa S102, la unidad de decodificación de parámetros de cuantificación de bloques básicos 103 decodifica el código del parámetro de cuantificación del bloque básico para reproducir un parámetro de cuantificación del bloque básico.
En la etapa S103, la unidad de decodificación de parámetros de cuantificación de subbloques 104 decodifica los datos codificados del valor de diferencia de parámetro de cuantificación de subbloque para reproducir un valor de diferencia de parámetro de cuantificación de subbloque. La unidad de adición de parámetro de cuantificación de subbloque 105 añade el parámetro de cuantificación de bloque básico al valor de diferencia del parámetro de cuantificación de subbloque para reproducir un parámetro de cuantificación de subbloque.
En la etapa S104, el dispositivo de decodificación de imagen decodifica los datos de código del coeficiente de cuantificación de subbloque para reproducir un coeficiente de cuantificación, y aplica la cuantificación inversa y la transformación ortogonal inversa a los datos codificados del coeficiente de cuantificación de subbloque decodificado para reproducir un error de predicción. El dispositivo de decodificación de imagen realiza, además, una predicción en base a los datos de píxeles decodificados circundantes o los datos de píxeles de fotograma anteriores para reproducir una imagen decodificada del subbloque.
En la etapa S105, el dispositivo de decodificación de imagen dispone la imagen decodificada del subbloque en la imagen decodificada del bloque básico. En la etapa S106, el dispositivo de decodificación de imagen determina si se ha completado el procesamiento de decodificación para todos los subbloques en el bloque básico relevante. Cuando el procesamiento de decodificación se ha completado para todos los subbloques (SÍ en la etapa S106), el procesamiento continúa a la etapa S107. Cuando el proceso de decodificación no se ha completado para todos los subbloques (NO en la etapa S106), el procesamiento vuelve a la etapa S103 para procesar el siguiente subbloque.
En la etapa S107, el dispositivo de decodificación de imagen dispone la imagen decodificada del bloque básico en la imagen decodificada del fotograma. En la etapa S108, el dispositivo de decodificación de imagen determina si se ha completado el proceso de decodificación para todos los bloques básicos. Cuando el procesamiento de decodificación se ha completado para todos los bloques básicos (SÍ en la etapa S108), el dispositivo de decodificación de imagen detiene todas las operaciones para terminar el procesamiento. Cuando procesamiento de decodificación no se ha completado el para todos los bloques básicos (NO en la etapa S108), el procesamiento vuelve a la etapa S102 para el siguiente bloque básico.
La configuración y operaciones mencionadas anteriormente permiten decodificar una secuencia de bits con una cantidad reducida de códigos, generada en la primera realización a modo de ejemplo, para obtener la imagen reproducida.
Si la identificación de código es posible para cada subbloque utilizando un símbolo delimitador, es posible realizar diferentes operaciones en paralelo, es decir, reproducir los parámetros de cuantificación de subbloque, aplicar la cuantificación inversa y la transformación inversa a los subbloques reproducidos y reproducir datos de imagen, logrando así una decodificación de alta velocidad.
Las figuras 9A y 9B muestran un ejemplo de procesamiento en paralelo para aplicar los procesamientos de decodificación, cuantificación inversa y transformación inversa a los subbloques 10001 a 10006 en el bloque básico 10000 mostrado en la figura 2A para reproducir errores de predicción. De manera similar a las figuras 5A y 5B según la primera realización a modo de ejemplo de la presente invención, se supone que se utilizan tres procesadores para simplificar descripciones. En este ejemplo, los tres procesadores decodifican cada valor de diferencia del parámetro de cuantificación de subbloque (.delta.QP) para reproducir un parámetro de cuantificación (QP), decodifican el coeficiente de cuantificación y aplican la cuantificación inversa y la transformación ortogonal inversa al coeficiente de cuantificación. En este caso, otro procesador separa dichos códigos.
La figura 9A muestra un ejemplo de procesamiento en paralelo convencional. En primer lugar, el dispositivo de decodificación de imagen asigna el procesamiento del subbloque 10001 al procesador A, el procesamiento del subbloque 10002 al procesador B y el procesamiento del subbloque 10003 al procesador C. Dado que el procesador A, como primer procesador, decodifica el parámetro de cuantificación de subbloque por sí mismo, los procesadores B y C decodifican cada valor de diferencia de parámetro de cuantificación de subbloque y, a continuación, reproducen un parámetro de cuantificación de subbloque. El procesamiento antes mencionado se consigue sumando el parámetro de cuantificación de subbloque de los subbloques antes de convertirse en un valor predicho del parámetro de cuantificación de subbloque y del valor de diferencia del parámetro de cuantificación de subbloque. La decodificación del parámetro de cuantificación del subbloque 10001 debe completarse para iniciar la reproducción del parámetro de cuantificación de subbloque para el subbloque 10002. Esto significa que el procesador B espera hasta que el procesador A completa la reproducción del parámetro de cuantificación para el subbloque 10001.
Esto se aplica asimismo a la reproducción del parámetro de cuantificación para el subbloque 10002. El procesador C espera hasta que el procesador B completa la reproducción del parámetro de cuantificación para el subbloque 10002. Posteriormente, cada uno de los procesadores que completó el procesamiento procesa los subbloques en el orden de la estructura de árbol cuaternario, es decir, en el orden del subbloque 10004, el subbloque 10005 y el subbloque 10006. Es necesario completar la reproducción del parámetro de cuantificación para el subbloque 10005 para iniciar la reproducción del parámetro de cuantificación de subbloque para el subbloque 10006. Esto significa que el procesador C espera hasta que el procesador A completa la reproducción del parámetro de cuantificación para el subbloque 10005.
La figura 9B muestra un ejemplo de procesamiento en paralelo según la presente realización a modo de ejemplo. En primer lugar, el procesador A decodifica y almacena el parámetro de cuantificación de bloque básico. Posteriormente, de manera similar al caso convencional, el dispositivo de decodificación de imagen asigna el procesamiento del subbloque 10001 al procesador A, el procesamiento del subbloque 10002 al procesador B y el procesamiento del subbloque 10003 al procesador C. Después de decodificar el valor de diferencia del parámetro de cuantificación de subbloque, el dispositivo de decodificación de imagen reproduce un parámetro de cuantificación de subbloque. Puesto que se ha reproducido el parámetro de cuantificación de bloque básico, la reproducción del parámetro de cuantificación para el subbloque 10002 puede iniciarse inmediatamente después de decodificar el valor de diferencia del parámetro de cuantificación del subbloque. La presente invención consigue un procesamiento en paralelo eficiente. En concreto, cuando existen subbloques que tienen una serie de tamaños, la presente invención proporciona un efecto importante en la reducción del intervalo de procesamiento.
Supóngase un caso en el que solo un subbloque 10008 en la figura 2A se recorta utilizando una aplicación de edición para recortar una parte de datos de imagen. Con el caso convencional, los subbloques 10001 a 10007 necesitan ser decodificados. Según la presente invención, la decodificación solo de los subbloques 10001 y 10006 permite el procesamiento de decodificación necesario incluyendo la intrapredicción. De este modo, se puede mejorar la velocidad de procesamiento saltándose el proceso de decodificación.
De forma similar a la primera realización a modo de ejemplo de la presente invención, el tamaño de bloque, el tamaño de la unidad de procesamiento, las unidades de procesamiento relacionadas y las disposiciones de píxeles, y los códigos no están limitados a los mismos.
Aunque en la segunda realización a modo de ejemplo se utiliza el código de Golomb para decodificar el parámetro de cuantificación de bloques básicos, el valor de diferencia del parámetro de cuantificación de subbloque y el coeficiente de cuantificación, el procesamiento no está limitado a ello. Por supuesto, es posible utilizar, por ejemplo, la codificación de Huffman y otros procedimientos de codificación aritmética, y emitir los valores antes mencionados como están, sin codificación.
Aunque la segunda realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas utilizando intrapredición, es evidente que la presente realización a modo de ejemplo es aplicable asimismo a fotogramas que pueden utilizar la predicción intermedia que implica una compensación de movimiento en la predicción.
La figura 10 es un diagrama de bloques que muestra un dispositivo de codificación de imagen según una tercera realización a modo de ejemplo de la presente invención. En la tercera realización a modo de ejemplo, un parámetro de cuantificación del primer subbloque (denominado en lo sucesivo parámetro de cuantificación del primer subbloque) se considera un parámetro de cuantificación de bloque básico, y el parámetro de cuantificación de bloque básico no se codifica individualmente. A diferencia de la primera realización de ejemplo de la presente invención, la tercera realización de ejemplo no utiliza un código que indica la existencia o ausencia de un cambio. Sin embargo, de manera similar a la primera realización de la presente invención, la codificación puede realizarse utilizando un código que indica la existencia o ausencia de un cambio. Haciendo referencia a la figura 10, se asignan a los elementos que tienen la misma función que los de la primera realización a modo de ejemplo (véase la figura 1) los mismos números de referencia, y se omitirán descripciones duplicadas.
Una unidad de codificación de parámetros de cuantificación 1208 codifica un parámetro de cuantificación de subbloque para generar datos de código del parámetro de cuantificación. Una unidad de integración y codificación 1209 genera información de cabecera y un código relacionado con la predicción e integra los datos de código del parámetro de cuantificación generados por la unidad de codificación de parámetros de cuantificación 1208 y los datos de código de coeficiente de cuantificación generados por la unidad de codificación de bloques 1006.
La figura 11 es un diagrama de bloques detallado que muestra la unidad de codificación de parámetros de cuantificación 1208. Haciendo referencia a la figura 11, se asignan a los elementos que tienen la misma función que los de la primera realización a modo de ejemplo (véase la figura 3) los mismos números de referencia, y se omitirán descripciones duplicadas.
Un selector 200 selecciona un destino dependiendo de la posición de subbloque para el parámetro de cuantificación del subbloque introducido. Una unidad de almacenamiento de parámetros de cuantificación de bloques básicos 203 almacena el parámetro de cuantificación del primer subbloque como parámetro básico de cuantificación de bloques en el orden de la estructura de árbol cuaternario de la región del bloque básico. Unidad de diferencia de parámetros de cuantificación de subbloques 206 calcula un valor de diferencia entre cada uno de los parámetros de cuantificación de los subbloques subsiguientes y el parámetro de cuantificación de bloque básico. Una unidad de codificación de parámetros de cuantificación de subbloques 207 codifica el parámetro de cuantificación del primer subbloque y el valor de diferencia de parámetro de cuantificación de cada subbloque.
De manera similar a la primera realización de ejemplo, la unidad de codificación de parámetros de cuantificación 1208 que tiene la configuración mencionada anteriormente introduce los parámetros de cuantificación de subbloques desde el terminal 1 en el orden de la estructura del árbol cuaternario de la región. El selector 200 emite el parámetro de cuantificación del primer subbloque hacia la unidad 203 de almacenamiento de parámetros de cuantificación de bloque básico en el orden de la estructura del árbol cuaternario de la región. El selector 200 emite los parámetros de cuantificación de los subbloques subsiguientes hacia la unidad de diferencia de parámetros de cuantificación de subbloques 206.
La unidad de almacenamiento de parámetros de cuantificación de bloques básicos 203 almacena el parámetro de cuantificación del primer subbloque como parámetro de cuantificación del bloque básico. A continuación, la unidad de diferencia de parámetros de cuantificación de subbloques 206 introduce asimismo el parámetro de cuantificación del primer subbloque. Dado que el parámetro de cuantificación del subbloque relevante es el parámetro de cuantificación del primer subbloque en el bloque básico, la unidad de diferencia del parámetro de cuantificación del subbloque 206 no calcula una diferencia y emite el parámetro de cuantificación del subbloque relevante como tal a la unidad de codificación de parámetros de cuantificación de subbloques 207 en la etapa subsiguiente. La unidad de codificación de parámetros de cuantificación de subbloques 207 codifica el parámetro de cuantificación del subbloque introducido mediante codificación de Golomb y envía el código resultante al exterior a través del terminal 8 como datos codificados del parámetro de cuantificación del subbloque.
Posteriormente, la unidad de diferencia de parámetros de cuantificación de subbloques 206 introduce desde el terminal 1 a través del selector 200 parámetros de cuantificación de subbloques en el orden de la estructura del árbol cuaternario de la región. La unidad de diferencia de parámetros de cuantificación de subbloques 206 calcula un valor de diferencia entre cada parámetro de cuantificación de subbloque introducido y el parámetro de cuantificación de bloque básico almacenado en la unidad de almacenamiento de parámetros de cuantificación de bloques básicos 203. La unidad de codificación de parámetros de cuantificación de subbloques 207 codifica el parámetro de cuantificación del subbloque mediante codificación de Golomb para generar datos codificados del valor de diferencia del parámetro de cuantificación del subbloque, y envía los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque generados al exterior a través del terminal 8 como datos codificados del parámetro de cuantificación del subbloque. Posteriormente, la unidad de codificación del parámetro de cuantificación del subbloque 207 obtiene y codifica un valor de diferencia del parámetro de cuantificación de subbloque de cada subbloque en el bloque básico.
La figura 12 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la tercera realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 12, se asignan a los elementos que tienen la misma función que los de la primera realización a modo de ejemplo (véase la figura 4) los mismos números de referencia, y se omitirán descripciones duplicadas.
En las etapas S001 a S004, de manera similar a la primera realización a modo de ejemplo de la presente invención, el dispositivo de codificación de imagen recorta un bloque básico, divide el bloque básico en una serie de subbloques y determina parámetros de cuantificación de subbloques.
En la etapa S205, el dispositivo de codificación de imagen almacena el parámetro de cuantificación del primer subbloque como parámetro de cuantificación del bloque básico.
En la etapa S206, el dispositivo de codificación de imagen determina si el subbloque introducido es el primer subbloque en el bloque básico. Cuando el subbloque introducido es el primer subbloque, el procesamiento continúa a la etapa S208 (SÍ en la etapa S206). De lo contrario, cuando el subbloque introducido no es el primer subbloque (NO en la etapa S206), el proceso continúa a la etapa S207. En la etapa S207, el dispositivo de codificación de imagen calcula la diferencia entre el parámetro de cuantificación del bloque básico almacenado en la etapa S205 y el parámetro de cuantificación del subbloque introducido.
En la etapa S208, el dispositivo de codificación de imagen codifica el parámetro de cuantificación de subbloque introducido o el valor de diferencia del parámetro de cuantificación de subbloque mediante la codificación de Golomb y emite el código resultante como datos codificados del parámetro de cuantificación del subbloque.
En las etapas S008 y S009, el dispositivo de codificación de imagen realiza un procesamiento similar al dispositivo de codificación de imagen según la primera realización a modo de ejemplo de la presente invención. En la etapa S210, el dispositivo de codificación de imagen determina si el procesamiento de codificación se ha completado para todos los subbloques en el bloque básico. Cuando el procesamiento de codificación no se ha completado para todos los subbloques (NO en la etapa S210), el procesamiento continúa a la etapa S206 para procesar el siguiente subbloque. Cuando el proceso de codificación se ha completado para todos los subbloques (SI en la etapa S210), el proceso continúa a la etapa S011. Posteriormente, el dispositivo de codificación de imagen realiza el procesamiento de codificación para toda la imagen de manera similar al dispositivo de codificación de imagen según la primera realización a modo de ejemplo de la presente invención. Con la configuración y operaciones antes mencionadas, considerar el parámetro de cuantificación del primer subbloque como parámetro de cuantificación del bloque básico elimina la necesidad de transferir el parámetro de cuantificación del bloque básico, dando como resultado una mayor eficacia de codificación.
La configuración y las operaciones mencionadas anteriormente permiten, además, el procesamiento en paralelo efectivo similar a la primera realización a modo de ejemplo de la presente invención. Específicamente, haciendo referencia a la figura 5a , en la primera etapa de procesamiento en paralelo, los procesadores B y C necesitan esperar hasta que el procesador A completa el cálculo del parámetro de cuantificación del primer subbloque. Posteriormente, sin embargo, los procesadores B y C pueden calcular el valor de diferencia del parámetro de cuantificación del subbloque 10005 sin esperar a que el procesador A complete el procesamiento del subbloque 10004.
Por supuesto, es posible proporcionar un código para conmutar entre el procedimiento para codificar el parámetro de cuantificación del bloque básico en la primera realización a modo de ejemplo y el procedimiento para considerar el parámetro de cuantificación de primer subbloque como un parámetro de cuantificación del bloque básico en la presente realización a modo de ejemplo, y seleccionar lo que tenga mayor eficiencia de codificación.
Aunque el mismo procedimiento de codificación se aplica al parámetro de cuantificación del primer subbloque (parámetro de cuantificación del bloque básico) y los valores subsiguientes de diferencia del parámetro de cuantificación del subbloque, el procesamiento no está limitado a ello. Naturalmente, es posible aplicar diferentes procedimientos de codificación al parámetro de cuantificación del primer subbloque y los siguientes valores de diferencia del parámetro de cuantificación del subbloque.
Aunque en la tercera realización a modo de ejemplo, el parámetro de cuantificación del bloque básico, el valor de diferencia del parámetro de cuantificación de subbloque y el coeficiente de cuantificación están codificados mediante codificación de Golomb, el tratamiento no está limitado a ello. Por supuesto, es posible utilizar, por ejemplo, la codificación de Huffman y otros procedimientos de codificación aritmética.
Aunque la tercera realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas que utilizan la intrapredicción, es evidente que la presente realización a modo de ejemplo es aplicable asimismo a fotogramas que pueden utilizar la interpredicción que implica compensación de movimiento en la predicción.
A continuación, se describirá una cuarta realización a modo de ejemplo de la presente invención basada en un procedimiento de decodificación de la imagen para decodificar datos de código codificados utilizando el procedimiento de codificación según la realización de la tercera realización a modo de ejemplo de la presente invención. La figura 13 es un diagrama de bloques que muestra un dispositivo de decodificación de imagen para decodificar datos de código codificados utilizando el procedimiento de codificación según la tercera realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 13, se asignan a los elementos que tienen la misma función que los de la segunda realización a modo de ejemplo (véase la figura 6) los mismos números de referencia, y se omitirán descripciones duplicadas.
Haciendo referencia a la figura 13, una unidad de decodificación y separación 1301 decodifica la información de cabecera de una secuencia de bits, separa los códigos requeridos de la secuencia de bits y emite los códigos separados a la etapa siguiente. Una unidad de decodificación de parámetros de cuantificación 1302 reproduce un parámetro de cuantificación de subbloque. La unidad de decodificación y separación 1301 y la unidad de decodificación de parámetros de cuantificación 1302 difieren en los datos de código del parámetro de cuantificación de la unidad de decodificación y separación 1101 y la unidad de decodificación de parámetros de cuantificación 1102 (véase la figura 6), respectivamente, según la segunda realización de ejemplo.
A continuación se describirá el procesamiento de decodificación de la imagen por el dispositivo de codificación de imagen según la presente realización a modo de ejemplo. Aunque, en la presente realización a modo de ejemplo, una secuencia de bits de imagen en movimiento generada por el dispositivo de codificación de imagen según la tercera realización a modo de ejemplo se introduce en unidades de fotograma, se puede introducir una secuencia de bits de imagen fija para un fotograma.
De manera similar a la segunda realización a modo de ejemplo, la unidad de decodificación y separación 1301 introduce datos de la secuencia para un fotograma desde el terminal 1100 y decodifica la información de cabecera requerida para reproducir una imagen. Posteriormente, la unidad de decodificación del parámetro de cuantificación 1302 introduce los datos codificados del parámetro de cuantificación del subbloque en el orden de la estructura del árbol cuaternario de la región.
La figura 14 es un diagrama de bloques detallado que muestra la unidad de decodificación de parámetros de cuantificación 1302. Haciendo referencia a la figura 14, se asignan a los elementos que tienen la misma función que los de la segunda realización a modo de ejemplo (véase la figura 7) los mismos números de referencia, y se omitirán descripciones duplicadas.
Una unidad de decodificación de parámetros de cuantificación de subbloques 304 decodifica el parámetro de cuantificación del subbloque y los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque para reproducir cada valor de diferencia del parámetro de cuantificación del subbloque. Un selector 300 selecciona un destino dependiendo de la posición del subbloque para el parámetro de cuantificación del subbloque introducido. Una unidad de almacenamiento de parámetros de cuantificación de bloques básicos 310 almacena como parámetro de cuantificación de bloque básico el parámetro de cuantificación del subbloque decodificado en primer lugar. Una unidad de adición de parámetros de cuantificación de subbloques 305 añade el parámetro de cuantificación del bloque básico y cada valor de diferencia del parámetro de cuantificación del subbloque para reproducir el parámetro de cuantificación de cada subbloque.
Con la configuración mencionada anteriormente, el selector 300 selecciona la unidad de almacenamiento de parámetros de cuantificación de bloques básicos 310 como destino cuando se inicia la decodificación del bloque básico. La unidad de decodificación de parámetros de cuantificación de subbloques 304 introduce los datos codificados del parámetro de cuantificación de subbloque del primer subbloque en el bloque básico desde el terminal 102, y decodifica los datos codificados del parámetro de cuantificación del subbloque utilizando el código de Golomb para reproducir un parámetro de cuantificación de subbloque. La unidad de almacenamiento de parámetros de cuantificación de bloques básicos 310 introduce el parámetro de cuantificación del primer subbloque a través del selector 300, y almacena el parámetro de cuantificación del subbloque durante el procesamiento del bloque básico relevante. A continuación, la unidad de adición de parámetros de cuantificación de subbloques 305 introduce asimismo el parámetro de cuantificación del primer subbloque. Dado que el valor de diferencia no existe para el primer subbloque, la unidad de adición de parámetros de cuantificación de subbloques 305 emite el parámetro de cuantificación del subbloque reproducido tal como está al exterior a través del terminal 106. Cuando la unidad de almacenamiento de parámetros de cuantificación de bloques básicos 310 almacena el parámetro de cuantificación del primer subbloque, el selector 300 selecciona la unidad de adición de parámetros de cuantificación de subbloques 305 como destino.
Posteriormente, la unidad de decodificación de parámetros de cuantificación de subbloques 304 introduce los segundos y subsiguientes datos codificados del valor de diferencia del parámetro de cuantificación del subbloque. La unidad de decodificación de parámetros de cuantificación de subbloques 304 decodifica los datos codificados con el valor de diferencia del parámetro de cuantificación del subbloque introducido mediante el código de Golomb para reproducir un valor de diferencia del parámetro de cuantificación del subbloque. La unidad de adición de parámetros de cuantificación de subbloques 305 añade el valor de diferencia del parámetro de cuantificación del subbloque (introducido a través del selector 300) al parámetro de cuantificación del bloque básico almacenado en la unidad de almacenamiento de parámetros de cuantificación de bloques básicos 310. La unidad de adición de parámetros de cuantificación de subbloques 305 reproduce un parámetro de cuantificación del subbloque de esta manera y emite el parámetro de cuantificación del subbloque reproducido al exterior a través del terminal 106. Posteriormente, la unidad de decodificación de parámetros de cuantificación 1302 decodifica el parámetro de cuantificación de subbloque de cada subbloque en el bloque básico, calcula el valor de diferencia del parámetro de cuantificación del subbloque y añade el valor de diferencia del parámetro de cuantificación del subbloque calculado al parámetro de cuantificación del bloque básico para reproducir un parámetro de cuantificación del subbloque.
La figura 15 es un diagrama de flujo que muestra el procesamiento de decodificación de imagen según la cuarta realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 15, se asignan a los elementos que tienen la misma función que los de la segunda realización a modo de ejemplo (véase la figura 8) los mismos números de referencia, y se omitirán descripciones duplicadas.
En la etapa S101, el dispositivo de decodificación de imagen decodifica la información de cabecera de manera similar al dispositivo de decodificación de imagen según la segunda realización a modo de ejemplo de la presente invención. En la etapa S310, el dispositivo de decodificación de imagen determina si el subbloque sometido a decodificación es el primer subbloque en el bloque básico. Cuando el subbloque sometido a decodificación es el primer subbloque (SÍ en la etapa S310), el procesamiento continúa a la etapa S311. De lo contrario, cuando el subbloque sometido a decodificación no es el primer subbloque (NO en la etapa S310), el procesamiento continúa a la etapa S303.
En la etapa S311, el dispositivo de decodificación de imagen decodifica el código relacionado con el parámetro de cuantificación del subbloque introducido, es decir, los datos codificados del parámetro de cuantificación del subbloque utilizando el código de Golomb, y almacena el código resultante como un parámetro de cuantificación del bloque básico. A continuación, el procesamiento continúa a la etapa S104 para generar una imagen decodificada del primer subbloque.
En la etapa S303, el dispositivo de decodificación de imagen decodifica el código relacionado con el parámetro de cuantificación del subbloque introducido, es decir, los datos codificados con el valor de diferencia del parámetro de cuantificación del subbloque utilizando el código de Golomb para reproducir un valor de diferencia del parámetro de cuantificación del subbloque. El dispositivo de decodificación de imagen añade el valor de diferencia del parámetro de cuantificación del subbloque reproducido al parámetro de cuantificación del bloque básico almacenado en la etapa S311, y utiliza el resultado de la adición como parámetro de cuantificación del subbloque. El procesamiento continúa a la etapa S104 para generar imágenes decodificadas del segundo y subsiguientes subbloques.
Posteriormente, de manera similar a la segunda realización a modo de ejemplo de la presente invención, el dispositivo de decodificación de imagen genera una imagen decodificada del subbloque y reproduce una imagen del fotograma.
La configuración y las operaciones mencionadas anteriormente permiten decodificar datos codificados con una cantidad reducida de códigos generados en la tercera realización a modo de ejemplo, sin codificar individualmente el parámetro básico de cuantificación.
La configuración y las operaciones mencionadas anteriormente permiten un procesamiento en paralelo efectivo similar a la segunda realización a modo de ejemplo de la presente invención. Específicamente, haciendo referencia a la figura 9B, el procesador A realiza la decodificación del parámetro de cuantificación del primer subbloque para el bloque básico en lugar de la decodificación del parámetro de cuantificación del bloque básico. Este procesamiento sustituye a la decodificación del parámetro de cuantificación del bloque básico y la decodificación del valor de diferencia del parámetro de cuantificación del primer subbloque. Esto significa que, en la primera etapa del procesamiento en paralelo, los procesadores B y C necesitan esperar hasta que el procesador A completa la decodificación del parámetro de cuantificación del primer subbloque. Posteriormente, los procesadores B y C pueden iniciar la reproducción de los parámetros de cuantificación de todos los subbloques sin esperar hasta que el procesador A completa el procesamiento de otros subbloques.
Aunque en la cuarta realización a modo de ejemplo se utiliza el código de Golomb para decodificar el parámetro de cuantificación del bloque básico, el valor de diferencia de los parámetros de cuantificación de subbloque y el coeficiente de cuantificación, el procesamiento no está limitado a ello. Por supuesto, es posible utilizar, por ejemplo, la codificación de Huffman y otros procedimientos de codificación aritmética.
Cuando se proporciona un código para conmutar entre el procedimiento para codificar el parámetro de cuantificación del bloque básico en la tercera realización a modo de ejemplo y el procedimiento para considerar el parámetro de cuantificación del primer subbloque como el parámetro de cuantificación del bloque básico en la cuarta realización a modo de ejemplo, el dispositivo de decodificación de imagen interpreta el código y ejecuta la etapa S102 en la figura 8. Alternativamente, el dispositivo de decodificación de imagen selecciona preferiblemente si las etapas S310, S311 y S303 en la figura 15 se deben ejecutar.
Aunque la cuarta realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas utilizando intrapredicción, es evidente que la presente forma de realización a modo de ejemplo es también aplicable a fotogramas que pueden utilizar interpredicción, lo que implica compensación de movimiento en la predicción.
A continuación se describirá una quinta realización a modo de ejemplo de la presente invención en base a la determinación del parámetro de cuantificación del bloque básico utilizando el parámetro de cuantificación del subbloque en el último bloque básico.
Un dispositivo de codificación de imagen según la quinta realización a modo de ejemplo tiene una configuración similar al dispositivo de codificación de imagen según la tercera realización de la presente invención (véase la figura 10), con una diferencia en la configuración de la unidad de codificación de parámetros de cuantificación 1208.
La figura 16 es un diagrama de bloques que muestra una configuración detallada de la unidad de codificación de parámetros de cuantificación 1208 según la quinta realización a modo de ejemplo de la presente invención.
Haciendo referencia a la figura 16, un selector 400 selecciona una fuente dependiendo de la posición del bloque básico para el parámetro de cuantificación del subbloque introducido. Una unidad de almacenamiento de parámetros de cuantificación de subbloques 410 almacena los parámetros de cuantificación de subbloque del bloque básico anterior. Una unidad de determinación de parámetros de cuantificación de bloques básicos 403 determina el parámetro de cuantificación de bloque básico del bloque básico sometido a codificación en base a los parámetros de cuantificación de subbloques almacenados en la unidad de almacenamiento de parámetros de cuantificación de subbloques 410. Una unidad de diferencia de parámetros de cuantificación de subbloques 406 calcula el valor de diferencia entre el parámetro de cuantificación de bloque básico y cada parámetro de cuantificación de subbloque. Una unidad de codificación de parámetros de cuantificación de subbloques 407 codifica el valor de diferencia entre el parámetro de cuantificación del primer subbloque y el parámetro de cuantificación de cada subbloque.
Con la configuración mencionada anteriormente, de manera similar a la tercera realización a modo de ejemplo, la unidad de división de bloques 1001 divide los datos de imagen (entrada desde el terminal 1000) en una serie de subbloques, y la unidad de determinación de parámetros de cuantificación 1002 determina el parámetro de cuantificación de cada subbloque. La unidad de determinación de parámetros de cuantificación 1002 emite el parámetro de cuantificación de cada subbloque determinado a la unidad de codificación de parámetros de cuantificación 1208.
Haciendo referencia a la figura 16, cuando el parámetro de cuantificación de subbloque introducido es el parámetro de cuantificación del primer subbloque en el primer bloque básico de los datos de imagen, el selector 400 selecciona una entrada desde el terminal 1. La unidad de determinación de parámetros de cuantificación de bloques básicos 403 introduce el parámetro de cuantificación del subbloque a través de la unidad de almacenamiento de parámetros de cuantificación de subbloques 410, la unidad de diferencia de parámetros de cuantificación de subbloques 406 y el selector 400. La unidad de almacenamiento de parámetros de cuantificación de subbloques 410 almacena el parámetro de cuantificación de subbloque para procesar el siguiente bloque básico. De manera similar a la unidad de almacenamiento de parámetros de cuantificación de bloques básicos 203 según la tercera realización a modo de ejemplo, la unidad de determinación de parámetros de cuantificación de bloques básicos 403 almacena el parámetro de cuantificación de subbloque introducido como un parámetro de cuantificación del bloque básico. De manera similar a la unidad de diferencia de parámetros de cuantificación de subbloques 206 según la tercera realización a modo de ejemplo de la presente invención, la unidad de diferencia de parámetros de cuantificación de subbloques 406 emite el parámetro de cuantificación del subbloque tal como está a la unidad 407 de codificación de parámetros de cuantificación de subbloques. La unidad de codificación de parámetros de cuantificación de subbloques 407 codifica el parámetro de cuantificación del primer subbloque mediante la codificación de Golomb, y envía el código resultante al exterior a través del terminal 8.
Posteriormente, la unidad de almacenamiento de parámetros de cuantificación de subbloques 410 y la unidad de diferencia de parámetros de cuantificación de subbloques 406 introducen los parámetros de cuantificación de otros subbloques del primer bloque básico de los datos de imagen desde el terminal 1. La unidad de diferencia de parámetros de cuantificación de subbloques 406 calcula el valor de diferencia entre el parámetro de cuantificación de bloques básicos emitido desde la unidad de determinación de parámetros de cuantificación de bloques básicos 403 y el parámetro de cuantificación de subbloque introducido. La unidad de codificación de parámetros de cuantificación de subbloques 407 introduce el valor de diferencia, codifica el valor de diferencia de manera similar a la tercera realización a modo de ejemplo y envía el código resultante al exterior a través del terminal 8.
A continuación se describirá el procesamiento de bloques básicos de imagen introducidos, que no son el primer bloque básico. Antes del procesamiento de codificación para un bloque básico, el selector 400 selecciona la unidad de almacenamiento de parámetros de cuantificación de subbloques 410 como fuente. La unidad de determinación de parámetros de cuantificación de bloques básicos 403 calcula un promedio de los parámetros de cuantificación de subbloque almacenados y considera el promedio como el parámetro de cuantificación del bloque básico. A continuación, la unidad de diferencia de parámetros de cuantificación de subbloques 406 introduce los parámetros de cuantificación de subbloque del bloque básico relevante desde el terminal 1. La unidad de diferencia de parámetros de cuantificación de subbloques 406 calcula el valor de diferencia entre el parámetro de cuantificación del bloque básico emitido desde la unidad de determinación de parámetros de cuantificación de bloques básicos 403 y cada parámetro de cuantificación de subbloque introducido. La unidad de codificación de parámetros de cuantificación de subbloques 407 introduce un valor de diferencia, codifica el valor de diferencia de manera similar a la tercera realización a modo de ejemplo y envía el código resultante al terminal 8.
La figura 17 es un diagrama de flujo que muestra el procesamiento de codificación de la imagen por el dispositivo de codificación de imagen según la quinta realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 17, se asignan a los elementos que tienen la misma función que los de la primera realización a modo de ejemplo (véase la figura 4) los mismos números de referencia, y se omitirán descripciones duplicadas.
En las etapas S001 a S003, de manera similar al dispositivo de codificación de imagen según la primera realización a modo de ejemplo, el dispositivo de codificación de imagen codifica la información de cabecera, recorta un bloque básico a partir de los datos de imagen y divide el bloque básico en una serie de subbloques. En la etapa S401, el dispositivo de codificación de imagen determina si el bloque básico relevante es el primer bloque básico de la imagen. Cuando el bloque básico relevante es el primer bloque básico (SÍ en la etapa S401), el procesamiento continúa a la etapa S402. De lo contrario, cuando el bloque básico relevante no es el primer bloque básico (NO en la etapa S401), el procesamiento continúa a la etapa S409. En la etapa S402, el dispositivo de codificación de imagen determina si el subbloque relevante es el primer subbloque en el primer bloque básico. Cuando el subbloque relevante es el primer subbloque (SÍ en la etapa S402), el proceso continúa a la etapa S403. De lo contrario, cuando el subbloque relevante no es el primer subbloque (NO en la etapa S402), el procesamiento continúa a la etapa S406.
En la etapa S403, el dispositivo de codificación de imagen determina un parámetro de cuantificación del primer subbloque del primer bloque básico y almacena el parámetro de cuantificación del primer subbloque de modo que se haga referencia durante el procesamiento del siguiente bloque básico. En la etapa S404, el dispositivo de codificación de imagen almacena el parámetro de cuantificación del subbloque determinado en la etapa S403 como parámetro de cuantificación del bloque básico. En la etapa S405, el dispositivo de codificación de imagen codifica el parámetro de cuantificación de subbloque determinado en la etapa S403, y el procesamiento continúa a la etapa S008. En la etapa S406, el dispositivo de codificación de imagen determina un parámetro de cuantificación de subbloque del subbloque relevante y almacena el parámetro de cuantificación de subbloque determinado para que se haga referencia durante el procesamiento del siguiente bloque básico.
En la etapa S407, el dispositivo de codificación de imagen resta el parámetro de cuantificación de bloque básico almacenado en la etapa S404 del parámetro de cuantificación de subbloque determinado en la etapa S406 para calcular un valor de diferencia de parámetro de cuantificación de subbloque del subbloque relevante. En la etapa S408, el dispositivo de codificación de imagen codifica el valor de diferencia del parámetro de cuantificación de subbloque calculado en la etapa S407 para generar datos codificados del valor de diferencia del parámetro de cuantificación, y el procesamiento continúa a la etapa S008. En la etapa S409, el dispositivo de codificación de imagen determina si el subbloque relevante es el primer subbloque en el segundo bloque básico subsiguiente. Cuando el subbloque relevante es el primer subbloque (SÍ en la etapa S409), el procesamiento continúa a la etapa S410. En caso contrario, cuando el subbloque relevante no es el primer subbloque (NO en la etapa S409), el proceso continúa a la etapa S406. En la etapa S410, haciendo referencia a los parámetros de cuantificación de subbloque del bloque básico anterior almacenados en la etapa S403 o S406, el dispositivo de codificación de imagen calcula el parámetro de cuantificación de bloque básico del bloque básico relevante. En la presente realización a modo de ejemplo, el dispositivo de codificación de imagen calcula un promedio de los parámetros de cuantificación de subbloque antes mencionados y considera el promedio como un parámetro básico de cuantificación de bloques. En la etapa S411, el dispositivo de codificación de imagen determina el parámetro de cuantificación de subbloque del subbloque correspondiente y almacena el parámetro de cuantificación de subbloque de modo que se haga referencia durante el procesamiento del siguiente bloque básico.
En la etapa S412, el dispositivo de codificación de imagen resta el parámetro de cuantificación de bloque básico calculado en la etapa S410 a partir del parámetro de cuantificación de subbloque determinado en la etapa S411 para calcular el valor de diferencia del parámetro de cuantificación de subbloque del subbloque relevante.
En la etapa S413, el dispositivo de codificación de imagen codifica el valor de diferencia del parámetro de cuantificación del subbloque calculado en la etapa S412 para generar datos codificados del valor de diferencia del parámetro de cuantificación, y el proceso continúa a la etapa S008. En la etapa S414, el dispositivo de codificación de imagen determina si se ha completado el procesamiento de codificación para todos los subbloques en el bloque básico relevante. Cuando el procesamiento de codificación se ha completado para todos los subbloques (SÍ en la etapa S414), el procesamiento continúa a la etapa S011. De lo contrario, cuando el procesamiento de codificación no se ha completado para todos los subbloques (NO en la etapa S414), el procesamiento vuelve a la etapa S401 para procesar el siguiente subbloque. En las etapas S008, S009 y S011, el dispositivo de codificación de imagen realiza un procesamiento de manera similar a la primera realización a modo de ejemplo para codificar la imagen completa.
Con la configuración y las operaciones mencionadas anteriormente, la determinación del parámetro de cuantificación de bloque básico utilizando los parámetros de cuantificación de subbloque del bloque básico anterior permite determinar el parámetro de cuantificación de bloque básico del bloque básico relevante inmediatamente después de iniciar el procesamiento del bloque básico relevante, lo que resulta en un menor retardo del procesamiento. Además, calcular el parámetro de cuantificación del bloque básico en base a los parámetros de cuantificación de subbloque del bloque básico anterior elimina la necesidad de transferir el parámetro de cuantificación del bloque básico, dando como resultado una mayor eficiencia de codificación.
La configuración y las operaciones mencionadas anteriormente permiten, además, un procesamiento en paralelo efectivo similar a la primera realización a modo de ejemplo de la presente invención. Específicamente, haciendo referencia a la figura 5B, antes del procesamiento de codificación, el parámetro de cuantificación del bloque básico se calcula en base a los parámetros de cuantificación de subbloque del bloque básico anterior. Esto permite calcular los valores de diferencia del parámetro de cuantificación de todos los subbloques sin esperar a que finalice el procesamiento de cada subbloque individual.
Aunque, en la quinta realización a modo de ejemplo, el parámetro de cuantificación del primer subbloque está codificado como tal solo para el primer bloque básico de la imagen, el proceso no está limitado a ello. Específicamente, es asimismo posible proporcionar una configuración de tipo fragmento, compuesta por una serie de bloques básicos, y aplicar un procesamiento similar al primer bloque básico.
Aunque, en la quinta realización a modo de ejemplo, el parámetro de cuantificación del bloque básico se determina refiriendo a los parámetros de cuantificación de subbloque del bloque básico anterior, el procesamiento no está limitado a ello. Los parámetros de cuantificación del último subbloque del bloque básico anterior pueden considerarse como un parámetro de cuantificación de bloque básico del bloque básico relevante. Naturalmente, es posible referirse a los parámetros de cuantificación de subbloques o al parámetro de cuantificación del bloque básico de los bloques básicos circundantes.
Aunque, en la quinta realización a modo de ejemplo, un promedio de parámetros de cuantificación de subbloque del bloque básico anterior es considerado como un parámetro de cuantificación del bloque básico, el procesamiento no está limitado a ello. Por supuesto, es posible, por ejemplo, que el parámetro de cuantificación del bloque básico pueda ser la mediana de los parámetros de cuantificación de subbloque o el valor del parámetro de cuantificación de subbloque más frecuente. Por supuesto, es posible preparar una serie de procedimientos de cálculo de esta manera, seleccionar el parámetro de cuantificación del bloque básico más eficiente y realizar la codificación utilizando un código que indica el procedimiento de cálculo pertinente.
Aunque la quinta realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas que utilizan la intrapredicción, resulta evidente que la presente realización a modo de ejemplo es también aplicable a fotogramas que pueden utilizar la interpredicción, lo que implica compensación de movimiento en la predicción. A continuación, se describirá una sexta realización a modo de ejemplo de la presente invención en base a un procedimiento de decodificación de imágenes para decodificar datos de código codificados utilizando el procedimiento de codificación según la quinta realización a modo de ejemplo de la presente invención. Un dispositivo de codificación de imagen según la sexta realización a modo de ejemplo tiene una configuración similar al dispositivo de codificación de imagen según la cuarta realización a modo de ejemplo de la presente invención (véase la figura 13), con una diferencia en la configuración de la unidad de decodificación de parámetros de cuantificación 1302.
La figura 18 es un diagrama de bloques que muestra una configuración de la unidad de decodificación de parámetros de cuantificación 1302 según la sexta realización a modo de ejemplo de la presente invención. Haciendo referencia a la figura 18, se asignan a los elementos que tienen la misma función que los de la cuarta realización a modo de ejemplo (véase la figura 14) los mismos números de referencia, y se omitirán descripciones duplicadas. Un selector 500 selecciona un destino que depende de la posición del subbloque para el parámetro de cuantificación del subbloque introducido y de la posición en el bloque básico para el subbloque relevante. Una unidad de decodificación de parámetros de cuantificación de subbloques 501 decodifica el código de un parámetro de cuantificación de subbloque por sí misma para reproducir un parámetro de cuantificación de subbloque. Una unidad de decodificación de valores de diferencia de parámetros de cuantificación de subbloques 502 decodifica el código de un valor de diferencia del parámetro de cuantificación de subbloque para reproducir el valor de diferencia del parámetro de cuantificación del subbloque. Un selector 503 selecciona una fuente dependiendo de la posición del subbloque para el parámetro de cuantificación del subbloque introducido y de la posición en el bloque básico para el subbloque relevante. Una unidad de determinación de parámetros de cuantificación de bloques básicos 504 determina un parámetro de cuantificación de bloque básico. Una unidad de adición de parámetros de cuantificación de subbloques 505 añade el parámetro de cuantificación del bloque básico determinado y el valor de diferencia de cada parámetro de cuantificación de subbloque para reproducir cada parámetro de cuantificación de subbloque. Un selector 506 selecciona una fuente dependiendo de la posición del subbloque para el parámetro de cuantificación de subbloque introducido y de la posición en el bloque básico para el subbloque relevante. Una unidad de almacenamiento de parámetros de cuantificación de subbloques 507 almacena los parámetros de cuantificación de subbloques reproducidos.
A continuación, se describirá el proceso de decodificación por el dispositivo de decodificación de imagen. Aunque en la presente realización a modo de ejemplo se introduce una secuencia de bits de imagen en movimiento en unidades de fotograma, se puede introducir una secuencia de bits de imagen fija para un fotograma.
Antes del proceso de decodificación de una secuencia de bits para un fotograma, el selector 500 selecciona la unidad de decodificación de parámetros de cuantificación de subbloques 501 como destino, y el selector 503 selecciona la unidad de decodificación de parámetros de cuantificación de subbloques 501 como fuente. El selector 505 selecciona la unidad de decodificación de parámetros de cuantificación de subbloques 501 como fuente.
La unidad de decodificación de parámetros de cuantificación de subbloques 501 introduce los datos codificados del parámetro de cuantificación de subbloque del primer bloque básico a través del selector 500. La unidad de decodificación de parámetro de cuantificación de subbloques 501 decodifica los datos codificados utilizando el código de Golomb para reproducir el parámetro de cuantificación del subbloque. La unidad de determinación de parámetros de cuantificación de bloques básicos 504 introduce el parámetro de cuantificación del subbloque mediante el selector 503. Dado que el subbloque del parámetro de cuantificación de subbloque es el primer subbloque del primer bloque básico, la unidad de determinación de parámetros de cuantificación de bloques básicos 504 almacena el parámetro de cuantificación de subbloque introducido como si fuera el parámetro de cuantificación del bloque básico. La unidad de decodificación de parámetros de cuantificación de subbloques 501 emite el parámetro de cuantificación del subbloque reproducido al exterior mediante el selector 505 y el terminal 106. La unidad de almacenamiento de parámetros de cuantificación de subbloques 507 almacena el parámetro de cuantificación del subbloque.
Posteriormente, el selector 500 selecciona la unidad de decodificación de valores de diferencia de parámetros de cuantificación de subbloques 502 como destino, y el selector 503 selecciona la unidad de almacenamiento de parámetros de cuantificación de subbloques 507 como fuente. El selector 505 selecciona la unidad de adición de parámetros de cuantificación de subbloques 305 como fuente.
Cuando la unidad de decodificación de parámetros de cuantificación 1302 introduce los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque del subbloque siguiente, la unidad de decodificación de valores de diferencia de parámetros de cuantificación de subbloques 502 introduce los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque mediante el selector 500. La unidad de decodificación de valores de diferencia de parámetros de cuantificación de subbloques 502 decodifica los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque para reproducir el valor de diferencia del parámetro de cuantificación del subbloque. La unidad de adición de parámetros de cuantificación de subbloques 305 añade el valor de diferencia del parámetro de cuantificación del subbloque al parámetro de cuantificación del bloque básico para reproducir el parámetro de cuantificación de un subbloque, y emite el parámetro de cuantificación de sub bloque reproducido al exterior a través del terminal 106. La unidad de almacenamiento de parámetros de cuantificación de subbloques 507 almacena el parámetro de cuantificación del subbloque.
Posteriormente, la unidad de codificación de parámetros de cuantificación 1302 introduce los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque del siguiente bloque básico. En este caso, la unidad de determinación de parámetros de cuantificación de bloques básicos 504 lee los parámetros de cuantificación de subbloque del bloque básico anterior de la unidad de almacenamiento de parámetros de cuantificación de subbloques 507, calcula el promedio de los parámetros de cuantificación de subbloque leídos, y considera el promedio como parámetro de cuantificación de bloque básico del bloque básico relevante.
La unidad de decodificación del valor de diferencia de parámetros de cuantificación de subbloques 502 decodifica los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque introducidos para reproducir el valor de diferencia del parámetro de cuantificación del subbloque. La unidad de adición de parámetros de cuantificación de subbloques 305 reproduce el parámetro de cuantificación del subbloque y envía el parámetro de cuantificación del subbloque reproducido al exterior a través del terminal 106. La unidad de almacenamiento de parámetros de cuantificación de subbloques 507 almacena el parámetro de cuantificación de subbloque reproducido. Posteriormente, la unidad de codificación de parámetros de cuantificación 1302 introduce, los datos codificados del valor de diferencia del parámetro de cuantificación del subbloque siguiente, reproduce de manera similar un valor de diferencia del parámetro de cuantificación de subbloque y, a continuación, reproduce el parámetro de cuantificación de subbloque. La unidad de decodificación de parámetros de cuantificación 1302 envía el parámetro de cuantificación del subbloque reproducido al exterior a través del terminal 106. La unidad de almacenamiento de parámetros de cuantificación de subbloques 507 almacena el parámetro de cuantificación del subbloque.
La figura 19 es un diagrama de flujo que muestra el procesamiento de decodificación de la imagen por un dispositivo de decodificación de imagen según la sexta realización a modo de ejemplo de la presente invención.
En la etapa S101, de manera similar a la segunda realización a modo de ejemplo de la presente invención, el dispositivo de decodificación de imagen decodifica la información de cabecera. En la etapa S501, el dispositivo de decodificación de imagen determina si el bloque básico del subbloque sometido a decodificación es el primer bloque básico de la imagen. Cuando el bloque básico es el primer bloque básico (SÍ en la etapa S501), el procesamiento continúa a la etapa S502. De lo contrario, cuando el bloque básico relevante no es el primer bloque básico (NO en la etapa S501), el proceso continúa a la etapa S504.
En la etapa S502, el dispositivo de decodificación de imagen determina si el subbloque sometido a decodificación es el primer subbloque en el bloque básico. Cuando el subbloque relevante es el primer subbloque del bloque (SÍ en la etapa S502), el procesamiento continúa a la etapa S503. De lo contrario, cuando el subbloque relevante no es el primer subbloque del bloque (NO en la etapa S502), el procesamiento continúa a la etapa S506. En la etapa S503, el dispositivo de decodificación de imagen decodifica el código relacionado con el parámetro de cuantificación del subbloque introducido, es decir, los datos codificados del parámetro de cuantificación de subbloque utilizando el código de Golomb para reproducir el parámetro de cuantificación del subbloque. El dispositivo de decodificación de imagen almacena el código resultante como parámetro básico de cuantificación de bloques. Al mismo tiempo, el dispositivo de decodificación de imagen almacena por separado el código resultante de modo que se haga referencia durante la determinación del parámetro de cuantificación de bloque básico del siguiente bloque básico. A continuación, el procesamiento continúa a la etapa S104 para la generación de imágenes decodificadas del primer subbloque.
En la etapa S504, el dispositivo de decodificación de imagen determina si el subbloque sometido a decodificación es el primer subbloque en el bloque básico. Cuando el subbloque sometido a decodificación es el primer subbloque (SÍ en la etapa S504), el procesamiento continúa a la etapa S505. De lo contrario, cuando el subbloque sometido a decodificación no es el primer subbloque (NO en la etapa S504), el procesamiento continúa a la etapa S506.
En la etapa S505, el dispositivo de decodificación de imagen calcula el promedio de los parámetros de cuantificación de subbloque almacenados del bloque básico anterior y considera el promedio como parámetro de cuantificación del bloque básico. A continuación, el procesamiento continúa a la etapa S506.
En la etapa S506, el dispositivo de decodificación de imagen decodifica el código relacionado con el parámetro de cuantificación del subbloque introducido, es decir, los datos codificados del valor de diferencia del parámetro de cuantificación de subbloque utilizando el código de Golomb para reproducir el valor de diferencia del parámetro de cuantificación del subbloque. El dispositivo de decodificación de imagen añade el valor de diferencia del parámetro de cuantificación del subbloque reproducido al parámetro de cuantificación de bloque básico almacenado o calculado en la etapa S503 o S505 para obtener un parámetro de cuantificación del subbloque. A continuación, el procesamiento continúa a la etapa S104 para la generación de imágenes decodificadas del subbloque. Posteriormente, de manera similar a la cuarta realización a modo de ejemplo de la presente invención, la codificación de la imagen produce una imagen decodificada del subbloque y reproduce una imagen del fotograma. La configuración y las operaciones mencionadas anteriormente permiten la decodificación de una secuencia de bits con la que no se codifica el valor del parámetro de cuantificación de bloque básico generado por el dispositivo de codificación de imagen según la quinta realización a modo de ejemplo.
La configuración y las operaciones mencionadas anteriormente permiten, además, un procesamiento en paralelo efectivo de manera similar a la segunda realización a modo de ejemplo de la presente invención. Específicamente, haciendo referencia a la figura 9B, en lugar de la decodificación del parámetro de cuantificación del bloque básico, el procesador A realiza el cálculo del parámetro de cuantificación del bloque básico utilizando parámetros de cuantificación de subbloques del bloque básico anterior. Esto permite que el procesador A inicie la reproducción del parámetro de cuantificación para todos los subbloques sin esperar a que se complete el procesamiento en otros subbloques.
Aunque, en la sexta realización a modo de ejemplo, el promedio de los parámetros de cuantificación de subbloques del bloque básico anterior se considera como parámetro de cuantificación del bloque básico, el procesamiento no está limitado a ello, siempre que se utilice el procedimiento para calcular el parámetro de cuantificación del bloque básico según la quinta realización a modo de ejemplo. Por supuesto, es posible, por ejemplo, que el parámetro de cuantificación del bloque básico pueda ser la mediana de los parámetros de cuantificación de subbloque, o el valor del parámetro de cuantificación de subbloque más frecuente. Estas partes de información se pueden obtener a partir de los parámetros de cuantificación de subbloque almacenados en la unidad de almacenamiento de parámetros de cuantificación de subbloques 507.
Incluso cuando se seleccionan una serie de procedimientos de cálculo de esta manera en el lado de codificación, se selecciona un parámetro de cuantificación de bloques básico más eficiente, y se realiza la codificación en base a un código que indica el procedimiento de cálculo relevante, el parámetro de cuantificación de subbloque se puede calcular de manera similar mediante decodificación.
Aunque la sexta realización a modo de ejemplo se ha descrito específicamente basándose en fotogramas utilizando la intrapredicción, es evidente que la presente realización a modo de ejemplo es también aplicable a fotogramas que pueden utilizar la interpredicción, lo que implica compensación de movimiento en la predicción.
Aunque las realizaciones a modo de ejemplo antes mencionadas se han descrito específicamente con la consideración de que las unidades de procesamiento mostradas en las figuras 1, 3, 6, 7, 10, 11, 13, 14, 16 y 18 se implementan mediante hardware, el procesamiento ejecutado por estas unidades de procesamiento puede ser implementado por software (programas informáticos).
La figura 20 es un diagrama de bloques que muestra una configuración de hardware a modo de ejemplo de un ordenador aplicable a la unidad de visualización de imágenes según las realizaciones a modo de ejemplo antes mencionadas de la presente invención.
Una unidad de procesamiento central (CPU) 1401 controla todo el ordenador utilizando programas informáticos y datos almacenados en una memoria de acceso aleatorio (RAM, Random Access Memory) 1402 y una memoria de solo lectura (ROM, Read Only Memory) 1403, y ejecuta cada parte del procesamiento descrita anteriormente como el dispositivo de procesamiento de imagen según las realizaciones a modo de ejemplo mencionadas anteriormente. Específicamente, la CPU 1401 funciona como las unidades de procesamiento mostradas en las figuras 1,3, 6, 7, 10, 11, 13, 14, 16 y 18.
La memoria RAM 1402 incluye un área para almacenar temporalmente un programa informático y datos cargados desde un dispositivo de almacenamiento externo 1406, y datos obtenidos desde el exterior a través de una interfaz (I/F) 1407. La RAM 1402 incluye, además, áreas de trabajo utilizadas por la CPU 1401 para ejecutar diversas partes del procesamiento. Por ejemplo, la RAM 1402 puede utilizarse como memoria de fotogramas y otros tipos de zonas según se requiera.
La ROM 1403 almacena los datos de configuración y un programa de arranque del ordenador. Una unidad de operación 1404 está provista de un teclado, un ratón, etc. El usuario del ordenador portátil acciona la unidad de operación 1404 para dar diversas instrucciones a la CPU 1401. Una unidad de salida 1405 muestra el resultado del procesamiento ejecutado por la CPU 1401. La unidad de salida 1405 está compuesta por una unidad de visualización del tipo de sujeción tal como una pantalla de cristal líquido (LCD, Liquid Crystal Display) o una unidad de visualización del tipo de impulso tal como una unidad de visualización del tipo de emisión de campo.
El dispositivo de almacenamiento externo 1406 es un dispositivo de almacenamiento masivo representado por una unidad de accionamiento del disco duro. El dispositivo de almacenamiento externo 1406 almacena un sistema operativo (OS, Operating System) y programas informáticos ejecutados por la CPU 1401 para implementar las funciones de las unidades de procesamiento mostradas en las figuras 1, 3, 6, 7, 10, 11, 13, 14, 16 y 18. El dispositivo de almacenamiento externo 1406 puede almacenar, además, datos de la imagen a procesar.
La CPU 1401 carga adecuadamente un programa informático y los datos almacenados en el dispositivo de almacenamiento externo 1406 en la RAM 1402 y ejecuta el programa informático. Se pueden conectar a la I/F 1407 redes tales como una red de área local (LAN) e Internet, un dispositivo de proyección, un dispositivo de visualización y otros dispositivos. El ordenador puede obtener y transmitir diversas informaciones a través de la interfaz I/F 1407. Un bus 1408 interconecta los distintos dispositivos mencionados anteriormente.
Las operaciones con la configuración mencionada anteriormente se consiguen cuando la CPU 1401 controla el procesamiento de los diagramas de flujo antes mencionados.
Además, cuando la CPU 1401 tiene una configuración de múltiples núcleos, se puede conseguir un procesamiento en paralelo eficiente asignando un aspecto de cada parte del procesamiento a cada núcleo.
La presente invención se logra asimismo cuando un código de programa informático de registro de medios de almacenamiento se suministra a un sistema que implementa las funciones antes mencionadas y el sistema carga, y ejecuta los códigos de programa informático. En este caso, los códigos del programa informático cargados desde el medio de almacenamiento implementan las funciones de las realizaciones a modo de ejemplo, y el medio de almacenamiento que almacena los códigos del programa informático constituye la presente invención. Además, la presente invención incluye, asimismo, un caso en el que el sistema operativo (OS) que funciona en el ordenador ejecuta una parte o todo el proceso real basándose en instrucciones de los códigos del programa informático, y las funciones mencionadas anteriormente son implementadas por el procesamiento de los códigos de programa informático.
Además, la presente invención se puede conseguir mediante la siguiente forma. Específicamente, la presente invención incluye, además, un caso en el que los códigos de programa informático cargados desde el medio de almacenamiento se escriben en una memoria proporcionada en una tarjeta de expansión de función insertada en el ordenador o en una unidad de expansión de función conectada al ordenador. La presente invención incluye, además, un caso en el que una CPU proporcionada en la tarjeta de expansión de función o una unidad de expansión de función ejecuta una parte o todo el proceso real en base a instrucciones de los códigos de programa informático para implementar las funciones mencionadas anteriormente.
Cuando se aplica la presente invención al medio de almacenamiento mencionado anteriormente, el medio de almacenamiento almacena los códigos del programa informático correspondientes a los diagramas de flujo descritos anteriormente.
Aunque la presente invención se ha descrito haciendo referencia a realizaciones a modo de ejemplo, debe comprenderse que la invención no se limita a las realizaciones a modo de ejemplo descritas. Al alcance de las siguientes reivindicaciones se le debe conceder la interpretación más amplia, de modo que abarque todas las modificaciones, estructuras equivalentes y funciones.

Claims (9)

REIVINDICACIONES
1. Dispositivo de codificación de imagen que comprende:
una unidad de división, configurada para dividir una imagen de entrada en una serie de bloques, siendo dividido por lo menos uno de los bloques en subbloques para formar un árbol cuaternario;
una unidad de decisión, configurada para decidir respectivos parámetros de cuantificación de los subbloques; una unidad de obtención, configurada para obtener un primer valor de diferencia entre, en un orden de codificación, un primer parámetro de cuantificación de un primer subbloque en un primer bloque y un segundo parámetro de cuantificación de un segundo subbloque en el primer bloque, y para obtener, en un subsiguiente subbloque que no se encuentra en el primer bloque, un segundo valor de diferencia entre un parámetro de cuantificación del subsiguiente subbloque y un valor entero obtenido mediante redondeo de una media de los parámetros de cuantificación de subbloques a codificar antes del subsiguiente subbloque; y
una unidad de codificación, para codificar el primer valor de diferencia y el segundo valor de diferencia.
2. Dispositivo según la reivindicación 1, en el que el primer subbloque está situado en la parte superior izquierda del bloque.
3. Dispositivo de decodificación de imagen para decodificar parámetros de cuantificación para subbloques en un bloque que representa una parte de una imagen, en el que el bloque está dividido en subbloques para formar un árbol cuaternario, comprendiendo el dispositivo de decodificación de imagen:
una unidad de decodificación, para decodificar un primer parámetro de cuantificación para un primer subbloque, datos codificados relativos a un primer valor de diferencia entre, en un orden de codificación, el primer parámetro de cuantificación para el primer subbloque en un primer bloque y un segundo parámetro de cuantificación para un segundo subbloque en el primer bloque y, para un subsiguiente subbloque que no se encuentra en el primer bloque, datos codificados relativos a un segundo valor de diferencia entre un parámetro de cuantificación del subsiguiente subbloque y un valor entero obtenido mediante redondeo de una media de los parámetros de cuantificación para subbloques codificados antes del subsiguiente subbloque;
una unidad de obtención, configurada para obtener el segundo parámetro de cuantificación en base al primer parámetro de cuantificación y el primer valor de diferencia decodificado por la unidad de decodificación y para obtener el parámetro de cuantificación del siguiente subbloque en base al segundo valor de diferencia decodificado por la unidad de decodificación y el valor entero obtenido mediante redondeo de la media de los parámetros de cuantificación para subbloques decodificados antes del subsiguiente subbloque;
4. Dispositivo según la reivindicación 3, en el que el primer subbloque está situado en la parte superior izquierda del bloque.
5. Dispositivo de codificación de imagen, que comprende:
dividir una imagen de entrada en una serie de bloques, siendo dividido por lo menos uno de los bloques en subbloques para formar un árbol cuaternario;
decidir respectivos parámetros de cuantificación de los subbloques;
obtener un primer valor de diferencia entre, en un orden de codificación, un primer parámetro de cuantificación de un primer subbloque en un primer bloque y un segundo parámetro de cuantificación de un segundo subbloque en el primer bloque, y obtener, para un subsiguiente subbloque que no se encuentra en el primer bloque, un segundo valor de diferencia entre un parámetro de cuantificación del subsiguiente subbloque y un valor entero obtenido mediante redondeo de una media de los parámetros de cuantificación de los subbloques a codificar antes del siguiente subbloque; y
codificar el primer valor de diferencia y el segundo valor de diferencia.
6. Procedimiento según la reivindicación 5, en el que el primer subbloque está situado en la parte superior izquierda del bloque.
7. Procedimiento de decodificación de imagen para decodificar parámetros de cuantificación para subbloques en un bloque que representa una parte de una imagen, en el que el bloque está dividido en subbloques para formar un árbol cuaternario, comprendiendo el procedimiento de decodificación de imagen:
decodificar un primer parámetro de cuantificación para un primer subbloque, datos codificados relativos a un primer valor de diferencia entre, en un orden de codificación, el primer parámetro de cuantificación para el primer subbloque en un primer bloque y un segundo parámetro de cuantificación para un segundo subbloque en el primer bloque y, para un subsiguiente subbloque que no se encuentra en el primer bloque, datos codificados relativos a un segundo valor de diferencia entre un parámetro de cuantificación del subsiguiente subbloque y un valor entero obtenido mediante redondeo de una media de los parámetros de cuantificación para subbloques codificados antes del subsiguiente subbloque;
obtener el segundo parámetro de cuantificación en base al primer parámetro de cuantificación y el primer valor de diferencia decodificado por la unidad de decodificación, y obtener el parámetro de cuantificación del subsiguiente subbloque en base al segundo valor de diferencia decodificado por la unidad de decodificación y el valor entero obtenido mediante redondeo de la media de los parámetros de cuantificación para los subbloques decodificados antes del subsiguiente subbloque.
8. Dispositivo según la reivindicación 7, en el que el primer subbloque está situado en la parte superior izquierda del bloque.
9. Programa informático que comprende instrucciones, que, cuando el programa es ejecutado por un ordenador, hace que el ordenador realice el procedimiento de cualquiera de las reivindicaciones 5 a 8.
ES17176381T 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello Active ES2726324T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011051267A JP5875236B2 (ja) 2011-03-09 2011-03-09 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Publications (1)

Publication Number Publication Date
ES2726324T3 true ES2726324T3 (es) 2019-10-03

Family

ID=46797799

Family Applications (3)

Application Number Title Priority Date Filing Date
ES17176381T Active ES2726324T3 (es) 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello
ES19154507T Active ES2928850T3 (es) 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello
ES12755119.0T Active ES2641826T3 (es) 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES19154507T Active ES2928850T3 (es) 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello
ES12755119.0T Active ES2641826T3 (es) 2011-03-09 2012-02-27 Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello

Country Status (13)

Country Link
US (6) US9277221B2 (es)
EP (5) EP3512199B1 (es)
JP (1) JP5875236B2 (es)
KR (6) KR102043580B1 (es)
CN (6) CN107371036B (es)
BR (1) BR112013022033B1 (es)
ES (3) ES2726324T3 (es)
HU (2) HUE043625T2 (es)
PL (2) PL3512199T3 (es)
PT (1) PT4114003T (es)
RU (5) RU2551800C2 (es)
TR (1) TR201907745T4 (es)
WO (1) WO2012120823A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120016980A (ko) 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
JP5875236B2 (ja) * 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR101442127B1 (ko) 2011-06-21 2014-09-25 인텔렉추얼디스커버리 주식회사 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9661329B2 (en) 2014-04-30 2017-05-23 Intel Corporation Constant quality video coding
US10715833B2 (en) * 2014-05-28 2020-07-14 Apple Inc. Adaptive syntax grouping and compression in video data using a default value and an exception value
US10091530B2 (en) 2014-10-01 2018-10-02 Qualcomm Incorporated Pipelined intra-prediction hardware architecture for video coding
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
US10244167B2 (en) 2016-06-17 2019-03-26 Gopro, Inc. Apparatus and methods for image encoding using spatially weighted encoding quality parameters
JP6871727B2 (ja) * 2016-11-29 2021-05-12 キヤノン株式会社 撮像装置、画像処理方法、及び、プログラム
RU2648581C1 (ru) * 2016-12-08 2018-03-26 федеральное государственное бюджетное образовательное учреждение высшего образования "Национальный исследовательский университет "МЭИ" (ФГБОУ ВО "НИУ "МЭИ") Способ кодирования и декодирования видеоинформации пониженной, стандартной и высокой четкости
WO2018143289A1 (ja) * 2017-02-02 2018-08-09 シャープ株式会社 画像符号化装置及び画像復号装置
US10750175B2 (en) * 2017-05-04 2020-08-18 Sony Corporation Quantization partitioning for enhanced image compression
CN107888917B (zh) * 2017-11-28 2021-06-22 北京奇艺世纪科技有限公司 一种图像编解码方法及装置
CN109660803A (zh) * 2019-01-22 2019-04-19 西安电子科技大学 一种编码块的量化方法及用于hevc编码的量化方法
JPWO2021084679A1 (es) * 2019-10-31 2021-05-06

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3109854B2 (ja) 1991-04-23 2000-11-20 キヤノン株式会社 画像符号化方法及び装置
KR0183688B1 (ko) * 1994-01-12 1999-05-01 김광호 영상부호화방법 및 장치
JP2001275116A (ja) * 2000-03-24 2001-10-05 Sharp Corp 画像処理装置
JP3643777B2 (ja) * 2001-02-28 2005-04-27 三洋電機株式会社 動画像復号装置および動画像復号方法
KR100450939B1 (ko) * 2001-10-23 2004-10-02 삼성전자주식회사 이미지 축소를 위한 스케일-다운 기능을 가지는 압축비디오 복호화기 및 방법
US20030123738A1 (en) * 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
JP3715283B2 (ja) * 2003-02-04 2005-11-09 株式会社半導体理工学研究センター 動画像の画像圧縮符号化方法及び装置
KR100965881B1 (ko) * 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
JP2007522724A (ja) * 2004-01-30 2007-08-09 トムソン ライセンシング アダプティブレートコントロールによるエンコーダ
US7460596B2 (en) * 2004-04-29 2008-12-02 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
KR100654436B1 (ko) * 2004-07-07 2006-12-06 삼성전자주식회사 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더
EP1825681B1 (en) * 2004-12-02 2017-12-27 Thomson Licensing DTV Quantizer parameter determination for video encoder rate control
JP4146444B2 (ja) 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
KR100677446B1 (ko) * 2005-03-31 2007-02-02 엘지전자 주식회사 휴대단말기의 영상신호 압축 코딩장치 및 방법
JP4916125B2 (ja) 2005-04-26 2012-04-11 株式会社リコー 画素クロック生成装置、パルス変調装置、および画像形成装置
CN100448295C (zh) * 2005-05-27 2008-12-31 中国科学院自动化研究所 一种低复杂度的积分码率控制方法
RU2368095C1 (ru) 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
US8175149B2 (en) * 2005-11-21 2012-05-08 Electronics And Telecommunications Research Institute Method and apparatus for controlling bitrate of scalable video stream
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US7911538B2 (en) * 2006-04-06 2011-03-22 Samsung Electronics Co., Ltd. Estimation of block artifact strength based on edge statistics
US20070280552A1 (en) * 2006-06-06 2007-12-06 Samsung Electronics Co., Ltd. Method and device for measuring MPEG noise strength of compressed digital image
JP4928176B2 (ja) * 2006-06-27 2012-05-09 キヤノン株式会社 映像符号化装置及び映像符号化方法
TWI311443B (en) * 2006-07-12 2009-06-21 Novatek Microelectronics Corp Method of block coding of an image
WO2008012918A1 (fr) * 2006-07-28 2008-01-31 Kabushiki Kaisha Toshiba Procédé et appareil de codage et de décodage d'image
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
JP4901450B2 (ja) 2006-12-19 2012-03-21 株式会社東芝 動画像符号化装置
JP2008193627A (ja) * 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
JP5413191B2 (ja) * 2007-03-20 2014-02-12 富士通株式会社 動画像符号化方法及び装置並びに動画像復号装置
US20100118945A1 (en) * 2007-03-29 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for video encoding and decoding
US8295633B2 (en) * 2007-04-04 2012-10-23 Samsung Electronics Co., Ltd. System and method for an adaptive de-blocking filter after decoding of compressed digital video
CN101184221A (zh) * 2007-12-06 2008-05-21 上海大学 基于视觉关注度的视频编码方法
US20090154567A1 (en) * 2007-12-13 2009-06-18 Shaw-Min Lei In-loop fidelity enhancement for video compression
EP2081155B1 (en) * 2008-01-21 2011-11-16 Telefonaktiebolaget LM Ericsson (publ) Prediction-based image processing
US8542730B2 (en) * 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5007259B2 (ja) * 2008-03-27 2012-08-22 ルネサスエレクトロニクス株式会社 画像符号化装置
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
CN101309422B (zh) * 2008-06-23 2010-09-29 北京工业大学 宏块级量化参数处理方法及装置
JP2010035025A (ja) * 2008-07-30 2010-02-12 Canon Inc 符号化装置およびその方法
CN101365142B (zh) * 2008-09-23 2011-07-20 浙江大学 基于图像旋转的深度图像编码方法
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
JP5094760B2 (ja) * 2009-02-13 2012-12-12 三菱電機株式会社 動画像符号化装置
CN101783951B (zh) * 2010-03-02 2012-01-04 西安交通大学 基于人类视觉系统的视频编码帧间预测模式快速确定方法
KR20120016980A (ko) * 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
JP5875236B2 (ja) * 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6415637B2 (ja) 2017-05-25 2018-10-31 キヤノン株式会社 復号装置、復号方法、プログラム及び記憶媒体

Also Published As

Publication number Publication date
KR101757960B1 (ko) 2017-07-13
PL3512199T3 (pl) 2023-01-23
KR20150126738A (ko) 2015-11-12
WO2012120823A1 (en) 2012-09-13
US20180270494A1 (en) 2018-09-20
KR101914897B1 (ko) 2018-11-02
KR102043581B1 (ko) 2019-11-11
RU2015113430A (ru) 2015-09-10
EP2684368A1 (en) 2014-01-15
KR20180120792A (ko) 2018-11-06
KR102043580B1 (ko) 2019-11-11
BR112013022033B1 (pt) 2019-12-31
US9979979B2 (en) 2018-05-22
CN107371035A (zh) 2017-11-21
CN107371037B (zh) 2020-03-06
HUE043625T2 (hu) 2019-08-28
TR201907745T4 (tr) 2019-06-21
ES2928850T3 (es) 2022-11-23
CN107371036A (zh) 2017-11-21
KR20180120793A (ko) 2018-11-06
ES2641826T3 (es) 2017-11-14
RU2016141332A (ru) 2018-04-23
CN103416057A (zh) 2013-11-27
CN103416057B (zh) 2017-05-24
KR102043579B1 (ko) 2019-11-11
EP3253060B1 (en) 2019-04-10
US20160205400A1 (en) 2016-07-14
CN107371037A (zh) 2017-11-21
RU2603500C2 (ru) 2016-11-27
PT4114003T (pt) 2024-03-26
EP3253060A1 (en) 2017-12-06
CN107371038A (zh) 2017-11-21
RU2663353C2 (ru) 2018-08-03
EP2684368B1 (en) 2017-07-26
KR20170143024A (ko) 2017-12-28
US9716895B2 (en) 2017-07-25
BR112013022033A2 (pt) 2016-11-29
US10554995B2 (en) 2020-02-04
EP4114002B1 (en) 2024-04-10
HUE060431T2 (hu) 2023-03-28
PL3253060T3 (pl) 2019-08-30
EP4114003B1 (en) 2024-02-14
US20190182500A1 (en) 2019-06-13
KR20130129454A (ko) 2013-11-28
US20190182501A1 (en) 2019-06-13
CN107371035B (zh) 2019-12-20
RU2686027C1 (ru) 2019-04-23
US10237568B2 (en) 2019-03-19
JP2012191294A (ja) 2012-10-04
US9277221B2 (en) 2016-03-01
EP3512199A1 (en) 2019-07-17
CN107197265A (zh) 2017-09-22
CN107197265B (zh) 2020-01-14
US20170289563A1 (en) 2017-10-05
US10567785B2 (en) 2020-02-18
EP2684368A4 (en) 2014-09-17
EP3512199B1 (en) 2022-09-07
CN107371038B (zh) 2019-08-23
RU2688266C1 (ru) 2019-05-21
EP4114002A1 (en) 2023-01-04
JP5875236B2 (ja) 2016-03-02
CN107371036B (zh) 2020-03-10
RU2013145086A (ru) 2015-04-20
KR20180120794A (ko) 2018-11-06
EP4114003A1 (en) 2023-01-04
US20130343665A1 (en) 2013-12-26
RU2551800C2 (ru) 2015-05-27

Similar Documents

Publication Publication Date Title
ES2726324T3 (es) Dispositivo de codificación de imagen, procedimiento para codificar la imagen, programa para ello, dispositivo de decodificación de imagen, procedimiento para decodificar la imagen y programa para ello
WO2018116924A1 (ja) 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
BR112021014671A2 (pt) Transformada discreta de cosseno de formato adaptativo para particionamento geométrico com um número adaptativo de regiões
JP6415637B2 (ja) 復号装置、復号方法、プログラム及び記憶媒体