MX2014008781A - Dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes, metodo de decodificacion de imagenes, y metodo de codificacion de imagenes. - Google Patents

Dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes, metodo de decodificacion de imagenes, y metodo de codificacion de imagenes.

Info

Publication number
MX2014008781A
MX2014008781A MX2014008781A MX2014008781A MX2014008781A MX 2014008781 A MX2014008781 A MX 2014008781A MX 2014008781 A MX2014008781 A MX 2014008781A MX 2014008781 A MX2014008781 A MX 2014008781A MX 2014008781 A MX2014008781 A MX 2014008781A
Authority
MX
Mexico
Prior art keywords
coding
image
prediction
block
variable length
Prior art date
Application number
MX2014008781A
Other languages
English (en)
Inventor
Shunichi Sekiguchi
Yoshimi Moriya
Kazuo Sugimoto
Yusuke Itani
Akira Minezawa
Norimichi Hiwasa
Tokumichi Murakami
Ryoji Hattori
Kazuyuki Miyazawa
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of MX2014008781A publication Critical patent/MX2014008781A/es

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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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
    • 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
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Una unidad de filtro de bucle 11 lleva a cabo una clasificación de clase de una imagen decodificada local generada por una unidad adición 9 en una clase para cada bloque de codificación que tiene un tamaño más grande determinado por una unidad de codificación de control 2 y también diseña un filtro que compensa una distorsión remolcada para cada imagen decodificada local perteneciente a cada clase, y también lleva a cabo un proceso de filtrado en la imagen decodificada local mencionada anteriormente utilizando el filtro; una unidad de codificación de longitud variable 13 codifica, como parámetros de filtro, el filtro diseñado por la unidad de filtro de bucle 11 y utilizado para la imagen decodificada local perteneciente a cada clase, y un número de clase de cada bloque de codificación más grande.

Description

