MX2013001034A - Dispositivo de procesamiento de imagen y metodo de procesamiento de imagen. - Google Patents
Dispositivo de procesamiento de imagen y metodo de procesamiento de imagen.Info
- Publication number
- MX2013001034A MX2013001034A MX2013001034A MX2013001034A MX2013001034A MX 2013001034 A MX2013001034 A MX 2013001034A MX 2013001034 A MX2013001034 A MX 2013001034A MX 2013001034 A MX2013001034 A MX 2013001034A MX 2013001034 A MX2013001034 A MX 2013001034A
- Authority
- MX
- Mexico
- Prior art keywords
- unit
- image
- block
- motion
- size
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Una porción de establecimiento de límite de número de vectores de movimiento (35) de la presente invención establece, de acuerdo con el microbloque, un valor máximo para el número, de vectores de movimiento. Una porción de predicción/compensación de movimiento (32) detecta el modo de predicción óptimo, en donde el número de vectores de movimiento no excede el valor máximo, y genera una imagen predictiva después de compensar el movimiento de una imagen de referencia a través del uso del vector de movimiento del modo de predicción óptimo detectado. Al establecer, de acuerdo con el tamaño del microbloque, un valor máximo para el número de vectores de movimiento, es posible, cuando se usa un microbloque expandido, evitar disminución de la calidad de la imagen o similar, con el número de vectores de movimiento no estando limitado más de lo necesario.
Description
DISPOSITIVO DE PROCESAMIENTO DE IMAGEN Y METODO DE
PROCESAMIENTO DE IMAGEN
Campo técnico
Esta ' técnica se refiere a dispositivos de procesamiento de imagen y a métodos de procesamiento de imagen. Muy particularmente, esta técnica provee un dispositivo de procesamiento de imagen y un método de procesamiento de imagen para realizar procesamiento de imagen compatible con macrobloques extendidos.
Técnica antecedente
En años recientes, los aparatos que manejan información de imagen como información digital y logran transmisión y acumulación de información de alta eficiencia al hacer eso, o aparatos que cumplen con un estándar tal como MPEG para compresión a y través de transformadas ortogonales como transformadas de coseno discretas y compensación de movimiento, se han expandido entre las estaciones de difusión y aparatos domésticos en general.
¦ Particularmente, MPEG2 (ISO/IEC 13818-2) se define como una técnica, de codificación de imagen de propósitos generales y actualmente se usa para una amplia gama de aplicaciones para profesionistas y consumidores en general.
También, un estándar llamado H.26L (ITU-T Q6/16 VCEG) está siendo desarrollado para codificar imágenes que se han de usar en conferencias de video. En comparación con las técnicas' de codificación convencionales tales como MPEG2 y MPEG4, H.26L requiere una mayor cantidad de cálculo en codificación y decodificación, pero se sabe que- logra eficiencia de codificación más alta. Como parte de las actividades de MPEG4, un estándar para lograr eficiencia de codificación aún más alta basada en H.26L está siendo desarrollado actualmente como Modelo Conjunto de Codificación de Video por Compresión Incrementado, y ya se ha establecido como un estándar internacional bajo el nombre de H.264 y MPEG-4 parte 10 (de aquí en adelante referido como H.264/AVC (Codificación de Video Avanzado) ) .
Además, hay una creciente demanda para codificar a una velocidad de compresión más alta para comprimir imágenes de 4000 x 2000 pixeles y similares, o distribuir imágenes de alta definición en circunstancias actuales en donde las capacidades de transmisión son limitadas como en la Internet. En vista de esto, el documento que no.es patente 1, sugiere un incremento del tamaño de macrobloque a 32 x 32 pixeles, por ejemplo, que es más grande que el MPEG2 y H.264/AVC. Es decir, en el documento que no es patente 1, una estructura jerárquica se usa para macrobloques por lo que bloques de 16 x 16 pixeles y bloques más pequeños son compatibles con los macrobloques en H.264/AVC. Como los super-conjuntos de estos bloques, se definen bloques más grandes que estos bloques.
Lista de citas
Documento que no es patente
Documento que no es patente 1: "Codificación de Video que Usa Tamaños de Bloque Extendidos" (Grupo de Estudio 16, Contribución 123, ITU, enero de 2009) .
Sumario de la invención
Problemas que han de ser resueltos por la invención En H.264/AVC, un macrobloque formado con 16 x 16 pixeles es dividido en bloques de 16 x 16, 16 x 8, 8 x 16, o 8 x 8 y - los bloques pueden tener información de vector de movimiento independientemente unos de otros. Cada bloque de 8 x 8 es dividido además en sub-bloques de 8 x 8, 8 x 4, 4 x 8 o 4 x 4, y los sub-bloques pueden tener información de vector de movimiento independientemente unos de otros.. A medida que dicha operación de predicción/operación de movimiento se realiza, el número de bloques en un macrobloque se incrementan, y la .cantidad de información de vector de movimiento se hace enorme. Si la información de vector de movimiento es codificada como tal, la eficiencia de codificación se hace menor. Por lo tanto, en H.264/AVC, el tamaño del bloque de compensación de movimiento se determina de modo que el número total de vectores de movimiento en los dos macrobloques sucesivos no excede un valor limite superior predeterminado. En vista de esto, cuando el valor de limite superior definido en la norma H.264/AVC se usa en un caso en donde el tamaño del macrobloque se extiende, el tamaño del macrobloque no puede hacerse más pequeño debido a la limitación en el número de vectores de movimiento, y podría ocurrir degradación de calidad de la imagen o similar.
Por lo tanto, la presente técnica tiene como finalidad proveer dispositivos de procesamiento de imagen y método de procesamiento de imagen para realizar procesamiento de imagen compatible con macrobloques extendidos.
Solución a los problemas
Un primer aspecto de esta técnica es un dispositivo de procesamiento de imagen que incluye: una unidad de establecimiento que establece el valor de límite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la codificación se realice cuando los datos de imagen son codificados; una unidad de predicción/compensación de movimiento que detecta un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor límite superior establecido por la unidad de establecimiento, y realiza compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y una unidad de codificación que codifica los datos de imagen para generar un flujo codificado al usar la imagen predicha generada por la unidad de predicción/compensación de movimiento.
De conformidad con la presente técnica, la unidad de establecimiento de limite de número de vectores de movimiento establece el valor de limite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque. En el caso en donde el macrobloque es más grande que un tamaño predeterminado tal como 16 x 16 pixeles, el valor de limite superior se establece a un valor más grande que el valor de limite superior en el macrobloque de 16 x 16 pixeles. En un caso en donde el valor del limite superior del número de vectores de movimiento es p cuando el tamaño del macrobloque es 16 x 16 pixeles, y el tamaño del macrobloque extendido es (16 x m) x (16 x n) , el valor del limite superior se establece a (p x m x n) . La unidad de predicción/compensación de movimiento detecta un modo de predicción óptimo excluyendo cada modo de predicción que tiene un número más grande de vectores de movimiento que el valor de limite superior de los candidatos para el modo de predicción óptimo. Usando' los vectores de movimiento del modo de predicción óptimo detectado, la unidad de predicción/compensación de movimiento realiza compensación de movimiento sobre una imagen de referencia, para generar una imagen predicha. La unidad de predicción/compensación de movimiento también monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor de limite superior en cada cuadro. Cuando el número de veces que el control se realiza excede un número de veces predeterminado, los macrobloques en el siguiente cuadro se hacen más grandes. Cuando un cambio de escena es detectado por una unidad de. detección de cambio de escena, los macrobloques son ajustados a un tamaño predeterminado establecido por anticipación. Además, en un caso en donde en un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo," independientemente del número de vectores de movimiento, y realizar compensación de movimiento sobre una imagen de referencia con el uso de los vectores de movimiento del modo de predicción óptimo detectado se establece, la unidad de- predicción/compensación de movimiento incorpora información de determinación que indica que el número de vectores de movimiento es mayor que el valor del limite superior en la información de imagen comprimida generada al usar la imagen predicha . cuando el número de vectores de movimiento en el modo de predicción óptimo es mayor- que el valor del limite superior en el modo de operación. También, un bloque que tiene un tamaño más grande que el tamaño predeterminado es la unidad más grande para codificación con el tamaño más grande entre las unidades para codificación en una estructura jerárquica, por ejemplo.
Un segundo aspecto de esta técnica es un método de procesamiento de imagen que incluye los pasos de: establecer el valor de limite superior del número de vectores de movimiento de conformidad con el tamaño .de bloque de un bloque que es una unidad para que la codificación se realice cuando los datos de imagen son codificados; generar una imagen predicha al detectar un modo de predicción cuando el número de · vectores de movimiento del bloque es igual a o menor que' el valor de limite superior, establecido, y realizar compensación de movimiento sobre una imagen de referencia con el uso de los vectores de movimiento del modo de predicción detectado; y generar µ? flujo codificado al codificar los datos de imagen con el uso de la imagen predicha generada.
Un1 tercer aspecto de la técnica es un dispositivo de procesamiento de imagen que incluye: una unidad de establecimiento que establece el valor del limite superior del número de vectores de movimiento de .conformidad con el tamaño de bloque de un bloque que es una unidad para que la decodificación se realice cuando un flujo codificado generado al codificar datos de imagen es decodificado; una unidad de compensación de movimiento que detecta un modo de predicción cuando el número de vectores de movimiento del bloque es igual a o menor que el valor del limite superior establecido por la unidad de establecimiento, y realiza compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y una unidad de decodificación que decodifica el flujo codificado al usar la imagen predicha generada por la unidad de compensación de movimiento.
De conformidad con la presente técnica, la unidad de establecimiento de limite del número de' vectores de movimiento establece el valor del limite superior del número de vectores de movimiento de conformidad con el tamaño de macrobloque cuando un flujo codificado generado al codificar datos imagen es decodificado . En un caso en donde el macrobloque es mayor que un tamaño predeterminado tal como 16 x 16 pixeles, el valor del limite superior se establece a un valor más grande que el valor del limite superior en un bloque de 16 x 16 pixeles. En un caso en donde el valor del limite superior del número de vectores de movimiento es 16 x 16 pixeles cuando el tamaño de macrobloque es 16 x 16 pixeles y el tamaño del macrobloque extendido es (16 x m) x (16 x n) , el valor del limite superior se establece en (p x m x n) . Cuando se genera una imagen predicha al realizar compensación de movimientos sobre una imagen de referencia basada en información de vector de movimiento contenida en información de imagen comprimida, la unidad de compensación de movimiento detecta un modo de predicción mientras que el número de vectores de movimiento es igual o menor que el valor del limite superior. Usando los vectores de movimiento del modo de predicción detectado, la unidad de compensación de movimiento realiza compensación de movimiento sobré una imagen de referencia, para generar una imagen predicha. Usando la imagen predicha generada, la unidad de decodificación decodifica el flujo codificado. . Cuando se detecta un modo de predicción, la unidad de compensación de movimiento excluye cada modo de predicción que tiene un número más grande de vectores de movimiento que el valor de limite superior de los candidatos para el modo de predicción' que ha de ser detectado. Además, la unidad de compensación de movimiento monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor del limite superior en cada cuadro. Cuando el número de veces que' el control es realizado excede un número predeterminado de veces, los bloques en el siguiente cuadro se hacen más gra'ndes en tamaño. En un caso en donde un cambio de escena es detectado en datos de imagen, el tamaño de bloque se ajusta a un tamaño predeterminado establecido por anticipación. .En un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo, independientemente del número de vectores de movimiento, y al realzar compensación de movimiento sobre una imagen de referencia con el uso de los vectores de movimiento del modo de predicción óptimo detectado, la información de determinación que indica que el número de vectores de movimiento es mayor que el valor de limite superior se obtiene a partir del flujo codificado. La información de identificación de tamaño para identificar el tamaño de bloque de cada bloque que tiene un valor de limite superior establecido sobre el · mismo también se obtiene del flujo codificado .
Un cuarto aspecto de esta técnica es un método de procesamiento de imagen que incluye: establecer el valor del limite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la decodificación se realice cuando un flujo codificado generado por datos de imagen de codificación es decodificado; generar una imagen predicha al detectar un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor del limite superior establecido por la unidad de establecimiento, y realizar compensación de movimiento sobre una imagen de referencia con el uso de los vectores de movimiento del modo de predicción detectado; y decodificar el flujo decodificado al usar la imagen predicha generada.
Efectos de la invención
De conformidad con esta técnica, el valor del limite superior del número de vectores de movimiento se establece de conformidad con el tamaño del macrobloque. Un modo de predicción óptimo que tiene un número menor de vectores de movimiento que el valor del limite superior es detectado, y la compensación de movimiento usando los vectores de movimiento del modo de predicción óptimo detectado se realiza sobre una imagen de referencia, para generar una imagen predicha. Por consiguiente, cuando los macrobloques de un tamaño extendido se usan, el número de vectores de movimiento no es restringido a un número menor que el necesario, y el procesamiento de imagen compatible con los macrobloques extendidos se puede realizar.
Breve descripción de los dibujos
La figura 1 es un diagrama que ilustra la estructura de un dispositivo de codificación de imagen.
La figura 2 son diagramas que muestran macrobloques en H.264/AVC.
La figura 3 es un- diagrama que muestra un bloque de compensación de movimiento y bloques adyacentes.
La figura 4 es un diagrama para explicar un cuadro de multi-referencia .
La figura 5 es un diagrama para explicar un modo directo temporal.
La figura 6 es un diagrama para explicar una operación de predicción/compensación de movimiento con una precisión de 1/4 pixel.
La figura 7 son diagramas que muestran pixeles que han de ser usados en operaciones de predicción/compensación de movimiento con una precisión de 1/4 pixel usando un filtro FIR de 6-tap.
La figura 8 es un diagrama para explicar el' valor del limite superior del número de vectores de movimiento.
La figura 9 ilustra una estructura jerárquica en un caso en donde los tamaños de macrobloque son extendidos.
La figura 10 es un diagrama que muestra la estructura de la unidad de predicción/compensación y la unidad de establecimiento del limite del número de vectores de movimiento.
La figura 11 es un diagrama de flujo que muestra una operación del dispositivo de codificación de imagen.
La figura 12 es un diagrama de flujo qué muestra operaciones de predicción.
La figura 13 es un diagrama de flujo que muestra operaciones intra-predicción.
La figura 14 es un diagrama de flujo que muestra operaciones inter-predicción .
La figura 15 es un diagrama de flujo que muestra el establecimiento del valor del limite superior del número de vectores de movimiento.
La figura 16 es un diagrama que ilustra la estructura de otro dispositivo de codificación de imagen.
La . figura 17 es un diagrama que muestra la estructura de otra unidad de predicción/compensación de movimiento y la unidad de establecimiento del limite del número de vectores de movimiento.
La figura 18 es un diagrama que ilustra la estructura de un dispositivo de decodificación de imagen.
La figura 19 es un diagrama que muestra la estructura de la unidad de compensación de . movimiento y la unidad de establecimiento del limite de número de vectores de movimiento.
La figura 20 es un diagrama de flujo que muestra una operación del dispositivo de decodificación de imagen.
La figura 21 es un diagrama de flujo que muestra una operación generadora de imagen predicha.
La figura 22 es un diagrama de flujo que muestra una operación generadora de imagen inter-predicha.
La figura 23 es un diagrama que muestra un ejemplo de encabezados de rebanada.
La figura 24 es un diagrama que muestra esquemáticamente una estructura de ejemplo de un aparato de televisión.
La figura 25 es un diagrama que muestra esquemáticamente una estructura de ejemplo de un dispositivo de teléfono portátil.
La figura 26 es un diagrama que muestra esquemáticamente una estructura de ejemplo de un aparato de grabación/reproducción .
La figura 27 es un diagrama es un diagrama que muestra esquemáticamente una estructura de ejemplo de un aparato de formación de imagen.
Modo mará llevar a cabo la invención
La siguiente es una descripción de modalidades. De conformidad con la presente técnica, cuando un valor del límite superior que es establecido de conformidad con un nivel como un H.264/AVC se usa en un caso en donde los macrobloques son extendidos en tamaño, el número de vectores en movimiento es limitado a un número menor que el necesario, y la calidad de la imagen podría ser degradada. Por lo tanto, en un caso en donde los macrobloques de un tamaño extendido se usan, el valor del límite superior se establece de conformidad con el tamaño del macrobloque, para garantizar operaciones en 'tiempo real en vista del ancho de banda de memoria, con el número de vectores de movimiento no siendo restringido a un número más pequeño que el necesario. También, el número de vectores de movimiento no es restringido a un número más pequeño que el necesario, y la degradación de calidad de imagen se evita. La explicación se hará en el siguiente orden.
1. Estructura de un dispositivo de codificación de imagen.
2. Operaciones del dispositivo de codificación de imagen .
3. Estructura de otro dispositivo de codificación de imagen.
4. Otras operaciones de un dispositivo de codificación de imagen.
5. Estructura de un dispositivo de codificación de imagen .
6. Operaciones del dispositivo de codificación de imagen .
7. Caso de procesamiento de software.
8. Aplicaciones a aparatos electrónicos
1. Estructura de un dispositivo de codificación de imagen
La figura 1 ilustra una estructura de un dispositivo de codificación de imagen que es un dispositivo de procesamiento de imagen que realiza codificación imagen. El dispositivo de codificación de imagen 10 incluye una unidad de conversión de análogo/digital (una unidad de conversión de A/D) 11, una memoria intermedia de reordenamiento de imagen 12, una unidad de sustracción 13, una unidad de transformada ortogonal 14, una unidad de cuantificación 15, una unidad de codificación sin pérdida 16, una memoria intermedia de acumulación 17, y una unidad de control de velocidad 18. El dispositivo de codificación de imagen 10 además incluye una unidad de cuantificación inversa 21, una unidad de transformada ortogonal inversa 22, una unidad de adición, un filtro de desbloqueo 24, una memoria de cuadro 25, una unidad de intra-predicción 31, una unidad de predicción/compensación de movimiento 32, y una unidad de selección de imagen predicha/modo óptimo 33.
La unidad de conversión de A/D 11, convierte señales de imagen análoga a datos de imagen digital, y emite los datos de imagen a la memoria intermedia de reordenamiento de imagen 12.
La memoria intermedia de reordenamiento de imagen 12 reordena los cuadros de la salida de datos de imagen de la unidad de conversión de A/D 11. La memoria intermedia de reordenamiento de imagen 12 reordena los cuadros de conformidad con la estructura GOP (grupo de imágenes) relacionado con operaciones de codificación, y emite los datos de imagen reordenados a la unidad de sustracción 13, la unidad de intra-predicción 31 y la unidad de predicción/compensación de movimiento 32.
La unidad de sustracción 13 recibe los datos de imagen emitidos desde la memoria de reordenamiento de imagen 12 y datos de imagen predichos seleccionados por la unidad de selección de imagen predicha/modo óptimo 22 descrita más adelante. La unidad de sustracción 13 calcula los datos de error de predicción que son la diferencia entre los datos de imagen emitidos desde la memoria intermedia de reordenamiento de imagen 12 y los datos de imagen predichos suministrados desde la unidad de selección de imagen predicha/modo óptimo 33, y emite los datos de error de predicción a la unidad de transformada ortogonal 14.
La unidad de transformada ortogonal 14 realiza una operación de transformada ortogonal tal como una transformada de coseno discreta (DCT) o una transformada de Karhunen-Loeve, sobre los datos de error de predicción emitidos desde la unidad de sustracción 13. La unidad de transformada ortogonal 14- emite datos de coeficiente de transformada obtenidos al realizar la operación de transformada ortogonal a la unidad de cuantificación 15.
La unidad .de cuantificación 15 recibe los datos de coeficiente de transformada emitidos desde la unidad de transformada ortogonal 14 y una señal de control de velocidad suministrados dése la unidad de control de velocidad 18 descrita más adelante. La unidad de cuantificación 15 cuantifica los datos de coeficiente de transformada, y emite los datos cuantificados a la unidad de codificación sin pérdida 16 y la unidad de cuantificación inversa 21. Con base en la señal de control de velocidad suministrada desde la unidad de control de velocidad 18, la unidad de cuantificación¦ 15 conmuta parámetros de cuantificación (escalas de cuantificación) para cambiar la velocidad de bites de los datos cuantificados .
La unidad de codificación sin pérdida 16 recibe los datos cuantificados emitidos desde la unidad de cuantificación 15, y la información de modo de predicción suministrada desde la unidad de intra-predicción 31 descrita más adelante, la unidad de predicción/compensación de movimiento 32, y la Unidad de selección de imagen predicha/modo óptimo 33. La información de modo de predicción contiene información que indica modo de predicción, tamaño de macrobloque, tipo de macrobloque y vectores de movimiento, de conformidad con si el modo de predicción es un modo de intra-predicción o un modo de ínter-predicción. La información de modo de predicción también puede incluir la información de determinación descrita más adelante, información de identificación de tamaño o similares. La unidad de codificación sin pérdida 16 realiza una operación de codificación sin pérdida sobre los datos cuantificados a través de codificación de longitud variable o codificación aritmética o similar, para generar y emitir información de imagen a la memoria intermedia de acumulación 17. Además, la unidad de codificación sin pérdida 16 realiza codificación sin pérdida sobre la información de modo de predicción, y añadé la información de modo de predicción codificada a la información de imagen comprimida. Por ejemplo, la unidad de codificación sin pérdida 16 añade la información de modo de predicción codificada a la información de encabezado en un flujo codificado que es la información de imagen comprimida.
La memoria intermedia de acumulación 17 almacena la información de imagen comprimida suministrada desde la unidad de codificación sin pérdida 16. La memoria intermedia de acumulación 17 también emite la información de imagen comprimida almacenada a la velocidad de transmisión adecuada para la trayectoria de transmisión.
La unidad de control de velocidad 18 monitorea el espacio libre en la memoria intermedia de acumulación 17. La unidad de control de velocidad 18 genera la señal de control de velocidad de conformidad con el espacio libre, y emite la señal de control de velocidad a la unidad de cuantificación 15. La unidad de control de velocidad 18 obtiene información que indica el espacio libre desde la memoria intermedia de acumulación 17, por ejemplo. En un caso en donde el espacio libre restante es pequeño, la unidad de control de velocidad 18 reduce la velocidad de bites de los datos cuantificados a través de. la señal de control de velocidad. En un caso en donde el espacio libre restante en la memoria intermedia de acumulación 17 es suficientemente grande, la unidad de control de velocidad 18 incrementa la velocidad de bits de los datos cuantificados a través de la señal de control de velocidad.
La unidad de cuantificación inversa 21 cuantifica inversamente los datos cuantificados suministrados desde la unidad de cuantificación 15. La unidad, de cuantificación inversa 21 emite los datos de coeficiente de transformada obtenidos al realizar la operación de cuantificación inversa a la unidad de transformada ortogonal inversa 22.
La unidad de transformada ortogonal inversa 22 realiza una operación de transformada ortogonal inversa sobre los datos de coeficiente de transformada suministrados desde la unidad de cuantificación inversa 21, y emite los datos resultantes a la unidad de adición 23.
La unidad de adición 23 añade los datos suministrados desde la unidad de transformada ortogonal inversa 22 a los datos de imagen predichos suministrados desde la unidad de selección de imagen predicha/modo óptimo 33, para generar datos de imagen de codificados. La unidad de adición 23 entonces emite los datos de imagen -decodificados al filtro de desbloqueo 24 y la memoria de cuadro 25. Los datos de imagen decodificados son usados como los datos de imagen de una imagen de referencia.
El filtro de desbloqueo 24 realiza una operación de filtración para reducir distorsiones de bloque que ocurren en el tiempo de codificación de imagen. El filtro de desbloqueo 24 realiza una operación de filtración para remover distorsiones de bloque de los datos de imagen decodificados suministrados desde la unidad de adición 23, y emite los datos de imagen decodificados filtrados a la memoria de cuadro 25.
La memoria de cuadro 25 almacena los datos de imagen decodificados que han sido sometidos a la operación de filtración y son suministrados desde el filtro de desbloqueo 24. Los datos de imagen decodificados almacenados en la memoria de cuadro 25 han de ser usados como datos de imagen de referencia por la unidad de predicción/compensación de movimiento 32.
La unidad de intra-predicción 31 realiza operaciones de intra-predicción en todos los modos de intra-predicción candidatos al usar los datos de imagen que son emitidos desde la memoria intermedia de reordenamiento de imagen 12 y es acerca de las imágenes que han de ser codificadas, y los datos de imagen codificados suministrados desde la unidad de adición .23. La unidad de intra-predicción 31 además calcula un valor de función de costo en cada uno de los modos de intra-predicción, y selecciona un modo de intra-predicción óptimo 'que es el modo de intra-predicción con el valor de función de costo más pequeño calculado o el modo de intra-predicción con la eficiencia de codificación más alta. La unidad de intra-predicción 31 emite los datos de imagen predichos generados en el modo de intra-predicción óptimo, la información del modo de predicción acerca del modo de intra-predicción óptimo, el valor de función de costo en el modo de intra-predicción óptimo, a la unidad de selección de imagen predicha/modo óptimo 33.
La unidad de predicción/compensación de movimiento 32 realiza una operación . de predicción/compensación de movimiento en cada tamaño de bloque compensado en movimiento. Usando los datos de imagen de referencia que son leídos desde la memoria de cuadro 25, la unidad de predicción/compensación de movimiento 32 detecta vectores de movimiento desde las imágenes que han de ser codificadas que son leídas de la memoria intermedia de reordenamiento de imagen 12 en cada modo de predicción o de cada bloque de compensación de movimiento en cada modo. Con base en los vectores de movimiento detectados, la unidad de predicción/compensación de movimiento 32 además además realiza una operación de compensación de movimiento sobre la imagen decodificada, para generar datos de imagen predichos.
Los datos de predicción/compensación de movimiento 32 también calculan un valor de función de costo en cada modo de predicción. La unidad de predicción/compensación de movimiento 32 selecciona un modo de inter-predicción óptimo que es el tamaño de bloque compensado en movimiento que tiene el valor de función de costo más pequeño calculado, y tiene un número total de vectores de movimiento de dos macrobloques sucesivos que no es más grande que el valor de limite superior establecido por la unidad de establecimiento de limite de número de vectores de movimiento 35 descrita más adelante. La unidad de predicción/compensación de movimiento 32 emite los datos de imagen predichos generados en el modo de inter-predicción óptimo, la información de modo de predicción acerca del modo de inter-predicción óptimo, y el valor de función de costo y la información de vector de movimiento en el modo de inter-predicción óptimo, a la unidad de selección de imagen predicha/modo óptimo 33. La unidad de predicción/compensación de movimiento 32 también realiza predicciones en un modo de macrobloque saltado y un modo directo como modos de inter-predicción.
La unidad de selección de imagen predicha/modo óptimo 33 compara el valor de función de costo suministrado desde la unidad de intra-predicción 31 con el valor de función de costos suministrado desde la unidad de predicción/compensación de movimiento 32, y selecciona el valor de función de costo más pequeño como el modo óptimo con la eficiencia de codificación más alta. La unidad de selección de imagen predicha/modo óptimo 33 también emite los datos de imagen predichos generados en el modo óptimo a la unidad de sustracción 13 y la unidad de adición 23. Además, la unidad de selección de imagen predicha/modo óptimo 33 emite la información de modo de predicción acerca del modo óptimo a la unidad de codificación sin pérdida 16. La unidad de selección de imagen predicha/modo óptimo 33 realiza intra-predicciones o inter-predicciones sobre la base de rebanadas.
Sin cumplir con H.264/AVC, la unidad de establecimiento de limite de número de vectores de movimiento 35 establece el valor del limite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque, y emite el valor del limite superior a la unidad de predicción/compensación de movimiento 32. La limitación del número de vectores de movimiento en H.264/AVC se describe ahora.
En H.264/AVC, un macrobloque formado con 16 x 16' pixeles es dividido en bloques de 16 x 16, 16 x 8, 8 x 16, o 8 x 8, como se muestra en la figura 2(A), y los bloques pueden tener información de vector de movimiento independientemente uno de otro. Cada bloque de 8 x 8 es dividido además en sub-bloques de 8 x 8, 8 x 4, 4 x 8 o 4 x 4, como se muestra en la figura 2(B), ' y los sub-bloques pueden tener información de vector de movimiento independientemente unos de otros. A medida que dicha operación de predicción/compensación de movimiento se realiza, la cantidad de información de vector de movimiento se hace enorme. Si la información de vector de movimiento es codificada como tal, la eficiencia de codificación se hace más baja. Por lo tanto, en H.264/AVC, la cantidad de información de vector de movimiento es reducida de la siguiente manera.
En la figura, el bloque "E" es el bloque de compensación de movimiento que ha de ser codificado, y los bloques "A" a "D" son bloques ya codificados y son adyacentes al bloque "E" .
Aquí, x es A, B, C, D, o E y mvx representa la información de vector de movimiento alrededor de x. Primero, al usar la información de vector de movimiento alrededor de los bloques A, B, y C, la información de vector de movimiento predicha pmvE alrededor del bloque de compensación de movimiento E es generada a través de una operación mediana de conformidad con la ecuación 1:
pmvE = med(mvA, mvB, mvC)... (1)
En el caso en donde la información acerca del bloque "C" está "no disponible" para el bloque "C" está ubicada en una esquina del cuadro de imagen o similar, la información acerca del bloque "D" se usa en vez de esta.
En la información de imagen comprimida, los datos mvdE que han de ser codificados como la información de vector de movimiento a cerca del bloque de compensación de movimiento "E" es generada usando pmvE de- conformidad con la ecuación 2 :
mvdE = mvE - pmvE ... (2)
En una operación real, el procesamiento se realiza' sobre el componente horizontal y el componente vertical de la información de vector de movimiento independientemente uno de otro .
Al usar los datos mvdE, que son la diferencia de información de vector de movimiento predicha pmvE, como la información de vector de movimiento como se describió antes, una reducción de la cantidad de información de vector de movimiento se obtiene.
En H.264/AVC, una técnica llamada cuadro de multi-referencia, que no es especificada en técnicas de codificación de información de imagen tales como MPEG-2 y H. 263, es especificada. La figura 4 es un diagrama para explicar cuadros de multi-referencia . En H.264/AVC, los cuadros de referencia son almacenados en una memoria, y es posible referirse a un cuadro diferente para cada bloque de compensación de movimiento, como se muestra en la figura 4.
Para imágenes B en H.264/AVC, se establece un modo directo. En el modo directo, la información de vector de movimiento no es almacenada en la información de imagen comprimida, sino que la información de vector de movimiento a cerca de cada bloque de compensación de movimiento es extraída de la información de vector de movimiento acerca de un bloque adyacente o un bloque co-localizado en un dispositivo de decodificación de imagen.
En el modo directo, un modo directo espacial y un modo directo temporal se establecen, y uno de los dos modos puede ser seleccionado para cada rebanada.
En el modo directo espacial,, la información de vector de movimiento generada a través de la predicción de la mediana se aplica a cada bloque de compensación de movimiento, como se muestra en la ecuación 3:
mvE = pmvE ... (3)
La figura 5 es un diagrama para explicar el modo directo temporal. En la figura 5, el bloque localizado en la dirección en el mismo espacio que un bloque de compensación de movimiento en una imagen de referencia LO se establece como bloque co-localizado, y la información de vector de movimiento en el bloque¦ co-localizado se establece como mvcol. También, TDB representa la distancia entre la imagen y la imagen de referencia LO sobre el eje temporal, y TDD representa la distancia entre la imagen de referencia LO y la imagen de referencia Ll sobre el eje temporal.
Aquí, la información de vector de movimiento LO mvLO y la información de vector de movimiento Ll mvLl en la imagen son generadas como se indica por las ecuaciones (4) y (5) :
mvLO = (TDB/TDD) mvcol ...'(4) mvLl = ( ( (TDD-TDB) /TDD)'mvcol ... ( 5 )
En la información de imagen comprimida, la información que indica la distancia sobre el eje temporal no existe, y por lo tanto, se realiza un cálculo usando POS (conteo de orden de imagen) .
En H.264/AVC, una operación de predicción/ compensación de movimiento con una precisión de 1/4 pixel, es realizada usando un filtro 6-tap FIR (respuesta de impulso finito), para incrementar la eficiencia de codificación. La figura ' 6 es un diagrama para explicar la operación de predicción/compensación de movimiento con una precisión de 1/4 pixel.
. En la figura 6, "A" representa la localización de cada pixel de precisión entero almacenado en la memoria de cuadro, "b", "c" y "d" representan las localizaciones de pixeles con precisión de 1/2 pixel, "el", "e2" y "e3" representan las localizaciones de pixeles con precisión de 1/4 pixel.
Clipl (a) se define como se muestra en la ecuación 6: Fórmula matemática 1
0; si (a < 0)
Clip l(a)= 1 a; de otra manera (6)
max_pix; si (a > max_pix)
En la ecuación 6, el valor de max_pix es 255 en un caso en donde la imagen de entrada tiene una precisión de 8 bits .
Los valores de pixel en las localizaciones "b" y
"d" son generadas usando un filtro 6-tap FIR como se muestra en las ecuaciones (7) y (8) :
F = A-2 - 5·?-? + 2OA0 + 20·?? - 5·?2 + A3... (7)
B, d = Clipl ( ( F + 16)'» 5) ... (8)
El valor de pixel en la localización "c" es generado usando un filtro 6-tap FIR como se muestra en la ecuación (9) o (10) y la ecuación (11) :
F = b-2 - 5»b_i +.20*b0 + 20»bi - 5»b2 + b3... (9)
F = d-2 - 5«d-i + 20«d0 + 20*di - 5»d2 + d3... (10) c = Clip! ((F + 512) » 10) ... (11)
El procesamiento de Clipl se realiza sólo una vez por lo menos después de que las operaciones de suma de productos son realizadas tanto en la dirección horizontal como en la dirección vertical.
Los valores de pixeles en las localizaciones "el" a
"el" son generadas por interpolaciones lineales como se muestra en las ecuaciones (12) a (14) :
el = (A + b +1) » 1 ...(12)
e2 = (b + d +1) » 1 ...(13)
e3 = (b + c +1) » 1 ...(14)
En dicha operación de predicción/compensación de movimiento con precisión de 1/4 pixel, el valor de pixel del bloque de 21 x 21 pixeles mostrado en la figura 7 (A) se usa en el caso en donde el tamaño del bloque de compensación de movimiento es 16 x 16 pixeles. En el caso en donde el tamaño del bloque de compensación de movimiento es 4 x 4 pixeles, se usa el valor de pixel del bloque de 9 x 9 pixeles mostrado en la figura 7 (B) . Como se describió antes, en una operación de predicción/compensación con precisión de 1/4 pixel usando un filtro 6-tap FIR, un encabezado de 5 pixeles es requerido para cada tamaño de bloque tanto en la dirección horizontal como en la dirección vertical. Por lo tanto, en un caso en donde el tamaño de bloque es 16 x 16 pixeles, un valor de pixel ( (21x21 )/( 16x16) ) veces más grande es requerido, y en un caso en donde el tamaño de bloque es 4 x 4 pixeles, un valor de pixel ( ( 9x9) / (4x4 ) ) veces más grande es requerido. Es decir, si el dispositivo de codificación de imagen selecciona un número más grande de tamaño de bloques pequeños, los valores de pixel de un número más grande de pixeles se requiere, y un ancho de banda de memoria más grande .se requiere.
Por lo tanto, en H.264/AVC, el tamaño de bloque de compensación de movimiento es determinado de modo que el número total de vectores de movimiento en dos macrobloques excesivos no excede un valor de limite superior predeterminado, como se muestra en la figura 8. De esta manera, se evitan incrementos en ancho de banda de memoria. De manera especifica, el número total del número de vectores de movimiento N(a) en un macrobloque MB(a) y el número de vectores de movimiento N(a+1) en un macrobloque MB(a+l) es restringido de exceder un valor de limite superior NHL (16 en el caso del nivel 4 (la resolución de HDTV) · Asimismo, el número total del número de vectores de movimiento N(a+1) en un macrobloque MB(a+l)y el número de vectores de movimiento N(a+2) en un macrobloque MB(a+2) es restringido de exceder el valor del limite superior NHL. Como se describió antes, el número total de vectores de movimiento en dos macrobloques sucesivos es restringido de exceder el valor de limite superior predeterminado NHL. Por ejemplo, el tamaño de macrobloque de una imagen B es 16 x 16 pixeles, y el tamaño de bloque de compensación de movimiento es 4 x 4 pixeles. En este caso, 16 bloques de compensación de movimiento se incluyen en un macrobloque, y el. número de vectores de movimiento es 16 x 2, que es mayor que el valor del limite superior NHL (= 16) . Por lo tanto, el tamaño del bloque de compensación de movimiento se determina de manera que el número de vectores de movimiento no excede el valor del limite superior.
Las figuras 9 ilustran una estructura jerárquica en un caso en donde los tamaños de macrobloque son extendidos. El sub-macrobloque de 8 x 8 pixeles de las figuras 9, figuras 9(C) y figuras 9 (D) muestran un macrobloque de 16 x 16 pixeles y un sub-macrobloque de 8 x 8 pixeles definidos en el estándar de H.264/AVC. Como los macrobloques que tienen tamaños hechos más grandes a partir de aquellos en H.264/AVC, un macrobloque de 64 x 64 pixeles mostrado en la figura 9(A) y un macrobloque de 32 x 32 pixeles mostrado en la figura 9(B) son definidos. Cabe notar que, en la figura 9, "salto/directo" indica un tamaño de bloque usado en un caso en donde un modo de macrobloque saltado o un directo se selecciona. También, "ME", indica un tamaño de bloque de compensación de movimiento. "P8 x 8" indica que el bloque además puede ser dividido en un nivel jerárquico inferior con un tamaño de bloque más pequeño.
Como se describió antes, cuando el valor del limite superior definido en el estándar H.264/AVC también se usa en un caso en donde el tamaño de bloque es extendido, el número de vectores de movimiento es limitado a un número más pequeño que el necesario, y la calidad de la imagen podría ser degradada. Por ejemplo, el valor del límite superior que se usa en casos en donde cada macrobloque es 16 x 16 pixeles en tamaño se usa en un macrobloque de 64 x 64 pixeles, el número de vectores de movimiento es limitado a un número menor que el necesario, ya que el valor del límite superior sigue siendo el mismo aunque el tamaño de bloque es cuatro veces más grande. Como resultado, el tamaño de bloque de compensación de movimiento no puede hacerse más pequeño y podría ocurrir degradación de calidad de imagen o similar.
Por lo tanto, la unidad de establecimiento de límite de número de vectores de movimiento 35 establece el valor del límite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque. En un caso en donde el tamaño es más grande que un macrobloque de un tamaño predeterminado (N) , la unidad de establecimiento de límite de número de vectores de movimiento 35 establece un valor de límite superior más grande el valor del límite superior en el macrobloque del tamaño predeterminado (N) , para garantizar operaciones en tiempo real en vista del ancho de banda de memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario. Por ejemplo, en un caso en donde el valor del límite superior del número de vectores de movimiento es p cuando el tamaño del macrobloque es 16 x 16 pixeles (N = 16), y el tamaño del macrobloque es (16 x m) x (16 x n) , la unidad de establecimiento de límite de número de vectores de movimiento 35 establece el valor del límite superior a (m x n x p) , que está en relación predeterminada al tamaño del macrobloque. De esta manera, las operaciones en tiempo real son garantizadas en vista del ancho de banda de la memoria, con el número de vectores de movimiento no siendo restringido a un número más pequeño que el necesario.
La figura 10 es un diagrama que muestra la estructura de la unidad de predicción/compensación de movimiento y la unidad de establecimiento de limite de número de vectores de movimiento.
La unidad de predicción/compensación de movimiento 32 incluye una unidad de búsqueda de movimiento 321, una unidad de modo de determinación 322, una unidad de procesamiento de compensación de movimiento 323, y una memoria intermedia de vector de movimiento 324.
Los datos de imagen reordenados suministrados desde la memoria intermedia de reordenamiento de imagen 12, y los datos de imagen de referencia leídos desde la memoria de cuadro 25 son suministradas a la unidad de búsqueda de movimiento 321.
La unidad de búsqueda de movimiento 321 realiza * operaciones de búsqueda de movimiento en todos" los modos de inter-predicción candidatos, y emite información de vector de movimiento que indica los vectores de movimiento detectados a través de las operaciones de búsqueda de movimiento a la unidad de modo de determinación 322. Con base en los vectores de movimiento detectados, la unidad de búsqueda de movimiento 321 realiza compensación de movimiento sobre los datos de imagen de referencia, para generar los datos de imagen predichos de salida a la unidad de modo de determinación 322. La unidad de búsqueda de movimiento 321 además emite información que indica el tamaño del macrobloque, o información de identificación de tamaño para identificar el tamaño de bloque de un bloque en el cual se establece un valor de limite superior, a la unidad de establecimiento de limite de número de vectores de movimiento 35.
Con base en la información de identificación de tamaño, la unidad de establecimiento de limite de número de vectores de movimiento 35 establece el valor de limite superior del número de vectores de movimiento de conformidad con el tamaño de' bloque, y notifica a la unidad de modo de determinación 322 del valor del limite superior establecido.
La información de vector de movimiento y datos de imagen predichos acerca de todos los modos de inter-predicción candidatos son suministrados desde la unidad de búsqueda de movimiento 321, a la unidad de modo de determinación 322. La información de vector de movimiento que es generada en un bloque adyacente codificado es también suministrada desde la memoria intermedia de vector de movimiento 324 descrita más adelante a la unidad de modo de determinación 322. Además, los datos de imagen reordenada suministrados desde la memoria intermedia de reordenamiento de imagen 12 es también suministrada a la unidad de modo de determinación 322 para calcular funciones de costo.
La unidad de modo de determinación 322 calcula un valor de función de costo en cada uno de los candidatos para el modo de inter-predicción óptima al usar los datos de imagen suministrados desde la memoria intermedia de reordenamiento de imagen 12 y los datos- de imagen predichos suministrados desde la unidad de búsqueda de movimiento 321. La unidad de modo de determinación 322 selecciona el modo con el valor de función de costo más pequeño ~ como el modo de inter-predicción óptimo para el macrobloque que está siendo codificado. Usando la información de vector de movimiento acerca del macrobloque adyacente suministrado desde la memoria intermedia de vector de movimiento 324, la unidad de modo de determinación 322 calcula el número total de vectores de movimiento en los dos macrobloque sucesivos. La unidad de modo de determinación 322 excluye cada modo con el valor calculado más grande que el valor de limite superior establecido por la unidad de establecimiento de limite de número de vectores de movimiento 35, desde los modos candidatos, y después determina el modo de inter-predicción óptimo.
Además, la unidad de modo de determinación 322 emite la información de modo de predicción, la información de vector de movimiento y el valor de función de costo del modo determinado para ser el modo óptimo. A la unidad de procesamiento de compensación de movimiento 323. La información de modo de predicción puede contener información de identificación de tamaño para identificar el tamaño de bloque de cada bloque que tiene un valor de limite superior establecido en el mismo. Con base en la información de vector de movimiento suministrada desde la memoria intermedia de vector de movimiento 324, la unidad de modo de determinación 322 también calcula vectores de modo predichos. La unidad de modo de determinación 322 calcula vectores de movimiento de diferencia que son las diferencias .entre los vectores de movimiento predichos calculados, y los vectores de movimiento detectados por la unidad de búsqueda de movimiento 321, y emite información de vector de movimiento de diferencia que indica los vectores de movimiento de diferencia contenidos en la información de vector de movimiento a la unidad de procesamiento de compensación de movimiento 323.
Usando los datos de imagen acerca de imágenes de referencia suministradas desde la memoria intermedia de cuadro 25, la unidad de procesamiento de compensación de movimiento 323 realiza compensación de movimiento basada en la información de vector de movimiento suministrada desde la unidad de modo de determinación 322, para generar datos de imagen predichos. La unidad de procesamiento de compensación de movimiento 323 emite los datos de imagen predichos generados, el valor de función de costo y la información de modo de predicción (que contiene el tamaño de macrobloqué, el tipo de macrobloqué, el modo de predicción, la información d vector de movimiento de diferencia, y similares) a la unidad de selección de imagen predicha/modo óptimo 33. La unidad de procesamiento de compensación de movimiento 323 también emite lá información de vector de movimiento a la memoria intermedia de vector de movimiento 324.
La memoria intermedia de vector de movimiento 324 temporalmente almacena la información de vector de movimiento suministrada desde la unidad de procesamiento de compensación de movimient'o 323. La memoria intermedia de vector de movimiento 324 también suministra la información de vector de movimiento almacenada a la unidad de modo de determinación 322 para calcular el número total de vectores de movimiento en dos macrobloques sucesivos y vectores de movimiento predichos .
2. Operaciones del dispositivo de codificación de imagen
La figura 11 es un diagrama de flujo que muestra una operación del dispositivo de codificación de imagen. En el paso ST11, la unidad de conversión de A/D 11 realiza una conversión de A/D sobre una señal de imagen de entrada.
En el paso ST12, la memoria intermedia de reordenamiento de imagen 12 realiza reordenamiento de imagen. La memoria intermedia de reordenamiento de imagen 12 almacena los datos de imagen suministrados desde la unidad de conversión de A/D 11, y reordena las imágenes respectivas en orden de codificación, en lugar de orden de despliegue.
En el paso ST13, la unidad de sustracción 13 genera datos de error de predicción. La unidad de sustracción 13 genera los datos de error de 'predicción al calcular las diferencias entre los datos de imagen de las imágenes reordenadas en el paso ST12 y los datos de imagen predichos seleccionados por la unidad de selección de imagen predicha/modo óptimo 33. Los datos de error de predicción tienen una cantidad de datoso más pequeña que los datos de imagen originales. Por . consiguiente, la cantidad de datos se puede hacer más pequeña que en caso en donde las imágenes son directamente codificadas.
En el paso ST14, la unidad de¦ transformada ortogonal 14 realiza una operación de transformada ortogonal. La unidad de transformada ortogonal 14 transforma ortogonalmente los datos de error de predicción suministrados desde la unidad de sustracción 13. De manera especifica, las transformadas ortogonales tales como trasformadas de coseno discretas o transformadas de Karhunen-Loev.e se realizan sobre los datos de error de predicción y los datos de coeficiente de transformada son emitidos.
En el paso ST15, la unidad de cuantificación 15· realiza una operación de cuantificación . La unidad de cuantificación 15 cuantifica los datos de coeficiente de transformada. En la cuantificación, el control de velocidad es realizado como se describirá más adelante en la descripción del paso ST25.
En el paso ST16, la unidad de cuantificación inversa 21 realiza una operación de cuantificación inversa. La unidad de cuantificación inversa 21 cuantifica inversamente los datos de coeficiente de transformada cuantificados por la unidad de cuantificación 15, que tiene características compatibles con las características de la unidad de cuantificación 15.
En ' el paso ST17, la unidad de transformada ortogonal 22 realiza una operación de transformada ortogonal inversa. La unidad de transformada ortogonal inversa 22 realiza una transformada ortogonal inversa sobre los' datos de coeficiente de transformada inversamente cuantificados por la unidad de cuantificación inversa 21, que tiene las características compatibles con las características de la unidad de transformada ortogonal 14.
En el paso ST18, la unidad de adición 23 genera datos de imagen de referencia. La unidad de adición 23 genera los datos de imagen de referencia (datos de imagen deoodificados ) mediante la adición de los datos de imagen predichos suministrados desde la unidad de selección de imagen predicha/modo óptimo 33 a los datos de la localización que corresponde a la imagen predicha y ha sido sometida a la transformada ortogonal inversa.
En el paso ST19, el filtro de desbloqueo 24 realiza una operación de filtración. El filtro de desbloqueo 24 remueve distorsiones de bloque al filtrar los datos de imagen decodificados emitidos desde la unidad de adición 23.
En el paso ST20, la memoria de cuadro 25 almacena los datos de imagen de referencia. La memoria de cuadro 25 almacena los datos de imagen de referencia filtrados (los datos de imagen decodificados ) .
En el paso ST21, la unidad de intra-predicción 31 y la unidad de predicción/compensación de movimiento 32 realzan cada una operaciones de predicción. De manera especifica, la unidad de intra-predicción 31 realiza operaciones de intra-predicción¦ en modo de intra-predicción, y la unidad de predicción/compensación de movimiento 32 realiza operaciones de predicción/compensación de movimiento en modos de inter-predicción. Las operaciones predichas se describirán más adelante con detalle con referencia a la figura 12. En este paso, las operaciones de predicción se realizan en todos los modos de predicción candidatos, y los valores de función de costo se calculan en todos los modos de predicción candidatos. Con base en los valores de función de costos calculados, un modo de intra-predicción óptimo y un modo de inter-predicción óptimo se seleccionan, y las imágenes predichas generadas en los modos de predicción seleccionados, las funciones de costo y la información de modo de predicción son suministrados a la unidad de selección de imagen predicha/modo óptimo 33.
En el paso ST22, la unidad de selección de imagen predicha/modo de selección 33 selecciona datos de imagen. Con base en los valores de función de costo respectivos emitidos desde la unidad de intra-predicción 31 y la unidad de predicción/compensación de movimiento .32, la unidad de selección de imagen predicha/modo óptimo 33 determina el modo óptimo para optimizar la eficiencia de codificación. La unidad de selección de imagen predicha/modo óptimo 33 además selecciona los datos de imagen predichos en el modo óptimo determinado, y emite los datos de imagen predichos seleccionados a la unidad de sustracción 13 y la unidad de adición 23. Esta imagen predicha se usa en las operaciones en los pasos ST13 y ST18, como se describió antes. La información de modo de predicción correspondiente a los datos de imagen predichos seleccionados es emitida a la unidad de codificación sin pérdida 16.
En el paso ST23, la unidad de codificación sin pérdida 16 realiza una operación de codificación sin pérdida. La unidad de codificación sin pérdida 16 realiza codificación sin pérdida sobre los datos cuantificados emitidos desde la unidad de cuantificación 15, es decir, la codificación sin pérdida tal como codificación . de longitud variable o codificación aritmética¦ es realizada sobre los datos cuantificados, para comprimir los datos. En este punto, la xz codificación sin pérdida también se realiza sobre la información de modo de predicción que es introducido a la unidad de codificación sin pérdida 16 en el paso ST22 como se describió antes. Además, los datos codificados sin pérdida de la información de modo de predicción se incorporan en la información de imagen comprimida generada al realizar codificaciones sin pérdida sobre los datos cuantificados .
En el paso ST24, la memoria intermedia de acumulación 17 realiza una operación de acumulación. La memoria intermedia de acumulación 17 almacena la información de imagen comprimida emitida desde la unidad de codificación sin pérdida 16. La información de imagen comprimida almacenada en la memoria intermedia de acumulación 17 es leída y transmitida al lado de decodificación por medio de una trayectoria de transmisión en donde es necesario.
En el paso ST25, la unidad de control de velocidad 18 realiza control de velocidad. La unidad de control de velocidad 18 controla la velocidad de operación de cuantificación de la unidad de cuantificación 15 por lo que un sobre-flujo o un sub-flujo no ocurre en la memoria intermedia de acumulación 17 cuando la memoria intermedia de acumulación 17 almacena información de imagen comprimida.
Haciendo referencia ahora al diagrama de flujo de la figura 12, las operaciones de predicción en el paso ST21 de la figura 11 se describen.
En el paso ST31, la unidad de intra-predicción 31 realiza operaciones de intra-predicción. La unidad de intra-predicción 31 realiza intra-predicciones sobre la imagen del bloque actual en todos los modos de intra-predicción candidatos. Los datos de imagen de una imagen decodificada que ha de ser referida en cada intra-predicción es datos de imagen decodificada aún no sometidos' a la filtración de desbloqueo en el filtro de desbloqueo 24. En las operaciones de intra-predicción, las intra-predicciones se realizan en todos los modos de intra-predicción candidatos, y los valores de función de costo se calculan en todos los modos de intra-predicción candidatos. Con base en los valores de función de costo calculados, el modo de intra-predicción con la eficiencia de codificación más alta se selecciona a partir de todos los modos de intra-predicción.
En el . paso ST32, la unidad de predicción/ compensación de movimiento 32 realiza operaciones de inter-predicción. Usando los datos de imagen decodificada que son almacenados en la memoria de cuadro 25 y han sido sometidos a la filtración de desbloqueo, la unidad de predicción/ compensación de movimiento 32 realiza operaciones de inter-predicción en los modos de inter-predicción candidatos. En las operaciones de inter-predicción, las operaciones de inter-predicción se realizan en todos los modos de ínter-predicción candidatos, y los valores de función de costo se calculan en todos los modos de inter-predicción candidatos. Con base en los valores de función de costo calculados, el modo de inter-predicción con la eficiencia de codificación más alta se selecciona a partir de todos los modos de inter-predicción.
Haciendo referencia ahora al diagrama de flujo de la figura 13, las operaciones de intra-predicción en el paso ST31 de la figura 12 se describen.
En el paso ST41, la unidad de intra-predicción 31 realiza operaciones de intra-predicción en los modos de predicción respectivos. Usando los datos de imagen decodificada aún no sometidos a la filtración de desbloqueo, la unidad de intra-predicción 32 genera datos de imagen predichos en cada modo de intra-predicción.
En el paso ST42, la unidad de intra-predicción 31 calcula el valor de función de costo en cada uno de predicción. Como se especifica en JM (Joint Model), que es el software de referencia en H.264/AVC, los valores de función de costo se calculan mediante la técnica de modo de alta complejidad o modo de baja comple idad.
De manera especifica, en el modo de alta complejidad, la operación que termina con la operación de codificación sin pérdida se realiza como la operación del paso ST42 en cada modo de predicción candidato, para calcular el valor de función de costo expresado por la siguiente ecuación 15 en cada modo de predicción: 1
Costo (ModoGQ) = D + X»R ...(15)
Aquí, O representa el conjunto universal de los modos de predicción candidatos para codificación del bloque o macrobloque. D representa la diferencia de energía (distorsión) entre la imagen decodificada y una imagen de entrada en el caso en donde la codificación se realiza en un modo de predicción. R representa la cantidad de codificación generada incluyendo coeficientes de transformada ortogonales e información de modo de predicción, y ? representa el multiplicador de Lagrange dado como la función de un parámetro de cuantificación QP.
Es decir, para realizar codificación en el modo de alta complejidad, una operación de codificación provisional necesita realizarse en todos los modos de predicción candidatos para calcular los parámetros D y R anteriores, y por lo tanto una cantidad más grande de cálculo es requerida.
En el modo de baja complejidad, por otra parte, la generación de una imagen predicha y el cálculo del bit de encabezado tal como información de vector de movimiento e información de modo de predicción se realizan como la operación del paso ST42 en todos los modos de predicción candidatos, y el valor de función de costo expresado por la siguiente ecuación 16 se calcula en cada modo de predicción:
Costo (ModoeQ) = D + QP2Cuant (QP) «Encabezado ...(16)
Aquí, O representa el conjunto universal de los modos de predicción candidatos para codificación del bloque o macrobloque. D representa la diferencia de energía (distorsión) entre la imagen decodificada y una imagen de entrada en el caso en donde la codificación se realiza en un modo de predicción. Bit_de_Encabezado representa el bit de encabezado correspondiente al modo de predicción, y QP2Cuant es la función dada como la función del parámetro de cuantificación QP.
Es decir, en el modo de baja complejidad, una operación de predicción necesita ser realizada en cada modo de predicción, pero ninguna imagen decodificada es requerida. Por consiguiente, la cantidad de cálculo puede ser menor que aquella requerida en el modo de alta complejidad.
En el paso ST43, la unidad de intra-predicción 31 determina el modo de intra-predicción óptimo. Con base en los valores de función de costo calculados en el paso ST42, la unidad de intra-predicción 31 selecciona un modo de intra-predicción con el valor de función de costo más pequeño entre los valores de función de calculados, y determina el modo de intra-predicción seleccionado que ha de ser el modo de intra-predicción óptimo.
Haciendo referencia ahora al diagrama de flujo de la figura 14, las operaciones de inter-predicción en el paso ST32 de la figura 12 se describen. En el paso ST51, la unidad de establecimiento de limite de número de vectores de movimiento 35 establece el valor del limite superior del número de vectores de movimiento.
La figura 15 es un diagrama de flujo que muestra el establecimiento del valor de limite superior del número de vectores de movimiento. En el paso ST61, la unidad de establecimiento de limite de número de vectores de movimiento 35 determina el tamaño del macrobloque. La unidad de establecimiento de limite de número de vectores de movimiento 35 obtiene la información de identificación de tamaño indicando el tamaño del macrobloque para realizar inter-predicciones desde la unidad de búsqueda de movimiento 321, y determina el tamaño del macrobloque. La operación entonces pasa al paso ST62.
En el paso ST62, la unidad de establecimiento de límite de número de vectores de movimiento 35 calcula el valor del límite superior del número de vectores de movimiento. De conformidad con el tamaño del macrobloque, la unidad de establecimiento de límite de número de vectores de movimiento 35 calcula el valor del límite superior del número. Si el macrobloque es mayor que un macrobloque de 16 x 16 pixeles, la unidad de establecimiento de límite de número de vectores de movimiento 35 establece un valor de límite superior más grande que el valor del límite superior en un macrobloque. de 16 x 16 pixeles, para garantizar operaciones en tiempo real en vista del ancho de banda de memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario. Por ejemplo, en un caso en donde el valor del limite superior del número de vectores de movimiento es p cuando el tamaño del macrobloque es 16 x 16 pixeles, y el tamaño del macrobloque es (16 x m) x 816 x n) pixeles, la unidad de establecimiento de limite de número de vectores de movimiento 35 establece el valor del limite superior a (m x n x p) . La operación entonces regresa al paso ST52 de la figura 14.
En el paso ST52, la unidad de predicción/ compensación de movimiento 32 realiza operaciones de predicción de movimiento. La unidad de predicción/ compensación de movimiento 32 realiza 'una predicción de movimiento en cada modo de predicción, para detectar vectores de movimiento. La operación entonces para al paso ST53.
En el paso ST53, la unidad de predicción/ compensación de movimiento 32 realiza una operación de codificación de- vector de movimiento. La unidad de predicción/compensación de movimiento 32 genera información de vector de movimiento que indica vectores de movimiento de diferencia que son las diferencias entre los vectores de movimiento detectados en los modos de predicción respectivos y los vectores de movimiento de bloques codificados. La unidad de predicción/compensación de movimiento 32 realiza codificación sin pérdida sobre la información de vector de movimiento generada, y después pasa al paso ST54.
En el paso ST54, la unidad de predicción/ compensación de movimiento 32 realiza vectores de movimiento y una imagen de referencia para cada modo de predicción. La unidad de predicción/compensación de movimiento 32 determina los vectores de movimiento en cada modo para cada tamaño de bloque de compensación de movimiento, y la imagen de referencia usada en la detección de los vectores de movimiento. La operación entonces pasa al paso ST55. La unidad e predicción/compensación de movimiento 32 también excluye cada modo de predicción que tiene un número total más grande de vectores de movimiento de dos macrobloques sucesivos que el valor del limite superior, de los candidatos para el modo de inter-predicción óptimo.
En el paso ST55, la unidad de predicción/ compensación de movimiento 32 calcula un valor de función de costo en cada modo de predicción. Usando la ecuación antes mencionada 15 o 16, la unidad de predicción/compensación de movimiento 32 calcula los valores de función de costo. Los cálculos de valor de función de costo en los modos de inter-predicción implican las evaluaciones de valores de función de costo en el modo de macrobloque saltado o el modo directo especificado en H.264/AVC.
En el paso ST56, la unidad de predicción/ compensación de movimiento 32 determina el modo de inter-predicción óptimo. Con base en los valores de función de costo calculados en el paso ST55, la unidad de predicción/compensación de movimiento 32 selecciona el modo de inter-predicción con el valor de función de costo más pequeño entre los valores de función de costo calculados, y determina el modo de inter-predicción seleccionado para ser el modo de inter-predicción óptimo.
Como se describió antes, con el dispositivo de procesamiento de imagen ilustrado en la figura 1 y el método de procesamiento de imagen mostrado en la figura 11, el valor de límite superior del número de vectores de movimiento se establece de conformidad con el tamaño del bloque. Por consiguiente, aun cuando el número de vectores de movimiento este limitado de modo que no exceda el valor del límite superior, las operaciones en tiempo real pueden ser garantizadas en vista del ancho de banda de memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario. También, el número de vectores de movimiento no está limitado a un número más pequeño que el necesario, por lo que la degradación de calidad de la imagen se . puede evitar. Es decir, el procesamiento de imagen adecuado para macrobloques extendidos se puede realizar.
3. Estructura de otro dispositivo de codificación de imagen
La siguiente es una descripción de la estructura de otro dispositivo de codificación de imagen en el cual el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número más pequeño que el valor del limite superior es monitoreado para cada cuadro, por lo que las operaciones de codificación se pueden realizar de manera más eficiente.
La figura 16 ilustra la estructura de otro dispositivo de codificación de imagen. Igual que el dispositivo de codificación de imagen 10, el dispositivo de codificación de imagen 10a incluye una unidad de conversión de análogo/digital (una unidad de conversión de A/D) 11, una memoria intermedia de reordenamiento de imagen 12, una unidad de sustracción 13, una unidad de transformada ortogonal 14, una unidad de cuantificación 15, una unidad de codificación sin pérdida 16, una memoria intermedia de acumulación 17 y una unidad de control de velocidad 18. Igual que el dispositivo de codificación de imagen 10, el dispositivo de codificación de imagen 10a además incluye una unidad de cuantificación inversa 21, una unidad de transformada ortogonal 22, una unidad de adición 23, un filtro de desbloqueo 24, una memoria de cuadro 25, una unidad de intra-predicción 31, una unidad de predicción/compensación de movimiento 32a, una unidad de selección de imagen predicha/modo óptimo 33, y una unidad de establecimiento de limite superior de vector de movimiento 35. Además, el dispositivo de codificación de imagen 10a incluye una unidad de detección de cambio de escena 29. En la siguiente descripción, sólo se describirán los aspectos que difieren de aquellos del dispositivo de codificación de imagen 10.
La unidad de detección de cambio de escena 29 detecta cambios de escena al usar datos de imagen de entrada emitidos desde la memoria intermedia de reordenamiento de imagen 12, y emite los resultados de detección de cambios de escena a la unidad de predicción/compensación de movimiento 32a.
La figura 17 muestra la estructura de la otra unidad de predicción/compensación de movimiento y la unidad de establecimiento del limite del número de vectores de movimiento.
La unidad de predicción/compensación de movimiento 32a incluye una unidad de búsqueda de movimiento 321a, una unidad de modo de determinación 322a, una unidad de procesamiento de compensación de movimiento 323 y una memoria intermedia de vector de movimiento 32 .
Los datos de imagen reordenados suministrados desde la memoria intermedia de reordenamiento de imagen 12, y los datos de imagen de referencia leídos desde la memoria de cuadro 25 son suministrados a la unidad de búsqueda de movimiento 321a. también, los resultados de detección de cambio de escena son suministrados desde la unidad de detección de cambio de escena 29 a la unidad de búsqueda de movimiento 321a, y el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número más pequeño que el valor del limite superior es suministrado desde la unidad de modo de determinación 322a a la unidad de búsqueda de movimiento 321a.
La unidad de búsqueda de movimiento 321a realiza operaciones de búsqueda de movimiento en todos los modos de inter-predicción candidatos, y emite información de vector de movimiento que indica los vectores de movimiento detectados a través de las operaciones de búsqueda de movimiento a la unidad de modo de determinación 322a. con base en los vectores de movimiento detectados, la unidad de búsqueda de movimiento 321a realiza compensación de movimiento sobre los datos de imagen de referencia, para generar y emitir datos de imagen predichos a la unidad de modo de determinación 322a. La unidad de búsqueda de movimiento 321a además emite información de identificación de tamaño para identificar el tamaño de bloque de un bloque en el cual se establece un valor de limite superior, a la unidad de establecimiento de limite de número de vectores de movimiento 35. En un caso en donde el número de veces que el control se realiza para restringir el número de vectores de movimiento a un número más pequeño que el valor del límite superior es más grande que un número de veces predeterminado, la unidad de búsqueda de movimiento 321a hace a los macrobloques más grandes en el siguiente cuadro. Cuando los resultados de detección de cambio de escena indican que un cambio de escena ha sido detectado, la unidad de búsqueda de movimiento 321a realiza una operación para regresar el tamaño del macrobloque a un tamaño predeterminado.
La información de vector de movimiento y datos de imagen predichos acerca de todos los . modos de inter-predicción candidatos son suministrados desde la unidad de búsqueda de movimiento 321a a la unidad de modo de determinación 322a. la información de vector de movimiento que es generada en un bloque adyacente codificado es también suministrada desde la memoria intermedia de vector de movimiento 324 a la unidad de modo de determinación 322a. además,- datos de imagen reordenados suministrados desde la memoria intermedia de reordenamiento de imagen 12 es también suministrada a la unidad de modo de determinación 322a para calcular funciones de costo.
La unidad de modo de determinación 322a calcula un valor de función de costo en cada uno de los candidatos para el modo de inter-predicción óptimo usando los datos de imagen suministrados desde la memoria intermedia de reordenamiento de imagen 12 y los datos de imagen predichos suministrados desde la unidad de 'búsqueda de movimiento 321a. la unidad de modo de determinación 322a selecciona el modo con el valor de función de costo más pequeño que el modo de inter-predicción óptimo para el macrobloque que está siendo codificado.
Usando la información de vector de movimiento acerca del macrobloque adyacente suministrado desde la memoria intermedia de vector de movimiento 324, la unidad de modo de determinación 322a calcula el número total de vectores de movimiento de los dos macrobloques sucesivos. En un caso en donde el número total de vectores de movimiento en el modo con el valor de función de costo más pequeño es más grande que el valor del limite superior, la unidad de modo de determinación 322a realiza control para determinar el modo de inter-predicción óptimo que ha de ser el modo que tiene el valor de función de costo más pequeño con el valor total no excediendo el valor de limite superior, tal como control para excluir, de los candidatos para el modo de inter-predicción óptimo, cada modo de predicción teniendo un número total más grande de vectores de movimiento de dos macrobloques sucesivos que el valor de límite superior. El número de veces que el control se realiza (el número de macrobloques) en cada cuadro es después emitido a la unidad de búsqueda de movimiento 321a para cada cuadro.
Además, la unidad de modo de determinación 322a emite la información de modo de predicción, la información de modo de movimiento y el valor de función de costo del modo determinado para ser el modo óptimo, a la unidad de procesamiento de compensación de movimiento 323. Con base en la información de vector de movimiento suministrada desde la memoria intermedia de vector de movimiento 324, la unidad de modo de determinación 322a también calcula vectores de movimiento predichos. La unidad de modo de determinación 322a calcula vectores de movimiento de diferencia que son las diferencias entre los vectores de movimiento predichos calculados y los vectores de movimiento detectados por la unidad de búsqueda de movimiento 321a, y emite información de vector de movimiento de diferencia que indica los vectores de movimiento de diferencia contenidos en la información de vector de movimiento a la unidad de procesamiento de compensación de movimiento 323.
Como se describió antes, en cada caso en donde el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número más pequeño que el valor del limite superior es monitoreado en cada cuadro, y el número de veces que el control es realizado se hace más grande que un número de veces predeterminado, los macrobloques se hacen más grandes en el siguiente cuadro. Al hacer eso, el valor del limite superior se vuelve más grande, y el limite sobre el número de vectores de movimiento se vuelve menos estricto. Por consiguiente, el número de veces que el control se realiza para restringir el número de vectores de movimiento a un número más pequeño que el valor del limite superior puede hacerse más pequeño, y las operaciones de codificación eficientes se pueden realizar. Cuando un cambio de escena es detectado, los macrobloques son regresados al tamaño predeterminado. Por consiguiente, cuando la continuidad de la imagen se pierde debido a un cambio de escena, se pueden realizar operaciones de codificación con el tamaño de macrobloque predeterminado.
. Otras . operaciones de un dispositivo de codificación de imagen
La- siguiente es una descripción de otras operaciones de un dispositivo de codificación de imagen que tiene un modo de operación para permitir un número más grande de vectores de movimiento que el valor del limite superior. Cabe notar que la estructura del dispositivo de codificación de imagen en este caso es el mismo que se ilustra en la figura 1 ó 10.
El limite del número de vectores de · movimiento se establece para garantizar operaciones en tiempo real en vista del ancho de banda de memoria como se describió antes. Por lo tanto, un modo de operación no requerido para garantizar operaciones en tiempo real se puede establecer para permitir un número más grande de vectores de movimiento que el valor del limite superior. En tal caso, el número de vectores de movimiento no está limitado al valor del limite superior; y por consiguiente, se pueden generar más imágenes adecuadamente predichas.
En un caso en donde se usa dicho modo de operación, la información que indica que las operaciones de decodificación en tiempo real no son garantizadas, o información de determinación ¦ (tal como una bandera) que indica que el número de vectores de movimiento es más grande que el valor del limite superior, se provee en un conjunto de parámetros de secuencia establecido o similar en la información de imagen comprimida. Como se provee una bandera, el dispositivo de decodificación de imagen que decodifica la información de imagen comprimida puede . determinar fácilmente que el número de vectores de movimiento es más grande que el valor del limite superior al detectar la bandera. Por consiguiente, es posible notificar fácilmente a usuarios o similares que las operaciones de decodificación en tiempo real no son garantizadas.
5. Estructura de un dispositivo de decodificación de imagen
La información de imagen comprimida generada al decodificar imágenes de entrada es suministrada a un dispositivo de decodificación de imagen por medio de una trayectoria de transmisión predeterminada o' un medio de registro o similar, y es decodificada en el mismo.
La figura 18 muestra la estructura de un dispositivo de decodificación de imagen que es un dispositivo de procesamiento de imagen que decodifica la información de imagen comprimida. El dispositivo de decodificación de imagen 50 incluye una memoria intermedia de acumulación 51, una unidad de decodificación sin pérdida 52, una unidad de cuantificación inversa 53, una unidad de transformada ortogonal inversa 54, una unidad de adición 55, un filtro de desbloqueo 56, una memoria intermedia de reordenamiento de imagen 57, y una unidad de conversión de digital/análogo (una unidad de conversión de D/A) 58. El dispositivo de decodificación de imagen 50 además incluye una memoria de cuadro 61, una unidad de intra-predicción 62, una unidad de compensación de movimiento 63, un selector 64 y una unidad de establecimiento de limite de número de vectores de movimiento 65.
La memoria intermedia de acumulación 51 almacena información de imagen comprimida transmitida. La unidad de decodificación sin pérdida 52 decodifica la información de imagen comprimida suministrada desde la memoria intermedia de acumulación 51 por una técnica compatible con la técnica de codificación usada por la unidad de codificación sin pérdida 16 de la figura 1.
La unidad de decodificación sin pérdida 52 emite la información de modo de predicción obtenida al decodificar la información de imagen comprimida a la unidad de intra-predicción 62 y la unidad de compensación de movimiento 63.
La unidad de cuantificación inversa 53 cuantifica inversamente los 'datos cuantificados decodificados por la unidad de decodificación sin pérdida 52, usando una técnica compatible con la técnica de cuantificación usada por la unidad de cuantificación 15 de la figura 1. a unidad de transformada ortogonal inversa 54 realiza una transformada ortogonal inversa sobre la salida de la unidad de cuantificación inversa 53 mediante una técnica compatible con la técnica de transformada ortogonal usada por la unidad de transformada ortogonal 14 de la figura 1 y emite el resultado a la unidad de adición 55.
La unidad de adición 55 genera datos de imagen decodificados al añadir los datos sometidos a -la transformada ortogonal inversa a datos de imagen predichos suministrados desde el selector 64, y emite ' los datos de imagen decodificados al filtro de desbloqueo 56 y la unidad de intra-predicción 62.
El filtro de desbloqueo 56 realiza filtración de desbloqueo sobre los datos de decodificados suministrados desde la unidad de adición 55, y remueve distorsiones de bloque. Los datos resultantes son suministrados a y almacenados en la memoria del cuadro 61/ y también son emitidos a la memoria intermedia de reordenamiento de imagen 57.
La memoria intermedia de reordenamiento de imagen 57 realiza reordenamiento de imagen. De manera especifica, el orden de cuadro reordenado en el orden de codificación realizada por la memoria intermedia de reordenamiento de imagen 12 de la figura 1 es reordenado en el orden de despliegue original, y es emitido a la unidad de conversión de D/A 58.
La unidad de conversión de D/A 58 realiza una conversión de D/A sobre los datos de imagen suministrados desde la memoria intermedia de reordenamiento de imagen 57, y emite los datos de imagen convertidos a una pantalla (no mostrada) para desplegar las imágenes.
La memoria de cuadro 61 almacena los datos de imagen decodificados que han sido sometidos a la operación de filtración y es' suministrada desde el filtro de desbloqueo 24.
Con base en la información de modo de predicción suministrada desde la unidad la decodificación sin pérdida 52, la unidad de intra-predicción 62 genera imágenes predichas desde los datos de imagen decodificados suministrados desde la unidad de adición 55, y emite los datos de imagen predichos generados al selector 64.
Con base en la información de modo de predicción y vectores de movimiento suministrados desde la unidad . de decodificación sin pérdida 52, la unidad de compensación de movimiento 63 realiza compensación' de movimiento al leer los datos de imagen de imágenes de referencia de la memoria de cuadro 61, y genera y emite datos de imagen predichos al selector 6 . La unidad de compensación de movimiento 63 emite el tamaño del macrobloque indicado por la información de modo de predicción a la unidad de establecimiento de limite de número de vectores de movimiento 65. Además, ,1a unidad de compensación de movimiento 63 se determina, por ejemplo, si el número total de vectores de movimiento de los dos macrobloques sucesivos es más grande que el valor de limite superior enviado desde la unidad de establecimiento de limite de número de vectores de movimiento 65, y emite el resultado de determinación a un controlador de sistema.
El selector 64 emite los datos de imagen predichos generados por la unidad de intra-predicción 62 a la unidad de adición 55. El selector 64 también emite los datos de imagen predichos generados por la unidad de compensación de movimiento 63 a la unidad de adición 55.
La unidad de establecimiento de limite de número de vectores de movimiento 65 establece el valor del limite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque enviado desde la unidad de compensación de movimiento 63, y notifica a la unidad de compensación de movimiento 63 del valor del limite superior establecido. Si el macrobloque es más grande que un macrobloque de 16 x 16 pixeles, la unidad de establecimiento de limite de número de vectores de movimiento 65 establece un valor de limite superior más grande que el valor del limite superior en el macrobloque de 16 x 16 pixeles, para permitir que se haga una verificación para determinar si las operaciones en tiempo real pueden ser garantizadas en vista del ancho .de banda de la memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario. Por ejemplo, en el caso en donde el valor del limite superior del número de vectores de movimiento es p cuando el tamaño del macrobloque es 16 x 16 pixeles y el tamaño del macrobloque es (16 x m) x (16 x n) pixeles, la unidad de establecimiento de limite de número de vectores de movimiento 65 establece el valor del limite superior a (m x n x p) que está en relación predeterminado con el tamaño de macrobloque. Por consiguiente, se puede hacer una verificación para determinar si las operaciones en tiempo real pueden ser garantizadas en vista del ancho de banda de la memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario.
La figura 19 es un diagrama que muestra la estructura de la unidad de compensación de movimiento y la unidad de establecimiento de limite de número de vectores de movimiento .
La unidad de compensación de movimiento 63 incluye una memoria intermedia de tamaño de macrobloque 632, una unidad de generación de vector de movimiento 632, una memoria intermedia de modo 633, y una unidad de procesamiento de compensación de movimiento 634.
La memoria intermedia de tamaño- de macrobloque 631 almacena información de identificación de tamaño suministrada desde la unidad de decodificación sin pérdida 52. La memoria intermedia de tamaño de macrobloque 631 también emite la información de identificación de tamaño almacenada a la unidad de establecimiento de limite de número de vectores de movimiento 65.
La unidad de establecimiento de limite de número de vectores de movimiento 65 determina el valor del limite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque, y notifica a la' unidad de generación de vector de movimiento 632 del valor del limite superior .
Para reconfigurar información de vector de movimiento, la unidad de generación de vector de movimiento 632 incluye una memoria intermedia que almacena la información de vector de movimiento acerca de bloques adyacentes en tiempo y espacio. Al usar la información de vector de movimiento acerca de los bloques adyacentes y la información de vector de movimiento de diferencia indicada por la información de modo de predicción suministrada desde la unidad de decodificación sin pérdida, la unidad de generación de vector de movimiento 632 regenera la información de vector de movimiento acerca del bloque. La unidad de generación de vector de movimiento 632 también determina si el número de vectores de movimiento reconfigurados es más grande que el valor del limite superior determinado por la unidad de establecimiento de limite de número de vectores de movimiento 65, y emite el resultado de determinación al control'ador del sistema (no mostrado) o similar.
La memoria intermedia de modo 633 almacena la información de modo de predicción que es suministrada desde la unidad de decodificación sin pérdida 52 e indica el modo de predicción. La memoria intermedia de modo 633 también emite la información de modo de predicción almacenada a la unidad de procesamiento de compensación de movimiento 634.
Con base en la información de modo de predicción, la unidad de procesamiento de compensación de movimiento 634 lee los datos de imagen de imágenes de referencia de la memoria de cuadro 61, y realiza compensación de movimiento de conformidad con la información de vector de movimiento generada por la unidad de generación de vector de movimiento 632, para generar datos de imagen predichos. La unidad de procesamiento de compensación de movimiento 634 emite los datos de imagen predichos generados al selector 64.
6. Operaciones del aparato de decodificación de imagen
Haciendo referencia ahora al diagrama de flujo en la figura 20, una operación de decodificación de que ha de ser realizada por el dispositivo de decodificación de imagen 50 se describe. *
En el paso ST81, la memoria intermedia de acumulación 51 almacena información de imagen comprimida transmitida. En el paso ST82, la unidad de decodificación sin pérdida 52 realiza una operación de . decodificación sin pérdida. La unidad de decodificación sin pérdida 52 decodifica la información de imagen comprimida suministrada desde la memoria intermedia de acumulación 51. De manera especifica, se obtienen los datos cuantificados de cada imagen codificada por la unidad de codificación sin pérdida 16 de la figura 1. La unidad de decodificación sin pérdida 52 también realiza decodificación sin pérdida sobre la información de modo de predicción contenida en la información de imagen comprimida. En un caso en donde la información de modo de predicción obtenida es información acerca de un modo de intra-predicción, la información de modo de predicción es emitida a la unidad de intra-predicción 62. En un caso en donde la información de modo de predicción es información acerca de un modo de inter-predicción, por otra parte, la unidad de decodificación sin pérdida 52 emite la información de modo de predicción a la unidad de compensación de movimiento 63.
En el paso ST83, la unidad de cuantificación inversa 53 realiza una operación de cuantificación inversa. La unidad de cuantificación inversa 53 cuantifica inversamente los datos cuantificados ' decodificados por la unidad de . decodificación sin pérdida 52, que tiene características compatibles . con las características de la unidad de cuantificación de la figura 1.
En el paso ST84, la unidad de transformada ortogonal inversa 54 realiza una operación de transformada ortogonal inversa. La unidad de transformada ortogonal inversa 54 realiza una transformada ortogonal inversa sobre los datos de coeficiente de transformada inversamente cuantificados por. la unidad de cuantificación inversa 53, que tiene las características compatibles con las características de la unidad de transformada ortogonal 14 de la figura 1.
En el paso ST85, la unidad de adición 55 genera datos de imagen decodificados . La unidad de adición 55 añade los datos obtenidos a través de la operación de transformada ortogonal inversa a datos de imagen predichos seleccionados en el paso ST89, que se describirá posteriormente, y genera los datos de imagen descritos. De esta manera, las imágenes originales son decodificadas .
En el paso ST86, el filtro de desbloqueo 56 realiza una operación de filtración. El filtro de desbloqueo 56 realiza filtración de desbloqueo sobre los datos de imagen decodificados emitidos desde la unidad de adición 55, y remueve distorsiones de bloque contenidas en las imágenes decodificadas .
En el paso ST87, la memoria de cuadro 61 realiza una operación de almacenamiento de datos de imagen decodificados .
En el paso ST88, la unidad de intra-predicción 62 y la unidad de compensación de movimiento 63 realizan operaciones de generación de imagen. La unidad de intra-predicción 62 y la unidad de compensación de movimiento 63 realizan cada una, una operación de generación de imagen predicha de conformidad con la información de modo de predicción suministrada desde la unidad de decodificación sin pérdida 52.
De manera especifica, en el caso en donde la información de modo de predicción acerca de una intra-predicción es suministrada desde la unidad de decodificación sin pérdida 52, la unidad de intra-predicción 62 genera datos de imagen predichos basados en la información de modo de predicción. En un caso en donde la información de modo de predicción acerca de una inter-predicción es suministrada desde la unidad de decodificación sin pérdida 52, por otra parte, la unidad de compensación de movimiento 63 realiza compensación de movimiento basada en la información de modo de predicción, para generar datos de imagen predichos.
En el paso ST89, el selector 64 selecciona datos de imagen predichos. De manera especifica, el selector 64 selecciona los datos de imagen predichos suministrados desde la unidad de intra-predicción 62 y los datos de imagen predichos generados por la unidad de compensación de movimiento 63, y suministra los datos de imagen predichos seleccionados a la unidad de adición 55, que añade los datos de imagen predichos seleccionados a la salida de la unidad de transformada ortogonal inversa 54 en el paso ST85, como se describió antes.
En el paso ST90, la memoria intermedia de reordenamiento de imagen 57 realiza reordenamiento de imagen. De manera especifica, el orden de cuadros reordenados para codificación por la memoria intermedia de reordenamiento de imagen 12 del dispositivo de codificación de imagen 10 de la figura 1 es reordenado en el orden de despliegue original por la memoria intermedia de reordenamiento de imagen 57.
En el paso ST91, la unidad de conversión de D/A 58 realiza una conversión de D/A sobre los datos de imagen suministrados desde la memoria intermedia de reordenamiento de imagen 57. Las imágenes son emitidas a la pantalla (no mostrada) y son desplegadas.
Haciendo referencia ahora al diagrama de 'flujo en la figura 21, la operación de generación de imagen predicha en el paso ST88 de la figura 20 se describe.
En el paso STIOI, la unidad de decodificación sin pérdida 52 determina si el bloque actual es intra-codificado . Si la información de modo de predicción obtenida al realizar decodificación sin pérdida es información de modo de predicción acerca de una intra-predicción, la unidad de decodificación sin pérdida 52 suministra la información de modo de predicción a la unidad de intra-predicción 62, y la operación pasa al paso ST102. En un caso en donde la información de modo de predicción es información de modo de predicción acerca de un modo de inter-predicción, por otra parte, la unidad de decodificación sin pérdida 52 suministra la información de modo de predicción a la unidad de compensación de movimiento 63, y la operación pasa al paso ST103.
En el paso ST102, la unidad de intra-predicción 62 realiza una operación de generación de imagen predicha. Usando datos de imagen decodificados suministrados desde la unidad de adición 55 y la información de modo de predicción, la ¦ unidad de intra-predicción 62 realiza una intra-predicción, para generar datos de imagen predichos.
En el paso ST103, la unidad de compensación de movimiento 63 realiza una operación de generación de imagen predicha. Con base en la información de modo de predicción y vectores de movimiento suministrados desde la unidad de decodificación sin pérdida 52, la unidad de compensación de movimiento 63 realiza compensación de movimiento sobre una imagen de referencia leída desde la memoria de cuadro 61, y genera datos de imagen predichos.
La figura 22 es un diagrama de flujo que muestra la operación de generación de imagen inter-predicción del paso ST103. En el paso ST111, la unidad de establecimiento de limite de número de vectores de movimiento 65 realiza la misma operación, que la mostrada en la figura 15, para establecer el valor del límite superior del número de vectores de movimiento. La unidad, de establecimiento de límite de números de vector de movimiento 65 establece el valor del límite superior del número de vectores de movimiento de conformidad con el tamaño del macrobloque. Si el macrobloque es mayor que un macrobloque de 16 x 16 pixeles, la unidad de establecimiento de límite de número de vectores de movimiento 65 establece un valor de límite superior más grande que el valor del límite superior en un macrobloque de 16 x 16 pixeles, para permitir que se haga una verificación para determinar si las operaciones en tiempo real pueden ser garantizadas en vista del ancho de banda de la memoria, con el número de vectores de movimiento no siendo restringidos a un número más pequeño que el necesario. Por ejemplo, en un caso en donde el valor del limite superior del número de vectores de movimiento es p cuando el tamaño del macrobloque es 16 x 16 pixeles y el tamaño del macrobloque es (16 x m) x (16 x n) pixeles, la unidad de establecimiento de limite de número de vectores de movimiento 65 establece el valor del limite superior a (m x n x p) . Lá operación entonces pasa al paso ST112.
En el paso ST112, la unidad de compensación de movimiento 63 obtiene información de modo de predicción. Para generar datos de imagen predichos, la unidad de compensación de movimiento 63 obtiene la información del modo de predicción de la unidad de decodificación sin pérdida 52, y pasa al paso ST113.
En el paso ST113, la unidad de compensación de movimiento 63 reconfigura la información de vector de movimiento. La unidad de compensación de movimiento 63 genera información de vector de movimiento predicha desde los vectores de movimiento de un bloque adyacente decodificado, por ejemplo, y reconfigura la información de vector de movimiento basada en la información de vector de movimiento predicha y la información de vector de movimiento de diferencia indicada por la información de modo de predicción. La operación entonces pasa al paso ST114.
En el paso ST114, la unidad de compensación de movimiento 63 monitorea el número de vectores de movimiento. La unidad de compensación de movimiento 63 monitorea si el número total de vectores de movimiento de dos macrobloque adyacentes es más grande que el valor del limite superior determinado en el paso STlll. En un caso en donde el número de vectores de movimiento es más grande que el valor del limite superior, la unidad de compensación de movimiento 63 notifica al controlador del sistema o similar para ese efecto, y pasa al paso ST115.
En el paso ST115, la unidad de compensación de movimiento 63 genera datos de imagen predichos. Con base en la información de modo obtenida en el paso ST112 y la información de vector de movimiento reconfigurada en el paso ST113, la unidad de compensación de movimiento 63 realiza compensación de movimiento al leer los datos de imagen de referencia de la memoria de cuadro 61, y genera y emite datos de imagen predichos al selector 64.
Como se describió antes, con el dispositivo de procesamiento de imagen ilustrado en la figura 18 y el método de procesamiento de imagen mostrado en la figura 20, el valor de.l limite superior del número de vectores de movimiento se establece de acuerdo con el tamaño del macrobloque, y se realiza monitoreo para determinar si el número de vectores de movimiento es más grande que el valor del limite superior. El resultado del monitoreo es después emitido. Por consiguiente, con base en el resultado del monitoreo, se puede verificar fácilmente para determinar si las operaciones en tiempo real pueden ser garantizadas. En un caso en donde el número de vectores de movimiento es más grande que el valor del limite superior, y las operaciones en tiempo real no son garantizadas, el usuario puede ser notificado para ese efecto a través del despliegue en pantalla o sonido o similar.
En un caso en donde la información de imagen comprimida contiene información de determinación que indica que el número de vectores de movimiento es más grande que el valor del limite superior, un resultado de determinación que indica que el número de vectores de movimiento es más grande que el valor del limite superior es emitido con base en la información de determinación. Por consiguiente, cuando las operaciones en tiempo real no son garantizadas, el usuario puede ser notificado para ese efecto a través de despliegue en pantalla o sonido o similar.
El tamaño del macrobloque no está limitado a aquel descrito en las modalidades anteriores, y puede ser de algún otro tamaño. Actualmente, para lograr una eficiencia de codificación más alta que la de H.264/AVC, una técnica de codificación de imagen llamada HEVC (Codificación de Video de Alta Eficiencia) está siendo desarrollada como un estándar por JCTVC (Equipo de Colaboración Conjunto-Codificación de Video) , que es una organización de estandarización de ITU-T y ISO/IEC.
En HEVC, el tamaño de una unidad de codificación (CU) puede ser dinámicamente designado en cada secuencia.. Las unidades de codificación en HEVC también son llamadas un tri-bloque de codificación en el cual la unidad de codificación que tiene el tamaño más grande es la unidad de codificación más grande (LCU) , y la unidad de codificación que tiene el tamaño más pequeño es la unidad de codificación más pequeña (SCU) . Los tamaños de la LCU y la SCU son designados en un conjunto de parámetros de secuencia que es parte de información de imagen comprimida. De esta manera, un intervalo de tamaños de unidad de codificación útiles puede ser definido. Además, el valor de bandera_dividida es designado, para especificar el tamaño de cada unidad de codificación usado en las secuencias respectivas.'
La forma de una unidad de codificación es normalmente una forma cuadrada, y el tamaño de cada lado es expresado como una potencia de 2. Además, una unidad de codificación puede ser dividida en ' unidades de predicción (PUs) que son unidades de procesamiento en intra-predicciones o inter-predicciones . También, una unidad de codificación puede ser dividida en unidades de transformada (TUs) que son unidades de procesamiento en transformadas ortogonales. En HEVC, asi como unidades de transformada de 4 x 4 pixeles y 8 x 8 pixeles, las unidades de transformada que son 16 x 16 pixeles y 32 x 32 pixeles en tamaño se pueden usar. Por consiguiente, los bloques en esta especificación incluyen no sólo macrobloques sino también el concepto de unidades tales como unidades de codificación y la unidad de codificación más grande .
Además, el valor de limite superior anteriormente describo del número de vectores de movimiento no es necesariamente establecido en todas las CUs, sino que puede ser establecido sólo en bloques en los cuales un valor diferente del valor del limite superior de referencia ha de ser establecido. En este caso, información de identificación para identificar sólo los bloques en los cuales un valor diferente del valor del limite superior de referencia ha de ser establecido es incorporado en un flujo codificado. La figura 23 muestra sintaxis de ejemplo en un caso en donde la información de identificación está contenida en encabezados de rebanadas. En la figura 23, el número en el extremo izquierdo de cada hilera es un número de hilera provisto para facilidad de explicación.
• La sintaxis "MinUnitForNumMV" en la 22a hilera es la información para designar (identificar) el tamaño de' CU más pequeño en el cual un valor del limite superior ha de ser establecido. En un caso en donde MinUnitForNumMV = 16 es designado aun cuando el tamaño de CU más pequeño sea 8 x 8 pixeles, por ejemplo, un valor del limite superior es establecido sólo en cada CU que tiene un tamaño de 16 x 16 pixeles o más grande, y cualquier valor del limite superior no es establecido en cada CU de 8 x 8 pixeles.
Como otro enfoque, se puede establecer una bandera. En un caso en donde "MinUnitForNumMV" es establecido a "0", por ejemplo, un valor del limite superior es establecido al nivel de tamaño de 128 x 128 pixeles, pero el valor del limite superior no es establecido a los niveles de tamaño de 64 x 64 pixeles y más pequeños. En un caso en donde "MinUnitForNumMV" como una bandera es establecido a "1", un valor del limite superior es establecido al nivel de tamaño de 64 x 64 pixeles, pero cualquier valor del limite superior no es establecido a los niveles de tamaño de 32 x 32 pixeles y más pequeños. En el caso en donde "MinUnit orNumMV" como una bandera es establecido a "2", un valor del limite superior es establecido al valor de tamaño de 32 x 32 pixeles, pero cualquier valor del limite superior no es establecido a los niveles de tamaño de .16 x 16 pixeles y más pequeños .
Si el control se desea sólo al establecer un valor del limite superior en un tamaño de 16 x 16 pixeles y más grande, por ejemplo, se realiza predicción/compensación de movimiento, sin que ningún valor del limite superior sea establecido en cada CU. de tamaño de 8 x 8 pixeles. Al establecer dicha sintaxis "MinUnitForNumMV", el control de CUs tamaño de 8 x 8 pixeles puede ser saltado en este caso, y el establecimiento del valor del limite superior y control de predicción/compensación de movimiento se puede realizar flexiblemente .
Aunque la figura 23 muestra un caso de ejemplo en donde la sintaxis " inUnitForNumMV" se provee en un encabezado de rebanada, la sintaxis puede ser almacenada en un área distinta del encabezado de rebanada. Por ejemplo, la sintaxis puede ser almacenada en un conjunto de parámetros de imagen. Como la sintaxis es almacenada en un encabezado de rebanada o un conjunto de parámetros de imagen, el valor de la sintaxis puede cambiarse después de un cambio de escena, por ejemplo. También, si "MinUnitForNum V" se almacena en un encabezado de rebanada, uná imagen puede ser convertida a una imagen de multi-rebanadas y el procesamiento paralelo se puede realizar para cada rebanada.
7. Caso de procesamiento de software
La serie de operaciones descritas en esta especificación se puede realizar mediante hardware, software, o una combinación de hardware y software. En un caso en donde las operaciones se realizan mediante software, un programa en el cual las secuencias de operación son grabadas es instalado en una memoria incorporada en hardware especializado en una computadora. Alternativamente, las operaciones se pueden realizar instalando el programa en una computadora de propósitos generales que puede realizar varios tipos de operaciones .
Por ejemplo, el programa puede ser grabado con anticipación en un disco, duro o una ROM (memoria de sólo lectura) como un medio de registro. Alternativamente, el programa puede ser temporalmente o permanentemente almacenado (grabado) en un medio de registro removible tal como un disco flexible, una CD-ROM (memoria de sólo lectura ' en disco compacto) , un disco MO (Magneto-óptico) , un DVD (disco versátil digital) , un disco magnético o una memoria de semiconductor. Dicho medio de registro removible. se puede proveer como un denominado software empacado.
El programa no sólo puede ser instalado en la computadora a. partir del medio de registro removible anteriormente descrito, sino también puede ser transferido inalámbricamente desde un sitio de descarga a la computadora o transferido a la computadora por cable mediante una red tal como LAN (red de área local), o la Internet por lo que el programa transferido de esta manera puede ser recibido en la computadora y ser instalado en un medio de registro tal como un disco duro interno.
El paso de escribir el programa incluye operaciones que han de ser realizadas en paralelo o independientemente unas de otras si no es que necesariamente en orden cronológico, asi como operaciones que han de ser realizadas en orden cronológico de conformidad con el orden especificado.
8. Aplicaciones a aparatos electrónicos
En los ejemplos anteriormente descritos, M.264/AVC, se usa como técnica de codificación/decodificación. Sin embargo, la presente técnica se puede aplicar a dispositivos de codificación dé imagen y dispositivos de decodificación de imagen que usan las otras técnicas de codificación/ decodificación para realizar operaciones de predicción/compensación de movimiento. Además, la presente técnica sé puede aplicar a los dispositivos de codificación de imagen y dispositivos de decodificación de imagen que se usan cuando la información de imagen (flujos de bits) comprimidos a través de transformadas ortogonales tales como transformadas de coseno discretas y compensación de movimiento como en MPEG o H. 26x es recibida por un medio de red tal como difusión satelital, TV (televisión) por cable, la Internet o un dispositivo de teléfono portátil, o es procesada en un medio de almacenamiento tal como un disco óptico o magnético o una memoria instantánea.
El dispositivo de codificación de imagen anteriormente déscrito 10 y el dispositivo de decodificación de imagen 50 se pueden aplicar a cualquier aparato electrónico. La siguiente es una descripción de dichos ejemplos.
La figura 24 muestra esquemáticamente una estructura de ejemplo de un aparato de televisión al cual se aplica la presente técnica. El aparato de televisión 90 incluye una antena 901, un sintonizador 902, un demultiplexor 903, un decodificador 904, una señal de procesamiento de señal de video 905, una unidad de pantalla 906, una unidad de procesamiento de señal de audio 907, una bocina 908 y una unidad de interfaz externa 909. El aparato de televisión 90 además incluye una unidad de control 910, una unidad de interfaz de usuario 911 y similar.
El sintonizador 902 selecciona un canal deseado de las señales de onda de difusión recibidas en la antena 901, y realiza desmodulación. El flujo resultante es emitido al desmultiplexor 903.
El desmultiplexor 903 extrae paquetes de video y audio del programa que ha de ser visto desde el flujo, y emite los datos del paquete extraído al decodificador 904. El desmultiplexor 903 también emite un paquete de datos tal como EPG (guía de programa electrónica) a la unidad de control 910. En donde se realiza el mezclado, el desmultiplexor o similar cancela el mezclado.
El decodificador 904 realiza una operación de decodificación de paquete, y emite los datos de video generados a través de la operación de decodificación a la unidad de procesamiento de señal de video 905, y los datos de audio a la unidad de procesamiento de señal de audio 907.
La unidad de procesamiento de señal de video 905 somete los datos de video a una remoción de ruido y procesamiento de video o similar de acuerdo con lo establecido por el usuario. La unidad de procesamiento de señal de video 905 genera datos de video del programa que ha de ser desplegado en la unidad de pantalla 906, o genera datos de imagen o similares a través de una operación basada en una aplicación suministrada a una red. La unidad de procesamiento de señal de video 905 'también genera datos de video para desplegar una pantalla de menú o similar para selección de programas, y sobrepone los datos de video sobre los datos de video del programa. Con base en los datos de video generados de esta manera, la unidad de procesamiento de señal de video 905 genera una señal de impulso para impulsar la unidad de pantalla 906.
Con base en la señal de impulso de la unidad de procesamiento de señal de video 905, la unidad de pantalla 906 impulsa un dispositivo de pantalla (un elemento de pantalla de cristal liquido, por ejemplo) para desplegar el video del programa.
La unidad de procesamiento de señal de audio 907 somete los datos de audio a un procesamiento predeterminado tal como remoción de ruido, y realiza una operación de conversión de D/A y una operación de amplificación sobre los daos de audio procesados. Los datos de audio resultantes son suministrados como una salida de audio a la bocina 908.
La unidad de interfaz externa 909 es una interfaz para una conexión con un dispositivo externo o una red, y transmite y recibe datos tales como datos de video y datos de audio .
La unidad de interfaz de usuario 911 es conectada a la unidad de control 910. La unidad de interfaz de usuario 911 está formada con interruptores de operación, una unidad de recepción de señal de control remoto, y similares, y suministra una señal de operación de conformidad con la operación de un usuario a ,1a unidad de control 910.
La unidad de control 910 está formada con una CPU (unidad de procesamiento central), una memoria y similares. La memoria almacena el programa que ha de ser. ejecutado por la CPU, · varios tipos de datos necesarios para la CPU para realizar operaciones, datos de EPG, datos obtenidos por una red y similares. ?? programa almacenado en la memoria es leído y ejecutado por la CPU en un tiempo predeterminado tal como el tiempo de activación del aparato de televisión 90. La CPU ejecuta el programa para controlar los componentes respectivos de modo que el aparato de televisión 90 opera de acuerdo con las operaciones del usuario.
En el aparato de televisión 90., se provee una linea de transmisión 912 para conectar el sintonizador 902, el desmultiplexor 903, la unidad de procesamiento de señal de video 905, la unidad de procesamiento de señal de audio 907, la unidad de interfaz externa 909 y similares a la unidad de control 910.
En el aparato de televisión que tiene dicha estructura, el decodificador 904 tiene las funciones del dispositivo de decodificación de imagen (el método de decodificación de imagen) de la presente invención. Por consiguiente, aun cuando se usan los macrobloques extendidos, las operaciones de codificación de imagen compatibles con los macrobloques extendidos se -pueden realizar. Por ejemplo, en un caso en donde el número de vectores de movimiento es más grande que el valor del limite superior y operaciones en tiempo real no son garantizadas cuando la información de imagen comprimida . que usa macrobloques extendidos es reproducida, el usuario puede ser notificado para ese efecto.
La figura 25. muestra esquemáticamente una estructura de ejemplo de un dispositivo de teléfono portátil al cual se aplica la presente técnica. El dispositivo de teléfono portátil 92 incluye una unidad de comunicación 922, un códec de audio 923, una unidad de' cámara 924, una unidad de procesamiento de imagen 927, una unidad de desmultiplexión 928, una unidad de grabación/reproducción 929, una unidad de despliegue 930 y una unidad de control 931. Estos componentes son conectados unos a otros mediante una línea de transmisión 933.
También, una antena 921 es conectada a la unidad de comunicación 922, y una bocina 924 y un micrófono 925 son conectados al códec de audio 923. Además, una unidad de operación 932 es conectada a la unidad de control 931.
El dispositivo de teléfono portátil 92 realiza varios tipos de operaciones tales como transmisión y recepción de señales de audio, transmisión y recepción de correo electrónico y datos de imagen, captura de imagen y grabación de datos en varios tipos de modos tales como un modo de comunicación de audio y un modo de comunicación de datos .
En el modo de comunicación de audio una señal de audio generada en el micrófono 925 es convertida a datos de audio, y los datos son comprimidos en el códec de audio 923. Los datos comprimidos son suministrados a la unidad de comunicación 922. La unidad de comunicación 922 realiza una operación de modulación, una operación de conversión de frecuencia y similares sobre los datos de audio, para generar una señal de transmisión. La unidad de comunicación 922 también suministra la señal de transmisión a la antena 921, y la señal de transmisión es transmitida a una estación de base (no mostrada) . La unidad de comunicación 922 también amplifica una señal recibida en la antena 921, y realiza una operación de conversión de frecuencia, una operación de desmodulación y similares. Los datos de audio resultantes son suministrados al códec de audio 923. El códec de audio 923 comprime datos de audio, y convierte los datos de audio a una señal de audio análoga. La señal de audio análoga es después emitida a la bocina 924.
En un caso en donde la transmisión de correo es realizada en el modo de . comunicación de datos, la unidad de control 931 recibe datos de texto que son introducidos por operación de la unidad de operación 932, y el texto de entrada es desplegado en la unidad de pantalla 930. De conformidad con instrucción de un usuario o similar a través de la unidad de operación 932, la unidad de control 931 genera y suministra datos de correo a la unidad de comunicación 922. La unidad de comunicación 922 realiza una operación de modulación, una operación de conversión de frecuencia y similares sobre los datos de correo, y transmite la señal de transmisión resultante desde la antena 921. La unidad de comunicación 922 también amplifica una señal recibida en la antena 921, y realiza una operación de conversión de frecuencia, una operación de desmodulación y similar, para restaurar los datos de correo. Estos datos de correo son suministrados a la unidad de pantalla 930 y el contenido del correo es desplegado.
El dispositivo de teléfono portátil puede causar que la unidad de grabación/reproducción 929 almacene datos de correo recibidos en un medio de almacenamiento. ?? medio de almacenamiento es un medio de almacenamiento re-escribible . Por ejemplo, el medio de almacenamiento puede ser una memoria de semi-conductor tal como una RAM o una memoria instantánea interna, un disco duro o un medio removible tal como un disco magnético, un disco magnetoóptico, un disco óptico, una memoria USB o una tarjeta de memoria.
En un caso en donde los datos de imagen son transmitidos en el modo de comunicación de datos, los datos de imagen generados en la unidad de cámara 926 son suministrados a la unidad de procesamiento de imagen 927. La unidad de procesamiento de imagen 927 realiza una operación de codificación sobre los datos de imagen, para generar datos codificados .
La unidad de desmultiplexión 928 multiplexa los datos codificados generados en la unidad de procesamiento de imagen 927 y los datos de imagen suministrados desde el códec de audio 923 mediante una técnica predeterminada, y suministra los datos multiplexados a la unidad de comunicación 922. La unidad de comunicación 922 realiza una operación de modulación, una operación de conversión de frecuencia y similar sobre los datos multiplexados, y transmite la señal de transmisión resultante desde la antena 921. La unidad de comunicación .922 también amplifica una señal recibida en la antena 921 y realiza una operación de conversión de frecuencia, operación de desmodulación y similar, para restaurar los datos multiplexados. Estos datos multiplexados son suministrados a la unidad de desmultiplexión 928. La unidad de desmultiplexión 928 divide los datos multiplexados, y suministra los datos codificados a la unidad de procesamiento de imagen 927, y los datos de audio al códec de audio 923.
La unidad de procesamiento de imagen 927 realiza una operación de decodificación sobre los datos codificados, para generar datos de imagen, estos datos de imagen son suministrados a la unidad de pantalla 930, para desplegar las imágenes recibidas. El códec de audio 923 convierte los datos de audio a una señal de audio análoga y emite la señal de audio análoga a la bocina 924, y el sonido recibido es reproducido .
En el dispositivo de teléfono portátil que tiene la estructura anterior, la unidad de procesamiento de imagen 927 •tiene las funciones del dispositivo de codificación de imagen (el método de codificación de imagen) y el dispositivo de decodificación de imagen (el método de decodificación de imagen) de la presente invención. Por consiguiente, aun cuando los macrobloques extendidos se usan, las operaciones de codificación de imagen y operaciones de decodificación de imagen compatibles con los macrobloques extendidos pueden ser realizadas.
La figura 26 muestra esquemáticamente una estructura de ejemplo de un aparato de grabación/reproducción al cual se aplica la presente técnica. El aparato de grabación/reproducción ' 94 graba los datos de audio y datos de video de un programa- de difusión recibido en un medio de grabación, y provee los datos grabados a un usuario en el tiempo de acuerdo con una instrucción del usuario. El aparato de grabación/reproducción 94 también puede obtener datos de audio y datos de video de otro aparato, por ejemplo, y grabar los datos en un medio de grabación. Además, el aparato de grabación/reproducción 94 decodifica y emite datos de audio y datos de video grabados en un medio de grabación, por lo que un dispositivo de monitor o similar puede desplegar imágenes y emitir sonidos.
El aparato de grabación/reproducción 94 incluye un sintonizador 941, una unidad de interfaz externa 942, un codificador 943, una unidad HDD (unidad de disco duro) 944, una unidad de disco 945, un selector 946, un decodificador 947, una unidad OSD (despliegue en pantalla) 948, una unidad de control 949 y una unidad de interfaz de usuario 950.
El sintonizador 941 selecciona un canal deseado de las señales de difusión recibidas en una antena (no mostrada) . El sintonizador 941 desmodula la señal recibida del canal deseado, y emite la información de imagen comprimida resultante al selector 946.
La unidad de interfaz externa 942 está formada con por lo menos una de una interfaz IEEE1394, una unidad de interfaz de red, una interfaz de USB, una interfaz de memoria instantánea, y similar. La unidad de interfaz externa 942 es una interfaz para una conexión con un dispositivo externo, una red, una tarjeta de memoria o similar, y recibe datos tales como datos de video y datos de audio que han de ser grabados y similares.
El codificador 94.3 realiza codificación predeterminada sobre datos de video y datos de audio que son suministrados desde la unidad de interfaz externa 942 y no son codificados, y emite la información de imagen comprimida al selector .946.
La unidad HDD 944 registra datos de contenido tales como video y sonido, varios tipos de programa y otros datos de en un disco duro interno, y lee los datos del disco duro en el tiempo de reproducción o similar.
La unidad de disco 945 realiza grabación y reproducción de señal en un disco óptico montado. El disco óptico puede ser, por ejemplo, un disco DVD (tal como un DVD-video, un DVD-RAM, un ' DVD-R, un DVD-RW, un DVD+R, o un DVD+RW) o un disco blue-ray.
El selector 946 selecciona un flujo de un sintonizador 941 o el codificador 943 en el tiempo de grabación de video y audio, y suministra el flujo ya sea a la unidad HDD 944 o la unidad de disco 945. El selector 946 también suministra un flujo emitido desde la unidad HDD 944 o la unidad de disco 945 al decodificador 947 en el tiempo de reproducción de video y audio.
El decodificador 947 realiza una operación de decodificación sobre el flujo. El decodificador 947 suministra los datos de video generados al realizar la decodificación a la unidad OSD 948. El decodificador 947 también emite los datos de audio generados al realizar la decodificación .
La unidad OSD 948 también genera datos de audio para desplegar una pantalla de menú o similar para selección de programas, y sobre pone los datos de video sobre los datos de video emitidos desde el decodificador 947.
La unidad de interfaz de usuario 950 es conectada a la unidad de control 949. La unidad de interfaz de usuario 950 está formada con interruptores de operación, una unidad de recepción de señal de control remoto, y similares, y suministra una señal de operación de conformidad con la operación de un usuario a la unidad, de control 949.
La unidad de control 949 está formada con una CPU, una memoria y similar. La memoria almacena el programa que ha de ser ejecutado, por la CPU y varios tipos de datos necesarios para que la CPU realice operaciones. El programa almacenado en la memoria es leído y ejecutado por la CPU en un tiempo predeterminado tal como el tiempo de activación del aparato de grabación/reproducción 94. La CPU ejecuta el programa para controlar los componentes respectivos de modo que el aparato de grabación/reproducción 94 opera de acuerdo con las operaciones del usuario.
En el aparato de grabación/reproducción que tiene la estructura anterior, el codificador 943 tiene funciones del dispositivo de codificación de imagen (el método de codificación de imagen) de la presente invención, y el decodificador 947 tiene las funciones del dispositivo de decodificación de imagen (el método de decodificación de imagen) de modo qué las operaciones de codificación de imagen y operaciones de decodificación de imagen compatibles con macrobloques extendidos se pueden realizar cuando se usan con macrobloque extendidos.
La figura 27 muestra esquemáticamente una estructura de ejemplo de un aparato de formación de imagen al cual se aplica la presente técnica. Un aparato de formación de imagen 96 captura una imagen de un objeto, y hace que una unidad de pantalla despliegue la imagen del objeto o grabe la imagen como datos de imagen en un medio de grabación.
El aparato de formación de imagen 96b incluye un bloque óptico 961,- una unidad de formación de imagen 962, una unidad de procesamiento de señal de cámara 963, una unidad de procesamiento de datos de imagen 964, una unidad de pantalla 965, una unidad de interfaz externa 966, una unidad de memoria 967, una unidad dé media 968, una unidad OSD 969 y una unidad de control 970. Una unidad de interfaz de usuario 971 es conectada a la unidad de control 970. Además, la unidad de procesamiento de datos de imagen 964, la unidad de interfaz externa 966 y la unidad de memoria 967, la unidad de media 968, la unidad OSD 969, la unidad de control 970 y similares son conectadas mediante una barra conectora 972.
El bloque óptico 961 es formado con un lente de foco, un diafragma y similares. El bloque óptico 961 forma una imagen óptica de un objeto sobre la superficie de imagen de la unidad de formación de imagen 962. Formada con un CCD o un sensor de imagen CMOS la unidad de formación de imagen 962 genera una señal eléctrica de acuerdo con la imagen óptica a través de una conversión fotoeléctrica, y suministra la señal eléctrica a la unidad de procesamiento de señal de cámara 963.
La unidad de procesamiento de señal de cámara 963 realiza varios tipos de- procesamiento de señal de cámara tales como una corrección de Knee, una corrección gama y una corrección de color sobre la señal eléctrica suministrada desde la unidad 962. La unidad de procesamiento de señal de cámara 963 suministra los datos de imagen sometidos al procesamiento de señal de cámara la unidad de procesamiento de datos de imagen 964.
La unidad de procesamiento de datos de imagen 964 realiza una operación de codificación sobre los datos de imagen suministrados desde la unidad de' procesamiento de señal de cámara 963. La unidad de procesamiento de datos de imagen 964 suministra los datos codificados generados al realizar la operación de codificación a la unidad de interfaz externa 966 y la unidad de media 968. La unidad de procesamiento de datos de imagen 964 también realiza una operación de decodificación sobre los datos codificados suministrados desde la unidad de interfaz externa 966 y la unidad de media 968. La unidad de procesamiento de datos de imagen 964 suministra los datos de imagen generados al realizar la operación de decodificación a la unidad de pantalla 965. La unidad de procesamiento de datos de imagen 964 también realiza una operación para suministrar los datos de imagen suministrados desde la unidad de procesamiento de señal de cámara 963 a la unidad de pantalla 965, o sobre pone datos de despliegue obtenidos desde la unidad OSD 969 sobre los datos de imagen y suministra los datos de imagen a la unidad de pantalla 965.
La unidad OSD 969 genera datos de despliegue de una pantalla de menú de iconos formados por símbolos, caracteres o figuras, y emite los datos a la unidad de procesamiento de datos de imagen 964.
La unidad de interfaz externa 966 está formada con una terminal de entrada/salida para USB y similar, por ejemplo, y es conectada a una impresora cuando la impresión de imagen es formada. Una unidad también está conectada a la unidad de interfaz externa 966 en donde es necesario, y un medio removible tal como un disco magnético o un disco óptico es montado sobre la unidad según sea apropiado. Un programa de computadora leído desde un disco removible es instalado en donde es necesario, además, la unidad de interfaz externa 966 incluye una interfaz de red conectada a una red predeterminada tal como una LAN o la Internet. La unidad de control 970 lee datos codificados desde la unidad de memoria 967 de conformidad con una instrucción de la unidad de interfaz de usuario 971, por ejemplo, y puede suministrar los datos codificados desde la unidad de interfaz externa 976 a otro aparato conectado al mismo mediante una red. La unidad de control 970 también puede obtener, por medio de la unidad de interfaz externa 966, datos codificados o datos de imagen suministrados desde otro aparato por medio de una red, y suministrar los datos codificados o datos de imagen a la unidad de procesamiento de datos de imagen 964.
Un medio de grabación para ser impulsado por la unidad de medio 968 puede ser un disco removible legible/re-escribible tal como un disco magnético, un disco magnetoóptico, un disco óptico, una memoria de semiconductor. El medio de grabación puede ser cualquier tipo de medio removible, y puede ser un dispositivo de cinta, un disco, una tarjeta de memoria. El medio de grabación puede ser desde luego una tarjeta IC sin contacto o similar.
Alternativamente, la unidad de medio 968 y el medio de grabación pueden ser integrados, y pueden ser formados con un medio de almacenamiento inmóvil tal como una unidad de disco duro interno o un SSD (unidad de estado sólido) .
La unidad de control 970 está formada con una CPU, una memoria y similar. La memoria almacena el programa que ha de ser ejecutado por la CPU, varios tipos de datos necesarios para que la CPU realice operaciones y similares. El programa almacenado en la memoria es leído y ejecutado por la CPU en un tiempo predeterminado tal como el tiempo de activación del aparato de formación de imagen 96. La CPU ejecuta el programa para controlar los componentes respectivos de modo que el aparato de formación de imagen 96 opera de acuerdo con las operaciones del usuario.
En el aparato de formación de imagen que tiene la estructura anterior, la unidad de procesamiento de datos de imagen 964 tiene las funciones del dispositivo de codificación de imagen (el método de codificación de imagen) y el dispositivo de decodificación de imagen (el método de decodificación de imagen) de la presente invención. Por consiguiente, aun cuando los macrobloques extendidos se usan cuando una imagen capturada es grabada en la unidad de memoria 967, un medio de grabación, o similar, las operaciones de codificación de imagen y las operaciones de decodificación de imagen compatibles ' con los macrobloques extendidos se pueden realizar.
Además, la presente técnica no debe ser interpretada para ser limitada a las modalidades anteriormente descritas. Las modalidades describen la presente técnica a través de ejemplos, y debe ser obvio que los expertos en la técnica pueden modificar o remplazar esas modalidades por otras modalidades sin apartarse del alcance de la técnica. Es decir, las reivindicaciones deben tomarse en cuenta para entender la materia de la técnica.
La presente técnica también puede estar en las siguientes formas:
(1) Un dispositivo de procesamiento de imagen que incluye :
una unidad de establecimiento que establece el valor de limite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la codificación se realice cuando los datos de imagen son codificados;
una unidad de predicción/compensación de movimiento que detecta un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor limite superior establecido por la unidad de establecimiento, y realiza compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y
una unidad de codificación que codifica los datos de imagen para generar un flujo codificado al usar la imagen predicha generada por la unidad de predicción/compensación de movimiento .
(2) El dispositivo de procesamiento de imagen de
(1) , en donde, cuando el tamaño de bloque del bloque es mayor que un tamaño predeterminado, la unidad de establecimiento establece el valor de limite superior a un valor más grande que el valor de limite superior en un bloque del tamaño predeterminado.
(3) El dispositivo de procesamiento de imagen de
(2) , en donde, cuando el valor de limite superior del número de vectores de movimiento en un bloque de un tamaño predeterminado (N) es p, y un tamaño de bloque más grande que el tamaño predeterminado es (N x m) x (N x n) pixeles, la unidad de establecimiento . establece el valor de limite superior a (p x m x n) .
(4) El dispositivo de procesamiento de imagen de (2) o (3), en donde el tamaño predeterminado es 16 x 16 pixeles .
(5) El dispositivo de procesamiento de imagen de cualquiera de (2) a (4), en donde un bloque que tiene un tamaño más grande que el tamaño predeterminado es la unidad más grande para codificación con el tamaño más grande entre las unidades para codificación en una estructura jerárquica.
(6) El dispositivo de procesamiento de imagen de cualquiera de (2) a (5), en donde, cuando se detecta el modo de predicción, la unidad de predicción/compensación de movimiento excluye cada modo de predicción que tiene un número más grande de vectores de movimiento que el valor de limite superior de los candidatos para el modo de predicción que ha de ser detectado.
(7) El dispositivo de procesamiento de imagen de cualquiera de (2) a (6), en donde la unidad de predicción/compensación de movimiento monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor del limite superior en cada cuadro y, cuando el número de veces que el control es- realizado excede un número de veces predeterminado, incrementa el tamaño de bloque de cada bloque en el siguiente cuadro.
(8) El dispositivo de procesamiento de imagen de cualquiera de (1) a (7), que además incluye:
una unidad de detección de cambio de escena que detecta un cambio de escena _en los datos de imagen,
en donde, cuando un cambio de escena es detectado por la unidad de detección de cambio de escena, la unidad de predicción/compensación de movimiento establece el tamaño de bloque de cada bloque a un tamaño predeterminado establecido por anticipado.
(9) El dispositivo de procesamiento de imagen de cualquiera de (1) a (8), en donde, en un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo, independientemente del número de vectores de movimiento, y realizar compensación de movimiento sobre una imagen de referencia con los vectores de movimiento del modo de predicción óptimo detectado, cuando el número de vectores de movimiento en un modo de predicción excede el valor del limite superior, la unidad de codificación transmite el flujo codificado e información de determinación que indica que el número de vectores de movimiento es mayor que el valor del limite superior.
(10) El dispositivo de procesamiento de imagen de cualquiera de (1) a (9), que además incluye:
una unidad de generación que genera información de identificación de tamaño para identificar el tamaño de bloque de cada bloque que tiene un ' valor de limite superior establecido en el mismo por la unidad de establecimiento,
en donde la unidad de codificación transmite el flujo codificado y la información de identificación de tamaño .
(11) Un dispositivo de procesamiento de imagen que incluye :
una unidad de establecimiento que establece el valor de limite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la decodificación se realice cuando un flujo codificado generado por la codificación de datos de imagen es decodificado;
una unidad de compensación de movimiento que detecta un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor limite superior establecido por la unidad de establecimiento, y realiza compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y
una unidad de decodificación que decodifica el flujo codificado al usar la imagen predicha generada por la unidad de compensación de movimiento.
(12) El dispositivo de procesamiento de imagen de (11), en donde, cuando el tamaño de bloque del bloque es mayor que un tamaño predeterminado, la unidad de establecimiento establece el valor de limite superior a un valor más grande que el valor de limite superior en un bloque del tamaño predeterminado.
(13) El dispositivo de procesamiento de imagen de (12), en donde, cuando el valor de limite superior del número de vectores de movimiento en un bloque de un tamaño predeterminado (N) es p, y un tamaño de bloque más grande que el tamaño predeterminado es (N x m) x (N x n) pixeles, la unidad de establecimiento establece el valor de limite superior a (p x m x n) .
(14) El dispositivo de procesamiento de imagen de (12) o (13), en donde el tamaño predeterminado es 16 x .16 pixeles.
(15) El dispositivo de procesamiento de imagen de cualquiera de (12) a (14), en donde un bloque que tiene un tamaño más grande que el tamaño predeterminado es la unidad más grande para codificación con el tamaño más grande entre las unidades para' codificación en una estructura jerárquica.
(16) El dispositivo de procesamiento de imagen de cualquiera de (12) a (15), en donde, cuando se detecta el modo de predicción, la unidad de compensación de movimiento excluye cada modo de predicción' que tiene un número más grande de vectores de movimiento que el valor de limite superior de los candidatos para el modo de predicción que ha de ser detectado.
(17) El dispositivo de procesamiento de imagen de cualquiera de (12) a (16), en donde la unidad de compensación de movimiento monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor del limite superior en cada cuadro y, cuando el número de veces que el control es realizado excede un número de veces predeterminado, incrementa el tamaño de bloque de cada bloque en el siguiente cuadro .
(18) El dispositivo de procesamiento de imagen de cualquiera de (11) a (17), que además incluye:
una unidad de detección de cambio de escena que detecta un cambio de escena en los datos de imagen,
en donde, cuando un cambio de escena es detectado por la unidad de detección de cambio de escena, la unidad de compensación de movimiento establece el tamaño de bloque de cada bloque a un tamaño predeterminado establecido por anticipado .
(19) El dispositivo de procesamiento de imagen de cualquiera de (11) a (18), en donde, en un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo, independientemente del número de vectores de movimiento, y realizar compensación de movimiento sobre una imagen de referencia con los vectores de movimiento del modo de predicción óptimo detectado, la unidad de decodificación obtiene información de determinación del flujo codificado, la información de determinación indicando que el número de vectores de movimiento es mayor que el valor de limite superior.
(20) El dispositivo de procesamiento de imagen de cualquiera de (11) a (19), en donde la unidad de decodificación obtiene información de identificación de tamaño del flujo codificado, la información de identificación de tamaño identificando el tamaño de bloque de cada bloque que tiene un valor de limite superior establecido en el mismo .
Aplicabilidad industrial
Con un dispositivo de procesamiento de imagen y un método de procesamiento de imagen de conformidad con esta técnica, el valor de limite superior del número de vectores de movimiento es establecido de acuerdo con el tamaño del macrobloque. Un modo de .predicción óptimo que tiene un número más pequeño de vectores de movimiento que el valor de limite superior es detectado, y la compensación de movimiento usando los vectores de movimiento del modo de predicción óptimo detectado se realiza sobre una imagen de referencia, para generar una imagen predicha. Por consiguiente, cuando se usan los macrobloques de un tamaño incrementado, el número de vectores de movimiento no es restringido a un número menor que el necesario, y el procesamiento de imagen compatible con el macrobloque extendido se puede realizar.
En vista de lo anterior, esta técnica es adecuada para dispositivos de codificación de imagen, dispositivos de decodificación de imagen y similares, que se usan cuando la información de imagen' comprimida (flujos de bits) obtenidos al realizar codificación en cada bloque es transmitida y recibida por un medio de red tal como difusión satelital, difusión de televisión por cable, la Internet o un teléfono portátil, o es procesada en un medio de almacenamiento tal como un disco óptico o magnético o una memoria instantánea.
Lista de signos de referencia
10, 10a ... dispositivo de codificación de imagen; 11 una unidad de conversión de A/D; 12, 57 ... memoria intermedia de reordenamiento de imagen; 13 ... unidad de sustracción; 14 ... unidad de transformada ortogonal; 15 ... unidad de cuantificación; 16 ... unidad de codificación sin pérdida; 17 ... memoria intermedia de acumulación; 18 ... una unidad de control de velocidad; 21, 53 ... unidad de cuantificación inversa; 22, 54 ... unidad de transformada ortogonal inversa; 23, 55 ... unidad de adición; 24, 56 ... filtro de desbloqueo; 25 ... memoria de cuadro; 29 ... unidad de detección de cambio de escena; 31 ... unidad de intra-predicción; 32, 32a ... unidad de predicción/compensación de movimiento; 33 ... unidad de selección de imagen predicha/modo óptimo; 35, 65 ... unidad de establecimiento de límite de número de vectores de movimiento; 50 ... dispositivo de decodificación de imagen; 51 ... memoria intermedia de acumulación; 52 ... unidad de decodificación sin pérdida; 58 ... unidad de conve'rsión de D/A.; .61 memoria de cuadro; 62 ... unidad de intra-predicción; 63 ... unidad de compensación de movimiento; 64 ... selector; 90 ... aparato de televisión; 92 ... dispositivo de teléfono portátil; 94 ... aparato de grabación/reproducción; 96 ... aparato de formación de imagen; 321, 321a ... unidad de búsqueda de movimiento; 322, 322a ... unidad de modo de determinación; 323, 634 unidad de procesamiento de compensación de movimiento; 324 ... memoria intermedia de vector de movimiento; 631 ... memoria intermedia de tamaño de macrobloque; 632 ... unidad de generación de vector de movimiento; 633 ... memoria intermedia de modo.
Claims (22)
1. Un dispositivo de procesamiento de imagen que comprende : una unidad de establecimiento configurada para establecer el valor de- limite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la codificación se realice cuando los datos de imagen son codificados; una unidad de predicción/compensación de movimiento configurada para detectar un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor limite superior establecido por la unidad de establecimiento, y realizar compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y una unidad de codificación codificada para codificar los datos de imagen para generar un flujo codificado al usar la imagen predicha generada por la unidad de predicción/compensación de movimiento.
2. El' dispositivo de procesamiento de imagen de conformidad con la reivindicación 1, en donde cuando el tamaño de bloque del bloque es mayor que un tamaño predeterminado, la unidad de establecimiento establece el valor de límite superior a un valor más grande que el valor de límite superior en un bloque del tamaño predeterminado.
3. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 2, en donde, cuando el valor de límite superior del número de vectores de movimiento en un bloque de un tamaño predeterminado (N) es p, y un tamaño de bloque más grande que el tamaño predeterminado es (N x m) x (N x n) pixeles, la unidad de establecimiento establece el valor de límite superior a (p 'x m x n) .
4. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 3, en donde el tamaño predeterminado es 16 x 16 pixeles.
5. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 2, en donde en donde un bloque que tiene un tamaño más grande que el tamaño predeterminado es la unidad más grande para codificación con el tamaño más grande entre las unidades para codificación en una estructura jerárquica.
6. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 2, en donde, cuando se detecta el modo de predicción, la unidad de predicción/ compensación de movimiento excluye cada modo de predicción que tiene un número más grande de vectores de movimiento que el valor de límite superior de los candidatos para l roodo de predicción que ha de ser detectado.
7. El dispositivo de procesamiento de imagen 'de conformidad con la reivindicación 2, en donde la unidad de predicción/compensación de movimiento monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor del limite superior en cada cuadro y, cuando el número de veces que el control es realizado excede un número de veces predeterminado, incrementa el tamaño de bloque de cada bloque en el siguiente cuadro. ·
8. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 1, que además comprende: una unidad de detección de cambio de escena configurada para detectar un cambio de escena en los datos de imagen, en donde, cuando un cambio de escena es detectado por la unidad de detección de cambio de escena, la unidad de predicción/compensación de movimiento establece el tamaño de bloque de cada bloque a un tamaño predeterminado establecido por anticipado.
9. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 1, en donde, en un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo, independientemente del número de vectores de movimiento, y realizar compensación de movimiento sobre una imagen de referencia con los vectores de movimiento del modo de predicción óptimo detectado, cuando el número de vectores de movimiento en un modo de predicción excede el valor del límite superior, la unidad de codificación transmite el flujo codificado e información de determinación que indica que el número dé vectores de movimiento es mayor que el valor del límite superior.
10. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 1, que además comprende: una unidad de generación configurada para generar información de identificación de tamaño para identificar el tamaño de bloque de cada bloque que tiene un valor de límite superior establecido en el mismo por la unidad de establecimiento, en donde la unidad de codificación transmite el flujo codificado y la información de- identificación de tamaño.
11. Un método de procesamiento de imagen que comprende : establecer el valor de límite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la codificación se realice cuando los datos de imagen son codificados ; generar una imagen predicha al detectar un modo de predicción cuando el número de vectores de movimiento del bloque es igual a o menor que el valor de limite superior establecido, y realizar compensación de movimiento sobre una imagen de referencia con el uso de los vectores de movimiento del modo de predicción detectado; y generar un flujo codificado al codificar los datos de imagen con el uso de la imagen predicha generada.
12. Un dispositivo de procesamiento de imagen que comprende: una unidad de establecimiento configurada para establecer el valor de limite- superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la decodificación se realice cuando un flujo codificado generado por la codificación de datos de imagen es decodificado; una unidad de compensación de movimiento configurada para detectar un modo de predicción cuando el número de vectores de movimiento de bloque es igual a o menor que el valor limite superior establecido por la unidad de establecimiento, y realiza compensación de movimiento sobre una imagen de referencia al usar los vectores de movimiento del modo de predicción detectado, para generar una imagen predicha; y una unidad de decodificación configurada para decodificar el flujo codificado al usar la imagen predicha generada por la unidad de compensación de movimiento.
13. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 12, en donde, cuando el tamaño de bloque del bloque es mayor que un tamaño predeterminado, la unidad de establecimiento establece el valor de limite superior a un valor más grande que el valor de limite superior en un bloque del tamaño predeterminado.
14. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 13, en donde, cuando el valor de limite superior del número de vectores de movimiento en un bloque de un tamaño predeterminado (N) es p, y un tamaño de bloque más grande que el tamaño predeterminado es (N x m) x (N x n) pixeles, la unidad de establecimiento establece el valor de limite' superior a (p x m x n) .·
15. El dispositivo de procesamiento de imagen de conformidad con la. reivindicación 14, en donde el tamaño predeterminado es 16 x 16 pixeles.
16. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 13, en donde un bloque que tiene un tamaño más grande que el tamaño predeterminado es la unidad más grande para codificación con el tamaño más grande entre las unidades para codificación en una estructura j erárquica .
17. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 13, en donde, cuando se detecta el modo de predicción, la unidad de compensación de movimiento excluye cada modo de predicción que tiene un número más grande de vectores de movimiento que el valor de límite superior de los candidatos para el modo de predicción que ha de ser detectado.
18. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 13, en donde la unidad de compensación de movimiento monitorea el número de veces que el control es realizado para restringir el número de vectores de movimiento a un número menor que el valor del limite superior en cada cuadro y, cuando el número de veces que el control es realizado excede un número de veces predeterminado, incrementa el tamaño de bloque de cada bloque en el siguiente cuadro.
19. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 18, que además comprende: una unidad de detección de cambio de escena configurada para detectar un cambio de escena en los datos de imagen, en donde, cuando un cambio de escena es detectado por la unidad de detección de cambio de escena, la unidad de compensación de movimiento establece el tamaño de bloque de cada bloque a un tamaño predeterminado establecido por anticipado .
20. El dispositivo de procesamiento de imagen- de conformidad con la reivindicación 12, en donde, en un modo de operación para generar una imagen predicha al detectar un modo de predicción óptimo, independientemente del número de vectores de movimiento, y realizar compensación de movimiento sobre una imagen de referencia con los vectores de movimiento del modo de predicción óptimo detectado, la unidad de decodificación obtiene información de determinación del flujo codificado, la información de determinación indicando que el número de vectores de movimiento es mayor que el valor de limite superior.
21. El dispositivo de procesamiento de imagen de conformidad con la reivindicación 12, en donde la unidad de decodificación obtiene información de identificación de tamaño del flujo codificado, la información de identificación de tamaño identificando el tamaño de bloque de cada bloque que tiene un valor de límite superior establecido en el mismo .
22. Un método de procesamiento de imagen que comprende los pasos de: establecer el valor de límite superior del número de vectores de movimiento de conformidad con el tamaño de bloque de un bloque que es una unidad para que la decodificación se realice cuando un flujo codificado generado por la codificación de datos de imagen es decodificado; generar una imagen predicha al detectar, un modo de predicción cuando el número de véctores de movimiento del bloque es igual a o menor, que el valor de límite superior establecido, por la unidad de establecimiento, y realizar compensación de movimiento sobre una imagen de referencia con vectores de movimiento del modo de predicción detectado; y decodificar el flujo codificado con 'la imagen predicha generada. RESUMEN Una porción de establecimiento de limite de número de vectores de movimiento (35) de la presente invención establece, de acuerdo con el microbloque, un valor máximo para el número de vectores de movimiento. Una porción de predicción/compensación de movimiento (32) detecta el, modo de predicción óptimo, en donde el número de vectores de movimiento no excede el valor máximo, y genera una imagen predictiva después de compensar el movimiento de una imagen de referencia a través del uso del vector de movimiento del modo de predicción óptimo detectado. Al establecer, de acuerdo con el tamaño del microbloque, un valor máximo para el número de vectores de movimiento, es posible, cuando se usa un microbloque expandido, evitar disminución de la calidad de la imagen o similar, con el número de vectores de movimiento no estando limitado más de lo necesario.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010174706 | 2010-08-03 | ||
PCT/JP2011/066920 WO2012017858A1 (ja) | 2010-08-03 | 2011-07-26 | 画像処理装置と画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2013001034A true MX2013001034A (es) | 2013-03-08 |
Family
ID=45559361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2013001034A MX2013001034A (es) | 2010-08-03 | 2011-07-26 | Dispositivo de procesamiento de imagen y metodo de procesamiento de imagen. |
Country Status (11)
Country | Link |
---|---|
US (1) | US20130114727A1 (es) |
EP (1) | EP2603002A4 (es) |
JP (1) | JPWO2012017858A1 (es) |
KR (1) | KR20130102527A (es) |
CN (1) | CN103026710A (es) |
AU (1) | AU2011286922A1 (es) |
BR (1) | BR112013001948A2 (es) |
CA (1) | CA2804517A1 (es) |
MX (1) | MX2013001034A (es) |
RU (1) | RU2013103518A (es) |
WO (1) | WO2012017858A1 (es) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2900775T3 (es) | 2011-01-13 | 2022-03-18 | Nec Corp | Dispositivo de descodificación de vídeo, método de descodificación de vídeo y programa |
BR122015017257B1 (pt) * | 2011-01-13 | 2022-08-02 | Nec Corporation | Dispositivo de codificação de vídeo, dispositivo de decodificação de vídeo, método de codificação de vídeo e método de decodificação de vídeo |
TWI526056B (zh) | 2011-04-27 | 2016-03-11 | Jvc Kenwood Corp | A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program |
WO2012147344A1 (ja) | 2011-04-27 | 2012-11-01 | 株式会社Jvcケンウッド | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
CN107968945B (zh) * | 2011-09-14 | 2021-09-14 | 三星电子株式会社 | 对视频进行解码的方法和对视频进行编码的方法 |
US9544592B2 (en) * | 2012-02-10 | 2017-01-10 | Texas Instruments Incorporated | Methods and systems for encoding pictures associated with video data |
EP2870753B1 (en) * | 2012-07-04 | 2018-04-25 | Thomson Licensing | Spatial prediction with increased number of possible coding modes |
EP3579562B1 (en) | 2012-09-28 | 2021-09-08 | Sony Group Corporation | Image processing device and method |
US20150085915A1 (en) * | 2013-09-25 | 2015-03-26 | Jay C.-C. Kuo | Method and system for automatically encoding video with uniform throughput |
JP5979512B2 (ja) * | 2014-04-02 | 2016-08-24 | コニカミノルタ株式会社 | 画像形成装置及びフラッシュメモリの制御方法 |
CN104581173A (zh) * | 2015-01-13 | 2015-04-29 | 中国电子科技集团公司第三十二研究所 | 软解码验证模型平台 |
CN106375699A (zh) * | 2016-08-29 | 2017-02-01 | 合肥康胜达智能科技有限公司 | 一种高清网络摄像机 |
CN106254832A (zh) * | 2016-08-29 | 2016-12-21 | 合肥康胜达智能科技有限公司 | 一种闭路监控系统 |
CN106303450A (zh) * | 2016-08-29 | 2017-01-04 | 合肥康胜达智能科技有限公司 | 一种视频图像处理方法 |
CN106331626A (zh) * | 2016-08-29 | 2017-01-11 | 合肥康胜达智能科技有限公司 | 一种楼宇监控系统 |
CN106331629A (zh) * | 2016-08-29 | 2017-01-11 | 合肥康胜达智能科技有限公司 | 一种安全监控系统 |
CN110447227A (zh) * | 2017-03-10 | 2019-11-12 | 索尼公司 | 图像处理装置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100586882B1 (ko) * | 2004-04-13 | 2006-06-08 | 삼성전자주식회사 | 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치 |
CN100534193C (zh) * | 2004-08-04 | 2009-08-26 | 松下电器产业株式会社 | 图像解码装置 |
JP2008193410A (ja) * | 2007-02-05 | 2008-08-21 | Matsushita Electric Ind Co Ltd | 画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム |
JP4840440B2 (ja) * | 2008-12-24 | 2011-12-21 | ソニー株式会社 | 画像処理装置およびその方法、並びにプログラム |
-
2011
- 2011-07-26 US US13/809,419 patent/US20130114727A1/en not_active Abandoned
- 2011-07-26 MX MX2013001034A patent/MX2013001034A/es active IP Right Grant
- 2011-07-26 JP JP2012527668A patent/JPWO2012017858A1/ja not_active Abandoned
- 2011-07-26 AU AU2011286922A patent/AU2011286922A1/en not_active Abandoned
- 2011-07-26 WO PCT/JP2011/066920 patent/WO2012017858A1/ja active Application Filing
- 2011-07-26 BR BR112013001948A patent/BR112013001948A2/pt not_active IP Right Cessation
- 2011-07-26 KR KR1020137001925A patent/KR20130102527A/ko not_active Application Discontinuation
- 2011-07-26 RU RU2013103518/08A patent/RU2013103518A/ru not_active Application Discontinuation
- 2011-07-26 EP EP11814486.4A patent/EP2603002A4/en not_active Withdrawn
- 2011-07-26 CA CA2804517A patent/CA2804517A1/en not_active Abandoned
- 2011-07-26 CN CN2011800367316A patent/CN103026710A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2603002A1 (en) | 2013-06-12 |
BR112013001948A2 (pt) | 2018-05-15 |
JPWO2012017858A1 (ja) | 2013-10-03 |
RU2013103518A (ru) | 2014-07-27 |
WO2012017858A1 (ja) | 2012-02-09 |
CN103026710A (zh) | 2013-04-03 |
AU2011286922A2 (en) | 2013-02-14 |
EP2603002A4 (en) | 2014-12-31 |
CA2804517A1 (en) | 2012-02-09 |
US20130114727A1 (en) | 2013-05-09 |
KR20130102527A (ko) | 2013-09-17 |
AU2011286922A1 (en) | 2013-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6477939B2 (ja) | テレビジョン装置、携帯電話機、再生装置、カメラ、および画像処理方法 | |
MX2013001034A (es) | Dispositivo de procesamiento de imagen y metodo de procesamiento de imagen. | |
RU2719453C1 (ru) | Способ кодирования изображения и устройство обработки информации | |
WO2012063878A1 (ja) | 画像処理装置と画像処理方法 | |
JP2012238927A (ja) | 画像処理装置及び画像処理方法 | |
WO2012063604A1 (ja) | 画像処理装置と画像処理方法 | |
JP2013150164A (ja) | 符号化装置および符号化方法、並びに、復号装置および復号方法 | |
WO2012056924A1 (ja) | 画像処理装置と画像処理方法 | |
JP5387520B2 (ja) | 情報処理装置と情報処理方法 | |
US20130259134A1 (en) | Image decoding device and motion vector decoding method, and image encoding device and motion vector encoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |