MX2012010863A - Dispositivo y metodo de procesamiento de imagenes. - Google Patents

Dispositivo y metodo de procesamiento de imagenes.

Info

Publication number
MX2012010863A
MX2012010863A MX2012010863A MX2012010863A MX2012010863A MX 2012010863 A MX2012010863 A MX 2012010863A MX 2012010863 A MX2012010863 A MX 2012010863A MX 2012010863 A MX2012010863 A MX 2012010863A MX 2012010863 A MX2012010863 A MX 2012010863A
Authority
MX
Mexico
Prior art keywords
prediction
unit
code number
image
movement vector
Prior art date
Application number
MX2012010863A
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 MX2012010863A publication Critical patent/MX2012010863A/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input

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 describen un dispositivo de procesamiento de imágenes y método que son capaces de obtener una mayor eficiencia de codificación. Una unidad (76) de generación de vector de movimiento previsto genera una pluralidad de tipos de información de vector de movimiento previsto utilizando una información de vector de movimiento suministrada de la periferia, y suministra a una unidad (75) de estimación/compensación de movimiento cada conjunto de información de vector de movimiento prevista y un número de código asignado por una unidad (77) de asignación de número de código a la información de vector de movimiento previsto. La unidad (77) de asignación de número de código suministra la información de asignación de número de código con respecto a qué número de código asignar a qué información de vector de movimiento prevista a una unidad (76) de generación de vector de movimiento previsto y una unidad (66) de codificación reversible. Esta tecnología por ejemplo, puede aplicarse en un dispositivo de codificación de imágenes que codifica con un método H.264/AVC como una base.

Description

