ES2794582T3 - Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes - Google Patents

Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes Download PDF

Info

Publication number
ES2794582T3
ES2794582T3 ES17188018T ES17188018T ES2794582T3 ES 2794582 T3 ES2794582 T3 ES 2794582T3 ES 17188018 T ES17188018 T ES 17188018T ES 17188018 T ES17188018 T ES 17188018T ES 2794582 T3 ES2794582 T3 ES 2794582T3
Authority
ES
Spain
Prior art keywords
prediction
image
unit
color difference
motion vector
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
ES17188018T
Other languages
English (en)
Inventor
Takeshi Chujoh
Tomoo Yamakage
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of ES2794582T3 publication Critical patent/ES2794582T3/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

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

Abstract

Un procedimiento de decodificación que comprende: determinar, mediante una unidad (302) de decodificación, un modo de predicción según un modo de fusión, especificando el modo de predicción una primera predicción usando una primera imagen de referencia, una segunda predicción usando una segunda imagen de referencia, o una bipredicción usando la primera imagen de referencia y la segunda imagen de referencia, adquirir, mediante una unidad (110) de generación, una o más imágenes de referencia; interpolar, mediante la unidad (110) de generación, cada uno de un componente de luminancia y un componente de diferencia de color en la imagen o imágenes de referencia para generar una imagen de predicción; en el que la generación de la imagen de predicción para el componente de diferencia de color incluye cambiar, mediante la unidad (110) de generación, un modo de predicción desde la bi-predicción hasta la primera predicción si el tamaño de un bloque de predicción determinado por un ancho y una altura del bloque de predicción es igual o menor que un valor predeterminado y si el modo de predicción especifica la bipredicción.

Description

