MX2014003728A - Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes. - Google Patents

Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes.

Info

Publication number
MX2014003728A
MX2014003728A MX2014003728A MX2014003728A MX2014003728A MX 2014003728 A MX2014003728 A MX 2014003728A MX 2014003728 A MX2014003728 A MX 2014003728A MX 2014003728 A MX2014003728 A MX 2014003728A MX 2014003728 A MX2014003728 A MX 2014003728A
Authority
MX
Mexico
Prior art keywords
block
candidates
candidate
image
prediction
Prior art date
Application number
MX2014003728A
Other languages
English (en)
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Kyoko Tanikawa
Toru Matsunobu
Kengo Terada
Original Assignee
Panasonic Ip Corp America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Ip Corp America filed Critical Panasonic Ip Corp America
Publication of MX2014003728A publication Critical patent/MX2014003728A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

Un método de decodificación de imágenes incluye: dividir un bloque actual en sub-bloques; deducir, para cada sub-bloque, uno o más candidatos de información de predicción; obtener un índice; y decodificar el bloque actual utilizando el candidato de información de predicción seleccionado utilizando el índice obtenido. La deducción incluye: determinar si un bloque adyacente que es colindante con cada bloque está incluido en el bloque actual y cuando no está incluido en el bloque actual, determinar que el bloque adyacente es un bloque de referencia aludible por el sub-bloque y cuando está incluido en el bloque actual, determinar que el bloque adyacente no es el bloque de referencia; y deducir un candidato de información de predicción del sub-bloque a partir de la información de predicción del bloque de referencia; y cuando el número de candidatos de información de predicción es más pequeño que un número predeterminado, generar uno o más candidatos nuevos sin utilizar la información de predicción del bloque de referencia hasta que el número de candidatos de información de predicción alcance el número predeterminado.

Description

