ES2869201T3 - Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes - Google Patents

Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes Download PDF

Info

Publication number
ES2869201T3
ES2869201T3 ES12801936T ES12801936T ES2869201T3 ES 2869201 T3 ES2869201 T3 ES 2869201T3 ES 12801936 T ES12801936 T ES 12801936T ES 12801936 T ES12801936 T ES 12801936T ES 2869201 T3 ES2869201 T3 ES 2869201T3
Authority
ES
Spain
Prior art keywords
prediction
intra
block
value
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12801936T
Other languages
English (en)
Inventor
Akira Minezawa
Kazuo Sugimoto
Shunichi Sekiguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=47422246&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2869201(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of ES2869201T3 publication Critical patent/ES2869201T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/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

Abstract

Dispositivo de decodificación de imágenes que comprende: una unidad de intra-predicción (34) para, cuando un modo de codificación para un bloque de codificación es un modo de intra-codificación, llevar a cabo un procedimiento de predicción intra-trama en cada uno de los bloques de procesamiento para generar un valor de predicción para cada uno de los píxeles de una imagen de predicción, siendo cada uno de dichos bloques de procesamiento dicho bloque de codificación o un sub-bloque obtenido dividiendo dicho bloque de codificación, en el que, cuando un parámetro de intra-predicción indica un procedimiento de predicción vertical, la unidad de intra-predicción (34) añade, en cada columna dentro de un número predeterminado de una columna o columnas desde un extremo izquierdo del bloque de procesamiento, un valor a un valor de luminancia de un píxel adyacente a la parte superior de cada uno de dichos bloques de procesamiento y establece un resultado de la adición como valor predicho de la imagen de predicción, siendo el valor proporcional a una cantidad de cambio en una dirección vertical de valores de luminancia de píxeles adyacentes a la izquierda de cada uno de dichos bloques de procesamiento, obteniéndose el valor ajustando a escala la cantidad de cambio; y la unidad de intra-predicción (34) establece, en columnas restantes del bloque de procesamiento, un valor de luminancia de un píxel adyacente a la parte superior del bloque de procesamiento como valor predicho de la imagen de predicción, en el que la unidad de intra-predicción (34) calcula un valor predicho de cada píxel en el bloque de procesamiento según **(Ver fórmula)** en el que S'(x, y) es el valor predicho en las coordenadas (x, y), S(x, y) es el valor de luminancia del píxel ya codificado en las coordenadas (x, y), 1/t es un valor de ajuste a escala usado para predicción vertical y B es un número entero mayor de 0.

Description

DESCRIPCIÓN
Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes
La presente invención se refiere a un dispositivo de codificación de imágenes para, y a un método de codificación de imágenes de, codificar una imagen con un alto grado de eficiencia, a un dispositivo de decodificación de imágenes para, y a un método de decodificación de imágenes de, decodificar una imagen codificada con un alto grado de eficiencia, y a un dispositivo de predicción de imágenes.
Antecedentes de la invención
Por ejemplo, según un método de codificación de vídeo de norma internacional, tal como MPEG (grupo de expertos de imágenes en movimiento) o “ITU-T H.26x”, se divide una trama de vídeo introducida en bloques rectangulares (bloques de codificación), se lleva a cabo un procedimiento de predicción usando una señal de imagen ya codificada en cada bloque de codificación para generar una imagen de predicción, y se llevan a cabo un procedimiento de transformación ortogonal y cuantificación en una señal de error de predicción que es la diferencia entre el bloque de codificación y la imagen de predicción en unidades de un bloque con el fin de comprimir la información sobre la trama de vídeo introducida.
Por ejemplo, en el caso de AVC/H.264 (ISO/IEC 14496-10|ITU-T H.264) que es un método de norma internacional, se lleva a cabo un procedimiento de intra-predicción a partir de píxeles adyacentes ya codificados o un procedimiento de predicción con compensación de movimiento entre tramas adyacentes (véase la referencia no de patente 1). En el caso de MPEG-4 AVC/H.264, puede seleccionarse un modo de predicción de entre una pluralidad de modos de predicción para cada bloque en un modo de intra-predicción de luminancia. La figura 14 es un dibujo explicativo que muestra modos de intra-predicción en el caso de un tamaño de bloque de 4*4 píxeles para luminancia. En la figura 14, cada círculo blanco en un bloque muestra un píxel que va a codificarse, y cada círculo negro muestra un píxel ya codificado que se usa para predicción. En el caso de un tamaño de bloque de 4*4 píxeles para luminancia, se definen nueve modos de intra-predicción incluyendo de un modo 0 a un modo 8.
En el ejemplo mostrado en la figura 14, el modo 2 es en el que se lleva a cabo una predicción promedio de tal manera que cada píxel en el bloque se predice usando el promedio de píxeles adyacentes ubicados en los lados superior e izquierdo del bloque. Los modos distintos del modo 2 son modos de intra-predicción en cada uno de los cuales se lleva a cabo una predicción direccional. El modo 0 es en el que se lleva a cabo una predicción vertical de tal manera que píxeles adyacentes ubicados en el lado superior del bloque se replican de manera repetida para crear múltiples filas de píxeles a lo largo de una dirección vertical para generar una imagen de predicción. Por ejemplo, el modo 0 se selecciona cuando el bloque de codificación es un patrón con franjas verticales. El modo 1 es en el que se lleva a cabo una predicción horizontal de tal manera que píxeles adyacentes ubicados en el lado izquierdo del bloque se replican de manera repetida para crear múltiples columnas de píxeles a lo largo de una dirección horizontal para generar una imagen de predicción. Por ejemplo, el modo 1 se selecciona cuando el bloque de codificación es un patrón con franjas horizontales. En cada uno de los modos 3 a 8, se generan píxeles de interpolación que discurren en una dirección predeterminada (es decir, una dirección mostrada mediante flechas) usando los píxeles ya codificados ubicados en el lado superior o izquierdo del bloque para generar una imagen de predicción.
En este caso, el tamaño de bloque para luminancia al que se aplica una intra-predicción puede seleccionarse de 4*4 píxeles, 8*8 píxeles y 16*16 píxeles. En el caso de 8*8 píxeles, se definen nueve modos de intra-predicción, al igual que en el caso de 4*4 píxeles. Sin embargo, los píxeles ya codificados no se usan en sí mismos como píxeles que se usan para la predicción, sino que se usan los píxeles ya codificados en los que se ha llevado a cabo un procedimiento de filtrado como píxeles que se usan para la predicción. En contraste con esto, en el caso de 16*16 píxeles, se definen cuatro modos de intra-predicción que se denominan predicciones en plano además de modos de intra-predicción asociados con una predicción promedio, una predicción vertical y una predicción horizontal. En cada uno de los modos de intra-predicción asociados con predicciones en plano, el valor de un píxel que se genera mediante interpolación en una dirección diagonal en los píxeles adyacentes ya codificados ubicados en los lados superior e izquierdo del bloque se establece como valor predicho.
Dado que un modo de predicción direccional es en el que se genera un valor predicho replicando de manera repetida o bien los píxeles adyacentes al bloque, o bien los píxeles de interpolación generados a partir de los píxeles adyacentes en una dirección predeterminada (dirección de predicción), la eficiencia de predicción aumenta y la cantidad de código puede reducirse cuando la dirección de un límite (borde) de un objeto en el bloque objetivo que va a predecirse tal como se muestra en la figura 15 coincide con la dirección de predicción, y el valor de señal en el bloque se mantiene constante a lo largo de la dirección de predicción.
Matsuo S et al. “ Intra prediction with spatial gradient”, VISUAL COMMUNICATION AND IMAGE PROCESSING; 20-1-2009, SAN JOSE, propone una nueva intra-predicción que genera señales de predicción con un gradiente espacial.
El documento EP 2200324 A1 describe un método para codificar una imagen usando una predicción intra-trama, que incluye seleccionar un gradiente de valor de píxel que se indica por una señal de imagen que va a predecirse entre una pluralidad de candidatos de gradiente, generar una señal predicha aplicando un gradiente según la distancia desde un píxel de referencia de predicción basándose en el gradiente, someter a codificación intra-trama esta señal de imagen que va a predecirse basándose en la señal predicha, y codificar información que indica el tamaño del gradiente seleccionado.
Matsuo Shohei et al. “ Intra prediction with spatial gradients and multiple reference lines A A ”, PICTURE CODING SYMPOSIUM 2009, 6-5-2009, CHICAGO, describe dos métodos para intra-predicción con gradientes espaciales y múltiples líneas de referencia, uno que permite el uso de píxeles distantes así como píxeles contiguos y uno que genera señales de predicción con un gradiente espacial.
Matsuo S et al. “Weighted intra pred”, 33. VCEG MEETING, 82. MPEG MEETING, 20-10-2007, SHENZHEN, propone una intra-predicción ponderada que genera señales de predicción con gradiente espacial.
JINGLI ZHOU ET AL: “An Interpolation Method by Predicting the Direction of Pixel Texture Changing Trend for H.264/AVC Intra Prediction”, INTELLIGENT INFORMATION TECHNOLOGY APPLICATION, 2008. IITA '08. SECOND INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, EE. UU., 20 de diciembre de 2008 (20­ 12-2008), páginas 884-888, ISBN: 978-0-7695-3497-8, se refiere a un método de interpolación mediante predicción de la dirección de tendencia de cambio de textura de píxeles para intra-predicción de H.264/AVC.
Documento de la técnica relacionada
Referencia no de patente
Referencia no de patente 1: normas MPEG-4 AVC (ISO/IEC 14496-10)/ITU-H264
Sumario de la invención
Problemas que va a resolver la invención
Dado que el dispositivo de codificación de imágenes en movimiento convencional se construye tal como anteriormente, el dispositivo de codificación de imágenes en movimiento convencional puede predecir una imagen de trama con un alto grado de precisión usando una predicción direccional cuando la dirección de un límite (borde) de un objeto en el bloque objetivo que va a predecirse coincide con la dirección de predicción, y el valor de señal en el bloque objetivo que va a predecirse se mantiene constante a lo largo de la dirección de predicción. Sin embargo, un problema es que, cuando el valor de señal varía a lo largo de la dirección de predicción, tal como se muestra en la figura 16, aunque la dirección de un límite (borde) de un objeto en el bloque objetivo que va a predecirse coincida con la dirección de predicción, el error de predicción se vuelve grande.
La presente invención se realiza con el fin de resolver el problema anteriormente mencionado, y, por tanto, un objetivo de la presente invención es proporcionar un dispositivo de codificación de imágenes, un dispositivo de decodificación de imágenes, un método de codificación de imágenes, un método de decodificación de imágenes y un dispositivo de predicción de imágenes que puedan implementar una predicción de alta precisión aunque el valor de señal varíe a lo largo de la dirección de predicción, pudiendo de ese modo mejorar la calidad de imagen.
Medios para resolver el problema
Según la presente invención, se proporciona un dispositivo de codificación de imágenes en el que, cuando un parámetro de intra-predicción indica un procedimiento de predicción horizontal, una unidad de intra-predicción añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior de cada bloque, que es una unidad para procedimiento de predicción de un bloque de codificación, al valor de luminancia de un píxel adyacente a la izquierda del bloque para establecer el resultado de la adición como valor predicho de una imagen de predicción, mientras que, cuando el parámetro de intrapredicción indica un procedimiento de predicción vertical, la unidad de intra-predicción añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque al valor de luminancia del píxel adyacente a la parte superior del bloque para establecer el resultado de la adición como valor predicho de la imagen de predicción.
Ventajas de la invención
Dado que el dispositivo de codificación de imágenes según la presente invención se construye de tal manera que, cuando el parámetro de intra-predicción indica un procedimiento de predicción horizontal, la unidad de intrapredicción añade un valor proporcional a un cambio en la dirección horizontal de los valores de luminancia de los píxeles adyacentes a la parte superior de cada bloque al valor de luminancia del píxel adyacente a la izquierda del bloque para establecer el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el parámetro de intra-predicción indica un procedimiento de predicción vertical, la unidad de intra-predicción añade un valor proporcional a un cambio en la dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque al valor de luminancia del píxel adyacente a la parte superior del bloque para establecer el resultado de la adición como valor predicho de la imagen de predicción, se proporciona una ventaja de poder implementar una predicción de alta precisión, mejorando de ese modo la calidad de imagen, aunque el valor de señal varíe a lo largo de la dirección de predicción.
Breve descripción de las figuras
[Figura 1] La figura 1 es un diagrama de bloques que muestra un dispositivo de codificación de imágenes en movimiento según la realización 1 de la presente invención;
[Figura 2] La figura 2 es un diagrama de flujo que muestra un procedimiento (método de codificación de imágenes en movimiento) llevado a cabo por el dispositivo de codificación de imágenes en movimiento según la realización 1 de la presente invención;
[Figura 3] La figura 3 es un diagrama de bloques que muestra un dispositivo de decodificación de imágenes en movimiento según la realización 1 de la presente invención;
[Figura 4] La figura 4 es un diagrama de flujo que muestra un procedimiento (método de decodificación de imágenes en movimiento) llevado a cabo por el dispositivo de decodificación de imágenes en movimiento según la realización 1 de la presente invención;
[Figura 5] La figura 5 es un dibujo explicativo que muestra un ejemplo en el que cada bloque de codificación más grande se divide jerárquicamente en una pluralidad de bloques de codificación;
[Figura 6] La figura 6(a) es un dibujo explicativo que muestra una distribución de bloques de codificación y bloques de predicción en los que se divide una imagen, y la figura 6(b) es un dibujo explicativo que muestra un estado en el que se asigna un modo de codificación m(Bn) a cada uno de los bloques mediante una división de capas jerárquicas;
[Figura 7] La figura 7 es un dibujo explicativo que muestra un ejemplo de parámetros de intra-predicción (modo de intra-predicción) que pueden seleccionarse para cada bloque de predicción Pin en un bloque de codificación Bn;
[Figura 8] La figura 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 Pin en el caso de lin=min=4;
[Figura 9] La figura 9 es un dibujo explicativo que muestra coordenadas relativas de cada píxel en el bloque de predicción Pin que se determinan definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen;
[Figura 10] La figura 10 es un dibujo explicativo que muestra un ejemplo de píxeles adyacentes en otro bloque de predicción en el lado izquierdo del bloque de predicción, a los que debe hacerse referencia con el fin de calcular cambios de valor de luminancia, cada uno de los cuales tiene que añadirse a un valor predicho convencional calculado usando una predicción vertical;
[Figura 11] La figura 11 es un dibujo explicativo que muestra un ejemplo de valores de ajuste a escala de los cambios de valor de luminancia cada uno de los cuales tiene que añadirse al valor predicho convencional calculado usando una predicción vertical;
[Figura 12] La figura 12 es un dibujo explicativo que muestra un ejemplo de píxeles adyacentes en otro bloque de predicción en el lado superior del bloque de predicción, a los que debe hacerse referencia con el fin de calcular cambios de valor de luminancia, cada uno de los cuales tiene que añadirse a un valor predicho convencional calculado usando una predicción horizontal;
[Figura 13] La figura 13 es un dibujo explicativo que muestra un ejemplo de valores de ajuste a escala de los cambios de valor de luminancia cada uno de los cuales tiene que añadirse al valor predicho convencional calculado usando una predicción horizontal;
[Figura 14] La figura 14 es un dibujo explicativo que muestra modos de intra-predicción en el caso de un tamaño de bloque de 4*4 píxeles para luminancia;
[Figura 15] La figura 15 es un dibujo explicativo que muestra un ejemplo de una imagen de predicción que se predice con un alto grado de precisión usando una predicción horizontal;
[Figura 16] La figura 16 es un dibujo explicativo que muestra un ejemplo en el que se produce un error de predicción grande cuando se lleva a cabo un procedimiento de predicción usando una predicción horizontal; y
[Figura 17] La figura 17 es un dibujo explicativo que muestra un ejemplo de parámetros de intra-predicción (modo de intra-predicción) cada uno de los cuales puede seleccionarse para cada bloque de predicción Pin en un bloque de codificación Bn.
Realizaciones a modo de ejemplo de la invención
A continuación en el presente documento, con el fin de explicar esta invención con mayor detalle, se describirán las realizaciones a modo de ejemplo preferidas de la presente invención con referencia a los dibujos adjuntos.
Realización 1.
La figura 1 es un diagrama de bloques que muestra un dispositivo de codificación de imágenes en movimiento según la realización 1 de la presente invención. Haciendo referencia a la figura 1, una parte de división de bloques 1 lleva a cabo un procedimiento de, cuando se recibe una señal de vídeo que muestra una imagen introducida, dividir la imagen introducida en bloques de codificación más grandes que son bloques de codificación que tienen, cada uno, un tamaño máximo determinado por una parte de control de codificación 2, y también dividir cada uno de los bloques de codificación más grandes en bloques jerárquicamente hasta que el número de capas jerárquicas alcanza un límite superior sobre el número de capas jerárquicas que se determina por la parte de control de codificación 2. Más específicamente, la parte de división de bloques 1 lleva a cabo un procedimiento de dividir la imagen introducida en bloques de codificación según una división que se determina por la parte de control de codificación 2, y emitir 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 parte de división de bloques 1 construye una unidad de división de bloque.
La parte de control de codificación 2 lleva a cabo un procedimiento de determinar un tamaño máximo de cada uno de los bloques de codificación que es una unidad que va a procesarse de una vez cuando se lleva a cabo un procedimiento de predicción, y también determinar un límite superior sobre el número de capas jerárquicas, es decir, una profundidad de jerarquía máxima en una jerarquía en la que de cada uno de los bloques de codificación que tienen el tamaño máximo se divide jerárquicamente en bloques para determinar el tamaño de cada uno de los bloques de codificación. La parte de control de codificación 2 también lleva a cabo un procedimiento de seleccionar un modo de codificación que proporciona la eficiencia de codificación más alta para cada bloque de codificación emitido a partir de la parte de división de bloques 1 de uno o más modos de codificación disponibles (uno o más modos de intra-codificación y uno o más modos de inter-codificación). La parte de control de codificación 2 lleva a cabo además un procedimiento de, cuando el modo de codificación que tiene la eficiencia de codificación más alta es un modo de intra-codificación, determinar parámetros de intra-predicción que se usan cuando se lleva a cabo un procedimiento 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, y, cuando el modo de codificación que tiene la eficiencia de codificación más alta es un modo de inter-codificación, determinar parámetros de inter-predicción que se usan cuando se lleva a cabo un procedimiento 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. La parte de control de codificación 2 lleva a cabo además un procedimiento de determinar un parámetro de codificación de diferencia de predicción que proporciona la parte de control de codificación para una parte de transformación/cuantificación 7 y una parte de cuantificación inversa/transformación inversa 8. La parte de control de codificación 2 construye una parte de control de codificación.
Un interruptor de selección 3 lleva a cabo un procedimiento de, cuando el modo de codificación determinado por la parte de control de codificación 2 es un modo de intra-codificación, emitir el bloque de codificación emitido a partir de la parte de división de bloques 1 a una parte de intra-predicción 4, y, cuando el modo de codificación determinado por la parte de control de codificación 2 es un modo de inter-codificación, emitir el bloque de codificación emitido a partir de la parte de división de bloques 1 a una parte de predicción con compensación de movimiento 5.
La parte de intra-predicción 4 lleva a cabo un procedimiento de realizar un procedimiento de intra-predicción (procedimiento de predicción intra-trama) en cada bloque de predicción, que es una unidad de predicción, en el bloque de codificación emitido a partir del interruptor de selección 3 usando los parámetros de intra-predicción determinados por la parte de control de codificación 2 para generar una imagen de intra-predicción mientras se hace referencia a una imagen decodificada local que está almacenada en una memoria 10 para intra-predicción. Cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, la parte de intra-predicción 4 añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, la parte de intra-predicción 4 añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Una unidad de intrapredicción está compuesta por la parte de intra-predicción 4 y la memoria 10 para intra-predicción.
La parte de predicción con compensación de movimiento 5 lleva a cabo un procedimiento de comparar el bloque de codificación emitido a partir del interruptor de selección 3 con una imagen decodificada local de una o más tramas almacenadas en una memoria de tramas de predicción con compensación de movimiento 12 para cada bloque de predicción unidad que es una unidad de predicción para buscar un vector de movimiento, y llevar a cabo un procedimiento de inter-predicción (procedimiento de predicción con compensación de movimiento) en cada bloque de predicción en el bloque de codificación usando tanto el vector de movimiento como los parámetros de inter-predicción determinados por la parte de control de codificación 2 para generar una imagen de inter-predicción.
Una parte de sustracción 6 lleva a cabo un procedimiento de sustraer la imagen de intra-predicción generada por la parte de intra-predicción 4 o la imagen de inter-predicción generada por la parte de predicción con compensación de movimiento 5 a partir del bloque de codificación emitido a partir de la parte de división de bloques 1 para emitir una señal de diferencia de predicción (imagen de diferencia) que es el resultado de la sustracción a una parte de transformación/cuantificación 7. La parte de transformación/cuantificación 7 lleva a cabo un procedimiento de llevar a cabo un procedimiento de transformación ortogonal (por ejemplo, una DCT (transformada de coseno discreta) o un procedimiento de transformación ortogonal, tal como una transformada de KL, en el que se designan bases para una secuencia de aprendizaje específica por adelantado) en la señal de diferencia de predicción emitida a partir de la parte de sustracción 6 haciendo referencia al parámetro de codificación de diferencia de predicción determinado por la parte de control de codificación 2 para calcular coeficientes de transformación, y también cuantificar los coeficientes de transformación haciendo referencia al parámetro de codificación de diferencia de predicción y después emitiendo datos comprimidos que son los coeficientes de transformación cuantificados de ese modo a una parte de cuantificación inversa/transformación inversa 8 y una parte de codificación de longitud variable 13. Una unidad de cuantificación está compuesta por la parte de sustracción 6 y la parte de transformación/cuantificación 7.
La parte de cuantificación inversa/transformación inversa 8 lleva a cabo un procedimiento de someter a cuantificación inversa los datos comprimidos emitidos a partir de la parte de transformación/cuantificación 7 haciendo referencia al parámetro de codificación de diferencia de predicción determinado por la parte de control de codificación 2, y también llevar a cabo un procedimiento de transformación ortogonal inversa en los coeficientes de transformación que son los datos comprimidos sometidos a cuantificación inversa haciendo de ese modo referencia al parámetro de codificación de diferencia de predicción para calcular una señal de diferencia de predicción decodificada local correspondiente a la señal de diferencia de predicción emitida a partir de la parte de sustracción 6. Una parte de adición 9 lleva a cabo un procedimiento de añadir la señal de diferencia de predicción decodificada local calculada por la parte de cuantificación inversa/transformación inversa 8 y la imagen de intrapredicción generada por la parte de intra-predicción 4 o la imagen de inter-predicción generada por la parte de predicción con compensación de movimiento 5 para calcular una imagen decodificada local correspondiente al bloque de codificación emitido a partir de la parte de división de bloques 1.
La memoria 10 para intra-predicción es un medio de grabación para almacenar la imagen decodificada local calculada por la parte de adición 9. Una parte de filtrado en bucle 11 lleva a cabo un procedimiento de llevar a cabo un procedimiento de filtrado predeterminado en la imagen decodificada local calculada por la parte de adición 9 para emitir la imagen decodificada local en la que se lleva a cabo el procedimiento de filtrado. La memoria de tramas de predicción con compensación de movimiento 12 es un medio de grabación para almacenar la imagen decodificada local en la que se lleva a cabo el procedimiento de filtrado.
La parte de codificación de longitud variable 13 lleva a cabo un procedimiento de someter a codificación de longitud variable los datos comprimidos emitidos a la misma a partir de la parte de transformación/cuantificación 7, la señal emitida de la parte de control de codificación 2 (información de división de bloques sobre la división de cada bloque de codificación más grande, el modo de codificación, el parámetro de codificación de diferencia de predicción, y los parámetros de intra-predicción o los parámetros de inter-predicción), y el vector de movimiento emitido a partir de la parte de predicción con compensación de movimiento 5 (cuando el modo de codificación es un modo de inter­ codificación) para generar un flujo de bits. La parte de codificación de longitud variable 13 construye una unidad de codificación de longitud variable.
En el ejemplo mostrado en la figura 1, la parte de división de bloques 1, la parte de control de codificación 2, el interruptor de selección 3, la parte de intra-predicción 4, la parte de predicción con compensación de movimiento 5, la parte de sustracción 6, la parte de transformación/cuantificación 7, la parte de cuantificación inversa/transformación inversa 8, la parte de adición 9, la memoria 10 para intra-predicción, la parte de filtrado en bucle 11, la memoria de tramas de predicción con compensación de movimiento 12 y la parte de codificación de longitud variable 13, que son los componentes del dispositivo de codificación de imágenes en movimiento, pueden consistir en elementos de hardware para uso exclusivo (por ejemplo, circuitos integrados en cada uno de los cuales está montada una CPU, microordenadores de un solo chip o similares), respectivamente. Como alternativa, el dispositivo de codificación de imágenes en movimiento puede consistir en un ordenador y un programa en el que se describen los procedimientos llevados a cabo por la parte de división de bloques 1, la parte de control de codificación 2, el interruptor de selección 3, la parte de intra-predicción 4, la parte de predicción con compensación de movimiento 5, la parte de sustracción 6, la parte de transformación/cuantificación 7, la parte de cuantificación inversa/transformación inversa 8, la parte de adición 9, la parte de filtrado en bucle 11 y la parte de codificación de longitud variable 13 puede estar almacenado en una memoria del ordenador y puede hacerse que la CPU del ordenador ejecute el programa almacenado en la memoria. La figura 2 es un diagrama de flujo que muestra el procesamiento (método de codificación de imágenes en movimiento) llevado a cabo por el dispositivo de codificación de imágenes en movimiento según la realización 1 de la presente invención.
La figura 3 es un diagrama de bloques que muestra el dispositivo de decodificación de imágenes en movimiento según la realización 1 de la presente invención. Haciendo referencia a la figura 3, una parte de decodificación de longitud variable 31 lleva a cabo un procedimiento de, cuando se recibe el flujo de bits generado por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1, someter a decodificación de longitud variable el flujo de bits para adquirir los datos comprimidos, el bloque división información, el modo de codificación, los parámetros de intra-predicción (cuando el modo de codificación es un modo de intra-codificación), los parámetros de inter-predicción (cuando el modo de codificación es un modo de inter-codificación), el parámetro 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). La parte de decodificación de longitud variable 31 construye una unidad de decodificación de longitud variable.
Una parte de cuantificación inversa/transformación inversa 32 lleva a cabo un procedimiento de someter a cuantificación inversa los datos comprimidos sometidos a decodificación de longitud variable por la parte de decodificación de longitud variable 31 haciendo referencia al parámetro de codificación de diferencia de predicción sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31, y también llevar a cabo un procedimiento de transformación ortogonal inversa en los coeficientes de transformación que son los datos comprimidos sometidos a cuantificación inversa haciendo de ese modo referencia al parámetro de codificación de diferencia de predicción 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 emitida a partir de la parte de cuantificación inversa/transformación inversa 8 mostrada en la figura 1. La parte de cuantificación inversa/transformación inversa 32 construye una unidad de cuantificación inversa.
Un interruptor de selección 33 lleva a cabo un procedimiento de, cuando el modo de codificación sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de intracodificación, emitir los parámetros de intra-predicción sometidos a decodificación de longitud variable por la parte de decodificación de longitud variable 31 a una parte de intra-predicción 34, y, cuando el modo de codificación sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de inter-codificación, emitir los parámetros de inter-predicción y el vector de movimiento que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31 a una parte de compensación de movimiento 35.
La parte de intra-predicción 34 lleva a cabo un procedimiento de llevar a cabo un procedimiento de intra-predicción (procedimiento de predicción intra-trama) usando los parámetros de intra-predicción emitidos a partir del interruptor de selección 33 en cada bloque de predicción, que es una unidad para procedimiento de predicción, en un bloque de decodificación que se especifica a partir de la información de división de bloques y el modo de codificación que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31 (bloque correspondiente a un “bloque de codificación” en el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1) para generar una imagen de intra-predicción al tiempo que se hace referencia a una imagen decodificada que está almacenada en una memoria 37 para intra-predicción. Cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, la parte de intrapredicción 4 añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, la parte de intra-predicción 4 añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Una unidad de intra-predicción está compuesta por la parte de intra-predicción 34 y la memoria 37 para intra-predicción.
La parte de compensación de movimiento 35 lleva a cabo un procedimiento de llevar a cabo un procedimiento de inter-predicción (procedimiento de predicción con compensación de movimiento) usando el vector de movimiento y los parámetros de inter-predicción que se emiten a partir del interruptor de selección 33 en cada bloque de predicción, que es una unidad de predicción, en el bloque de decodificación especificado a partir de la información de división de bloques y el modo de codificación que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31 al tiempo que se hace referencia a una imagen decodificada almacenada en una memoria de tramas de predicción con compensación de movimiento 39 para generar una imagen de inter­ predicción. Una parte de adición 36 lleva a cabo un procedimiento de añadir la señal de diferencia de predicción decodificada calculada por la parte de cuantificación inversa/transformación inversa 32 y la imagen de intrapredicción generada por la parte de intra-predicción 34 o la imagen de inter-predicción generada por la parte de compensación de movimiento 35 para calcular la misma imagen decodificada que la imagen decodificada local emitida a partir de la parte de adición 9 mostrada en la figura 1.
La memoria 37 para intra-predicción es un medio de grabación para almacenar la imagen decodificada calculada por la parte de adición 36. Una parte de filtrado en bucle 38 lleva a cabo un procedimiento de llevar a cabo un procedimiento de filtrado predeterminado en la imagen decodificada calculada por la parte de adición 36 para emitir la imagen decodificada en la que se lleva a cabo el procedimiento de filtrado. La memoria de tramas de predicción con compensación de movimiento 39 es un medio de grabación para almacenar la imagen decodificada en la que se lleva a cabo el procedimiento de filtrado.
En el ejemplo mostrado en la figura 3, la parte de decodificación de longitud variable 31, la parte de cuantificación inversa/transformación inversa 32, el interruptor de selección 33, la parte de intra-predicción 34, la parte de compensación de movimiento 35, la parte de adición 36, la memoria 37 para intra-predicción, la parte de filtrado en bucle 38 y la memoria de tramas de predicción con compensación de movimiento 39, que son los componentes del dispositivo de decodificación de imágenes en movimiento, pueden consistir en elementos de hardware para uso exclusivo (por ejemplo, circuitos integrados en cada uno de los cuales está montada una CPU, microordenadores de un solo chip o similares), respectivamente. Como alternativa, el dispositivo de decodificación de imágenes en movimiento puede consistir en un ordenador y un programa en el que se describen los procedimientos llevados a cabo por la parte de decodificación de longitud variable 31, la parte de cuantificación inversa/transformación inversa 32, el interruptor de selección 33, la parte de intra-predicción 34, la parte de compensación de movimiento 35, la parte de adición 36 y la parte de filtrado en bucle 38 puede estar almacenado en una memoria del ordenador y puede hacerse que la CPU del ordenador ejecute el programa almacenado en la memoria. La figura 4 es un diagrama de flujo que muestra el procesamiento (método de decodificación de imágenes en movimiento) llevado a cabo por el dispositivo de decodificación de imágenes en movimiento según la realización 1 de la presente invención.
A continuación, se explicará el funcionamiento del dispositivo de codificación de imágenes en movimiento y el funcionamiento del dispositivo de decodificación de imágenes en movimiento. En esta realización 1, se explicará un caso en el que el dispositivo de codificación de imágenes en movimiento recibe cada imagen de trama de una imagen de vídeo como imagen introducida, lleva a cabo o bien una intra-predicción a partir de píxeles adyacentes ya codificados, o bien una predicción con compensación de movimiento entre tramas adyacentes, lleva a cabo un procedimiento de compresión según transformación ortogonal y cuantificación en una señal de diferencia de predicción adquirida por el mismo, y, después de eso, lleva a cabo codificación de longitud variable para generar un flujo de bits, y el dispositivo de decodificación de imágenes en movimiento decodifica el flujo de bits emitido a partir del dispositivo de codificación de imágenes en movimiento.
El dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 está caracterizado porque el dispositivo de codificación de imágenes en movimiento está adaptado para cambios locales de una señal de vídeo en una dirección de espacio y en una dirección de tiempo, divide la señal de vídeo en bloques que tienen diversos tamaños, y lleva a cabo codificación adaptativa intra-trama e inter-trama. En general, la señal de vídeo tiene una característica de su complejidad que varía localmente en el espacio y en el tiempo. Puede haber un caso en el que un patrón que tiene una característica de señal 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 pequeña región de imagen, tal como una imagen de persona o una imagen que incluye una textura fina, también coexiste en una determinada trama de vídeo desde el punto de vista del espacio. También desde el punto de vista del tiempo, una región de imagen relativamente grande, tal como una imagen de cielo o una imagen de pared, tiene un pequeño cambio local en una dirección de tiempo en su patrón, mientras que una imagen de una persona u objeto en movimiento tiene un cambio temporal más grande porque su contorno tiene un movimiento de un cuerpo rígido y un movimiento de un cuerpo no rígido con respecto al tiempo.
Aunque en el procedimiento de codificación se lleva a cabo un procedimiento de generar una señal de diferencia de predicción que tiene una pequeña potencia de señal y pequeña entropía usando una predicción temporal y espacial, reduciendo de ese modo la cantidad de código total, la cantidad de código de parámetros usados para la predicción puede reducirse siempre que los parámetros puedan aplicarse de manera uniforme a una región de señal de imagen lo más grande posible. Por otro lado, dado que la cantidad de errores que se producen en la predicción aumenta cuando se aplica el mismo parámetro de predicción a una región de imagen grande en un patrón de señal de imagen que tiene un gran cambio en el tiempo y el espacio, la cantidad de código de la señal de diferencia de predicción aumenta. Por tanto, es deseable aplicar el mismo parámetro de predicción a una región de imagen que tiene un gran cambio en el tiempo y el espacio para reducir el tamaño de bloque de un bloque que se somete al procedimiento de predicción, aumentando de ese modo el volumen de datos del parámetro que se usa para la predicción y reduciendo la potencia eléctrica y entropía de la señal de diferencia de predicción.
En esta realización 1, se proporciona una estructura de, con el fin de llevar a cabo una codificación que está adaptada para tales características típicas de una señal de vídeo, empezar, en primer lugar, el procedimiento de predicción y así sucesivamente a partir de un tamaño de bloque máximo predeterminado, dividir jerárquicamente la región de la señal de vídeo en bloques, y adaptar el procedimiento de predicción y el procedimiento de codificación de codificar la diferencia de predicción a cada uno de los bloques divididos.
Una señal de vídeo que tiene un formato que va a procesarse por el dispositivo de codificación de imágenes en movimiento de la figura 1 puede ser una señal de y Uv que consiste en una señal de luminancia y dos señales de diferencia de color o una señal de imagen de vídeo a color en un espacio de color arbitrario, tal como una señal de RGB, emitida a partir de un sensor de imagen digital, una señal de imagen monocromática o una señal de imagen de infrarrojos, o una señal de vídeo arbitraria en la que cada trama de vídeo consiste en una serie de muestras digitales (píxeles) en dos dimensiones, horizontal y vertical. La gradación de cada píxel puede ser una de 8 bits, 10 bits o 12 bits.
En la siguiente explicación, por motivos de conveniencia, se describirá un caso en el que la señal de vídeo de la imagen introducida es una señal de YUV a menos que se especifique lo contrario, y se manipulan las dos componentes de diferencia de color U y V que son señales que tienen un formato de 4:2:0 que se submuestrean con respecto a la componente de luminancia Y. Además, una unidad de datos que va a procesarse que corresponde a cada trama de la señal de vídeo se denomina “imagen”. En esta realización 1, aunque se realizará una explicación en la que una “ imagen” es una señal de trama de vídeo en la que se lleva a cabo un barrido progresivo, una “imagen” puede ser alternativamente una señal de imagen de campo que es una unidad que construye una trama de vídeo cuando la señal de vídeo es una señal entrelazada.
En primer lugar, se explicará el procesamiento llevado a cabo por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1. En primer lugar, la parte de control de codificación 2 determina el tamaño de cada bloque de codificación más grande que se usa para la codificación de una imagen (imagen actual) que es el objetivo que va a codificarse, y un límite superior sobre el número de capas jerárquicas en las que se divide cada bloque de codificación más grande (etapa ST1 de la figura 2). Como método de determinar el tamaño de cada bloque de codificación más grande, por ejemplo, hay un método de determinar el mismo tamaño para todas las imágenes según la resolución de la señal de vídeo de la imagen introducida, y un método de cuantificar una variación en la complejidad de un movimiento local de la señal de vídeo de la imagen introducida como parámetro y después determinar un tamaño pequeño para una imagen que tiene un movimiento grande y vigoroso mientras que se determina un tamaño grande para una imagen que tiene un movimiento pequeño. Como método de determinar el límite superior sobre el número de capas jerárquicas, por ejemplo, puede haber un método de determinar la misma profundidad de la jerarquía para todas las imágenes según la resolución de la señal de vídeo de la imagen introducida, y un método de aumentar la profundidad de la jerarquía, es decir, el número de capas jerárquicas para hacer que sea posible detectar un movimiento más fino cuando la señal de vídeo de la imagen introducida tiene un movimiento más grande y más vigoroso, o reducir la profundidad de la jerarquía, es decir, el número de capas jerárquicas cuando la señal de vídeo de la imagen introducida tiene un movimiento más pequeño.
La parte de control de codificación 2 también selecciona un modo de codificación correspondiente a cada uno de los bloques de codificación divididos en los que se divide jerárquicamente la imagen introducida a partir de uno o más modos de codificación disponibles (etapa ST2). Más específicamente, la parte 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 alcanza el límite superior sobre el número de capas jerárquicas, es decir, la profundidad de jerarquía máxima que se determina por adelantado, 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 intra-codificación (denominados de manera genérica “INTRA”) o uno o más modos de inter-codificación (denominados de manera genérica “ INTER”), y la parte 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 que está procesándose actualmente o un subconjunto de estos modos de codificación.
Cada uno de los bloques de codificación en los que se divide jerárquicamente la imagen introducida por la parte de división de bloques 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 que tiene que llevarse a cabo un procedimiento de predicción, y el estado de la división en los uno o más bloques de predicción también se incluye como información en la información de modo de codificación. Aunque una explicación detallada del método de selección de seleccionar un modo de codificación para su uso en la parte de control de codificación 2 se omitirá porque el método de selección es una técnica conocida, hay un método de llevar a cabo un procedimiento de codificación en cada bloque de codificación usando un modo de codificación disponible de manera arbitraria para examinar la eficiencia de codificación y seleccionar un modo de codificación que tiene el nivel más alto de eficiencia de codificación de entre una pluralidad de modos de codificación disponibles, por ejemplo.
La parte de control de codificación 2 determina además un parámetro de cuantificación y un tamaño de bloque de transformación que se usan cuando se comprime una imagen de diferencia para cada bloque de codificación, y también determina parámetros de predicción (parámetros de intra-predicción o parámetros de inter-predicción) que se usan cuando se lleva a cabo un procedimiento 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 procedimiento de predicción, la parte de control de codificación puede seleccionar parámetros de predicción (parámetros de intra-predicción o inter-predicción parámetro) para cada uno de los bloques de predicción. Además, dado que cuando se lleva a cabo un procedimiento de intra-predicción 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 usan píxeles ya codificados adyacentes al bloque de predicción, es necesario llevar a cabo codificación para cada bloque de predicción, y, por tanto, los tamaños de bloque de transformación que pueden seleccionarse están limitados al tamaño del bloque de predicción o menos. La parte de control de codificación 2 emite 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 parte de transformación/cuantificación 7, la parte de cuantificación inversa/transformación inversa 8 y la parte de codificación de longitud variable 13. La parte de control de codificación 2 también emite los parámetros de intra-predicción a la parte de intra-predicción 4 según se necesite. La parte de control de codificación 2 emite además los parámetros de inter-predicción a la parte de predicción con compensación de movimiento 5 según se necesite. Cuando se recibe la señal de vídeo de la imagen introducida, la parte de división de bloques 1 divide la señal de vídeo de la imagen introducida en bloques de codificación que tienen, cada uno, el tamaño de bloque de codificación más grande determinado por la parte de control de codificación 2, y divide además cada uno de los bloques de codificación más grandes, en los que se divide la imagen introducida, en bloques de codificación jerárquicamente, determinándose estos bloques de codificación por la parte de control de codificación 2, y emite cada uno de los bloques de codificación.
La figura 5 es un dibujo explicativo que muestra un ejemplo en el que cada bloque de codificación más grande se divide jerárquicamente en una pluralidad de bloques de codificación. Haciendo referencia a la figura 5, cada bloque de codificación más grande es un bloque de codificación cuya componente de luminancia, que se muestra por la “0-ésima capa jerárquica”, tiene un tamaño de (L0, M0). Llevando a cabo la división jerárquica estableciéndose este bloque de codificación más grande como punto de partida hasta que la profundidad de la jerarquía alcanza una profundidad predeterminada que se establece por separado según una estructura de árbol cuaternario, pueden adquirirse los bloques de codificación. A 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 igual que o diferente de Mn, en la figura 5 se muestra el caso de Ln=Mn.
A continuación en el presente documento, el tamaño de bloque de codificación determinado por la parte de control de codificación 2 se define como el tamaño de (Ln, Mn) en la componente de luminancia de cada bloque de codificación. Dado que se lleva a cabo una división de árbol cuaternario, siempre se establece (Ln+1, Mn+1)=(Ln/2, Mn/2). En el caso de una señal de imagen de vídeo a color (formato de 4:4:4) en la que todas las componentes de color tienen el mismo número de muestras, tal como una señal de RGB, todas las componentes de color tienen un tamaño de (Ln, Mn), mientras que, en el caso de manipular un formato de 4:2:0, una componente de diferencia de color correspondiente tiene un tamaño de bloque de codificación de (Ln/2, Mn/2).
A continuación en el presente documento, cada bloque de codificación en la n-ésima capa jerárquica se expresa como Bn, y un modo de codificación que puede seleccionarse para cada bloque de codificación Bn se expresa como m(Bn). En el caso de una señal de vídeo a color que consiste en una pluralidad de componentes de color, el modo de codificación m(Bn) puede estar configurado de tal manera que se usa un modo individual para cada componente de color, o puede estar configurado de tal manera que se usa un modo común para todas las componentes de color. A continuación en el presente documento, se realizará una explicación suponiendo que el modo de codificación indica aquel para la componente de luminancia del bloque de codificación cuando se 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 que muestran, cada uno, una unidad de predicción por la parte de división de bloques 1, tal como se muestra en la figura 6. A continuación en el presente documento, cada bloque de predicción perteneciente a cada bloque de codificación Bn se expresa como Pin (i muestra un número de bloque de predicción en la n-ésima capa jerárquica). En la figura 5 se muestra un ejemplo de P00 y P10. Cómo se lleva a cabo la divisió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 se lleva a cabo un procedimiento de predicción en cada uno de todos los bloques de predicción Pin según el modo de codificación m(Bn), pueden seleccionarse parámetros de predicción individuales (parámetros de intra-predicción o parámetros de inter-predicción) para cada bloque de predicción Pin.
La parte de control de codificación 2 genera un estado de división de bloques tal como se muestra en la figura 6 para cada bloque de codificación más grande, y después especifica bloques de codificación. Cada rectángulo encerrado por una línea discontinua de la figura 6 (a) muestra un bloque de codificación, y cada bloque relleno con líneas de sombreado en cada bloque de codificación muestra el estado de división de cada bloque de predicción. La figura 6(b) muestra una situación en la que se asigna un modo de codificación m(Bn) a cada nodo a través de la división de capas jerárquicas en el ejemplo de la figura 6 (a) se muestra usando un gráfico de árbol cuaternario. Cada nodo encerrado por □ mostrado en la figura 6 (b) es aquel (bloque de codificación) al que se asigna un modo de codificación m(Bn). Se emite información sobre este gráfico de árbol cuaternario a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13 junto con el modo de codificación m(Bn) y se multiplexa en el flujo de bits.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de intracodificación (en el caso de m(Bn) eINTRA), el interruptor de selección 3 emite el bloque de codificación Bn emitido a partir de la parte de división de bloques 1 a la parte de intra-predicción 4. En cambio, cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de inter-codificación (en el caso de m(Bn) e INTER), el interruptor de selección 3 emite el bloque de codificación Bn emitido a partir de la parte de división de bloques 1 a la parte de predicción con compensación de movimiento 5.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de intracodificación (en el caso de m(Bn) eINTRA), y la parte de intra-predicción 4 recibe el bloque de codificación Bn a partir del interruptor de selección 3 (etapa ST3), la parte de intra-predicción 4 lleva a cabo el procedimiento de intra-predicción en cada bloque de predicción Pin en el bloque de codificación Bn usando los parámetros de intrapredicción determinados por la parte de control de codificación 2 al tiempo que hace referencia a la imagen decodificada local almacenada en la memoria 10 para intra-predicción para generar una imagen de intra-predicción PINTRAin (etapa ST4). Dado que el dispositivo de decodificación de imágenes en movimiento necesita generar una imagen de intra-predicción que sea completamente igual que la imagen de intra-predicción PINTRAin, los parámetros de intra-predicción usados para la generación de la imagen de intra-predicción PINTRAin se emiten a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13, y se multiplexan en el flujo de bits. Más adelante se mencionarán los detalles del procesamiento llevado a cabo por la parte de intra-predicción 4.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de inter­ codificación (en el caso de m(Bn) e INTER), y la parte de predicción con compensación de movimiento 5 recibe el bloque de codificación Bn a partir del interruptor de selección 3 (etapa ST3), la parte de predicción con compensación de movimiento 5 compara cada bloque de predicción Pin en el bloque de codificación Bn con la imagen decodificada local en la que se realiza el procedimiento de filtrado y que está almacenada en la memoria de tramas de predicción con compensación de movimiento 12 para buscar un vector de movimiento, y lleva a cabo el procedimiento de inter-predicción en cada bloque de predicción Pin en el bloque de codificación Bn usando tanto el vector de movimiento como los parámetros de inter-predicción determinados por la parte de control de codificación 2 para generar una imagen de inter-predicción PINTERin (etapa ST5). Dado que el dispositivo de decodificación de imágenes en movimiento necesita generar una imagen de inter-predicción que sea completamente igual que la imagen de inter-predicción PINTERin, los parámetros de inter-predicción usados para la generación de la imagen de inter-predicción PINTERin se emiten a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13, y se multiplexan en el flujo de bits. El vector de movimiento que busca la parte de predicción con compensación de movimiento 5 también se emite a la parte de codificación de longitud variable 13 y se multiplexa en el flujo de bits.
Cuando se recibe el bloque de codificación Bn a partir de la parte de división de bloques 1, la parte de sustracción 6 sustrae la imagen de intra-predicción PINTRAin generada por la parte de intra-predicción 4 o la imagen de inter­ predicción PINTERin generada por la parte de predicción con compensación de movimiento 5 a partir del bloque de predicción Pin del bloque de codificación Bn, y emite una señal de diferencia de predicción ein que es el resultado de la sustracción a la parte de transformación/cuantificación 7 (etapa ST6).
Cuando se recibe la señal de diferencia de predicción ein a partir de la parte de sustracción 6, la parte de transformación/cuantificación 7 lleva a cabo un procedimiento de transformación ortogonal (por ejemplo, una DCT (transformada de coseno discreta) o un procedimiento de transformación ortogonal, tal como una transformada de KL, en el que se designan bases para una secuencia de aprendizaje específica por adelantado) en la señal de diferencia de predicción ein haciendo referencia a los parámetros de codificación de diferencia de predicción determinados por la parte de control de codificación 2 para calcular coeficientes de transformación. La parte de transformación/cuantificación 7 también cuantifica los coeficientes de transformación haciendo referencia a los parámetros de codificación de diferencia de predicción y después emite datos comprimidos que son los coeficientes de transformación cuantificados de ese modo a la parte de cuantificación inversa/transformación inversa 8 y la parte de codificación de longitud variable 13 (etapa ST7).
Cuando se reciben los datos comprimidos a partir de la parte de transformación/cuantificación 7, la parte de cuantificación inversa/transformación inversa 8 somete a cuantificación inversa los datos comprimidos haciendo referencia a los parámetros de codificación de diferencia de predicción determinados por la parte de control de codificación 2. La parte de cuantificación inversa/transformación inversa 8 también lleva a cabo un procedimiento de transformación ortogonal inversa (por ejemplo, una DCT inversa o una transformada de KL inversa) en coeficientes de transformación que son los datos comprimidos sometidos a cuantificación inversa haciendo referencia a los parámetros de codificación de diferencia de predicción, y calcula una señal de diferencia de predicción decodificada local correspondiente a la señal de diferencia de predicción ein emitida a partir de la parte de sustracción 6 y emite la señal de diferencia de predicción decodificada local a la parte de adición 9 (etapa ST8).
Cuando se recibe la señal de diferencia de predicción decodificada local a partir de la parte de cuantificación inversa/transformación inversa 8, la parte de adición 9 calcula una imagen decodificada local añadiendo la señal de diferencia de predicción decodificada local y o bien la imagen de intra-predicción PINTRAin generada por la parte de intra-predicción 4, o bien la imagen de inter-predicción PINTERin generada por la parte de predicción con compensación de movimiento 5 (etapa ST9). La parte de adición 9 emite la imagen decodificada local a la parte de filtrado en bucle 11 al tiempo que almacena la imagen decodificada local en la memoria 10 para intra-predicción. Esta imagen decodificada local es una señal de imagen codificada que se usa en el momento de procedimientos de intra-predicción posteriores.
Cuando se recibe la imagen decodificada local a partir de la parte de adición 9, la parte de filtrado en bucle 11 lleva a cabo el procedimiento de filtrado predeterminado en la imagen decodificada local, y almacena la imagen decodificada local en la que la parte de filtrado en bucle lleva a cabo el procedimiento de filtrado en la memoria de tramas de predicción con compensación de movimiento 12 (etapa ST10). El procedimiento de filtrado por la parte de filtrado en bucle 11 puede llevarse a cabo en cada bloque de codificación más grande de la imagen decodificada local introducida en la misma o cada bloque de codificación de la imagen decodificada local introducida en la misma. Como alternativa, después de introducirse una imagen de imágenes decodificadas locales, la parte de filtrado en bucle puede llevar a cabo el procedimiento de filtrado en la imagen de imágenes decodificadas locales de una vez. Como ejemplos del procedimiento de filtrado predeterminado, puede proporcionarse un procedimiento de filtrar un límite de bloque entre bloques de codificación de tal manera que la discontinuidad (ruido de bloque) en el límite no toma relevancia, un procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada local de tal manera que se minimiza un error entre la señal de vídeo mostrada en la figura 1 que es la imagen introducida y la imagen decodificada local, y así sucesivamente. Dado que la parte de filtrado en bucle 11 necesita hacer referencia a la señal de vídeo cuando se lleva a cabo el procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada local de tal manera que se minimiza un error entre la señal de vídeo mostrada en la figura 1 que es la imagen introducida y la imagen decodificada local, existe una necesidad de modificar el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 de tal manera que la señal de vídeo se introduce en la parte de filtrado en bucle 11.
El dispositivo de codificación de imágenes en movimiento lleva a cabo de manera repetida los procedimientos de las etapas ST3 a ST9 hasta que el dispositivo de codificación de imágenes en movimiento completa el procesamiento en todos los bloques de codificación Bn en los que se divide jerárquicamente la imagen introducida, y, cuando se completa el procesamiento en todos los bloques de codificación Bn, cambia a un procedimiento de la etapa ST13 (etapas ST11 y ST12).
La parte de codificación de longitud variable 13 somete a codificación de entropía los datos comprimidos emitidos a la misma a partir de la parte de transformación/cuantificación 7, la información de división de bloques sobre la división de cada bloque de codificación más grande en bloques, que se emite a partir de la parte de control de codificación 2 (la información de árbol cuaternario que se muestra en la figura 6(b) como ejemplo), el modo de codificación m(Bn) y los parámetros de codificación de diferencia de predicción, los parámetros de intra-predicción (cuando el modo de codificación es un modo de intra-codificación) o los parámetros de inter-predicción (cuando el modo de codificación es un modo de inter-codificación) emitidos a partir de la parte de control de codificación 2, y el vector de movimiento emitido a partir de la parte de predicción con compensación de movimiento 5 (cuando el modo de codificación es un modo de inter-codificación), y genera un flujo de bits que muestra estos resultados codificados (etapa ST13).
A continuación, se explicará en detalle el procesamiento llevado a cabo por la parte de intra-predicción 4. La figura 7 es un dibujo explicativo que muestra un ejemplo de los parámetros de intra-predicción (modo de intra-predicción) que pueden seleccionarse para cada bloque de predicción Pin en el bloque de codificación Bn. En la figura 7, se muestran modos de intra-predicción y vectores de dirección de predicción representados por cada uno de los modos de intra-predicción. En el ejemplo de la figura 7, está diseñado que un ángulo relativo entre vectores de dirección de predicción se vuelve pequeño con el aumento del número de modos de intra-predicción que pueden seleccionarse.
La parte de intra-predicción 4 lleva a cabo el procedimiento de intra-predicción en cada bloque de predicción Pin haciendo referencia a los parámetros de intra-predicción del bloque de predicción Pin para generar una imagen de intra-predicción PINTRAin, tal como se mencionó anteriormente. A continuación en el presente documento, se explicará un intra-procedimiento de generar una señal de intra-predicción de un bloque de predicción Pin en la señal de luminancia.
Se supone que el tamaño del bloque de predicción Pin es de linxmin píxeles. La figura 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 el bloque de predicción Pin en el caso de lin=min=4. Aunque (2*l¡n+1) píxeles ya codificados ubicados por encima del bloque de predicción Pin y (2*min) píxeles ya codificados ubicados a la izquierda del bloque de predicción Pin se establecen como píxeles usados para la predicción en el ejemplo de la figura 8, puede usarse para la predicción un número de píxeles mayor o menor que los píxeles mostrados en la figura 8. Además, aunque se usa una fila o columna de píxeles adyacentes al bloque de predicción Pin para la predicción en el ejemplo mostrado en la figura 8, alternativamente pueden usarse dos o más filas o columnas de píxeles adyacentes al bloque de predicción Pin para la predicción.
Cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 0 (predicción vertical), la parte de intra-predicción calcula un valor predicho de cada píxel en el bloque de predicción Pin según la siguiente ecuación (1) para generar una imagen de predicción.
S'(x,y) = S(x-1) ( S ( - I ,j O - S(-l,-l))/< ( 1 )
donde las coordenadas (x, y) son coordenadas relativas que se determinan definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen (véase la figura 9), y S’(x, y) es el valor predicho en las coordenadas (x, y) y S(x, y) es el valor de luminancia (valor de luminancia decodificado) del píxel ya codificado en las coordenadas (x, y).
Añadiendo de ese modo un valor proporcional a (S(-1, y)-S(-1, -1)) que muestra la cantidad de cambio en una dirección vertical de los valores de luminancia de píxeles ya codificados (píxeles encerrados por un recuadro de bordes gruesos mostrados en la figura 10) adyacentes a la izquierda del bloque de predicción Pin (es decir, un valor que se obtiene ajustando a escala (S(-1, y)-S(-1, -1)) que muestra la cantidad de cambio en la dirección vertical de los valores de luminancia de los píxeles ya codificados en un factor de 1/t) al valor de luminancia S(x, -1) de un píxel ya codificado adyacente a la parte superior del bloque de predicción Pin que es un valor predicho basado en una predicción vertical convencional (Mp Eg -4 AVC/H.264) para determinar el resultado de adición como valor predicho de la imagen de predicción, puede implementarse una predicción vertical que sigue cualquier cambio del valor de luminancia en la dirección de predicción. En ese momento, cuando el valor predicho anteriormente mencionado no se encuentra dentro de un intervalo de valores que puede tener el valor de luminancia, el valor predicho anteriormente mencionado se redondea hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo.
El factor anteriormente mencionado de 1/t puede ser un valor fijo o una variable que varía con las coordenadas (x, y). Por ejemplo, dado que los valores de ajuste a escala empezando por aquel para los píxeles en la columna del extremo izquierdo disminuyen de la siguiente manera: 1/2, 1/4, 1/8 y 1/16 cuando t=2x+1, tal como se muestra en la figura 11, la cantidad de cambio en la dirección vertical de los valores de luminancia que va a añadirse disminuye con la distancia desde los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin. Como resultado, dado que cuanto más larga es la distancia desde los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin, y, por tanto, menor correlación tiene con los píxeles ya codificados el píxel objetivo que va a predecirse, menos influencia de los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin puede ejercerse en el píxel objetivo que va a predecirse, puede llevarse a cabo una predicción de alta precisión según la correlación con los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin. Además, el tamaño de bloque del bloque de predicción Pin en el que se lleva a cabo el procedimiento de predicción basado en la ecuación (1) puede estar limitado. En general, un bloque que tiene un tamaño de bloque más grande tiene varios cambios de señal en el mismo más fácilmente, y hay pocos casos en los que el procedimiento de predicción en un bloque de este tipo puede llevarse a cabo usando una predicción direccional con un alto grado de precisión. Por tanto, por ejemplo, la ecuación (1) no se aplica a ningún bloque de predicción Pin que tiene un tamaño de bloque de 16x16 píxeles o más y se establece un valor predicho basado en una predicción vertical convencional (el valor de luminancia S (x, -1) de un píxel ya codificado adyacente a la parte superior del bloque de predicción Pin) como valor predicho de la imagen de predicción, mientras que la ecuación (1) solo se aplica a bloques que tienen cada uno un tamaño menor de 16x16 píxeles, pudiendo de ese modo suprimir el aumento de la cantidad de cálculo al tiempo que se mejora el rendimiento de predicción en comparación con el caso de usar la predicción vertical convencional.
Además, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 1 (predicción horizontal), la parte de intra-predicción calcula un valor predicho de cada píxel en el bloque de predicción Pin según la siguiente ecuación (2) para generar una imagen de predicción.
S W ) = S ( - l , y ) (S(x -1 ) - S ( - l , - l ) ) / « ( 2 )
donde las coordenadas (x, y) son coordenadas relativas que se determinan definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen (véase la figura 9), y S’(x, y) es el valor predicho en las coordenadas (x, y) y S(x, y) es el valor de luminancia (valor de luminancia decodificado) del píxel ya codificado en las coordenadas (x, y).
Añadiendo de ese modo un valor proporcional a (S(x, -1)-S(-1, -1)) que muestra la cantidad de cambio en una dirección horizontal de los valores de luminancia de píxeles ya codificados (píxeles encerrados por un recuadro de bordes gruesos mostrados en la figura 12) adyacentes a la parte superior del bloque de predicción Pin (es decir, un valor que se obtiene ajustando a escala (S(x, -1)-S(-1, -1)) que muestra la cantidad de cambio en la dirección horizontal de los valores de luminancia de píxeles ya codificados en un factor de 1/u) al valor de luminancia S (-1, y) de un píxel ya codificado adyacente a la izquierda del bloque de predicción Pin que es un valor predicho basado en una predicción horizontal convencional (MPEG-4 AVC/H.264) para determinar el resultado de adición como valor predicho de la imagen de predicción, puede implementarse una predicción horizontal que sigue cualquier cambio del valor de luminancia en la dirección de predicción. En ese momento, cuando el valor predicho anteriormente mencionado no se encuentra dentro del intervalo de valores que puede tener el valor de luminancia, el valor predicho anteriormente mencionado se redondea hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo.
El factor anteriormente mencionado de 1/u puede ser un valor fijo o puede ser una variable que varía con las coordenadas (x, y). Por ejemplo, dado que los valores de ajuste a escala empezando por aquel para los píxeles en la fila del extremo superior disminuyen de la siguiente manera: 1/2, 1/4, 1/8 y 1/16 cuando u=2y+1, tal como se muestra en la figura 13, la cantidad de cambio en la dirección horizontal de los valores de luminancia que va a añadirse disminuye con la distancia desde los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin. Como resultado, dado que cuanto más larga es la distancia desde los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin, y, por tanto, menor correlación tiene con los píxeles ya codificados el píxel objetivo que va a predecirse, menos influencia de los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin puede ejercerse en el píxel objetivo que va a predecirse, puede llevarse a cabo una predicción de alta precisión según la correlación con los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin. Además, el tamaño de bloque del bloque de predicción Pin en el que se lleva a cabo el procedimiento de predicción basado en la ecuación (2) puede estar limitado. En general, un bloque que tiene un tamaño de bloque más grande tiene varios cambios de señal en el mismo más fácilmente, y hay pocos casos en los que el procedimiento de predicción en un bloque de este tipo puede llevarse a cabo usando una predicción direccional con un alto grado de precisión. Por tanto, por ejemplo, la ecuación (2) no se aplica a ningún bloque de predicción Pin que tiene un tamaño de bloque de 16x16 píxeles o más y se establece un valor predicho basado en una predicción horizontal convencional (el valor de luminancia S (-1, y) de un píxel ya codificado adyacente a la izquierda del bloque de predicción Pin) como valor predicho de la imagen de predicción, mientras que la ecuación (2) solo se aplica a bloques que tienen cada uno un tamaño menor de 16x16 píxeles, pudiendo de ese modo suprimir el aumento de la cantidad de cálculo al tiempo que se mejora el rendimiento de predicción en comparación con el caso de usar la predicción horizontal convencional.
Además, cuando el valor de índice que indica el modo de intra-predicción para el bloque de predicción Pin es 2 (predicción promedio), la parte de intra-predicción genera una imagen de predicción estableciendo el promedio de los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin y los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin como valor predicho de cada píxel en el bloque de predicción Pin. Cuando el valor de índice que indica el modo de intra-predicción es distinto de 0 (predicción vertical), 1 (predicción horizontal) y 2 (predicción promedio), la parte de intra-predicción genera un valor predicho de cada píxel en el bloque de predicción Pin basándose en un vector de dirección de predicción up=(dx, dy) mostrado por el valor de índice. Tal como se muestra en la figura 9, cuando las coordenadas relativas de cada píxel en el bloque de predicción Pin se expresan como (x, y) definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen, cada píxel de referencia que se usa para la predicción está ubicado en un punto de intersección de L mostrado a continuación y un píxel adyacente.
Figure imgf000014_0001
donde k es un valor escalar negativo.
Cuando un píxel de referencia está en una posición de píxel de número entero, el valor del píxel de número entero correspondiente se determina como valor predicho del píxel objetivo que va a predecirse, mientras que, cuando un píxel de referencia no está en una posición de píxel de número entero, el valor de un píxel de interpolación generado a partir de los píxeles de número entero que son adyacentes al píxel de referencia se determina como valor predicho del píxel objetivo que va a predecirse. En el ejemplo mostrado en la figura 8, dado que un píxel de referencia no está ubicado en una posición de píxel de número entero, el valor predicho se interpola a partir de los valores de dos píxeles adyacentes al píxel de referencia. La parte de intra-predicción puede usar no solo 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 valor predicho. Aunque el aumento del número de píxeles usados para el procedimiento de interpolación proporciona una ventaja de mejorar la precisión de cálculo de un píxel de interpolación, dado que el grado de complejidad de cálculos requeridos para el procedimiento de interpolación aumenta con el aumento del número de píxeles usados para el procedimiento de interpolación, es preferible generar un píxel de interpolación a partir de un número mayor de píxeles en un caso en el que el dispositivo de codificación de imágenes en movimiento requiere un alto rendimiento de codificación aunque la carga aritmética sea grande. Según el mismo procedimiento, la parte 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 Pin, y emite una imagen de intra-predicción PintraA Los parámetros de intra-predicción usados para la generación de la imagen de intrapredicción Pintraí" se emiten a la parte de codificación de longitud variable 13 con el fin de multiplexar los parámetros de intra-predicción en el flujo de bits.
Como en el caso de una intra-predicción en un bloque de 8x8 píxeles en MPEG-4 AVC/H.264 explicada anteriormente, como píxeles que se usan cuando se lleva a cabo una intra-predicción, en vez de los propios píxeles en un bloque adyacente ya codificado, pueden usarse alternativamente los píxeles en los que se lleva a cabo un procedimiento de filtrado.
La parte de intra-predicción también lleva a cabo un procedimiento de intra-predicción basándose en los parámetros 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í" según el mismo procedimiento que aquel según el cual la parte de intra-predicción lleva a cabo el procedimiento de intra-predicción en la señal de luminancia, y emite los parámetros de intra-predicción usados para la generación de la imagen de intra-predicción a la parte de codificación de longitud variable 13. No se necesita que los parámetros de intra-predicción (modo de intra-predicción) que pueden seleccionarse para las señales de diferencia de color sean los mismos que los de la señal de luminancia, y puede usarse un método de predicción convencional (MPEG-4 AVC/H.264) para una predicción vertical y para una predicción horizontal. Por ejemplo, en el caso de un formato de 4:2:0 de YUV, cada una de las señales de diferencia de color (señales de U y V) es aquella cuya resolución se reduce hasta la mitad de la de la señal de luminancia (señal de 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 menor que la de la señal de luminancia y, por tanto, puede llevarse a cabo una predicción en cada una de las señales de diferencia de color más fácilmente que en la señal de luminancia. Por tanto, reduciendo el número de parámetros de intra-predicción que pueden seleccionarse (modo de intra-predicción) para cada una de las señales de diferencia de color para que sea menor que aquel para la señal de luminancia, y usando un método de predicción simple convencional para cada una de predicciones vertical y horizontal, puede implementarse una reducción de la cantidad de código requerida para codificar los parámetros de intra-predicción (modo de intrapredicción) y una reducción de la cantidad de cálculo requerida para llevar a cabo el procedimiento de predicción sin reducir demasiado la eficiencia de predicción.
1/t que es el valor de ajuste a escala usado para una predicción vertical y 1/u que es el valor de ajuste a escala usado para una predicción horizontal pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intrapredicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir t y u a la parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter t y u a codificación de longitud variable y después incluir datos codificados de t y u en el flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir t y u y usar t y u. Pudiendo de este modo controlar de manera adaptativa t y u para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
Además, el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (2) pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intra-predicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir un indicador de ON/OFF, que se establece para cada tamaño de bloque, que muestra si se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) para el tamaño de bloque a la parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter a codificación de longitud variable el indicador de ON/OFF anteriormente mencionado e incluir datos codificados del indicador de ON/OFF en el flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir el indicador de ON/OFF anteriormente mencionado, y usar el indicador de ON/OFF anteriormente mencionado. Pudiendo de este modo controlar de manera adaptativa el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (2) para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
A continuación, se explicará concretamente el procesamiento llevado a cabo por el dispositivo de decodificación de imágenes en movimiento mostrado en la figura 3. Cuando se recibe el flujo de bits generado por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1, la parte de decodificación de longitud variable 31 lleva a cabo un procedimiento de decodificación de longitud variable en el flujo de bits (etapa ST21 de la figura 4) y decodifica la información de tamaño de trama para cada secuencia, consistiendo cada secuencia en una o más tramas de imágenes, o para cada imagen. En este momento, cuando incluso uno cualquiera del parámetro t del valor de ajuste a escala usado para una predicción vertical, el parámetro u del valor de ajuste a escala usado para una predicción horizontal, y el indicador de ON/OFF, que se establece para cada tamaño de bloque, que muestra si se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) para el tamaño de bloque, se somete a codificación de longitud variable y se multiplexa en el flujo de bits, el dispositivo de decodificación de imágenes en movimiento decodifica los datos codificados en unidades de una unidad en la que el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 lleva a cabo el procedimiento de codificación (para cada secuencia o para cada imagen).
La parte de decodificación de longitud variable 31 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 parte de control de codificación 2 del dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 según el mismo procedimiento que aquel según el cual lo hace el dispositivo de codificación de imágenes en movimiento (etapa ST22). Por ejemplo, cuando 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 se determinan según la resolución de la señal de vídeo, la parte de decodificación de longitud variable determina el tamaño de bloque de codificación más grande basándose en la información de tamaño de trama decodificada y según el mismo procedimiento que aquel según el cual lo hace el dispositivo de codificación de imágenes en movimiento. Cuando 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 se multiplexan en el flujo de bits por el dispositivo de codificación de imágenes en movimiento, la parte de decodificación de longitud variable usa los valores decodificados a partir del flujo de bits. A continuación en el presente documento, el tamaño de bloque de codificación más grande anteriormente mencionado se denomina tamaño de bloque de decodificación más grande, y un bloque de codificación más grande se denomina bloque de decodificación más grande en el dispositivo de decodificación de imágenes en movimiento. La parte de decodificación de longitud variable 31 decodifica el estado de división de cada bloque de decodificación más grande tal como se muestra en la figura 6 para cada bloque de decodificación más grande determinado. La parte de decodificación de longitud variable especifica jerárquicamente bloques de decodificación (es decir, bloques correspondientes a los “bloques de codificación” que se procesan por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1) basándose en el estado de división decodificado (etapa ST23).
Después, la parte de decodificación de longitud variable 31 decodifica el modo de codificación asignado a cada bloque de decodificación. La parte de decodificación de longitud variable divide cada bloque de decodificación en uno o más bloques de predicción cada uno de los cuales es una unidad para procedimiento de predicción basándose en la información incluida en el modo de codificación decodificado, y decodifica los parámetros de predicción asignados a cada uno de los uno o más bloques de predicción (etapa ST24).
Cuando el modo de codificación asignado a un bloque de decodificación es un modo de intra-codificación, la parte de decodificación de longitud variable 31 decodifica los parámetros de intra-predicción para cada uno de los 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 de predicción. La parte de decodificación de longitud variable 31 divide adicionalmente el bloque de decodificación en uno o más bloques de transformación cada uno de los cuales es una unidad para procedimiento de transformación basándose en la información de tamaño de bloque de transformación incluida en los parámetros de codificación de diferencia de predicción, y decodifica los datos comprimidos (coeficientes de transformación transformados y cuantificados) sobre cada bloque de transformación (etapa ST24).
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de intra-codificación (cuando m(Bn) e INTRA), el interruptor de selección 33 emite los parámetros de intra-predicción de cada unidad de bloque de predicción, que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31, a la parte de intra-predicción 34. En cambio, cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de inter-codificación (cuando m(Bn) e INTER), el interruptor de selección emite los parámetros de inter-predicción y el vector de movimiento de cada unidad de bloque de predicción, que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31, a la parte de compensación de movimiento 35.
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de intra-codificación (m(Bn) e INTRA) (etapa ST25), la parte de intra-predicción 34 recibe los parámetros de intra-predicción de cada unidad de bloque de predicción emitida a partir del interruptor de selección 33, y lleva a cabo un procedimiento de intra-predicción en cada bloque de predicción Pin en el bloque de decodificación Bn usando los parámetros de intra-predicción anteriormente mencionados haciendo referencia a la imagen decodificada almacenada en la memoria 37 para intra-predicción para generar una imagen de intrapredicción PINTRAin según el mismo procedimiento que el que usa la parte de intra-predicción 4 mostrada en la figura 1 (etapa ST26). Más específicamente, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 0 (predicción vertical), la parte de intra-predicción 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin según la ecuación (1) anteriormente mencionada para generar una imagen de intra-predicción PINTRAin. Además, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 1 (predicción horizontal), la parte de intra-predicción 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin según la ecuación (2) anteriormente mencionada para generar una imagen de intrapredicción PINTRAin. En este caso, cuando el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) está limitado, se lleva a cabo un procedimiento de intra-predicción basado en una predicción vertical u horizontal convencional (MPEG-4 AVC/H.264) en el bloque de predicción Pin cuando el bloque de predicción Pin tiene un tamaño distinto del tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2).
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de inter-codificación (m(Bn) e INTER) (etapa ST25), la parte de compensación de movimiento 35 recibe el vector de movimiento y los parámetros de inter-predicción de cada unidad de bloque de predicción que se emiten a partir del interruptor de selección 33, y lleva a cabo un procedimiento de inter­ predicción en cada bloque de predicción Pin en el bloque de decodificación usando el vector de movimiento anteriormente mencionado y los parámetros de inter-predicción anteriormente mencionados al tiempo que se hace referencia a la imagen decodificada que está almacenada en la memoria de tramas de predicción con compensación de movimiento 39 y en la que se lleva a cabo el procedimiento de filtrado 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 a partir de la parte de decodificación de longitud variable 31, la parte de cuantificación inversa/transformación inversa 32 somete a cuantificación inversa los datos comprimidos haciendo referencia a los parámetros de codificación de diferencia de predicción según el mismo procedimiento que aquel según el cual lo hace la parte de cuantificación inversa/transformación inversa 8 mostrada en la figura 1, y también lleva a cabo un procedimiento de transformación ortogonal inversa en los coeficientes de transformación que son los datos comprimidos que somete a cuantificación inversa la unidad de cuantificación inversa/transformación inversa haciendo referencia a los parámetros de codificación de diferencia de predicción 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 emitida a partir de la parte de cuantificación inversa/transformación inversa 8 mostrada en la figura 1 (etapa ST28).
La parte de adición 36 añade la señal de diferencia de predicción decodificada calculada por la parte de cuantificación inversa/transformación inversa 32 y o bien la imagen de intra-predicción PiNTRAin generada por la parte de intra-predicción 34, o bien la imagen de inter-predicción PiNTERin generada por la parte de compensación de movimiento 35 para calcular una imagen decodificada y emitir esta imagen decodificada a la parte de filtrado en bucle 38, y también almacena la imagen decodificada en la memoria 37 para intra-predicción (etapa ST29). Esta imagen decodificada es una señal de imagen decodificada que se usa en el momento de procedimientos de intra-predicción posteriores.
Cuando se completan los procedimientos de las etapas ST23 a ST29 en todos los bloques de decodificación Bn (etapa ST30), la parte de filtrado en bucle 38 lleva a cabo un procedimiento de filtrado predeterminado en la imagen decodificada emitida a partir de la parte de adición 36, y almacena la imagen decodificada en la que la parte de filtrado en bucle lleva a cabo el procedimiento de filtrado en la memoria de tramas de predicción con compensación de movimiento 39 (etapa ST31). El procedimiento de filtrado por la parte de filtrado en bucle 38 puede llevarse a cabo en cada bloque de decodificación más grande de la imagen decodificada introducida a la misma o cada bloque de decodificación de la imagen decodificada introducida a la misma. Como alternativa, después de introducirse una imagen de imágenes decodificadas, la parte de filtrado en bucle puede llevar a cabo el procedimiento de filtrado en la imagen de imágenes decodificadas de una vez. Como ejemplos del procedimiento de filtrado predeterminado, puede proporcionarse un procedimiento de filtrar un límite de bloque entre bloques de codificación de tal manera que la discontinuidad (ruido de bloque) en el límite no toma relevancia, un procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada, y así sucesivamente. Esta imagen decodificada es una imagen de referencia para la predicción con compensación de movimiento, y también es una imagen reproducida.
Tal como puede observarse a partir de la descripción anterior, la parte de intra-predicción 4 del dispositivo de codificación de imágenes en movimiento según esta realización 1 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder implementar una predicción de alta precisión, mejorando de ese modo la calidad de imagen, aunque el valor de señal varíe a lo largo de la dirección de predicción.
Además, la parte de intra-predicción 34 del dispositivo de decodificación de imágenes en movimiento según esta realización 1 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior de un bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder implementar una predicción de alta precisión, mejorando de ese modo la calidad de imagen, aunque el valor de señal varíe a lo largo de la dirección de predicción.
Según esta realización 1, dado que 1/u que es el valor de ajuste a escala usado cuando se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 está configurado de tal manera que el valor de ajuste a escala establecido para cada fila en el bloque de predicción disminuye con la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, cuanto más larga es la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, y, por tanto, menor correlación tiene con los píxeles el píxel objetivo que va a predecirse, menos influencia de los píxeles adyacentes a la parte superior del bloque de predicción puede ejercerse en el píxel objetivo que va a predecirse. Como resultado, se proporciona una ventaja de poder llevar a cabo el procedimiento de predicción con un alto grado de precisión. Además, dado que 1/t que es el valor de ajuste a escala usado cuando se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 está configurado de tal manera que el valor de ajuste a escala establecido para cada columna en el bloque de predicción disminuye con la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción, cuanto más larga es la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción, y, por tanto, menor correlación tiene con los píxeles el píxel objetivo que va a predecirse, menos influencia de los píxeles adyacentes a la izquierda del bloque de predicción puede ejercerse en el píxel objetivo que va a predecirse. Como resultado, se proporciona una ventaja de poder llevar a cabo el procedimiento de predicción con un alto grado de precisión.
En esta realización 1, se muestra el ejemplo en el que el valor de ajuste a escala establecido para la N-ésima fila en el bloque de predicción en el momento en el que se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 es 1/2N+1 (= 1/2, 1/4, 1/8, 1/16,...) y el valor de ajuste a escala establecido para la M-ésima columna en el bloque de predicción en el momento en el que se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 es 1/2M+1 (= 1/2, 1/4, 1/8, 1/16,...). Esto es tan solo un ejemplo. El valor de ajuste a escala establecido para la N-ésima fila en el bloque de predicción puede ser arbitrario en el momento en el que se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 siempre que el valor de ajuste a escala disminuya con la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, y el valor de ajuste a escala establecido para la M-ésima columna en el bloque de predicción puede ser arbitrario en el momento en el que se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 siempre que el valor de ajuste a escala disminuya con la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción.
Realización 2.
En la realización 1 anteriormente mencionada, se muestra el ejemplo en el que cada una de las partes de intrapredicción 4 y 34 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, añaden un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción que se multiplica por un valor de ajuste a escala establecido para cada columna en el bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Con el fin de implementar un procedimiento de predicción que tiene una baja cantidad de cálculo, para cada una de un número predeterminado de columnas que se extienden verticalmente, numerándose las columnas desde la que está en el extremo izquierdo del bloque de predicción, la parte de intra-predicción puede añadir un valor proporcional al cambio en la dirección vertical de los valores de luminancia de los píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia de un píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que para cada una de las columnas restantes en el bloque de predicción, la parte de intra-predicción puede determinar alternativamente el valor de luminancia de un píxel adyacente a la parte superior del bloque de predicción como valor predicho de la imagen de predicción. Además, por el mismo motivo, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, para cada una de un número predeterminado de filas que se extienden horizontalmente, numerándose las filas desde la que está en el extremo superior del bloque de predicción, la parte de intra-predicción puede añadir un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior del bloque de predicción que se multiplica por un valor de ajuste a escala establecido para cada fila en el bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que para cada una de las filas restantes en el bloque de predicción, la parte de intra-predicción puede determinar alternativamente el valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción como valor predicho de la imagen de predicción.
A continuación en el presente documento, se explicará concretamente el procesamiento llevado a cabo por cada una de las partes de intra-predicción 4 y 34 según esta realización. Cuando un valor de índice que indica un modo de intra-predicción para un bloque de predicción Pin es 0 (predicción vertical), cada una de las partes de intrapredicción 4 y 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin para generar una imagen de predicción según la siguiente ecuación (4).
Figure imgf000019_0001
En esta ecuación, B es un número entero igual a o mayor de 0, y, cuando el valor predicho calculado supera un intervalo de valores posibles que puede tener el valor de luminancia en el momento de x<B en el que se aplica la parte superior en la ecuación (4), el valor predicho se redondea hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo. El procedimiento de predicción puede implementarse con una cantidad inferior de cálculo con una disminución del valor de B. En el caso de B=0, la cantidad de cálculo es igual a la de una predicción vertical convencional (MPEG-4 AVC/H.264) usando solo el valor de luminancia S(x, -1) de un píxel ya codificado (ya decodificado) adyacente a la parte superior del bloque de predicción Pin. El valor de B puede cambiarse según el tamaño de bloque del bloque de predicción Pin. En general, dado que es fácil incluir diversos cambios de señal el bloque de predicción y es difícil llevar a cabo una predicción en una única dirección cuando el tamaño de bloque del bloque de predicción se vuelve grande, se reduce el número de casos en los que el valor de cada píxel en el bloque de predicción puede predecirse con un alto grado de precisión usando una predicción direccional. Por tanto, solo cuando el tamaño de bloque del bloque de predicción Pin es menor que un tamaño predeterminado, B se establece de tal manera que satisface B>1, mientras que, cuando el tamaño de bloque del bloque de predicción Pin es igual al o mayor que el tamaño predeterminado, B se establece a 0. Por ejemplo, dado que, en un caso en el que el tamaño predeterminado es de 16x16 píxeles, B se establece a 0 cuando el bloque de predicción Pin tiene un tamaño de bloque de 16x16 píxeles o más, el procedimiento de predicción es el mismo que una predicción vertical convencional, y, por tanto, puede prevenirse el aumento del procesamiento aritmético. Más específicamente, dado que el procedimiento de determinación de condición de determinar si cada píxel en el bloque de predicción satisface x<B o x>B se vuelve innecesario cuando el bloque de predicción tiene un tamaño de bloque en B=0, no se provoca ningún aumento del procesamiento aritmético resultante del procedimiento de predicción vertical convencional haciendo que la parte de intra-predicción lleve a cabo la predicción vertical convencional sin llevar a cabo el procedimiento de determinación de condición anteriormente mencionado todas las veces. Por otro lado, dado que B se establece a 1 o más cuando el bloque de predicción Pin tiene un tamaño de bloque menor de 16x16 píxeles, tal como 4x4 píxeles u 8x8 píxeles, puede mejorarse el rendimiento de predicción en comparación con el caso de usar una predicción vertical convencional.
Por ejemplo, cuando B=1 para un bloque de predicción Pin que tiene un tamaño de bloque de 4x4 píxeles, se aplica la parte superior de la ecuación (4) a la columna más a la izquierda en el bloque de predicción Pin y se añade un valor proporcional al cambio en la dirección vertical de los valores de luminancia de los píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia de un píxel en la columna más a la izquierda. Por otro lado, se aplica la parte inferior de la ecuación (4) a cada una de las columnas segunda a cuarta en el bloque de predicción Pin y no se añade un valor proporcional al cambio en la dirección vertical de los valores de luminancia de los píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia de un píxel en cada una de las columnas segunda a cuarta. Estableciendo de este modo el valor de B a uno pequeño, puede reducirse en gran medida el aumento de la cantidad de cálculo.
Un dispositivo real en el que se implementa la parte de intra-predicción puede construirse de tal manera que usa las diferentes expresiones para el cálculo de un valor predicho, tal como se muestra en la ecuación (4) anteriormente mencionada, para cada píxel en la posición x<B y para cada píxel en la posición x>B, o puede construirse de manera arbitraria siempre que la parte de intra-predicción pueda calcular un valor predicho equivalente al calculado usando la ecuación anteriormente mencionada. Por ejemplo, puede construirse un dispositivo real de tal manera que copia el valor de luminancia S (-x, 1) de un píxel ya codificado (o ya decodificado) adyacente a la parte superior del bloque de predicción Pin que es un valor predicho adquirido usando una predicción vertical convencional para cada uno de todos los píxeles en el bloque de predicción Pin, y añade un valor que se adquiere ajustando a escala (S (-1, y) -S (-1, -1)) por un factor de 1/t al valor de luminancia de tan solo cada píxel en la posición x<B.
Además, cuando el valor de índice que indica el modo de intra-predicción para un bloque de predicción Pin es 0 (predicción horizontal), cada una de las partes de intra-predicción 4 y 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin para generar una imagen de predicción según la siguiente ecuación (5).
En esta ecuación, C es un número entero igual a o mayor de 0, y, cuando el valor predicho calculado supera un intervalo de valores posibles que puede tener el valor de luminancia en el momento de x<C en el que se aplica la parte superior en la ecuación (5), el valor predicho se redondea hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo. El procedimiento de predicción puede implementarse con una cantidad inferior de cálculo con una disminución del valor de C. En el caso de C=0, la cantidad de cálculo es igual a la de una predicción horizontal convencional (MPEG-4 AVC/H.264) usando solo el valor de luminancia S (-1, y) de un píxel ya codificado (ya decodificado) adyacente a la izquierda del bloque de predicción Pin. El valor de C puede cambiarse según el tamaño de bloque del bloque de predicción Pin. En general, dado que es fácil incluir diversos cambios de señal el bloque de predicción y es difícil llevar a cabo una predicción en una única dirección cuando el tamaño de bloque del bloque de predicción se vuelve grande, se reduce el número de casos en los que el valor de cada píxel en el bloque de predicción puede predecirse con un alto grado de precisión usando una predicción direccional. Por tanto, solo cuando el tamaño de bloque del bloque de predicción Pin es menor que un tamaño predeterminado, C se establece de tal manera que satisface C>1, mientras que, cuando el tamaño de bloque del bloque de predicción Pin es igual al o mayor que el tamaño predeterminado, C se establece a 0. Por ejemplo, dado que, en un caso en el que el tamaño predeterminado es de 16*16 píxeles, C se establece a 0 cuando el bloque de predicción Pin tiene un tamaño de bloque de 16*16 píxeles o más, el procedimiento de predicción es el mismo que una predicción horizontal convencional, y, por tanto, puede prevenirse el aumento del procesamiento aritmético. Más específicamente, dado que el procedimiento de determinación de condición de determinar si cada píxel en el bloque de predicción satisface y<C o y>C se vuelve innecesario cuando el bloque de predicción tiene un tamaño de bloque en C=0, no se provoca ningún aumento del procesamiento aritmético resultante del procedimiento de predicción horizontal convencional haciendo que la parte de intra-predicción lleve a cabo la predicción horizontal convencional sin llevar a cabo el procedimiento de determinación de condición anteriormente mencionado todas las veces. Por otro lado, dado que C se establece a 1 o más cuando el bloque de predicción Pin tiene un tamaño de bloque menor de 16*16 píxeles, tal como 4*4 píxeles u 8*8 píxeles, puede mejorarse el rendimiento de predicción en comparación con el caso de usar la predicción horizontal convencional.
Por ejemplo, cuando C=1 para un bloque de predicción Pin que tiene un tamaño de bloque de 4*4 píxeles, se aplica la parte superior de la ecuación (5) a la fila superior en el bloque de predicción Pin y se añade un valor proporcional al cambio en la dirección horizontal de los valores de luminancia de los píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de cada píxel en la fila superior. Por otro lado, se aplica la parte inferior de la ecuación (5) a cada una de las filas segunda a cuarta en el bloque de predicción Pin y no se añade un valor proporcional al cambio en la dirección horizontal de los valores de luminancia de los píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de cada píxel en cada una de las columnas segunda a cuarta. Estableciendo de este modo el valor de C a uno pequeño, puede reducirse en gran medida el aumento de la cantidad de cálculo.
Un dispositivo real en el que se implementa la parte de intra-predicción puede construirse de tal manera que usa las diferentes expresiones para el cálculo de un valor predicho, tal como se muestra en la ecuación (5) anteriormente mencionada, para cada píxel en la posición y<C y para cada píxel en la posición y>C, o puede construirse de manera arbitraria siempre que la parte de intra-predicción pueda calcular un valor predicho equivalente al calculado usando la ecuación anteriormente mencionada. Por ejemplo, puede construirse un dispositivo real de tal manera que copia el valor de luminancia S(-1, y) de un píxel ya codificado (o ya decodificado) adyacente a la izquierda del bloque de predicción Pin que es un valor predicho adquirido usando una predicción horizontal convencional para cada uno de todos los píxeles en el bloque de predicción Pin, y añade un valor que se adquiere ajustando a escala (S(x, -1)-S(-1, -1)) por un factor de 1/u al valor de luminancia de tan solo cada píxel en la posición y<C.
1/t que es el valor de ajuste a escala y B que se usan para una predicción vertical (información intra-bloque que especifica las columnas para cada una de las cuales se añade el valor proporcional al cambio en la dirección vertical de los valores de luminancia de los píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia de un píxel adyacente a la parte superior del bloque de predicción), y 1/u que es el valor de ajuste a escala y C que se usan para una predicción horizontal (información intra-bloque que especifica las filas para cada una de las cuales se añade el valor proporcional al cambio en la dirección horizontal de los valores de luminancia de los píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción) pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intrapredicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir t, u, B y C a una parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter a codificación de longitud variable t, u, B y C y después incluir datos codificados de t, u, B y C en un flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir t, u, B y C y usar t, u, B y C. Pudiendo de este modo controlar de manera adaptativa t, u, B y C para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
Además, el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (4) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (5) pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intra-predicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir un indicador de ON/OFF, que se establece para cada tamaño de bloque, que muestra si se usa una predicción vertical basada en la ecuación (4) o una predicción horizontal basada en la ecuación (5) para el tamaño de bloque a la parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter a codificación de longitud variable el indicador de ON/OFF anteriormente mencionado e incluir datos codificados del indicador de ON/OFF en el flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir el indicador de ON/OFF anteriormente mencionado, y usar el indicador de ON/OFF anteriormente mencionado. Pudiendo de este modo controlar de manera adaptativa el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (4) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (5) para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
Tal como puede observarse a partir de la descripción anterior, cada una de las partes de intra-predicción 4 y 34 según esta realización 2 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, para cada una de un número predeterminado de filas que se extienden horizontalmente, numerándose las filas desde la que está en el extremo superior del bloque de predicción, añade un valor proporcional a un cambio en la dirección horizontal de los valores de luminancia de los píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, y, para cada una de las filas restantes en el bloque de predicción, determina el valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder mejorar la eficiencia de predicción de la predicción horizontal al tiempo que se reduce el aumento de la cantidad de cálculo. Además, cada una de las partes de intrapredicción 4 y 34 según esta realización 2 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, para cada una de un número predeterminado de columnas que se extienden verticalmente, numerándose las columnas desde la que está en el extremo izquierdo del bloque de predicción, añade un valor proporcional a un cambio en la dirección vertical de los valores de luminancia de los píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia de un píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, y, para cada una de las columnas restantes en el bloque de predicción, determina el valor de luminancia de un píxel adyacente a la parte superior del bloque de predicción como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder mejorar la eficiencia de predicción de la predicción vertical al tiempo que se reduce el aumento de la cantidad de cálculo.
Realización 3.
Un diagrama de bloques que muestra la estructura de un dispositivo de codificación de imágenes en movimiento según esta realización 3 es el mismo que el de la figura 1 mostrado en la realización 1 anteriormente mencionada, y un diagrama de bloques que muestra la estructura de un dispositivo de decodificación de imágenes en movimiento según esta realización 3 es el mismo que el de la figura 3 mostrado en la realización 1 anteriormente mencionada.
A continuación, se explicarán los funcionamientos del dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. En esta realización 3, se explicará un caso en el que el dispositivo de codificación de imágenes en movimiento recibe cada imagen de trama de un vídeo como imagen introducida, lleva a cabo una intra-predicción a partir de píxeles adyacentes ya codificados o una predicción con compensación de movimiento entre tramas adyacentes, y lleva a cabo un procedimiento de compresión con una 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 flujo de bits, y el dispositivo de decodificación de imágenes en movimiento decodifica el flujo de bits emitido a partir del dispositivo de codificación de imágenes en movimiento.
El dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 está caracterizado porque el dispositivo de codificación de imágenes en movimiento está adaptado para cambios locales de una señal de vídeo en una dirección de espacio y en una dirección de tiempo, divide la señal de vídeo en bloques que tienen diversos tamaños, y lleva a cabo codificación adaptativa intra-trama e inter-trama. En general, la señal de vídeo tiene una característica de su complejidad que varía localmente en el espacio y en el tiempo. Puede haber un caso en el que un patrón que tiene una característica de señal 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 pequeña región de imagen, tal como una imagen de persona o una imagen que incluye una textura fina, también coexiste en una determinada trama de vídeo desde el punto de vista del espacio. También desde el punto de vista del tiempo, una región de imagen relativamente grande, tal como una imagen de cielo o una imagen de pared, tiene un pequeño cambio local en una dirección de tiempo en su patrón, mientras que una imagen de una persona u objeto en movimiento tiene un cambio temporal más grande porque su contorno tiene un movimiento de un cuerpo rígido y un movimiento un cuerpo no rígido con respecto al tiempo.
Aunque en el procedimiento de codificación se lleva a cabo un procedimiento de generar una señal de diferencia de predicción que tiene una pequeña potencia de señal y pequeña entropía usando una predicción temporal y espacial, reduciendo de ese modo la cantidad de código total, la cantidad de código de un parámetro usado para la predicción puede reducirse siempre que el parámetro pueda aplicarse de manera uniforme a una región de señal de imagen lo más grande posible. Por otro lado, dado que la cantidad de errores que se producen en la predicción aumenta cuando se aplica el mismo parámetro de predicción a una región de imagen grande en un patrón de señal de imagen que tiene un gran cambio en el tiempo y el espacio, la cantidad de código de la señal de diferencia de predicción aumenta. Por tanto, es deseable aplicar el mismo parámetro de predicción a una región de imagen que tiene un gran cambio en el tiempo y el espacio para reducir el tamaño de bloque de un bloque que se somete al procedimiento de predicción, aumentando de ese modo el volumen de datos del parámetro que se usa para la predicción y reduciendo la potencia eléctrica y entropía de la señal de diferencia de predicción.
En esta realización 3, se proporciona una estructura de, con el fin de llevar a cabo una codificación que está adaptada para tales características típicas de una señal de vídeo, empezar, en primer lugar, el procedimiento de predicción y así sucesivamente a partir de un tamaño de bloque máximo predeterminado, dividir jerárquicamente la región de la señal de vídeo en bloques, y adaptar el procedimiento de predicción y el procedimiento de codificación de codificar la diferencia de predicción a cada uno de los bloques divididos.
Una señal de vídeo que tiene un formato que va a procesarse por el dispositivo de codificación de imágenes en movimiento de la figura 1 puede ser una señal de y Uv que consiste en una señal de luminancia y dos señales de diferencia de color o una señal de imagen de vídeo a color en un espacio de color arbitrario, tal como una señal de RGB, emitida a partir de un sensor de imagen digital, una señal de imagen monocromática o una señal de imagen de infrarrojos, o una señal de vídeo arbitraria en la que cada trama de vídeo consiste en una serie de muestras digitales (píxeles) en dos dimensiones, horizontal y vertical. La gradación de cada píxel puede ser una de 8 bits, 10 bits o 12 bits.
En la siguiente explicación, por motivos de conveniencia, la señal de vídeo de la imagen introducida es una señal de YUV a menos que se especifique lo contrario. Además, se describirá un caso en el que se manipulan señales que tienen un formato de 4:2:0 que se submuestrean como las dos componentes de diferencia de color U y V con respecto a la componente de luminancia Y. Además, una unidad de datos que va a procesarse que corresponde a cada trama de la señal de vídeo se denomina “imagen”. En esta realización 3, aunque se explica una “imagen” como señal de trama de vídeo en la que se lleva a cabo un barrido progresivo, una “imagen” puede ser una señal de imagen de campo que es una unidad que construye una trama de vídeo cuando la señal de vídeo es una señal entrelazada.
En primer lugar, se explicará el procesamiento llevado a cabo por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1. En primer lugar, una parte de control de codificación 2 determina el tamaño de cada bloque de codificación más grande que se usa para la codificación de una imagen (imagen actual) que es el objetivo que va a codificarse, y un límite superior sobre el número de capas jerárquicas en las que se divide cada bloque de codificación más grande (etapa ST1 de la figura 2). Como método de determinar el tamaño de cada bloque de codificación más grande, por ejemplo, hay un método de determinar el mismo tamaño para todas las imágenes según la resolución de la señal de vídeo de la imagen introducida, y un método de cuantificar una variación en la complejidad de un movimiento local de la señal de vídeo de la imagen introducida como parámetro y después determinar un tamaño pequeño para una imagen que tiene un movimiento grande y vigoroso mientras que se determina un tamaño grande para una imagen que tiene un movimiento pequeño. Como método de determinar el límite superior en el número de capas jerárquicas divididas, por ejemplo, hay un método de determinar la misma profundidad de jerarquía, es decir, el mismo número de capas jerárquicas para todas las imágenes según la resolución de la señal de vídeo de la imagen introducida, y un método de aumentar la profundidad de la jerarquía, es decir, el número de capas jerárquicas para hacer que sea posible detectar un movimiento más fino cuando la señal de vídeo de la imagen introducida tiene un movimiento grande y vigoroso, o reducir el número de capas jerárquicas cuando la señal de vídeo de la imagen introducida tiene un movimiento pequeño.
La parte 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 que se divide jerárquicamente la imagen introducida a partir de uno o más modos de codificación disponibles (etapa ST2). Más específicamente, la parte de control de codificación 2 divide jerárquicamente cada una de las regiones de imagen que tienen, cada una, 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 alcanza el límite superior predeterminado sobre el número de capas jerárquicas divididas, 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 intra-codificación (denominados de manera genérica “INTRA”) o uno o más modos de inter-codificación (denominados de manera genérica “INTER”), y la parte 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 que está procesándose actualmente o un subconjunto de estos modos de codificación.
Cada uno de los bloques de codificación en los que se divide jerárquicamente la imagen introducida se divide adicionalmente en uno o más bloques de predicción, cada uno de los cuales es una unidad para procedimiento de predicción, por una parte de división de bloques 1 que se mencionará más adelante. El estado de división de cada uno de los bloques de codificación en uno o más bloques de predicción también se incluye como información en la información de modo de codificación. Aunque se omitirá una explicación detallada del método de selección de seleccionar un modo de codificación para su uso en la parte de control de codificación 2 porque el método de selección es una técnica conocida, hay un método de llevar a cabo un procedimiento de codificación en el bloque de codificación usando un modo de codificación disponible arbitrario para examinar la eficiencia de codificación y seleccionar un modo de codificación que tiene el nivel más alto de eficiencia de codificación de entre una pluralidad de modos de codificación disponibles, por ejemplo.
La parte de control de codificación 2 determina además un parámetro de cuantificación y un tamaño de bloque de transformación que se usan cuando se comprime una imagen de diferencia para cada uno de los bloques de codificación, y también determina parámetros de predicción (parámetros de intra-predicción o parámetros de inter­ predicción) que se usan cuando se lleva a cabo un procedimiento de predicción. Cuando cada uno de los bloques de codificación se divide adicionalmente en una o más unidades de bloque de predicción en cada una de las cuales se lleva a cabo un procedimiento de predicción, la parte de control de codificación puede seleccionar parámetros de predicción (parámetros de intra-predicción o parámetros de inter-predicción) para cada bloque de predicción. Además, en un bloque de codificación en el que el modo de codificación es un modo de intra-codificación, dado que se usan píxeles ya codificados adyacentes a cada bloque de predicción cuando se lleva a cabo un procedimiento de intra-predicción en el bloque de predicción, tal como se mencionará más adelante, la parte de control de codificación necesita llevar a cabo la codificación en cada bloque de predicción. Por tanto, el tamaño de bloque de transformación que puede seleccionarse está limitado al tamaño del bloque de predicción o menos. La parte de control de codificación 2 emite 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 una parte de transformación/cuantificación 7, una parte de cuantificación inversa/transformación inversa 8 y una parte de codificación de longitud variable 13. La parte de control de codificación 2 también emite los parámetros de intra-predicción a una parte de intrapredicción 4 según se necesite. La parte de control de codificación 2 también emite los parámetros de inter­ predicción a una parte de predicción con compensación de movimiento 5 según se necesite. Cuando se recibe la señal de vídeo de la imagen introducida, la parte de división de bloques 1 divide la señal de vídeo de la imagen introducida en bloques que tienen cada uno el tamaño de bloque de codificación más grande determinado por la parte de control de codificación 2, y divide adicionalmente cada uno de los bloques de codificación más grandes, en los que se divide la imagen introducida, jerárquicamente en bloques de codificación que se determinan por la parte de control de codificación 2 y emite cada uno de los bloques de codificación.
La figura 5 es un dibujo explicativo que muestra un ejemplo en el que cada bloque de codificación más grande se divide jerárquicamente en una pluralidad de bloques de codificación. Haciendo referencia a la figura 5, cada bloque de codificación más grande es un bloque de codificación cuya componente de luminancia, que se muestra por la “0-ésima capa jerárquica”, tiene un tamaño de (L0, M0). Llevando a cabo la división jerárquica estableciéndose este bloque de codificación más grande como punto de partida hasta que la profundidad de la jerarquía alcanza una profundidad predeterminada que se establece por separado según una estructura de árbol cuaternario, pueden adquirirse los bloques de codificación. A 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 Mn puede ser igual que o diferente de Ln, en la figura 5 se muestra el caso de Ln=Mn.
A continuación en el presente documento, el tamaño de bloque de codificación determinado por la parte de control de codificación 2 se define como el tamaño de (Ln, Mn) en la componente de luminancia de cada bloque de codificación. Con el fin de llevar a cabo una división de árbol cuaternario, siempre se establece (Ln+1, Mn+1) = (Ln/2, Mn/2). En el caso de una señal de imagen de vídeo a color (formato de 4:4:4) en la que todas las componentes de color tienen el mismo número de muestras, tal como una señal de RGB, todas las componentes de color tienen un tamaño de (Ln, Mn), mientras que, en el caso de manipular un formato de 4:2:0, una componente de diferencia de color correspondiente tiene un tamaño de bloque de codificación de (Ln/2, Mn/2).
A continuación en el presente documento, cada bloque de codificación en la n-ésima capa jerárquica se expresa como Bn, y un modo de codificación que puede seleccionarse para cada bloque de codificación Bn se expresa como m(Bn). En el caso de una señal de vídeo a color que consiste en una pluralidad de componentes de color, el modo de codificación m(Bn) puede estar configurado de tal manera que se usa un modo individual para cada una de las componentes de color, o puede estar configurado de tal manera que se usa un modo común para todas las componentes de color. A continuación en el presente documento, se realizará una explicación suponiendo que el modo de codificación indica aquel para la componente de luminancia de un bloque de codificación que 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 que muestran, cada uno, una unidad de predicción por la parte de división de bloques 1, tal como se muestra en la figura 6. A continuación en el presente documento, cada bloque de predicción perteneciente a un bloque de codificación Bn se expresa como Pin (i muestra un número de bloque de predicción en la n-ésima capa jerárquica). En la figura 5 se muestra un ejemplo de P00 y P10. Cómo se lleva a cabo la división de cada bloque de codificación Bn en uno o más bloques de predicción se incluye como información en el modo de codificación m(Bn). Aunque se lleva a cabo el procedimiento de predicción en cada uno de todos los bloques de predicción Pin según el modo de codificación m(Bn), pueden seleccionarse parámetros de predicción individuales (parámetros de intra-predicción o parámetros de inter-predicción) para cada bloque de predicción Pin.
La parte de control de codificación 2 genera un estado de división de bloques tal como se muestra en la figura 6 para cada bloque de codificación más grande, y después especifica bloques de codificación. Cada rectángulo encerrado por una línea discontinua mostrado en la figura 6(a) muestra un bloque de codificación, y cada bloque relleno con líneas de sombreado en cada bloque de codificación muestra un estado de división de un bloque de predicción. La figura 6(b) muestra una situación en la que se asignan modos de codificación m(Bn) respectivamente a los bloques de predicción en el ejemplo de la figura 6(a) según la división de capas jerárquicas usando un gráfico de árbol cuaternario. Cada nodo encerrado por □ mostrado en la figura 6(b) es un nodo (bloque de codificación) al que se asigna un modo de codificación m(Bn). Se emite información sobre este gráfico de árbol cuaternario a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13 junto con el modo de codificación m(Bn) y se multiplexa en el flujo de bits.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de intracodificación (en el caso de m(Bn)eINTRA), un interruptor de selección 3 emite el bloque de codificación Bn emitido a partir de la parte de división de bloques 1 a la parte de intra-predicción 4. En cambio, cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de inter-codificación (en el caso de m(Bn)e INTER), el interruptor de selección emite el bloque de codificación Bn emitido a partir de la parte de división de bloques 1 a la parte de predicción con compensación de movimiento 5.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de intracodificación (en el caso de m(Bn)eINTRA), y la parte de intra-predicción 4 recibe el bloque de codificación Bn a partir del interruptor de selección 3 (etapa ST3), la parte de intra-predicción 4 lleva a cabo el procedimiento de intra-predicción en cada bloque de predicción Pin en el bloque de codificación Bn usando los parámetros de intrapredicción determinados por la parte de control de codificación 2 al tiempo que se hace referencia a una imagen decodificada local almacenada en una memoria 10 para intra-predicción para generar una imagen de intrapredicción PINTRAin (etapa ST4). Dado que el dispositivo de decodificación de imágenes en movimiento necesita generar una imagen de intra-predicción que sea completamente igual que la imagen de intra-predicción PINTRAin, los parámetros de intra-predicción usados para la generación de la imagen de intra-predicción Pintrâ se emiten a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13 y se multiplexan en el flujo de bits. Más adelante se mencionarán los detalles del procesamiento llevado a cabo por la parte de intrapredicción 4.
Cuando el modo de codificación m(Bn) determinado por la parte de control de codificación 2 es un modo de inter­ codificación (en el caso de m(Bn)e INTER), y la parte de predicción con compensación de movimiento 5 recibe el bloque de codificación Bn a partir del interruptor de selección 3 (etapa ST3), la parte de predicción con compensación de movimiento 5 compara cada bloque de predicción Pin en el bloque de codificación Bn con la imagen decodificada local en la que se realiza el procedimiento de filtrado y que está almacenada en una memoria de tramas de predicción con compensación de movimiento 12 para buscar un vector de movimiento, y lleva a cabo el procedimiento de inter-predicción en cada bloque de predicción Pin en el bloque de codificación Bn usando tanto el vector de movimiento como los parámetros de inter-predicción determinados por la parte de control de codificación 2 para generar una imagen de inter-predicción Pinterín (etapa ST5). Dado que el dispositivo de decodificación de imágenes en movimiento necesita generar una imagen de inter-predicción que sea completamente igual que la imagen de inter-predicción PiNTERin, los parámetros de inter-predicción usados para la generación de la imagen de inter-predicción PiNTERin se emiten a partir de la parte de control de codificación 2 a la parte de codificación de longitud variable 13 y se multiplexan en el flujo de bits. El vector de movimiento que busca la parte de predicción con compensación de movimiento 5 también se emite a la parte de codificación de longitud variable 13 y se multiplexa en el flujo de bits.
Cuando se recibe el bloque de codificación Bn a partir de la parte de división de bloques 1, una parte de sustracción 6 sustrae la imagen de intra-predicción PiNTRAin generada por la parte de intra-predicción 4 o la imagen de inter­ predicción PiNTERin generada por la parte de predicción con compensación de movimiento 5 a partir del bloque de predicción Pin en el bloque de codificación Bn, y emite una señal de diferencia de predicción ein que muestra el resultado de la sustracción a la parte de transformación/cuantificación 7 (etapa ST6).
Cuando se recibe la señal de diferencia de predicción ein a partir de la parte de sustracción 6, la parte de transformación/cuantificación 7 lleva a cabo un procedimiento de transformación ortogonal (por ejemplo, una DCT (transformada de coseno discreta) o un procedimiento de transformación ortogonal, tal como una transformada de KL, en el que se designan bases para una secuencia de aprendizaje específica por adelantado) en la señal de diferencia de predicción ein haciendo referencia a los parámetros de codificación de diferencia de predicción determinados por la parte de control de codificación 2 para calcular coeficientes de transformación. La parte de transformación/cuantificación 7 también cuantifica los coeficientes de transformación haciendo referencia a los parámetros de codificación de diferencia de predicción y después emite datos comprimidos que son los coeficientes de transformación cuantificados de ese modo a la parte de cuantificación inversa/transformación inversa 8 y la parte de codificación de longitud variable 13 (etapa ST7).
Cuando se reciben los datos comprimidos a partir de la parte de transformación/cuantificación 7, la parte de cuantificación inversa/transformación inversa 8 somete a cuantificación inversa los datos comprimidos haciendo referencia a los parámetros de codificación de diferencia de predicción determinados por la parte de control de codificación 2. La parte de cuantificación inversa/transformación inversa 8 también lleva a cabo un procedimiento de transformación ortogonal inversa (por ejemplo, una DCT inversa o una transformada de KL inversa) en los coeficientes de transformación que son los datos comprimidos sometidos a cuantificación inversa haciendo de ese modo referencia a los parámetros de codificación de diferencia de predicción para calcular una señal de diferencia de predicción decodificada local correspondiente a la señal de diferencia de predicción ein emitida a partir de la parte de sustracción 6 y emite la señal de diferencia de predicción decodificada local a una parte de adición 9 (etapa ST8).
Cuando se recibe la señal de diferencia de predicción decodificada local a partir de la parte de cuantificación inversa/transformación inversa 8, la parte de adición 9 añade la señal de diferencia de predicción decodificada local y la imagen de intra-predicción PINTRAin generada por la parte de intra-predicción 4 o la imagen de inter­ predicción PINTERin generada por la parte de predicción con compensación de movimiento 5 para calcular una imagen decodificada local (etapa ST9). La parte de adición 9 emite la imagen decodificada local a una parte de filtrado en bucle 11 al tiempo que almacena la imagen decodificada local en la memoria 10 para intra-predicción. Esta imagen decodificada local es una señal de imagen ya codificada que se usa en el momento de procedimientos de intra-predicción posteriores.
Cuando se recibe la imagen decodificada local a partir de la parte de adición 9, la parte de filtrado en bucle 11 lleva a cabo un procedimiento de filtrado predeterminado en la imagen decodificada local, y almacena la imagen decodificada local en la que la parte de filtrado en bucle lleva a cabo el procedimiento de filtrado en la memoria de tramas de predicción con compensación de movimiento 12 (etapa ST10). El procedimiento de filtrado por la parte de filtrado en bucle 11 puede llevarse a cabo en cada bloque de codificación más grande de la imagen decodificada local introducida o cada bloque de codificación de la imagen decodificada local introducida. Como alternativa, después de introducirse las imágenes decodificadas locales de una imagen, puede llevarse a cabo el procedimiento de filtrado en todas las imágenes decodificadas locales de la imagen de una vez. Además, como ejemplos del procedimiento de filtrado predeterminado, puede proporcionarse un procedimiento de filtrar un límite de bloque entre bloques de codificación de tal manera que la discontinuidad (ruido de bloque) en el límite no toma relevancia, un procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada local de tal manera que se minimiza un error entre la señal de vídeo mostrada en la figura 1 que es la imagen introducida y la imagen decodificada local, y así sucesivamente. Dado que la parte de filtrado en bucle 11 necesita hacer referencia a la señal de vídeo cuando se lleva a cabo el procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada local de tal manera que se minimiza un error entre la señal de vídeo mostrada en la figura 1 que es la imagen introducida y la imagen decodificada local, existe una necesidad de modificar el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 de tal manera que la señal de vídeo se introduce en la parte de filtrado en bucle 11.
El dispositivo de codificación de imágenes en movimiento lleva a cabo de manera repetida los procedimientos de las etapas ST3 a ST9 hasta que el dispositivo de codificación de imágenes en movimiento completa el procesamiento en todos los bloques de codificación Bn en los que se divide jerárquicamente la imagen introducida, y, cuando se completa el procesamiento en todos los bloques de codificación Bn, cambia a un procedimiento de la etapa ST13 (etapas ST11 y ST12).
La parte de codificación de longitud variable 13 somete a codificación de longitud variable los datos comprimidos emitidos a partir de la parte de transformación/cuantificación 7, la información de división de bloques sobre la división de cada bloque de codificación más grande (árbol cuaternario información tal como se muestra, por ejemplo, en la figura 6(b)), y el modo de codificación m(Bn) y los parámetros de codificación de diferencia de predicción, que se emiten a partir de la parte de control de codificación 2, los parámetros de intra-predicción (cuando el modo de codificación es un modo de intra-codificación) o los parámetros de inter-predicción (cuando el modo de codificación es un modo de inter-codificación) emitidos a partir de la parte de control de codificación 2, y el vector de movimiento emitido a partir de la parte de predicción con compensación de movimiento 5 (cuando el modo de codificación es un modo de inter-codificación) para generar un flujo de bits que muestra los resultados codificados de estos datos (etapa ST13).
A continuación, se explicará en detalle el procesamiento llevado a cabo por la parte de intra-predicción 4. La figura 17 es un dibujo explicativo que muestra un ejemplo de los parámetros de intra-predicción (modo de intra-predicción) que pueden seleccionarse para cada bloque de predicción P¡n en el bloque de codificación Bn. En la figura, Ni muestra el número de modos de intra-predicción. En la figura 17, se muestran modos de intra-predicción y vectores de dirección de predicción representados por cada uno de los modos de intra-predicción. En el ejemplo de la figura 17, está diseñado que un ángulo relativo entre vectores de dirección de predicción se vuelve pequeño con el aumento del número de modos de intra-predicción que pueden seleccionarse.
La parte de intra-predicción 4 lleva a cabo el procedimiento de intra-predicción en cada bloque de predicción Pin haciendo referencia a los parámetros de intra-predicción del bloque de predicción Pin para generar una imagen de intra-predicción PiNTRAin, tal como se mencionó anteriormente. A continuación en el presente documento, se explicará un intra-procedimiento de generar una señal de intra-predicción del bloque de predicción Pin en la señal de luminancia.
Se supone que el tamaño del bloque de predicción Pin es de lin*min píxeles. La figura 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 el bloque de predicción Pin en el caso de lin=min=4. Aunque (2*lin+1) píxeles ya codificados ubicados por encima del bloque de predicción Pin y (2*min) píxeles ya codificados ubicados a la izquierda del bloque de predicción Pin se establecen como píxeles usados para la predicción en el ejemplo de la figura 8, puede usarse para la predicción un número de píxeles menor que los píxeles mostrados en la figura 8. Aunque se usa una fila o columna de píxeles que son adyacentes al bloque de predicción Pin para la predicción en el ejemplo de la figura 8, pueden usarse dos filas o columnas de píxeles o tres o más filas o columnas de píxeles para la predicción.
Cuando un valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 0 (predicción plana), la parte de intra-predicción usa píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin y píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin para adquirir un valor interpolado según la distancia entre el píxel objetivo que va a predecirse en el bloque de predicción Pin y los píxeles adyacentes anteriormente mencionados como valor predicho y genera una imagen de predicción.
Cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 1 (predicción vertical), la parte de intra-predicción calcula un valor predicho de cada píxel en el bloque de predicción Pin según la siguiente ecuación (1) para generar una imagen de predicción.
S’(x ,y ) = S (x , - \ ) ( S ( - l y ) - S ( - l , - l ) ) / t ( 1 )
donde las coordenadas (x, y) son coordenadas relativas que se determinan definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen (véase la figura 9), y S’ (x, y) es el valor predicho en las coordenadas (x, y) y S(x, y) es el valor de luminancia (valor de luminancia decodificado) del píxel ya codificado en las coordenadas (x, y).
Añadiendo de ese modo un valor proporcional a (S(-1, y)-S(-1, -1)) que muestra la cantidad de cambio en una dirección vertical de los valores de luminancia de píxeles ya codificados (píxeles encerrados por un recuadro de bordes gruesos mostrados en la figura 10) adyacentes a la izquierda del bloque de predicción Pin (es decir, un valor que se obtiene ajustando a escala (S(-1, y)-S(-1,-1)) que muestra la cantidad de cambio en la dirección vertical de los valores de luminancia de los píxeles ya codificados por un factor de 1/t) al valor de luminancia S (x, -1) de un píxel ya codificado adyacente a la parte superior del bloque de predicción Pin que es un valor predicho basado en una predicción vertical convencional (Mp Eg -4 AVC/H.264) para determinar el resultado de adición como valor predicho de la imagen de predicción, puede implementarse una predicción vertical que sigue cualquier cambio del valor de luminancia en la dirección de predicción. En ese momento, cuando el valor predicho anteriormente mencionado no se encuentra dentro de un intervalo de valores que puede tener el valor de luminancia, el valor predicho anteriormente mencionado puede redondearse hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo. Actuando de esta manera, aunque la cantidad de cálculo aumenta ligeramente en una cantidad correspondiente al procedimiento de redondeo, puede suprimirse la aparición de un valor predicho que no se encuentra dentro del intervalo de valores que puede tener el valor de luminancia, y pueden reducirse los errores de predicción.
El factor anteriormente mencionado de 1/t puede ser un valor fijo o una variable que varía con las coordenadas (x, y). Por ejemplo, dado que los valores de ajuste a escala empezando por aquel para los píxeles en la columna del extremo izquierdo disminuyen de la siguiente manera: 1/2, 1/4, 1/8 y 1/16 cuando t=2x+1, tal como se muestra en la figura 11, la cantidad de cambio en la dirección vertical de los valores de luminancia que va a añadirse disminuye con la distancia desde los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin. Como resultado, dado que cuanto más larga es la distancia desde los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin, y, por tanto, menor correlación tiene con los píxeles ya codificados el píxel objetivo que va a predecirse, menos influencia de los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin puede ejercerse en el píxel objetivo que va a predecirse, puede llevarse a cabo una predicción de alta precisión según la correlación con los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin. Además, en el caso de t=2x+1, la ecuación (1) puede expresarse mediante una ecuación que muestra una operación de desplazamiento de bits, tal como se mostrará a continuación.
S'(x,y) = S(x,- l ) (S( - l , y ) - S(-l,-l)) » fx 1) ( l a )
En la ecuación (1a), “>>a” muestra una operación de realizar un desplazamiento aritmético a la derecha en unos bits. El uso de la operación de desplazamiento en vez de la división de la ecuación (1) permite que la parte de intra-predicción lleve a cabo cálculos a alta velocidad en un caso en el que la parte de intra-predicción está instalada en un ordenador. Dado que S(-1, y)-S(-1, -1) puede tener un valor negativo, “>>” se manipula no como desplazamiento aritmético sino como desplazamiento lógico, dependiendo de un entorno de implementación (compilador) y así sucesivamente, y el resultado de cálculo puede diferir del adquirido a partir de la ecuación (1). Para resolver este problema, como expresión aproximada de la ecuación (1) en el caso de t=2x+1 independiente de cualquier entorno de implementación, puede proporcionarse la siguiente ecuación (1b).
S’Xx, j ) = ^(x,-!) 5,( - l , j ) » (x l)-S (-l,- l) » (x 1) ( i b)
En la ecuación (1b), dado que se lleva a cabo una sustracción después de desplazar los valores de luminancia S(-1, y) y S(-1, -1) a la derecha en (x+1) bits, respectivamente, puede adquirirse el mismo resultado de cálculo tanto para desplazamiento aritmético como para desplazamiento lógico cuando se definen valores positivos como valores de luminancia.
Además, el tamaño de bloque del bloque de predicción Pin en el que se lleva a cabo el procedimiento de predicción basado en la ecuación (1) puede estar limitado. En general, un bloque que tiene un tamaño de bloque más grande tiene varios cambios de señal en el mismo más fácilmente, y hay pocos casos en los que el procedimiento de predicción en un bloque de este tipo puede llevarse a cabo usando una predicción direccional con un alto grado de precisión. Por tanto, por ejemplo, la ecuación (1) no se aplica a ningún bloque de predicción Pin que tiene un tamaño de bloque de 16x16 píxeles o más y se establece un valor predicho basado en una predicción vertical convencional (el valor de luminancia S (x, -1) de un píxel ya codificado adyacente a la parte superior del bloque de predicción Pin) como valor predicho de la imagen de predicción, mientras que la ecuación (1) solo se aplica a bloques que tienen cada uno un tamaño menor de 16x16 píxeles, pudiendo de ese modo suprimir el aumento de la cantidad de cálculo al tiempo que se mejora el rendimiento de predicción en comparación con el caso de usar la predicción vertical convencional.
Además, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 1 (predicción horizontal), la parte de intra-predicción calcula un valor predicho de cada píxel en el bloque de predicción Pin según la siguiente ecuación (2) para generar una imagen de predicción.
Figure imgf000027_0001
donde las coordenadas (x, y) son coordenadas relativas que se determinan definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen (véase la figura 9), y S’ (x, y) es el valor predicho en las coordenadas (x, y) y S(x, y) es el valor de luminancia (valor de luminancia decodificado) del píxel ya codificado en las coordenadas (x, y).
Añadiendo de ese modo un valor proporcional a (S(x, -1)-S(-1, -1)) que muestra la cantidad de cambio en una dirección horizontal de los valores de luminancia de píxeles ya codificados (píxeles encerrados por un recuadro de bordes gruesos mostrados en la figura 12) adyacentes a la parte superior del bloque de predicción Pin (es decir, un valor que se obtiene ajustando a escala (S(x, -1)-S(-1, -1)) que muestra la cantidad de cambio en la dirección horizontal de los valores de luminancia de píxeles ya codificados en un factor de 1/u) al valor de luminancia S (-1, y) de un píxel ya codificado adyacente a la izquierda del bloque de predicción Pin que es un valor predicho basado en una predicción horizontal convencional (MPEG-4 AVC/H.264) para determinar el resultado de adición como valor predicho de la imagen de predicción, puede implementarse una predicción horizontal que sigue cualquier cambio del valor de luminancia en la dirección de predicción. En ese momento, cuando el valor predicho anteriormente mencionado no se encuentra dentro del intervalo de valores que puede tener el valor de luminancia, el valor predicho anteriormente mencionado puede redondearse hacia abajo o hacia arriba de tal manera que se encuentra dentro del intervalo. Actuando de esta manera, aunque la cantidad de cálculo aumenta ligeramente en una cantidad correspondiente al procedimiento de redondeo, puede suprimirse la aparición de un valor predicho que no se encuentra dentro del intervalo de valores que puede tener el valor de luminancia, y pueden reducirse los errores de predicción.
El factor anteriormente mencionado de 1/u puede ser un valor fijo o puede ser una variable que varía con las coordenadas (x, y). Por ejemplo, dado que los valores de ajuste a escala empezando por aquel para los píxeles en la fila del extremo superior disminuyen de la siguiente manera: 1/2, 1/4, 1/8 y 1/16 cuando u=2y+1, tal como se muestra en la figura 13, la cantidad de cambio en la dirección horizontal de los valores de luminancia que va a añadirse disminuye con la distancia desde los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin. Como resultado, dado que cuanto más larga es la distancia desde los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin, y, por tanto, menor correlación tiene con los píxeles ya codificados el píxel objetivo que va a predecirse, menos influencia de los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin puede ejercerse en el píxel objetivo que va a predecirse, puede llevarse a cabo una predicción de alta precisión según la correlación con los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin. Además, en el caso de u=2y+1, la ecuación (2) puede expresarse mediante una ecuación que muestra una operación de desplazamiento de bits, tal como se mostrará a continuación.
Figure imgf000028_0001
En la ecuación (2a), “>>a” muestra una operación de realizar un desplazamiento aritmético a la derecha en unos bits. El uso de la operación de desplazamiento en vez de la división de la ecuación (2) permite que la parte de intra-predicción lleve a cabo cálculos a alta velocidad en un caso en el que la parte de intra-predicción está instalada en un ordenador. Dado que S(x, -1)-S(-1, -1) puede tener un valor negativo, “>>” se manipula no como desplazamiento aritmético sino como desplazamiento lógico, dependiendo de un entorno de implementación (compilador) y así sucesivamente, y el resultado de cálculo puede diferir del adquirido a partir de la ecuación (2). Para resolver este problema, como expresión aproximada de la ecuación (2) en el caso de u=2y+1 independiente de cualquier entorno de implementación, puede proporcionarse la siguiente ecuación (2b).
S\x, y) = S ( -1, y) S(x - 1 ) » O 1) - S ( - l-1) » {y +1) ( 2 b )
En la ecuación (2b), dado que se lleva a cabo una sustracción después de desplazar los valores de luminancia S (x, -1) y S (-1, -1) a la derecha en (y+1) bits, respectivamente, puede adquirirse el mismo resultado de cálculo tanto para desplazamiento aritmético como para desplazamiento lógico cuando se definen valores positivos como valores de luminancia.
Además, el tamaño de bloque del bloque de predicción Pin en el que se lleva a cabo el procedimiento de predicción basado en la ecuación (2) puede estar limitado. En general, un bloque que tiene un tamaño de bloque más grande tiene varios cambios de señal en el mismo más fácilmente, y hay pocos casos en los que el procedimiento de predicción en un bloque de este tipo puede llevarse a cabo usando una predicción direccional con un alto grado de precisión. Por tanto, por ejemplo, la ecuación (2) no se aplica a ningún bloque de predicción Pin que tiene un tamaño de bloque de 16x16 píxeles o más y se establece un valor predicho basado en una predicción horizontal convencional (el valor de luminancia S (-1, y) de un píxel ya codificado adyacente a la izquierda del bloque de predicción Pin) como valor predicho de la imagen de predicción, mientras que la ecuación (2) solo se aplica a bloques que tienen cada uno un tamaño menor de 16x16 píxeles, pudiendo de ese modo suprimir el aumento de la cantidad de cálculo al tiempo que se mejora el rendimiento de predicción en comparación con el caso de usar la predicción horizontal convencional.
Además, cuando el valor de índice que indica el modo de intra-predicción para el bloque de predicción Pin es 3 (predicción promedio (DC)), la parte de intra-predicción genera una imagen de predicción estableciendo el promedio de los píxeles ya codificados adyacentes a la parte superior del bloque de predicción Pin y los píxeles ya codificados adyacentes a la izquierda del bloque de predicción Pin como valor predicho de cada píxel en el bloque de predicción Pin. Cuando el valor de índice que indica el modo de intra-predicción es distinto de 0 (predicción plana), 1 (predicción vertical), 2 (predicción horizontal) y 3 (predicción promedio), la parte de intra-predicción genera un valor predicho de cada píxel en el bloque de predicción Pin basándose en un vector de dirección de predicción up=(dx, dy) mostrado por el valor de índice. Tal como se muestra en la figura 9, cuando las coordenadas relativas de cada píxel en el bloque de predicción Pin se expresan como (x, y) definiéndose el píxel en la esquina superior izquierda del bloque de predicción Pin como punto de origen, cada píxel de referencia que se usa para la predicción está ubicado en un punto de intersección de L mostrado a continuación y un píxel adyacente.
Figure imgf000028_0002
donde k es un valor escalar negativo.
Cuando un píxel de referencia está en una posición de píxel de número entero, el valor del píxel de número entero correspondiente se determina como valor predicho del píxel objetivo de predicción, mientras que, cuando el píxel de referencia no está en una posición de píxel de número entero, el valor de un píxel de interpolación generado a partir de los píxeles de número entero que son adyacentes al píxel de referencia se determina como valor predicho del píxel objetivo de predicción. En el ejemplo mostrado en la figura 8, dado que un píxel de referencia no está ubicado en una posición de píxel de número entero, el valor predicho se interpola a partir de los valores de dos píxeles adyacentes al píxel de referencia. La parte de intra-predicción puede usar no solo 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 valor predicho. Aunque el aumento del número de píxeles usados para el procedimiento de interpolación proporciona una ventaja de mejorar la precisión de cálculo de un píxel de interpolación, dado que el grado de complejidad de cálculos requeridos para el procedimiento de interpolación aumenta con el aumento del número de píxeles usados para el procedimiento de interpolación, es preferible generar un píxel de interpolación a partir de un número mayor de píxeles en un caso en el que el dispositivo de codificación de imágenes en movimiento requiere un alto rendimiento de codificación aunque la carga aritmética sea grande. Según el mismo procedimiento, la parte 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 Pin, y emite una imagen de intra-predicción PINTRAin. Los parámetros de intra-predicción usados para la generación de la imagen de intra-predicción PINTRAin se emiten a la parte de codificación de longitud variable 13 con el fin de multiplexar los parámetros de intra-predicción en el flujo de bits.
Como en el caso de una intra-predicción en un bloque de 8x8 píxeles en MPEG-4 AVC/H.264 explicada anteriormente, como píxeles que se usan cuando se lleva a cabo una intra-predicción, en vez de los propios píxeles en un bloque adyacente ya codificado, pueden usarse alternativamente los píxeles en los que se lleva a cabo un procedimiento de filtrado.
La parte de intra-predicción también lleva a cabo un procedimiento de intra-predicción basándose en los parámetros 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 Pin según el mismo procedimiento que aquel según el cual la parte de intra-predicción lleva a cabo el procedimiento de intra-predicción en la señal de luminancia, y emite los parámetros de intra-predicción usados para la generación de la imagen de intra-predicción a la parte de codificación de longitud variable 13. No se necesita que los parámetros de intra-predicción (modo de intra-predicción) que pueden seleccionarse para las señales de diferencia de color sean los mismos que los de la señal de luminancia, y puede usarse un método de predicción convencional (MPEG-4 AVC/H.264) para una predicción vertical y para una predicción horizontal. Por ejemplo, en el caso de un formato de 4:2:0 de YUV, cada una de las señales de diferencia de color (señales de U y V) es aquella cuya resolución se reduce hasta la mitad de la de la señal de luminancia (señal de 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 menor que la de la señal de luminancia y, por tanto, puede llevarse a cabo una predicción en cada una de las señales de diferencia de color más fácilmente que en la señal de luminancia. Por tanto, reduciendo el número de parámetros de intra-predicción que pueden seleccionarse (modo de intra-predicción) para cada una de las señales de diferencia de color para que sea menor que aquel para la señal de luminancia, y usando un método de predicción simple convencional para cada una de predicciones vertical y horizontal, puede implementarse una reducción de la cantidad de código requerida para codificar los parámetros de intra-predicción (modo de intrapredicción) y una reducción de la cantidad de cálculo requerida para llevar a cabo el procedimiento de predicción sin reducir demasiado la eficiencia de predicción.
1/t que es el valor de ajuste a escala usado para una predicción vertical y 1/u que es el valor de ajuste a escala usado para una predicción horizontal pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intrapredicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir t y u a la parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter t y u a codificación de longitud variable y después incluir datos codificados de t y u en el flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir t y u y usar t y u. Pudiendo de este modo controlar de manera adaptativa t y u para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
Además, el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (2) pueden predeterminarse entre el dispositivo de codificación de imágenes en movimiento y el dispositivo de decodificación de imágenes en movimiento. Como alternativa, la parte de intra-predicción 4 del dispositivo de codificación de imágenes en movimiento puede emitir un indicador de ON/OFF, que se establece para cada tamaño de bloque, que muestra si se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) para el tamaño de bloque a la parte de codificación de longitud variable 13 para cada secuencia o para cada imagen, la parte de codificación de longitud variable 13 puede someter a codificación de longitud variable el indicador de ON/OFF anteriormente mencionado e incluir datos codificados del indicador de ON/OFF en el flujo de bits, y el dispositivo de decodificación de imágenes en movimiento puede someter a decodificación de longitud variable los datos codificados en el flujo de bits para adquirir el indicador de ON/OFF anteriormente mencionado, y usar el indicador de ON/OFF anteriormente mencionado. Pudiendo de este modo controlar de manera adaptativa el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) y el tamaño de bloque para el que se usa una predicción horizontal basada en la ecuación (2) para cada secuencia o para cada imagen, el dispositivo de codificación de imágenes en movimiento puede hacer que el procedimiento de predicción sea más adecuado para las características de la señal de vídeo de la imagen introducida.
A continuación, se explicará concretamente el procesamiento llevado a cabo por el dispositivo de decodificación de imágenes en movimiento mostrado en la figura 3. Cuando se recibe el flujo de bits generado por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1, una parte de decodificación de longitud variable 31 lleva a cabo un procedimiento de decodificación de longitud variable en el flujo de bits (etapa ST21 de la figura 4) y decodifica la información de tamaño de trama para cada secuencia, consistiendo cada secuencia en una o más tramas de imágenes, o para cada imagen. En este momento, cuando incluso uno cualquiera del parámetro t del valor de ajuste a escala usado para una predicción vertical, el parámetro u del valor de ajuste a escala usado para una predicción horizontal, y el indicador de ON/OFF, que se establece para cada tamaño de bloque, que muestra si se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) para el tamaño de bloque, se somete a codificación de longitud variable y se multiplexa en el flujo de bits, el dispositivo de decodificación de imágenes en movimiento decodifica los datos codificados en unidades de una unidad en la que el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 lleva a cabo el procedimiento de codificación (para cada secuencia o para cada imagen).
Más específicamente, la parte de decodificación de longitud variable 31 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 parte de control de codificación 2 del dispositivo de codificación de imágenes en movimiento mostrado en la figura 1 según el mismo procedimiento que aquel según el cual lo hace el dispositivo de codificación de imágenes en movimiento (etapa ST22). Por ejemplo, cuando 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 se determinan según la resolución de la señal de vídeo, la parte de decodificación de longitud variable determina el tamaño de bloque de codificación más grande basándose en la información de tamaño de trama decodificada y según el mismo procedimiento que aquel según el cual lo hace el dispositivo de codificación de imágenes en movimiento. Cuando 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 se multiplexan en el flujo de bits por el dispositivo de codificación de imágenes en movimiento, la parte de decodificación de longitud variable usa los valores decodificados a partir del flujo de bits. A continuación en el presente documento, el tamaño de bloque de codificación más grande anteriormente mencionado se denomina tamaño de bloque de decodificación más grande, y un bloque de codificación más grande se denomina bloque de decodificación más grande en el dispositivo de decodificación de imágenes en movimiento. La parte de decodificación de longitud variable 31 decodifica el estado de división de cada bloque de decodificación más grande tal como se muestra en la figura 6 para cada bloque de decodificación más grande determinado. La parte de decodificación de longitud variable especifica jerárquicamente bloques de decodificación (es decir, bloques correspondientes a los “bloques de codificación” que se procesan por el dispositivo de codificación de imágenes en movimiento mostrado en la figura 1) basándose en el estado de división decodificado (etapa ST23).
Después, la parte de decodificación de longitud variable 31 decodifica el modo de codificación asignado a cada bloque de decodificación. La parte de decodificación de longitud variable divide cada bloque de decodificación en uno o más bloques de predicción cada uno de los cuales es una unidad para procedimiento de predicción basándose en la información incluida en el modo de codificación decodificado, y decodifica los parámetros de predicción asignados a cada uno de los uno o más bloques de predicción (etapa ST24).
Más específicamente, cuando el modo de codificación asignado a un bloque de decodificación es un modo de intra-codificación, la parte de decodificación de longitud variable 31 decodifica los parámetros de intra-predicción para cada uno de los 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 de predicción. En cambio, cuando el modo de codificación asignado a un bloque de decodificación es un modo de inter-codificación, la parte de decodificación de longitud variable decodifica los parámetros de inter-predicción y el vector de movimiento para cada uno de los 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 de predicción (etapa ST24).
La parte de decodificación de longitud variable 31 divide adicionalmente el bloque de decodificación en uno o más bloques de transformación cada uno de los cuales es una unidad para procedimiento de transformación basándose en la información de tamaño de bloque de transformación incluida en los parámetros de codificación de diferencia de predicción, y decodifica los datos comprimidos (coeficientes de transformación transformados y cuantificados) sobre cada bloque de transformación (etapa ST24).
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de intra-codificación (cuando m(Bn)eINTRA), el interruptor de selección 33 emite los parámetros de intra-predicción de cada unidad de bloque de predicción, que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31, a la parte de intra-predicción 34. En cambio, cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de inter-codificación (cuando m(Bn) e INTER), el interruptor de selección emite los parámetros de inter-predicción y el vector de movimiento de cada unidad de bloque de predicción, que se someten a decodificación de longitud variable por la parte de decodificación de longitud variable 31, a la parte de compensación de movimiento 35.
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de intra-codificación (m(Bn)eINTRA) (etapa ST25), la parte de intra-predicción 34 recibe los parámetros de intra-predicción de cada unidad de bloque de predicción emitida a partir del interruptor de selección 33, y lleva a cabo un procedimiento de intra-predicción en cada bloque de predicción Pin en el bloque de decodificación Bn usando los parámetros de intra-predicción anteriormente mencionados haciendo referencia a la imagen decodificada almacenada en la memoria 37 para intra-predicción para generar una imagen de intrapredicción PINTRAin según el mismo procedimiento que el que usa la parte de intra-predicción 4 mostrada en la figura 1 (etapa ST26). Más específicamente, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 0 (predicción vertical), la parte de intra-predicción 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin según la ecuación (1) anteriormente mencionada para generar una imagen de intra-predicción PINTRAin. Además, cuando el valor de índice que muestra el modo de intra-predicción para el bloque de predicción Pin es 1 (predicción horizontal), la parte de intra-predicción 34 calcula un valor predicho de cada píxel en el bloque de predicción Pin según la ecuación (2) anteriormente mencionada para generar una imagen de intrapredicción PintraA En este caso, cuando el tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2) está limitado, se lleva a cabo un procedimiento de intra-predicción basado en una predicción vertical u horizontal convencional (MPEG-4 AVC/H.264) en el bloque de predicción Pin cuando el bloque de predicción Pin tiene un tamaño distinto del tamaño de bloque para el que se usa una predicción vertical basada en la ecuación (1) o una predicción horizontal basada en la ecuación (2).
Cuando el modo de codificación m(Bn) sometido a decodificación de longitud variable por la parte de decodificación de longitud variable 31 es un modo de inter-codificación (m(Bn)e INTER) (etapa ST25), la parte de compensación de movimiento 35 recibe el vector de movimiento y los parámetros de inter-predicción de cada unidad de bloque de predicción que se emiten a partir del interruptor de selección 33, y lleva a cabo un procedimiento de inter­ predicción en cada bloque de predicción Pin en el bloque de decodificación usando el vector de movimiento anteriormente mencionado y los parámetros de inter-predicción anteriormente mencionados al tiempo que se hace referencia a la imagen decodificada que está almacenada en la memoria de tramas de predicción con compensación de movimiento 39 y en la que se lleva a cabo el procedimiento de filtrado para generar una imagen de inter-predicción PiNTERin (etapa ST27).
Cuando se reciben los datos comprimidos y los parámetros de codificación de diferencia de predicción a partir de la parte de decodificación de longitud variable 31, la parte de cuantificación inversa/transformación inversa 32 somete a cuantificación inversa los datos comprimidos haciendo referencia a los parámetros de codificación de diferencia de predicción según el mismo procedimiento que aquel según el cual lo hace la parte de cuantificación inversa/transformación inversa 8 mostrada en la figura 1, y también lleva a cabo un procedimiento de transformación ortogonal inversa en los coeficientes de transformación que son los datos comprimidos que la unidad de cuantificación inversa/transformación inversa somete a cuantificación inversa haciendo referencia a los parámetros de codificación de diferencia de predicción 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 emitida a partir de la parte de cuantificación inversa/transformación inversa 8 mostrada en la figura 1 (etapa ST28).
La parte de adición 36 añade la señal de diferencia de predicción decodificada calculada por la parte de cuantificación inversa/transformación inversa 32 y o bien la imagen de intra-predicción PiNTRAin generada por la parte de intra-predicción 34, o bien la imagen de inter-predicción PiNTERin generada por la parte de compensación de movimiento 35 para calcular una imagen decodificada y emitir esta imagen decodificada a la parte de filtrado en bucle 38, y también almacena la imagen decodificada en la memoria 37 para intra-predicción (etapa ST29). Esta imagen decodificada es una señal de imagen decodificada que se usa en el momento de procedimientos de intra-predicción posteriores.
Cuando se completan los procedimientos de las etapas ST23 a ST29 en todos los bloques de decodificación Bn (etapa ST30), la parte de filtrado en bucle 38 lleva a cabo un procedimiento de filtrado predeterminado en la imagen decodificada emitida a partir de la parte de adición 36, y almacena la imagen decodificada en la que la parte de filtrado en bucle lleva a cabo el procedimiento de filtrado en la memoria de tramas de predicción con compensación de movimiento 39 (etapa ST31). El procedimiento de filtrado por la parte de filtrado en bucle 38 puede llevarse a cabo en cada bloque de decodificación más grande de la imagen decodificada introducida a la misma o cada bloque de decodificación de la imagen decodificada introducida a la misma. Como alternativa, después de introducirse una imagen de imágenes decodificadas, la parte de filtrado en bucle puede llevar a cabo el procedimiento de filtrado en la imagen de imágenes decodificadas de una vez. Como ejemplos del procedimiento de filtrado predeterminado, puede proporcionarse un procedimiento de filtrar un límite de bloque entre bloques de codificación de tal manera que la discontinuidad (ruido de bloque) en el límite no toma relevancia, un procedimiento de filtrado de compensar una distorsión que se produce en la imagen decodificada, y así sucesivamente. Esta imagen decodificada es una imagen de referencia para la predicción con compensación de movimiento, y también es una imagen reproducida.
Tal como puede observarse a partir de la descripción anterior, la parte de intra-predicción 4 del dispositivo de codificación de imágenes en movimiento según esta realización 3 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior del bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder implementar una predicción de alta precisión, mejorando de ese modo la calidad de imagen, aunque el valor de señal varíe a lo largo de la dirección de predicción.
Además, la parte de intra-predicción 34 del dispositivo de decodificación de imágenes en movimiento según esta realización 3 se construye de tal manera que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno horizontal, añade un valor proporcional a un cambio en una dirección horizontal de los valores de luminancia de píxeles adyacentes a la parte superior de un bloque de predicción al valor de luminancia de un píxel adyacente a la izquierda del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción, mientras que, cuando el procedimiento de predicción intra-trama en el momento de generar una imagen de predicción es uno vertical, añade un valor proporcional a un cambio en una dirección vertical de los valores de luminancia de píxeles adyacentes a la izquierda del bloque de predicción al valor de luminancia del píxel adyacente a la parte superior del bloque de predicción para determinar el resultado de la adición como valor predicho de la imagen de predicción. Por tanto, se proporciona una ventaja de poder implementar una predicción de alta precisión, mejorando de ese modo la calidad de imagen, aunque el valor de señal varíe a lo largo de la dirección de predicción.
Según esta realización 3, dado que 1/u que es el valor de ajuste a escala usado cuando se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 está configurado de tal manera que el valor de ajuste a escala establecido para cada fila en el bloque de predicción disminuye con la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, cuanto más larga es la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, y, por tanto, menor correlación tiene con los píxeles el píxel objetivo que va a predecirse, menos influencia de los píxeles adyacentes a la parte superior del bloque de predicción puede ejercerse en el píxel objetivo que va a predecirse. Como resultado, se proporciona una ventaja de poder llevar a cabo el procedimiento de predicción con un alto grado de precisión. Además, dado que 1/t que es el valor de ajuste a escala usado cuando se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 está configurado de tal manera que el valor de ajuste a escala establecido para cada columna en el bloque de predicción disminuye con la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción, cuanto más larga es la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción, y, por tanto, menor correlación tiene con los píxeles el píxel objetivo que va a predecirse, menos influencia de los píxeles adyacentes a la izquierda del bloque de predicción puede ejercerse en el píxel objetivo que va a predecirse. Como resultado, se proporciona una ventaja de poder llevar a cabo el procedimiento de predicción con un alto grado de precisión.
En esta realización 3, se muestra el ejemplo en el que el valor de ajuste a escala establecido para la N-ésima fila en el bloque de predicción en el momento en el que se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 es 1/2N+1 (= 1/2, 1/4, 1/8, 1/16,...) y el valor de ajuste a escala establecido para la M-ésima columna en el bloque de predicción en el momento en el que se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 es 1/2M+1 (= 1/2, 1/4, 1/8, 1/16,...). Esto es tan solo un ejemplo. El valor de ajuste a escala establecido para la N-ésima fila en el bloque de predicción puede ser arbitrario en el momento en el que se lleva a cabo un procedimiento de predicción horizontal por cada una de las partes de intra-predicción 4 y 34 siempre que el valor de ajuste a escala disminuya con la distancia desde los píxeles adyacentes a la parte superior del bloque de predicción, y el valor de ajuste a escala establecido para la M-ésima columna en el bloque de predicción puede ser arbitrario en el momento en el que se lleva a cabo un procedimiento de predicción vertical por cada una de las partes de intra-predicción 4 y 34 siempre que el valor de ajuste a escala disminuya con la distancia desde los píxeles adyacentes a la izquierda del bloque de predicción.
La invención se define por las reivindicaciones adjuntas.
Aplicabilidad industrial
La presente invención es adecuada para un dispositivo de codificación de imágenes en movimiento que necesita codificar una imagen en movimiento con un alto grado de eficiencia y también es adecuada para un dispositivo de decodificación de imágenes en movimiento que necesita decodificar una imagen en movimiento que está codificada con un alto grado de eficiencia.
Explicaciones de números de referencia
1 parte de división de bloques (unidad de división de bloques), 2 parte de control de codificación (unidad de control de codificación), 3 interruptor de selección, 4 parte de intra-predicción (unidad de intra-predicción), 5 parte de predicción con compensación de movimiento (unidad de predicción con compensación de movimiento), 6 parte de sustracción (unidad de cuantificación), 7 parte de transformación/cuantificación (unidad de cuantificación), 8 parte de cuantificación inversa/transformación inversa, 9 parte de adición, 10 memoria para intra-predicción (unidad de intra-predicción), 11 parte de filtrado en bucle, 12 memoria de tramas de predicción con compensación de movimiento (unidad de predicción con compensación de movimiento), 13 parte de codificación de longitud variable (unidad de codificación de longitud variable), 31 parte de decodificación de longitud variable (unidad de decodificación de longitud variable), 32 parte de cuantificación inversa/transformación inversa (unidad de cuantificación inversa), 33 interruptor de selección, 34 parte de intra-predicción (unidad de intra-predicción), 35 parte de compensación de movimiento (unidad de predicción con compensación de movimiento), 36 parte de adición, 37 memoria para intra-predicción (unidad de intra-predicción), 38 parte de filtrado en bucle, 39 memoria de tramas de predicción con compensación de movimiento (unidad predicción con compensación de movimiento).

