MX2011009117A - Dispositivo y meodo para procesamiento de imagenes. - Google Patents

Dispositivo y meodo para procesamiento de imagenes.

Info

Publication number
MX2011009117A
MX2011009117A MX2011009117A MX2011009117A MX2011009117A MX 2011009117 A MX2011009117 A MX 2011009117A MX 2011009117 A MX2011009117 A MX 2011009117A MX 2011009117 A MX2011009117 A MX 2011009117A MX 2011009117 A MX2011009117 A MX 2011009117A
Authority
MX
Mexico
Prior art keywords
prediction
information
unit
image
movement vector
Prior art date
Application number
MX2011009117A
Other languages
English (en)
Inventor
Kazushi Sato
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of MX2011009117A publication Critical patent/MX2011009117A/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
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Se describe un dispositivo y un método de procesamiento de imágenes que permiten la minimización del aumento de la información de compresión y la mejora de la precisión de la predicción. Una unidad (93) de generación de la bandera o indicador de precisión compara los parámetros de precisión de la información del vector de movimiento relacionada con un bloque objetivo, de una unidad (91) de determinación de la precisión del vector de movimiento objetivo, y los parámetros de precisión de la información del vector de movimiento relacionada con un bloque adyacente desde una unidad (92) de determinación de la precisión del vector de movimiento, y crea una bandera de precisión que indica si la precisión de la información del vector de movimiento con relación a bloque objetivo, concuerda o no con la de la información del vector de movimiento relacionada con el bloque adyacente. Si una unidad (77) de selección de la imagen de predicción, selecciona una imagen de predicción en un modo de inter-predicción óptimo, la bandera de precisión se transmite junto con la información del vector de movimiento mvdE y así sucesivamente, a una unidad (66) de codificación reversible, y se codifica. La invención puede ser aplicada, por ejemplo, a un dispositivo de codificación de imágenes para la codificación usando el método H.264/AVC.

Description