METODO DE CODIFICACION DE IMAGENES, APARATO DE CODIFICACION DE IMAGENES, METODO DE DECODIFICACION DE IMAGENES, APARATO DE DECODIFICACION DE IMAGENES Y APARATO DE CODIFICACION/DECODIFICACION DE IMAGENES Campo de la Invención La presente invención se refiere a un método de decodificación de imágenes.
Antecedentes de la Invención Generalmente, en el procesamiento de codificación de una imagen en movimiento, la cantidad de información se reduce mediante la compresión para la cual se hace uso de la redundancia de una imagen en movimiento en la dirección espacial y la dirección temporal. Generalmente, la conversión a un dominio de frecuencia se realiza como un método en el cual se hace uso de la redundancia en la dirección espacial y la codificación utilizando la predicción entre imágenes (la predicción es referida en lo sucesivo como inter-predicción) se realiza como un método de compresión para el cual se hace uso de la redundancia en la dirección temporal. En la codificación de inter-predicción, una imagen actual se codifica utilizando, como imagen de referencia, una imagen codificada la cual precede o sigue a la imagen actual en orden de tiempo de exhibición. Subsecuentemente, un vector de movimiento se deduce al realizar la estimación de movimiento Ref. 247311 en la imagen actual con referencia a la imagen de referencia. Luego, la redundancia en la dirección temporal se elimina utilizando una diferencia calculada entre datos de imagen de la imagen actual y datos de imagen de predicción los cuales se obtienen mediante la compensación de movimiento basada en el vector de movimiento deducido (véase la NPL 1, por ejemplo) . En este documento, en la estimación de movimiento, los valores de diferencia entre bloques actuales en la imagen actual y bloques en la imagen de referencia se calculan y un bloque que tiene el valor de diferencia más pequeño en la imagen de referencia se determina como un bloque de referencia. Luego, un vector de movimiento se estima a partir del bloque actual y el bloque de referencia.
Lista de Referencias Bibliografía que no es Patente [NPL 1] ITU-T Recommendation H.264 "Advanced video coding for generic audiovisual services", Marzo de 2010 [NPL 2] JCT-VC, "WD3 : Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, Marzo de 2011 Breve Descripción de la Invención Problema Técnico Aún es deseable incrementar la eficiencia de codificación en la codificación y decodificación de imágenes en las cuales se utiliza la inter-predicción, más allá de la técnica convencional descrita anteriormente.
En vista de esto, el objetivo de la presente invención es proporcionar un método de codificación de imágenes y un método de decodificación de imágenes con los cuales se incrementa la eficiencia de codificación en la codificación de imágenes y la decodificación de imágenes utilizando la inter-predicción.
Solución al Problema Un método de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes para decodificar, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada. El método incluye: dividir un bloque actual que es una unidad de decodificación en una pluralidad de sub-bloques cada uno de los cuales es una unidad de predicción; deducir, para cada uno de la pluralidad de sub-bloques, uno o más candidatos de información de predicción cada uno de los cuales es un candidato para información de predicción que indica una lista de imágenes de referencia, un vector de movimiento y un índice de imagen de referencia; obtener, de la corriente de bits codificada, un índice para seleccionar un candidato de información de predicción de entre uno o más de los candidatos de información de predicción; y decodificar el bloque actual utilizando el candidato de información de predicción seleccionado utilizando el índice obtenido. La deducción incluye: determinar si un bloque adyacente que es colindante con cada uno de la pluralidad de sub-bloques está incluido en el bloque actual, y cuando se determina que el bloque adyacente no está incluido en el bloque actual, determinar que el bloque adyacente es un bloque de referencia aludible por el sub-bloque y cuando se determina que el bloque adyacente está incluido en el bloque actual, determinar el bloque adyacente que no es el bloque de referencia; y deducir un candidato de información de predicción del sub-bloque de la información de predicción del bloque de referencia; y cuando un número total de los candidatos de información de predicción es más pequeño que un número predeterminado, generar uno o más nuevos candidatos sin utilizar la información de predicción del bloque de referencia hasta que el número total de candidatos de información de predicción alcance el número predeterminado.
Efectos Ventajosos de la Invención De acuerdo con un aspecto de la presente invención, la eficiencia de codificación en la codificación y decodificación de imágenes utilizando la inter-predicción se puede incrementar.
Breve Descripción de las Figuras La FIGURA 1A es un diagrama para ilustrar una lista de imágenes de referencia ejemplar para una imagen B; La FIGURA IB es un diagrama para ilustrar una lista de imágenes de referencia ejemplar de una dirección de predicción O para una imagen B.
La FIGURA 1C es un diagrama para ilustrar una lista de imágenes de referencia ejemplar de una dirección de predicción 1 para una imagen B.
La FIGURA 2 es un diagrama para ilustrar vectores de movimiento para el uso en el modo de predicción de vectores de movimiento temporales.
La FIGURA 3 muestra vectores de movimiento ejemplares de bloques adyacentes para el uso en el modo de fusión .
La FIGURA 4 es un diagrama para ilustrar una lista de candidatos de bloques fusión ejemplar.
La FIGURA 5 muestra una relación entre el tamaño de una lista de candidatos de bloques de fusión y secuencias de bits asignadas a los índices de candidatos de bloques de fusión .
La FIGURA 6 es un diagrama de flujo que muestra un ejemplo de un proceso para la codificación cuando se utiliza el modo de fusión.
La FIGURA 7 muestra una configuración ejemplar de un aparato de codificación de imágenes el cual codifica imágenes utilizando el modo de fusión.
La FIGURA 8 es un diagrama de flujo que muestra un ejemplo de un proceso para la decodificación utilizando el modo de fusión.
La FIGURA 9 muestra una configuración ejemplar de un aparato de decodificación de imágenes el cual decodifica imágenes codificadas utilizando el modo de fusión.
La FIGURA 10 muestra una sintaxis para la unión de índices de candidatos de bloques de fusión a una corriente de bits .
La FIGURA 11 muestra una relación entre una unidad de bloque de codificación y unidades de bloques de predicción (particiones) .
La FIGURA 12 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes de acuerdo con la Modalidad 1 ; La FIGURA 13 es un diagrama de flujo que muestra operaciones de procesamiento del aparato de codificación de imágenes de acuerdo con la Modalidad 1.
Las FIGURAS 14A y 14B muestran una lista de candidatos de bloques de fusión ejemplar de acuerdo con la Modalidad 1.
La FIGURA 14C muestra otra lista de candidatos de bloques de fusión ejemplar de acuerdo con la Modalidad 1.
La FIGURA 14D muestra otra lista de candidatos de bloques de fusión ejemplar de acuerdo con la Modalidad 1.
La FIGURA 14E muestra otra lista de candidatos de bloques de fusión ejemplar de acuerdo con la Modalidad 1.
La FIGURA 15 es un diagrama de flujo que ilustra un proceso para calcular candidatos de bloques de fusión y el tamaño de una lista de candidatos de bloques de fusión de acuerdo con la Modalidad 1.
La FIGURA 16 es un diagrama de flujo que ilustra una operación para calcular un número total de candidatos que se pueden utilizar para la fusión de acuerdo con la Modalidad 1.
La FIGURA 17 es un diagrama de flujo que ilustra una operación para determinar un bloque objetivo sin fusión de acuerdo con la Modalidad 1.
La FIGURA 18 muestra una relación entre una unidad de bloque de codificación y unidades de bloques de predicción de acuerdo con la Modalidad 1.
La FIGURA 19 es un diagrama de flujo que ilustra un proceso para agregar un nuevo candidato de acuerdo con la Modalidad 1.
La FIGURA 20 es un diagrama de flujo que ilustra un proceso para seleccionar un candidato de bloque de fusión de acuerdo con la Modalidad 1.
La FIGURA 21 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes de acuerdo con la Modalidad 2.
La FIGURA 22 es un diagrama de flujo que muestra operaciones de procesamiento del aparato de decodificación de imágenes de acuerdo con la Modalidad 2.
La FIGURA 23 es un diagrama de flujo que ilustra un proceso para establecer el tamaño de una lista de candidatos de bloques de fusión de acuerdo con la Modalidad 2.
La FIGURA 24 es un diagrama de flujo que ilustra un proceso para calcular un candidato de bloque de fusión de acuerdo con la Modalidad 2.
La FIGURA 25 muestra una sintaxis ejemplar para la unión de índices de candidatos de bloques de fusión a una corriente de bits.
La FIGURA 26 muestra una sintaxis ejemplar en el caso donde el tamaño de una lista de candidatos de bloques de fusión se fija al valor máximo del número total de candidatos de bloques de fusión.
La FIGURA 27 muestra una configuración completa de un sistema de provisión de contenido para implementar servicios de distribución de contenido; La FIGURA 28 muestra una configuración completa de un sistema de difusión digital.
La FIGURA 29 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión.
La FIGURA 30 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproduceión/grabación de información que lee y escribe información de y en un medio de grabación que es un disco óptico.
La FIGURA 31 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
La FIGURA 32A muestra un ejemplo de un teléfono celular.
La FIGURA 32B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
La FIGURA 33 ilustra una estructura de datos multiplexados .
La FIGURA 34 muestra esquemáticamente como cada corriente es multiplexada en datos multiplexados.
La FIGURA 35 muestra con mayor detalle como una corriente de video se almacena en una corriente de paquetes PES.
La FIGURA 36 muestra una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
La FIGURA 37 muestra una estructura de datos de una PMT.
La FIGURA 38 muestra una estructura interna de información de datos multiplexados.
La FIGURA 39 muestra una estructura interna de información de atributos de corriente.
La FIGURA 40 muestra pasos para identificar datos de video.
La FIGURA 41 muestra un ejemplo de una configuración de un circuito integrado para implementar el método de codificación de imágenes en movimiento de acuerdo con cada una de las modalidades.
La FIGURA 42 muestra una configuración para conmutar entre frecuencias impulsoras.
La FIGURA 43 muestra pasos para identificar datos de video y conmutar entre frecuencias impulsoras.
La FIGURA 44 muestra un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con las frecuencias impulsoras.
La FIGURA 5A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
La FIGURA 45B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
Descripción Detallada de la Invención (Conocimiento Fundamental que Forma la Base de la Presente Invención) En un esquema de codificación de imágenes en movimiento ya estandarizado, el cual es referido como H.264, tres tipos de imágenes de imagen I, imagen P e imagen B se utilizan para la reducción de la cantidad de información mediante la compresión.
La imagen I no se codifica mediante la codificación de inter-predicción. Específicamente, la imagen I se codifica mediante la predicción dentro de la imagen (la predicción es referida en lo sucesivo como intra-predicción) . La imagen P se codifica mediante la codificación de inter-predicción con referencia a una imagen codificada que precede o que sigue a la imagen actual en el orden de tiempo de exhibición. La imagen B se codifica mediante la codificación de inter-predicción con referencia a dos imágenes codificadas que preceden y que siguen a la imagen actual en el orden del tiempo de exhibición.
En la codificación de inter-predicción, se genera una lista de imágenes de referencia para identificar una imagen de referencia. En una lista de imágenes de referencia, los índices de imágenes de referencia se asignan a imágenes de referencia codificadas que son referidas en la inter-predicción. Por ejemplo, dos listas de imágenes de referencia (LO, Ll) se generan para una imagen B debido a que se pueden codificar con referencia a dos imágenes.
La FIGURA 1A es un diagrama para ilustrar una lista de imágenes de referencia ejemplar para una imagen B. La FIGURA IB muestra una lista de imágenes de referencia ejemplar 0 (LO) para una dirección de predicción 0 en la predicción bidireccional . En la lista de imágenes de referencia 0, el índice de imagen de referencia 0 que tiene un valor de 0 se asigna a una imagen de referencia 0 con un número de orden de exhibición 2. El índice de imagen de referencia 0 que tiene un valor de 1 se asigna a una imagen de referencia 1 con un número de orden de exhibición 1. El índice de imagen de referencia 0 que tiene un valor de 2 se asigna a una imagen de referencia 2 con un número de orden de exhibición 0. En otras palabras, mientras más corta sea la distancia temporal de una imagen de referencia de la imagen actual, más pequeño será el índice de imagen de referencia asignado a la imagen de referencia.
Por otra parte, la FIGURA 1C muestra una lista de imágenes de referencia ejemplar 1 (Ll) para una dirección de predicción 1 en la predicción bidireccional . En la lista de imágenes de referencia 1, el índice de imagen de referencia 1 que tiene un valor de 0 se asigna a una imagen de referencia 1 con un número de orden de exhibición 1. El índice de imagen de referencia 1 que tiene un valor de 1 se asigna a una imagen de referencia 0 con un número de orden de exhibición 2. El índice de imagen de referencia 2 que tiene un valor de 2 se asigna a una imagen de referencia 2 con un número de orden de exhibición 0.
De esta manera, es posible asignar índices de imágenes de referencia que tienen valores diferentes entre direcciones de predicción a una imagen de referencia (las imágenes de referencia 0 y 1 mostradas en la FIGURA 1A) o asignar el índice de imagen de referencia que tiene el mismo valor para ambas direcciones a una imagen de referencia (la imagen de referencia 2 mostrada en la FIGURA 1A) .
En un método de codificación de imágenes en movimiento referido como H.264 (véase la NPL 1) , un modo de estimación de vectores de movimiento está disponible como un modo de codificación para la inter-predicción de cada bloque actual en una imagen B. En el modo de estimación de vectores de movimiento, se codifican un valor de diferencia entre datos de imagen de un bloque actual y datos de imagen de predicción y un vector de movimiento utilizado para generar los datos de imagen de predicción. Además, en el modo de estimación de vectores de movimiento, la predicción bidireccional y la predicción unidireccional se pueden realizar selectivamente. En la predicción bidireccional, una imagen de predicción se genera con referencia a dos imágenes codificadas una de las cuales precede a una imagen actual que es codificada y la otra de las cuales sigue a la imagen actual. En la predicción unidireccional, una imagen de predicción se genera con referencia a una imagen codificada que precede o que sigue una imagen actual que es codificada.
Adicionalmente, en el método de codificación de imágenes en movimiento referido como H.264, un modo de codificación referido como modo de predicción de vectores de movimiento temporales se puede seleccionar para la deducción de un vector de movimiento en la codificación de una imagen B. El método de codificación de inter-predicción realizado en el modo de predicción de vectores de movimiento temporales se describirá a continuación utilizando la FIGURA 2.
La FIGURA 2 es un diagrama para ilustrar vectores de movimiento para el uso en el modo de predicción de vectores de movimiento temporales. Específicamente, la FIGURA 2 muestra un caso donde un bloque a en una imagen B2 se codifica en el modo de predicción de vectores de movimiento temporales .
En la codificación, se utiliza un vector de movimiento vb el cual ha sido utilizado en la codificación de un bloque b localizado en la misma posición en una imagen P3 , la cual es una imagen de referencia que sigue a la imagen B2, como la posición del bloque a en la imagen B2 (en el caso, el bloque b es referido en lo sucesivo como un bloque colocalizado del bloque a) . El vector de movimiento vb es un vector de movimiento utilizado en la codificación del bloque b con referencia a la imagen Pl .
Dos bloques de referencia para el bloque a se obtienen a partir de una imagen de referencia hacia adelante y una imagen de referencia hacia atrás, es decir, una imagen Pl y una imagen P3 utilizando vectores de movimiento paralelo al vector de movimiento vb. Luego, el bloque a se codifica mediante la predicción bidireccional con base en los dos bloques de referencia obtenidos. Específicamente, en la codificación del bloque a, un vector de movimiento val se utiliza para hacer referencia a la imagen Pl y un vector de movimiento va2 se utiliza para hacer referencia a la imagen P3.
Además, se plantea un modo de fusión como un modo de inter-predicción para la codificación de cada bloque actual en una imagen B o una imagen P (véase la NPL 2) . En el modo de fusión, un bloque actual se codifica utilizando una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales son duplicaciones de aquellos utilizados en la codificación de un bloque adyacente del bloque actual. En este momento, las duplicaciones del índice y otros del bloque adyacente se unen a una corriente de bits de modo que la dirección del movimiento, el vector de movimiento y el índice de imagen de referencia utilizados en la codificación se pueden seleccionar en la decodificación. Un ejemplo concreto para esto se proporciona posteriormente con referencia a la FIGURA 3.
La FIGURA 3 muestra vectores de movimiento ejemplares de bloques adyacentes para el uso en el modo de fusión. En la FIGURA 3, un bloque adyacente A es un bloque codificado que está localizado inmediatamente a la izquierda de un bloque actual . Los bordes de fondo del bloque adyacente A y el bloque objetivo de predicción están a lo largo de la misma línea. Un bloque adyacente B es un bloque codificado que está localizado inmediatamente arriba del bloque actual. Los bordes derechos del bloque adyacente B y el bloque objetivo de predicción están a lo largo de la misma línea. Un bloque adyacente C es un bloque codificado que está localizado inmediatamente a la derecha arriba del bloque actual. Un bloque adyacente D es un bloque codificado que está localizado inmediatamente a la izquierda debajo del bloque actual. El bloque adyacente E es un bloque codificado que está localizado inmediatamente a la izquierda arriba del bloque objetivo de predicción.
En este documento, se proporciona una descripción del caso donde un bloque actual se codifica utilizando duplicaciones de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia utilizadas para codificar uno de los bloques adyacentes A a D y el bloque co-localizado.
El bloque adyacente A es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 0. El bloque adyacente A tiene un vector de movimiento MvL0_A que tiene la dirección de predicción 0 como un vector de movimiento con respecto a una imagen de referencia indicada por un índice de imagen de referencia RefL0_A de la dirección de predicción 0. En este documento, MvLO indica un vector de movimiento el cual hace referencia a una imagen de referencia especificada en una lista de imágenes de referencia O (LO) . MvLl indica un vector de movimiento el cual hace referencia a una imagen de referencia especificada en una lista de imágenes de referencia 1 (Ll) .
El bloque adyacente B es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 1. El bloque adyacente B tiene un vector de movimiento MvLl_B que tiene la dirección de predicción 1 como un vector de movimiento con respecto a una imagen de referencia indicada por un índice de imagen de referencia RefLl_B de la dirección de predicción 1.
El bloque adyacente C es un bloque codificado mediante la intra-predicción .
El bloque adyacente D es un bloque codificado mediante la predicción unidireccional en la dirección de predicción 0. El bloque adyacente D tiene un vector de movimiento MvL0_D que tiene la dirección de predicción 0 como vector de movimiento con respecto a una imagen de referencia indicada por un índice de imagen de referencia RefL0_D de la dirección de predicción 0.
En este caso, por ejemplo, un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia con los cuales el bloque actual se puede codificar con la eficiencia de codificación más alta se selecciona como una dirección de predicción, un vector de movimiento y un índice de imagen de referencia del bloque actual de las direcciones de predicción, vectores de movimiento e índices de imágenes de referencia de los bloques adyacentes A a D, y una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales se calculan utilizando un bloque co-localizado en el modo de predicción de vectores de movimiento temporales. Luego, un índice de candidato de bloque de fusión que indica el bloque que tiene la dirección de predicción, un vector de movimiento y un índice de imagen de referencia se une a una corriente de bits.
Por ejemplo, cuando se selecciona el bloque adyacente A, el bloque actual se codifica utilizando el vector de movimiento MvL0_A que tiene la dirección de predicción 0 y el índice de imagen de referencia RefL0_A. Luego, solo el índice de candidato de bloque de fusión que tiene un valor de 0 el cual indica el uso del bloque adyacente A como se muestra en la FIGURA 4 se une a una corriente de bits. La cantidad de información en una dirección de predicción, un vector de movimiento y un índice de imagen de referencia se reduce en consecuencia.
Adicionalmente , en el modo de fusión, un candidato el cual no se puede utilizar para la codificación (referido en lo sucesivo como un candidato no utilizable para la fusión) y un candidato que tiene un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia idéntico a un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia de cualquier otro bloque de fusión (referido en lo sucesivo como un candidato idéntico) se eliminan de los candidatos de bloques de fusión como se muestra en la FIGURA 4.
De esta manera, el número total de candidatos de bloques de fusión se reduce de modo que la cantidad de código asignado a los índices de candidatos de bloques de fusión se puede reducir. En este documento, por ejemplo, "no utilizable para la fusión" significa (1) que el candidato de bloque de fusión ha sido codificado mediante la intra-predicción, (2) que el candidato de bloque de fusión está fuera del límite de un corte que incluye el bloque actual o el límite de una imagen que incluye el bloque actual o (3) que el candidato de bloque de fusión todavía tiene que ser codificado.
En el ejemplo mostrado en la FIGURA 4, el bloque adyacente C es un bloque codificado mediante la intra-predicción. Por lo tanto, el candidato de bloque de fusión que tiene el índice de candidato de bloque de fusión 3 es un candidato no utilizable para la fusión y se elimina de la lista de candidatos de bloques de fusión. El bloque adyacente D es idéntico en la dirección de predicción, el vector de movimiento y el índice de imagen de referencia al bloque adyacente A. Por lo tanto, el candidato de bloque de fusión que tiene el índice de candidato de bloque de fusión 4 se elimina de la lista de candidatos de bloques de fusión. Como resultado, el número total de los candidatos de bloques de fusión es finalmente tres y el tamaño de la lista de candidatos de bloques de fusión se establece a tres.
Los índices de candidatos de bloques de fusión se codifican mediante la codificación de longitud variable al asignar secuencias de bits de acuerdo con el tamaño de cada lista de candidatos de bloques de fusión como se muestra en la FIGURA 5. De esta manera, en el modo de fusión, la cantidad de código se reduce al cambiar las secuencias de bits asignadas a índices de modo de fusión de acuerdo con el tamaño de cada lista de candidatos de bloques de fusión.
La FIGURA 6 es un diagrama de flujo que muestra un ejemplo de un proceso para la codificación cuando se utiliza el modo de fusión. En el Paso S1001, los vectores de movimiento, los índices de imágenes de referencia y las direcciones de predicción de los candidatos de bloques de fusión se obtienen a partir de bloques adyacentes y un bloque co-localizado . En el Paso S1002, los candidatos idénticos y los candidatos no utilizables para la fusión se eliminan de los candidatos de bloques de fusión. En el Paso S1003, el número total de los candidatos de bloques se fusión después de la eliminación se establece como el tamaño de la lista de candidatos de bloques de fusión. En el Paso S1004, el índice de candidato de bloque de fusión que se utiliza en la codificación del bloque actual se determina. En el Paso S1005, el índice de candidato de bloque de fusión determinado se codifica al realizar la codificación de longitud variable en la secuencia de bits de acuerdo con el tamaño de la lista de candidatos de bloques de fusión.
La FIGURA 7 muestra una configuración ejemplar de un aparato de codificación de imágenes 1000 el cual codifica imágenes utilizando el modo de fusión. El aparato de codificación de imágenes 1000 incluye un sustractor 1001, una unidad de transformación ortogonal 1002, una unidad de cuantificación 1003, una unidad de cuantificación inversa 1004, una unidad de transformación ortogonal inversa 1005, un sumador 1006, una memoria de bloques 1007, una memoria de tramas 1008, una unidad de intra-predicción 1009, una unidad de inter-predicción 1010, una unidad de control de inter-predicción 1011, una unidad de determinación de tipo de imagen 1012, un conmutador 1013, una unidad de cálculo de candidatos de bloques de fusión 1014, una memoria de colPic 1015 y una unidad de codificación de longitud variable 1016.
En la FIGURA 7, la unidad de cálculo de candidatos de bloques de fusión 1014 calcula los candidatos de bloques de fusión. Luego, la unidad de cálculo de candidatos de bloques de fusión 1014 transmite el número total de los candidatos de bloques de fusión calculados a la unidad de codificación de longitud variable 1016. La unidad de codificación de longitud variable 1016 establece el número total de los candidatos de bloques de fusión como el tamaño de la lista de candidatos de bloques de fusión la cual es un parámetro de codificación. Luego, la unidad de codificación de longitud variable 1016 realiza una codificación de longitud variable en una secuencia de bits al asignar una secuencia de bits de acuerdo con el tamaño de la lista de candidatos de bloques de fusión a un índice de candidato de bloque de fusión que se utiliza para la codificación.
La FIGURA 8 es un diagrama de flujo que muestra un ejemplo de un proceso para la decodificación utilizando el modo de fusión. En el Paso S2001, los vectores de movimiento, los índices de imágenes de referencia y las direcciones de predicción de candidatos de bloques de fusión se obtienen de bloques adyacentes y un bloque co-localizado. En el Paso S2002, los candidatos idénticos y los candidatos no utilizables para la fusión se eliminan de los candidatos de bloques de fusión. En el Paso S2003, el número total de candidatos de bloques de fusión después de la eliminación se establece como el tamaño de la lista de candidatos de bloques de fusión. En el Paso S2004, el índice de candidato de bloque de fusión que se utiliza en la decodificación de un bloque actual se decodifica de una corriente de bits utilizando el tamaño de la lista de candidatos de bloques de fusión. En el Paso S2005, la decodificación de un bloque actual se realiza al generar una imagen de predicción utilizando el candidato de bloque de fusión indicado por el índice de candidato de bloque de fusión decodificado .
La FIGURA 9 muestra una configuración ejemplar de un aparato de decodificación de imágenes 2000 el cual decodifica imágenes codificadas utilizando el modo de fusión. El aparato de decodificación de imágenes 2000 incluye una unidad de decodificación de longitud variable 2001, una unidad de cuantificación inversa 2002, una unidad de transformación ortogonal inversa 2003, un sumador 2004, una memoria de bloques 2005, una memoria de tramas 2006, una unidad de intra-predicción 2007, una unidad de inter-predicción 2008, una unidad de control de inter-predicción 2009, un conmutador 2010, una unidad de cálculo de candidatos de bloques de fusión 2011 y una memoria de colPic 2012.
En la FIGURA 9, la unidad de cálculo de candidatos de bloques de fusión 2011 calcula los candidatos de bloques de fusión. Luego, la unidad de cálculo de candidatos de bloques de fusión 2011 transmite el número total calculado de los candidatos de bloques de fusión a la unidad de decodificación de longitud variable 2001. La unidad de decodificación de longitud variable 2001 establece el número total de los candidatos de bloques de fusión como el tamaño de la lista de candidatos de bloques de fusión la cual es un parámetro de decodificación. Luego, la unidad de decodificación de longitud variable 2001 decodifica un índice de candidato de bloque de fusión de la corriente de bits utilizando el tamaño de la lista de candidatos de bloques de fusión.
La FIGURA 10 muestra una sintaxis para la unión de índices de candidatos de bloques de fusión a una corriente de bits. En la FIGURA 10, merge_idx representa un índice de candidato de bloque de fusión y merge_flag representa un indicador de fusión. Num ergeCand representa el tamaño de una lista de candidatos de bloques de fusión. NumMergeCand se establece en el número total de candidatos de bloques de fusión después de que los candidatos no utilizables para la fusión y los candidatos idénticos se eliminan de los candidatos de bloques de fusión.
La codificación o decodificación de una imagen se realiza utilizando el modo de fusión de la manera descrita anteriormente .
En el esquema de codificación de imágenes en movimiento planteado en la NPL 2, se asume que una imagen de predicción se genera en una base por bloque de codificación (en lo sucesivo, referida como una unidad de codificación (CU) ) , es decir, una CU tiene el mismo tamaño que una unidad de bloque de predicción (en lo sucesivo, referida como PU) la cual es una unidad para generar una imagen de predicción.
Sin embargo, la imagen de predicción se puede generar en una base por PU donde cada PU se obtiene al dividir una CU. La generación de la imagen de predicción en una base por PU permite la generación de una imagen de predicción de definición más alta.
La FIGURA 11 muestra casos ejemplares donde una CU que tiene un tamaño de 2N x 2N (N es un número entero) se divide en una pluralidad de PUs .
Más específicamente, en las FIGURAS 11(a) a 11(c) se muestran casos donde una CU se divide en dos que son una porción superior y una porción inferior. Una PUO localizada sobre la parte superior es referida como una partición 0 y una PUl localizada en el fondo es referida como una partición 1. En la FIGURA 11(a) se muestra el caso donde cada PU tiene un tamaño de 2N x N. En la FIGURA 11(b) se muestra el caso donde cada PU tiene un tamaño de 2N x nU. En la FIGURA 11(c) se muestra el caso donde cada PU tiene un tamaño de 2N x nD.
En las FIGURAS 11(d) a 11(f) se muestran casos donde una CU se divide en dos que son una porción izquierda y una porción derecha. Una PUO localizada en el lado izquierdo es referida como una partición 0 y una PUl localizada en el lado derecho es referida como una partición 1. En la FIGURA 11(d) se muestra el caso donde cada PU tiene un tamaño de N x 2N. En la FIGURA 11(e) se muestra el caso donde cada PU tiene un tamaño de nL x 2N. En la FIGURA 11(f) se muestra el caso donde cada PU tiene un tamaño de nR x 2N.
En la FIGURA 11 (g) se muestra el caso donde cada PU tiene un tamaño de N x N, es decir, una CU se divide en cuatro (se divide en dos que son las porciones superior e inferior y en dos que son las porciones izquierda y derecha) . En la FIGURA 11(g), una PUO superior- izquierda es referida como una partición 0, una PU1 superior derecha es referida como una partición 1, una PU2 del fondo-izquierda es referida como una partición 2 y una PU3 del fondo-derecha es referida como una partición 3.
En la FIGURA 11 (h) se muestra el caso donde una PU tiene un tamaño de 2N x 2N, es decir, la CU tiene el mismo tamaño que la PU. En la FIGURA 11(h), una PUO es referida como una partición 0.
Por ejemplo, en la codificación en una base por PU donde la PU se obtiene al dividir una CU como se describiera anteriormente, se establece de tal manera que las particiones respectivas tengan diferentes direcciones de predicción, vectores de movimiento e índices de imagen de referencia que se utilizan para generar una imagen de predicción. Esto es debido a que el uso de la misma dirección de predicción, vector de movimiento e índice de imagen de referencia para todas las particiones conduce a sustancialmente el mismo resultado que aquel obtenido al generar una imagen de predicción en una base por CU. Esto reduce la ventaja obtenida al dividir una CU en PUs. En la codificación en una base por PU, cuando una imagen de predicción se calcula al generar vectores de movimiento y similares y se obtiene una residual de predicción, es posible codificar eficientemente imágenes en movimiento que tienen formas complejas al utilizar selectivamente vectores de movimiento y similares utilizados para generar una imagen de predicción de entre una pluralidad de PUs mostradas en las FIGURAS 11(a) hasta 11(h).
Sin embargo, en el modo de fusión convencional, en la generación de una imagen de predicción al dividir una CU en particiones, los candidatos de bloques de fusión se calculan incluso para bloques adyacentes dentro de la misma CU. Como se describiera anteriormente, no es preferible aplicar el mismo vector de movimiento y similares a las PUs dentro de la misma CU. Por lo tanto, los candidatos de bloques de fusión obtenidos a partir de los vectores de movimiento y similares de los bloques adyacentes dentro de la misma CU son redundantes. De esta manera, en el modo de fusión convencional, los candidatos de bloques de fusión se obtienen incluso para bloques adyacentes dentro de la misma CU. Por lo tanto, los índices de candidatos de bloques de fusión también se asignan a los candidatos de bloques de fusión redundantes, de modo que la cantidad de bits se incrementa .
En vista de esto, un método de codificación de imágenes de acuerdo con un aspecto de la presente invención es un método de codificación de imágenes para generar una corriente de bits al codificar una imagen en una base de bloque por bloque. El método incluye: dividir un bloque actual que es codificado en una pluralidad de sub-bloques; obtener, para cada uno de los sub-bloques, uno o más candidatos de fusión cada uno de los cuales es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia a los cuales se debe hacer referencia en la codificación del bloque actual; seleccionar un candidato de fusión que se utiliza en la codificación del bloque actual, de entre uno o más de los candidatos de fusión obtenidos en la obtención; y agregar, a la corriente de bits, un índice para identificar el candidato de fusión seleccionado en la selección. La obtención incluye: determinar (i) para cada uno de los bloques adyacentes que son colindantes al sub-bloque, si el bloque adyacente está incluido o no en el bloque actual y (ii) el bloque adyacentes el cual no está incluido en el bloque actual que es un bloque objetivo de fusión; y cuando se determinan uno o más de los bloques objetivo de fusión, deducir un primer candidato como parte de uno o más de los candidatos de fusión para cada uno de uno o más de los bloques objetivo de fusión, utilizando un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales han sido utilizados para generar una imagen de predicción del bloque objetivo de fusión.
Con el método de codificación de imágenes, en la generación de una imagen de predicción al dividir una CU en particiones (PUs) , se determina si un bloque adyacente para el cual se calculan candidatos de bloques de fusión está localizado o no dentro de la misma CU. Cuando se determina que el bloque adyacentes está localizado dentro de la misma CU, el bloque adyacente se excluye del cálculo de los candidatos de bloques de fusión. Con esto, los candidatos de bloques de fusión redundantes no se agregan a la lista de candidatos de bloques de fusión en el método de codificación de imágenes anterior, de modo que la eficiencia de codificación se puede incrementar.
Por ejemplo, puede ser que la determinación incluya además: determinar si el bloque adyacente es o no (i) un bloque codificado mediante la intra-predicción, está o no (ii) fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y es o no (iii) un bloque todavía a ser codificado; y cuando se determina que el bloque adyacente (1) no está incluido en el bloque actual, (2) no es un bloque codificado mediante la intra-predicción, (3) no es un bloque que está fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y (4) no es un bloque todavía a ser codificado, determinar el bloque adyacente que es el bloque objetivo de fusión.
Adicionalmente, por ejemplo, puede ser que el método de codificación de imágenes incluya además determinar un número máximo de candidatos de fusión obtenibles, en donde la obtención incluya además determinar si un número total de los primeros candidatos es o no más pequeño que el número máximo y cuando se determina que el número total de los primeros candidatos es más pequeño que el número máximo, deducir un nuevo candidato que tiene un índice de imagen para una imagen aludible en la codificación del sub-bloque.
Adicionalmente, por ejemplo, puede ser que el método de codificación de imágenes incluya además generar una imagen de predicción del sub-bloque, utilizando el candidato de fusión seleccionado en la selección.
Adicionalmente, un método de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un método de decodificación de imágenes para decodificar, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada. El método incluye: dividir un bloque actual que es codificado en una pluralidad de sub-bloques; obtener, para cada uno de los sub-bloques, uno o más candidatos de fusión cada uno de los cuales es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales deben ser referidos en la decodificación del bloque actual; obtener, de la corriente de bits codificada, un índice para identificar un candidato de fusión que es referido en la decodificación del bloque actual; e identificar el candidato de fusión utilizando el índice obtenido y decodificar el bloque actual utilizando el candidato de fusión identificado, en donde la obtención de uno o más de los candidatos de fusión incluye: determinar (i) para cada uno de los bloques adyacentes que son colindantes al sub-bloque, si el bloque adyacente está incluido o no en el bloque actual y (ii) el bloque adyacente el cual no está incluido en el bloque actual que es un bloque objetivo de fusión; y cuando se determinan uno o más de los bloques objetivo de fusión, deducir un primer candidato como parte de uno o más de los candidatos de fusión para cada uno de uno o más de los bloques objetivo de fusión, utilizando un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales han sido utilizados para generar una imagen de predicción del bloque objetivo de fusión.
Por ejemplo, puede ser que la determinación incluya además: determinar si el bloque adyacente es o no (i) un bloque codificado mediante la intra-predicción, (ii) un bloque fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y es o no (iii) un bloque todavía a ser codificado; y cuando se determina que el bloque adyacente (1) no está incluido en el bloque actual, (2) no es un bloque decodificado mediante la intra-predicción, (3) no es un bloque que esta fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y (4) no es un bloque todavía a ser codificado, determinar el bloque adyacente que es el bloque objetivo de fusión.
Adicionalmente, por ejemplo, puede ser que el método de decodificación de imágenes incluya además determinar un número máximo de candidatos de fusión obtenibles. La obtención de uno o más candidatos de fusión incluye además: determinar si un número total de los primeros candidatos es o no más pequeño que el número máximo y cuando se determina que el número total de los primeros candidatos es más pequeño que el número máximo, deducir un nuevo candidato que tiene un índice de imagen para una imagen aludible en la decodificación del sub-bloque.
Adicionalmente, por ejemplo, puede ser que el método de codificación de imágenes incluya además generar una imagen de predicción del sub-bloque, utilizando el candidato de fusión seleccionado en la selección.
Adicionalmente, un aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de codificación de imágenes el cual genera una corriente de bits mediante la codificación de una imagen en una base de bloque por bloque. El aparato incluye: una primera unidad de división la cual divide un bloque actual que es codificado en una pluralidad de sub-bloques ; una primera unidad de obtención la cual obtiene, para cada uno de los sub- bloques, uno o más candidatos de fusión cada uno de los cuales es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales deben ser referidos en la codificación del bloque actual; una primera unidad de selección la cual selecciona un candidato de fusión que se utiliza en la codificación del bloque actual, de entre uno o más de los candidatos de fusión obtenidos en la obtención; y una unidad de codificación la cual agrega, a la corriente de bits, un índice para identificar el candidato de fusión seleccionado por la unidad de selección. La primera unidad de obtención determina, para cada uno de los bloques adyacentes que son colindantes con el sub-bloque, si el bloque adyacente está incluido o no en el bloque actual y determina el bloque adyacente el cual no está incluido en el bloque actual que es un bloque objetivo de fusión; y cuando se determinan uno o más de los bloques objetivo de fusión, deduce un primer candidato como parte de uno o más de los candidatos de fusión para cada uno de uno o más de los bloques objetivo de fusión, utilizando un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales han sido utilizados para generar una imagen de predicción del bloque objetivo de fusión.
Adicionalmente , un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención es un aparato de decodificación de imágenes el cual decodifica, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada. El aparato incluye: una segunda unidad de división configurada para dividir un bloque actual que es decodificado en una pluralidad de sub-bloques; una segunda unidad de obtención configurada para obtener, para cada uno de los sub-bloques, uno o más candidatos de fusión cada uno de los cuales es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales deben ser referidos en la decodificación del bloque actual; una unidad de obtención de índices configurada para obtener, de la corriente de bits codificada, un índice para identificar un candidato de fusión que es referido en la decodificación del bloque actual; y una unidad de decodificación configurada para identificar el candidato de fusión utilizando el índice obtenido y decodificar el bloque actual utilizando el candidato de fusión identificado. La segunda unidad de obtención: determina, para cada uno de los bloques adyacentes que son colindantes con el sub-bloque, si el bloque adyacente está incluido o no en el bloque actual y determina el bloque adyacente el cual no está incluido en el bloque actual que es un bloque objetivo de fusión; y cuando se determinan uno o más de los bloques objetivo de fusión, deduce un primer candidato como parte de uno o más de los candidatos de fusión para cada uno de uno o más de los bloques objetivo de fusión, utilizando un conjunto de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales han sido utilizados para generar una imagen de predicción del bloque objetivo de fusión.
Adicionalmente, un aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención incluye el aparato de codificación de imágenes y el aparato de decodificación de imágenes.
Se debe observar que estos aspectos generales o específicos se pueden implementar como un sistema, método, circuito integrado, programa de computadora, medio de grabación legible por computadora tal como una memoria solo de lectura de disco compacto (CD-ROM, por sus siglas en inglés) o como cualquier combinación de un sistema, método, circuito integrado, programa de computadora y medio de grabación legible por computadora.
Un aparato de codificación de imágenes y un aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención se describirá específicamente a continuación con referencia a las figuras.
Cada una de las modalidades ejemplares descritas a continuación muestra un ejemplo específico de la presente invención. Los valores numéricos, formas, materiales, elementos constituyentes, la ordenación y conexión de los elementos constituyentes, pasos, el orden de procesamiento de los pasos, etcétera, mostrados en las siguientes modalidades ejemplares son solo ejemplos y por lo tanto no limitan el concepto inventivo en la presente invención. Por lo tanto, entre los elementos constituyentes en las siguientes modalidades ejemplares, los elementos constituyentes no referidos en ninguna de las reivindicaciones independientes que definen la parte más genérica del concepto inventivo se describen como elementos constituyentes arbitrarios.
Modalidad 1 Con referencia de la FIGURA 12 a la FIGURA 20, se proporcionará una descripción de un aparato de codificación de imágenes el cual ejecuta el método de codificación de imágenes de acuerdo con la Modalidad 1. En la Modalidad 1, se proporciona una descripción de un caso donde una imagen de predicción se genera al deducir candidatos de bloques de fusión en una base por bloque de predicción (PU) (en una base por bloque objetivo de predicción) donde la PU se obtiene al dividir una unidad de bloque de codificación (CU) (en lo sucesivo, el bloque de codificación también es referido como un bloque actual) . 1-1 Configuración del Aparato de Codificación de Imágenes En primer lugar, con referencia a la FIGURA 12, se proporciona una descripción de una configuración de un aparato de codificación de imágenes.
La FIGURA 12 es un diagrama de bloques que muestra una configuración de un aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1. Un aparato de codificación de imágenes 100 codifica imágenes en una base de bloque por bloque para generar una corriente de bits.
Como se muestra en la FIGURA 12, el aparato de codificación de imágenes 100 incluye un sustractor 101, unidad de transformación ortogonal 102, unidad de cuantificación 103, unidad de cuantificación inversa 104, unidad de transformación ortogonal inversa 105, sumador 106, memoria de bloques 107, memoria de tramas 108, unidad de intra-predicción 109, unidad de inter-predicción 110, unidad de control de inter-predicción 111, unidad de determinación de tipo de imagen 112, conmutador 113, unidad de cálculo de candidatos de bloques de fusión 114, memoria de colPic 115 y una unidad de codificación de longitud variable 116.
El sustractor 101 sustrae, en una base de bloque por bloque (en una base PU por PU) , datos de imagen de predicción de datos de imagen de entrada incluidos en una secuencia de imagen de entrada para generar datos de error de predicción .
La unidad de transformación ortogonal 102 transforma los datos de error de predicción generados de un dominio de imagen en un dominio de frecuencia.
La unidad de cuantificacion 103 cuantifica los datos de error de predicción transformados en un dominio de frecuencia .
La unidad de cuantificación inversa 104 cuantifica de manera inversa los datos de error de predicción cuantificados por la unidad de cuantificación 103.
La unidad de transformación ortogonal inversa 105 transforma los datos de error de predicción cuantificados de manera inversa de un dominio de frecuencia en un dominio de imagen .
El sumador 106 agrega, en una base de bloque por bloque (en una base de PU por PU) , datos de imagen de predicción y datos de error de predicción cuantificados de manera inversa por la unidad de transformación ortogonal inversa 105 para generar datos de imagen reconstruidos.
La memoria de bloques 107 almacena los datos de imagen reconstruidos en unidades de un bloque.
La memoria de tramas 108 almacena los datos de imagen reconstruidos en unidades de una trama.
La unidad de determinación de tipo de imagen 112 determina en cual de los tipos de imagen de imagen I, imagen B e imagen P se deben codificar los datos de imagen de entrada. Luego, la unidad de determinación de tipo de imagen 112 genera información de tipo de imagen que indica el tipo de imagen determinado.
La unidad de intra-predicción 109 genera datos de imagen de intra-predicción de un bloque objetivo de predicción al realizar la intra-predicción utilizando datos de imagen reconstruidos que se almacenan en la memoria de bloques 107 en unidades de un bloque.
La unidad de inter-predicción 110 genera datos de imagen de inter-predicción de un bloque objetivo de predicción al realizar la inter-predicción utilizando datos de imagen reconstruidos que se almacenan en la memoria de tramas 108 en unidades de una trama y un vector de movimiento deducido mediante un proceso que incluye la estimación de movimiento .
Cuando un bloque objetivo de predicción se codifica mediante la codificación de intra-predicción, el conmutador 113 envía datos de imagen de intra-predicción generados por la unidad de intra-predicción 109 como datos de imagen de predicción del bloque objetivo de predicción al sustractor 101 y el sumador 106. Por otra parte, cuando un bloque objetivo de predicción se codifica mediante la codificación de inter-predicción, el conmutador 113 envía datos de imagen de inter-predicción generados por la unidad de inter-predicción 110 como datos de imagen de predicción del bloque objetivo de predicción al sustractor 101 y al sumador 106.
La unidad de cálculo de candidatos de bloques de fusión 114 deduce candidatos de bloques de fusión en unidades de una PU mostradas en las FIGURAS 11(a) a 11(f) en la Modalidad 1. Se debe observar que en la Modalidad 1, se proporciona una descripción de un caso donde las PUs mostradas en las FIGURAS 11(g) y 11(h) no se seleccionan. La unidad de cálculo de candidatos de bloques de fusión 114 deduce candidatos de bloques de fusión del modo fusión utilizando vectores de movimiento y otros de bloques adyacentes del bloque objetivo de predicción y un vector de movimiento y otros del bloque co-localizado (información de colPic) almacenado en la memoria de colPic 115. Luego, la unidad de cálculo de candidatos de bloques de fusión 114 calcula el número total de candidatos utilizables para la fusión utilizado un método descrito posteriormente.
Adicionalmente , la unidad de cálculo de candidatos de bloques de fusión 114 asigna índices de candidatos de bloques de fusión cada uno que tiene un valor diferente a los candidatos de bloques de fusión deducidos. Luego, la unidad de cálculo de candidatos de bloques de fusión 114 transmite los candidatos de bloques de fusión y los índices de candidatos de bloques de fusión a la unidad de control de inter-predicción 111. Adicionalmente, la unidad de cálculo de candidatos de bloques de fusión 114 transmite el número calculado de los candidatos utilizables para la fusión a la unidad de codificación de longitud variable 116.
La unidad de control de inter-predicción 111 selecciona un modo de predicción utilizando un error de predicción el cual es el más pequeño de un modo de predicción en el cual se utiliza un vector de movimiento deducido mediante la estimación de movimiento (modo de estimación de movimiento) y un modo de predicción en el cual se utiliza un vector de movimiento deducido a partir de un candidato de bloque de fusión (modo de fusión) . La unidad de control de inter-predicción 111 también transmite un indicador de fusión que señala si el modo de predicción seleccionado es o no el modo de fusión a la unidad de codificación de longitud variable 116. Adicionalmente, la unidad de control de inter-predicción 111 transmite un índice de candidato de bloque de fusión que corresponde a los candidatos de bloques de fusión determinados a la unidad de codificación de longitud variable 116 cuando el modo de predicción seleccionado es el modo de fusión. Adicionalmente, la unidad de control de inter-predicción 111 transfiere la información de colPic que incluye el vector de movimiento y otros del bloque objetivo de predicción a la memoria de colPic 115.
La unidad de codificación de longitud variable 116 genera una corriente de bits al realizar una codificación de longitud variable en los datos de error de predicción cuantificados , el indicador de fusión y la información de tipo de imagen. La unidad de codificación de longitud variable 116 también establece el número total de candidatos utilizables para la fusión como el tamaño de la lista de candidatos de bloques de fusión. Adicionalmente , la unidad de codificación de longitud variable 116 realiza la codificación de longitud variable en un índice de candidato de bloque de fusión que se utiliza en la codificación, al asignar, de acuerdo con el tamaño de la lista de candidatos de bloques de fusión, una secuencia de bits al índice de candidato de bloque de fusión. 1-2 Ejecución del Método de Codificación de Imágenes Mediante el Aparato de Codificación de Imágenes A continuación, con referencia de la FIGURA 13 a la FIGURA 20, se proporciona una descripción de operaciones de procesamiento del aparato de codificación de imágenes 100 (ejecución del método de codificación de imágenes) .
La FIGURA 13 es un diagrama de flujo que muestra operaciones de procesamiento del aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1.
El aparato de codificación de imágenes 100 deduce primero un bloque actual que es codificado en una pluralidad de sub-bloques y determina uno de los sub-bloques que es un bloque objetivo de predicción.
En el Paso S101, la unidad de cálculo de candidatos de bloques de fusión 114 obtiene candidatos de fusión cada uno de los cuales es un conjunto de candidatos de una dirección de predicción, un vector de movimiento y un índice de imagen de referencia los cuales deben ser referidos en la predicción del bloque objetivo de predicción. Específicamente, la unidad de cálculo de candidatos de bloques de fusión 114 deduce, por ejemplo, candidatos de bloques de fusión de bloques adyacentes y un bloque colocalizado de un bloque objetivo de predicción. Adicionalmente, en la Modalidad 1, la unidad de cálculo de candidatos de bloques de fusión 114 calcula el tamaño de una lista de candidatos de bloques de fusión utilizando un método descrito posteriormente.
En la deducción de los candidatos de bloques de fusión, la unidad de cálculo de candidatos de bloques de fusión 114 genera primero candidatos de bloque de fusión a partir de los bloques adyacentes A a D y un bloque co-localizado del bloque objetivo de predicción utilizando un método descrito posteriormente. Adicionalmente, por ejemplo, la unidad de cálculo de candidatos de bloques de fusión 114 asigna índices de candidatos de bloque de fusión a los candidatos de bloques de fusión respectivos como se muestra en la FIGURA 14A.
Los códigos más cortos se asignan a índices de candidatos de bloques de fusión de valores más pequeños. En otras palabras, mientras más pequeños sea el valor del índice de candidato de bloque de fusión, más pequeña será la cantidad de información necesaria para indicar el índice de candidato de bloque de fusión.
Por otra parte, mientras más grande sea el valor de un índice de candidato de bloque de fusión, más grande será la cantidad de información necesaria para el índice de candidato de bloque de fusión. Por lo tanto, la eficiencia de codificación se incrementará cuando los índices de candidatos de bloques de fusión de valores más pequeños se asignen a candidatos de bloques de fusión los cuales es más probable que tengan vectores de movimiento de exactitud más alta e índices de imágenes de referencia de exactitud más alta.
Por lo tanto, un posible caso es que la unidad de cálculo de candidatos de bloques de fusión 114 cuente el número total de veces de selección de cada candidato de bloque de fusión como un bloque de fusión y asigne índices de candidatos de bloques de fusión de valores más pequeños a bloques con un número total más grande de veces . Específicamente, esto se puede lograr al especificar un bloque de fusión seleccionado de bloques adyacentes y asignar un índice de candidato de bloque de fusión de un valor más pequeño al bloque de fusión especificado cuando se codifica un bloque actual .
La unidad de cálculo de candidatos de bloques de fusión 114 entonces retira los candidatos no utilizables para la fusión y candidatos idénticos utilizando un método descrito posteriormente. En este documento, la unidad de cálculo de candidatos de bloques de fusión 114 puede agregar nuevos candidatos. Los nuevos candidatos no necesitan ser agregados obligatoriamente.
En la Modalidad 1, un candidato de bloque de fusión utilizable para generar una imagen de predicción es referido como un candidato no utilizable para la fusión. Un bloque que corresponde al candidato no utilizable para la fusión es referido como un bloque objetivo sin fusión. Los ejemplos del bloque objetivo sin fusión incluyen un bloque adyacente incluido en el mismo bloque actual. En la Modalidad 1, los ejemplos del bloque objetivo sin fusión incluyen además (1) un bloque que no tiene información tal como un vector de movimiento (un bloque codificado mediante la intra-predicción) , (2) un bloque fuera del límite de un corte que incluye el bloque actual o el límite de una imagen que incluye el bloque actual) y (3) un bloque todavía a ser codificado .
Un candidato de bloque de fusión utilizable para generar una imagen de predicción es referido como un candidato utilizable para la fusión. Un bloque que corresponde al candidato utilizable para la fusión es referido como un bloque objetivo de fusión.
Además, entre una pluralidad de candidatos de bloque de fusión, un candidato de bloque de fusión idéntico en el vector de movimiento, índice de imagen de referencia y dirección de predicción a cualquier otro candidato de bloque de fusión es referido como un candidato idéntico.
En el caso mostrado en la FIGURA 14A, el bloque adyacente C es un candidato no utilizable para la fusión debido a que es un bloque codificado mediante la intra-predicción. El bloque adyacente D es un candidato idéntico debido a que es idéntico en el vector de movimiento, índice de imagen de referencia y dirección de predicción al bloque adyacente A.
En la FIGURA 14B se muestra un ejemplo de una lista de candidatos de bloques de fusión calculada en el caso donde el mismo bloque actual no incluye un bloque adyacente (bloque objetivo sin fusión) . La FIGURA 14C muestra una lista de candidatos de bloque s de fusión calculada en el caso donde el bloque adyacente A es un bloque objetivo sin fusión incluido en el mismo bloque actual . La FIGURA 14D muestra una lista de candidatos de bloques de fusión calculada en el caso donde el bloque adyacente B es un bloque objetivo sin fusión incluido en el mismo bloque actual. La FIGURA 14E muestra una lista de candidatos de bloques de fusión calculada en el caso donde los bloques adyacentes A y B son bloques objetivo sin fusión incluidos en el mismo bloque actual. Posteriormente se proporciona una descripción de la determinación de un bloque objetivo sin fusión.
En el Paso S102, la unidad de control de inter-predicción 111 selecciona un modo de predicción (selecciona un candidato de fusión utilizado para la codificación del bloque actual) basado en la comparación, utilizando un método descrito posteriormente, entre el error de predicción de una imagen de predicción generada utilizando un vector de movimiento deducido mediante la estimación de movimiento y error de predicción de una imagen de predicción generada utilizando un vector de movimiento obtenido de un candidato de bloque de fusión. Cuando el modo de predicción seleccionado es el modo de fusión, la unidad de control de inter-predicción 111 establece el indicador de fusión a l, y cuando no, la unidad de control de inter-predicción 111 establece el indicador de fusión a 0.
La unidad de codificación de longitud variable 116 agrega, a una corriente de bits, un índice para identificar el candidato de fusión seleccionado al ejecutar los Pasos S103 a S105.
Más específicamente, en el Paso S103, se determina si el indicador de fusión es 1 o no (es decir, si el modo de predicción seleccionado es o no el modo de fusión) .
Cuando el resultado de la determinación en el Paso S103 es verdadero (Si, S103) , la unidad de codificación de longitud variable 116 une el indicador de fusión a una corriente de bits en el Paso S104. Subsecuentemente, en el Paso S105, la unidad de codificación de longitud variable 116 asigna secuencias de bits de acuerdo con el tamaño de la lista de candidatos de bloques de fusión como se muestra en la FIGURA 5 a los índices de candidatos de bloques de fusión de candidatos de bloques de fusión que se utilizan para la codificación. Luego, la unidad de codificación de longitud variable 116 realiza la codificación de longitud variable en la secuencia de bits asignada.
Por otra parte, cuando el resultado de la determinación en el Paso S103 es falso (S103, No), la unidad de codificación de longitud variable 116 une información en un indicador de fusión y un modo de vector de estimación de movimiento a una corriente de bits en el Paso S106.
En la Modalidad 1, un índice de candidato de bloque de fusión que tiene un valor de "0" se asigna al bloque adyacente A como se muestra en la FIGURA 14A. Un índice de candidato de bloque de fusión que tiene un valor de "1" se asigna al bloque adyacente B. Un índice de candidato de bloque de fusión que tiene un valor de "2" se asigna al bloque de fusión co-localizado . Un índice de candidato de bloque de fusión que tiene un valor de "3" se asigna al bloque adyacente C. Un índice de candidato de bloque de fusión que tiene un valor de "4" se asigna al bloque adyacente D.
Se debe observar que los índices de candidatos de bloques de fusión que tienen estos valores se pueden asignar de otra manera. Por ejemplo, la unidad de codificación de longitud variable 116 puede asignar un índice de candidato de bloque de fusión que tiene un valor más grande que aquel de bloque adyacente a un bloque de fusión co-localizado . Adicionalmente , por ejemplo, cuando un nuevo candidato se agrega utilizando un método descrito posteriormente, la unidad de codificación de longitud variable 116 puede asignar valores más pequeños a candidatos de bloques de fusión preexistentes y un valor más grande al nuevo candidato. En otras palabras, la unidad de codificación de longitud variable 116 puede asignar un índice de candidato de bloque de fusión de un valor más pequeño a un candidato de bloque de fusión preexistente en prioridad a un nuevo candidato.
Adicionalmente, los bloques adyacentes para obtener candidatos de bloques de fusión no están limitados a los bloques adyacentes A a D y un bloque co-localizado. Por ejemplo, los candidatos de bloques de fusión se pueden obtener a partir del bloque adyacente E mostrado en la FIGURA 3. Adicionalmente, no es necesario utilizar todos los bloques adyacentes A a D y todos los bloques adyacentes de un bloque co-localizado como candidatos de bloques de fusión. Por ejemplo, también es posible utilizar únicamente los bloques adyacentes A y B como candidatos de bloques de fusión.
Adicionalmente, aunque la unidad de codificación de longitud variable 116 une un índice de candidato de bloque de fusión a una corriente de bits en el Paso S105 mostrado en la FIGURA 13 en la Modalidad 1, la unión de este índice de candidato de bloque de fusión a una corriente de bits no siempre es necesaria. Por ejemplo, la unidad de codificación de longitud variable 116 no necesita unir un índice de candidato de bloque de fusión a una corriente de bits cuando el tamaño de la lista de candidatos de bloques de fusión es "1" . La cantidad de información en el índice de candidato de bloque de fusión se reduce en consecuencia.
La FIGURA 15 es un diagrama de flujo que muestra detalles del proceso en el Paso S101 mostrado en la FIGURA 13. Específicamente, la FIGURA 15 ilustra un método que consiste en calcular candidatos de bloques de fusión y el tamaño de una lista de candidatos de bloques de fusión. La FIGURA 15 se describirá a continuación.
En el Paso Slll, la unidad de cálculo de candidatos de bloques de fusión 114 determina si un candidato de bloque de fusión [N] es o no un candidato utilizable para la fusión utilizando un método descrito posteriormente (parte del primer procesamiento de derivación) . Luego, la unidad de cálculo de candidatos de bloques de fusión 114 actualiza el número total de candidatos utilizables para la fusión de acuerdo con el resultado de la determinación.
En este documento, N representa un valor de índice para identificar cada candidato de bloque de fusión. En la Modalidad 1, N toma valores de 0 a 4. Específicamente, el bloque adyacente A mostrado en la FIGURA 3 se asigna a un candidato de bloque de fusión [0] . El bloque adyacente B mostrado en la FIGURA 3 se asigna a un candidato de bloque de fusión [1] . El bloque de fusión co-localizado se asigna a un candidato de bloque de fusión [2] . El bloque adyacente C mostrado en la FIGURA 3 se asigna a un candidato de bloque de fusión [3] . El bloque adyacente D mostrado en la FIGURA 3 se asigna a un candidato de bloque de fusión [4] .
En el Paso S112, la unidad de cálculo de candidatos de bloques de fusión 114 obtiene el vector de movimiento, el índice de imagen de referencia y la dirección de predicción del candidato de bloque de fusión [N] y los agrega a una lista de candidatos de bloques de fusión (parte del primer procesamiento de derivación) .
En el Paso S113, la unidad de cálculo de candidatos de bloques de fusión 114 busca la lista de candidatos de bloques de fusión para un candidato no utilizable para la fusión y un candidato idéntico y elimina el candidato no utilizable para la fusión y el candidato idéntico de la lista de candidatos de bloques de fusión como se muestra en la FIGURA 14A a la FIGURA 14D.
En el Paso S114, la unidad de cálculo de candidatos de bloques de fusión 114 agrega un nuevo candidato a la lista de candidatos de bloques de fusión utilizando un método descrito posteriormente. En este documento, cuando se agrega un nuevo candidato, la unidad de cálculo de candidatos de bloques de fusión 114 puede reasignar índices de candidatos de bloques de fusión de modo que los índices de candidatos de bloques de fusión de valores más pequeños se asignan a candidatos de bloques de fusión preexistentes en prioridad al nuevo candidato. En otras palabras, la unidad de cálculo de candidatos de bloques de fusión 114 puede reasignar los índices de candidatos de bloques de fusión de modo que un índice de candidato de bloque de fusión de un valor más grande se asigna a un nuevo candidato. La cantidad de código de índices de candidatos de bloques de fusión se reduce en consecuencia.
En el Paso S115, la unidad de cálculo de candidatos de bloques de fusión 114 establece el número total de candidatos utilizables para la fusión calculado en el Paso Slll como el tamaño de la lista de candidatos de bloques de fusión. Por ejemplo, en el ejemplo mostrado en la FIGURA 14A, el número calculado de candidatos utilizables para la fusión es "4" y el tamaño de la lista de candidatos de bloques de fusión se establece a 4.
El nuevo candidato en el Paso S114 es un candidato agregado nuevamente a los candidatos de bloques de fusión utilizando un método descrito posteriormente cuando el número total de candidatos de bloques de fusión es más pequeño que un número total de candidatos utilizables para la fusión. Los ejemplos de este nuevo candidato incluyen el bloque adyacente superior izquierdo E mostrado en la FIGURA 3, un bloque que corresponde a cualquiera de los bloques adyacentes A, B, C y D de un bloque co- localizado . Adicionalmente , los ejemplos de este nuevo candidato incluyen además un bloque que tiene un vector de movimiento, un índice de imagen de referencia, una dirección de predicción y similares los cuales se obtienen estadísticamente para la totalidad o una cierta región de una imagen de referencia. De esta manera, cuando el número total de candidatos de bloques de fusión es más pequeño que el número total de candidatos utilizables para la fusión, la unidad de cálculo de candidatos de bloques de fusión 114 agrega un nuevo candidato que tiene un nuevo vector de movimiento, un nuevo índice de imagen de referencia y una nueva dirección de predicción de modo que la eficiencia de codificación se puede incrementar.
La FIGURA 16 es un diagrama de flujo que muestra detalles del proceso en el Paso Slll mostrado en la FIGURA 15. Específicamente, la FIGURA 16 ilustra un método para determinar si un candidato de bloque de fusión [N] es o no un candidato utilizable para la fusión y actualizar el número total de candidatos utilizables para la fusión. La FIGURA 16 se describirá a continuación.
En el Paso S121, la unidad de cálculo de candidatos de bloques de fusión 114 determina si es verdadero o falso que (1) un candidato de bloque de fusión [N] ha sido codificado mediante la intra-predicción, (2) el candidato de bloque de fusión [N] es un bloque fuera del límite de un corte que incluye el bloque actual o el límite de una imagen que incluye el bloque actual o (3) el candidato de bloque de fusión [N] todavía tiene que ser codificado.
Cuando el resultado de la determinación en el Paso 121 es verdadero (S121, Si) , la unidad de cálculo de candidatos de bloques de fusión 114 determina un bloque correspondiente al candidato de bloque de fusión [N] que es un bloque objetivo sin fusión. Adicionalmente , en el Paso S123, la unidad de cálculo de candidatos de bloques de fusión 114 establece el candidato de bloque de fusión [N] como un candidato no utilizable para la fusión.
Por otra parte, cuando el resultado de la determinación en el Paso S121 es falso (S121, No) , la unidad de cálculo de candidatos de bloques de fusión 114 determina, utilizando un método descrito posteriormente, si el candidato de bloque de fusión [N] es o no un bloque objetivo sin fusión (primer procesamiento de determinación) en el Paso S122.
Cuando el resultado de la determinación en el Paso 122 es verdadero (S122, Si), la unidad de cálculo de candidatos de bloques de fusión 114 determina el candidato de bloque de fusión [N] que es un candidato no utilizable para la fusión en el Paso S123.
Por otra parte, cuando el resultado de la determinación en el Paso S122 es falso (S121, No) , la unidad de cálculo de candidatos de bloques de fusión 114 determina que el candidato de bloque de fusión [N] es un candidato utilizable para la fusión en el Paso S124.
En el Paso S125, la unidad de cálculo de candidatos de bloques de fusión 114 determina si es verdadero o falso que el candidato de bloque de fusión [N] es ya sea un candidato utilizable para la fusión o un candidato de bloque de fusión co-localizado .
Cuando el resultado de la determinación en el Paso S125 es verdadero (S125, Si), la unidad de cálculo de candidatos de bloques de fusión 114 actualiza el número total de candidatos de bloques de fusión al incrementarlo por uno en el Paso S126. Por otra parte, cuando el resultado de la determinación en el Paso S125 es falso (S125, No), la unidad de cálculo de candidatos de bloques de fusión 114 no actualiza el número total de candidatos utilizables para la fusión.
De esta manera, cuando un candidato de bloque de fusión es un bloque de fusión co-localizado, la unidad de cálculo de candidatos de bloques de fusión 114 incrementa el número total de candidatos utilizables para la fusión por uno, independientemente si el bloque co-localizado es un candidato utilizable para la fusión o un candidato no utilizable para la fusión. Esto impide la discrepancia de los números de candidatos utilizables para la fusión entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes incluso cuando la información en un bloque de fusión co-localizado se pierde debido a un incidente tal como una pérdida de paquetes.
El número total de candidatos utilizables para la fusión se establece como el tamaño de la lista de candidatos de bloques de fusión en el Paso S115 mostrada en la FIGURA 15. Adicionalmente , el tamaño de la lista de candidatos de bloques de fusión se utiliza en la codificación de longitud variable de índices de candidatos de bloques de fusión en el Paso S105 mostrado en la FIGURA 13. Esto hace posible que el aparato de codificación de imágenes 100 genere una corriente de bits la cual puede ser decodificada normalmente de modo que los índices de candidatos de bloques de fusión se puedan obtener incluso cuando se pierde información sobre una imagen de referencia que incluye un bloque co-localizado.
Se debe observar que el ejemplo descrito en la Modalidad 1 en el cual el Paso S121 se realiza antes del Paso S122 mostrado en la FIGURA 16 no es limitante. Por ejemplo, el paso 122 se puede realizar antes del Paso S121. Además, por ejemplo, el Paso S121 y el Paso S122 se pueden realizar en un paso individual. Adicionalmente, no es necesario que el Paso S121 se realice obligatoriamente.
El elemento estructural principal en la Modalidad 1 es el Paso S122.
La FIGURA 17 es un diagrama de flujo que muestra detalles del proceso en el Paso S122 mostrado en la FIGURA 16. Específicamente, la FIGURA 17 ilustra un método para determinar si un bloque correspondiente a un candidato de bloque de fusión [N] es o no un bloque objetivo sin fusión. La FIGURA 17 se describirá a continuación.
En el Paso S122, cuando el bloque en el cual se debe realizar la determinación (bloque objetivo de determinación) está incluido en un bloque actual el cual incluye un bloque objetivo de predicción, se determina que el bloque objetivo de determinación es un bloque objetivo sin fusión .
En el Paso S151, la unidad de cálculo de candidatos de bloques de fusión 114 determina si es verdadero que (i) la PU de un bloque objetivo de predicción es uno de 2N x N, 2N x nU, 2N x nD, N x 2N, nL x 2N o nR x 2N, (ii) los candidatos de bloques de fusión están siendo calculados para la partición 1 de la PU1 y (iii) un bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] está localizado dentro de la misma CU.
Cuando el resultado de la determinación en el Paso S151 es verdadero (S151, Si) , la unidad de cálculo de candidatos de bloques de fusión 114 determina un bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] que es un bloque objetivo sin fusión.
De esta manera, cuando el bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] es un bloque objetivo sin predicción, el candidato de bloque de fusión [N] es un candidato no utilizable para la fusión y se retira de la lista de candidatos de bloques de fusión.
En la Modalidad 1, cuando el resultado de la determinación en el Paso S151 es verdadero (S151, Si) , la unidad de cálculo de candidatos de bloques de fusión 114 determina un bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] que es un bloque objetivo sin fusión; sin embargo, la determinación no está limitada a este ejemplo. Cuando el resultado de la determinación en el Paso S151 es falso (S151, No), la unidad de cálculo de candidatos de bloques de fusión 114 puede determinar un bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] que es un bloque objetivo de fusión.
Incluso en este caso, se pueden obtener los mismos resultados que en el caso donde la unidad de cálculo de candidatos de bloques de fusión 114 determina un bloque objetivo de predicción que corresponde al candidato de bloque de fusión [N] que es un bloque objetivo sin fusión cuando el resultado de la determinación en el Paso S151 es verdadero.
En este caso, la unidad de cálculo de candidatos de bloques de fusión 114 determina si el candidato de bloque de fusión [N] es o no un bloque objetivo de fusión en el Paso S122 mostrado en la FIGURA 16. La unidad de cálculo de candidatos de bloques de fusión 114 se procede al Paso S124 cuando el resultado de la determinación en el Paso S122 es un bloque objetivo de fusión. La unidad de cálculo de candidatos de bloques de fusión 114 procede al Paso S123 cuando el resultado de la determinación en el Paso S122 no es un bloque objetivo de fusión.
La FIGURA 18 es un diagrama de bloques que ilustra bloques que son bloques objetivo sin fusión en cada unidad de bloque de predicción que corresponde a la FIGURA 11(a) a la FIGURA 11(f). En la FIGURA 18, los bloques objetivo de predicción (partición 1) y los bloques objetivo sin fusión que corresponden a los bloques objetivo de predicción están encerrados por líneas gruesas. En otras palabras, entre los bloques adyacentes, los bloques adyacentes encerrados por líneas normales pero no por líneas gruesas son bloques objetivo de fusión.
Un bloque L corresponde al bloque adyacente A mostrado en la FIGURA 3. Un bloque T corresponde al bloque adyacente B mostrado en la FIGURA 3. Un bloque TR corresponde al bloque adyacente C mostrado en la FIGURA 3. Un bloque BL corresponde al bloque adyacente D mostrado en la FIGURA 3. Un bloque TL corresponde al bloque adyacente E mostrado en la FIGURA 3.
Como se muestra de la FIGURA 18 (a) a la FIGURA 18(c) , en el caso donde una PU es 2N x N, 2N x nU o 2N x nD y una lista de candidatos de bloques de fusión de la partición 1 se calcula, el bloque T localizado en la parte superior de la PU se incluye en la misma CU. Por lo tanto, el bloque T es un bloque objetivo sin fusión. Por consiguiente, en este caso, puesto que el bloque T (bloque adyacente B) es un bloque objetivo sin fusión, el bloque adyacente B se retira de los candidatos de bloques de fusión en la deducción de los candidatos de bloques de fusión mostrados en la FIGURA 14D.
Adicionalmente, como se muestra de la FIGURA 18(d) a la FIGURA 18(f) , en el caso donde una PU es N x 2N, nL x 2N o nR x 2N y una lista de candidatos de bloques de fusión de la partición 1 se calcula, el bloque L localizado a la izquierda de la PU se incluye en la misma CU. Por lo tanto, el bloque L es un bloque objetivo sin fusión. Por consiguiente, en este caso, puesto que el bloque L (bloque adyacente A) es un bloque objetivo sin fusión, el bloque adyacente A se retira de los candidatos de bloques de fusión en la deducción de los candidatos de bloques de fusión como se muestra en la FIGURA 14C.
Una imagen de predicción, la cual se genera en el caso donde las particiones 0 y 1 tienen la misma dirección de predicción, el mismo vector de movimiento y el mismo índice de imagen de referencia, es la misma que la imagen de predicción generada en unidades de una PU de 2N x 2N (mostrada en la FIGURA 11 (h) ) la cual no implica divisiones de la CU. Por lo tanto, la adición de los candidatos de bloques de fusión obtenidos a partir de un bloque incluido en la partición 0 a la lista de candidatos de bloques de fusión de la partición 1 da por resultado la asignación de índices de candidatos de bloques de fusión a candidatos de bloques de fusión redundantes. En la Modalidad 1, en la generación de una imagen de predicción en una base por PU (donde una PU se obtiene al dividir una CU en particiones) , se determina si un bloque adyacente para el cual se calculan candidatos de bloques de fusión está o no localizado dentro de la misma CU. Cuando el bloque adyacente está dentro de la misma CU, los candidatos de bloques de fusión obtenidos a partir del bloque adyacente no se agregan a la lista de candidatos de bloques de fusión. Esto elimina la necesidad de asignar índices de candidatos de bloques de fusión a candidatos de bloques de fusión redundantes, de modo que la eficiencia de codificación se incrementa. Adicionalmente , la remoción de candidatos de bloques de fusión redundantes de la lista de candidatos de bloques de fusión permite la adición de un nuevo candidato el cual es un candidato para incrementar la eficiencia de codificación y el cual se calcula utilizando un método descrito posteriormente. Es posible incrementar la eficiencia de codificación al retirar los candidatos de bloques de fusión redundantes y agregar un nuevo candidato.
Se debe observar que el ejemplo mostrado en la Modalidad 1 donde los candidatos no utilizables para la fusión se agregan a la lista de candidatos de bloques de fusión y luego se retiran de la lista de candidatos de bloques de fusión no es limitante. Por ejemplo, puede ser que los candidatos no utilizables para la fusión no se agreguen a la lista de candidatos de bloques de fusión.
La FIGURA 19 es un diagrama de flujo que muestra detalles del proceso en el Paso S114 mostrado en la FIGURA 15. Específicamente, la FIGURA 19 ilustra un método para agregar un nuevo candidato. La FIGURA 19 se describirá a continuación.
En el Paso S131, la unidad de cálculo de candidatos de bloques de fusión 114 determina si el número total de candidatos de bloques de fusión es o no más pequeño que el número total de candidatos utilizables para la fusión. En otras palabras, la unidad de cálculo de candidatos de bloques de fusión 114 determina si el número total de candidatos de bloques de fusión es o no aún inferior al número total de candidatos utilizables para la fusión.
En este documento, cuando el resultado de la determinación en el Paso S131 es verdadero (Paso S131, Si) , en el Paso S132, la unidad de cálculo de candidatos de bloques de fusión 114 determina si existe o no un nuevo candidato el cual se puede agregar como un candidato de bloque de fusión a la lista de candidatos de bloques de fusión. En este documento, cuando el resultado de la determinación en el Paso S132 es verdadero (Paso S132, Si), la unidad de cálculo de candidatos de bloques de fusión 114 asigna un índice de candidato de bloque de fusión que tiene un valor al nuevo candidato y agrega el nuevo candidato a la lista de candidatos de bloques de fusión en el Paso S133. Adicionalmente , En el Paso S134, la unidad de cálculo de candidatos de bloques de fusión 114 incrementa el número total de candidatos de bloques de fusión por uno.
Por otra parte, cuando el resultado de la determinación en el Paso S131 o en el Paso S132 es falso (Paso S131 o Paso S132, No), el proceso para agregar un nuevo candidato termina. En otras palabras, el proceso para agregar un nuevo candidato termina cuando el número total de candidatos de bloques de fusión cuenta el número total de candidatos utilizables para la fusión o cuando no hay un nuevo candidato .
La FIGURA 20 es un diagrama de flujo que muestra detalles del proceso en el Paso S102 mostrado en la FIGURA 13. Específicamente, la FIGURA 20 ilustra un proceso para seleccionar un candidato de bloque de fusión. La FIGURA 20 se describirá a continuación.
En el Paso S141, la unidad de control de inter-predicción 111 establece un índice de candidato de bloque de fusión en 0, el error de predicción mínimo en el error de predicción (costo) en el modo de estimación de vectores de movimiento y un indicador de fusión en 0. En este documento, el costo se calcula utilizando la siguiente fórmula para un modelo de optimización R-D, por ejemplo.
Ecuación 1 Costo = D + XR En la Ecuación 1, D representa la distorsión de codificación. Por ejemplo, D es la suma de diferencias absolutas entre los valores de pixeles originales de un bloque actual que es codificado y los valores de pixeles obtenidos mediante la codificación y decodificación del bloque actual utilizando una imagen de predicción generada utilizando un vector de movimiento. R representa la cantidad de códigos generados. Por ejemplo, R es la cantidad de código necesaria para codificar un vector de movimiento utilizado para la generación de una imagen de predicción, ? representa un multiplicador indeterminado de Lagrange .
En el Paso S142, la unidad de control de inter-predicción 111 determina si el valor de un índice de candidato de bloque de fusión es o no más pequeño que el número total de candidatos de bloques de fusión de un bloque objetivo de predicción. En otras palabras, la unidad de control de inter-predicción 111 determina si aún existe o no un candidato de bloque de fusión en el cual todavía no se ha llevado a cabo el proceso del Paso S143 al Paso S145.
Cuando el resultado de la determinación en el Paso S142 es verdadero (S142, Si), en el Paso S143, la unidad de control de inter-predicción 111 calcula el costo para un candidato de bloque de fusión al cual se asigna un índice de candidato de bloque de fusión. Luego, en el Paso S144, la unidad de control de inter-predicción 111 determina si el costo calculado para un candidato de bloque de fusión es o no más pequeño que el error de predicción mínimo.
En este documento, cuando el resultado de la determinación en el Paso S144 es verdadero, (S144, Si), la unidad de control de inter-predicción 111 actualiza el error de predicción mínimo, el índice de candidato de bloque de fusión y el valor del indicador de fusión en el Paso S145. Por otra parte, cuando el resultado de la determinación en el Paso S144 es falso (S144, No), la unidad de control de inter- predicción 111 no actualiza el error de predicción mínimo, el índice de candidato de bloque de fusión o el valor del indicador de fusión.
En el Paso S146, la unidad de control de inter-predicción 111 incrementa el índice de candidato de bloque de fusión por uno y repite del Paso S142 al Paso S146.
Por otra parte, cuando el resultado en el Paso S142 es falso (S142, No), es decir, ya no existe un candidato de bloque de fusión no procesado, la unidad de control de inter-predicción 111 fija los valores finales del indicador de fusión y el índice de candidato de bloque de fusión en el Paso S147. 1-3 Efectos, variaciones y así por el estilo Como se describiera anteriormente, en la generación de una imagen de predicción al dividir una CU en PUs (particiones) , y cuando un bloque adyacente está localizado dentro de la misma CU, el aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1 no agrega candidatos de bloques de fusión obtenidos a partir del bloque adyacente a la lista de candidatos de bloques de fusión. Esto elimina la necesidad de asignar índices de candidatos de bloques de fusión a candidatos de bloques de fusión redundantes, de modo que el aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1 puede tener una eficiencia de codificación más alta. Adicionalmente, la remoción de candidatos de bloques de fusión redundantes de la lista de candidatos de bloques de fusión permite la adición de un número más grande de nuevos candidatos, lo cual conduce a un incremento en la eficiencia de codificación.
Se debe observar que el ejemplo mostrado en la Modalidad 1 donde una CU se divide en PUs (particiones) de 2N x N, 2N x nU, 2N x nD, N x 2N, nL x 2N o nR x 2N no es limitante. Por ejemplo, la Modalidad 1 se puede aplicar al caso donde una PU es N x N como se muestra en la FIGURA. 11 (g) . En este caso, también, cuando un bloque adyacente está localizado dentro de la misma CU, el aparato de codificación de imágenes 100 no agrega el bloque adyacente a la lista de candidatos de bloques de fusión, de modo que un índice de candidato de bloque de fusión no necesita ser asignado al candidato de bloque de fusión redundante. Esto permite un incremento en la eficiencia de codificación.
El aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1 es capaz de calcular el tamaño de una lista de candidatos de bloques de fusión para el uso en la codificación o decodificación de un índice de candidato de bloque de fusión, utilizando un método independiente de la información sobre imágenes de referencia que incluye un bloque co-localizado . De ese modo, el aparato de codificación de imágenes 100 logra una resistencia al error mejorada.
Más específicamente, independientemente si un bloque de fusión co-localizado es o no un candidato utilizable para la fusión, el aparato de codificación de imágenes 100 de acuerdo la Modalidad 1 incrementa el número total de candidatos utilizables para la fusión por uno cada vez que un candidato de bloque de fusión se determina como un bloque de fusión co-localizado. Luego, el aparato de codificación de imágenes 100 determina una secuencia de bits que se asigna a un índice de candidato de bloque de fusión, utilizando el número total de candidatos utilizables para la fusión calculado de esta manera. El aparato de codificación de imágenes 100 es capaz de esta manera de generar una corriente de bits de la cual el índice de candidato de bloque de fusión se puede decodificar normalmente incluso cuando se pierde información sobre imágenes de referencia que incluyen un bloque co-localizado.
Adicionalmente, cuando el número total de candidatos de bloques de fusión es más pequeño que el número total de candidatos utilizables para la fusión, el aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1 agrega, como un candidato de bloque de fusión, un nuevo candidato que tiene un nuevo vector de movimiento, un nuevo índice de imagen de referencia y una nueva dirección de predicción de modo que la eficiencia de codificación se pueda incrementar .
Se debe observar que el ejemplo descrito en la Modalidad 1 en el cual independientemente si un bloque de fusión co-localizado es un candidato utilizable para la fusión o un candidato no utilizable para la fusión, el aparato de codificación de imágenes 100 incrementa el número total de candidatos de bloques de fusión por uno como se muestra en el Paso S125 mostrado en la FIGURA 16 no es limitante. En relación con otros bloques, el aparato de codificación de imágenes 100 también puede incrementar el número total de candidatos de bloques de fusión por uno cada vez independientemente si los bloques son candidatos utilizables para la fusión o candidatos no utilizables para la fusión. En este caso, por ejemplo, el aparato de codificación de imágenes 100 puede fijar siempre el número total de candidatos utilizables para la fusión en un valor máximo Max del número total de candidatos de bloques de fusión. En otras palabras, puede ser que el aparato de codificación de imágenes 100 considere los candidatos de bloques de fusión en todos los bloques adyacentes como candidatos utilizables para la fusión, fije el tamaño de la lista de candidatos de bloques de fusión en el valor máximo Max del número total de candidatos de bloques de fusión y codifique los índices de candidatos de bloques de fusión. Por ejemplo, en la Modalidad 1, el valor máximo Max del número total de candidatos de bloques de fusión es 5 (el bloque adyacente A, el bloque adyacente B, el bloque de fusión co- localizado, el bloque adyacente C y el bloque adyacente D) . Por lo tanto, el aparato de codificación de imágenes 100 puede establecer siempre 5 como el tamaño de la lista de candidatos de bloques de fusión y puede codificar los índices de candidatos de bloques de fusión.
Adicionalmente, por ejemplo, en el caso donde el valor máximo Max del número total de candidatos de bloques de fusión 4 (el bloque adyacente A, el bloque adyacente B, el bloque adyacente C y el bloque adyacente D) tal como una imagen la cual se codifica sin referencia a un bloque de fusión co-localizado (imagen B o imagen P codificada con referencia a la imagen I) , el aparato de codificación de imágenes 100 puede establecer siempre el valor de "4" como el tamaño de la lista de candidatos de bloques de fusión y puede codificar los índices de candidatos de bloques de fusión.
De esta manera, puede ser que el tamaño de la lista de candidatos de bloques de fusión se determinan de acuerdo con el valor máximo Max del número total de candidatos de bloques de fusión. En este caso, en aparato de codificación de imágenes 100 realiza una codificación de longitud variable utilizando el valor máximo Max como el tamaño de la lista de candidatos de bloques de fusión en el Paso S105 mostrado en la FIGURA 13.
Con esto, es posible generar una corriente de bits que tiene un índice de candidato de bloque de fusión que puede ser decodificada por la unidad de decodificación de longitud variable en el aparato de codificación de imágenes sin referencia a información en un bloque adyacente o un bloque con-localizado, de modo que la complejidad computacional para la unidad de decodificación de longitud variable se puede reducir. Adicionalmente, el valor máximo Max del número total de candidatos de bloques de fusión se puede incorporar en, por ejemplo, un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) , un conjunto de parámetros de imagen (PPS, por sus siglas en inglés) o un encabezado de corte. Esto hace posible cambiar el valor máximo Max del número total de candidatos de bloques de fusión dependiendo de una imagen actual que es codificada, de modo que la complejidad computacional se puede reducir y la eficiencia de codificación se puede incrementar.
Se debe observar que el ejemplo descrito en la Modalidad 1 en la cual el indicador de fusión siempre es unido a una corriente de bits en el modo de fusión no es limitante. Por ejemplo, el modo de fusión se puede seleccionar obligatoriamente con base en una configuración de bloque para el uso en la inter-predicción de un bloque actual. En este caso, la cantidad de información se puede reducir al no unir un indicador de fusión a una corriente de bits .
Se debe observar que el ejemplo descrito en la Modalidad 1 donde se utiliza el modo de fusión en el cual un bloque actual se codifica utilizando una dirección de predicción, un vector de movimiento y un índice de imagen de referencia copiados de un bloque adyacente del bloque actual no es limitante. Por ejemplo, se puede utilizar un modo de fusión de omisión. En el modo de fusión de omisión, un bloque actual se codifica con referencia a una lista de candidatos de bloques de fusión creada como se muestra en la FIGURA 14B, utilizando una dirección de predicción, un vector de movimiento y un índice de imagen de referencia copiados de un bloque adyacente del bloque actual de la misma manera que en el modo de fusión. Cuando todos los errores de predicción resultantes son cero para el bloque actual, un indicador de omisión se establece a 1 y el indicador de omisión y un índice de candidato de bloque de fusión se unen a una corriente de bits. Cuando cualquiera de los errores de predicción resultantes no es cero, un indicador de omisión se establece a 0 y el indicador de omisión, un indicador de fusión, un índice de candidato de bloque de fusión y datos de los errores de predicción se unen a una corriente de bits.
Se debe observar que el ejemplo descrito en la Modalidad 1 donde se utiliza el modo de fusión en el cual un bloque actual se codifica utilizando una dirección de predicción, un vector de movimiento y un índice de imagen de referencia copiados de un bloque adyacente del bloque actual no es limitante. Por ejemplo, un vector de movimiento en el modo de estimación de vectores de movimiento se puede codificar utilizando una lista de candidatos de bloques de fusión creada como se muestra en la FIGURA 14B. Específicamente, una diferencia se calcula al sustraer un vector de movimiento de un candidato de bloque de fusión indicado por un índice de candidato de bloque de fusión de un vector de movimiento en el modo de estimación de vectores de movimiento. Adicionalmente , la diferencia calculada y el índice de candidato de bloque de fusión se pueden unir a una corriente de bits.
Opcionalmente , se puede calcular una diferencia mediante el escalamiento de un vector de movimiento MV_Merge de un candidato de bloque de fusión utilizando un índice de imagen de referencia RefIdx_ME en el modo de estimación de movimiento y un índice de imagen de referencia RefIdx_Merge del candidato de bloque de fusión y sustraer un vector de movimiento scaledMV_Merge del candidato de bloque de fusión después del escalamiento del vector de movimiento en el modo de estimación de movimiento. Adicionalmente, la diferencia calculada y el índice de candidato de bloque de fusión se pueden unir a una corriente de bits. Lo siguiente es una fórmula ejemplar para el escalamiento.
Ecuación 2 scaledMV_Merge = MV_Merge x (POC (RefIdx_ME) - curPOC) / (POC (RefIdx_Merge) -curPOC) En este documento, POC (RefIdx_ME) representa el orden de exhibición de una imagen de referencia indicada por un índice de imagen de referencia Re Idx_ME. POC (RefIdx_Merge) representa el orden de exhibición de una imagen de referencia indicada por un índice de imagen de referencia RefIdx_Merge . curPOC representa el orden de exhibición de una imagen actual que es codificada.
Modalidad 2 Un aparato de decodificación de imágenes el cual ejecuta un método de decodificación de imágenes de acuerdo con la Modalidad 2 se describirá con referencia de la FIGURA 21 a la FIGURA 24. En la Modalidad 2, se proporciona una descripción de un caso donde una imagen de predicción se genera al deducir candidatos de bloques de fusión en una base por PU (en una base por bloque objetivo de predicción) donde una PU se obtiene al dividir una CU (bloque actual que es decodificado) . 2-1 Configuración del Aparato de Decodificación de Imágenes La FIGURA 21 es un diagrama de bloques que muestra una configuración de un aparato de decodificación de imágenes de acuerdo con la Modalidad 2. Un aparato de decodificación de imágenes 300 es un aparato que corresponde al aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1.
Específicamente, por ejemplo, el aparato de decodificación de imágenes 300 decodifica, en una base de bloque por bloque, imágenes codificadas que se incluyen en una corriente de bits generada por el aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1.
Como se muestra en la FIGURA 21, el aparato de decodificación de imágenes 300 incluye una unidad de decodificación de longitud variable 301, unidad de cuantificación inversa 302, unidad de transformación ortogonal inversa 303, sumador 304, memoria de bloques 305, memoria de tramas 306, unidad de intra-predicción 307, unidad de inter-predicción 308, unidad de control de inter-predicción 309, conmutador 310, unidad de cálculo de candidatos de bloques de fusión 311 y memoria de colPic 312.
La unidad de decodificación de longitud variable 301 genera información de tipo de imagen, un indicador de fusión y un coeficiente cuantificado al realizar una decodificación de longitud variable en una corriente de bits de entrada. Adicionalmente , la unidad de decodificación de longitud variable 301 realiza la decodificación de longitud variable en un índice de candidato de bloque de fusión utilizando el número total de candidatos utilizables para la fusión descrito posteriormente.
La unidad de cuantificación inversa 302 realiza la cuantificación inversa del coeficiente cuantificado que se obtiene mediante la decodificación de longitud variable.
La unidad de transformación ortogonal inversa 303 genera datos de error de predicción al transformar un coeficiente de transformación ortogonal obtenido mediante la cuantificación inversa de un dominio de frecuencia a un dominio de imagen.
La memoria de bloques 305 almacena, en unidades de un bloque, datos de imagen decodificados que se generan mediante la adición de los datos de error de predicción y los datos de imagen de predicción.
La memoria de tramas 306 almacena datos de imagen decodificados en unidades de una trama.
La unidad de intra-predicción 307 genera datos de imagen de predicción de un bloque actual que es decodificado, al realizar la intra-predicción utilizando los datos de imagen decodificados que se almacenan en la memoria de bloques 305 en unidades de un bloque.
La unidad de inter-predicción 308 genera datos de imagen de predicción de un bloque actual que es decodificado, al realizar la inter-predicción utilizando los datos de imagen decodificados que se almacenan en la memoria de tramas 306 en unidades de una trama.
Cuando un bloque actual se decodifica mediante la decodificación de intra-predicción, el conmutador 310 envía datos de imagen de intra-predicción generados por la unidad de intra-predicción 307 como datos de imagen de predicción del bloque actual al sumador 304. Por otra parte, cuando un bloque actual se decodifica mediante la decodificación de inter-predicción, el conmutador 310 envía datos de imagen de inter-predicción generados por la unidad de inter-predicción 308 como datos de imagen de predicción del bloque actual al sumador 304.
En la Modalidad 2, la unidad de cálculo de candidatos de bloques de fusión 311 deduce candidatos de bloques de fusión en un base por PU mostrada de la FIGURA 11(a) a la FIGURA 11(f). El aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2 es un aparato que corresponde al aparato de codificación de imágenes 100 de acuerdo con la Modalidad 1; y de esta manera, en la Modalidad 2, se proporciona una descripción de un caso donde las PUs mostradas en la FIGURA 11 (g) y la FIGURA 11 (h) no se seleccionan. La unidad de cálculo de candidatos de bloques de fusión 311 deduce candidatos de bloques de fusión para el modo de fusión utilizando vectores de movimiento y otros bloques adyacentes del bloque objetivo de predicción y un vector de movimiento y otros del bloque co- localizado (información de colPic) almacenado en la memoria de colPic 312, utilizando un método descrito posteriormente. Adicionalmente, la unidad de cálculo de candidatos de bloques de fusión 311 asigna índices de candidatos de bloques de fusión cada uno que tiene un valor diferente a los candidatos de bloques de fusión deducidos. Luego, la unidad de cálculo de candidatos de bloques de fusión 311 transmite los candidatos de bloques de fusión y los índices de candidatos de bloques de fusión a la unidad de control de inter-predicción 309.
La unidad de control de inter-predicción 309 causa que la unidad de inter-predicción 308 genere una imagen de inter-predicción utilizando información sobre el modo de estimación de vectores de movimiento cuando el indicador de fusión decodificado es "0". Por otra parte, cuando el indicador de fusión es "1", la unidad de control de inter-predicción 309 determina, con base en un índice de candidato de bloque de fusión decodificado, un vector de movimiento, un índice de imagen de referencia y una dirección de predicción para el uso en la inter-predicción de una pluralidad de candidatos de bloques de fusión. Luego, la unidad de control de inter-predicción 309 causa que la unidad de inter-predicción 308 genere una imagen de inter-predicción utilizando el vector de movimiento determinado, el índice de imagen de referencia y la dirección de predicción. Adicionalmente , la unidad de control de inter-predicción 309 transfiere la información de colPic que incluye el vector de movimiento del bloque actual a la memoria de colPic 312.
Finalmente, el sumador 304 genera datos de imagen decodificados al agregar los datos de imagen de predicción y los datos de error de predicción. 2-2 Ejecución del Método de Decodificación de Imágenes por el Aparato de Decodificación de Imágenes Después, con referencia de la FIGURA 22 a la FIGURA 24, se proporciona una descripción de operaciones de procesamiento del aparato de decodificación de imágenes 300 (ejecución del método de decodificación de imágenes) .
La FIGURA 22 es un diagrama de flujo que muestra operaciones de procesamiento del aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2.
El aparato de decodificación de imágenes 300 divide primero un bloque actual en una pluralidad de sub-bloques y determina uno de los sub-bloques que es un bloque objetivo de predicción.
En el Paso S301, la unidad de decodificación de longitud variable 301 decodifica un indicador de fusión.
En el Paso S302, cuando el indicador de fusión es "1" (S302, Si), en el Paso S303, la unidad de cálculo de candidatos de bloques de fusión 311 calcula el número total de candidatos utilizables para la fusión utilizando un método descrito posteriormente. Luego, la unidad de cálculo de candidatos de bloques de fusión 311 establece el número calculado de candidatos utilizables para la fusión como el tamaño de una lista de candidatos de bloques de fusión.
En el Paso S304, la unidad de decodificación de longitud variable 301 realiza la decodificación de longitud variable en el índice de candidato de bloque de fusión de una corriente de bits utilizando el tamaño de la lista de candidatos de bloques de fusión.
En el Paso S305, la unidad de cálculo de candidatos de bloques de fusión 311 genera candidatos de bloques de fusión a partir de bloques adyacentes y un bloque colocalizado de un bloque objetivo de predicción utilizando un método descrito posteriormente.
En el Paso S306, la unidad de control de inter-predicción 309 causa que la unidad de inter-predicción 308 genere una imagen de inter-predicción utilizando el vector de movimiento, el índice de imagen de referencia y la dirección de predicción del candidato de bloque de fusión indicado por el índice de candidato de bloque de fusión decodificado.
Cuando el indicador de fusión es "0" en el Paso S302 (S302, No), en el Paso S307, la unidad de inter-predicción 308 genera una imagen de inter-predicción utilizando información sobre el modo de estimación de vectores de movimiento decodificada por la unidad de decodificación de longitud variable 301.
Opcionalmente, cuando el tamaño de una lista de candidatos de bloques de fusión calculado en el Paso S303 es "1", se puede estimar que un índice de candidato de bloque de fusión es "O" sin ser decodificado .
La FIGURA 23 es un diagrama de flujo que muestra detalles del proceso en el Paso S303 mostrado en la FIGURA 22. Específicamente, la FIGURA 23 ilustra un método para determinar si un candidato de bloque de fusión [N] es un candidato utilizable para la fusión y calcular el número total de candidatos utilizables para la fusión. La FIGURA 23 se describirá a continuación.
En el Paso S311, la unidad de cálculo de candidatos de bloques de fusión 311 determina si es verdadero o falso que (1) un candidato de bloque de fusión [N] ha sido decodificado mediante la intra-predicción, (2) el candidato de bloque de fusión [N] es un bloque fuera del límite de un corte que incluye el bloque actual o el límite de una imagen que incluye el bloque actual o (3) el candidato de bloque de fusión [N] todavía tiene que ser decodificado .
Cuando el resultado de la determinación en el Paso S311 es verdadero (S311, Si) , la unidad de cálculo de candidatos de bloques de fusión 311 determina un bloque que corresponde al candidato de bloque de fusión [N] que es un bloque no candidato de fusión. Adicionalmente, en el Paso S313, la unidad de cálculo de candidatos de bloques de fusión 311 establece el candidato de bloque de fusión [N] como un candidato no utilizable para la fusión.
Por otra parte, cuando el resultado de la determinación en el Paso S311 es falso (S311, No), en el paso 312, la unidad de cálculo de candidatos de bloques de fusión 311 determina si un bloque que corresponde al candidato de bloque de fusión [N] es o no un bloque objetivo sin fusión (primer procesamiento de determinación) .
Cuando el resultado de la determinación en el Paso S312 es verdadero (312, Si) , la unidad de cálculo de candidatos de bloques de fusión 311 determina el candidato de bloque de fusión [N] que es un candidato no utilizable para la fusión en el Paso S313.
De esta manera, en la decodificación al dividir una CU en particiones y cuando un bloque adyacente está localizado dentro de la misma CU, es posible decodificar apropiadamente una corriente de bits generada por el aparato de codificación de imágenes 100, al no agregar el bloque adyacente a la lista de candidatos de bloques de fusión.
Por otra parte, cuando el resultado de la determinación en el Paso S312 es falso (S312, No), la unidad de cálculo de candidatos de bloques de fusión 312 determina el candidato de bloque de fusión [N] que es un candidato utilizable para la fusión en el Paso S314.
En el Paso S315, la unidad de cálculo de candidatos de bloques de fusión 311 determina si es verdadero o falso que el candidato de bloque de fusión [N] es ya sea un candidato utilizable para la fusión o un candidato de bloque de fusión co-localizado.
Cuando el resultado de la determinación en el Paso S315 es verdadero (S315, Si), la unidad de cálculo de candidatos de bloques de fusión 311 actualiza el número total de candidatos de bloques de fusión al incrementarlo por uno en el Paso S316.
Por otra parte, cuando el resultado de la determinación en el Paso S315 es falso (S315, No) , la unidad de cálculo de candidatos de bloques de fusión 311 no actualiza el número total de candidatos utilizables para la fusión.
De esta manera, cuando un candidato de bloque de fusión es un bloque de fusión co-localizado, la unidad de cálculo de candidatos de bloques de fusión 311 incrementa el número total de candidatos utilizables para la fusión por uno independientemente si el bloque co-localizado es un candidato utilizable para la fusión o un candidato no utilizable para la fusión. Esto impide la discrepancia de los números de candidatos utilizables para la fusión entre el aparato de codificación de imágenes y el aparato de decodificación de imágenes incluso cuando se pierde información sobre un bloque de fusión co-localizado debido a un incidente tal como la pérdida de paquetes .
El número total de candidatos utilizables para la fusión se establece como el tamaño de una lista de candidatos de bloques de fusión en el Paso S303 mostrado en la FIGURA 22. Adicionalmente, el tamaño de la lista de candidatos de bloques de fusión se utiliza en la decodificación de longitud variable de índices de candidatos de bloques de fusión en el Paso S304 mostrado en la FIGURA 22. Esto hace posible que el aparato de decodificación de imágenes 300 decodifique índices de candidatos de bloques de fusión normalmente incluso cuando se pierde información sobre una imagen de referencia que incluye un bloque co-localizado.
Se debe observar que el ejemplo mostrado en la Modalidad 2 donde el Paso S311 se realiza antes del Paso S312 en la FIGURA 23 no es limitante. Por ejemplo, el Paso S312 se puede realizar antes del Paso S311. Además, por ejemplo, el Paso S311 y el Paso S312 se pueden realizar en un paso individual. Adicionalmente, el Paso S311 no necesita ser realizado obligatoriamente.
Adicionalmente, en la Modalidad 2, la unidad de cálculo de candidatos de bloques de fusión 311 determinan el Paso S312 que los candidatos de bloques de fusión [N] son un bloque objetivo sin fusión cuando el candidato de bloque de fusión [N] está incluido en el bloque actual; sin embargo, el proceso puede ser diferente. Cuando el candidato de bloque de fusión [N] no está incluido en el bloque actual, la unidad de cálculo de candidatos de bloques de fusión 311 puede determinar que el candidato de bloque de fusión [N] es un bloque objetivo de fusión. En este caso, la unidad de cálculo de candidatos de bloques de fusión 311 procede al Paso S314 cuando el resultado de la determinación en el Paso S312 mostrado en la FIGURA 23 es un bloque objetivo de fusión. La unidad de cálculo de candidatos de bloques de fusión 311 procede al Paso S313 cuando el resultado de la determinación en el Paso S312 no es un bloque objetivo de fusión.
El elemento estructural principal en la Modalidad 2 es el Paso S312.
La FIGURA 24 es un diagrama de flujo que muestra detalles del proceso en el Paso S305 mostrado en la FIGURA 22. Específicamente, la FIGURA 24 ilustra un método para calcular un candidato de bloque de fusión. La FIGURA 24 se describirá a continuación.
En el Paso S321, la unidad de cálculo de candidatos de bloques de fusión 311 obtiene el vector de movimiento, el índice de imagen de referencia y la dirección de predicción de un candidato de bloque de fusión [N] y los agrega a una lista de candidatos de bloques de fusión (parte del primer procesamiento de deducción) .
En el Paso S322, la unidad de cálculo de candidatos de bloques de fusión 311 busca la lista de candidatos de bloques de fusión para un candidato no utilizable para la fusión y un candidato idéntico y retira el candidato no utilizable para la fusión y el candidato idéntico de la lista de candidatos de bloques de fusión como se muestra de la FIGURA 14A a la FIGURA 14E (parte del primer procesamiento de deducción) .
En el Paso S323, la unidad de cálculo de candidatos de bloques de fusión 311 agrega un nuevo candidato a la lista de candidatos de bloques de fusión utilizando el método ilustrado en la FIGURA 19.
La FIGURA 25 muestra una sintaxis ejemplar para la unión de índices de candidatos de bloques de fusión a una corriente de bits. En la FIGURA 25, merge_idx representa un índice de candidato de bloque de fusión y merge_flag representa un indicador de fusión. NumMergeCand representa el tamaño de una lista de candidatos de bloques de fusión. En la Modalidad 2, NumMergeCand se establece en el número total de candidatos utilizables para la fusión calculados en el flujo de procesos mostrado en la FIGURA 23. 2-3 Efectos, Variaciones y Otros Como se describiera anteriormente, en el caso donde un CU se divide en particiones para la decodificación y cuando un bloque adyacente está localizado dentro de la misma CU, el aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2 no agrega el bloque adyacente como un candidato de bloque de fusión, de modo que el índice de candidato de bloque de fusión no necesita ser asignado al candidato de bloque de fusión redundante. Esto es debido a que el uso de la misma dirección de predicción, vector de movimiento e índice de imagen de referencia para todas las particiones conduce a sustancialmente el mismo resultado que los resultados obtenidos al generar una imagen de predicción en una base por CU. Esto reduce las ventajas obtenidas al dividir una CU en PUs . Como resultado, el aparato de decodificación de imágenes 300 es capaz de decodificar apropiadamente una corriente de bits codificada con eficiencia de codificación incrementada. Adicionalmente, la remoción de un número más grande de candidatos de bloques de fusión redundantes de la lista de candidatos de bloques de fusión permite que se agregue un número más grande de nuevos candidatos. Como resultado, el aparato de decodificación de imágenes 300 es capaz de decodificar apropiadamente una corriente de bits codificada con eficiencia de codificación incrementada .
De esta manera, el aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2 es capaz de calcular el tamaño de una lista de candidatos de bloques de fusión para el uso en la codificación o decodificación de un índice de candidato de bloque de fusión, utilizando un método independiente de la información sobre imágenes de referencia que incluyen un bloque co-localizado . Por lo tanto, el aparato de decodificación de imágenes 300 puede decodificar apropiadamente una corriente de bits que tiene una resistencia al error incrementada.
Más específicamente, independientemente si un bloque de fusión co-localizado es o no un candidato utilizable para la fusión, el aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2 incrementa el número total de candidatos utilizables para la fusión por uno cada vez que un candidato de bloque de fusión se determina como un bloque de fusión co-localizado . Luego, el aparato de decodificación de imágenes 300 determina una secuencia de bits asignada a un índice de candidato de bloque de fusión utilizando el número total de candidatos utilizables para la fusión calculado de esta manera. Esto hace posible que el aparato de decodificación de imágenes 300 decodifique los índices de candidatos de bloques de fusión normalmente incluso cuando se pierde información sobre una imagen de referencia que incluye un bloque co-localizado.
Adicionalmente , cuando el número total de los candidatos de bloques de fusión es más pequeño que el número total de los candidatos utilizables para la fusión, es posible que el aparato de decodificación de imágenes 300 de acuerdo con la Modalidad 2 decodifique apropiadamente una corriente de bits codificada con una eficiencia de codificación incrementada al agregar un nuevo candidato que tiene un nuevo vector de movimiento, un nuevo índice de imagen de referencia y una nueva dirección de predicción como un candidato de bloque de fusión.
El ejemplo en la Modalidad 2 donde una CU se divide en PUs (Particiones) , tal como 2N x N, 2N x nU, 2N x nD, N x 2N, nL x 2N y n x 2N no es limitante. Por ejemplo, la Modalidad 2 se puede aplicar al caso donde la unidad de bloque de predicción es N x N como se muestra en la FIGURA 11(g) . En este caso, también, cuando un bloque adyacente está localizado dentro de la misma CU, el aparato de decodificación de imágenes 300 no agrega el bloque adyacente a la lista de candidatos de bloques de fusión, de modo que un índice de candidato de bloque de fusión no necesita ser asignado al candidato de bloque de fusión redundante. Esto permite que una corriente de bits codificada con eficiencia de codificación incrementada sea decodificada apropiadamente.
Se debe observar que el ejemplo descrito en la Modalidad 2 en el cual independientemente si un bloque de fusión co-localizado es un candidato utilizable para la fusión o un candidato no utilizable para la fusión, el aparato de decodificación de imágenes 300 incrementa el número total de candidatos de bloques de fusión por uno como se muestra en el Paso S315 en la FIGURA 23 no es limitante. En relación con otros bloques, el aparato de decodificación de imágenes 300 puede incrementar siempre el número total de candidatos de bloques de fusión por uno independientemente si los bloques son candidatos utilizables para la fusión o candidatos no utilizables para la fusión. En este caso, por ejemplo, el aparato de decodificación de imágenes 300 puede fijar siempre el número total de candidatos utilizables para la fusión en un valor máximo Max del número total de candidatos de bloques de fusión. En otras palabras, puede ser que el aparato de decodificación de imágenes 300 considere todos los candidatos de bloques de fusión como candidatos utilizables para la fusión, fije el tamaño de la lista de candidatos de bloques de fusión en el valor máximo N del número total de candidatos de bloques de fusión y decodifique el índice de candidato de bloque de fusión.
Por ejemplo, en la Modalidad 2, el valor máximo Max del número total de candidatos de bloques de fusión es 5 (el bloque adyacente A, el bloque adyacente B, el bloque de fusión co-localizado, el bloque adyacente C y el bloque adyacente D) . Por lo tanto, el aparato de decodificación de imágenes 300 puede establecer siempre 5 como el tamaño de la lista de candidatos de bloques de fusión y puede decodificar el índice de candidato de bloque de fusión. Adicionalmente , en el caso de una imagen codificada sin referencia a un bloque de fusión co-localizado (imagen B o imagen P codificada con referencia a la imagen I) , el aparato de decodificación de imágenes 300 puede establecer el valor de "4" (el bloque adyacente A, el bloque adyacente B, el bloque adyacente C y el bloque adyacente D) como el valor máximo Max del número total de candidatos de bloques de fusión. Por lo tanto, es posible que la unidad de decodificación de longitud variable del aparato de decodificación de imágenes decodifique un índice de candidato de bloque de fusión de una corriente de bits sin hacer referencia a información sobre un bloque adyacente o sobre un bloque co-localizado. Como resultado, por ejemplo, el Paso S314 y el Paso S315 mostrados en la FIGURA 23 pueden ser omitidos de modo que la complejidad computacional para la unidad de decodificación de longitud variable se puede reducir.
La FIGURA 26 muestra una sintaxis ejemplar en el caso donde el tamaño de una lista de candidatos de bloques de fusión se fija al valor máximo del número total de candidatos de bloques de fusión. Como se puede observar a partir de la FIGURA 26, NumMergeCand se puede omitir de la sintaxis cuando el tamaño de la lista de candidatos de bloques de fusión se fija al valor máximo del número total de candidatos de bloques de fusión.
Opcionalmente , como el valor máximo Max del número total de candidatos de bloques de fusión, se puede utilizar un valor el cual se incorpora en un SPS, un PPS, un encabezado de corte o similares. Esto hace posible cambiar el valor máximo Max del número total de candidatos de bloques de fusión para cada imagen actual, lo cual permite la reducción en la complejidad computacional y una corriente de bits codificada con una eficiencia de codificación incrementada que es decodificada apropiadamente.
Variaciones de la Modalidad 1 y la Modalidad 2 En la Modalidad 1 y la Modalidad 2, se proporcionan descripciones del caso donde se generan candidatos de bloques de fusión a partir de bloques adyacentes espacialmente (por ejemplo, los bloques adyacentes A a E) de un bloque objetivo (un bloque actual que es codificado o decodificado) y un bloque adyacente temporalmente (por ejemplo, un bloque co-localizado) , de acuerdo con el proceso mostrado en la FIGURA 15 o la FIGURA 24 y se generan candidatos de bloques de fusión mostrados de la FIGURA 14A a la FIGURA 14E.
En este documento, en la Modalidad 1 y la Modalidad 2, cuando el tamaño de una lista de candidatos de bloques de fusión es un valor fijo y la lista de candidatos de bloques de fusión tiene una entrada vacía, la entrada vacía de la lista de candidatos de bloques de fusión se puede llenar con un candidato de bloque de fusión predeterminado para el mejoramiento de la resistencia al error (segundo candidato) de modo que la resistencia al error se puede mejorar.
Por ejemplo, cuando una imagen actual (que es codificada o que es decodificada) es una imagen B, el segundo candidato que se agrega puede ser un candidato de bloque de fusión bi-predictivo que incluye un conjunto de un índice de imagen de referencia 0 para una dirección de predicción 0 y un vector de movimiento (0, 0) y un conjunto de un índice de imagen de referencia 0 para una dirección de predicción 1 y un vector de movimiento (0, 0) . Por ejemplo, cuando una imagen actual es una imagen P, el segundo candidato que se agrega puede ser un candidato de bloque de fusión uni-predictivo que incluye un índice de imagen de referencia 0 para una dirección de predicción 0 y un vector de movimiento (0, 0) . Puesto que los segundos candidatos se agregan con el propósito de mejorar la resistencia al error, los segundos candidatos se pueden establecer para tener valores idénticos. Puesto que los nuevos candidatos se agregan con el propósito de incrementar la eficacia de codificación, los nuevos candidatos agregados son diferentes entre sí. Se debe observar que un nuevo candidato puede ser idéntico a un primer candidato o un segundo candidato como resultado.
Por ejemplo, en el ejemplo mostrado en la FIGURA 14A, el valor máximo del número total de candidatos de bloques de fusión es 5. Como se muestra en la FIGURA 14B, el número total de candidatos de bloques de fusión (el número de primeros candidatos) es 4. Por lo tanto, en el ejemplo mostrado en la FIGURA 14A, ningún candidato de bloque de fusión se asigna al índice de candidato de bloque de fusión 4. Puede ser que un segundo candidato, por ejemplo, un candidato de bloque de fusión bi-predictivo que incluye un conjunto de un índice de imagen de referencia 0 para una dirección de predicción O y un vector de movimiento (0, 0) y un conjunto de un índice de imagen de referencia 0 para una dirección de predicción 1 y un vector de movimiento (0, 0) se puede asignar al índice de candidato de bloque de fusión 4.
Al hacer esto, por ejemplo, el aparato de decodificación de imágenes 300 puede evitar tener un índice de candidato de bloque de fusión decodificado al cual no se asigna un candidato de bloque de fusión, incluso cuando ocurre un error en la remoción de un candidato idéntico de los candidatos de bloques de fusión.
Se debe observar que la presente variación en la cual un candidato de bloque de fusión que tiene una imagen de referencia 0 y un vector de movimiento (0, 0) se asigna a un índice de candidato de bloque de fusión al cual no se asigna un candidato de bloque de fusión no es limitante. Los ejemplos de segundos candidatos incluyen una copia de un candidato de bloque de fusión asignado a otro índice de candidato de bloque de fusión. Adicionalmente, un segundo candidato se puede generar a partir de candidatos de bloques de fusión asignados a otros candidatos de bloques de fusión, tal como generados al promediar candidatos asignados a otros índices de candidatos de bloques de fusión.
Adicionalmente, el aparato de decodificación de imágenes 300 puede determinar en el Paso S306 mostrado en la FIGURA 22 si un candidato de bloque de fusión ha sido asignado o no a un índice de candidato de bloque de fusión decodificado y puede utilizar un segundo candidato cuando el candidato de bloque de fusión no ha sido asignado.
Por ejemplo, el aparato de decodificación de imágenes 300 puede determinar en el Paso S306 mostrado en la FIGURA 22 si el valor de índice de candidato de bloque de fusión decodificado es o no más grande que o igual al número total de candidatos de bloques de fusión calculado en el Paso S305 y puede utilizar un segundo candidato cuando el valor del índice de candidato de bloque de fusión es más grande que o igual al número total de candidatos de bloques de fusión.
Adicionalmente , por ejemplo, el aparato de decodificación de imágenes 300 puede determinar en el Paso S306 en la FIGURA 22 si el valor de índices de candidatos de bloques de fusión decodificados es o no más grande que o igual al número total de candidatos de bloques de fusión calculado en el Paso S305 y cuando el valor del índice de candidato de bloque de fusión decodificado es más grande que o igual al número total de candidatos de bloques de fusión, el valor del índice de candidato de bloque de fusión se puede recortar de modo que el valor del índice de candidato de bloque de fusión decodificado sea más pequeño que el número total de candidatos de bloques de fusión. Al hacer esto, por ejemplo, es posible evitar tener un índice de candidato de bloque de fusión decodificado al cual no se asigna un candidato de bloque de fusión, incluso cuando ocurre un error en la remoción de un candidato idéntico de los candidatos de bloques de fusión.
Modalidad 3 El procesamiento descrito en cada una de las modalidades se puede implementar simplemente en un sistema de computadora independiente, al grabar, en un medio de grabación, uno o más programas para implementar las configuraciones del método de codificación de imágenes en movimiento (método de codificación de imágenes) y el método de decodificación de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades. Los medios de grabación pueden ser cualquier medio de grabación siempre y cuando el programa pueda ser grabado, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC y una memoria semiconductora .
En lo sucesivo, se describirán las aplicaciones para el método de codificación de imágenes en movimiento (método de codificación de imágenes) y el método de decodificación de imágenes en movimiento (método de decodificación de imágenes) descritos en cada una de las modalidades y sistemas utilizando los mismos. El sistema tiene una característica que consiste en tener un aparato de codificación de imágenes que incluye un aparato de codificación de imágenes que utiliza el método de codificación de imágenes y un aparato de decodificación de imágenes que utiliza el método de decodificación de imágenes. Otras configuraciones en el sistema se pueden cambiar apropiadamente dependiendo de las situaciones.
La FIGURA 27 ilustra una configuración completa de un sistema de provisión de contenido exlOO para implementar los servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en celdas del tamaño deseado y las estaciones base exl06, exl07, exl08, exl09 y exllO las cuales son estaciones inalámbricas fijas se colocan en cada una de las celdas.
El sistema de provisión de contenido exlOO se conecta a dispositivos, tal como una computadora exlll, un asistente digital personal (PDA, por sus siglas en inglés) exll2, una cámara exll3, un teléfono celular exll4 y una consola de videojuegos exll5, por vía de la Internet exlOl, un proveedor de servicios de Internet exl02, una red telefónica exl04, así como también las estaciones base exl06 a exllO, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido exlOO no está limitada a la configuración mostrada en la FIGURA 27 y es aceptable una combinación en la cual cualquiera de los elementos se conecta. Además, cada dispositivo se puede conectar directamente a la red telefónica exl04, preferiblemente que por vía de las estaciones base exl06 a exllO las cuales son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos se pueden interconectar entre sí por vía de una comunicación inalámbrica a corta distancia y otras.
La cámara exll3, tal como una cámara de video digital, es capaz de capturar video. Una cámara exll6, tal como una cámara digital, es capaz de capturar tanto imágenes fijas como video. Adicionalmente, el teléfono celular exll4 puede ser aquel que cumpla con cualquiera de los estándares tales como el Sistema Global para Comunicaciones Móviles (GSM, por sus siglas en inglés) (marca registrada) , Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés) , Acceso Múltiple por División de Código de Banda Ancha (W-CDMA, por sus siglas en inglés) , Evolución a Largo Plazo (LTE, por sus siglas en inglés) y Acceso de Paquetes a Alta Velocidad (HSPA, por sus siglas en inglés) . Alternativamente, el teléfono celular exll4 puede ser un Sistema de Teléfonos Personales (PHS, por sus siglas en inglés) .
En el sistema de provisión de contenido exlOO, un servidor de transmisión ininterrum ida exl03 se conecta a la cámara exll3 y otros por vía de la red telefónica exl04 y la estación base exl09, lo cual hace posible la distribución de imágenes de un espectáculo en vivo y otros. En esta distribución, un contenido (por ejemplo, video de un espectáculo musical en vivo) capturado por el usuario utilizando la cámara exll3 se codifica como se describiera anteriormente en cada una de las modalidades (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) y el contenido codificado se transmite al servidor de transmisión ininterrumpida exl03. Por otra parte, el servidor de transmisión ininterrumpida exl03 lleva a cabo la distribución ininterrumpida de los datos de contenido transmitidos a los clientes cuando lo soliciten. Los clientes incluyen la computadora exlll, el PDA exll2, la cámara exll3, el teléfono celular exll4 y la consola de videojuegos exll5 que son capaces de decodificar los datos codificados que se mencionaron anteriormente. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención) .
Los datos capturados pueden ser codificados por la cámara exll3 o el servidor de transmisión ininterrumpida exl03 que transmite los datos, o los procesos de codificación pueden ser compartidos entre la cámara exll3 y el servidor de transmisión ininterrumpida exl03. Similarmente , los datos distribuidos pueden ser decodificados por los clientes o el servidor de transmisión ininterrumpida exl03, o los procesos de decodificación pueden ser compartidos entre los clientes y el servidor de transmisión ininterrumpida exl03. Adicionalmente, los datos de las imágenes fijas y video capturados no solo por la cámara exll3 sino también la cámara exll6 pueden ser transmitidos al servidor de transmisión ininterrumpida exl03 a través de la computadora exlll. Los procesos de codificación pueden ser realizados por la cámara exll6, la computadora exlll o el servidor de transmisión ininterrumpida exl03, o pueden ser compartidos entre los mismos .
Adicionalmente, los procesos de codificación pueden ser realizados por un LSI ex500 incluido generalmente en cada uno de la computadora exlll y los dispositivos. El LSI ex500 se puede configurar de un chip individual o una pluralidad de chips . El software para codificar video puede ser integrado en algún tipo de medio de grabación (tal como un CD-ROM, disco flexible y disco duro) que es legible por la computadora exlll y otros, y los procesos de codificación se pueden realizar utilizando el software. Adicionalmente, cuando el teléfono celular exll4 se equipa con una cámara, los datos de video obtenidos por la cámara se pueden transmitir. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular exll .
Adicionalmente, el servidor de transmisión ininterrumpida exl03 puede estar compuesto de servidores y computadoras y puede descentralizar datos y procesar los datos descentralizados, grabar o distribuir datos.
Como se describiera anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido exlOO. En otras palabras, los clientes pueden recibir y decodificar información transmitida por el usuario y pueden reproducir los datos decodificados en tiempo real en el sistema de provisión de contenido exlOO, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar una difusión personal .
Además del ejemplo del sistema de provisión de contenido exlOO, por lo menos uno del aparato de codificación de imágenes en movimiento (aparato de codificación de imágenes) descrito en cada una de las modalidades se puede implementar en un sistema de difusión digital ex200 ilustrado en la FIGURA 28. Más específicamente, una estación de difusión ex201 comunica o transmite, por vía de ondas de radio a un satélite de difusión ex202, datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video. Los datos de video son datos codificados por medio del método de codificación de imágenes en movimiento descrito en cada una de las modalidades (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención) . Con la recepción de los datos multiplexados , el satélite de difusión ex202 transmite ondas de radio para la difusión. Luego, una antena de uso casero ex204 con una función de recepción de difusión satelital recibe las ondas de radio. Después, un dispositivo tal como una televisión (receptor) ex300 y un sintonizador externo (STB, por sus siglas en inglés) ex217 decodifica los datos multiplexados recibidos y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención) .
Adicionalmente , un lector/grabador ex218 (i) lee y decodifica los datos multiplexados que están grabados en un medio de grabación ex215, tal como un DVD y un BD o (i) codifica señales de video en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos al multiplexar una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento como se muestra en cada una de las modalidades. En este caso, las señales de video reproducidas son exhibidas en el monitor ex219 y pueden ser reproducidas por otro dispositivo o sistema utilizando el medio de grabación ex215 en el cual se graban los datos multiplexados. También es posible implementar el aparato de decodificación de imágenes en movimiento en el sintonizador externo ex217 conectado al cable ex203 para una televisión de cable o a la antena ex204 para la difusión satelital y/o terrestre, con el fin de exhibir las señales de video en el monitor ex219 de la televisión ex300. El aparato de decodificación de imágenes en movimiento puede no ser implementado en el sintonizador externo sino en la televisión ex300.
La FIGURA 29 ilustra la televisión (receptor) ex300 que utiliza el método de codificación de imágenes en movimiento y el método de decodificación de imágenes en movimiento descritos en cada una de las modalidades. La televisión ex300 incluye: un dispositivo de sintonización ex301 que obtiene o proporciona datos multiplexados obtenidos al multiplexar datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etcétera que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados para ser suministrados al exterior; y una unidad de multiplexión/desmultiplexión ex303 que desmultiplexa los datos multiplexados modulados en datos de video y datos de audio o multiplexa datos de video y datos de audio codificados por una unidad de procesamiento de señales ex306 en datos.
La televisión ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 que codifican cada uno de los datos de audio y datos de video (que funcionan como el aparato de codificación de imágenes de acuerdo con los aspectos de la presente invención) ; y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada y una unidad de exhibición ex308 que exhibe la señal de video decodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interconexión ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación del usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla en conjunto cada elemento constituyente de la televisión ex300 y una unidad de circuitos de suministro de energía ex311 que suministra energía a cada uno de los elementos. A diferencia de la unidad de entrada de operación ex312, la unidad de interconexión ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para hacer posible la unión del medio de grabación ex216, tal como una tarjeta SD; un controlador ex315 que es conectado a un medio de grabación externo, tal como un disco duro; y un módem ex316 que es conectado a una red telefónica. En este documento, el medio de grabación ex216 puede grabar eléctricamente información utilizando un elemento de memoria semiconductora no volátil/volátil para el almacenamiento. Los elementos constituyentes de la televisión ex300 se conectan entre sí a través de una barra colectora sincrónica.
En primer lugar, se describirá la configuración en la cual la televisión ex300 decodifica los datos multiplexados obtenidos del exterior a través de la antena ex204 y otros y reproduce los datos decodificados . En la televisión ex300, con la operación de un usuario a través de un controlador distante ex220 y otros, la unidad de multiplexión/desmultiplexión ex303 desmultiplexa los datos multiplexados que son desmodulados por la unidad de modulación/desmodulación ex302, bajo control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio desmultiplexados y la unidad de procesamiento de señales de video ex305 decodifica los datos de video desmultiplexados, utilizando el método de decodificación descrito en cada una de las modalidades, en la televisión ex300. La unidad de salida ex309 proporciona la señal de video y la señal de audio decodificadas al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex318 y ex319 y otras de modo que las señales sean reproducidas en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una difusión y otros sino de los medios de grabación ex215 y ex216, tal como un disco magnético, un disco óptico y una tarjeta SD. Después, se describirá una configuración en la cual la televisión ex300 codifica una señal de audio y una señal de video y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, con la operación de un usuario a través del controlador distante ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo control de la unidad de control ex310 utilizando el método de codificación descrito en cada una de las modalidades. La unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio codificadas y proporciona la señal resultante al exterior. Cuando la unidad de multiplexión/desmultiplexión ex303 multiplexa la señal de video y la señal de audio, las señales pueden ser almacenadas temporalmente en las memorias intermedias ex320 y ex321 y otras de modo que las señales sean reproducidas en sincronización entre sí. En este documento, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser plurales como se ilustra o por lo menos una memoria intermedia puede ser compartida en la televisión ex300. Adicionalmente, se pueden almacenar datos en una memoria intermedia de modo que se puede evitar el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexión/desmultiplexion ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV de un micrófono o una cámara diferente de la configuración para obtener datos de audio y video de una difusión o un medio de grabación y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede ser capaz de únicamente recibir, decodificar y proporcionar datos al exterior pero no de codificar, multiplexar y proporcionar datos al exterior.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados de o en un medio de grabación, uno de la televisión ex300 y el lector/grabador ex218 puede codificar los datos multiplexados y la televisión ex300 y el lector/grabador ex218 pueden compartir parcialmente la codificación.
Como un ejemplo, la FIGURA 30 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando los datos son leídos o escritos de o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen posteriormente en este documento. La cabeza óptica ex401 irradia un foco de láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información y detecta la luz reflejada de la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 impulsa eléctricamente un láser semiconductor incluido en la cabeza óptica ex401 y modula la luz láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada de la superficie de grabación utilizando un fotodetector incluido en la cabeza óptica ex401 y desmodula la señal de reproducción al separar un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene temporalmente la información a ser grabada en el medio de grabación ex215 y la información reproducida del medio de grabación ex215. El motor del disco ex405 hace girar el medio de grabación ex215. La unidad de servomando ex406 mueve la cabeza óptica ex401 a una pista de información predeterminada mientras que controla el impulso de rotación del motor del disco ex405 con el fin de seguir el foco de láser. La unidad de control del sistema ex407 controla en conjunto la unidad de reproducción/grabación de información ex400. Los procesos de lectura y escritura pueden ser implementados por la unidad de control del sistema ex407 utilizando diversa información almacenada en la memoria intermedia ex404 y generando y agregando nueva información como sea necesario y por medio de la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403 y la unidad de servomando ex406 que graban y reproducen información a través de la cabeza óptica ex401 mientras que son operados de manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta el procesamiento al causar que una computadora ejecute un programa para leer y escribir.
Aunque la cabeza óptica ex401 irradia un foco de láser en la descripción, puede realizar la grabación de alta densidad utilizando luz de campo próximo.
La FIGURA 31 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, las acanaladuras guía se forman en espiral y una pista de información ex230 graba, anticipadamente, información de dirección que indica una posición absoluta en el disco de acuerdo con un cambio en una forma de las acanaladuras guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y la lectura de la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232 y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para el uso en la grabación de los datos del usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que son el interior y el exterior del área de grabación de datos ex233, respectivamente, son para uso específico excepto para la grabación de los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificados, datos de video codificados o datos multiplexados que se obtienen al multiplexar los datos de audio y video codificados, de y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se proporciona como un ejemplo en la descripción, el disco óptico no está limitado a ese tipo y puede ser un disco óptico que tenga una estructura de múltiples capas y que pueda ser grabado en una parte diferente de la superficie. Adicionalmente, el disco óptico puede tener una estructura para la grabación/reproducción multidimensional , tal como la grabación de información utilizando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde varios ángulos.
Adicionalmente, un carro ex210 que tiene una antena ex205 puede recibir datos del satélite ex202 y otros, y puede reproducir video en un dispositivo de exhibición tal como un sistema de navegación de carro ex211 establecido en el carro ex210, en el sistema de difusión digital ex200. En este documento, una configuración del sistema de navegación de carro ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS de la configuración ilustrada en la FIGURA 29. Lo mismo será cierto para la configuración de la computadora exlll, el teléfono celular exll4 y otros.
La FIGURA 32A ilustra el teléfono celular exll4 que utiliza el método de codificación de imágenes en movimiento descrito en las modalidades. El teléfono celular exll4 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base exllO; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de exhibición ex358 tal como una pantalla de cristal líquido para exhibir los datos tales como video decodificado que es capturado por la unidad de cámara ex365 o es recibido por la antena ex350. El teléfono celular exll4 incluye además: una unidad de cuerpo principal que incluye una unidad clave de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar video o imágenes fijas capturados, audio grabado, datos codificados del video recibido, las imágenes fijas, correos electrónicos u otros; y una unidad de ranura ex364 que es una unidad de interconexión para un medio de grabación que almacena datos de la misma manera que la unidad de memoria ex367.
Después, un ejemplo de una configuración del teléfono celular exll4 se describirá con referencia a la FIGURA 32B. En el teléfono celular exll4, una unidad de control principal ex360 diseñada para controlar en conjunto cada unidad del cuerpo principal que incluye la unidad de exhibición ex358, así como también la unidad clave de operación ex366 se conecta mutuamente, por vía de una barra colectora sincrónica ex370, a una unidad de circuitos de suministro de energía ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video ex355, una unidad de interconexión de cámara ex363, una unidad de control de la pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexión/desmultiplexión ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367.
Cuando una tecla de final de llamada o una tecla de energía es encendida por la operación de un usuario, la unidad de circuitos de suministro de energía ex361 provee a las unidades respectivas con energía de un empaque de baterías con el fin de activar el teléfono celular exll4.
En el teléfono celular exll4, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recolectadas por la unidad de entrada de audio ex356 en modo de conversación de voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Luego, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro expandido en las señales de audio digital y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos, con el fin de transmitir los datos resultantes por vía de la antena ex350. También, en el teléfono celular exll4, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación de voz y realiza la conversión de frecuencia y la conversión de análogo a digital en los datos. Luego, la unidad de modulación/desmodulación ex352 realiza el procesamiento de espectro expandido inverso en los datos y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio análogo, con el fin de enviarlos por vía de la unidad de salida de audio ex357.
Adicionalmente, cuando un correo electrónico en modo de comunicación de datos se transmite, los datos de texto del correo electrónico introducidos por medio de la operación de la unidad clave de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 por vía de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 causa que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro expandido en los datos de texto y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base exllO por vía de la antena ex350. Cuando se recibe un correo electrónico, el procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza en los datos recibidos y los datos resultantes se proporcionan a la unidad de exhibición ex358.
Cuando se transmite video, imágenes fijas o video y audio en el modo de comunicación de datos, la unidad de procesamiento de señales de video ex355 comprime y codifica señales de video suministradas de la unidad de cámara ex365 utilizando el método de codificación de imágenes en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención) y transmite los datos de video codificados a la unidad de multiplexión/desmultiplexión ex353. En contraste, cuando la unidad de cámara ex365 captura video, imágenes fijas y otros, la unidad de procesamiento de señales de audio ex354 codifica señales de audio recolectadas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados a la unidad de multiplexión/desmultiplexión ex353.
La unidad de multiplexión/desmultiplexión ex353 multiplexa los datos de video codificados que son suministrados de la unidad de procesamiento de señales de video ex355 y los datos de audio codificados que son suministrados de la unidad de procesamiento de señales de audio ex354, utilizando un método predeterminado. Luego, la unidad de modulación/desmodulación (unidad de circuitos de modulación/desmodulación) ex352 realiza el procesamiento de espectro expandido en los datos multiplexados y la unidad de transmisión y recepción ex351 realiza la conversión de digital a análogo y la conversión de frecuencia en los datos con el fin de transmitir los datos resultantes por vía de la antena ex350.
Cuando se reciben datos de un archivo de video el cual está vinculado con una página Web y otros en el modo de comunicación de datos o cuando se recibe un correo electrónico con video y/o audio anexo, con el propósito de decodificar los datos multiplexados que son recibidos por vía de la antena ex350, la unidad de multiplexión/desmultiplexión ex353 desmultiplexa los datos multiplexados en una corriente de bits de datos de video y una corriente de bits de datos de audio y provee a la unidad de procesamiento de señales de video ex355 con los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través de la barra colectora sincrónica ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video utilizando un método de decodificación de imágenes en movimiento que corresponde al método de codificación de imágenes en movimiento mostrado en cada una de las modalidades (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con el aspecto de la presente invención) y luego la unidad de exhibición ex358 exhibe, por ejemplo, el video y las imágenes fijas que están incluidos en el archivo de video vinculado con la página Web por vía de la unidad de control de LCD ex359. Adicionalmente , la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio y la unidad de salida de audio ex357 proporciona el audio. Adicionalmente, la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, es posible que una terminal tal como el teléfono celular exll4 tenga 3 tipos de configuraciones de implementación que incluyen no únicamente (i) una terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) una terminal de transmisión que incluye únicamente un aparato de codificación y (iii) una terminal de recepción que incluye únicamente un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados que se obtienen al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de carácter relacionados con video en datos de video y pueden no ser datos multiplexados sino datos de video mismos. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados que se obtienen al multiplexar datos de audio en datos de video en la descripción, los datos multiplexados pueden ser datos obtenidos al multiplexar no datos de audio sino datos de carácter relacionados con video en datos de video y pueden no ser datos multiplexados sino datos de video mismos.
Como tal, el método de codificación de imágenes en movimiento en cada una de las modalidades se puede utilizar en cualquiera de los dispositivos y sistemas descritos. De esta manera, se pueden obtener las ventajas descritas en cada una de las modalidades.
Adicionalmente, la presente invención no está limitada a las modalidades, y son posibles varias modificaciones y revisiones sin apartarse del alcance de la presente invención.
Modalidad 4 Los datos de video se pueden generar al conmutar, como sea necesario, entre (i) el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrados en cada una de las modalidades y (ii) un método de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG-4 AVC y VC-1.
En este documento, cuando una pluralidad de datos de video que cumplen con los diferentes estándares se generan y luego se decodifican, es necesario que los métodos de decodificación se seleccionen para cumplir con los diferentes estándares. Sin embargo, puesto que no se puede detectar que estándar cumple cada uno de la pluralidad de datos de video que son decodificados , existe el problema respecto a que no se puede seleccionar un método de decodificación apropiado.
Con el propósito de resolver el problema, los datos multiplexados que se obtienen al multiplexar datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica que estándar cumplen los datos de video. La estructura específica de los datos multiplexados que incluyen los datos de video generados en el método de codificación de imágenes en movimiento y por el aparato de codificación de imágenes en movimiento mostrados en cada una de las modalidades se describirá en lo sucesivo. Los datos multiplexados son una corriente digital en el formato de Corriente de Transporte de MPEG2.
La FIGURA 33 ilustra una estructura de los datos multiplexados. Como se ilustra en la FIGURA 33, los datos multiplexados se pueden obtener al multiplexar por lo menos una de una corriente de video, una corriente de audio, una corriente de gráficos de presentación (PG, por sus siglas en inglés) y una corriente de gráficos interactivos. La corriente de video representa video primario y video secundario de una película, la corriente de audio (IG) representa una parte de audio primario y una parte de audio secundario que se mezcla con la parte de audio primario y la corriente de gráficos de presentación representa subtítulos de la película. En este documento, el video primario es video normal que es exhibido en una pantalla y el video secundario es video que es exhibido en una ventana más pequeña en el video primario. Adicionalmente , la corriente de gráficos interactivos representa una pantalla interactiva que es generada al ordenar los componentes de GUI en una pantalla. La corriente de video se codifica en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento mostrados en cada una de las modalidades, o en un método de codificación de imágenes en movimiento o por un aparato de codificación de imágenes en movimiento de conformidad con un estándar convencional, tal como MPEG-2, PEG-4 AVC y VC-1. La corriente de audio se codifica de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada corriente incluida en los datos multiplexados es identificada por un PID. Por ejemplo, 0x1011 se asigna a la corriente de video que se utiliza para el video de una película, de 0x1100 a OxlllF se asignan a las corrientes de audio, de 0x1200 a 0xl21F se asignan a las corrientes de gráficos de presentación, de 0x1400 a 0xl41F se asignan a las corrientes de gráficos interactivos, de OxlBOO a OxlBlF se asignan a las corrientes de video que se utilizan para el video secundario de la película y de OxlAOO a OxlAlF se asignan a las corrientes de audio que se utilizan para el audio secundario que se mezcla con el audio primario.
La FIGURA 34 ilustra esquemáticamente como se multiplexan los datos. En primer lugar, una corriente de video ex235 compuesta de tramas de video y una corriente de audio ex238 compuesta de tramas de audio se transforman en una corriente de paquetes PES ex236 y una corriente de paquetes PES ex239 y además en paquetes TS ex237 y paquetes TS ex240, respectivamente. Similarmente , los datos de una corriente de gráficos de presentación ex241 y los datos de una corriente de gráficos interactivos ex244 se transforman en una corriente de paquetes PES ex242 y una corriente de paquetes PES ex245 y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS son multiplexados en una corriente para obtener datos multiplexados ex247.
La FIGURA 35 ilustra con mayor detalle como se almacena una corriente de video en una corriente de paquetes PES. La primera barra en la FIGURA 35 muestra una corriente de tramas de video en una corriente de video. La segunda barra muestra la corriente de paquetes PES. Como es indicado por las flechas designadas como yyl, yy2 , yy3 e yy4 en la FIGURA 35, la corriente de video se divide en imágenes como imágenes I , imágenes B e imágenes P cada una de las cuales es una unidad de presentación de video y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado de PES y el encabezado de PES almacena un Registro de Tiempos de Presentación (PTS, por sus siglas en inglés) que indica un tiempo de exhibición de la imagen y un Registro de Tiempos de Decodificación (DTS , por sus siglas en inglés) que indica un tiempo de decodificación de la imagen.
La FIGURA 36 ilustra un formato de paquetes TS que se escriben finalmente en los datos multiplexados . Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes, que incluye un encabezado de TS de 4 bytes que tiene información, tal como un PID para identificar una corriente y una carga útil de TS de 184 bytes para almacenar datos. Los paquetes PES se dividen y se almacenan en las cargas útiles de TS, respectivamente. Cuando se utiliza un BD ROM, a cada uno de los paquetes TS se proporciona un TP_Extra_Header (Encabezado Adicional TP) de 4 bytes, dando por resultado de esta manera paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información tal como un Arrival_Time_Stamp (Registro de Tiempos de Llegada) (ATS, por sus siglas en inglés) . El ATS muestra un tiempo de inicio de transferencia en el cual cada uno de los paquetes TS deben ser transferidos a un filtro de PID. Los paquetes fuente se ordenan en los datos multiplexados como se muestra en el fondo de la FIGURA 36. Los números que incrementan desde la cabeza de los datos multiplexados son llamados números de paquete fuente (SPNs, por sus siglas en inglés) .
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no únicamente corrientes de audio, video, subtítulos y otros, sino también una Tabla de Asociación de Programas (PAT, por sus siglas en inglés) , una Tabla de Mapa de Programas (PMT, por sus siglas en inglés) y una Referencia de Reloj de Programa (PCR, por sus siglas en inglés) . La PAT muestra lo que indica un PID en una PMT utilizada en los datos multiplexados y un PID de la PAT misma se registra como cero. La PMT almacena PIDs de las corrientes de video, audio, subtítulos y otros incluidas en los datos multiplexados y la información de atributos de las corrientes correspondientes a los PIDs. La PMT también tiene varios descriptores que se refieren a los datos multiplexados. Los descriptores tienen información tal como información de control de copias que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena la información de tiempo de STC que corresponde a un ATS que muestra cuando el paquete de PCR se transfiere a un decodificador, con el propósito de lograr una sincronización entre un Reloj de Tiempo de Llegada (ATC) que es un eje de tiempo de ATSs y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de PTSs y DTSs.
La FIGURA 37 ilustra detalladamente la estructura de datos de la PMT. Un encabezado de PMT se coloca en la parte más alta de la PMT. El encabezado de PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores que se refieren a los datos multiplexados se coloca después del encabezado de PMT. Información tal como la información de control de copias se describe en los descriptores. Después de los descriptores, se coloca una pluralidad de piezas de información de corriente que se refiere a las corrientes incluidas en los datos multiplexados . Cada pieza de información de corriente incluye descriptores de corriente cada uno que describe información, tal como un tipo de corriente para identificar un codee de compresión de una corriente, un PID de corriente e información de atributos de corriente (tal como una velocidad de tramas o una relación dimensional) . Los descriptores de corriente son iguales en número al número de corrientes en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la FIGURA 38. Los archivos de información de datos multiplexados están en correspondencia de uno a uno con los datos multiplexados y cada uno de los archivos incluye información de datos multiplexados, información de atributos de corriente y un mapa de entrada.
Como se ilustra en la FIGURA 38, la información de datos multiplexados incluye una velocidad de sistema, un tiempo de inicio de reproducción y un tiempo de final de reproducción. La velocidad de sistema indica la velocidad de transferencia máxima a la cual un decodificador objetivo del sistema que se describe posteriormente transfiere los datos multiplexados a un filtro de PID. Los intervalos de los ATSs incluidos en los datos multiplexados se establecen a un nivel no más alto que una velocidad de sistema. El tiempo de inicio de reproducción indica un PTS en una trama de video en la cabeza de los datos multiplexados. Un intervalo de una trama se agrega a un PTS en una trama de video al final de los datos multiplexados y el PTS se establece al tiempo de final de reproducción.
Como se muestra en la FIGURA 39, una pieza de información de atributos se registra en la información de atributos de corriente, para cada PID de cada corriente incluida en los datos multiplexados. Cada pieza de información de atributos tiene diferente información dependiendo si la corriente correspondiente es una corriente de video, una corriente de audio, una corriente de gráficos de presentación o una corriente de gráficos interactivos. Cada pieza de información de atributos de corriente de video lleva información que incluye que clase de codee de compresión se utiliza para la compresión de la corriente de video y la resolución, relación dimensional y velocidad de trama de las piezas de datos de imagen que se incluyen en la corriente de video. Cada pieza de información de atributos de corriente de audio lleva información que incluye que clase de codee de compresión se utiliza para comprimir la corriente de audio, cuantos canales se incluyen en la corriente de audio, que lenguaje soporta la corriente de audio y que tan alta es la frecuencia de muestreo. La información de atributos de corriente de video y la información de atributos de corriente de audio se utilizan para la inicialización de un decodificador antes de que el reproductor repita la información.
En la presente modalidad, los datos multiplexados que se utilizan son de un tipo de corriente incluido en la PMT. Adicionalmente , cuando los datos multiplexados se graban en un medio de grabación, la información de atributos de corriente de video incluida en la información de datos multiplexados se utiliza. Más específicamente, el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades incluye un paso o una unidad para asignar información única que indica los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades, al tipo de corriente incluido en la PMT o la información de atributos de corriente de video. Con la configuración, los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades se pueden distinguir de los datos de video que cumplen con otro estándar.
Adicionalmente, la FIGURA 40 ilustra pasos del método de decodificación de imágenes en movimiento de acuerdo con la presente modalidad. En el Paso exSlOO, el tipo de corriente incluido en la PMT o la información de atributos de corriente de video incluida en la información de datos multiplexados se obtiene de los datos multiplexados . Después, en el Paso exSlOl, se determina si el tipo de corriente o la información de atributos de corriente de video indica o no que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades. Cuando se determina que el tipo de corriente o la información de atributos de corriente de video indica que los datos multiplexados son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las modalidades, en el Paso exS102, la decodificación es realizada por el método de decodificación de imágenes en movimiento en cada una de las modalidades. Adicionalmente, cuando el tipo de corriente o la información de atributos de corriente de video indica el cumplimiento de los estándares convencionales, tales como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS103, la decodificación es realizada por un método de decodificación de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, la asignación de un nuevo valor único al tipo de corriente o a la información de atributos de corriente de video hace posible la determinación si el método de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento que se describen en cada una de las modalidades pueden realizar o no la decodificación. Incluso cuando se introducen datos multiplexados que cumplen con un estándar diferente, se puede seleccionar un método o aparato de decodificación apropiado. De esta manera, se hace posible decodificar información sin ningún error. Adicionalmente , el método o aparato de codificación de imágenes en movimiento, o el método o aparato de decodificación de imágenes en movimiento en la presente modalidad se puede utilizar en los dispositivos y sistemas descritos anteriormente.
Modalidad 5 Cada uno del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento en cada una de las modalidades se logra típicamente en la forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI, por sus siglas en inglés) . Como un ejemplo del LSI, la FIGURA 41 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 y ex509 que se describen posteriormente, y los elementos se conectan entre sí a través de una barra colectora ex510. La unidad de circuitos de suministro de energía ex505 es activada al proveer a cada uno de los elementos con energía cuando la unidad de circuitos de suministro de energía ex505 se enciende.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal de AV de un micrófono exll7, una cámara exll3 y otros a través de una 10 de AV ex509 bajo control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de corriente ex504 y una unidad de control de frecuencia impulsora ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo control de la unidad de control ex501, los datos almacenados son segmentados en porciones de datos de acuerdo con la cantidad y velocidad de procesamiento que se transmite a una unidad de procesamiento de señales ex507. Luego, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. En este documento, la codificación de la señal de video es la codificación descrita en cada una de las modalidades. Adicionalmente, la unidad de procesamiento de señales ex507 multiplexa algunas veces los datos de audio codificados y los datos de video codificados, y una 10 de corriente ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados son transmitidos a la estación base exl07, o se escriben en el medio de grabación ex215. Cuando se multiplexan los conjuntos de datos, los datos se deben almacenar temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, se puede incluir en el LSI ex500. La memoria intermedia ex508 no está limitada a una memoria intermedia, sino que puede estar compuesta de memorias intermedias. Adicionalmente , el LSI ex500 se puede hacer en un chip o una pluralidad de chips .
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de corriente ex504, y la unidad de control de frecuencia impulsora ex512, la configuración de la unidad de control ex501 no está limitada a éstos. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o puede ser una parte de la unidad de procesamiento de señales ex507 y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En este caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre utilizado en este documento es LSI, pero también se puede llamar IC, sistema LSI, super LSI o ultra-LSI dependiendo del grado de integración.
Por otra parte, las maneras para lograr la integración no están limitadas al LSI y un circuito especial o un procesador de uso general y así por el estilo también puede lograr la integración. La Matriz de Puerta Programable de Campo (FPGA, por sus siglas en inglés) que se puede programar después de la manufactura de LSIs o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede utilizar para el mismo propósito.
En el futuro, con el avance en la tecnología de los semiconductores, una nueva tecnología puede reemplazar el LSI. Los bloques funcionales se pueden integrar utilizando esta tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Modalidad 6 Cuando los datos de video generados en el método de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades se decodifican, en comparación a cuando los datos de video que cumplen con un estándar convencional, tales como MPEG-2, PEG-4 AVC y VC-1 se decodifican, es posible que la cantidad de procesamiento se incremente. De esta manera, el LSI ex500 necesita ser establecido a una frecuencia impulsora más alta que aquella de la CPU ex502 que se utiliza cuando se decodifican datos de video de conformidad con el estándar convencional. Existe el problema respecto a que se incrementa el consumo de energía.
Con el propósito de resolver el problema, el aparato de decodificación de imágenes en movimiento, tal como la televisión ex300 y el LSI ex500 se configuran para determinar que estándar cumplen los datos de video y conmutar entre las frecuencias impulsoras de acuerdo con el estándar determinado. La FIGURA 42 ilustra una configuración ex800 en la presente modalidad. Una unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más alta cuando los datos de video son generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a una unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades para decodificar los datos de video. Cuando los datos de video cumplen con el estándar convencional, la unidad de conmutación de frecuencias impulsoras ex803 establece una frecuencia impulsora a una frecuencia impulsora más baja que aquella de los datos de video generados por el método de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades. Luego, la unidad de conmutación de frecuencias impulsoras ex803 da instrucciones a la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencias impulsoras ex803 incluye la CPU ex502 y la unidad de control de frecuencias impulsoras ex512 en la FIGURA 41. En este documento, cada una de la unidad de procesamiento de decodificación ex801 que ejecuta el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación ex802 que cumple con el estándar convencional corresponde a la unidad de procesamiento de señales ex507 de la FIGURA 41. La CPU ex502 determina que estándar cumplen los datos de video. Luego, la unidad de control de frecuencias impulsoras ex512 determina una frecuencia impulsora con base en una señal de la CPU ex502. Adicionalmente , la unidad de procesamiento de señales ex507 decodifica los datos de video con base en la señal de la CPU ex502. Por ejemplo, es posible que la información de identificación descrita en la Modalidad 4 se utilice para identificar los datos de video. La información de identificación no está limitada a aquella descrita en la Modalidad 4 sino que puede ser cualquier información siempre y cuando la información indique que estándar cumplen los datos de video. Por ejemplo, cuando se puede determinar que estándar cumplen los datos de video con base en una señal externa para determinar que los datos de video se utilizan para una televisión o un disco, etcétera, la determinación se puede hacer con base en esta señal externa. Adicionalmente , la CPU ex502 selecciona una frecuencia impulsora con base en, por ejemplo, una tabla de consulta en la cual los estándares de los datos de video se asocian con las frecuencias impulsoras como se muestra en la FIGURA 44. La frecuencia impulsora se puede seleccionar al almacenar la tabla de consulta en la memoria intermedia ex508 y en una memoria interna de un LSI y con referencia a la tabla de consulta por la CPU ex502.
La FIGURA 43 ilustra pasos para ejecutar un método en la presente modalidad. En primer lugar, en el Paso exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados . Después, en el Paso exS201, la CPU ex502 determina si los datos de video se generan o no por medio del método de codificación y el aparato de codificación descritos en cada una de las modalidades, con base en la información de identificación. Cuando los datos de video son generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, en el Paso exS202, la CPU ex502 transmite una señal para establecer la frecuencia impulsora a una frecuencia impulsora más alta a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 establece la frecuencia impulsora a la frecuencia impulsora más alta. Por otra parte, cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, en el Paso exS203, la CPU ex502 transmite una señal para ajustar la frecuencia impulsora a una frecuencia impulsora más baja a la unidad de control de frecuencias impulsoras ex512. Luego, la unidad de control de frecuencias impulsoras ex512 ajusta la frecuencia impulsora a la frecuencia impulsora más baja que aquella en el caso donde los datos de video son generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades.
Adicionalmente , junto con la conmutación de las frecuencias impulsoras, el efecto de conservación de energía se puede mejorar al cambiar el voltaje que se aplica al LSI ex500 o un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia impulsora se establece más baja, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca a un voltaje más bajo que aquel en el caso donde la frecuencia impulsora se establece más alta.
Adicionalmente , cuando la cantidad de procesamiento para la decodificación es más grande, la frecuencia impulsora se puede establecer más alta, y cuando la cantidad de procesamiento para la decodificación es más pequeña, la frecuencia impulsora se puede establecer más baja como el método para establecer la frecuencia impulsora. De esta manera, el método de establecimiento no está limitado a aquellos descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG-4 AVC es más grande que la cantidad de procesamiento para la decodificación de datos de video generados por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, es posible que la frecuencia impulsora se establezca en orden inverso al establecimiento descrito anteriormente.
Adicionalmente, el método para establecer la frecuencia impulsora no está limitado al método para establecer la frecuencia impulsora más baja. Por ejemplo, cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más alto. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, es posible que el voltaje que se aplica al LSI ex500 o el aparato que incluye el LSI ex500 se establezca más bajo. Como otro ejemplo, es posible que cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, la impulsión de la CPU ex502 no tenga que suspenderse. Cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como MPEG-2, MPEG-4 AVC y VC-1, es posible que la impulsión de la CPU ex502 se suspenda en un tiempo determinado debido a que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de video se generan por medio del método de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las modalidades, es posible que en el caso donde la CPU ex502 tiene capacidad de procesamiento adicional, la impulsión de la CPU ex502 se suspenda en un tiempo determinado. En este caso, es posible que el tiempo de suspensión se establezca más corto que aquel en el caso cuando la información de identificación indica que los datos de video cumplen con el estándar convencional, tal como PEG-2, MPEG-4 AVC y VC-1.
Por consiguiente, el efecto de conservación de energía se puede mejorar al conmutar entre las frecuencias impulsoras de acuerdo con el estándar que cumplen los datos de video. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se impulsa utilizando una batería, la vida útil de la batería se puede extender con el efecto de conservación de energía.
Modalidad 7 Existen casos donde una pluralidad de datos de video que cumplen con diferentes estándares, se proporcionan a los dispositivos y sistemas, tal como una televisión y un teléfono celular. Con el propósito de hacer posible la decodificación de la pluralidad de datos de video que cumplen con los diferentes estándares, la unidad de procesamiento de señales ex507 del LSI ex500 necesita cumplir con los diferentes estándares. Sin embargo, los problemas del incremento en la escala del circuito del LSI ex500 y el incremento en el costo se elevan con el uso individual de las unidades de procesamiento de señales ex507 que cumplen con los estándares respectivos.
Con el propósito de resolver el problema, lo que se idea es una configuración en la cual la unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y la unidad de procesamiento de decodificación que cumple con el estándar convencional, tal como MPEG-2, PEG-4 AVC y VC-1 se comparten parcialmente. Ex900 en la FIGURA 45A muestra un ejemplo de la configuración. Por ejemplo, el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades y el método de decodificación de imágenes en movimiento que cumple con MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, tal como la codificación entrópica, cuantificación inversa, filtrado de desbloqueo y predicción con compensación de movimiento. Es posible que los detalles de procesamiento que se comparten incluyan el uso de una unidad de procesamiento de decodificación ex902 que cumple con MPEG-4 AVC. En contraste, es posible que una unidad de procesamiento de decodificación especializada ex901 se utilice probablemente para otro procesamiento que es único para un aspecto de la presente invención y no cumple con MPEG-4 VC. Puesto que el aspecto de la presente invención se caracteriza por la cuantificación inversa en particular, por ejemplo, la unidad de procesamiento de decodificación especializada ex901 se utiliza para la cuantificación inversa. Por otra parte, es posible que la unidad de procesamiento de decodificación se comparta para uno de la decodificación entrópica, filtración de desbloqueo y compensación de movimiento o la totalidad del procesamiento. La unidad de procesamiento de decodificación para implementar el método de decodificación de imágenes en movimiento descrito en cada una de las modalidades puede ser compartida para que el procesamiento sea compartido y una unidad de procesamiento de decodificación especializada se puede utilizar para el procesamiento único para aquel de MPEG-4 AVC.
Adicionalmente, exlOOO en la FIGURA 45B muestra otro ejemplo en que se comparte parcialmente el procesamiento. Este ejemplo utiliza una configuración que incluye una unidad de procesamiento de decodificación especializada exlOOl que soporta el procesamiento único para un aspecto de la presente invención, una unidad de procesamiento de decodificación especializada exl002 que soporta el procesamiento único para otro estándar convencional y una unidad de procesamiento de decodificación exl003 que soporta el procesamiento que es compartido entre el método de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de imágenes en movimiento convencional. En este documento, las unidades de procesamiento de decodificación especializadas exlOOl y exl002 no están especializadas necesariamente para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser aquellas capaces de implementar el procesamiento general. Adicionalmente, la configuración de la presente modalidad puede ser implementada por el LSI ex500.
Como tal, la reducción de la escala del circuito de un LSI y la reducción del costo son posibles al compartir la unidad de procesamiento de decodificación para que el procesamiento sea compartido entre el método de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el método de decodificación de imágenes en movimiento de conformidad con el estándar convencional .
Aplicabilidad Industrial El método de codificación de imágenes y el método de decodificación de imágenes de acuerdo con un aspecto de la presente invención son aplicables de manera ventajosa a un método de codificación de imágenes en movimiento y un método de decodificación de imágenes en movimiento.
Lista de Signos de Referencia 14 100, 1000 aparato de codificación de imágenes 101, 1001 sustractor 102, 1002 unidad de transformación ortogonal 103, 1003 unidad de cuantificación 104, 1004, 302, 2002 unidad de cuantificación inversa 105, 1005, 303, 2003 unidad de transformación ortogonal inversa 106, 1006, 304, 2004 sumador 107, 1007, 305, 2005 memoria de bloques 108, 1008, 306, 2006 memoria de tramas 109, 1009, 307, 2007 unidad de intra-predicción 110, 1010, 308, 2008 unidad de inter-predicción 111, 1011, 309, 2009 unidad de control de inter-predicción 112, 1012 unidad de determinación de tipo de imagen 113, 1013, 310, 2010 conmutador 114, 1014, 311, 2011 unidad de cálculo de candidatos de bloques de fusión 115, 1015, 312, 2012 memoria de colPic 116, 1016 unidad de codificación de longitud variable 300, 2000 aparato de decodificación de imágenes 301, 2001 unidad de decodificación de longitud variable Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (6)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones :
1. Un método de decodificación de imágenes para decodificar, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada, caracterizado porque comprende: dividir un bloque actual que es una unidad de decodificación en una pluralidad de sub-bloques cada uno de los cuales es una unidad de predicción; deducir, para cada uno de la pluralidad de sub-bloques, uno o más candidatos de información de predicción cada uno de los cuales es un candidato para información de predicción que indica una lista de imágenes de referencia, un vector de movimiento y un índice de imagen de referencia; obtener, de la corriente de bits codificada, un índice para seleccionar un candidato de información de predicción de entre uno o más de los candidatos de información de predicción; y decodificar el bloque actual utilizado el candidato de información de predicción seleccionado utilizando el índice obtenido, en donde la deducción incluye: determinar si un bloque adyacente que es colindante con cada uno de la pluralidad de sub-bloques está o no incluido en el bloque actual, y cuando se determina que el bloque adyacente no está incluido en el bloque actual, determinar el bloque adyacente que es un bloque de referencia aludible por el sub-bloque y cuando se determina que el bloque adyacente está incluido en el bloque actual, determinar que el bloque adyacente no es el bloque de referencia; y deducir un candidato de información de predicción del sub-bloque a partir de la información de predicción del bloque de referencia; y cuando un número total de los candidatos de información de predicción en más pequeño que un número predeterminado, generar uno o más candidatos nuevos sin utilizar la información de predicción del bloque de referencia hasta que el número total de los candidatos de información de predicción alcance el número predeterminado.
2. El método de decodificación de imágenes de conformidad con la reivindicación 1, caracterizado porque la deducción de uno o más candidatos de información de predicción incluye además: determinar si el bloque adyacente es o no (i) un bloque decodificado mediante la intra-predicción, (ii) un bloque fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y (iii) un bloque todavía a ser decodificado; y cuando se determina que el bloque adyacente (i) no está incluido en el bloque actual, (ii) no es un bloque decodificado mediante la intra-predicción, (iii) no es un bloque fuera de un límite de un corte que incluye el bloque actual o un límite de una imagen que incluye el bloque actual y (iv) no es un bloque todavía a ser decodificado, determinar que el bloque adyacente es el bloque de referencia.
3. El método de decodificación de imágenes de conformidad con la reivindicación 1 o 2, caracterizado porque comprende además : determinar un número máximo de los candidatos de información de predicción, en donde la deducción de uno o más candidatos de información de predicción incluye además: determinar si el número total de los candidatos de información de predicción es o no más pequeño que el número máximo; y cuando se determina que el número total de los candidatos de información de predicción es más pequeño que el número máximo, deducir uno o más de los nuevos candidatos cada uno de los cuales tiene un índice de imagen de referencia para una imagen que está disponible para referencia para decodificar el sub-bloque.
4. El método de decodificación de imágenes de conformidad con cualquiera de reivindicaciones 1 a 3, caracterizado porque incluye además: generar una imagen de predicción del bloque actual, utilizando el vector de movimiento y el índice de imagen de referencia indicado por el candidato de información de predicción seleccionado.
5. Un aparato de decodificación de imágenes el cual decodifica, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada, caracterizado porque comprende: una unidad de división configurada para dividir un bloque actual que es una unidad de decodificación en una pluralidad de sub-bloques cada uno de los cuales es una unidad de predicción; una unidad de deducción configurada para deducir, para cada uno de la pluralidad de sub-bloques, uno o más candidatos de información de predicción cada uno de los cuales es un candidato para información de predicción que indica una lista de imágenes de referencia, un vector de movimiento y un índice de imagen de referencia; una unidad de obtención de índice configurada para obtener, de la corriente de bits codificada, un índice para seleccionar un candidato de información de predicción de entre uno o más de los candidatos de información de predicción; y una unidad de decodificación configurada para decodificar el bloque actual utilizando el candidato de información de predicción seleccionado utilizando el índice obtenido, en donde la unidad de deducción está configurada par : determinar si un bloque adyacente que es colindante con cada uno de la pluralidad de sub-bloques está o no incluido en el bloque actual, y cuando se determina que el bloque adyacente no está incluido en el bloque actual, determinar el bloque adyacente que es un bloque de referencia aludible por el sub-bloque y cuando se determina que el bloque adyacente está incluido en el bloque actual, determinar que el bloque adyacente no es el bloque de referencia; y deducir un candidato de información de predicción del sub-bloque a partir de la información de predicción del bloque de referencia; y cuando un número total de los candidatos de información de predicción en más pequeño que un número predeterminado y generar uno o más candidatos nuevos sin utilizar la información de predicción del bloque de referencia hasta que el número total de los candidatos de información de predicción alcance el número predeterminado.
6. Un aparato de decodificación de imágenes el cual decodifica, en una base de bloque por bloque, datos de imagen incluidos en una corriente de bits codificada, caracterizado porque comprende: circuitería de procesamiento; y un almacenamiento conectado a la circuitería de procesamiento, en donde la circuitería de procesamiento ejecuta, utilizando el almacenamiento: la división de un bloque actual que es una unidad de decodificación en una pluralidad de sub-bloques cada uno de los cuales es una unidad de predicción; la deducción, para cada uno de la pluralidad de sub-bloques, uno o más candidatos de información de predicción cada uno de los cuales es un candidato para información de predicción que indica una lista de imágenes de referencia, un vector de movimiento y un índice de imagen de referencia ; la obtención, de la corriente de bits codificada, un índice para seleccionar un candidato de información de predicción de entre uno o más de los candidatos de información de predicción; y la decodificación del bloque actual utilizando el candidato de información de predicción seleccionado utilizando el índice obtenido, en donde la deducción incluye: determinar si un bloque adyacente que es colindante con cada uno de la pluralidad de sub-bloques está o no incluido en el bloque actual, y cuando se determina que el bloque adyacente no está incluido en el bloque actual, determinar el bloque adyacente que es un bloque de referencia aludible por el sub-bloque y cuando se determina que el bloque adyacente está incluido en el bloque actual, determinar que el bloque adyacente no es el bloque de referencia; y deducir un candidato de información de predicción del sub-bloque a partir de la información de predicción del bloque de referencia, cuando un número total de los candidatos de información de predicción es más pequeño que un número predeterminado, generar uno o más candidatos nuevos sin utilizar la información de predicción del bloque de referencia hasta que el número total de candidatos de información de predicción alcance el número predeterminado.
MX2014003728A 2011-10-05 2012-09-21 Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes. MX2014003728A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161543365P 2011-10-05 2011-10-05
PCT/JP2012/006005 WO2013051209A1 (ja) 2011-10-05 2012-09-21 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置