Claims (1)

  1. REIVINDICACIONES
    Dispositivo de decodificación de imágenes que comprende:
    una unidad de intra-predicción (34) para, cuando un modo de codificación para un bloque de codificación es un modo de intra-codificación, llevar a cabo un procedimiento de predicción intra-trama en cada uno de los bloques de procesamiento para generar un valor de predicción para cada uno de los píxeles de una imagen de predicción, siendo cada uno de dichos bloques de procesamiento dicho bloque de codificación o un sub-bloque obtenido dividiendo dicho bloque de codificación,
    en el que, cuando un parámetro de intra-predicción indica un procedimiento de predicción vertical, la unidad de intra-predicción (34) añade, en cada columna dentro de un número predeterminado de una columna o columnas desde un extremo izquierdo del bloque de procesamiento, un valor a un valor de luminancia de un píxel adyacente a la parte superior de cada uno de dichos bloques de procesamiento y establece un resultado de la adición como valor predicho de la imagen de predicción, siendo el valor proporcional a una cantidad de cambio en una dirección vertical de valores de luminancia de píxeles adyacentes a la izquierda de cada uno de dichos bloques de procesamiento, obteniéndose el valor ajustando a escala la cantidad de cambio; y
    la unidad de intra-predicción (34) establece, en columnas restantes del bloque de procesamiento, un valor de luminancia de un píxel adyacente a la parte superior del bloque de procesamiento como valor predicho de la imagen de predicción, en el que la unidad de intra-predicción (34) calcula un valor predicho de cada píxel en el bloque de procesamiento según
    Figure imgf000034_0001
    en el que S’(x, y) es el valor predicho en las coordenadas (x, y), S(x, y) es el valor de luminancia del píxel ya codificado en las coordenadas (x, y), 1/t es un valor de ajuste a escala usado para predicción vertical y B es un número entero mayor de 0.
    Dispositivo de codificación de imágenes que comprende:
    una unidad de intra-predicción (4) para, cuando un modo de codificación para un bloque de codificación es un modo de intra-codificación, llevar a cabo un procedimiento de predicción intra-trama en cada uno de los bloques de procesamiento para generar un valor de predicción para cada uno de los píxeles de una imagen de predicción, siendo cada uno de dichos bloques de procesamiento dicho bloque de codificación o un sub-bloque obtenido dividiendo dicho bloque de codificación,
    en el que, cuando un parámetro de intra-predicción indica una predicción vertical, la unidad de intrapredicción (4) añade, en cada columna dentro de un número predeterminado de una columna o columnas desde un extremo izquierdo del bloque de procesamiento, un valor a un valor de luminancia de un píxel adyacente a la parte superior de los bloques de procesamiento y establece un resultado de la adición como valor predicho, siendo el valor proporcional a una cantidad de cambio en una dirección vertical de valor de luminancia de píxeles adyacentes a la izquierda de los bloques de procesamiento, obteniéndose el valor ajustando a escala la cantidad de cambio; y
    la unidad de intra-predicción (4) establece, en columnas restantes del bloque de procesamiento, un valor de luminancia de un píxel adyacente a la parte superior del bloque de procesamiento como valor predicho de la imagen de predicción, en el que la unidad de intra-predicción (34) calcula un valor predicho de cada píxel en el bloque de procesamiento según
    Figure imgf000034_0002
    en el que S’(x, y) es el valor predicho en las coordenadas (x, y), S(x, y) es el valor de luminancia del píxel ya codificado en las coordenadas (x, y), 1/t es un valor de ajuste a escala usado para predicción vertical y B es un número entero mayor de 0.
    Método de codificación de imágenes que comprende una etapa de procesamiento de intra-predicción realizada por una unidad de intra-predicción (4), incluyendo la etapa de procesamiento de intra-predicción procedimientos de,
    cuando un modo de codificación para un bloque de codificación es un modo de intra-codificación, llevar a cabo un procedimiento de predicción intra-trama en cada uno de los bloques de procesamiento para generar un valor de predicción para cada uno de los píxeles de una imagen de predicción, siendo cada uno de dichos bloques de procesamiento dicho bloque de codificación o un sub-bloque obtenido dividiendo dicho bloque de codificación, y
    cuando un parámetro de intra-predicción indica una predicción vertical para generar el valor de predicción para cada uno de los píxeles en una o más columnas en el bloque de procesamiento, añadir, en cada columna dentro de un número predeterminado de una columna o columnas desde un extremo izquierdo del bloque de procesamiento, un valor a un valor de luminancia de un píxel adyacente a la parte superior de los bloques de procesamiento y establecer un resultado de la adición como valor predicho, siendo el valor proporcional a una cantidad de cambio en una dirección vertical de valores de luminancia de píxeles adyacentes a la izquierda de los bloques de procesamiento, obteniéndose el valor ajustando a escala la cantidad de cambio; y
    establecer, en columnas restantes del bloque de procesamiento, un valor de luminancia de un píxel adyacente a la parte superior del bloque de procesamiento como valor predicho de la imagen de predicción, en el que la unidad de intra-predicción (34) calcula un valor predicho de cada píxel en el bloque de procesamiento según
    Figure imgf000035_0001
    en el que S’(x, y) es el valor predicho en las coordenadas (x, y), S(x, y) es el valor de luminancia del píxel ya codificado en las coordenadas (x, y), 1/t es un valor de ajuste a escala usado para predicción vertical y B es un número entero mayor de 0.
    Método de decodificación de imágenes que comprende una etapa de procesamiento de intra-predicción realizada por una unidad de intra-predicción (34), incluyendo la etapa de procesamiento de intrapredicción procedimientos de,
    cuando un modo de codificación para un bloque de codificación es un modo de intra-codificación, llevar a cabo un procedimiento de predicción intra-trama en cada uno de los bloques de procesamiento para generar un valor de predicción para cada uno de los píxeles de una imagen de predicción, siendo cada uno de dichos bloques de procesamiento dicho bloque de codificación o un sub-bloque obtenido dividiendo dicho bloque de codificación, y
    cuando un parámetro de intra-predicción indica un procedimiento de predicción vertical, añadir, en cada columna dentro de un número predeterminado de una columna o columnas desde un extremo izquierdo del bloque de procesamiento, un valor a un valor de luminancia de un píxel adyacente a la parte superior de los bloques de procesamiento y establecer un resultado de la adición como valor predicho de la imagen de predicción, siendo el valor proporcional a una cantidad de cambio en una dirección vertical de valores de luminancia de píxeles adyacentes a la izquierda de los bloques de procesamiento; y
    establecer, en columnas restantes del bloque de procesamiento, un valor de luminancia de un píxel adyacente a la parte superior del bloque de procesamiento como valor predicho de la imagen de predicción, en el que la unidad de intra-predicción (34) calcula un valor predicho de cada píxel en el bloque de procesamiento según
    Figure imgf000035_0002
    en el que S’(x, y) es el valor predicho en las coordenadas (x, y), S(x, y) es el valor de luminancia del píxel ya codificado en las coordenadas (x, y), 1/t es un valor de ajuste a escala usado para predicción vertical y B es un número entero mayor de 0.