DISPOSITIVO Y MÉTODO PARA PROCESAMIENTO DE IMÁGENES CAMPO TÉCNICO La presente invención se refiere a un dispositivo y un método para procesamiento de imágenes los cuales permiten que el aumento en la información comprimida sea suprimido, y también permiten que se mejore la precisión de la predicción.
ANTECEDENTES DE LA INVENCIÓN En años recientes, se ha extendido cada vez el uso de dispositivos los cuales someten una imagen a codificación de compresión empleando un sistema de codificación que maneja la información de la imagen como señales digitales, tomando ventaja de la redundancia la cual es una característica de la información de la imagen, con el fin de llevar a cabo una transmisión y la acumulación de la información muy eficientes. Los ejemplos de este método de codificación incluyen MPEG (Grupo de Expertos en Imágenes Móviles), etcétera.
En particular, MPEG2 (ISO/IEC 13818-2) se define como un sistema de codificación de imágenes de propósito general, y es un estándar que abarca tanto las imágenes de exploración entrelazada y las imágenes de exploración secuencial, y las imágenes de resolución estándar y las imágenes de alta resolución. Por ejemplo, actualmente MPEG2 ha sido empleado ampliamente por un amplio rango de aplicaciones para uso profesional y para uso del consumidor. Al emplear el sistema de compresión MPEG2, la cantidad de código (tasa de bitios) de 4 a 8 Mbps se asigna en el caso de una imagen de exploración entrelazada de resolución estándar que tiene 720x480 pixeles, por ejemplo. Al emplear el sistema de compresión MPEG2, una cantidad de código (tasa de bitios) de 18 a 22 Mbps se asigna en el caso de una imagen de exploración entrelazada de alta resolución que tiene 1920x1088 pixeles, por ejemplo. Por lo tanto, se puede lograr una tasa de compresión alta y una calidad de imagen excelente.
MPEG2 ha tenido como objetivo la codificación de calidad de imagen alta adaptada para uso de radiodifusión, pero no maneja cantidades de codificación (tasas de bitios) más bajas) que la cantidad de código de MPEG1, es decir, un sistema de codificación que tenga una tasa de compresión más alta. Se espera que la demanda por tales sistemas de codificación aumentará a partir de ahora, debido a la propagación de los asistentes personales digitales, y en respuesta a esto, se ha llevado a cabo la estandarización del sistema de codificación MPEG4. Con relación a un sistema para codificación de imágenes, la especificación de la misma se confirmó como el estándar internacional ISO/IECV 14496-2 en diciembre de 1998.
Además, en los años recientes, la estandarización de un estándar llamado H.26L (ITU-T Q6/16 VCEG) ha progresado con el uso de la conferencia sobre codificación de imágenes para televisión, como el objetivo. Con H.26L se ha sabido que aunque se solicite una cantidad de cómputo mayor para la codificación y la decodificación de las mismas, en comparación con un sistema de codificación convencional, tales como MPEG2 o MPEG4, se logra una eficiencia de codificación mayor. También, actualmente, como parte de la actividad de MPEG4, la estandarización para tomar ventaja de una función que no está soportada por H.26L con este H.26L tomado como pase para lograr una eficiencia de codificación mayor, se ha realizado como un Modelo Conjunto para Codificación de Video con Compresión Mejorada. Como un programa de estandarización, H.264 y MPEG-10 Parte 4 (codificación avanzada de video, conocido de aquí en adelante como H.264/AVC) se convirtió en un estándar internacional en marzo de 2003.
Incidentalmente , con el sistema MPEG2, el procesamiento de predicción y compensación del movimiento con precisión de 1/2 pixel ha sido realizado mediante procesamiento por interpolación lineal. Por otro lado, con el sistema H.264/AVC, se ha realizado el procesamiento de predicción y de compensación con precisión de 1/4 de pixel, usando filtrado FIR (Filtro de Respuesta Finita al Impulso) de 6 tomas o derivaciones .
Con el sistema MPEG2, en el caso de un modo de compensación, el procesamiento de predicción y compensación del movimiento se realiza en incrementos de 16x16 pixeles . En el caso del modo de compensación del movimiento de campo, el procesamiento de predicción y compensación del movimiento se realiza por separado para el primer campo y el segundo campo, en incrementos de 16x18 pixeles.
Por otro lado, con el sistema H.264/AVC, la predicción y la compensación del movimiento se pueden realizar con un tamaño de bloque que es variable. Específicamente, con el sistema H.264/AVC, un bloque macro constituido de 16x16 pixeles, puede ser dividido en una de las particiones de 16x16, 16x8, 8x16, y 8x8 con cada partición que tiene diferente información del vector de movimiento. También, una partición de 8x8 puede ser dividida en una de las su particiones de 8x8, 8x4, 4x8, y 4x4, con cada sub-partición que tiene información independiente del vector de movimiento.
Sin embargo, con el sistema H.264/AVC, mediante el procesamiento de predicción y compensación del movimiento realizado con precisión de 1/4 de pixel y bloques variables, se generan cantidades inmensas de información del vector de movimiento, llevando al deterioro en la eficiencia de la codificación si estos se codifican sin cambios.
Por lo tanto, se ha propuesto suprimir el deterioro en la eficiencia de codificación mediante un método para generar la información del vector de movimiento de predicción de un bloque actual a ser codificación desde ahora, usando la información del vector de movimiento ya codificado de un bloque adyacente, mediante la operación mediana, o las similares .
Incidentalmente , en los años recientes, se ha realizado un estudio para mejorar aun más la eficiencia del sistema H.264/AVC. Como uno de los métodos de codificación para esto, la predicción del movimiento con precisión de 1/8 de pixel ha sido propuesta en NPL 1.
Específicamente, con NPL 1, el procesamiento de interpolación con precisión de 1/2 de píxel se realiza mediante un filtro [-3, 12, -39, 158, 158, -39, 12, -3)/256. También, el procesamiento de interpolación con precisión de 1/4 de pixel se realiza mediante un filtro [-3, 12, -37, 229, 71, -21, 6, -l]/256, y el procesamiento de interpolación con precisión de 1/8 de pixel se realiza mediante interpolación lineal .
De este modo, se realiza la predicción del movimiento usando el procesamiento de interpolación con mayor precisión de pixeles, por lo cual puede ser mejorada la precisión de la predicción, y se puede lograr una mejoría en la eficiencia de codificación, en particular con una secuencia de movimiento relativamente lenta que tiene alta textura en resolución.
Lista de Citas Literatura Distinta a las Patentes NPL 1: " otion compensated prediction with 1/8-pel displacement vector resolution", VCEG-ADO 9 , ITU-Telecommunications Standardization Sector STUDY GROUP, Pregunta 6 Video Coding Experts Group (VCEG) , 23-27 Oct 2006 BREVE DESCRIPCIÓN DE LA INVENCIÓN Problema Técnico Ahora, considérennos la información del vector de movimiento dentro de la información de la imagen comprimida a ser transmitida al lado de decodificación. Con precisión entera de pixeles, con relación a la información del vector de movimiento el valor del cual es "1", en el caso de realizar la predicción del movimiento con precisión de 1/4 de pixel, el valor sobre el procesamiento dentro de la información de imagen comprimida resulta "4", pero en el caso de realizar la predicción del movimiento con una precisión de 1/8 de pixel, el valor sobre el procesamiento dentro de la información de la imagen comprimida resulta "8".
Específicamente, en el caso de realizar la predicción del movimiento con una precisión de 1/8 de pixel, muchas más cantidades de código han sido asignadas a la información del vector de movimiento en comparación con el caso de realizar la predicción del movimiento con precisión de 1/4 de pixel. Por el contrario en el caso de que la cantidad equivalente a este aumento exceda la mejoría en la eficiencia de predicción del movimiento, cuando se realiza la predicción del movimiento con precisión de 1/8 de pixel, la eficiencia puede disminuir.
La presente invención ha sido realizada tomando en cuenta tal situación, la cual suprime el aumento en la información comprimida y también mejora la precisión de la predicción .
Solución al Problema Un dispositivo de procesamiento de imágenes de acuerdo con un primer aspecto de la invención incluye: medios para generar la bandera o indicador de precisión configurados para generar una bandera de precisión que indica si la precisión del la información del vector de movimiento de un bloque actual, y la precisión del la información del vector de movimiento de un bloque adyacente, adyacente al bloque actual, concuerdan o difieren; y medios de codificación, configurados para codificar la información del vector de movimiento del bloque actual, y la bandera de precisión generada por los medios para generar la bandera de precisión.
El dispositivo de procesamiento de imágenes puede incluir además: medios para generar el vector de movimiento de predicción, configurados para realizar la predicción de la mediana al convertir la precisión de la información del vector de movimiento del bloque adyacente en la precisión de la información del vector de movimiento del bloque actual, para generar la información del vector de movimiento de predicción en el caso de que la bandera de predicción generada por los medios para generar la bandera de precisión indiquen que la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento del bloque adyacente difieren; con los medios de codificación que codifican la diferencia entre la información del vector de movimiento del bloque actual, y la información del vector de movimiento como la información del vector de movimiento del bloque actual.
Los medios para generar la bandera o indicador de precisión y los medios para generar el vector de movimiento de predicción, pueden usar un bloque adyacente a la izquierda del bloque actual como el bloque adyacente. Los medios para generar la bandera de precisión y los medios para generar el vector de movimiento de predicción, pueden usar un bloque el cual es adyacente al bloque actual y el cual también ha sido sometido más recientemente al procesamiento de codificación, como el bloque adyacente.
Los medios para generar la bandera o indicador de precisión y los medios para generar el vector de movimiento de predicción pueden usar un bloque, el cual está adyacente al bloque actual, y el cual también proporciona la información del vector de movimiento, seleccionada por la predicción de la mediana, como el bloque adyacente.
Un método de procesamiento de imágenes de acuerdo con un primer aspecto de la presente invención incluye la etapa de: hacer que un dispositivo de procesamiento de imágenes genere una bandera de precisión que indica si la precisión de la información del vector de movimiento de un bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente, adyacente al bloque actual, concuerdan o difieren; y codificar le información del vector de movimiento del bloque actual, y la bandera de precisión generada.
Un dispositivo de procesamiento de imágenes de acuerdo con un segundo aspecto de la presente invención, incluye: medios de decodificación, configurados para decodificar la información del vector de movimiento codificado de un bloque actual, y una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente al bloque actual, concuerdan o difieren; medios para reestructurar el vector de movimiento, configurados para reestructurar la información del vector de movimiento del bloque actual, decodificada por los medios de decodificación, usando la bandera de precisión decodificada por los medios de decodificación; y medios para generar la imagen de predicción, configurados para generar la imagen de predicción del bloque actual usando la información del vector de movimiento del bloque actual, reestructurada por los medios para reestructurar el vector de movimiento.
El dispositivo de procesamiento de imágenes, puede incluir además: medios para generar el vector de movimiento de predicción, configurados para realizar la predicción de la mediana al convertir la precisión de la información del vector de movimiento del bloque adyacente en la precisión de la información del vector de movimiento del bloque actual, para generar la información del vector de movimiento de predicción en el caso de que la bandera de predicción, decodificada por los medios de decodificación, indique que la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento del bloque adyacente, difieren; con los medios para reestructurar el vector de movimiento, que reestructuran la información del vector de movimiento del bloque actual, decodificada por los medios para decodificación, usando la bandera de precisión decodificada por los medios de decodificación, y la información del vector de movimiento de predicción, generada por los medios para generar el vector de movimiento de predicción .
Los medios para reestructurar el vector de movimiento y los medios para generar el vector de movimiento de predicción pueden usar un bloque adyacente a la izquierda del bloque actual, como el bloque adyacente.
Los medios para reestructurar el vector de movimiento y los medios para generar el vector de movimiento de predicción, pueden usar un bloque, el cual es adyacente al bloque actual y el cual también ha sido sometido recientemente al procesamiento de codificación, como el bloque adyacente.
Los medios para reestructurar el vector de movimiento y los medios para generar el vector de movimiento de predicción, pueden usar un bloque, el cual es adyacente al bloque actual, y los cuales también proporcionan la información del vector de m movimiento seleccionada por la predicción de la mediana, como el bloque adyacente.
Un método de procesamiento de imágenes de acuerdo con el segundo aspecto de la present invención, incluye la etapa de: hacer que un dispositivo de procesamiento de imágenes decodifique la información del vector de movimiento codificada, de un bloque actual, y una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente al bloque actual, concuerdan o difieren; reestructurar la información del vector de movimiento decodificado del bloque actual, usando la bandera de precisión, y generar la imagen de predicción del bloque actual usando la información del vector de movimiento reestructurada, del bloque actual.
Con el primer aspecto de la presente invención, se genera una indicación de la bandera de precisión que indica si la precisión de la información del vector de movimiento de un bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente, adyacente al bloque actual, concuerdan o difieren, y la bandera de precisión generada se codifica junto con la información del vector de movimiento del bloque actual.
Con el segundo aspecto de la presente invención, la decodificación, se decodifica la información del vector de movimiento codificada de un bloque actual, y la bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, y la precisión del la información del vector de movimiento de un bloque adyacente al bloque actual, concuerdan o difieren. La información del vector de movimiento decodificada del bloque actual se reestructura usando la bandera de precisión decodificada, y la imagen de predicción del bloque actual se genera usando la información del vector de movimiento reestructurada, del bloque actual.
Nótese que los dispositivos de procesamiento de imágenes mencionados anteriormente pueden ser dispositivos independientes, o pueden ser bloques internos que componen un dispositivo de codificación de imágenes o un dispositivo de decodificación de imágenes individuales.
EFECTOS VENTAJOSOS DE LA INVENCIÓN Las imágenes pueden ser codificadas de acuerdo con el primer aspecto de la presente invención. También, de acuerdo con el primer aspecto de la presente invención, el aumento en la información comprimida puede ser suprimido, y también la precisión de la predicción puede ser mejorada.
Las imágenes pueden ser decodificadas de acuerdo con el segundo aspecto de la presente invención. También, de acuerdo con el segundo aspecto de la presente invención, el aumento en la información comprimida puede ser suprimido, y también se puede mejora la precisión de la predicción.
BREVE DESCRIPCIÓN DE LOS DIBUJOS [Fig. 1] La Fig. 1 es un diagrama de bloques que ilustra una configuración de una modalidad de un dispositivo de codificación de imágenes al cual se ha aplicado la presente invención .
[Fig. 2] La Fig. 2 es un diagrama para describir el procesamiento de predicción y compensación del movimiento con tamaños variables de los bloques.
[Fig. 3] La Fig. 3 es un diagrama para describir el procesamiento de predicción del movimiento y de la compensación con precisión de 1/4 de pixel.
[Fig. 4] La Fig. 4 es un diagrama para describir un método de predicción del movimiento y compensación del movimiento de cuadros de referencia múltiple.
[Fig. 5] La Fig. 5 es un diagrama para describir un ejemplo de un método de generación de la información del vector de movimiento.
[Fig. 6] La Fig. 6 es un diagrama para describir un modo directo al tiempo.
[Fig. 7] La Fig. 7 es un diagrama de bloques que ilustra un ejemplo de la configuración de la unidad de predicción y competición del movimiento y de la unidad de determinación de la precisión del vector de movimiento de la Fig. 1.
[Fig. 8] La Fig. 8 es un diagrama de flujo para describir el procesamiento de codificación del dispositivo de codificación de imágenes de al Fig. 1.
[Fig. 9] La Fig. 9 es un diagrama de flujo para describir el procesamiento de predicción en la etapa S21 de la Fig. 8.
[Fig. 10] La Fig. 10 es un diagrama de flujo para describir el procesamiento intra predicción en la etapa S31 de al Fig. 9.
[Fig. 11] La Fig. 11 es un diagrama de flujo para describir el procesamiento de inter predicción movimiento, en la etapa S32 de la Fig. 9.
[Fig. 12] La Fig. 12 es un diagrama de flujo para describir el procesamiento de determinación del vector de movimiento en la etapa S53 en la Fig. 11.
[Fig. 13] La Fig. 13 es un diagrama de bloques que ilustra la configuración de una modalidad de un dispositivo de decodificación de imágenes al cual se ha aplicado la presente invención .
[Fig. 14] La Fig. 14 es un diagrama de flujo que ilustra un ejemplo de la configuración de la unidad de predicción y competición del movimiento y la unidad de determinación de la precisión del vector de movimiento en la Fig. 13.
[Fig. 15] La Fig. 15 es un diagrama de flujo para describir el procesamiento de decodificación del dispositivo de decodificación de imágenes en la Fig. 13.
[Fig. 16] La Fig. 16 es un diagrama de flujo para describir el procesamiento de predicción en la etapa S138 en la Fig. 15.
[Fig. 17] La Fig. 17 es un diagrama que ilustra un ejemplo del tamaño extendido de un bloque.
[Fig. 18] La Fig. 18 es un diagrama de bloques que ilustra un ejemplo de la configuración de los componentes físicos de una computadora.
[Fig. 19] La Fig. 19 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de un receptor de televisión al cual se ha aplicado la presente invención.
[Fig. 20] La Fig. 20 es un diagrama de bloques que ilustra un ejemplo de la confiquración principal de un teléfono celular al cual se ha aplicado la presente invención.
[Fig. 21] La Fig. 21 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de un registrador de disco duro al cual se ha aplicado la presente invención .
[Fig. 22] La Fig. 22 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de una cámara a la cual se ha aplicado la presente invención.
DESCRIPCION DE LAS MODALIDADES A partir de aquí se describirá una modalidad de la presente invención con referencia a los dibujos.
Ejemplo de la Configuración del Dispositivo de Codificación de Imágenes La Fig. 1 representa la configuración de una modalidad de un dispositivo de codificación de imágenes que sirve como un dispositivo de procesamiento de imágenes al cual se ha aplicado la presente invención.
Este dispositivo 51 de codificación de imágenes somete una imagen a compresión usando, por ejemplo, el sistema H.264 y MPEG-4 Parte 10 (Codificación Avanzada de Video) (a partir de aquí, se describe como 264/AVC) .
Con el ejemplo de la Fig. 1, el dispositivo 51 de codificación de imágenes se configura con una unidad 61 de conversión A/D, un búfer 62 o memoria intermedia de ordenamiento de la pantalla, una unidad 63 de computo, una unidad 64 de transformación ortogonal, una unidad 65 de cuantificación, una unidad 66 de codificación sin perdidas, un búfer 67 de acumulación, una unidad 68 de cuantificación inversa, una unidad 69 de transformación ortogonal inversa, una unidad 70 de computo, un filtro 71 de desbloqueo, una memoria 72 de cuadros, un conmutador 73, una unidad 74 intra predicción, una unidad 75 de predicción/compensación del movimiento, una unidad 76 de determinación de la precisión del vector de movimiento, una unidad 77 de selección de la imagen de predicción, y una unidad 78 de control de la tasa.
La unidad 61 de conversión A/D convierta una imagen de entrada de analógico a digital, y la transmite al búfer 62 o memoria intermedia de ordenamiento de la pantalla para su almacenamiento. El búfer 62 de ordenamiento de la pantalla ordena las imágenes de los cuadros en el orden almacenado para su visualización en el orden de los cuadros para la codificación de acuerdo con el GOP (Grupo de Imágenes) .
La unidad 53 de computo sustrae de la imagen leída desde el búfer 62 de ordenamiento de la pantalla, la imagen de predicción de la unidad 74 intra predicción seleccionada por la unidad 77 de selección de la imagen de predicción o la imagen de predicción de la unidad 75 de predicción/compensación, y transmite la información de la diferencia de la misma a la unidad 64 de transformación ortogonal. La unidad 64 de transformación ortogonal somete la información de la diferencia de la unidad 63 de cómputo a una transformada ortogonal, tal como la transformada de coseno discreta, la transformada de Karhunen-Loéve, o las similares, y transmite un coeficiente de transformación de la misma. La unidad 65 de cuantificación cuantifica el coeficiente de transformación que transmite la unidad 64 de transformada ortogonal .
El coeficiente de transformación cuantificado que es la salida de la unidad 65 de cuantificación se introduce a la unidad 66 de codificación sin pérdidas, y se, somete a codificación sin pérdidas, como por ejemplo codificación de longitud variable, codificación aritmética, o las similares, y se comprime.
La unidad 66 de codificación sin pérdidas obtiene la información que indica la intra predicción de la unidad 74 de intra predicción, y obtiene la información que indica un modo de intra-inter predicción, etcétera de la unidad 75 de predicción/compensación. Nótese que, después, la información que indica la intra predicción y la información que indica la inter predicción, se conocerán como información del modo de intra predicción y la información del modo de inter predicción, respectivamente.
La unidad 66 de codificación sin pérdidas codifica el coeficiente de transformación cuantificado, y también codifica la información que indica la intra predicción, la información que indica un modo de inter predicción, etcétera, y toma éstas como parte de la información del encabezamiento de la imagen comprimida. La unidad 66 de codificación sin pérdidas suministra los datos codificados al búfer 67 de acumulación para su acumulación.
Por ejemplo, con la unidad 66 de codificación sin pérdidas, se realiza el procesamiento de codificación sin pérdidas, tal como la codificación de longitud variable, la codificación aritmética, o las similares. Los ejemplos de codificación de longitud variable incluyen CAVLC (Codificación de Longitud Variable Adaptativa al Contexto) determinada por el sistema H.264/AVC. Los ejemplos de la codificación aritmética incluyen CABAC (Codificación Aritmética Binaria Adaptativa al Contexto) .
El búfer 67 de acumulación transmite los datos suministrados desde la unidad 66 de codificación sin pérdidas a, por ejemplo, un dispositivo de almacenamiento corriente abajo o a la vía de transmisión o los similares, no mostrados en el dibujo, como una imagen comprimida codificada por el sistema H.264/AVC.
También, el coeficiente de transformación cuantificada transmitido desde la unidad 65 de cuantificación también se introduce en la unidad 68 de cuantificación inversa, se somete a cuantificación inversa y después se somete a transformada ortogonal inversa en la unidad 69 de transformación ortogonal inversa. La salida sometida a la transformación ortogonal inversa se agrega a la imagen de predicción suministrada desde la unidad 77 de selección de la imagen de predicción por la unidad 70 de cómputo, y se cambia a una imagen decodificada localmente. El filtro 71 de desbloqueo elimina la distorsión del bloque de la imagen decodificada, y después la suministra a la memoria 72 de cuadros para su acumulación. Una imagen antes que el procesamiento del filtro de desbloqueo se realice por el filtro 71 de desbloqueo, también se suministra a la memoria 72 de cuadros para su acumulación.
El conmutador 73 transmite las imágenes de referencia acumuladas en la memoria 72 de cuadros, a la unidad 75 de predicción/compensación del movimiento, o a la unidad 74 de intra predicción.
Con este dispositivo 51 de codificación de imagen, la imagen I, la imagen B, y la imagen P del búfer 62 de ordenamiento de la pantalla se suministran a la unidad 74 de intra predicción como una imagen a ser sometida a la intra predicción (denominado también como intra procesamiento) , por ejemplo. También, la imagen B y la imagen P leídas desde el búfer 62 de ordenamiento de la pantalla, se suministran a la unidad 75 de predicción/compensación del movimiento como una imagen a ser sometida a la ínter predicción (denominado también como procesamiento ínter) .
La unidad 74 de intra predicción realiza el procesamiento de intra predicción de todos los modos de intra predicción que sirven como candidatos con base en la imagen a ser sometida a la intra predicción, leídas desde el búfer 62 de ordenamiento de la pantalla, y las imágenes de referencia suministradas desde la memoria 72 de cuadro, para generar una imagen de predicción.
En este momento, la unidad 74 de intra predicción calcula un valor de la función de costo para todos los modos de intra predicción que sirven como candidatos, y selecciona el modo del cual, la función de costo calculada proporciona el valor mínimo, como el modo de intra predicción óptimo.
La unidad 74 de intra predicción suministra la imagen de predicción generada en el modo de intra predicción óptimo, y el valor de la función de costo de la misma, a la unidad 77 de selección de la imagen de predicción. En el caso de que la imagen de predicción generada en el modo de intra predicción óptimo haya sido seleccionada por la unidad 77 de selección de la imagen de predicción, la unidad 74 de intra predicción suministra la información que indica el modo de intra predicción óptimo a la unidad 66 de codificación sin pérdidas. La unidad 66 de codificación sin pérdidas codifica esta información, y toma esta como parte de la información del encabezamiento en una imagen comprimida.
La unidad 75 de predicción/compensación del movimiento realiza el procesamiento de predicción y compensación del movimiento con relación a todos los modos de inter predicción que sirven como candidatos. Específicamente, para la unidad 75 de predicción/compensación del movimiento, se suministra la imagen a ser sometida al procesamiento inter, leída desde el búfer 62 de ordenamiento de la pantalla y la imagen de referencia se suministra desde la memoria 72 de cuadros vía el conmutador 73. La unidad 75 de predicción/compensación del movimiento detecta los vectores de movimiento de todos los modos de ínter predicción como candidatos, con base en la imagen a ser sometida al procesamiento inter y la imagen de referencia, somete la imagen de referencia al procesamiento de compensación con base en los vectores de movimiento, y genera una imagen de predicción.
Nótese que la unidad 75 de predicción/compensación del movimiento realiza el procesamiento de predicción y compensación del movimiento con una precisión de 1/8 de pixel descrita en NPL 1 mencionado anteriormente en lugar del procesamiento de predicción y compensación del movimiento con precisión de 1/4 de pixel determinado en el sistema H.264/AVC, el cual se describirá posteriormente con referencia a la Fig. 3.
La información del vector de movimiento del bloque actual, y la información del vector de movimiento de un bloque adyacente, adyacente al bloque actual, obtenidos por la unidad 75 de predicción/compensación del movimiento, se suministran a la unidad 76 de determinación de la precisión del vector de movimiento. En respuesta a esto, una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento del bloque adyacente, concuerdan o difieren, se suministra desde la unidad 76 de determinación de la precisión del vector de movimiento a la unidad 75 de predicción/compensación del movimiento.
La unidad 75 de predicción/compensación del movimiento usa la información del vector de movimiento del bloque adyacente para calcular la información del vector de movimiento de predicción del bloque actual, con base en la bandera de precisión del mismo, y toma la diferencia entre la información del vector de movimiento obtenido y la información del vector de movimiento de predicción generado como la información del vector de movimiento a ser transmitida al lado de decodificación.
También, la unidad 75 de predicción/compensación del movimiento calcula un valor de la función de costo para todos los modos de inter predicción que sirven como candidatos, la unidad 75 de predicción/compensación del movimiento determina, de los valores de la función de costo calculados, un modo de predicción que proporciona el valor mínimo, para ser el modo de inter predicción óptimo.
La unidad 75 de predicción/compensación del movimiento suministra la imagen de predicción generada en el modo de inter predicción óptimo, y el valor de la función de costo del mismo a la unidad 77 de selección de la imagen de predicción. En el caso de que la imagen de predicción generada en el modo de inter predicción óptimo haya sido seleccionada por la unidad 77 de selección de la imagen de predicción, la unidad 75 de predicción/compensación del movimiento transmite la información que indica el modo de inter predicción óptimo (información del modo de inter predicción) a la unidad 66 de codificación sin pérdidas.
En este momento, la información del vector de movimiento, la bandera de precisión, la información del cuadro de referencia, etcétera, se transmiten a la unidad 66 de codificación sin pérdidas. La unidad 66 de codificación sin pérdidas también somete la información de la unidad 75 de predicción/compensación del movimiento al procesamiento de codificación sin pérdidas, como por ejemplo codificación de longitud variable o codificación aritmética, y la inserta en la porción del encabezamiento de la imagen comprimida.
La información del vector de movimiento del bloque actual, y la información del vector de movimiento del bloque adyacente de la unidad 75 de predicción/compensación del movimiento, se suministran a la unidad 76 de determinación de la precisión del vector de movimiento. La unidad 76 de determinación de la precisión del vector de movimiento genera una band era de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, y la precisión del vector de movimiento del bloque adyacente concuerdan o difieren, y suministra la bandera de precisión generada a la unidad 75 de predicción/compensación del movimiento.
La unidad 77 de selección de la imagen de predicción determina el modo de predicción óptimo a partir del modo de intra predicción óptimo y el modo de inter predicción óptimo con base en los valores de la función de costo transmitidos desde la unidad 74 de intra predicción o la unidad 75 de predicción/compensación del movimiento. La unidad 77 de selección de la imagen de predicción selecciona entonces la imagen de predicción en el modo de predicción óptimo determinado, y la suministra entonces a las unidades 63 y 70. En este momento, la unidad 77 de selección de la imagen de predicción suministra la información de la selección de la imagen de predicción a la unidad 74 de intra predicción o a la unidad 75 de predicción/compensación del movimiento.
La unidad 78 de control de la tasa controla la tasa de la operación de cuantificación de la unidad 65 de cuantificación con base en una imagen comprimida acumulada en el búfer 67 de acumulación para no provocar un desbordamiento o subdesbordamiento .
Descripción del sistema H.264/AVC La Fig. 2 es un diagrama que ilustra un ejemplo del tamaño del bloque de la predicción y la compensación del movimiento de acuerdo con el sistema H.264/AVC. Con el sistema H.264/AVC, la predicción y la compensación del movimiento se realizan con el tamaño del bloque tomado como variable.
Los bloques macro formados de 16x16 pixeles divididos en particiones de 16x16 pixeles 16x8 pixeles, 8x16 pixeles y 8x8 pixeles se muestran desde la izquierda en orden, sobre la hilera superior en la Fig. 2. Las particiones de 8x8 pixeles divididas en sub-particiones de 8x8 pixeles, 8x4 pixeles, 4x8 pixeles, y 4x4 pixeles se muestran desde la izquierda en orden, en la hilera superior en la Fig. 2.
Específicamente, con el sistema H.264/AVC, un bloque macro puede ser dividido en una de las particiones de 16x16 pixeles, 16x8 pixeles, 8x16 pixeles, y 8x8 pixeles con cada partición que tiene información independiente del vector de movimiento. También, una partición de 8x8 pixeles puede ser dividida en una de las sub particiones de 8x8 pixeles, 8x4 pixeles, 4x8 pixeles, y 4x4 pixeles, con cada sub-partición que tiene información independiente del vector de movimiento.
La Fig. 3 es un diagrama para describir el procesamiento de predicción y compensación con precisión de 1/4 de pixel de acuerdo con el sistema H.264/AVC. Con el sistema H.264/AVC, se realiza el procesamiento de predicción y compensación con precisión de 1/4 de pixel usando un filtro FIR (Filtro de Respuesta Finita al Impulso) de 6 tomas o derivaciones.
Con el ejemplo de la Fig. 3, las posiciones A indican las posiciones de los pixeles de precisión entera, y las posiciones b, c y d indican las posiciones con precisión de 1/2 pixel. Primero, de aquí en adelante, Cortar ( ) se define como la siguiente Expresión (1) Expresión Matemática 1 0; si (a<0) Cortarl(a) = a; de lo contrario _pix; si(a > maxpLx) Nótese que, en el caso de que la imagen introducida tenga precisión de 8 bitios, el valor de max_pix resulta 255.
Los valores en pixeles en las posiciones b y d se generan con la siguiente Expresión (2) usando un filtro FIR de 6 tomas o derivaciones.
Expresión Matemática 2 F = A-2 - 5 · A-i + 20 · A0 + 20 · Al - 5 · A2 + A3 b, d, = Cortarl((F + 16) » 5) ... (2) El valor en pixeles en la posición c se genera con la siguiente Expresión (3) aplicando un filtro FIR de tomas o derivaciones en la dirección horizontal y en la dirección vertical Expresión Matemática 3 F = b-2 - 5 · b-i + 20 · b0 + 20 ¦ bi - 5 ¦ b2 + b3 ó F = d-2 - 5 · d-i + 20 ¦ d0 + 20 ¦ di - 5 · d2 + d3 c = Cortarl((F + 512) » 10) ... (3) Nótese que el procesamiento de Cortar se ejecuta en última instancia solo una vez después del procesamiento de suma de productos en la dirección horizontal y en la dirección vertical .
Las posiciones el a e3 se generan por interpolación lineal como se muestra en la siguiente Expresión (4).
Expresión matemática 4 ei = (A + b + 1) » 1 e2 = (b + d + 1) » 1 e3 = (b + c + 1) » 1 ... (4) Nótese que, con la unidad 75 de predicción/compensación del movimiento de la Fig. 1, se lleva a cabo el procesamiento de predicción y compensación con precisión de 1/8 de pixel descrito en el NPL 1 municionado anteriormente, en lugar del procesamiento de predicción y compensación con precisión de 1/4 de pixel.
Específicamente, con la unidad 75 de predicción/compensación del movimiento, se realiza el procesamiento de interpolación con precisión de 1/2 pixel, usando un filtro [-3, 12, -39, 158, 158, -39, 12, -3] / 256. También, el procesamiento de interpolación con precisión de 1/4 de pixel se realiza usando un filtro [-3, 12, -37, 229, filtro 71 de desbloqueo, -21, 6, -1] /256, y el procesamiento de interpolación con precisión de 1/8 de pixel se realiza mediante interpolación lineal.
La Fig. 4 es un diagrama para describir el procesamiento de predicción y compensación de cuadros de referencia múltiple de acuerdo con el sistema H.264/AVC. Con el sistema H.264/AVC, se ha determinado el método de predicción y compensación de cuadros de referencia múltiple (Cuadro de Referencia Múltiple) .
Con el ejemplo de la Fig. 4 se muestra el cuadro actual Fn a ser codificado a partir de ese momento, y los cuadros codificados Fn-5, ... , Fn-1. El cuadro Fn-1 es, en el eje temporal, un cuadro delante del cuadro actual Fn, el cuadro Fc-2 es un cuadro dos cuadros adelante del cuadro actual Fn, y el cuadro Fn-3 es un cuando tres cuadros adelante del cuadro actual Fn. Igualmente, el cuadro Fn-4 es un cuadro cuatro cuadros adelante del cuadro actual Fn, y el cuadro Fn-5 es un cuadro cinco cuadros adelante del cuadro actual Fn. En general, mientras más cercano esté un cuadro al cuadro actual Fn en el eje temporal, más pequeño será el número de referencia de la imagen (ref_id) a ser agregado. Específicamente, el cuadro Fn-1 tiene el número de referencia de imagen más pequeño, y por lo tanto, los números de referencia de imagen son pequeños en el orden de Fn-2... , Fn-5.
Con el cuadro actual Fn, se muestra un bloque Al y un bloque A2, se busca un vector de movimiento VI asumiendo que el bloque Al se correlación con un bloque Al' del cuadro Fn-2 que está dos cuadros adelante del cuadro actual Fn. De forma similar, se busca un vector de movimiento V2 asumiendo que el bloque A2 se correlación con un bloque Al' del cuadro Fn-4 que está cuatro cuadros adelante del cuadro actual Fn.
Como se describe anteriormente, con el sistema H.264/AVC, se pueden referenciar diferentes cuadros de referencia en un cuadro (imagen) con cuadros de referencia múltiple almacenados en la memoria. Específicamente, por ejemplo, tal que el bloque Al hace referencia al cuadro Fn-2, y el bloque A2 hace referencia al cuadro Fn-4, la información el cuadro de referencia independiente (número de la imagen de referencia (ref_id) ) puede ser proporcionada para cada bloque en una imagen .
Aquí, los bloques indican una de las particiones de 16 x 16 pixeles, 16x8 pixeles, 8x16 pixeles, y 8x8 pixeles descritas con referencia a la Fig. 2. Se han acordado cuadros de referencia dentro de una partición de sub-bloque de 8x8 pixeles .
Con el sistema H.264/AVC, al realizar el procesamiento de predicción y compensación del movimiento descrito anteriormente con referencia a las FIGS. 2 a 4, se generan cantidades inmensas de información del vector de movimiento, y si estas se codifican sin cambios, se provoca un deterioro en la eficiencia de codificación. En respuesta a esto, con el sistema H.264/AVC, de acuerdo con un método mostrado en la Fig. 5, se ha logrado la reducción en la información de codificación del vector de movimiento.
La Fig. 5 es un diagrama para describir un método de generación de la información del vector de movimiento de acuerdo con el sistema H.264/AVC.
Con el ejemplo de la Fig. 5, se muestra un bloque actual D a ser codificado a partir de ahora (por ejemplo, de 16x16 pixeles) , y los bloques A á D, los cuales ya han sido codificados, adyacentes al bloque actual E.
Específicamente, el bloque D es adyacente a la esquina superior izquierda del bloque actual E, el bloque B es adyacente arriba del bloque actual E, el bloque C está adyacente a la esquina superior derecha del bloque actual E, y el bloque A está adyacente a la izquierda del bloque actual E. Nótese que la razón de por qué los bloques A al D no se dividen es debido a que cada uno de los bloques representa un bloque que tiene una estructura de 16x16 pixeles a 4x4 pixeles descrita anteriormente con referencia a la Fig. 2.
Por ejemplo, digamos que la información del vector de movimiento en cuanto a X (= A, B, C, D, E) se representa con mvK . Primero, la información del vector de movimiento de predicción pmvE en cuanto al bloque actual E se genera con la siguiente expresión (5) mediante la predicción de la mediana, usando la información del vector de movimiento con relación a los bloques A, B y C.
PmvE = med (mvA, mvB, mvc) ... (5) La información del vector de movimiento con relación al bloque C puede no ser usada (puede no estar disponible) debido que es el borde del cuadro de la imagen, antes de la codificación, o los similares. En este caso, la información del vector de movimiento con relación al bloque D se usa en lugar de la información del vector de movimiento con relación al bloque C.
La mvdE de los datos a ser agregados a la porción del encabezamiento de la imagen comprimida, que sirve n como la información del vector de movimiento en cuanto al bloque actual E, se generan con la siguiente Expresión (6) usando pmvE.
MvdE = mvE - pmvE ... ( 6 ) Nótese que, en realidad, el procesamiento se realiza independientemente en cuanto a los componentes en la dirección horizontal y la dirección vertical de la información del vector de movimiento.
A partir de aquí, con el fin de distinguir esta mvdE de los datos, de la información del vector de movimiento obtenida por la predicción del movimiento, esta mvdE de los datos se conocerá como una información del vector de movimiento distinta, según sea apropiado.
De esta manera, se genera la información del vector de movimiento de predicción, la información del vector de movimiento de diferencia que es la diferencia entre la información del vector de movimiento de predicción generada con base en la correlación con un bloque adyacente, y la información del vector de movimiento se agrega a la porción del encabezamiento de la imagen comprimida, por lo cual se puede reducir la información del vector de movimiento.
Incidentalmente, la cantidad de información de la información del vector de movimiento con relación a las imágenes B es inmensa, pero con el sistema H.264/AVC, se prepara un modo conocido como un modo directo. En el modo directo, la información del vector movimiento no se almacena en una imagen comprimida.
Específicamente, por el lado de la decodificación, con la información del vector de movimiento alrededor del bloque actual, o una imagen de referencia, la información del vector de movimiento del bloque actual se extrae de la información del vector de movimiento de un bloque co-localizado que es un bloque que tiene las mismas coordenadas que el bloque actual. Por consiguiente, la información del vector de movimiento no tiene que ser transmitida al lado de decodificación.
Este modo directo incluye dos tipos de un Modo Espacial Directo y un Modo Temporal Directo. El modo espacial directo es un modo para tomar ventaja de la correlación de la información de movimiento principalmente en la dirección espacial (el espacio bidimensional horizontal y vertical dentro de una imagen) , y por lo general tiene ventajas en el caso de una imagen que incluye movimientos similares, de los cuales varía la velocidad de movimiento. Por otro lado, el modo temporal directo es un modo para tomar ventaja de la correlación de la información de movimiento principalmente en la dirección temporal, y por lo general tiene ventajas en el caso de una imagen que incluye diferentes movimientos en los cuales las velocidades de movimiento son constantes.
Cuál de estos modos espacial directo y temporal directo se emplea, puede ser cambiado para cada partición.
El modo espacial directo de acuerdo con el sistema H.264/AVC se describirá otra vez con referencia a la Fig. 5. Con el ejemplo en la Fig. 5, como se describe anteriormente, se muestra el bloque actual E a ser codificado a partir de este momento (por ejemplo, de 16 x 16 pixeles) , y los bloques A al D, los cuales ya han sido codificados, adyacentes al bloque actual E. También, la información del vector de movimiento en cuanto a X (=A, B, C, D, E) se presenta con mvx, por ejemplo.
La información del vector de movimiento de predicción pmvE en cuanto al bloque actual E se genera con la Expresión (5) mencionada anteriormente por predicción de la mediana, usando la información del vector de movimiento con relación a los bloques A, B, y C. También, la información del vector de movimiento mvE en cuando a bloque actual E en el modo espacial directo se representa con la siguiente Expresión (7) . mvE = pmvE ... ( 7 ) Específicamente, en el modo espacial directo, la información del vector de movimiento de predicción generada por la predicción de la mediana, se toma como la información del vector de movimiento del bloque actual. Es decir, la información del vector movimiento del bloque actual se genera a partir de la información del vector de movimiento de los bloques codificados. Por consiguiente, el vector de movimiento de acuerdo con el modo espacial directo también puede ser generado en el lado de decodificación, y por consiguiente, la información del vector de movimiento no debe ser transmitida al lado de decodificación.
Enseguida, el modo temporal directo de acuerdo con el sistema H.264/AVC se describirá con referencia a la Fig. 6.
Con el ejemplo de la Fig. 6, el eje temporal t representa el transcurso del tiempo, imagen de referencia de LO (lista 0) , la imagen a ser codificada desde este momento, y una imagen de referencia de Ll (Listal) se muestran en orden desde la izquierda. Nótese que con el sistema H.264/AVC, la fila de la imagen de referencia de LO, la imagen actual, y la imagen de referencia de Ll no se restringe a este orden.
El bloque actual de la imagen actual se incluye en la partición B, por ejemplo. Por consiguiente, con relación al bloque actual de la imagen actual, la información del vector de movimiento de LO mvL0 y la información del vector de movimiento de Ll mvLi basadas en el modo directo temporal, se calcula como la imagen de referencia de LO y la imagen de referencia de Ll.
También, con la imagen de referencia de LO, la información del vector de movimiento mvcoi en un bloque colocalizado que es un bloque posicionado en la misma dirección (coordenadas) espacial como el bloque actual a ser codificado a partir de este momento, se calcula con base en la imagen de referencia de LO y la imagen de referencia de Ll .
Ahora, digamos que la distancia en el eje temporal, entre la imagen actual y la imagen de referencia de LO se toma como TDB, y la distancia sobre el eje temporal entre la imagen de referencia de LO y la imagen de referencia de Ll se toma como TDD. En este caso, la información del vector de movimiento de LO mvLo en la imagen actual, y la información del vector de movimiento de Ll mvL1 en la imagen actual, se pueden calcular con la siguiente Expresión (8).
Expresión Matemática 5 TDB mvL0=—mvd Nótese que, con el sistema H.264/AVC, no hay información equivalente a las distancias TDB y TDD sobre el eje temporal t en cuanto a la imagen actual dentro de la imagen comprimida. Por consiguiente, POC (conteo del Orden de la Imagen) , que es la información que indica la secuencia de salida de las imágenes, se emplea como los valores actuales de las distancias TDB y TDD.
También, con el sistema H.264/AVC, se proporciona adicionalmente un modo de salto que sirve como un modo en donde la información del vector de movimiento no debe ser trasmitida de forma similar. En el caso de que los datos codificados relacionados con un vector de movimiento sean 0 (la expresión (7) mencionada anteriormente se mantiene, en el caso del sistema H.264/AVC), y también cuando todos los coeficientes DCT sean 0, el bloque actual de la misma está en el modo de salto. También, en el caso de una imagen B, cuando el modo directo está activo, y también el coeficiente DCT sea 0, el bloque actual de la misma está en el modo de salto.
Ejemplo de Configuración de la Unidad de Predicción/Compensación del Movimiento y de la Unidad de Determinación de la Precisión del Vector de Movimiento La Fig. 7 es un diagrama de bloques que ilustra un ejemplo de la configuración detallada de la unidad de predicción/compensación del movimiento, y la unidad de determinación de la precisión del vector de movimiento. Nótese que los detalles se describirán con referencia al bloque actual E y los bloques A á D mencionados anteriormente, de la Figura 5, según sea apropiado.
Con el ejemplo en la Fig. 7, la unidad 75 de predicción/compensación del movimiento se configura de una unidad 81 de predicción/compensación del movimiento con precisión entera en pixeles, una unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, un búfer 83 de acumulación de información del vector de movimiento, una unidad 84 de cálculo del vector de movimiento de predicción, una unidad 85 de codificación de la información del vector de movimiento, y una unidad 86 de determinación del modo.
La unidad 76 de determinación de la precisión del vector de movimiento se configura de una unidad 91 de determinación de la precisión del vector de movimiento actual, una unidad 92 de determinación de la precisión del vector de movimiento adyacente, y una unidad 93 de generación de la bandera de precisión .
En cuanto a la unidad 81 de predicción/compensación del movimiento con precisión entera en pixeles, la imagen bruta a ser sometida al inter procesamiento, leida desde el búfer 62 de ordenamiento de la pantalla se suministra, y la imagen de referencia se suministra desde la memoria 72 de cuadros via el conmutador 73. La unidad 81 de predicción/compensación del movimiento con precisión entera en pixeles realiza el procesamiento de predicción y compensación del movimiento con precisión entera en pixeles del bloque actual E con relación a todos los modos inter predicción que sirven como candidatos. En este momento, la información del vector de movimiento con precisión entera en pixeles del bloque actual E se suministra a la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles junto con una imagen a ser sometida al inter procesamiento, y una imagen de referencia.
La unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles usa la imagen a ser sometida al inter procesamiento y la imagen de referencia para llevar a cabo el procesamiento de predicción y compensación del movimiento con precisión fraccional en pixeles del bloque actual E, con base en la información del vector de movimiento con precisión entera en pixeles. Aquí, como se describe anteriormente, se realiza el procesamiento de predicción y compensación con precisión de 1/8 de pixel. En este momento, la información del vector de movimiento obtenida mvE se acumula en el búfer 83 de acumulación de información del vector de movimiento, y también se suministra a la unidad 85 de codificación de la información del vector de movimiento y a la unidad 91 de determinación de la precisión del vector de movimiento actual. También, la imagen de predicción obtenida por el procesamiento de compensación con precisión fraccional en pixeles se suministra a la unidad 86 de determinación del modo, junto con la imagen bruta y la información del cuadro de referencia .
El búfer 83 de acumulación de información del vector de movimiento acumula la información del vector de movimiento mvx (X = A, B, C, D, E) obtenida por la unidad 82 de predicción/compensación del 'movimiento con precisión fraccional en pixeles.
La unidad 84 de cálculo del vector de movimiento de predicción lee la información del vector de movimiento mvA, mvB y mvc de los bloques adyacentes, adyacentes al bloque actual, desde el búfer 83 de acumulación de información del vector de movimiento, la unidad 84 de cálculo del vector de movimiento de predicción usa la información del vector de movimiento leída para calcular la información del vector de movimiento de predicción pmvE del bloque actual E por la predicción de la mediana en la Expresión (5) mencionada anteriormente) . En este momento, la bandera de precisión generada por la unidad 93 de generación de la bandera de precisión (horizontal_mv_precisión_cambio_bandera, vertical_mv_precisión _cambio_bandera ) se suministra a la unidad 84 de cálculo del vector de movimiento de predicción.
En el caso de que esta bandera de precisión indique que la precisión de la información del vector de movimiento del bloque actual E, y la precisión de la información del vector de movimiento de un bloque adyacente usado para la generación de la información del vector de movimiento de predicción, difieran, la unidad 84 de cálculo del vector de movimiento de predicción lleva a cabo el procesamiento como sigue. Específicamente, en este caso, la unidad 84 de cálculo del vector de movimiento de predicción convierte (ajusta) la precisión de la información del vector de movimiento del bloque adyacente en la precisión de la información del vector de movimiento del bloque actual E, y calcula la información del vector de movimiento de predicción pmvE del bloque actual E.
La información del vector de movimiento de predicción pmvE del bloque actual E, generada por la unidad 84 de cálculo del vector de movimiento de predicción, se suministra a la unidad 85 de codificación de la información del vector de movimiento .
En cuanto a la unidad 85 de codificación de la información del vector de movimiento, la información del vector de movimiento mvE del bloque actual E se suministra desde la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, y la información del vector de movimiento de predicción pmvE del bloque actual E se suministra desde la unidad 84 de cálculo del vector de movimiento de predicción. Además, la banderea de precisión se suministra desde la unidad 93 de generación de la bandera de precisión a la unidad 85 de codificación de la información del vector de movimiento.
La unidad 85 de codificación de la información del vector de movimiento usa la información del vector movimiento mvE del bloque actual E, y la información del vector de movimiento de predicción pmvE del bloque actual E para obtener la información del vector de movimiento de diferencia mvdE del bloque actual A ser agregada a la porción de encabezamiento de la imagen comprimida, mediante la Expresión (6) mencionada anteriormente. La unidad 85 de codificación de la información del vector de movimiento de codificación de la información del vector de movimiento suministra la información del vector de movimiento de diferencia mvdE obtenida del bloque actual E, a la unidad 86 de determinación del modo, junto con la bandera de precisión.
La imagen de predicción, la imagen bruta, y la información del cuadro de referencia desde la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, la información del vector de diferencia mvdE y la bandera de precisión desde la unidad 85 de codificación de la información del vector de movimiento, etcétera se suministran a la unidad 86 de determinación del modo. La unidad 86 de determinación del modo usa la información suministrada según sea apropiado, para calcular un valor de la función de costo con relación a todos los modos ínter predicción que sirven como candidatos. La unidad 86 de determinación del modo determina el modo de predicción del cual el valor de la función de costo proporciona el valor mínimo para ser el modo ínter predicción óptimo, y suministra la imagen de predicción generada en el modo de predicción óptimo, y el valor de la función de costo de la misma, a la unidad 77 de selección de la imagen de predicción.
En el caso de que la imagen de predicción en el modo de inter predicción haya sido seleccionada por la unidad 77 de selección de la imagen de predicción, la unidad 86 de determinación del modo trasmite la información que indica el modo inter predicción óptimo, la información del vector de movimiento de diferencia mvdE, la bandera de precisión, la información del cuadro de referencia, etcétera, a la unidad 66 de codificación sin pérdidas, La unidad 91 de determinación de la precisión del vector de movimiento actual distingue la precisión de la información del vector de movimiento mvE del bloque actual de la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles. La unidad 91 de determinación de la precisión del vector de movimiento actual determina entonces los parámetros de precisión con relación a los componentes horizontales y los componentes verticales como la información del vector de movimiento del bloque actual ( curr_horizontal_mv_precisión_param, curr_vertical_mv _precisión_param) . Los parámetros de precisión determinados de la información del vector de movimiento del bloque actual se suministran a la unidad 93 de generación de la bandera de precisión.
Por ejemplo, en el caso de que la información del vector de movimiento mvE del bloque actual E tenga solo información hasta una precisión de 1/4 de pixel, los valores del parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales del bloque actual E toman el valor de 0. En el caso de que la información del vector de movimiento mvE del bloque actual E tenga información hasta una precisión de 1/8 de pixel, los valores del parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales del bloque actual E toman el valor de 1.
La unidad 92 de determinación de la precisión del vector de movimiento adyacente lee la información del vector de movimiento del bloque adyacente de la búfer 83 de acumulación de información del vector de movimiento, y distingue la precisión de la información del vector de movimiento del bloque adyacente. La unidad 92 de determinación de la precisión del vector de movimiento adyacente determina entonces los parámetros de precisión con relación a los componentes horizontales y los parámetros verticales en cuanto a la información del vector de movimiento del bloque adyacente (pred_horizontal_mv_precisión_param, pred_vertical_mv_precisión_param) . Los parámetros de precisión determinados de la información del vector de movimiento del bloque adyacente se suministran a la unidad 93 de generación de la bandera de precisión.
Por ejemplo, en el caso de que la información del vector de movimiento del bloque adyacente tenga solo información hasta una precisión de 1/4 de pixel, los valores del parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales del bloque adyacente, toman el valor de 0. En el caso de que la información del vector de movimiento del bloque adyacente tenga información hasta una precisión de 1/8 de pixel, los valores del parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales del bloque adyacente toman el valor de 1.
Aquí, el bloque adyacente es un bloque que puede proporcionar un valor de predicción (información del vector de movimiento de predicción) pmvE para la información del vector movimiento mvE del bloque actual E, y los ejemplos de esto son los bloques A, B, C y D de la Fig. 5. Específicamente, el bloque adyacente se define por uno de los siguientes métodos.
Un primer método es un método que usa el bloque A adyacente a la porción izquierda del bloque actual E como un bloque adyacente.
Un segundo método es un método que usa un bloque sometido al último al procesamiento de decodificación, como un bloque adyacente.
Un tercer método es un método que usa un bloque que proporciona un valor de predicción seleccionado por la predicción de la mediana de la Expresión (5) mencionada anteriormente, como un bloque adyacente. Es decir, en este caso se usa la precisión de un vector de movimiento determinado como un valor de predicción por la predicción de la mediana.
Nótese que, con el primer método y el segundo método mencionados anteriormente, en el caso de que un bloque que proporciona pred_horizontal_mv_precisión_param y pred__vertical_mv_precisión_param sea el bloque sometido a intra codificación, el procesamiento se lleva a cabo con el valor de la información del vector de movimiento del mismo tomado como 0. También, en el caso del tercer método, se lleva a cabo el procesamiento basado en la predicción de la mediana determinada por el sistema H.264/AVC.
Los parámetros de precisión de la información del vector de movimiento del bloque actual E de la unidad 91 de determinación de la precisión del vector de movimiento actual, y los parámetros de precisión de la información del vector de movimiento del bloque adyacente de la unidad 92 de determinación de la precisión del vector de movimiento adyacente, se suministran a la unidad 93 de generación de la bandera de precisión. La unidad 93 de generación de la bandera de precisión compara los parámetros de precisión de ambos, y genera una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual E, y la precisión de de la información del vector de movimiento del bloque adyacente, concuerdan o difieren.
Específicamente, en el caso de que los parámetros de precisión para los componentes horizontales del bloque actual E y los parámetros de precisión para los componentes horizontales del bloque adyacente tengan el mismo valor, el valor de la bandera de precisión para los componentes horizontales del bloque actual E (horizontal_mv_precisión_cambio_bandera) toman el valor de 0. En el caso de que los parámetros de precisión para los componentes horizontales del bloque actual E, y los parámetros de precisión para los componentes horizontales del bloque adyacente tengan un valor diferente, el valor de la bandera de precisión para los componentes horizontales del bloque actual E (horizontal_mv_precisión_cambio_bandera) se ajusta a 1.
También, en el caso de que los parámetros de precisión para los componentes verticales del bloque actual E, y los parámetros de precisión para los componentes verticales del bloque adyacente tengan el mismo valor, el valor de la bandera de precisión para los componentes verticales del bloque actual E ( vertical_mv_precisión_cambio_bandera) se ajusta a 0. En el caso de que los parámetros de precisión para los componentes verticales del bloque actual E, y los parámetros de precisión para los componentes verticales del bloque adyacente tengan un valor diferente, el valor de la bandera de precisión para los componentes verticales del bloque actual E ( vertical_mv_precisión_cambio_bandera ) se ajusta a 1.
En otras palabras, la bandera de precisión que indica si la precisión del la información del vector de movimiento del bloque actual E, y la precisión de la información del vector de movimiento del bloque adyacente, concuerdan o difieren, indica si la precisión de la información del vector de movimiento del bloque actual E ha sido cambiada de la precisión de la información del vector de movimiento del bloque adyacente.
Las banderas de precisión generadas para los componentes horizontales y para los componentes verticales del bloque actual se suministran a la unidad 84 de cálculo del vector de movimiento de predicción y a la unidad 85 de codificación de la información del vector de movimiento.
Descripción del Procesamiento de Codificación del Dispositivo de Codificación de Imágenes Enseguida, se describirá el procesamiento de codificación del dispositivo 51 de codificación de imágenes, con referencia al diagrama de flujo en la Fig. 8.
En la etapa Sil, la unidad 61 de conversión A/D, convierte una imagen de entrada de formato analógico a digital. En la etapa S12, el búfer 62 de ordenamiento de la pantalla almacena la imagen suministrada desde la unidad 61 de conversión A/D, , y lleva a cabo el ordenamiento de la secuencia para desplegar las imágenes a la secuencia para la codificación .
En la etapa S13, la unidad 63 de cómputo calcula la diferencia entre una imagen ordenada en la etapa S12 y la imagen de predicción. La imagen de predicción se suministra a la unidad 63 de computo, desde a unidad 75 de predicción/compensación del movimiento, en el caso de realizar la ínter predicción, y desde la unidad 74 de intra predicción, en el caso de llevar a cabo la intra predicción, vía la unidad 77 de selección de la imagen de predicción.
Los datos de la diferencia son más pequeños en la cantidad de datos en comparación con los datos de la imagen original. Por consiguiente, la cantidad de datos puede ser comprimida, en comparación con el caso de codificar la imagen original sin cambios.
En la etapa S14, la unidad 64 de transformación ortogonal somete la información de diferencia suministrada desde la unidad 63 de cómputo, a una transformación ortogonal. Específicamente, la transformación ortogonal, tal como la transformada de coseno discreta, la transformada de Karhunen-Loéve, o las similares, se lleva a cabo, y se transmite un coeficiente de transformación. En la etapa S15, la unidad 65 de cuantificación cuantifica el coeficiente de transformación. En el momento de esta cuantificación la tasa se controla de modo tal como se describirá más tarde en la etapa S25.
La información de diferencia así cuantificada se decodifica localmente como sigue. Específicamente, en la etapa S16, la unidad 68 de cuantificación inversa somete el coeficiente de transformación cuantificado por la unidad 65 de cuantificación a cuantificación inversa, usando una propiedad correspondiente a la propiedad de la unidad 65 de cuantificación . En la etapa S17, la unidad 69 de transformación ortogonal inversa somete el coeficiente de transformación sometido a la cuantificación inversa por la unidad 68 de cuantificación inversa, a transformación ortogonal inversa usando una propiedad correspondiente a la propiedad de la unidad 64 de transformación ortogonal.
En la etapa S18, la unidad 70 de computo agrega la entrada de la imagen de predicción vía la unidad 77 de selección de la imagen de predicción, a la información de diferencia decodificada localmente, y genera una imagen decodificada localmente (la imagen correspondiente a la entrada a la unidad 63 de computo) . En la etapa S19, el filtro 71 de desbloqueo somete a filtrado la imagen transmitida desde la unidad 70 de computo. Por lo tanto, se elimina la distorsión de bloque. En la etapa S20, la memoria 72 de cuadros almacena la imagen sometida a filtrado. Nótese que, una imagen no sometida al procesamiento de filtrado por el filtro 71 de desbloqueo también se suministra desde la unidad 70 de computo a la memoria 72 de cuadros, para su almacenamiento .
En la etapa S21, la unidad 74 de intra predicción y la unidad 75 de predicción/compensación del movimiento, llevan a cabo el procesamiento de predicción de la imagen. Específicamente, en la etapa S21, la unidad 74 de intra predicción lleva a cabo el procesamiento de intra predicción en el modo de intra predicción. La unidad 75 de predicción/compensación del movimiento lleva a cabo el procesamiento de predicción y compensación del movimiento en el modo de inter predicción con precisión de 1/8 de pixel.
En este momento, la unidad 76 de determinación de la precisión del vector de movimiento genera una bandera de predicción que indica si la precisión de la información del vector de movimiento del bloque actual, obtenida por la unidad 75 de predicción/compensación del movimiento, y la precisión de la información del vector de movimiento de un bloque adyacente al bloque actual, concuerdan o difieren. La unidad 75 de predicción/compensación del movimiento usa la información del vector de movimiento del bloque adyacente para calcular la información del vector de movimiento de predicción del bloque actual, con base en la bandera de predicción del mismo, y toma la diferencia entre la información del vector de movimiento obtenida y la información del vector de movimiento de predicción calculada, como la información del vector de movimiento de diferencia a ser transmitida al lado de decodificación.
Esta bandera de precisión y la información del vector de movimiento de diferencia se suministra en la etapa S22, en el caso de que haya sido seleccionada la imagen de predicción en el modo ínter predicción óptimo, a la unidad 66 de codificación sin pérdidas junto con la información que indica el modo inter predicción y la información del cuadro de referencia.
Los detalles del procesamiento de predicción en la etapa S21 se describirán a continuación con referencia a la Fig. 9, pero de acuerdo con este procesamiento, se realizan los procesos de predicción en todos los modos intra predicción que sirven como candidatos, y se calculan los valores de la función de costo en todos los modos intra predicción que sirven como candidatos. El modo intra predicción óptimo se selecciona con base en los valores de la función de costo, y la imagen de predicción generada por la intra predicción en el modo de intra predicción óptimo, y el valor de la función de costo del mismo, se suministran a la unidad 77 de selección de la imagen de predicción.
También, de acuerdo con este procesamiento, se realizan los procesos de predicción en todos los modos de predicción que sirven como procesos en todos los modos inter predicción, que sirven como candidatos, y se calculan los valores de la función de costo en todos los modos inter predicción que sirven como candidatos. El modo inter predicción óptimo se determina de entre los modos de inter predicción con base en los valores calculados de la función de costo, y la imagen de predicción generada por la inter predicción en el modo de ínter predicción óptimo, y el valor de la función de costo del mismo, se suministran a la unidad 77 de selección de la imagen de predicción.
En la etapa S22, la unidad 77 de selección de la imagen de predicción determina uno del modo intra predicción óptimo y el modo inter predicción óptimo, para ser el modo de predicción óptimo, con base en los valores de la función de costo transmitidos desde la unidad 74 de intra predicción y la unidad 75 de predicción/compensación del movimiento. La unidad 77 de selección de la imagen de predicción selecciona entonces la imagen de predicción en el modo de predicción óptimo determinado, y la suministra a las unidades 63 y 70 de cómputo. Esta imagen de predicción se usa, como se describe anteriormente, para los cálculos en las etapas S13 y S18.
Nótese que, la información de selección de esta imagen de predicción se suministra a la unidad 74 de intra predicción o a la unidad 75 de predicción/compensación del movimiento. En el caso de que la imagen de predicción en el modo de intra predicción óptimo haya sido seleccionada, la unidad 74 de intra predicción suministra la información que indica el modo intra predicción óptimo (es decir, la información del modo intra predicción) a la unidad 66 de codificación sin pérdidas.
En el caso de que la imagen de predicción en el modo inter predicción óptimo haya sido seleccionado, la unidad 75 de predicción/compensación del movimiento transmite la información que indica el modo ínter predicción óptimo, y de acuerdo con las necesidades, la información de acuerdo con el modo inter predicción óptimo, a la unidad 66 de codificación sin pérdidas. Los ejemplos de la información de acuerdo con el modo de inter predicción óptimo incluyen la información del vector de movimiento de diferencia, la bandera de precisión, y la información del cuadro de referencia.
En la etapa S23, la unidad 66 de codificación sin pérdidas codifica el coeficiente de transformación cuantificado transmitido desde la unidad 65 de cuantificación . Específicamente, la imagen de diferencia se somete a codificación sin pérdidas, tal como por ejemplo codificación de longitud variable, codificación aritmética, o los similares y se comprime. En este momento, la información del modo intra predicción de la unidad 74 de intra predicción, o la información de acuerdo con el modo de inter predicción óptimo de la unidad 75 de predicción/compensación del movimiento, etcétera, introducida a la unidad 66 de codificación sin pérdidas en la etapa S22, descrita anteriormente, también se comprima, y se agrega a la información del encabezamiento.
En la etapa S24, el búfer 67 de acumulación, acumula la imagen de diferencia como la imagen comprimida. La imagen comprimida acumulada en el búfer 67 de acumulación se lee según sea apropiado, y se transmite al lado de decodificación por medio de la vía de transmisión.
En la etapa S25, la unidad 78 de control de la tasa controla la tasa de la operación de cuantificación de la unidad 65 de cuantificación, con base en la imagen comprimida, acumulada en el búfer 67 de acumulación, para no provocar desbordamiento o subdesbordamiento .
Descripción del Procesamiento de Predicción Enseguida se describirá el procesamiento de predicción en la etapa S21 en la Fig. 8, con referencia al diagrama de flujo en la Fig. 9.
En el caso de que la imagen a ser procesada, suministrada desde el búfer 62 de ordenamiento de la pantalla, sea una imagen en un bloque a ser sometido a intra procesamiento, la imagen decodificada a ser referenciada se lee desde la memoria 72 de cuadros, y se suministra a la unidad 74 de intra predicción vía el conmutador 73. En la etapa S31, con base en estas imágenes, la unidad 74 de intra predicción realiza la intra predicción en cuanto a los pixeles en el bloque a ser procesado usando todos los modos de intra predicción que sirven como candidatos. Nótese que los pixeles no sometidos a filtrado de desbloqueo por el filtro 71 de desbloqueo se usan como los pixeles decodificados a ser referenciados .
Los detalles del procesamiento intra predicción en la etapa S31 se describirán a continuación, con referencia a la Fig. 10, pero de acuerdo con este procesamiento se lleva a cabo la intra predicción usando todos los modos de intra predicción que sirven como candidatos, y el valor de la función de costo se calcula para todos los modos intra predicción que sirven como candidatos. El modo intra predicción óptimo se selecciona entonces con base en los valores calculados de la función de costo, y la imagen de predicción generada por la intra predicción, en el modo de intra predicción óptimo, y el valor de la función de costo del mismo se suministra a la unidad 77 de selección de la imagen de predicción.
En el caso de que la imagen a ser procesada, suministrada desde el búfer 62 de ordenamiento de la pantalla, sea una imagen a ser sometida a ínter procesamiento, la imagen a ser referenciada se lee desde memoria 72 de cuadros, y se suministra a la unidad 75 de predicción/compensación del movimiento, por medio del el conmutador 73. En la etapa S32, con base en estas imágenes, la unidad 75 de predicción/compensación del movimiento realiza el procesamiento de Ínter predicción movimiento. Es decir, la unidad 75 de predicción/compensación del movimiento referencia la imagen suministrada desde la memoria 72 de cuadros para llevar a cabo el procesamiento de predicción del movimiento en todos los modos ínter predicción que sirven como candidatos.
Nótese que, en este momento, la unidad 76 de determinación de la precisión del vector de movimiento, genera una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual, obtenido por la unidad 75 de predicción/compensación del movimiento, y la precisión de la información del vector de movimiento de un bloque adyacente al bloque actual, concuerdan o difieren. La unidad 75 de predicción/compensación del movimiento usa la información del vector de movimiento del bloque adyacente para generar la información del vector de movimiento de predicción del bloque actual, con base en la bandera de precisión de la misma, y toma la diferencia entre la información del vector de movimiento obtenida y la información del vector de movimiento de predicción generada. Como la información del vector de movimiento de diferencia a ser transmitida al lado de decodificación.
Esta bandera de precisión y la información del vector de movimiento de diferencia se suministran, en el caso de que la imagen de predicción en el modo ínter predicción óptimo haya sido seleccionada en la etapa S22 en la Fig. 8, a la unidad 66 de codificación sin pérdidas, junto con la información que indica el modo de inter predicción óptimo, y la información del cuadro de referencia.
Los detalles del procesamiento inter movimiento en la etapa S32 se describirán más tarde con referencia a la Fig. 11, pero de acuerdo con este procesamiento, se lleva a cabo el procesamiento de predicción del movimiento en todos los modos ínter predicción que sirven como candidatos, y se calcula un valor de la función de costo para todos los modos de ínter predicción que sirven como candidatos.
En la etapa S34, la unidad 68 de cuantificación inversa de la unidad 75 de predicción/compensación del movimiento compara los valores de la función de costo en cuanto a los modos de inter predicción, calculados en la etapa S32. La unidad 86 de determinación del modo determina el modo de predicción que proporciona el valor mínimo, para ser el modo inter predicción óptimo, y suministra la imagen de predicción generada en el modo de inter predicción óptimo, y el valor de la función de costo del mismo, a la unidad 77 de selección de la imagen de predicción.
Descripción del Procesamien-bo de Intra Predicción Enseguida, se describirá el procesamiento de intra predicción en la etapa S31 en la Fig. 9, con referencia al diagrama de flujo en la Fig. 10. Nótese que, con el ejemplo en la Fig. 10, la descripción se hará con relación a un caso de una señal de luminancia, como un ejemplo.
En la etapa S41, la unidad 74 de intra predicción realiza la intra predicción en cuanto a los modos de intra predicción de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles.
Con relación a los modos de intra predicción para una señal de luminancia, aquí se proporcionan nueve tipos de modos de predicción en unidades de bloque de 4 x 4 pixeles, y 8 x 8 pixeles, y en unidades de macro bloque de 16 x 16 pixeles, y con relación a los modos intra predicción para una señal de diferencia de color, aquí se proporcionan cuatro tipos de modos de predicción en unidades de bloque de 8 x 8 pixeles. Los modos intra predicción para las señales de diferencia de color pueden ser establecidos independientemente a partir de los modos de intra predicción para las señales de luminancia. Con relación a los modos intra predicción de 4 x 4 pixeles y 8 x 8 pixeles de una señal de luminancia, se define un modo intra predicción para cada bloque de 4 x 4 pixeles y 8 x 8 pixeles de la señal de luminancia de 4 x 4. Con respecto al modo de intra predicción de 16 x 16 pixeles de una señal de luminancia, y el modo de intra predicción de una señal de diferencia de color, un modo de predicción se define en cuanto a un macro bloque.
Específicamente, la unidad 74 de intra predicción lleva a cabo la intra predicción en cuanto a los pixeles en el bloque a ser procesado con referencia a la imagen decodificada, leída desde la memoria 72 de cuadros, y suministrada vía el conmutador 73. Este procesamiento de intra predicción se realiza en los modos de intra predicción, y por consiguiente, se generan las imágenes de predicción en los modos de intra predicción. Nótese que los pixeles no sometidos a filtrado de desbloqueo por el filtro 71 de desbloqueo se usan como los pixeles decodificados a ser referenciados .
En la etapa S42, la unidad 74 de intra predicción calcula un valor de la función de costo en cuanto a los modos de intra predicción de 4 x 4 pixeles, 8 8 pixeles, y 16 x 16 pixeles. Aquí, los cálculos de un valor de la función de costo se realizan con base en una de las técnicas del modo de Alta complejidad o el modo de Baja Complejidad. Estos modos se determina en el NM (Modelo Conjunto) que es un programa de referencia en el sistema H.264/AVC.
Específicamente, en el modo de Alta Complejidad, tentativamente, hasta el procesamiento de codificación se lleva a cabo en cuanto a todos los modos de predicción que sirven como candidatos, como el procesamiento en la etapa S41. Un valor de la función de costos, representado con la siguiente Expresión (9), se calcula en cuanto a los modos de predicción, y el modo de predicción que proporciona el valor mínimo del mismo se selecciona como el modo de predicción óptimo .
Costo (Modo) = D + ? ¦ R ... (9) D denota la diferencia (distorsión) entre la imagen bruta y una imagen decodificada, R denota una cantidad de código generado que incluye un coeficiente de transformación ortogonal, y ? denota un multiplicador de LaGrange a ser proporcionado como una función de un parámetro de cuantificación QP.
Por otro lado, en el modo de Baja Complejidad, se genera una imagen de predicción, y hasta los bitios del encabezamiento de la información del vector de movimiento, la información del modo de predicción, la información de la bandera, etcétera, se calculan para todos los modos de predicción que sirven como candidatos como el procesamiento en la etapa S41. Se calcula un valor de la función de costo con la siguiente Expresión (10), en cuanto a los modos de predicción, y el modo de predicción que proporciona el valor mínimo de la misma, se selecciona como el modo de predicción óptimo .
Costo (Modo) =D+QPtoQuant (QP) -Encabezamiento_Bitio ... (10) D denota la diferencia (distorsión) entre la imagen bruta y la imagen decodificada, Encabezamiento_bitio denota los bitios del encabezamiento en cuanto al modo de predicción, y QPtoQuant es una función a ser proporcionada como una función del parámetro de cuantificación QP.
En el modo de Baja Complejidad, una imagen de predicción se genera solamente en cuanto a todos los modos de predicción, y no hay necesidad de realizar el procesamiento de codificación y el procesamiento de decodificación, y por consiguiente, se puede reducir la cantidad de cálculos.
En la etapa S43, la unidad 74 de intra predicción determina el modo óptimo en cuanto a los modos de intra predicción de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles. Específicamente, como se describe anteriormente, en el caso del modo de intra predicción 4 4 y el modo de intra predicción 8 x 8 , el número de tipos del modo de predicción es de nueve, y en el caso del modo de intra predicción 16 x 16, el número de tipos del modo de predicción es de cuatro. Por consiguiente, la unidad 74 de intra predicción determina, con base en los valores de la función de costo calculados en la etapa S42, el modo de intra predicción x óptimo, el modo de intra predicción 8 x 8 óptimo, y el modo de intra predicción 16 x 16 óptimo de entre los mismos.
En la etapa S44, la unidad 74 de intra predicción selecciona el modo de intra predicción óptimo de entre los modos óptimos determinados en cuanto a los modos de intra predicción de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles, con base en los valores de la función de costo calculados en la etapa S42. Específicamente, la unidad 74 de intra predicción selecciona un modo del cual, el valor de la función de costo es el valor mínimo entre los modos óptimos determinados en cuanto a 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles, como el modo intra predicción óptimo. La unidad 74 de intra predicción suministra entonces la imagen de predicción generada en el modo intra predicción óptimo, y el valor de la función de costo del mismo a la unidad 77 de selección de la imagen de predicción.
Descripción del Procesamiento de Predicción ínter Movimiento Enseguida, se describirá el procesamiento de inter predicción movimiento en la etapa S32 en la Fig. 9, con referencia al diagrama de flujo en la Fig. 11.
En la etapa S51, la unidad 75 de predicción/compensación del movimiento determina un vector de movimiento y una imagen de referencia en cuanto a cada uno de los ocho tipos de modos de inter predicción formados de 16 x 16 pixeles a 4 x 4 pixeles, descritos anteriormente con referencia a la Fig. 2. Es decir, un vector de movimiento y una imagen de referencia se determinan en cuanto al bloque a ser procesado en cada uno de los modos de inter predicción.
En la etapa S52, la unidad 75 de predicción/compensación del movimiento somete la imagen de referencia al procesamiento de predicción y compensación del movimiento, con base en el vector de movimiento determinado en la etapa S51, con relación a cada uno de los ocho tipos de modos de inter predicción formados de 16 x 16 pixeles a 4 x 4 pixeles. De acuerdo con este procesamiento de predicción y compensación del movimiento, se genera una imagen de predicción en cada uno de los modos de inter predicción.
Específicamente, el procesamiento mencionado anteriormente en las etapas S51 y S51 se realiza con precisión entera en pixeles en cuanto al bloque actual de cada modo de ínter predicción, por la unidad 81 de predicción/compensación del movimiento con precisión entera en pixeles, y se realiza con precisión de 1/8 de pixel por la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles.
Primero, la unidad 81 de predicción/compensación del movimiento con precisión entera en pixeles lleva a cabo el procesamiento de predicción y compensación del movimiento con una precisión entera de pixeles, del bloque actual, con relación a todos los modos inter predicción que sirven como candidatos. En este momento, la información del vector de movimiento obtenida con precisión entera en pixeles, del bloque actual, se suministra a la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles junto con una imagen a ser sometida al inter procesamiento y una imagen de referencia. En respuesta a esto, la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles usa la imagen a ser sometida a inter procesamiento y la imagen de referencia, para llevar a cabo el procesamiento de predicción y compensación del movimiento, con precisión fraccional en pixeles, del bloque actual, con base en la información del vector de movimiento con precisión entera de pixeles.
La información obtenida del vector de movimiento se acumula en el búfer 83 de acumulación de información del vector de movimiento, y también se suministra a la unidad 85 de codificación de la información del vector de movimiento y a la unidad 91 de determinación de la precisión del vector de movimiento actual. También, de acuerdo con el procesamiento de compensación con precisión fraccional en pixeles, la imagen de predicción obtenida se suministra a la unidad 86 de determinación del modo, con la imagen bruta y la información del cuadro de referencia.
Con la información del vector de movimiento del bloque actual que se suministra desde la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, en la etapa S53, la unidad 76 de determinación de la precisión del vector de movimiento ejecuta el procesamiento de determinación de la precisión del vector de movimiento. Este procesamiento de determinación de la precisión del vector de movimiento se describirá a continuación con referencia a la Fig. 12.
De acuerdo con el procesamiento de determinación de la precisión del vector de movimiento en la etapa S53, se genera una bandera de precisión que indica si la precisión de la información del vector de movimiento del bloque actual y la precisión de la información del vector de movimiento de un bloque adyacente, concuerdan o difiere. La bandera de precisión generada se suministra a la unidad 84 de cálculo del vector de movimiento de predicción y a la unidad 85 de codificación de la información del vector de movimiento.
En la etapa S54, la unidad 84 de cálculo del vector de movimiento de predicción y la unidad 85 de codificación de la información del vector de movimiento generar la información del vector de movimiento de diferencia mvdE con relación al vector de movimiento determinado en cuanto a cada uno de los ocho tipos de modos de inter predicción constituidas hasta de 16 x 16 pixeles a 4 x 4 pixeles. En este momento, se usa el método de generación del vector de movimiento descrito anteriormente con referencia a la Fig. 5.
Específicamente, la unidad 84 de cálculo del vector de movimiento de predicción usa la información del vector de movimiento del bloque adyacente para calcular la información del vector de movimiento de predicción pmvE en cuanto al bloque actual E mediante la predicción de la mediana, en la Expresión (5) mencionada anteriormente. La unidad 85 de codificación de la información del vector de movimiento obtiene, como se muestra en la Expresión (6) mencionada anteriormente, la información del vector de movimiento de diferencia mvdE, usando la diferencia entre la información del vector de movimiento mvE de la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, y la información del vector de movimiento de predicción pmvE calculada.
Nótese que, en el momento de llevar a cabo el cálculo de la información del vector de movimiento de predicción, por ejemplo, la precisión de la información del vector de movimiento en los bloques adyacentes A, B, C y D mostrados en la Fig. 5, puede ser mezclada con precisión de 1/4 de pixel y 1/8 de pixel. Por ejemplo, la información del vector de movimiento mvE del bloque actual E es una precisión de 1/8 de pixel con relación a cada uno de los componentes horizontal y vertical, pero en el caso de que la información del vector de movimiento mvx en el bloque adyacente X = A, B, C y D, sea una precisión de 1/4 de pixel, se realiza la predicción de la mediana con la siguiente Expresión (11) . mvx = mvx * 2 .... (11) Es decir, en este caso, la información del vector de movimiento del bloque adyacente se convierte a una precisión de 1/8 de pixel, y se realiza la predicción de la mediana.
Por el contrario, la información del vector de movimiento mvE del bloque actual E es una precisión de 1/4 de pixel con relación a cada uno de los componentes horizontal y vertical, pero en el caso de que la información del vector de movimiento mvx, en el bloque adyacente X = A, B, C y D sea una precisión de 1/8 de pixel, se lleva a cabo la predicción de la mediana con la siguiente Expresión (12) . mvx = mvx/2 ... ( 12 ) Es decir, en este caso, la información del vector de movimiento del bloque adyacente se convierte en una precisión de 1/4 de pixel, y se lleva a cabo la predicción de la mediana .
La información del vector de movimiento de diferencia obtenida se suministra a la unidad 86 de determinación del modo junto con la bandera de precisión. Esta información del vector de movimiento de diferencia se usa también en el momento del cálculo de un valor de la función de costo, en la siguiente etapa S54. En el caso de que la imagen de predicción correspondiente haya sido seleccionada por último por la unidad 77 de selección de la imagen de predicción, la información del vector de movimiento de diferencia se transmite a la unidad 66 de codificación sin pérdidas junto con la bandera de precisión, la información del modo de predicción, y la información del cuadro de referencia.
En la etapa S54, la unidad 86 de determinación del modo calcula el valor de la función de costo indicada en la Expresión (9) o la Expresión (10) mencionadas anteriormente, en cuanto a cada uno de los tipos de modos de ínter predicción formados de 16 x 16 pixeles a 4 x 4 pixeles.
Específicamente, la imagen de predicción, la imagen bruta, y la información del cuadro de referencia de la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles, la información del vector de movimiento de diferencia mvdE y la bandera de precisión de la unidad 85 de codificación de la información del vector de movimiento, etcétera, se suministran a la unidad 86 de determinación del modo. La unidad 86 de determinación del modo usa la información suministrada según sea apropiado, para calcular un valor de la función de costo, en cuanto a todos los modos de ínter predicción que sirven como candidatos. Los valores de la función de costo calculados aquí se usan en el momento de la determinación del modo de inter predicción óptimo en la etapa S34 mencionada anteriormente, en la Fig. 8.
Descripción del Procesamiento de Determinación de la Precisión del Vector de Movimiento Enseguida, en la Fig. 11 se describirá el procesamiento de determinación de la precisión del vector de movimiento en la etapa S53, con referencia al diagrama de flujo en la Fig. 12.
En la etapa S71, la unidad 91 de determinación de la precisión del vector de movimiento actual determina curr__horizontal_mv_precisión_param y curr_vertical_mv_precisión_param. Específicamente, la información del vector de movimiento del bloque actual se suministra desde la unidad 82 de predicción/compensación del movimiento con precisión fraccional en pixeles a la unidad 91 de determinación de la precisión del vector de movimiento actual. La unidad 91 de determinación de la precisión del vector de movimiento actual distingue la precisión de la información del vector de movimiento del bloque actual, y en la etapa S71, determina el parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales en cuanto a la información del vector de movimiento del bloque actual. Los curr_horizontal_mv_precisión_param y curr_vertical_mv_precisión_param determinados se suministran a la unidad 93 de generación de la bandera de precisión.
En la etapa S72, la unidad 92 de determinación de la precisión del vector de movimiento adyacente determina pred_horizontal_mv_precisión y pred_vertical_mv_precisión. Específicamente, la unidad 92 de determinación de la precisión del vector de movimiento adyacente lee la información del vector de movimiento del bloque adyacente desde el búfer 83 de acumulación de información del vector de movimiento. La unidad 92 de determinación de la precisión del vector de movimiento adyacente distingue la precisión de la información del vector de movimiento del bloque adyacente, y en la etapa S72, determina el parámetro de precisión para los componentes horizontales y el parámetro de precisión para los componentes verticales, en cuanto a la información del vector de movimiento del bloque adyacente. El pred_horizontal_mv_precisión_param y pred_vertical_mv_precisión_param se suministran a la unidad 93 de generación de la bandera de precisión.
En la etapa S73, la unidad 93 de generación de bandera de precisión determina si curr_horizontal_mv_precisión_param y pred_horizontal_mv_precisión_param concuerdan o no.
En el caso de que se haga la determinación en la etapa S73 de que, curr_horizontal_mv_precisión_param y curr_vertical_mv_precisión_param concuerdan, el procesamiento procede a la etapa S74. En la etapa S74, la unidad 93 de generación de la bandera de precisión establece el valor de la bandera de precisión para los componentes horizontales del bloque actual (horizontal_mvc_precisión_cambio_bandera ) en 0. En otras palabras, se genera la bandera de precisión para los componentes horizontales del bloque actual, el valor de la cual es 0.
En el caso de que se haga la determinación en la etapa S73 de que curr_horizontal_mv_precisión_param y pred_horizontal_mv_precisión_param, difieren, el procesamiento procede a la etapa S75. En la etapa S75, la unidad 93 de generación de la bandera de precisión establece en valor de la bandera de precisión para los componentes horizontales del bloque actual (horizontal_mv_precisión_cambio_bandera) en 1. En otras palabras, se genera la bandera de precisión para los componentes horizontales del bloque actual, el valor de la cual es 1.
En la etapa S76, la unidad 93 de generación de la bandera de precisión determina si curr_vetical_mv_precisión_param y pred_vertical_mv_precisión_param concuerdan o no.
En el caso de que se haga la determinación en la etapa S76 que curr_vert ical_mv_precisión_param y pred_vertical_mv_precisión_param, concuerdan, el procesamiento procede a la etapa S77. En la etapa S77, la unidad 93 de generación de la bandera de precisión establece en valor de la bandera de precisión para los componentes verticales del bloque actual ( vertical_mv_precisión_cambio_bandera) en 0. En otras palabras, se genera la bandera de precisión para los componentes verticales del bloque actual, el valor de la cual es 0.
En el caso de que se haga la determinación en la etapa S76 de que curr_vertical_mv_precisión_param y pred_vertical_mv_precisión_param difieren, el procesamiento procede a la etapa S78. En la etapa S78, la unidad 93 de generación de la bandera de precisión establece el valor de la bandera de precisión para los componentes verticales del bloque actual ( ertical_mv_precisión_cambio_bandera) en 1. En otras palabras, se genera la bandera de precisión para los componentes verticales del bloque actual, el valor de la cual es 1.
Las banderas de precisión generadas para los componentes horizontales y los componentes verticales del bloque actual se suministran a la unidad 84 de cálculo del vector de movimiento de predicción y la unidad 85 de codificación de la información del vector de movimiento. En el caso de que la imagen de predicción en el modo de Ínter predicción óptimo haya sido seleccionada en la etapa S22 en la Fig. 8, las banderas de precisión de suministran a la unidad 66 de codificación sin pérdidas, junto con la información del vector de movimiento de diferencia, la información que indica el modo de inter predicción óptimo, y la información del cuadro de referencia, se codifican y se transmiten al lado de codificación.
Como se describe anteriormente, se ha hecho un arreglo en donde la bandera de precisión que indica si la información del vector de movimiento del bloque actual, y precisión de la información del vector de movimiento del bloque adyacente del mismo, concuerdan o difieren, se agrega al encabezamiento de la imagen comprimida, y se transmite al lado de decodificación para cada bloque actual.
Es decir, con la presente invención, con la presente invención, se define una bandera de precisión con respecto a cada uno de los bloques de predicción del movimiento dentro de la información de la imagen comprimida.
Por lo tanto, la información del vector de movimiento puede ser transmitida con precisión de 1/8 de pixel solo cuando es necesario, en lugar de transmitió constantemente la información del vector de movimiento con precisión de 1/8 de pixel. En otras palabras, la información del vector de movimiento puede ser transmitida con precisión de 1/4 de pixel cuando es innecesario. Como resultado de estos, no hay necesidad de asignar mucho más cantidad de código as toda la información del vector de movimiento, por lo cual se puede mejorar la eficiencia de la predicción son aumentar la información del vector de movimiento.
Nótese que, en el caso de que el bloque actual sea el bloque B, se realiza una serie de procesamiento en cuanto a cada una de la ListaO y la Listal.
También, como se describe anteriormente con referencia a la Fig. 5 o la Fig. 6, el bloque actual está en el modo directo o el modo de salto, las banderas de precisión no se transmiten al lado de decodificación asumiendo que los valores de las banderas de precisión (horizontal_mv_precisión_cambio_bandera, vertical_mv_precisión _cambio_bandera) sean 0. La imagen comprimida, codificada se transmite por medio de una vía de transmisión predeterminada, y se decodifica en el dispositivo de decodificación de imágenes .
Ejemplo de Configuración del Dispositivo de Decodif cación de Imágenes La Fig. 13 representa la configuración de una modalidad de un dispositivo de decodificación de imágenes que sirve como el dispositivo de procesamiento de imágenes al cual se ha aplicado .
Un dispositivo 101 de decodificación de imágenes se configura con un búfer 111 de acumulación, una unidad 112 de decodificación sin pérdidas, una unidad 113 de cuantificación inversa, una unidad 114 de transformación ortogonal inversa, una unidad 115 de computo, un filtro 116 de desbloqueo, un búfer 117 de ordenamiento de pantalla, una unidad 118 de conversión D/A, memoria 119 de cuadros, un conmutador 120, una unidad 121 de intra predicción, una unidad 122 de predicción/compensación del movimiento, una unidad 123 de determinación de la precisión del vector de movimiento, y un conmutador 124.
El búfer 111 de acumulación acumula una imagen comprimida transmitida. La unidad 112 de decodificación sin pérdidas decodifica la información suministrada desde el búfer 111 de acumulación y codificada por la unidad 66 de codificación sin pérdidas en la Fig. 1, usando un sistema correspondiente al sistema de codificación de la unidad 66 de codificación sin pérdidas. La unidad 113 de cuantificación inversa somete la imagen decodificada por la unidad 112 de decodificación sin pérdidas a cuantificación inversa, usando un sistema correspondiente al sistema de cuantificación de la unidad 65 de cuantificación en la Fig. 1. La unidad 114 de transformación ortogonal inversa somete la salida de la unidad 113 de cuant ificación inversa a transformación ortogonal inversa usando un sistema correspondiente al sistema de transformación ortogonal de la unidad 64 de transformación ortogonal en la Fig. 1.
La salida sometida a la transformación ortogonal inversa se decodifica al ser sumada con la imagen de predicción suministrada desde el conmutador 124 por la unidad 115 de computo. El filtro 116 de desbloqueo elimina la distorsión del bloque de la imagen decodificada, después la suministra a la memoria 119 de cuadros para su acumulación, y también la transmite al búfer 117 de ordenamiento de pantalla.
El búfer 117 de ordenamiento de pantalla lleva a cabo el ordenamiento de las imágenes. Específicamente, la secuencia de los cuadros ordenados para la secuencia de codificación por el búfer 62 de ordenamiento de la pantalla en la Fig. 1 se vuelve a ordenar en la secuencia de despliegue original, la unidad 118 de conversión D/A convierte la imagen suministrada desde el búfer 117 de ordenamiento de pantalla de formato digital a analógico, y la transmite a una pantalla no mostrada, para su visualización .
El conmutador 120 lee una imagen a ser sometida a Ínter procesamiento y una imagen a ser referenciada, desde la memoria 119 de cuadros, la trasmite a la unidad 122 de predicción/compensación del movimiento, y también lee una imagen a ser usada para la intra predicción desde la memoria 119 de cuadros, y la suministra a la unidad 121 de intra predicción .
La información que indica el modo de intra predicción obtenido al decodificar la información del encabezamiento se suministra desde la unidad 112 de decodificación sin pérdidas a la unidad 121 de intra predicción. La unidad 121 de intra predicción genera, con base en esta información, una imagen de predicción, y transmite la imagen de predicción generada, al conmutador 124.
De la información obtenida al decodificar la información del encabezamiento, la información del modo de predicción, la información del vector de movimiento de diferencia, la información del cuadro de referencia, etcétera, se suministran desde la unidad 112 de decodificación sin pérdidas a la unidad 122 de predicción/compensación del movimiento. En el caso de que la información que indica que el modo de inter predicción ha sido suministrado, la unidad 122 de predicción/compensación del movimiento referencia los parámetros de precisión para la información del vector de movimiento del bloque actual desde la unidad 123 de determinación de la precisión del vector de movimiento, y usa la información del vector de movimiento de diferencia para reestructurar la información del vector de movimiento .
Específicamente, la unidad 122 de predicción/compensación del movimiento hace referencia a los parámetros de precisión por la información del vector de movimiento del bloque actual desde la unidad 123 de determinación de la precisión del vector de movimiento, para generar la información del vector de movimiento de predicción del bloque actual a partir de la información del vector de movimiento de un bloque adyacente. La unidad 122 de predicción/compensación del movimiento reestructura la información del vector de movimiento del bloque actual a partir de la información del vector de movimiento de diferencia, los parámetros de precisión para la información del vector de movimiento del bloque actual, y la información del vector de movimiento de predicción del bloque actual, de la unidad 112 de decodificación sin pérdidas.
La unidad 122 de predicción/compensación del movimiento somete entonces la imagen al procesamiento de compensación basado en la imagen de referencia en la memoria 119 de cuadros que indica la información del cuadro de referencia, y la información del vector de movimiento reestructurada, para generar una imagen de predicción. La imagen de predicción generada se trasmite al conmutador 124.
De la información obtenida al decodificar la información del encabezamiento, la bandera de precisión se suministra desde la unidad 112 de decodificación sin pérdidas a la unidad 123 de determinación de la precisión del vector de movimiento. La unidad 123 de determinación de la precisión del vector de movimiento determina los parámetros de precisión para la información del vector de movimiento del bloque actual a partir de las banderas de precisión de la unidad 112 de decodificación sin pérdidas, y la precisión de la información del vector de movimiento del bloque adyacente de la unidad 122 de predicción/compensación del movimiento. Los parámetros de precisión determinados para la información del vector de movimiento del bloque actual se suministran a la unidad 122 de predicción/compensación del movimiento.
El conmutador 124 selecciona la imagen de predicción generada por la unidad 122 de predicción/compensación del movimiento o la unidad 121 de intra predicción, y la suministra a la unidad 115 de cómputo.
Ejemplo de Configuración de la Unidad de Predicción/Compensación del Movimiento, y la Unidad de Determinación de la Precisión del Vector de Movimiento La Fig. 14 es un diagrama de bloques que ilustra un ejemplo detallado de la configuración de la unidad de predicción/compensación del movimiento, y la unidad de determinación de la precisión del vector de movimiento. Nótese que cada uno de los detalles se describirá con referencia al bloque actual E mencionado anteriormente, y los bloques adyacentes A hasta D en la Fig. 5, según se apropiado.
Con el ejemplo en la Fig. 14, la unidad 122 de predicción/compensación del movimiento se configura de una unidad 151 de recepción de la información del vector de movimiento, una unidad 152 de generación del vector de movimiento de predicción, una unidad 153 de reestructuración del vector de movimiento, un búfer 154 de acumulación de la información del vector de movimiento, y una unidad 155 de predicción de la imagen.
La unidad 123 de determinación de la precisión del vector de movimiento se configura de ¦ una unidad 161 de recepción de la bandera de precisión, una unidad 162 de determinación de la precisión del vector de movimiento adyacente, y una unidad 163 de determinación de la precisión del vector de movimiento actual.
La unidad 151 de recepción de la información del vector de movimiento recibe la información del vector de movimiento de diferencia mvdE del bloque actual E desde la unidad 112 de decodificación sin pérdidas (es decir, el dispositivo 51 de codificación de imágenes), y suministra la información del vector de movimiento de diferencia mvdE a la unidad 153 de reestructuración del vector de movimiento.
Los parámetros de precisión con relación a los componentes horizontales y los componentes verticales en cuanto al vector de movimiento del bloque actual E de la unidad 163 de determinación de la precisión del vector de movimiento actual (curr_horizontal_mv_precisión param, curr_vertical_mv_precisión_param) se suministran a la unidad 152 de generación del vector de movimiento de predicción. La unidad 152 de generación del vector de movimiento de predicción lee la información del vector de movimiento mvA, mvB, y mvc de los bloques adyacentes, desde el búfer 154 de acumulación de la información del vector de movimiento.
La unidad 152 de generación del vector de movimiento de predicción hace referencia a los parámetros de precisión para el vector de movimiento del bloque actual E, y usa la información del vector de movimiento mvA, mvB, y mvc de los bloques adyacentes para generar la información del vector de movimiento de predicción pmvE del bloque actual E mediante la predicción de la mediana en la Expresión (5) mencionada anteriormente. La información del vector de movimiento pmvE se suministra a la unidad 153 de reestructuración del vector de movimiento .
La información del vector de movimiento de diferencia mvdE de la unidad 151 de recepción de la información del vector de movimiento, y la información del vector de movimiento de predicción pmvE de la unidad 152 de generación del vector de movimiento de predicción han sido suministradas a la unidad 153 de reestructuración del vector de movimiento. Además, los parámetros de precisión para el vector de movimiento del bloque actual E desde la unidad 163 de determinación de la precisión del vector de movimiento actual han sido suministrados a la unidad 153 de reestructuración del vector de movimiento.
La unidad 153 de reestructuración del vector de movimiento hace referencia a los parámetros de precisión por el vector de movimiento del bloque actual E, para convertir la información del vector de movimiento de diferencia mvdE del valor en el procesamiento a un valor actual. La unidad 153 de reestructuración del vector de movimiento reestructura la información del vector de movimiento mvE del bloque actual E al agregar la información del vector de movimiento de predicción pmvE de la unidad 152 de generación del vector de movimiento de predicción a la información del vector de movimiento de diferencia convertida mvdE. La información del vector de movimiento reestructurada mvE del bloque actual E se acumula en el búfer 154 de acumulación de la información del vector de movimiento, y también se transmite a la unidad 155 de predicción de la imagen.
El búfer 154 de acumulación de la información del vector de movimiento acumula la información del vector de movimiento mvx (X = A, B, C, D, E) reestructurada por la unidad 153 de reestructuración del vector de movimiento.
La unidad 155 de predicción de la imagen lee la imagen de referencia que indica la información del cuadro de referencia desde la unidad 112 de decodificación sin pérdidas, desde la memoria 119 de cuadros, vía el conmutador 120. La unidad 155 de predicción de la imagen somete la imagen de referencia al procesamiento de compensación con base en la información del vector de movimiento mvE del bloque actual E, reestructurada por la unidad 153 de reestructuración del vector de movimiento, para generar la imagen de predicción del bloque actual E. La imagen de predicción generada se trasmite al conmutador 124.
La unidad 161 de recepción de la bandera de precisión recibe las banderas de precisión para los componentes horizontales y los componentes verticales en cuanto a la información del vector de movimiento del bloque actual E (horizontal_mv_precisión_cambio_bandera, vertical_mv_precisión_cambio_bandera) de la unidad 122 de predicción/compensación del movimiento. Las banderas de precisión recibidas para los componentes horizontales y los componentes verticales en cuanto a la información del vector de movimiento del bloque actual E, se suministran a la unidad 163 de determinación de la precisión del vector de movimiento actual .
La unidad 162 de determinación de la precisión del vector de movimiento adyacente lee la información del vector de movimiento adyacente desde la búfer 154 de acumulación de la información del vector de movimiento, y distingue la precisión de la información del vector de movimiento del bloque adyacente. La unidad 162 de determinación de la precisión del vector de movimiento adyacente determina entonces los parametritos de precisión con relación a los componentes horizontales y los componentes verticales, en cuanto a la información del vector de movimiento del bloque adyacente (pred_horizontal_mv_precisión_param, pred_vertical_mv_precisión_param) . Los parámetros de precisión determinados para la información del vector de movimiento del bloque adyacente se suministran a la unidad 163 de determinación de la precisión del vector de movimiento actual.
Nótese que el bloque adyacente es un bloque que puede proporcionar un valor de predicción (información del vector de movimiento) pmvE en cuanto a la información del vector de movimiento mvE del bloque actual E, y se define por el primero al tercer métodos descritos anteriormente con referencia a la Fig. 7.
Las banderas de precisión para los componentes horizontal y vertical en cuanto a la información del vector de movimiento del bloque actual E desde la unidad 161 de recepción de la bandera de luminancia, y los parámetros de precisión para la información del vector de movimiento del bloque adyacente desde la unidad 162 de determinación de la precisión del vector de movimiento adyacente se suministran a la unidad 163 de determinación de la precisión del vector de movimiento actual.
La unidad 163 de determinación de la precisión del vector de movimiento actual distingue la precisión de la información del vector de movimiento del bloque actual De de las banderas de precisión para los componentes horizontal y vertical en cuanto a la información del vector de movimiento del bloque actual E, y los parámetros de precisión para la información del vector de movimiento del bloque adyacente. La unidad 163 de determinación de la precisión del vector de movimiento actual determina entonces los parámetros de precisión con relación a los componentes horizontales y los componentes verticales en cuanto a la información del vector de movimiento del bloque actual E (curr_horizontal_mv_precisión_param, curr_vertical_mv_precisión_param) . Los parámetros de precisión determinados para la información del vector de movimiento del bloque actual E se suministran a la unidad 152 de generación del vector de movimiento de predicción y la unidad 153 de reestructuración del vector de movimiento.
Descripción del Procesamiento de Decodificación del Dispositivo de Decodificación de Imágenes Enseguida, el proceso de decodificación que ejecuta el dispositivo 101 de decodificación de imágenes se describirá con referencia al diagrama de flujo en la Fig. 15.
En la etapa S131, el búfer 111 de acumulación acumula la imagen transmitida. En la etapa S132, la unidad 112 de decodificación sin pérdidas decodifica la imagen comprimida suministrada desde el búfer 111 de acumulación. Específicamente, se decodifica la imagen I, la imagen P, y la imagen B codificadas por la unidad 66 de codificación sin pérdidas en la Fig. 1.
En este momento, también se decodifica la información del vector de movimiento, la información del cuadro de referencia, la información del modo de predicción (la información que indica el modo de intra predicción o el modo de ínter predicción), y las banderas de precisión.
Específicamente, en el caso de que la información del modo de predicción sea la información del modo de intra predicción, la información del modo de predicción se suministra a la unidad 121 de intra predicción. En el caso de que la información del modo de predicción sea la información del modo de ínter predicción, la información del vector de movimiento de diferencia y la información del cuadro de referencia, correspondientes a la información del modo de predicción, se suministran a la unidad 122 de predicción/compensación del movimiento. También, en este caso, las banderas de precisión se suministran a la unidad 123 de determinación de la precisión del vector de movimiento.
En la etapa S133, la unidad 113 de cuantificación inversa cuantifica de forma inversa el coeficiente de transformación decodificado por la unidad 112 de decodificación sin pérdidas, usando una propiedad correspondiente a la propiedad de la unidad 65 de cuantificación en la Fig. 1. En la etapa S134, la unidad 114 de transformación ortogonal inversa somete el coeficiente de transformación cuantificado inversamente por la unidad 113 de cuant ificación inversa, a transformación ortogonal inversa, usando una propiedad correspondiente a la propiedad de la unidad 64 de transformación ortogonal en la Fig. 1. Esto significa que la información de diferencia correspondiente a la entrada de la unidad 64 de transformación ortogonal en la Fig. 1 (la salida de la unidad 63 de computo) ha sido decodificada .
En la etapa S135, la unidad 115 de cómputo agrega la imagen de predicción seleccionada en el procesamiento de la etapa S141 descrita a continuación, y la introduce, vía el conmutador 124, a la información de diferencia. Por lo tanto, la imagen original se decodifica. En la etapa S136, el filtro 116 de desbloqueo somete a filtrado la imagen transmitida desde la unidad 115 de computo. Por lo tanto, se elimina la distorsión de bloque. En la etapa S137, la memoria 119 de cuadros almacena la imagen sometida a filtrado.
En la etapa S138, la unidad 121 de intra predicción o la unidad 122 de predicción/compensación del movimiento realizan el procesamiento de predicción de imagen correspondiente, en respuesta a la información del modo de predicción suministrada desde la unidad 112 de decodificación sin pérdidas.
Específicamente, en el caso de que se haya suministrado a información del modo de intra predicción, desde la unidad 112 de decodificación sin pérdidas, la unidad 121 de intra predicción lleva a cabo el procesamiento de intra predicción en el modo de intra predicción. En el caso de que se haya suministrado la información del modo de inter predicción desde la unidad 112 de decodificación sin pérdidas, la unidad 122 de predicción/compensación del movimiento realiza el procesamiento de predicción y compensación del movimiento en el modo de inter predicción. En este momento, la unidad 122 de predicción/compensación del movimiento hace referencia a los parámetros de precisión por la información del vector de movimiento del bloque actual desde la unidad 123 de determinación de la precisión del vector de movimiento, y usa la información del vector de movimiento de diferencia desde la unidad 112 de decodificación sin pérdidas para reestructurar la información del vector de movimiento del bloque actual.
Los detalles del procesamiento en la etapa S138 se describirán a continuación con referencia a la Fig. 16, pero de acuerdo con este procesamiento, la imagen de predicción generada por la unidad 121 de intra predicción o la imagen de predicción generada por la unidad 122 de predicción/compensación del movimiento se suministran al conmutador 124.
En la etapa S139, el conmutador 124 selecciona la imagen de predicción. Específicamente, se suministra la imagen de predicción generada por la unidad 121 de intra predicción o la imagen de predicción generada por la unidad 122 de predicción/compensación del movimiento. Por consiguiente, la imagen de predicción suministrada se selecciona, se suministra a la unidad 115 de cómputo, y en la etapa S134, como se describe anteriormente, se agrega a la salida de la unidad 114 de transformación ortogonal inversa.
En la etapa S140, el búfer 117 de ordenamiento de pantalla realiza el ordenamiento. Específicamente, la secuencia de cuadros ordenados para la codificación por el búfer 62 de ordenamiento de la pantalla del dispositivo 51 de codificación de imágenes se ordena en la secuencia de despliegue original.
En la etapa S141, la unidad 118 de conversión D/A convierte la imagen del búfer 117 de ordenamiento de pantalla de formato digital a analógico. Esta imagen se transmite a una pantalla, no mostrada, y la imagen se despliega.
Descripción del Procesamiento de Predicción del Dispositivo de Decodificación de Imágenes Enseguida se describirá el procesamiento de predicción en la etapa S138 en la Fig. 15, con referencia al diagrama de flujo en la Fig. 16.
En la etapa S171, la unidad 121 de intra predicción determina si el bloque actual ha sido metido a intra codificación o no. Después que se ha suministrado la información del modo de intra predicción, desde la unidad 112 de decodificación sin pérdidas, a la unidad 121 de intra predicción, en la etapa S171 la unidad 121 de intra predicción determina que el bloque actual ha sido sometido a intra codificación, y el procesamiento procede a la etapa S172.
En la etapa S172, la unidad 121 de intra predicción obtiene la información del modo de intra predicción, y en la etapa S173 realiza la intra predicción.
Específicamente, en el caso de que la imagen a ser procesada sea una imagen a ser sometida al intra procesamiento, la imagen necesaria se lee desde la memoria 119 de cuadros, y se suministra a la unidad 121 de intra predicción vía el conmutador 120. En la etapa S173, la unidad 121 de intra predicción realiza la intra predicción, de acuerdo con la información del modo de intra predicción obtenido en la etapa S172, para generar una imagen de predicción. La imagen de predicción generada se transmite al conmutador 124.
Por otro lado, en el caso de que se haga la determinación en la etapa S171 de que la intra codificación no ha sido realizada, el procesamiento procede a la etapa S174.
En la etapa S174, la unidad 122 de predicción/compensación del movimiento obtiene la información del modo de predicción y así sucesivamente, desde la unidad 112 de decodificación sin pérdidas.
En el caso de que la imagen a ser procesada sea una imagen a ser sometida al ínter procesamiento, la información del modo de ínter predicción, la información del cuadro de referencia, y la información del vector de movimiento de diferencia se suministran desde la unidad 112 de decodificación sin pérdidas a la unidad 122 de predicción/compensación del movimiento. En este caso, en la etapa S174, la unidad 122 de predicción/compensación del movimiento obtiene la información del modo de ¦ inter predicción, la información del cuadro de referencia, y la información del vector de movimiento de diferencia, Nótese que, en este momento, la unidad 161 de recepción de la bandera de precisión recibe y obtiene las banderas de predicción. Las banderas de precisión, recibidas para los componentes horizontal y vertical en cuanto a la información del vector de movimiento del bloque actual, se suministran a la unidad 163 de determinación de la precisión del vector de movimiento actual. También, la unidad 162 de determinación de la precisión del vector de movimiento adyacente determina los parámetros de precisión para la información del vector de movimiento del bloque adyacente, con base en la información del vector de movimiento del búfer 154 de acumulación de la información del vector de movimiento, la suministra a la unidad 163 de determinación de la precisión del vector de movimiento actual.
En la etapa S175, la unidad 163 de determinación de la precisión del vector de movimiento actual determina la precisión de la información del vector de movimiento del bloque actual a partir de las banderas precisión para los componentes horizontal y vertical en cuanto a la información del vector de movimiento del bloque actual, y los parámetros de precisión para la información del vector de movimiento del bloque adyacente. Los parámetros de precisión determinados para la información del vector de movimiento del bloque actual, se suministran a la unidad 152 de generación del vector de movimiento de predicción y a la unidad 153 de reestructuración del vector de movimiento.
Con los parámetros de precisión para la información del vector de movimiento del bloque actual que se suministran desde la unidad 163 de determinación de la precisión del vector de movimiento actual, en la etapa S176, la unidad 152 de generación del vector de movimiento de predicción realiza la predicción de la mediana descrita anteriormente con referencia a la Fig. 5.
Específicamente, la unidad 152 de generación del vector de movimiento de predicción lee la información del vector de movimiento mvA, mvB, y mvc de los bloques adyacentes desde el búfer 154 de acumulación de la información del vector de movimiento, y genera la información del vector de movimiento de predicción pmvE del bloque actual por la predicción de la mediana en la Expresión (5) mencionada anteriormente. En este momento, se hace referencia a los parámetros de precisión para el vector el movimiento del bloque actual. Específicamente, en el caso de que la precisión de la información del vector de movimiento del bloque actual que indica los parámetros de precisión, y la precisión de la información del vector de movimiento del bloque adyacente usada para la generación de la información del vector de movimiento de predicción, difieran, la precisión de la información del vector de movimiento del bloque adyacente se convierte en la precisión de la información del vector de movimiento del bloque actual.
La información del vector de movimiento de predicción pmvE del bloque actual, generada por la unidad 152 de generación del vector de movimiento de predicción se suministra a la unidad 153 de reestructuración del vector de movimiento .
En la etapa S177, la unidad 153 de reestructuración del vector de movimiento usa la información del vector de movimiento de diferencia mvdE de la unidad 151 de recepción de la información del vector de movimiento para reestructurar la información del vector de movimiento del bloque actual. Es decir, la información del vector de movimiento de diferencia mvdE de la unidad 151 de recepción de la información del vector de movimiento, y la información del vector de movimiento de predicción pmvE de la unidad 152 de generación del vector de movimiento de predicción han sido suministradas a la unidad 153 de reestructuración del vector de movimiento. Además, los parámetros de precisión para el vector de movimiento del bloque actual desde la unidad 163 de determinación de la precisión del vector de movimiento actual, han sido suministrados a la unidad 153 de restructuración del vector de movimiento La unidad 153 de reestructuración del vector de movimiento hace referencia a los parámetros de precisión para el vector de movimiento del bloque actual, para convertir el valor de la información del vector de movimiento de diferencia mvdE desde el valor en el procesamiento a un valor actual o real. La unidad 153 de reestructuración del vector de movimiento agrega la información del vector de movimiento de predicción pmvE de la unidad 152 de generación del vector de movimiento de predicción a la información del vector de movimiento de diferencia mvdE de la cual se ha convertido el valor. Por lo tanto la información del vector de movimiento mvE del bloque actual ha sido reestructurada. La información del vector de movimiento reestructurada mvE se acumula en el búfer 154 de acumulación de la información del vector de movimiento, y también se transmite a la unidad 155 de predicción de la imagen.
En la etapa S178, la unidad 155 de predicción de la imagen genera la imagen de predicción del bloque actual. Específicamente, la unidad 155 de predicción de la imagen lee desde la memoria 119 de cuadros la imagen de referencia que indica la información del cuadro de referencia de la unidad 112 de decodificación sin pérdidas, vía el conmutador 120. La unidad 155 de predicción de la imagen somete la imagen de referencia al procesamiento de compensación con base en la información del vector de movimiento mvF. reestructurada por la unidad 153 de reestructuración del vector de movimiento, para generar la imagen de predicción del bloque actual . La imagen de predicción generada se transmite al conmutador 124.
Como se describe anteriormente, se ha hecho un arreglo en donde las banderas de precisión que indican si la precisión de la información del vector de movimiento del bloque actual, y la precisión de la información del vector de movimiento del bloque adyacente del mismo, concuerdan o difieren, se agrega al encabezamiento de la imagen comprimida, y la imagen comprimida se transmite al lado de decodificación, para cada bloque actual. Por lo tanto, la información del vector de movimiento puede ser transmitida con precisión de 1/8 de pixel solo cuando es necesario, en lugar de transmitir constantemente la información del vector de movimiento con precisión de 1/8 de pixel. Como resultado de lo mismo, la eficiencia de predicción del movimiento puede ser mejorada sin aumentar la información del vector de movimiento.
En otras palabras, la predicción y compensación del movimiento con precisión de 1/8 de pixel pueden ser realizadas sin provocar un aumento en la información comprimida, y por consiguiente, se puede mejorar la precisión de la predicción.
Nótese que la descripción ha sido realizada hasta ahora con relación a un ejemplo, ya sea que la precisión sea hasta 1/4 de pixel o una precisión de 1/8 de pixel, pero la precisión no se restringe a este ejemplo.
Específicamente, la presente invención puede ser aplicada a cada caso para realizar la predicción y la compensación del movimiento con precisión fraccional en pixeles, como por ejemplo entre la precisión entera en pixeles y una precisión de 1/2 pixel, y una precisión entre 1/2 pixel y 1/4 de pixel. También, la presente invención también puede ser aplicada a un caso donde el procesamiento se realiza con tres fases o más como por ejemplo una precisión entera en pixeles, una precisión de 1/2 pixel, y una precisión de 1/4 de pixel .
También, se ha hecho la descripción hasta ahora con relación a un caso donde el tamaño de los macro bloques de 16 x 16 pixeles, pero la presente invención puede ser aplicada a un tamaño de macro bloque extendido descrito en "Video Coding Using Extended Block Sizes", VCEG-AD09, ITU-Telecommunications Standardization Sector STUDY GROUP Pregunta 16 - Contribution 123, En 2009.
La Fig. 17 es un diagrama que ilustra un ejemplo de un tamaño de macro bloque extendido. Con la propuesta mencionada anteriormente, el tamaño del macro bloque se extiende hasta 32 x 32 pixeles.
Los bloques macro formados de 32 x 32 pixeles divididos en bloques (particiones) de 32 x 32 pixeles, 32 x 16 pixeles, 16 x 132 pixeles, y 16 x 16 pixeles se muestran desde la izquierda en orden, en la hilera superior en la Fig. 17. Los bloques formados de 16 x 16 pixeles, divididos en bloques de 16 x 16 pixeles, 16 x 18 pixeles, 8 x 16 pixeles, y 8 x 8 pixeles se muestran en orden desde la izquierda, en la fila media en la Fig. 17. También los bloques formados de 8 x 8 pixeles divididos en bloques de 8 x 8 pixeles, 8 x pixeles, y 4 x 8 pixeles, y 4 x 4 pixeles, se muestran en orden desde la izquierda, en la fila inferior en la Fig. 17.
En otras palabras, los bloques macro de 32 x 32 pixeles pueden ser procesados con bloques de 32 x 32 pixeles, 32 x 16 pixeles, 16 x 32 pixeles, y 16 x 16 pixeles mostrados en la fila superior en la Fig. 17.
También los bloques de 16 x 16 pixeles mostrados en el lado derecho en la fila superior, pueden ser procesados con bloques de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles, y 8 x 8 pixeles, mostraos en la fila media, del mismo modo que con el sistema H.264/AVC.
Además, los bloques de 8 x 8 pixeles mostrados en el lado derecho de la fila media pueden ser procesados con bloques de 8 x 8 pixeles, 8 x 4 pixeles, x 8 pixeles, y 4 x 4 pixeles mostrados en la fila inferior, del mismo modo que con el sistema H.264/AVC, Con los tamaños de bloque macro extendidos, al emplear tal estructura jerárquica, con relación a un bloque de 16 x 16 pixeles o menos, se define un bloque más grande como un superconjunto del mismo en tanto que se mantiene la compatibilidad con el sistema H.264/AVC.
La presente invención también puede ser aplicada a los tamaños de bloque macro propuestas, extendidos, como se describe anteriormente.
Hasta ahora la descripción de ha realizado con el sistema H.264/AVC empleado como un sistema de codificación, pero se pueden emplear otros sistemas de codificación/sistemas de decodificación.
Nótese que la presente invención puede ser aplicada a un dispositivo de codificación de imágenes y un dispositivo de decodificación de imágenes usado en el momento de recibir la información de la imagen (flujos de bitios) comprimida por transformación ortogonal, tal como transformada de coseno discreta o las similares, y la compensación del movimiento vía un medio de red, tal como una radiodifusión satelital, televisión por cable, la Red Internacional, un teléfono celular, o los similares, por ejemplo, como con MPEG, H26X, o los similares. También la presente invención puede ser aplicada a un dispositivo de codificación de imágenes y un dispositivo de decodificación de imágenes en el momento de procesar la información en el medio de almacenamiento, como por ejemplo un disco óptico, un disco magnético, y una tarjeta de memoria. Además, la presente invención puede ser aplicada a un dispositivo de predicción-compensación del movimiento incluido en tal dispositivo de codificación de imágenes, y un dispositivo de decodificación de imágenes, etcétera.
La serie de procesamientos mencionada anteriormente puede ser ejecutada mediante equipos físicos, o puede ser ejecutada mediante programas informáticos o componentes lógicos. En el caso de ejecutar la serie de procesamientos mediante programas. Un programa que constituye el componente lógico del mismo, se instala en una computadora. Aquí, los ejemplos de la computadora incluyen una computadora incorporada en un equipo dedicado, y una computadora personal de propósito general, por medio de las cuales se pueden ejecutar las funciones mediante varios tipos de programas que se instalan en las mismas.
La Fig. 18 es un diagrama de bloques que ilustra un ejemplo de la configuración de los componentes físicos de una computadora, la cual ejecutan la serie de procesamientos mencionada anteriormente, usando un programa.
Con la computadora, una CPU (unidad Central de Procesamiento) 301, una ROM (Memoria de Solo Lectura) 302, y una RAM (Memoria de Acceso Aleatorio) 303 se conectan mutuamente mediante una línea 304 común de datos.
Además, una interfaz 305 de entrada/salida se conecta a la vía 304 común de datos. Una unidad 306 de entrada, una unidad 307 de salida, una unidad 308 de almacenamiento, una unidad 309 de comunicación, y una unidad 310 de disco, se conectan a la interfaz 305 de entrada/salida.
La unidad 306 de entrada se compone de un teclado, un ratón, un micrófono, etcétera. La unidad 307 de salida se compone de una pantalla, un altavoz, etcétera. La unidad 308 de almacenamiento se compone de un disco duro, una memoria no volátil, etcétera. La unidad 309 de comunicación se compone de una interfaz de red, etcétera. La unidad 310 de disco activa el medio 311 removible, tal como por ejemplo, un disco magnético, un disco óptico, un disco magneto-óptico, memoria de semiconductores, o los similares.
Con la computadora configurada de esta forma, por ejemplo, la CPU 301 carga un programa almacenado en la unidad 308 de almacenamiento, en la RAM 303, via la interfaz 305 de entrada/salida, y la via 304 común de datos, y ejecuta el programa, y por consiguiente, se lleva a cabo la serie de procesamientos .
El programa que ejecuta la computadora (CPU 301) puede ser proporcionado al ser registrado en el medio 311 removible que sirve como un medio de empaque o los similares, por ejemplo. También, el programa puede ser proporcionado por medio de un cable o un medio de transmisión inalámbrico, como por ejemplo una red de área local, la Red internacional, o radiodifusión digital.
Con la computadora, el programa puede ser instalado en la unidad 308 de almacenamiento por medio de la interfaz 305 de entrada/salida al montar el medio 311 removible en la unidad 310. de disco. También, el programa puede ser recibido por la unidad 309 de comunicación vía un medio de transmisión por cable o inalámbrico, y se instala en la unidad 308 de almacenamiento. Adicionalmente , el programa puede ser instalado de de antemano en la ROM 32 o la unidad 308 de almacenamiento.
Nótese que, el programa que ejecuta la computadora puede ser un programa en donde el procesamiento se realiza en una secuencia de tiempo junto con la secuencia descrita en la presente Especificación, o puede ser un programa en donde el procesamiento se lleva a cabo en paralelo o con una temporización necesaria, como por ejemplo cuando se realiza una llamada.
Las modalidades de la presente invención no se restringen a la modalidad mencionada anteriormente, y se pueden hacer varias modificaciones sin apartarse de la esencia de la presente invención.
Por ejemplo, el dispositivo 51 de codificación de imágenes y el dispositivo 101 de decodificación de imágenes mencionados anteriormente pueden ser aplicados a un dispositivo electrónico opcional. A partir de aquí, se describirá un ejemplo del mismo.
La Fig. 19 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de un receptor de televisión que usa el dispositivo de decodificación de imágenes al cual se ha aplicado la presente invención.
Un receptor 1300 de televisión mostrado en la Fig. 19 incluye un sintonizador 1313 terrestre, un decodificador 1315 de video, un circuito 1318 de procesamiento de señales de video, un circuito 1319 de generación de gráficos, un circuito 1320 de excitación del panel, y un panel 1321 de visualización .
El sintonizador 1313 terrestre recibe las señales de ondas de radiodifusión de una radiodifusión analógica terrestre por medio de una antena, la desmodula, obtiene las señales de video, y suministra estas al decodificador 1315 de video. El decodi ficador 1315 de video somete las señales de video suministradas desde el sintonizador 1313 terrestre al procesamiento de decodificación, y suministra las señales componentes digitales obtenidas al circuito 1318 de procesamiento de señales de video.
El circuito 1318 de procesamiento de señales de video somete los datos de video suministrados desde el decodificador 1315 de video al procesamiento predeterminado, tal como eliminación del ruido o los similares, y suministra los datos de video obtenidos al circuito 1319 de generación de gráficos.
El circuito 1319 de generación de gráficos genera los datos de video de un programa a ser visualizado en un panel 1321 de visualización, o los datos de imagen debido al procesamiento basado en una aplicación a ser suministrada vía una red, o las similares, y suministra los datos de video o los datos de imagen generados al circuito 1320 de excitación del panel. También el circuito 1319 de generación de gráficos lleva a cabo el procesamiento tal como el suministro de los datos de video obtenidos al generar los datos de video (gráficos) para que el usuario los visualice en una pantalla usada para la selección de un elemento o los similares, y superpone estos sobre los datos de video de un programa, al circuito 1320 de excitación del panel, según sea apropiado.
El circuito 1320 de excitación del panel excita el panel 1321 de visualización con base en los datos suministrados desde el circuito 1319 de generación de gráficos, para desplegar el video de un programa, o las varias pantallas mencionadas anteriormente sobre el panel 1321 de visualización .
El panel 1321 de visualización se compone de una LCD (Pantalla de Cristal Liquido), etcétera, y despliega el video de un programa o los similares, de acuerdo con el control por el circuito 1320 de excitación del panel.
También, el receptor 1300 de televisión incluye además un circuito 1314 de conversión de audio A/D (Analógico/Digital), un circuito 1322 de procesamiento de señales de audio, un circuito 1323 de cancelación de eco/ sintetizado de audio, un circuito 1324 amplificador de audio y un altavoz 1325.
El sintonizador 1313 terrestre desmodula la señal de ondas de radiodifusión recibida, obteniendo por ello no solo la señal de video sino también una señal de audio. El sintonizador 1313 terrestre suministra la señal de audio obtenida, al circuito 1314 de conversión A/D.
El circuito 1314 de conversión A/D somete la señal de audio suministrada desde el sintonizador 1313 terrestre, al procesamiento de conversión A/D, y suministra la señal de audio digital obtenida al circuito 1322 de procesamiento de señales de audio.
El circuito 1322 de procesamiento de señales de audio somete los datos de audio suministrados desde el circuito 1314 de conversión A/D al procesamiento predeterminado, como por ejemplo eliminación del ruido o los similares, y suministra los datos de audio al circuito 1323 de cancelación de eco/ sintetizado de audio.
El circuito 1323 de cancelación de eco/ sintetizado de audio suministra los datos de audio suministrados desde el circuito 1322 de procesamiento de señales de audio al circuito 1324 amplificador de audio.
El circuito 1324 amplificador de audio somete los datos de audio suministrados desde el circuito 1323 de cancelación de eco/ sintetizado de audio al procesamiento de conversión D/A, los somete a procesamiento del amplificador para ajustar el volumen predeterminado, y después transmite el audio por el altavoz 1325.
Además, el receptor 1300 de televisión también incluye un sintonizador 1316 digital, y un decodificador 1317 MPEG.
El sintonizador 1316 digital recibe las señales de ondas de radiodifusión de una radiodifusión digital (radiodifusión digital terrestre, BS (Radiodifusión Satelital) /CS (Comunicaciones Satelitales) radiodifusión digital) vía la antena, la desmodula para obtener el MPEG-TS (Flujo de Transporte del Grupo de Expertos en Imágenes en Movimiento) , y suministra estas al decodificador 1317 MPEG.
El decodificador 1317 MPEG desencripta la encriptación proporcionada al MPEG-TS suministrado desde el sintonizador 1316 digital, y extrae un flujo que incluye los datos de un programa que sirve como un objeto de reproducción (objeto de visualización) . El decodificador 1317 MPEG decodifica un paquete de audio que forma el flujo extraído, suministra los datos de audio obtenidos al circuito 1322 de procesamiento de señales de audio, y también decodifica un paquete de video que forma el flujo, y suministra los datos de video obtenidos al circuito 1318 de procesamiento de señales de video. También, el decodificador 1317 MPEG suministra los datos de la EPG (Guía Electrónica de Programas) extraídos del MPEG-TS a una CPU 1332 por medio de una vía no mostrada.
El receptor 1300 de televisión usa el dispositivo 101 de decodificación de imágenes mencionado anteriormente, como el decodificador 1317 MPEG, para decodificar paquetes de video de esta forma. Por consiguiente, el decodificador 1317 MPEG puede suprimir el aumento en la información comprimida y también mejora la precisión de la predicción de la misma forma como en el caso del dispositivo 101 de decodificación de imágenes.
Los datos de video suministrados desde el decodificador 1317 MPEG se someten, de la misma forma como con el caso de los datos de video suministrados desde el decodificador 1315 de video, al procesamiento predeterminado, en el circuito 1318 de procesamiento de señales de video. Los datos de video sometidos al procesamiento predeterminado se superponen entonces, según sea apropiado, sobre los datos de video generados, y así sucesivamente, en el circuito 1319 de generación de gráficos, se suministran al panel 1321 de visualización por medio del circuito 1320 de excitación del panel, y la imagen de los mismos se despliega en el mismo.
Los datos de audio suministrados desde el decodificador 1317 MPEG se someten, de la misma forma como con el caso de los datos de audio suministrados desde el circuito 1314 de conversión A/D, al procesamiento predeterminado en el circuito 1322 de procesamiento de señales de audio. Los datos de audio sometidos al procesamiento predeterminado se suministran entonces al circuito 1324 amplificador de audio via el circuito 1323 de cancelación de eco/ sintetizado de audio, y se someten al procesamiento de conversión D/A y al procesamiento del amplificador. Como resultado de esto, el audio ajustado en un volumen predeterminado, se transmite desde el altavoz 1325.
También, el receptor 1300 de televisión incluye un micrófono 1326, y un circuito 1327 de conversión A/D.
El circuito 1327 de conversión A/D recibe la señal de audio del usuario recolectada por el micrófono 1326, proporcionada al receptor 1300 de televisión que sirve para conversaciones de audio. El circuito 1327 de conversión A/D somete la señal de audio recibida al procesamiento de conversión A/D, y suministra los datos de' audio digital obtenido, al circuito 1323 de cancelación de eco/ sintetizado de audio.
En el caso de que los datos de audio del usuario (usuario A) del receptor 1300 de televisión, hayan sido suministrados desde el circuito 1327 de conversión A/D, el circuito 1323 de cancelación de eco/ sintetizado de audio realiza la cancelación del eco con los datos de audio del usuario A tomados como un objeto. Después de la cancelación del eco, el circuito 1323 de cancelación de eco/ sintetizado de audio transmite los datos de audio obtenidos mediante sintetizado con otros datos de audio, y asi sucesivamente, desde el altavoz 1325, vía el circuito 1324 amplificador de audio .
Además, el receptor 1300 de televisión también incluye un codificador /descodificador 1328 de audio, vía 1329 común de datos interna, una SDRAM (Memoria Dinámica Sincrónica de Acceso Aleatorio) 1330, una tarjeta 1331 de memoria, una CPU 1332, una I/F 1333 USB (Via de datos Universal en Serie), y una I/F 1334 de red.
El circuito 1327 de conversión A/D recibe la señal de audio del usuario recolectada por el micrófono 1326, proporcionada al receptor 1300 de televisión, que sirve para conversaciones por audio. El circuito 1327 de conversión A/D somete la señal de audio recibe al procesamiento de conversión A/D, y suministra los datos de audio digital obtenidos al codificador/descodificador 1328 de audio.
El codificador/descodificador 1328 de audio convierte los datos de audio suministrados desde el circuito 1327 de conversión A/D en datos con un formato predeterminado, para la transmisión vía una red, y los transmite a la I/F 1334 de red, por medio de la vía 1329 común de datos interna.
La I/F 1334 de red se conecta a la red via un cable montado en una terminal 1335 de red. La I/F 1334 de red transmite los datos de audio suministrados desde el codificador/descodificador 1328 de audio a otro dispositivo conectado a la red del mismo, por ejemplo. También, la I/F 1334 de red recibe, vía la 1335, los datos de audio transmitidos desde otro dispositivo conectado a esta por medio de la red, por ejemplo, y suministra esto al codificador/descodificador 1328 de audio por medio de la vía 1329 común de datos.
El codificador/descodificador 1328 de audio convierte los datos de audio suministrados desde la I/F 1334 de red a datos con un formato predeterminado, y suministra estos al circuito 1323 de cancelación de eco/ sintetizado de audio.
El circuito 1323 de cancelación de eco/ sintetizado de audio realiza la cancelación del eco con los datos de audio suministrados desde el codificador/descodificador 1328 de audio tomados como un objeto, y transmite los datos de audio obtenidos por sintetizado con otros datos de audio y asi sucesivamente, desde el altavoz 1325, por medio del circuito 1324 amplificador de audio.
La SDRAM 1330 almacena varios tipos de datos necesarios para que la CPU 1332 realice el procesamiento.
La tarjeta 1331 de memoria almacena un programa a ser ejecutado por la CPU 1332. El programa almacenado en la tarjeta 1331 de memoria se lee por la CPU 1332 con una temporización predeterminada, como por ejemplo cuando se activa el receptor 1300 de televisión, o los similares, los datos EPG obtenidos via una radiodifusión digital, los datos obtenidos desde un servidor predeterminado por medio de la red, etcétera, también se almacenan en la tarjeta 1331 de memoria .
Por ejemplo, el MPEG-TS que incluye los datos de contenidos obtenidos desde un servidor predeterminado por medio de la red, por el control de la CPU 1332, se almacenan en la tarjeta 1331 de memoria. La tarjeta 1331 de memoria suministra el MPEG-TS de los mismos al decodificador 1317 MPEG via la vía 1329 común de datos interna por el control de la CPU 1332, por ejemplo.
El decodificador 1317 MPEG procesa el MPEG-TS del mismo, de la misma forma como con el caso del MPEG-TS suministrado desde el sintonizador 1316 digital. De esta forma, el receptor 1300 de televisión recibe los datos de contenido formados por el video, el audio, etcétera, via la red, los decodifica usando el decodificador 1317 MPEG, con lo cual el video del mismo puede ser desplegado, y el audio del mismo puede ser transmitido .
También, el receptor 1300 de televisión incluye una unidad 1337 de recepción de luz para recibir la señal infrarroja transmitida desde un controlador 1351 remoto.
La unidad 1337 de recepción de luz recibe haces infrarrojos desde el controlador 1351 remoto, y transmite a la CPU 1332 un código de control que representa el contenido de la operación del usuario, obtenido por desmodulación.
La CPU 1332 ejecuta el programa almacenado en la tarjeta 1331 de memoria para controlar la operación completa del receptor 1300 de televisión, de acuerdo con el código de control suministrado desde la unidad 1337 de recepción de luz, y asi sucesivamente. La CPU 1332, y las unidades del receptor 1300 de televisión se conectan por medio de una vía no mostrada .
La I/F 1333 de USB realiza la transmisión/recepción de los datos en cuanto al dispositivo externo del receptor 1300 de televisión, la cual se conecta por medio de un cable USB montado en una terminal 1336 USB. La I/F 1334 de red se conecta a la red por medio de un cable montado en la terminal 1335 de red, también realiza la transmisión/recepción de datos distintos a los datos de audio, en cuanto a varios dispositivos conectados a la red.
El receptor 1300 de televisión usa el dispositivo 101 de decodificación de imágenes como el decodificador 1317 MPEG, con lo cual se puede mejorar la eficiencia de la codificación. Como resultado de esto, el receptor 1300 de televisión puede obtener una imagen decodificada con mayor precisión, desde las señales de ondas de radiodifusión recibidas por medio de la antena, o los datos de contenido obtenidos por medio de la red, y despliega estos.
La Fig. 20 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de un teléfono celular que usa el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes a los cuales se ha aplicado la presente invención.
Un teléfono 1400 celular mostrado en la Fig. 20 incluye una unidad 1450 de control principal, configurada para controlar integralmente las unidades, una unidad 1451 de circuito de la fuente de alimentación, una unidad 1452 de control de entradas de operación, un codificador 1453 de imágenes, una unidad 1454 de I/F de la cámara, una unidad 1455 de control de la LCD, un decodificador 1456 de imágenes, una unidad 1457 de multiplexión/separación, una unidad 1462 de registro/reproducción, una unidad 1458 de circuito de modulación/desmodulación, y un codificador/descodificador 1459 de audio. Estos se conectan mutuamente por medio de una via 1460 común de datos.
También, el teléfono 1400 celular incluye teclas 1419 de operación, una cámara 1416 CCD (Dispositivos de Carga Acoplada), una pantalla 1418 de cristal liquido, una unidad 1423 de almacenamiento, una unidad 1463 de transmisión/recepción, una antena 1414, un micrófono (MIC) 1421, y un altavoz 1417.
Después que se termina una llamada y se pulsa una tecla de encendido por la operación del usuario, la unidad 1451 de circuito de la fuente de alimentación activa el teléfono 1400 celular en un estado operación, al suministrar energía a las unidades de un paquete de baterías.
El teléfono 1400 celular lleva a cabo varias operaciones tales como la transmisión/operación de una señal de audio, transmisión/recepción de un correo electrónico y de datos de imagen, captura de imágenes, registro de datos, etcétera, en varios modos, como por ejemplo un modo de llamada de voz, un modo de comunicación de datos, etcétera, bajo el control de una unidad 1450 principal de control formada por una CPU, una ROM, una RAM etcétera.
Por ejemplo, en el modo de llamada de voz, el teléfono 1400 celular convierte la señal de audio recolectada por al micrófono (MIC) 1421 en datos de audio digital por medio del codificador/descodificador 1459 de audio, somete estos datos a procesamiento de dispersión del espectro en la unidad 1458 de circuito de modulación/desmodulación, somete estos datos a procesamiento de conversión digital/analógica, y procesamiento de conversión de frecuencia en la unidad 1463 de transmisión/recepción. El teléfono 1400 celular transmite la señal para la transmisión, obtenida por el procesamiento de conversión de la misma, a una estación base, no mostrada, vía la antena 1414. La señal para la transmisión (la señal de audio) transmitida a esta estación, se suministra al teléfono celular del par de comunicación por medio de la red telefónica pública .
También, por ejemplo, en el modo de llamada de voz, el teléfono 1400 celular amplifica la señal de recepción, recibida en la antena 1414, en la unidad 1463 de transmisión/recepción, la somete además al procesamiento de conversión de frecuencia y al procesamiento de conversión analógico/digital, la somete a procesamiento por dispersión inversa del espectro en la unidad 1458 de circuito de modulación/desmodulación, y la convierte en una señal de audio analógica por medio del codificador/descodificador 1459 de audio. El teléfono 1400 celular transmite la señal de audio analógica, convertida y obtenida de la misma, desde el altavoz 1417.
Además, por ejemplo, en el caso de transmitir un correo electrónico en el modo de comunicación de datos, el teléfono 1400 celular acepta datos de texto para la entrada del correo electrónico por medio de la operación de las 1419 en la unidad 1452 de control de entradas de operación. El teléfono 1400 celular procesa los datos de texto del mismo en la unidad 1450 principal de control, y los despliega en la pantalla 1418 de cristal liquido por medio de la unidad 1455 de control de la LCD como una imagen.
También, el teléfono 1400 celular genera los datos del correo electrónico en la unidad 1450 principal de control con base en los datos de texto aceptados por la unidad 1452 de control de entradas de operación, las instrucciones del usuario, etcétera. El teléfono 1400 celular somete los datos del correo electrónico del mismo a procesamiento de dispersión del espectro en la unidad 1458 de circuito de modulación/desmodulación, y los somete a procesamiento de conversión digital/analógico y a procesamiento de conversión de frecuencia en la unidad 1463 de transmisión/recepción. El teléfono 1400 celular transmite la señal para la transmisión, obtenida por el procesamiento de conversión de la misma, a una estación base no mostrada, por medio de la antena 1414. La señal para la transmisión (correo electrónico) transmitida a la estación base, se suministra a un destino predeterminado, por medio de la red, el servidor de correo, y así sucesivamente .
También, por ejemplo, en el caso de recibir un correo electrónico en el modo de comunicación de datos, el teléfono 1400 celular recibe la señal transmitida desde la estación base, por medio de la antena 1414, con la unidad 1463 de transmisión/recepción, la amplifica, y la somete además al procesamiento de conversión de frecuencia, y al procesamiento de conversión analógico/digital. El teléfono 1400 celular somete la señal de recepción de la misma a procesamiento de dispersión invertida del espectro en la unidad 1458 de circuito de modulación/desmodulación, para restablecer los datos originales del correo electrónico. El teléfono 1400 celular despliega en la pantalla 1418 de cristal liquido los datos del correo electrónico restablecidos vía la unidad 1455 de control de la LCD.
Nótese que el teléfono 1400 celular puede registrar (almacenar) los datos recibido del correo electrónico, en la unidad 1423 de almacenamiento, via la unidad 1462 de registro/reproducción .
Esta unidad 1423 de almacenamiento es un medio de almacenamiento reescribible opcional. La unidad 1423 de almacenamiento puede ser por ejemplo, una memoria de semiconductores, tal como una RAM, una tarjeta de memoria integrada, o las similares, puede ser un disco duro, o puede ser un medio removible tal como un disco magnético, un disco magneto-óptico, un disco óptico, una memoria USB, una tarjeta de memoria o las similares. Huelga decir que la unidad 1423 de almacenamiento puede ser otra distinta a estas.
Además, por ejemplo, en el caso de transmitir datos de imagen en el modo de comunicación de datos, el teléfono 1400 celular genera los datos de imagen por formación de imágenes en la cámara 1416 CCD. La cámara 1416 CCD incluye un CCD que sirve como un dispositivo óptico, tal como una lente, diafragma, etcétera, y sirve como un dispositivo fotoeléctrico, el cual forma la imagen de un sujeto, convierte la intensidad de la luz recibida en una señal eléctrica, y genera los datos de imagen de una imagen del sujeto. Los datos de imagen de la misma se someten a codificación de compresión en el codificador 1453 de imágenes, usando un sistema de codificación predeterminado, por ejemplo, tal como MPEG2, MPEG4, o los similares, vía la unidad 1454 de I/F de la cámara, y por consiguiente, los datos de imagen de la misma se convierten en datos de imagen codificados.
El teléfono 1400 celular emplea el dispositivo 51 de codificación de imágenes mencionado anteriormente como el codificador 1453 de imágenes para realizar tal procesamiento. Por consiguiente, el codificador 1453 de imágenes puede suprimir el aumento en la información comprimida y también mejora la predicción de la predicción de la misma forma como con el caso del dispositivo 51 de codificación de imágenes.
Nótese que, simultáneamente en este momento, el teléfono 1400 celular convierte el audio recolectado en el micrófono (MIC) 1421 de formato analógico a digital en el codificador/descodificador 1459 de audio, y además codifica este durante la formación de la imagen por la cámara 1416 CCD.
El teléfono 1400 celular multiplexa los datos de imagen codificados, suministrados desde el codificador 1453 de imágenes, y los datos de audio suministrados desde el codificador/descodificador 1459 de audio en la unidad 1457 de multiplexión/separación, usando un método predeterminado. El teléfono 1400 celular somete los datos mult iplexados obtenidos como resultado del mismo, a procesamiento de dispersión de espectro en la unidad 1458 de circuito de modulación/desmodulación y los somete a procesamiento de conversión digital/analógico y al procesamiento de conversión de frecuencia, en la unidad 1463 de transmisión/recepción. El teléfono 1400 celular transmite la señal para la transmisión, obtenida por el procesamiento de conversión del mismo, a una estación base no mostrada, vía la antena 1414. La señal para la transmisión (datos de imagen) transmitida a la estación base, se suministra al par de comunicación por medio de la red o las similares.
Nótese que, en el caso de que los datos de imagen no se transmitan, el teléfono 1400 celular también puede desplegar los datos de imagen generados en la cámara 1416 CCD en la pantalla 1418 de cristal liquido, por medio de la unidad 1455 de control de la LCD, en lugar del codificador 1453 de imágenes .
También, por ejemplo, en el caso de recibir los datos de un archivo de imagen móvil vinculado con un sitio de red simple o los similares, en el modo de comunicación de datos, el teléfono 1400 celular recibe la señal transmitida desde la estación base en la unidad 1463 de transmisión/recepción, por medio de la antena 1414, la amplifica, y además la somete a procesamiento de conversión de frecuencia y procesamiento de conversión analógica/digital. El teléfono 1400 celular somete la señal recibida a procesamiento de dispersión inversa del espectro en la unidad 1458 de circuito de modulación/desmodulación para restablecer los datos multiplexados originales. El teléfono 1400 celular separa los datos multiplexados de la misma en la unidad 1457 de multiplexión/separación, en datos de imagen y datos de audio codificados .
El teléfono 1400 celular decodifica los datos de imagen codificados en el decodificador 1456 de imágenes usando el sistema de decodificación correspondiente a un sistema de codificación predeterminado, tal como MPEG2, PEG4 o los similares, generando por ello los datos de imagen en movimiento de reproducción, y despliega estos en la pantalla 1418 de cristal liquido por medio de la unidad 1455 de control de la LCD. Por lo tanto, los datos de la imagen móvil incluidos en un archivo de imagen móvil vinculada con un sitio de red simple, se despliegan en la pantalla 1418 de cristal liquido, por ejemplo.
El teléfono 1400 celular emplea el dispositivo 101 de decodificación de imágenes mencionado anteriormente, como el decodificador 1456 de imágenes para llevar a cabo tal procesamiento. Por consiguiente, el decodificador 1456 de imágenes puede suprimir el aumento en la información comprimida y también mejora la precisión de la predicción de la misma manera como el caso del dispositivo 101 de decodificación de imágenes.
Simultáneamente en este momento, el teléfono 1400 celular convierte los datos de audio digitales en una señal de audio analógico en el codificador /descodificador 1459 de audio, y transmite estos desde el altavoz 1417. Por lo tanto, los datos de audio incluidos en un archivo de imagen móvil vinculado con un sitio de red simple se reproducen, por ejemplo.
Nótese que, de la misma forma como con el caso del correo electrónico, el teléfono 1400 celular puede registrar (almacenar) los datos recibidos, vinculados con un sitio de red simple o los similares, en la unidad 1423 de almacenamiento, por medio de la unidad 1462 de registro/reproducción .
También, el teléfono 1400 celular analiza el código bidimensional obtenido al formarse la imagen por la cámara 1416 CCD en la unidad 1450 principal de control, con lo cual, se puede obtener la información registrada en el código bidimensional .
Además, el teléfono 1400 celular puede comunicarse con un dispositivo externo en la pantalla 1418 de cristal liquido, usando rayos infrarrojos.
El teléfono 1400 celular emplea el dispositivo 51 de codificación de imágenes como el codificador 1453 de imágenes, con lo cual se puede mejorar la eficiencia de codificación de los datos codificados a ser generados al codificar los datos de imagen generados en la cámara 1416 CCD, por ejemplo. Como resultado el teléfono 1400 celular puede proporcionar los datos codificados (datos de imagen) a otro dispositivo, con eficiencia de codificación excelente.
También, el teléfono 1400 celular emplea el dispositivo 101 de decodificación de imágenes como el decodificador 1456 de imágenes, por lo cual se puede generar una imagen de predicción con alta precisión. Como resultado de esto, el teléfono 1400 celular puede obtener una imagen decodificada vinculada con un sitio de red simple, y despliega esta, por ej emplo .
Nótese que la descripción ha sido realizada hasta aqui en donde el teléfono 1400 celular emplea la cámara 1416 CCD, pero el teléfono 1400 celular puede emplear un detector de imágenes (detector de imágenes CMOS) usando CMOS (Semiconductor de Oxido Metálico Complementario) en lugar de esta cámara 1416 CCD. En este caso también, el teléfono 1400 celular puede formar la imagen de un sujeto y generar los datos de la imagen, de una imagen del sujeto, de la misma forma como con el caso de emplear la cámara 1416 CCD.
También, se ha realizado hasta este momento la descripción en cuanto al teléfono 1400 celular, pero el dispositivo 51 de codificación de imágenes y el dispositivo 101 de decodificación de imágenes pueden ser aplicados a cualquier tipo de dispositivo de la misma forma como con el caso del teléfono 1400 celular siempre y cuando este sea un dispositivo que tenga la misma función de formación de imágenes y la función de comunicación como aquellas del teléfono 1400 celular, por ejemplo, tales como PDAs (Asistentes Personales Digitales) , teléfonos inteligentes, UMPC (Computadores Personales Ultra Móviles) , computadoras ultra portátiles, computadoras personales portátiles, o las similares .
La Fig. 21 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de un registrador de disco duro el cual emplea el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes a los cuales se ha aplicado la presente invención.
Un registrador de disco duro (registrador de HDD) 1500 mostrado en la Fig. 21 es un dispositivo el cual almacena, en un disco duro integrado, datos de audio y datos de video de un programa de radiodifusión incluido en las señales de ondas de radiodifusión (señales de televisión) recibidas por un sintonizador y transmitidas desde un satélite o una antena terrestre o las similares, y proporciona los datos almacenados al usuario, a una temporización de acuerdo con las instrucciones del usuario.
El registrador 1500 de disco duro puede extraer datos de audio y datos de video de las señales de ondas de radiodifusión, decodifica estos, según sea apropiado, y los almacena en el disco duro integrado, por ejemplo. También, el registrador 1500 de disco duro puede obtener datos de audio y datos de video de otro dispositivo, por medio de la red, decodifica estos según sea apropiado, y los almacena en el disco duro integrado por ejemplo.
Además, el registrador 1500 de disco duro decodifica los datos de audio y los datos de video en el disco duro integrado los suministra a un monitor 1560, y despliega una imagen de los mismos en la pantalla del monitor 1560, por ejemplo. También, el registrador 1500 de disco duro puede transmitir sonido del mismo desde el altavoz del monitor 1560.
El registrador 1500 de disco duro decodifica los datos de audio y los datos de video extraídos desde las señales de indas de radiodifusión obtenidas por medio del sintonizador, o los datos de audio y los datos de video obtenidos desde otro dispositivo por medio de la red, los suministra al monitor 1560, y despliega una imagen de los mismos en la pantalla de monitor 1560, por ejemplo. También, el registrador 1500 de disco duro puede transmitir el sonido de los mismos desde el altavoz del monitor 1560.
Huelga decir que se pueden realizar operaciones distintas a estas.
Como se muestra en la Fig. 21, el registrador 1500 de disco duro incluye una unidad 1521 de recepción, una unidad 1522 de desmodulación, un desmultiplexor 1523, un decodificador 1524 de audio, un decodificador 1525 de video, y una unidad 1526 de control del registrador. El registrador 1500 de disco duro incluye además una memoria 1527 de datos EPG, una memoria 1528 de programas, una memoria 1529 de trabajo, un convertidor 1530 de despliegue, una unidad 1531 de control de OSD (Despliegue en Pantalla) , una unidad 1532 de control de despliegue, una unidad 1533 de registro/reproducción, un convertidor 1534 D/A, y una unidad 1535 de comunicación.
También, el convertidor 1530 de despliegue incluye un codificador 1541 de video. La unidad 1533 de registro/reproducción incluye un codificador 1551 y un decodificador 1552.
La unidad 1521 de recepción recibe la señal infrarroja del controlador remoto (no se muestra) , la convierte en una señal eléctrica, y la transmite a la unidad 1526 de control del registrador. La unidad 1526 de control del registrador se configura con, por ejemplo, un microprocesador, etcétera, y ejecuta varios tipos de procesamiento de acuerdo con el programa almacenado en la memoria 1528 de programas. En este momento, la unidad 1526 de control del registrador usa la memoria 1529 de trabajo de acuerdo con las necesidades.
La unidad 1535 de comunicación, la cual se conecta a la red, lleva a cabo el procesamiento de comunicación con otro dispositivo, por medio de la red. Por ejemplo, la unidad 1535 de comunicación se controla por la unidad 1526 de control del registrador para comunicarse con un sintonizador (no se muestra) , y para transmitir principalmente una señal de control de selección el canal al sintonizador.
La unidad 1522 de desmodulación desmodula la señal suministrada desde el sintonizador, y la transmite al desmultiplexor 1523. El desmultiplexor 1523 separa los datos suministrado desde las unidad 1522 de desmodulación en datos de audio, datos de video y datos EPG, y los transmite al decodificador 1524 de audio, el decodificador 1525 de video, y la unidad 1526 de control del registrador, respectivamente, El decodificador 1524 de audio decodifica los datos de audio de entrada por ejemplo, usando el sistema MPEG, y los transmite a la unidad 1533 de registro/reproducción. El decodificador 1525 de video decodifica los datos de video de entrada, por ejemplo, usando el sistema MPEG, y los transmite al convertidor 1530 de despliegue, la unidad 1526 de control del registrador suministra los datos EPG de entrada a la memoria 1527 de datos EPG para su almacenamiento.
El convertidor 1530 de despliegue codifica los datos de video suministrados desde el decodificador 1525 de video la unidad 1526 de control del registrador, por ejemplo, en los datos de video que se adaptan al sistema NTSC (National Televisión Standars Committee) , usando el codificador 1541 de video, y los transmite a la unidad 1533 de registro/reproducción. También, al convertidor 1530 de despliegue convierte el tamaño de la pantalla de los datos de video suministrados desde el decodificador 1525 de video, o la unidad 1526 de control del registrador, en el tamaño correspondiente al tamaño del monitor 1560. El convertidor 1530 de despliegue convierte adicionalmente los datos de video los cuales se han convertido al tamaño de la pantalla, en los datos de video que se adaptan al sistema NTSC, usando el codificador 1541 de video, los convierte en una señal analógica, y los transmite a la unidad 1532 de control de despliegue .
La unidad 1532 de control de despliegue superpone, bajo el control de la unidad 1526 de control del registrador, la señal de OSD transmitida desde la unidad 1531 de control de OSD (Despliegue en Pantalla) sobre la señal de video introducida desde el 1539, y la transmite a la pantalla del monitor 1560 para su despliegue.
También, los datos de audio transmitidos desde el decodificador 1524 de audio han sido convertidos en una señal analógica usando el convertidor 1534 D/A, y se suministran al monitor 1560. El monitor 1560 transmite esta señal de audio desde un altavoz integrado.
La unidad 1533 de registro/reproducción incluye un disco duro como un medio de almacenamiento, en el cual se registran los datos de video, los datos de audio, etcétera.
La unidad 1533 de registro/reproducción codifica los datos de audio suministrados desde el decodificador 1524 de audio por medio del codificador 1551, usando el sistema MPEG, por ejemplo. También, la unidad 1533 de registro/reproducción codifica los datos de video suministrados desde el codificador 1541 de video del convertidor 1530 de despliegue, por medio del codificador 1551, usando el sistema MPEG. La unidad 1533 de registro/reproducción sintetiza los datos codificados de los datos de audio de los mismos, y los datos codifícaos de los datos de video de los mismos. Usando el multiplexor. La unidad 1533 de registro/reproducción amplifica los datos sintetizados mediante codificación de canal, y escribe los datos de los mismos, en el disco duro, por medio de una cabeza de registro.
La unidad 1533 de registro/reproducción reproduce los datos registrados en el disco duro vía una cabeza de reproducción, los amplifica y los separa en datos de audio y datos de video, usando el desmultiplexor . La unidad 1533 de registro/reproducción decodifica los datos de audio y los datos de video por medio del decodificador 1552, usando el sistema MPEG. La unidad 1533 de registro/reproducción convierte los datos de audio decodificados de formato digital a analógico, y los transmite al altavoz del monitor 1560. También, la unidad 1533 de registro/reproducción convierte los datos de video decodificados de formato digital a analógico, y los transmite a la pantalla del monitor 1560.
La unidad 1526 de control del registrador lee los últimos datos EPG de la memoria 1527 de datos EPG con base en las instrucciones del usuario, indicadas por la señal infrarroja desde el controlador remoto, las cuales se reciben via la unidad 1521 de recepción, y las suministra a la unidad 1531 de control de OSD. La unidad 1531 de control de OSD genera los datos de imagen correspondientes a los datos EPG de entrada, y los transmite a la unidad 1532 de control de despliegue. La unidad 1532 de control de despliegue transmite los datos de video introducidos desde la unidad 1531 de control de OSD, a la pantalla del monitor 1560. Por lo tanto, la EPG (Guia Electrónica de Programas) se despliega en la pantalla del monitor 1560.
También, el registrador 1500 de disco duro puede obtener varios tipos de datos, tales como datos de video, datos de audio, datos de EPG, etcétera, suministrados desde otro dispositivo, por medio de la red tal como la Red Internacional o los similares.
La unidad 1535 de comunicación se controla por medio de la unidad 1526 de control del registrador para obtener los datos codificados, tales como los datos de video, los datos de audio, los datos EPG, etcétera, transmitidos desde otro dispositivo por medio de la red, y suministra estos a la unidad 1526 de control del registrador. La unidad 1526 de control del registrador suministra los datos codificados de los datos de video y los datos de audio obtenidos, a la unidad 1533 de registro/reproducción, y los almacena en el disco duro, por ejemplo. En este momento, la unidad 1526 de control del registrador y la unidad 1533 de registro/reproducción pueden llevar a cabo un procesamiento, tal como recodificación o los similares, de acuerdo con las necesidades.
También la unidad 1526 de control del registrador decodifica los datos codificados de los datos de video y los datos de audio obtenidos, y los suministra los datos de video al convertidor 1530 de despliegue. El convertidor 1530 de despliegue procesa, de la misma forma como los datos de video suministrados desde el decodificador 1525 de video, los datos de video suministrados desde la unidad 1526 de control del registrador, los suministra al monitor 1560, por medio de la unidad 1532 de control de despliegue para desplegar una imagen de los mismos.
Alternativamente, se puede hacer un arreglo en donde, de acuerdo con este despliegue de la imagen, la unidad 1526 de control del registrador suministre los datos de audio decodificados al monitor 1560, por medio del convertidor 1534 D/A, y transmite los datos de audio del mismo desde el altavoz .
Además, la unidad 1526 de control del registrador decodifica los datos codificados de los datos de EPG obtenidos, y suministra los datos EPG obtenidos a la memoria 1527 de datos EPG.
El registrador 1500 de disco duro asi configurado emplea el dispositivo 101 de decodificación de imágenes como el decodificador 1525 de video, el decodificador 1552, y un decodificador alojados en la unidad 1526 de control del registrador. Por consiguiente, el decodificador 1525 de video, el decodificador 1552, y el decodificador alojados en la unidad 1526 de control del registrador pueden suprimir el aumento en la información comprimida, y también mejoran la precisión de la predicción de la misma forma como con el caso del dispositivo 101 de decodificación de imágenes.
Por consiguiente, el registrador 1500 de disco duro puede generar una imagen de predicción con alta precisión. Como resultado de lo mismo, el registrador 1500 de disco duro puede obtener una imagen decodificada con alta precisión, por ejemplo, a partir de los datos codificados de los datos de video recibidos por medio del sintonizador, los datos codificados de los datos de video leídos desde el disco duro de la unidad 1533 de registro/reproducción, o los datos codificados de los datos de video obtenidos por medio de la red, y los despliega en el monitor 1560.
También el registrador 1500 de disco duro emplea el dispositivo 51 de codificación como el codificador 1551. Por consiguiente, el codificador 1551 puede suprimir el aumento en la información comprimida, y también mejora la precisión de la predicción de la misma forma como con el caso del dispositivo 51 de codificación de imágenes.
Por consiguiente, el registrador 1500 de disco duro puede mejorar la eficiencia de codificación de los datos codificados a ser registrados en el disco duro, por ejemplo. Como resultado de lo mismo, el registrador 1500 de disco duro puede usar la región de almacenamiento del disco duro en una manera más efectiva.
Nótese que la descripción se ha realizado hasta ahora con relación al registrador 1500 de disco duro para registrar datos de video y datos de audio en el disco duro, pero huelga decir que se puede emplear cualquier tipo de medio de registro. Por ejemplo, aun con un registrador al cual se aplica un medio de registro distinto a un disco duro, tal como una memoria de destello, un disco óptico, una cinta de video, o los similares, de la misma forma como con el caso del registrador 1500 de disco duro mencionado anteriormente, el dispositivo 51 de codificación de imágenes y el dispositivo 101 de decodificación de imágenes se pueden aplicar al mismo.
La Fig. 22 es un diagrama de bloques que ilustra un ejemplo de la configuración principal de una cámara que emplea el dispositivo de decodificación de imágenes y el dispositivo de codificación de imágenes a los cuales se ha aplicado la presente invención.
Una cámara 1600 mostrada en la Fig. 22 forma imágenes de un sujeto, despliega una imagen del sujeto en una LCD 1616, y la registra en un medio 1633 de registro como datos de imagen.
Un bloque 1611 de lente introduce luz (es decir, el video de un sujeto) en un CCD/CMOS 1612. El CCD/C OS 1612 es un detector de imagen que emplea un CCD o CMOS, convierte la intensidad de la luz recibida en una señal eléctrica, y la suministra a una unidad 1613 de procesamiento de señales de la cámara .
La unidad 1613 de procesamiento de señales de la cámara convierte la señal eléctrica suministrada desde el CCD/CMOS 1612 en señales de diferencia de color de Y, Cr, y Cb, y las suministra a una unidad 1614 de procesamiento de señales de imagen. La unidad 1614 de procesamiento de señales de imagen somete, bajo el control de un controlador 1621, la señal de imagen suministrada desde la unidad 1613 de procesamiento de señales de la cámara a un procesamiento de imagen predeterminado, o codifica la señal de imagen de la misma por medio del codificador 1641, usando el sistema MPEG por ejemplo, la unidad 1614 de procesamiento de señales de imagen suministra los datos codificados generados por la señal de imagen, a un decodificador 1615. Además, la unidad 1614 de procesamiento de señales de imagen obtiene los datos para el despliegue, generados en despliegue en pantalla (OSD) 1620, y suministra estos al decodificador 1615.
Con el procesamiento mencionado anteriormente, la unidad 1613 de procesamiento de señales de la cámara toma ventaja de la DRAM (Memoria Dinámica de Acceso Aleatorio) 1618 conectada por medio de una vía 1617 común de datos para guardar los datos de la imagen, los datos codificados, codificados a partir de los datos de imagen de la misma, etcétera, en la DRAM 1618 de la misma, de acuerdo con las necesidades.
El decodificador 1615 decodifica los datos codificados, suministrados desde la unidad 1614 de procesamiento de señales de imagen, y suministra los datos de imagen obtenidos (datos de imagen decodificados ) a la LCD 1616. También, el decodificador 1615 suministra los datos para el despliegue, suministrados desde la unidad 1614 de procesamiento de señales de imagen, a la LCD 1616. La LCD 1616 sintetiza la imagen de los datos de imagen decodificados, y la imagen de los datos para el despliegue, suministrados desde el decodificador 1615, según sea apropiado, y despliega una imagen sintetizada de los mismos .
El despliegue 1620 en pantalla transmite los datos para el despliegue, bajo el control del controlador 1621, tales como una pantalla de menú iconos o los similares formados de un símbolo, caracteres, o una figura, a la unidad 1614 de procesamiento de señales de imagen, por medio de la vía 1617 común de datos.
Con base en la señal que indica el contenido ordenado por el usuario, usando una unidad 1622 de operación, el controlador 1621 ejecuta varios tipos de procesamiento, y también controla la unidad 1614 de procesamiento de señales de imagen, la DRAM 1618, la interfaz 1619 externa, el despliegue 1620 en pantalla, la unidad 1623 de medios, etcétera por medio de la via 1617 común de datos. Un programa, los datos, etcétera, necesarios para el controlador 1621 que ejecuta varios tipos de procesamiento, se almacenan en la ROM 1624 DE DESTELLO.
Por ejemplo, el controlador 1621 puede codificar los datos de imagen almacenados en la 1618, o decodifica los datos codificados almacenados en la 1618 de la unidad 1614 de procesamiento de señales de imagen y el decodificador 1615. En este momento, el controlador 1621 puede realizar el procesamiento de codificación y decodificación usando el mismo sistema como el sistema de codificación y decodificación de la unidad 1614 de procesamiento de señales de imagen y el decodificador 1615, o puede llevar a cabo el procesamiento de codificación y decodificación usando un sistema que no puede manejar ni la unidad 1614 de procesamiento de señales de imagen ni el decodificador 1615.
También, por ejemplo, en el caso de que se haya ordenado el inicio de la impresión de la imagen, desde la 1622, el controlador 1621 lee los datos de la imagen desde la 1618, y suministra estos a una impresora 1634, conectada a la interfaz 1619 externa, por medio de la via 1617 común de datos, para la impresión.
Además, por ejemplo, en el caso de que se haya ordenado el registro de la imagen desde la 1622, el controlador 1621 lee los datos codificados desde la 1618 y suministra estos a un medio 1633 de registro, montado en el 1623, por medio de la via 1617 común de datos, para su almacenamiento.
El medio 1633 de registro es un medio removible, que se puede leer/escribir, por ejemplo, tal como una cinta magnética, un disco magneto-óptico, un disco óptico, una memoria de semiconductores, o los similares. Huelga decir que el medio 1633 de registro también es opcional con relación al tipo de medio removible, y por consiguiente, puede ser un dispositivo de cinta, o puede ser un disco, o puede ser una tarjeta de memoria. Huelga decir que el medio 1633 de registro puede ser una tarjeta IC sin contacto o los similares.
Alternativamente, la unidad 1623 de medios y el medio 1633 de registro pueden ser configurados para estar integrados en un medio de registro no transportable, como por ejemplo un disco duro integrado, una SSD (Unidad de Estado sólido) , o los similares .
La interfaz 1619 externa se configura con, por ejemplo, una terminal USB de entrada/salida, etcétera, y se conecta a la impresora 1634 en el caso de llevar a cabo la impresión de las imágenes. También, una unidad 1631 se conecta a la interfaz 1619 externa de acuerdo con las necesidades, en la cual se monta el medio 1632 removible, tal como un disco magnético, un disco óptico, o un disco magneto óptico o los similares, según sea apropiado, y un programa de computadora leído desde la misma se instala en la ROM 1624 DE DESTELLO de acuerdo con las necesidades.
Además, la interfaz 1619 externa incluye una interfaz de trabajo a ser conectada a una red predeterminada, como por ejemplo, una LAN, la Red Internacional, o las similares. Por ejemplo, de acuerdo con las instrucciones de la 1622, el controlador 1621 puede leer los datos codificados desde la 1618, y suministra estos desde la interfaz 1619 externa a otro dispositivo conectado por medio de la red. También, el controlador 1621 puede obtener, por medio de la interfaz 1619 externa, los datos codificados o los datos de imagen suministrados desde otro dispositivo, por medio de la red, y almacena estos en la DRAM 1618, o suministra estos a la unidad 1614 de procesamiento de señales de imagen.
La cámara 1600 así configurada emplea el dispositivo 101 de decodificación de imágenes como el decodificador 1615. Por consiguiente, el decodificador 1615 puede suprimir el aumento en la información comprimida V, y también mejora la precisión de la predicción, de la misma forma como con el caso del dispositivo 101 de decodificación de imágenes.
Por consiguiente, la cámara 1600 puede generar una imagen de predicción con alta precisión. Como resultado de esto, la cámara 1600 puede obtener una imagen decodificada con mayor precisión, por ejemplo, a partir los datos de imagen generados por el CCD/CMOS 1612, los datos codificados de los datos de video leídos desde la DRAM 1618 o el medio 1633 de registro, o los datos codificados de los datos de video obtenidos por medio de la red, y los despliega en la LCD 1616.
También, la cámara 1600 emplea el dispositivo 51 de codificación de imágenes como el codificador 1641. Por consiguiente, el codificador 1641 puede suprimir el aumento en la información comprimida V, y también mejora la precisión de la predicción de la misma forma como con el caso del dispositivo 51 de codificación de imágenes.
Por consiguiente, la cámara 1600 puede mejorar la eficiencia de la codificación de los datos codificados a ser registrados en el disco duro, por ejemplo. Como resultado de lo mismo, la cámara 1600 puede usar la región de almacenamiento de la DRAM 1618 o el medio 1633 de registro en una manera más efectiva.
Nótese que el método de decodificación del dispositivo 101 de decodificación de imágenes puede ser aplicado al procesamiento de decodificación que lleva a cabo el controlador 1621. De forma similar, el método de codificación del dispositivo 51 de codificación de imágenes puede ser aplicado al procesamiento de codificación que lleva a cabo el controlador 1621.
También, los datos de imagen que forma la cámara 1600 pueden ser de una imagen en movimiento, o pueden ser de una imagen fija.
Huelga decir que el dispositivo 51 de codificación de imágenes y el dispositivo 101 de decodificación de imágenes pueden ser aplicados a un dispositivo o un sistema distinto que los dispositivos mencionados anteriormente.
LISTA DE SÍMBOLOS DE REFERENCIA 51 Dispositivo de codificación de imágenes, 66 unidad de codificación sin pérdidas, 74 unidad de intra predicción, 75 unidad de predicción/compensación del movimiento, 76 unidad de determinación de la precisión del vector de movimiento, 77 unidad de selección de la imagen de predicción, 81 unidad de predicción/compensación del movimiento con precisión entera en pixeles, 82 unidad de predicción/compensación del movimiento con precisión fraccional en pixeles, 83 búfer de acumulación de información del vector de movimiento, 84 unidad de cálculo del vector de movimiento de predicción, 85 unidad de codificación de la información del vector de movimiento, 86 unidad de determinación del modo, 91 unidad de determinación de la precisión del vector de movimiento actual, 92 unidad de determinación de la precisión del vector de movimiento adyacente, 83 búfer de acumulación de información del vector de movimiento, 101 dispositivo de decodificación de imágenes, 112 unidad de decodificación sin pérdidas, 121 unidad de intra predicción, 122 unidad de predicción/compensación del movimiento, 123 unidad de determinación de la precisión del vector de movimiento, 124 conmutador, 151 unidad de recepción de la información del vector de movimiento, 152 unidad de generación del vector de movimiento de predicción, 153 unidad de reestructuración del vector de movimiento, 154 búfer de acumulación de la información del vector de movimiento, 155 unidad de predicción de la imagen, 161 unidad de recepción de la bandera de precisión, 162 unidad de determinación de la precisión del vector de movimiento adyacente, 163 unidad de determinación de la precisión del vector de movimiento actual.