DISPOSITIVO Y MÉTODO DE PROCESAMIENTO DE IMÁGENES La presente invención se refiere a un dispositivo y método de procesamiento de imágenes, y específicamente se refiere a un dispositivo y método de procesamiento de imágenes los cuales permiten que se realice una mayor eficiencia de codificación.
Técnica Antecedente En años recientes, dispositivos que han entrado en uso ampliamente difundido someten una imagen a codificación por compresión al emplear un formato de codificación que maneja la información de imagen como señales digitales, y en este tiempo comprimen la imagen por transformación ortogonal tal como transformación de coseno discreto o similar y compensación de movimiento, aprovechando la redundancia la cual es una característica de la información de imagen para realizar una transmisión altamente eficiente y almacenamiento de información. Ejemplos de este método de codificación incluyen MPEG (Grupo de Expertos de Imágenes en Movimiento) , etc .
En particular, MPEG2 (ISO/IEC 13818-2) se define como formato de codificación de imagen de propósito general, y es un estándar que abarca exploración entrelazada de imágenes o exploración secuencial de imágenes, y las imágenes de resolución estándar e imágenes de alta definición. Por ejemplo, MPEG2 se ha empleado ampliamente ahora por una amplia gama de aplicaciones para uso profesional y para uso de consumo. Al emplear el formato de compresión de MPEG2 , una cantidad de códigos (tasa de bits) de 4 a 8 Mbps se asigna en el caso de una imagen de exploración entrelazada de resolución estándar que tiene 720 x 480 pixeles, por ejemplo. Al emplear el formato de compresión de MPEG2 , una cantidad de códigos (tasa de bits) de 18 a 22 Mbps se asigna en el caso de una imagen de exploración entrelazada de alta resolución que tiene 1920 x 1088 pixeles, por ejemplo. De este modo, una alta tasa de compresión y una excelente calidad de imagen pueden realizarse.
MPEG2 principalmente ha tenido como objetivo la codificación de alta calidad de imagen adaptada al uso de difusión, pero no maneja una cantidad de códigos menor (tasa de bits) que la cantidad de códigos de MPEGl, es decir, un formato de codificación que tiene una mayor tasa de compresión. Se espera que la demanda de tal formato de codificación incremente de ahora en adelante debido a la propagación de asistentes digitales personales, y en respuesta a esto, la estandarización del formato de codificación de MPEG4 se ha realizado. Con respecto a un formato de codificación de imagen, la especificación del mismo se confirmó como estándar internacional como ISO/IEC 14496-2 en diciembre de 1998.
Además, en años recientes, la estandarización de un estándar denominado como H.26L (ITU-T Q6/16 VCEG) ha avanzado con la codificación de imágenes para uso de conferencia televisiva como el objeto. Con H.26L, se ha sabido que aunque se requiere una mayor cantidad de cómputo para codificar y descodificar de la misma en comparación con un formato de codificación convencional tal como MPEG2 o MPEG4, se realiza una mayor eficiencia de codificación. También, actualmente, como parte de la actividad de MPEG4, la estandarización para aprovechar una función que no se soporta por H.26L con este H.26L tomado como base para realizar una mayor eficiencia de codificación se ha realizado como el Modelo Conjunto de Codificación de Video por Compresión Mejorada. Como programa de estandarización, H.264 y MPEG-4 PartelO (Codificación de Video Avanzada, después de esto denominada como H.264/AVC) se volvió un estándar internacional en marzo de 2003.
Además, como expansión del mismo, la estandarización de FRExt (Extensión de la Gama de Fidelidad) , la cual incluye herramientas de codificación necesarias para operaciones tales como RGB, 4:2:2, 4:4:4, y MPEG-2 estipularon 8x8DCT y matrices de cuantificación, se ha completado en febrero de 2005. Por consiguiente, un formato de codificación capaz de expresar bien el ruido de filme incluido en películas utilizando H.264/AVC se obtuvo, y se utilizará en una amplia gama de aplicaciones tales como Disco Blu-Ray (Marca Comercial Registrada) .
Sin embargo, en cuanto a lo reciente, existen necesidades incrementadas de una alta codificación de compresión aun mayor, tal como para comprimir imágenes de alrededor de 4000 x 2000 pixeles, las cuales son cuatro veces las de las imágenes de Alta Visión, o para distribuir imágenes de Alta Visión en un ambiente con capacidad de transmisión limitada, tal como la Internet. Por consiguiente, el VCEG (= Grupo de Expertos de Codificación de Video) bajo ITU-T, descrito en lo anterior, continúa estudiando con respecto a la eficiencia de codificación mejorada.
Incidentalmente, por ejemplo, con el formato de MPEG2 , el procesamiento de predicción/compensación de movimiento con una precisión de 1/2 pixeles se ha realizado por procesamiento de interpolación lineal. Por otro lado, con el formato H.264/AVC, el procesamiento de predicción/compensación con una precisión de 1/4 pixeles utilizando un filtro FIR de 6 derivaciones (Filtro de Respuesta de Impulso Finita) como filtro de interpolación se ha realizado.
La Figura 1 es un diagrama para describir el procesamiento de predicción/compensación con una precisión de 1/4 pixeles de acuerdo con el formato H.264/AVC. Con el formato H.264/AVC, el procesamiento de predicción/compensación con una precisión de 1 / 4 pixeles utilizando el filtro FIR de 6 derivaciones (Filtro de Respuesta de Impulso Finita) se realiza.
Con el ejemplo en la Figura 1 , las posiciones A indican las posiciones de pixeles de precisión de entero, y las posiciones b, c y d indican posiciones con una precisión de 1 / 2 pixeles, y las posiciones el, e2 y e3 indican posiciones con una precisión de 1 /4 pixeles. En primer lugar, después de esto, el Fragmento ( ) se define como con la siguiente Expresión (1) .
[Expresión Matemática 1 ] 0; si (a<0) Fragmento 1 (a) = « a; de otra forma - M i ) . max pix; si (a>max_ pix) Observe que en caso de que la imagen de entrada tenga una precisión de 8 bits, el valor de max_pix es de 255 .
Los valores de pixeles en las posiciones b y d se generan como con la siguiente Expresión ( 2 ) utilizando un filtro FIR de 6 derivaciones.
[Expresión Matemática 2 ] F = A-2 - 5 · A_! + 20 · A0 + 20 · Ai - 5 · A2 +A3 b, d = Fragmentol ( (F + 16 ) » 5 ) ... ( 2 ) El valor de pixel en la posición c se genera como con la siguiente Expresión ( 3 ) al aplicar un filtro FIR de 6 derivaciones en la dirección horizontal y la dirección vertical .
[Expresión Matemática 3] F = b-2 - 5 · b-i + 20 · b0 + 20 · i - 5 · b2 +b3 o F = d-2 - 5 · d-i + 20 · d0 + 20 · di - 5 · b2 +b3 c = Fragmentol ( (F + 512) » 10) ...(3) Observe que el procesamiento de Fragmento se ejecuta al final sólo una vez después de que el procesamiento de suma de productos en la dirección horizontal y la dirección vertical se realiza.
Las posiciones el a e3 se generan por una 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) También, con el formato de MPEG2, en el caso del modo de compensación de movimiento de trama, el procesamiento de predicción/compensación de movimiento se realiza en incrementos de 16 x 16 pixeles, y en el caso del modo de compensación de movimiento de campo, el procesamiento de predicción/compensación de movimiento se realiza en cuanto a cada uno del primer campo y el segundo campo en incrementos de 16 x 8 pixeles.
Por otro lado, con la compensación de predicción de movimiento con el formato H.264/AVC, el tamaño de macrobloque es de 16 x 16 pixeles, pero la predicción/compensación de movimiento puede realizarse con el tamaño de bloque siendo variable.
La Figura 2 es un diagrama que ilustra un ejemplo del tamaño de bloque de la predicción/ compensación de movimiento de acuerdo con el formato H.264/AVC.
Los macrobloques formados de 16 x 16 pixeles divididos en particiones de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles, y 8 x 8 pixeles se muestran desde la izquierda en orden en la fila superior en la Figura 2. Particiones de 8 x 8 pixeles divididas en sub-particiones de 8 8 pixeles, 8 4 pixeles, 4 x 8 pixeles y 4 x 4 pixeles se muestran desde la izquierda en orden en la fila inferior en la Figura 2.
Es decir, con el formato H.264/AVC, un macrobloque puede dividirse en una de las particiones de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles y 8 x 8 pixeles con cada partición teniendo una información de vector de movimiento independiente. También, una partición de 8 x 8 pixeles puede dividirse en una de las sub-particiones de 8 x 8 pixeles, 8 x 4 pixeles, 4 x 8 pixeles y 4 x 4 pixeles con cada sub-partición teniendo una información de vector de movimiento independiente .
También, con el formato H.264/AVC, el procesamiento de predicción/compensación de movimiento de tramas de múltiple referencia también se realiza.
La Figura 3 es un diagrama para describir el procesamiento de predicción/compensación de tramas de múltiple referencia de acuerdo con el formato H.264/AVC. Con el formato H.264/AVC, el método de predicción/compensación de movimiento de tramas de múltiple referencia (Trama de Múltiple Referencia) se estipula.
Con el ejemplo en la Figura 3, la trama actual Fn que se codificará de ahora en adelante, y las tramas codificadas Fn-5 a Fn-1, se muestran. La trama Fn-1 es, en el eje temporal, una trama de una trama antes de la trama actual Fn, la trama Fn-2 es una trama de dos tramas antes de la trama actual Fn, y la trama Fn-3 es una trama de tres tramas antes de la trama actual Fn. Similarmente, la trama Fn-4 es una trama de cuatro tramas antes de la trama actual Fn, y la trama Fn-5 es una trama de cinco tramas antes de la trama actual Fn. En general, entre más cerca de la trama actual Fn se encuentre una trama en el eje temporal, menor es el número de imagen de referencia (ref_id) que se agregará. Específicamente, la trama Fn-1 tiene el número de imagen de referencia más pequeño, y después de esto, los números de imagen de referencia son pequeños en el orden de Fn-2, Fn-5.
Con la trama actual Fn, un bloque Al y un bloque A2 se muestran, un vector de movimiento VI se busca con asumir que el bloque Al se correlaciona con un bloque Al ' de la trama Fn-2 que es dos tramas antes de la trama actual Fn. Similarmente un vector de movimiento V2 se busca con asumir que el bloque A2 se correlaciona con un bloque Al' de la trama Fn-4 que es cuatro tramas antes de la trama actual Fn.
Como se describe en lo anterior, con el formato H.264/AVC, diferentes tramas de referencia pueden mencionarse en una trama (imagen) con tramas de múltiple referencia almacenadas en la memoria. Es decir, la información de trama de referencia independiente (el número de imagen de referencia (ref_id) ) puede proporcionarse para cada bloque en una imagen, de manera que el bloque Al hace referencia a la trama Fn-2, y el bloque A2 hace referencia a la trama Fn-4, por ejemplo.
Aquí, los bloques indican una de las particiones de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles, 8 x 8 pixeles descritas con referencia a la Figura 2. Las tramas de referencia dentro de una partición de sub-bloque de 8 x 8 pixeles tienen que coincidir.
Como se describe en lo anterior, con el formato H.264/AVC, por el procesamiento de predicción/compensación de movimiento de 1/4 pixeles descrito en lo anterior con referencia a la Figura 1, y el procesamiento de predicción/compensación de movimiento descrito en lo anterior con referencia a la Figura 2 y la Figura 3 se realiza, grandes cantidades de información de vector de movimiento se generan, y si éstas se codifican sin cambio, el deterioro en la eficiencia de codificación se provoca. En respuesta a esto, con el formato H.264/AVC, la reducción en la información de codificación de vector de movimiento se ha realizado, de acuerdo con un método mostrado en la Figura 4.
La Figura 4 es un diagrama para describir un método de generación de información de vector de movimiento de acuerdo con el formato H.264/AVC.
Con el ejemplo en la Figura 4, un bloque actual E que se codificará de ahora en adelante (por ejemplo, 16 x 16 pixeles) , y los bloques A a D, que ya se han codificado, adyacentes al bloque actual E se muestran.
Es decir, el bloque D es adyacente a la izquierda superior del bloque actual E, el bloque B es adyacente a la parte superior del bloque actual E, el bloque C es adyacente a la derecha superior del bloque actual E, y el bloque A es adyacente a la izquierda del bloque actual E. Observe que la razón de por qué los bloques A a D no se seccionan es porque cada uno de los bloques representa un bloque que tiene una estructura de 16 x 16 pixeles a 4 x 4 pixeles descrita en lo anterior con referencia a la Figura 2.
Por ejemplo, digamos que la información de vector de movimiento en cuanto a X (= A, B, C, D, E) se representa con mvx. En primer lugar, la información de vector de movimiento de predicción pmvE en cuanto al bloque actual E se genera como con la siguiente Expresión (5) por la predicción de la media utilizando la información de vector de movimiento con respecto a los bloques A, B y C. pmvE = med(mvA, mvB, mvc) ... (5) La información de vector de movimiento con respecto al bloque C puede no ser útil (puede no encontrarse disponible) debido a una razón tal como al encontrarse en el borde de una trama de imagen, que no se ha codificado aún, o similar. En este caso, la información de vector de movimiento con respecto al bloque D se utiliza en lugar de la información de vector de movimiento con respecto al bloque C.
Los datos mvdE que se agregan a la porción de encabezado de la imagen comprimida, que sirven como la información de vector de movimiento en cuanto al bloque actual E, se genera como con la siguiente Expresión (6) utilizando pmvE . mvdE = mvE - pmvE ... ( 6 ) Observe que, en realidad, el procesamiento se realiza de manera independiente en cuanto a los componentes en la dirección horizontal y la dirección vertical de la información de vector de movimiento.
De esta manera, se genera la información de vector de movimiento de predicción, información de vector de movimiento de diferencia que es la diferencia entre la información de vector de movimiento de predicción generada basándose en la correlación con un bloque adyacente, y la información de vector de movimiento se agrega a la porción de encabezado de la imagen comprimida, por lo que la información de vector de movimiento puede reducirse.
También, aunque la cantidad de información de la información de vector de movimiento con respecto a B imágenes es vasta, con el formato H.264/AVC, un modo denominado como modo directo se prepara. En el modo directo, la información de vector de movimiento no se almacena en una imagen comprimida .
Es decir, en el lado de codificación, con la información de vector de movimiento alrededor del bloque actual, o una imagen de referencia, la información de vector de movimiento del bloque actual se extrae de la información de vector de movimiento de un bloque co-ubicado que es un bloque que tiene las mismas coordenadas que el bloque actual . Por consiguiente, la información de vector de movimiento no tiene que transmitirse al lado de descodificación.
Este modo directo incluye dos tipos, un modo directo espacial (Modo Directo Espacial) y un modo directo temporal (Modo Directo Temporal) . El modo directo espacial es un modo para aprovechar la correlación de la información de movimiento principalmente en la dirección espacial (espacio bidimensional horizontal y vertical dentro de una imagen) , y generalmente tiene una ventaja en caso de que una imagen que incluye movimientos similares de los cuales las velocidades de movimiento varían. Por otro lado, el modo directo temporal es un modo para aprovechar la correlación de información de movimiento principalmente en la dirección temporal, y generalmente tiene una ventaja en el caso de una imagen que incluye diferentes movimientos de los cuales las velocidades de movimiento son constantes.
Lo que se empleará de este modo directo espacial y modo directo temporal puede conmutarse para cada división.
Con referencia a la Figura 4 nuevamente, el modo directo espacial de acuerdo con el formato H.264/AVC se describirá. Con el ejemplo en la Figura 4, como se describe en lo anterior, el bloque actual E que va a codificarse a partir de ahora (por ejemplo, 16 x 16 pixeles), y los bloques A a D, que ya se han codificado, adyacentes al bloque actual E se muestran. También, la información de vector de movimiento en cuanto a X (=A, B, C, D, E) se representa con mvx, por ejemplo.
La información de vector de movimiento de predicción pmvE en cuanto al bloque actual E se genera como con la Expresión (5) antes descrita por la predicción de la media utilizando la información de vector de movimiento con respecto a los bloques A, B, y C. También, la información de vector de movimiento mvE en cuanto al bloque actual E en el modo directo espacial se representa con la siguiente Expresión (7) . mvE = pmvE ... ( 7 ) Es decir, en el modo directo espacial, la información de vector de movimiento de predicción generada por la predicción de la media se toma como la información de vector de movimiento del bloque actual. Es decir, la información de vector de movimiento del bloque actual se genera a partir de la información de vector de movimiento de los bloques codificados. Por consiguiente, el vector de movimiento de acuerdo con el modo directo espacial también puede generarse en el lado de descodificación, y por consiguiente, la información de vector de movimiento no tiene que transmitirse al lado de descodificación.
Después, el modo directo temporal de acuerdo con el formato H.264/AVC se describirá con referencia a la Figura 5.
Con el ejemplo en la Figura 5, el eje temporal t representa un lapso de tiempo, una imagen de referencia (LO) (ListaO), la imagen actual que se codificará de ahora en adelante, y una imagen de referencia Ll (Listal) se muestran desde la izquierda en orden. Observe que, con el formato H.264/AVC, la fila de la imagen de referencia LO, la imagen actual, y la imagen de referencia Ll no se restringen a este orden.
El bloque actual de la imagen actual se incluye en una división B, por ejemplo. Por consiguiente, con respecto al bloque actual de la imagen actual, la información de vector de movimiento LO mvLo y la información de vector de movimiento Ll mvLi basándose en el modo directo temporal se calculan en cuanto a la imagen de referencia LO y la imagen de referencia Ll .
También, con la imagen de referencia LO, la información de vector de movimiento mvcoi en un bloque co-ubicado que es un bloque colocado en la misma dirección espacial (coordenadas) que el bloque actual que se codificará de ahora en adelante se calcula basándose en la imagen de referencia LO y la imagen de referencia Ll .
Ahora, digamos que la distancia en el eje temporal entre la imagen actual y la imagen de referencia LO se toma como TDB, la distancia en el eje temporal entre la imagen de referencia LO y la imagen de referencia Ll se toma como TDD. En este caso, la información de vector de movimiento mvL0 en la imagen actual, y la información de vector de movimiento Ll mvLi en la imagen puede calcularse con la siguiente Expresión (8) .
[Expresión Matemática 8] mvu>= mv8» i Un MV„= TPP~TDb mvmi -(8) I uo Observe que, con el formato H.264/AVC, no existe ninguna información equivalente a las distancias TDB y TDD en el eje temporal t en cuanto a la imagen actual dentro de la imagen comprimida. Por consiguiente, el POC (Conteo de Orden de 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 formato H.264/AVC, el modo directo puede definirse con incrementos de macrobloques de 16 x 16 pixeles, o bloques de 8 x 8 pixeles.
Ahora, con referencia a la Figura 4, NPL 1 propone el siguiente método para mejorar la codificación de vector de movimiento utilizando la predicción de la media.
Es decir, la propuesta es utilizar de manera adaptable una de la información de vector de movimiento de predicción espacial (Pronóstico Espacial) obtenida de la Expresión (5) antes descrita, y también la información de vector de movimiento de predicción temporal (Predicción Temporal) y la información de vector de movimiento espacio-temporal (Espacio-Temporal) que se describirán con referencia a la Figura 6, como información de vector de movimiento de predicción.
Con el ejemplo en la Figura 6, se muestra una trama N la cual es la trama actual que va a codificarse, y una trama N-l la cual es una trama de referencia mencionada al momento de realizar la búsqueda de vectores de movimiento.
En la trama N, el bloque actual que va a codificarse ahora tiene información de vector de movimiento mv indicada como el bloque actual, y los bloques ya codificados adyacentes al bloque actual cada uno tiene información de vector de movimiento mva, mVb, mvc, y mv^, en cuanto a los bloques respectivos .
Específicamente, el bloque adyacente al bloque actual a la izquierda superior tiene la información de movimiento mvd indicada como correspondiendo a ese bloque, y el bloque adyacente por encima del bloque actual tiene la información de vector de movimiento mvb, indicada como correspondiendo a ese bloque. El bloque adyacente al bloque actual a la derecha superior tiene la información de vector de movimiento mvc indicada como correspondiendo a ese bloque, y el bloque adyacente al bloque actual a la izquierda tiene la información de vector de movimiento mva indicada como correspondiendo a ese bloque.
En la trama N-l, un bloque correspondiente (bloque Co-Ubicado) al bloque actual tiene información de vector de movimiento mvcol indicada en cuanto al bloque correspondiente. Observe que aquí, un bloque correspondiente es un bloque en una trama ya codificada que es diferente de la trama actual (una trama situada antes o después) , y es un bloque en una posición que corresponde con el bloque actual.
También, en la trama N-l, los bloques adyacentes al bloque correspondiente tienen información de vector de movimiento mvt4, mvto, mvt7, mvtl, mvt3, mv5, mvt2/ y mvt6, indicada respectivamente en cuanto a cada bloque.
Específicamente, el bloque adyacente al bloque correspondiente a la izquierda superior tiene información de vector de movimiento mvt4 indicada como correspondiendo a ese bloque, y el bloque adyacente por encima del bloque correspondiente tiene información de vector de movimiento mvt0 indicada como correspondiendo a ese bloque. El bloque adyacente al bloque correspondiente a la derecha superior tiene información de vector de movimiento mvt7 indicada como correspondiendo a ese bloque, y el bloque adyacente al bloque correspondiente a la izquierda tiene información de vector de movimiento mvü indicada como correspondiendo a ese bloque. El bloque adyacente al bloque correspondiente a la derecha tiene información de vector de movimiento mvt3 indicada como correspondiendo a ese bloque, y el bloque adyacente al bloque correspondiente a la izquierda inferior tiene información de vector de movimiento mvc5 indicada como correspondiendo a ese bloque. El bloque adyacente al bloque correspondiente tiene información de vector de movimiento mvt2 indicada como correspondiendo a ese bloque, y el bloque adyacente al bloque correspondiente a la derecha inferior tiene información de vector de movimiento mvc6 indicada como correspondiendo a ese bloque.
También, aunque se generó la información de vector de movimiento de predicción pmv en la Expresión (5) antes descrita es la información de vector de movimiento de bloque adyacente al bloque actual, la información de vector de movimiento de predicción respectiva pmvtm5, pmvm9 y pmvspt, se definen como con las siguientes Expresiones (9) y (10) . Observe que de éstas, pmvtm5 y pmvCm9 son información de vector de movimiento de predicción temporal y pmvspt es información de vector de movimiento de predicción de espacio-temporal.
Predicción Temporal: pmvtms = med(mvcoi, mvc0, mvt3) pmvtm9 = med(mvcoi, mvt0, mvt7) ... (9) Predicción Espacio-Temporal Pmvspc = med(mvcoi, mvcoi, n\va, mvb, mvc) ... (10) En cuanto a qué información de vector de movimiento de predicción utilizar de la Expresión (5) , Expresión (9) y Expresión (10) , los valores de función de costos se calculan para casos de utilizar cada información de vector de movimiento de predicción, y de este modo se seleccionan. Una información de indicación de indicador que se relaciona con qué información de vector de movimiento de predicción se ha utilizado para cada bloque entonces se transmite al lado de descodificación.
Observe que los dibujos antes descritos y las Expresiones también se utilizarán en la descripción de la presente Solicitud cuando sea adecuado.
Lista de Citas Literatura Que No Es Patente NPL 1: "Codificación de Vector de Movimiento con Selección de PMV Óptima", VCEG-AI22, Sector de Estandarización de ITU-Telecomunicación STUDY GROUP 16 Question 6, julio de 2008.
Compendio de la Invención Problema Técnico De manera incidental, con la propuesta de acuerdo con NPL 1 antes descrito, cuyos números de código se asignarán en cuanto a qué información de vector de movimiento de predicción se fije.
Ahora, con el formato H.264/AVC, la codificación sin pérdida tal como codificación de longitud variable como CAVLC (Codificación de Longitud Variable de Contexto Adaptable) , o codificación aritmética como CABAC (Codificación Aritmética Binaria de Contexto Adaptable) se estipula .
En ambos casos de este formato de CAVLC y formato de CABAC, la información de vector de movimiento de predicción con mayor frecuencia de aparición debe asignarse con números de código más pequeños, y la frecuencia de aparición de cada información de vector de movimiento de predicción debe diferir para cada secuencia y tasa de bits. Sin embargo, éstas se encuentran fijas, las cuales pueden interferir con la mejora en la eficiencia de codificación.
La presente descripción se ha hecho en vista de esta situación, y permite que se logre mayor eficiencia de codificación .
Solución al Problema Un aspecto de la presente descripción es un dispositivo de procesamiento de imágenes que incluye: una unidad de asignación de números de código configurada para controlar una forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, de acuerdo con características de movimiento de una imagen; y una unidad de generación de vector de movimiento de predicción configurada para utilizar información de movimiento periférico que es información de movimiento de una región periférica de una región actual la cual se procesará para generar información de vector de movimiento de predicción de la región, y asignará el número de código a la información de vector de movimiento de predicción que se ha generado, después de la forma en la cual se asignan los números de código que se ha decidido por la unidad de asignación de número de código.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para cada región de incremento de procesamiento de predicción.
En el caso en que la región es una región fija, la unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código de manera que un número de código pequeño se asigna para información de vector de movimiento de predicción temporal .
En caso de que la región sea una región fija, la unidad de generación de vector de movimiento de predicción puede generar sólo la información de vector de movimiento de predicción temporal, y asigna a la información de vector de movimiento de predicción temporal un número de código decidido por la unidad de asignación de número de código.
En caso de que la región sea una región móvil, la unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código de manera que un número de código pequeño se asigna a la información de vector de movimiento de predicción espacial .
El dispositivo de procesamiento de imágenes además puede incluir: una unidad de determinación de región fija configurada para determinar si una región actual es o no una región fija; con la unidad de asignación de número de código que controla la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción de la región actual, después de los resultados de determinación de la unidad de determinación de región fija.
La región de determinación de región fija puede determinar si la región actual es o no una región fija utilizando información de movimiento de una región Co-Ubicada de la región actual.
La región de determinación de región fija puede determinar una región actual que será una región fija en caso de que los valores absolutos de un componente horizontal de información de movimiento de la región Co-Ubicada de la región actual y un componente vertical de la información de movimiento se encuentran dentro de un valor de umbral predeterminado, y también en caso de que un índice de referencia sea 0, se aplica una Ref_PicR_reordering, o un índice de referencia tiene un valor de POC que indica una imagen inmediatamente antes.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, de acuerdo con los ajustes de usuario.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para elevar la eficiencia de codificación.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para optimizar la calidad de imagen subjetiva.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para cada división.
El dispositivo de procesamiento de imágenes además puede incluir una unidad de generación de indicador configurada para generar un indicador que indica un modo variable en el cual se puede cambiar la forma en la cual se asignan los números de código.
La unidad de generación de vector de movimiento de predicción puede generar múltiple información de vector de movimiento de predicción para cada modo de predicción; con el dispositivo de procesamiento de imágenes además incluyendo: una unidad de generación de vector de movimiento de diferencia configurada para seleccionar, para cada uno del modo de predicción, la información de vector de movimiento de predicción óptimo de la pluralidad de información de vector de movimiento de predicción generada por la unidad de generación de vector de movimiento de predicción, y generar un vector de movimiento de diferencia el cual es la diferencia en cuanto a un vector de movimiento de la región actual; una unidad de determinación de modo configurada para determinar a partir de los modos de predicción, un modo de predicción óptimo; y una unidad de transmisión configurada para transmitir la información de vector de movimiento de diferencia del modo de predicción determinado por la unidad de determinación de modo, y el número de código de la información de vector de movimiento de predicción del modo de predicción .
El dispositivo de procesamiento de imágenes además incluye una unidad de codificación configurada para codificar la información de vector de movimiento de diferencia del modo de predicción determinado por una unidad de determinación de modo, y el número de código de la información de vector de movimiento de predicción del modo de predicción; con la unidad de transmisión transmitiendo la información de vector de diferencia codificada por la unidad de codificación, y el número de código de la información de vector de movimiento de predicción .
Un aspecto de la presente descripción también es un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método incluye: una unidad de asignación de número de código que controla una forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, de acuerdo con las caracterís icas de movimiento de una imagen; y una unidad de generación de vector de movimiento de predicción que utiliza la información de movimiento periférico que es la información de movimiento de una región periférica de una región actual, la cual se procesará para generar información de vector de movimiento de predicción de la región, y asignar el número de código a la información de vector de movimiento de predicción que se ha generado, después de que se ha decidido la forma en la cual se asignan los números de código.
Otro aspecto de la presente descripción es un dispositivo de procesamiento de imágenes que incluye: una unidad de asignación de número de control configurada para controlar una forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, de acuerdo con características de movimiento de una imagen; y una unidad de reconstrucción de vector de movimiento de predicción configurada para obtener un número de código de la información de vector de movimiento de predicción de una región actual la cual se procesará, y reconstruir la información de vector de movimiento de predicción a partir del número de código, después de la forma en la cual se asignan los números de código que se ha decidido por la unidad de asignación de número de código.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para cada región de incremento de procesamiento de predicción.
En el caso en que la región es una región fija, la unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código, de manera que se asigna un número de código pequeño a la información de vector de movimiento de predicción temporal.
En el caso en que la región es una región móvil, la unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código, de manera que un número de código pequeño se asigna a la información de vector de movimiento de predicción espacial.
El dispositivo de procesamiento de imágenes además puede incluir: una unidad de determinación de región fija configurada para determinar si una región actual es o no una región fija; con la unidad de asignación de número de código controlando la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción de la región actual, después de los resultados de determinación de la unidad de determinación de región fija.
La región de determinación de región fija puede determinar si una región actual es o no una región fija utilizando la información de movimiento de una región Co-Ubicada de la región actual .
La región de determinación de región fija puede determinar una región actual que va a ser una región fija en caso de que los valores absolutos de un componente horizontal de la información de movimiento de la región Co-Ubicada de la región actual y un componente vertical de la información de movimiento se encuentran dentro de un valor de umbral predeterminado, y también en caso de que un índice de referencia sea 0, una Ref_PicR_reordering se aplica, o un índice de referencia tiene un valor de POC que indica una imagen inmediatamente antes .
La unidad de asignación de número de código puede controlar la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, de acuerdo con los ajustes de usuario.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para elevar la eficiencia de codificación.
La unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, para optimizar la calidad de imagen subjetiva.
La unidad de asignación de número de código puede controlar la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para cada división.
El dispositivo de procesamiento de imágenes además puede incluir: una unidad de obtención de indicador configurada para obtener un indicador que indica un modo variable en el cual se puede cambiar la forma en la cual se asignan los números de código; y en caso de que el indicador obtenido por el indicador indique el modo variable, la unidad de asignación de número de código puede controlar la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción.
Otro aspecto de la presente invención también es un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método incluye: una unidad de asignación de número de código que controla una forma en la cual se asignan los números de código a la información de vector de movimiento de predicción, de acuerdo con características de movimiento de una imagen; y una unidad de reconstrucción de vector de movimiento de predicción que obtiene un número de código de la información de vector de movimiento de predicción de una región actual la cual se procesará, y reconstruir la información de vector de movimiento de predicción a partir del número de código, después de que se ha decidido la forma en la cual los números de código se asignan.
Con un aspecto de la presente invención, la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción se controla de acuerdo con las características de movimiento de una imagen, información de movimiento periférico la cual es información de movimiento de una región periférica de una región actual que se procesará, se utiliza para generar información de vector de movimiento de predicción de la región, y el número de código se asigna a la información de vector de movimiento de predicción que se ha generado, después de que se ha decidido la forman en la cual se asignan los números de código .
Con otro aspecto de la presente invención, la forma en la cual se asignan los números de código a la información de vector de movimiento de predicción se controla de acuerdo con las características de movimiento de una imagen, un número de código de información de movimiento de predicción de una región actual que se procesará se obtiene, e información de vector de movimiento de predicción del número de código se reconstruye, después de que se ha decidido la forma en la cual se asignan los números de código.
Observe que los dispositivos de procesamiento de imágenes antes descritos pueden ser dispositivos autónomos cada uno, o pueden ser bloques internos que forman un dispositivo de codificación de imágenes simple o un dispositivo de descodificación de imágenes.
Efectos Ventajosos de la Invención De acuerdo con la presente descripción, la eficiencia de codificación y la calidad de imagen subjetiva pueden mejorarse. También, de acuerdo con la presente descripción, puede obtenerse una mayor eficiencia de codificación .
Breve Descripción de los Dibujos La Figura 1 es un diagrama para describir el procesamiento de predicción/compensación de movimiento con precisión de 1/4 pixeles.
La Figura 2 es un diagrama para describir el procesamiento de predicción/compensación de movimiento con un tamaño de bloque variable.
La Figura 3 es un diagrama para describir un método de predicción/compensación de movimiento de tramas de múltiple referencia.
La Figura 4 es un diagrama para describir un ejemplo de un método de generación de información de vector de movimiento.
La Figura 5 es un diagrama para describir un modo directo temporal.
La Figura 6 es un diagrama que describe un ejemplo de un método para generar información de vector de movimiento de predicción.
La Figura 7 es un diagrama de bloque que ilustra una configuración de una modalidad de un dispositivo de codificación de imágenes.
La Figura 8 es un diagrama para describir la codificación Exponencial Golomb.
La Figura 9 es un diagrama para describir la relación de correlación entre los elementos de sintaxis y los números de código sin signos.
La Figura 10 es un diagrama de bloque que representa un ejemplo de configuración de una unidad de codificación sin pérdida que realiza codificación de CABAC.
La Figura 11 es un diagrama para describir codificación de CABAC.
La Figura 12 es un diagrama que ilustra una tabla binaria .
La Figura 13 es un diagrama que ilustra ventajas de la presente tecnología.
La Figura 14 es un diagrama para describir una sintaxis de encabezado de división.
La Figura 15 es un diagrama de bloque que ilustra un ejemplo de configuración de la unidad de predicción/competencia de movimiento en la Figura 7.
La Figura 16 es un diagrama de flujo para describir el procesamiento de codificación del dispositivo de codificación de imágenes en la Figura 7.
La Figura 17 es un diagrama de flujo para describir el procesamiento de predicción de movimiento intra en la etapa S21 en la Figura 16.
La Figura 18 es un diagrama de flujo para describir el procesamiento de predicción de movimiento inter en la etapa S22 en la Figura 16.
La Figura 19 es un diagrama de flujo para describir el procesamiento de determinación de vector de movimiento de predicción en la etapa S53 en la Figura 18.
La Figura 20 es un diagrama de bloque que ilustra la configuración de una modalidad de un dispositivo de descodificación de imágenes.
La Figura 21 es un diagrama de bloque que ilustra un ejemplo de configuración de la unidad de predicción/competencia de movimiento en la Figura 20.
La Figura 22 es un diagrama de flujo para describir el procesamiento de descodificación del dispositivo de descodificación de imágenes en la Figura 20.
La Figura 23 es un diagrama de flujo para describir el procesamiento de predicción en la etapa S138 en la Figura 22.
La Figura 24 es un diagrama de bloque que ilustra otra modalidad de un dispositivo de codificación de imágenes.
La Figura 25 es un diagrama que ilustra un ejemplo de un tamaño de macrobloque extendido .
La Figura 26 es un diagrama de bloque que ilustra un ejemplo de configuración del hardware de una computadora.
La Figura 27 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un receptor de televisión .
La Figura 28 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un teléfono celular.
La Figura 29 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una grabadora de disco duro.
La Figura 30 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una cámara.
La Figura 31 es un diagrama que ilustra un ejemplo de configuración de una unidad de codificación.
La Figura 32 es un diagrama de bloque que ilustra otro ejemplo de configuración de un dispositivo de codificación de imágenes.
La Figura 33 es un diagrama para describir un ejemplo de una región adyacente.
La Figura 34 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una unidad de predicción/compensación de movimiento y unidad de codificación de vector de movimiento.
La Figura 35 es un diagrama de flujo para describir un ejemplo del flujo de procesamiento de predicción de movimiento inter.
La Figura 36 es un diagrama de bloque que ilustra otro ejemplo de configuración de un dispositivo de descodificación de imágenes.
La Figura 37 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una unidad de predicción/compensación de movimiento y unidad de descodificación de vector de movimiento.
La Figura 38 es un diagrama de flujo para describir un ejemplo del flujo de procesamiento de predicción.
La Figura 39 es un diagrama de flujo para describir un ejemplo del flujo de procesamiento de predicción de movimiento inter.
Descripción de las Modalidades Después de esto, una modalidad de la presente tecnología se describirá con referencia a los dibujos.
[Ejemplo de Configuración de Dispositivo de Codificación de Imágenes ] La Figura 7 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.
Este dispositivo 51 de codificación de imágenes somete una imagen a codificación por compresión utilizando, por ejemplo, el formato H.264 y MPEG-4 PartelO Codificación de Video Avanzada, (después de esto, descrito como 264/AVC) como base. Es decir, con el dispositivo 51 de codificación de imágenes, el modo de bloque de compensación de movimiento estipulado en el formato H.264/AVC se utiliza.
Con el ejemplo en la Figura 7, el dispositivo 51 de codificación de imágenes se configura de una unidad 61 de conversión de A/D, una memoria intermedia 62 de redisposición de pantalla, una unidad 63 de cómputo, una unidad 64 de transformación ortogonal, una unidad 65 de cuantificación, una unidad 66 de codificación sin pérdida, una memoria intermedia 67 de almacenamiento, una unidad 68 de cuantificación inversa, una unidad 69 de transformación ortogonal inversa, una unidad 70 de cómputo, un filtro 71 de desbloqueo, memoria 72 de tramas, un conmutador 73, una unidad 74 de predicción intra, una unidad 75 de predicción/compensación de movimiento, una unidad 76 de generación de vector de movimiento de predicción, una unidad 77 de asignación de número de código, una unidad 78 de selección de imagen de predicción, y una unidad 79 de control de tasa.
La unidad 61 de conversión de A/D realiza conversión de A/D de una imagen de entrada, y la produce en la memoria intermedia 62 de redisposición de pantalla para almacenamiento. La memoria intermedia 62 de redisposición de pantalla redispone las imágenes de tramas en el orden almacenado para su despliegue en el orden de tramas para codificación de acuerdo con GOP (Grupo de Imágenes) .
La unidad 63 de cómputo extrae, de la imagen leída de la memoria intermedia 62 de redisposición de pantalla, la imagen de predicción de la unidad 74 de predicción intra seleccionada por la unidad 78 de selección de imagen de predicción o la imagen de predicción de la unidad 75 de predicción/compensación de movimiento, y produce la información de diferencia de la misma en la unidad 64 de transformación ortogonal. La unidad 64 de transformación ortogonal somete la información de diferencia de la unidad 63 de cómputo a transformación ortogonal, tal como transformación de coseno discreto, transformación de Karhunen-Loéve, o similares, y produce un coeficiente de transformación de la misma. La unidad 65 de cuantificación cuantifica el coeficiente de transformación que produce la unidad 64 de transformación ortogonal.
El coeficiente de transformación cuantificado que es el resultado de la unidad 65 de cuantificación se ingresa en la unidad 66 de codificación sin pérdida, y se somete a codificación sin pérdida, tal como codificación de longitud variable, codificación aritmética, o similares, y se comprime .
La unidad 66 de codificación sin pérdida obtiene información que indica predicción intra de la unidad 74 de predicción intra, y obtiene información que indica un modo de predicción intra inter, etcétera, desde la unidad 75 de predicción/compensación de movimiento. Observe que, después de esto, la información que indica predicción intra y la información que indica predicción inter se denominarán como información de modo de predicción intra e información de modo de predicción inter, respectivamente.
La unidad 66 de codificación sin pérdida codifica el coeficiente de transformación cuantificado, y también codifica la información que indica predicción intra, información de modo de predicción inter, o similares, y toma éstas como parte de la información de encabezado en la imagen comprimida. La unidad 66 de codificación sin pérdida suministra los datos codificados a la memoria intermedia 67 de almacenamiento para almacenamiento .
Por ejemplo, con la unidad 66 de codificación sin pérdida, el procesamiento de codificación sin pérdida, tal como codificación de longitud variable, codificación aritmética, o similares, se realiza. Ejemplos de codificación de longitud variable incluyen CAVLC (Codificación de Longitud Variable de Contexto Adaptable) determinada por el formato H.264/AVC. Ejemplos de codificación aritmética incluyen CABAC (Codificación Aritmética Binaria de Contexto Adaptable) .
La memoria intermedia 67 de almacenamiento produce los datos suministrados desde la unidad 66 de codificación sin pérdida hasta, por ejemplo, un dispositivo de descodificación de imágenes corriente abajo, un dispositivo de almacenamiento o trayectoria de transmisión o similar no mostrada en el dibujo, como imagen comprimida codificada por el formato H.264/AVC.
También, el coeficiente de transformación cuantificado producido de la unidad 65 de cuantificación también se ingresa en la unidad 68 de cuantificación inversa, sometido a cuantificación inversa, y después se somete a transformación ortogonal inversa adicional en la unidad 69 de transformación ortogonal inversa. El resultado sometido a transformación ortogonal inversa se agrega a la imagen de predicción suministrada desde la unidad 78 de selección de imagen de predicción por la unidad 70 de cómputo, y se cambia a una imagen localmente descodificada. El filtro 71 de desbloqueo remueve la distorsión de bloque de la imagen descodificada, y después suministra a la memoria 72 de tramas para almacenamiento. Una imagen antes de que se realice el procesamiento de filtro de desbloqueo por el filtro 71 de desbloqueo también se suministra a la memoria 72 de tramas para almacenamiento.
El conmutador 73 produce las imágenes de referencia almacenadas en la memoria 72 de tramas para la unidad 75 de predicción/compensación de movimiento o la unidad 74 de predicción intra.
Con este dispositivo 51 de codificación de imágenes, la imagen I, la imagen B y la imagen P de la memoria intermedia 62 de redisposición de pantalla se suministran a la unidad 74 de predicción intra como imagen que se someterá a predicción intra (también denominada como procesamiento intra) , por ejemplo. También, la imagen B y la imagen P leídas de la memoria intermedia 62 de redisposición de pantalla se suministran a la unidad 75 de predicción/compensación de movimiento como imagen que se someterá a predicción inter (también denominada como procesamiento inter) .
La unidad 74 de predicción intra realiza procesamiento de predicción intra de todos los modos de predicción intra que sirven como candidatos basándose en la imagen que se someterá a predicción intra leída de la memoria intermedia 62 de redisposición de pantalla, y la imagen de referencia suministrada desde la memoria 72 de tramas pata generar una imagen de predicción. En este tiempo, la unidad 74 de predicción intra calcula un valor de función de costo en cuanto a todos los modos de predicción intra que sirven como candidatos, y selecciona el modo de predicción intra del cual el valor de función de costo calculado proporciona el valor mínimo, como el modo de predicción intra óptimo.
La unidad 74 de predicción intra suministra la imagen de predicción generada en el modo de predicción intra óptimo, y el valor de función de costo del mismo a la unidad 78 de selección de imagen de predicción. En el caso en que la imagen de predicción generada en el modo de predicción intra óptimo se ha seleccionado por la unidad 78 de selección de imagen de predicción, la unidad 74 de predicción intra suministra la información que indica el modo de predicción intra óptimo a la unidad 66 de codificación sin pérdida. La unidad 66 de codificación sin pérdida codifica esta información, y toma ésta como parte de la información de encabezado en una imagen comprimida.
La imagen que se someterá a procesamiento inter leído de la memoria intermedia 62 de redisposición de pantalla, y la imagen de referencia de la memoria 72 de tramas mediante el conmutador 73, se suministran a la unidad 75 de predicción/compensación de movimiento. La unidad 75 de predicción/compensación de movimiento realiza búsqueda de movimiento (predicción) de todos los modos de predicción inter candidatos, somete la imagen de referencia al procesamiento de compensación utilizando los vectores de movimiento buscados, y genera una imagen de predicción.
La unidad 75 de predicción/compensación de movimiento utiliza los vectores de movimiento buscados para calcular los valores de función de costo para todos los modos de predicción inter candidatos. En este tiempo, la unidad 75 de predicción/compensación de movimiento calcula los valores de función de costo utilizando múltiples tipos de información de vector de movimiento de predicción generados por la unidad 76 de generación de vector de movimiento de predicción y los números de código asignados a la misma.
La unidad 75 de predicción/compensación de movimiento selecciona la información de vector de movimiento de predicción que produce el valor más pequeño del valor de función de costo en cada bloque de los modos de predicción inter candidatos. Además, la unidad 75 de predicción/compensación de movimiento compara los valores de función de costo de los modos de predicción inter que son candidatos por medio de la información de vector de movimiento de predicción seleccionada para cada bloque, por lo que se determina el modo de predicción inter que produce el valor más pequeño como el modo de predicción inter óptimo. La unidad 75 de predicción/compensación de movimiento entonces suministra la imagen de predicción generada en el modo de predicción inter óptimo, y el valor de función de costo del mismo, a la unidad 78 de selección de imagen de predicción.
En el caso en que la imagen de predicción generada en el modo de predicción intra óptimo se selecciona por la unidad 78 de selección de imagen de predicción, la unidad 75 de predicción/compensación de movimiento produce la información que indica el modo de predicción inter óptimo (información de modo de predicción inter) a la unidad 66 de codificación sin pérdida.
En este tiempo, la información de vector de movimiento de diferencia, la cual es la diferencia entre la información de vector de movimiento y la información de vector de movimiento de predicción, el número de código para esa información de vector de movimiento de predicción, etcétera, también se producen en la unidad 66 de codificación sin pérdida. La unidad 66 de codificación sin pérdida también somete la información desde la unidad 75 de predicción/compensación de movimiento hasta el procesamiento de codificación sin pérdida tal como codificación de longitud variable, codificación aritmética, o similares, y la inserta en la porción de encabezado de la imagen comprimida.
La unidad 76 de generación de vector de movimiento de predicción se suministra desde la unidad 75 de predicción/compensación de movimiento con la información de vector de movimiento ya obtenida con los bloques periféricos del bloque el cual es el objeto. Observe que los bloques periféricos incluyen no sólo bloques que se encuentran en periferia espacial, sino también bloques que se encuentran en la periferia espacio-temporal, es decir, en la periferia espacial en una trama una antes de la trama actual en el tiempo .
La unidad 76 de generación de vector de movimiento de predicción utiliza la información de vector de movimiento periférico suministrada para generar múltiples tipos de información de vector de movimiento de predicción, por la Expresión (5) antes descrita, Expresión (9), y Expresión (19) , etcétera. La unidad 76 de generación de vector de movimiento de predicción entonces suministra cada información de vector de movimiento de predicción, y el número de código asignado a la información de vector de movimiento de predicción por la unidad 77 de asignación de número de código, a la unidad 75 de predicción/compensación de movimiento.
La unidad 77 de asignación de número de código asigna un número de código a cada información de vector de movimiento de predicción, por un ajuste de usuario por medio de una unidad de entrada de operación no mostrada o similar, o de acuerdo con ajustes de aplicación. La unidad 77 de asignación de número de código entonces suministra la unidad 76 de generación de vector de movimiento de predicción y la unidad 66 de codificación sin pérdida con información de asignación de número de código que indica la correlación entre la información de vector de movimiento de predicción y números de código, de los cuales la información de vector de predicción se ha asignado con cada número de código. También, la unidad 77 de asignación de número de código genera información de indicador que indica si un modo variable en el cual la asignación de números de código a la información de vector de movimiento de predicción es cambiable, o un modo fijo en el cual los ajustes por defecto se utilizan, y suministra la información de indicador generada a la unidad 66 de codificación sin pérdida.
La unidad 78 de selección de imagen de predicción determina el modo de predicción óptimo del modo de predicción intra óptimo y el modo de predicción inter óptimo, basándose en los valores de función de costo producidos desde la unidad 74 de predicción intra o la unidad 75 de predicción/compensación de movimiento. La unidad 78 de selección de imagen de predicción entonces selecciona la imagen de predicción del modo de predicción óptimo que se ha determinado, y suministra éste a las unidades 63 y 70 de cómputo. En este tiempo, la unidad 78 de selección de imagen de predicción suministra la información de selección de la imagen de predicción a la unidad 74 de predicción intra o la unidad 75 de predicción/compensación de movimiento.
La unidad 79 de control de tasa controla la tasa de las operaciones de cuantificación de la unidad 65 de cuantificación, basándose en imágenes comprimidas almacenadas en la memoria intermedia 67 de almacenamiento, de manera que no se presente sobreflujo o infraflujo.
[Descripción del Formato H.264/AVC] En primer lugar, cosas diferentes a aquellas descritas en lo anterior con la técnica antecedente se describirán adicionalmente con respecto al formato H.264/AVC con el cual se basa el dispositivo 51 de codificación de imágenes .
Como se describe en lo anterior con la Figura 7, con el formato H.264/AVC, una de CAVLC y CABAC puede utilizarse como codificación de longitud variable.
En primer lugar, el formato de CAVLC se describirá. Con CAVLC, una tabla de VLC conmutada de acuerdo con la aparición de coeficientes de transformación ortogonal en bloques cercanos se utiliza para codificación de coeficiente de transformación ortogonal. La codificación Exponencial Golomb (Exponencial Golomb) mostrada en la Figura 8 se utiliza para codificar otros elementos de sintaxis.
Con la codificación Exponencial Golomb en la Figura 8, por ejemplo, el número de código 0 (Número de Código) y la palabra código 1 (Palabras Código) corresponden, el número de código 1 y la palabra de código 010 corresponden, y el número de código 2 y la palabra de código 011 corresponden. También, el número de código 3 y la palabra código 00100 corresponden, el número de código 4 y la palabra de código 00101 corresponden, y el número de código 5 y la palabra de código 00110 corresponden, y el número de código 6 y la palabra de código 00111 corresponden.
También, con respecto a los elementos de sintaxis tales como vectores de movimiento, existe la posibilidad de que un valor negativo pueda presentarse. Por consiguiente, en el caso de elementos de sintaxis con respecto a que existe la posibilidad de que un valor negativo pueda presentarse, éstos se reemplazan con números de código que no se basan en signos en la relación correlativa mostrada en la Figura 9, y después de que se han reemplazado con números de código que no tienen signo, la codificación Exponencial Golomb en la Figura 8 se utiliza para la codificación de los mismos.
La Figura 9 ilustra la relación correlativa entre el número de código y el elemento de sintaxis v. Es decir, al basarse en esta relación correlativa, por ejemplo, el elemento de sintaxis v = 0 se reemplaza con el número de código 0, el elemento de sintaxis v = 1 se reemplaza con el número de código 1, y el elemento de sintaxis v = -1 se reemplaza con el número de código 2. También, el elemento de sintaxis v = 2 se reemplaza con el número de código 3, el elemento de sintaxis v = -2 se reemplaza con el número de código 4, y el elemento de sintaxis v = 3 se reemplaza con el número de código 5.
Después, el procesamiento de codificación de los coeficientes de transformación ortogonal de acuerdo con el formato de CAVLC se describirá.
En primer lugar, los coeficientes de transformación ortogonal convertidos en datos mono-dimensionales se exploran desde la alta frecuencia hacia la baja frecuencia. En segundo lugar, NumCoef (el número de coeficientes que no son 0) y Tls (el número de coeficientes que son + 1 cuando se exploran desde alta frecuencia hasta baja frecuencia, un máximo de 3) se codifican. En este tiempo, la tabla de VLC se conmuta de acuerdo con el NumCoef en los bloques periféricos.
En tercer lugar, la codificación del Nivel (valor de coeficiente de DCT) se realiza. Por ejemplo, con respecto a Tls, sólo se codifica positivo/negativo. Otros coeficientes se les asignan números de código (Número de Código) y se codifican. En este tiempo, la tabla de VLC se conmuta de acuerdo con intra/inter, parámetro de cuantificación QP, y último Nivel codificado.
En cuarto lugar, la codificación de Ejecución se realiza. En este tiempo, la tabla de VLC se conmuta de acuerdo con TotalZero de acuerdo con el NumCoef. También, la codificación de Run_before (el número de Os continúa antes de un coeficiente sin 0) se realiza secuencialmente . Con esta codificación, la tabla de VLC se conmuta de acuerdo con ZerosLeft (el número de coeficientes sin 0 restantes) . Con ZerosLeft = 0, el procesamiento de codificación finaliza.
Después, el formato CABAC se describirá.
La Figura 10 ilustra un ejemplo de la configuración de una unidad de codificación sin pérdida que realiza codificación de CABAC. En el ejemplo mostrado en la Figura 10, la unidad de codificación sin pérdida se configura de una unidad 81 de modelado de contexto, una unidad 82 de presentación binaria, y una unidad 83 de codificación aritmética binaria adaptable que incluye una unidad 83a de estimación de probabilidad y un motor 83b de codificación.
Con respecto a un elemento sintaxis arbitrario de una imagen comprimida, la unidad 81 de modelado de contexto primero convierte un símbolo (símbolo) de un elemento de sintaxis en un modelo de contexto adecuado, de acuerdo con el historial pasado. En la codificación de CABAC, diferentes elementos de sintaxis se codifican utilizando diferentes contextos. También, incluso los mismos elementos de sintaxis se codifican utilizando diferentes contextos de acuerdo con la información de codificación de bloques cercanos o macroblo ue.
Por ejemplo, un indicador mb_skip_frag se describirá con referencia 11 como ejemplo, pero éste es el mismo para procesamiento como para otros elementos de sintaxis también.
En el ejemplo en la Figura 11, un macrobloque objetivo C aún por codificarse, y macrobloques A y B que ya se han codificado y que se encuentran adyacentes al macrobloque objetivo C, se muestran. Ahora diremos que el indicador en mb_skip_frag se define en cuanto a cada uno de los macrobloques X (X = A, B, C) y es la siguiente Expresión (11) [Expresión Matemática 6] Es decir, en el caso de que el macrobloque X es un macrobloque saltado que utiliza pixeles en una trama de referencia en posiciones espacialmente correspondientes, f(X) = 1 se establece, y de otra manera, f(X) = 0 se establece.
En este tiempo, el contexto Contexto (C) para el macrobloque actual C se calcula como la suma de f(A) del macrobloque adyacente A izquierdo y f(b) del macrobloque adyacente B superior como en la siguiente Expresión (12) .
Contexto© = f(a) + f(B) ...(12) Es decir, el contexto (C) en cuanto al macrobloque objetivo C tiene uno de los valores de 0, 1, y 2, de acuerdo con el indicador mb_skip_frag de los macrobloques adyacentes A y B. Es decir, el indicador mb_skip_frag en cuanto al macrobloque objetivo C se codifica utilizando un motor 83b de codificación que difiere para uno de 0 , 1, y 2.
Por ejemplo, la unidad 82 de presentación binaria realiza la conversión del símbolo de un elemento que son datos no binarios con respecto a la sintaxis, como con el modo de predicción intra, utilizando la tabla mostrada en la Figura 12.
En la tabla en la Figura 12 se ilustra que en caso de que el símbolo de código sea 0, el símbolo de código se presenta en forma binaria en 0, si el símbolo de código es 1, se presenta en forma binaria en 10, y si el símbolo de código es 2 , se presenta en forma binaria en 110. También, en caso de que el símbolo sea 3, éste se presenta en forma binaria en 1110, si el símbolo de código es 4 , se presenta en forma binaria en 11110, y si el símbolo de código es 5, se presenta en forma binaria en 111110.
Los elementos de sintaxis presentados en forma binaria por las tablas de presentación binaria tal como se describe en lo anterior se codifican por la unidad 83 de codificación aritmética binaria adaptable corriente abajo.
Regresando a la Figura 10, en la unidad 83 de codificación aritmética binaria adaptable, la unidad 83a de estimación de probabilidad realiza la estimación de probabilidad con respecto a los símbolos presentados en forma binaria, y la codificación aritmética binaria basándose en la estimación de probabilidad que se realiza por el motor 83b de codificación. En este tiempo, la probabilidad de "0" y "1" se inicia al comienzo de la división, y la tabla de probabilidad de la misma se actualiza cada vez que la codificación de lBin se realiza. Es decir, los modelos relacionados se actualizan después de que se realiza el procesamiento de codificación aritmética binaria, de manera que cada modelo puede realizar el procesamiento de codificación que corresponde con la estadística de información de compresión de imagen real.
En ambos casos de este formato de CAVLC y formato de CABAC descritos en lo anterior, la información de vector de movimiento de predicción con mayor frecuencia de aparición se le debe asignar números de código más pequeños, y la frecuencia de aparición de cada información de vector de movimiento de predicción debe diferir para cada secuencia y tasa de bits. Sin embargo, con la propuesta de NPL 1, los números de código que se asignan a la información de vector de movimiento de predicción son fijos.
[Descripción General de la Presente Tecnología] Por consiguiente, con el dispositivo 51 de codificación de imágenes en la Figura 7, el usuario en una aplicación puede cambiar la asignación de número de código en cuanto a los vectores de movimiento de predicción desde el ajuste por defecto por medio de la unidad 77 de asignación de número de código, de manera que la eficiencia de codificación o calidad de imagen subjetiva es óptima.
Es decir, con el dispositivo de codificación de imágenes, múltiple información de vector de movimiento de predicción candidato se genera, y además, un valor de función de costo se genera para cada información de vector de movimiento de predicción. Después, la información de vector de movimiento de predicción que produce el valor más pequeño de la misma se toma como la información de vector de movimiento de predicción en cuanto al bloque que va a procesarse, y la codificación se realiza utilizando éste, en cuyo tiempo el número de código asignado a cada vector de movimiento de predicción por la unidad 77 de número de código se utiliza para la generación y codificación de valor de función de costo.
Por ejemplo, digamos que con los ajustes por defecto, el número de código = 0 se asigna a la información e vector de movimiento de predicción espacial (Predicción Espacial) en la Expresión (5) antes descrita, y el número de código = 1 se asigna a la información de vector de movimiento de predicción temporal (Predicción Temporal) en la Expresión antes descrita (10) .
Generalmente, en el caso en que un contenido va a codificarse incluye una gran cantidad de región de imagen fija (por ejemplo, videoconferencia) , la información de vector de movimiento de predicción temporal es más preferible que la información de vector de movimiento de predicción espacial a partir de la perspectiva de eficiencia de codificación o calidad de imagen subjetiva.
Sin embargo, en el caso de una baja tasa de bits en particular, (es decir, un parámetro de alta cuantificación QP) , la información de vector de movimiento de predicción asignada con el número de código = 0 tiene menos bits necesarios para expresar la información de vector de movimiento de predicción, y por consiguiente se selecciona de manera más fácil, lo cual es indeseable.
Por consiguiente, con el dispositivo 51 de codificación de imágenes, la asignación de número de código en cuanto a cada vector de movimiento de predicción puede cambiarse del ajuste por defecto. Por consiguiente, en tal caso, se hace el cambio de modo que, por ejemplo, el número de código = 0 se asigna a la información de vector de movimiento de predicción temporal, y el número de código = 1 se asigna a la información de vector de movimiento de predicción espacial. Por consiguiente, la eficiencia de codificación o la calidad de imagen subjetiva puede mejorarse .
[Ventajas de la Presente Tecnología] Después, las ventajas de la presente tecnología se describirán con referencia a la Figura 13. En el ejemplo de la Figura 13 , una trama de referencia y una trama actual de una imagen en movimiento con la cámara fija se muestran. En esta imagen en movimiento, diremos que un objeto elíptico se mueve hacia la dirección derecha de la pantalla a una velocidad v. La cámara se fija, de manera que el fondo diferente al objeto elíptico es una región fija.
En la trama actual, un bloque actual X, y bloques adyacentes A, B, y C adyacentes al bloque actual X en la parte izquierda, superior, y derecha superior se muestran, y en la trama de referencia se muestra un bloque correspondiente (bloque Co-Ubicado) Y del bloque actual X. Observe que el bloque correspondiente es un bloque en una trama ya codificada que es diferente de la trama actual (una trama situada antes o después) y es un bloque en una posición que corresponde al bloque actual .
Ahora, diremos que VK es la información de vector de movimiento en cuanto a un bloque K y que la Media (MVA, MVB, MVC) se asigna al número de código = 0, y MVY se asigna al número de código = 1.
En este caso, con una baja tasa de bits en particular, la Media MVA, MVB, MVC) la cual tiene menos bits necesarios para expresar la información de vector de movimiento de predicción se selecciona más fácilmente.
Sin embargo, con el ejemplo en la Figura 13, el bloque X, el bloque adyacente A, y el bloque correspondiente X son bloques en la región de imagen fija, y los bloques adyacentes B y C son bloques en el objeto elíptico. Por consiguiente, cuando se ve con respecto a la predicción de la media de los bloques adyacentes, la siguiente Expresión (13) se mantiene, y la eficiencia de codificación claramente no es buena .
Media (MVA, MVB, MVC) = Media (v, v, 0) = v ... (13) Por otro lado, considerando el bloque correspondiente Y, la siguiente Expresión (14) se mantiene, de modo que una mayor eficiencia de codificación puede realizarse al asignar el número de código = 0 a MVY para seleccionarse más fácilmente.
MVY = 0 Observe que con la presente descripción, la asignación de número de código a cada información de vector de movimiento de predicción se realiza en incrementos de divisiones, por ejemplo.
Es decir, en primer lugar, mv_predictor_definition_flag se codifica en el encabezado de división. mv_predictor_definition_flag es la información de indicador que indica si es modo fijo si números de código por defecto van a asignarse, o un modo variable donde los números de código de asignación cambiable (es decir, cambiada) se asignan. Observe que sí es suficiente que la información de indicador sea información que le permita si un modo variable cambiable o un modo fijo se identifica, es decir, si es modo variable o modo fijo.
En caso de que mv_predictor_definition_flag = 0, la asignación de números de código a cada información de vector de movimiento de predicción definida por defecto se aplican. En caso de que mv_predictor_definition_flag = 1, la asignación de números de código a cada información de vector de movimiento de predicción asignada por la unidad 77 de asignación de número de código se aplicará. Por consiguiente, en este caso, mv_predictor_definition_flag = 1 es después por la descripción de la asignación de números de código a cada información de vector de movimiento de predicción por la unidad 77 de asignación de número de código.
Específicamente, en el caso de mv_predictor_definition_flag = 1, un elemento de sintaxis tal como se muestra en la Figura 14 se insertará en el encabezado de división.
Con el ejemplo en la Figura 14, la descripción de mv_predictor_definition_flag = 1 se sigue por un espacio proporcionado para describir qué información de vector de movimiento de predicción se asignará al número de código 0 (code_number_for_predictor_0 ; ) y el número de código 1 (code_number_for_predictor_l ; ) .
Observe que la descripción de la sintaxis con respecto a la asignación de números de código de acuerdo con la presente descripción no se restringe al ejemplo en el Figura 14. En un conjunto de parámetros de secuencia o conjunto de parámetros de imágenes, se proporciona una sintaxis con respecto a la asignación de números de código. En caso de que mv_predictor_defini ion_flag = 0 en el encabezado de división, cualquier asignación definida en el conjunto de parámetros de secuencia previamente existentes inmediatos o conjunto de parámetro de imágenes pueden utilizarse. Desde luego, esto puede proporcionarse sólo a un conjunto de parámetros de secuencia o conjunto de parámetros de imágenes .
Como se describe en lo anterior, al permitir el cambio de la asignación de número de código, en un caso de un objeto móvil que pasa a través de una región fija tal como un segundo plano, por ejemplo, un número de código más pequeño puede asignarse a la información de vector de movimiento de predicción temporal (Predicción Temporal) . Por consiguiente, esto puede evitar el deterioro de la imagen debido a que la región fija será afectada por el movimiento del objeto móvil, y la eficiencia de codificación de la calidad de imagen subjetiva puede mejorarse.
Por consiguiente, puede lograrse una mayor eficiencia de codificación.
Observe que mientras un ejemplo se ha descrito en lo anterior donde un objeto móvil pasa a través de una región fija tal como un segundo plano o similar, por ejemplo, como ejemplo específico, esto no se restringe a este ejemplo, y la eficiencia de codificación de la calidad de imagen subjetiva puede mejorarse al asignar números de código más pequeños a la información de vector de movimiento de predicción con una mayor frecuencia (tasa) de apariencia, por ejemplo, también.
También, el usuario o una aplicación pueden establecer la asignación de número de código en lo que se refiere a información de vector de movimiento de predicción de modo que la eficiencia de codificación y la calidad de imagen subjetiva se mejoren.
La descripción detallada adicional ahora se hará [Ejemplo de Configuración de Unidad de Predicción/Compensación de Movimiento] La Figura 15 es un diagrama de bloque que ilustra un ejemplo de configuración detallado de la unidad 75 de predicción/compensación de movimiento. Observe que el conmutador 73 en la Figura 7 se ha omitido de la Figura 15.
En el ejemplo en la Figura 15, la unidad 75 de predicción/compensación de movimiento se configura de una unidad 91 de búsqueda de movimiento, una unidad 92 de cálculo de función de costo, una unidad 93 de selección de vector de movimiento de predicción óptimo, una unidad 94 de determinación de modo, una unidad 95 de compensación de movimiento, y una memoria intermedia 96 de vector de movimiento. Observe que sólo la entrada a la unidad 91 de búsqueda de movimiento no se ilustra en el dibujo como los valores de pixel de imagen de entrada de la memoria intermedia 62 de redisposición de pantalla, aunque realmente, existe entrada en la unidad 92 de cálculo de de función de costo que calcula los valores de función de costo y la unidad 95 de compensación de compensación de movimiento también.
Los valores de pixel de imagen de entrada de la memoria intermedia 62 de redisposición de pantalla y los valores de pixel de imagen de referencia de la memoria 72 de tramas se ingresan en la unidad 91 de búsqueda de movimiento. La unidad 91 de búsqueda de movimiento realiza procesamiento de búsqueda de movimiento en todos los modos de predicción inter mostrados en la Figura 2, realiza procesamiento de compensación en la imagen de referencia utilizando la imagen de información de vector de movimiento de búsqueda, y genera imágenes de predicción. La unidad 91 de búsqueda de movimiento suministra la información de vector de movimiento buscada por cada modo de predicción inter, y las imágenes de predicción generadas, a la unidad 92 de cálculo de función de costo.
La unidad 92 de cálculo de función de costo se suministra con los valores de pixel de imagen de entrada desde la memoria intermedia 62 de redisposición de pantalla, la información de vector de movimiento y las imágenes de predicción para los modos de predicción inter de la unidad 91 de búsqueda de movimiento, y cada información de vector de movimiento de predicción de la unidad 76 de generación de vector de movimiento de predicción, y los números de código asignados a cada una. La unidad 92 de cálculo de función de costo calcula la información de vector de movimiento de diferencia al tomar la diferencia de la información de vector de movimiento y cada información de vector de movimiento de predicción .
La unidad 92 de cálculo de función de costo entonces utiliza la información suministrada a la misma, tal como la información de vector de movimiento de diferencia, los números de código asignados a la información de vector de movimiento de predicción, las imágenes de predicción, etcétera, para calcular un valor de función de costo para cada vector de movimiento de predicción de cada bloque en cada modo de predicción inter. La unidad 92 de cálculo de función costo suministra las imágenes de predicción a cada uno de los modos de predicción inter, la información de vector de movimiento de diferencia, la información de vector de movimiento de predicción, y los números de código correspondientes y los valores de función de costo, a la unidad 93 de selección de vector de movimiento de predicción óptimo .
La unidad 92 de selección de vector de movimiento de predicción óptimo selecciona la información de vector de movimiento de predicción óptimo para cada uno de los bloques en cada modo de predicción, basándose en los valores de función de costo. La información de vector de movimiento de predicción óptimo seleccionado, por consiguiente se suministra a la unidad 94 de determinación de modo, junto con las imágenes de predicción para cada uno de los modos de predicción inter, información de vector de movimiento de diferencia de valores de función de costo, información de vector de movimiento de predicción óptimo, y el número de costo asignado a las mismas.
La unidad 94 de determinación de modo determina cuál de los modos de predicción inter es óptimo para utilizarse, utiliza los valores de función de costo en cuanto a cada modo de predicción inter, y toma el modo de predicción inter con el valor de función de costo más pequeño como el modo de predicción óptimo. La unidad 94 de determinación de modo entonces suministra el modo de predicción óptimo, y la información de vector de movimiento de diferencia relacionada, y la información de vector de movimiento de predicción óptimo y el número de código asignado a la misma, a la unidad 95 de compensación de movimiento.
La unidad 95 de compensación de movimiento obtiene un vector de movimiento de la información de vector de movimiento de diferencia y la información de vector de movimiento de predicción óptimo, y realiza compensación en la imagen de referencia a partir de la memoria 72 de tramas utilizando el vector de movimiento obtenido, por lo que se genera una imagen de predicción del modo de predicción óptimo. También, los valores de pixel de imagen de entrada de la memoria intermedia 62 de redisposición de pantalla también se suministran a la unidad 95 de compensación de movimiento, y la unidad 95 de compensación de movimiento obtiene el valor de función de costo del modo de predicción óptimo nuevamente de la información suministrada, y produce la imagen de predicción del modo de predicción óptimo y los valores de función de costo de los mismos a la unidad 78 de selección de imagen de predicción.
En caso de que la imagen de predicción del modo inter óptimo se seleccione por la unidad 78 de selección de imagen de predicción, una señal a ese efecto se suministra desde la unidad 78 de selección de imagen de predicción. En respuesta, la unidad 95 de compensación de movimiento suministra la información de modo inter óptimo, la información de vector de movimiento de diferencia de este modo, y el número de código que corresponde con la información de vector de movimiento de predicción, a la unidad 66 de codificación sin pérdida. También, en este tiempo, la unidad 95 de compensación de movimiento almacena la información de vector de movimiento obtenida de la información de vector de movimiento de diferencia y la información de vector de movimiento de predicción óptimo en la memoria intermedia 96 de vector de movimiento. Observe que en caso de que la imagen de predicción del modo inter óptimo no se seleccione por la unidad 78 de selección de imagen de predicción (es decir, en caso de que se seleccione una imagen de predicción intra) , un vector 0 se almacena en la memoria intermedia 96 de vector de movimiento como la información de vector de movimiento .
La memoria intermedia 96 de vector de movimiento almacena la información de bloque de movimiento para cada bloque en el modo de predicción óptimo. La información de vector de movimiento almacenada se suministra a la unidad 76 de generación de vector de movimiento de predicción como información de vector de movimiento de periferia de los bloques periféricos, para generar información de vector de movimiento para el siguiente bloque.
La unidad 76 de generación de vector de movimiento de predicción genera múltiple información de vector de movimiento de predicción candidato como se describe en NPL 1, utilizando la información de vector de movimiento periférico de los bloques espacio- temporal adyacente a los bloques actuales, suministrados desde la memoria intermedia 96 de vector de movimiento. Sin embargo, observe que la diferencia con NPL 1 es el punto en que el número de código en cuando a cada información de vector de movimiento de predicción se ha asignado por la unidad 77 de asignación de número de código.
Es decir, con la unidad 76 de generación de vector de movimiento de predicción, la información de vector de movimiento de predicción espacial (Predicción Espacial) se genera de acuerdo con la Expresión (5) antes descrita, y la información de vector de movimiento de predicción de predicción temporal (Predicción Temporal) se genera de acuerdo con la Expresión antes descrita (9), en cuanto al bloque actual. También, la información de vector de movimiento de predicción espacio-temporal (Predicción Espacio-Temporal) se genera de acuerdo con la Expresión antes descrita (10) en cuanto al bloque actual. Cada información de vector de movimiento de predicción candidato generada, y los números de código respectivamente asignados a la misma, se suministran a la unidad 92 de cálculo de función de costo.
También, antes de realizar el procesamiento de codificación, la información con respecto a qué número de código se asignará a la cual se ingresa la información de vector de movimiento de predicción a la unidad 77 de asignación de número de código de acuerdo con las operaciones de usuario en una unidad de entrada de operación no mostrada, por ejemplo. La unidad 77 de asignación de número de código establece la asignación de los números de código en cuanto a la información de vector de movimiento de predicción de acuerdo con la información de entrada, y también genera la información de indicador que indica que el modo es un modo variable de asignación de número de código.
La unidad 77 de asignación de número de código suministra información de asignación de número de código a la unidad 77 de generación de vector de movimiento de predicción. También, la unidad 77 de asignación de número de código envía la información de indicador generada y la información de asignación de número de código a la unidad 66 de codificación sin pérdida. En la unidad 66 de codificación sin pérdida, el procesamiento de codificación de esta información se realiza en el encabezado de división.
[Descripción del Procesamiento de Codificación del Dispositivo de Codificación de Imágenes] Después, el procesamiento de codificación del dispositivo 51 de codificación de imágenes en la Figura 7 se describirá con referencia al diagrama de flujo en la Figura 16.
En la etapa Sil, la unidad 61 de conversión de A/D convierte una imagen de entrada de análoga a digital. En la etapa S12, la memoria intermedia 62 de redisposición de pantalla almacena la imagen suministrada desde la unidad 61 de conversión de A/D, y realiza la redisposición de la secuencia para desplegar las imágenes en la secuencia para codificación.
En la etapa S13 , la unidad 63 de cómputo calcula la diferencia entre una imagen redispuesta en la etapa S12 y la imagen de predicción. La imagen de predicción se suministra a la unidad 66 de cómputo desde la unidad 75 de predicción/compensación de movimiento en caso de realizar predicción inter, y desde la unidad 74 de predicción intra mediante la unidad 78 de selección de imagen de predicción en caso de realizar predicción intra.
Los datos de diferencia son menores en la cantidad de datos en comparación con los datos de imagen originales . Por consiguiente, la cantidad de datos puede comprimirse en comparación con el caso de codificar la imagen original sin cambio .
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 la transformación ortogonal. Específicamente, la transformación ortogonal, tal como transformación de coseno discreto, la transformación de Karhunen-Loéve, o similares, se realiza y un coeficiente de transformación se produce. En la etapa S15, la unidad 65 de cuantificación cuantifica el coeficiente de transformación Al momento de esta cuantificación, se controla la proporción, la cual se describirá con respecto al procesamiento en la etapa S26 posteriormente descrita.
La información de diferencia de este modo cuantificada se descodifica localmente como sigue. Es decir, 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 para invertir la cuantificación utilizando una propiedad que corresponde con 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 cuantificación inversa por la unidad 68 de cuantificación inversa a transformación ortogonal inversa utilizando una propiedad que corresponde con la propiedad de la unidad 64 de transformación ortogonal.
En la etapa S18, la unidad 70 de cómputo agrega la entrada de imagen de predicción mediante la unidad 78 de selección de imagen de predicción a la información de diferencia localmente descodificada, y genera una imagen descodificada localmente (la imagen que corresponde con la entrada en la unidad 63 de cómputo). En la etapa S19, el filtro 71 de desbloqueo somete la imagen producida de la unidad 70 de cómputo a filtración. De este modo, la distorsión de bloque se elimina. En la etapa S20, la memoria 72 de tramas almacena la imagen sometida a filtración. Observe que una imagen no sometida a procesamiento de filtración por el filtro 71 de desbloqueo también se suministra desde la unidad 70 de cómputo hasta la memoria 72 de tramas para almacenamiento.
En caso de que la imagen que va a procesarse que se suministra desde la memoria intermedia 62 de redisposición de pantalla sea una imagen de un bloque para procesamiento intra, una imagen descodificada que se hace referencia se lee de la memoria 72 de tramas, y se suministra a la unidad 74 de predicción intra mediante el conmutador 73.
En la etapa S21, la unidad 74 de predicción intra realiza predicción intra de paneles del bloque que va a procesarse en todos los modos de predicción intra candidatos, basándose en estas imágenes. Observe que para los pixeles descodificados que se hace referencia, los pixeles no sometidos a filtración de desbloqueo por el filtro 71 de desbloqueo se utilizan.
Aunque los detalles del procesamiento de predicción en la etapa S21 se describirán posteriormente con referencia a la Figura 17, debido a este procesamiento, la predicción intra se realiza en todos los modos de predicción intra candidatos, y los valores de función de costo se calculan para todos los modos de predicción intra candidatos . Qn modo de predicción intra óptimo se selecciona basándose en el valor de función de costo calculado, y una imagen de predicción generada por la predicción intra del modo de predicción intra óptima, y el valor de función de costo del mismo se suministran a la unidad 78 de selección de imagen de predicción.
En caso de que la imagen que se va a procesar suministrada desde la memoria intermedia 62 de redisposición de pantalla sea una imagen que se procesará inter, una imagen de referencia se lee de la memoria 72 de trama, y se suministra a la unidad 75 de predicción/compensación de movimiento mediante el conmutador 73. En la etapa S22, la unidad 75 de predicción/compensación de movimiento realiza procesamiento de predicción de movimiento inter basándose en estas imágenes.
Los detalles del procesamiento de predicción en la etapa S22 se describirán posteriormente con referencia a la Figura 18. De acuerdo con este procesamiento, el procesamiento de búsqueda de movimiento se realiza en todos los modos de predicción intra candidatos, los valores de función de costo en todos los modos de predicción intra candidatos se calculan, y se selecciona una información de vector de movimiento de predicción óptimo. Además, el modo de predicción intra óptimo se selecciona basándose en los valores de función de costo calculados en cuanto a todos los modos de predicción inter. La imagen de predicción generada en el modo de predicción intra óptimo, y el valor de función de costo del mismo, se suministran a la unidad 78 de selección de imagen de predicción.
En este tiempo, por ejemplo, un número de código se asigna a cada información de vector de movimiento de predicción, con la información de asignación de número de código siendo suministrada a la unidad 75 de predicción/compensación de movimiento y la unidad 66 de codificación sin pérdida. Por consiguiente, en la unidad 75 de predicción/compensación de movimiento, los valores de función de costo, etcétera, se calculan utilizando los números de código asignados. También, la unidad 77 de asignación de número de código genera información de indicador que indica si el modo es o no el modo variable en el cual se puede cambiar la asignación de número de código, la cual se suministra a la unidad 66 de codificación sin pérdida .
En la etapa S23 , la unidad 78 de selección de imagen de predicción determina uno del modo de predicción intra óptimo y el modo de predicción inter óptimo que es el modo de predicción óptimo basado en los valores de función de costo producidos de la unidad 74 de predicción intra y la unidad 75 de predicción/compensación de movimiento. La unidad 78 de selección de imagen de predicción entonces selecciona la imagen de predicción en el modo de predicción óptimo determinado, y suministra a las unidades 63 y 70 de cómputo. Esta imagen de predicción, como se describe en lo anterior, se utiliza para cálculo en las etapas S13 y S18.
Observe que la información de selección de esta imagen de predicción se suministra a la unidad 74 de predicción intra o la unidad 75 de predicción/compensación de movimiento. En caso de que la imagen de predicción en el modo de predicción intra óptimo se haya seleccionado, la unidad 74 de predicción intra suministra la información que indica el modo de predicción intra óptimo (es decir, la información de modo de predicción intra) a la unidad 66 de codificación sin pérdida .
En caso de que la imagen de predicción en el modo de predicción inter óptimo se haya seleccionado, la unidad 75 de predicción/compensación de movimiento produce información que indica el modo de predicción inter óptimo, y de acuerdo con la necesidad, la información de acuerdo con el modo de predicción inter óptimo a la unidad 66 de codificación sin pérdida. Ejemplos de la información de acuerdo con el modo de predicción inter óptimo incluyen información tal como información de vector de movimiento de diferencia entre la información de vector de movimiento y la información de vector de movimiento de predicción para cada bloque, el número de código asignado a la información de vector de movimiento de predicción de cada bloque, etcétera. También, observe que en este tiempo, la unidad 95 de compensación de movimiento de la unidad 75 de predicción/compensación almacena la información de vector de movimiento obtenida de la información de vector de movimiento de diferencia y la información de vector de movimiento de predicción en la memoria intermedia 96 de vector de movimiento.
En la etapa S24, la unidad 66 de codificación sin pérdida codifica el coeficiente de transformación cuantificado producido de la unidad 65 de cuantificación. Específicamente, la imagen de diferencia se somete a codificación sin pérdida tal como codificación de longitud variable, codificación aritmética, o similares, y se comprime. En este tiempo, la información de modo de predicción intra de la unidad 74 de predicción intra, ingresada a la unidad 66 de codificación sin pérdida en la etapa 21 descrita en lo anterior, o la información de acuerdo con el modo de predicción inter óptimo de la unidad 75 de predicción/compensación de movimiento, etcétera, en la etapa S22 también se codifican y se agregan a la información de encabezado. También, la información de indicador y la información de asignación de número de código de la unidad 77 de asignación de número de código se agregan también a la información de encabezado .
Por ejemplo, la información que indica el modo de predicción inter se codifica para cada macrobloque. Los números de código en cuanto a la información de vector de movimiento de diferencia y la información de vector de movimiento de predicción se codifican en cada bloque actual. Además, la información de indicador y la información de asignación de número de código de la unidad 77 de asignación de número de código se codifican en cada división.
En la etapa S25, la memoria intermedia 67 de almacenamiento almacena la imagen de diferencia como imagen comprimida. La imagen comprimida almacenada en la memoria intermedia 67 de almacenamiento se lee cuando es adecuado, y se transmite al lado de descodificación mediante la trayectoria de transmisión.
En la etapa S26, la unidad 79 de control de tasa controla la tasa de operación de cuantificación de la unidad 65 de cuantificación basándose en la señal comprimida almacenada en la memoria intermedia 67 de almacenamiento para no causar sobreflujo o infraflujo.
[Descripción del Procesamiento de Predicción Intra] Después, el procesamiento de predicción intra en la etapa S21 de la Figura 16 se describirá con referencia al diagrama de flujo en la Figura 17. Observe que en el ejemplo en la Figura 17, el caso de señales de luminancia se describirá como ejemplo.
En la etapa S41, la unidad 74 de predicción intra realiza predicción intra en cuanto a cada modo de predicción intra de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles .
Existen nueve tipos de modos de predicción de incremento de bloque de 4 x 4 pixeles y 8 x 8 pixeles y cuatro tipos de incremento de macrobloques de 16 x 16 pixeles para modos de predicción intra de señal de luminancia en los incrementos de bloque, y existen cuatro tipos de modos de predicción de incremento de bloque de 8 x 8 pixeles para los modos de predicción intra de señal de diferencia de color. El modo de predicción intra de señal de diferencia de color puede establecerse por separado del modo de predicción intra de señal de luminancia. Para los modos de predicción intra de 4 x 4 pixeles de señal de luminancia y los modos de predicción intra de 8 x 8 pixeles, un modo de predicción intra se define para cada bloque de señal de luminancia de 4 x 4 pixeles y 8 x 8 pixeles . Para los modos de predicción intra de 16 x 16 pixeles de señal de luminancia y los modos de predicción intra de señal de diferencia de color, un modo de predicción se define para cada macrobloque.
Específicamente, la unidad 74 de predicción intra hace referencia a la imagen descodificada que se ha leído de la memoria 72 de tramas y suministrado a la unidad 74 de predicción intra mediante el conmutador 73, y realiza predicción intra en los pixeles del bloque que va a procesarse. Realizar este procesamiento de predicción intra en cada modo de predicción intra resulta en una imagen de predicción que se genera en cada modo de predicción intra. Observe que los pixeles no sometidos a filtración de desbloqueo por el filtro 71 de desbloqueo se utilizan como los pixeles descodificados que van a referirse.
En la etapa S42, la unidad 74 de predicción intra calcula un valor de función de costo en cuanto a los modos de predicción intra de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles . Aquí, para una función de costo para obtener valores de función de costo, una función de costo empleado con el formato H.264/AVC se utiliza.
Con el formato H.264/AVC, se utiliza un método donde la selección se hace de métodos de determinación de dos modos de modo de Alta Complejidad y modo de Baja Comple idad estipulados en JM, por ejemplo. En el caso de este método, ambos calculan un valor de función de costo con respecto al Modo de modos de predicción respectiva, y el modo de predicción que produce el más pequeño se selecciona como el modo óptimo en cuanto al bloque o macrobloque actual .
En el modo de Alta Complejidad, el valor de función de costo puede calcularse como con la siguiente Expresión (15) .
Costo (Modo e Q) = D + x R ... (15) En la Expresión (15) , O es el conjunto completo de modos candidato para codificar el bloque a macrobloque actual. También, D es la energía de diferencia entre la imagen descodificada y la imagen ingresada en el caso de codificación con el Modo del modo de predicción actual. Además, ? es un multiplicador Lagrange determinado como una función de un parámetro de cuantificación . También, R es la cantidad total de códigos en el caso de codificar con el Modo de modo actual, incluyendo los coeficientes de transformación ortogonal .
Es decir, para realizar codificación con el modo de Alta Complejidad, existe la necesidad de realizar el procesamiento de codificación tentativa una vez por todos los modos candidato para calcular los parámetros anteriores D y R, que requieren una mayor cantidad de cálculos.
Por otro lado, el valor de función de costo en el Modo de Baja Complejidad puede obtenerse como se muestra en la siguiente Expresión (16) Costo (Modo e O) = D + QP2QUANT (QP) X HeaderBit ... (16) En la Expresión (16) , D es la energía de diferencia entre la imagen de predicción e imagen de entrada, a diferencia del caso del Modo de Alta Complejidad. También, QP2Quant (QP) se proporciona como una función de un parámetro de cuantificación QP. Además, HeaderBit es la cantidad de códigos con respecto a la información que pertenece al Encabezado que no incluye coeficientes de transformación ortogonal, tales como vectores de movimiento y modo.
Es decir, en el modo de Baja Complejidad, el procesamiento de predicción necesita realizarse con respecto a cada de Modo de modo candidato, pero no existe necesidad de realizar completamente una imagen descodificada, de manera que no existe necesidad de realizar completamente el procesamiento de descodificación. Por consiguiente, la realización con una cantidad menor de cálculo en comparación con el Modo de Alta Complejidad se habilita.
En la etapa S43, la unidad 74 de predicción intra determina el modo óptimo en cuanto a los modos de predicción intra de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles . Es decir, como se describe en lo anterior, en el caso del modo de predicción intra de 4 x 4 y el modo de predicción intra de 8 x 8, el número de tipos de modo de predicción es nueve, y en caso del modo de predicción intra de 16 x 16, el número de tipos de predicción es cuatro. Por consiguiente, la unidad 74 de predicción intra determina, basándose en los valores de función de costo calculados en la etapa S42, el modo de predicción intra óptimo de 4 x 4 , el modo de predicción intra óptimo de 8 x 8 , y el modo de predicción intra óptimo de 16 x 16 fuera de los mismos.
En la etapa S44, la unidad 74 de predicción intra selecciona el modo de predicción intra óptimo de los modos óptimos determinados en cuanto a los modos de predicción intra de 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles basándose en los valores de función de costo calculados en la etapa S42. Es decir, la unidad 74 de predicción intra selecciona un modo del cual el valor de función de costo es el valor mínimo fuera de los modos óptimos determinados en cuanto a los 4 x 4 pixeles, 8 x 8 pixeles, y 16 x 16 pixeles, como el modo de predicción intra óptimo. La unidad 74 de predicción intra entonces suministra la imagen de predicción generada en el modo de predicción intra óptimo, y el valor de función de costo del mismo a la unidad 78 de selección de imagen de predicción..
[Descripción del Procesamiento de Predicción de Movimiento Inter] Después, el procesamiento de predicción de movimiento inter en la etapa S22 en la Figura 16 se describirá con referencia al diagrama de flujo en la Figura 18.
En la etapa S51, la unidad 91 de búsqueda de movimiento determina un vector de movimiento y una imagen de referencia en cuanto a cada uno de los ocho tipos de modos de predicción inter formados de 16 x 16 pixeles a 4 x 4 pixeles descritos en lo anterior con referencia a la Figura 2.
En la etapa S52, la unidad 91 de búsqueda de movimiento somete la imagen de referencia a procesamiento por compensación basándose en el vector de movimiento determinado y genera una imagen de predicción, con respecto a cada uno de los modos de predicción inter. La unidad 91 de búsqueda de movimiento suministra la información de vector de movimiento buscada basándose en cada modo de predicción inter, y las imágenes de predicción generadas, a la unidad 92 de cálculo de función de costo.
En la etapa S53, la unidad 76 de generación de vector de predicción de movimiento y la unidad 92 de cálculo de función de costo realizan procesamientos de determinación de movimiento de predicción de movimiento. Este procesamiento de determinación de movimiento de predicción se describirá posteriormente con referencia a la Figura 19.
De acuerdo con el procesamiento en la etapa S53 , múltiples tipos de información de vector de movimiento de predicción se generan. La información de vector de movimiento de predicción generada y los números de código respectivamente asignados se utilizan para calcular los valores de función de costo en cuanto a cada uno de los vectores de movimiento de predicción, para cada bloque en cada modo de predicción inter, y la información de vector de movimiento de predicción óptimo selecciona.
La información de vector de movimiento de predicción óptimo de este modo seleccionada se suministra a la unidad 94 de determinación de modo, junto con la imagen de predicción, el valor de función de costo, la información de vector de movimiento de diferencia y la información de vector de movimiento de predicción óptimo y el número de código asignado a la misma, en cuanto a cada modo de predicción inter .
En la etapa S54, la unidad 94 de determinación de modo determina el modo de predicción inter óptimo. Es decir, la unidad 94 de determinación de modo agrega los valores de función de costo en cuanto a los vectores de movimiento de predicción óptimo de todos los bloques en cada modo de predicción inter, compara los valores de función de costo de todos los modos de predicción inter candidatos, y determina el modo de predicción inter con el valor de función de costo más pequeño que el modo de predicción inter óptimo. El modo de predicción inter óptimo se suministra a la unidad 95 de compensación de movimiento junto con la información de vector de movimiento de predicción óptimo y el número de código asignado al vector de movimiento de predicción óptimo.
En la etapa S55, la unidad 95 de compensación de movimiento realiza el procesamiento de compensación en la imagen de referencia desde la memoria 72 de tramas, basándose en el vector de movimiento del modo de predicción inter óptimo, y genera una imagen de predicción. También, la unidad 95 de compensación de movimiento obtiene el valor de función de costo del modo de predicción óptimo nuevamente de la información suministrada, y produce la imagen de predicción y el valor de función de costo del modo de predicción óptimo a la unidad 78 de selección de imagen de predicción.
[Descripción del Procesamiento de Determinación de Vector de Movimiento de Predicción] Después, el procesamiento de determinación de vector de movimiento de predicción en la etapa S53 de la Figura 18 se describirá con referencia al diagrama de flujo en la Figura 19. Observe que las siguientes S71 a S74 se realizan con procesamiento en cada división, por ejemplo, y las etapas S75 a S77 se realizan con procesamiento en cada bloque .
En la etapa S71, la unidad 77 de asignación de número de código determina si la asignación de número de código en cuanto a la información de vector de movimiento de predicción se ha definido o no por el usuario. Por ejemplo, en caso de que la información con respecto a qué número de código se asignará a qué información de vector de movimiento de predicción se ha ingresado desde una unidad de entrada de operación no mostrada, y ésta no es información por defecto, en la etapa S71, se hace la determinación de que la asignación del número de código en cuanto a la información de vector de movimiento de predicción se ha definido por el usuario, y el procesamiento avanza a la etapa S72.
En la etapa S72, la unidad 77 de asignación de número de código establece mv_predictor_definition_flag = 1, y suministra esta información de indicador a la unidad 66 de codificación sin pérdida. En la etapa S73, la unidad 77 de asignación de número de código entonces determina la asignación de número de código en cuanto a la información de vector de movimiento de predicción, basándose en la información con respecto a qué número de código se asignará a qué información de vector de movimiento de predicción de entrada. La asignación de número de código determinada se suministra a la unidad 66 de codificación sin pérdida y la unidad 76 de generación de vector de movimiento de predicción.
Por otro lado, por ejemplo, en caso de que la información con respecto a qué número de código se asignará a qué información de vector de movimiento de predicción se ha ingresado desde una unidad de entrada de operación no mostrada, y ésta es información por defecto, en la etapa S71, se hace la determinación de que la asignación del número de código en cuanto a la información de vector de movimiento de predicción no se ha definido por el usuario, y el procesamiento avanza a la etapa S74.
En la etapa S74, la unidad 77 de asignación de número de código establece mv_predictor_definition_flag = 0, y suministra esta información de indicador a la unidad 66 de codificación sin pérdida. En este caso, la información de asignación de número de código por defecto se suministra a la unidad 76 de generación de vector de movimiento de predicción .
En la etapa S75, la unidad 76 de generación de vector de movimiento de predicción genera toda la información de vector de movimiento de predicción candidato para el bloque actual, utilizando la información de vector de movimiento periférico de los bloques periféricos espacio-temporal desde la memoria intermedia 96 de vector de movimiento. La unidad 76 de generación de vector de movimiento de predicción entonces suministra, junto con la múltiple información de vector de movimiento de predicción generada los números de código respectivamente asignados a cada una, a la unidad 92 de cálculo de función de costo.
En la etapa S76, la unidad 92 de cálculo de función de costo calcula los valores de función de costo para cada uno de los vector de movimiento de predicción, en cada bloque en cada modo de predicción ínter, por la Expresión antes descrita (15) o la Expresión (16) utilizando la información suministrada. La unidad 92 de cálculo de función de costo calcula un valor de función de costo para cada vector de movimiento de predicción en cada bloque en cada modo de predicción inter, utilizando la información suministrada tal como la información de vector de movimiento de diferencia, el número de código asignado a la información de vector de movimiento de predicción, y la imagen de predicción, etcétera .
En la etapa S77, la unidad 93 de selección de vector de movimiento de predicción óptimo selecciona la información de vector de movimiento de predicción óptimo para cada bloque en cada modo de predicción, basándose en los valores de función de costo. La información de vector de movimiento de predicción óptimo seleccionada de esta manera se suministra a la unidad 94 de determinación de modo, junto con la imagen de predicción, el valor de función de costo, , la información de vector de movimiento de diferencia, y la información de vector de movimiento de predicción y el número de código asignado a la misma.
Como se describe en lo anterior, la asignación de número de código de este modo se puede cambiar, de modo que la asignación de número de código en cuanto la información de vector de movimiento de predicción puede cambiarse de manera que la eficiencia de codificación y la calidad de imagen subjetiva se mejoren, por ejemplo.
Por ejemplo, asignar números de código más pequeños a la información de vector de movimiento de predicción con una mayor frecuencia (tasa) de aparición, etcétera, puede realizarse, para que pueda mejorarse la eficiencia de codificación y la calidad de imágenes subjetiva.
La imagen comprimida codificada se transmite mediante una trayectoria de transmisión predeterminada, y se descodifica por un dispositivo de descodificación de imágenes .
[Ejemplo de Configuración del Dispositivo de Descodificación de Imágenes] La Figura 20 representa la configuración de una modalidad de un dispositivo de descodificación de imágenes que sirve como dispositivo de procesamiento de imágenes al cual se ha aplicado la presente invención.
Un dispositivo 101 de descodificación de imágenes se configura de una memoria intermedia 111 de almacenamiento, una unidad 112 de descodificación sin pérdida, una unidad 113 de cuantificación inversa, una unidad 114 de transformación ortogonal inversa, una unidad 115 de cómputo, un filtro 116 de desbloqueo, una memoria intermedia 117 de redisposición de pantalla, una unidad 118 de conversación de D/A, una memoria 119 de tramas, un conmutador 120, una unidad 121 de predicción intra, una unidad 122 de predicción/compensación de movimiento, una memoria intermedia 123 de asignación de número de código, una unidad 124 de generación de vector de movimiento de predicción, y un conmutador 125.
La memoria intermedia 111 de almacenamiento almacena una imagen comprimida transmitida. La unidad 112 de descodificación sin pérdida descodifica la información suministrada desde la memoria intermedia 111 de almacenamiento y se codifica por la unidad 66 de codificación sin pérdida en la Figura 7 utilizando un formato que corresponde al formato de codificación de la unidad 66 de codificación sin pérdida. La unidad 113 de cuantificación inversa somete la imagen descodificada por la unidad 112 de descodificación sin pérdida a cuantificación inversa utilizando un formato que corresponde al formato de cuantificación de la unidad 65 de cuantificación en la Figura 7. La unidad 114 de transformación ortogonal inversa somete el resultado de la unidad 113 de cuantificación inversa a transformación ortogonal inversa utilizando un formato que corresponde al formato de transformación ortogonal de la unidad 64 de transformación ortogonal en la Figura 7.
El resultado sometido a transformación ortogonal inversa se descodifica al agregarse con la imagen de predicción suministrada desde el conmutador 125 por la unidad 115 de cómputo. El filtro 116 de desbloqueo remueve el ruido del bloque de la imagen descodificada, después suministra a la memoria 119 de tramas para almacenamiento, y también produce a la memoria intermedia 117 de redisposición de pantalla .
La memoria intermedia 117 de redisposición de pantalla realiza la redisposición de imágenes. Específicamente, la secuencia de tramas redispuesta para secuencia de codificación por la memoria intermedia 62 de redisposición de pantalla en la Figura 7 se redispone en la secuencia de visualización original. La unidad 118 de conversión de D/A realiza la conversión de D/A de la imagen suministrada desde la memoria intermedia 117 de redisposición de pantalla, y produce en una pantalla no mostrada para visualización.
El conmutador 120 lee una imagen que se somete a procesamiento inter y una imagen que se hace referencia de la memoria 119 de tramas, se produce en la unidad 122 de predicción/compensación de movimiento, y también lee una imagen que se utiliza para predicción intra desde la memoria 119 de tramas, y suministra a la unidad 121 de predicción intra .
La información que indica el modo de predicción intra obtenido al descodificar la información de encabezado se suministra desde la unidad 112 de descodificación sin pérdida hasta la unidad 12 de predicción intra. La unidad 121 de predicción intra genera, basándose en esta información, una imagen de predicción, y produce la imagen de predicción generada en el conmutador 125.
De la información obtenida al descodificar la información de encabezado, la unidad 122 de predicción/compensación de movimiento, se suministra con la información de modo de predicción inter, la información de vector de movimiento de diferencia, el número de código en cuanto a la información de vector de movimiento de predicción, la información de trama de referencia, etcétera, desde la unidad 112 de descodificación sin pérdida. La información de modo de predicción inter se transmite cada macrobloque. El número de código en cuanto a la información de vector de movimiento de predicción y la información de tramas de referencia se transmiten cada bloque actual .
La unidad 122 de predicción/compensación de movimiento suministra el número de código de la información de vector de movimiento de predicción suministrado desde la unidad 112 de descodificación sin pérdida a la unidad 124 de generación de vector de movimiento de predicción, y obtiene la información de vector de movimiento de predicción generada por la unidad 124 de generación de vector de movimiento de predicción por consiguiente. La unidad 122 de predicción/compensación de movimiento utiliza la información de vector de movimiento de diferencia suministrada desde la unidad 112 de descodificación sin pérdida y la información de vector de movimiento de predicción desde la unidad 124 de generación de vector de movimiento de predicción para generar la información de vector de movimiento del bloque actual . La unidad 122 de predicción/compensación de movimiento utiliza la información de vector de movimiento generada para realizar el procesamiento de compensación en la imagen de referencia suministrada desde la memoria 119 de tramas, y genera valores de pixel de una imagen de predicción en cuanto al bloque actual, en el modo de predicción que indica la información del modo de predicción inter suministrada desde la unidad 112 de descodificación sin pérdida.
La memoria intermedia 123 de asignación de número de código almacena la información de asignación de número de código que es la información que indica la correlación entre la información de vector de movimiento de predicción por defecto (en el caso de modo fijo) y los números de código. También, la memoria intermedia 123 de asignación de número de código recibe de la unidad 112 de descodificación sin pérdida la información de indicador que indica si el modo es el modo variable donde la asignación de número de código se puede cambiar en cuanto a la información de vector de movimiento de predicción para cada división, o si el modo es el modo fijo donde se utilizan ajustes por defecto. En el caso en que esta información de indicador indica el modo variable, la memoria intermedia 123 de asignación de número de código recibe la asignación de número de código que corresponde a la información de vector de movimiento de predicción, es decir, la información de la correlación entre la información de vector de movimiento de predicción y el número de código, junto con la información de indicador. La memoria intermedia 123 de asignación de número de código entonces almacena la información de asignación de número de código que indica la correlación de la información de vector de movimiento de predicción y el numero de código en el caso del modo variable, y suministra éste a la unidad 124 de generación de vector de movimiento de predicción.
Para cada bloque, la unidad 124 de generación de vector de movimiento de predicción se suministra con el número de código que corresponde a la información de vector de movimiento de predicción para cada bloque desde la unidad 122 de predicción/compensación de movimiento, y la información de vector de movimiento de los bloques periféricos espacio-temporal. También, la unidad 124 de generación de vector de movimiento de predicción se suministra con asignación de número de código por defecto o de ajuste de lado de codificación desde la memoria intermedia 123 de asignación de número de código, para cada división.
La unidad 134 de generación de vector de movimiento de predicción utiliza la información suministrada a la misma para generar información de vector de movimiento de predicción para cada bloque, por una Expresión correspondiente de la Expresión (5) antes descrita, Expresión (9), y Expresión (10), y suministra la información de vector de movimiento de predicción generada a la unidad 122 de predicción/compensación de movimiento.
El conmutador 125 selecciona la imagen de predicción generada por la unidad 122 de predicción/compensación de movimiento o la unidad 121 de predicción intra, y suministra a la unidad 115 de cómputo.
Observe que con la unidad 75 de predicción/compensación de movimiento 76 de generación de vector de movimiento de predicción mostrada en la Figura 7, existe la necesidad de generar imágenes de predicción para todos los modos candidato, generar múltiple información de vector de movimiento de predicción candidato, calcular los valores de función de costo, y realizar selección de información de vector de movimiento de predicción y determinación de modo.
Inversamente, con la unidad 122 de predicción/compensación de movimiento y la unidad 124 de generación de vector de movimiento de predicción mostrado en la Figura 20, la información de modo que corresponde al bloque actual, el número de código en cuanto a la información de vector de movimiento de predicción, y la información de vector de movimiento de diferencia, se reciben desde el encabezado de la imagen comprimida, y sólo el procesamiento de compensación de movimiento que utiliza éstos se realiza. Observe que en este tiempo, la información de indicador que indica el modo variable o el modo fijo para la información de asignación de número de código en cuanto a la información de vector de movimiento de predicción enviado para cada división, y la asignación de número de código en cuanto a la información de vector de movimiento de predicción, se utilizan, para generar información de vector de movimiento de predicción, la cual también se utiliza para procesamiento de compensación de movimiento.
[Ejemplo de Configuración de la Unidad de Predicción/Compensación de Movimiento] La Figura 21 es un diagrama de bloque que ilustra un ejemplo de configuración detallado de la unidad 122 de predicción/compensación de movimiento. Observe que en la Figura 17, el conmutador 120 en la Figura 20 se omite.
En el ejemplo en la Figura 21, la unidad 122 de predicción/compensación de movimiento se configura de una memoria intermedia 131 de vector de diferente, una memoria intermedia 132 de número de código de nivel de bloque, una unidad 133 de generación de vector de movimiento, una memoria intermedia 134 de vector de movimiento, y una unidad 135 de compensación de movimiento.
La información de vector de movimiento de diferencia para cada bloque se suministra desde la unidad 112 de descodificación sin pérdida a la memoria intermedia 131 de vector de diferencia. La memoria intermedia 131 de vector de diferencia almacena la información de vector de movimiento de diferencia suministrada a la misma y aplica ésta a la unidad 133 de generación de vector de movimiento.
Los números de código, que indican qué información de vector de movimiento de predicción se utiliza para qué bloque, se suministran desde la unidad 112 de descodificación sin pérdida a la memoria intermedia 132 de número de código de nivel de bloque. La memoria intermedia 132 de número de código de nivel de bloque almacena los números de código de la información de vector de movimiento de predicción para cada bloque, y suministra a la unidad 124 de generación de vector de movimiento de predicción.
La información de vector de movimiento de diferencia desde la memoria intermedia 131 de vector de diferencia, y la información de vector de movimiento de predicción para cada bloque generado por la unidad 124 de generación de vector de movimiento de predicción, se suministran a la unidad 133 de generación de vector de movimiento. La unidad 133 de generación de vector de movimiento agrega la información de vector de movimiento de predicción del bloque actual a la información de vector de movimiento de diferencia del bloque actual, por lo que genera información de vector de movimiento del bloque actual . La unidad 133 de generación de vector de movimiento suministra la información de vector de movimiento generada a la memoria intermedia 134 de vector de movimiento y la unidad 135 de compensación de movimiento.
La memoria intermedia 134 de vector de movimiento almacena la información de vector de movimiento para cada bloque de la unidad 133 de generación de vector de movimiento como información de vector de movimiento periférico, para generar la información de vector de movimiento de predicción del siguiente bloque. La información de vector de movimiento periférico almacenada se suministra a la unidad 124 de generación de vector de movimiento de predicción.
La unidad 135 de compensación de movimiento somete la imagen de referencia desde la memoria 119 de tramas hasta el procesamiento de compensación en el modo de predicción que indica la información de modo de predicción, utilizando la información de vector de movimiento desde la unidad 133 de generación de vector de movimiento, generando por consiguiente una imagen de predicción.
[Descripción del Procesamiento de Descodificación del Dispositivo de Descodificación de Imágenes] Después, el procesamiento de descodificación que el dispositivo 101 de descodificación de imágenes ejecuta se describirá con referencia al diagrama de flujo en la Figura 22.
En la etapa S131, la memoria intermedia 111 de almacenamiento almacena la imagen transmitida. En la etapa S132, la unidad 112 de descodificación sin pérdida descodifica la imagen comprimida suministrada desde la memoria intermedia 111 de almacenamiento. Específicamente, la imagen I, la imagen P y la imagen B codificadas por la unidad 66 de codificación sin pérdida en la Figura 7, se descodifican.
En este tiempo, la información de vector de movimiento de diferencia, la información de tramas de referencia, la información de indicador de la asignación de número de código en cuanto a la información de vector de movimiento de predicción (mv_j?redictor_definition_flag) , la información de asignación de número de código que indica la relación de la misma si se encuentra disponible, y la información de modo de predicción (información que indica el modo de predicción intra o el modo de predicción inter) , etcétera, también se descodifican.
Es decir, en caso de que la información de modo de predicción sea información de modo de predicción intra, la información de modo de predicción se suministra a la unidad 121 de predicción. En caso de que la información de modo de predicción sea la información de modo de predicción inter, la información de vector de movimiento de diferencia y la información de tramas de referencia que corresponden a la información de modo de predicción se suministran a la unidad 122 de predicción/compensación de movimiento. También, la información de indicador de la asignación de número de código en cuanto la información de vector de movimiento de predicción, y la asignación de la misma si se encuentra disponible, se suministran a la unidad 123 de determinación de precisión de vector de movimiento.
En la etapa S133, la unidad 113 de cuantificación inversa cuantifica de manera inversa el coeficiente de transformación descodificado por la unidad 112 de descodificación sin pérdida utilizando una propiedad que corresponde con la propiedad de la unidad 65 de cuantificación en la Figura 7. En la etapa S134, la unidad 114 de transformación ortogonal inversa somete el coeficiente de transformación inversamente cuantificado por la unidad 113 de cuantificación inversa a transformación ortogonal inversa utilizando una propiedad que corresponde con la propiedad de la unidad 64 de transformación ortogonal en la Figura 7. Esto significa que la información de diferencia que corresponde con la entrada de la unidad 64 de transformación ortogonal en la Figura 7 (el resultado de la unidad 63 de cómputo) se ha descodificado .
En la etapa S135, la unidad 115 de cómputo agrega la imagen de predicción seleccionada en el procesamiento en la etapa S139 posteriormente descrita e ingresada mediante el conmutador 125, a la información de diferencia. De este modo, la imagen original se descodifica. En la etapa S136, el filtro 116 de desbloqueo somete la imagen producida desde la unidad 115 de cómputo a filtración. De este modo, la distorsión del bloque se elimina. En la etapa S137, la memoria 119 de tramas almacena la imagen sometida a filtración .
En la etapa S138, la unidad 121 de predicción intra o la unidad 122 de predicción/compensación de movimiento realizan el procesamiento de predicción de imagen correspondiente en respuesta a la información de modo de predicción suministrada desde la unidad 112 de descodificación sin pérdida.
Es decir, en el caso en que la información de modo de predicción intra se ha suministrado desde la unidad 112 de descodificación sin pérdida, la unidad 121 de predicción intra realiza el procesamiento de predicción intra en el modo de predicción intra. En caso de que la información de modo predicción Ínter se ha suministrado desde la unidad 112 de descodificación sin pérdida, la unidad 122 de predicción/compensación de movimiento realiza el procesamiento de predicción/compensación de movimiento en el modo de predicción inter. En este tiempo, la información de asignación de número de código que corresponde con la información de indicador para la asignación de número de código en cuanto a la información de vector de movimiento de predicción se utiliza para generar la información de vector de movimiento de predicción, con la cual y también la información de vector de movimiento de diferencia, se genera la información de vector de movimiento. La información de vector de movimiento generada entonces se utiliza para realizar procesamiento de compensación en cuanto a la imagen de referencia, por lo que se genera una imagen de predicción en el modo de predicción intra.
Los detalles del procesamiento de predicción en la etapa S138 se describirán posteriormente con referencia a la Figura 23, pero de acuerdo con este procesamiento, la imagen de predicción generada por la unidad 121 de predicción intra o la imagen de predicción generada por la unidad 122 de predicción/compensación de movimiento se suministra al conmutador 125.
En la etapa S139, el conmutador 125 selecciona la imagen de predicción. Específicamente, la imagen de predicción generada por la unidad 121 de predicción intra o la imagen de predicción generada por la unidad 122 de predicción/compensación de movimiento se suministra. Por consiguiente, la imagen de predicción suministrada se selecciona, se suministra a la unidad 115 de cómputo, y se agrega al resultado de la unidad 114 de transformación ortogonal inversa en la etapa S135, como se describe en lo anterior .
En la etapa 140, la memoria intermedia 117 de redisposición de pantalla realiza redisposición. Específicamente, la secuencia de tramas redispuesta para codificar por la memoria intermedia 62 de redisposición de pantalla del dispositivo 51 de codificación de imágenes se redispone en la secuencia de visualización original.
En la etapa S141, la unidad 118 de conversión de D/A realiza conversión de D/A de la imagen desde la memoria 117 de redisposición de pantalla. Esta imagen se produce en una pantalla no mostrada, y la imagen se despliega.
[Descripción del Procesamiento de Predicción del Dispositivo de Descodificación de Imágenes] Después, el procesamiento de predicción en la etapa S138 en la Figura 22 se describirá con referencia al diagrama de flujo en la Figura 23.
En la etapa S171, la memoria intermedia 123 de asignación de número de código recibe la mv_jpredictor_definition_flag) en el encabezado de división de la unidad 112 de descodificación sin pérdida. La memoria 123 de asignación de número de código entonces determina en la etapa S172 si el mv_predictor_definition_flag) indica o no 1.
En caso de que se haga la determinación en la etapa S172 de que mv_predictor_definition_flag) indica 1, éste es el modo variable donde la asignación de código a la información de vector de movimiento de predicción se puede cambiar. Por consiguiente, en la etapa S173, la memoria intermedia 123 de asignación de número de código recibe la información de asignación de número de código en cuanto a la información de vector de movimiento de predicción en el encabezado de división de la unidad 112 de descodificación sin pérdida, y almacena temporalmente esto. La memoria intermedia 123 de asignación de número de código entonces suministra la asignación del número de código almacenada a la unidad 124 de generación de vector de movimiento de predicción.
También, en el caso en que se hace la determinación en la etapa S172 de que mv_j?redictor_definition_flag) indica 0, éste es el modo fijo para la asignación de código en cuanto a la información de vector de movimiento de predicción, de modo que se salta la etapa S173. En este caso, la memoria intermedia 123 de asignación de número de código suministra la información de asignación de número de código por defecto almacenada a la unidad 124 de generación de vector de movimiento de predicción.
En la etapa S174, la unidad 121 de predicción intra determina si el bloque actual se ha sometido o no a codificación intra. Con la información del modo de predicción intra siendo suministrada desde la unidad 112 de descodificación sin pérdida a la unidad 121 de predicción intra, en la etapa S174 la unidad 121 de predicción intra determina que el bloque actual se ha sometido a codificación intra, y que el procesamiento procede a la etapa S175.
En la etapa S175, la unidad 121 de predicción intra obtiene la información de modo de predicción intra, y en la etapa S176 realiza predicción intra.
Es decir, en caso de que la imagen que se procesa sea una imagen que va a someterse a procesamiento intra, la imagen necesaria se lee de la memoria 119 de tramas, y se suministra a la unidad 121 de predicción intra mediante el conmutador 120. En la etapa S176, la unidad 121 de predicción intra realiza predicción intra de acuerdo con la información de modo de predicción intra obtenida en la etapa S135 para generar una imagen de predicción. La imagen de predicción generada se produce en el conmutador 125.
Por otro lado, en caso que la determinación se haga en la etapa S174 que no se ha realizado la codificación intra, el procesamiento procede a la etapa S177.
En caso de que la imagen que se procesa sea una imagen que va a procesarse inter, la unidad 122 de predicción/compensación de movimiento se suministra con información de modo de predicción inter para cada bloque desde la unidad 112 de descodificación sin pérdida, y también la información de tramas de referencia para cada bloque, la información de vector de movimiento de diferencia y el número de código en cuanto a la información de vector de movimiento de predicción.
En la etapa S178, la unidad 122 de predicción/compensación de movimiento obtiene el modo de predicción inter, la información de trama de referencia, la información de vector de movimiento de diferencia, y el número de código en cuanto a la información de vector de movimiento de predicción. La información de vector de movimiento de diferencia obtenida se almacena en la memoria intermedia 131 de vector de diferencia. El número de código en cuanto a la información de vector de movimiento de predicción se almacena en la memoria intermedia 132 de número de código de nivel de bloque. La información de modo de predicción inter y la información de tramas de referencia se suministran a la unidad 133 de generación de vector de movimiento, aunque no se ilustra en el ejemplo en la Figura 21.
En la etapa S178, la unidad 133 de generación de vector de movimiento y la unidad 124 de generación de vector de movimiento de predicción realizan reconstrucción de información de vector de movimiento. Es decir, la unidad 124 de generación de vector de movimiento de predicción obtiene los tipos de información de vector de movimiento de predicción, basándose en la información de asignación de número de código desde la memoria intermedia 123 de asignación número de código y el número de código asignado a la información de vector de movimiento de predicción para cada bloque desde la memoria intermedia 132 de número de código de nivel de bloque. La unidad 124 de generación de vector de movimiento de predicción entonces genera la información de vector de movimiento de predicción para cada bloque por la Expresión correspondiente de la Expresión (5) antes descrita, Expresión (9), y Expresión (19), utilizando la información de vector de movimiento periférico de la memoria intermedia 134 de vector de movimiento. La información de vector de movimiento de predicción generada se suministra a la unidad 133 de generación de vector de movimiento .
La unidad 133 de generación de vector de movimiento agrega la información de vector de movimiento de predicción del bloque actual desde la unidad 124 de generación de vector de movimiento de predicción hasta la información de movimiento de diferencia del bloque actual desde la memoria intermedia 131 de vector de diferencia, y genera información de vector de movimiento del bloque actual . La información de vector de movimiento generada se suministra a la unidad 135 de compensación de movimiento junto con la información del modo de predicción inter . También, la información de vector de movimiento también se suministra a la memoria intermedia 134 de vector de movimiento y se almacena.
En la etapa S179, la unidad 135 de compensación de movimiento somete la imagen de referencia desde la memoria 119 de tramas hasta el procesamiento de compensación en el modo de predicción que indica la información del modo de predicción, utilizando la información de vector de movimiento desde la unidad 133 de generación de vector de movimiento. La imagen de predicción generada se suministra al conmutador 125.
Como se describe en lo anterior, con el dispositivo 51 de codificación de imágenes y el dispositivo 101 de descodificación de imágenes, se proporciona un modo variable en el cual la asignación de número de código en cuanto a la información de vector de movimiento de predicción se puede cambiar, de modo que la asignación de número de código en cuanto a la información de vector de movimiento de predicción puede cambiarse.
Por consiguiente, la asignación de número de código en cuanto a la información de vector de movimiento de predicción puede cambiarse por el usuario o una aplicación, de manera que la eficiencia de codificación o la calidad de imagen subjetiva se mejora. Como resultado, la eficiencia de codificación y la calidad de imagen subjetiva puede mejorarse, por lo que se logra una mayor eficiencia de codificación .
[Otro Ejemplo de Configuración del Dispositivo de Codificación de Imágenes] La Figura 24 ilustra la configuración de otra modalidad de un dispositivo de codificación de imágenes que sirve como dispositivo de procesamiento de imágenes.
El dispositivo 151 de codificación de imágenes en la Figura 24 es común con el dispositivo 51 de codificación de imágenes en la Figura 7 con respecto al punto de tener una unidad 61 d conversión de A/D, la memoria intermedia 62 de redisposición de pantalla, la unidad 63 de cómputo, , la unidad 64 de transformación ortogonal, la unidad 65 de cuantificación, la memoria intermedia 67 de almacenamiento, la unidad 68 de cuantificación inversa, la unidad 69 de transformación ortogonal inversa, la unidad 70 de cómputo, el filtro 71 de desbloqueo, la memoria 72 de tramas, el conmutador 73, la unidad 74 de predicción intra, la unidad 75 de predicción/compensación de movimiento, la unidad 76 de generación de vector de movimiento de predicción, la unidad 78 de selección de imagen de predicción, y la unidad 79 de control de tasa. También, el dispositivo 151 de codificación de imágenes en la Figura 24 difiere del dispositivo 51 de codificación de imágenes en la Figura 7 con respecto al punto de la unidad 77 de asignación de número de código y la unidad 66 de codificación sin pérdida que se ha reemplazado por unidad 161 de asignación de número de código y la unidad 162 de codificación sin pérdida, respectivamente, y el punto de una unidad 163 de determinación de asignación de número de código óptimo que se ha agregado.
Es decir, con el dispositivo 51 de codificación de imágenes en la Figura 7, la asignación de números de código en cuanto a cada información de vector de movimiento de predicción, la cual es la correlación entre la información de vector de movimiento de predicción y los números de código, se estableció por el usuario o por una aplicación. Inversamente, con el dispositivo 151 de codificación de imágenes en la Figura 24, cada información de asignación de número de código que es posible para la imagen actual o división se genera. Toda la información de codificación (imagen comprimida) con respecto a la imagen actual o división se genera utilizando cada información de asignación de número de código, y éstas se almacenan temporalmente en la unidad 162 de codificación sin pérdida.
Esta información de codificación toda se suministra a la unidad 163 de determinación de asignación de número de código óptimo. La unidad 163 de determinación de asignación de número de código óptimo genera un valor de función de costo a cada asignación, toma una asignación de número de código de la cual el valor es el más pequeño como asignación óptima, en cuanto a la imagen actual o división, y suministra esta información a la unidad 162 de codificación sin pérdida.
De la información de codificación (imagen comprimida) con respecto a cada asignación de número de código que se almacena, la unidad 162 de codificación sin pérdida sólo produce la memoria intermedia 67 de almacenamiento que se relaciona con la asignación óptima.
El dispositivo de lado de descodificación que corresponde con este dispositivo 151 de codificación de imágenes básicamente es de la misma configuración que el dispositivo 101 de descodificación de imágenes en la Figura 20, y por consiguiente la descripción del mismo se omitirá.
Como se describe en lo anterior, la asignación de código en cuanto a la información de vector de movimiento de predicción no se restringe al establecerse por un usuario o aplicación, y una disposición puede hacerse donde la asignación de código óptima se descodifica de la asignación de código como la información de vector de movimiento de predicción en el dispositivo de codificación de imágenes, para mejorar la eficiencia de codificación y la calidad de imagen subjetiva.
Observe que la descripción que se ha hecho en lo anterior con respecto a utilizar información de vector de movimiento de predicción temporal, información de vector de movimiento de predicción espacial, e información de vector de movimiento de predicción de predicción espacio-temporal, como información de vector de movimiento de predicción candidato, pero otra información de vector de movimiento de predicción puede utilizarse como candidatos también, como algo natural.
[Información de vector de movimiento de Predicción] Aunque la descripción se ha hecho en lo anterior utilizando el método descrito en NPL 1 como ejemplo de un método de generación de información de vector de movimiento de predicción, el siguiente método, , por ejemplo, puede aplicarse, sin restricción a esto.
Por ejemplo, en el caso del método ilustrado en el NPL 1 antes descrito, entre mayor sea el número de información de vector de movimiento de predicción candidato que la información de vector de movimiento de predicción que sirve como candidatos, mayor es la cantidad de procesamiento que tiene la cantidad de cómputo. También, con un GOP actual, mejorar la calidad de imagen de una imagen de referencia tal como una imagen P por ejemplo, también mejora la calidad de imagen de una imagen B que hace referencia a la misma.
Por consiguiente, una disposición puede hacerse donde la unidad 75 de predicción/compensación de movimiento realiza predicción/compensación de movimiento (procesamiento de codificación) utilizando un mayor número de información de vector de movimiento candidato con respecto a una imagen referida (por ejemplo, imagen P, etc.). También, una disposición puede hacerse donde la unidad 75 de predicción/compensación de movimiento realiza predicción/compensación de movimiento (procesamiento de codificación) utilizando un menor número de información de vector de movimiento candidato con respecto a la imagen que no se hace referencia (por ejemplo, imagen B, etc.), o codificación de vector de movimiento como con AVC se realiza en lugar de realizar procesamiento tal como se ilustra en NPL 1.
Por ejemplo, en un caso donde la codificación de una imagen de referencia cuando se procesa a otra imagen, la unidad 76 de generación de vector de movimiento de predicción se hace para generar una información de vector de movimiento candidato mayor que con un caso para codificar una imagen no mencionada cuando se procesa otra imagen. Es decir, en este caso, la unidad 93 de selección de vector de movimiento de predicción óptimo selecciona la información de vector de movimiento de predicción óptimo de un mayor número de información de vector de movimiento candidato.
También, en un caso de codificar una imagen no mencionada cuando se procesa otra imagen, la unidad 76 de generación de vector de movimiento de predicción se hace para generar menos información de vector de movimiento candidato que con un caso de codificar una imagen mencionada cuando se procesa otra imagen, o alternativamente, genera una información de vector de movimiento de predicción simple como con AVC . Es decir, en este caso, la unidad 93 de selección de vector de movimiento de predicción óptimo selecciona la información de vector de movimiento de predicción óptimo de un menor número de información de vector de movimiento candidato o toma una información de vector de movimiento de predicción generada simple como información de vector de movimiento de predicción óptimo.
De este modo, el dispositivo de codificación de imágenes puede mejorar la eficiencia de codificación con una menor cantidad de cómputo .
En este caso también, el dispositivo de codificación de imágenes almacena información con respecto a qué vector de movimiento de predicción candidato utilizar, en cada encabezado de división o parámetro de imagen establecido (por ejemplo, esta información se transmite al lado del dispositivo de descodificación) .
[Macrobloques ] También, en la descripción anterior, el tamaño de macrobloque se ha descrito con respecto a un caso de 16 x 16 pixeles, pero la presente tecnología puede aplicarse a tamaños de macrobloque extendidos también.
La Figura 25 es un diagrama que ilustra un ejemplo de un tamaño de macrobloque extendido .
Los macrobloques formados de 32 x 32 pixeles divididos en bloques (particiones) de 32 x 32 pixeles, 32 x 16 pixeles, 16 x 32 pixeles, y 16 x 16 pixeles se muestran desde la izquierda en orden en la fila superior en la Figura 25. Los bloques formados de 16 x 16 pixeles divididos en bloques de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles y 8 x 8 pixeles se muestran desde la izquierda en orden a la fila media en la Figura 25. También, los bloques formados de 8 x 8 pixeles divididos en bloques de 8 x 8 pixeles, 8 x 4 pixeles, 4 x 8 pixeles, y 4 x 4 pixeles se muestran desde la izquierda en orden en la fila inferior en la Figura 25.
En otras palabras, los macrobloques de 32 x 32 pixeles pueden procesarse 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 Figura 25.
También, los bloques de 16 x 16 pixeles mostrados en el lado derecho en la fila superior pueden procesarse con bloques de 16 x 16 pixeles, 16 x 8 pixeles, 8 x 16 pixeles y 8 x 8 pixeles mostrados en la fila media en la misma forma que con el formato H.264/AVC.
Además, los bloques de 8 x 8 pixeles mostrados en el lado derecho en la fila media pueden procesarse con bloques de 8 x 8 pixeles, 8 x 4 pixeles, 8 x 8 pixeles y 4 x 4 pixeles mostrados en la fila inferior en la misma forma que con el formato H.264/AVC.
Con los tamaños de macrobloques extendidos, al emplear tal estructura jerárquica, con respecto a un bloque de 16 x 16 pixeles o menos, o un bloque más grande se define como subconjunto del mismo mientras mantiene su compatibilidad con el formato H.264/AVC.
La presente tecnología también puede aplicarse a los tamaños de macrobloques extendidos propuestos como se describe en lo anterior. En caso de que la presente tecnología se aplique a tamaños de macrobloques extendidos también, se asignan números de código diferentes a la información de vector de movimiento de predicción entre macrobloques normales y macrobloques extendidos, por ejemplo, un macrobloque normal se configure de 16 x 16 pixeles, y un macrobloque extendido se configura de 32 x 32 pixeles.
La descripción se ha hecho en cuanto a utilizar el formato H.264/AVC como base como formato de codificación, pero no se restringe a esto. Es decir, la presente tecnología puede aplicarse a otros formatos de codificación/ formatos de descodificación que realicen predicción/compensación de movimiento y además utilicen múltiple información de vector de movimiento de predicción para codificar información de vector de movimiento.
[Unidad de Codificación] Ahora, el tamaño de macrobloque de 16 x 16 pixeles no es óptimo para camas de imágenes grandes tales como UHV (Ultra Alta Definición; 4000 x 2000 pixeles) que se manejarán por formatos de codificación de siguiente generación.
Por consiguiente, la estandarización de un formato de codificación denominado como HVC (Codificación de Video de Alta Eficiencia) actualmente se ha hecho avanzar por JCTBC (Codificación de Video de Equipo de Colaboración Conjunta) que sirve como organización de estandarización de colaboración entre ITU-T (Sector de Estandarización de Telecomunicación de Unión de Telecomunicación Internacional) e ISO (Organización Internacional para la Estandarización) /IEC con mejora adicional en la eficiencia de codificación.
Con AVC, una estructura jerárquica se estipula de macrobloques y sub-macroblogues , como se muestra en la Figura 2, la unidad de codificación (CU (Unidad de Codificación)) se estipula con HEVC, como se muestra en la Figura 31.
Una (CU) también se denomina como bloque de árbol de codificación (CTB) , y es una región parcial de una imagen en incrementos de imagen, que sirve como la misma función que un macrobloque en AVC. Mientras este último se fija en el tamaño de 16 x 16 pixeles, el tamaño del anterior no es fijo, y se especifica dentro de la información comprimida de imagen en la secuencia respectiva.
Por ejemplo, las CU que tienen el tamaño máximo (LCU (Unidad de Codificación Grande) ) , y el tamaño mínimo (SCU (Unidad de Codificación Más Pequeña) ) se estipulan en un conjunto de parámetros de secuencia (SPS (Conjunto de Parámetros de Secuencia) ) incluido en los datos codificados que van a producirse.
Dentro de cada LCU, puede hacerse una división en la LCU de tamaños más pequeños al establecer el indicador dividido = 1 dentro de un margen de no menos del tamaño de una SCU. En el ejemplo en la Figura 31, el tamaño de LCU es de 128, y la profundidad jerárquica máxima es de 5. Una CU que tiene un tamaño de 2n x 2n se divide en una CU que tiene tamaños de n x n que se vuelve un nivel jerárquico inferior cuando el valor de split_flag es "1".
Además, una CU se divide en unidades de predicción (Unidad de Predicción (PU) ) que son regiones (regiones parciales de una imagen en incrementos de imagen) que sirven como incrementos de predicción intra o ínter, y también se dividen en unidades de transformación (Unidad de Transformación (TU) ) que sirve como regiones (Regiones Parciales de Una Imagen en Incrementos de Imagen) que son incrementos de procesamiento de transformación ortogonal. Actualmente, con el formato de codificación de HEVC, además de una transformación ortogonal de 4 x 4 y 8 x 8, 16 x 16 y 32 x 32 puede emplearse.
En un caso de un formato de codificación donde las CU se definen y las CU se utilizan como incrementos para realizar tipos diversos de procesamiento, como con HEVC descrita en lo anterior, los macrobloques en AVC pueden considerarse como equivalentes de LCU. Sin embargo, observe que una CU tiene una estructura jerárquica como se muestra en la Figura 31, de modo que el tamaño del nivel jerárquico más alto LCU generalmente se establece más grande que un macrobloque de AVC, tal como 128 x 128 pixeles, por ejemplo.
La presente tecnología también puede aplicarse a formatos de codificación que utilizan CU, PU, TU, etcétera, en lugar de macrobloques . Es decir, los incrementos de procesamiento para procesamiento de predicción pueden ser regiones opcionales .
También, el control de cambio de los números de código puede disponerse para realizarse en incrementos de procesamiento opcionales, y puede realizarse cada región de unidades de procesamiento de predicción, tales como CU, PU, etcétera, no sólo secuencias, imágenes y divisiones. En este caso, la forma de la asignación de número de código en cuanto a la información de vector de movimiento de predicción en esa región se controla de acuerdo con las características de movimiento de la región que va a procesarse, más específicamente, si la región que va a procesarse (región actual) es una región configurada de una imagen fija (región fija) o es una región configurada de una imagen de un objeto en movimiento (región de movimiento) . Es decir, en este caso, si la región es o no una región fija se distingue para cada región.
[Dispositivo de Codificación de Imágenes] La Figura 32 es un diagrama de bloque que ilustra un ejemplo de configuración primario de un dispositivo de codificación de imágenes en este caso.
El dispositivo 700 de codificación de imágenes mostrado en la Figura 32 básicamente es de la misma configuración que el dispositivo 51 de codificación de imágenes en la Figura 7, y codifica datos de imagen. Se dirá que el dispositivo 700 de codificación de imágenes realiza procesamiento ínter cada unidad de predicción (PU) , como se describe con referencia a la Figura 31.
Como se muestra en la Figura 32, el dispositivo 700 de codificación de imágenes se configura de una unidad 701 de conversión de A/D, una memoria intermedia 702 de redisposición de pantalla, una unidad 703 de cómputo, una unidad 704 de transformación ortogonal, una unidad 705 de cuantificación, una unidad 706 de codificación sin pérdida, y una memoria intermedia 707 de almacenamiento. También, el dispositivo 700 de de codificación de imágenes tiene una unidad 708 de cuantificación inversa, una unidad 709 de transformación ortogonal inversa, una unidad 710 de cómputo, un filtro 711 de desbloqueo, memoria 712 de tramas, un conmutador 713, una unidad 714 de predicción intra, una unidad 715 de predicción/compensación de movimiento, una unidad 716 de selección de imagen de predicción, y una unidad 717 de control de tasa.
El dispositivo 700 de codificación de imágenes además tiene una unidad 721 de determinación de región fija y una unidad 722 de codificación de vector de movimiento La unidad 701 de conversión de A/D realiza conversión de A/D de una imagen de entrada, y suministra los datos de imagen después de la conversión (datos digitales) a la memoria intermedia 702 de redisposición de pantalla para almacenamiento. La memoria intermedia 702 de redisposición de pantalla redispone las imágenes de tramas en el orden almacenado para presentación en el orden de tramas para codificar de acuerdo GOP, y suministra las imágenes de las cuales se ha redispuesto el orden de tramas a unidad 703 de cómputo. También, la memoria intermedia 702 de redisposición de pantalla suministra las imágenes de las cuales se ha redispuesto el orden de tramas a la unidad 714 de predicción intra y la unidad 715 de predicción/compensación de movimiento .
La unidad 703 de cómputo sustrae, de la imagen leída de la memoria intermedia 702 de redisposición de pantalla, la imagen de predicción suministrada desde unidad 714 de predicción intra o la unidad 715 de compensación/compensación de movimiento mediante la unidad 716 de selección de imagen de predicción de la imagen leída de la memoria intermedia 702 de redisposición de pantalla, y produce la información de diferencia de la misma a la unidad 704 de transformación ortogonal.
Por ejemplo, en el caso de una imagen en la cual codificación inter va a realizarse, la unidad 703 de cómputo sustrae la imagen de predicción sustraída de la unidad 715 de compensación/compensación de movimiento, de la imagen leída de la memoria intermedia 702 de redisposición de pantalla.
La unidad 704 de transformación ortogonal somete la información de diferencia desde la unidad 703 de cómputo hasta la transformación ortogonal, tal como transformación de coseno discreto, transformación de Karhunen-Loéve, o similares. El método de transformación ortogonal aquí es opcional. La unidad 704 de transformación ortogonal produce el coeficiente de transformación de la misma en la unidad 705 de cuantificación.
La unidad 705 de cuantificación cuantifica el coeficiente de transformación suministrado desde la unidad 704 de transformación ortogonal. La unidad 705 de cuantificación establece los parámetros de cuantificación con respecto a los valores objetivo de la cantidad de código suministrada dése la unidad 717 de control de tasa, y realiza la cuantificación . Observe que el método para esta cuantificación es opcional. La unidad 705 de cuantificación suministra el coeficiente de transformación cuantificado a la unidad 706 de codificación sin pérdida.
La unidad 706 de codificación sin pérdida codifica el coeficiente de transformación cuantificado en la unidad 705 de cuantificación por un método de codificación opcional. Los datos de coeficiente se cuantifican bajo el control de la unidad 717 de control de tasa, y por consiguiente, la cantidad de códigos de la misma es el valor objetivo establecido por la unidad 717 de control de tasa (o se aproxima al valor objetivo) .
También, la unidad 706 de codificación sin pérdida obtiene información que indica predicción intra de la unidad 714 de predicción intra, y obtiene información que indica un modo de predicción intra-inter, etcétera de la unidad 715 de predicción/compensación de movimiento. Además, la unidad 706 de codificación sin pérdida obtiene coeficientes de filtro y similares utilizados en el filtro 711 de bucle.
La unidad 706 de codificación sin pérdida codifica estos diversos tipos de información, y toma éstos como parte de la información de encabezado de los datos codificados (multiplexa) . La unidad 706 de codificación sin pérdida suministra los datos codificados a la memoria intermedia 707 de almacenamiento para almacenaje.
Con la unidad 706 de codificación sin pérdida, ejemplos de procesamiento de codificación sin pérdida incluyen codificación de longitud variable, codificación aritmética, etcétera. Ejemplos de la codificación de longitud variable incluyen de CAVLC (Codificación de Longitud Variable de Contexto Adaptable) estipulada por el formato H.264/AVC, etcétera. Ejemplos de la codificación aritmética incluyen CABAC (Codificación Aritmética Binaria de Contexto Adaptable) , etcétera.
La memoria intermedia 707 de almacenamiento contiene temporalmente los datos codificados suministrados desde la unidad 706 de codificación sin pérdida. La memoria intermedia 707 de almacenamiento produce los datos mantenidos ahí, por ejemplo, en un dispositivo de almacenamiento corriente abajo (medio de grabación) o trayectoria de transmisión o similar, no mostrada en los dibujos.
También, el coeficiente de transformación cuantificado producido de la unidad 705 de cuantificación también se ingresa en la unidad 708 de cuantificación inversa. La unidad 708 de cuantificación inversa realiza cuantificación inversa del coeficiente de transformación cuantificado con un método que corresponde con la cuantificación por la unidad 705 de cuantificación. Cualquier método será suficiente para este método de cuantificación inversa, siempre y cuando corresponda con el procesamiento de cuantificación por la unidad 705 de cuantificación. La unidad 708 de cuantificación inversa suministra el coeficiente de transformación obtenido a la unidad 709 de transformación ortogonal inversa.
La unidad 709 de transformación ortogonal inversa realiza la transformación ortogonal inversa del coeficiente de transformación suministrado desde la unidad 708 de cuantificación inversa con un método que corresponde con el procesamiento de transformación ortogonal por la unidad 704 de transformación ortogonal. Cualquier método será suficiente para este método de transformación ortogonal inversa, siempre y cuando corresponda con el procesamiento de transformación ortogonal por la unidad 704 de transformación ortogonal. El resultado sometido a transformación ortogonal inversa (información de diferencia restablecida) se suministra en la unidad 710 de cómputo.
La unidad 710 de cómputo agrega los resultados de la transformación ortogonal inversa suministrados desde la unidad 709 de transformación ortogonal inversa, es decir, la información de diferencia restablecida, a la imagen de predicción suministrada desde la unidad 714 de predicción intra o la unidad 715 de compensación/compensación de movimiento mediante la unidad 716 de selección de imagen de predicción, para obtener una imagen localmente descodificada (imagen descodificada) . La imagen descodificada se suministra al filtro 711 de bucle o memoria 712 de tramas.
El filtro 711 de bucle incluye un filtro de desbloqueo y el filtro de bucle adaptable y similar, y realiza procesamiento de filtración cuando es adecuado en la imagen descodificada suministrada desde la unidad 710 de cómputo. Por ejemplo, el filtro 711 de bucle elimina el ruido de bloque de la imagen descodificada al realizar procesamiento de filtro de desbloqueo en la imagen descodificada. También, por ejemplo, el filtro 711 de bucle realiza mejora de calidad de imagen en el filtro de desbloqueo que procesa los resultados (imagen descodificada sometida a remoción de ruido de bloque) al realizar procesamiento de filtro de bucle utilizando un filtro de wiener (Filtro de Wiener) .
Observe que una disposición puede hacerse donde el filtro 711 de bucle realiza procesamiento de filtro opcional de la imagen descodificada. También, una disposición puede hacerse donde el filtro 711 de bucle suministra información tal como el coeficiente de filtro y similares utilizado en el procesamiento de filtro en la unidad 706 de codificación sin pérdida cuando es necesario, para tener éstos codificados.
El filtro 711 de bucle suministra los resultados de procesamiento de filtro (imagen descodificada después del procesamiento de filtro) en la memoria 712 de tramas. Observe que como se describe en lo anterior, el resultado de imagen descodificada de la unidad 710 de cómputo puede suministrarse en la memoria 712 de tramas sin pasar a través del filtro 711 de bucle. Es decir, el procesamiento de filtro por el filtro 711 de bucle puede omitirse.
La memoria 712 de tramas almacena la imagen suministrada a la misma, y suministra la imagen descodificada almacenada a la unidad 713 de selección en un tiempo predeterminado, tal como una imagen de referencia.
La unidad 713 de selección selecciona el destino de suministro de la imagen de referencia suministrada desde la memoria 712 de tramas. Por ejemplo, en el caso de predicción ínter, la unidad 713 de selección suministra la imagen de referencia suministrada desde la memoria 712 de tramas hasta la unidad 715 de compensación/compensación de movimiento.
La unidad 714 de predicción intra utiliza los valores de pixel dentro de la imagen que va a procesarse, la cual es la imagen de referencia suministrada desde la memoria 712 de tramas mediante la unidad 713 de selección, para realizar predicción intra (predicción intra-pantalla) para generar una imagen de predicción, básicamente en incrementos de procesamiento de PU. La unidad 714 de predicción intra realiza esta predicción intra en múltiples modos (modos de predicción intra) preparados de antemano. La unidad 714 de predicción intra no se restringe a los modos estipulados por el formato de codificación AVC, y puede realizar esta predicción intra con otros modos opcionales también.
La unidad 714 de predicción intra genera imágenes de predicción en todos los modos de predicción intra candidatos, evalúa los valores de función de costo de las imágenes de predicción utilizando la imagen de entrada suministrada desde la memoria intermedia 702 de redisposición de pantalla, y selecciona un modo óptimo. Al seleccionar el modo de predicción intra óptimo, la unidad 714 de predicción intra suministra una imagen de predicción generada con este modo óptimo a la unidad 716 de selección de imagen de predicción También, como se describe en lo anterior, la unidad 714 de predicción intra suministra la información de modo de predicción intra que indica el modo de predicción intra que se ha empleado, etcétera, a la unidad 706 de codificación sin pérdida cuando es adecuado .
La unidad 715 de predicción/compensación de movimiento utiliza la imagen de entrada suministrada desde la memoria intermedia 702 de redisposición de pantalla, y la imagen de referencia suministrada desde la memoria 712 de tramas mediante la unidad 713 de selección, para realizar predicción de movimiento (predicción inter) básicamente en incrementos de procesamiento de PU, y realiza el procesamiento de compensación de movimiento de acuerdo con vectores de movimiento detectados, por lo que se genera una imagen de predicción (información de imagen de predicción inter) . La unidad 715 de predicción/compensación de movimiento realiza esta predicción inter en múltiples modos (modos de predicción inter) preparados de antemano. La unidad 715 de predicción/compensación de movimiento no se restringe a modos estipulados por el formato de codificación de AVC, y puede realizar esta predicción intra con otros modos opcionales también.
La unidad 715 de predicción/compensación de movimiento genera imágenes de predicción en todos los modos de predicción inter candidatos, evalúa los valores de función de costo de imágenes de predicción, y selecciona un modo óptimo. Al seleccionar un modo de predicción inter óptimo, la unidad 715 de predicción/compensación de movimiento suministra la imagen de predicción generada en este modo óptimo a la unidad 716 de selección de imagen de predicción.
La unidad 715 de predicción/compensación de movimiento suministra la unidad 706 de codificación sin pérdida con información que indica el modo de predicción inter que se ha empleado, y la información necesaria para realizar procesamiento en este modo de predicción inter al momento de descodificar datos codificados, etcétera, a la unidad 706 de codificación sin pérdida, para codificarse.
La unidad 716 de selección de imagen de predicción selecciona la fuente de suministro de la imagen de predicción que va a suministrarse a las unidades 703 y 710 de cómputo. Por ejemplo, en el caso de codificación inter, la unidad 716 de selección de imagen de predicción selecciona la unidad 715 de predicción/compensación de movimiento como la fuente de suministro de la imagen de predicción, y suministra la imagen de predicción suministrada desde la unidad 715 de predicción/compensación de movimiento a las unidades 703 y 710 de cómputo.
La unidad 717 de control de tasa controla la tasa de las operaciones de cuantificación de la unidad 705 de cuantificación, basándose en la cantidad de códigos de los datos codificados almacenados en la memoria intermedia 707 de almacenamiento, de manera que no ocurra sobreflujo o infraflujo .
La unidad 721 de determinación de región fija distingue si la región actual es una región fija o no (determinación de región fija) . La unidad 721 de determinación de región fija suministra los resultados de determinación con respecto a si es o no una región fija, a la unidad 722 de codificación de vector de movimiento.
La unidad 722 de codificación de vector de movimiento controla la asignación del número de código en cuanto a la información de vector de movimiento de predicción en un modo de competencia MV, basándose en los resultados de determinación con respecto a si es o no una región fija, suministrada desde la unidad 721 de determinación de región fija .
Más específicamente, la unidad 722 de codificación de vector de movimiento genera toda la información de vector de movimiento de predicción con respecto a todos los modos de predicción inter utilizando la información de movimiento de la región periférica de la región actual, y asigna los números de código para cada información de vector de movimiento de predicción generada con u n método basado en los resultados de determinación de región fija. Además, la unidad 722 de codificación de vector de movimiento determina una información de vector de movimiento de predicción óptimo, y genera diferencia entre la información de vector de movimiento de predicción óptimo y la información de movimiento (vector de movimiento) de la región actual (información de movimiento de diferencia) . La unidad 722 de codificación de vector de movimiento suministra la información de movimiento de diferencia generada u el número de código de la información de vector de movimiento de predicción a la unidad 715 de predicción/compensación de movimiento .
[Determinación de Región Fija y Asignación de Número de Código] Primero, la determinación de la región fija por la unidad 721 de determinación de región fija se describirá en detalle adicional .
Como se muestra en la Figura 33, por ejemplo, la determinación de región fija por la unidad 721 de determinación de región fija se realiza utilizando información de movimiento en cuanto a la región Co-Ubicada en una imagen de referencia que ya se ha procesado (información de movimiento que ya se ha calculado) en el punto en que se procesa la región actual. En el caso de la Figura 33, la región actual es la PUcurr mostrada en el lado derecho en la Figura 33, y la región Co-Ubicada de la misma en la PUcoi de la imagen de referencia mostrada en el lado izquierdo en la Figura 33. La unidad 721 de determinación de región fija utiliza (MVhcol/ MVvcol las cuales son el componente horizontal y el componente vertical de la información de vector de movimiento de esta región Co-Ubicada PUCUrr, un índice de referencia Refcoi, para realizar determinación de región fija de la región actual PUcurr.
Es decir, en un caso donde la siguiente Expresión (17) y Expresión (18) se mantiene, y también la Expresión (19) se mantiene con T como umbral, un caso donde se aplica Ref_PicR_reordering, o un caso donde el índice de referencia Refcoi tiene un valor de POC que indica una imagen inmediatamente antes, la unidad 721 de determinación de región fija determina que la región actual PUCUrr es una región fija.
| Vhcoil < T . . . (17) iMVvcoil = T . . . (18) Refcoi = 0 (19) Por el valor del índice de referencia Refcoi que es 0 en la expresión (19) , la unidad 721 de determinación de región fija determina que la región de referencia Pucoi de la región Co-Ubicada en la imagen de referencia casi se configura inequívocamente en una imagen fija. También, el valor de T en la Expresión (17) y la Expresión (18) debe ser 0 si la imagen de entrada y la imagen de referencia son imágenes originales por sí mismas sin ninguna distorsión de codificación. Sin embargo, en la realidad, aunque la imagen de entrada es el original mismo, la imagen de referencia es una imagen descodificada y generalmente incluye distorsión de codificación. Por consiguiente, incluso en el caso de una imagen fija, el 0 como el valor de T no necesariamente es adecuado.
Por consiguiente, en el caso en que el valor del vector de movimiento tiene una precisión de 1/4 pixeles, la unidad 721 de determinación de región fija establece T = 4. Es decir, en el caso en que la precisión del vector de movimiento se encuentra dentro 1.0 en la precisión de entero-pixel, la unidad 721 de determinación de región fija determina que esto es una región fija.
Después, la asignación de números de código a la información de vector de movimiento de predicción por la unidad 722 de codificación de vector de movimiento se describirá en detalle adicional En lo siguiente, diremos que la información de vector de movimiento de la unidad de predicción PUX es MVppx.
NPL 1 y Joel Jung, Guillaume Laroche, "Esquema Basado en Competencia para Selección de Vector de Movimiento y Codificación", VCEG-AC06, ITU - Sector de Estandarización de Telecomuncacion STUDY GROUP 16 Question Grupo de Expertos de Codificación de Video (VCEG) Reunión 29: Klagenfurt, Austria, 17-18 de julio de 2006 (después de esto denominado como NPL 2) propone un método para utilizar de manera adaptable como información de vector de movimiento de predicción, una de la información de vector de movimiento de predicción temporal (Predicción Temporal) y la información de vector de movimiento de predicción espacio-temporal (Predicción Espacio-Temporal) descrita con referencia a la Figura 6, además de la información de vector de movimiento de predicción espacial (Predicción Espacial) obtenida por la Expresión antes descrita (5).
Con NPL 2, el número de código más grande se asigna a la información de vector de movimiento de predicción temporal (predicción temporal) . Es decir, en el caso de este método con la información de vector de movimiento de predicción a la cual el número de código (número de código) "y" como as PMVy, en el caso del ejemplo en la Figura 33, los números de código se asignan como con las siguientes Expresiones (20) a (23) .
PMVo MVpUa ... (20) PMVi VpUb ... (21) PMV2 MVPUc (22) PMV3 MVPUcol .. (23) Como se describe en lo anterior, en un caso para realizar determinación de código por la optimización de RD, un modo con un número de código más pequeño asignado al mismo se selecciona más fácilmente, con una tasa de bits menor en particular, y por consiguiente, con el método descrito en NPL 2, el deterioro se observará fácilmente entre las regiones móviles y las regiones fijas.
Es decir, como se describe en lo anterior con referencia a la Figura 13, existe una preocupación que utiliza correlación de movimiento en la dirección espacial en una región fija adyacente a una región móvil que resultará en información de vector de movimiento de la región móvil que se propaga a la región fija y provoca deterioro de calidad de imagen. Sin embargo, con el método descrito en NPL 2, un número de código pequeño que se selecciona fácilmente siempre se asigna a la información de vector de movimiento de predicción (Predicción Espacial) , de modo que el deterioro se observa fácilmente entre las regiones móviles y las regiones fijas .
Como se describe en lo anterior, la unidad 722 de codificación de vector de movimiento también genera información de vector de movimiento de predicción utilizando información de movimiento de regiones periféricas de la región actual la cual se procesará. En el caso del ejemplo en la Figura 33, PUCUrr de la imagen actual es la región actual PUa/ ?¾, y PUC son regiones situadas espacialmente en forma periférica en cuanto a la región actual, y PUcoi es una región situada temporalmente en forma periférica en cuanto a la región actual.
En lo siguiente, una región la cual de este modo es espacial o temporalmente periférica (espacio-temporal) s denominará como región periférica. Es decir, nos referiremos a PUa, P¾, y PUC, como siendo regiones periféricas espaciales de PUcurr/ y nos referiremos a PUcoi como siendo una región periférica temporal de PUCUrr- La unidad 722 de codificación de vector de movimiento asigna números de código a esta información de movimiento de las regiones periféricas, y en este tiempo, controla la forma en la cual los números de código como asignados de acuerdo con los resultados de determinación de región fija. Más específicamente, en un caso donde la Expresión antes descrita (17) y la Expresión. (18) se mantiene, y también la Expresión (19) se mantiene, un caso donde se aplica Ref_PicR_Reorderirg, o un caso donde el índice de referencia Refcoi tiene una valor de POC que indica una imagen inmediatamente antes, en la determinación de la región fija de que la unidad 722 de codificación de vector de movimiento cambia la asignación de número de código como en las siguientes Expresiones (24) a (27) .
[0374] PMVQ = Vpucoi ... (24) PMVX = MVpUA (25) PMV2 = MVpub (26) PMV3 - MVC •¦ (27) decir, con respecto a una región fija, el número de código más pequeño se asigna a la información de vector de movimiento de predicción temporal (predicción temporal) , para suprimir la propagación de los vectores de movimiento en una región móvil. De este modo, la unidad 722 de codificación de vector de movimiento puede mejorar la precisión de predicción de la información de vector de movimiento de predicción, y puede mejorar la eficiencia de codificación.
Observe que la unidad 721 de determinación región fija realiza la determinación de región fija para cada unidad de predicción, de modo que la unidad 722 de codificación de vector de movimiento realiza asignación de número de código después de que la determinación de la unidad 721 de determinación de región fija permite la mejora adicional de la precisión de predicción de la información de vector de movimiento de predicción, y permite una mejora adicional de la eficiencia de codificación.
Observe que la forma de asignar números de código en un caso de determinación que se hace como región puede ser diferente a las Expresiones (24) a (27) . Es decir, en un caso de determinación que se hace en una región fija, es suficiente asignar números de código a la información de vector de movimiento de predicción temporal (predicción temporal) que son menores que un caso de determinación que se hace en una región móvil configurada de una imagen de un objeto móvil, en por lo menos. Por ejemplo, la unidad 722 de codificación de vector de movimiento puede asignar ???? o PMV2 a PMpucoi.
También, una disposición puede hacerse en donde la unidad 722 de codificación de vector de movimiento puede cambiar el número de código que va a asignarse, de acuerdo con la precisión (exactitud) de la determinación de región fija. Por ejemplo, una disposición puede hacerse donde la determinación de región fija es una decisión temporal, y entre mayor sea la precisión, menor será el número de código que asigna la unidad 722 de codificación de vector de movimiento .
Además, se ha hecho la descripción en lo anterior con respecto a un ejemplo de PUa, PUb, PUC, y PUcoi como regiones periféricas para asignar números de código a, pero una disposición puede hacerse donde otras regiones opcionales o regiones periféricas, y la asignación de número de código se realiza en cuanto a la información de vector de movimiento de esas regiones periféricas también. Es decir, no sólo es la posición de las regiones periféricas a las cuales se realizará de manera opcional la asignación de número de código, sino también el número de la misma (es decir, el número de los números de código que van a asignarse) es opcional .
También, se ha hecho la descripción en lo anterior de la forma de asignar números de código más pequeños a la información de vector de movimiento de predicción espacial (predicción espacial) es un estado inicial, y en caso en que la unidad 721 de determinación de región fija determina que la región actual es una región fija, y la forma de asignar se cambia en cuanto a asignar los números de código más pequeños a la información de vector de movimiento de predicción temporal (predicción temporal), sin embargo, no se restringe a esto, una disposición puede hacerse donde la forma de asignar números de código más pequeños a la información de vector de movimiento de predicción temporal (predicción temporal) es un estado inicial, y en el caso en que la unidad 721 de determinación de región fija determina que la región actual es una región fija, y la forma de asignar se cambia para asignar los números de código más pequeños a la información de vector de movimiento de predicción espacial (predicción espacial) .
También, se ha hecho la descripción en lo anterior que en caso de que la unidad 721 de determinación de región fija determine que la región actual es una región fija, la unidad 722 de codificación de vector de movimiento asigna números de código más pequeños a la información de vector de movimiento de predicción temporal (predicción temporal) , pero una disposición puede hacerse donde, además, la información de vector de movimiento de predicción temporal (predicción temporal) se selecciona de manera forzada como la información de vector de movimiento de predicción (sólo la información de vector de movimiento de predicción temporal (MVPUcoi) se genera como información de vector de movimiento de predicción candidato) .
Por consiguiente, la unidad 722 de codificación de vector de movimiento puede seleccionar la información de vector de movimiento de predicción temporal (predicción temporal) como la información de vector de movimiento de predicción de la región fija en una forma más segura. Por consiguiente, la unidad 722 de codificación de vector de movimiento puede impedir que los vectores de movimiento en la región móvil se propaguen hacia la región fija en la forma más segura. Sin embargo, en caso de que exista la posibilidad de que una terminación errónea se presente en la determinación de región fija, la información de vector de movimiento de predicción se selecciona de preferencia en la forma convencional que utiliza valores de función de costo y similares .
También, se ha hecho la descripción en lo anterior con PUa, PUb, y PUC como regiones periféricas espaciales de PUcurr, y PUcoi como una región periférica temporal de PUCUrn pero regiones periféricas espaciales y regiones periféricas temporales no se registren a esto, y pueden ser cualquier región siempre y cuando la información de movimiento ya se haya generado en el punto en el tiempo de tomar la región actual como un objeto de procesamiento.
[Unidad de Predicción/Compensación de Movimiento, Unidad de Determinación de Región Fija y Unidad de Codificación de Vector de Movimiento] La Figura 34 es un diagrama de bloque que ilustra un ejemplo de configuración primaria de la unidad 715 de predicción/compensación de movimiento, unidad 721 de determinación de región fija, y unidad 722 de codificación de vector de movimiento.
Como se muestra en la Figura 34, la unidad 715 de predicción/compensación de movimiento tiene una unidad 731 de búsqueda de movimiento, una unidad 732 de cálculo de función de costo, una unidad 733 de determinación de modo, una unidad 734 de compensación de movimiento y una memoria intermedia 735 de información de movimiento.
También, la unidad 722 de codificación de vector de movimiento tiene una unidad 741 de asignación de número de código, una unidad 742 de generación de vector de movimiento de predicción, y una unidad 743 de generación de vector de movimiento de diferencia.
La unidad 731 de búsqueda de movimiento recibe la entrada de los valores de pixel de imagen de entrada de la memoria intermedia 702 de redisposición de pantalla y los valores de pixel de imagen de referencia de la memoria 712 de tramas. La unidad 731 de búsqueda de movimiento realiza procesamiento de búsqueda de movimiento en todos los modos de predicción inter, y genera información de movimiento que incluye un vector de movimiento y un índice de referencia. La unidad 731 de búsqueda de movimiento suministra la información de movimiento a la unidad 742 de generación de vector de movimiento de predicción de la unidad 722 de codificación de vector de movimiento.
También, la unidad 721 de determinación de región fija obtiene información periférica la cual es la información de movimiento de las regiones periféricas almacenadas en la memoria intermedia 735 de información de movimiento de la unidad 715 de predicción/compensación de movimiento, y determina si la región que se procesará (región actual) es o no una región fija, de la información de movimiento periférica.
Por ejemplo, con respecto a una región periférica temporal PUcoi, en un caso donde la Expresión (17) y la Expresión (18) se mantienen, y también la Expresión (19) se mantiene, un caso donde se aplica Ref_PicR_reordering, o un caso donde el índice de referencia efcoi tiene un valor de POC, la unidad 721 de determinación de región fija determina que la región actual PUCUrr es una región fija. La unidad 721 de determinación de región fija suministra estos resultados de determinación de región fija a la unidad 741 de asignación de número de código de la unidad 722 de codificación de vector de movimiento.
La unidad 741 de asignación de número de código de la unidad 722 de codificación de vector de movimiento obtiene la información de movimiento periférica de la memoria intermedia 735 de información de movimiento de la unidad 715 de predicción/compensación de movimiento, y también obtiene los resultados de determinación de región fija de la unidad 721 de determinación de región fija. La unidad 741 de asignación de número de código determina la forma de asignar los números de código a cada información de movimiento adyacente, y suministra esta forma de asignar a la unidad 742 de generación de vector de movimiento de predicción que controla las señales de control de asignación de número de código.
Al obtener la información de movimiento de cada modo de predicción ínter para la PU actual de la unidad 731 de búsqueda de movimiento, la unidad 742 de generación de vector de movimiento de predicción obtiene la información de movimiento periférica que corresponde con cada información de movimiento de la memoria intermedia 735 de información de movimiento. La unidad 742 de generación de vector de movimiento de predicción utiliza esta información de movimiento periférica para generar múltiple información de vector de movimiento de predicción candidato como se describe en NPL 2. Observe sin embargo, que a diferencia del método descrito en NPL 2, los números de código establecidos por la unidad 741 de asignación de número de código se asignan a cada información de vector de movimiento de predicción.
Es decir, la unidad 742 de generación de vector de movimiento de predicción genera la información de vector de movimiento de predicción espacial (Predicción Espacial) de acuerdo con la Expresión antes descrita (5) en cuanto a la PU actual. También, la unidad 742 de generación de vector de movimiento de predicción genera información de vector de movimiento de predicción temporal (Predicción Temporal) de acuerdo con la Expresión antes descrita (9) en cuanto a la PU actual. Además, la unidad 742 de generación de vector de movimiento de predicción la información de vector de movimiento de predicción espacio-temporal (Predicción Espacio-Temporal) de acuerdo con la Expresión antes descrita (10) en cuanto a la PU actual. La unidad 742 de generación de vector de movimiento de predicción asigna los números de código establecidos por la unidad 741 de asignación de número de código a cada una de la información de vector de movimiento de predicción obtenida.
La unidad 742 de generación de vector de movimiento de predicción entonces suministra la información de movimiento obtenida de la unidad 731 de búsqueda de movimiento, cada información de vector de movimiento de predicción candidato generada, y los números de código respectivamente asignados a cada una, a la unidad 743 de generación de vector de vector de movimiento de diferencia.
La unidad 743 de generación de vector de movimiento de diferencia selecciona una óptima de la información de vector de movimiento de predicción suministrada a la misma, para cada modo de predicción inter, y genera la información de vector de movimiento de diferencia que incluye el valor de diferencia entre la información de movimiento y la información de vector de movimiento de predicción de la misma. La unidad 743 de generación de vector de movimiento de diferencia suministra la información de vector de movimiento de diferencia generada en cada modo de predicción inter, la información de vector de movimiento de predicción del modo de predicción inter seleccionado, y el número de código del mismo, a la unidad 732 de cálculo de función de costo o la unidad 715 de predicción/compensación de movimiento.
También, la unidad 731 de búsqueda de movimiento utiliza la información de vector de movimiento buscada para realizar el procesamiento de compensación en la imagen de referencia, y de este modo genera una imagen de predicción. Además, la unidad 731 de búsqueda de movimiento calcula la diferencia entre la imagen de predicción y la imagen de entrada (los valores de pixel de diferencia) , y suministra los valores de pixel de diferencia a la unidad 732 de cálculo de función de costo.
La unidad 732 de cálculo de función de costo utiliza los valores de pixel de diferencia de cada modo de predicción inter, suministrado desde la unidad 731 de búsqueda de movimiento, y calcula los valores de función de costo en cada modo de predicción inter. Da unidad 732 de cálculo de función de costo suministra el valor de función de costo en cada modo de predicción inter que se ha calculado, la información de movimiento de diferencia en cada modo de predicción inter, la información de vector de movimiento de predicción en cada modo de predicción inter, y los números de código de las mismas, a la unidad 733 de determinación de modo .
La unidad 733 de determinación de modo determina cuál de los modos de predicción inter utilizar, utilizando los valores de función de costo en cuanto a los modos de predicción inter, y toma el modo de predicción inter con el valor de función de costo más pequeño como siendo un modo de predicción óptimo. La unidad 733 de determinación de modo suministra la información de modo óptimo que es la información con respecto al modo de predicción óptimo de la misma, y la información de movimiento de diferencia, la información de vector de predicción y el número de código, del modo de predicción inter seleccionado para ser el modo de predicción óptimo, a la unidad 734 de compensación de movimiento .
La unidad 734 de compensación de movimiento obtiene un vector de movimiento de la información de movimiento de diferencia del modo de predicción óptimo y la información de vector de movimiento de predicción, y realiza la compensación de la imagen de referencia de la memoria 712 de tramas utilizando el vector de movimiento obtenido, por lo que se genera una imagen de predicción para el modo de predicción óptimo .
En caso de que se haya selección la predicción inter por la unidad 716 de selección de imagen de predicción, una señal que indica esto se suministra desde la unidad 716 de selección de imagen de predicción. En respuesta a esto, unidad 734 de compensación de movimiento suministra la información de predicción óptima, y la información de vector de movimiento de diferencia de este modo, y el número de código de la información de vector de movimiento de predicción de este modo, a la unidad 706 de codificación sin pérdida .
También, la unidad 734 de compensación de movimiento almacena en la memoria intermedia 735 de información de movimiento la información obtenida de la información de vector de movimiento de diferencia del modo seleccionado para que sea el modo de predicción óptimo y la información de vector de movimiento de predicción., es decir, la información de movimiento del modo de predicción óptimo. Observe que en caso de que la predicción inter no se seleccione por la unidad 716 de selección de imagen de predicción (es decir, en caso de que se seleccione una imagen de predicción intra) , un vector 0 se almacena en la memoria intermedia 735 de información de movimiento como información de vector de movimiento.
La memoria intermedia 735 de información de movimiento almacena la información de movimiento del modo de predicción óptimo de las regiones procesadas en el pasado. La información de movimiento almacenada se suministra a la unidad 721 de determinación de región fija, la unidad 741 de asignación de número de código, y la unidad 742 de generación de vector de movimiento de predicción, como información de movimiento periférico, en el procesamiento en cuanto a las regiones procesadas posteriormente en el tiempo que esa región.
Como se describe en lo anterior, la unidad 721 de determinación de región fija realiza la determinación con respecto a si es o no una región fija, para cada unidad de procesamiento de predicción. La unidad 722 de codificación de vector de movimiento entonces controla la asignación números de código basándose en los resultados de determinación de región fija, y en caso de una región fija, asigna el número de código más pequeño a la información de vector de movimiento de predicción temporal (predicción temporal) . La unidad 715 de predicción/compensación de movimiento entonces codifica la información de movimiento de diferencia y el número de código de la información de vector de movimiento de predicción generada por la unidad 722 de codificación de vector de movimiento. Por consiguiente, el dispositivo 700 de codificación de imágenes puede mejorar la precisión de predicción de la información de vector de movimiento de predicción y puede mejorar la eficiencia de codificación.
[Flujo de Procesamiento] Después, el procesamiento de flujo ejecutado en el dispositivo 700 de codificación de imágenes se describirá. El procesamiento de codificación y el procesamiento de predicción intra se ejecutan básicamente de la misma manera que con los diagramas de flujo descritos con referencia a la Figura 16 y la Figura 17. Es decir, el mismo procesamiento que con el caso de la ejecución del dispositivo 51 de codificación de imágenes se realiza. Por consiguiente, la descripción de esto se omitirá.
Después, un ejemplo de procesamiento de predicción de movimiento inter ejecutado en la etapa S22 de la Figura 16 se describirá con referencia al diagrama de flujo en la Figura 35.
Con el procesamiento de predicción de movimiento inter que inicia en la etapa S701, en este caso, la unidad 731 de búsqueda de movimiento realiza la búsqueda de movimiento en cuanto a cada modo de predicción inter, y genera información de movimiento y valores de pixel de diferencia.
En la etapa S702, la unidad 721 de determinación de región fija obtiene información de movimiento de la región Co-Ubicada la cual es una región periférica temporal. En la etapa S703, la unidad 721 de determinación de región fija determina si la región actual es o no una región fija, basándose en la información de movimiento de la región Co-Ubicada .
En la etapa S704, la unidad 741 de asignación de número de código determina la asignación del número de código a la información de vector de movimiento de predicción de acuerdo con los resultados de determinación de región fija.
En la etapa S705, la unidad 742 de generación de vector de movimiento de predicción genera toda la información de vector de movimiento de predicción candidato.
En la etapa S706, la unidad 743 de generación de vector de movimiento de diferencia determina la información de vector de movimiento de predicción óptima en cuanto a cada modo de predicción inter. También, la unidad 743 de generación de vector de movimiento de diferencia genera la información de movimiento de diferencia que incluye un vector de movimiento, el cual es la diferencia entre la información de vector de movimiento de predicción y el vector de movimiento de la información de movimiento.
En la etapa S707, la unidad 732 de cálculo de función de costo calcula un valor de función de costo para cada modo de predicción inter.
En la etapa S708, la unidad 733 de determinación de modo determina el modo de predicción inter óptimo (también denominado modo de predicción óptimo) el cual es el modo de predicción inter óptimo, utilizando los valores de función de costo calculados en la etapa S707.
En la etapa S709, la unidad 734 de compensación de movimiento realiza la compensación de movimiento en el modo de predicción inter óptimo. En la etapa S710, la unidad 734 de compensación de movimiento suministra la imagen de predicción obtenida por la compensación de movimiento en la etapa 5709 a la unidad 703 de cómputo y la unidad 710 de cómputo mediante la unidad 716 de selección de imagen de predicción, y genera la información de imagen de diferencia y una imagen descodificada. También, en la etapa S711, la unidad 734 de compensación de movimiento suministra la información con respecto al modo de predicción inter óptimo, tal como la información de modo de predicción óptimo, la información de movimiento de diferencia, y el número de código de la información de vector de movimiento de predicción, etcétera, a la unidad 706 de codificación sin pérdida, que va a codificarse.
En la etapa S712, la memoria intermedia 735 de información de movimiento almacena la información de movimiento seleccionada en el modo de predicción inter óptimo. Al almacenar la información de movimiento, la memoria intermedia 735 de información de movimiento finaliza el procesamiento de predicción de movimiento inter.
Al realizar el procesamiento como se describe en lo anterior, el dispositivo 700 de codificación de imágenes puede mejorar la precisión de predicción de la información de vector de movimiento de predicción, y puede mejorar la eficiencia de codificación.
[Dispositivo de Descodificación de Imágenes] La Figura 36 es un de bloque que ilustra un ejemplo de configuración primario de un dispositivo de descodificación de imágenes que corresponde con el dispositivo 700 de codificación de imágenes en la Figura 32.
El dispositivo 800 de descodificación de imágenes mostrado en la Figura 36 básicamente es de la misma configuración que el dispositivo 101 de descodificación de imágenes en la Figura 20. El dispositivo 800 de descodificación de imágenes descodifica los datos codificados generados por el dispositivo 700 de codificación de imágenes, con un método de descodificación que corresponde con el método de codificación del mismo. También, diremos que el dispositivo 800 de descodificación de imágenes realiza la predicción inter cada unidad de predicción (PU) , de la misma forma que con el dispositivo 700 de codificación de imágenes.
Como se muestra en la Figura 36, el dispositivo 800 de descodificación de imágenes incluye una memoria intermedia 801, una unidad 802 de descodificación sin pérdida, una unidad 803 de cuantificación inversa, una unidad 804 de transformación ortogonal inversa, una unidad 805 de cómputo, un filtro 806 de bucle, una memoria intermedia 807 de redisposición de pantalla, y una unidad 808 de conversión de D/A. También, el dispositivo 800 de descodificación de imágenes incluye la memoria 809 de tramas, una unidad 810 de selección, una unidad 811 de predicción intra, una unidad 612 de predicción/compensación de movimiento, y una unidad 813 de selección.
Además, el dispositivo 800 de descodificación de imágenes incluye una unidad 821 de determinación de región fija y una unidad 82s de descodificación de vector de movimiento .
La memoria intermedia 801 almacena los datos codificados transmitidos a la misma, y suministra los datos codificados a la unidad 802 de descodificación sin pérdida en un tiempo predeterminado. La unidad 802 de descodificación sin pérdida descodifica la información que se ha codificado por la unidad 706 de codificación sin pérdida en la Figura 32, suministrada por la memoria intermedia 801 de almacenamiento, por un formato que corresponde con el formato d codificación de la unidad 706 de codificación sin pérdida. La unidad 802 de descodificación sin pérdida suministra los datos de coeficiente cuantificados de la imagen de diferencia obtenida al descodificar en la unidad 803 de cuantificación inversa. También, la unidad 802 de descodificación sin pérdida determina si un modo de predicción intra se ha seleccionado o un modo de predicción inter se ha seleccionado para el modo de predicción óptimo, y suministra la información con respecto a ese modo óptimo a una de la unidad de predicción 811 intra y a la unidad 812 de predicción/compensación de movimiento del modo que se ha determinado por haberse seleccionado.
Es decir, por ejemplo, en caso de que el modo de predicción inter se haya seleccionado como el modo de predicción óptimo en la unidad 700 de codificación de imágenes, la información con respecto a ese modo de predicción óptimo se suministra a la unidad 812 de predicción/compensación de movimiento.
La unidad 803 de cuantificación inversa realiza cuantificación inversa de los datos de coeficiente cuantificados obtenidos al descodificarse por la unidad 802 de descodificación sin pérdida con un formato que corresponde con el formato de cuantificación de la unidad 705 de cuantificación en la Figura 32, y suministra los datos de coeficiente obtenidos a la unidad 804 de transformación ortogonal inversa.
La unidad 804 de transformación ortogonal inversa realiza transformación ortogonal inversa de los datos de coeficiente suministrados desde la unidad 803 de cuantificación inversa con un formato que corresponde con el formato de transformación ortogonal de la unidad 704 de transformación ortogonal en la Figura 32. La unidad 804 de transformación ortogonal inversa obtiene los datos residuales descodificados que corresponden con los datos residuales antes de someterse a la transformación ortogonal en la unidad 700 de codificación de imágenes, por este procesamiento de transformación ortogonal inversa.
Los datos residuales obtenidos al someterse a la transformación ortogonal se suministran a la unidad 805 de cómputo. También, la imagen de predicción se suministra desde la unidad 811 de predicción intra o la unidad 812 de predicción/compensación de movimiento a la unidad 805 de cómputo, mediante la unidad 813 de selección.
La unidad 805 de cómputo agrega los datos residuales descodificados e imagen de predicción, para obtener datos de imágenes descodificados que corresponden con los datos de imagen antes de que la imagen de predicción se sustraiga por la unidad 703 de cómputo del dispositivo 700 de codificación de imágenes. La unidad 805 de cómputo suministra los datos de imágenes descodificados al filtro 806 de bucle.
El filtro 806 de bucle somete la imagen descodificada suministrada al procesamiento de filtro de desbloqueo y al procesamiento de filtro de bucle que incluye procesamiento de filtro de bucle adaptable y similar cuando es adecuado y suministra éstos a la memoria intermedia 807 de redisposición de pantalla.
El filtro 806 de bucle incluye un filtro de desbloqueo y un filtro de bucle adaptable y similar, y realiza el procesamiento de filtración cuando es adecuado en la imagen descodificada suministrada desde la unidad 705 de cómputo. Por ejemplo, el filtro 806 de bucle elimina el ruido de bloque de la imagen descodificada al realizar el procesamiento de filtro de desbloqueo en la imagen descodificada. También, por ejemplo, el filtro 806 de bucle realiza mejora a la calidad de imagen en los resultados de procesamiento de filtro de desbloqueo (imagen descodificada sometida a eliminación de ruido de bloque) al realizar procesamiento de filtro de bucle utilizando un filtro wiener (Filtro de Wiener) .
Observe que una disposición puede hacerse donde el filtro 806 de bucle realiza procesamiento de filtro opcional en la imagen descodificada. También, una disposición puede hacerse donde el filtro 806 de bucle utiliza coeficientes de filtro suministrados desde el dispositivo 700 de codificación de imágenes en la Figura 32 para realizar procesamiento de filtro.
El filtro 806 de bucle suministra los resultados de procesamiento de filtro (imagen descodificada después del procesamiento de filtro) a la memoria intermedia 807 de redisposición de pantalla y la memoria 809 de tramas. Observe que la imagen descodificada producida desde la unidad 805 de cómputo puede suministrarse a la memoria intermedia 807 de redisposición de pantalla y la memoria 809 de tramas sin pasar a través del filtro 806 de bucle. Es decir, el procesamiento de filtro por filtro 806 de bucle puede omitirse.
La memoria intermedia 807 de redisposición de pantalla redispone las imágenes. Es decir, la secuencia de tramas redispuestas para la secuencia de codificación por la memoria intermedia 702 de redisposición de pantalla en la Figura 32 se redispone en la secuencia de visualización original. La unidad 808 de conversión de D/A realiza conversión de D/A de la imagen suministrada desde la memoria intermedia 807 de redisposición de pantalla, y la produce en una pantalla no mostrada para visualizacion.
La memoria 809 de tramas almacena la imagen descodificada suministrada a la misma, y suministra la imagen descodificada almacenada a la unidad 810 de selección como imagen de referencia, ya sea en un tiempo predeterminado o basándose en una solicitud externa de la unidad 811 de predicción intra o la unidad 812 de predicción/compensación de movimiento o similares.
La unidad 810 de selección selecciona el destino de suministro de la imagen de referencia suministrada desde la memoria 809 de tramas. En caso de descodificar una imagen sometida a codificación intra, la unidad 810 de selección suministra la imagen de referencia suministrada desde la memoria 809 de tramas hasta la unidad 811 de predicción intra. También, en caso de descodificar una imagen sometida a codificación inter, la unidad 810 de selección suministra la imagen de referencia suministrada desde la memoria 809 de tramas hasta unidad 812 de predicción/compensación de movimiento .
La unidad 811 de predicción intra se suministra con la información que indica el modo de predicción intra, obtenido al descodificar la información de encabezado, etcétera, desde la unidad 802 de descodificación sin pérdida. La unidad 811 de predicción intra realiza predicción intra utilizándola imagen de referencia obtenida de la memoria 809 de tramas en el modo de predicción intra utilizado en la unidad 714 de predicción intra en la Figura 32, por lo que se genera una imagen de predicción. La unidad 811 de predicción intra suministra la imagen de predicción generada a la unidad 813 de selección.
La unidad 812 de predicción/compensación de movimiento obtiene información obtenida al descodificar la información de encabezado (información de modo de predicción óptimo, información de diferencia, y número de código de la información de vector de movimiento de predicción, etcétera) desde la unidad 802 de descodificación sin pérdida.
La unidad 812 de predicción/compensación de movimiento realiza predicción inter utilizando la imagen de referencia obtenida desde la memoria 809 de tramas, en el mismo modo de predicción inter utilizado por la unidad 715 de predicción/compensación de movimiento en la Figura 32, de este modo, generando una imagen de predicción. Es decir, la unidad 812 de predicción/compensación de movimiento puede realizar esta predicción inter en un modo opcional diferente a los modos estipulados por el formato de codificación AVC, de la misma manera que con la unidad 715 de predicción/compensación de movimiento en la Figura 32.
La unidad 821 de determinación de región fija realiza básicamente el mismo procesamiento que con la unidad 721 de determinación de región fija, y determina si la región actual es o no una región fija. Es decir, en un caso donde la Expresión (17) y la Expresión (18) se mantienen, y también la Expresión (19) se mantiene, un caso donde se aplica Ref_PicR_reordering, o un caso donde el índice de referencia RefCoi tiene un valor de POC, de la información de movimiento de la región Co-Ubicada de la región actual, la unidad 821 de determinación de región fija determina que la región actual PUcur es una región fija.
La unidad 821 de determinación de región fija realiza tal determinación de región fija en las unidades de procesamiento de predicción, y suministra los resultados de determinación de región fija a la unidad 822 de descodificación de vector de movimiento.
La unidad 822 de descodificación de vector de movimiento controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción después de los resultados de determinación de región fija suministrados desde la unidad 821 de determinación de región fija, analiza los números de código de la información de vector de movimiento de predicción suministrados desde la unidad 812 de predicción/compensación de movimiento bajo este control, y reconstruye la información de vector de movimiento de predicción.
Es decir, al controlar la forma de asignar números de código después de los resultados de determinación de región fija determinados por la unidad 821 de determinación de región fija con el mismo método que con la unidad 721 de determinación de región fija en la Figura 32, la unidad 822 de descodificación de vector de movimiento puede duplicar correctamente la forma de asignar números de código por la unidad 722 de codificación de vector de movimiento en la Figura 32. De este modo, al duplicar correctamente la forma de asignar los números de código por la unidad 722 de codificación de vector de movimiento, la unidad 822 de descodificación de vector de movimiento puede analizar correctamente los números de código de la información de vector de movimiento de predicción suministrada desde el dispositivo 700 de codificación de imágenes, y reconstruir correctamente la información de vector de movimiento de predicción.
La unidad 822 de descodificación de vector de movimiento suministra la información de vector de movimiento de predicción reconstruida a la unidad 812 de predicción/compensación de movimiento. La unidad 812 de predicción/compensación de movimiento utiliza esta información de vector de movimiento de predicción para reconstruir la información de vector de movimiento, utiliza esta información de vector de movimiento para realizar compensación de movimiento, y de este modo genera una imagen de predicción. La unidad 812 de predicción/compensación de movimiento suministra la imagen de predicción generada a la unidad 813 de selección.
La unidad 813 de selección selecciona la fuente de suministro de la imagen de predicción para el suministro a la unidad 805 de cómputo. Es decir, la unidad 813 de selección suministra la imagen de predicción generada por la unidad 812 de predicción/compensación de movimiento o la unidad 811 de predicción intra a la unidad 805 de cómputo.
De este modo, al controlar los números de código que se asignan a la información de vector de movimiento de predicción basándose en los resultados de determinación de la determinación de región fija en las unidades de procesamiento de predicción por la unidad 821 de determinación de región fija, la unidad 822 de descodificación de vector de movimiento puede duplicar correctamente la forma de asignar los números de código en el dispositivo 700 de codificación de imágenes. Por consiguiente, la unidad 822 de descodificación de vector de movimiento puede analizar correctamente los números de código de la información de vector de movimiento de predicción suministrada desde el dispositivo 700 de codificación de imágenes, y reconstruir correctamente la información de vector de movimiento de predicción .
Por consiguiente, un dispositivo 800 de descodificación de imágenes puede descodificar correctamente los datos codificados que ha codificado el dispositivo 700 de codificación de imágenes, y realiza la mejora la eficiencia de codificación.
[Unidad de Predicción/Compensación de Movimiento, Unidad de Determinación de Región Fija, y Unidad de Descodificación de Vector de Movimiento] La Figura 37 es un diagrama de bloque que ilustra un ejemplo de configuración primaria de la unidad 812 de predicción/compensación de movimiento, unidad 821 de determinación de región fija, y unidad 822 de descodificación de vector de movimiento.
Como se muestra en la Figura 37 , la unidad 812 de predicción/compensación de movimiento tiene una memoria intermedia 831 de información de movimiento de diferencia, una memoria intermedia 832 de información de vector de movimiento de predicción, una unidad 833 de reconstrucción de información de movimiento, una unidad 834 de compensación de movimiento, y una memoria intermedia 835 de información de movimiento .
También, la unidad 822 de descodificación de vector de movimiento tiene una unidad 841 de asignación de número de código y una unidad 842 de reconstrucción de vector de movimiento de predicción.
La memoria intermedia 831 de información de movimiento de diferencia almacena la información de movimiento de diferencia suministrada desde la unidad 802 de descodificación sin pérdida. Esta información de movimiento de diferencia es la información de movimiento de diferencia del modo de predicción inter seleccionado como el modo de predicción óptimo, suministrado desde el dispositivo 700 de codificación de imágenes. La memoria intermedia 831 de información de movimiento de diferencia suministra la información de movimiento de diferencia almacenada a la unidad 833 de reconstrucción de información de movimiento, ya sea en un tiempo predeterminado o basándose en una solicitud externa desde la unidad 833 de reconstrucción de información de movimiento.
La memoria intermedia 832 de información de vector de movimiento de predicción almacena la información de vector de movimiento de predicción suministrada desde la unidad 802 de descodificación sin pérdida. El número de código de esta información de vector de movimiento de predicción se ha suministrado desde la unidad 700 de codificación de imágenes, y es un número de código asignado a la información de vector de movimiento de predicción del modo de predicción inter seleccionado como siendo el modo de predicción óptimo. La memoria intermedia 832 de información de vector de movimiento de predicción suministra un número de código almacenado de la información de vector de movimiento de predicción a la unidad 842 de reconstrucción de vector de movimiento de predicción de la unidad 822 de descodificación de vector de movimiento, ya sea en un tiempo predeterminado o basándose en una solicitud externa desde la unidad 842 de reconstrucción de vector de movimiento de predicción.
También, la unidad 821 de determinación de región fija obtiene información de movimiento de la región Co-Ubicada desde la memoria intermedia 835 de información de movimiento, para cada región en unidades de procesamiento de predicción, y realiza la determinación de región fija. La unidad 821 de determinación de región fija suministra los resultados de determinación (resultados de determinación de región fija) a la unidad 841 de asignación de número de código de la unidad 822 de descodificación de vector de movimiento .
La unidad 841 de asignación de número de código de la unidad 822 de descodificación de vector de movimiento sigue los resultados de determinación de región fija suministrados desde la unidad 821 de determinación de región para controlar la forma de la asignación de número de código, cada región en las unidades de procesamiento de predicción, y suministra las señales de control de asignación de número de código a la unidad 842 de reconstrucción de vector de movimiento de predicción.
La unidad 842 de reconstrucción de vector de movimiento de predicción analiza el número de código de la información de vector de movimiento de predicción obtenida desde la memoria intermedia 832 de información de vector de movimiento de predicción, utilizando la forma de asignar números de código, especificada por cada región en las unidades de procesamiento de predicción, desde la unidad 841 de asignación de número de código. La unidad 842 de reconstrucción de vector de movimiento de predicción identifica la información de vector de movimiento de predicción que corresponde con el número de código analizado, y reconstruye esta información de vector de movimiento de predicción. Es decir, la unidad 842 de reconstrucción de vector de movimiento de predicción obtiene la información de movimiento periférico de una región periférica que corresponde con el número de código de la memoria intermedia 835 de información de movimiento, y toma la información de movimiento periférico como siendo la información de vector de movimiento de predicción.
La unidad 842 de reconstrucción de vector de movimiento de predicción suministra la información de vector de movimiento de predicción reconstruida a la unidad 833 de reconstrucción de información de movimiento de unidad 812 de predicción/compensación de movimiento.
La unidad 833 de reconstrucción de información de movimiento de la unidad 812 de predicción/compensación de movimiento agrega la información de vector de movimiento de predicción obtenida desde la unidad 842 de reconstrucción de vector de movimiento de predicción hasta la información de movimiento de diferencia obtenida desde la memoria intermedia 831 de información de movimiento de diferencia, y reconstruye la información de movimiento de la región actual (PU actual) . La unidad 833 de reconstrucción de información de movimiento suministra la información de movimiento de la región actual reconstruida a la unidad 834 de compensación de movimiento.
La unidad 834 de compensación de movimiento realiza la compensación de movimiento en los valores de pixel de imagen de referencia obtenidos desde la memoria 809 de tramas, utilizando la información de movimiento de la región actual, y genera una imagen de predicción. La unidad 834 de compensación de movimiento suministra los valores de pixel de imagen de referencia a la unidad 805 de cómputo mediante la unidad 813 de selección.
También, la unidad 833 de reconstrucción de información de movimiento suministra la información de movimiento de la región actual que se ha reconstruido a la memoria intermedia 835 de información de movimiento también.
La memoria intermedia 835 de información de movimiento almacena la información de movimiento de la región actual suministrada desde la unidad 833 de reconstrucción de información de movimiento. La memoria intermedia 835 de información de movimiento suministra esa información de movimiento a la unidad 821 de determinación de región fija y la unidad 842 de recons rucción de vector de movimiento de predicción como información de movimiento periférico, en el procesamiento en cuanto a otras regiones procesadas posteriormente en el tiempo desde la región actual.
Por cada parte que realiza procesamiento como se describe en lo anterior, el dispositivo 800 de descodificación de imágenes puede descodificar correctamente los datos, codificados por el dispositivo 700 de codificación de imágenes, y puede obtenerse una eficiencia de codificación mejorada.
[Flujo de Procesamiento] Después, el flujo de procesamiento ejecutado por este dispositivo 800 de descodificación de imágenes se describirá. El dispositivo 800 de descodificación de imágenes realiza procesamiento de descodificación para descodificar datos codificados de la misma que con aquello descrito con referencia al diagrama de flujo en la Figura 22. Es decir, el dispositivo 800 de descodificación de imágenes realiza procesamiento de descodificación básicamente de la misma manera con el caso del dispositivo 101 de descodificación de imágenes. Sin embargo, observe que el procesamiento de predicción en la etapa S138 en la Figura 22 se ejecuta como sigue .
Un ejemplo del flujo del procesamiento de predicción ejecutado en la etapa S138 en la Figura 22 con el caso del dispositivo 800 de descodificación de imágenes se describirá con referencia al diagrama de flujo en la Figura 38.
Con el procesamiento de predicción que se inicia, en la etapa S801 la unidad 802 de descodificación sin pérdida determina si los datos codificados que se procesarán se han codificado intra o no, basándose en la información con respecto al modo de predicción óptimo suministrado desde el dispositivo 700 de codificación de imágenes. En caso de que se haga la determinación de que esto se ha codificado intra, la unidad 802 de descodificación sin pérdida hacer avanzar el procesamiento a la etapa 5802.
En la etapa S802, la unidad 811 de predicción intra obtiene la información de modo de predicción intra. En la etapa S803, la unidad 811 de predicción intra realiza predicción intra utilizando la información de modo de predicción intra obtenida en la etapa S8002 para generar una imagen de predicción. Al generar la imagen de predicción, la unidad 811 de predicción intra finaliza el procesamiento de predicción, y regresa el procesamiento a la Figura 22.
También, en caso de que se haga la determinación en la etapa S801 que la codificación inter se ha realizado, la unidad 802 de descodificación sin pérdida hace avanzar el procesamiento a la etapa 5804.
En la etapa S804, la unidad 812 de predicción/compensación de movimiento realiza el procesamiento de predicción de movimiento inter. Con la finalización del procesamiento de predicción de movimiento inter, la unidad 812 de predicción/compensación de movimiento finaliza el procesamiento de predicción, y regresa el procesamiento a la Figura 22.
Después, un ejemplo del flujo del procesamiento de predicción de movimiento inter ejecutado en la etapa S804 en la Figura 38 se describirá con referencia al diagrama de flujo en Figura 39.
Con el inicio en el procesamiento de predicción de movimiento inter, en la etapa 3821, la unidad 812 de predicción/compensación de movimiento obtiene información con respecto a la predicción de movimiento en cuanto a la región actual. Por ejemplo, la memoria intermedia 832 de información de vector de movimiento de predicción obtiene el número de código de la información de vector de movimiento de predicción, y la memoria intermedia 831 de información de movimiento de diferencia obtiene la información de movimiento de diferencia.
En la etapa S822, la unidad 821 de determinación de región fija obtiene información de movimiento de una región Co-Ubicada desde la memoria intermedia 835 de información de movimiento. En la etapa S823, la unidad 821 de determinación de región fija determina si la región actual es o no una región fija, basándose en esa información, como se describe en lo anterior.
En la etapa S824, la unidad 841 de asignación de número de código decide un número de código en cuanto a la información de vector de movimiento de predicción de acuerdo con los resultados de determinación de región fija en la etapa S823. En la etapa S825, la unidad 842 de reconstrucción de vector de movimiento de predicción analiza el número de código de la información de vector de movimiento de predicción después de la asignación decidida en la etapa 5824, y reconstruye la información de vector de movimiento de predicción.
En la etapa 5826, la unidad 833 de reconstrucción de información de movimiento reconstruye la información de movimiento de la región actual, utilizando la información de vector de movimiento de predicción reconstruida en la etapa 5825, y la información de movimiento de diferencia obtenida en la etapa S821.
En la etapa S827, la unidad 834 de compensación de movimiento realiza compensación de movimiento en la imagen de referencia obtenida por la memoria 809 de tramas, con la información de movimiento reconstruida en la etapa S826.
En la etapa S828, la unidad 834 de compensación de movimiento suministra la imagen de predicción generada por el procesamiento en la etapa S827 a la unidad 805 de computo mediante la unidad 813 de selección, para generar una imagen de predicción. En la etapa S829, la memoria intermedia 835 de información de movimiento almacena la información de movimiento reconstruida en la etapa S826. Esta información de movimiento se utiliza como información periférica en el procesamiento en cuanto a otras regiones realizadas posteriormente en el tiempo.
Con la información de movimiento siendo almacenada, la memoria intermedia 835 de información de movimiento finaliza el procesamiento de predicción del movimiento inter, y regresa el procesamiento a la Figura 38.
Al realizar cada procesamiento como describe en lo anterior, el dispositivo 800 de descodificación de imágenes puede descodificar correctamente los datos codificados, codificados por el dispositivo 700 de codificación de imágenes, y puede realizar una eficiencia mejorada de codificación .
Observe en que la presente tecnología puede aplicarse a dispositivos de codificación de imágenes y dispositivos de descodificación de la imágenes utilizado para recibir la información de imagen (corriente de bits) comprimida por transformación ortogonal tal como transformada de coseno discreto o similar, y la compensación, y el movimiento, tal como con MPEG, H.26x, o similar, por medio de red, tales como difusión satelital, televisión por cable, Internet, teléfonos celulares o similares. También, la presente tecnología puede aplicarse a dispositivos de codificación de imágenes y a dispositivos de descodificación de imágenes utilizados para procesamiento en medios de almacenamiento tales como discos ópticos, discos magnéticos, memoria flash, etc. Además, la presente tecnología puede aplicarse a dispositivos de predicción/compensación de movimiento incluidos en estos dispositivos de codificación de imágenes y dispositivos de descodificación de imágenes etcétera .
La serie antes descrita de procesamiento puede ejecutarse por hardware, o puede ejecutarse por software. En caso de ejecutar la serie de procesamiento por software, un programa que forma el software del mismo se instala en una computadora. Aquí, ejemplos computadoras incluyen en una computadora con hardware dedicado integrado, una computadora personal de propósito general por la cual varias funciones pueden ejecutarse por varios tipos de programas que se instalan en la misma, etcétera.
[Ejemplo de Configuración de la Computadora Personal] La Figura 26 es un diagrama de bloque que ilustra un ejemplo de configuración del hardware.de una computadora que ejecuta la serie antes descrita de procesamiento utilizando un programa.
Con la computadora, una CPU 201 (Unidad de Procesamiento Central) , ROM 202 (Memoria de Solo Lectura) , y RAM 203 (Memoria de Acceso Aleatorio) se conectan mutuamente por un bus 20 .
Además, una interfaz 205 de entrada/salida se conecta al bus 204. Una unidad 206 de entrada, una unidad 207 de salida, una unidad 208 de almacenamiento, una unidad 209 de comunicación, y una unidad lectora 210 se conectan a la interfaz 205 de entrada/salida.
La unidad 206 de entrada se forma de un teclado, un ratón, un micrófono, etcétera. La unidad 207 de salida se forma de una pantalla, un altavoz, etcétera. La unidad 208 de almacenamiento se forma de un disco duro, memoria no volátil, etcétera. La unidad 209 de comunicación se forma de una interfaz de red etcétera. La unidad lectora 210 lee un medio 211 removible tal como un disco magnético, un disco óptico, un disco magneto-óptico , memoria de semiconductor, o similares .
Con la computadora de este modo configurada, por ejemplo, la CPU 201 carga un programa almacenado en la unidad 208 de almacenamiento a la RAM 203 mediante la interfaz 205 de entrada/salida y el bus 204, y ejecuta el programa, y por consiguiente, la serie antes descrita de procesamiento se realiza.
El programa que ejecuta la computadora (CPU 201) puede proporcionarse al grabarse en el medio 211 removible que sirve como un medio en paquete o similar, por ejemplo. También, el programa puede proporcionarse mediante un medio de transmisión por cable o inalámbrico, tal como una red de área local, la internet, o de difusión digital.
Con la computadora, el programa puede instalarse en la unidad 208 de almacenamiento mediante la interfaz 205 de entrada/salida al montar el medio 211 removible en la unidad lectora 210. También, el programa puede recibirse por la unidad 209 de comunicación mediante un medio de transmisión por cable o inalámbrico, e instalarse en la unidad 208 de almacenamiento. Adicionalmente, el programa puede instalarse en la ROM 202 o la unidad 208 de almacenamiento de antemano.
Observe que el programa que ejecuta la computadora puede ser un programa en donde el procesamiento se realiza en la secuencia de tiempo a lo largo de la secuencia descrita en la presente especificación, o puede ser un programa donde el procesamiento se realiza en paralelo o en un tiempo necesario, tal como cuando se realiza visualización.
Las modalidades de la presente invención no se restringen a la modalidad antes descrita, y varias modificaciones pueden hacerse sin apartarse de la esencia de la presente invención.
Por ejemplo, los dispositivos de codificación de imágenes antes descritos y los dispositivos de descodificación de imágenes pueden aplicarse a un dispositivo eléctrico opcional. Después de esto, ejemplos de los mismos se describen.
[Ejemplo de Configuración del Receptor de Televisión] La Figura 27 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un receptor de televisión que utiliza un dispositivo de descodificación de imágenes al cual se ha aplicado la presente invención Un receptor 300 de televisión mostrado en la Figura 27 incluye un sintonizador 313 terrestre, un descodificador 315 de video, un circuito 318 de procesamiento de señales de video, un circuito 319 de generación de gráficos, un circuito 320 de excitación de panel, y un panel 321 de visualización.
El sintonizador 313 terrestre recibe las señales de ondas de difusión de una difusión análoga terrestre mediante una antena, desmodula, obtiene señales de video, y suministra estas al descodificador 315 de video. El descodificador 315 de video somete las señales de video suministradas desde el sintonizador 313 terrestre a procesamiento de descodificación, y suministra las señales de componentes digitales obtenidas al circuito 318 de procesamiento de señales de video.
El circuito 318 de procesamiento de señales de video somete los datos de video suministrados desde el descodificador 315 de video al procesamiento predeterminado, tal como eliminación de ruido o similar, y suministra los datos de video obtenidos al circuito 319 de generación de gráficos.
El circuito 319 de generación de gráficos genera los datos de video de un programa que va a desplegarse en un panel 321 de visualización, o datos de imagen debido al procesamiento basado en una aplicación que va a suministrarse mediante una red, o similares, y suministra los datos de video generados o los datos de imagen al circuito 320 de excitación de panel. También, el circuito 319 de generación de gráficos también realiza el procesamiento tal como el suministro de datos de video obtenidos al generar datos de video (gráficos) para el usuario que despliega una pantalla utilizada para la selección de un elemento o similar, y superpone esta en los datos de video de un programa, en el circuito 320 de excitación de panel, cuando es adecuado.
El circuito 320 de excitación de panel excita el panel 321 de visualización basándose en los datos suministrados desde el circuito 319 de generación de gráficos para desplegar el video de un programa, o las diversas pantallas antes descritas en el panel 321 de visualizacion.
El panel 321 de visualizacion se forma de una LCD, (Pantalla de Cristal Líquido) etcétera, y despliega al video de un programa o similar, de acuerdo con el control por el circuito 320 de excitación de panel.
También, el receptor 300 de televisión también incluye un circuito 314 de conversión de audio A/D (Análogo/Digital) , un circuito 322 de procesamiento de señales de audio, una circuito 323 de cancelación de eco/sintetización de audio, un circuito 324 amplificador de audio, y un altavoz 325.
El sintonizador 313 terrestre desmodula la señal de onda de difusión recibida, por lo que obtiene no sólo una señal de video, sino también una señal de audio. El sintonizador 313 terrestre suministra la señal de audio obtenida al circuito 314 de conversión de audio A/D.
El circuito 314 de conversión de audio A/D somete la señal de audio suministrada desde el sintonizador 313 terrestre a un procesamiento de conversión A/D, y suministra la señal de audio digital obtenida al circuito 322 de procesamiento de señales de audio.
El circuito 322 de procesamiento de señales de audio somete los datos de audio suministrados desde el circuito 314 de conversión de audio A/D al procesamiento predeterminado, tal como eliminación de ruido o similar, y suministra los datos de audio obtenidos al circuito 323 de cancelación de eco/sintetización de audio.
El circuito 323 de cancelación de eco/sintetización de audio suministra los datos de audio suministrados desde el circuito 322 de procesamiento de señales de audio al circuito 324 amplificador de audio.
El circuito 324 amplificador de audio somete los datos de audio suministrados desde el circuito 323 de cancelación de eco/sintetización de audio al procesamiento de conversión D/A, somete al procesamiento del amplificador para ajustar el volumen predeterminado, y después produce el audio desde el altavoz 325.
Además, el receptor 300 de televisión también incluye un sintonizador 316 digital 316, y un descodificador luego de MPEG.
El sintonizador 316 digital recibe las señales de ondas de difusión de una difusión digital (difusión digital terrestre, BS (Satélite de difusión) /CS (Satélite de Comunicación) difusión digital) mediante la antena, desmodula para obtener MPEG-TS (Grupos de Expertos de Imágenes en Movimiento-Corriente de Transporte) , y suministra esta al descodificador 317 de MPEG.
El descodificador 317 de MPEG desaleatoriza la aleatorización proporcionada al MPEG-TS suministrado desde el sintonizador 316 digital, y extrae una corriente que incluye los datos de un programa que sirve como un objeto de reproducción (objeto de visualización) . El descodificador 317 de MPEG descodifica un paquete de audio que forma la corriente extraída, suministra los datos de audio obtenidos al circuito 322 de procesamiento de señales de audio, y también descodifica un paquete de video que forma la corriente, y suministra los datos de video obtenidos al circuito 318 de procesamiento de señales de video. También, el descodificador 317 de MPEG suministra datos de EPG (Guía de programación electrónica) extraídos desde el MPEG-TS a una CPU 332 mediante un trayectoria no mostrada.
El receptor 300 de televisión utiliza los dispositivos de descodificación de imagen antes descritos como el descodificador 317 de MPEG para descodificar los paquetes de video de esta manera. Por consiguiente, el descodificador 317 de MPEG puede obtener una mayor eficiencia de codificación de la misma manera como en el caso de los dispositivos de descodificación de imágenes antes descritos.
Los datos de video suministrados desde el descodificador 317 de MPEG, de la misma manera como en el caso de los datos de video suministrados desde el descodificador 315 de video, se someten a procesamiento predeterminado en el circuito 318 de procesamiento de señales de video. Los datos de video sometidos al procesamiento predeterminado entonces se superponen sobre los datos de video generados, etcétera en el circuito 319 de generación de gráficos cuando sea adecuado, suministrado al panel 321 de visualización mediante el circuito 320 de excitación de panel, y la imagen del mismo se despliega en el mismo.
Los datos de audio suministrados desde el descodificador 317 de MPEG, de la misma manera como en el caso de los datos de audio suministrados desde el circuito 314 de conversión de audio A/D, sometido a procesamiento predeterminado en el circuito 322 de procesamiento de señales de audio, se suministra al circuito 324 de amplificador de audio mediante el circuito 323 de cancelación de eco/sintetización de audio, y se somete a procesamiento de conversión de D/A y procesamiento de amplificador. Como resultado de lo mismo, el audio ajustado en volumen predeterminado se produce desde el altavoz 325.
También, el receptor 300 de televisión también incluye un micrófono 326, y circuito 327 de conversión de A/D.
El circuito 327 de conversión de A/D recibe las señales de audio del usuario recolectadas por el micrófono 326 proporcionado al receptor 300 de televisión que sirve como conversación de audio, somete la señal de audio recibida a procesamiento de conversión de A/D, y suministra los datos de audio digital obtenidos al circuito 323 de cancelación de eco/sintetización de audio.
En caso de que los datos de audio del usuario (usuario A) del receptor 300 de televisión se hayan suministrado desde el circuito 327 de conversión de A/D, el circuito 323 de cancelación de eco/sintetización de audio realiza cancelación de eco en los datos de audio del usuario (usuario A) y produce los datos de audio obtenidos al sintetizar con otros datos de audio, o similares, desde el altavoz 325 mediante el circuito 324 amplificador de audio.
Además, el receptor 3 00 de televisión también incluye un códec 328 de audio, un bus 329 interno, una SDRAM 33 0 (Memoria Acceso Aleatorio Dinámica Síncrona) , memoria flash 33 1 , una CPU 332 , un USB I/F 333 (Bus de Serie Universal) y una I/F 334 de red.
La circuito 327 de conversión de A/D recibe la señal de audio del usuario recolectada por el micrófono 32 6 proporcionado al receptor 300 de televisión que sirve como conversación de audio, somete la señal de audio recibida a procesamiento de conversión A/D, y suministra los datos de audio digitales obtenidos al códec 328 de audio.
El códec 328 de audio convierte los datos de audio suministrados desde el circuito 327 de conversión de A/D en los datos de un formato predeterminado para transmisión mediante una red, y suministra a la I/F 334 de red mediante el bus 329 interno.
La I/F 334 de red se conecta a la red mediante un cable montado en una terminal 335 de red. La I/F 334 de red transmite los datos de audio suministrados desde el códec 328 de audio hasta otro dispositivo conectado a la red del mismo, por ejemplo. También, la I/F 334 de red recibe, mediante la terminal 335 de red, los datos de audio transmitidos desde otro dispositivo conectado a la misma mediante la red, y suministra esto a la códec 328 de audio mediante el bus 329 interno, por ejemplo.
El códec 328 de audio convierte los datos de audio suministrados desde la I/F 334 de red en los datos de un formato predeterminado, y suministra esto al circuito 323 de cancelación de eco/sintetización de audio.
La circuito 323 de cancelación de eco/sintetización de audio realiza la cancelación de eco con los datos de audio suministrados desde el códec 328 de audio tomado como un objeto, y produce los datos de audio obtenidos al sintetizar los datos de audio y otros datos de audio, o similares, desde el altavoz 325 mediante el circuito 324 de amplificador de audio .
La SDRAM 330 almacena varios tipos de datos necesarios para la CPU 332 realice procesamiento.
La memoria flash 331 almacena un programa que va a ejecutarse por la CPU 332. El programa almacenado en la memoria flash 331 se lee por la CPU 332 en un tiempo predeterminado, tal como cuando se activa el receptor 300 de televisión, o similares. Los datos de EPG obtenidos mediante una transmisión digital, los datos obtenidos por un servidor predeterminado mediante la red, etcétera también se almacenan en la memoria flash 331.
Por ejemplo, MPEG-TS incluyen los datos de contenido obtenidos desde un servidor predeterminado mediante la red por el control de la CPU 332 se almacenan en la memoria flash 331. La memoria flash 331 suministra el MPEG-TS de la misma en el descodificador 317 de MPEG mediante el bus 329 interno por el control de la CPU 332, por ejemplo.
El descodificador 317 de MPEG procesa MPEG-TS del mismo, en la misma manera como en el caso del MPEG-TS suministrado desde el sintonizador 316 digital. De esta manera, el receptor 300 de televisión recibe los datos de contenido formados de video, audio, etcétera, mediante la red, descodifica utilizando el descodificador 317 de MPEG, por lo que el video del mismo puede desplegarse, y el audio del mismo puede producirse.
También, el receptor 300 de televisión también incluye una unidad 337 de recepción de luz para recibir una señal infrarroja transmitida desde un control 351 remoto.
La unidad 337 de recepción de luz recibe rayos infrarrojos desde el control 351 remoto, y produce un código de control que representa el contenido de la operación del usuario obtenido por desmodulación, a la CPU 332 .
La CPU 332 ejecuta el programa almacenado en la memoria flash 331 para controlar toda la operación del receptor 300 de televisión de acuerdo con el código de control suministrado desde la unidad 337 de recepción de luz, etcétera. La CPU 332 , y las unidades del receptor 300 de televisión se conectan mediante una trayectoria no mostrada.
La I/F 333 de USB realiza la transmisión/recepción de datos en cuanto a un dispositivo externo del receptor 3 00 de televisión el cual se conecta mediante un cable de USB montado en una terminal 33 6 de USB. La I/F 334 de red se conecta a la red mediante un cable montado en la terminal 335 de red, también realiza la transmisión/recepción de datos diferentes a los datos de audio en cuanto varios dispositivos conectados a la red.
El receptor 300 de televisión puede mejorar la eficiencia de codificación al utilizar los dispositivos de descodificación de imágenes antes descritos como el descodificador 3 17 de MPEG. Como resultado del mismo, el receptor 3 00 de televisión puede obtener y desplegar imágenes descodificadas de mayor calidad de imagen desde señales difundidas recibidas mediante una antena o datos de contenido obtenidos mediante una red.
[Ejemplo de Configuración de Teléfono Celular] La Figura 28 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un teléfono celular que utiliza el dispositivo de codificación de imágenes y el dispositivo de descodificación de imágenes a los cuales se ha aplicado la presente invención.
Un teléfono 400 celular mostrado en la Figura 28 incluye una unidad 450 de control principal configurada para controlar de manera integral las unidades, una unidad 451 de circuito de suministro de energía, una unidad 452 de control de entrada de operación, un codificador 453 de imagen, una unidad 454 de I/F de cámara, una unidad 455 de control de LCD, un descodificador 456 de imagen, una unidad 457 de multiplexación/separación, una unidad 462 de grabación/reproducción, una unidad 458 de circuito de modulación/desmodulación, y un códec 459 de audio 459. Estos mutuamente se conectan mediante un bus 460.
También, el teléfono 400 celular incluye teclas 419 de operación, una cámara 416 de CCD (dispositivos acoplados por carga) , una pantalla 418 de cristal líquido, una unidad 423 de almacenamiento, una unidad 463 de circuito de transmisión/recepción, una antena 414, un micrófono 421 (MIC), y un altavoz 417.
Cuando se activa la tecla de finalizar concentraciones de energía por la operación del usuario, la unidad 451 de circuito de suministro de energía activa el teléfono 400 celular en un estado operacional al suministrar energía a las unidades de un paquete de baterías .
El teléfono 400 celular realiza varias operaciones, tal como transmisión/recepción de una señal de audio, transmisión/recepción de un correo electrónico y datos de imagen, presentación de imágenes, grabación de datos, etcétera, en varios modos, tales como un modo de llamada de voz, un modo de comunicación de datos, etcétera, basándose en el control de la unidad 450 de control principal formado de una CPU, ROM, RAM, etcétera.
Por ejemplo, en el modo de llamada de voz, el teléfono 400 celular convierte la señal de audio recolectada por el micrófono 421 (mic) en datos de audio digital por el códec 429 de audio, somete a estos a procesamientos de propagación de espectro en la unidad 458 de circuito de modulación/desmodulación, y la somete a procesamiento de conversión digital/análoga y procesamiento de conversión de frecuencia en la unidad 463 de circuito de transmisión/recepción. El teléfono 400 celular transmite la señal para transmisión obtenida por el procesamiento de conversión de la misma en una estación base no mostrada mediante la antena 414. La señal para transmisión (señal de audio) transmitida a la estación base se suministra al teléfono celular de un tercero mediante la red telefónica pública .
También, por ejemplo, en el modo de llamada de voz, el teléfono 400 celular amplifica la señal de recepción recibida en la antena 414, desde la unidad 463 de circuito de transmisión/recepción, además la somete a procesamiento de conversión de frecuencia y a procesamiento de conversión análoga/digital, somete a procesamiento de propagación inversa de espectro en la unidad 458 de circuito de modulación/desmodulación, y la convierte en una señal de audio análoga por el códec 459 de audio. El teléfono 400 celular produce la señal de audio análoga convertida y obtenida de la misma desde el altavoz 417.
Además, por ejemplo, en caso de transmitir un correo electrónico en el modo de comunicación de datos, el teléfono 400 celular acepta los datos de texto del correo electrónico ingresado por la operación de las teclas 419 de operación en la unidad 452 de control de entrada de operación. El teléfono 400 celular procesa los datos de texto del mismo en la unidad 450 de control principal, y se despliega en la pantalla 418 de cristal liquido mediante la unidad 455 de control de LCD como una imagen.
También, el teléfono 400 celular genera datos de correo electrónico en la unidad 450 de control principal basándose en los datos de texto aceptados por la unidad 452 de control de entrada de operación, las instrucciones del usuario, etcétera. El teléfono 400 celular somete los datos de correo electrónico del mismo a procesamiento de propagación de espectro en la unidad 458 de circuito de modulación/desmodulación, y la somete a procesamiento de conversión digital/análoga y procesamiento de conversión de frecuencia en la unidad 463 de circuito de transmisión/recepción. El teléfono 400 celular transmite la señal para transmitirla obtenida por el procesamiento de conversión de la misma en una estación base no mostrada mediante la antena 414. La señal para transmisión (correo electrónico) transmitida a la estación base se suministra a un destino predeterminado mediante la red, servidor de correo electrónico, etcétera.
También, por ejemplo, en caso de recibir un correo electrónico en el modo de comunicación de datos, el teléfono 400 celular recibe la señal transmitida desde la estación base mediante la antena 414 con la unidad 463 de circuito de transmisión/recepción, amplifica, y además somete a procesamiento de conversión de frecuencia y procesamiento de conversión análoga/digital. El teléfono 400 celular somete la señal de recepción de la misma a procesamiento de preparación inversa de espectro en la unidad 458 de circuito de modulación/desmodulación para restablecer los datos originales de correo electrónico. El teléfono 400 celular despliega los datos de correo electrónico restablecidos en la pantalla 418 de cristal líquido mediante la unidad 455 de control de LCD.
Observe que el teléfono 400 celular puede grabar (almacenar) los datos de correo electrónico recibidos en la unidad 423 de almacenamiento mediante la unidad 462 de grabación/reproducción .
Esta unidad de 423 de almacenamiento es un medio de grabación regrabable opcional. La unidad 423 de almacenamiento puede ser una memoria de semiconductor tal como RAM, memoria flash integrad, o similar, 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 de USB, una tarjeta de memoria, o similar. No hace falta decir que la unidad 423 de almacenamiento puede ser otra diferente a éstas.
Además, por ejemplo, en caso de transmitir datos de imágenes en el modo de comunicación de datos, el teléfono 400 celular genera datos de imagen al formar la imagen en la cámara 416 de CCD. La cámara 416 de CCD incluye un CCD que sirve como dispositivo óptico tal como una lente, diafragma, etcétera, y sirve como un dispositivo de conversión fotoeléctrica, que forma la imagen de un objeto, convierte la intensidad de la luz recibida en una señal eléctrica, y genera los datos de imagen de una imagen del objeto. La cámara 416 de CCD realiza la codificación por conversión de los datos de imagen en el codificador 453 de imagen mediante la unidad 454 de I/F de cámara, por ejemplo, por un formato predeterminado, tal como MPEG 2, MPEG 4, etcétera, y convierte datos de imagen codificados.
El teléfono 400 celular emplea los dispositivos de codificación de imagen antes descritos como el codificador 453 de imagen para para realizar tal procesamiento. Por consiguiente, de la misma manera que con los dispositivos de codificación de imágenes antes descritos, el codificador 453 de imágenes puede obtener mayor eficiencia de codificación.
Observe que, en este tiempo simultáneamente, el teléfono 400 celular convierte el audio recolectado en el micrófono 421 (mic) , mientras captura con la cámara 416 CCD, de análoga a digital en el códec 459 de audio, y además lo codifica.
El teléfono 400 celular multiplexa los datos de imagen codificados suministrados desde el codificador 453 de imagen, y los datos de audio digitales suministrados desde el códec 459 de audio en la unidad 457 de multiplexión/separación utilizando un método predeterminado. El teléfono 400 celular somete los datos multiplexados , obtenidos como resultado de los mismos del procesamiento de propagación de espectro en la unidad 458 de circuito de modulación/desmodulación, y lo somete a procesamiento de conversión digital/análoga y procesamiento de conversión de frecuencia en la unidad 463 de circuito de transmisión/recepción. El teléfono 400 celular transmite la señal para transmisión obtenida por el procesamiento de conversión de la misma en una estación base no mostrada mediante la antena 414. La señal para transmisión (datos de imágenes) transmitida a la estación base se suministra a la otra parte mediante la red o similares.
Observe que en caso de que los datos de imagen no se transmitan, el teléfono 400 celular también puede desplegar los datos de imagen integrados en la cámara 416 de CCD en la pantalla 418 de cristal líquido mediante la unidad 155 de control de LCD en lugar del codificador 453 de imágenes .
También, por ejemplo, en caso de recibir datos de un archivo de imagen en movimiento enlazado a un sitio web simple o similar en el modo de comunicación de datos, el teléfono 400 celular recibe la señal transmitida desde la estación base en la unidad 463 de circuito transmisión/recepción mediante la antena 414, amplifica, y además somete a procesamiento de conversión de frecuencia y procesamiento de conversión análoga/digital. El teléfono 400 celular somete la señal recibida a procesamiento de propagación inversa de espectro en la unidad 458 de circuito de modulación/desmodulación para restablecer los datos multiplexados originales. El teléfono 400 celular separa los datos multi lexados del mismo, en la unidad 457 de multiplexión/separación en datos de imagen codificados y datos de audio.
El teléfono 400 celular descodifica los datos de imagen codificados en el descodificador 456 de imágenes mediante un formato de descodificación que corresponde con el formato de codificación predeterminado, tal como MPEG 2, MPEG 4, etcétera, por lo que se generan reproducción de datos de imágenes en movimiento, y despliega estos en la pantalla 418 de cristal líquido mediante la unidad 455 de control de LCD. De este modo, los datos de imágenes en movimiento incluidos en un archivo de imagen en movimiento enlazado a un sitio web simple se despliegan en la pantalla 418 de cristal líquido, por ejemplo.
El teléfono 400 celular emplea los dispositivos de descodificación de imágenes antes descritos como el descodificador 456 de imágenes para realizar tal procesamiento. Por consiguiente, en la misma manera que con los dispositivos de descodificación de imágenes antes descritas, el descodificador 456 de imágenes puede tener una mayor eficiencia de codificación.
En este tiempo, simultáneamente, el teléfono 400 celular convierte los datos de audio digitales en una señal de audio análoga en el codee 459 de audio, y produce este desde el altavoz 417. De este modo, los datos de audio incluidos en un archivo de imagen en movimiento enlazado a un sitio web simple se despliega, por ejemplo.
Observe que, de la misma manera que con el caso de un correo electrónico, el teléfono 400 celular puede grabar (almacenar) los datos recibidos enlazados con un sitio web simple o similar en la unidad 423 de almacenamiento mediante la unidad 462 de grabación/reproducción.
También, el teléfono 400 celular analiza el código bidimensional con imagen obtenido por la cámara 416 de CCD en la unidad 450 de control principal, por lo que la información gravada en el código dimensional puede obtenerse.
Además, el teléfono 400 celular puede comunicarse con un dispositivo externo en la unidad 481 de comunicación de infrarrojo utilizando rayos infrarrojos.
El teléfono 400 celular emplea los dispositivos de codificación de imágenes antes descritos como el codificador 453 de imágenes, por lo que puede mejorarse la eficiencia de codificación. Como resultado, el teléfono 400 celular puede proporcionar datos codificados (datos de imagen) con una eficiencia de codificación en otro dispositivo.
También, el teléfono 400 celular emplea los dispositivos de descodificación de imágenes antes descritos como el descodificador 456 de imágenes, por lo que la eficiencia de codificación puede mejorarse. Como resultado de lo mismo, el teléfono 400 celular puede obtener y desplegar imágenes descodificadas de mayor definición desde un archivo de imagen en movimiento enlazado a un sitio web simple o similar, por ejemplo.
Observe que la descripción se ha hecho: hasta ahora desde el teléfono 400 celular emplea la cámara 416 de CCD, pero el teléfono 400 celular puede emplear un sensor de imagen (sensor de imagen CMOS) que utiliza CMOS (Semiconductor de Óxido de Metal Complementario) en lugar de esta cámara 416 de CCD. Este este caso también, el teléfono 400 celular puede formar una imagen de un objeto y generar los datos de imagen de una imagen del objeto en la misma forma que con el caso de emplear la cámara 416 de CCD.
También, se ha hecho la descripción hasta ahora con respecto al teléfono 400 celular, pero los dispositivos de codificación de imágenes antes descritos y los dispositivos de descodificación de imágenes antes descritos pueden aplicarse a cualquier tipo de dispositivo de la manera con el caso del teléfono 400 celular, siempre y cuando sea un dispositivo que tenga la misma función de formación de imágenes y función de comunicación que aquellos del teléfono 400 celular, por ejemplo, tal como un PDA (Asistente Digital Personal) , teléfono inteligente, UMPC (Computadora Personal Ultra Móvil) , computadora tipo notebook, computadora personal de tamaño notebook, o similares.
[Ejemplo de Configuración de una Grabadora de Disco Duro : La Figura 29 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una grabadora de disco duro que emplea el dispositivo de codificación de imágenes y dispositivo de descodificación de imágenes a los cuales se ha aplicado la presente invención.
Una grabadora 500 de disco duro (grabadora HDD) muestra en la Figura 29 es un dispositivo que almacena, en un disco duro integrado, datos de audio y datos de video de un programa de difusión incluido en señales de onda de difusión (señales de televisión) recibidos mediante un sintonizador y transmitidos desde un satélite o una antena terrestre o similares, y proporciona los datos almacenados al usuario en sincronía de acuerdo con las instrucciones del usuario.
La grabadora 500 de disco duro puede extraer datos de audio y datos de video de señales de onda de difusión, descodificar estas cuando sea adecuado, y almacenarlas en el disco duro integrado, por ejemplo. También, la grabadora 500 de disco duro también puede obtener datos de audio y datos de video desde otro dispositivo mediante la red, y descodificar estos cuando sea adecuado, y almacenarlos en el disco duro integrado, por ejemplo.
Además, la grabadora 500 de disco duro puede descodificar datos de audio y datos de video gravados en el disco duro integrado, suministrarlos a un monitor 560, desplegar una imagen de los mismos en la pantalla del monitor 560, y producir audio del mismo desde el altavoz del monitor 560, por ejemplo.
La grabadora 500 de disco duro puede descodificar datos de audio y datos de video extraídos de señales de difusión obtenidas mediante un sintonizador, o datos de audio y datos de video obtenidos desde otro dispositivo mediante una red, suministrar estos al monitor 560, desplegar una imagen de los mismo en la pantalla del monitor 560, y producir audio de los mismos desde el altavoz del monitor 560, por ejemplo.
Desde luego, operaciones diferentes a éstas pueden realizarse .
Como se muestra en la Figura 29, la grabadora 500 de disco duro incluye una unidad 521 de recepción, una unidad 522 de desmodulación, un desmultiplexor 523, un descodificador 524 de audio, un descodificador 525 de video, y una unidad 526 de control de grabadora. La grabadora 500 de disco duro además incluye memoria 527 de datos de EPG, memoria 528 programación, y memoria 529 de trabajo, un convertidor 530 de visualización, una unidad 531 de control de OSD (Visualización en Pantalla) , una unidad 532 de control de pantalla, una unidad 533 de grabación/reproducción, un convertidor 534 de D/A, y una unidad 535 de comunicación.
También, el convertidor 530 de visualización incluye un codificador 541 de video. La unidad 533 de grabación/reproducción incluye un codificador 551 y un descodificador 552.
La unidad 521 de recepción recibe la señal infrarroja desde el control remoto (no mostrado) , la convierte en una señal eléctrica, y la produce en la unidad 526 de control de grabadora. La unidad 526 de control de grabadora se configura, por ejemplo, de un microprocesador etcétera, y ejecuta varios tipos de procesamiento de acuerdo con el programa almacenado en la memoria 528 de programación. En este tiempo, la unidad 526 de control de grabadora utiliza la memoria 529 de trabajo de acuerdo con la necesidad.
El unidad 535 de comunicación, la cual se conecta a la red, realiza procesamiento de comunicación con otro dispositivo mediante la red. Por ejemplo, la unidad 535 de comunicación se controla por la unidad 526 de control de grabadora para comunicarse con un sintonizador (no mostrado) , y para producir principalmente una señal de control de selección de canal en el sintonizador.
La unidad 522 de desmodulación desmodula la señal suministrada desde el sintonizador, y la produce en el desmultiplexor 523. El desmultiplexor 523 separa los datos suministrados desde la unidad 522 de desmodulación en datos de audio, datos de video y datos de EPG, y los produce en el descodificador 524 de audio, descodificador 525 de video, y unidad 526 de control de grabadora, respectivamente.
El descodificador 524 de audio descodifica los datos de audio de entrada, por ejemplo, con el formato de MPEG, y los produce en la unidad 533 de grabación/reproducción. La grabadora 525 de video descodifica los datos de video de entrada, por ejemplo, con el formato de MPEG, y los produce en el convertidor 530 de visualización . La unidad 526 de control de grabadora suministra los datos de EPG de entrada a la memoria 527 de datos de EPG para almacenamiento .
El convertidor 530 de visualización codifica los datos de video suministrados desde el descodificador 525 de video o la unidad 526 de control de grabadora, por ejemplo, los datos de video que cumplen con el formato de NTSC (Comité de Estándar de Televisión Nacional) utilizando el codificador 541 de video, y los produce en la unidad 533 de grabación/reproducción. También, el convertidor 530 de visualización convierte el tamaño de la pantalla de los datos de video suministrados desde el descodificador 525 de video o la unidad 526 de control de grabadora en el tamaño que corresponde con el tamaño del monitor 560, convierte los datos de video que cumplen con el formato de NTSC utilizando el codificador 541 de video, los convierte en una señal análoga, y los produce en la unidad 532 de control de pantalla.
La unidad 532 de control de pantalla superpone, bajo el control de la unidad 526 de control de grabadora, la señal de OSD producida desde la unidad 531 de control de OSD (visualizacion en pantalla) la señal de video ingresada desde el convertidor 530 de visualizacion, y la produce en la pantalla del monitor 560 para visualizacion.
También, los datos de audio producidos desde el descodificador 524 de audio se han convertido en una señal análoga utilizando el convertidor 534 de D/A, y suministrado en el monitor 560. El monitor 560 produce esta señal de audio desde el altavoz incorporado.
La unidad 533 de grabación/reproducción incluye un disco duro un medio de grabación en el cual los datos de video, datos de audio, etcétera se graban.
La unidad 533 de grabación/reproducción codifica los datos de audio suministrados desde el descodificador 524 de audio con el formato de MPEG por el codificador 551. También, la unidad 533 grabación/reproducción codifica los datos de video suministrados desde el codificador 541 de video del convertidor 530 de visualizacion con el formato de MPEG por el codificador 551. La unidad 533 de grabación/reproducción sintetiza los datos codificados de los datos de audio de la misma, y los datos codificados de los datos de video de la misma utilizando el multiplexor. La unidad 533 de grabación/reproducción amplifica los datos sintetizados de la misma por codificación de canal, y escribe los datos de la misma en el disco duro mediante una cabeza de grabación .
La unidad 533 de grabación/reproducción reproduce los datos grabados en el disco duro mediante una cabeza de reproducción, amplifica, y se separa los datos de audio y los datos de video utilizando el desmultiplexor . La unidad de 533 de grabación/ reproducción descodifica los datos de audio y los datos de video por el descodificador 552 utilizando el formato de MPEG. La unidad 533 de grabación/reproducción convierte los datos de audio descodificados de digital a análogos y los produce en el altavoz del monitor 560. También, la unidad 533 de grabación/reproducción convierte los datos de video descodificados de digital a análogo, y los produce en la pantalla del monitor 560.
La unidad 526 de control de grabadora lee los últimos datos de EPG de la memoria 527 de datos de EPG basándose en las instrucciones del usuario indicadas por la señal infrarroja desde el control remoto el cual se recibe mediante la unidad 521 de recepción, y lo suministra a la unidad 531 de control de OSD. La unidad 531 de control de OSD 531 genera datos de imagen que corresponden con los datos de EPG de entrada, y los produce en la unidad 532 de control de pantalla. La unidad 532 de control de pantalla produce los datos de video ingresados desde la unidad 531 de control de OSD en la pantalla del monitor 560 para visualización . De este modo, la EPG (Guía de Programación Electrónica) se despliega en la pantalla del monitor 560.
También, la grabadora 500 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 mediante la red tal como la Internet o similar .
La unidad 535 de comunicación se controla por la unidad 526 de control de grabadora para obtener datos codificados, tales como datos de video, datos de audio, datos de EPG, etcétera, transmitidos desde otro dispositivo mediante la red, y para suministrar estos a la unidad 526 de control de grabadora. La unidad 526 de control de grabadora suministra los datos codificados de los datos de video obtenidos y los datos de audio a la unidad 533 de grabación/reproducción y los almacena el disco duro, por ejemplo. En este tiempo, la unidad 526 de control de grabadora y la unidad 533 de grabación/reproducción pueden realizar procesamiento tal como recodificación o similar de acuerdo con la necesidad.
También, la unidad 526 de control de grabadora descodifica los datos codificados de los datos de video obtenidos y los datos de audio, y suministra los datos de video obtenidos en el convertidor 530 de visualización . El convertidor 530 de visualización procesos, de la misma manera que con los datos de video suministrados desde el descodificador 525 de video, los datos de video suministrados desde la unidad 526 de control de grabadora, lo suministran al monitor 560 mediante la unidad 532 de control de pantalla para visualización de una imagen de la misma.
Alternativamente, una disposición puede hacerse en donde de acuerdo con esta visualización de imagen, la unidad 526 de control de grabadora suministra los datos de audio descodificados al monitor 560 mediante el convertidor 534 de D/A, y produce el audio de los mismos desde el altavoz.
Además, la unidad 526 de control de grabadora descodifica los datos codificados de los datos de EPG obtenidos, y suministra los datos de EPG descodificados a la memoria 527 de datos de EPG.
La grabadora 500 de disco duro de este modo emplea los dispositivos de descodificación de imágenes antes descritos como el descodificador 525 de video, el descodificador 552, y el descodificador alojado en la unidad 526 de control de grabadora. Por consiguiente, de la misma manera que con los dispositivos de descodificación de imágenes antes descritos, el descodificador 525 de video, el descodificador 552, y el descodificador alojado en la unidad 526 de control de grabadora puede lograr una mayor eficiencia de codificación.
Por consiguiente, la grabadora 500 de disco duro puede generar imágenes de predicción de mayor definición. Como resultado de lo mismo, la grabadora 500 de disco duro puede obtener imágenes descodificadas de mayor definición de datos codificados de datos de video recibidos mediante el sintonizador, desde datos codificados de datos de video leídos del disco duro de la unidad 533 de grabación/reproducción, y datos codificados de datos de video obtenidos mediante la red, y visualizarlos en el monitor 560, por ejemplo.
También, la grabadora 50 de disco duro emplea los dispositivos de codificación imágenes antes descritos como el codificador 551. Por consiguiente, de la misma manera que con el caso de los dispositivos de codificación imágenes antes descritos, el codificador 551 puede mejorar la eficiencia de codificación.
Por consiguiente, la grabadora 500 de disco duro puede realizar incremento en la velocidad de procesamiento, y también mejorar la eficiencia de codificación de datos codificados que van a grabarse en el disco duro, por ejemplo. Como resultado de lo mismo, la grabadora 500 de disco duro puede utilizar de manera más efectiva la región de almacenamiento del disco duro.
Observe que la descripción se ha hecho hasta ahora con respecto a la grabadora 500 de disco duro para grabar datos de video y datos de audio en el disco duro, pero no esta demás decir que cualquier tipo de medio de grabación puede emplearse. Por ejemplo, incluso con una grabadora a la cual se aplica un medio de grabación diferente a un disco duro, tal como una memoria flash, discos ópticos, video cinta, o similar, los dispositivos de codificación de imágenes antes descritos y los dispositivos de descodificación de imágenes pueden aplicarse a la misma de la misma manera que como el caso de la grabadora 500 de disco duro anterior.
[Ejemplo de Configuración de Cámara] La Figura 30 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una cámara que emplea el dispositivo de codificación de imágenes y dispositivo de descodificación de imagen a los cuales se ha aplicado la presente invención.
Una cámara 600 se mostrad en la Figura 30 forma una imagen de un sujeto, despliega una imagen del objeto en una LCD 616, y la graba en un medio 633 de grabación como datos de imágenes .
Un bloque 6 óptico ingresa la luz (es decir, la imagen de un sujeto) en un CCD/CMOS 612. El CCD/CMOS 612 es un sensor de imagen que emplea un CCD o CMOS, que convierte la intensidad de la luz recibida en una señal eléctrica, y la suministro a una unidad 613 de procesamiento de señales de cámar .
La unidad 613 de procesamiento de señales de cámara convierte la señal eléctrica suministrada desde el CCD/CMOS 612 en señales de diferencia de color de Y, Cr, y Ck>, y la suministra a una unidad 614 de procesamiento de señales de imagen. La unidad 614 de procesamiento de señal de imagen se omite, bajo el control de un controlador 621, la señal de imagen suministrada desde la unidad 613 de procesamiento de señales de cámara para procesamiento de imágenes predeterminado, o codifica la señal de imagen de la misma por un codificador 641 utilizando el formato MPEG por ejemplo. La unidad 614 de procesamiento de señales de imágenes suministra los datos codificados generados al codificar una señal de imagen, a un descodificador 615. Además, la unidad 614 de procesamiento de señal de imagen obtiene los datos para visualización generados en una visualización en pantalla 620 (OSD) , y la suministra al descodificador 615.
Con el procesamiento antes descrito, la unidad 613 de procesamiento de señales de cámara aprovecha de manera adecuada la DRAM 618 (Memoria de Acceso Aleatorio Dinámica) conectada mediante un bus 617 para contener los datos de imagen, los datos codificados, codificados de los datos de imagen de los mismos, etcétera en la DRAM 618 de los mismos de acuerdo con la necesidad.
El descodificador 615 descodifica los datos codificados suministrados desde la unidad 614 de procesamiento de señales imagen, y suministra los datos de imagen obtenidos (datos imagen descodificados) en la LCD 616. También, el descodificador 615 suministra los datos para visualización suministrada desde la unidad 614 de procesamiento de señales de imagen a la LCD 616. La LCD 616 sintetiza la imagen de los datos de imagen descodificados, y la imagen de los datos para visualización, suministrados desde el descodificador 615, cuando sea adecuado, y despliega una imagen sintetizada de los mismos.
La visualización en pantalla 620 produce, bajo el control del controlador 621, datos para visualización tal como una pantalla de menú o icono o similar formado de un símbolo, caracteres, o una figura en la unidad 614 de procesamiento señales de imagen mediante el bus 617.
Basándose en una señal que indica el contenido ordenado por el usuario que utiliza una unidad 622 de operación, el controlador 622 ejecuta varios tipos de procesamiento, y también controla la unidad 614 de procesamiento de señales de imagen, la DRAM 618, la interfaz 619 externa, la visualización en pantalla 620, la unidad lectora 623 de medios, y etcétera mediante el bus 617. Programas, datos, etcétera, necesarios para el controlador 621 que ejecuta varios tipos de procesamiento se almacenan en la ROM FLASH 624.
Por ejemplo, el controlador 621 puede codificar datos de imagen almacenados en la DRAM 618, o descodificar datos codificados almacenados en la DRAM 618 en lugar de la unidad 614 de procesamiento de señales de imagen y el descodificador 615. En este tiempo, el controlador 621 puede realizar procesamiento de codificación/descodificación utilizando el mismo formato que el formato de codificación/descodificación de la unidad 614 de procesamiento de señales de imagen y el descodificador 615, o puede realizar procesamiento de codificación/descodificación utilizando un formato que ni la unidad 614 de procesamiento de señales de imagen ni el descodificador 615 pueden manejar.
También, por ejemplo, en caso de inicio de impresión de imagen se haya instruido desde la unidad 622 de operación, el controlador 621 lee los datos de imagen de la DRAM 618, y la suministra a una impresora 634 conectada a la interfaz 619 externa mediante el bus 617 para impresión.
Además, por ejemplo, en caso de que se haya instruido grabación de imagen desde la unidad 622 de operación, el controlador 621 lee los datos codificados desde la DRAM 618, y lo suministra a un medio 633 de grabación montado en la unidad lectora 623 de medios mediante el bus 617 para almacenamiento.
El medio 633 de grabación es un medio removible legible/grabable opcional, por ejemplo, tal como un disco magnético, un disco magneto-óptico, un disco óptico, una memoria de semiconductor, o similares. No hace falta decir que el medio 633 de grabación también es opcional con respecto al tipo de medio renovable, y por consiguiente puede ser un dispositivo de cinta, o puede ser un disco, o puede ser una tarjeta de memoria. No hace falta decir que el medio 633 de grabación puede ser una tarjeta IC sin contacto o similar.
Alternativamente, la unidad lectora 623 de medios y el medio 633 de grabación puede configurarse para integrarse en un medio de grabación no transportable, por ejemplo, tal como una unidad de disco duro integrada, SSD (Unidad de Estados Sólidos), o similares.
La interfaz 619 externa se configura, por ejemplo, de una terminal de entrada/salida de USB, etcétera, y se conecta a la impresora 634 en caso de realizar impresión de una imagen. También, una unidad lectora 631 se conecta a la interfaz 619 externa de acuerdo con la necesidad, en la cual el medio 632 removible tal como un disco magnético, disco óptico o un disco magneto-óptico se monta cuando es adecuado, y un programa de computadora leído del mismo se instala en la ROM FLASH 624 de acuerdo con la necesidad.
Además, la interfaz 619 externa incluye una interfaz de red para conectarse a una red predeterminada tal como una LA D, la Internet, o similares. Por ejemplo, de acuerdo con las instrucciones desde la unidad 622 de operación, el controlador 621 puede leer los datos codificados de la DRAM 618, y suministrarlos desde la interfaz 619 externa hasta otro dispositivo como conectado mediante la red. También, el controlador 621 puede obtener, mediante la interfaz 619 externas, datos codificados o datos de imagen suministrados desde otro dispositivo mediante la red, y mantenerlos en la DRAM 618, o suministrarlos a la unidad 614 de procesamiento de señales de imagen.
La cámara 600 de este modo configurada emplea los dispositivos de descodificación de imágenes antes descritos como el descodificador 615. Por consiguiente, de la misma manera que con los dispositivos de descodificación de imágenes antes descritos, el descodificador 615 puede obtener mayor eficiencia de codificación.
Por consiguiente, la cámara 600 puede generar una imagen de proyección con alta precisión. Como resultado de la misma, la cámara 600 puede obtener imágenes descodificadas de mayor definición desde, por ejemplo, datos de imágenes generados en el CCD/CMOS 612, datos codificados de datos de video leídos de la DRAM 618 o el medio 633 de grabación, y los datos codificados de los datos de video obtenidos mediante una red, y desplegarlos en la LCD 616.
También, la cámara 600 emplea los dispositivos de codificación de imágenes antes descritos como el codificador 641. Por consiguiente, en la misma forma que con el caso de los dispositivos de codificación de imágenes antes descritos, el codificador 641 puede obtener mayor eficiencia de codificación .
Por consiguiente, la cámara 600 puede mejorar la eficiencia de codificación de datos codificados que se van a grabar en el disco duro, por ejemplo, como resultado de lo mismo, la cámara 600 puede utilizar de manera más efectiva la región de almacenamiento de la DRAM 618 o el medio 633 de grabación .
Observe que el método de descodificación de los dispositivos de codificación de imágenes antes descrito puede aplicarse al procesamiento de descodificación que realiza el controlador 621. De la misma manera, el método de codificación de los dispositivos de codificación de imágenes antes descritos puede aplicarse al procesamiento de codificación 621.
También, los datos de imágenes que toma la cámara 600 pueden ser imágenes móviles o pueden ser imágenes fijas.
Como algo natural, los dispositivos de codificación de imágenes antes descritos y los dispositivos de descodificación de imágenes pueden aplicarse a dispositivos y sistemas diferentes a los dispositivos antes descritos.
Observe que la presente tecnología puede asumir las siguientes configuraciones también. (1) Un dispositivo de procesamiento de imágenes que incluye : una unidad de asignación de número de código configurada para controlar una forma en la cual los números de código se asignan a la información de vector del movimiento de transmisión, de acuerdo con características de movimiento de una imagen; y una unidad de generación de vector de movimiento de predicción configurada para utilizar la información de movimiento periférico que es información de movimiento de una región periférica de una región actual que va a procesarse para generar información de vector de movimiento de predicción de la región, y asignar el número de código a la información de vector de movimiento de predicción que se ha generado, siguiendo la forma en la cual los número de código se asignan que se ha decidido por la unidad de asignación del número de código . (2) El dispositivo de procesamiento de imágenes de acuerdo con (1), en donde la unidad de asignación de número de código controla la forma en la cual los números de código se asignan a la información de vector del movimiento de predicción, para cada región de incremento de procesamiento de predicción. (3) El dispositivo de procesamiento de imágenes de acuerdo con (2), en donde, en el caso de que la región es una región fija, la unidad de asignación de número de código controla la forma en la cual los números de código se asignan de manera que un número de código pequeño se asigna a la información de vector de movimiento de predicción temporal . (4) El dispositivo de procesamiento de imágenes de acuerdo con (3) , en donde, en el caso en la región es una región fija, la unidad de generación de vector de movimiento de predicción genera sólo la información de vector de movimiento de predicción temporal, y asigna a la información de vector de movimiento de predicción temporal un número de código decidido por la unidad de asignación de número de código . (5) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (2) a (4), en donde, en el caso en que la región es una región móvil, la unidad de asignación del número de código controla la forma en la cual los números de código se asignan de modo que un número de código pequeño se asigna a información de vector de movimiento de predicción espacial . (6) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (2) a (5), que además incluye: una unidad de determinación fija configurada para determinar si una región actual es o no una región fija; en donde la unidad de asignación de número de código controla la forma en la cual los número de código se aginan a la información de vector de movimiento de predicción de la región actual, que sigue los resultados de determinación de la unidad de determinación de región fija. (7) El dispositivo de procesamiento de imágenes de acuerdo con (6) , en donde la región de determinación de región fija determina si una región actual es o no una región fija que utiliza información de movimiento de una región Co-Ubicada de la región actual. (8) El dispositivo de procesamiento de imágenes de acuerdo con (7) , en donde la región de determinación de región fija determina una región actual que es una región fija en caso de que valores absolutos de un componente horizontal de información de movimiento de la región Co-Ubicada de la región actual y un componente vertical de la información de movimiento se encuentran dentro de un valor de umbral determinado, y también en el caso en que un índice de referencia es 0, se aplica un Ref_PicR_reordering, o un índice de referencia tiene un valor de POC que indica una imagen inmediatamente antes . (9) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (1) a (8), en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, de acuerdo con los ajustes de usuario . (10) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (1) a (9) , en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para elevar la eficiencia de codificación . (11) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (1) a (10) , en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para optimizar la calidad de imagen subjetiva. (12) El dispositivo de procesamiento de imágenes de acuerdo con (1) , en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para cada división. (13) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (1) a (12), que además incluye: una unidad de generación de indicador configurada para generar un indicador que indica un modo variable en el cual forma en la cual los números de código se asignan puede cambiar. (14) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (1) a (13), en donde la unidad de generación de vector de movimiento de predicción genera múltiple información de vector de movimiento de predicción para cada modo de predicción; y además incluye: una unidad de generación de vector de movimiento de diferencia configurado para seleccionar, para cada modo de predicción, la información de vector de movimiento de predicción óptimo de la pluralidad de información de vector de movimiento de predicción generada por la unidad de generación de vector de movimiento de predicción, y generar un vector de movimiento de diferencia el cual es la diferencia en cuanto a un vector de movimiento de la región actual; una unidad de determinación de modo configurada para determinar a partir de los modos de predicción, un modo de predicción óptimo; y una unidad de transmisión configurada para transmitir la información de vector de movimiento de diferencia del modo de predicción determinado por la unidad de determinación de modo, y el número de código de la información de vector de movimiento de predicción del modo de predicción. (15) El dispositivo de procesamiento de imágenes de acuerdo con (14), que además incluye: una unidad de codificación configurada para codificar la información de vector del movimiento de diferencia del modo de predicción determinado por la unidad de determinación de modo, y el número de código de la información de vector de movimiento de predicción del modo de predicción; en donde la unidad de transmisión transmite la información de vector de diferencia codificada por la unidad de codificación, y el número de código de la información de vector de movimiento de predicción. (16) Un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método incluye: una unidad de asignación del número de código que controla una forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, de acuerdo con las características del movimiento de una imagen; y una unidad de generación de vector de movimiento de predicción que utiliza información de movimiento periférico la cual es la información de movimiento de una región periférica de una región actual, la cual es procesada para generar información de vector de movimiento de predicción de la región, y asignar el número de código a la información de vector de movimiento de predicción que se ha generado, después de la forma en la cual se asignan los número de códigos que se ha decidido. (17) Un dispositivo de procesamiento de imágenes que incluye : Una unidad de asignación de número de código configurada para controlar una forma en la cual números de código se asignan a la información de vector de movimiento de predicción, de acuerdo con características de movimiento de una imagen; y una unidad de reconstrucción de vector de movimiento de predicción configurada para obtener un número de código de información de vector de movimiento de predicción de una región actual la cual se procesara y reconstruye la información de vector de movimiento de predicción del número de código, que sigue la forma en la cual se asignan los números de código que se ha decidido por la unidad de asignación del número de código. (18) El dispositivo de procesamiento de imágenes de acuerdo con (17), en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para cada región de incremento de procesamiento de predicción. (19) El dispositivo de procesamiento de imágenes de acuerdo con (18) , en donde, en el caso en que la región es una región fija, la unidad de asignación de número de control controla la forma en la cual se asignan los número de código de modo que un número de código pequeño se asigna a la información de vector de movimiento de tensión temporal. (20) El dispositivo de procesamiento de imágenes de acuerdo con (18) o (19), en donde, en caso de que la región sea una región móvil, la unidad de asignación del número de código controla la forma en la cual se asignan los números de código de modo que un numero de código de pequeño se asigna a la información de vector de movimiento de actualización espacial . (21) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (18) a (20), que además incluye: una unidad de determinación de región fija configurada para determinar si una región actual es o no una región fija; en donde la unidad de asignación del número de código controla la forma en la cual se asignan los números de código a la información de vector de movimiento de proyección de la región actual, que sigue los resultados de determinación de la unidad de determinación de región fija. (22) El dispositivo de procesamiento de imágenes de acuerdo con (21) , en donde la región de determinación de región fija determina si una región actual es o no una región fija utilizando la información de movimiento de una región Co-Ubicada de la región actual . (23) El dispositivo de procesamiento de imágenes de acuerdo con (22), en donde la región de determinación de región fija determina una región actual que es una región fija en el caso de que los valores absolutos de un componente horizontal de la información de movimiento de la región Co-Ubicada de la región actual y un componente vertical de la información de movimiento se encuentre dentro de un valor de umbral predeterminado, y también en caso de que un índice de referencia sea 0, se aplica un Ref_PicR_reordering, o un índice de referencia tiene un valor de POC que indica una imagen inmediatamente antes . (24) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (17) a (23), en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, de acuerdo con los ajustes de usuario . (25) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (17) a (24), en donde la unidad de asignación del número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para elevar la eficiencia de codificación . (26) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (17) a (25), en donde la unidad de asignación de números de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para optimizar la calidad de imagen subjetiva. (27) El dispositivo de procesamiento de imágenes de acuerdo con (17), en donde la unidad de asignación de números de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción, para cada división. (28) El dispositivo de procesamiento de imágenes de acuerdo con cualquiera de (16) a (27), que además incluye: una unidad de obtención de indicador configurada para obtener un indicador que indica un modo variable en el cual la forma en la que se asignan los números de código se puede cambiar; en donde, en el caso en que el indicador obtenido por el indicador indique el modo variable, la unidad de asignación de número de código controla la forma en la cual los números de código se asignan a la información de vector de movimiento de predicción. (29) Un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método incluye: una unidad de asignación de número de código que controla la forma en la cual los números de códigos se asignan a la información de vector de movimiento de predicción, de acuerdo con las características de movimiento de una imagen; y una unidad de reconstrucción de vector de movimiento de predicción que tiene un número de código de información de vector de movimiento de transmisión de una región actual la cual va a procesarse, y reconstruir la información de vector de movimiento de predicción a partir del número de código, que sigue la forma en la cual se asignan los números de código que se ha decidido.
Lista de Signos de Referencia 51 dispositivo de codificación de imágenes 66 unidad de codificación sin pérdida 74 unidad de predicción intra 75 unidad de predicción/compensación de movimiento 76 unidad de generación de vector de movimiento de predicción 77 unidad de asignación de número de código 91 unidad de búsqueda de movimiento 92 unidad de cálculo de función de costo 93 unidad de selección vector de movimiento de predicción óptimo 94 unidad de determinación de modo 95 unidad de compensación de movimiento 101 dispositivo de descodificación de imágenes 112 unidad de descodificación sin pérdida 121 unidad de predicción intra 122 unida de predicción/compensación de movimiento 123 memoria intermedia de asignación de número de código 124 unidad de generación de vector de movimiento de predicción 131 memoria intermedia de vector de diferencia 132 memoria intermedia de número de código de nivel de bloque 133 unidad de generación de vector de movimiento 134 memoria intermedia de vector de movimiento 135 unidad de compensación de movimiento 151 dispositivo de codificación de imágenes 161 unidad de asignación de número de código 162 unidad de codificación sin pérdida 163 unidad de determinación de asignación de número de código óptimo

Claims (27)

REIVINDICACIONES
1. Un dispositivo de procesamiento de imágenes que comprende : una unidad de generación de vector de movimiento de predicción configurada para utilizar un vector de movimiento periférico el cual es un vector de movimiento de una región periférica situada en una periferia de una región actual de una imagen la cual se procesará para generar un vector de movimiento de predicción de la región actual; y una unidad de asignación de números de código configurada para asignar un número de código a un vector de movimiento de predicción que se ha generado por la unidad de generación de vector de movimiento de predicción, que sigue un modo variable donde la forma en la cual un número de códigos se asigna a un vector de movimiento de predicción generado por la unidad de generación de vector de movimiento de predicción se puede cambiar.
2. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 1, en donde el modo variable es un modo donde un número de código, en un modo fijo y cuya forma se fija a la forma en la cual el número de códigos se asigna a ajustes por defecto, se cambia; y donde la unidad de asignación del número de código asigna un número de código del vector de movimiento de predicción que sigue el modo variable.
3. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 2, en donde el modo variable es un modo donde un número de código asignado a un vector del movimiento de predicción temporal y un número de código asignado a un vector de movimiento de predicción espacial se cambian .
4. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 3, en donde, en el caso en que el modo fijo es un modo donde un número de código asignado a un vector del movimiento de predicción espacial se establece para ser de un valor menor que un numero de código asignado a un vector de movimiento de predicción temporal como ajuste por defecto, el modo variable es un modo donde el número de código asignado al vector de movimiento de predicción temporal se cambia para ser de un mayor valor que el número de código asignado al vector de movimiento de predicción espacial .
5. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 4 , en donde el modo variable es un modo donde el valor de un número de código asignado a un vector de movimiento de predicción temporal se establece de 1 a 0, y el valor de un número de código asignado al vector de movimiento de predicción espacial se establece de 0 a 1.
6. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 5, que además comprende: una unidad de ajuste de modo configurada para establecer el modo variable; en donde la unidad de asignación del número de código asigna el número de código que sigue el modo variable establecido por la unidad de ajuste de modo.
7. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 1, que además comprende: una unidad de generación configurada para generar datos de identificación que indican que el número de código se ha asignado después del modo variable; y una unidad de transmisión configura para transmitir una corriente codificada en la cual la imagen se ha codificado, y los datos de identificación generados por la generación .
8. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 7, en donde la unidad de generación genera los datos de identificación para cada división; y donde la unidad de transmisión transmite los datos de identificación generados por la unidad de generación como un encabezado de división de la corriente codificada.
9. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 7, en donde la unidad de generación genera datos de identificación para cada imagen o secuencia; y en donde la unidad de transmisión transmite los datos de identificación generados por la unidad de generación como un conjunto de parámetros de imagen o un conjunto de parámetros de secuencia de la corriente codificada.
10. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 1, en donde, en el caso en que la región actual es una región fija, la unidad de asignación del número de código asigna un número de código pequeño a un vector de movimiento de predicción temporal.
11. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 10, en donde, en el caso en que la región actual es una región fija, la unida de generación de vector de movimiento de predicción genera sólo el vector de movimiento de predicción temporal; y en donde la unidad de asignación del número de código asigna el número de código al vector de movimiento de predicción temporal generado por la unidad de generación de vector de movimiento de predicción.
12. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 11, en donde, en caso de la región actual sea una región móvil, la unidad de asignación del número de código asigna un número de código pequeño a un vector de movimiento de predicción espacial.
13. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 11, que además comprende: una unidad de determinación de región fija configurada para determinar si la región actual es o no una región fija; en donde, en caso de que la unidad de determinación de región fija determine que la región fija es una región fija, la unidad de asignación del número de código asigna un número de código pequeño al vector de movimiento de predicción temporal .
14. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 13, en donde la unidad de determinación de región fija determinar si la región actual es o no una región fija, utilizando el vector de movimiento de una región Co-Ubicada de la región actual .
15. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 14, en donde la unidad de determinación de región fija determinan que la región actual es una región fija en caso de que valores absolutos de un componente horizontal de vector de movimiento de la región Co-Ubicada de la región actual y un componente vertical del vector de movimiento se encuentren dentro de un valor de umbral predeterminado, y también en caso de que un índice de referencia sea 0, se aplique una Ref_PicR_reordering, o un índice de referencia y tiene un valor de POC que indica una imagen inmediatamente antes .
16. Un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método comprende : una unidad de generación de vector de movimiento de predicción que utiliza un vector de movimiento periférico el cual es un vector de movimiento de una región periférica situada en una periferia de una región actual de una imagen la cual se procesará para generar un vector de movimiento de predicción de la región actual; y una unidad de asignación del número de código que asigna un número de código al vector de movimiento de predicción que se ha generado, después de un modo variable donde la forma en la cual se asigna un número de código en cuanto a un vector de movimiento de predicción generado se puede cambiar.
17. Un dispositivo de procesamiento de imágenes que comprende : una unidad de obtención de número de código configurada para obtener un número de código asignado después de un modo variable donde la forma en la cual se asigna un número de código en cuanto a un vector de movimiento de predicción de una región actual que se procesará se puede cambiar; y una unidad de reconstrucción de vector de movimiento de predicción configurada para reconstruir el vector de movimiento de predicción, que utiliza un número de código obtenido por la unidad de obtención del número código, después del modo variable.
18. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 17, en donde el modo variable es un modo donde un número de código, en un modo fijo en el cual la forma en la que se fija el número de código que se asigna a ajustes por defecto, se cambia.
19. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 18, en donde el modo variable es un modo donde un número de código asignado a un vector de movimiento de predicción temporal y un número de código asignado a un vector del movimiento de predicción espacial se cambian .
20. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 19, en donde, en el caso en que el modo fijo es un modo donde un número de código asignado a un vector del movimiento de predicción espacial se establece para ser de un menor valor que un número de código asignado a un vector de movimiento de predicción temporal como ajustes por defecto, el modo variable es un modo donde el número de código asignado al vector de movimiento de predicción temporal se cambia para ser de un valor mayor que el número de código asignado al vector de movimiento de predicción espacial .
21. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 20, en donde el modo variable es un modo donde el valor de un número de código asignado a un vector de movimiento de predicción temporal se establece de 1 a 0, y el valor de un número de código asignado al vector de movimiento de predicción espacial se establecen en 0 a 1.
22. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 17, que además comprende: una unidad de recepción configurada para recibir una corriente codificada en la cual los datos de identificación que indican que el número de código va a asignarse después del modo variable, y una imagen, que codifican; en donde, en el caso en que los datos de identificación recibidos por el medio de recepción indican el modo variable, la unidad de obtención de número de código obtiene un número de código asignado después del modo variable.
23. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 22, en donde los datos de identificación se han establecido para cada división; en donde la recepción recibe los datos de identificación como un encabezado de división de la corriente codificada .
24. El dispositivo de procesamiento de imágenes de acuerdo con la reivindicación 22, en donde los datos de identificación se han establecido para cada imagen o secuencia; y donde la unidad de recepción recibe los datos de identificación como un conjunto de parámetros de imagen o un conjunto de parámetros de secuencia de la corriente codificada .
25. Un método de procesamiento de imágenes de un dispositivo de procesamiento de imágenes, el método comprende: una unidad de obtención del número de código que obtiene un número de código asignado después de un modo variable donde la forma en la cual se asigna un número de código en cuanto a un vector de movimiento de predicción de una región actual que va a procesar se puede cambiar; y una unidad de reconstrucción de vector del movimiento de predicción que reconstruye el vector de movimiento de predicción, utilizando el número de código obtenido, después del modo variable.
26. Un dispositivo de procesamiento de imágenes que comprende : una unidad de generación de vector del movimiento de predicción configurada para utilizar un vector del movimiento periférico el cual es un vector de movimiento de una región periférica situada en una periferia de una región actual de una imagen la cual se va a procesar para generar un vector de movimiento de predicción de la región actual; y una unidad de asignación de número de código configurada para asignar un número de código al vector del movimiento de predicción que se ha generado por la unidad de generación de vector del movimiento de predicción, cambiando dinámicamente la forma en la cual el número de código se asigna a un vector del movimiento de predicción generado por la unidad de generación de vector de movimiento de predicción.
27. Un dispositivo de procesamiento de imágenes que comprende : una unidad de obtención de número de código configurada para obtener un número de código asignado, en donde la forma en la cual se asigna un número de código en cuanto un vector de movimiento de predicción de una región actual que va a procesarse se cambia dinámicamente; una unidad de reconstrucción de vector de movimiento de predicción configurada para reconstruir el vector de movimiento de predicción, utilizando el número de código obtenido por la unidad de obtención del número de código .
MX2012010863A 2010-04-01 2011-03-11 Dispositivo y metodo de procesamiento de imagenes. MX2012010863A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010085236 2010-04-01
JP2010222298 2010-09-30
PCT/JP2011/055725 WO2011125411A1 (ja) 2010-04-01 2011-03-11 画像処理装置および方法

Publications (1)

Publication Number Publication Date
MX2012010863A true MX2012010863A (es) 2012-10-15

Family

ID=44762372

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2012010863A MX2012010863A (es) 2010-04-01 2011-03-11 Dispositivo y metodo de procesamiento de imagenes.

Country Status (14)

Country Link
US (3) US10362316B2 (es)
EP (1) EP2555524A4 (es)
JP (3) JP6033081B2 (es)
KR (4) KR101633153B1 (es)
CN (7) CN107318025B (es)
AU (1) AU2011236288A1 (es)
BR (1) BR112012024167A2 (es)
CA (1) CA2791677A1 (es)
CO (1) CO6571864A2 (es)
MX (1) MX2012010863A (es)
RU (1) RU2012140740A (es)
TW (2) TW201515445A (es)
WO (1) WO2011125411A1 (es)
ZA (1) ZA201207006B (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120268551A1 (en) * 2011-04-19 2012-10-25 Ben Wu Image Interaction Device, Interactive Image Operating System, and Interactive Image Operating Method thereof
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR102094557B1 (ko) * 2011-12-19 2020-03-27 소니 주식회사 화상 처리 장치 및 방법
TWI726579B (zh) * 2011-12-21 2021-05-01 日商Jvc建伍股份有限公司 動態影像編碼裝置、動態影像編碼方法、動態影像解碼裝置、及動態影像解碼方法
EP2805492B1 (en) 2012-01-19 2018-11-14 VID SCALE, Inc. System and method of video coding quantization and dynamic range control
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
WO2015006169A1 (en) * 2013-07-08 2015-01-15 Sony Corporation Improvement for palette coding mode
BR112016017201B1 (pt) * 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
JP2015177466A (ja) * 2014-03-17 2015-10-05 富士通株式会社 動画符号化装置、動画符号化方法および動画符号化プログラム
KR102287907B1 (ko) * 2015-06-22 2021-08-10 삼성디스플레이 주식회사 유기 발광 다이오드 표시 장치의 열화 보상기
KR102617041B1 (ko) * 2015-12-28 2023-12-26 가부시키가이샤 한도오따이 에네루기 켄큐쇼 장치, 텔레비전 시스템, 및 전자 기기
MX2019003553A (es) * 2016-09-30 2019-08-12 Huawei Tech Co Ltd Metodo de codificacion de video, metodo de decodificacion de video y terminal.
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
FI3808090T3 (fi) * 2018-07-18 2024-09-18 Beijing Dajia Internet Information Tech Co Ltd Menetelmiä ja laite videokoodaukseen käyttäen historiaan perustuvaa liikevektorin ennustusta
JP7257523B2 (ja) 2018-12-28 2023-04-13 テレフオンアクチーボラゲット エルエム エリクソン(パブル) エンコーダおよびデコーダにおける変換選択を選択するための方法および装置
CN111010620B (zh) * 2019-12-03 2022-08-02 海信视像科技股份有限公司 多媒体资源轮播的方法、装置、电子设备和存储介质

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0411318A (ja) * 1990-04-27 1992-01-16 Matsushita Electric Ind Co Ltd 磁気記録再生方法
KR950011200B1 (ko) * 1990-10-31 1995-09-29 니뽕 빅터 가부시끼가이샤 인터레이스 동화상 신호의 압축 장치
JPH05227522A (ja) * 1991-09-20 1993-09-03 Sony Corp 画像符号化装置および画像復号化装置
US6870884B1 (en) * 1992-01-29 2005-03-22 Mitsubishi Denki Kabushiki Kaisha High-efficiency encoder and video information recording/reproducing apparatus
JP4028900B2 (ja) * 1996-01-11 2007-12-26 富士通株式会社 動画像符号化装置及び動画像復号化装置
JPH10224800A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
JPH10224000A (ja) 1997-02-12 1998-08-21 Harness Sogo Gijutsu Kenkyusho:Kk プリント基板
CN1253652A (zh) * 1997-03-31 2000-05-17 松下电器产业株式会社 活动图像显示方法及其装置
KR100252342B1 (ko) 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
JP4142180B2 (ja) 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
US6987884B2 (en) * 2000-08-07 2006-01-17 Sony Corporation Image processing device and method, and recorded medium
KR100355831B1 (ko) * 2000-12-06 2002-10-19 엘지전자 주식회사 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
CN101409837B (zh) * 2001-09-14 2011-07-13 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
KR100642043B1 (ko) * 2001-09-14 2006-11-03 가부시키가이샤 엔티티 도코모 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
WO2003063503A1 (en) * 2002-01-24 2003-07-31 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4130780B2 (ja) * 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
JP4368575B2 (ja) * 2002-04-19 2009-11-18 パナソニック株式会社 可変長復号化方法、可変長復号化装置およびプログラム
KR100931750B1 (ko) * 2002-04-19 2009-12-14 파나소닉 주식회사 움직임 벡터 계산방법
US7151856B2 (en) * 2002-04-25 2006-12-19 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture coding method
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
WO2004012459A1 (ja) * 2002-07-26 2004-02-05 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法、動画像復号化方法および記録媒体
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7702103B2 (en) * 2002-10-25 2010-04-20 Nagra France Device for the transformation of MPEG 2-type multimedia and audiovisual contents into secured contents of the same type
EP1422928A3 (en) 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
JP2006517364A (ja) * 2003-01-07 2006-07-20 トムソン ライセンシング マクロブロック・パーティションのインター/イントラ混在ビデオ符号化
CN100531396C (zh) * 2003-07-24 2009-08-19 日本电信电话株式会社 图像编码装置和方法以及图像解码装置和方法
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
JP4632049B2 (ja) * 2003-12-25 2011-02-16 日本電気株式会社 動画像符号化方法及び装置
EP1719346A1 (en) * 2004-02-20 2006-11-08 Koninklijke Philips Electronics N.V. Method of video decoding
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
JP4700002B2 (ja) * 2004-08-19 2011-06-15 パイオニア株式会社 テロップ検出方法、テロップ検出プログラム、およびテロップ検出装置
US7586517B2 (en) * 2004-10-27 2009-09-08 Panasonic Corporation Image pickup apparatus
WO2006054257A1 (en) * 2004-11-22 2006-05-26 Koninklijke Philips Electronics N.V. Motion vector field projection dealing with covering and uncovering
EP1753242A2 (en) * 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
KR100745979B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 다계조 표현을 위한 디더링 장치 및 방법
FR2896118A1 (fr) * 2006-01-12 2007-07-13 France Telecom Codage et decodage adaptatifs
US20070171977A1 (en) * 2006-01-25 2007-07-26 Shintaro Kudo Moving picture coding method and moving picture coding device
EP2011342B1 (en) 2006-04-14 2017-06-28 Nxp B.V. Motion estimation at image borders
KR101228109B1 (ko) * 2006-07-24 2013-01-31 삼성전자주식회사 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
JP4187037B2 (ja) * 2006-10-12 2008-11-26 船井電機株式会社 遠隔操作システム
KR100813986B1 (ko) * 2006-10-25 2008-03-14 삼성전자주식회사 움직임 적응적 디인터레이싱 방법 및 그 장치
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP4924228B2 (ja) * 2007-06-19 2012-04-25 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
EP2034742A3 (en) * 2007-07-25 2009-10-14 Hitachi Ltd. Video coding method and device
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
WO2009123248A1 (en) * 2008-04-01 2009-10-08 Canon Kabushiki Kaisha Moving image encoding apparatus and moving image encoding method
US8184705B2 (en) * 2008-06-25 2012-05-22 Aptina Imaging Corporation Method and apparatus for motion compensated filtering of video signals
EP2334082A1 (en) * 2008-09-17 2011-06-15 Sharp Kabushiki Kaisha Scalable video stream decoding apparatus and scalable video stream generating apparatus
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
JPWO2010064675A1 (ja) * 2008-12-03 2012-05-10 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
TWI382770B (zh) * 2008-12-11 2013-01-11 Univ Nat Taiwan 視訊影像傳輸中遇到封包遺失時的有效選取方法
TWI440363B (zh) * 2009-02-19 2014-06-01 Sony Corp Image processing apparatus and method
JP5267655B2 (ja) * 2009-03-19 2013-08-21 富士通株式会社 画像符号化装置、画像符号化制御方法および画像符号化プログラム
JP5146388B2 (ja) * 2009-04-03 2013-02-20 沖電気工業株式会社 映像圧縮符号化データの復号装置
WO2010137086A1 (ja) * 2009-05-26 2010-12-02 パナソニック株式会社 動画像処理装置および動画像処理方法
JP2011029954A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置と画像符号化方法
JPWO2011061880A1 (ja) 2009-11-19 2013-04-04 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
WO2011099080A1 (ja) * 2010-02-12 2011-08-18 富士通株式会社 画像符号化装置及び画像復号装置

Also Published As

Publication number Publication date
KR101633153B1 (ko) 2016-06-23
CO6571864A2 (es) 2012-11-30
AU2011236288A1 (en) 2012-11-01
KR20160075828A (ko) 2016-06-29
EP2555524A1 (en) 2013-02-06
CN107241604A (zh) 2017-10-10
JP6033081B2 (ja) 2016-11-30
BR112012024167A2 (pt) 2016-06-28
CN107241604B (zh) 2020-11-03
RU2012140740A (ru) 2014-05-10
KR101702822B1 (ko) 2017-02-06
CN110381314A (zh) 2019-10-25
ZA201207006B (en) 2013-01-30
TW201515445A (zh) 2015-04-16
US20200154113A1 (en) 2020-05-14
JPWO2011125411A1 (ja) 2013-07-08
JP2017073809A (ja) 2017-04-13
KR20170015536A (ko) 2017-02-08
WO2011125411A1 (ja) 2011-10-13
KR101794486B1 (ko) 2017-11-06
JP6057140B2 (ja) 2017-01-11
US20190306514A1 (en) 2019-10-03
US10362316B2 (en) 2019-07-23
CN110381314B (zh) 2021-08-24
CN110460852A (zh) 2019-11-15
CN110460860A (zh) 2019-11-15
CN107318025B (zh) 2020-12-29
EP2555524A4 (en) 2016-01-06
KR20130023206A (ko) 2013-03-07
JP2016026440A (ja) 2016-02-12
CN107295346A (zh) 2017-10-24
CN102812708A (zh) 2012-12-05
KR101780921B1 (ko) 2017-09-21
JP6033250B2 (ja) 2016-11-30
JP2014143709A (ja) 2014-08-07
US20130022125A1 (en) 2013-01-24
US10917649B2 (en) 2021-02-09
CA2791677A1 (en) 2011-10-13
KR20170015535A (ko) 2017-02-08
CN102812708B (zh) 2017-04-26
US10609387B2 (en) 2020-03-31
CN107318025A (zh) 2017-11-03
TW201143457A (en) 2011-12-01
CN107295346B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
US10917649B2 (en) Image processing device and method
TWI411310B (zh) Image processing apparatus and method
US20140185946A1 (en) Image processing device and method
CA2752736A1 (en) Image processing device and method
US20110170604A1 (en) Image processing device and method
CN104054346A (zh) 图像处理装置和方法
US20130279586A1 (en) Image processing device and image processing method
JP2011146980A (ja) 画像処理装置および方法
JP2014143716A (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6268556B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP2011223176A (ja) 画像処理装置および方法
JP2013150347A (ja) 画像処理装置および方法