ES12801936T 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes Active ES2869201T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011140598 2011-06-24
JP2012009115 2012-01-19
PCT/JP2012/003555 WO2012176381A1 (ja) 2011-06-24 2012-05-30 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Publications (1)

Publication Number Publication Date
ES2869201T3 true ES2869201T3 (es) 2021-10-25

Family

ID=47422246

Family Applications (4)

Application Number Title Priority Date Filing Date
ES14182010T Active ES2869204T3 (es) 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes
ES21160199T Active ES2961890T3 (es) 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes en movimiento, dispositivo de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
ES12801936T Active ES2869201T3 (es) 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes
ES21160216T Active ES2961936T3 (es) 2011-06-24 2012-05-30 Aparato de codificación de imágenes en movimiento, aparato de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES14182010T Active ES2869204T3 (es) 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes
ES21160199T Active ES2961890T3 (es) 2011-06-24 2012-05-30 Dispositivo de codificación de imágenes en movimiento, dispositivo de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES21160216T Active ES2961936T3 (es) 2011-06-24 2012-05-30 Aparato de codificación de imágenes en movimiento, aparato de decodificación de imágenes en movimiento, método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento

Country Status (15)

Country Link
US (6) US9723316B2 (es)
EP (6) EP3849187B1 (es)
JP (6) JP5389297B2 (es)
KR (6) KR101821867B1 (es)
CN (5) CN106791880B (es)
BR (1) BR112013031133B1 (es)
CA (5) CA3208227A1 (es)
ES (4) ES2869204T3 (es)
HK (1) HK1232359A1 (es)
MX (3) MX343503B (es)
PL (2) PL3849187T3 (es)
RU (5) RU2547457C1 (es)
SG (5) SG10201902300VA (es)
TW (5) TWI571112B (es)
WO (1) WO2012176381A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101474756B1 (ko) * 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20120140181A (ko) 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US10306222B2 (en) * 2011-06-20 2019-05-28 Hfi Innovation Inc. Method and apparatus of directional intra prediction
EP3849187B1 (en) * 2011-06-24 2023-09-20 Mitsubishi Electric Corporation Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method and moving image decoding method
CN110830799B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
CA2821830A1 (en) 2012-02-23 2013-08-23 Square Enix Holdings Co., Ltd. Moving image distribution server, moving image playback apparatus, control method, program, and recording medium
WO2013153787A1 (ja) 2012-04-12 2013-10-17 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
CN107005707A (zh) * 2014-10-31 2017-08-01 三星电子株式会社 用于对图像进行编码或解码的方法和装置
WO2016072777A1 (ko) * 2014-11-06 2016-05-12 삼성전자 주식회사 인트라 결합 예측 부호화, 복호화 방법 및 장치
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US9743092B2 (en) * 2015-10-13 2017-08-22 Nokia Technologies Oy Video coding with helper data for spatial intra-prediction
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
DE112017006638B4 (de) * 2016-12-28 2023-05-11 Arris Enterprises Llc Verbesserte Videobitstromkodierung
WO2018229327A1 (en) * 2017-06-16 2018-12-20 Nokia Technologies Oy A method and an apparatus and a computer program product for video encoding and decoding
JP2019041165A (ja) * 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム
KR20240011241A (ko) * 2017-12-08 2024-01-25 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코딩 장치, 이미지 디코딩 장치, 이미지 인코딩 방법 및 이미지 디코딩 방법
WO2020002373A1 (en) * 2018-06-27 2020-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Contour mode prediction
WO2021018081A1 (en) * 2019-07-26 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Configurable coding tree unit size in video coding
WO2021018083A1 (en) 2019-07-26 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Block size dependent use of video coding mode
EP4022904A4 (en) * 2019-09-20 2023-05-31 Huawei Technologies Co., Ltd. INTRA PREDICTION METHOD AND APPARATUS

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689454B2 (ja) 1995-06-22 2005-08-31 キヤノン株式会社 画像符号化装置及び方法
EP0750428B1 (en) 1995-06-22 2004-03-31 Canon Kabushiki Kaisha Image processing apparatus and method
RU2314656C2 (ru) * 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
CN1934871B (zh) * 2003-08-25 2011-08-10 新加坡科技研究局 在视频编码中对帧间预测进行模式判定的方法和系统
JP4310697B2 (ja) * 2004-04-20 2009-08-12 ソニー株式会社 信号処理装置および方法、記録媒体、並びにプログラム
WO2005107267A1 (ja) * 2004-04-28 2005-11-10 Hitachi, Ltd. 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
KR100813958B1 (ko) * 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
JP2006157481A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像符号化装置及びその方法
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
JP2006254232A (ja) * 2005-03-11 2006-09-21 Toshiba Corp 情報処理装置およびプログラム
JP4600315B2 (ja) * 2006-03-01 2010-12-15 ソニー株式会社 カメラ装置の制御方法及びこれを用いたカメラ装置
CN101449585A (zh) * 2006-03-30 2009-06-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
US8270490B2 (en) * 2006-07-06 2012-09-18 Canon Kabushiki Kaisha Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program
FR2908007A1 (fr) * 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
JP4707118B2 (ja) * 2007-03-28 2011-06-22 株式会社Kddi研究所 動画像符号化装置および動画像復号装置のイントラ予測方式
US20090003449A1 (en) * 2007-06-28 2009-01-01 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
RU2496252C2 (ru) 2007-06-29 2013-10-20 Шарп Кабусики Кайся Устройство кодирования изображения, способ кодирования изображения, устройство декодирования изображения, способ декодирования изображения, программа и запоминающий носитель
US9008173B2 (en) 2007-10-15 2015-04-14 Nippon Telegraph And Telephone Corporation Image encoding and decoding apparatuses, image encoding and decoding methods, programs thereof, and recording media recorded with the programs
EP2220869A1 (en) * 2007-12-21 2010-08-25 Telefonaktiebolaget LM Ericsson (publ) Improved pixel prediction for video coding
CN101217669A (zh) * 2008-01-15 2008-07-09 北京中星微电子有限公司 帧内预测方法及装置
KR101291196B1 (ko) * 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
EP2924994B1 (en) 2008-05-07 2016-09-21 LG Electronics, Inc. Method and apparatus for decoding video signal
KR101379187B1 (ko) * 2008-06-23 2014-04-15 에스케이 텔레콤주식회사 블록 변환을 이용한 인트라 예측 방법 및 장치와 그를이용한 영상 부호화/복호화 방법 및 장치
WO2010102935A1 (en) * 2009-03-09 2010-09-16 Thomson Licensing Estimation of the prediction mode for the intra coding mode
CN101600116A (zh) * 2009-03-11 2009-12-09 北京中星微电子有限公司 一种帧内预测方法及装置
CN101964906B (zh) * 2009-07-22 2012-07-04 北京工业大学 基于纹理特性的快速帧内预测方法和装置
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
WO2011049119A1 (ja) 2009-10-20 2011-04-28 シャープ株式会社 動画像符号化装置、動画像復号装置、動画像符号化・復号システム、動画像符号化方法および動画像復号方法
KR101487687B1 (ko) * 2010-01-14 2015-01-29 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
CN101895755B (zh) * 2010-07-20 2012-10-03 杭州电子科技大学 一种快速4x4块帧内预测模式选择方法
CN101895761B (zh) * 2010-07-29 2013-01-23 江苏大学 一种快速帧内预测算法
RU2544799C2 (ru) 2010-09-30 2015-03-20 Мицубиси Электрик Корпорейшн Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
CN105959706B (zh) 2011-01-12 2021-01-08 三菱电机株式会社 图像编码装置和方法、以及图像译码装置和方法
US10306222B2 (en) 2011-06-20 2019-05-28 Hfi Innovation Inc. Method and apparatus of directional intra prediction
EP3849187B1 (en) 2011-06-24 2023-09-20 Mitsubishi Electric Corporation Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method and moving image decoding method