Claims (12)

REIVINDICACIONES
1. Un dispositivo de procesamiento de imágenes, caracterizado porque comprende medios para generar la bandera o indicador de precisión, configurados para generar una bandera de precisión que indica si la precisión de la información del vector de movimiento de un bloque actual y la precisión del información del vector de movimiento de un bloque adyacente a dicho bloque, concuerdan o difieren; y medios de codificación, configurados para codificar la información del vector de movimiento de dicho bloque actual, y dicha bandera de precisión generada por dichos medios para generar la bandera de precisión.
2. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 1, caracterizado porque comprende además: medios para generar el vector de movimiento de predicción, configurados para llevar a cabo la predicción de la mediana, al convertir la precisión de la información del vector de movimiento de dicho bloque adyacente en la precisión de la información del vector de movimiento de dicho bloque actual, para generar la información del vector de movimiento en el caso de que dicha bandera de predicción generada por dichos medios para generar la bandera de precisión, indique que la precisión de la información del vector de movimiento de dicho bloque actual, y la precisión de la información del vector de movimiento de dicho bloque adyacente, difieren; en donde dichos medios de codificación codifican la diferencia entre la información del vector de movimiento de dicho bloque actual, y dicha información del vector de movimiento de predicción como la información del vector de movimiento de dicho bloque actual.
3. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 2, caracterizado porque dichos medios para generar la bandera o indicador de precisión y dichos medios para generar el vector de movimiento de predicción usan un bloque adyacente a la izquierda de dicho bloque actual como dicho bloque adyacente.
4. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 2, caracterizado porque dichos medios para generar la bandera de precisión y dichos medios para generar el vector de movimiento de predicción usan un bloque, el cual as adyacente a dicho bloque actual, y el cual también ha sido sometido recientemente al procesamiento de codificación, como dicho bloque adyacente.
5. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 2, caracterizado porque dichos medios para generar la bandera de precisión y dichos medios para generar el vector de movimiento de predicción usan un bloque el cual es adyacente a dicho bloque actúalo, y el cual también proporciona la información del vector de movimiento seleccionada por la predicción de la mediana, como dicho bloque adyacente.
6. Un método de procesamiento de imágenes, caracterizado porque comprende la etapa de: hacer que un dispositivo de procesamiento de imágenes genere una bandera de precisión que indica si la precisión de la información del vector de movimiento de un bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente a dicho bloque actual, concuerdan o difieren; y codificar la información del vector de movimiento de dicho bloque actual, y dicha bandera de precisión generada.
7. Un dispositivo de procesamiento · de imágenes, caracterizado porque comprende: medios de decodificación, configurados para decodificar la información del vector de movimiento de un bloque actual, y una bandera de precisión que indica si la precisión de la información del vector de movimiento de dicho bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente, adyacente a dicho bloque actual, concuerdan o difieren; medios para reestructurar el vector de movimiento, configurados para reestructurar la información del vector de movimiento de dicho bloque actual decodificado por dichos medios de decodificación usando dicha bandera de precisión decodificada por dichos medios de decodificación; y medios para generar la imagen de predicción, configurados para generar la imagen de predicción de dicho bloque actual usando la información del vector de movimiento de dicho bloque actual reestructurada por dichos medios para reestructurar el vector de movimiento.
8. El dispositivo de procesamiento de imágenes, de acuerdo con la reivindicación 7, caracterizado porque comprende además: medios para generar el vector de movimiento de predicción, configurados para realiza la predicción de la mediana al convertir la precisión de la información del vector de movimiento de dicho bloque adyacente en la precisión de la información del vector de movimiento de dicho bloque actual, para generar la información del vector de movimiento en el caso de que dicha bandera de precisión decodificada por dichos medios de decodificación indique que la precisión de la información del vector de movimiento de dicho bloque actual, y la precisión de la información del vector de movimiento de dicho bloque adyacente, difieren; en donde dichos medios para reestructurar el vector de movimiento reestructuran la información del vector de movimiento de dicho bloque actual decodificado por dichos medios de decodificación, usando dicha bandera de precisión decodificada por dichos medios de decodificación, y dicha información del vector de movimiento de predicción generada por dichos medios para generar el vector de movimiento de predicción .
9. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 8, caracterizado porque dichos medios para reestructurar el vector de movimiento y dichos medios para generar el vector de movimiento de predicción, usan un bloque adyacente a la izquierda de dicho bloque actual como dicho bloque adyacente.
10. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 8, caracterizado porque dichos medios para reestructurar el vector de movimiento y dichos medios para generar el vector de movimiento de predicción, usan un bloque el cual es adyacente a dicho bloque actual y el cual también ha sido sometido más recientemente al procesamiento de codificación, como dicho bloque adyacente.
11. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 8, caracterizado porque dichos medios para reestructurar el vector de movimiento y dichos medios para generar el vector de movimiento usan un bloque el cual es adyacente a dicho bloque actual, y el cual también proporciona la información del vector de movimiento seleccionada por la predicción de la mediana, como dicho bloque adyacente.
12. Un método de procesamiento de imágenes, caracterizado porque comprende la etapa de: hacer que un dispositivo de procesamiento de imágenes decodifique la información del vector de movimiento codificada de un bloque actual, y una bandera de precisión que indica si la precisión de la información del vector de movimiento de dicho bloque actual, y la precisión de la información del vector de movimiento de un bloque adyacente a dicho bloque actual, concuerdan o difieren; reestructure la información decodificada del vector de movimiento de dicho bloque actual usando dicha bandera de precisión decodificada; y genere la imagen de predicción de dicho bloque actual usando la información del vector de movimiento reestructurada de dicho bloque actual.
MX2011009117A 2009-03-06 2010-02-25 Dispositivo y meodo para procesamiento de imagenes. MX2011009117A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009054077 2009-03-06
PCT/JP2010/052925 WO2010101064A1 (ja) 2009-03-06 2010-02-25 画像処理装置および方法