DESCRIPCIÓN
Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes
Campo
Las realizaciones de la presente invención se refieren a un procedimiento de decodificación de imágenes y un aparato de decodificación de imágenes.
Antecedentes
En una técnica de codificación y decodificación de vídeo, generalmente se ejecuta una interpolación con compensación de movimiento para cada bloque. Una señal de imagen a referir se almacena en una memoria externa;
por lo tanto, cuando la codificación y decodificación de vídeo es implementada por hardware, puede haber restricciones en la cantidad de datos leídos. Por consiguiente, cuando aumenta la cantidad de acceso a la memoria, un llamado ancho de banda de memoria, que es un cuello de botella en las operaciones de codificación y decodificación, se convierte en un problema.
En la interpolación con compensación de movimiento para cada bloque, se ejecuta un procedimiento de filtrado de interpolación que utiliza el filtro FIR (respuesta de impulso finito) en la dirección horizontal y en la dirección vertical. En el procedimiento de filtrado de interpolación, se debe acceder a un píxel fuera del bloque. Cuando el número de píxeles fuera del bloque aumenta, el ancho de banda de memoria por píxel también aumenta.
Convencionalmente, el ancho de banda de memoria por píxel se ha reducido aplicando un filtro de interpolación con una longitud de derivación corta a un bloque con un tamaño pequeño por el cual la relación de los píxeles accedidos fuera del bloque aumenta relativamente.
Lista de citas
Literatura de patentes
Referencia de patente 1: Patente Japonesa n.° 4120301
Referencia de patente 2: Hung-Chih Lin y col.: "Fast temporal prediction selection for H.264/AVC scalable video coding" Image Processing (ICIP), 2009 16th IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY,
NJ, USA, 7 de noviembre de 2009, páginas 3425-3428.
Sumario
Problema técnico
Sin embargo, en la técnica convencional, el ancho de banda de la memoria no se puede reducir adecuadamente. Por ejemplo, en el caso del formato del croma, como 4 : 2 : 0 o 4 : 2 : 2, en el que el número de muestras del píxel para una diferencia de color (componente de diferencia de color) es menor que el número de muestras del píxel para luminancia (componente de luminancia), y la resolución es baja, la interpolación debe ejecutarse de tal manera que la diferencia de color se amplíe más y la luminancia se defina como una referencia. Por lo tanto, cuando el filtro con toques más largos que dos toques se usa para la interpolación para la diferencia de color, el procedimiento para la señal de diferencia de color no puede restringirse, incluso si el procedimiento se cambia por bloque de luminancia.
Solución al problema
En un primer aspecto, se proporciona un procedimiento de decodificación de imágenes como se menciona en la reivindicación 1. En un segundo aspecto, se proporciona un aparato de decodificación de imágenes según la reivindicación 7,
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que ilustra un aparato de codificación de imágenes útil para entender una realización de la presente invención.
La figura 2 es una vista que ilustra un ejemplo de información de formato de croma.
La figura 3 es una vista de un vector de movimiento con una señal de diferencia de color en formato 4 : 2 : 0. La figura 4 es una vista de un vector de movimiento con una señal de luminancia en formato 4 : 2 : 0. La figura 5 es una vista de un vector de movimiento con una señal de diferencia de color en formato 4 : 2 : 2. La figura 6 es una vista de un vector de movimiento con una señal de luminancia en formato 4 : 2 : 2.
La figura 7 es una vista que ilustra un ejemplo de píxeles a los que se accede en formato 4 : 2 : 0.
La figura 8 es una vista que ilustra un ejemplo de píxeles a los que se accede en formato 4 : 2 : 0.
La figura 9 es una vista que ilustra un ejemplo de píxeles a los que se accede en formato 4 : 2 : 2.
La figura 10 es un diagrama de bloques que ilustra un aparato de decodificación de imágenes de acuerdo con una realización de la invención correspondiente al aparato de codificación de imágenes.
La figura 11 es un diagrama de bloques que ilustra una unidad de generación de imagen predichas.
La figura 12 es un diagrama de flujo de control de acuerdo con la realización.
La figura 13 es un diagrama de flujo de un procedimiento de reducir un ancho de banda de memoria.
La figura 14 es un diagrama de flujo de un procedimiento de reducir un ancho de banda de memoria.
La figura 15 es un diagrama de flujo de un procedimiento de reducir un ancho de banda de memoria.
La figura 16 es un diagrama de que ilustra una configuración de hardware del aparato acuerdo con la realización.
Descripción de realizaciones y ejemplos
Ejemplos y realizaciones preferentes del procedimiento de codificación de imágenes, el procedimiento de decodificación de imágenes, el aparato de codificación de imágenes y el aparato de decodificación de imágenes según la presente invención se describirán a continuación en detalle con referencia a los dibujos adjuntos.
El aparato de codificación de imágenes y el aparato de decodificación de imágenes descritos en el presente documento hacen un control al referirse a la información del formato de croma de modo que la posición de un píxel indicado por un vector de movimiento en un bloque que tenga un tamaño menor que un tamaño predeterminado no esté sujeto a una interpolación para una diferencia de color, reduciendo así un ancho de banda de memoria.
La figura 1 es un diagrama de bloques que ilustra un ejemplo de configuración de un aparato 100 de codificación de imagen. Tal y como se ilustra en la figura 1, el aparato 100 de codificación de imágenes incluye una unidad 102 de sustracción, una unidad 103 de transformación/cuantificación, una unidad 104 de transformación inversa/cuantificación inversa, una unidad 105 de codificación de entropía, una unidad 106 de adición, una memoria 108 de cuadro, una unidad 110 de generación de imagen predicha, una unidad 112 de control de predicción, una unidad 113 de control de codificación y una unidad 116 de búsqueda de vectores de movimiento.
El aparato 100 de codificación de imágenes genera datos 120 codificados a partir de la señal 101 de vídeo de entrada. Por ejemplo, la señal 101 de vídeo de entrada se introduce en el aparato 100 de codificación de imágenes en unidades o cuadros. La señal 101 de vídeo de entrada se divide en un bloque que es un macrobloque.
La unidad 102 de sustracción emite una señal de error de predicción que es una diferencia entre una señal 111 de imagen predicha generada por la unidad 110 de generación de imagen predicha y la señal 101 de entrada de vídeo.
La unidad 103 de transformación/cuantificación ejecuta una cuantificación después de ejecutar una transformación ortogonal en la señal de error de predicción con una transformación discreta del coseno (DCT), generando así información cuantificada del coeficiente de transformación. La información cuantificada del coeficiente de transformación se divide en dos. Una de la información dividida es la entrada a la unidad 105 de codificación de entropía. El otro es la entrada a la unidad 104 de cuantificación inversa/transformación inversa.
La unidad 104 de cuantificación inversa/transformación inversa ejecuta la cuantificación inversa y la transformación inversa en la información del coeficiente de transformación cuantificada como el procedimiento inverso al procesamiento ejecutado por la unidad 103 de transformación/cuantificación, reproduciendo así la señal de error de predicción.
La unidad 106 de adición agrega la señal de error de predicción y la señal de imagen predicha. De acuerdo con este procedimiento, se genera una señal 107 de imagen decodificada. La señal 107 de imagen decodificada se introduce en la memoria 108 de cuadro.
La memoria 108 de cuadro es una unidad de memoria que almacena en ella una señal de imagen de referencia. La memoria 108 de cuadro ejecuta un procedimiento de filtrado u otro procedimiento en la señal 107 de imagen decodificada, y luego, determina si la señal 107 de imagen decodificada se almacena o no para permitir que la señal 107 de imagen decodificada se convierta en la señal 109 de imagen de referencia introducida en la unidad 110 de generación de imagen predicha. La señal 109 de imagen de referencia se introduce en la unidad 110 de generación de imagen predicha y en la unidad 116 de búsqueda de vector de movimiento.
La unidad 116 de búsqueda de vector de movimiento genera información 117 del vector de movimiento a partir de la señal 101 de vídeo de entrada y la señal 109 de imagen de referencia. La información 117 del vector de movimiento se introduce en la unidad 110 de generación de imagen predicha, y también se transmite a la unidad 105 de codificación de entropía.
La unidad 110 de generación de imagen predicha genera la señal 111 de imagen predicha a partir de la señal 109 de imagen de referencia, la información 118 de control de predicción, y la información 117 del vector de movimiento.
La unidad 113 de control de codificación ingresa información 115 de restricción de tamaño de bloque a la unidad 112 de control de predicción, y transmite información 119 de perfil/nivel a la unidad 105 de codificación de entropía.
La información 119 de perfil/nivel incluye información de perfil que indica una combinación de grupos de herramientas de codificación, e información de nivel que es información de restricción del aparato de codificación de imágenes de acuerdo con la potencia de procesamiento del aparato de decodificación de imágenes. La información de nivel indica una combinación de restricción de un número máximo de macrobloques por hora, el número máximo de macrobloques por cuadro, el rango máximo de búsqueda de vectores y el número de vectores en dos macrobloques consecutivos.
Por ejemplo, H.264 especifica información de perfil como un perfil de línea base, un perfil principal y un perfil alto. H.264 también especifica información de 16 niveles.
En el procedimiento de decodificación de imágenes descrito, los parámetros se especifican utilizando la información de perfil/nivel. Los parámetros incluyen un parámetro que especifica si el procedimiento de reducción del ancho de banda de la memoria se aplica o no, el valor de restricción del tamaño de bloque (información 115 de restricción de tamaño de bloque) y un procedimiento de restricción. Estos parámetros pueden especificarse utilizando información diferente a la información de perfil/nivel.
La información 115 de restricción de tamaño de bloque es información que especifica un valor umbral (el valor de restricción del tamaño de bloque) utilizado para la determinación del tamaño de bloque. Por ejemplo, la unidad 113 de control de codificación establece información 115 de restricción de tamaño de bloque diferente de acuerdo con la información de perfil/nivel. La información 115 de restricción de tamaño de bloque puede incluirse en la información de perfil/nivel.
La unidad 112 de control de predicción controla la generación de imagen predicha ejecutada por la unidad 110 de generación de imagen predicha de acuerdo con la información 115 de restricción de tamaño de bloque ingresada desde la unidad 113 de control de codificación, la información 114 de formato de croma de la señal 101 de vídeo de entrada, y la información 117 del vector de movimiento ingresada desde la unidad 116 de búsqueda de vector de movimiento (el detalle se describirá más adelante). La unidad 112 de control de predicción genera la información 118 de control de predicción utilizada para el control de la generación de imagen predicha. La información 118 de control de predicción se introduce en la unidad 110 de generación de imagen predicha, y también se transmite a la unidad 105 de codificación de entropía.
La unidad 105 de codificación de entropía realiza una codificación de entropía en la información de codificación para generar los datos 120 codificados de acuerdo con una sintaxis prescrita. La información de codificación incluye, por ejemplo, la entrada de información cuantificada del coeficiente de transformación de la unidad 103 de transformación/cuantificación, la información 114 de formato de croma de la señal de vídeo de entrada, la información 117 del vector de movimiento introducida desde la unidad 116 de búsqueda de vector de movimiento, la información 118 de control de predicción ingresada desde la unidad 112 de control de predicción, y la información 119 de perfil/nivel ingresada desde la unidad 113 de control de codificación.
En este punto, se describirá la información 114 de formato de croma. La información 114 de formato de croma es información que indica un formato de croma de la señal 101 de vídeo de entrada. La figura 2 es una vista que ilustra un ejemplo de la información 114 de formato de croma. La figura 2 ilustra un ejemplo en el que idc_formato_croma usado en H.264 se usa como la información 114 de formato de croma.
idc_formato_croma = 0 indica un formato monocromo solo con luminancia. idc_formato_croma = 1 indica formato 4: 2 : 0 en el que la diferencia de color se muestrea a la mitad horizontal y verticalmente con respecto a la luminancia. idc_formato_croma = 2 indica formato 4: 2 : 2 en el que la diferencia de color se muestrea a la mitad solo horizontalmente con respecto a la luminancia. idc_formato_croma = 3 indica formato 4: 4 : 4 en el que la luminancia y la diferencia de color tienen el mismo número de píxeles.
El tamaño horizontal del bloque de predicción de la señal de luminancia se define como nPSW, y el tamaño vertical se define como nPSH. En el formato 4 : 2 : 0, el tamaño horizontal de los bloques de las señales de diferencia de color Cb y Cr es nPSW/2, mientras que el tamaño vertical es nPSH/2. En el formato 4 : 2 : 2, el tamaño horizontal de los bloques de las señales de diferencia de color Cb y Cr es nPSW/2, mientras que el tamaño vertical es nPSH. En el formato 4 : 4 : 4, el tamaño horizontal de los bloques de las señales de diferencia de color Cb y Cr es nPSW, mientras que el tamaño vertical es nPSH.
A continuación, se describirá la relación entre el formato de croma y la interpolación.
La figura 3 es una vista que ilustra la posición del vector de movimiento en una imagen de interpolación con una precisión de 1/8 pel de la señal de diferencia de color en el formato 4: 2 : 0. "B" es una posición de un píxel entero de la señal de diferencia de color, que es la posición del vector de movimiento que no necesita la interpolación. Las porciones blancas indican la posición del vector de movimiento que necesita una interpolación unidimensional para la señal de diferencia de color solo horizontal o verticalmente. Las porciones sombreadas claras indican la posición del vector de movimiento que necesita una interpolación bidimensional para realizar la interpolación a la señal de diferencia de color tanto horizontal como verticalmente.
La figura 4 es una vista que ilustra la posición del vector de movimiento en una imagen de interpolación con una precisión de 1/4 de la señal de luminancia en el formato 4: 2 : 0. "A" es la posición del píxel entero de la señal de luminancia, que es la posición del vector de movimiento que no necesita la interpolación. Las porciones blancas con "A" indican la posición del vector de movimiento que no necesita la interpolación tanto para la señal de luminancia como para la señal de diferencia de color. Las porciones sombreadas claras con "A" indican la posición del vector de movimiento que no necesita la interpolación para la señal de luminancia pero necesita la interpolación para la señal de diferencia de color.
Las porciones blancas sin "A" indican la posición del vector de movimiento que necesita la interpolación unidimensional para la señal de luminancia y la señal de diferencia de color solo horizontal o solo vertical. Las porciones sombreadas claras sin "A" indican la posición del vector de movimiento que necesita la interpolación bidimensional en la que el procesamiento de interpolación se realiza horizontal y verticalmente para la señal de luminancia y la señal de diferencia de color. Las porciones sombreadas oscuras indican la posición del vector de movimiento que necesita la interpolación unidimensional solo horizontal o verticalmente para la señal de luminancia, y necesita la interpolación bidimensional en la que la interpolación se ejecuta horizontal y verticalmente para la señal de diferencia de color.
La figura 5 es una vista que ilustra la posición del vector de movimiento en una imagen de interpolación con una precisión de 1/4-pel de la señal de diferencia de color en la dirección horizontal, y con una precisión de 1/8-pel de la señal de diferencia de color en la dirección vertical en formato 4: 2 : 2. "B" es la posición del píxel entero de la señal de diferencia de color, que es la posición del vector de movimiento que no necesita la interpolación. Las porciones blancas indican la posición del vector de movimiento que necesita la interpolación unidimensional para la señal de diferencia de color solo horizontal o verticalmente. Las porciones sombreadas claras indican la posición del vector de movimiento que necesita la interpolación bidimensional para realizar la interpolación a la señal de diferencia de color horizontal y verticalmente.
La figura 6 es una vista que ilustra la posición del vector de movimiento en una imagen de interpolación con una precisión de 1/4-pel de la señal de luminancia en formato 4: 2 : 2. "A" es la posición del píxel entero de la señal de luminancia, cuál es la posición del vector de movimiento que no necesita la interpolación para la señal de luminancia. Las porciones blancas con "A" indican la posición del vector de movimiento que no necesita la interpolación tanto para la señal de luminancia como para la señal de diferencia de color. Las porciones sombreadas claras con "A" indican la posición del vector de movimiento que no necesita la interpolación para la señal de luminancia pero necesita la interpolación para la señal de diferencia de color.
Las porciones blancas sin "A" indican la posición del vector de movimiento que necesita la interpolación unidimensional para la señal de luminancia y la señal de diferencia de color solo horizontal o solo vertical. Las porciones sombreadas claras sin "A" indican la posición del vector de movimiento que necesita la interpolación bidimensional en la que la interpolación se realiza horizontal y verticalmente para la señal de luminancia y la señal de diferencia de color. Las porciones sombreadas oscuras indican la posición del vector de movimiento que necesita la interpolación unidimensional solo horizontalmente para la señal de luminancia, y necesita la interpolación bidimensional en la que la interpolación se ejecuta horizontal y verticalmente para la señal de diferencia de color.
A continuación, se describirá la relación entre el formato de croma y el píxel al que se accederá en la interpolación.
Las figuras 7 y 8 son vistas que ilustran un ejemplo de un píxel al que se accede al generar la imagen de interpolación en bloque en formato 4: 2 : 0.
La figura 7 ilustra el número máximo de píxeles a los que se debe acceder al generar la imagen de interpolación del bloque de píxeles 4x4 para la señal de luminancia con un filtro de interpolación de 8 toques. En la interpolación bidimensional, se debe acceder a tres píxeles externos a la izquierda y arriba del bloque de píxeles, así como a cuatro píxeles externos a la derecha y debajo del bloque de píxeles para generar la imagen de interpolación con un bloque de píxeles de 4x4. Específicamente, se debe acceder a 11x11 píxeles como un todo. El número de píxeles externos a los que se debe acceder depende de la longitud del toque. Por lo tanto, cuando se usa el filtro de interpolación con el mismo toque, el número de accesos por píxel aumenta más para un bloque más pequeño.
La figura 8 ilustra el número máximo de píxeles a los que se debe acceder al generar la imagen de interpolación del bloque de píxeles de 2x2, correspondiente al bloque de píxeles 4x4 para la señal de luminancia, para la señal de diferencia de color con un filtro de interpolación de cuatro toques. En la interpolación bidimensional, se debe acceder a un píxel externo a la izquierda y arriba del bloque de píxeles, así como a dos píxeles externos a la derecha y debajo del bloque de píxeles para generar la imagen de interpolación con un bloque de píxeles de 2x2. Específicamente, se debe acceder a 5x5 píxeles como un todo.
La figura 9 es una vista que ilustra un ejemplo de un píxel al que se accede al generar la imagen de interpolación en bloque en formato 4: 2 : 2. El número máximo de píxeles a los que se debe acceder al generar la imagen de interpolación del bloque de píxeles 4x4 para la señal de luminancia con un filtro de interpolación de cuatro toques es el mismo que en el caso de la figura 7, por lo que no se hará la descripción redundante.
La figura 9 ilustra el número máximo de píxeles a los que se debe acceder al generar la imagen de interpolación del bloque de píxeles de 4x2, correspondiente al bloque de píxeles 4x4 para la señal de luminancia, para la señal de diferencia de color con un filtro de interpolación de cuatro toques. En la interpolación bidimensional, se debe acceder a un píxel externo a la izquierda y arriba del bloque de píxeles, así como a dos píxeles externos a la derecha y debajo del bloque de píxeles para generar la imagen de interpolación con un bloque de píxeles de 2x2. Específicamente, se debe acceder a 5x7 píxeles como un todo.
Como se ilustra en las figuras 3 a 6, la necesidad de la interpolación es diferente dependiendo del formato de croma y del vector de movimiento. Lo que se necesita de la interpolación unidimensional y la interpolación bidimensional es diferente según el formato de croma y el vector de movimiento. Como se ilustra en las figuras 7 a 9, la cantidad de píxeles a los que se accede es diferente según el formato de croma.
En el presente ejemplo, haciendo referencia al formato de croma y al vector de movimiento, la generación de imagen predicha se controla de modo que no se ejecute una interpolación específica en la que el número de píxeles a los que se debe acceder en la imagen de referencia (señal 109 de imagen de referencia) sea grande. La interpolación específica es una interpolación que utiliza predicción bidireccional e interpolación bidimensional. La interpolación en la predicción bidireccional se puede definir como la interpolación específica. Más adelante se describirá el procedimiento específico para controlar la generación de imagen predicha para no ejecutar la interpolación específica.
La figura 10 es un diagrama de bloques que ilustra un ejemplo de una configuración de un aparato 300 de decodificación de imágenes de acuerdo con una realización, generado por el aparato 100 de codificación de imágenes. El aparato 300 de decodificación de imágenes incluye una unidad 302 de decodificación de entropía, una unidad 303 de transformación inversa/cuantificación inversa, una unidad 304 de adición, una memoria 306 de cuadro, y la unidad 110 de generación de imagen predicha.
El aparato 300 de decodificación de imágenes genera una señal 307 de vídeo reproducida a partir de datos 301 codificados.
La unidad 302 de decodificación de entropía realiza una decodificación de entropía en los datos 301 codificados de acuerdo con una sintaxis prescrita. La unidad 302 de decodificación de entropía decodifica los datos 301 codificados para adquirir información cuantificada del coeficiente de transformación, información 311 de control de predicción, información 312 de vector de movimiento e información 313 de perfil/nivel. La información del coeficiente de transformación cuantificada decodificada se introduce en la unidad 303 de cuantificación inversa/transformación inversa. La información 311 de control de predicción decodificada, la información 312 de vector de movimiento y la información 313 de perfil/nivel se introducen en la unidad 110 de generación de imagen predicha.
La información del coeficiente de transformación cuantificada, la información 311 de control de predicción, la información 312 de vector de movimiento y la información 313 de perfil/nivel corresponden respectivamente a la información cuantificada del coeficiente de transformación, la información 118 de control de predicción, la información 117 del vector de movimiento, y la información 119 del perfil/nivel, que están codificados por el aparato 100 de codificación de imágenes en la figura 1.
La unidad 303 de cuantificación inversa/transformación inversa ejecuta la cuantificación inversa y la transformación ortogonal inversa en la información del coeficiente de transformación cuantificada, reproduciendo así la señal de error de predicción.
La unidad 304 de adición agrega la señal de predicción de error y la señal 310 de imagen predicha para generar una señal 305 de imagen decodificada. La señal 305 de imagen decodificada se introduce en la memoria 306 de cuadro.
La memoria 306 de cuadro ejecuta el procedimiento de filtrado en la señal 305 de imagen decodificada, y emite la resultante como la señal 307 de vídeo reproducida. La memoria 306 de cuadro determina si la señal 305 de imagen decodificada, que ha sufrido el procedimiento de filtrado, se almacena o no, basado en la información 311 de control de predicción. La señal 305 de imagen decodificada almacenada se introduce en la unidad 110 de generación de imagen predicha como una señal 308 de imagen de referencia.
La unidad 110 de generación de imagen predicha genera la señal 310 de imagen predicha usando la señal 308 de imagen de referencia, la información 311 de control de predicción, y la información 312 del vector de movimiento.
La figura 11 es un diagrama de bloques que ilustra un ejemplo de una configuración de la unidad 110 de generación de imagen predicha montada en el aparato 100 de codificación de imágenes y el aparato 300 de decodificación de imágenes. La unidad 110 de generación de imagen predicha incluye un conmutador 201, una unidad 202 de predicción bidireccional, una unidad 203 de predicción unidireccional, y una unidad 204 de intrapredicción. La unidad 110 de generación de imagen predicha genera la señal 111 de imagen predicha a partir de la señal 109 de imagen de referencia, la información 118 de control de predicción, y la información 117 del vector de movimiento.
La información 118 de control de predicción incluye información (modo de predicción) para designar cuál de las unidades 202 de predicción bidireccional, se usa la unidad 203 de predicción unidireccional, y la unidad 204 de intrapredicción, por ejemplo. El conmutador 201 realiza una conmutación para seleccionar cualquiera de la unidad 202 de predicción bidireccional, la unidad 203 de predicción unidireccional, y la unidad 204 de intrapredicción haciendo referencia a esta información.
La señal 109 de imagen de referencia se introduce en cualquiera de las unidades 202 de predicción bidireccionales, la unidad 203 de predicción unidireccional, y la unidad 204 de intrapredicción, que son seleccionados por el conmutador 201.
Cuando se selecciona la unidad 202 de predicción bidireccional, la unidad 202 de predicción bidireccional genera una señal de imagen de compensación de movimiento utilizando la señal 109 de imagen de referencia y la información 117 del vector de movimiento a partir de cuadros de referencia plurales, y genera la señal 111 de imagen predicha basada en la predicción bidireccional. La unidad 202 de predicción bidireccional se selecciona no solo en el caso en que el modo de predicción se designe explícitamente como la predicción bidireccional como los datos codificados, sino también en el caso en que la predicción bidireccional no se designe explícitamente por los datos codificados como un modo de salto, un modo directo y un modo de fusión, pero la operación de la predicción bidireccional está implícitamente designada por la semántica.
Cuando se selecciona la unidad 203 de predicción unidireccional, la unidad 203 de predicción unidireccional genera la señal de imagen de compensación de movimiento utilizando la señal 109 de imagen de referencia y la información 117 del vector de movimiento a partir de un único cuadro de referencia, y genera la señal 111 de imagen predicha. La unidad 203 de predicción unidireccional se selecciona no solo en el caso en que el modo de predicción se designe explícitamente como la predicción unidireccional como los datos codificados, sino también en el caso en que la predicción unidireccional no se designe explícitamente por los datos codificados como el modo de salto, el modo directo y el modo de fusión, pero la operación de la predicción unidireccional está implícitamente designada por la semántica.
Cuando se selecciona la unidad 204 de intrapredicción, la unidad 204 de intrapredicción genera la señal 111 de imagen predicha usando la señal 109 de imagen de referencia en una pantalla.
A continuación, el control para reducir el ancho de banda de memoria mediante el aparato 100 de codificación de imágenes configurado de este modo según la presente realización se describirá con referencia a la figura 12. La figura 12 es un diagrama de flujo que ilustra un flujo general del control en la presente realización.
La unidad 113 de control de codificación establece un valor de restricción (nLPSW, nLPSH) del tamaño de bloque de acuerdo con la información 119 de perfil/nivel (etapa S101). nLPSW es el valor de restricción del tamaño de bloque de luminancia previsto en la dirección horizontal. nLPSH es el valor de restricción del tamaño de bloque de luminancia previsto en la dirección vertical.
Cuando la información del perfil indica un perfil específico (por ejemplo, perfil alto de H.264), o cuando la información de nivel indica un nivel específico (por ejemplo, un cierto nivel o nivel superior), por ejemplo, la unidad 113 de control de codificación establece el valor de restricción predeterminado (nLPSW, nLPSH) del tamaño del bloque. La unidad 113 de control de codificación puede configurarse para establecer paso a paso el valor de restricción del tamaño de bloque de acuerdo con la información de perfil y la información de nivel.
A continuación se supone que una variable RW es una precisión de vector de movimiento en dirección horizontal, expresado por 1/RW-pel precisión. También se supone que una variable RH es una precisión del vector de movimiento en la dirección vertical, expresado por 1/RH-pel precisión. Los valores iniciales de la variable RW y la variable RH se definen como la precisión del vector de movimiento de la luminancia. Un valor de una potencia de dos se usa generalmente para RW y RH.
La unidad 112 de control de predicción determina si la información del formato de croma (idc_formato_croma) 114 es 1 o no (etapa S102). En el caso de idc_formato_croma = 1 (etapa S102: Sí), la unidad 112 de control de predicción duplica los valores de RW y RH (etapa S103). Esto se debe a que idc_formato_croma = 1 significa formato 4 : 2 : 0 en el que la diferencia de color se muestrea a la mitad horizontal y verticalmente con respecto a la luminancia.
En el caso en el que idc_formato_croma = 1 no está establecido (etapa S102: No), la unidad 112 de control de predicción determina si la información del formato de croma (idc_formato_croma) 114 es 2 o no (etapa S104). En el caso de idc_formato_croma = 2 (etapa S104: Sí), la unidad 112 de control de predicción duplica el valor de RW (etapa S105). Esto se debe a que idc_formato_croma = 2 significa formato 4 : 2 : 2 en el que la diferencia de color se muestrea a la mitad solo horizontalmente con respecto a la luminancia.
Cuando idc_formato_croma asume otros valores (etapa S104: No), los valores de RW y RH no cambian.
A continuación, la unidad 112 de control de predicción calcula una variable L que indica si el ancho de banda de la memoria está restringido o no (etapa S106). La variable L que supone "verdadero" significa que se aplica el procedimiento de reducción del ancho de banda de la memoria, y la variable L que supone "falso" significa que el procedimiento no se aplica.
Cuando la predicción es la predicción bidireccional, el bloque de predicción es pequeño y dos vectores de movimiento tienen una precisión fraccional en la diferencia de color, como se describió anteriormente, por ejemplo, aumenta el ancho de banda de memoria al que se accede por píxel. Por lo tanto, la unidad 112 de control de predicción calcula la variable L de acuerdo con la siguiente ecuación (1).
L = (ModoPred == PredBi) &&
(nPSW < nLPSW) && (nPSH < nLPSH) &&
(mvL0 [0] y (RW -1)) &&
(mvL0 [1] y (RH -1 )) &&
(mvL1 [0] y (RW -1)) &&
(mvL1 [1] y (RH -1)); (1)
El valor del vector de movimiento en la dirección horizontal en la lista 0 del bloque a procesar se define como mvL0 [0], y el valor en la dirección vertical se define como mvL0 [1]. El valor del vector de movimiento en la dirección horizontal en la lista 1 se define como mvL1 [0], y el valor en la dirección vertical se define como mvL1 [1]. ModoPred indica el modo de predicción. PredBi indica la predicción bidireccional. En la descripción a continuación, los modos de predicción de la predicción unidireccional utilizando los vectores de movimiento en la lista 0 y en la lista 1 se representan como Predl0 y Predl1, respectivamente.
Un ejemplo de la ecuación (1) significa un caso en el que el modo de predicción ModoPred es PredBi, es decir, se selecciona la unidad 202 de predicción bidireccional. (nPsW < nLPSW) && (nPSH < nLPSH) && significa la condición en la que el tamaño del bloque de predicción es igual o menor que la información de restricción del tamaño del bloque. En (mvL0 [0] y (RW -1)) &&, (mvL0 [1] y (RH -1)) &&, (mvL1 [0] & (RW -1 )) &&, y (mvL1 [1] & (RH -1)), se verifica si los dos vectores de movimiento L0 y L1 no están sujetos a la interpolación bidimensional para la diferencia de color, es decir, si el bit inferior del vector de movimiento expresa la precisión después del punto decimal. "&" significa un operador de bits de acuerdo con la notación en el lenguaje C, y expresa O bit a bit.
La ecuación condicional para calcular la variable L no se limita a la ecuación (1). Por ejemplo, puede determinarse independientemente incluso para los modos de predicción (Predl0, Predl1) que no sea PredBi como en una ecuación (2).
L = (nPSW < nLPSW) && (nPSH < nLPSH) &&
((ModoPred == PredBi) &&
(mvL0 [0] y (RW -1)) &&
(mvL0 [1] y (RH -1 )) &&
(mvL1 [0] y (RW -1)) &&
(mvL1 [1] y (RH -1 )) ||
((ModoPred == PredL0) &&
(mvL0 [0] y (RW -1)) &&
(mvL0 [1] y (RH -1 )) ||
((ModoPred == PredL1) &&
(mvL1 [0] y (RW -1)) &&
(mvL1 [1] y (RH -1))))); (2)
Con en una ecuación (3), el valor de restricción (nLPSW1, nLPSH1) del tamaño de bloque para la predicción unidireccional (Predl0 o Predl1) se puede establecer por separado. Específicamente, el tamaño de bloque restringido en la predicción unidireccional y el tamaño de bloque restringido en la predicción bidireccional pueden ser diferentes entre sí.
L = ((ModoPred == PredBi) &&
(nPSW < nLPSW) && (nPSH < nLPSH) &&
(mvL0 [0] y (RW -1)) &&
(mvL0 [1] y (RH -1 )) &&
(mvL1 [0] y (RW -1)) &&
(mvL1 [1] y (RH -1 )) ||
(((nPSW < nLPSW1) &&
(nPSH < nLPSH1)) ||
((ModoPred == PredLO) &&
(mvLO [0] y (RW -1)) &&
(mvLO [1] y (RH -1 )) &&
((ModoPred == PredLI) &&
(mvL1 [0] y (RW -1)) &&
(mvL1 [1] y (RH -1))); (3)
Cuando el tamaño del bloque de predicción es igual o menor que el valor de restricción (nLPSW, nLPSH) del tamaño de bloque como en una ecuación (4), se puede restringir el acceso de dos vectores de movimiento solo al píxel entero en la diferencia de color durante la predicción bidireccional.
L = ((ModoPred == PredBi) &&
(nPSW < nLPSW) && (nPSH < nLPSH) &&
!((mvL0[0] & (RW - 1) == 0) &&
(mvLO [1] & (RH -1 ) == 0)&&
(mvL1 [0] & (RW -1 ) == 0)&&
(mvL1 [1] & (RH -1 ) == 0))); (4)
La información 119 de perfil/nivel distingue si el valor del vector de movimiento está restringido o en qué condiciones el valor del vector de movimiento está restringido.
A continuación, se describirá el procedimiento específico para reducir el ancho de banda de la memoria. La figura 13 es un diagrama de flujo que ilustra un ejemplo del procedimiento de reducción del ancho de banda de la memoria. La figura 13 ilustra un ejemplo de un procedimiento para restringir el valor del vector de movimiento, como el procedimiento de reducir el ancho de banda de la memoria.
La unidad 112 de control de predicción determina si la variable L es "verdadera" o no (etapa S201). Si la variable L es "verdadera" (etapa S201: Sí), la unidad 112 de control de predicción transforma los valores L0 y L1 de dos vectores de movimiento como en una ecuación (5) (etapa S202).
mvL0 [0] = ((mvL0 [0] (RW >> 1))/RW) * RW;
mvL0 [1] = ((mvL0 [1] (RH >> 1))/RH) * RH;
mvL1 [0] = ((mvL1 [0] (RW >> 1))/RW) * RW;
mvL1 [1] = ((mvL1 [1] (RH >> 1))/RH) * RH; (5)
">>" indica un desplazamiento aritmético a la derecha de acuerdo con la notación en el lenguaje C. "/" indica una división en aritmética de enteros. "x" indica una multiplicación en aritmética de enteros. El bit correspondiente a la precisión de interpolación de la señal de diferencia de color de dos vectores de movimiento L0 y L1 se redondea con la ecuación (5) para convertirse en 0. Con este procedimiento, la interpolación bidimensional no se ejecuta, por lo que se puede lograr la reducción en el ancho de banda de la memoria.
El procedimiento de redondeo general se describe en el presente documento. Sin embargo, se puede usar el otro procedimiento. Por ejemplo, procedimiento de redondeo, se puede emplear un procedimiento de redondeo y un procedimiento de redondeo al número par más cercano.
La información 117 del vector de movimiento cuyo valor se cambia se codifica en la unidad 105 de codificación de entropía, y se emite como los datos codificados. El procedimiento en la figura 13 es para controlar la información 117 del vector de movimiento restringiendo el valor del vector de movimiento, para no generar los datos codificados por los cuales aumenta el ancho de banda de la memoria.
Como alternativa, en lugar de codificar la información 117 del vector de movimiento cuyo valor se cambia en la unidad 105 de codificación de entropía, la información 117 del vector de movimiento antes del cambio puede ser codificada por la unidad de codificación de entropía. En este caso, la unidad 110 de generación de imagen predicha en el aparato 300 de decodificación de imágenes determina si el procedimiento para reducir el ancho de banda de la memoria se aplica o no en el procedimiento igual que en la figura 12. Cuando se aplica, la unidad 110 de generación de imagen predicha en el aparato 300 de decodificación de imágenes restringe el vector de movimiento de la misma manera que en la figura 13.
El procedimiento de transformación del valor del vector de movimiento no se limita al procedimiento de redondeo del valor correspondiente a la precisión de interpolación de la diferencia de color como en la ecuación (4). El valor puede redondearse por separado para la luminancia y la diferencia de color. Específicamente, durante la interpolación para la luminancia, el valor correspondiente a la precisión de interpolación de la luminancia puede redondearse, mientras que el valor correspondiente a la precisión de interpolación de la diferencia de color puede redondearse durante el procesamiento de interpolación para la diferencia de color. Este procedimiento es para no generar la imagen predicha que aumenta el ancho de banda de la memoria, cuando el aparato 100 de codificación de imágenes y el aparato 300 de decodificación de imágenes están configurados de antemano de manera que ejecuten la misma operación.
La figura 14 es un diagrama de flujo que ilustra otro ejemplo del procedimiento de reducción del ancho de banda de la memoria. La figura 14 ilustra otro ejemplo del procedimiento de restricción del valor del vector de movimiento.
En este ejemplo, la unidad 112 de control de predicción y la unidad 110 de generación de imagen predicha calculan el coste para seleccionar el modo de predicción, el tamaño de bloque predicho y el vector de movimiento. Preferentemente seleccionan el modo de predicción, el tamaño de bloque predicho y el vector de movimiento, que son pequeños en coste, por lo que se puede seleccionar la combinación óptima.
Una variable MV_Coste que indica el costo del vector de movimiento se calcula utilizando una suma de distancia absoluta (SAD) de errores residuales pronosticados, una cantidad de código de la información del vector de movimiento (MV_Código), y un multiplicador de Lagrange (A) calculado a partir de la información cuantificada como en una ecuación (5).
MV_Coste = SAD A * MV_Código (5)
Si la variable L es "verdadera" (etapa S301: Sí), la unidad 112 de control de predicción sustituye el valor máximo predeterminado ValorMax en la variable MV_Coste que indica el coste para el vector de movimiento (etapa S302). Con este procedimiento, la unidad 112 de control de predicción controla no seleccionar el vector de movimiento que tiene el ancho de banda de memoria grande (etapa S301).
En el procedimiento de la figura 14, el valor del vector de movimiento está restringido para controlar la información 117 del vector de movimiento, para no generar los datos codificados por los cuales aumenta el ancho de banda de la memoria, como en la figura 13.
La figura 15 es un diagrama de flujo que ilustra otro ejemplo del procedimiento para reducir el ancho de banda de la memoria. La figura 15 ilustra un procedimiento para controlar el modo de predicción de la diferencia de color, como otro procedimiento para reducir el ancho de banda de la memoria.
Si la variable L es "verdadera" (etapa S401), solo el modo de predicción ModoPred de color se reescribe por la fuerza a la predicción unidireccional Predl0 (etapa S402). Con este procedimiento, se puede restringir el caso de la predicción bidireccional con la señal de diferencia de color utilizando un ancho de banda de memoria grande.
El modo de predicción en el que el modo de predicción se reescribe por la fuerza puede ser la predicción unidireccional Predl1. El modo de predicción restringido se determina de acuerdo con la información 119 de perfil/nivel.
Como se ha descrito anteriormente, de acuerdo con la presente realización, el ancho de banda de la memoria al generar la imagen de interpolación con compensación de movimiento durante la codificación y decodificación de la imagen puede reducirse.
A continuación, se describirá una configuración de hardware del aparato (el aparato de codificación de imágenes y el aparato de decodificación de imágenes) de acuerdo con la presente realización con referencia a la figura 16. La figura 16 es una vista que ilustra una configuración del sistema de acuerdo con una realización de la presente divulgación.
El aparato de acuerdo con la presente realización incluye un dispositivo de control tal como una CPU (Unidad Central de Procesamiento) 51, un dispositivo de memoria como una ROM (memoria de solo lectura) 52 o una RAM (memoria de acceso aleatorio) 53, una I/F 54 de comunicación que está conectada a la red para permitir la intercomunicación, y un bus 61 que interconecta cada unidad.
Un programa ejecutado por el aparato de acuerdo con la presente realización se proporciona como una incorporación preliminar en la ROM 52.
El programa se puede configurar para que se proporcione, como producto informático, como se graba como un archivo en un formato instalable o en un formato ejecutable en un medio de grabación legible por ordenador, como un CD (disco compacto)-ROM, un disco flexible (FD), un CD-R, un DVD (disco versátil digital) y similares.
Adicionalmente, el programa se puede proporcionar de tal manera que el programa se almacene en un ordenador conectada a una red como Internet para permitir la descarga a través de la red. El programa puede configurarse para que se proporcione o distribuya a través de una red como Internet.
El programa ejecutado por el aparato de acuerdo con la presente realización puede permitir que el ordenador funcione como cada unidad (unidad generadora de imagen predicha, y similares) descrita anteriormente. La CPU 51 en el ordenador puede leer el programa desde el medio de memoria legible por el ordenador en el dispositivo de memoria principal, y ejecuta el mismo programa.
Lista de signos de referencia
100 APARATO DE CODIFICACIÓN DE IMÁGENES
101 ENTRADA SEÑAL DE VIDEO
102 UNIDAD DE SUSTRACCIÓN
103 UNIDAD DE TRANSFORMACIÓN/CUANTIFICACIÓN
104 UNIDAD DE CUANTIFICACIÓN INVERSA/TRANSFORMACIÓN INVERSA
105 UNIDAD DE CODIFICACIÓN DE ENTROPÍA
106 UNIDAD DE ADICIÓN
107 SEÑAL DE IMAGEN DECODIFICADA
108 MEMORIA DE CUADRO
109 SEÑAL DE IMAGEN DE REFERENCIA
110 UNIDAD GENERADORA DE IMAGEN PREDICHA
111 SEÑAL DE IMAGEN PREDICHA
112 UNIDAD DE CONTROL DE PREDICCIÓN
113 UNIDAD DE CONTROL DE CODIFICACIÓN
114 INFORMACIÓN DEL FORMATO DE CROMA
115 INFORMACIÓN DE RESTRICCIÓN DE TAMAÑO DE BLOQUE
116 UNIDAD DE BÚSQUEDA DE VECTOR DE MOVIMIENTO
117 INFORMACIÓN DEL VECTOR DE MOVIMIENTO
118 INFORMACIÓN DE CONTROL DE PREDICCIÓN
119 INFORMACIÓN DE PERFIL/NIVEL
120 DATOS CODIFICADOS
300 APARATO DE DECODIFICACIÓN DE IMAGEN
301 DATOS CODIFICADOS
302 UNIDAD DE DECODIFICACIÓN DE ENTROPÍA
303 UNIDAD DE CUANTIFICACIÓN INVERSA/TRANSFORMACIÓN INVERSA
304 UNIDAD DE ADICIÓN
305 SEÑAL DE IMAGEN DECODIFICADA
306 MEMORIA DE CUADRO
307 SEÑAL DE VIDEO REPRODUCIDA
308 SEÑAL DE IMAGEN DE REFERENCIA
310 SEÑAL DE IMAGEN PREDICHA
311 INFORMACIÓN DE CONTROL DE PREDICCIÓN
312 INFORMACIÓN DEL VECTOR
313 INFORMACIÓN DE PERFIL/NIVEL

Claims (6)

REIVINDICACIONES
1. Un procedimiento de decodificación que comprende:
determinar, mediante una unidad (302) de decodificación, un modo de predicción según un modo de fusión, especificando el modo de predicción una primera predicción usando una primera imagen de referencia, una segunda predicción usando una segunda imagen de referencia, o una bipredicción usando la primera imagen de referencia y la segunda imagen de referencia,
adquirir, mediante una unidad (110) de generación, una o más imágenes de referencia;
interpolar, mediante la unidad (110) de generación, cada uno de un componente de luminancia y un componente de diferencia de color en la imagen o imágenes de referencia para generar una imagen de predicción;
en el que la generación de la imagen de predicción para el componente de diferencia de color incluye cambiar, mediante la unidad (110) de generación, un modo de predicción desde la bi-predicción hasta la primera predicción si el tamaño de un bloque de predicción determinado por un ancho y una altura del bloque de predicción es igual o menor que un valor predeterminado y si el modo de predicción especifica la bipredicción.
2. El procedimiento de decodificación de acuerdo con la reivindicación 1, que comprende además:
decodificar, mediante la unidad (302) de decodificación, datos codificados para adquirir un coeficiente de transformación;
derivar, mediante una unidad (303) de transformación, un valor de error de predicción usando una cuantificación inversa y una transformación inversa del coeficiente de transformación;
derivar, mediante una unidad (304) de adición, una imagen decodificada usando al menos el valor de error de predicción y la imagen de predicción.
3. El procedimiento de decodificación de acuerdo con la reivindicación 1, en el que el valor predeterminado se determina en base a una restricción en el tamaño del bloque de predicción.
4. Un aparato (300) de decodificación que comprende:
una unidad (302) de decodificación configurada para determinar un modo de predicción de acuerdo con un modo de fusión, especificando el modo de predicción una primera predicción usando una primera imagen de referencia, una segunda predicción usando una segunda imagen de referencia, o una bi-predicción usando la primera imagen de referencia y la segunda imagen de referencia, y
una unidad (110) de control configurada para
adquirir una o más imágenes de referencia;
interpolar cada uno de un componente de luminancia y un componente de diferencia de color en la imagen o imágenes de referencia para generar una imagen de predicción;
en el que la generación de la imagen de predicción para el componente de diferencia de color incluye cambiar un modo de predicción de la bi-predicción a la primera predicción si el tamaño de un bloque de predicción determinado por un ancho y una altura del bloque de predicción es igual o menor que un valor predeterminado y si el modo de predicción especifica la bi-predicción.
5. El aparato (300) de decodificación de acuerdo con la reivindicación 4, en el que la unidad (302) de decodificación está configurada además para decodificar datos codificados para adquirir un coeficiente de transformación; y el aparato (300) de codificación comprende además:
una unidad (303) de transformación configurada para derivar un valor de error de predicción usando una cuantificación inversa y una transformación inversa del coeficiente de transformación; y
una unidad (304) de adición configurada para derivar una imagen decodificada usando al menos el valor de error de predicción y la imagen de predicción.
6. El aparato (300) de decodificación de acuerdo con la reivindicación 4, en el que el valor predeterminado está determinado en base a una restricción en el tamaño del bloque de predicción.
ES17188018T 2011-11-08 2011-11-08 Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes Active ES2794582T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2011/075725 WO2013069095A1 (ja) 2011-11-08 2011-11-08 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
EP17188018.0A EP3280139B1 (en) 2011-11-08 2011-11-08 Image decoding method and image decoding apparatus

Publications (1)

Publication Number Publication Date
ES2794582T3 true ES2794582T3 (es) 2020-11-18

Family

ID=48288682

Family Applications (2)

Application Number Title Priority Date Filing Date
ES17188018T Active ES2794582T3 (es) 2011-11-08 2011-11-08 Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes
ES20156188T Active ES2952379T3 (es) 2011-11-08 2011-11-08 Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES20156188T Active ES2952379T3 (es) 2011-11-08 2011-11-08 Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes

Country Status (15)

Country Link
US (9) US9135717B2 (es)
EP (4) EP4199508A1 (es)
JP (1) JP5766815B2 (es)
KR (3) KR101597059B1 (es)
CN (2) CN107277511A (es)
AU (2) AU2011380761C1 (es)
BR (4) BR122020011587B1 (es)
CA (1) CA2847301C (es)
ES (2) ES2794582T3 (es)
MX (1) MX2014002334A (es)
PL (2) PL3672238T3 (es)
RU (1) RU2595569C2 (es)
SG (1) SG11201400290XA (es)
WO (1) WO2013069095A1 (es)
ZA (1) ZA201401565B (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101762819B1 (ko) * 2010-09-02 2017-07-28 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
SI2744204T1 (sl) 2011-09-14 2019-02-28 Samsung Electronics Co., Ltd., Postopek dekodiranja enote za napovedovanje (PU) na podlagi njene velikosti
PL3672238T3 (pl) 2011-11-08 2023-07-24 Kabushiki Kaisha Toshiba Metoda dekodowania obrazu i metoda kodowania obrazu
US9894355B2 (en) * 2012-01-19 2018-02-13 Sony Corporation Image processing apparatus and method thereof
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10110916B2 (en) 2014-04-22 2018-10-23 Sony Corporation Encoding device and encoding method
CA2988107A1 (en) * 2015-06-19 2016-12-22 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
US11689731B2 (en) * 2018-09-21 2023-06-27 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus that involves bi-prediction
CN110582022B (zh) * 2019-09-27 2022-12-30 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2873396B2 (ja) 1990-09-11 1999-03-24 清水建設株式会社 軌道仮受け施工方法
JP2001045491A (ja) 1999-08-03 2001-02-16 Hitachi Ltd 符号化画像の復号・表示装置
JP4129374B2 (ja) * 2001-09-18 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1298171C (zh) 2001-09-18 2007-01-31 松下电器产业株式会社 图像的编码方法和图像的译码方法
EP1827027A1 (en) * 2002-01-18 2007-08-29 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
JP4120301B2 (ja) 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
JP4053925B2 (ja) * 2003-05-09 2008-02-27 日本電信電話株式会社 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体
JP2006333436A (ja) 2005-01-07 2006-12-07 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
JP4755093B2 (ja) * 2005-02-01 2011-08-24 パナソニック株式会社 画像符号化方法および画像符号化装置
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
RU2369038C1 (ru) 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
JP4752631B2 (ja) * 2006-06-08 2011-08-17 株式会社日立製作所 画像符号化装置、及び画像符号化方法
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
AU2009264603A1 (en) 2008-06-30 2010-01-07 Kabushiki Kaisha Toshiba Dynamic image prediction/encoding device and dynamic image prediction/decoding device
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8831087B2 (en) * 2008-10-06 2014-09-09 Qualcomm Incorporated Efficient prediction mode selection
WO2010070818A1 (ja) 2008-12-16 2010-06-24 株式会社日立製作所 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
FI3567855T3 (fi) 2009-03-23 2023-04-12 Kuvan ennustava koodauslaite, kuvan ennustava koodausmenetelmä, kuvan ennustava koodausohjelma, kuvan ennustava dekoodauslaite, kuvan ennustava dekoodausmenetelmä ja kuvan ennustava dekoodausohjelma
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
JP2011135184A (ja) * 2009-12-22 2011-07-07 Sony Corp 画像処理装置および方法、並びにプログラム
WO2012172659A1 (ja) 2011-06-15 2012-12-20 株式会社東芝 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
KR20120140592A (ko) * 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
CN108632608B (zh) 2011-09-29 2022-07-29 夏普株式会社 图像解码装置、图像解码方法、图像编码装置及图像编码方法
WO2013065431A1 (ja) 2011-11-04 2013-05-10 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
PL3672238T3 (pl) * 2011-11-08 2023-07-24 Kabushiki Kaisha Toshiba Metoda dekodowania obrazu i metoda kodowania obrazu

Also Published As

Publication number Publication date
PL3672238T3 (pl) 2023-07-24
SG11201400290XA (en) 2014-06-27
AU2011380761B2 (en) 2015-06-25
MX2014002334A (es) 2014-04-25
KR101665921B1 (ko) 2016-10-12
EP4199508A1 (en) 2023-06-21
US11451808B2 (en) 2022-09-20
BR112014004645A2 (pt) 2017-03-14
ES2952379T3 (es) 2023-10-31
JPWO2013069095A1 (ja) 2015-04-02
US20170180747A1 (en) 2017-06-22
AU2015213328B2 (en) 2017-03-09
BR122020011581B1 (pt) 2022-05-03
AU2011380761C1 (en) 2015-12-17
US9843818B2 (en) 2017-12-12
KR101597059B1 (ko) 2016-02-23
KR20150038621A (ko) 2015-04-08
US20200267401A1 (en) 2020-08-20
EP2779647A1 (en) 2014-09-17
KR101570328B1 (ko) 2015-11-18
US9672633B2 (en) 2017-06-06
CN103765890A (zh) 2014-04-30
EP3672238B1 (en) 2023-06-07
KR20160025035A (ko) 2016-03-07
CA2847301C (en) 2017-08-01
EP2779647A4 (en) 2015-08-12
US11831891B2 (en) 2023-11-28
US9135717B2 (en) 2015-09-15
KR20140043828A (ko) 2014-04-10
BR122020011587B1 (pt) 2022-05-03
BR112014004645B1 (pt) 2022-04-26
EP3280139A1 (en) 2018-02-07
CA2847301A1 (en) 2013-05-16
US20220385932A1 (en) 2022-12-01
CN107277511A (zh) 2017-10-20
US20170359592A1 (en) 2017-12-14
JP5766815B2 (ja) 2015-08-19
AU2015213328A1 (en) 2015-09-03
RU2014107468A (ru) 2015-12-20
US20140010446A1 (en) 2014-01-09
ZA201401565B (en) 2016-05-25
EP3672238A1 (en) 2020-06-24
US20200053374A1 (en) 2020-02-13
US20240048746A1 (en) 2024-02-08
AU2011380761A1 (en) 2014-03-20
EP2779647B1 (en) 2018-03-07
EP3280139B1 (en) 2020-03-18
BR122020011590B1 (pt) 2022-05-03
US11375218B2 (en) 2022-06-28
PL3280139T3 (pl) 2020-07-27
RU2595569C2 (ru) 2016-08-27
US10687072B2 (en) 2020-06-16
US20150229929A1 (en) 2015-08-13
US20200267400A1 (en) 2020-08-20
US10554991B2 (en) 2020-02-04
WO2013069095A1 (ja) 2013-05-16

Similar Documents

Publication Publication Date Title
ES2794582T3 (es) Procedimiento de decodificación de imágenes y aparato de decodificación de imágenes
BR112020014522A2 (pt) Derivação aprimorada de vetor de movimento no lado de decodificador
WO2019144020A1 (en) Deblocking filter selection and application in video coding
JP6487002B2 (ja) 復号方法および復号装置
CN118077196A (zh) 用于解码器侧帧内模式推导的方法和设备
CN118044187A (zh) 用于解码器侧帧内模式推导的方法和设备
JP2015111961A (ja) 画像復号方法および画像復号装置