Also Published As

Publication number Publication date
JP5752204B2 (ja) 2015-07-22
US11006125B2 (en) 2021-05-11
JP6261660B2 (ja) 2018-01-17
EP4266683A3 (en) 2023-12-20
CA3073053C (en) 2021-11-16
EP2824926B1 (en) 2021-04-14
PL3849186T3 (pl) 2024-01-03
KR20140007074A (ko) 2014-01-16
US20230224477A1 (en) 2023-07-13
SG10202011514QA (en) 2021-01-28
RU2699256C1 (ru) 2019-09-04
ES2961890T3 (es) 2024-03-14
TW201717645A (zh) 2017-05-16
KR101821867B1 (ko) 2018-01-24
KR101795332B1 (ko) 2017-11-07
EP4254952A3 (en) 2023-12-20
KR20170124634A (ko) 2017-11-10
MX2013014581A (es) 2014-03-31
BR112013031133B1 (pt) 2022-07-12
EP3849186A1 (en) 2021-07-14
CA3011659C (en) 2020-04-07
RU2700396C1 (ru) 2019-09-16
CA2833902C (en) 2018-09-04
TWI645717B (zh) 2018-12-21
JP2014147122A (ja) 2014-08-14
RU2547457C1 (ru) 2015-04-10
CN106791880A (zh) 2017-05-31
CA3208227A1 (en) 2012-12-27
JPWO2012176381A1 (ja) 2015-02-23
KR20180099950A (ko) 2018-09-05
RU2678497C2 (ru) 2019-01-29
US20210227230A1 (en) 2021-07-22
RU2699411C1 (ru) 2019-09-05
KR20140096394A (ko) 2014-08-05
KR20150061015A (ko) 2015-06-03
BR112013031133A2 (pt) 2017-03-21
CN106791880B (zh) 2020-03-10
CN103503457A (zh) 2014-01-08
PL3849187T3 (pl) 2024-01-29
KR101921781B1 (ko) 2018-11-23
TWI643494B (zh) 2018-12-01
CA3128548C (en) 2023-10-17
CN106658013B (zh) 2019-07-19
CN103503457B (zh) 2017-02-08
SG10201406891TA (en) 2014-11-27
CA3011659A1 (en) 2012-12-27
CN106686382A (zh) 2017-05-17
RU2014143010A3 (es) 2018-07-19
EP3849187B1 (en) 2023-09-20
MX2020010376A (es) 2020-10-22
JP2014103678A (ja) 2014-06-05
KR101895744B1 (ko) 2018-10-04
EP4266683A2 (en) 2023-10-25
SG10201902297VA (en) 2019-04-29
US11632556B2 (en) 2023-04-18
EP3849187A1 (en) 2021-07-14
KR101565228B1 (ko) 2015-11-02
TW201717644A (zh) 2017-05-16
RU2014143010A (ru) 2016-05-20
US20180343454A1 (en) 2018-11-29
CN106507109B (zh) 2019-05-10
JP5389297B2 (ja) 2014-01-15
SG10201902274SA (en) 2019-04-29
JP5762596B2 (ja) 2015-08-12
CN106507109A (zh) 2017-03-15
CN106686382B (zh) 2019-06-18
TW201717643A (zh) 2017-05-16
CA3128548A1 (en) 2012-12-27
JP2014003721A (ja) 2014-01-09
US20200068204A1 (en) 2020-02-27
US11876979B2 (en) 2024-01-16
TWI600317B (zh) 2017-09-21
TW201603565A (zh) 2016-01-16
US10237560B2 (en) 2019-03-19
ES2961936T3 (es) 2024-03-14
WO2012176381A1 (ja) 2012-12-27
JP2015164346A (ja) 2015-09-10
US20170295377A1 (en) 2017-10-12
TW201313032A (zh) 2013-03-16
MX347117B (es) 2017-04-11
EP2725795A1 (en) 2014-04-30
HK1232359A1 (zh) 2018-01-05
TWI571112B (zh) 2017-02-11
EP2725795A4 (en) 2014-11-26
JP2016197883A (ja) 2016-11-24
JP5992070B2 (ja) 2016-09-14
TWI508566B (zh) 2015-11-11
EP2824926A1 (en) 2015-01-14
ES2869204T3 (es) 2021-10-25
JP5744168B2 (ja) 2015-07-01
EP2725795B1 (en) 2021-04-14
US9723316B2 (en) 2017-08-01
EP3849186B1 (en) 2023-09-20
CA3073053A1 (en) 2012-12-27
KR20160118380A (ko) 2016-10-11
MX343503B (es) 2016-11-07
CN106658013A (zh) 2017-05-10
EP4254952A2 (en) 2023-10-04
US20140064368A1 (en) 2014-03-06
SG10201902300VA (en) 2019-04-29
CA2833902A1 (en) 2012-12-27
US10511840B2 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
ES2869201T3 (es) Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes, método de decodificación de imágenes
RU2674306C1 (ru) Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
RU2703229C1 (ru) Устройство декодирования изображений, устройство кодирования изображений, способ декодирования изображений и способ кодирования изображений
RU2649775C1 (ru) Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
BR112015030508B1 (pt) Dispositivos e métodos de codificação de imagem e de decodificação de imagem
BR112015025113B1 (pt) Dispositivo de decodificação de imagem a cores, e, método de decodificação de imagem a cores
JP2013098713A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法