DISPOSITIVO DE DECODIFICACIÓN DE IMÁGENES. DISPOSITIVO DE CODIFICACIÓN DE IMÁGENES. MÉTODO DE DECODIFICACIÓN DE IMÁGENES. Y MÉTODO DE CODIFICACIÓN DE IMÁGENES CAMPO DE LA INVENCIÓN La presente invención se refiere a un dispositivo de codificación de imágenes para, y un método de codificación de imágenes para codificar una imagen móvil con un alto grado de eficiencia, y un dispositivo de decodificación de imágenes para, y un método de decodificación de imágenes para decodificar una imagen móvil codificada con un alto grado de eficiencia.
ANTECEDENTES DE LA INVENCIÓN Convencionalmente, de acuerdo con un método de codificación de video estándar internacional, tal como MPEG o ITU-T H. 26x, después de que una trama de video introducida se divide en macrobloques cada uno de los cuales consiste de bloques de 16x16 píxeles y una predicción compensada con movimiento se lleva a cabo en cada uno de los macrobloques, la compresión de información se lleva a cabo en la trama de video introducida llevando a cabo transformación ortogonal y cuantificación en una señal de error de predicción de cada bloque. Sin embargo, un problema es que debido a que la relación de compresión llega a ser alta, la eficiencia de compresión se reduce debido a la degradación de la calidad de una imagen de referencia de predicción utilizada cuando se lleva a cabo una predicción compensada con movimiento. Para resolver este problema, de acuerdo con un método de codificación tal como MPEG-4 AVC/H. 264 (refiérase a la referencia que no es patente 1), mediante la realización de un proceso de bloqueo y filtrado en bucle, se elimina una distorsión de bloque que ocurre en una imagen de referencia de predicción y causada por la cuantificación de coeficientes de transformación ortogonal.
Particularmente, cuando se lleva a cabo una predicción compensada con movimiento entre tramas, una búsqueda de un vector de movimiento se lleva a cabo en cada propio macrobloque o cada uno de subbloques en donde cada macrobloque se divide aún más finamente. Posteriormente, una imagen de predicción compensada con movimiento se genera llevando a cabo una predicción compensada con movimiento en una señal de imagen de referencia almacenada en una memoria 107 utilizando el vector de movimiento, y una señal de error de predicción se calcula determinando la diferencia entre una señal de predicción que muestra la imagen de predicción compensada con movimiento y la señal de imagen generada a través de la partición. Además, una unidad de predicción 102 saca parámetros para la generación de señal de predicción, dicha unidad de predicción determina cuándo adquirir la señal de predicción para una unidad de codificación de longitud variable 108. Por ejemplo, los parámetros para la generación de señal de predicción incluyen un modo de intra-predicción que indica cómo se lleva a cabo una predicción espacial dentro de una trama, y un vector de movimiento que indica la cantidad de movimiento entre tramas.
Cuando se recibe la señal de error de predicción desde la unidad de predicción 102, una unidad de compresión 103 elimina una correlación de señal llevando a cabo un proceso DCT (transformada de coseno discreta) en la señal de error de predicción, y posteriormente cuantifica esta señal de error de predicción para adquirir datos comprimidos. Cuando se reciben los datos comprimidos desde la unidad de compresión 103, una unidad de decodificación local 104 calcula una señal de error de predicción correspondiente a la señal de error de predicción procedente de la unidad de predicción 102 cuantificando a la inversa los datos comprimidos y posteriormente llevando a cabo un proceso DCT Inverso en los datos comprimidos.
Cuando se recibe la señal de error de predicción desde la unidad de decodificación local 104, una unidad de adición 105 agrega la señal de error de predicción y la señal de predicción procedente de la unidad de predicción 102 para generar una imagen decodificada local. Un filtro de bucle 106 elimina una distorsión de bloque remolcada en una señal de imagen decodificada local que muestre la imagen decodificada local generada por la unidad de adición 105, y almacena la señal de imagen decodificada local de la cual se elimina la distorsión en una memoria 107 como una señal de imagen de referencia.
Cuando se reciben los datos comprimidos desde la unidad de compresión 103, una unidad de codificación de longitud variable 108 codifica por entropía los datos comprimidos y saca un tren de bits que es el resultado codificado. Cuando se saca el tren de bits, la unidad de codificación de longitud variable 108 multiplexa los parámetros para la generación de señal de predicción procedente de la unidad de predicción 102 en el tren de bits y saca este tren de bits.
De acuerdo con el método de codificación descrito por la referencia que no es patente 1 , el filtro de bucle 106 determina una intensidad de alisado para un píxel contiguo en un límite de bloque en la DCT sobre la base de información que incluye la granularidad de la cuantificación, el modo de codificación, el grado de variación en el vector de movimiento, etc., reduciendo de ese modo las distorsiones que ocurren en límites del bloque. Como resultado de ello, se puede mejorar la calidad de la señal de imagen de referencia y se puede mejorar la eficiencia de la predicción compensada con movimiento en procesos de codificación posteriores.
En contraste, un problema con el método de codificación descrito por la referencia que no es patente 1 es que la cantidad de componentes de alta frecuencia perdidos desde la señal aumenta con el aumento en la tasa de compresión, y esto tiene como resultado un alisado excesivo en la pantalla completa y por lo tanto, la imagen de video llega a ser borrosa. Con el fin de resolver este problema, la siguiente referencia de patente 1 propone una técnica de aplicación de un filtro Wiener como el filtro de bucle 106, y formación del filtro de bucle 106 de tal manera que una distorsión de error al cuadrado entre una señal de imagen que se va a codificar, la cual es una señal de imagen original, y una señal de imagen de referencia correspondiente a esta señal de imagen original se minimiza.
La Fig. 22 es un dibujo explicativo que muestra el principio detrás de una mejora de la calidad de la señal de imagen de referencia utilizando el filtro Wiener en el dispositivo de codificación de imágenes descrito por la referencia de patente 1. Haciendo referencia a la Fig. 22, una señal s corresponde a una señal de imagen que se va a codificar, la cual se introduce en una unidad de partición de bloque 101 mostrada en la Fig. 21 , una señal s' es una señal de imagen decodificada local procedente de una unidad de adición 105 mostrada en la Fig. 21 o una señal correspondiente a una señal de imagen decodificada local en la cual las distorsiones que ocurren en límites del bloque se reducen por el filtro de bucle 106 descrito por la referencia que no es patente 1. De manera más específica, la señal s' es aquella en la cual la distorsión de codificación (ruido) e se remolca en la señal s.
El filtro Wiener se define como un filtro que se va a realizar en la señal s' de tal manera que se minimiza esta distorsión de codificación (ruido) e dentro de los límites de la distorsión de error al cuadrado. En general, los coeficientes de filtro w se pueden determinar a partir de la matriz de autocorrelación R 8¾· de la señal s' y el vector de correlación cruzada R 55· de las señales s y s' de acuerdo con la siguiente ecuación (1). Las magnitudes de las matrices RS S' y RSS' corresponden al número de derivaciones del filtro determinado.
W = KS,S,KS5, Mediante la aplicación del filtro Wiener que tiene los coeficientes de filtro w, una señal s gorrito, cuya calidad se mejora ( " ?" adjunto a la letra se expresa como gorrito debido a que esta solicitud de patente se presenta utilizando el sistema de presentación electrónica), se adquiere como una señal correspondiente a la señal de imagen de referencia. De conformidad con la técnica descrita por la referencia de patente 1 , una clasificación de región (clasificación de clase) se lleva a cabo en cada trama de conformidad con la información de movimiento y las características de señal local de la imagen y se diseña un filtro Wiener óptimo para cada clase de modo que se implementa una compensación de distorsión de alta precisión de conformidad con la localidad de la imagen.
Documento de la técnica relacionada Referencia a patentes Referencia de patente 1 : WO 2008/010929 Referencia que no es patente Referencia que no es patente 1 : Normas MPEG-4 AVC (ISO/IEC 14496- 10VH.ITU-T 264 BREVE DESCRIPCIÓN DE LA INVENCIÓN Problemas a ser resueltos por la invención Debido a que el dispositivo de codificación de imágenes convencional está construido como en el caso anterior, se puede implementar la compensación de distorsión de alta precisión de conformidad con la localidad de una imagen que se va a codificar. Sin embargo, un problema es que debido a que se lleva a cabo una clasificación de clase utilizando un método predeterminado de conformidad con la información de movimiento y las características de señal local de la imagen, el efecto del proceso de filtrado varía en gran medida dependiendo de la imagen que se va a codificar, y se genera una imagen en la cual el efecto de compensación de distorsión causado por el proceso de filtrado apenas se ejerce contra las distorsiones.
La presente invención se realiza con el fin de resolver el problema mencionado anteriormente, y por lo tanto un objetivo de la presente invención es proporcionar un dispositivo de decodificación de imágenes, un dispositivo de codificación de imágenes, un método de decodificación de imágenes, y un método de codificación de imágenes capaces de mejorar la precisión de mejora de la calidad de imagen.
Medios para resolver el problema De acuerdo con la presente invención, se proporciona un dispositivo de decodificación de video que incluye: un decodificador de longitud variable que decodifica en longitud variable datos comprimidos asociados con cada uno de bloques de codificación divididos jerárquicamente de datos codificados multiplexados en un tren de bits y también decodifica en longitud variable parámetros de filtro para cada bloque de codificación que tiene el tamaño más grande de los datos codificados; un predictor que lleva a cabo un proceso de predicción en el bloque de codificación para generar una imagen de predicción; un generador de imagen de diferencia que genera una imagen de diferencia a partir de los datos comprimidos; un generador de imagen decodificada que agrega la imagen de diferencia y la imagen de predicción para generar una imagen decodificada; y un filtro que lleva a cabo un proceso de filtrado utilizando los parámetros de filtro en la imagen decodificada y saca la imagen decodificada de ese modo procesada con filtrado, en el cual el decodificador de longitud variable decodifica en longitud variable una bandera dispuesta para cada bloque de codificación que tiene el tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a decodificar que tiene el tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene el tamaño más grande y que es adyacente a la parte superior o izquierda, y, cuando la bandera indica que los parámetros son los mismos que aquellos para el otro bloque de codificación, establece los parámetros de filtro del otro bloque de codificación que tiene el tamaño más grande y que es adyacente a la parte superior o izquierda como los parámetros de filtro para el bloque de codificación que se va a decodificar que tiene el tamaño más grande.
Ventajas de la invención De acuerdo con la presente invención, el dispositivo de decodificación de video está construido de tal manera que el dispositivo de decodificación de video incluye: el decodificador de longitud variable que decodifica en longitud variable datos comprimidos asociados con cada uno de bloques de codificación divididos jerárquicamente de datos codificados multiplexados en un tren de bits y también decodifica en longitud variable parámetros de filtro para cada bloque de codificación que tiene el tamaño más grande de los datos codificados; el predictor que lleva a cabo un proceso de predicción en el bloque de codificación para generar una imagen de predicción; un generador de imagen de diferencia que genera una imagen de diferencia a partir de los datos comprimidos; un generador de imagen decodificada que agrega la imagen de diferencia y la imagen de predicción para generar una imagen decodificada; y el filtro que lleva a cabo un proceso de filtrado utilizando los parámetros de filtro en la imagen decodificada y saca la imagen decodificada de ese modo procesada con filtrado, y el decodificador de longitud variable decodifica en longitud variable la bandera dispuesta para cada bloque de codificación que tiene el tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a decodificar que tiene el tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene el tamaño más grande y que es adyacente a la parte superior o izquierda, y, cuando la bandera indica que los parámetros son los mismos que aquellos para el otro bloque de codificación, establece los parámetros de filtro del otro bloque de codificación que tiene el tamaño más grande y que es adyacente a la parte superior o izquierda como los parámetros de filtro para el bloque de codificación que se va a decodificar que tiene el tamaño más grande. Por lo tanto, se proporciona una ventaja de ser capaz de mejorar la precisión de mejora de la calidad de imagen.
BREVE DESCRIPCIÓN DE LAS FIGURAS La Fig. 1 es un diagrama de bloques que muestra un dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 2 es un diagrama de flujo que muestra el procesamiento (método de codificación de video) llevado a cabo por el dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 3 es un diagrama de bloques que muestra un dispositivo de decodificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 4 es un diagrama de flujo que muestra el procesamiento (método de decodificación de video) llevado a cabo por el dispositivo de decodificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 5 es un dibujo explicativo que muestra un ejemplo en el cual cada bloque de codificación más grande se divide jerárquicamente en una pluralidad de bloques de codificación; La Fig. 6A es un dibujo explicativo que muestra una distribución de bloques de codificación y bloques de predicción después de la partición, y la Fig. 6B es un dibujo explicativo que muestra un estado en el cual un modo de codificación m(Bn) es asignado a cada uno de los bloques a través de una partición de capas jerárquicas; La Fig. 7 es un dibujo explicativo que muestra un ejemplo de un parámetro de intra-predicción (modo de intra-predicción) que se puede seleccionar para cada bloque de predicción P¡n en un bloque de codificación Bn; La Fig. 8 es un dibujo explicativo que muestra un ejemplo de píxeles que se usan cuando se genera un valor predicho de cada píxel en un bloque de predicción P¡n en el caso de l¡n=m¡n=4; La Fig. 9 es un dibujo explicativo que muestra coordenadas relativas de cada píxel en el bloque de predicción P¡n que se determinan con el píxel en la esquina superior izquierda del bloque de predicción P¡n que se define como el punto de origen; La Fig. 10 es un dibujo explicativo que muestra un ejemplo de una estructura que utiliza una pluralidad de procesos de filtrado en bucle en una unidad de filtro de bucle del dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 11 es un dibujo explicativo que muestra un ejemplo de una clasificación de clase llevada a cabo en cada bloque de codificación más grande en un proceso de filtrado adaptativo; La Fig. 12 es un dibujo explicativo que muestra un ejemplo de la estructura que utiliza una pluralidad de procesos de filtrado en bucle en la unidad de filtro de bucle del dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 13 es un diagrama de flujo que muestra un ejemplo de un caso en el cual la unidad de filtro de bucle del dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención lleva a cabo el proceso de filtrado adaptativo; La Fig. 14 es un diagrama de flujo que muestra otro ejemplo del caso en el cual la unidad de filtro de bucle del dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención lleva a cabo el proceso de filtrado adaptativo; La Fig. 15 es un dibujo explicativo que muestra un ejemplo de sí o no se lleva a cabo un proceso de filtrado en cada bloque de codificación en el proceso de filtrado adaptativo; La Fig. 16 es un dibujo explicativo que muestra un proceso de codificación que utiliza Move-To-Front (mover al frente) de un número de clase que se lleva a cabo en cada bloque de codificación más grande en el proceso de filtrado adaptativo; La Fig. 17 es un dibujo explicativo que muestra otro ejemplo de sí o no se lleva a cabo un proceso de filtrado en cada bloque de codificación en el proceso de filtrado adaptativo; La Fig. 18 es un dibujo explicativo que muestra un ejemplo de un tren de bits generado por una unidad de codificación de longitud variable del dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 19 es un diagrama de flujo que muestra un ejemplo de un caso en el cual una unidad de filtro de bucle del dispositivo de decodificación de video de conformidad con la modalidad 1 de la presente invención lleva a cabo un proceso de filtrado adaptativo; La Fig. 20 es un dibujo explicativo que muestra una parte de métodos de clasificación de clase en un caso en donde se lleva a cabo un proceso de desplazamiento adaptativo de píxeles; La Fig. 21 es un diagrama de bloques que muestra un dispositivo codificación de imágenes divulgado por la referencia que no es patente 1 ; La Fig. 22 es un dibujo explicativo que muestra el principio detrás de una mejora en la calidad de una señal de imagen de referencia utilizando un filtro Wiener; y La Fig. 23 es un dibujo explicativo que muestra un ejemplo de la codificación de un índice de cada bloque de codificación más grande en un proceso de filtrado adaptativo o un proceso de desplazamiento adaptativo de píxeles.
Explicaciones de números de referencia 1 unidad de partición de bloque (divisor de bloque), 2 unidad de control de codificación (controlador de codificación), 3 conmutador de selección, 4 unidad de intra-predicción (intra- predictor), 5 unidad de predicción compensada con movimiento (predictor compensado con movimiento), 6 unidad de sustracción (generador de imagen de diferencia), 7 unidad de transformación/cuantificación (compresor de imagen), 8 unidad de cuantificación inversa/transformación inversa (generador de imagen decodificada local), 9 unidad de adición (generador de imagen decodificada local), 10 memoria para intra-predicción (intra-predictor), 11 unidad de filtro de bucle (filtro), 12 memoria de trama de predicción compensada con movimiento (predictor compensado con movimiento), 13 unidad de codificación de longitud variable (codificador de longitud variable), 31 unidad de decodificación de longitud variable (decodificador de longitud variable), 32 unidad de cuantificación inversa/transformación inversa (generador de imagen de diferencia), 33 conmutador de selección, 34 unidad de intra-predicción (intra-predictor), 35 unidad de compensación de movimiento (predictor compensado con movimiento), 36 unidad de adición (generador de imagen decodificada), 37 memoria para intra-predicción (intra-predictor), 38 unidad de filtro de bucle (filtro), 39 memoria de trama de predicción compensada con movimiento (predictor compensado con movimiento), 101 unidad de partición de bloque, 102 unidad de predicción, 103 unidad de compresión, 104 unidad de decodificación local, 105 adicionador, 106 filtro de bucle, 107 memoria, 108 unidad de codificación de longitud variable.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Modalidad 1 La Fig. 1 es un diagrama de bloques que muestra un dispositivo de codificación de video de acuerdo con la modalidad 1 de la presente invención. Haciendo referencia a la Fig. 1 , una unidad de partición de bloque 1 lleva a cabo un proceso de, cuando recibe una señal de video como una imagen introducida, partición de la imagen introducida en bloques de codificación más grandes, dichos bloques de codificación tienen cada uno un tamaño más grande determinado por una unidad de control de codificación 2, y también partición de cada uno de los bloques de codificación más grandes en bloques jerárquicamente hasta que el número de capas jerárquicas alcance un límite superior sobre el número de capas jerárquicas, el límite superior es determinado por la unidad de control de codificación 2. De manera más específica, la unidad de partición de bloque 1 lleva a cabo un proceso de partición de la imagen introducida en bloques de codificación de conformidad con la partición determinada por la unidad de control de codificación 2, y de salida de cada uno de los bloques de codificación. Cada uno de los bloques de codificación se divide adicionalmente en uno o más bloques de predicción cada uno de los cuales es una unidad de predicción. La unidad de partición de bloque 1 construye un divisor de bloque.
La unidad de control de codificación 2 lleva a cabo un proceso de determinación del tamaño más grande de cada uno de los bloques de codificación que es una unidad que se va a procesar en el momento cuando se lleva a cabo un proceso de predicción, y también de determinación del límite superior sobre el número de capas jerárquicas en el momento que cada uno de los bloques de codificación que tiene el tamaño más grande se divide jerárquicamente en bloques para determinar el tamaño de cada uno de los bloques de codificación. La unidad de control de codificación 2 también lleva a cabo un proceso de selección de un modo de codificación que se aplica a cada bloque de codificación procedente de la unidad de partición de bloque 1 a partir de uno o más modos de codificación disponibles (uno o más modos de intra-codificación en los cuales difiere el tamaño o el similar de cada bloque de predicción que es una unidad para un proceso de predicción y uno o más modos de inter-codificación en los cuales difiere el tamaño o el similar de cada bloque de predicción). Como un ejemplo del método de selección de un modo de codificación, hay un método de selección de un modo de codificación que proporciona el grado más alto de eficiencia de codificación para cada bloque de codificación procedente de la unidad de partición de bloque 1 a partir del uno o más modos de codificación disponibles.
La unidad de control de codificación 2 también lleva a cabo un proceso de, cuando el modo de codificación que tiene el grado más alto de eficiencia de codificación es un modo de intra-codificación, determinación de un parámetro de intra-predicción que se utiliza cuando se lleva a cabo un proceso de intra-predicción en el bloque de codificación en el modo de intra-codificación para cada bloque de predicción que es una unidad de predicción mostrada por el modo de intra-codificación mencionado anteriormente y, cuando el modo de codificación que tiene el grado más alto de eficiencia de codificación es un modo de inter-codificación, determinación de un parámetro de inter-predicción que se utiliza cuando se lleva a cabo un proceso de inter-predicción en el bloque de codificación en el modo de inter-codificación para cada bloque de predicción que es una unidad de predicción mostrada por el modo de inter-codificación mencionado anteriormente. La unidad de control de codificación 2 adicionalmente lleva a cabo un proceso de determinación de parámetros de codificación de diferencia de predicción, dicha unidad de control de codificación proporciona una unidad de transformación/cuantificación 7 y una unidad de cuantificación inversa/transformación inversa 8. La información de partición de bloque de transformación ortogonal que muestra información acerca de la partición en bloques de transformación ortogonal que son unidades para un proceso de transformación ortogonal en el bloque de codificación y un parámetro de cuantificación que define un tamaño de paso de cuantificación en el momento de llevar a cabo la cuantificación en coeficientes de la transformada están incluidos en los parámetros de codificación de diferencia de predicción. La unidad de control de codificación 2 construye un controlador de codificación.
Un conmutador de selección 3 lleva a cabo un proceso de, cuando el modo de codificación determinado por la unidad de control de codificación 2 es un modo de intra-codificación, salida del bloque de codificación procedente de la unidad de partición de bloque 1 a una unidad de intra-predicción 4, y, cuando el modo de codificación determinado por la unidad de control de codificación 2 es un modo de inter-codificación, salida del bloque de codificación procedente de la unidad de partición de bloque 1 a una unidad de predicción compensada con movimiento 5.
La unidad de intra-predicción 4 lleva a cabo un proceso de, cuando un modo de intra-codificación se selecciona por la unidad de control de codificación 2 como el modo de codificación correspondiente al bloque de codificación procedente del conmutador de selección 3, realización de un proceso de intra-predicción (proceso de predicción intra-trama) en cada bloque de predicción, que es una unidad para un proceso de predicción en el momento de llevar a cabo el proceso de predicción en el bloque de codificación, utilizando el parámetro de intra-predicción determinado por la unidad de control codificación 2, mientras que se refiere a una imagen decodificada local almacenada en una memoria 10 para la intra-predicción para generar una imagen de intra-predicción. Un intra-predictor está compuesto de la unidad de intra-predicción 4 y la memoria 10 para intra-predicción.
La unidad de predicción compensada con movimiento 5 lleva a cabo un proceso de, cuando un modo de inter-codificación se selecciona por la unidad de control de codificación 2 como el modo de codificación correspondiente al bloque de codificación procedente del conmutador de selección 3, comparación del bloque de codificación con una o más tramas de la imagen decodificada local almacenada en una memoria de trama de predicción compensada con movimiento 12 para cada bloque de predicción que es una unidad para un proceso de predicción para buscar un vector de movimiento, y de realización de un proceso de inter-predicción (proceso de predicción compensada con movimiento) en cada bloque de predicción en el bloque de codificación utilizando el vector de movimiento y el parámetro de inter-predicción, tal como un número de trama que se determina mediante la unidad de control de codificación 2 y que se que se refiere a, para generar una imagen de inter-predicción. Un predictor compensado con movimiento está compuesto de la unidad de predicción compensada con movimiento 5 y la memoria de trama de predicción compensada con movimiento 12.
Una unidad de sustracción 6 lleva a cabo un proceso de sustracción de la imagen de intra-predicción generada por la unidad de intra-predicción 4 o la imagen de inter-predicción generada por la unidad de predicción compensada con movimiento 5 del bloque de codificación procedente de la unidad de partición de bloque 1 y salida de una señal de diferencia de predicción que muestra una imagen de diferencia que es el resultado de la sustracción a la unidad de transformación/cuantificación 7. La unidad de transformación/cuantificación 7 lleva a cabo un proceso de realización de un proceso de transformación ortogonal (por ejemplo, una DCT (transformada de coseno discreta), una DST (transformada de seno discreta), o un proceso de transformación ortogonal, tal como una transformada KL, en la cuales se diseñan bases para una secuencia de aprendizaje específica por anticipado) en cada bloque de transformación ortogonal de la señal de diferencia de predicción procedente de la unidad de sustracción 6 haciendo referencia a la información de partición de bloque de transformación ortogonal incluida en los parámetros de codificación de diferencia de predicción determinados por la unidad de control de codificación 2 para calcular coeficientes de la transformada, y también cuantificación de los coeficientes de la transformada de cada bloque de transformación ortogonal haciendo referencia al parámetro de cuantificación incluido en los parámetros de codificación de diferencia de predicción y posteriormente salida de datos comprimidos que son los coeficientes de la transformada de ese modo cuantificados a la unidad de cuantificación inversa/transformación inversa 8 y una unidad de codificación de longitud variable 13. La unidad de transformación/cuantificación 7 construye un compresor de imagen.
La unidad de cuantificación inversa/transformación inversa 8 lleva a cabo un proceso de cuantificación inversa de los datos comprimidos acerca de cada bloque de transformación ortogonal procedente de la unidad de transformación/cuantificación 7 haciendo referencia al parámetro de cuantificación y la información de partición de bloque de transformación ortogonal incluida en los parámetros de codificación de diferencia de predicción determinados por la unidad de control de codificación 2, y también realización de un proceso de transformación ortogonal inversa en los coeficientes de la transformada que son los datos comprimidos de ese modo cuantificados de forma inversa para calcular una señal de diferencia de predicción decodificada local correspondiente a la señal de diferencia de predicción procedente de la unidad de sustracción 6. Una unidad de adición 9 lleva a cabo un proceso de adición de la señal de diferencia de predicción decodificada local calculada por la unidad de cuantificación inversa/transformación inversa 8 y la imagen de intra-predicción generada por la unidad de intra-predicción 4 o la imagen de inter-predicción generada por la unidad de predicción compensada con movimiento 5 para calcular una imagen decodificada local correspondiente al bloque de codificación procedente de la unidad de partición de bloque 1 . Un generador de imagen decodificada se compone de la unidad de cuantificación inversa/transformación inversa 8 y la unidad de adición 9. La memoria 10 para la intra-predicción es un medio de registro para el almacenamiento de la imagen decodificada local calculada por la unidad de adición 9.
Una unidad de filtro de bucle 11 lleva a cabo un proceso de realización de un proceso de filtrado predeterminado en la imagen decodificada local calculada por la unidad de adición 9 para sacar la imagen decodificada local de ese modo procesada con filtrado. En concreto, la unidad de filtro de bucle realiza un proceso de filtrado (filtrado de desbloqueo) para la reducción de una distorsión que ocurre en un límite entre bloques de transformación ortogonal y una distorsión que ocurre en un límite entre bloques de predicción, un proceso (proceso de desplazamiento adaptativo de píxeles) de adición en forma adaptativa de un desplazamiento por píxel, un proceso de filtrado adaptativo de conmutación en forma adaptativa entre filtros lineales, tales como filtros Wiener, para realizar el proceso de filtrado, y así sucesivamente. La unidad de filtro de bucle 11 se puede construir de tal manera que realice uno del proceso de filtrado de desbloqueo mencionado anteriormente, el proceso de desplazamiento adaptativo de píxeles mencionado anteriormente, y el proceso de filtrado adaptativo mencionado anteriormente, o realice dos o más de los procesos, tal como se muestra en la Fig. 10. En general, mientras que la calidad de la imagen mejora con el aumento en el número de tipos de procesos de filtrado utilizados, la carga de procesamiento se aumenta con el aumento en el número de tipos de procesos de filtrado utilizados. De manera más específica, debido a que hay una solución transaccional entre la calidad de la imagen y la carga de procesamiento, la estructura de la unidad de filtro de bucle se debe determinar justo de acuerdo con la carga de procesamiento aceptable en el dispositivo de codificación de video. La unidad de filtro de bucle 11 construye un filtro.
En el proceso de desplazamiento adaptativo de píxeles, un caso de no llevar a cabo el proceso de desplazamiento se define como un método de clasificación clase para cada bloque de codificación más grande primero, y un método de clasificación de clase se selecciona de entre una pluralidad de métodos de clasificación de clase que se preparan por anticipado. A continuación, utilizando el método de clasificación de clase seleccionado, cada píxel incluido en el bloque se clasifica en una de las clases, y se calcula un desplazamiento que minimiza la suma de errores al cuadrado de valores de brillo entre la imagen que se va a codificar y la imagen decodificada local para cada una de las clases. Por último, se lleva a cabo el proceso de adición del desplazamiento al valor de brillo de la imagen decodificada local, con lo cual se mejora la calidad de imagen de la imagen decodificada local. Por lo tanto, en el proceso de desplazamiento adaptativo de píxeies, un índice que indica el método de clasificación de clase para cada bloque de codificación más grande y el desplazamiento proporcionado para cada una de las clases de cada bloque de codificación más grande se sacan a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
Además, en el proceso de filtrado adaptativo, tal como se muestra en la Fig. 11 , una clasificación de clase (clasificación de grupo) se lleva a cabo con un caso de no llevar a cabo el proceso de filtrado que se incluye para cada bloque de codificación más grande (en el ejemplo mostrado en la Fig. 11 , un número de clase 0 muestra "sin proceso de filtrado" ), un filtro para la compensación de una distorsión remolcada se diseña para cada región (imagen decodificada local) perteneciente a cada clase (grupo), y el proceso de filtrado se lleva a cabo en la imagen decodificada local utilizando el filtro. Posteriormente, el número de clases (grupos) (el número de filtros) mencionados anteriormente, el filtro para la imagen decodificada local perteneciente a cada clase (grupo), y el número de clase (número de filtro), que es información de identificación acerca de la identificación de la clase (grupo) de cada bloque de codificación más grande se sacan a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro. Debido a que es necesario referirse a la señal de video utilizando la unidad de filtro de bucle 11 cuando se lleva a cabo el proceso de desplazamiento adaptativo de píxeles y el proceso de filtrado adaptativo, el dispositivo de codificación de video mostrado en la Fig. 1 se modifica de tal manera que la señal de video se introduce a la unidad del filtro de bucle 11.
Además, debido a que el método de utilizar tanto el proceso de desplazamiento adaptativo de píxeles como el proceso de filtrado adaptativo, en lugar de utilizar la estructura mostrada en la Fig. 10, se pueden seleccionar de forma óptima ya sea el proceso de desplazamiento adaptativo de píxeles o el proceso de filtrado adaptativo para cada bloque de codificación más grande. En el caso en el cual el dispositivo de codificación de video se construye de esta manera, se puede implementar un proceso de filtrado de alta precisión mientras que al mismo tiempo se reduce la cantidad de cálculos del proceso de filtrado en cada bloque de codificación más grande. Sin embargo, en el caso en el cual el dispositivo de codificación de video se construye de esta manera, información de selección que indica que se va a llevar a cabo uno del proceso de desplazamiento adaptativo de píxeles en cada bloque de codificación más grande y el proceso de filtrado adaptativo en cada bloque de codificación más grande se saca a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
La memoria de trama de predicción compensada con movimiento 12 es un medio de registro para el almacenamiento de la imagen decodificada local en la cual se lleva a cabo el proceso de filtrado mediante la unidad de filtro de bucle 11. La unidad de codificación de longitud variable 13 lleva a cabo un proceso de codificación por longitud variable de los datos comprimidos sacados a la misma desde la unidad de transformación/cuantificación 7, la señal de salida de la unidad de control de codificación 2 (información de partición de bloque acerca de la partición dentro de cada bloque de codificación más grande, el modo de codificación, los parámetros de codificación de diferencia de predicción, y los parámetros de intra-predicción o los parámetros de inter-predicción), el vector de movimiento procedente de la unidad de predicción compensada con movimiento 5 (cuando el modo de codificación es un modo de inter-codificación), y los parámetros de filtro procedentes de la unidad de filtro de bucle 11 para generar un tren de bits. La unidad de codificación de longitud variable 13 construye un codificador de longitud variable.
En el ejemplo mostrado en la Fig. 1 , la unidad de partición de bloque 1 , la unidad de control de codificación 2, el conmutador de selección 3, la unidad de intra-predicción 4, la unidad de predicción compensada con movimiento 5, la unidad de sustracción 6, la unidad de transformación/cuantificación 7, la unidad de cuantificación inversa/transformación inversa 8, la unidad de adición 9, la memoria 10 para la intra-predicción, la unidad de filtro de bucle 11 , la memoria de trama de predicción compensada con movimiento 12, y la unidad de codificación de longitud variable 13, que son los componentes del dispositivo de codificación de video, pueden consistir de piezas de hardware para uso exclusivo (por ejemplo, circuitos integrados semiconductores en cada uno de los cuales se monta una CPU, microcomputadoras de un chip, o similares), respectivamente. Como una alternativa, el dispositivo de codificación de video puede consistir de una computadora, y un programa en el cual los procesos llevados a cabo por la unidad de partición de bloque 1 , la unidad de control de codificación 2, el conmutador de selección 3, la unidad de intra-predicción 4, la unidad de predicción compensada con movimiento 5, la unidad de sustracción 6, la unidad de transformación/cuantificación 7, la unidad de cuantificación inversa/transformación inversa 8, la unidad de adición 9, la unidad de filtro de bucle 11 , y la unidad de codificación de longitud variable 13 descritos, se pueden almacenar en una memoria de la computadora y la CPU de la computadora se puede elaborar para ejecutar el programa almacenado un la memoria. La Fig. 2 es un diagrama de flujo que muestra el procesamiento (método de codificación de video) llevado a cabo por el dispositivo de codificación de video de conformidad con la modalidad 1 de la presente invención; La Fig. 3 es un diagrama de bloques que muestra un dispositivo de decodificación de video de acuerdo con la modalidad 1 de la presente invención. Haciendo referencia a la Fig. 3, cuando se recibe el tren de bits generado por el dispositivo de codificación de video mostrado en la Fig. 1 , una unidad de decodificación de longitud variable 31 decodifica en longitud variable la información de partición de bloque que indica el estado de partición de cada bloque de codificación dividido jerárquicamente del tren de bits. La unidad de decodificación de longitud variable 31 también lleva a cabo un proceso de referencia a la información de partición de bloque para especificar cada bloque de decodificación (un bloque correspondiente a cada "bloque de codificación" en el dispositivo de codificación de video de la Fig. 1), que es una de las unidades en la cual cada bloque de decodificación más grande se divide jerárquicamente y en la cual el dispositivo de decodificación de video lleva a cabo un proceso de decodificación, para cada bloque de decodificación más grande (un bloque correspondiente a cada "bloque de codificación más grande" en el dispositivo de codificación de video mostrado en la Fig. 1 ), decodificación en longitud variable de los datos comprimidos, el modo de codificación, el parámetro de intra-predicción (cuando el modo de codificación es un modo de intra-codificación), el parámetro inter-predicción (cuando el modo de codificación es un modo de inter-codificación), los parámetros de codificación de diferencia de predicción, y el vector de movimiento (cuando el modo de codificación es un modo de inter-codificación), que están asociados con cada bloque de decodificación, y también decodificación en longitud variable de los parámetros de filtro para cada bloque de decodificación más grande que se utilizan por una unidad de filtro de bucle 38. La unidad de decodificación de longitud variable 31 construye un decodificador de longitud variable.
Una unidad de cuantificación inversa/transformación inversa 32 lleva a cabo un proceso de cuantificación inversa de los datos comprimidos decodificados en longitud variable por la unidad de decodificación de longitud variable 31 para cada bloque de transformación ortogonal haciendo referencia al parámetro de cuantificación y la información de partición de bloque de transformación ortogonal que se incluyen en los parámetros de codificación de diferencia de predicción decodificados en longitud variable por la unidad de decodificación de longitud variable 31 , y también realización de un proceso de transformación ortogonal inversa en los coeficientes de la transformada que son los datos comprimidos de ese modo cuantificados de forma inversa para calcular una señal de diferencia de predicción decodificada que es la misma que la señal de diferencia de predicción decodificada de la unidad de cuantificación inversa/transformación inversa 8 mostrada en la Fig. 1. La unidad de cuantificación inversa/transformación inversa 32 construye un generador de imagen de diferencia.
Un conmutador de selección 33 lleva a cabo un proceso de, cuando el modo de codificación decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de intra-codificación, salida del parámetro de intra-predicción decodificado en longitud variable por la unidad de decodificación de longitud variable 31 a una unidad de intra-predicción 34 y, cuando el modo de codificación decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de inter-codificación, salida del parámetro de inter-predicción y el vector de movimiento que son decodificados en longitud variable por la unidad de decodificación de longitud variable 31 a una unidad de compensación de movimiento 35.
La unidad de intra-predicción 34 lleva a cabo un proceso de, cuando el modo de codificación asociado con el bloque de decodificación especificado a partir de la información de partición de bloque decodificada en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de intra-codificación, realización de un proceso de intra-predicción (proceso de predicción intra-trama) utilizando el parámetro de intra-predicción procedente del conmutador de selección 33 en cada bloque de predicción, que es una unidad para el proceso de predicción en el momento de llevar a cabo el proceso de predicción en el bloque de decodificación, mientras que se hace referencia a una imagen decodificada almacenada en una memoria 37 para la intra-predicción para generar una imagen de intra-predicción. Un intra-predictor está compuesto de la unidad de intra-predicción 34 y la memoria 37 para intra-predicción.
La unidad de compensación de movimiento 35 lleva a cabo un proceso de, cuando el modo de codificación asociado con el bloque de decodificación especificado a partir de la información de partición de bloque decodificada en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de inter-codificación, realización de un proceso de inter-predicción (proceso de predicción compensada con movimiento) utilizando el vector de movimiento y el parámetro de inter-predicción que se sacan del conmutador de selección 33 en cada bloque de predicción, que es una unidad para el proceso de predicción en el momento de llevar a cabo el proceso de predicción en el bloque de decodificación mencionado anteriormente, mientras que se hace referencia a una imagen decodificada almacenada en una memoria de trama de predicción compensada con movimiento 39 para generar una imagen de inter-predicción. Un predictor compensado con movimiento está compuesto de la unidad de compensación de movimiento 35 y la memoria de trama de predicción compensada con movimiento 39.
Una unidad de adición 36 lleva a cabo un proceso de adición de la señal decodificada de diferencia de predicción calculada por la unidad de cuantificación inversa/transformación inversa 32 y la imagen de intra-predicción generada por la unidad de intra-predicción 34 o la imagen de inter-predicción generada por la unidad de compensación de movimiento 35 para calcular una imagen decodificada que es la misma que la imagen decodificada local procedente de la unidad de adición 9 mostrada en la Fig. 1. La unidad de adición 36 construye un generador de imagen decodificada. La memoria 37 para la intra-predicción es un medio de registro para el almacenamiento de la imagen decodificada calculada por la unidad de adición 36.
La unidad de filtro de bucle 38 lleva a cabo un proceso de realización de un proceso de filtrado predeterminado en la imagen decodificada calculada por la unidad de adición 36 para sacar la imagen decodificada de ese modo procesada con filtrado. En concreto, la unidad de filtro de bucle realiza un proceso de filtrado (filtrado de desbloqueo) para la reducción de una distorsión que ocurre en un límite entre bloques de transformación ortogonal o una distorsión que ocurre en un límite entre bloques de predicción, un proceso (proceso de desplazamiento adaptativo de píxeles) de adición en forma adaptativa de un desplazamiento por píxel, un proceso de filtrado adaptativo de conmutación en forma adaptativa entre filtros lineales, tales como filtros Wiener, para realizar el proceso de filtrado, y así sucesivamente. A pesar de que la unidad de filtro de bucle 38 se puede construir de tal manera que realice uno del proceso de filtrado de desbloqueo mencionado anteriormente, el proceso de desplazamiento adaptativo de píxeles mencionado anteriormente, y el proceso de filtrado adaptativo mencionado anteriormente, o realice dos o más de los procesos, tal como se muestra en la Fig. 12, la unidad de filtro de bucle 38 se debe construir de tal manera que lleve a cabo el mismo proceso de filtrado que el proceso de filtrado llevado a cabo por la unidad de filtro de bucle 11 del dispositivo de codificación de video. La unidad de filtro de bucle 38 construye un filtro.
En el proceso de desplazamiento adaptativo de píxeles, se hace referencia al índice que indica el método de clasificación de clase establecido para cada bloque de decodificación más grande, al índice que se incluye en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 , y, cuando el índice no muestra "no llevar a cabo el proceso de desplazamiento", cada píxel dentro de cada bloque de decodificación más grande se clasifica en una de las clases. A continuación, se lleva a cabo un proceso de adición del desplazamiento establecido para cada clase incluida en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 al valor de brillo de cada píxel perteneciente a la clase, con lo cual se mejora la calidad de imagen de la imagen decodificada. Además, en el proceso de filtrado adaptativo, se hacen referencia a los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 (el número de clases (grupos) (el número de filtros), el filtro para la imagen decodificada local perteneciente a cada clase (grupo), el número de clase (número de filtro) que es información de identificación acerca de la identificación de la clase (grupo) de cada bloque de decodificación más grande) y, cuando la clase (grupo) indicada por el número de clase no muestra "no llevar a cabo el proceso de desplazamiento", el proceso de filtrado se lleva a cabo en la imagen decodificada perteneciente a la clase (grupo) utilizando el filtro correspondiente al número de clase. La memoria de trama de predicción compensada con movimiento 39 es un medio de registro para el almacenamiento de la imagen decodificada en la cual se lleva a cabo el proceso de filtrado mediante la unidad de filtro de bucle 38.
Además, en un caso en el cual la unidad de filtro de bucle 11 del dispositivo de codificación de video se construye de tal manera que selecciona de forma óptima ya sea el proceso de desplazamiento adaptativo de píxeles o el proceso de filtrado adaptativo para cada bloque de codificación más grande como el método de utilización de tanto el proceso de desplazamiento adaptativo de píxeles como el proceso de filtrado adaptativo mientras que se reduce la cantidad de cálculos de todo el proceso de filtrado de la unidad de filtro de bucle 38, se hace referencia a la información de selección incluida en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 y que indica que uno del proceso de desplazamiento adaptativo de píxeles en cada bloque de decodificación más grande y el proceso de filtrado adaptativo en cada bloque de decodificación más grande se lleva a cabo y el proceso de desplazamiento adaptativo de píxeles o el proceso de filtrado adaptativo se lleva a cabo en cada bloque de decodificación más grande.
En el ejemplo mostrado en la Fig. 3, la unidad de decodificación de longitud variable 31 , la unidad de cuantificación inversa/transformación inversa 32, el conmutador de selección 33, la unidad de intra-predicción 34, la unidad de compensación de movimiento 35, la unidad de adición 36, la memoria 37 para intra-predicción, la unidad de filtro de bucle 38, y la memoria de trama de predicción compensada con movimiento 39, que son los componentes del dispositivo de decodificación de video, pueden consistir de piezas de hardware para uso exclusivo (por ejemplo, circuitos integrados semiconductores en cada uno de los cuales se monta una CPU, microcomputadoras de un chip, o similares), respectivamente. Como una alternativa, el dispositivo de decodificación de video puede consistir de una computadora, y un programa en el cual los procesos llevados a cabo por la unidad de decodificación de longitud variable 31 , la unidad de cuantificación inversa/transformación inversa 32, el conmutador de selección 33, la unidad de intra-predicción 34, la unidad de compensación de movimiento 35, la unidad de adición 36, y la unidad de filtro de bucle 38 descritos, se pueden almacenar en una memoria de la computadora y la CPU de la computadora se puede elaborar para ejecutar el programa almacenado en la memoria. La Fig. 4 es un diagrama de flujo que muestra el procesamiento (método de decodificación de video) llevado a cabo por el dispositivo de decodificación de video de conformidad con la modalidad 1 de la presente invención.
A continuación, se explicarán las operaciones de los dispositivos de codificación y decodificación de video. En esta modalidad 1 , se explicará un caso en el cual el dispositivo de codificación de video recibe cada trama de un video como una imagen introducida, lleva a cabo una intra-predicción a partir de píxeles contiguos ya codificados o una predicción compensada con movimiento entre tramas adyacentes, y realiza un proceso de compresión con transformación ortogonal y cuantificación en una señal de diferencia de predicción adquirida y, después de eso, lleva a cabo codificación de longitud variable para generar un tren de bits, y el dispositivo de decodificación de video decodifica el tren de bits procedente del dispositivo de codificación de video.
El dispositivo de codificación de video mostrado en la Fig. 1 se caracteriza porque el dispositivo de codificación de video está adaptado para cambios locales de una señal de video en una dirección de espacio y en una dirección de tiempo, divide la señal de video en bloques que tienen varios tamaños, y lleva a cabo codificación adaptativa intra-trama e inter-trama. En general, la señal de video tiene una característica de su complejidad localmente variable en espacio y tiempo. Puede haber un caso en el cual un patrón que tiene una señal característica uniforme en una región de imagen relativamente grande, tal como una imagen de cielo o una imagen de pared, o un patrón que tiene un patrón de textura complicado en una región de imagen pequeña, tal como una imagen de persona o una imagen fotográfica que incluye una textura fina, también coexista en una cierta trama de video desde el punto de vista de espacio. También desde el punto de vista de tiempo, una imagen de cielo o una imagen de pared tienen un cambio local pequeño en una dirección de tiempo en sus patrones, mientras que una imagen de una persona u objeto móvil tiene un cambio temporal más grande debido a que su contorno tiene un movimiento de un cuerpo rígido y un movimiento de un cuerpo no rígido con respecto al tiempo.
Aunque un proceso de generación de una señal de diferencia de predicción que tiene energía de señal pequeña y entropía pequeña utilizando una predicción temporal y espacial, reduciendo de ese modo la cantidad de código completa, se lleva a cabo en el proceso de codificación, la cantidad de código de parámetros utilizados para la predicción se puede reducir siempre que los parámetros se puedan aplicar uniformemente a una región de señal de imagen tan grande como sea posible. Por otra parte, debido a que la cantidad de errores que ocurren en la predicción aumenta cuando el mismo parámetro de predicción se aplica a una región de imagen grande en un patrón de señal de imagen que tiene un cambio grande en el tiempo y el espacio, la cantidad de código de la señal de diferencia de predicción se incrementa. Por lo tanto, es deseable aplicar el mismo parámetro de predicción a una región de imagen que tiene un cambio grande en tiempo y espacio para reducir el tamaño del bloque de un bloque que es sometido al proceso de predicción, incrementando de ese modo el volumen de datos del parámetro que se utiliza para la predicción y reduciendo la energía eléctrica y entropía de la señal de diferencia de predicción.
En esta modalidad 1 , se proporciona una estructura de, con el fin de llevar a cabo codificación que está adaptada para tales características típicas de una señal de video, iniciación del proceso de predicción, etc., en un tamaño de bloque más grande predeterminado primero, partición jerárquica de la región de la señal de video en bloques, y adaptación del proceso de predicción y el proceso de codificación para codificar la diferencia de predicción a cada uno de los bloques divididos.
Una señal de video que tiene un formato que se va a procesar por el dispositivo de codificación de video mostrado en la Fig. 1 puede ser una señal YUV que consiste de una señal de luminancia y dos señales de diferencia de color o una señal de imagen de video en color en espacio de color arbitrario, tal como una señal de RGB, procedente de un sensor de imagen digital, una señal de imagen monocromática o una señal de imagen infrarroja, o una señal de video arbitraria en la cual cada trama de video consiste de una serie de muestras digitales (píxeles) en dos dimensiones, horizontal y vertical. La gradación de cada píxel puede ser uno de 8 bits, 10 bits o 12 bits.
En la siguiente explicación, para fines de conveniencia, se describirá un caso en el cual la señal de video de la imagen introducida es una señal de YUV a menos que se especifique lo contrario, y se manipulan los dos componentes de diferencia de color U y V que son señales que tienen un formato de 4:2:0 que son submuestreadas con respecto al componente de luminancia Y. Además, una unidad de datos que se va a procesar que corresponde a cada trama de la señal de video se refiere como una "imagen fotográfica". En esta modalidad 1 , aunque se hará una explicación en la cual una "imagen fotográfica" es un señal de trama de video en la cual se lleva a cabo exploración progresiva, una "imagen fotográfica" puede ser alternativamente una señal de imagen de campo que es una unidad que construye una trama de video cuando la señal de video es una señal entrelazada.
Primero, será explicado el procesamiento llevado a cabo por el dispositivo de codificación de video mostrado en la Fig. 1. Primero, la unidad de control de codificación 2 determina el tamaño de cada bloque de codificación más grande que se utiliza para la codificación de una imagen fotográfica (imagen fotográfica actual) que es el objetivo que se va a codificar, y un límite superior sobre el número de capas jerárquicas en las cuales cada bloque de codificación más grande se divide jerárquicamente (etapa ST1 de la Fig. 2). Como un método de determinación del tamaño de cada bloque de codificación más grande, por ejemplo, puede ser un método de determinación del mismo tamaño para todas las imágenes fotográficas de conformidad con la resolución de la señal de video de la imagen introducida, y un método de cuantificación de una variación en la complejidad de un movimiento local de la señal de video de la imagen introducida como un parámetro y posteriormente determinación de un tamaño pequeño para una imagen fotográfica que tiene un movimiento grande y vigoroso mientras que se determina un tamaño grande para una imagen fotográfica que tiene un movimiento pequeño. Como un método de determinación, el límite superior sobre el número de capas jerárquicas divididas, por ejemplo, puede ser un método de determinación del mismo número de capas jerárquicas para todas las imágenes fotográficas de conformidad con la resolución de la señal de video de la imagen introducida, y un método de aumento del número de capas jerárquicas para hacer posible detectar un movimiento más fino debido a que la señal de video de la imagen introducida tiene un movimiento más grande y más vigoroso, o disminución del número de capas jerárquicas debido a que la señal de video de la imagen introducida tiene un movimiento más pequeño.
La unidad de control de codificación 2 también selecciona un modo de codificación correspondiente a cada uno de los bloques de codificación en los cuales la imagen introducida se divide jerárquicamente a partir de uno o más modos de codificación disponibles (etapa ST2). De manera más específica, la unidad de control de codificación 2 divide jerárquicamente cada región de imagen que tiene el tamaño de bloque de codificación más grande en bloques de codificación que tienen cada uno un tamaño de bloque de codificación hasta que el número de capas jerárquicas divididas alcanza el límite superior sobre el número de capas jerárquicas divididas que se determina por anticipado, y determina un modo de codificación para cada uno de los bloques de codificación. El modo de codificación puede ser uno de uno o más modos de ¡ntra-codificación (generalmente referidos como "INTRA") y uno o más modos de inter-codificación (generalmente referidos como "INTER"), y la unidad de control de codificación 2 selecciona un modo de codificación correspondiente a cada uno de los bloques de codificación de entre todos los modos de codificación disponibles en la imagen fotográfica que actualmente es procesada o un subconjunto de estos modos de codificación.
Cada uno de los bloques de codificación en los cuales la imagen introducida se divide jerárquicamente por la unidad de partición de bloque 1 , que se mencionará más adelante, se divide adicionalmente en uno o más bloques de predicción cada uno de los cuales es una unidad en la cual se va a llevar a cabo un proceso de predicción, y el estado de la partición en el uno o más bloques de predicción también se incluye como información en la información de modo de codificación. De manera más específica, la información de modo de codificación es un índice que identifica ya sea un modo de intra-codificación o un modo de inter-codificación y qué tipo de partición en los bloques de predicción tiene el modo de codificación. Aunque una explicación detallada de un método de selección para seleccionar un modo de codificación para usarse en la unidad de control de codificación 2 será omitida en lo sucesivo debido a que el método de selección es una técnica conocida, hay un método para llevar a cabo un proceso de codificación en cada bloque de codificación utilizando modos de codificación arbitrariamente disponibles para examinar la eficacia de codificación, y seleccionar un modo de codificación que tenga el grado más alto de eficacia de codificación a partir de una pluralidad de modos de codificación disponibles, por ejemplo.
La unidad de control de codificación 2 determina adicionalmente un parámetro de cuantificación y un estado de partición de bloque de transformación ortogonal, que se utilizan cuando se comprime una imagen de diferencia para cada bloque de codificación, y también determina un parámetro de predicción (un parámetro de intra-predicción o un parámetro de inter-predicción) que se utilizan cuando se lleva a cabo un proceso de predicción. Cuando cada bloque de codificación se divide adicionalmente en bloques de predicción en cada uno de los cuales se lleva a cabo un proceso de predicción, la unidad de control de codificación puede seleccionar un parámetro de predicción (un parámetro de intra-predicción o un parámetro de inter-predicción) para cada uno de los bloques de predicción. Adicionalmente, debido a que cuando un proceso de intra-predicción se lleva a cabo en cada bloque de predicción en un bloque de codificación cuyo modo de codificación es un modo de intra-codificación, se utilizan píxeies ya codificados adyacentes al bloque de predicción, es necesario llevar a cabo codificación sobre una base de predicción por bloque, y por lo tanto, los tamaños de bloque de transformación seleccionables están limitados al tamaño del bloque de predicción o menor, lo cual será descrito con detalle.
La unidad de control de codificación 2 saca parámetros de codificación de diferencia de predicción incluyendo el parámetro de cuantificación y el tamaño de bloque de transformación a la unidad de transformación/cuantificación 7, la unidad de cuantificación inversa/transformación inversa 8, y la unidad de codificación de longitud variable 13. La unidad de control de codificación 2 también saca el parámetro de intra-predicción a la unidad de intra-predicción 4 según sea necesario. La unidad de control de codificación 2 saca adicionalmente el parámetro de inter-predicción a la unidad de predicción compensada con movimiento 5 según sea necesario.
Cuando se recibe la señal de video como la imagen introducida, la unidad de partición de bloque 1 divide la imagen introducida en bloques de codificación cada uno teniendo el tamaño de bloque de codificación más grande determinado por la unidad de control de codificación 2, y divide adicionalmente cada uno de los bloques de codificación más grandes, en los cuales se divide la imagen introducida, en bloques de codificación jerárquicos, estos bloques de codificación son determinados por la unidad de control de codificación 2, y saca cada uno de los bloques de codificación.
La Fig. 5 es un dibujo explicativo que muestra un ejemplo en el cual cada bloque de codificación más grande se divide jerárquicamente en una pluralidad de bloques de codificación. Haciendo referencia a la Fig. 5, cada bloque de codificación más grande es un bloque de codificación cuyo componente de luminancia, que se muestra por "capa jerárquica 0", tiene un tamaño de (L°, M°). Al llevar a cabo la división jerárquica con cada bloque de codificación más grande siendo establecido como un punto de partida hasta que la profundidad de la jerarquía alcanza una profundidad predeterminada que se establece por separado de conformidad con una estructura de árbol de cuadrantes, se pueden adquirir los bloques de codificación. En la profundidad de n, cada bloque de codificación es una región de imagen que tiene un tamaño de (Ln, Mn). En este ejemplo, aunque Ln puede ser el mismo que o diferir de Mn, el caso de Ln=Mn se muestra en la Fig. 5.
En lo sucesivo, el tamaño de bloque de codificación determinado por la unidad de control de codificación 2 se define como el tamaño de (Ln, Mn) en el componente de luminancia de cada bloque de codificación. Debido a que se lleva a cabo una partición de árbol de cuadrantes, siempre se establece (Ln+1, Mn+ )=(l_ 2, M 2). En el caso de una señal de imagen de video en color (formato 4:4:4) en la cual todos los componentes de color tienen el mismo número de muestra, tal como una señal de RGB, todos los componentes de color tienen un tamaño de (Ln, Mn), mientras que en el caso de manejo de un formato 4:2:0, un componente de diferencia de color correspondiente tiene un tamaño de bloque de codificación de (L72, M72).
En lo sucesivo, cada bloque de codificación en la n-ésima capa jerárquica se expresa como Bn, y un modo de codificación seleccionable para cada bloque de codificación Bn se expresa como m(Bn). En el caso de una señal de video en color que consiste de una pluralidad de componentes de color, el modo de codificación m(Bn) se puede configurar de tal manera que un modo individual se utiliza para cada componente de color, o se puede configurar de tal manera que un modo común se utiliza para todos los componentes de color. En lo sucesivo, se hará una explicación suponiendo que el modo de codificación indica aquel para el componente de luminancia del bloque de codificación cuando tiene un formato de 4:2:0 en una señal de YUV a menos que se especifique lo contrario.
Cada bloque de codificación Bn se divide en uno o más bloques de predicción cada uno de los cuales muestra una unidad de predicción por la unidad de partición de bloque 1 , tal como se muestra en la Fig. 5. En lo sucesivo, cada bloque de predicción perteneciente a cada bloque de codificación Bn se expresa como P¡n (i muestra un número de bloque de predicción en la n-ésima capa jerárquica). Un ejemplo de Po° y Pi° se muestra en la Fig. 5. Cómo se lleva a cabo la partición de cada bloque de codificación Bn en bloques de predicción se incluye como información en el modo de codificación m(Bn). Aunque un proceso de predicción se lleva a cabo en cada uno de todos los bloques de predicción P " de conformidad con el modo de codificación m(Bn), un parámetro de predicción individual (un parámetro de intra-predicción o un parámetro de inter-predicción) se puede seleccionar para cada bloque de predicción P¡n.
La unidad de control de codificación 2 genera tal estado de partición de bloque tal como se muestra en las Figuras 6A y 6B para cada bloque de codificación más grande, y posteriormente especifica bloques de codificación. Cada rectángulo encerrado por una línea punteada de la Fig. 6A muestra un bloque de codificación, y cada bloque llenado con líneas diagonales en cada bloque de codificación muestra el estado de partición de cada bloque de predicción. La Fig. 6B muestra una situación en donde un modo de codificación m(Bn) es asignado a cada nodo a través de la partición de capas jerárquicas en el ejemplo de la Fig. 6A se muestra utilizando una gráfica de árbol de cuadrantes. Cada nodo encerrado por Y mostrado en la Fig. 6B es un nodo (bloque de codificación) al cual se asigna un modo de codificación m(Bn). La información acerca de esta gráfica de árbol de cuadrantes se saca de la unidad de control de codificación 2 a la unidad de codificación de longitud variable 13 junto con el modo de codificación m(Bn), y es multiplexada en el tren de bits.
Cuando el modo de codificación m(Bn) determinado por la unidad de control de codificación 2 es un modo de intra-codificación (en el caso de m(Bn) <=INTRA), el conmutador de selección 3 saca el bloque de codificación Bn procedente de la unidad de partición de bloque 1 a la unidad de intra-predicción 4. En contraste, cuando el modo de codificación m(Bn) determinado por la unidad de control de codificación 2 es un modo de ínter-codificación (en el caso de m(Bn) <= INTER), el conmutador de selección saca el bloque de codificación Bn procedente de la unidad de partición de bloque 1 a la unidad de predicción compensada con movimiento 5.
Cuando el modo de codificación m(Bn) determinado por la unidad de control de codificación 2 es un modo de intra-codificación (en el caso de m(Bn) <=INTRA), y la unidad de intra-predicción 4 recibe el bloque de codificación Bn del conmutador de selección 3 (etapa ST3), la unidad de intra-predicción 4 lleva a cabo el proceso de intra-predicción en cada bloque de predicción P¡N en el bloque de codificación Bn utilizando el parámetro de intra-predicción determinado por la unidad de control de codificación 2 mientras se refiere a la imagen decodificada local almacenada en la memoria 10 para la intra-predicción para generar una imagen de intra-predicción PINTRAÍ" (etapa ST4). Debido a que el dispositivo de decodificación de video necesita generar una imagen de intra-predicción que sea completamente la misma que la imagen de intra-predicción PINTRAÍ", el parámetro de intra-predicción utilizado para la generación de la imagen de intra-predicción PINTRAÍ" se saca de la unidad de control de codificación 2 a la unidad de codificación de longitud variable 13 y se multiplexa en el tren de bits. Los detalles del procesamiento llevado a cabo por la unidad de intra-predicción 4 se mencionarán más adelante.
Cuando el modo de codificación m(Bn) determinado por la unidad de control de codificación 2 es un modo de inter-codificación (en el caso de m(Bn) <= INTER), y la unidad de predicción compensada con movimiento 5 recibe el bloque de codificación Bn del conmutador de selección 3 (etapa ST3), la unidad de predicción compensada con movimiento 5 compara cada bloque de predicción P¡n en el bloque de codificación Bn con la imagen decodificada local la cual se almacena en la memoria de trama de predicción compensada con movimiento 12 y en la cual se realiza el proceso de filtrado para buscar un vector de movimiento, y lleva a cabo el proceso de inter-predicción en cada bloque de predicción P¡n en el bloque de codificación Bn utilizando tanto el vector de movimiento como el parámetro de inter-predicción determinado por la unidad de control de codificación 2 para generar una imagen de inter-predicción PiNTERi" (etapa ST5). Debido a que el dispositivo de decodificación de video necesita generar una imagen de inter-predicción que sea completamente la misma que la imagen de inter-predicción PINTERÍ", el parámetro de inter-predicción utilizado para la generación de la imagen de inter-predicción PINTERÍ" se saca de la unidad de control de codificación 2 a la unidad de codificación de longitud variable 13 y se multiplexa en el tren de bits. El vector de movimiento que es buscado por la unidad de predicción compensada con movimiento 5 también se saca a la unidad de codificación de longitud variable 13 y se multiplexa en el tren de bits.
Cuando se recibe el bloque de codificación Bn de la unidad de partición de bloque 1 , la unidad de sustracción 6 sustrae la imagen de intra-predicción PINTRAÍ" generada por la unidad de intra-predicción 4 o la imagen de inter-predicción PINTERÍ" generada por la unidad de predicción compensada con movimiento 5 del bloque de predicción P¡n en el bloque de codificación Bn, y saca una señal de diferencia de predicción e¡n que muestra una imagen de diferencia que es el resultado de la sustracción a la unidad de transformación/cuantificación 7 (etapa ST6).
Cuando se recibe la señal de diferencia de predicción e¡n de la unidad de sustracción 6, la unidad de transformación/cuantificación 7 se refiere a la información de partición de bloque de transformación ortogonal incluida en los parámetros de codificación de diferencia de predicción determinados por la unidad de control de codificación 2, y lleva a cabo un proceso de transformación ortogonal (por ejemplo, una DCT (transformada de coseno discreta), una DST (transformada de seno discreta), o un proceso de transformación ortogonal, tal como una transformada KL, en las cuales se diseñan bases para una secuencia de aprendizaje específica por adelantado) en cada bloque de transformación ortogonal de la señal de diferencia de predicción e¡n para calcular coeficientes de la transformada. La unidad de transformación/cuantificación 7 también se refiere al parámetro de cuantificación incluido en los parámetros de codificación de diferencia de predicción para cuantificar los coeficientes de la transformada de cada bloque de transformación ortogonal, y saca datos comprimidos que son los coeficientes de la transformada cuantificados de ese modo a la unidad de cuantificación inversa/transformación inversa 8 y la unidad de codificación de longitud variable 13 (etapa ST7).
Cuando se reciben los datos comprimidos de la unidad de transformación/cuantificación 7, la unidad de cuantificación inversa/transformación inversa 8 se refiere al parámetro de cuantificación y la información de partición de bloque de transformación ortogonal que se incluyen en los parámetros de codificación de diferencia de predicción determinados por la unidad de control de codificación 2 para cuantificar de forma inversa los datos comprimidos acerca de cada bloque de transformación ortogonal. La unidad de cuantificación inversa/transformación inversa 8 lleva a cabo un proceso de transformación ortogonal inversa (por ejemplo, una DCT inversa, una DST inversa, una transformada de KL inversa, o similares) en los coeficientes de la transformada que son los datos comprimidos cuantificados de forma inversa para cada bloque de transformación ortogonal, y calcula una señal de diferencia de predicción decodificada local correspondiente a la señal de diferencia de predicción e¡n procedente de la unidad de sustracción 6 y saca la señal de diferencia de predicción decodificada local a la unidad de adición 9 (etapa ST8).
Cuando se recibe la señal de diferencia de predicción decodificada local de la unidad de cuantificación inversa/transformación inversa 8, la unidad de adición 9 calcula una imagen decodificada local agregando la señal de diferencia de predicción decodificada local y ya sea la imagen de intra-predicción PINTRAÍ" generada por la unidad de intra-predicción 4 o la imagen de inter-predicción P|NTER¡N generada por la unidad de predicción compensada con movimiento 5 (etapa ST9). La unidad de adición 9 saca la imagen decodificada local a la unidad de filtro de bucle 11 mientras que almacena la imagen decodificada local en la memoria 10 para la intra-predicción. Esta imagen decodificada local es una señal de imagen codificada que se utiliza en el momento de procesos de intra-predicción posteriores.
Cuando se recibe la imagen decodificada local de la unidad de adición 9, la unidad de filtro de bucle 11 lleva a cabo el proceso de filtrado predeterminado en la imagen decodificada local, y almacena la imagen decodificada local de ese modo procesada con filtrado en la memoria de trama de predicción compensada con movimiento 12 (etapa ST10). Los detalles del proceso llevado a cabo por la unidad de filtro de bucle 11 se mencionarán más adelante.
El dispositivo de codificación de video lleva a cabo de forma repetida los procesos de las etapas ST3 a ST9 hasta que el dispositivo de codificación de video completa el procesamiento en todos los bloques de codificación Bn en los cuales la imagen introducida se divide jerárquicamente y, cuando completa el procesamiento en todos los bloques de codificación Bn, cambia a un proceso de la etapa ST13 (etapas ST11 y ST12).
La unidad de codificación de longitud variable 13 codifica por entropía los datos comprimidos sacados a la misma desde la unidad de transformación/cuantificación 7, la información de partición de bloque acerca de la partición de cada bloque de codificación más grande en bloques, que se saca de la unidad de control de codificación 2 (la información del árbol de cuadrantes que se muestra en la Fig. 6B como un ejemplo), el modo de codificación m(Bn) y los parámetros de codificación de diferencia de predicción, el parámetro de intra-predicción (cuando el modo de codificación es un modo de intra-codificación) o el parámetro de inter-predicción (cuando el modo de codificación es un modo de inter-codificación) procedentes de la unidad de control de codificación 2, el vector de movimiento procedente de la unidad de predicción compensada con movimiento 5 (cuando el modo de codificación es un modo de inter-codificación), y los parámetros de filtro procedentes de la unidad de filtro de bucle 11 , y genera el tren de bits que muestra esos resultados codificados (etapa ST13). Los detalles del proceso de codificación en longitud variable de los parámetros de filtro por la unidad de codificación de longitud variable 13 se mencionarán más adelante.
A continuación, el proceso llevado a cabo por la unidad de intra-predicción 4 se explicará con detalle. La Fig. 7 es un dibujo explicativo que muestra un ejemplo de modos de intra-predicción cada uno de los cuales es un parámetro de intra-predicción que se puede seleccionar para cada bloque de predicción P¡N en el bloque de codificación Bn. En la figura, N| muestra el número de modos de intra-predicción. En la Fig. 7, se muestran los valores de índice de los modos de intra-predicción y los vectores de dirección de predicción representados por cada uno de los modos de intra-predicción. En el ejemplo de la Fig. 7, se diseña que un ángulo relativo entre los vectores de dirección de predicción se hace pequeño con el incremento en el número de modos de intra-predicción seleccionares.
La unidad de intra-predicción 4 lleva a cabo el proceso de intra-predicción en cada bloque de predicción P¡N refiriéndose a los parámetros de intra-predicción del bloque de predicción P¡N para generar una imagen de intra-predicción PINTRAÍ", tal como se mencionó anteriormente. En lo sucesivo, se explicará un intra-proceso de generación de una señal de intra-predicción de un bloque de predicción P¡n en la señal de luminancia.
Se supone que el tamaño del bloque de predicción P¡n es l¡nxm¡n píxeles. La Fig. 8 es un dibujo explicativo que muestra un ejemplo de píxeles que se utilizan cuando se genera un valor predicho de cada píxel en el bloque de predicción P¡n en el caso de l¡n=m¡n=4. Aunque (2x|¡n+1 ) píxeles ya codificados localizados en la parte superior del bloque de predicción P¡n y (2xm¡n) píxeles ya codificados localizados a la izquierda del bloque de predicción P¡n se establecen como los píxeles utilizados para la predicción en el ejemplo de la Fig. 8, un número de píxeles más grande o más pequeño que los píxeles mostrados en la Fig. 8 se puede utilizar para la predicción. Además, aunque una hilera o columna de píxeles adyacentes al bloque de predicción P¡n se utilizan para la predicción en el ejemplo mostrado en la Fig. 8, dos o más hileras o columnas de píxeles adyacentes al bloque de predicción P¡n se pueden utilizar alternativamente para la predicción.
Cuando un valor de índice indica que el modo de intra-predicción para el bloque de predicción P " es 0 (predicción plana), la unidad de intra-predicción utiliza píxeles ya codificados adyacentes a la parte superior del bloque de predicción P¡n y píxeles ya codificados adyacentes a la izquierda del bloque de predicción P¡n para determinar un valor interpolado de conformidad con la distancia entre estos píxeles y el píxel objetivo que ha de ser predicho en el bloque de predicción P¡n como un valor predicho y genera una imagen de predicción. Además, cuando el valor de índice indica que el modo de intra- predicción para el bloque de predicción P¡n es 2 (predicción promedio (DC)), la unidad de intra-predicción determina el promedio de los pixeles ya codificados adyacentes a la parte superior del bloque de predicción P¡n y los pixeles ya codificados adyacentes a la izquierda del bloque de predicción P¡n como el valor predicho de cada píxel en el bloque de predicción P¡n y genera una imagen de predicción. Cuando el valor de índice indica que el modo de intra-predicción es diferente de 0 (predicción plana) y 2 (predicción promedio), la unidad de intra-predicción genera un valor predicho de cada píxel en el bloque de predicción P¡n sobre la base de un vector de dirección de predicción up=(dx, dy) mostrado por el valor de índice. Tal como se muestra en la Fig. 9, cuando las coordenadas relativas de cada píxel en el bloque de predicción P¡n son expresadas como (x, y) con el píxel en la esquina superior izquierda del bloque de predicción P¡n siendo definido como el punto de origen, cada píxel de referencia que se utiliza para la predicción está localizado en un punto de intersección de L mostrado más adelante y un píxel adyacente. en donde k es un valor escalar negativo.
Cuando un píxel de referencia está en una posición de píxel entero, el valor del píxel entero correspondiente se determina como el valor predicho del píxel objetivo que ha de ser predicho, mientras que cuando un píxel de referencia no está en una posición de píxel entero, el valor de un píxel de interpolación generado a partir de los pixeles enteros que son adyacentes al píxel de referencia se determina como el valor predicho del píxel objetivo que ha de ser predicho. En el ejemplo mostrado en la Fig. 8, debido a que un píxel de referencia no está localizado en una posición de píxel entero, el valor predicho es interpolado a partir de los valores de dos píxeles adyacentes al píxel de referencia. La unidad de intra-predicción puede utilizar no solamente los dos píxeles adyacentes sino también uno o más píxeles adyacentes para generar un píxel de interpolación y determinar el valor de este píxel de interpolación como el valor predicho. Aunque el incremento en el número de píxeles utilizados para el proceso de interpolación proporciona una ventaja de mejora de la precisión de cálculos de un píxel de interpolación, debido a que el grado de complejidad de los cálculos requeridos para el proceso de interpolación aumenta con el aumento en el número de píxeles utilizados para el proceso de interpolación, es preferible generar un píxel de interpolación a partir de un número más grande de píxeles en un caso en el cual el dispositivo de codificación de video requiere un alto rendimiento de codificación incluso si la carga aritmética es grande.
A través del proceso descrito anteriormente, la unidad de intra-predicción genera píxeles de predicción para todos los píxeles de la señal de luminancia en el bloque de predicción P¡N, y saca una imagen de intra-predicción PINTRAÍ11- El parámetro de intra-predicción (modo de intra-predicción) utilizados para la generación de la imagen de intra-predicción PINTRAÍ" se saca a la unidad de codificación de longitud variable 13 con el fin de multiplexar el parámetro de intra-predicción en el tren de bits.
Al igual que en el caso de realizar un proceso de alisado en una imagen de referencia en el momento de llevar a cabo una intra-predicción en un bloque de 8x8 píxeles en una imagen que cumple con MPEG-4 AVC/H. 264 explicado anteriormente, incluso en un caso en el cual un píxel ya codificado adyacente al bloque de predicción P i n en el cual se lleva a cabo un proceso de alisado se proporciona como el píxel de referencia en el momento de la generación de una imagen de predicción intermedia del bloque de predicción P i n ' la unidad de intra-predicción 4 puede llevar a cabo el proceso de filtrado que es el mismo que el del ejemplo mencionado anteriormente en la imagen de predicción intermedia.
La unidad de intra-predicción también lleva a cabo un proceso de intra-predicción con base en el parámetro de intra-predicción (modo de intra-predicción) en cada una de las señales de diferencia de color del bloque de predicción P¡n de conformidad con el mismo procedimiento que de conformidad con el cual la unidad de intra-predicción lleva a cabo el proceso de intra-predicción en la señal de luminancia, y saca el parámetro de intra-predicción utilizado para la generación de la imagen de intra-predicción a la unidad de codificación de longitud variable 13. Sin embargo, los parámetros de intra-predicción seleccionabas (modos de intra-predicción) para cada una de las señales de diferencia de color pueden diferir de aquellos de la señal de luminancia. Por ejemplo, en el caso de un formato YUV 4:2:0, cada una de las señales de diferencia de color (señales U y V) es aquella cuya resolución se reduce a una mitad de la de la señal de luminancia (señal Y) tanto en una dirección horizontal como en una dirección vertical, y la complejidad de cada una de las señales de diferencia de color es más baja que la de la señal de luminancia y por lo tanto, una predicción se puede llevar a cabo en cada una de las señales de diferencia de color más fácilmente que en la señal de luminancia. Por lo tanto, al reducir el número de parámetros de intra-predicción seleccionares (modos de intra-predicción) para que cada una de las señales de diferencia de color sea menor que para la señal de luminancia, se pueden implementar una reducción en la cantidad de códigos requeridos para codificar el parámetro de intra-predicción (modo de intra-predicción) y una reducción en la cantidad de cálculos requeridos para llevar a cabo el proceso de predicción.
A continuación, el proceso llevado a cabo por la unidad de filtro de bucle 11 se explicará con detalle. La unidad de filtro de bucle 11 lleva a cabo un proceso de realización de un proceso de filtrado predeterminado en la imagen decodificada local calculada por la unidad de adición 9 y salida de la imagen decodificada local de ese modo procesada con filtrado. En concreto, la unidad de filtro de bucle lleva a cabo un proceso de filtrado (filtrado de desbloqueo) para la reducción de una distorsión que ocurre en un límite entre bloques de transformación ortogonal y una distorsión que ocurre en un límite entre bloques de predicción, un proceso (proceso de desplazamiento adaptativo de píxeles) de adición en forma adaptativa de un desplazamiento por píxel, un proceso de filtrado adaptativo de conmutación en forma adaptativa entre filtros lineales, tales como filtros Wiener, y realización del proceso de filtrado, y así sucesivamente. La unidad de filtro de bucle 11 se puede construir de tal manera que realice uno del proceso de filtrado de desbloqueo mencionado anteriormente, el proceso de desplazamiento adaptativo de píxeles mencionado anteriormente, y el proceso de filtrado adaptativo mencionado anteriormente, o realice dos o más de los procesos, tal como se muestra en la Fig. 10. En general, mientras que la calidad de la imagen mejora con el aumento en el número de tipos de procesos de filtrado utilizados, la carga de procesamiento se aumenta con el aumento en el número de tipos de procesos de filtrado utilizados. De manera más específica, debido a que hay una solución transaccional entre la calidad de la imagen y la carga de procesamiento, la estructura de la unidad de filtro de bucle se debe determinar justo de acuerdo con la carga de procesamiento aceptable en el dispositivo de codificación de video.
En el proceso de desplazamiento adaptativo de píxeles, utilizando un método predeterminado, un píxel incluido en cada bloque de codificación más grande se clasifica en una de las clases y un desplazamiento que minimiza la suma de errores al cuadrado de valores de brillo entre la imagen que se va a codificar y la imagen decodificada local primero se calcula para cada una de las clases. Por último, se lleva a cabo el proceso de adición del desplazamiento determinado para cada una de las clases al valor de brillo de cada píxel perteneciente a la clase (cada píxel de la imagen decodificada local), con lo cual se mejora la calidad de imagen de la imagen decodificada local.
Como el método predeterminado para llevar a cabo la clasificación de clase, existen un método de clasificación de cada píxel en una de las clases de conformidad con el valor de brillo de la imagen decodificada local, y un método de clasificación de cada píxel en una de las clases de conformidad con el estado de una región contigua alrededor del píxel (por ejemplo, sí o no la región contigua es una porción de borde) para cada uno de las direcciones de los bordes tal como se muestra en la Fig. 20. Estos métodos se preparan normalmente tanto en el dispositivo de codificación de imágenes como en el dispositivo de decodificación de imágenes, y el caso de no llevar a cabo el proceso de desplazamiento se define como un método de clasificación de clase. El lado de la codificación determina selectivamente cuál de estos métodos se va a utilizar para llevar a cabo la clasificación de clase para cada uno de los bloques mencionados anteriormente. Además, el lado de la codificación compara el caso de no llevar a cabo el proceso de desplazamiento adaptativo de píxeles en toda la imagen fotográfica con el caso de llevar a cabo el proceso de desplazamiento adaptativo de píxeles determinado tal como se mencionó anteriormente, y selecciona cuál de los casos es deseable. En consecuencia, en el proceso de desplazamiento adaptativo de píxeles, información de habilitación o deshabilitación que muestra sí o no el proceso de desplazamiento adaptativo de píxeles en el nivel de la imagen fotográfica está habilitado, y el índice que indica el método de clasificación de clase seleccionado para cada bloque de codificación más grande y el desplazamiento proporcionado para cada clase de cada bloque de codificación más grande cuando esta información de habilitación o deshabilitación indica que "el proceso está habilitado" se sacan a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
A continuación, el proceso de filtrado adaptativo se explicará en forma concreta. La Fig. 13 es un diagrama de flujo que muestra un ejemplo del proceso de filtrado adaptativo. En el ejemplo de la Fig. 13, con el fin de llevar a cabo el proceso de filtrado adaptativo en cada bloque de codificación más grande, una selección de filtro y un proceso de filtrado mostrados en las etapas ST102 a ST106 se realizan en cada bloque de codificación más grande (etapa ST101).
La selección de filtro y el proceso de filtrado mostrados en las etapas ST102 a ST106 serán explicados. Primero, un coste C0 en el caso de no llevar a cabo el proceso de filtrado se calcula como en un caso de un número de filtro 0 para el bloque de codificación más grande que es el objetivo actual que se va a procesar (etapa ST102). Como la definición del coste, se muestra un ejemplo a continuación Costo=D+A R (3) en donde D es la suma de errores al cuadrado entre la señal de imagen que se va a codificar dentro del bloque y la señal de imagen decodificada local en la cual se lleva a cabo el proceso de filtrado, y ? es una constante. Además, R es la cantidad de códigos requerida cuando se codifica el número de filtro para la selección del filtro que se va a utilizar, y los coeficientes del filtro correspondientes al número de filtro.
En esta modalidad, aunque el coste se expresa mediante la ecuación (3), el coste se puede dar alternativamente solamente mediante la suma de errores al cuadrado D, por ejemplo. Aunque la exactitud del coste cae cuando el coste se define de esta forma, la carga de cálculo del coste disminuye. Como una alternativa, D puede ser un valor absoluto, suma de errores con una carga aritmética inferior, en lugar de la suma de errores al cuadrado. La ecuación que se utiliza para definir el coste se puede determinar de conformidad con la carga aritmética aceptable por el dispositivo de codificación de video. Cuando se calcula el coste C0 en el caso de no llevar a cabo el proceso de filtrado, D es la suma de errores al cuadrado entre la señal de imagen que se va a codificar y la señal de imagen decodificada local en la cual no se lleva a cabo el proceso de filtrado, y la cantidad de códigos R requerida para el filtro es 0.
A continuación, un filtro Wiener que minimiza la suma de errores al cuadrado entre la señal de la imagen que se va a codificar y la señal de imagen decodificada local se calcula de conformidad con la ecuación (1) con cada píxel en el bloque de codificación más grande que es el objetivo que se va a procesar que se establece como un objetivo (etapa ST103), y se calcula un coste Cnuevo en el caso de llevar a cabo el proceso de filtrado en cada píxel dentro del bloque (etapa ST104). En este caso, el proceso de filtrado que utiliza el filtro Wiener se expresa mediante la siguiente ecuación (4).
S'(x0) = anS(xfí) + atS(Xi ) + - - - + aL_iS(xL_i) + aL ( 4 ) en donde x0 muestra el píxel objetivo que se va a filtrar, Xi (1=0, 1 , 2 L-1 ) muestra los píxeles de referencia del filtro (incluyendo el píxel objetivo que se va a filtrar), y L muestra el número de píxeles de referencia del filtro. Además, S(x) muestra el valor de brillo del píxel x, S'(x) muestra el valor de brillo en el cual el proceso de filtrado se realiza del píxel x, y am (m = 0, 1 , 2, L) muestra los coeficientes de filtro. aL muestra un coeficiente de desplazamiento, y el coeficiente de desplazamiento siempre se puede establecer a inválido establecido aL en 0. Al hacerlo de esta manera, aunque el rendimiento del filtro cae, el número de coeficientes de filtro que se van a codificar se puede reducir y la cantidad de códigos requerida para codificar los coeficientes de filtro se puede reducir.
Además, filtros (filtros cuyos números de filtro se establecen en 1 , 2, y numbl respectivamente) que se pueden utilizar diferentes del filtro diseñado para el bloque de codificación más grande que es el objetivo actual que se va a procesar se utilizan para calcular los costes C 1 , C 2 , ... , y C nUmbi en el caso de llevar a cabo el proceso de filtrado (etapa ST105). numbl muestra el número de filtros, diferentes del filtro diseñado para el bloque de codificación más grande que es el objetivo actual que se va a procesar, que se pueden utilizar. Como ejemplos de los filtros, diferentes del filtro diseñado para el bloque de codificación más grande que es el objetivo actual que se va a procesar, que se pueden utilizar, se puede proporcionar un filtro utilizado para un bloque de codificación más grande en el cual ya se lleva a cabo el proceso de filtrado, los filtros se preparan por adelantado antes de que se lleve a cabo el proceso de codificación, y así sucesivamente.
A continuación, el coste más pequeño se especifica de entre los costes Cnuev0, C0, C-i , C2, y Cnum i que se calculan hasta ahora, y el proceso de filtrado asociado con el coste más pequeño se determina como el proceso de filtrado para el bloque de codificación más grande que es el objetivo actual que se va a procesar (etapa ST106). En ese momento, cuando el proceso de filtrado determinado es el filtro (coste Cnuevo) diseñado para el bloque de codificación más grande que es el objetivo actual que se va a procesar, este filtro diseñado se establece como un filtro que tiene un número de numbl+1 (número de filtro es numbl+1 ) que se puede utilizar para el bloque de codificación más grande que es el próximo objetivo que se va a procesar, y el número numbl de filtros que se puede utilizar se incrementa en uno. El dispositivo de codificación de video posteriormente pasa a una selección de un filtro para el bloque de codificación más grande que es el próximo objetivo que se va a procesar, y el proceso de filtrado en este bloque de codificación (etapa ST107). El número de filtros que se establece como se mencionó anteriormente se define como el número de clase, y el número de filtros se denomina como el número de clases.
El dispositivo de codificación de video lleva a cabo el proceso mencionado anteriormente en todos los bloques de codificación más grandes, y por último compara el caso de no llevar a cabo el proceso de desplazamiento adaptativo de píxeles en la imagen fotográfica completa con el caso de llevar a cabo el proceso de desplazamiento adaptativo de píxeles determinado como se mencionó anteriormente en cada bloque de codificación más grande, y selecciona el óptimo de los casos. Por lo tanto, en el proceso de filtrado adaptativo, la información de habilitación o deshabilitación que indica sí o no el proceso de desplazamiento adaptativo de píxeles en el nivel de la imagen fotográfica está habilitado, y el número de clases, el número de clase de cada bloque de codificación más grande que incluye "sin proceso de filtrado", y los coeficientes de filtro de cada clase cuando la información de habilitación o deshabilitación indica que "el proceso está habilitado" se sacan a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
Como un ejemplo del proceso de filtrado adaptativo, además del ejemplo mostrado en la Fig. 13, se puede proporcionar un ejemplo mostrado en la Fig. 14. El ejemplo de la Fig. 14 difiere de aquel de la Fig. 13 en que solamente el método de selección de un proceso de filtrado para cada bloque de codificación más grande difiere, mientras que el ejemplo de la Fig. 14 es el mismo que aquel de la Fig. 13 en que el número de clase que muestra el filtro utilizado para cada bloque de codificación más grande y el filtro correspondiente a cada número de clase se establecen como parámetros de filtro sacados a la unidad de codificación de longitud variable 13. De manera más específica, en el ejemplo de la Fig. 14, los filtros que se utilizan dentro de la imagen fotográfica se preparan por adelantado (etapa ST108), un coste C0 (etapa ST110) en el caso de no llevar a cabo el proceso de filtrado, y costes C-i, C2, . . , y Cnumbi en el caso de utilizar los filtros preparados por adelantado, respectivamente (etapa ST111 ) se calculan para cada bloque de codificación más grande, y se selecciona un proceso de filtrado óptimo cuyo coste es el más pequeño (etapa ST112). Los procesos en las etapas ST110 a ST112 se llevan a cabo en todos los bloques de codificación más grandes dentro de la imagen fotográfica (etapas ST109 y ST113) para determinar un proceso de filtrado para cada uno de los bloques de codificación más grandes.
En comparación con el ejemplo mostrado en la Fig. 13, debido a que solamente se utiliza el conjunto de filtros preparado por adelantado en el ejemplo de la Fig. 14, el proceso de diseño de un filtro para cada bloque de codificación más grande se vuelve innecesario. Por lo tanto, aunque se reduce el estado óptimo del filtro, se puede reducir la carga de procesamiento. Por lo tanto, cuando se da mayor importancia a la carga de procesamiento que a un efecto de mejora del proceso de filtrado sobre la calidad de imagen, lo que se necesita es simplemente utilizar el ejemplo mostrado en la Fig. 14.
Además, aunque se determina un proceso de filtrado óptimo para cada bloque de codificación más grande en el ejemplo mencionado anteriormente, existe la posibilidad de que la suma de errores al cuadrado del valor de brillo entre la imagen que se va a codificar y la imagen decodificada local aumente a través del proceso de filtrado cuando se toma en consideración un caso de realizar el proceso de filtrado en cada una de las regiones más pequeñas que en bloques de codificación más grandes. Por lo tanto, tal como se muestra en la Fig. 15, se puede seleccionar sí o no llevar a cabo el proceso de filtrado en cada uno de los bloques de codificación en los cuales se divide cada bloque de codificación más grande. Debido a que al hacerlo de esta manera, se puede reducir el número de píxeles en cada uno de los cuales aumentan los errores al cuadrado del valor de brillo entre la imagen que se va a codificar y la imagen codificada local, se puede implementar un proceso de filtrado de alta precisión. Cuando se lleva a cabo este proceso, también es necesario codificar la información de habilitación y deshabilitación que indica sí o no el proceso de filtrado en cada bloque de codificación está habilitado como un parámetro de filtro. Aún cuando el proceso de encender/apagar para la activación o desactivación del filtro para cada bloque de codificación se introduce en el proceso de desplazamiento adaptativo de píxeles, se proporciona la misma ventaja que aquella proporcionada en el caso de la introducción del proceso de encender/apagar en el proceso de filtrado adaptativo.
Además, aunque un solo proceso de filtrado óptimo se determina para cada bloque de codificación más grande en el ejemplo mencionado anteriormente, los bloques de tamaño más pequeño dentro de cada bloque de codificación más grande se pueden clasificar en grupos de conformidad con sus características locales (el grado de dispersión de los valores de brillo, tal como varianza, y las orientaciones de los bordes) o similares, un filtro se diseña para cada uno de los grupos, y el proceso de filtrado se puede llevar a cabo en cada uno de los grupos. Al hacerlo de esta manera, aunque aumenta la cantidad de códigos requerida para el filtro debido a que es necesario codificar el número de filtros igual al número de grupos para cada bloque de codificación más grande, se puede implementar un proceso de filtrado de alta precisión debido a que se puede utilizar un filtro óptimo para cada una de las regiones de tamaño menor. En el caso en el cual el dispositivo de codificación de video se construye de tal manera que lleva a cabo este proceso, el dispositivo de decodificación de video también se debe construir de tal manera que lleve a cabo la misma clasificación de grupo que aquella llevada a cabo por el dispositivo de codificación de video.
Además, debido a que el método de utilización de tanto el proceso de desplazamiento adaptativo de píxeles como el proceso de filtrado adaptativo, en lugar de utilizar la estructura mostrada en la Fig. 10, se pueden seleccionar de forma óptima ya sea el proceso de desplazamiento adaptativo de píxeles o el proceso de filtrado adaptativo para cada bloque de codificación más grande. En el caso en el cual el dispositivo de codificación de video se construye de esta manera, se puede implementar un proceso de filtrado de alta precisión mientras que al mismo tiempo se reduce la cantidad de cálculos del proceso de filtrado en cada bloque de codificación más grande. Sin embargo, en el caso en el cual el dispositivo de codificación de video se construye de esta manera, la información de selección que indica que se va a llevar a cabo uno del proceso de desplazamiento adaptativo de píxeles en cada bloque de codificación más grande y el proceso de filtrado adaptativo se saca a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
Además, aunque el ejemplo de llevar a cabo una selección de un método de clasificación de clase en el proceso de desplazamiento adaptativo de pixeles y una selección de una clase en el proceso de filtrado adaptativo para cada bloque de codificación más grande se explica como en el caso anterior, las selecciones se pueden llevar a cabo alternativamente para cada bloque que tiene un tamaño de bloque arbitrario. Al hacerlo de esta manera, cuando se codifica una imagen que no tiene un patrón complicado, las selecciones se llevan a cabo en bloques que tienen un tamaño de bloque más grande que los bloques de codificación más grandes. Como resultado, la información de selección asociada con cada bloque que se va a codificar se puede reducir sin reducir mucho la capacidad de mejora de la calidad de imagen. En contraste, cuando se codifica una imagen que tiene un patrón complicado, las selecciones se llevan a cabo en bloques que tienen un tamaño de bloque más pequeño que los bloques de codificación más grandes. Como resultado, aunque aumenta la información de selección asociada con cada bloque que se va a codificar, se pueden implementar los procesos tras un cambio en el patrón complicado, y por lo tanto, se puede lograr un efecto de mejora de la calidad de imagen grande. Cuando se lleva a cabo una selección de un método de clasificación de clase en el proceso de desplazamiento adaptativo de pixeles y una selección de una clase en el proceso de filtrado adaptativo para cada bloque de codificación que tiene un tamaño de bloque arbitrario, como se mencionó anteriormente, el tamaño de bloque mencionado anteriormente se saca a la unidad de codificación de longitud variable 13 como parte de los parámetros de filtro.
A continuación, se explicarán los detalles del proceso de codificación en longitud variable de los parámetros de filtro. La unidad de codificación de longitud variable 13 codifica en longitud variable los parámetros de filtro sacados a la misma desde la unidad de filtro de bucle 11. Los parámetros de filtro incluyen, como los parámetros necesarios para el proceso de desplazamiento adaptativo de píxeles, la información de habilitación o deshabilitación que indica sí o no el proceso de desplazamiento adaptativo de píxeles en el nivel de la imagen fotográfica está habilitado, y el índice que indica el método de clasificación de clase para cada bloque de codificación más grande y el desplazamiento proporcionado para cada clase de cada bloque de codificación más grande cuando la información de habilitación o deshabilitación indica que "el proceso está habilitado". Adicionalmente, los parámetros de filtro incluyen, como los parámetros necesarios para el proceso de filtrado adaptativo, la información de habilitación o deshabilitación que indica sí o no el proceso de filtrado adaptativo en el nivel de la imagen fotográfica está habilitado, y el número de clases, el número de clase que muestra el filtro utilizado para cada bloque de codificación más grande, y los coeficientes de filtro correspondientes a cada número de clase cuando la información de habilitación o deshabilitación indica que "el proceso está habilitado".
En particular, en la codificación de longitud variable del número de clase de cada bloque de codificación más grande en el proceso de filtrado adaptativo, se lleva a cabo un proceso de codificación que utiliza Move-To-Front (mover al frente) mostrado en la Fig. 16. Move-To-Front (mover al frente) es un proceso de codificación del número de clase, y, después de eso, asignación del número de clase al índice de codificación más pequeño (índice 0), y posteriormente, aumento del índice de codificación correspondiente a cada uno de los otros números de clase por uno. Mediante esta actualización del índice de codificación para cada bloque de codificación más grande, la probabilidad de ocurrencia del índice de codificación se concentra en casi cero cuando existe una correlación espacial entre números de clase. Por lo tanto, al llevar a cabo la codificación de longitud variable de conformidad con esta frecuencia de probabilidad de ocurrencia, el número de clase se puede codificar con un alto grado de eficiencia de codificación. Además, en el caso de utilización de codificación Golomb en la codificación de longitud variable del índice de codificación mencionada anteriormente, el máximo del índice de codificación no es necesario para el proceso de decodificación. De manera más específica, debido a que el número de clases no es necesario en el caso de utilizar codificación Golomb, no es necesario codificar el número de clases. En consecuencia, el uso de codificación Golomb hace posible reducir la cantidad de códigos requerida para codificar el número de clases. Además, debido a que el máximo del índice de codificación es igualmente innecesario para el proceso de decodificación incluso en el caso de utilización de codificación alfa (codificación unaria), codificación gama, codificación delta, o similares, la codificación del número de clases se vuelve innecesaria. Como alternativa, un modelo de probabilidad de la codificación de longitud variable utilizando el número de índices de filtro seleccionabas (numbl mostrado en la Fig. 13) se puede diseñar cada vez que se lleva a cabo la codificación en cada bloque de codificación más grande, y se puede llevar a cabo codificación de entropía. Debido a que el dispositivo de codificación de video puede llevar a cabo la codificación con base en la probabilidad de ocurrencia de solamente un filtro que se puede seleccionar en realidad al hacerlo de esta manera, el dispositivo de codificación de video puede llevar a cabo la codificación con un mayor grado de eficiencia. También en este caso, no es necesario codificar el número de clases, y se puede reducir la cantidad de códigos.
Como el método de codificación para codificar el número de clase (número de filtro) de cada bloque de codificación más grande, puede ser un método de, tal como se muestra en la Fig. 17, codificación de la información de habilitación y deshabilitación que indica sí o no el proceso de filtrado en cada bloque de codificación más grande está habilitado en primer lugar, y, cuando la información de habilitación o deshabilitación indica que "el proceso de filtrado está habilitado", realización del proceso de codificación del número de clase explicado anteriormente. Al hacerlo de esta manera, cuando la probabilidad de ocurrencia de cada clase en el caso de no llevar a cabo el proceso de filtrado difiere en gran medida de la probabilidad de ocurrencia de cada clase en el caso de llevar a cabo el proceso de filtrado, se puede simplificar el diseño del modelo de probabilidad de la codificación de longitud variable.
Además, también cuando se lleva a cabo el proceso de codificación del índice que indica método de clasificación de clase seleccionado para cada bloque de codificación más grande en el proceso de desplazamiento adaptativo de píxeles, el uso de Move-To-Front (mover al frente) hace que sea fácil para la probabilidad de ocurrencia del índice de codificación concentrarse a cerca de cero, similar a cuando se lleva a cabo el proceso de codificación del número de clase de cada bloque de codificación más grande en el proceso de filtrado adaptativo mencionado anteriormente. Por lo tanto, al llevar a cabo la codificación de longitud variable de conformidad con esta frecuencia de probabilidad de ocurrencia, el índice se puede codificar con un alto grado de eficiencia de codificación.
Tanto para la codificación del número de clase (índice de clase) de cada bloque de codificación más grande en el proceso de filtrado adaptativo, como para la codificación del índice que indica el método de clasificación de clase seleccionado para cada bloque de codificación más grande en el proceso de desplazamiento adaptativo de píxeles, en lugar del método de codificación mencionado anteriormente que utiliza Move-To-Front (mover al frente), se puede proporcionar un método de codificación de una bandera que indica sí o no el método de clasificación de clase seleccionado para cada bloque de codificación más grande es el mismo que aquel seleccionado para un bloque contiguo (por ejemplo, un bloque en la parte superior o a la izquierda del bloque de codificación más grande), y un índice que indica qué bloque tiene el mismo método de clasificación de clase que aquel del bloque de codificación más grande cuando la bandera indica que el método de clasificación de clase es "el mismo", o un índice que se va a codificar cuando la bandera indica que el método de clasificación de clase "no es el mismo". Como alternativa, tal como se muestra en la Fig. 23, se puede proporcionar un método de codificación tanto de una bandera que indica sí o no el bloque de codificación objetivo tiene el mismo índice que el bloque localizado en la parte superior del bloque de codificación objetivo y un parámetro (longitud de gama de repeticiones) que muestra cuántos bloques que se extienden hacia la derecha tienen el mismo índice que el bloque de codificación objetivo y, cuando el bloque de codificación objetivo no tiene el mismo índice que el bloque localizado hacia la izquierda del bloque de codificación objetivo y no tiene el mismo índice que el bloque localizado en la parte superior del bloque de codificación objetivo, es decir, solamente cuando la longitud de gama de repeticiones se termina en el bloque hacia la izquierda del bloque de codificación objetivo y la bandera que indica si el bloque de codificación objetivo tiene el mismo índice que el bloque localizado en la parte superior del bloque de codificación objetivo indica que el bloque de codificación objetivo "no tiene el mismo índice", codificar un índice que se va a codificar. Estos métodos pueden implementar un alto grado de eficiencia de codificación en un caso en el cual existe una correlación espacial con el índice del bloque hacia la izquierda del bloque de codificación objetivo, como en el caso de utilizar el método de codificación utilizando Move-To-Front (mover al frente). Adicionalmente, estos métodos pueden ¡mplementar un alto grado de eficiencia de codificación también en un caso en el cual existe una correlación espacial con el índice del bloque en la parte superior del bloque de codificación objetivo, a diferencia del caso de utilizar el método de codificación utilizando Move-To-Front (mover al frente).
En la información de encabezamiento, se pueden codificar el número más grande de desplazamientos en el proceso de desplazamiento adaptativo de píxeles que se puede utilizar por imagen fotográfica y el número más grande de clases en el proceso de filtrado adaptativo que se pueden utilizar por imagen fotográfica. Debido a que el número más grande de desplazamientos y el número más grande de filtros que se tienen que decodificar por imagen fotográfica por el lado de la decodificación son evidentes en el caso en el cual el lado de la codificación lo hace de esta manera, las restricciones para la implementación del dispositivo de decodificación en tiempo real se pueden definir por la información de encabezamiento.
La Fig. 18 muestra el tren de bits generado por la unidad de codificación de longitud variable 13. En el tren de bits, por lo menos un encabezamiento de nivel de secuencia y por lo menos un encabezamiento de nivel de imagen fotográfica se insertan en la parte delantera de los datos representados, de manera que se puede hacer referencia a un parámetro requerido para decodificar cada imagen fotográfica. Además, los datos representados se dividen en uno o más segmentos y se codifican, y cada segmento se puede construir para uno de los bloques de codificación en los cuales se divide cada bloque de codificación más grande. Posteriormente, se inserta por lo menos un parámetro de filtro codificado en longitud variable, como un conjunto de parámetros de filtro, en la parte delantera de los datos representados, como el encabezamiento de nivel de imagen fotográfica. Cada segmento se elabora para tener un índice que indica a qué conjunto de parámetros de filtro se hace referencia en su encabezamiento de segmento, de manera que se puede hacer referencia al parámetro requerido para el proceso por la unidad de filtro de bucle 11 para cada segmento.
Además, tanto en el proceso de filtrado adaptativo como en el proceso de desplazamiento adaptativo de píxeles, cuando el proceso de filtrado adaptativo se define para seleccionar sí o no llevar a cabo el proceso de filtrado para cada uno de los bloques de codificación en los cuales se divide cada bloque de codificación más grande, tal como se muestra en la Fig. 15, la información de habilitación o deshabilitación que indica sí o no este proceso de filtrado en cada bloque de codificación está habilitado se codifica en longitud variable y es multiplexada en el tren de bits. La información codificada de habilitación o deshabilitación que indique sí o no el proceso de filtrado en cada bloque de codificación está habilitado es multiplexada en cada segmento mostrado en la Fig. 18, y la información de habilitación o deshabilitación que indica sí o no el proceso de filtrado en el rango de bloques de codificación propiedad de cada segmento está habilitado, es multiplexada en el encabezamiento de segmento. Como alternativa, la información se pueden multiplexar en el tren de bits como un conjunto de parámetros de filtro, junto con los demás parámetros de filtro.
A continuación, el procesamiento llevado a cabo por el dispositivo de decodificación de video mostrado en la Fig. 3 se explicará de forma concreta. Cuando se recibe el flujo de bits generado por el dispositivo de codificación de video mostrado en la Fig. 1 , la unidad de decodificación de longitud variable 31 lleva a cabo un proceso de decodificación de longitud variable en el tren de bits (etapa ST21 de la Fig. 4) y decodifica la información de tamaño de trama sobre una base por secuencia, cada secuencia consistiendo de una o más tramas de imágenes fotográficas, o sobre una base por imagen fotográfica. En ese momento, la unidad de decodificación de longitud variable decodifica los parámetros de filtro que se codifican como el conjunto de parámetros de filtro, y que se utilizan por la unidad de filtro de bucle 38. Los parámetros de filtro incluyen, como los parámetros necesarios para el proceso de desplazamiento adaptativo de píxeles, la información de habilitación o deshabilitación que indica sí o no el proceso de desplazamiento adaptativo de píxeles en el nivel de la imagen fotográfica está habilitado, y el índice que indica el método de clasificación de clase seleccionado para cada bloque de decodificación más grande y el desplazamiento proporcionado para cada clase de cada bloque de decodificación más grande cuando la información de habilitación o deshabilitación indica que "el proceso está habilitado". Los parámetros de filtro incluyen, como los parámetros necesarios para el proceso de filtrado adaptativo, la información de habilitación o deshabilitación que indica sí o no el proceso de filtrado adaptativo en el nivel de la imagen fotográfica está habilitado, y el número de clases, el número de clase que muestra el filtro utilizado para cada bloque de decodificación más grande, y los coeficientes de filtro correspondientes a cada número de clase cuando la información de habilitación o deshabilitación indica que "el proceso está habilitado". Sin embargo, debido a que la información de tamaño de trama se puede decodificar incluso si se desconoce el número de clases en el caso en el cual la codificación del número de clase que muestra el filtro utilizado para cada bloque de decodificación más grande se lleva a cabo utilizando codificación Golomb, codificación alfa (codificación uñaría), codificación gama, codificación delta, o similares, o en el caso en el cual se diseña un modelo de probabilidad únicamente utilizando el número de clases que se pueden seleccionar para cada bloque de decodificación más grande y se lleva a cabo codificación de entropía, el dispositivo de codificación de video no necesita codificar el número de clases. En el caso en el cual el dispositivo de codificación de video no codifica el número de clases en esta manera, el dispositivo de decodificación de video no lleva a cabo decodificación del número de clases.
La unidad de decodificación de longitud variable 31 también determina el tamaño de bloque de codificación más grande y el límite superior en el número de capas jerárquicas divididas que se determinan por la unidad de control de codificación 2 del dispositivo de codificación de video mostrado en la Fig. 1 de conformidad con el mismo procedimiento que aquel de conformidad con el cual lo hace el dispositivo de codificación de video (etapa ST22). Por ejemplo, cuando el tamaño de bloque de codificación más grande y el límite superior sobre el número de capas jerárquicas divididas se determinan de conformidad con la resolución de la señal de video, la unidad de decodificación de longitud variable determina el tamaño de bloque de codificación más grande sobre la base de la información de tamaño de trama decodificada y de conformidad con el mismo procedimiento que aquel de conformidad con el cual lo hace el dispositivo de codificación de video. Cuando el tamaño de bloque de codificación más grande y el límite superior sobre el número de capas jerárquicas divididas son multiplexados en el tren de bits por el dispositivo de codificación de video, la unidad de decodificación de longitud variable utiliza los valores decodificados del tren de bits. En lo sucesivo, se hace referencia al tamaño de bloque de codificación más grande mencionado anteriormente como el tamaño de bloque de decodificación más grande, y se hace referencia a un bloque de codificación más grande como un bloque de decodificación más grande en el dispositivo de decodificación de video. La unidad de decodificación de longitud variable 31 decodifica el estado de partición de un bloque de decodificación más grande tal como se muestra en la Fig. 6 para cada bloque de decodificación más grande determinado. La unidad de decodificación de longitud variable especifica jerárquicamente bloques de decodificación (es decir, bloques correspondientes a los "bloques de codificación" que son procesados por el dispositivo de codificación de video mostrado en la Fig. 1) sobre la base del estado de partición decodificado (etapa ST23).
La unidad de decodificación de longitud variable 31 posteriormente decodifica el modo de codificación asignado a cada bloque de decodificación. La unidad de decodificación de longitud variable 31 divide cada bloque de decodificación en uno o más bloques de predicción cada uno de los cuales es una unidad para el proceso de predicción con base en la información incluida en el modo de codificación, y decodifica el parámetro de predicción asignado a cada uno del uno o más bloques de predicción (etapa ST24).
De manera más específica, cuando el modo de codificación asignado a un bloque de decodificación es un modo de intra-codificación, la unidad de decodificación de longitud variable 31 decodifica el parámetro de intra-predicción para cada uno del uno o más bloques de predicción que se incluyen en el bloque de decodificación y cada uno de los cuales es una unidad para el proceso de predicción. En contraste, cuando el modo de codificación asignado a un bloque de decodificación es un modo de inter-codificación, la unidad de decodificación de longitud variable decodifica el parámetro de inter-predicción y el vector de movimiento para cada uno del uno o más bloques de predicción que se incluyen en el bloque de decodificación y cada uno de los cuales es una unidad para el proceso de predicción (etapa ST24). La unidad de decodificación de longitud variable 31 también decodifica los datos comprimidos (coeficientes de la transformada transformados y cuantificados) de cada bloque de transformación ortogonal con base en la información de partición de bloque de transformación ortogonal incluida en los parámetros de codificación de diferencia de predicción (etapa ST24).
Cuando el modo de codificación m(Bn) decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de intra-codificación (cuando m(Bn)<=INTRA), el conmutador de selección 33 saca el parámetro de intra-predicción de cada unidad de bloque de predicción, el cual se decodifica en longitud variable por la unidad de decodificación de longitud variable 31 , a la unidad de intra-predicción 34. En contraste, cuando el modo de codificación m(Bn) decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de inter-codificación (cuando m(Bn) <= INTER), el conmutador de selección saca el parámetro de inter-predicción y el vector de movimiento de cada unidad de bloque de predicción, que se decodifican en longitud variable por la unidad de decodificación de longitud variable 31 , a la unidad de compensación de movimiento 35.
Cuando el modo de codificación m(Bn) decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de intra-codificación (m(Bn)«=|NTRA) (etapa ST25), la unidad de intra-predicción 34 recibe el parámetro de intra-predicción de cada unidad de bloque de predicción procedente desde el conmutador de selección 33, y lleva a cabo un proceso de intra-predicción en cada bloque de predicción P¡n en el bloque de decodificación Bn utilizando el parámetro de intra-predicción mencionado anteriormente mientras que se hace referencia a la imagen decodificada almacenada en la memoria 37 para la intra-predicción para generar una imagen de intra-predicción PINTRAÍ" de conformidad con el mismo procedimiento que aquel que utiliza la unidad de intra-predicción 4 mostrada en la Fig. 1 (etapa ST26).
Cuando el modo de codificación m(Bn) decodificado en longitud variable por la unidad de decodificación de longitud variable 31 es un modo de inter-codificación (m(Bn)eINTER) (etapa ST25), la unidad de compensación de movimiento 35 recibe el vector de movimiento y el parámetro de inter-predicción de cada unidad de bloque de predicción que se saca desde el conmutador de selección 33, y lleva a cabo un proceso de inter-predicción en cada bloque de predicción P¡N en el bloque de decodificación utilizando el vector de movimiento mencionado anteriormente y el parámetro de inter-predicción mencionado anteriormente mientras que se hace referencia a la imagen decodificada que es almacenada en la memoria de trama de predicción compensada con movimiento 39 y en la cual el proceso de filtrado se lleva a cabo para generar una imagen de inter-predicción PINTERÍ" (etapa ST27).
Cuando se reciben los datos comprimidos y los parámetros de codificación de diferencia de predicción desde la unidad de decodificación de longitud variable 31 , la unidad de cuantificación inversa/transformación inversa 32 cuantifica de forma inversa los datos comprimidos acerca de cada bloque de transformación ortogonal haciendo referencia al parámetro de cuantificación y la información de partición de bloque de transformación ortogonal que se incluyen en los parámetros de codificación de diferencia de predicción de conformidad con el mismo procedimiento que aquel con el cual lo hace la unidad de cuantificación inversa/transformación inversa 8 mostrada en la Fig. 1. La unidad de cuantificación inversa/transformación inversa 32 también lleva a cabo un proceso de transformación ortogonal inversa en los coeficientes de la transformada de cada bloque de transformación ortogonal que son los datos comprimidos que la unidad de cuantificación inversa/transformación inversa cuantifica de forma inversa para calcular una señal de diferencia de predicción decodificada que es la misma que la señal de diferencia de predicción decodificada local procedente de la unidad de cuantificación inversa/transformación inversa 8 mostrada en la Fig. 1 (etapa ST28).
La unidad de adición 36 agrega la señal decodificada de diferencia de predicción calculada por la unidad de cuantificación inversa/transformación inversa 32 y ya sea la imagen de intra-predicción PINTRAÍ" generada por la unidad de intra-predicción 34 o la imagen de inter-predicción PINTERÍ" generada por la unidad de compensación de movimiento 35 para calcular una imagen decodificada y sacar la imagen decodificada a la unidad de filtro de bucle 38, y también almacena la imagen decodificada en la memoria 37 para la intra-predicción (etapa ST29). Esta imagen decodificada es una señal de imagen decodificada que se utiliza en el momento de procesos de intra-predicción posteriores.
Cuando se completan los procesos de las etapas ST23 a ST29 en todos los bloques de decodificación Bn (etapa ST30), la unidad de filtro de bucle 38 lleva a cabo un proceso de filtrado predeterminado en la imagen decodificada procedente de la unidad de adición 36, y almacena la imagen decodificada de ese modo procesada con filtrado en la memoria de trama de predicción compensada con movimiento 39 (etapa ST31). En concreto, la unidad de filtro de bucle lleva a cabo un proceso de filtrado (filtrado de desbloqueo) para la reducción de una distorsión que ocurre en un límite entre bloques de transformación ortogonal y una distorsión que ocurre en un límite entre bloques de predicción, un proceso (proceso de desplazamiento adaptativo de píxeles) de adición en forma adaptativa de un desplazamiento para cada píxel, un proceso de filtrado adaptativo de conmutación en forma adaptativa entre filtros lineales, tales como filtros Wiener, y realización del proceso de filtrado, y así sucesivamente. A pesar de que la unidad de filtro de bucle 38 se puede construir de tal manera que realice uno del proceso de filtrado de desbloqueo mencionado anteriormente, el proceso de desplazamiento adaptativo de píxeles mencionado anteriormente, y el proceso de filtrado adaptativo mencionado anteriormente, o realice dos o más de los procesos, tal como se muestra en la Fig. 12, la unidad de filtro de bucle 38 se debe construir de tal manera que lleve a cabo el mismo proceso de filtrado que el proceso de filtrado llevado a cabo por la unidad de filtro de bucle 11 del dispositivo de codificación de video.
En el proceso de desplazamiento adaptativo de píxeles, se hace referencia al índice que indica el método de clasificación de clase seleccionado para cada bloque de decodificación más grande incluido en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 , el método de clasificación de clase correspondiente al índice se especifica a partir de los métodos de clasificación de clase preparados por adelantado, y se lleva a cabo una clasificación de cada píxel dentro de cada bloque de decodificación más grande en una de las clases utilizando el método de clasificación de clase. A continuación, se lleva a cabo el proceso de adición del desplazamiento proporcionado para cada clase incluida en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 al valor de brillo de cada píxel (cada píxel de la imagen decodificada) perteneciente a la clase mencionada anteriormente.
Además, en el proceso de filtrado adaptativo, se hacen referencia a los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 (el número de clases (el número de filtros)), el filtro para la imagen decodificada local perteneciente a cada clase, y el número de clase (número de filtro) que es información de identificación acerca de la identificación de la clase de cada bloque y, cuando la clase mostrada por el número de clase no muestra "el proceso de desplazamiento no se lleva a cabo", el proceso de filtrado se lleva a cabo en la imagen decodificada perteneciente a la clase utilizando el filtro correspondiente al número de clase.
La Fig. 19 es un diagrama de flujo que muestra un ejemplo del proceso de filtrado adaptativo. En el ejemplo de la Fig. 19, con el fin de llevar a cabo el proceso de filtrado adaptativo para cada bloque de codificación más grande, un proceso de filtrado mostrado en las etapas ST222 a ST224 se realiza en cada bloque de decodificación más grande (etapa ST221). Se explicará el proceso de filtrado mostrado en las etapas ST222 a ST224.
En primer lugar, con base en el número de clase de cada bloque de decodificación más grande incluido en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 , se determina sí o no llevar a cabo el proceso de filtrado en el bloque decodificación más grande que es el objetivo que se va a procesar (etapa ST222). Cuando se lleva a cabo el proceso de filtrado, el proceso de filtrado se lleva a cabo en cada píxel dentro del bloque utilizando el filtro correspondiente al número de clase mencionado anteriormente (etapa ST223). El dispositivo de decodificación de video posteriormente pasa al siguiente bloque de decodificación más grande (ST224). El dispositivo de decodificación de video lleva a cabo los procesos mencionados anteriormente en todos los bloques de decodificación más grandes, y almacena las imágenes decodificadas en las cuales el dispositivo de decodificación de video lleva a cabo los procesos en la memoria de trama de predicción compensada con movimiento 39.
Además, en un caso en el cual la unidad de filtro de bucle 11 del dispositivo de codificación de video se construye de tal manera que haga una selección óptima de ya sea uno del proceso de desplazamiento adaptativo de pixeles y el proceso de filtrado adaptativo para cada bloque de codificación más grande como el método de utilización de tanto el proceso de desplazamiento adaptativo de pixeles como el proceso de filtrado adaptativo mientras que se reduce la cantidad de cálculos de todo el proceso de filtrado de la unidad de filtro de bucle 38, el dispositivo de decodificación de video lleva a cabo el proceso de desplazamiento adaptativo de pixeles o el proceso de filtrado adaptativo para cada bloque de decodificación más grande haciendo referencia a la información de selección incluida en los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 y que indica sí o no llevar a cabo el proceso de desplazamiento adaptativo de pixeles o el proceso de filtrado adaptativo para cada bloque de decodificación más grande .
Además, aunque se ha explicado anteriormente el ejemplo de decodificación de la información acerca de la selección del método de clasificación de clase para el proceso de desplazamiento adaptativo de pixeles en cada bloque decodificación más grande, y la información acerca de la selección de clase para el proceso de filtrado adaptativo, y llevando a cabo el proceso de filtrado de bucle, en un caso en el cual el dispositivo de codificación de video se construye de tal manera que codifica el tamaño de bloque, la información acerca de la selección del método de clasificación de clase para el proceso de desplazamiento adaptativo de pixeles en cada bloque que tiene el tamaño de bloque, y la información acerca de la selección de clase para el proceso de filtrado adaptativo, el dispositivo de decodificación de video decodifica en longitud vanable el tamaño de bloque mencionado anteriormente, la información acerca de la selección del método de clasificación de clase para el proceso de desplazamiento adaptativo de píxeles en cada bloque que tiene el tamaño de bloque, y la información acerca de la selección de clase para el proceso de filtrado adaptativo utilizando la unidad de decodificación de longitud variable 31 , y la unidad de filtro de bucle 38 lleva a cabo el proceso de filtrado de bucle en cada bloque que tiene el tamaño de bloque mencionado anteriormente con base en estos parámetros.
En un caso en el cual la información que indica sí o no llevar a cabo el proceso de filtrado en cada uno de los bloques de decodificación en los cuales se divide el bloque de decodificación más grande se codifica en el encabezamiento de segmento, la unidad de decodificación de longitud variable 31 decodifica la información mencionada anteriormente, y el proceso de filtración en la etapa ST223 se lleva a cabo solamente en bloques de decodificación que tienen cada uno la información que indica que se lleve a cabo el proceso de filtrado. La imagen decodificada en la cual se lleva a cabo el proceso de filtrado por esta unidad de filtro de bucle 38 se proporciona como una imagen de referencia para la predicción compensada con movimiento, y se determina como una imagen reproducida.
Tal como se puede observar a partir de la descripción anterior, de conformidad con esta modalidad 1 , la unidad de filtro de bucle 11 del dispositivo de codificación de video se construye de tal manera que lleve a cabo una clasificación de una imagen decodificada local generada por la unidad de adición 9 en una clase para cada bloque de codificación que tiene el tamaño más grande determinado por la unidad de control de codificación 2, que diseñe un filtro que compensa una distorsión remolcada para cada imagen decodificada local perteneciente a cada clase, y que lleve a cabo el proceso de filtrado en la imagen decodificada local mencionada anteriormente utilizando el filtro, y la unidad de codificación de longitud variable 13 está construida de tal manera que codifique, como parámetros de filtro, el filtro diseñado por la unidad de filtro de bucle 11 y utilizado para la imagen decodificada local perteneciente a cada clase, y el número de clase de cada bloque de codificación más grande. Por lo tanto, debido a que el usuario está habilitado para hacer que el dispositivo de codificación de video lleve a cabo una clasificación de clase con un número arbitrario de clases en cada bloque que tiene un tamaño de bloque predeterminado de conformidad con un método arbitrario y lleve a cabo el proceso de filtrado en cada región perteneciente a cada clase, se proporciona una ventaja de poder llevar a cabo la clasificación de clase de conformidad con la imagen que se va a codificar, y mejorar la precisión de mejora de la calidad de imagen.
De acuerdo a esta modalidad 1 , debido a que el dispositivo de decodificación de video se construye de tal manera que lleve a cabo el proceso de filtrado utilizando un filtro perteneciente a cada clase haciendo referencia a los parámetros de filtro decodificados en longitud variable por la unidad de decodificación de longitud variable 31 del mismo, se proporciona una ventaja de poder mejorar la precisión de mejora de la calidad de imagen al hacer que el dispositivo de codificación de video determine una óptima clasificación de clase y lleve a cabo la codificación.
Aunque la invención se ha descrito en su modalidad preferida, se debe entender que se pueden realizar diversos cambios en un componente arbitrario de conformidad con la modalidad, y un componente arbitrario de conformidad con la modalidad se puede omitir dentro del alcance de la invención.
Aplicación industrial El dispositivo de codificación de video y el método de codificación de video de conformidad con la presente invención son adecuados para un dispositivo de codificación de video que necesita codificar una imagen de video con un alto grado de eficiencia, y el dispositivo de codificación de video y el método de codificación de video de conformidad con la presente invención son adecuados para un dispositivo de decodificación de video que necesita decodificar una imagen de video que está codificada con un alto grado de eficiencia.

Claims (13)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1 - Un dispositivo de decodificación de imágenes, que comprende: un decodificador de longitud variable que decodifica en longitud variable datos comprimidos asociados con cada uno de bloques de codificación particionados jerárquicamente de datos codificados multiplexados en un tren de bits y también decodifica en longitud variable parámetros de filtro para cada bloque de codificación que tiene un tamaño más grande de dichos datos codificados; un predictor que lleva a cabo un proceso de predicción en dicho bloque de codificación para generar una imagen de predicción; un generador de imagen de diferencia que genera una imagen de diferencia a partir de dichos datos comprimidos; un generador de imagen decodificada que adiciona dicha imagen de diferencia y dicha imagen de predicción para generar una imagen decodificada; y un filtro que lleva a cabo un proceso de filtrado utilizando dichos parámetros de filtro en dicha imagen decodificada y saca la imagen decodificada de ese modo procesada con filtrado, en donde dicho decodificador de longitud variable decodifica en longitud variable una bandera dispuesta para cada bloque de codificación que tiene dicho tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a decodificar que tiene dicho tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda, y, cuando dicha bandera indica que los parámetros son los mismos que aquellos para el otro bloque de codificación, establece los parámetros de filtro del otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda como los parámetros de filtro para el bloque de codificación que se va a decodificar que tiene dicho tamaño más grande.
2 - El dispositivo de decodificación de imágenes de conformidad con la reivindicación 1 , caracterizado además porque dicho decodificador de longitud variable decodifica en longitud variable los parámetros de filtro para cada bloque de codificación que tiene dicho tamaño más grande, un índice que indica un método de clasificación de clase, y un desplazamiento de cada clase, y dicho filtro lleva acabo un proceso de desplazamiento adaptativo de píxeles para realizar una clasificación de clase de cada pixel en la imagen decodificada generada por dicho generador de imagen decodificada en una clase para cada bloque de codificación que tiene el tamaño más grande utilizando el método de clasificación de clase especificado por el índice que indica dicho método de clasificación de clase, y añadir el desplazamiento de cada clase a un valor de pixel de cada pixel que pertenece a la clase correspondiente.
3.- El dispositivo de decodificación de imágenes de conformidad con la reivindicación 2, caracterizado además porque dicho decodificador de longitud variable decodifica por longitud variable un modo de codificación asociado con cada uno de los bloques de codificación particionados jerárquicamente de los datos codificados multiplexados en el tren de bits y en donde dicho dispositivo de decodificación de video incluye un intra-predictor que, cuando dicho modo de codificación es un modo de intra-codificación, lleva a cabo un proceso de predicción de intra-trama que corresponde a dicho modo de intra-codificación en cada bloque de predicción que es una unidad para el proceso de predicción al momento de llevar a cabo del proceso de predicción en dicho bloque de codificación para generar una imagen de predicción, y dicho generador de imagen decodificada agrega la imagen de diferencia generada por dicho generador de imagen de diferencia y la imagen de predicción generada por dicho intra-predictor para generar la imagen decodificada.
4.- El dispositivo de decodificación de imágenes de conformidad con la reivindicación 3, caracterizado además porque dicho dispositivo de decodificación de video incluye un predictor compensado con movimiento que, cuando el modo de codificación asociado con el bloque de codificación decodificado en longitud variable por el decodificador de longitud variable es un modo de inter-codificación, lleva a cabo un proceso de predicción compensada con movimiento en cada bloque de predicción, que es una unidad para un proceso de predicción en el momento de llevar a cabo el proceso de predicción en el bloque de codificación, utilizando una imagen de referencia para generar una imagen de predicción, y el generador de imagen decodificada agrega la imagen de diferencia generada por el generador de imagen de diferencia y la imagen de predicción generada por el intra-predictor o dicho predictor compensado con movimiento para generar la imagen decodificada y el filtro lleva a cabo el proceso de filtrado en la imagen decodificada adquirida por dicho generador de imagen decodificada y saca la imagen decodificada de ese modo procesada con filtrado a dicho predictor compensado con movimiento como una imagen de referencia.
5. - El dispositivo de decodificación de imágenes de conformidad con la reivindicación 4, caracterizado además porque dicho decodificador en longitud variable decodifica en longitud variable información de partición de bloque de los datos codificados multiplexados en el bus de bits, y decodifica en longitud variable datos comprimidos, un modo de codificación un parámetro de predicción que muestra un parámetro de intra-predicción o un parámetro de intra-predicción, un parámetro de cuantificación, y un tamaño de bloque de transformación que se relacionan con cada bloque que es activado desde dicha información de partición de bloque, y dicho generador de imagen de diferencia cuantifica a la inversa los datos comprimidos relacionados con el bloque de codificación codificado en longitud variable por dicho decodificador en longitud variable al utilizar el parámetro de cuantificación relacionado con dicho bloque de codificación y lleva a cabo un proceso de transformación a la inversa en los datos comprimidos cuantificados a la inversa, por lo que cada bloque tiene dicho tamaño de bloque de transformación para generar la imagen de diferencia pre-comprimida.
6. - Un dispositivo de codificación de imágenes, que comprende: un determinador de parámetros de codificación que determina un tamaño más grande de un bloque de codificación que es una unidad que se va a procesar en el momento en que se lleva a cabo un proceso de codificación; un particionador de bloque que particiona una imagen introducida en bloques de codificación cada uno teniendo el tamaño más grande determinado por dicho determinador de parámetros de codificación, y también particiona cada uno de dichos bloques de codificación jerárquicamente; un predictor que lleva a cabo un proceso de predicción en dicho bloque de codificación para generar una imagen de predicción; un generador de imagen de diferencia que genera una imagen de diferencia entre una imagen introducida de dicho bloque de codificación y dicha imagen de predicción; un compresor de imagen que comprime dicha imagen de diferencia y saca datos comprimidos acerca de dicha imagen de diferencia; un generador de imagen decodificada local que decodifica dichos datos comprimidos y adiciona la imagen de diferencia decodificada y dicha imagen de predicción para generar una imagen decodificada local; un filtro que lleva a cabo un proceso de filtrado en dicha imagen decodificada local; y un codificador de longitud variable que codifica en longitud variable dichos datos comprimidos y parámetros de filtro para cada bloque de codificación que tiene el tamaño más grande, y que genera un tren de bits en el cual datos codificados de dichos datos comprimidos y datos codificados de dichos parámetros de filtro son multiplexados, en donde dicho codificador de longitud variable codifica en longitud variable una bandera dispuesta para cada bloque de codificación que tiene dicho tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a codificar que tiene dicho tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda.
7 - El dispositivo de codificación de imágenes de conformidad con la reivindicación 6, caracterizado porque dicho filtro lleva a cabo un proceso de desplazamiento adaptivo de píxeles para determinar un método de clasificación de clase para cada bloque de codificación que tiene el tamaño más grande determinado por dicho determinador de parámetro, realizar una clasificación de clase de cada píxel de la imagen decodificada local en el bloque de codificación que tiene el tamaño más grande en una clase al usar dicho método de clasificación de clase, y agregar un desplazamiento de cada clase a un valor de píxel de cada píxel que pertenece a dicha clase, y en donde dicho codificador en longitud variable codifica, como parámetros de filtro, el índice que indica el método de clasificación de clase que se determina para cada bloque de codificación que tiene el tamaño más grande por dicho filtro y un desplazamiento de cada clase para cada bloque de codificación que tiene el tamaño más grande.
8.- El dispositivo de codificación de imágenes de conformidad con la reivindicación 7, caracterizado además porque dicho dispositivo de codificación de imágenes incluye un intra-predictor que, cuando un modo de intra-codificación es asignado por dicho determinador de parámetro de codificación como el modo de codificación correspondiente para el bloque de codificación particionado por dicho particionador de bloque, lleva a cabo un procesamiento de predicción de intra-trama que corresponde a dicho modo de intra-codificación en cada bloque de predicción que es una unidad para procesamiento de predicción al momento de llevar a cabo el procesamiento de predicción en dicho bloque de codificación para generar una imagen de predicción, y en donde dicho generador de imagen de diferencia genera una imagen de diferencia entre el bloque de codificación particionado por dicho particionador de bloque y la imagen de predicción de imagen generada por dicho intra-predictor, y dicho generador de imagen decodificada local agrega la imagen de diferencia decodificada y la imagen de predicción generada por dicho intra-predictor para generar la imagen decodificada local.
9.- El dispositivo de codificación de imágenes de conformidad con la reivindicación 8, caracterizado además porque dicho dispositivo de codificación de imágenes incluye un predictor compensado por movimiento que, cuando un modo de inter-codificación es determinado por dicho determinador de parámetros de codificación como el modo de codificación correspondiente al bloque de codificación particionado por dicho particionador de bloque, lleva a cabo un procesamiento de predicción compensado por movimiento en cada bloque de predicción que es una unidad para procesamiento de predicción al momento de llevar a cabo el procesamiento de predicción en dicho bloque de codificación al usar una imagen de referencia para generar una imagen de predicción y en donde dicho generador de imagen de diferencia genera una imagen de diferencia entre el bloque de codificación particionado por dicho particionador de bloque y la imagen de predicción generada por dicho predictor compensado por movimiento, dicho generador de imagen decodificada local agrega la imagen de diferencia decodificada y la imagen de predicción generada por dicho predictor compensado por movimiento para generar la imagen decodificada loca, y dicho filtro que lleva acabo el procesamiento de filtración en la imagen decodificada local generada por dicho generador de imagen decodificada local, y da salida a la imagen decodificada local así procesada por filtración para dicho predictor compensado por movimiento como una imagen de referencia.
10.- El dispositivo de codificación de imágenes de conformidad con la reivindicación 9, caracterizado además porque dicho determinador de parmámetros de codificación determina un parámetro de cuantificación y un estado de partición de bloque de transformación, que se usan cuando la imagen de diferencia está comprimida, para cada bloque de codificación, y también determina un parámetro de intra-predicción o un parámetro de inter-predicción, que se usa cuando se lleva a cabo el procesamiento de predicción, para cada bloque de predicción de dicho bloque de codificación, dicho compresor de imagen lleva a cabo el procesamiento de transformación en la imagen de diferencia generada por dicho generador de imagen de diferencia para cada bloque de transformación determinado por dicho determinador de parámetros de codificación y también cuantifica coeficientes de transformación sobre lo que dicho procesamiento de transformación se lleva cabo al usar el parámetro de cuantificación determinado por dicho determinador de parámetro de codificación y da salida a los coeficientes de transformación así cuantificados como los datos comprimidos acerca de dicha imagen de diferencia, y dicho codificador de longitud variable codifica por longitud variable los datos comprimidos sacados de dicho compresor de imagen, el modo de codificación seleccionado por dicho determinador de parámetro de codificación, un parámetro de predicción que muestra el parámetro de intra-predicción o el parámetro de inter-predicción, el parámetro de cuantificación y el la información de partición de bloque de transformación, y los parámetros de filtro usados cuando el procesamiento de filtración se lleva acabo por dicho filtro para generar el bus de bits en el que los datos codificados de dichos datos comprimidos, los datos codificados de dicho modo de codificación, datos codificados de dicho parámetro de predicción, datos codificados de dicho parámetro de cuantificación, datos codificados de dicha información de partición de bloque de transformación, y los datos codificados de dichos parámetros de filtro están multiplexados.
11 - Un método de decodificación de imágenes que comprende: una etapa de procesamiento de decodificación de longitud variable de decodificar en longitud variable información de partición de bloque de datos codificados multiplexados en un tren de bits y también decodificar en longitud variable parámetros de filtro para cada unidad de bloque de codificación que tiene un tamaño más grande de dichos datos codificados; una etapa de procesamiento de predicción de llevar a cabo un proceso de predicción en dicho bloque de codificación para generar una imagen de predicción; una etapa de procesamiento de generación de imagen de diferencia de generar una imagen de diferencia a partir de dichos datos comprimidos; una etapa de procesamiento de generación de imagen decodificada de adicionar dicha imagen de diferencia y dicha imagen de predicción para generar una imagen decodificada; y una etapa de procesamiento de filtrado de llevar a cabo un proceso de filtrado en dicha imagen decodificada y sacar la imagen decodificada de ese modo procesada con filtrado, en donde en dicha etapa de procesamiento de decodificación de longitud variable, una bandera dispuesta para cada bloque de codificación que tiene dicho tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a decodificar que tiene dicho tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda se decodifica en longitud variable, y, cuando dicha bandera indica que los parámetros son los mismos que aquellos para el otro bloque de codificación, los parámetros de filtro del otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda se establecen como los parámetros de filtro para el bloque de codificación que se va a decodificar que tiene dicho tamaño más grande.
12 - Un método de codificación de imágenes que comprende: una etapa de procesamiento de determinación de parámetros de codificación de determinar un tamaño más grande de un bloque de codificación que es una unidad que se va a procesar en el momento en que se lleva a cabo un proceso de codificación; una etapa de procesamiento de partición de bloque de particionar una imagen introducida en bloques de codificación cada uno teniendo el tamaño más grande determinado en dicha etapa de procesamiento de determinación de parámetros de codificación, y también particionar cada uno de dichos bloques de codificación jerárquicamente; una etapa de procesamiento de predicción de llevar a cabo un proceso de predicción en dicho bloque de codificación para generar una imagen de predicción; una etapa de procesamiento de generación de imagen de diferencia de generar una imagen de diferencia entre una imagen introducida de dicho bloque de codificación y dicha imagen de predicción; una etapa de procesamiento de compresión de imagen de comprimir dicha imagen de diferencia y sacar datos comprimidos acerca de dicha imagen de diferencia; una etapa de procesamiento de generación de imagen decodificada local de decodificar dichos datos comprimidos y adicionar la imagen de diferencia decodificada y dicha imagen de predicción para generar una imagen decodificada local; una etapa de procesamiento de filtrado de llevar a cabo un proceso de filtrado en dicha imagen decodificada local; y una etapa de procesamiento de codificación de longitud variable de codificar en longitud variable dichos datos comprimidos y parámetros de filtro para cada bloque de codificación que tiene el tamaño más grande que se utilizan cuando el proceso de filtrado se lleva a cabo en dicha etapa de procesamiento de filtrado, y generar un tren de bits en el cual datos codificados de dichos datos comprimidos y datos codificados de dichos parámetros de filtro son multiplexados, en donde en dicha etapa de procesamiento de codificación de longitud variable, una bandera dispuesta para cada bloque de codificación que tiene dicho tamaño más grande y que indica si los parámetros de filtro para un bloque de codificación que se va a codificar que tiene dicho tamaño más grande son los mismos que aquellos para otro bloque de codificación que tiene dicho tamaño más grande y que es adyacente a la parte superior o izquierda se codifica en longitud variable.
13.- Un dispositivo de decodificación de imágenes que comprende: un decodificador de longitud variable que decodifica en longitud variable datos comprimidos relacionados con cada uno de los bloques de codificación particionados jerárquicamente a partir de datos codificados multiplexados en un bus de bits y también decodifica en longitud variable como parámetros de filtro, un índice que indica un método de clasificación de clase para cada bloque de codificación que tiene un tamaño más grande y un desplazamiento de cada clase para cada bloque de codificación que tiene el tamaño más grande a partir de dichos datos codificados, un predictor que lleva a cabo un proceso de predicción en dicho bloque de codificación para generar una imagen de predicción, un generador de imagen de diferencia que genera una imagen de diferencia pre-comprimida a partir de los datos comprimidos relacionados con el bloque de codificación decodificado en longitud variable por dicho codificador de longitud variable; un generador de imagen que agrega la imagen de diferencia generada por dicho generador de imagen de diferencia y la imagen de predicción generada por dicho predictor para generar una imagen decodificada, y un filtro que lleva a cabo un procesamiento de filtrado al usar dichos parámetros de filtro en la imagen decodificada generada por dicho generador de imagen decodificada y da salida a la imagen decodificada así procesada por filtrado como una imagen reproducida, en donde dicho filtro lleva a cabo un proceso de desplazamiento adaptivo de píxel de realizar una clasificación de clase de cada píxel en la imagen decodificada generada por dicho generador de imagen decodificada en una clase para cada bloque de codificación que tiene el tamaño más grande al usar el método de clasificación de clase especificado por el índice que indica dicho método de clasificación de clase, y agregar el desplazamiento de cada clase a un valor de píxel de cada píxel que pertenece a dicha clase.
MX2014008781A 2012-01-19 2013-01-09 Dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes, metodo de decodificacion de imagenes, y metodo de codificacion de imagenes. MX2014008781A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012009128 2012-01-19
PCT/JP2013/050207 WO2013108684A1 (ja) 2012-01-19 2013-01-09 動画像復号装置、動画像符号化装置、動画像復号方法及び動画像符号化方法

Publications (1)

Publication Number Publication Date
MX2014008781A true MX2014008781A (es) 2014-10-23

Family

ID=48799110

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014008781A MX2014008781A (es) 2012-01-19 2013-01-09 Dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes, metodo de decodificacion de imagenes, y metodo de codificacion de imagenes.

Country Status (14)

Country Link
US (1) US20150023420A1 (es)
EP (1) EP2806639A4 (es)
JP (4) JP5551837B2 (es)
KR (6) KR102021257B1 (es)
CN (1) CN104067623A (es)
BR (1) BR112014016291A8 (es)
CA (3) CA2862805C (es)
HK (1) HK1199589A1 (es)
IN (1) IN2014CN04356A (es)
MX (1) MX2014008781A (es)
RU (5) RU2577320C1 (es)
SG (5) SG10201912254WA (es)
TW (4) TWI608728B (es)
WO (1) WO2013108684A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6034010B2 (ja) * 2011-10-24 2016-11-30 ソニー株式会社 符号化装置、符号化方法、およびプログラム
KR102276914B1 (ko) * 2013-10-24 2021-07-13 삼성전자주식회사 비디오 인코딩 장치 그리고 이의 구동 방법
EP3104614A4 (en) * 2014-02-03 2017-09-13 Mitsubishi Electric Corporation Image encoding device, image decoding device, encoded stream conversion device, image encoding method, and image decoding method
WO2015151791A1 (ja) * 2014-03-31 2015-10-08 ソニー株式会社 画像復号装置および方法
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
KR20180050333A (ko) 2015-09-29 2018-05-14 엘지전자 주식회사 영상 코딩 시스템에서 필터링 방법 및 장치
JP6634936B2 (ja) * 2016-04-05 2020-01-22 富士通株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、画像復号プログラムおよび画像伝送システム
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
CN110537122B (zh) 2017-02-23 2022-04-29 奇跃公司 基于偏振转换的可变焦虚拟图像设备
US11057619B2 (en) 2019-03-23 2021-07-06 Lg Electronics Inc. Image coding method and apparatus based on intra prediction using MPM list
US10764507B1 (en) 2019-04-18 2020-09-01 Kneron (Taiwan) Co., Ltd. Image processing system capable of generating a snapshot image with high image quality by using a zero-shutter-lag snapshot operation
US10708624B1 (en) * 2019-05-30 2020-07-07 Ati Technologies Ulc Pre-processing for video compression
US11431971B2 (en) * 2019-06-24 2022-08-30 Industrial Technology Research Institute Method and image processing apparatus for video coding
CN115589484A (zh) * 2019-12-06 2023-01-10 杭州海康威视数字技术股份有限公司 滤波方法、装置及设备
CN113808157B (zh) * 2021-11-18 2022-02-22 腾讯科技(深圳)有限公司 图像处理方法、装置、及计算机设备
CN116385414B (zh) * 2023-04-10 2023-11-07 哈尔滨耐是智能科技有限公司 零部件多尺度缺陷特征提取方法、计算设备及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW256896B (es) * 1991-07-19 1995-09-11 Sony Co Ltd
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
JP3639517B2 (ja) * 2000-10-04 2005-04-20 三洋電機株式会社 動画像復号化装置および動画像復号化方法
JP4114494B2 (ja) * 2002-03-07 2008-07-09 セイコーエプソン株式会社 画像処理装置及び画像処理プログラム、並びに画像処理方法
JP4361435B2 (ja) * 2004-07-14 2009-11-11 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号プログラム、動画像復号装置、動画像符号化方法、動画像符号化プログラム及び動画像符号化装置
EP1881707A4 (en) * 2005-04-13 2009-11-04 Ntt Docomo Inc DEVICE FOR DYNAMIC IMAGE DEFINITION, DEVICE FOR DYNAMIC IMAGE DEFINITION, METHOD FOR DYNAMIC IMAGE ENCODING, METHOD FOR DYNAMIC IMAGE DECODING, DYNAMIC IMAGE ENCODING PROGRAM, AND DYNAMIC IMAGE DECODING PROGRAM
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
BRPI0714233A2 (pt) 2006-07-18 2013-01-15 Thomson Licensing mÉtodos e aparelho para filtragem de referÊncia adaptativa
RU2427976C2 (ru) * 2006-07-28 2011-08-27 Кабусики Кайся Тосиба Способ и устройство для кодирования и декодирования изображения
JP4931214B2 (ja) * 2007-01-24 2012-05-16 キヤノン株式会社 画像処理装置及びその方法
CN101677400B (zh) * 2008-09-19 2012-08-15 华为技术有限公司 编码、解码方法和编码器、解码器及编解码系统
JP2010130522A (ja) * 2008-11-28 2010-06-10 Canon Inc 動画像符号化装置及び動画像符号化方法
US20110122140A1 (en) * 2009-05-19 2011-05-26 Yoshiteru Kawasaki Drawing device and drawing method
WO2010137322A1 (ja) * 2009-05-29 2010-12-02 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR20110001990A (ko) * 2009-06-30 2011-01-06 삼성전자주식회사 영상 데이터의 인 루프 필터링 장치 및 방법과 이를 이용한 영상 부호화/복호화 장치
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
WO2011113282A1 (en) * 2010-03-15 2011-09-22 Mediatek Singapore Pte. Ltd. Localized in-loop filtering with multiple filters in hybrid video coding
KR101750046B1 (ko) * 2010-04-05 2017-06-22 삼성전자주식회사 트리 구조에 따른 부호화 단위에 기반한 인루프 필터링을 수반하는 비디오 부호화 방법과 그 장치 및 복호화 방법과 그 장치
SG10202001623RA (en) * 2010-04-09 2020-04-29 Mitsubishi Electric Corp Moving image encoding device and moving image decoding device
WO2011128268A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
TWI508534B (zh) * 2010-05-18 2015-11-11 Sony Corp Image processing apparatus and image processing method
JPWO2011158657A1 (ja) * 2010-06-17 2013-08-19 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
US20120029435A1 (en) * 2010-07-30 2012-02-02 Miriam Gutierrez Del Rio Ng/og support systems
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
EP3220641B1 (en) * 2011-04-21 2019-01-02 HFI Innovation Inc. Method and apparatus for improved in-loop filtering
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
BR122021004576B1 (pt) * 2011-06-28 2022-07-26 Samsung Electronics Co., Ltd Aparelho de decodificação de vídeo
US20130013616A1 (en) * 2011-07-08 2013-01-10 Jochen Lothar Leidner Systems and Methods for Natural Language Searching of Structured Data
US9386305B2 (en) * 2011-11-28 2016-07-05 Qualcomm Incorporated Largest coding unit (LCU) or partition-based syntax for adaptive loop filter and sample adaptive offset in video coding

Also Published As

Publication number Publication date
RU2616598C1 (ru) 2017-04-18
KR102113985B1 (ko) 2020-05-22
IN2014CN04356A (es) 2015-09-04
TWI489837B (zh) 2015-06-21
SG10201912254WA (en) 2020-02-27
CA2862805A1 (en) 2013-07-25
JP2014187704A (ja) 2014-10-02
WO2013108684A1 (ja) 2013-07-25
TWI586148B (zh) 2017-06-01
SG11201403454PA (en) 2014-08-28
KR20190105135A (ko) 2019-09-11
KR20170098967A (ko) 2017-08-30
EP2806639A1 (en) 2014-11-26
JP2017092980A (ja) 2017-05-25
HK1199589A1 (en) 2015-07-03
RU2577320C1 (ru) 2016-03-20
CA2862805C (en) 2019-02-12
TW201731292A (zh) 2017-09-01
TWI665908B (zh) 2019-07-11
EP2806639A4 (en) 2016-06-01
JP5551837B2 (ja) 2014-07-16
CN104067623A (zh) 2014-09-24
SG10201906914WA (en) 2019-09-27
SG10201912258SA (en) 2020-02-27
JP5815795B2 (ja) 2015-11-17
KR20200108111A (ko) 2020-09-16
TW201808007A (zh) 2018-03-01
KR20140111039A (ko) 2014-09-17
TWI608728B (zh) 2017-12-11
TW201534108A (zh) 2015-09-01
RU2703229C1 (ru) 2019-10-15
KR20180123191A (ko) 2018-11-14
SG10201604926WA (en) 2016-08-30
KR101647242B1 (ko) 2016-08-09
RU2684570C1 (ru) 2019-04-09
BR112014016291A2 (pt) 2017-06-13
KR102157481B1 (ko) 2020-09-18
KR102272564B1 (ko) 2021-07-02
CA2961818C (en) 2020-06-09
RU2658178C1 (ru) 2018-06-19
KR102021257B1 (ko) 2019-09-11
JP2015228709A (ja) 2015-12-17
JP6082073B2 (ja) 2017-02-15
JPWO2013108684A1 (ja) 2015-05-11
US20150023420A1 (en) 2015-01-22
BR112014016291A8 (pt) 2017-07-04
CA3001027A1 (en) 2013-07-25
TW201342934A (zh) 2013-10-16
KR20140117557A (ko) 2014-10-07
CA2961818A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
RU2703229C1 (ru) Устройство декодирования изображений, устройство кодирования изображений, способ декодирования изображений и способ кодирования изображений
JP6820115B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び符号化ビットストリームを記録した記録媒体
CA2961824C (en) Image encoding device, image decoding device, image encoding method, and image decoding method
CA3052614C (en) Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
KR101607781B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
WO2013108882A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Legal Events

Date Code Title Description
FG Grant or registration