Publications (1)

Publication Number Publication Date
MX2014003728A true MX2014003728A (es) 2014-07-09

Family

ID=48043394

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014003728A MX2014003728A (es) 2011-10-05 2012-09-21 Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes.

Country Status (10)

Country Link
US (9) US9161036B2 (es)
EP (2) EP4283995A3 (es)
JP (4) JP5514372B2 (es)
KR (1) KR102050761B1 (es)
CN (2) CN108040259B (es)
CA (1) CA2850066C (es)
MX (1) MX2014003728A (es)
RU (1) RU2604330C2 (es)
TW (1) TW201322775A (es)
WO (1) WO2013051209A1 (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012057583A2 (ko) * 2010-10-28 2012-05-03 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법
EP4283995A3 (en) 2011-10-05 2024-02-21 Sun Patent Trust Decoding method and decoding apparatus
US9300977B2 (en) * 2013-10-02 2016-03-29 Amlogic Co., Ltd. Methods for encoding motion vectors
JP6482191B2 (ja) 2014-06-12 2019-03-13 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2016048834A1 (en) * 2014-09-26 2016-03-31 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
US9930357B2 (en) * 2016-03-03 2018-03-27 Uurmi Systems Pvt. Ltd. Systems and methods for motion estimation for coding a video sequence
KR102471208B1 (ko) 2016-09-20 2022-11-25 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102421721B1 (ko) * 2016-10-10 2022-07-15 삼성전자주식회사 블록 맵을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
KR102328179B1 (ko) * 2016-11-28 2021-11-18 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20200044967A (ko) 2017-09-18 2020-04-29 인텔렉추얼디스커버리 주식회사 블록 분할에 따른 병합 후보 리스트를 사용하는 비디오 코딩 방법 및 장치
KR20200058546A (ko) * 2017-10-19 2020-05-27 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN113163211B (zh) * 2018-06-30 2023-01-03 Oppo广东移动通信有限公司 基于合并模式的帧间预测方法及装置
CN110677668B (zh) * 2018-07-01 2022-06-21 北京字节跳动网络技术有限公司 空间运动压缩
KR20230169474A (ko) * 2018-08-29 2023-12-15 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 서브블록 기반 시간적 모션 벡터 예측을 사용한 비디오 코딩의 방법 및 장치
WO2020063599A1 (zh) * 2018-09-24 2020-04-02 华为技术有限公司 图像预测方法、装置以及相应的编码器和解码器
WO2020073896A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. Apparatuses and methods for inter prediction of a triangle partition of a coding block
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
CN113455001B (zh) * 2018-12-27 2024-04-09 英迪股份有限公司 视频编码/解码方法和装置
CN112565785B (zh) 2018-12-28 2022-04-26 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
JP6931038B2 (ja) * 2019-12-26 2021-09-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US11375231B2 (en) * 2020-01-14 2022-06-28 Tencent America LLC Method and apparatus for video coding

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5544452Y2 (es) 1975-02-10 1980-10-18
JPS5544721A (en) 1978-09-27 1980-03-29 Natl Res Inst For Metals Extraneous semiconductor joining matter and its preparation
JP4140202B2 (ja) * 2001-02-28 2008-08-27 三菱電機株式会社 移動物体検出装置
EP2099228B1 (en) * 2001-09-14 2014-11-12 NTT DoCoMo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
US20040190615A1 (en) * 2002-05-22 2004-09-30 Kiyofumi Abe Moving image encoding method, moving image decoding method, and data recording medium
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US7212573B2 (en) * 2003-06-13 2007-05-01 Lsi Logic Corporation Method and/or apparatus for determining minimum positive reference indices for a direct prediction mode
US7526028B2 (en) * 2003-07-25 2009-04-28 Taiwan Imaging-Tek Corp. Motion estimation method and apparatus for video data compression
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
JP5065051B2 (ja) * 2005-02-18 2012-10-31 トムソン ライセンシング 低解像度画像から高解像度画像の符号化情報を導出する方法、並びに、係る方法を実現する符号化及び復号化装置
US20060222074A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for motion estimation in a video encoder
US7864839B2 (en) * 2005-04-01 2011-01-04 Broadcom Corporation Method and system for rate control in a video encoder
WO2007034601A1 (ja) * 2005-09-20 2007-03-29 Mitsubishi Electric Corporation 画像符号化方法および画像復号方法、画像符号化装置および画像復号装置、並びに画像符号化ビットストリーム及び記録媒体
US20070140353A1 (en) * 2005-12-19 2007-06-21 Sharp Laboratories Of America, Inc. Intra prediction skipping in mode selection for video compression
EP1985124B1 (en) * 2006-02-17 2010-09-01 Thomson Licensing Process for coding images using intra prediction mode
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
JP4793070B2 (ja) * 2006-04-12 2011-10-12 ソニー株式会社 動きベクトル探索方法及び装置
US8223842B2 (en) * 2006-05-24 2012-07-17 Panasonic Corporation Dynamic image decoding device
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
US9319708B2 (en) * 2006-06-16 2016-04-19 Via Technologies, Inc. Systems and methods of improved motion estimation using a graphics processing unit
RU2427976C2 (ru) * 2006-07-28 2011-08-27 Кабусики Кайся Тосиба Способ и устройство для кодирования и декодирования изображения
WO2008084996A1 (en) * 2007-01-11 2008-07-17 Samsung Electronics Co, . Ltd. Method and apparatus for deblocking-filtering video data
KR101365570B1 (ko) * 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
US20100266042A1 (en) * 2007-03-02 2010-10-21 Han Suh Koo Method and an apparatus for decoding/encoding a video signal
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
US20080285652A1 (en) * 2007-05-14 2008-11-20 Horizon Semiconductors Ltd. Apparatus and methods for optimization of image and motion picture memory access
JP5188875B2 (ja) * 2007-06-04 2013-04-24 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
KR20090000502A (ko) * 2007-06-28 2009-01-07 삼성전자주식회사 손실된 블록의 주변 블록 특성에 적응적인 에러 은닉 방법및 장치
US8077772B2 (en) * 2007-11-09 2011-12-13 Cisco Technology, Inc. Coding background blocks in video coding that includes coding as skipped
CN100594732C (zh) * 2007-11-16 2010-03-17 中国科学院计算技术研究所 一种帧间模式选择方法
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
JP5529040B2 (ja) * 2008-01-10 2014-06-25 トムソン ライセンシング イントラ予測されたビデオの照明補償の方法及び装置
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
TW201004361A (en) * 2008-07-03 2010-01-16 Univ Nat Cheng Kung Encoding device and method thereof for stereoscopic video
KR20100027384A (ko) * 2008-09-02 2010-03-11 삼성전자주식회사 예측 모드 결정 방법 및 장치
US8724697B2 (en) * 2008-09-26 2014-05-13 Qualcomm Incorporated Locating motion vectors for video data units
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
US20100246675A1 (en) * 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
US8724707B2 (en) * 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency
US9113169B2 (en) * 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
JP2009290889A (ja) * 2009-08-07 2009-12-10 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US9159130B2 (en) * 2009-10-22 2015-10-13 Koninklijke Philips N.V. Alignment of an ordered stack of images from a specimen
JP5869493B2 (ja) * 2009-12-08 2016-02-24 トムソン ライセンシングThomson Licensing ビデオ符号化および復号化のためのテンプレート・マッチング予測の適応型残差更新のための方法および装置
KR20110068792A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US20130044814A1 (en) * 2010-05-10 2013-02-21 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
WO2011145862A2 (en) * 2010-05-17 2011-11-24 Lg Electronics Inc. New intra prediction modes
US9357229B2 (en) * 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
KR102080892B1 (ko) * 2010-09-02 2020-02-24 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
CN103229162B (zh) * 2010-09-28 2016-08-10 国际商业机器公司 使用候选答案逻辑综合提供问题答案
WO2012057583A2 (ko) * 2010-10-28 2012-05-03 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법
CN102006480B (zh) * 2010-11-29 2013-01-30 清华大学 基于视间预测的双目立体视频的编码及解码方法
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
EP4283995A3 (en) * 2011-10-05 2024-02-21 Sun Patent Trust Decoding method and decoding apparatus

Also Published As

Publication number Publication date
CN108040259A (zh) 2018-05-15
CN108040259B (zh) 2022-02-01
JP2014143729A (ja) 2014-08-07
KR20140085434A (ko) 2014-07-07
US11432000B2 (en) 2022-08-30
US20190246132A1 (en) 2019-08-08
JP2014150585A (ja) 2014-08-21
US20200244984A1 (en) 2020-07-30
EP2765771A4 (en) 2015-03-11
US20180124416A1 (en) 2018-05-03
JP5544452B1 (ja) 2014-07-09
US10666966B2 (en) 2020-05-26
EP4283995A3 (en) 2024-02-21
US10999593B2 (en) 2021-05-04
US20170280150A1 (en) 2017-09-28
RU2604330C2 (ru) 2016-12-10
US9161036B2 (en) 2015-10-13
US9712840B2 (en) 2017-07-18
CN103828373B (zh) 2018-02-16
JP2017011740A (ja) 2017-01-12
US20140211857A1 (en) 2014-07-31
JP6008211B2 (ja) 2016-10-19
JP6403125B2 (ja) 2018-10-10
TW201322775A (zh) 2013-06-01
US10334266B2 (en) 2019-06-25
US20220360808A1 (en) 2022-11-10
US9888253B2 (en) 2018-02-06
US20210227244A1 (en) 2021-07-22
US20230239487A1 (en) 2023-07-27
US11647220B2 (en) 2023-05-09
CN103828373A (zh) 2014-05-28
EP2765771A1 (en) 2014-08-13
US11930203B2 (en) 2024-03-12
US20150036748A1 (en) 2015-02-05
RU2014111736A (ru) 2015-11-10
CA2850066A1 (en) 2013-04-11
EP4283995A2 (en) 2023-11-29
CA2850066C (en) 2020-03-24
KR102050761B1 (ko) 2019-12-02
JP5514372B2 (ja) 2014-06-04
WO2013051209A1 (ja) 2013-04-11
TWI563830B (es) 2016-12-21
JPWO2013051209A1 (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
AU2016202666B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012291454B2 (en) Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
AU2012260302B2 (en) Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
AU2018203520B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
AU2012329550B2 (en) Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
AU2012264031B2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
MX2014003728A (es) Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion/decodificacio n de imagenes.
AU2011353415B2 (en) Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
CN103688545B (zh) 图像编码方法、图像解码方法、图像编码装置及图像解码装置
EP2782341B1 (en) Image encoding method, image decoding method, image encoding device, and image decoding device
EP2717579B1 (en) Video decoding method and video decoding device
MX2013010231A (es) Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
CN107277542B (zh) 动态图像解码方法、动态图像解码装置
MX2013012124A (es) Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video.
AU2012277160B2 (en) Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
AU2012333936B9 (en) Image coding method, image coding apparatus, image decoding method and image decoding apparatus
MX2013013909A (es) Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes.
MX2013012132A (es) Metodo de codificacion de imagen, aparato de codificacion de imagen, metodo de decodificacion de imagen, aparato de decodificacion de imagen y aparato de codificacion/decodificacion de imagen.
MX2013014733A (es) Metodo de codificacion de imagenes de video, dispositivo de codificacion de imagenes de video, metodo de decodificacion de imagenes de video, dispositivo de decodificacion de imagenes de video y dispositivo de codificacion/decodificacion de imagenes de video.
MX2013009864A (es) Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
AU2013254214B2 (en) Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
MX2013001773A (es) Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen, y aparato de codificacion y decodificacion de imagen.
MX2012012443A (es) Modo de filtrado para intra-prediccion deducida de estadisticas de bloques circundantes.
MX2013001652A (es) Metodo de codificacion de imagen, metodo de decodificacion de imagen, metodo de manejo de memoria, aparato de codificacion de imagen, aparato de decodificacion de imagen, aparato de manejo de memoria, y aparato de codificacion y decodificacion de imagen.
MX2013001709A (es) Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento, y aparato de codificacion y decodificacion de imagenes en movimiento.

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

FG Grant or registration