Publications (1)

Publication Number Publication Date
MX2011009117A true MX2011009117A (es) 2011-10-06

Family

ID=42709623

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2011009117A MX2011009117A (es) 2009-03-06 2010-02-25 Dispositivo y meodo para procesamiento de imagenes.

Country Status (12)

Country Link
US (1) US20120057632A1 (es)
EP (1) EP2405659A4 (es)
JP (1) JPWO2010101064A1 (es)
KR (1) KR20110139684A (es)
CN (1) CN102342108B (es)
AU (1) AU2010219746A1 (es)
BR (1) BRPI1009535A2 (es)
CA (1) CA2752736A1 (es)
MX (1) MX2011009117A (es)
RU (1) RU2011136072A (es)
TW (1) TW201041404A (es)
WO (1) WO2010101064A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US10327008B2 (en) * 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
KR101588143B1 (ko) * 2011-06-23 2016-01-22 가부시키가이샤 제이브이씨 켄우드 화상 인코딩 장치, 화상 인코딩 방법 및 화상 인코딩 프로그램, 및 화상 디코딩 장치, 화상 디코딩 방법 및 화상 디코딩 프로그램
BR112015004285A2 (pt) * 2012-08-28 2017-07-04 Abb Technology Ag controle de um conversor modular em dois estágios
MX340603B (es) * 2012-09-03 2016-07-15 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
WO2014147021A2 (en) * 2013-03-20 2014-09-25 Bayer Pharma Aktiengesellschaft Novel compounds
US9706229B2 (en) * 2013-06-05 2017-07-11 Texas Instruments Incorporated High definition VP8 decoder
EP4221202A1 (en) * 2015-06-05 2023-08-02 Dolby Laboratories Licensing Corporation Image encoding and decoding method and image decoding device
US11272207B2 (en) 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
CN116016921A (zh) 2017-07-07 2023-04-25 三星电子株式会社 用于对运动矢量进行编码和解码的设备和方法
BR112020004381A2 (pt) * 2017-09-28 2020-09-08 Samsung Electronics Co., Ltd. método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
CN109905714B (zh) 2017-12-08 2022-12-27 华为技术有限公司 帧间预测方法、装置及终端设备
WO2020005046A1 (ko) * 2018-06-30 2020-01-02 김기백 영상 부호화/복호화 방법 및 장치
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN111436227B (zh) * 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09121359A (ja) * 1995-10-26 1997-05-06 Hitachi Ltd 画像符号化方法および画像復号化方法
KR100359115B1 (ko) * 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
KR100962759B1 (ko) * 2002-01-24 2010-06-09 가부시키가이샤 히타치세이사쿠쇼 동화상 신호의 부호화 방법 및 복호화 방법
JP4355319B2 (ja) * 2002-01-24 2009-10-28 株式会社日立製作所 動画像復号化方法
US6728315B2 (en) * 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
TWI253001B (en) * 2004-11-16 2006-04-11 An Lnternet Products & Technol Method for setting the threshold of a fast motion estimation algorithm
JP2006238291A (ja) * 2005-02-28 2006-09-07 Ricoh Printing Systems Ltd カラー画像情報の符号化処理方法、復号化処理方法およびこれを用いた印刷装置
JP4713972B2 (ja) * 2005-07-27 2011-06-29 株式会社東芝 符号化装置
JP4235209B2 (ja) * 2006-02-10 2009-03-11 Nttエレクトロニクス株式会社 動きベクトル検出装置および動きベクトル検出方法
CN101102503A (zh) * 2006-07-07 2008-01-09 华为技术有限公司 视频分层编码层间运动矢量的预测方法

