MX2011004849A - Dispositivo de codificacion de imagen y dispositivo de decodificacion de imagen. - Google Patents

Dispositivo de codificacion de imagen y dispositivo de decodificacion de imagen.

Info

Publication number
MX2011004849A
MX2011004849A MX2011004849A MX2011004849A MX2011004849A MX 2011004849 A MX2011004849 A MX 2011004849A MX 2011004849 A MX2011004849 A MX 2011004849A MX 2011004849 A MX2011004849 A MX 2011004849A MX 2011004849 A MX2011004849 A MX 2011004849A
Authority
MX
Mexico
Prior art keywords
unit
image
region
vector
motion
Prior art date
Application number
MX2011004849A
Other languages
English (en)
Inventor
Shunichi Sekiguchi
Yuichi Idehara
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of MX2011004849A publication Critical patent/MX2011004849A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

El dispositivo de codificación de imagen de la presente invención incluye una unidad de determinación de vector directo 34 que excluye un vector directo derivado por una unidad de cálculo de vector directo 33 a partir de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo incluye una región fuera de una imagen, y una unidad de generación de imagen pronosticada de compensación de movimiento 35 que genera una imagen pronosticada de compensación de movimiento obteniendo valores de pixel de imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para codificar, con uno o más vectores de movimiento determinados por la unidad de determinación de vector directo 34.

Description

DISPOSITIVO DE CODIFICACIÓN DE IMAGEN Y DISPOSITIVO DE DECODIFICACIÓN DE IMAGEN CAMPO DE LA INVENCIÓN La presente invención se refiere a un dispositivo de codificación de imagen que codifica datos de imagen en la forma de una señal de video digital mediante compresión, y da salida a los datos codificados por compresión de imagen a un dispositivo de decodificación de imagen que restaura una señal de video digital decodificando los datos codificados por compresión de imagen que salen del dispositivo de codificación de imagen.
ANTECEDENTES DE LA INVENCIÓN Los MPEG, ITU-T H.26x y otros métodos de codificación de video estándar internacionales emplean un método que codifica mediante unidades de compresión que consisten en bloques de datos (a ser denominados como "macro bloques") que combinan señales de luminancia de 16 x 16 pixeles y señales de diferencia de color de 8 x 8 pixeles que corresponden a las señales de luminancia basadas en tecnología de búsqueda/compensación de movimiento y tecnología de cuantificación de transformación/coeficiente de transformación ortogonal cuando codifican cada cuadro de las señales de video (véase, por ejemplo, el documento de patente 1).
En el caso de la decodificación de corrientes de bits, también, el procesamiento es realizado en unidades de macro bloques, y las imágenes decodificadas en última instancia salen después de haber decodificado todos los macro bloques de una imagen única.
En general, la búsqueda de movimiento en los dispositivos de codificación de imágenes es realizada en la proximidad del macro bloque seleccionado como objetivo para la codificación.
En consecuencia, la región de búsqueda efectiva de manera inevitable se vuelve pequeña para aquellos macro bloques localizados en los bordes de una imagen, y la precisión de la predicción de compensación de movimiento disminuye de manera inevitable para la codificación de los macro bloques en dichas ubicaciones en comparación con los macro bloques en otras ubicaciones.
Por consiguiente, el problema de deterioro de calidad de la imagen es conocido por ocurrir en los macro bloques seleccionados como objetivo para la codificación localizados a lo largo de los bordes de una imagen.
Por lo tanto, en el dispositivo de codificación de imágenes descrito en el documento de patente 1 indicado más adelante, los parámetros de cuantificación de macro bloques a lo largo de los bordes de una imagen son ajustados con el objeto de inhibir el deterioro de la calidad de imagen en aquellos macro bloques localizados a lo largo de los bordes de la imagen.
Documento de patente 1 : Solicitud de Patente Japonesa que permanece abierta No. 2000-059779 (Figura 1 ).
Debido a que los dispositivos de codificación de imagen convencionales están configurados en la forma descrita anteriormente, a pesar de que puede evitarse el deterioro de la calidad de la imagen en los macro bloques a lo largo de los bordes de una imagen; sin embargo, existe un problema en que el ajuste de los parámetros de cuantificación de aquellos macro bloques sobre los extremos de los bordes de la imagen incrementa las cantidades de código de esos macro bloques en comparación con las cantidades de código de los macro bloques de otras áreas, lo cual conduce a una disminución en la proporción de compresión.
BREVE DESCRIPCIÓN DE LA INVENCIÓN La presente invención está elaborada para resolver los problemas anteriores, y un objeto de la presente invención es proporcionar un dispositivo de codificación de imagen con la capacidad de evitar el deterioro de la calidad de la imagen en los macro bloques a lo largo de un borde de imagen sin conducir a una disminución en la proporción de compresión.
Adicionalmente, un objeto de la presente invención es proporcionar un dispositivo de decodificación de imagen con la capacidad de restaurar las señales de video digitales decodificando los datos codificados por compresión de imagen que salen de un dispositivo de codificación de imagen como aquel que se describió anteriormente.
El dispositivo de codificación de imagen de acuerdo con la presente invención es proporcionado con: una unidad de derivación del vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificar en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante, y a partir de vector de movimiento de región de unidad localizada en una imagen codificada previamente; una unidad de selección del vector de movimiento para, en el casos en donde una región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento. incluye una región fuera de una imagen, excluyendo ese vector de movimiento de los vectores seleccionados como objetivo para ser promediados; y una unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento obteniendo los valores de pixel de imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para codificación, con uno o más vectores de movimiento determinados por la unidad de selección de vector de movimiento, en donde una unidad de codificación determina una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento y codifica la imagen de diferencia.
De acuerdo con la presente invención, el efecto de evitar el deterioro de la calidad de la imagen en los macro bloques a lo largo de un borde de imagen se demuestra sin conducir a una disminución en la proporción de compresión, como resultado de emplear una configuración en la cual se proporciona: la unidad de derivación del vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificación en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante , y a partir de vector de movimiento de región de unidad localizada en una imagen codificada previamente que es almacenada en la memoria de cuadro; la unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento incluye una región fuera de una imagen, excluyendo aquel vector de movimiento a partir de vectores seleccionados como objetivo para ser promediados; y la unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento obteniendo valores de pixel de imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para decodificación, con uno o más vectores de movimiento determinados por la unidad de selección de vector de movimiento, en donde la unidad de codificación determina una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento y codifica la imagen de diferencia.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La figura 1 , es un diagrama de bloques que muestra una relación de conexión entre un dispositivo de codificación de imagen y un dispositivo de decodificación de imagen de acuerdo con una primera modalidad de la presente invención; La figura 2, es un diagrama de bloques que muestra un dispositivo de codificación de imagen 1 en la primera modalidad de la presente invención; La figura 3, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 26 en el dispositivo de codificación de imagen 1 de la figura 2; La figura 4, es un dibujo explicativo que indica el contenido de procesamiento de una unidad de cálculo de vector directo 33 descrito en H.264/AVC; La figura 5, es un dibujo explicativo que indica los contenidos de procesamiento de la unidad de cálculo de vector directo 33 descrita en H.264/AVC; La figura 6, es un dibujo explicativo que indica los contenidos de procesamiento de la unidad de cálculo de vector directo 33 descrita en H.264/AVC; La figura 7, es un dibujo explicativo que indica los contenidos de procesamiento de la unidad de cálculo de vector directo 33 descrita en H.264/AVC; La figura 8, es un dibujo explicativo que indica un caso en el cual, un extremo conductor de un vector directo está indicando una región fuera de una imagen; La figura 9, es un dibujo explicativo que indica una tecnología denominada como "expansión de borde de imagen" que extiende los pixeles sobre los bordes de una imagen al exterior de la imagen; La figura 10, es un dibujo explicativo que indica una imagen pronosticada de compensación de movimiento generada por una unidad de generación de imagen pronosticada de compensación de movimiento 35 excluyendo un vector directo que indica una región de unidad que incluye una región de imagen exterior de vectores seleccionados como objetivo para ser promediados; La figura 11 , es un diagrama de bloques que muestra un dispositivo de codificación de imagen 2 de acuerdo con la primera modalidad de la presente invención; La figura 12, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 50 en el dispositivo de decodificación de imagen 2 de la figura 11 ; La figura 13, es un diagrama de bloques que muestra el dispositivo de codificación de imagen 1 de acuerdo con una segunda modalidad de la presente invención; La figura 14, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 71 en el dispositivo de codificación de imagen 1 de la figura 13, La figura 15, es un diagrama de bloques que muestra el dispositivo de decodificación de imagen 2 de acuerdo con la segunda modalidad de la presente invención; La figura 16, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 80 en el dispositivo de decodificación de imagen 2 de la figura 15; Las figuras 17A-17C, son dibujos explicativos que indican los contenidos de procesamiento de una unidad de determinación de vector directo 34; y Las figuras 18A-18C, son dibujos explicativos que indican los contenidos de procesamiento de la unidad de determinación de vector directo 34.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN A continuación se proporciona una explicación de las modalidades de la presente invención de acuerdo con los dibujos anexos con el objeto de proporcionar una explicación más detallada de la presente invención.
Primera modalidad La figura 1 , es un diagrama de bloques que muestra la relación de conexión entre un dispositivo de codificación de imagen y un dispositivo de decodificación de imagen de acuerdo con una primera modalidad de la presente invención.
En la figura 1 , un dispositivo de codificación de imagen 1 es un dispositivo de codificación que utiliza, por ejemplo, un método de codificación H.264/AVC, y cuando los datos de imagen (imagen en video) de una imagen ingresan en el mismo, una pluralidad de imágenes que componen esos datos de imagen se dividen en las regiones de unidad prescritas, los vectores de movimiento son determinados para cada región de unidad, y esos datos de imagen están codificados por compresión utilizando los vectores de movimiento de cada región de unidad para transmitir una corriente de bit que consiste en los datos codificados por compresión de esos datos de imagen a un dispositivo de decodificación de imagen 2.
Cuando la corriente de bit transmitida desde el dispositivo de codificación de imagen 1 es recibida, el dispositivo de decodificación de imagen 2 utiliza los vectores de movimiento de cada región de unidad para restaurar los datos de imagen (señal de video) de la imagen mediante la decodificación de esa corriente de bit.
Configuración del dispositivo de codificación de imagen 1 La figura 2, es un diagrama de bloques que muestra el dispositivo de codificación de imagen 1 de acuerdo con una primera modalidad de la presente invención, mientras que la figura 3, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 26 en el dispositivo de codificación de imagen 1 de la figura 2.
La configuración básica en el dispositivo de codificación de imagen 1 de la figura 2, es la misma que aquella de un dispositivo de codificación de imagen, utilizada normalmente en un codificador H.264/AVC.
Sin embargo, aunque una unidad de determinación de vector directo 34 de la figura 3, no está dispuesta en la unidad de compensación de movimiento 26 en un codificador H.264/AVC, la unidad de determinación de vector directo 34 está dispuesta en la unidad de compensación de movimiento 26 del dispositivo de codificación de imagen 1 de la figura 2, diferenciándolos de esta manera con respecto a este punto.
En la figura 2, un sustractor 1 1 realiza el procesamiento que determina la diferencia entre datos de imagen y los datos de imagen de una imagen intra-pronosticada generada por una unidad de compensación de intra-predicción 23, y da salida a los datos de esa diferencia en la forma de datos de intra-diferencia a una unidad de determinación de modo de codificación 13.
Un sustractor 12 realiza el procesamiento que determina una diferencia entre datos de imagen y los datos de imagen de una imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 26, y da salida a esos datos de diferencia en la forma de datos inter-diferencia a la unidad de determinación de modo de codificación 13.
La unidad de determinación de modo de codificación 13 realiza el procesamiento que compara datos intra-diferencia que salen del sustractor 1 1 con los datos de inter-diferencia que salen del sustractor 12, determina si se empleará un modo de codificación que realiza la compresión con base en una intra-predicción o si será empleado un modo de codificación que realiza la compresión con base en la predicción de movimiento, y notifica a los interruptores 19 y 28, la unidad de compensación de movimiento 26 y una unidad de codificación de longitud variable 16 del modo de codificación que se ha determinado. Adicionalmente, en el caso en donde se emplea un modo de codificación que realiza la compresión con base en intra-predicción, la unidad de determinación del modo de codificación 13 realiza el procesamiento que da salida a los datos intra-diferencia que salen el sustractor 11 a una unidad de conversión 14, mientras que en el caso en donde se emplea un modo de codificación que realiza la compresión basada en la predicción de movimiento, la unidad de determinación de modo de codificación 13 realiza el procesamiento que da salida a los datos de inter-diferencia que salen el sustractor 12 a la unidad de conversión 14.
La unidad de conversión 14 realiza el procesamiento en que el entero convierte los datos de intra-diferencia o los datos de intra-diferencia que salen de la unidad de determinación de modo de codificación 13, y da salida a los datos de conversión de entero a una unidad de cuantificación 15.
La unidad de cuantificación 15 realiza el procesamiento en que cuantifica los datos de conversión de entero que salen de la unidad de conversión 14, y da salida a los datos cuantificados a la unidad de codificación de longitud variable 16 y una unidad de cuantificación inversa 17.
La unidad de codificación de longitud variable 16 realiza el procesamiento que consiste en realizar la codificación de longitud variable sobre los datos de cuantificación que salen de la unidad de cuantificación 15, el modo de codificación determinado por la unidad de determinación de modo de codificación 13, y un modo intra-predicción o información de vector (información de vector que se relaciona con el vector de movimiento óptimo determinado por una unidad de predicción de movimiento 27) que sale del interruptor 28, y que transmite aquellos datos codificados de longitud variable (datos codificados de compresión) en la forma de una corriente de bit al dispositivo de codificación de imagen 2.
Adicionalmente, la unidad de codificación está compuesta de los sustractores 11 y 12, la unidad de determinación de modo de codificación 13, la unidad de conversión 14, la unidad de cuantificación 15 y la unidad de codificación de longitud variable 16.
La unidad de cuantificación inversa 17 realiza el procesamiento de los datos de cuantificación que se cuantifican a la inversa que salen de la unidad de cuantificación 15, y da salida a los datos cuantificados en forma inversa a una unidad de conversión inversa 18.
La unidad de conversión inversa 18 realiza el procesamiento en que el entero convierte inversamente los datos de cuantificación inversa que salen de la unidad de cuantificación inversa 17, y da salida a los datos de conversión de entero inverso en la forma de datos de diferencia de dominio de pixel a un sumador 20.
El interruptor 19 realiza el procesamiento que da salida a los datos de imagen de la imagen intra-pronosticada generada por la unidad de compensación de intra-predicción 23 al sumador 20 si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en intra-predicción, o da salida a los datos de imagen de la imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 26 al sumador 20 y el modo de codificación es un modo de codificación que realiza la compresión con base en predicción de movimiento.
El sumador 20 realiza el procesamiento en que agrega datos de imagen de la imagen intra-pronosticada o la imagen pronosticada de compensación de movimiento sale del interruptor 19 a los datos de diferencia de dominio de pixel que salen de la unidad de conversión inversa 18.
Una memoria de intra-predicción 21 es una memoria que almacena los datos de adición que salen del sumador 20 como datos de imagen de las imágenes ¡ntra-pronosticadas.
Una unidad de intra-predicción 22 realiza el procesamiento que determina el modo de intra-predicción óptima comparando los datos de imagen y los datos de imagen de los pixeles periféricos almacenados en la memoria de intra-predicción 21 (datos de imagen de imágenes de intra-predicción).
Una unidad de compensación de intra-predicción 23 realiza el procesamiento que genera una imagen intra-pronosticada del modo de intra-predicción óptimo determinado por la unidad de intra-predicción 22 a partir de los datos de imagen de los pixeles periféricos (datos de imagen de imágenes de intra-predicción) almacenados en la memoria de intra-predicción 21.
Un filtro de circuito 24 realiza el procesamiento de filtración que remueve los componentes de ruido y los similares en un circuito de predicción contenido en los datos de adición que salen del sumador 20.
Una memoria de cuadro 25 es una memoria que almacena los datos de adición siguiendo el procesamiento de filtración del filtro de circuito 24 como datos de imagen de las imágenes de referencia.
La unidad de compensación de movimiento 26 realiza el procesamiento que divide una pluralidad de imágenes que componen los datos de imagen en las regiones de unidad prescritas para pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento de uno o más de los vectores de movimiento óptimos determinados por la unidad de predicción de movimiento 27 y los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25.
La unidad de predicción de movimiento 27 realiza el procesamiento en que determina uno o más vectores de movimiento óptimos a partir de los datos de imagen, los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25, un vector de predicción pronosticado por una unidad de cálculo de vector de predicción 32 de la unidad de compensación de movimiento 26, y uno o más vectores directos que permanecen como vectores seleccionados como objetivo para ser promediados o como media aritmética sin ser excluidos por la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 26. Por ejemplo, en el caso de un vector de movimiento de una imagen P, un vector de movimiento único es determinado como el vector de movimiento óptimo, mientras que en el caso de un vector de movimiento de una imagen B, se determinan dos vectores de movimiento como vectores de movimiento óptimos.
Particularmente, la unidad de predicción de movimiento 27 realiza el procesamiento que determina uno o más vectores de movimiento óptimos de acuerdo con una tecnología denominada comúnmente como optimización R-D (una tecnología para determinar los vectores de movimiento en una forma que considera adicionalmente las cantidades de código de los vectores de movimiento en lugar de simplemente reducir al mínimo una diferencia entre los datos de imagen y los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25).
El interruptor 28 realiza el procesamiento que da salida al modo de intra-predicción óptimo determinado por la unidad de intra-predicción 22 a la unidad de codificación de longitud variable 16 si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en intra-predicción, o da salida a la información de vector que se relaciona con el vector de movimiento óptimo determinado por la unidad de predicción de movimiento 27 (un vector de diferencia que indica una diferencia entre un vector de movimiento y un vector de predicción en el caso en donde el vector de movimiento óptimo es determinado a partir de un vector de predicción pronosticado por la unidad de cálculo de vector de predicción 32 de la unidad de compensación de movimiento 26, o la información que indica que el vector de movimiento óptimo se ha determinado a partir de un vector directo en el caso en donde el vector de movimiento óptimo es determinado a partir de un vector directo pronosticado por la unidad de cálculo del vector directo 33 de la unidad de compensación de movimiento 26) a la unidad de codificación de longitud variable 16 si el modo de codificación es un modo de codificación que realiza la compresión con base en la predicción de movimiento.
En la figura 3, una memoria de almacenamiento de mapa de vector 31 de la unidad de compensación de movimiento 26 es una memoria que almacena un vector de movimiento óptimo determinado por la unidad de predicción de movimiento 27, o en otras palabras, un vector de movimiento de una región de unidad que ha sido codificada en cada imagen. Sin embargo, aunque el almacenamiento del vector de movimiento continua si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en la predicción de movimiento, ese vector de movimiento es excluido de aquellos vectores seleccionados como objetivo para ser promediados si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en intra-predicción.
La unidad de cálculo de vector de predicción 32 realiza el procesamiento que pronostica uno o más vectores de predicción con base en las reglas prescritas al referirse a los vectores de movimiento almacenados en la memoria de almacenamiento de mapa de vector 31.
Una unidad de cálculo de vector directo 33 realiza el procesamiento que pronostica uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificación como vectores directos a partir de los vectores de movimiento almacenados en la memoria de almacenamiento de mapa de vector 31 , particularmente, los vectores de movimiento de las regiones de unidad codificadas presentes en proximidad con la región de unidad seleccionada como objetivo para codificar una imagen seleccionada como objetivo para codificación, y los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes codificadas colocadas cronológicamente antes y después de la imagen.
Adicionalmente, la unidad de cálculo de vector directo 33 compone la unidad de derivación de vector de movimiento.
La unidad de determinación de vector directo 34 realiza el procesamiento que da salida a un vector directo a la unidad de predicción de movimiento 27 si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo de vector directo 33 no incluye una región fuera de la imagen, aunque excluye al vector directo de los vectores seleccionados como objetivo para ser promediados si la región de unidad incluye una región fuera de la imagen. Adicionalmente, la unidad de determinación de vector directo 34 compone la unidad de selección de vector directo.
Una unidad de generación de imagen pronosticada de compensación de movimiento 35 realiza el procesamiento que genera una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de las regiones de unidad que tienen, como un punto de partida de las mismas, las ubicaciones de pixel indicadas por uno o más de los vectores de movimiento óptimos determinados por la unidad de predicción de movimiento 27. Adicionalmente, la unidad de generación de imagen pronosticada de compensación de movimiento 35 compone la unidad de generación de imagen pronosticada de compensación de movimiento.
A continuación se proporciona una explicación de la operación.
Sin embargo, debido a que el procesamiento de las unidades de procesamiento diferentes de la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 26 en el dispositivo de codificación de imagen 1 de la figura 2 es equivalente al procesamiento utilizado normalmente en la codificación H.264/AVC, únicamente se proporcionan explicaciones breves de la operación de las unidades de procesamiento diferentes de la unidad de determinación de vector directo 34.
Cuando los datos de imagen de una imagen son ingresados, el restador 11 determina una diferencia entre aquellos datos de imagen y los datos de imagen de una imagen intra-pronosticada generada por la unidad de compensación de intra-predicción 23 a describirse de manera subsiguiente, y da salida a los datos de diferencia en la forma de datos de intra-diferencia a la unidad de determinación de modo de codificación 13.
Adicionalmente, cuando los datos de imagen de una imagen son ingresados, el restador 12 determina una diferencia entre aquellos datos de imagen y los datos de imagen de una imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 26 a ser descrita en forma subsiguiente, y da salida a aquellos datos de diferencia en la forma de datos inter-diferencia a la unidad de determinación de modo de codificación 13.
Cuando los datos intra-diferencia son recibidos del restador 11 y los datos inter-diferencia son recibidos del restador 12, la unidad de determinación de modo de codificación 13 compara los datos intra-diferencia y los datos inter-diferencia y determina si se empleará un modo de codificación que realiza la compresión con base en la intra-predicción o un modo de codificación que realiza la compresión con base en la predicción de movimiento. Sin embargo, el método para determinar el modo de codificación basado en la comparación de los datos intra-diferencia y los datos inter-diferencia utiliza una tecnología denominada normalmente como optimización R-D (una tecnología para determinar el modo de codificación en una forma que considera adicionalmente las cantidades de código en lugar de seleccionar simplemente la menor diferencia).
Cuando la unidad de determinación de modo de codificación 13 ha determinado el modo de codificación, ésta notifica a los interruptores 19 y 28, la unidad de compensación de movimiento 26 y la unidad de codificación de longitud variable 16 ese modo de codificación.
Adicionalmente, la unidad de determinación de modo de codificación 13 da salida a los datos de intra-diferencia que salen del restador 11 a la unidad de conversión 14 en el caso en donde se emplea un modo de codificación que realiza la compresión basada en la intra-predicción, o da salida a los datos de inter-diferencia que salen del restador 12 a la unidad de conversión 14 en el caso en donde se utiliza un modo de codificación que realiza la compresión basada en la predicción de movimiento.
Cuando los datos de intra-diferencia o los datos de inter-diferencia han sido recibidos desde la unidad de determinación de modo de codificación 13, el entero de la unidad de conversión 14 convierte los datos intra-diferencia o los datos inter-diferencia, y da salida a esos datos de conversión de entero a la unidad de cuantificación 15.
Cuando se han recibido los datos de conversión de entero desde la unidad de conversión 14, la unidad de cuantificación 15 cuantifica los datos de conversión de entero y da salida a los datos cuantificados a la unidad de codificación de longitud variable 16 y la unidad de cuantificación inversa 17.
La unidad de codificación de longitud variable 16 realiza la codificación de longitud variable sobre los datos cuantificados que salen de la unidad de cuantificación 15, el modo de codificación determinado por la unidad de determinación de modo de codificación 13, y el modo de intra-predicción o la información de vector (la información de vector que se relaciona con un vector de movimiento óptimo determinado por la unidad de predicción de movimiento 27) sale del interruptor 28 a ser descrito en forma subsiguiente, y transmite esos datos codificados de longitud variable en la forma de una corriente de datos al dispositivo de codificación de imagen 2.
Cuando los datos cuantificados son recibidos desde la unidad de cuantificación 15, la unidad de cuantificación inversa 17 realiza la cuantificación inversa sobre aquellos datos cuantificados y da salida a los datos cuantificados inversos a la unidad de conversión inversa 18.
Cuando los datos cuantificados inversos son recibidos desde la unidad de cuantificación inversa 17, la unidad de conversión inversa 18 el entero inversamente convierte los datos cuantificados inversos, y da salida a aquellos datos de conversión de entero inverso en la forma de datos de diferencia de dominio de pixel al sumador 20.
El interruptor 19, da salida a los datos de imagen de la imagen intra-pronosticada generada por la unidad de compensación de intra-predicción 23 a ser descrita de forma subsiguiente al sumador 20 si el modo de codificación determinado por el modo de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en la intra-predicción, o da salida a los datos de imagen de la imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 26 a ser descrita en forma subsiguiente al sumador 20 si el modo de codificación realiza la compresión con base en la predicción de movimiento.
El sumador 20 agrega datos de imagen de la imagen intra-pronosticada o la imagen pronosticada de compensación de movimiento que sale del interruptor 19 y los datos de diferencia de dominio de pixel que salen de la unidad de conversión inversa 18, y da salida a aquellos datos de adición a la memoria de intra-predicción 21 y el filtro de circuito 24.
La unidad de intra-predicción 22 determina el modo de intra-predicción óptimo comparando datos de imagen de una imagen de entrada con los datos de imagen de pixeles periféricos almacenados en la memoria de intra-predicción 21 (datos de imagen de las imágenes de intra-predicción). Debido a que el método para determinar el modo de intra-predicción óptima utiliza la tecnología denominada normalmente como optimización R-D, se omite una explicación detallada de la misma.
Cuando la unidad de intra-predicción 22 determina el modo de intra-predicción óptimo, la unidad de compensación de intra-predicción 23 genera una imagen intra-pronosticada de aquel modo de intra-predicción a partir de los datos de imagen de pixeles periféricos almacenados en la memoria de intra-predicción 21 (datos de imagen de las imágenes de intra predicción), y da salida a los datos de imagen de la imagen intra-pronosticada al restador 11 y el interruptor 19. Sin embargo, debido a que el método para generar la imagen intra-pronosticada se describe en H.264/AVC, se omite una descripción detallada de la misma.
Cuando los datos de adición (datos de imagen de la imagen pronosticada de compensación de movimiento + los datos de diferencia de dominio de pixel) son recibidos desde el sumador 20, el filtro de circuito 24 realiza el procesamiento de filtración que remueve los componentes de ruido y los similares en un circuito de predicción contenido en esos datos de adición, y almacena los datos de adición después del procesamiento de filtrado en la memoria de cuadro 25 como los datos de imagen de las imágenes de referencia.
La unidad de compensación de movimiento 26 realiza el procesamiento que divide una pluralidad de imágenes que componen los datos de imagen en las regiones de unidad prescritas para pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento de uno o más vectores de movimiento óptimos determinados por la unidad de predicción de movimiento 27 y las imágenes de referencia almacenadas en la memoria de cuadro 25.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de compensación de movimiento 26.
Un vector de movimiento óptimo determinado previamente por la unidad de predicción de movimiento 27, particularmente, un vector de movimiento de una región de unidad codificada en cada imagen, se almacena en la memoria de almacenamiento de mapa de vector 31 de la unidad de compensación de movimiento 26. Sin embargo, aunque el vector de movimiento es continuado para ser almacenado si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en la predicción de movimiento, si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión con base en la intra-predicción, entonces el vector de movimiento es excluido de los vectores de movimiento seleccionados como objetivo para ser promediados.
La unidad de cálculo de vector de predicción 32 de la unidad de compensación de movimiento 26, calcula uno o más vectores pronosticados con base en las reglas prescritas haciendo referencia a un vector de movimiento de una región de unidad codificada en cada imagen almacenada en la memoria de almacenamiento de mapa de vector 31. Sin embargo, debido a que las reglas para calcular el vector de predicción están descritas en H.264/AVC, se omitirá una explicación detallada de las mismas.
La unidad de cálculo del vector directo 33 de la unidad de compensación de movimiento 26 pronostica uno o más vectores de movimiento de la región de unidad seleccionada como objetivo para codificación en una imagen seleccionada como objetivo para codificación, de los vectores de movimiento almacenados en la memoria de almacenamiento de mapa de vector 31 , particularmente los vectores de movimiento de las regiones de unidad codificadas presentes en proximidad con las regiones de unidad seleccionadas como objetivo para codificación, y de los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes codificadas colocadas cronológicamente antes y después de la imagen.
En este punto, las figuras 4 a 7, son dibujos explicativos que indican los contenidos de procesamiento de la unidad de cálculo de vector directo 33 descrita en H.264/AVC.
Un vector directo en H.264/AVC es un vector utilizado en una imagen B, y las figuras 4 a 7, muestran un ejemplo de un método directo de tiempo.
En este ejemplo, dos vectores directos (refiérase a los vectores de la imagen B) como los que se muestran en la figura 7, son calculados por la unidad de cálculo de vector directo 33.
En consecuencia, cuando la unidad de generación de imagen pronosticada de compensación de movimiento 35 a ser descrita en forma subsiguiente genera una imagen pronosticada de compensación de movimiento, ésta se refiere a una ubicación de imagen como la que se muestra en la figura 8, y realiza una referencia en la cual uno de los vectores directos incluye una región fuera de la imagen (refiérase a la linea punteada de la imagen P).
Sin embargo, aún si un extremo conductor del vector directo indica un área dentro de la imagen, el vector directo indica un área fuera de la imagen en el caso en donde la región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por el vector directo, incluye una región fuera de la imagen.
Una tecnología denominada normalmente como "expansión de borde de imagen" es definida por estándares en H.264/AVC. Particularmente, como se muestra en la figura 9, esta tecnología estandariza la determinación de los pixeles de imagen exteriores en una forma de manera que los pixeles se extienden a lo largo de los bordes de la imagen al exterior de la imagen.
Como resultado, debido a que una imagen de predicción de modo directo sale para una porción en gris mostrada en la figura 9 desde la unidad de generación de imagen pronosticada de compensación de movimiento 35 como una porción de una imagen pronosticada de compensación de movimiento, esto conduce a una disminución en la eficiencia de predicción.
De modo incidental, en el caso en donde las imágenes mostradas en este ejemplo son codificadas utilizando el método típico de H.264/AVC, aproximadamente se requieren 30 bits para codificar ese bloque (la codificación es requerida utilizando (CAVLC, B_16 X 16_L0, vector de movimiento (8, 0, 8, 0), no coeficiente)).
En esta primera modalidad, la determinación del vector directo es realizada con un algoritmo como el que se muestra en la figura 10, con el objeto de evitar la salida de las imágenes pronosticadas de modo directo como las que se describieron anteriormente.
El algoritmo mostrado en la figura 10, es un algoritmo que designa un vector directo que indica una región que incluye un área fuera de la imagen como un utilizada, y la unidad de determinación de vector directo descrita en forma subsiguiente 34 ejecuta este algoritmo.
Cuando un vector directo que indica una región que incluye un área fuera de la imagen se indica como no utilizada, se hace referencia únicamente en una dirección, y debido a que la imagen pronosticada de modo directo coincide con la imagen seleccionado como objetivo para la codificación, la eficiencia de predicción es mejorada de modo considerable.
En este ejemplo de la primera modalidad, es suficiente codificar B_Skip (aunque B_Skip constituye la codificación de longitud variable, es conocida de manera general para ser un promedio de 1 bit o menos).
En el caso en donde la unidad de cálculo de vector directo 33 pronostica uno o más vectores directos, aunque la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 26 da salida a ese vector directo a la unidad de predicción de movimiento 27 si una región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por ese vector directo no incluye una región fuera de la imagen; si la región de unidad que tiene, como un punto de partida de la misma, la ubicación de pixel indicada por ese vector directo incluye una región fuera de la imagen, ese vector es excluido de los vectores seleccionados como objetivo para ser promediados.
Sin embargo, en el caso en donde todos los vectores directos pronosticados por la unidad de cálculo de vector directo 33 corresponde a un vector directo que indica una unidad de región que incluye una región fuera de la imagen, entonces aquellos vectores directos salen de manera excepcional a la unidad de predicción de movimiento 27 sin excluirse de los vectores seleccionados como objetivo para promediarse en la unidad de determinación de vector directo 34.
La unidad de predicción de movimiento 27 determina uno o más de los vectores de movimiento óptimo de los datos de imagen de una imagen, los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25, un vector de predicción pronosticado por la unidad de cálculo de vector de predicción 32 de la unidad de compensación de movimiento 26, y uno o más vectores directos que permanecen sin ser excluidas de los vectores seleccionados como objetivo para ser promediados por la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 26.
Por ejemplo, en el caso de un vector de movimiento de la imagen P, un vector de movimiento único se determina como el vector de movimiento óptimo, mientras que en el caso de un vector de movimiento de la imagen B, dos vectores de movimiento son determinados como los vectores de movimiento óptimos. Sin embargo, el método para determinar uno o más de los vectores de movimiento óptimos consiste en realizar el procesamiento para determinar uno o más vectores de movimiento óptimos realizado de acuerdo con la tecnología a la que se hace referencia normalmente como la optimización R-D (la tecnología para determinar los vectores de movimiento en la forma que considera adicionalmente las cantidades de código de los vectores de movimiento en lugar de reducir al mínimo simplemente la diferencia entre los datos de imagen y los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25).
Cuando un vector de movimiento óptimo se ha determinado, la unidad de predicción de movimiento 27 da salida a la información del vector que se relaciona con ese vector de movimiento óptimo al interruptor 28.
Particularmente, si la unidad de predicción de movimiento 27 determina un vector de movimiento óptimo utilizando un vector de predicción pronosticado por la unidad de cálculo del vector de predicción 32 de la unidad de compensación de movimiento 26 cuando se determina el vector de movimiento óptimo, este da salida a un vector de diferencia que indica una diferencia entre el vector de movimiento y el vector de predicción al conmutador 28 como la información de vector.
Si la unidad de predicción de movimiento 27 determina el vector de movimiento óptimo utilizando un vector directo pronosticado por la unidad de cálculo de vector directo 33 de la unidad de compensación de movimiento 26 cuando se determina el vector de movimiento óptimo, éste da salida a la información que indica que el vector de movimiento óptimo se ha determinado a partir de un vector directo del interruptor 28 como la información de vector.
Cuando la unidad de predicción de movimiento 27 ha determinado únicamente un vector de movimiento óptimo, la unidad de generación de imagen pronosticada de compensación de movimiento 35 de la unidad de compensación de movimiento 26 genera un valor de pixel de la región de unidad que tiene, como un punto de partida de la misma, la ubicación de pixel indicada por ese vector de movimiento como una imagen pronosticada de compensación de movimiento.
Adicionalmente, cuando la unidad de compensación de movimiento 27 ha determinado dos o más vectores de movimiento óptimos, la unidad de generación de imagen pronosticada de compensación de movimiento 35 genera una imagen pronosticada de compensación de movimiento determinando un promedio de los valores de pixel de las regiones de unidad que tienen, para puntos de partida de los mismos, las ubicaciones de pixel indicadas por los dos o más vectores de movimiento óptimos.
De esta forma, como un resultado de la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 26 que excluye un vector directo que indica una región de unidad que incluye una región fuera de la imagen a partir de los vectores seleccionados como objetivo para ser promediados, la imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento 35 se vuelve como se muestra en la figura 10.
En consecuencia, aunque B_Skip no puede ser codificado con H.264/AVC, para las porciones que requieren códigos de aproximadamente 30 bits, B Skip puede ser codificado en esta primera modalidad, requiriendo de esta manera únicamente 1 bit de código y permitiendo la ventaja de que se obtiene la eficiencia de predicción mejorada.
El interruptor 28 da salida al modo de intra-predicción óptima determinada por la unidad de intra-predicción 22 a la unidad de codificación de longitud variable 16 si el modo de codificación determinado por la unidad de determinación de modo de codificación 13 es un modo de codificación que realiza la compresión basada en intra-predicción, o da salida a la información de vector que se relaciona con el vector de movimiento óptimo determinado por la unidad de predicción de movimiento 27 a la unidad de codificación de longitud variable 16 si el modo de codificación realiza la compresión basada en la predicción de movimiento.
Configuración del dispositivo de decodificación de imagen 2 La figura 11 , es un diagrama de bloques que muestra el dispositivo de decodificación de imagen 2 de acuerdo con la primera modalidad de la presente invención, mientras que la figura 12, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 50 en el dispositivo de decodificación de imagen 2 de la figura 11.
La configuración básica del dispositivo de decodificación de imagen 2 de la figura 1 1 es la misma que la configuración de un dispositivo de decodificación de imagen utilizado normalmente en un decodificador H.264/AVC.
Sin embargo, aunque una unidad de determinación de vector directo 66 de la figura 12, no está montado en la unidad de compensación de movimiento 50 en un decodificador H.264/AVC, la unidad de determinación de vector directo 66 se monta en la unidad de compensación de movimiento 50 del dispositivo de decodificación de imagen 2 de la figura 11, diferenciando a los dos con respecto a este punto.
En la figura 11 , cuando una unidad de decodificación de longitud variable 41 recibe una corriente de bit transmitida desde el dispositivo de codificación de imagen 1 , éste analiza la sintaxis de la corriente de bit, da salida a los datos codificados de señal residual de predicción que corresponden a los datos cuantificados que salen desde la unidad de cuantificación 15 del dispositivo de codificación de imagen 1 a una unidad de cuantificación inversa 42, y da salida al modo de codificación determinado por la unidad de determinación del modo de codificación 13 del dispositivo de codificación de imagen 1 a los interruptores 46 y 51. Adicionalmente, la unidad de decodificación de longitud variable 41 realiza el procesamiento que da salida a una modo de intra-predicción que sale desde la unidad de intra-predicción 22 del dispositivo de codificación de imagen 1 o la información de vector que sale de la unidad de predicción de movimiento 27 al interruptor 46, y da salida a la información del vector que sale de la unidad de predicción de movimiento 27 a la unidad de compensación de movimiento 50.
La unidad de cuantificación inversa 42 realiza el procesamiento que cuantifica de manera inversa los datos codificados de señal residual de predicción que salen de la unidad de decodificación de longitud variable 41 , y da salida a los datos cuantificados inversamente a una unidad de conversión inversa 43.
La unidad de conversión inversa 43 realiza el procesamiento en que el entero inversamente convierte los datos cuantificados inversamente que salen de la unidad de cuantificación inversa 42, y da salida a los datos de conversión de entero inverso en la forma de un valor decodificado de señal residual de predicción a un sumador 44.
El sumador 44 realiza el procesamiento que agrega datos de imagen de una imagen intra-pronosticada o imagen pronosticada de compensación de movimiento que sale del interruptor 51 y el valor decodificado de señal de residual de predicción que sale de la unidad de conversión inversa 43.
Un filtro de circuito 45 realiza el procesamiento de filtración que remueve los componentes de ruido y los similares en un circuito de predicción contenido en esos datos de adición que salen del sumador 44, y la salida a los datos de adición después del procesamiento de filtración como datos de imagen de una imagen decodificada (imagen).
Adicionalmente, la unidad de decodificación está compuesta de la unidad de decodificación de longitud variable 41 , la unidad de cuantificación inversa 42, la unidad de conversión inversa 43, el sumador 44 y el filtro de circuito 45.
El interruptor 46 realiza el procesamiento que da salida a un modo de intra-predicción que sale de la unidad de decodificación de longitud variable 41 a una unidad de compensación de intra-predicción 48 si el modo de codificación que sale de la unidad de decodificación de longitud variable 41 es un modo de codificación que realiza la compresión con base en intra-predicción, o da salida a la información de vector que sale de la unidad de decodificación de longitud variable 41 a la unidad de compensación de movimiento 50 si el modo de codificación realiza la compresión con base en la predicción de movimiento.
Una memoria de intra-predicción 47 es una memoria que almacena los datos de adición que salen del sumador 44 como datos de imagen de imágenes de intra-predicción.
La unidad de compensación de intra-predicción 48 realiza el procesamiento que genera una imagen intra-pronosticada del modo de intra-predicción que sale mediante el interruptor 46 a partir de los datos de imagen de los pixeles periféricos (datos de imagen de las imágenes de intra-predicción) almacenados en la memoria de intra-predicción 47.
Una memoria de cuadro 49 es una memoria que almacena los datos de imagen que salen del filtro de circuito 45 como los datos de imagen de las imágenes de referencia.
La unidad de compensación de movimiento 50 realiza el procesamiento que divide una pluralidad de imágenes que componen los datos de imagen en las regiones de unidad pronosticadas para predecir uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento a partir de los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 49.
El interruptor 51 realiza el procesamiento que da salida a los datos de imagen de una imagen intra-pronosticada generada por la unidad de compensación de intra-predicción 48 al sumador 44 si el modo de codificación que sale de la unidad de decodificación de longitud variable 41 es un modo de codificación que realiza la compresión con base en la intra-predicción, o da salida a los datos de imagen de una imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 50 al sumador 44 si el modo de codificación realiza la compresión con base en la predicción de movimiento.
En la figura 12, una memoria de almacenamiento de mapa de vector 61 de la unidad de compensación de movimiento 50 es una memoria que almacena un vector de movimiento que sale de un interruptor 67, particularmente, un vector de movimiento de una región de unidad decodificada en cada imagen.
Un interruptor 62 realiza el procesamiento que inicia una unidad de cálculo del vector de predicción 63 si la información del vector que sale de la unidad de decodificación de longitud variable 41 corresponde a un vector de diferencia, o inicia una unidad de cálculo del vector directo 65 si la información de vector indica que el vector de movimiento óptimo se ha determinado a partir de un vector directo.
La unidad de cálculo de vector de predicción 63 realiza el procesamiento que se refiere a un vector de movimiento almacenado en la memoria de almacenamiento de mapa de vector 61 , y pronostica uno o más vectores de predicción con base en las reglas prescritas.
Un sumador 64 realiza el procesamiento que agrega un vector de predicción pronosticado por la unidad de cálculo del vector de predicción 63 a un vector de diferencia que sale de la unidad de decodificación de longitud variable 41 (información de vector que sale de la unidad de decodificación de longitud variable 41 corresponde a un vector de diferencia en la situaciones en las cuales, la unidad de cálculo del vector de predicción 63 se han iniciado), y da salida al resultado de adición en la forma de un vector de movimiento al interruptor 67.
La unidad de cálculo de vector directo 65 realiza el procesamiento que pronostica uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para decodificar una imagen seleccionada como objetivo para decodificación, a partir de los vectores de movimiento almacenados en la memoria de almacenamiento de mapa de vector 61 , particularmente, los vectores de movimiento de las regiones de unidad decodificadas presentes en proximidad con la región de unidad seleccionada como objetivo para la decodificación, y de los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes decodificadas colocadas cronológicamente antes y después de la imagen. Adicionalmente, la unidad de cálculo del vector directo 65 compone la unidad de derivación de vector de movimiento.
La unidad de determinación de vector directo 66 realiza el procesamiento que da salida al vector directo al interruptor 67 si una región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo de vector directo 65 no incluye una región fuera de la imagen, sino que excluye el vector directo de los vectores seleccionados como objetivo para promediar en el caso de incluir una región fuera de la imagen. Adicionalmente, la unidad de determinación de vector directo 66 compone la unidad de selección de vector de movimiento.
El interruptor 67 realiza el procesamiento que da salida a un vector de movimiento que sale del sumador 64 a una unidad de generación de imagen pronosticada de compensación de movimiento 68 y la memoria de almacenamiento de mapa de vector 61 si la información de vector que sale de la unidad de decodificación de longitud variable 41 corresponde a un vector de diferencia, o da salida a un vector directo que es un vector de movimiento que sale de la unidad de determinación del vector directo 66 a la unidad de generación de imagen pronosticada de compensación de movimiento 68 y la memoria de almacenamiento de mapa de vector 61 si la información de vector indica que un vector de movimiento óptimo se ha determinado a partir del vector directo.
La unidad de generación de imagen pronosticada de compensación de movimiento 68 realiza el procesamiento que genera una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indiada por uno o más vectores de movimiento que sale del interruptor 67. Adicionalmente, la unidad de generación de imagen pronosticada de compensación de movimiento 68 compone la unidad de generación de imagen pronosticada de compensación de movimiento.
A continuación se proporciona una explicación de la operación. Cuando la unidad de decodificación de longitud variable 41 recibe una corriente de bit transmitida desde el dispositivo de codificación de imagen animada 1 , éste analiza la sintaxis de esa corriente de bit.
Como resultado, esto da salida a los datos codificados de señal residual de predicción que corresponden a los datos cuantificados que salen de la unidad de cuantificación 15 de la unidad de codificación de imagen 1 a la unidad de cuantificación inversa 42, y da salida a un modo de codificación determinado por la unidad de determinación de modo de codificación 13 del dispositivo de codificación de imagen 1 a los interruptores 46 y 51.
Adicionalmente, la unidad de decodificación de longitud variable 41 da salida a un modo de intra-predicción que sale de la unidad de intra-predicción 22 del dispositivo de codificación de imagen 1 o un vector de diferencia (información de vector) que sale de la unidad de predicción de movimiento 27 al interruptor 46, y da salida a la información de vector que sale de la unidad de predicción de movimiento 27 a la unidad de compensación de movimiento 50.
Cuando los datos codificados de señal residual de predicción se han recibido desde la unidad de decodificación de longitud variable 41 , la unidad de cuantificación inversa 42 cuantifica inversamente los datos codificados de señal residual de predicción y da salida a esos datos cuantificados inversamente a la unidad de conversión inversa 43.
Cuando los datos cuantificados inversamente son recibidos desde la unidad de cuantificación inversa 42, la unidad de conversión inversa 43 del entero inversamente convierte los datos cuantificados inversamente y da salida a esos datos de conversión de entero inverso en la forma de un valor decodificado de señal residual de predicción al sumador 44.
El interruptor 46 da salida a un modo de intra-predicción que sale de la unidad de decodificación de longitud variable 41 a la unidad de compensación de intra-predicción 48 si el modo de codificación que sale de la unidad de decodificación de longitud variable 41 es un modo de codificación que realiza la compresión con base en intra-predicción, o da salida a la información de vector de la unidad de decodificación de longitud variable 41 a la unidad de compensación de movimiento 50 si el modo de codificación realiza la compresión con base en la predicción de movimiento.
Cuando un modo de intra-predicción es recibido desde el interruptor 46, la unidad de compensación de intra-predicción 48 genera una imagen intra-pronosticada de ese modo de intra-predicción de los datos de imagen de los pixeles periféricos (datos de imagen de las imágenes de intra-predicción) almacenados en la memoria de intra-predicción 47, y da salida a los datos de imagen de aquella imagen intra-pronosticada al interruptor 51. Sin embargo, debido a que el método para la generación de la imagen intra-pronosticada se describió en H.264/AVC, se omite una explicación detallada de la misma.
Cuando la información de vector es recibida desde el interruptor 46, la unidad de compensación de movimiento 50 divide una pluralidad de imágenes que componen los datos de imagen en regiones de unidad prescritas para de esta manera, pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento de los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 49.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de compensación de movimiento 50.
Un vector de movimiento calculado previamente, particularmente un vector de movimiento de una región de unidad decodificada en cada imagen, se almacena en la memoria de almacenamiento de mapa de vector 61 de la unidad de compensación de movimiento 50.
Cuando la información de vector se recibe desde la unidad de decodificación de longitud variable 41 , el interruptor 62 de la unidad de compensación de movimiento 50 determina si la información de vector corresponde a un vector de diferencia o la información de vector es la información que indica que un vector de movimiento óptimo se ha determinado a partir un vector diferente.
El interruptor 62 inicia la unidad de cálculo de vector de predicción 63 si la información de vector corresponde a un vector de diferencia, o inicia la unidad de cálculo de vector directo 65 si la información de vector es información que indica que un vector de movimiento óptimo se ha determinado a partir de un vector directo.
Cuando un comando de iniciación es recibido desde el interruptor 62, la unidad de cálculo del vector de predicción 63 de la unidad de compensación de movimiento 50 calcula uno o más vectores de predicción con base en las reglas prescritas haciendo referencia a un vector de movimiento de una región de unidad decodificada en cada imagen almacenada en la memoria de almacenamiento de mapa de vector 61. Sin embargo, debido a que el método para calcular el vector de predicción se describe en H.264/AVC, se omite una descripción detallada del mismo.
Cuando uno o más vectores de predicción son recibidos desde la unidad de cálculo de vector de predicción 63, el sumador 64 de la unidad de compensación de movimiento 50 agrega cada vector de predicción a un vector de diferencia que sale de la unidad de decodificación de longitud variable 41 (información de vector que sale de la unidad de decodificación de longitud variable 41 corresponde a un vector de diferencia en las situaciones en las cuales, la unidad de cálculo de vector de predicción 63 se ha iniciado), y da salida al resultado de adición en la forma de un vector de movimiento al interruptor 67.
Cuando un comando de iniciación es recibido desde el interruptor 62, la unidad de cálculo de vector directo 65 de la unidad de compensación de movimiento 50 pronostica uno o más vectores de movimiento como vectores directos de una región de unidad seleccionada como objetivo para decodificación en una imagen seleccionada como objetivo para decodificación, a partir de los vectores de movimiento almacenados en la memoria de almacenamiento de mapa de vector 61 , particularmente los vectores de movimiento de las regiones de unidad decodificadas presentes en proximidad a la región de unidad seleccionada como objetivo para decodificación, y a partir de los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes decodificadas colocadas cronológicamente antes y después de la imagen.
Adicionalmente, debido a que los contenidos de procesamiento de la unidad de cálculo del vector directo 65 son similares a los contenidos de procesamiento de la unidad de cálculo de vector directo 33 de la figura 3, se imite una explicación detallada de los mismos (véanse las figuras 4 a 7).
Cuando uno o más vectores directos son pronosticados por la unidad de cálculo de vector directo 65, la unidad de determinación de vector directo 66 de la unidad de compensación de movimiento 50 da salida al vector directo al interruptor 67 si una región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por aquel vector directo no incluye una región fuera de la imagen, aunque excluye el vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde la región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la imagen.
Sin embargo, en el caso en donde todos los vectores directos pronosticados por la unidad de cálculo de vector directo 65 corresponden a un vector directo que indica una región de unidad que incluye una región fuera de la imagen, entonces aquellos vectores directos salen de manera excepcional al interruptor 67 sin ser excluidos de los vectores seleccionados como objetivo para promediarse en la unidad de determinación de vector directo 66.
Adicionalmente, los contenidos de procesamiento de la unidad de determinación de vector directo 66 son similares a los contenidos de procesamiento de la unidad de determinación de vector directo 34 de la figura 3.
El interruptor 67 de la unidad de compensación de movimiento 50 determina si la información de vector que sale de la unidad de decodificación de longitud variable 41 corresponde a un vector de diferencia, o esa información de vector es información que indica que un vector de movimiento óptimo se ha determinado a partir de un vector directo.
El interruptor 67 da salida a un vector de movimiento que sale del sumador 64 a la unidad de generación de imagen pronosticada de compensación de movimiento 68 y la memoria de almacenamiento de mapa de vector 61 si la información de vector corresponde a un vector de diferencia, o da salida a un vector directo que es un vector de movimiento que sale de la unidad de determinación de vector directo 66 a la unidad de generación de imagen pronosticada de compensación de movimiento 68 y la memoria de almacenamiento de mapa de vector 61 si la información de vector indica que un vector de movimiento óptimo se ha determinado a partir del vector directo.
Cuando únicamente se ha recibido un vector de movimiento desde el interruptor 67, la unidad de generación de imagen pronosticada de compensación de movimiento 68 de la unidad de compensación de movimiento 50 genera un valor de pixel de la región de unidad que tiene, como un punto de partida de la misma, la ubicación de pixel indicada por aquel vector de movimiento como una imagen pronosticada de compensación de movimiento.
Adicionalmente, cuando dos o más vectores de movimiento son recibidos desde el interruptor 67, la unidad de generación de imagen pronosticada de compensación de movimiento 68 genera una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de las regiones de unidad que tienen para puntos de partida de las mismas, las ubicaciones de pixel indicadas por los dos o más vectores de movimiento óptimos.
Adicionalmente, los contenidos de procesamiento de la unidad de generación de imagen pronosticada de compensación de movimiento 68 son similares a los contenidos de procesamiento de la unidad de generación de imagen pronosticada de compensación de movimiento 35 de la figura 3.
De esta forma, como resultado de la unidad de determinación de vector directo 66 de la unidad de compensación de movimiento 50 excluyendo un vector directo que indica una región de unidad que incluye una región fuera de la imagen a partir de los vectores seleccionados como objetivo para ser promediados, la imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento 68 se vuelve como se muestra en la figura 10.
En consecuencia, aunque B Skip no puede ser codificado con H.264/AVC, para las porciones que requieren los códigos de aproximadamente 30 bits, B_Skip puede ser codificado en esta primera modalidad, requiriendo de esta manera, únicamente un bit de código y permitiendo se obtenga la ventaja de eficiencia de predicción mejorada.
El interruptor 51 da salida a los datos de imagen de una imagen intra-pronosticada generada por la unidad de compensación de intra-predicción 48 al sumador 44 si el modo de codificación que sale de la unidad de decodificación de longitud variable 41 es un modo de codificación que realiza la compresión con base en la intra-predicción, o da salida a los datos de imagen de una imagen pronosticada de compensación de movimiento generada por la unidad de compensación de movimiento 50 al sumador 44 si el modo de codificación realiza la compresión con base en la predicción de movimiento.
Cuando un valor decodificado de señal residual de predicción es recibido desde la unidad de conversión inversa 43 y los datos de imagen de una imagen intra-pronosticada o imagen pronosticada de compensación de movimiento es recibida desde el interruptor 51 , el sumador 44 agrega ese valor decodificado de señal residual de predicción y los datos de imagen de la imagen intra-pronosticada o imagen pronosticada de compensación de movimiento, y da salida a los datos de adición al filtro de circuito 45.
Adicionalmente, el sumador 44 almacena esos datos de adición en la memoria de intra-predicción 47 como los datos de imagen de las imágenes de intra- predicción.
Cuando los datos de adición son recibidos desde el sumador 44, el filtro de circuito 45 realiza el procesamiento de filtrado que remueve los componentes de ruido y los similares en el circuito de predicción contenido en esos datos de adición, y da salida a los datos de adición después del procesamiento de filtrado como datos de imagen de una imagen decodificada (imagen).
Adicionalmente, el filtro de circuito 45 almacena los datos de imagen de una imagen decodificada en la memoria de cuadro 49 como los datos de imagen de las imágenes de referencia.
Como es evidente a partir de la explicación anterior, de acuerdo con esta primera modalidad, debido a que el dispositivo de codificación de imagen 1 es provisto con la unidad de cálculo de vector directo 33, la cual pronostica uno o más vectores de movimiento como los vectores directos de la región de unidad seleccionados como objetivo para codificación en una imagen seleccionada como objetivo para codificación, a partir de los vectores de movimiento de las regiones de unidad codificadas presentes en proximidad con las regiones de unidad seleccionadas como objetivo para la codificación, y a partir de los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes codificadas colocadas cronológicamente antes y después de la imagen, la unidad de determinación de vector directo 34, la cual excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo de vector directo 33 incluye una región fuera de la imagen, y el generador de imagen pronosticada de compensación de movimiento 35, la cual genera una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de las regiones de unidad que tienen, como un punto de partida de las mismas, las ubicaciones de pixel indicadas por uno o más vectores directos que permanecen sin ser excluidos de los vectores seleccionados como objetivo para ser promediados por la unidad de determinación de vector directo 34, y debido a que el dispositivo de codificación de imagen 1 está configurado de manera que determina una imagen de diferencia entre una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento 35 y una imagen y codifica esa imagen de diferencia, se demuestra el efecto de tener la capacidad de evitar el deterioro de la calidad de imagen en los macro bloques a lo largo del borde de una imagen sin conducir a una disminución en la proporción de compresión.
Adicionalmente, debido a que el dispositivo de decodificación de imagen 2 es provisto con la unidad de cálculo de vector de dirección 65, la cual pronostica uno o más vectores de movimiento como vectores directos de una región de unidad seleccionada como objetivo para decodificación en una imagen seleccionada como objetivo para decodificación, a partir de los vectores de movimiento de las regiones de unidad decodificadas presente en proximidad con la región de unidad seleccionada como objetivo para decodificación, y los vectores de movimiento de las regiones de unidad en la misma ubicación que la región de unidad en las imágenes decodificadas colocadas cronológicamente antes y después de la imagen, la unidad de determinación de vector directo 66, la cual excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo del vector directo 65, incluye una región fuera de la imagen, y la unidad de generación de imagen pronosticada de compensación de movimiento 68, la cual genera una imagen pronosticada de compensación de movimiento determinando un promedio de los valores de pixel de las regiones de unidad que tienen, como un punto de partida de las mismas, ubicaciones de pixel indicadas por uno o más vectores directos que permanecen sin ser excluidos de los vectores seleccionados como objetivo para ser promediados por la unidad de determinación de vector directo 66, y debido a que el dispositivo de decodificación de imagen 2 está configurado de manera que decodifica una señal residual de predicción a partir de los datos codificados por compresión de una imagen, y agrega el valor decodificado de señal residual de predicción y la imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento 68, se demuestra el efecto de tener la capacidad de restaurar los datos de imagen de las imágenes decodificando una corriente de bit que sale del dispositivo de codificación de imagen 1 de la figura 2.
Adicionalmente, aunque esta primera modalidad indicó el ejemplo del uso de H.264/AVC para el método de codificación de video, la primera modalidad puede ser aplicada de manera similar a los otros métodos de codificación similares al H.264/AVC (tal como MPEG-2, MPEG-4 visual o SMPTE VC-1 ).
Segunda modalidad Configuración del dispositivo de codificación de imagen 1 La figura 13, es un diagrama de bloques que muestra el dispositivo de codificación de imagen 1 de acuerdo con una segunda modalidad de la presente invención, y en este dibujo, se utilizan los mismos símbolos de referencia para indicar aquellas porciones que son idénticas o equivalentes a aquellas de la figura 2, y se omite una explicación de las mismas.
Adicionalmente, la figura 14, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 71 en el dispositivo de codificación de imagen 1 de la figura 13, y en este dibujo también, se utilizan los mismos símbolos de referencia para indicar aquellas porciones que son idénticas o equivalentes a aquellas de la figura 3, y se omite una explicación de las mismas.
Las figuras 13 y 14, la unidad de compensación de movimiento 71 realiza el procesamiento que divide una pluralidad de imágenes que componen los datos de imagen en las regiones de unidad prescritas para pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento a partir de uno o más vectores de movimiento óptimos determinados por una unidad de predicción de movimiento 72 y datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 25.
Sin embargo, la unidad de compensación de movimiento 71 difiere de la unidad de compensación de movimiento 26 de la figura 2 en que, todos los vectores directos pronosticados por la unidad de cálculo de vector directo interna 33 salen a la unidad de predicción de movimiento 72 en lugar de únicamente uno o más vectores directos que permanecen como vectores seleccionados como objetivo para ser promediados sin ser excluidos por la unidad de determinación de vector directo interno 34.
Aunque la unidad de predicción de movimiento 72 determina un vector de movimiento óptimo utilizando un vector directo o vector de movimiento en la misma forma que la unidad de predicción de movimiento 27 de la figura 2, debido a que recibe todos los vectores directos pronosticados por la unidad de cálculo de vector directo 33 desde la unidad de compensación de movimiento 71 en lugar de uno o más vectores directos que permanecen como vectores seleccionados como objetivo para promediarse sin ser excluidos por la unidad de determinación de vector directo 34, se seleccionan aquellos vectores directos cercanos a los bordes de la imagen que tienen una eficiencia de predicción superior.
Adicionalmente, la unidad de predicción de movimiento 72 da salida a la información que indica cuál vector directo se ha seleccionado para el interruptor 28 que se incluye en la información de vector.
A continuación, se proporciona una explicación de la operación. La unidad de compensación de movimiento 71 da salida a uno o más vectores de predicción pronosticados por la unidad de cálculo de vector de predicción interna 32 a la unidad de predicción de movimiento 72, y da salida a uno o más vectores directos (a ser denominados como "vector directo A") que permanecen como vectores seleccionados como objetivo para ser promediados sin ser excluidos por la unidad de determinación de vector directo interno 34 a la unidad de predicción de movimiento 72.
Adicionalmente, la unidad de compensación de movimiento 71 da salida a todos los vectores directos (a ser denominados como "vectores directos B") pronosticados por la unidad de cálculo de vector directo interno 33 a la unidad de predicción de movimiento 72.
Aunque la unidad de predicción de movimiento 72 determina un vector de movimiento óptimo en la misma forma que la unidad de predicción de movimiento 27 de la figura 2, cuando un vector directo y vector de predicción son recibidos desde la unidad de compensación de movimiento 71 , debido a que los vectores directos B también son recibidos desde la unidad de compensación de movimiento 71 además del vector directo A, el vector directo A o los vectores directos B son seleccionados después de la determinación de cuál de los vectores directos tiene como resultado una eficiencia de predicción superior cercanos a los bordes de la imagen.
Debido a que la eficiencia de predicción disminuye en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo, incluye una región fuera de la imagen como la que se explicó anteriormente en la primera modalidad, aunque el uso del vector directo A en lugar de los vectores directos B produce una eficiencia de predicción superior cerca de los bordes de la imagen, en el caso en donde, por ejemplo, el área de una región fuera de la imagen incluida en una región de unidad es extremadamente pequeña, el uso de los vectores directos B puede producir una eficiencia de predicción superior cerca de los bordes de la imagen.
Adicionalmente, el método para seleccionar un vector directo que produce la eficiencia de predicción más alta utiliza la tecnología denominada normalmente como una optimización R-D, y el procesamiento es realizado , para determinar el vector directo óptimo.
Cuando un vector de movimiento óptimo se ha determinado, la unidad de predicción de movimiento 72 da salida a la información de vector que se relaciona con aquella de vector de movimiento óptimo al interruptor 28.
Particularmente, cuando se determina un vector de movimiento óptimo, si el vector de movimiento óptimo se determina utilizando un vector de predicción pronosticado por la unidad de cálculo del vector de predicción 32 de la unidad de compensación de movimiento 71 , la unidad de predicción de movimiento 72 da salida a un vector de diferencia que indica una diferencia entre ese vector de movimiento y el vector de predicción al interruptor 28 como la información del vector.
Cuando se determina un vector de movimiento óptimo, si el vector de movimiento óptimo se determina utilizando el vector directo A que sale de la unidad de determinación de vector directo 34 de la unidad de compensación de movimiento 71 , la unidad de predicción de movimiento 72 da salida a la información que indica que el vector de movimiento óptimo se ha determinado a partir de un vector directo, y la información que indica que el vector directo A sale de la unidad de determinación de vector directo 34 se ha seleccionado, para el interruptor 28 como la información de vector.
Cuando se determina un vector de movimiento óptimo, si el vector de movimiento óptimo es determinado utilizando los vectores directos B que salen de la unidad de cálculo de vector directo 33 de la unidad de compensación de movimiento 71 , la unidad de predicción de movimiento 72 da salida a la información que indica que el vector de movimiento óptimo se ha determinado a partir de un vector directo, y la información que indica que los vectores directos B salen de la unidad de cálculo de vector directo 33 se han seleccionado, al interruptor 28 como la información del vector.
Configuración del dispositivo de decodificación de imagen 2 La figura 15, es un diagrama de bloques que muestra el dispositivo de decodificación de imagen 2 de acuerdo con una segunda modalidad de la presente invención, y en este dibujo, se utilizan los mismos números de referencia para indicar aquellas porciones que son idénticas o equivalentes a aquellas de la figura 1 , y se omite una explicación de las mismas.
Adicionalmente, la figura 16, es un diagrama de bloques que muestra el interior de una unidad de compensación de movimiento 80 en el dispositivo de decodificación de imagen 2 de la figura 15, y en este dibujo también, se utilizan los mismos números de referencia para indicar aquellas porciones que son idénticas o equivalentes a aquellas de la figura 12, y se omite una explicación de las mismas.
En las figuras 15 y 16, la unidad de compensación de movimiento 80 realiza el procesamiento que divide una pluralidad de imágenes que componen los datos de imagen en regiones de unidad prescritas para pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento a partir de los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 49.
Sin embargo, la unidad de compensación de movimiento 80 difiere de la unidad de compensación de movimiento 50 de la figura 1 1 porque, un vector directo que sale de la unidad de determinación de vector directo interna 66 o la unidad de cálculo de vector directo 65 se selecciona de acuerdo con la información de selección del vector directo A o los vectores directos B incluidos en la información de vector que sale de la unidad de decodificación de longitud variable 41.
Un interruptor 81 de la unidad de compensación de movimiento 80 selecciona un vector directo que sale de la unidad de determinación de vector directo 66 y da salida a ese vector directo al interruptor 67 si la información de selección de vector directo incluida en la información de vector que sale de la unidad de decodificación de longitud variable 41 indica que el vector directo A se ha seleccionado, o selecciona un vector directo que sale de la unidad de cálculo de vector directo 65 y da salida a ese vector directo al interruptor 67 si la información de selección de vector directo indica que los vectores directos B se han seleccionado.
A continuación se proporciona una explicación de la operación. La unidad de compensación de movimiento 80 divide una pluralidad de imágenes que componen los datos de imagen en regiones de unidad prescritas para pronosticar uno o más vectores de predicción o vectores directos de cada región de unidad, y también genera una imagen pronosticada de compensación de movimiento a partir de los datos de imagen de las imágenes de referencia almacenadas en la memoria de cuadro 49 en la misma forma que la unidad de compensación de movimiento 50 de la figura 1 1.
Sin embargo, a diferencia de la unidad de compensación de movimiento 50 de la figura 1 1 , la unidad de compensación de movimiento 80 selecciona un vector directo que sale de la unidad de determinación de vector directo interno 66 o la unidad de cálculo de vector directo 65 de acuerdo con la información de selección del vector directo A o los vectores directos B incluidos en la información de vector que sale de la unidad de decodificación de longitud variable 41.
Particularmente, cuando la información de vector es recibida desde la unidad de decodificación de longitud variable 41 , el interruptor 81 de la unidad de compensación de movimiento 80 selecciona una salida de vector directo desde la unidad de determinación de vector directo 66 y da salida a ese vector directo al interruptor 67 si la información de selección de vector directo incluida en esa información de vector indica que el vector directo A se ha seleccionado, o selecciona un vector directo que sale de la unidad de cálculo de vector directo 65 y da salida a ese vector directo al interruptor 67 si la información de selección de vector directo indica que los vectores directos B se han seleccionado.
Como es evidente a partir de la explicación anterior, de acuerdo con esta segunda modalidad, debido a que se genera una imagen pronosticada de compensación de movimiento al seleccionar el vector directo A o los vectores directos B, se demuestra el efecto de mejorar la posibilidad de mejorar la eficiencia de predicción cerca de los bordes de la imagen.
Adicionalmente, esto sin decir que los diversos tipos de unidades de codificación (para cada bloque seleccionado como objetivo para codificación, unidades de división (colecciones de bloques seleccionados como objetivo para codificación), unidades de imagen o unidades de secuencia (colección de imágenes) se pueden considerar para las unidades que codifican la información de vector mencionada anteriormente. Como resultado de la información de vector de codificación como un parámetro de cada una de las unidades de codificación descritas anteriormente y que codifica en una selección de vector directo de corriente de bit es el resultado pretendido por el dispositivo de codificación de imagen 1 , puede ser transportado al dispositivo de decodificación de imagen 2.
Tercera modalidad Aunque se indicó en las primera y segunda modalidades descritas anteriormente que la unidad de determinación de vector directo 34 en el dispositivo de codificación de imagen 1 excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por aquel vector directo pronosticado por la unidad de cálculo de vector directo 33 incluye una región fuera de la imagen, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo pronosticado por la unidad de cálculo de vector directo 33 incluye una región fuera de la imagen, la unidad de determinación de vector directo 34 puede determinar si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo incluye o no una región fuera de una región de tolerancia adyacente a la imagen, y si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo no incluye una región fuera de esa región de tolerancia, el vector directo puede no ser excluido de los vectores seleccionados como objetivo para ser promediados, aunque si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo incluye una región fuera de esa región de tolerancia, ese vector directo puede ser excluido de los vectores seleccionados como objetivo para ser promediados.
Las figuras 17A-17C, son dibujos explicativos que indican los contenidos de procesamiento de la unidad de determinación de vector directo 34.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de determinación de vector directo 34.
Una región de tolerancia (región adyacente a la imagen) está preestablecida en la unidad de determinación de vector directo 34 como se muestra en la figura 17A.
En el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo pronosticado por la unidad de cálculo de vector directo 33 incluye una región fuera de la imagen, la unidad de determinación de vector directo 34 determina si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por aquel vector directo incluye o no una región fuera de la región de tolerancia.
Si la región de unidad, que tiene como punto de partida de la misma, una ubicación de pixel indicada por ese vector directo no incluye una región fuera de la región de tolerancia como se muestra en la figura 17B (si la ubicación de pixel indicada por el vector directo está dentro de la región de tolerancia), la unidad de determinación de vector directo 34 da salida a ese vector directo a la unidad de predicción de movimiento 27 (o 72) sin excluir al vector directo de los vectores seleccionados como objetivo para ser promediados.
Si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la región de tolerancia como se muestra en la figura 17C (si la ubicación de pixel indicada por el vector directo está fuera de la región de tolerancia), la unidad de determinación de vector directo 34 excluye a ese vector directo de los vectores seleccionados como objetivo para ser promediados.
Aunque se ha indicado en las primera y segunda modalidades descritas anteriormente que la unidad de determinación de vector directo 66 en el dispositivo de decodificación de imagen 2 excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo pronosticado por la unidad de cálculo de vector directo 65 incluye una región fuera de la imagen, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo pronosticado por la unidad de cálculo de vector directo 65 incluye una región fuera de la imagen, la unidad de determinación de vector directo 66 puede determinar si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo incluye o no una región fuera de una región de tolerancia adyacente a la imagen, y si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo no incluye una región fuera de esa región de tolerancia, que el vector directo puede no ser excluido de los vectores seleccionados como objetivo para ser promediados, mientras que si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indiada por el vector directo incluye una región fuera de aquella región de tolerancia, ese vector directo puede ser excluido de los vectores seleccionados como objetivo para ser promediados.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de determinación de vector directo 66.
La misma región de tolerancia que aquella de la unidad de determinación del vector directo 34 de la unidad de codificación de imagen 1 es previamente establecida en la unidad de determinación de vector directo 66.
En el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo derivada por la unidad de cálculo de vector directo 65 incluye una región fuera de la imagen, la unidad de determinación de vector directo 66 determina si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye o no una región fuera de la región de tolerancia.
Si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por aquel vector directo no incluye una región fuera de la región de tolerancia como la que se muestra en la figura 17B (si la ubicación de pixel indicada por el vector directo está dentro de la región de tolerancia), la unidad de determinación de vector directo 66 sale de ese vector directo al interruptor 67 (u 81) sin excluir al vector directo de los vectores seleccionados como objetivo para ser promediados.
Si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la región de tolerancia como la que se muestra en la figura 17C (si la ubicación de pixel indicada por el vector directo está fuera de la región de tolerancia), la unidad de determinación de vector directo 66 excluye a ese vector directo de los vectores seleccionados como objetivo para ser promediados.
Como es evidente a partir de la explicación anterior, de acuerdo con esta tercera modalidad, debido a que se emplea la configuración en la cual un vector directo no es excluido de los vectores seleccionados como objetivo para ser promediados si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo no incluye una región fuera de una región de tolerancia, aunque excluye a ese vector directo de los vectores seleccionados como objetivo para ser promediados si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo incluye una región fuera de la región de tolerancia, se demuestra el efecto de tener la capacidad de mejorar la posibilidad de mejorar la eficiencia de predicción cerca de los bordes de la imagen.
En esta tercera modalidad, aunque la unidad de determinación del vector directo 34 del dispositivo de codificación de imagen 1 y la unidad de determinación de vector directo 66 del dispositivo de decodificación de imagen 2 son indicados como previamente establecidos con la misma región de tolerancia, la información que indica la región de tolerancia establecida por la unidad de determinación de vector directo 34 del dispositivo de codificación de imagen 1 puede ser codificada, y esos datos codificados pueden ser transmitidos al dispositivo de decodificación de imagen 2 incluyendo una corriente de bit.
Como resultado, la unidad de determinación de vector directo 66 del dispositivo de decodificación de imagen 2 tiene la capacidad de utilizar la misma región de tolerancia como la región de tolerancia establecida en la unidad de determinación de vector directo 34 del dispositivo de codificación de imagen 1.
Adicionalmente, esto ocurre sin decir que diversos tipos de unidades de codificación (para cada bloque seleccionado como objetivo para codificación, unidades de división (colecciones de bloques seleccionados como objetivo para codificación), unidades de imagen o unidades de secuencia (recolección de imágenes) unidades) se pueden considerar para las unidades que codifican la información que indica una región de tolerancia. Como resultado de la información de codificación que indica una región de tolerancia como un parámetro para cada una de las unidades de codificación descritas anteriormente y que codifican en una corriente de bit, una región de tolerancia pretendida por el dispositivo de codificación de imagen 1 puede ser transportada al dispositivo de decodificación de imagen 2.
Cuarta modalidad Aunque se indicó en las primera y segunda modalidades descritas anteriormente que la unidad de determinación de vector directo 34 en el dispositivo de codificación de imagen 1 excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el caso en donde una región de unidad que tiene, como un punto de partida de los mismos, una ubicación de pixel indicada por ese vector directo derivado por la unidad de cálculo de vector directo 33 incluye una región fuera de la imagen, la unidad de determinación de vector directo 34 puede componer la unidad de corrección de vector de movimiento, y puede dar salida a un vector directo a la unidad de predicción de movimiento 27 (o 72) si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo de vector directo 33 no incluye una región fuera de la imagen, o puede corregir una región de unidad que tiene, como un punto de partida de la misma, una ubicación pixel indicada por ese vector directo a una región dentro de la imagen y dar salida al vector directo después de la corrección a la unidad de predicción de movimiento 27 (o 72) si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la imagen.
Las figuras 18A-18C, son dibujos explicativos que indican el contenido de procesamiento de la unidad de determinación de vector directo 34.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de determinación de vector directo 34.
La unidad de determinación de vector directo 34 determina si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo pronosticado por la unidad de cálculo de vector directo 33 incluye o no una región fuera de la imagen.
La unidad de determinación de vector directo 34 da salida a un vector directo a la unidad de predicción de movimiento 27 (o 72) si una región de unidad, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo no incluye una región fuera de la imagen en la misma forma que se describió anteriormente en la primera y segunda modalidades.
Si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo incluye una región fuera de la imagen (caso del vector directo que indica una región fuera de la imagen) como se indicó en la figura 18A, la unidad de determinación de vector directo 34 corrige la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo a una región dentro de la imagen como se muestra en las figuras 18B y 18C, y da salida al vector directo después de la corrección a la unidad de predicción de movimiento 27 (o 72).
Adicionalmente, la figura 18B, indica un ejemplo de corrección de manera independiente de cada componente horizontal y vertical para estar dentro de la imagen, mientras que la figura 18C indica un ejemplo para corregir cada componente horizontal y vertical para estar dentro de la imagen mientras que mantienen su orientación.
Aunque se indicó en las primera y segunda modalidad descritas anteriormente que la unidad de determinación de vector directo 66 en el dispositivo de decodificación de imagen 2 excluye un vector directo de los vectores seleccionados como objetivo para promediarse en el cado en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo pronosticado por la unidad de cálculo de vector directo 65 incluye una región fuera de la imagen, la unidad de determinación de vector directo 66 puede componer la unidad de corrección de vector de movimiento o puede dar salida a un vector directo al interruptor 67 (o 81) si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo pronosticado por la unidad de cálculo de vector directo 65 no incluye una región fuera de la imagen, o puede corregir una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo a una región dentro de la imagen y dar salida al vector directo después de la corrección al interruptor 67 (o 81) si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la imagen.
A continuación se proporciona una explicación detallada de los contenidos de procesamiento de la unidad de determinación de vector directo 66.
La unidad de determinación de vector directo 66 determina si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada mediante un vector directo pronosticado por la unidad de cálculo de vector directo 65 incluye o no una región fuera de la imagen.
La unidad de determinación de vector directo 66 da salida a un vector directo al interruptor 67 (o 81) si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector directo no incluye una región fuera de la imagen en la misma forma que se describió anteriormente en la primera y segunda modalidades.
Si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo incluye una región fuera de la imagen (caso del vector directo que indica una región fuera de la imagen) como está indicado en la figura 18A, la unidad de determinación de vector directo 66 corrige la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo a una región dentro de la imagen como se muestra en las figuras 18B y 18C utilizando el mismo método de corrección que el método de corrección de la unidad de determinación de vector directo 34 en el dispositivo de codificación de imagen 1 ,y da salida al vector directo después de la corrección al interruptor 67 (o 81).
Como es evidente a partir de la explicación anterior, de acuerdo con esta cuarta modalidad, debido a que se emplea una configuración de manera que una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector directo es corregida a una región dentro de la imagen si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por ese vector directo incluye una región fuera de la imagen, se demuestra el efecto tener la capacidad de mejorar la posibilidad de mejorar la eficiencia de predicción cerca de los bordes de la imagen.
En esta cuarta modalidad, aunque la unidad de determinación de vector directo 34 del dispositivo de codificación de imagen 1 y la unidad de determinación de vector directo 66 del dispositivo de decodificación de imagen 2 son indicados como corrigiendo un vector directo utilizando el mismo método de corrección, la información que indica el método de corrección utilizado por la unidad de determinación de vector directo 34 del dispositivo de codificación de imagen 1 puede ser codificado, y esos datos codificados pueden ser transmitidos al dispositivo de decodificación de imagen 2 incluyendo una corriente de bit.
Como resultado, la unidad de determinación de vector directo 66 del dispositivo de decodificación de imagen 2 tiene la capacidad de utilizar el mismo método de corrección que el método de corrección utilizado por la unidad de determinación de vector directo 34 del dispositivo de codificación de imagen 1.
Adicionalmente, esto ocurre sin decir que diversos tipos de unidades de codificación (para cada bloque seleccionado como objetivo para codificación, unidades de división (colecciones de bloques seleccionados como objetivo para codificación), unidades de imagen o unidades de secuencia (colección de imágenes)) pueden considerarse para la unidades que codifican información que indica el método de corrección de vector descrito anteriormente. Como resultado de la información de codificación que indica un método de corrección de vector como un parámetro de cada una de las unidades de codificación descritas anteriormente y que codifica en una corriente de bit, un método de corrección de vector pretendido por el dispositivo de codificación de imagen 1 puede ser transportado al dispositivo de decodificación de imagen 2.
Aplicación industrial Debido a que el dispositivo de codificación de imagen y el dispositivo de decodificación de imagen de acuerdo con la presente invención tienen la capacidad de evitar el deterioro de la calidad de imagen en los macro bloques a lo largo de los bordes de una imagen sin conducir a una disminución en la proporción de compresión, es adecuado para utilizarse como, por ejemplo, un dispositivo de codificación de imagen que comprime y codifica las señales de video digital en la forma de datos de imagen y da salida a datos codificados por compresión de imagen, o un dispositivo de decodificación de imagen que decodifica los datos codificados por compresión de imagen que salen de un dispositivo de codificación de imagen y restaura los datos a las señales de video digitales.

Claims (12)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1.- Un dispositivo de codificación de imagen que divide una pluralidad de imágenes que componen una señal de video en regiones- de unidad prescritas, determina un vector de movimiento para cada región de unidad, y codifica la señal de video por compresión utilizando el vector de movimiento, que comprende: una unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificar en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante, y a partir de vector de movimiento de región de unidad localizado en una imagen codificada previamente; unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación del vector de movimiento incluye una región fuera de una imagen, excluyendo ese vector de movimiento de los vectores seleccionados como objetivo para ser promediados; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento obteniendo valores de pixel de la imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para codificación, con uno o más vectores de movimiento determinados por la unidad de selección de vector de movimiento; y una unidad de codificación para determinar una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento y codificar la imagen de diferencia.
2.- Un dispositivo de codificación de imagen que divide una pluralidad de imágenes que componen una señal de video en regiones de unidad prescritas, determina un vector de movimiento para cada región de unidad, y codifica la señal de video mediante compresión utilizando el vector de movimiento, que comprende: una unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificación en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante, y a partir de vector de movimiento de la región de unidad localizada en una imagen codificada previamente; unidad de selección del vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento incluye una región fuera de una imagen, que excluye ese vector de movimiento de los vectores seleccionados como objetivo para ser promediados; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento seleccionando uno o más vectores de movimiento que permanecen como vectores seleccionados como objetivo para promediarse sin ser excluidos por la unidad de selección de vector de movimiento, o uno o más vectores de movimiento derivados por la unidad de derivación de vector de movimiento, y determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por aquel seleccionado de uno o más vectores de movimiento; y unidad de codificación para determinar una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento, codificando la imagen diferencial y también codificando la información que indica un resultado de selección de vector de movimiento mediante la unidad de generación de imagen pronosticada de compensación de movimiento, y multiplexando los datos codificados de la información con los datos codificados de la imagen de diferencia.
3.- Un dispositivo de codificación de imagen que divide una pluralidad de imágenes que componen una señal de video de una imagen en regiones de unidad prescritas, determina un vector de movimiento para cada región de unidad, y codifica la señal de video mediante compresión utilizando el vector de movimiento, que comprende: una unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificación en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante, y a partir de vector de movimiento de región de unidad localizada en una imagen previamente codificada; unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación del vector de movimiento incluye una región fuera de una imagen, determinando si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye o no una región fuera de una región de tolerancia adyacente a la imagen, y no excluye el vector de movimiento de los vectores seleccionados como objetivo para promediarse si la región de unidad que tiene, como punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento no incluye una región fuera de la región de tolerancia, y excluyendo el vector de movimiento de los vectores seleccionados como objetivo para ser promediados si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye una región fuera de la región de tolerancia; una unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento obteniendo valores de pixel de imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para codificación, con uno o más vectores de movimiento determinados por la unidad de selección de vector de movimiento; y unidad de codificación para determinar una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento y codificar la imagen de diferencia.
4. - El dispositivo de codificación de imagen de conformidad con la reivindicación 3, caracterizado además porque la unidad de codificación codifica la información que indica una región de tolerancia utilizada para la determinación mediante la unidad de selección de vector de movimiento, y multiplexa los datos codificados de la información con los datos codificados de la imagen de diferencia.
5. - Un dispositivo de codificación de imagen que divide una pluralidad de imágenes que componen una señal de video de una imagen en regiones de unidad prescritas, determina un vector de movimiento para cada región de unidad, y codifica la señal de video por compresión utilizando el vector de movimiento, que comprende: unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para codificación en una imagen seleccionada como objetivo para codificación, a partir de vector de movimiento de región de unidad codificada circundante, y de vector de movimiento de región de unidad localizada en una imagen codificada previamente; unidad de corrección de vector de movimiento para dar salida a un vector de movimiento derivado por la unidad de derivación de vector de movimiento si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento no incluye una región fuera de una imagen, y corregir la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento a una región dentro de la imagen y que da salida al vector de movimiento después de la corrección si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye una región fuera de la imagen; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por uno o más vectores de movimiento que salen de la unidad de corrección de vector de movimiento; y unidad de codificación para determinar una imagen de diferencia entre la imagen a ser codificada y una imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento y codificar la imagen de diferencia.
6.- El dispositivo de codificación de imagen de conformidad con la reivindicación 5, caracterizado además porque la unidad de codificación codifica la información que indica el método de corrección de vector de movimiento utilizado por la unidad de corrección de vector de movimiento, y multiplexa los datos codificados de la información con datos codificados de la imagen de diferencia.
7.- Un dispositivo de decodificación de imagen que divide una pluralidad de imágenes que compone una señal de video en regiones de unidad prescritas, y restaura una señal de video codificada por compresión utilizando un vector de movimiento de cada región de unidad, que comprende: unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para decodificación en una imagen seleccionada como objetivo para decodificación, a partir de vector de movimiento de región de unidad decodificada circundante, y de vector de movimiento de región de unidad localizada una imagen decodificada previamente; unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento incluye una región fuera de una imagen, excluyendo aquel vector de movimiento de los vectores seleccionados como objetivo para ser promediados; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento obteniendo valores de pixel de la imagen pronosticada de compensación de movimiento para la región de unidad seleccionada como objetivo para decodificación, con uno o más vectores de movimiento determinados por la unidad de selección de vector de movimiento; y unidad de decodificación para decodificar una señal residual de predicción de los datos codificados por compresión de la señal de video, y agregar la señal residual de predicción a la imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento.
8.- Un dispositivo de decodificación de imagen que divide una pluralidad de imágenes que componen una señal de video de una imagen en regiones de unidad prescritas, y restaura una señal de video codificada por compresión utilizando un vector de movimiento de cada región de unidad, que comprende: una unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para decodificar en una imagen seleccionada como objetivo para decodificación, a partir de vector de movimiento de región de unidad decodificada circundante, y de vector de movimiento de región de unidad localizada en una imagen decodificada previamente; unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento incluye una región fuera de una imagen, excluyendo ese vector de movimiento de los vectores seleccionados como objetivo para ser promediados; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento reconociendo un resultado de selección de vector de movimiento de datos codificados de información que indica un resultado de selección del vector de movimiento multiplexado con datos codificados por compresión de la señal de video, seleccionando uno o más vectores de movimiento que permanecen como vectores seleccionados como objetivo para ser promediados sin ser excluidos por la unidad de selección de vector de movimiento o uno o más vectores de movimiento derivados por la unidad de derivación de vector de movimiento de acuerdo con ese resultado de selección, y determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida del mismo, una ubicación de pixel indicada por el uno o más seleccionando de los vectores de movimiento; y una unidad de decodificación para decodificar una señal residual de predicción de los datos codificados por compresión de la señal de video, y agregando la señal residual de predicción a la imagen pronosticada de compensación de movimiento generada por la unidad de generación de imagen pronosticada de compensación de movimiento.
9.- Un dispositivo de decodificación de imagen que divide una pluralidad de imágenes que componen una señal de video de una imagen en regiones de unidad prescritas, y restaura una señal de video codificada por compresión utilizando un vector de movimiento de cada región de unidad, que comprende: unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para decodificar en una imagen seleccionada como objetivo para decodificación, a partir de vector de movimiento de región de unidad decodificada circundante, y a partir de vector de movimiento de región de unidad en una imagen decodificada previamente; una unidad de selección de vector de movimiento para, en el caso en donde una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por un vector de movimiento derivado por la unidad de derivación de vector de movimiento incluye una región fuera de una imagen, determinando si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye o no una región fuera de una región de tolerancia adyacente a la imagen, y no excluye el vector de movimiento de los vectores seleccionados como objetivo para promediarse si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento no incluye una región fuera de la región de tolerancia, y excluyendo el vector de movimiento de los vectores seleccionados como objetivo para promediarse si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye una región fuera de la región de tolerancia; la unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por uno o más vectores de movimiento que permanecen como los vectores seleccionados como objetivo para ser promediados sin ser excluidos por la unidad de selección de vector de movimiento; y unidad de decodificación para decodificar una señal residual de predicción a partir de datos codificados por compresión de la señal de video, y agregando la señal residual de predicción a la imagen pronosticada de compensación de movimiento que sale mediante la unidad de generación de imagen pronosticada de compensación de movimiento.
10 - El dispositivo de decodificación de imagen de conformidad con la reivindicación 9, caracterizado además porque la unidad de selección de vector de movimiento reconoce una región de tolerancia de los datos codificados de información que indica la región de tolerancia multiplexada con los datos codificados por compresión de la señal de video, y utiliza la región de tolerancia para la determinación.
11.- Un dispositivo de decodificación de imagen que divide una pluralidad de imágenes que componen una señal de video de una imagen en regiones de unidad prescritas, y restaura una señal de video codificada por compresión utilizando un vector de movimiento de cada región de unidad, que comprende: unidad de derivación de vector de movimiento para derivar uno o más vectores de movimiento de una región de unidad seleccionada como objetivo para decodificación en una imagen seleccionada como objetivo para decodificación, a partir de vector de movimiento de región de unidad decodificada circundante, y a partir de vector de movimiento de región de unidad en una imagen decodificada previamente; unidad de corrección de vector de movimiento para dar salida a un vector de movimiento derivado por la unidad de derivación de vector de movimiento si una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento no incluye una región fuera de una imagen, y corregir ta región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento a una región dentro de la imagen y que da salida al vector de movimiento después de la corrección si la región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento incluye una región fuera de la imagen; unidad de generación de imagen pronosticada de compensación de movimiento para generar una imagen pronosticada de compensación de movimiento determinando un promedio de valores de pixel de una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por uno o más vectores de movimiento que salen de la unidad de corrección de vector de movimiento; y unidad de decodificación para decodificar una señal residual de predicción a partir de datos codificados por compresión de la señal de video, y agregando la señal residual de predicción a la imagen pronosticada de compensación de movimiento que sale mediante la unidad de generación de imagen pronosticada de compensación de movimiento.
12.- El dispositivo de decodificación de imagen de conformidad con la reivindicación 1 , caracterizado además porque la unidad de corrección de vector de movimiento reconoce un método de corrección de vector de movimiento a partir de datos codificados de información que indica el método de corrección multiplexado con los datos codificados por compresión de la señal de video, y corrige una región de unidad que tiene, como un punto de partida de la misma, una ubicación de pixel indicada por el vector de movimiento a una región dentro de la imagen de acuerdo con el método corrección.
MX2011004849A 2008-11-07 2009-10-20 Dispositivo de codificacion de imagen y dispositivo de decodificacion de imagen. MX2011004849A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008286487 2008-11-07
PCT/JP2009/005486 WO2010052838A1 (ja) 2008-11-07 2009-10-20 動画像符号化装置及び動画像復号装置

Publications (1)

Publication Number Publication Date
MX2011004849A true MX2011004849A (es) 2011-05-30

Family

ID=42152651

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2011004849A MX2011004849A (es) 2008-11-07 2009-10-20 Dispositivo de codificacion de imagen y dispositivo de decodificacion de imagen.

Country Status (10)

Country Link
US (1) US20110211641A1 (es)
EP (1) EP2346257A4 (es)
JP (1) JP5213964B2 (es)
KR (1) KR20110091748A (es)
CN (1) CN102210150A (es)
BR (1) BRPI0922119A2 (es)
CA (1) CA2742240A1 (es)
MX (1) MX2011004849A (es)
RU (1) RU2011122803A (es)
WO (1) WO2010052838A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011147049A (ja) * 2010-01-18 2011-07-28 Sony Corp 画像処理装置および方法、並びにプログラム
KR101391829B1 (ko) * 2011-09-09 2014-05-07 주식회사 케이티 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
KR102211673B1 (ko) 2011-12-16 2021-02-03 벨로스 미디어 인터내셔널 리미티드 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및 동화상 부호화 복호장치
WO2015059880A1 (ja) * 2013-10-22 2015-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 動き補償方法、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
WO2023171484A1 (en) * 2022-03-07 2023-09-14 Sharp Kabushiki Kaisha Systems and methods for handling out of boundary motion compensation predictors in video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059779A (ja) 1998-08-04 2000-02-25 Toshiba Corp 動画像符号化装置および動画像符号化方法
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
JP2001251632A (ja) * 1999-12-27 2001-09-14 Toshiba Corp 動きベクトル検出方法および装置並びに動きベクトル検出プログラム
US7440500B2 (en) * 2003-07-15 2008-10-21 Lsi Logic Corporation Supporting motion vectors outside picture boundaries in motion estimation process
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
JP4764706B2 (ja) * 2004-11-30 2011-09-07 パナソニック株式会社 動画像変換装置
US7933335B2 (en) * 2004-11-30 2011-04-26 Panasonic Corporation Moving picture conversion apparatus
JP2007067731A (ja) * 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
JP4429996B2 (ja) * 2005-09-30 2010-03-10 富士通株式会社 動画像符号化プログラム、動画像符号化方法および動画像符号化装置

Also Published As

Publication number Publication date
CN102210150A (zh) 2011-10-05
KR20110091748A (ko) 2011-08-12
US20110211641A1 (en) 2011-09-01
JP5213964B2 (ja) 2013-06-19
WO2010052838A1 (ja) 2010-05-14
EP2346257A4 (en) 2012-04-25
JPWO2010052838A1 (ja) 2012-03-29
CA2742240A1 (en) 2010-05-14
EP2346257A1 (en) 2011-07-20
RU2011122803A (ru) 2012-12-20
BRPI0922119A2 (pt) 2016-01-05

Similar Documents

Publication Publication Date Title
KR100249223B1 (ko) 엠팩(mpeg)-4의움직임벡터코딩방법
US7738714B2 (en) Method of and apparatus for lossless video encoding and decoding
US7747094B2 (en) Image encoder, image decoder, image encoding method, and image decoding method
EP2637409B1 (en) Motion vector sign bit hiding
JP5418756B2 (ja) 画像再符号化装置、画像再符号化方法及び画像再符号化プログラム
US9055302B2 (en) Video encoder and video decoder
JP2004336369A (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US8891892B2 (en) Image encoding method using adaptive preprocessing scheme
MX2011004849A (es) Dispositivo de codificacion de imagen y dispositivo de decodificacion de imagen.
JP2000201354A (ja) 動画像符号化装置
JP5560009B2 (ja) 動画像符号化装置
US8675726B2 (en) Method and encoder for constrained soft-decision quantization in data compression
US7965768B2 (en) Video signal encoding apparatus and computer readable medium with quantization control
JP5649296B2 (ja) 画像符号化装置
JP2009284058A (ja) 動画像符号化装置
JP5407974B2 (ja) 動画像符号化装置及び動きベクトル検出方法
CA2732218A1 (en) Method and encoder for constrained soft-decision quantization in data compression
JP2005303555A (ja) 動画像符号化装置および動画像符号化方法
JP2010283739A (ja) 動画像符号化装置
US20160212420A1 (en) Method for coding a sequence of digital images
US9826234B1 (en) High efficiency video coding for video with interlaced and progressive content using lookahead
JP4561701B2 (ja) 動画像符号化装置
JP2020109959A (ja) インター予測装置、画像符号化装置、画像復号装置、及びプログラム
JP2011166357A (ja) 画像符号化装置
Sasai et al. B-picture coding with motion-compensated frame rate upconversion

Legal Events

Date Code Title Description
FA Abandonment or withdrawal