Also Published As

Publication number Publication date
EP2405659A1 (en) 2012-01-11
EP2405659A4 (en) 2013-01-02
TW201041404A (en) 2010-11-16
CN102342108B (zh) 2014-07-09
AU2010219746A1 (en) 2011-09-08
CA2752736A1 (en) 2010-09-10
KR20110139684A (ko) 2011-12-29
JPWO2010101064A1 (ja) 2012-09-10
RU2011136072A (ru) 2013-03-10
US20120057632A1 (en) 2012-03-08
CN102342108A (zh) 2012-02-01
BRPI1009535A2 (pt) 2016-03-15
WO2010101064A1 (ja) 2010-09-10

Similar Documents

Publication Publication Date Title
US10911772B2 (en) Image processing device and method
MX2011009117A (es) Dispositivo y meodo para procesamiento de imagenes.
TWI411310B (zh) Image processing apparatus and method
TWI405469B (zh) Image processing apparatus and method
US20130266070A1 (en) Image processing device and image processing metho
WO2010035733A1 (ja) 画像処理装置および方法
US20110170604A1 (en) Image processing device and method
US20120044996A1 (en) Image processing device and method
WO2010035731A1 (ja) 画像処理装置および方法
WO2010095558A1 (ja) 画像処理装置および方法
KR20110129861A (ko) 화상 처리 장치 및 방법
TW201515445A (zh) 圖像處理方法
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
KR20120123326A (ko) 화상 처리 장치 및 방법
US20130279586A1 (en) Image processing device and image processing method
KR101612977B1 (ko) 화상 처리 장치 및 방법
JPWO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
US20110170603A1 (en) Image processing device and method
US20130034162A1 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
FA Abandonment or withdrawal