MX2014008479A - Aparato y metodo de procesamiento de imagenes. - Google Patents

Aparato y metodo de procesamiento de imagenes.

Info

Publication number
MX2014008479A
MX2014008479A MX2014008479A MX2014008479A MX2014008479A MX 2014008479 A MX2014008479 A MX 2014008479A MX 2014008479 A MX2014008479 A MX 2014008479A MX 2014008479 A MX2014008479 A MX 2014008479A MX 2014008479 A MX2014008479 A MX 2014008479A
Authority
MX
Mexico
Prior art keywords
region
prediction
adjacent
unit
coding
Prior art date
Application number
MX2014008479A
Other languages
English (en)
Inventor
Kazushi Sato
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of MX2014008479A publication Critical patent/MX2014008479A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

La presente descripción se relaciona con dispositivo de procesamiento de imágenes y un método que son capaces de mejorar la eficiencia de procesamiento a través de procesamiento paralelo, durante la codificación o descodificación de vectores de movimiento. Para un PU1 aplicable, se utilizan la información de vector de movimiento para B1, C1, y E1, que son PU adyacentes por debajo de PU1, y la información del vector de movimiento para A0 y D0, que son adyacentes por debajo de PU0 ubicada por encima de PU1 en un CU. Para el PU1, PU que corresponde a A1 se vuelve PU0, por lo tanto A0 se establece en lugar de A1, como el área adyacente para el PU1. Esta descripción puede aplicarse, por ejemplo, a un dispositivo de procesamiento de imágenes.

Description

APARATO Y MÉTODO DE PROCESAMIENTO DE IMÁGENES Campo Técnico La presente descripción se refiere a un aparato de procesamiento de imágenes, y más particularmente a un aparato de procesamiento de imágenes y un método de procesamiento de imágenes capaces de mejorar la eficiencia de procesos a través de un proceso paralelo.
Técnica Antecedente En años recientes, se han utilizado ampliamente aparatos que comprimen y codifican una imagen al emplear un método de codificación en el cual se trata la información de imagen como valor digital, y en este tiempo, la información de imagen se comprime a través de la transformada ortogonal tal como transformada de coseno discreto y compensación de movimiento al utilizar redundancia única para la información de imagen para transmitir y acumular información con alta eficiencia. El método de codificación incluye, por ejemplo, Grupo de Expertos de Imágenes en movimiento (MPEG) o similares .
Particularmente, MPEG2 (ISO/IEC 13818-2) se define como método de codificación de imágenes de uso general, y es un estándar que cubre una imagen de exploración entrelazada y una imagen de exploración progresiva, y una imagen de resolución estándar y una imagen de alta definición. Por ejemplo, MPEG2 se utiliza actual y ampliamente en aplicaciones extensas para uso profesional y uso de consumo. Mediante el uso del método de compresión de MPEG2, es posible asignar una proporción de bits de 4 Mbps hasta 8 Mbps a una imagen de exploración entrelazada de una resolución estándar que tiene 720x480 pixeles, por ejemplo. Además, mediante el uso de MPEG2, es posible asignar una proporción de bits de 18 Mbps a 22 Mbps a una imagen de exploración entrelazada de una alta resolución que tiene 1920x1088 pixeles, por ejemplo, es posible realizar una relación de alta compresión y una buena calidad de imagen.
MPEG2 principalmente ha tenido como objetivo la codificación de alta calidad de imagen adecuada para difusión, pero no ha manejado un método de codificación en una proporción de bits menor a la que se encuentra en MPEG1, es decir, en una mayor relación de compresión. Con el amplio uso de terminales portátiles, la necesidad de tal método de codificación se ha considerado para incrementar, y de esta manera un método de codificación de EPG4 se ha estandarizado para corresponder al mismo. Con respecto a un método de codificación de imágenes, un estándar del mismo se aprobó como estándar internacional titulado ISO/IEC 14496-2 en diciembre de 1998.
En cuanto al programa de estandarización del mismo, el método de codificación se ha vuelto un estándar internacional bajo el nombre de H.264 y MPEG-4 Parte 10 (Codificación Avanzada de Video que se denominará después de esto como AVC) en marzo de 2003.
Además, como extensión de método de AVC, la Extensión de Margen de Fidelidad (FRExt) que incluye herramientas de codificación para su uso en negocios tales como RGB o 4:2:2 y 4:4:4 y también incluye matriz de 8x8 DCT o de cuantificación definida en MPEG2 se estandarizó en febrero de 2005. Ésta realiza un método de codificación en el cual el ruido de película uniforme incluido en una película puede expresarse de manera favorable al utilizar el método de AvC, y de esta manera conduce a utilizar varias aplicaciones tales como disco Blu-Ray (marca registrada) .
Sin embargo, recientemente, ha existido la necesidad cada vez mayor de una codificación de mayor relación de compresión, tal como la necesidad de compresión de una imagen con aproximadamente 4000x2000 pixeles el cual es 4 veces el tamaño de una imagen de alta visión o la necesidad de la entrega de una imagen de alta visión en circunstancias de capacidad limitada de transmisión tal como Internet. Por esa razón, se ha realizado actualmente un estudio de mejora de eficiencia de codificación en el Grupo de Expertos de Codificación de Video (VCEG) afiliado a la ITU-T anterior.
Como uno de los métodos para mejorar la eficiencia de codificación, un método (en adelante, denominado como competencia de MV) se ha propuesto en el cual, para mejorar la codificación de un vector de movimiento utilizando predicción mediana en el método de AVC, cualquiera de "calculador temporal" o "calculador espacio-temporal" se utiliza de manera adaptable como información de vector de movimiento de predicción además de "calculador espacial" el cual se define en el método de AVC y se obtiene a través de la predicción mediana (por ejemplo, consulte NPL 1) .
Además, en el método de AVC, un valor de función de costos en un modo de alta complejidad o en un modo de baja complejidad implementado en el software de referencia utilizando el método de AVC, denominado Modelo Conjunto ( JM) , se utiliza para seleccionar información de vector de movimiento de predicción.
En otras palabras, un valor de función de costos cuando se utiliza información de vector de movimiento de predicción se selecciona, y la información de vector de movimiento de predicción óptima se selecciona. La información de indicador indica la información con respecto a qué información de vector de movimiento de predicción se utiliza en cada bloque que se transmite en información de compresión de imagen.
Sin embargo, existe una preocupación en cuanto a un tamaño del macrobloque de 16 pixeles x 16 pixeles que puede no ser óptimo para una trama de imagen grande tal como Ultra Alta Definición (UHD; 4000 pixeles x 2000 pixeles) que se volverá un objetivo de un método de codificación de una siguiente generación.
Por lo tanto, actualmente, para el propósito de mejora en mayor eficiencia de codificación que la de AVC, la estandarización de un método de codificación denominado Codificación de Video de Alta Eficiencia (HEVC) es un progreso por la Codificación de Video-Equipo de Colaboración Conjunta (JCTVC) que es una organización de estandarización conjunta del Sector de Estandarización de Telecomunicación de la Unión de Telecomunicación Internacional (ITU-T) y Organización Internacional para la Estandarización ( ISO) /Comisión Internacional Electrotécnica (IEC) (por ejemplo, consulte NPL 2) .
En el método de codificación de HEVC, una unidad de codificación (CU) la cual es la misma unidad de proceso que el macrobloque en el método de AVC se define. La CU no es fija en un tamaño de 16x16 pixeles, a diferencia del macrobloque del método de AVC, y se designa en información de compresión de imagen para cada secuencia. Además, en cada secuencia, la unidad de codificación más grande (LCU) y la unidad de codificación más pequeña (SCU) de la CU se prescriben .
Además, como uno de los métodos de codificación de la información de movimiento, un método (en adelante, denominado como modo de fusión) denominado como fusión de partición de movimiento se ha propuesto (por ejemplo, consulte NPL 3) . En este método, en un caso donde la información de movimiento de un bloque correspondiente es la misma que la información de movimiento de un bloque vecino, sólo la información de indicador se transmite, y durante la descodificación, la información de movimiento del bloque correspondiente se reconstruye al utilizar la información de movimiento del bloque vecino.
En otras palabras, también en el modo de fusión, un calculador espacial (vector de movimiento de predicción espacial) y un calculador temporal (vector de movimiento de predicción temporal) se obtienen a partir de los bloques vecinos, y un vector de movimiento de predicción óptima se determina a partir de los mismos. Además, en el modo de fusión, en un caso donde el vector de movimiento de predicción determinado y la información de movimiento de un bloque correspondiente son los mismos entre si, sólo la información de indicador se transmite.
Mientras tanto, un calculador espacial de una PU correspondiente la cual es un objetivo de proceso se obtiene en un proceso de codificación o descodificación de vectores de movimiento en la competencia anterior de MV o el modo de fusión. En este caso, se ha propuesto un método en el cual un vector de movimiento de una PU adyacente a la PU correspondiente en una relación de posición predeterminada entre las PU adyacentes a la misma se utiliza como candidato de un calculador espacial de la PU correspondiente.
Específicamente, un vector de movimiento de Ao el cual es una PU adyacente al lado izquierdo inferior de la PU correspondiente, y un vector de movimiento de el cual es una PU ubicada en A0 entre las PU adyacentes al lado izquierdo de la PU correspondiente, se utilizan como candidatos. Además, un vector de movimiento de B2 el cual es una PU adyacente al lado izquierdo superior de la PU correspondiente, un vector de movimiento de Bo el cual es una PU adyacente al lado derecho superior de la PU correspondiente, y un vector de movimiento de Bi el cual es una PU ubicada en el lado izquierdo de B0 entre las PU adyacentes al lado superior de la PU correspondiente, se utilizan como candidatos.
Además, se realiza exploración en un orden de Ao y Ai y un orden de Bo, Bi y B2, y la exploración termina al momento cuando información de vector de movimiento que tiene una trama de referencia que es equivalente la información de vector de movimiento de la PU correspondiente se detecta.
Lista de Citas Literatura que no es Patente NPL 1: Joel Jung, Guillaume Laroche, "Esquema Basado en Competencia para Selección de Vector de Movimiento y Codificación", VCEG-ACO 6, ITU-Sector de Estandarización de Telecomunicación GRUPO DE ESTUDIO 16 Pregunta 6 Grupo de Expertos de Codificación de Video (VCEG) 29ava Reunión: Klagenfurt, Austria, 17 y 18 de julio de 2006 NPL 2: Thomas Wiegand, oo-Jin Han, Benjamín Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Esquema de Trabajo 4 de Codificación de Video de Ata Eficiencia", JCTVC-F803, Equipo Colaborador Conjunto sobre Codificación de Video (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11 6ta Reunión: Torino, IT, 14 a 22 de julio de 2011 NPL 3: Martin Winken, Sebastian Bosse, Benjamín Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simón Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, y Thomas Wiegand, "Descripción de tecnología de codificación de video propuesta por Fraunhofer HHI", JCTVC-A116, abril de 2010 Compendio de la Invención Problema Técnico Sin embargo, en un caso donde se divide una sola CU en, por ejemplo, 2NxN, la codificación o descodificación antes descrita de un vector de movimiento con respecto a PUl ubicada en el lado superior de la CU no puede realizarse a menos que la información de vector de movimiento con respecto a PUO ubicada en el lado inferior de la CU se fije. Por esta razón, las piezas de información de vector de movimiento con respecto a PUO y PUl no pueden procesarse en paralelo.
Además, eso también es lo mismo para un caso donde se divide una sola CU en las PU de Nx2N.
La presente descripción se ha hecho en consideración de esas circunstancias y para mejorar la eficiencia de proceso a través de un proceso paralelo en la codificación o descodificación de un vector de movimiento.
Solución Técnica De acuerdo con un aspecto de la presente descripción, se proporciona un aparato de procesamiento de imágenes que incluye una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad descodificación de vectores de movimiento que descodifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción en la región de predicción.
En un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente puede establecer una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
En un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente puede establecer una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primera región de predicción entre las regiones adyacentes de la primera región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es unan región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de Nx2N, la primera región de predicción es una región de predicción ubicada en el lado derecho en la región de codi icación, la segunda región de predicción es una región de predicción ubicada en el lado izquierdo en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción.
En un caso donde la primera región de predicción se ubica en el lado derecho y el lado inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción adyacente al lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción; cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción; y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción.
La región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico.
El aparato de procesamiento de imágenes además puede incluir una unidad de recepción que recibe una corriente codificada y un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; y una unidad descodificación que descodifica la corriente descodificada recibida por la unidad de recepción para generar la imagen, y la unidad de establecimiento de región adyacente puede realizar el establecimiento de la región espacialmente adyacente en función del indicador recibido por la unidad de recepción.
El indicador se establece para cada región de codificación o la región de predicción.
Si se realiza o no el establecimiento de la región espacialmente adyacente puede establecerse en función de un perfil o nivel de secuencia, y la unidad de establecimiento de región adyacente puede realizar el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia.
De acuerdo con el aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que incluye provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realice en paralelo con un vector de movimiento de predicción espacial que se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y descodificar un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción en la región de predicción.
De acuerdo con otro aspecto de la presente descripción, se proporciona un aparato de procesamiento de imágenes que incluye una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad de codificación de vector de movimiento que codifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción .
En un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente puede establecer una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
En un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente puede establecer una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primer región de predicción entre las regiones adyacentes de la primera región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de Nx2N, la primera región de predicción es una región de predicción ubicada en el lado derecho en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado izquierdo en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción.
En un caso donde la primera región de predicción se ubica en el lado derecho inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en el lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
En un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción; cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción; y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción.
La región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico.
El aparato de procesamiento de imágenes además puede incluir una unidad de establecimiento que establece un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; una unidad de codificación que codifica la imagen para generar una corriente codificada; y una unidad de transmisión que transmite el vector de movimiento codificado por la unidad de codificación de vector de movimiento, la corriente codificada generada por la unidad de codificación, y el indicador establecido por la unidad de establecimiento, y la unidad de establecimiento de región adyacente puede realizar el establecimiento de la región espacialmente adyacente en función del indicador establecido por la unidad de establecimiento .
La unidad de establecimiento puede establecer el indicador para cada región de codificación o la región de predicción .
Si se realizará o no el establecimiento de la región espacialmente adyacente puede establecerse en función de un perfil o nivel de secuencia, y la unidad de establecimiento de región adyacente puede realizar el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia.
De acuerdo con otro aspecto de la presente descripción, se proporciona un método de procesamiento de imágenes que incluye provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimientos de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y codificar un vector de movimiento de la región objetivo al utilizar el vector de movimiento de predicción de la región de predicción .
De acuerdo con un aspecto de la presente descripción, regiones espacialmente adyacentes se establecen en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen. Además, un vector de predicción espacial de la región de predicción se genera al utilizar el vector de movimiento de la región espacialmente adyacente establecida, y un vector de movimiento de la región de predicción se descodifica al utilizar el vector de movimiento de predicción de la región de predicción.
De acuerdo con otro aspecto de la presente descripción, regiones espacialmente adyacentes se establecen en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimientos de la pluralidad de regiones de predicción que forman la región de codificación de una imagen. Además, un vector de predicción espacial de la región de predicción se genera al utilizar el vector de movimiento de la región espacialmente adyacente establecida, y un vector de movimiento de la región objetivo se codifica al utilizar el vector de movimiento de predicción de la región de predicción.
Además, el aparato de procesamiento de imágenes antes descrito puede ser un aparato autónomo, y puede ser un bloque interno que forma un simple dispositivo de codificación de imágenes o dispositivo descodificación de imágenes .
Efectos Ventaj osos de la Invención De acuerdo con el aspecto de la presente descripción, es posible descodificar una imagen. Particularmente, es posible mejorar la eficiencia de proceso a través de un proceso paralelo en la codificación o descodificación de un vector de movimiento.
De acuerdo con otro aspecto de la presente descripción, es posible codificar una imagen. Particularmente, es posible mejorar la eficiencia de proceso a través de un proceso paralelo en la codificación o descodificación de un vector de movimiento.
Breve Descripción de los Dibujos La Figura 1 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un dispositivo de codificación de imágenes.
La Figura 2 es un diagrama que ilustra un ejemplo de un proceso de predicción/compensación de movimiento con una precisión de pixel de punto decimal.
La Figura 3 es un diagrama que ilustra un ejemplo de un macrobloque.
La Figura 4 es un diagrama que ilustra una operación mediana.
La Figura 5 es un diagrama que ilustra una trama de multi-referencia .
La Figura 6 es un diagrama que ilustra un modo directo temporal.
La Figura 7 es un diagrama que ilustra un método de codificación de vector de movimiento.
La Figura 8 es un ejemplo de configuración de una unidad de codificación.
La Figura 9 es un diagrama que ilustra fusión de partición de movimiento.
La Figura 10 es un método para generar un vector de movimiento de predicción espacial en un método de HEVC.
La Figura 11 es un método para generar un vector de movimiento de predicción espacial en el método de HEVC.
Las Figuras 12? y 12B son diagramas que ilustran un método para generar un vector de movimiento de predicción espacial de la presente tecnología en una PU de 2NxN .
Las Figuras 13A y 13B son diagramas que ilustran un método para generar un vector de movimiento de predicción espacial de la presente tecnología en una Pü de Nx2N.
Las Figuras 14A a 14D son diagramas que ilustran un método para generar un vector de movimiento de predicción espacial de la presente tecnología encuna PU de 2Nx2N.
La Figura 15 es un diagrama que ilustra partición de movimiento asimétrico en el método de HEVC.
La Figura 16 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una unidad de codificación de vector de movimiento.
La Figura 17 es un diagrama de flujo que ilustra un ejemplo de un flujo de un proceso de codificación.
La Figura 18 es un diagrama de flujo que ilustra un ejemplo de un flujo de un proceso de predicción inter-movimiento .
La Figura 19 es un diagrama de flujo que ilustra un ejemplo de un flujo de un proceso de generación de vectores de movimiento de predicción.
La Figura 20 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un dispositivo descodificación de imágenes.
La Figura 21 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una unidad descodificación de vectores de movimiento.
La Figura 22 es un diagrama de flujo que ilustra un ejemplo de un flujo de un proceso descodificación.
La Figura 23 es un diagrama de flujo que ilustra un ejemplo de un flujo de un proceso de reconstrucción de vector de movimiento.
La Figura 24 es un diagrama que ilustra un ejemplo de un método de codificación de imágenes de varias vistas.
La Figura 25 es un diagrama que ilustra un ejemplo de configuración principal de un dispositivo de codificación de imágenes de varias vistas al cual se aplica la presente tecnología .
La Figura 26 es un diagrama que ilustra un ejemplo de configuración principal de un dispositivo descodificación de imágenes de varias vistas al cual se aplica la presente tecnología .
La Figura 27 es un diagrama que ilustra un ejemplo de un método de codificación de imágenes de capa.
La Figura 28 es un diagrama que ilustra un ejemplo de configuración principal de un dispositivo de codificación de imágenes de capa al cual se aplica la presente tecnología.
La Figura 29 es un diagrama que ilustra un ejemplo de configuración principal de un dispositivo descodificación de imágenes de capa al cual se aplica la presente tecnología.
La Figura 30 es un diagrama de bloque que ilustra un ejemplo de configuración principal de una computadora.
La Figura 31 es un diagrama de bloque que ilustra un ejemplo de una configuración esquemática de un aparato de televisión .
La Figura 32 es un diagrama de bloque que ilustra un ejemplo de una configuración esquemática de un teléfono móvil .
La Figura 33 es un diagrama de bloque que ilustra un ejemplo de una configuración esquemática de un aparato de grabación/reproducción .
La Figura 34 es un diagrama de bloque que ilustra un ejemplo de una configuración esquemática de un aparato de formación de imágenes.
La Figura 35 es un diagrama de bloque que ilustra un ejemplo para utilizar codificación escalable.
La Figura 36 es un diagrama de bloque que ilustra otro ejemplo para utilizar codificación escalable.
La Figura 37 es un diagrama de bloque que ilustra aún otro ejemplo para utilizar codificación escalable.
Descripción de las Modalidades En adelante, las modalidades de la presente descripción se describirán. Además, la descripción se hará en el siguiente orden. 1. Primera modalidad (dispositivo de codificación de imágenes) 2. Segunda modalidad (dispositivo descodificación de imágenes) 3. Tercera modalidad (dispositivos de codificación de imágenes de varias vistas y descodificación de imágenes de varias vistas) 4. Cuarta modalidad (dispositivos de codificación de imágenes de capa y descodificación de imágenes de capa) 5. Quinta modalidad (computadora) 6. Ejemplos de aplicación 7. Ejemplos de aplicación de codificación escalable <1. Primera modalidad> Dispositivo de codificación de imágenes La Figura 1 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un dispositivo de codificación de imágenes.
El dispositivo 100 de codificación de imágenes ilustrado en la Figura 1 codifica datos de imagen, por ejemplo, al utilizar un método de proceso de predicción que cumple con la Codificación de Video de Alta Eficiencia (HEVC) . En el dispositivo 100 de codificación de imágenes, se realiza la codificación al utilizar una CU (también denominada como región de codificación) como unidad de proceso .
Como se ilustra en la Figura 1, el dispositivo 100 de codificación de imágenes incluye una unidad 101 de conversión de A/D, una memoria intermedia 102 de reorganización de pantalla, una unidad 103 de cálculo, una unidad 104 de transformada ortogonal, una unidad 105 de cuantificación, una unidad 106 de codificación reversible, una memoria intermedia 107 de acumulación, una unidad 108 de cuantificación inversa, y una unidad 109 de transformada ortogonal inversa. Además, el dispositivo 100 de codificación de imágenes incluye una unidad 110 de cálculo, un filtro 111 de desbloqueo, a memoria 112 de tramas, una unidad 113 de selección, una unidad 114 de intra-predicción, una unidad 115 de predicción/compensación de movimiento, una unidad 116 de selección de imágenes de predicción, y una unidad 117 de control de proporción.
El dispositivo 100 de codificación de imágenes además incluye una unidad 121 de codificación de vector de movimiento y una unidad 122 de control de proceso paralelo.
La unidad 101 de conversión de A/D realiza conversión de A/D en los datos de imagen de entrada, y suministra y almacena los datos de imágenes convertidos (datos digitales) en y en la memoria intermedia 102 de reorganización de pantalla. La memoria intermedia 102 de reorganización de pantalla reorganiza las imágenes de tramas en un orden de visualización almacenado, en un orden de las tramas para codificación de acuerdo con un grupo de imágenes (GOP) , y suministra las imágenes de las cuales un orden de las tramas se reorganiza en la unidad 103 de cálculo. Además, la memoria intermedia 102 de reorganización de pantalla también suministra las imágenes de las cuales un orden de las tramas se reorganiza en la unidad 114 de intra-predicción y la unidad 115 de predicción/compensación de movimiento.
La unidad 103 de cálculo resta una imagen de predicción la cual se suministra desde la unidad 114 de intra-predicción o la unidad 115 de predicción/compensación de movimiento mediante la unidad 116 de selección de imágenes de predicción, de la imagen la cual se lee de la memoria intermedia 102 de reorganización de pantalla, y produce información de diferencia de la misma en la unidad 104 de transformada ortogonal.
Por ejemplo, en un caso de una imagen en la cual se realiza inter-codificación, la unidad 103 de cálculo resta una imagen de predicción la cual se suministra desde la unidad 115 de predicción/compensación de movimiento, desde una imagen la cual se lee de la memoria intermedia 102 de reorganización de pantalla.
La unidad 104 de transformada ortogonal realiza transformada ortogonal tal como transformada de coseno discreto o Transformada de Karhunen-Loeve en la información de diferencia suministrada desde la unidad 103 de cálculo. Además, cualquier método de la transformada ortogonal puede utilizarse. La unidad 104 de transformada ortogonal suministra un coeficiente de transformada obtenido por la transformada ortogonal en la unidad 105 de cuantificación .
La unidad 105 de cuantificación cuantifica el coeficiente de transformada suministrado desde la unidad 104 de transformada ortogonal. La unidad 105 de cuantificación establece un parámetro de cuantificación en función de la información en un valor objetivo de una proporción de bit suministrada desde la unidad 117 de control de proporción, y cuantifica el parámetro. Además, cualquier método de la cuantificación puede utilizarse. La unidad 105 de cuantificación suministra el coeficiente de transformada cuantificado a la unidad 106 de codificación reversible.
La unidad 106 de codificación reversible codifica al coeficiente de transformada que se ha cuantificado en la unidad 105 de cuantificación, al utilizar cualquier método de codificación. Los datos de coeficiente se cuantifican bajo el control de la unidad 117 de control de proporción, y de esta manera la proporción de bit se vuelve un valor objetivo (o está próxima al valor objetivo) se ha establecido por la unidad 117 de control de proporción.
Además, la unidad 106 de codificación reversible adquiere información o similar que indica un modo de intra-predicción de la unidad 114 de intra-predicción, y adquiere información que indica un modo de inter-predicción o información de vector de movimiento de la unidad 115 de predicción/compensación de movimiento.
La unidad 106 de codificación reversible codifica las diversas piezas de información al utilizar cualquier método de codificación, y utiliza la información codificada como parte de la información de encabezado de los datos codificados (también denominados como corriente codificada) (multiplexa) . La unidad 106 de codificación reversible suministra y acumula los datos codificados que se obtienen por la codificación y en la memoria intermedia 107 de acumulación .
Por ejemplo, la codificación de longitud variable, la codificación aritmética, o similares pueden utilizarse como un método de codificación para la unidad 106 de codificación reversible. La codificación de longitud variable puede incluir, por ejemplo, Codificación de Longitud Variable de Contexto Adaptable (CAVLC) definido en el método de AVC, o similares. La codificación aritmética puede incluir, por ejemplo, Codificación Aritmética Binaria de Contexto Adaptable (CABAC) o similares.
La memoria intermedia 107 de acumulación contiene de manera temporal los datos codificados suministrados desde la unidad 106 de codificación reversible. La memoria intermedia 107 de acumulación produce los datos codificados mantenidos en la misma, por ejemplo, en un dispositivo de grabación (medio de grabación) o una trayectoria de transmisión (no ilustrada) en una etapa subsiguiente, en un tiempo predeterminado. En otras palabras, la memoria intermedia 107 de acumulación también funciona como una unidad de transmisión que transmite los datos codificados.
Además, el coeficiente de transformada cuantificado en la unidad 105 de cuantificación también se suministra en la unidad 108 de cuantificación inversa. La unidad 108 de cuantificación inversa cuantifica de manera inversa el coeficiente de transformada cuantificado en un método que corresponde a la cuantificación en la unidad 105 de cuantificación . Cualquier método de la cuantificación inversa puede utilizarse siempre y cuando el método corresponda al proceso de cuantificación en la unidad 105 de cuantificación . La unidad 108 de cuantificación inversa suministra un coeficiente de transformada obtenido a la unidad 109 de transformada ortogonal inversa.
La unidad 109 de transformada ortogonal inversa realiza la transformada ortogonal inversa en el coeficiente de transformada suministrada desde la unidad 108 de cuantificación inversa en un método que corresponde al proceso de transformada ortogonal en la unidad 104 de transformada ortogonal. Cualquier método de la transformada ortogonal inversa puede utilizarse siempre y cuando el método corresponda al proceso de transformada ortogonal en la unidad 104 de transformada ortogonal. El resultado que ha experimentado la transformada ortogonal inversa (información de diferencia recuperada) se suministra a la unidad 110 de cálculo .
La unidad 110 de cálculo agrega la imagen de predicción la cual se suministra desde la unidad 114 de intra-predicción o la unidad 115 de predicción/compensación de movimiento mediante la unidad 116 de selección de imágenes de predicción, la información de diferencia recuperada que es el resultado de la transformada ortogonal inversa suministrada desde la unidad 109 de transformada ortogonal inversa, por lo cual se obtiene una imagen localmente descodificada (imagen descodificada) . La imagen descodificada se suministra al filtro 111 de desbloqueo o la memoria 112 de tramas .
El filtro 111 de desbloqueo realiza un proceso de filtro de desbloqueo adecuado en la imagen descodificada suministrada desde la unidad 110 de cálculo. Por ejemplo, el filtro 111 de desbloqueo realiza un proceso de filtro de desbloqueo en la imagen descodificada para eliminar la distorsión de bloque de la imagen descodificada.
El filtro 111 de desbloqueo suministra el resultado del proceso de filtro (la imagen descodificada que ha experimentado el proceso de filtro) en la memoria 112 de tramas. Además, como se describe en lo anterior, la imagen descodificada producida desde la unidad 110 de cálculo puede suministrarse a la memoria 112 de tramas sin utilizar el filtro 111 de desbloqueo. En otras palabras, el proceso de filtro por el filtro 111 de desbloqueo puede omitirse.
La memoria 112 de tramas almacena la imagen descodificada suministrada, y suministra la imagen descodificada almacenada a la unidad 113 de selección como imagen de referencia en un tiempo predeterminado.
La unidad 113 de selección selecciona un destino de suministro de una imagen de referencia que se suministra desde la memoria 112 de tramas. Por ejemplo, en un caso donde la inter-predicción, la unidad 113 de selección suministra la imagen de referencia suministrada desde la memoria 112 de tramas, hacia la unidad 115 de predicción/compensación de movimiento .
La unidad 114 de intra-predicción realiza la intra-predicción (predicción en pantalla) para generar una imagen de predicción con una unidad de predicción fundamental (PU) como unidad de proceso al utilizar un valor de pixel en una imagen objetivo de proceso que es la imagen de referencia suministrada desde la memoria 112 de tramas mediante la unidad 113 de selección. La unidad 114 de intra-predicción realiza la intra-predicción en una pluralidad de modo de intra-predicción que se preparan con anticipación.
La unidad 114 de intra-predicción genera las imágenes de predicción en todos los modos de intra-predicción candidato, evalúa un valor de función de costos de cada imagen de predicción al utilizar una imagen ingresada suministrada desde la memoria intermedia 102 de reorganización de pantalla, y selecciona un modo óptimo. Si se selecciona un modo de intra-predicción óptimo, la unidad 114 de intra-predicción suministra una imagen de predicción que se ha generado en el modo óptimo, a la unidad 116 de selección de imágenes de predicción.
Además, como se describe en lo anterior, la unidad 114 de intra-predicción suministra la información de modo de intra-predicción o similar que indica el modo de intra-predicción empleado a la unidad 106 de codificación reversible como adecuado para permitir que se codifique la información .
La unidad 115 de predicción/compensación de movimiento realiza la predicción de movimiento (inter- predicción) con una PU fundamental como unidad de proceso al utilizar la imagen ingresada que se suministró desde la memoria intermedia 102 de reorganización de pantalla y la imagen de referencia que se suministra desde la memoria 112 de tramas mediante la unidad 113 de selección. En adelante, la unidad de predicción (PU) también se denomina como región de predicción. La unidad 115 de predicción/compensación de movimiento suministra el vector de movimiento detectado a la unidad 121 de codificación de vector de movimiento, y realiza un proceso de compensación de movimiento de acuerdo con el vector de movimiento detectado para generar una imagen de predicción (información de imagen de inter-predicción) . La unidad 115 de predicción/compensación de movimiento realiza la inter-predicción en una pluralidad de modos de inter-predicción que se preparan con anticipación.
La unidad 115 de predicción/compensación de movimiento suministra la información de vector de movimiento de una región de predicción objetivo, obtenida debido a la inter-predicción, en la unidad 121 de codificación de vector de movimiento. Además, la unidad 115 de predicción/compensación de movimiento suministra información de tamaño de la PU (región de predicción) a la unidad 122 de control de proceso paralelo. La información de tamaño de la PU es información que indica cómo una PU forma una CU, es decir, un tamaño de partición de la PU.
La unidad 115 de predicción/compensación de movimiento genera un vector de movimiento de diferencia que es una diferencia entre un vector de movimiento de una región de predicción objetivo y un vector de movimiento de predicción de la región de predicción objetivo desde la unidad 121 de codificación de vector de movimiento. Además, la unidad 115 de predicción/compensación de movimiento evalúa un valor de función de costos de cada imagen de predicción por una imagen ingresada suministrada desde la memoria intermedia 102 de reorganización de pantalla, la información sobre el vector de movimiento de diferencia generado, y similares, y selecciona un modo óptimo. Si se selecciona un modo de inter-predicción óptimo, la unidad 115 de predicción/compensación de movimiento suministra una imagen de predicción que se ha generado en el modo óptimo, a la unidad 116 de selección de imagen de predicción.
La unidad 115 de predicción/compensación de movimiento suministra información que indica el modo de inter-predicción empleado, información requerida para realizar un proceso en el modo de inter-predicción cuando se descodifican datos codificados, o similares, a la unidad 106 de codificación reversible para permitir que la información sea codificada. La información necesaria incluye, por ejemplo, información sobre el vector de movimiento de diferencia generado, la información de vector de movimiento de predicción que incluye un indicador que indica un índice de un vector de movimiento de predicción, y similares.
La unidad 116 de selección de imagen de predicción selecciona una fuente de suministro de una imagen de predicción la cual se suministra a la unidad 103 de cálculo o la unidad 110 de cálculo. Por ejemplo, en un caso de intercodificación, la unidad 116 de selección de imagen de predicción selecciona la unidad 115 de predicción/compensación de movimiento como fuente de suministro de una imagen de predicción, y suministra una imagen de predicción la cual se suministra desde la unidad 115 de predicción/compensación de movimiento, a la unidad 103 de cálculo o la unidad 110 de cálculo.
La unidad 117 de control de proporción controla una proporción de la operación de cuantificación de la unidad 105 de cuantificación en función de una proporción de bit de datos codificados acumulados en la memoria intermedia 107 de acumulación de manera que no se produce sobreflujo o infrafluj o .
La unidad 121 de codificación de vector de movimiento almacena el vector de movimiento obtenido por la unidad 115 de predicción/compensación de movimiento. La unidad 121 de codificación de vector de movimiento predice un vector de movimiento de una región de predicción objetivo. En otras palabras, la unidad 121 de codificación de vector de movimiento genera un vector de movimiento de predicción (calculador) utilizado para codificar o descodificar un vector de movimiento.
Aquí, como en los tipos de vectores de movimiento de predicción, existe un vector de movimiento de predicción temporal (calculador temporal) y un vector de movimiento de predicción espacial (calculador espacial). El vector de movimiento de predicción temporal es un vector de movimiento de predicción que se genera al utilizar un vector de movimiento de una región temporalmente adyacente la cual se encuentra temporalmente adyacente a una región de predicción objetivo. El vector de movimiento de predicción espacial es un vector de movimiento de predicción que se genera al utilizar un vector de movimiento de una región espacialmente adyacente que se encuentra espacialmente adyacente a una región de predicción objetivo.
Específicamente, la unidad 121 de codificación de vector de movimiento genera un vector de movimiento de predicción temporal al utilizar un vector de movimiento de una región temporalmente adyacente la cual se encuentra temporalmente adyacente a una región de predicción objetivo. Además, la unidad 121 de codificación de vector de movimiento genera un vector de movimiento de predicción espacial al utilizar un vector de movimiento de una región espacialmente adyacente la cual se encuentra espacialmente adyacente a una región de predicción objetivo. En este tiempo, el vector de movimiento de predicción espacial se genera al utilizar una región adyacente la cual se designa por una señal de control desde la unidad 122 de control de proceso paralelo. La unidad 121 de codificación de vector de movimiento suministra un vector de movimiento de predicción óptima el cual se considera óptimo entre los vectores de movimiento de predicción generados, hasta la unidad 115 de predicción/compensación de movimiento.
La unidad 122 de control de proceso paralelo establece una PU espacialmente adyacente de una PU objetivo. La unidad 122 de control de proceso paralelo establece una PU espacialmente adyacente de una PU objetivo de manera que un proceso de generación de vector de movimiento de predicción de una región de predicción objetivo se realiza en paralelo, particularmente, en un caso en donde se forma una región de codificación (CU) por una pluralidad de regiones de predicción (PU) . Además, establecer una PU espacialmente adyacente de una PU objetivo tiene el mismo significado que establecer un vector de movimiento del PU espacialmente adyacente de la PU objetivo, utilizada para generar un vector de movimiento de predicción.
Específicamente, la unidad 122 de control de proceso paralelo suministra, a la unidad 121 de codificación de vector de movimiento, una señal de control (una dirección o similar) para establecer una PU espacialmente adyacente de una PU objetivo en función de una posición de una región de predicción en una región de codificación al consultar la información sobre un tamaño de PU de la unidad 115 de predicción/compensación de movimiento.
Además, en la presente modalidad, una descripción se hará para la predicción de un vector de movimiento indique un proceso para generar un vector de movimiento de predicción, y la codificación de un vector de movimiento indica un proceso para generar un vector de movimiento de predicción y obtener un vector de movimiento de diferencia al utilizar el vector de movimiento de predicción generado. En otras palabras, un proceso de codificación de un vector de movimiento incluye un proceso de predicción del vector de movimiento. De manera similar, se hará una descripción para que la descodificación de un vector de movimiento indique un proceso para generar un vector de movimiento de predicción y reconstruir un vector de movimiento al utilizar el vector de movimiento de predicción generado. En otras palabras, un proceso de descodificación de un vector de movimiento incluye un proceso de predicción del vector de movimiento.
Además, la región adyacente antes descrita la cual se encuentra adyacente a la región de predicción objetivo también es una región vecina ubicada alrededor de la región objetivo, y, en adelante, una descripción se hará suponiendo que ambas regiones tienen el mismo significado.
Predicción de movimiento de predicción de 1/4 de pixel La Figura 2 es un diagrama que ilustra un ejemplo de un caso de un proceso de predicción/compensación de movimiento con una precisión de 1/4 de pixel definida en el método de AVC . En la Figura 2, cada cuadrado indica un pixel. En los cuadrados, A indica una posición de un pixel de precisión entero almacenado en la memoria 112 de tramas; b, c, y d indican posiciones de 1/2 pixel de predicción; y el, e2, y e3 indican posiciones de 1/4 pixel de predicción.
En adelante, una función Clipl() se define como en la siguiente Expresión (1).
Ecuación matemática 1 0;sí(a<0) Clip 1 (a) = " a ; de lo contrario [max_pix;s í(a >max_pix) - (i) Por ejemplo, en un caso en donde una imagen de entrada tiene precisión de 8 bits, un valor de max_pix de la Expresión (1) es 255.
Los valores de pixeles en las posiciones de b y d se generan como en las siguientes Expresiones (2) y (3) al utilizar un filtro FIR de seis tomas.
Ecuación matemática 2 F=A_2-5*A_1+20*A0+20* A1-5-A2+A3 Ecuación matemática 3 b,d = Clipl((F+16)>>5)... (3) Un valor de pixel en una posición de c se genera como en las siguientes Expresiones (4) a (6) al aplicar el filtro FIR de seis tomas en una dirección horizontal y una dirección vertical.
Ecuación matemática 4 F=b_2-5-b.1+20-b0+20-b1-5-b2+b3 Ecuación matemática 5 F = d_2-5 · d.!+20 · do+20. ?{-5 · d2+d3 Ecuación matemática 6 c = Clipl((F+512)»10)... (6) Además, un proceso de fragmento se realiza una última vez después de que se realiza un proceso de producto-suma en la dirección horizontal y la dirección vertical. el a e3 se generan a través de interpolación lineal como en las siguientes Expresiones (7) a (9).
Ecuación matemática 7 ei = (A+b+l)>>l (?) Ecuación matemática 8 e2= (b+d+l)>>l (8) Ecuación matemática 9 e3= (b+c+l)>>l {9) Macrobloque La Figura 3 es un diagrama que ilustra un ejemplo de un macrobloque en el método de AVC .
En MPEG2, con respecto a una unidad de un proceso de predicción/compensación de movimiento, El proceso de predicción/compensación de movimiento se realiza en la unidad de 16x16 pixeles en un caso de un modo de compensación de movimiento de trama. Además, el proceso de predicción/compensación de movimiento se realiza en la unidad de 16x8 pixeles para cada uno de un primer campo y un segundo campo en un caso de un modo de compensación de movimiento de campo .
En contraste, en el método de AVC, como se ilustra en la Figura 3, un macrobloque simple formado por la 16x16 pixeles puede dividirse en particiones de cualquiera de 16x16, 16x8, 8x16, y 8x8. Además, se permite que sub-macrobloques respectivos tengan información de vector de movimiento independientemente uno del otro. Además, en cuanto a una partición de 8x8, como se ilustra en la Figura 3, la partición puede dividirse en sub-macrobloques de cualquiera de 8x8, 8x4, 4x8, y 4x4, los cuales tienen permiso de tener información de vector de movimiento independiente.
Sin embargo, si tal proceso de predicción/compensación de movimiento se realiza en el método de AVC de la misma manera que en MPEG2, existe una preocupación de que una gran cantidad de información de vector de movimiento puede generarse. Además, si la información de vector de movimiento generada se codifica como es, existe una preocupación de que pueda reducirse la eficiencia de codificación.
Predicción mediana de vector de movimiento Como técnica para resolver los problemas, la reducción en la información codificada de un vector de movimiento se realiza al utilizar la siguiente técnica en el método de AVC.
Cada linea recta ilustrada en la Figura 4 indica un limite de un bloque de compensación de movimiento. Además, en la Figura 4, E indica un bloque de compensación de movimiento Correspondiente la cual se codificará de aquí en adelante, y A a D indican bloques de compensación de movimiento que ya se han codificado y se encuentran adyacentes a E.
Aquí, la información de vector de movimiento de X se establece en mvx en X=A, B, C, D, y E.
En primer lugar, la información de vector de movimiento de predicción pmvE en el bloque de compensación de movimiento E se genera como en la siguiente Expresión (10) en función de una operación mediana al utilizar la información de vector de movimiento con respecto a los bloques de compensación de movimiento A, B y C.
Ecuación matemática 10 pmvE=med(mvA, mvB, mvc) {10) En un caso donde la información con respecto al bloque de compensación de movimiento C no se encuentra disponible por una razón tal como el final de un margen de suma, la información se reemplaza con la información con respecto al bloque de compensación de movimiento D.
Los datos mvdE que se codifican como información de vector de movimiento del bloque de compensación de movimiento E se generan como en la siguiente Expresión (11) en la información de compresión de imagen al utilizar pmvE.
Ecuación matemática 11 mvdE=mvE- pmvE Además, en un proceso práctico, se realiza un proceso de manera independiente sobre los componentes respectivos de la información de vector de movimiento en la dirección horizontal y la dirección vertical.
Trama de multireferencia En el método de AVC, un método denominado trama de multireferencia se prescribe la cual no se prescribe en un método de codificación de imagen de la técnica relacionada tal como PEG2 o H.263.
Con referencia a la Figura 5, se hace una descripción de la trama de multireferencia la cual se prescribe en el método de AVC.
En otras palabras, en MPEG-2 o H.263, en un caso donde de una imagen P, un proceso de predicción/compensación de movimiento se realiza al consultar sólo una trama de referencia simple almacenada en una memoria de tramas. En contraste, en el método de AVC, como se ilustra en la Figura 5, una pluralidad de tramas de referencia se almacena en las memorias, y de tal manera una memoria diferente puede referirse para cada macrobloque.
Modo directo A continuación, se describirá un modo directo. Existe una gran cantidad de información de vector de movimiento en una imagen B, pero un modo denominado modo directo se prepara en el método de AVC.
En el modo directo, la información de vector de movimiento no se almacena en la información de compresión de imagen. En un dispositivo de descodificación de imágenes, la información de vector de movimiento de un bloque correspondiente se calcula a partir de la información de vector de movimiento de un bloque vecino, o la información de vector de movimiento de un bloque co-ubicado que es un bloque en la misma posición como que un bloque objetivo de proceso en una trama de referencia.
El modo directo incluye dos tipos de modo directo espacial y modo directo temporal, que pueden cambiarse por cada sección.
En el modo directo espacial, la información de vector de movimiento mvE en el bloque de compensación de movimiento E la cual es un objetivo del proceso se calcula como se indica en la siguiente Expresión (12) . mvE=pmvE ... (12) En otras palabras, la información de vector de movimiento generada a través de la predicción mediana se aplica al bloque correspondiente.
En adelante, con referencia a la Figura 6, el modo directo temporal se describirá.
En la Figura 6, se ubica un bloque en la misma dirección espacial que un bloque correspondiente se utiliza como bloque co-ubicado en una imagen de referencia LO, y la información de vector de movimiento en el bloque co-ubicado se establece en mvcol . Además, una distancia sobre un eje de tiempo entre la imagen correspondiente y la imagen de referencia LO se establece en TDB, y una distancia en el eje de tiempo entre la imagen de referencia LO y la imagen de referencia Ll se establece en TDD.
En este caso, la información de vector de movimiento mvLO en LO y la información de vector de movimiento mvLl en Ll se calculan como en las siguientes Expresiones (13) y (14).
Ecuación matemática 12 Ecuación matemática 13 Además, puesto que no existe información TD que indique una distancia en el eje de tiempo en la información de compresión de imagen de AVC, las Expresiones (12) y (13) anteriores se supone se calculan al utilizar el conteo de orden de imagen (POC) .
Además, en la información de compresión de imagen de AVC, el modo directo puede definirse en la unidad de macrobloque de 16x16 pixeles o la unidad de macrobloque de 8x8 pixeles.
Selección de modo de predicción A continuación, se hará una descripción de la selección de un modo de predicción en el método de AVC. En el método de AVC, es importante seleccionar un modo de predicción adecuado si se logra una mayor eficiencia de codificación .
Como ejemplo de un método de selección, existe un método montado en el software de referencia (publicado en http://iphome.hhi.de/suehring/tml/indice.htm) en el método de AVC, denominado Modelo Conjunto (JM) .
En el JM, los métodos de determinación de dos modos incluyen un modo de alta complejidad y en un modo de baja complejidad descrita a continuación pueden seleccionarse. En ambos modos, un valor de función de costos con respecto a cada de predicción se calcula, y un modo de predicción que conduce al valor de función de costo a un valor mínimo se selecciona como un sub-macrobloque correspondiente o un modo óptimo para un macrobloque correspondiente.
Una función de costo en el modo de alta complejidad se expresa como en la siguiente Ecuación (15) .
Cost (???1?6O)=?+?*? - (15) Aquí, O indica un conjunto universal de modos candidatos para codificar un bloque o macrobloque correspondientes, y D indica una energía de diferencia entre una imagen descodificada y una imagen de entrada cuando se realiza codificación en un modo correspondiente, ? indica un multiplicador no definido Lagrange el cual se proporciona como función de un parámetro cuantificado . R indica una proporción de bit total que incluye un coeficiente de transformada ortogonal cuando se realiza codificación en el modo correspondiente.
En otras palabras, puesto que los parámetros D y R se calculan para realizar codificación en el modo de alta complejidad, se requiere que los procesos de codificación temporal se realicen una vez en todos los modos candidatos, y de esta manera es necesaria una gran cantidad de cálculo.
Una función de costo en el modo de baja complejidad se expresa como en la siguiente Ecuación (16) .
Costo (ModoeQ) =D+QP2Quant (QP) *BitEncabezado Aquí, D indica una energía de diferencia entre una imagen de predicción y una imagen de entrada a diferencia en un caso del modo de alta complejidad. QP2Quant (QP) se proporciona como una función de un parámetro cuantificado QP, y BitEncabezado indica una proporción de bit con respecto a la información incluida en un encabezado, que no incluye un coeficiente de transformada ortogonal, tal como un vector de movimiento o un modo.
En otras palabras, en el modo de baja complejidad, se requiere que un proceso de predicción se realice con respecto a cada modo candidato, pero no es necesaria una imagen descodificada, y de esta manera no se requiere que un proceso de codificación se realice. Por esta razón, el modo de baja complejidad puede realizarse en una menor cantidad de cálculo que en el modo de alta complejidad.
Competencia de MV del vector de movimiento A continuación, la codificación de un vector de movimiento se describirá. Como se describe con referencia a la Figura 4, se propone el siguiente método en NPL 1 para mejorar la codificación de un vector de movimiento utilizando predicción mediana.
En otras palabras, cualquiera de "calculador temporal (vector de movimiento de predicción temporal)" y "calculador espacio-temporal (vector de movimiento de predicción espacial y temporal)" se permite que se utilice de manera adaptable como información de vector de movimiento de predicción además de "calculador espacial (vector de movimiento de predicción espacial)" que se define en el método de AVC y se obtiene a través de la predicción mediana. Este método propuesto se denomina competencia de MV en el método de AVC. En contraste, en el método de HEVC, éste se denomina como predicción de vector de movimiento avanzado (AMVP) , y, en lo siguiente, este método propuesto se denomina como AMVP que se describirá.
En la Figura 7, "mvcol" indica la información de vector de movimiento de un bloque co-ubicado para un bloque correspondiente. Además, mvtk (donde k es 0 a 8) indica información de vector de movimiento de un bloque vecino del mismo, y cada pieza de información de vector de movimiento de predicción (calculador) se define por las siguientes Expresiones (17) a (19). Además, el bloque co-ubicado para el bloque correspondiente es un bloque que tiene las mismas coordenadas xy como el bloque correspondiente en una imagen de referencia la cual se conoce por una imagen correspondiente .
Calculador temporal: Ecuación matemática 14 mvtm5 = median {mvco!j mvto,..., mv^} 7 Ecuación matemática 15 mvtm9= median{mvcoi, mvt0,..., mvt8} ( 18 } Calculador espacio-temporal: Ecuación matemática 16 mvspt=median{mvcoi, mvcoi, mva, mvb, mvc} En el dispositivo 100 de codificación de imágenes, un valor de función de costos cuando se utiliza cada información de vector de movimiento de predicción para cada bloque se calcula, y se selecciona la información de vector de movimiento de predicción óptimo. En la información de compresión de imagen, un indicador indica la información (índice) con respecto a qué información de vector de movimiento de predicción se utiliza para que cada bloque se transmita .
Unidad de codificación A continuación, una unidad de codificación prescrita en el método de HEVC se describirá. Un tamaño de macrobloque de 16 pixeles x 16 pixeles no es óptimo para una trama de imagen grande tal como una de Ultra Alta Definición (UHD; 4000 pixeles x 2000 pixeles) que se volverá un objetivo de un método de codificación de la siguiente generación.
Por lo tanto, en el método de AVC, como se describe en la Figura 3, una estructura de capa por la un macrobloque y un sub-macrobloque se prescribe, pero, por ejemplo, en el método de HEVC, se prescribe una unidad de codificación (CU) como se ilustra en la Figura 8.
La CU, la cual también se denomina bloque de árbol de codificación (CTB) , es una región parcial de una imagen en una unidad de imagen y tiene la misma función como que la del macrobloque en el AVC. Aunque esté último se fija en un tamaño de 16x16 pixeles, el primero no se fija a un tamaño, y se designa en la información de compresión de imagen en cada secuencia .
Por ejemplo, en un conjunto de parámetros de secuencia (SPS) incluido en los datos codificados que es un resultado, la unidad de codificación más grande (LCU) y la unidad de codificación más pequeña (SCU) de la CU se prescriben .
Cada LCU se establece en un indicador dividido=l en un margen en la cual la LCU no es menor que la SCU, y de esta manera puede dividirse en las CU con un tamaño más pequeño. En el ejemplo de la Figura 8, un tamaño del LCU es 128, y la profundidad de capa máxima es 5. La CU con un tamaño de 2Nx2N se divide en las CU con un tamaño de NxN, la cual es una capa de un orden más bajo cuando un valor de split_flarg es "1".
Además, la CU se divide en unidades de predicción (PU) que son regiones (regiones espaciales de una imagen en una unidad de imagen) que sirven como una unidad de proceso para intra-predicción o inter-predicción . Además, la PU se divide en unidades de transformada (TU) que son regiones (regiones parciales de una imagen en una unidad de imagen) que sirve como unidad de proceso para la transformada ortogonal. Actualmente, en el método de HEVC, la transformada ortogonal de 16x16 y 32x32 puede utilizarse además de 4x4 y 8x8.
En una inter-PU, en un caso donde una sola CU tiene un tamaño de 2Nx2N, el tamaño puede dividirse en tamaños con cualquiera de 2Nx2N, 2NxN, Nx2N, y NxN. Además, en el conjunto de parámetros de secuencia antes descrito, inter_4x4_enable flag se define, y cuando un valor del mismo se establece en 0, una inter-CU con un tamaño de bloque de 4x4 puede evitarse que se utilice.
En un caso de un método de codificación en la cual la CU se define y se realizan varios procesos con la CU como una unidad de proceso como en el método anterior de HEVC, un macrobloque en el método de AVC puede considerarse que corresponde a la LCU, y un bloque (sub-bloque) puede considerarse que corresponde a una CU. Además, un bloque de compensación de movimiento en el método de AVC puede considerarse como una PU. Sin embargo, puesto que la CU tiene una estructura de capa, un tamaño del LCU en la capa de orden más alto se establece más grande que la del macrobloque en el método de AVC, por ejemplo, como en 128x128 pixeles.
Por lo tanto, en adelante, la LCU se asume que también incluye un macrobloque en el método de AVC, y la CU se asume que también incluye un bloque (sub-bloque) en el método de AVC.
Fusión de la partición de movimiento A continuación, un modo de fusión en el método de HEVC se describirá. Como uno de los métodos de codificación del vector de movimiento descrito con referencia a la Figura 7, un método (modo de fusión) denominado fusión de partición de movimiento como se ilustra en la Figura 9 se ha propuesto. En este método, dos indicadores que incluyen Merge_Indicador y Merge_Left_Fla se transmiten como información de fusión la cual es información con respecto al modo de fusión.
Merge_Indicador=l indica que la información de movimiento de una región correspondiente X es la misma que una región vecina T la cual es una parte superior vecina de la región correspondiente o una región vecina L la cual es una parte izquierda vecina de la región correspondiente. En este tiempo, la información de fusión incluye erge_Left_Flag y se transmite. Merge_Flag=0 indica que la información de movimiento de la región correspondiente X es diferente de la región vecina T y la región vecina L. En este caso, la información de movimiento de la región correspondiente X se transmite .
En un caso donde la información de movimiento de la región correspondiente X es la misma que la información de movimiento de la región vecina L, erge_Flag se establece en 1, y Merge_Left_Flag se establece en 1. En un caso en donde la información de movimiento de la región correspondiente X es la misma que la información de movimiento de la región vecina T, Merge_Flag se establece en 1, y Merge_Left_Flag Indicador se establece en 0.
En otras palabras, también en el modo de fusión, un vector de movimiento de predicción espacial y un vector de movimiento de predicción temporal se obtienen a partir de los bloques vecinos, y un vector de movimiento de predicción óptima se determina entre los mismos. Además, en el modo de fusión, solamente la información de indicador se transmite en un caso en donde el vector de movimiento de predicción determinado es la misma que la información de movimiento del bloque correspondiente.
Vector de movimiento de predicción espacial (calculador espacial) A continuación, en el AMVP descrito con referencia a la Figura 7 o el modo de fusión descrito con referencia a la Figura 9, un vector de movimiento de predicción espacial (calculador espacial) y un vector de movimiento de predicción temporal (calculador temporal) se generan como candidatos de un vector de movimiento de predicción. De los dos vectores, un proceso para generar el vector de movimiento de predicción espacial se describirá con referencia a la Figura 10.
En un ejemplo de la Figura 10, una PU actual (PU correspondiente) la cual es una región objetivo de proceso, y A a E que son PU adyacentes a la PU correspondiente en una relación predeterminada, se ilustran.
A es una PU que se ubica en la posición más baja entre las PU adyacentes al lado izquierdo de la PU correspondiente. B es una PU la cual se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PU correspondiente. C es una PU la cual se encuentra adyacente al lado derecho superior de la PU correspondiente y se encuentra adyacente al lado izquierdo de la B. D es una PU la cual se encuentra adyacente al lado izquierdo inferior de la PU correspondiente y se encuentra adyacente al lado inferior de A. E es una PU que se encuentra adyacente al lado izquierdo superior de la PU correspondiente.
En el HEVC, el siguiente proceso de exploración se realiza en las PU adyacentes de A a E como candidatos de un vector de movimiento de predicción espacial de la PU correspondiente en un orden de C, D, A, B, y E, y un vector de movimiento de predicción espacial para la CPU se determina .
Los procedimientos de la exploración se describirán. Para empezar, primero, se realiza exploración para buscar si existe o no un vector para la cual la información de vector de movimiento del CPU es la misma que una lista e información de trama de referencia. En segundo lugar, se realiza exploración para buscar si existe o no un vector para la cual la información de vector de movimiento de la PU correspondiente es el mismo que la lista pero es el mismo que la información de trama de referencia.
En tercer lugar, la exploración se realiza para buscar si existe o no un vector para la cual la información de vector de movimiento de la PU correspondiente, es el mismo que la lista, pero es diferente que la información de trama de referencia. En cuarto lugar, la exploración se realiza para buscar si existe o no un vector para la cual la información de vector de movimiento de la PU correspondiente es diferente de la lista y la información de trama de referencia .
De la primea a la cuarta exploraciones antes descritas se termina al momento cuando dos vectores que son equivalentes a la información de vector de movimiento de la PU correspondiente se detectan. En otras palabras, si dos vectores se detectan en la primera exploración, la segunda y subsiguiente exploraciones no se realizan. Un vector óptimo de los dos vectores detectados de esta manera se determina como vector de movimiento de predicción espacial para el PU correspondiente .
Sin embargo, existe un caso donde una CU la cual es una sola región de codificación se forma, por ejemplo, las PU que son dos regiones de predicción, como se ilustra en la Figura 11, es decir, la CU se divide en PU de 2NxN. En adelante, la PU como se ilustra en la Figura 11 se denomina como una PU de 2NxN.
Incluso en este caso, un vector de movimiento de predicción espacial se determina como se describe en lo anterior. Por lo tanto, a menos que la información de vector de movimiento con respecto a la PUo ubicada en el lado superior en la CU sea fija, la codificación/descodificación (es decir, la generación de un vector de movimiento de predicción) de un vector de movimiento con respecto a PUi ubicada en el lado inferior en la CU no pueda realizarse. Por esta razón, las piezas de información de vector de movimiento con respecto a la PUo y PUi no pueden realizarse en paralelo. Además, puede decirse que esto también es lo mismo para un caso donde la CU se divide en PU de Nx2N (es decir, en un caso de una PU de Nx2N) .
Método de generación de vector de movimiento de predicción espacial de la presente tecnología Por lo tanto, en la unidad 121 de codificación de vector de movimiento, el método de generación de un vector de movimiento de predicción espacial descrito con referencia a la Figura 10 se aplica a una PU de 2Nx2N.
En contraste, con respecto a una PU de 2NxN o una PU de Nx2N, como se ilustra en las Figuras 12 y 13, se realizan diferentes procesos en una primera PU que se ubica en el lado superior o izquierdo en la CU y una segunda PU la cual se ubica en el lado inferior o derecho en la CU.
La Figura 12A es un diagrama que ilustra las regiones adyacentes que se indican para generar un vector de predicción espacial de PU0 que es la primera PU ubicada en el lado superior en la CU en un caso donde PU tiene un tamaño de 2NxN. El método de generación de un vector de movimiento de predicción espacial descrito con referencia a la Figura 10 se aplica a PUo. En otras palabras, las piezas de información de vector de movimiento de Ao a Eo las cuales son PU adyacentes a la PU correspondiente en la siguiente relación de posición se consideran como candidatos, y un vector de movimiento de predicción en la PU0 correspondiente se determina.
Ao es una PU la cual se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PUo correspondiente. B0 es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PU0 correspondiente. Co es una PU que se encuentra adyacente al lado derecho superior de la PU correspondiente y se encuentra adyacente al lado izquierdo de B0. D0 es una PU que se encuentra adyacente al lado izquierdo inferior de la PUo correspondiente y se encuentra adyacente al lado inferior de Ao. E0 es una PU que se encuentra adyacente al lado izquierdo superior de la PUo correspondiente.
La Figura 12B es un diagrama que ilustra regiones adyacentes que se indica para generar un vector de predicción espacial de PUi la cual es la segunda PU ubicada en el lado inferior en la CU en un caso donde una PU tiene un tamaño de 2NxN. En un caso de PUi correspondiente, existe un uso de piezas de información de vector de movimiento de Ai, Di, y Ei que se encuentran adyacentes a la PUi correspondiente en la siguiente relación de posición, y B0 y C0 que se encuentran adyacentes a PUo ubicada en la PUi correspondiente en la CU en la siguiente relación de posición.
Ai es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PUi correspondiente. B0 es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PUo ubicada en la Püi correspondiente. C0 es una PU que se encuentra adyacente al lado derecho superior de la PUo ubicada en la PUi correspondiente y se encuentra adyacente al lado izquierdo de la B0. Di es una PU que se encuentra adyacente al lado izquierdo inferior de PUi correspondiente y adyacente a lado inferior de la Ai. Ei es una PU que se encuentra adyacente al lado izquierdo superior de la PUi correspondiente .
En otras palabras, puesto que una PU que corresponde a Bi es PU0 con respecto a la PUi correspondiente, es necesario esperar que un proceso en PU0 se complete cuando se realiza un proceso en la PUi correspondiente, y de esta manera, esto impide un proceso paralelo. Por lo tanto, Bo se establece en lugar de Bi como una región adyacente de la PUi correspondiente. Además, C0 adyacente a la B0 puede establecerse además en lugar de Ci adyacente a Bi como una región adyacente de la PUi correspondiente.
La Figura 13A es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de la PU0 que es la primera PU ubicada en el lado izquierdo en la CU en un caso en donde una PU tiene un tamaño de Nx2N. El método de generación de un vector de movimiento de predicción espacial descrito con referencia a la Figura 10 se aplica a PU0. En otras palabras, las piezas información de vector de movimiento de A0 a E0 son las PU adyacentes a la PU correspondiente en la siguiente relación de posición se consideran como candidatos, y un vector de movimiento de predicción en la PU0 correspondiente se determina .
A0 es una PU la cual se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PUo correspondiente. Bo es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PUo correspondiente. C0 es una PU que se encuentra adyacente al lado derecho superior de la PU0 correspondiente y se encuentra adyacente al lado izquierdo de la B0. D0 es una PU que se encuentra adyacente al lado izquierdo inferior de la PUo correspondiente y se encuentra adyacente al lado inferior de la Ao. Eo es una PU que se encuentra adyacente al lado izquierdo superior de la PU0 correspondiente.
La Figura 13B es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de la PUi que es la segunda PU ubicada en el lado derecho en la CU en un caso donde una PU tiene un tamaño de 2NxN. En un caso de la PUi correspondiente, existe un uso de las piezas de información de vector de movimiento de Bi, Ci, y Ei que se encuentran adyacentes a la PUi correspondiente en la siguiente relación de posición, y A0 y Do que se encuentran adyacentes a la PUo ubicada en la PUi correspondiente en la CU en la siguiente relación de posición .
A0 es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PUo ubicada en la PUi correspondiente. Bi es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PUi correspondiente. Ci es una PU que se encuentra adyacente al lado derecho superior de la PUi correspondiente y se encuentra adyacente al lado izquierdo de la ??. Do es una PU que se encuentra adyacente al lado izquierdo inferior de la PUo ubicada en la PUi correspondiente y se encuentra adyacente al lado inferior de la Ao. Ei es una PU que se encuentra adyacente al lado izquierdo superior de la PUi correspondiente .
En otras palabras, puesto que una PU que corresponde a Ai es PUo con respecto a la PUi correspondiente, es necesario esperar que un proceso en PUo se complete cuando se realice un proceso en la PUi correspondiente, y de esta manera esto impide un proceso paralelo. Por lo tanto, A0 se establece en Ai como una región adyacente de la PUi correspondiente. Además, Do adyacente a Ao puede establecerse además en lugar de Di adyacente a Ai como una región adyacente de la PUi correspondiente.
Como se menciona en lo anterior, una región adyacente se establece en función de un tamaño (2NxN, Nx2N, 2Nx2N) de una PU, y de esta manera un proceso paralelo que utiliza vectores de movimiento en una pluralidad de PU en una CU puede realizarse, por lo cual se mejora la eficiencia de proceso .
Además, en el HEVC, la predicción puede realizarse al utilizar una Pü de NxN solamente en un caso en donde un tamaño de CU es de 4x4. Sin embargo, esto se limita a un caso en donde un valor de inter_4x4_enable_flag en el conjunto de parámetros de secuencia es 1.
La generación de un vector de movimiento de predicción espacial en este caso se realiza como se ilustra en las Figuras 14A a 14D en función de una posición en una CU.
La Figura 14A es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de PU0 que es la primera PU ubicada en el lado izquierdo superior en la CU en un caso en donde una PU tiene un tamaño de NxN. El método de generación de un vector de movimiento de predicción espacial descrito con referencia a la Figura 10 se aplica en una PU0. En otras palabras, las piezas de información de vector de movimiento de Ao a E0 que son las PU adyacentes a la PUo correspondiente en la siguiente relación de posición se consideran como candidatos, y un vector de movimiento de predicción en la PU0 correspondiente se determina.
A0 es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PUo correspondiente. B0 es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PU0 correspondiente. C0 es una PU que se encuentra adyacente al lado derecho superior de la PU correspondiente y se encuentra adyacente al lado izquierdo de la B0. D0 es una PU que se encuentra adyacente al lado izquierdo inferior de la PUo correspondiente y se encuentra adyacente al lado inferior de la Ao. E0 es una PU que se encuentra adyacente al lado izquierdo superior de la PU0 correspondiente.
La Figura 14B es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de la PUi que es la segunda PU ubicada en el lado derecho superior en la CU en un caso donde una PU tiene un tamaño de NxN. En un caso de la PUi correspondiente, existe un uso de las piezas de información de vector de movimiento de Bi, Ci, y Ei que son las PU adyacentes a la PUi correspondiente en la siguiente relación de posición, y Ao y D0 se encuentran adyacentes a PU0 ubicada en la PUi correspondiente en la CU en la siguiente relación de posición .
Ao es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PU0 ubicada en PUi correspondiente. Bi es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PUi correspondiente. Ci es una PU que se encuentra adyacente al lado derecho superior de la PUi correspondiente y se encuentra adyacente al lado izquierdo de la Bi. D0 es una PU que se encuentra adyacente al lado izquierdo inferior de la PUo ubicada en la PUi correspondiente y se encuentra adyacente al lado inferior de la Ao. Ei es una PU que se encuentra adyacente al lado izquierdo superior de la PUi correspondiente .
En otras palabras, el ejemplo de la Figura 14B es el mismo que el ejemplo de la Figura 13B. Puesto que una PU que corresponde a Ai es PU0 con respecto a PUi correspondiente, es necesario esperar para que un proceso en PUo se complete cuando se realiza un proceso en la PUi correspondiente, y de esta manera esto impide un proceso paralelo. Por lo tanto, Ao se establece en lugar de Ai como una región adyacente de la Ui correspondiente. Además, Do adyacente a A0 puede establecerse además en lugar de Di adyacente a Ai como una región adyacente de la PUi correspondiente .
La Figura 14C es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de la P¾ que es la segunda PU ubicada en el lado izquierdo inferior en la CU en un caso en donde una PU tiene un tamaño de NxN. En un caso de la P¾ correspondiente, existe un uso de las piezas de información de vector de movimiento de A2, D2, y E2 que se encuentran adyacentes a la PU2 correspondiente en la siguiente relación de posición, y B0 y C0 que se encuentran adyacentes a PUo ubicada en la PU2 correspondiente en la CU en la siguiente relación de posición.
A2 es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PU2 correspondiente. Bo es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PU0 ubicada en la PU2 correspondiente. C0 es una PU que se encuentra adyacente al lado derecho superior de la PUo ubicada en la PU2 correspondiente y se encuentra adyacente al lado izquierdo de la B0. D2 es una PU que se encuentra adyacente al lado izquierdo inferior de la PU2 correspondiente y se encuentra adyacente al lado inferior de la A2. E2 es una PU que se encuentra adyacente al lado izquierdo superior de la PU2 correspondiente.
En otras palabras, el ejemplo de la Figura 14C es el mismo que el ejemplo de la Figura 12B. Puesto que una PU que corresponde a B2 es PUo con respecto a la PU2 correspondiente, es necesario esperar que un proceso en PUo se complete cuando se realiza un proceso en PU2 correspondiente, y de esta manera esto impide un proceso paralelo. Por lo tanto, B0 se establece en lugar de B2 como una región adyacente de la PU2 correspondiente. Además, Co adyacente a B0 además puede establecerse en lugar de C2 adyacente a B2 como una región adyacente de la PU correspondiente .
La Figura 14D es un diagrama que ilustra regiones adyacentes que se indican para generar un vector de predicción espacial de la PU3 que es la segunda PU ubicada en el lado derecho inferior en la CU en un caso en donde una PU tiene un tamaño de NxN. En un caso de la PU3 correspondiente, existe un uso de las piezas de información de vector de movimiento de A2 y D2 que se encuentran adyacentes a PU2 ubicada en el lado izquierdo de la PU3 correspondiente en la CU en la siguiente relación de posición. Además, existe un uso de las piezas de información de vector de movimiento de Bi y Ci que se encuentran adyacentes a PUi ubicada en PU3 correspondiente en la CU en la siguiente relación de posición. Además, existe un uso de información de vector de movimiento de E0 que se encuentra adyacente a PU0 ubicada en el lado izquierdo superior de la PU3 correspondiente en la CU en la siguiente relación de posición.
A2 es una PU que se ubica en la posición inferior entre las PU adyacentes al lado izquierdo de la PU2 ubicada en el lado izquierdo de la PU3 correspondiente. ?? es una PU que se ubica en la posición izquierda entre las PU adyacentes al lado superior de la PUi ubicada en la PU3 correspondiente. Ci es una PU que se encuentra adyacente al lado derecho superior de la PUi ubicada en la PU3 correspondiente y se encuentra adyacente al lado izquierdo de ??. D2 es una PU que se encuentra adyacente al lado izquierdo inferior de la PU2 ubicada en el lado izquierdo de la PU3 correspondiente y se encuentra adyacente al lado inferior de A2. E2 es una PU que se encuentra adyacente al lado izquierdo superior de la PU0 ubicada en el lado izquierdo superior de la PU3 correspondiente .
En otras palabras, el ejemplo de la Figura 14D incluye el ejemplo de la Figura 12B y el ejemplo de la Figura 13B. Con respecto a la PU3 correspondiente, una PU que corresponde a B3 es PUi, una PU que corresponde a A3 es PU2, y una PU que corresponde a E3 es PUo- Por esta razón, es necesario esperar que los procesos en PU0, PUi, y PU2 se completen cuando se realice un proceso en la PU3 correspondiente, y de esta manera esto impide un proceso paralelo .
Por lo tanto, como regiones adyacentes de la PU2 correspondiente, Bi se establece en lugar de B3, A2 se establece en lugar de A3, y E0 se establece en lugar de E3. Además, como regiones adyacentes de la PU3 correspondiente, Ci adyacente a Ej puede establecerse además en lugar de C3 adyacente a B3, y D2 adyacente a A2 puede establecerse además en lugar de D3 adyacente a A3.
Como se menciona en lo anterior, la presente tecnología también puede aplicarse en un caso en donde una PU tiene un tamaño de NxN.
Además, en el HEVC, como se ilustra en la Figura 15, una partición de movimiento asimétrico (AMP) se define en la cual los tamaños de una pluralidad de las PU que forman una CU son diferentes entre si. La presente tecnología también puede aplicarse en un caso de la AMP.
Ejemplo de configuración de la unidad de codificación del vector de movimiento La Figura 16 es un diagrama de bloque que ilustra un ejemplo de configuración principal de la unidad 121 de codificación de vector de movimiento.
La unidad 121 de codificación de vector de movimiento en el ejemplo de la Figura 16 incluye una memoria intermedia 151 de vectores de movimiento espacialmente adyacentes, una memoria intermedia 152 de vectores de movimiento temporalmente adyacentes, una sección 153 de generación de vector de movimiento de predicción candidato, una sección 154 de cálculo de valor de función de costo, y en una sección 155 de determinación de vector de movimiento de predicción óptima.
La información sobre un vector de movimiento en un modo de predicción óptimo determinado se aplica a la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes y la memoria intermedia 152 de vectores de movimiento temporalmente adyacentes de la unidad 115 de predicción/compensación de movimiento. Además, la información sobre un vector de movimiento en cada modo de predicción que se ha buscado por la unidad 115 de predicción/compensación de movimiento se suministra a la sección 154 de cálculo de valor de función de costo.
Aquí, la unidad 122 de control de proceso paralelo se refiere a la información en un tamaño de la PU de la unidad 115 de predicción/compensación de movimiento, y suministra una señal de control (una dirección o similares) para establecer una PU espacialmente adyacente de una PU objetivo a la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes en función de una posición de una región de predicción en una región de codificación. Por consiguiente, las partes respectivas que constituyen la unidad 121 de codificación de vector de movimiento realizan un proceso para generar un vector de movimiento de predicción de una región de predicción objetivo en paralelo en un caso donde la región de codificación (CU) se forma por una pluralidad de regiones de predicción (PU) .
La memoria intermedia 151 de vectores de movimiento espacialmente adyacentes se forma por una memoria intermedia de linea. La memoria intermedia 151 de vectores de movimiento espacialmente adyacentes acumula la información de vector de movimiento de la unidad 115 de predicción/compensación de movimiento como información en un vector de movimiento de una región espacialmente adyacente que se encuentra espacialmente adyacente. La memoria intermedia 151 de vectores de movimiento espacialmente adyacentes lee la información que indica un vector de movimiento que se ha obtenido para una PU espacialmente adyacente que es espacialmente adyacente a una PU correspondiente. En este tiempo, la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes lee la información que indica un vector de movimiento de una PU indicada por la señal de control (dirección) de la unidad 122 de control de proceso paralelo. La memoria intermedia 151 de vectores de movimiento espacialmente adyacentes suministra la información de lectura (información de vector de movimiento espacialmente adyacente) a la sección 153 de generación de vectores de movimiento de predicción candidatos.
La memoria intermedia 152 de vectores de movimiento temporalmente adyacentes se forma por una memoria. La memoria intermedia 152 de vectores de movimiento temporalmente adyacentes acumula la información de vector de movimiento de la unidad 115 de predicción/compensación de movimiento como información sobre un vector de movimiento de una región temporalmente adyacente la cual se encuentra temporalmente adyacente. Además, la región temporalmente adyacente es una región (es decir, una PU co-indicada) que se ubica en la misma dirección espacial que una región correspondiente (PU correspondiente) en diferentes imágenes en el eje de tiempo.
La memoria intermedia 151 de vectores de movimiento temporalmente adyacentes lee la información que indica un vector de movimiento que se ha obtenido para una PU temporalmente adyacente PU que se encuentra temporalmente adyacente a la PU correspondiente, y suministra la información de lectura (información de vector de movimiento temporalmente adyacente) en la sección 153 de generación de vectores de movimiento de predicción candidatos.
La sección 153 de generación de vectores de movimiento de predicción candidatos genera un vector de movimiento de predicción espacial que sirve como candidato de la PU correspondiente al indicar a la información de vector de movimiento espacialmente adyacente de la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes en función del método que utiliza la AMVP o el modo de fusión descrito con referencia a la Figura 7 ó 9. La sección 153 de generación de vectores de movimiento de predicción candidatos suministra la información que indica el vector de movimiento de predicción espacial generado a la sección 154 de cálculo de valor de función de costo como información de vector de movimiento de predicción candidato.
La sección 153 de generación de vector de movimiento de predicción candidato genera un vector de movimiento de predicción temporal que sirve como candidato de la PU correspondiente al indicar la información de vector de movimiento temporalmente adyacente de la memoria intermedia 151 de vectores de movimiento temporalmente adyacentes en función del método que utiliza el A VP o el modo de fusión. La sección 153 de generación de vector de movimiento de predicción candidato suministra la información en el vector de movimiento de predicción temporal generado a la sección 154 de cálculo de valor de función de costo como información de vector de movimiento de predicción candidato.
La sección 154 de cálculo de valor de función de costo calcula un valor de función de costo con respecto a cada vector de movimiento de predicción candidato, y suministra el valor de función de costo calculado a la sección 155 de determinación de vector de movimiento de predicción óptima junto con la información de vector de movimiento de predicción candidato.
La sección 155 de determinación de vector de movimiento de predicción óptima determina un vector de movimiento de predicción candidato que conduce al valor de función de costo desde la sección 154 de cálculo de valor de función de costo hasta un valor mínimo, como un vector de movimiento de predicción óptima para la PU correspondiente, y suministra la información sobre la misma a la unidad 115 de predicción/compensación de movimiento.
Además, la unidad 115 de predicción/compensación de movimiento genera un vector de movimiento de diferencia el cual es una diferencia de un vector de movimiento al utilizar la información sobre el vector de movimiento de predicción óptima de la sección 155 de determinación de vector de movimiento de predicción óptima, y calcula un valor de función de costos para cada modo de predicción. La unidad 115 de predicción/compensación de movimiento determina un método de predicción el cual conduce al valor de función de costo a un valor mínimo entre los mismos como un modo de predicción inter-óptimo .
La unidad 115 de predicción/compensación de movimiento suministra una imagen de predicción en el modo de predicción inter-óptimo a la unidad 116 de selección de imagen de predicción. La unidad 115 de predicción/compensación de movimiento suministra un vector de movimiento en el modo de predicción inter-óptimo a la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes y la memoria intermedia 152 de vectores de movimiento temporalmente adyacentes. Además, la unidad 115 de predicción/compensación de movimiento suministra la información de vector de movimiento de diferencia generada a la unidad 106 de codificación reversible para permitir que la información se codifique.
Flujo del proceso de codificación A continuación, se hará una descripción de un flujo de cada proceso realizado por el dispositivo 100 de codificación de imágenes antes descrito. En primer lugar, con referencia a un diagrama de flujo de la Figura 17, se describirá un ejemplo de un flujo de un proceso de codificación .
En la etapa S101, la unidad 101 de conversión de A/D convierte A/D una imagen de entrada. En la etapa S102, la memoria intermedia 102 de reorganización de pantalla almacena la imagen convertida de A/D, y reorganiza un orden de visualización de las imágenes en un orden de codificación. En la etapa S103, la unidad 114 de intra-predicción realiza un proceso de intra-predicción en un modo de intra-predicción.
En la etapa S104, la unidad 115 de predicción/compensación de movimiento, la unidad 121 de codificación de vector de movimiento, y la unidad 122 de control de proceso paralelo realizan un proceso de predicción de inter-movimiento en el cual la predicción de movimiento o compensación de movimiento se realiza en un modo de inter-predicción. El proceso de predicción de inter-movimiento se describirá posteriormente en detalle con referencia a la Figura 18.
Un vector de movimiento de la PU correspondiente se busca debido al proceso en la etapa S104, y cada vector de movimiento de predicción de la PU correspondiente se genera. Con respecto a un vector de movimiento de predicción espacial entre los vectores de movimiento de predicción, en un caso donde a CU se forma por una pluralidad de PU, la información de vector de movimiento de una PU espacialmente adyacente establecida en función de una posición de la PU en la CU se considera como candidato, y se genera el vector de movimiento de predicción espacial. Además, un vector de movimiento de predicción el cual es el óptimo para la PU correspondiente se determina a partir del vector de movimiento de predicción temporal generado y el vector de movimiento de predicción espacial, para permitir que se determine un modo de inter-predicción óptimo, y una imagen de predicción se genera en el modo de inter-predicción óptimo.
La imagen de predicción en el modo de inter-predicción óptimo determinado y el valor de función de costo se suministran a la unidad 115 de predicción/compensación de movimiento y la unidad 116 de selección de imagen de predicción. Además, la información sobre el modo de inter-predicción óptimo determinado, la información con respecto el vector de movimiento de predicción que se considera como el óptimo, y la información que indica una diferencia entre el vector de movimiento de predicción y el vector de movimiento también se suministran a la unidad 106 de codificación reversible en la etapa S114 descrita posteriormente, para que se codifique de manera inversa.
En la etapa S105, la unidad 116 de selección de imagen de predicción determina un modo óptimo en función de los valores de función de costo respectivos que se producen a partir de la unidad 114 de intra-predicción y la unidad 115 de predicción/compensación de movimiento. En otras palabras, la unidad 116 de selección de imagen de predicción selecciona una imagen de predicción generada por la unidad 114 de intra-predicción y una imagen de predicción generada por la unidad 115 de predicción/compensación de movimiento.
En la etapa S106, la unidad 103 de cálculo calcula una diferencia entre la imagen reorganizada debido al proceso en la etapa S102 y la imagen de predicción seleccionada debido al proceso en la etapa S105. Una cantidad de datos de los datos de diferencia es menor que la de los datos de imagen originales. Por lo tanto, una cantidad de datos puede comprimirse en comparación con cuando se codifica una imagen como es.
En la etapa S107, la unidad 104 de transformada ortogonal realiza transformada ortogonal en la información de diferencia generada debido al proceso en la etapa S106. Específicamente, la transformada ortogonal tal como la transformada de coseno discreto o transformada de karhunen-loeve se realiza, y de esta manera se produce un coeficiente de transformada.
En la etapa S108, la unidad 105 de cuantificación cuantifica el coeficiente de transformada ortogonal debido al proceso en la etapa S107 al utilizar el parámetro cuantificado a partir de la unidad 117 de control de proporción .
La información de diferencia cuantificada debido al proceso en la etapa S108 se descodifica localmente como sigue. En otras palabras, en la etapa S109, la unidad 108 de cuantificación inversa cuantifica de manera inversa el coeficiente de transformada ortogonal cuantificado (también denominado como coeficiente cuantificado) generado debido al proceso de la etapa S108 en una característica que corresponde a una característica de la unidad 105 de cuantificación . En la etapa S110, la unidad 109 de transformada ortogonal inversa realiza transformada ortogonal inversa en el coeficiente de transformada ortogonal obtenido debido al proceso en la etapa S109 en una característica que corresponde a una característica de la unidad 104 de transformada ortogonal.
En la etapa Slll, la unidad 110 de cálculo agrega la imagen de predicción a la información de diferencia local descodificada para generar una imagen localmente descodificada (una imagen que corresponde a una entrada de la unidad 103 de cálculo) . En la etapa S112, el filtro 111 de desbloqueo realiza un proceso de filtrado de desbloqueo adecuado en la imagen localmente descodificada obtenida debido al proceso en la etapa Slll.
En la etapa S113, la memoria 112 de tramas almacena la imagen descodificada que ha experimentado el proceso de filtrado de desbloqueo debido al proceso en la etapa S112. Además, la memoria 112 de tramas también almacena una imagen la cual no ha experimentado el proceso de filtro en el filtro 111 de desbloqueo, suministrado desde la unidad 110 de cálculo .
En la etapa S114, la unidad 106 de codificación reversible codifica el coeficiente de transformada cuantificado debido al proceso en la etapa S108. En otras palabras, la codificación reversible tal como la codificación de longitud variable o codificación aritmética se realiza en la imagen de diferencia.
Además, en este tiempo, la unidad 106 de codificación reversible codifica la información con respecto a un modo de predicción de la imagen de predicción seleccionada debido al proceso en la etapa S105, y agrega el resultado codificado a datos codificados que se obtienen al codificar la imagen de diferencia. En otras palabras, la unidad 106 de codificación reversible también codifica la información de modo de intra-predicción óptimo suministrada desde la unidad 114 de intra-predicción, la información que corresponde un modo de intra-predicción óptimo se suministra desde la unidad 115 de predicción/compensación de movimiento, o similares, y agrega el resultado codificado a los datos codificados .
Además, en un caso donde la imagen de predicción en el modo de inter-predicción se selecciona debido al proceso en la etapa S106, la información sobre el vector de movimiento de diferencia o un indicador que indica un índice de vector de movimiento de predicción calculado en la etapa S105 también se codifica.
En la etapa S115, la memoria intermedia 107 de acumulación acumula los datos codificados obtenidos debido al proceso en la etapa S11 .
Los datos codificados acumulados en la memoria intermedia 107 de acumulación se leen y se transmiten a un lado de descodificación mediante una trayectoria de transmisión o un medio de grabación según sea adecuado.
En la etapa S116, la unidad 117 de control de proporción controla una proporción de una operación de cuantificación de la unidad 105 de cuantificación en función de una proporción de bits (proporción de bits generada) de los datos codificados acumulados en la memoria intermedia 107 de acumulación debido al proceso en la etapa S115 de manera que el sobre flujo o intra flujo no se produce.
Si el proceso en la etapa S116 se completa, el proceso de codificación finaliza.
Flujo de proceso de inter-predicción de movimiento A continuación, se realizará una descripción de un ejemplo de un flujo del proceso de inter-predicción de movimiento realizado en la etapa S104 de la Figura 17 con referencia a un diagrama de flujo de la Figura 18.
En la etapa S151, la unidad 115 de predicción/compensación de movimiento realiza una búsqueda de movimiento en cada modo de inter-predicción. La información de vector de movimiento que se ha buscado por la unidad 115 de predicción/compensación de movimiento se suministra a la sección 154 de cálculo de valor de función de costos.
En la etapa S152, la sección 153 de generación de vector de movimiento de predicción candidato genera un vector de movimiento de predicción que sirve como candidato de la PU correspondiente en función del método que utiliza el AMVP o el modo de fusión descrito con referencia a la Figura 7 ó 9. Una descripción detallada del proceso de generación de vector de movimiento de predicción se describirá posteriormente con referencia a la Figura 19.
Debido al proceso en la etapa S152, un vector de movimiento de predicción espacial que sirve como candidato de la PU correspondiente se genera al mencionar la información de vector de movimiento espacialmente adyacente de la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes. En este tiempo, en un caso donde una CU se forma por una pluralidad de PU, la información de vector de movimiento de una PU espacialmente adyacente se establece en función de una posición de la PU en la CU se considera como candidato, y se genera el vector de movimiento de predicción espacial. Además, un vector de movimiento de predicción temporal que sirve como candidato de la PU correspondiente se genera al mencionar la información de vector de movimiento temporal adyacente de la memoria intermedia 152 de vectores de movimiento temporal adyacente.
Un vector óptimo del vector de movimiento de predicción espacial generado y el vector de movimiento de predicción temporal ajustado se determina como un vector de movimiento de predicción óptimo el cual se suministra a la unidad 115 de predicción/compensación de movimiento.
La unidad 115 de predicción/compensación de movimiento calcula un valor de función de costos con respecto a cada modo de inter-predicción en la etapa S153.
En otras palabras, la unidad 115 de predicción/compensación de movimiento genera un vector de movimiento de diferencia el cual es una diferencia entre el vector de movimiento de predicción óptimo de la sección 115 de determinación de vector de movimiento de predicción óptimo y el vector de movimiento. Además, la unidad 115 de predicción/compensación de movimiento calcula un valor de función de costo con respecto a cada modo de inter-predicción en función de la expresión anterior (15) o (16) al utilizar la información de vector de movimiento de diferencia generada, la imagen de entrada a partir de la memoria intermedia 102 de reorganización de pantalla, o similares. Además, en un caso del modo de fusión, no se genera el vector de movimiento de diferencia.
En la etapa S154, la unidad 115 de predicción/compensación de movimiento determina un modo de predicción que conduce al valor de función de costos a un valor mínimo entre el modo de predicción respectivo, como un modo de inter-predicción óptimo. En la etapa S155, la unidad 115 de predicción/compensación de movimiento genera una imagen de predicción en el modo de inter-predicción óptimo, y suministra la imagen de predicción a la unidad 116 de selección de imagen de predicción.
En la etapa S156, la unidad 115 de predicción/compensación de movimiento suministra la información con respecto al modo de inter-predicción óptimo a la unidad 106 de codificación reversible de manera que la información con respecto al modo de inter-predicción óptimo se codifique.
Además, la información con respecto al modo de inter-predicción óptimo, por ejemplo, es la información sobre el modo de inter-predicción óptimo, la información de vector de movimiento de diferencia de modo de inter-predicción óptimo, la información de imagen de referencia del modo de inter-predicción óptimo, la información con respecto a un vector de movimiento de predicción, y similares. La información con respecto a un vector de movimiento de predicción incluye, por ejemplo, un indicador que indica un índice del vector de movimiento de predicción.
Estas piezas de información suministradas para corresponder al proceso en la etapa S156 se codifican en la etapa S114 de la Figura 17.
Flujo de proceso de generación de vector de movimiento de predicción A continuación, con referencia a un diagrama de flujo de la Figura 19, se hará una descripción del proceso de generación de vector del movimiento de predicción en la etapa S152 de la Figura 18. Además, en un ejemplo de la Figura 19, un proceso de generación de sólo un vector de movimiento de predicción espacial se describe, pero, en la práctica, la información del vector de movimiento de predicción temporal también se genera, se calcula un valor de vector de costo, y se determina un vector de movimiento de predicción óptimo a partir de los mismos. Además, en el ejemplo de la Figura 19, se omite una descripción de una PU de NxN.
La información que indica un tamaño de partición (PU 2Nx2N) de una PU la cual es un proceso objetivo se suministra desde la unidad 115 de predicción/compensación de movimiento hasta la unidad 122 de control de proceso paralelo .
En la etapa S171, la unidad 122 de control de proceso paralelo establece las regiones adyacentes para indicar en la información de vector de movimiento la PU de 2Nx2N. La unidad 122 de control de proceso paralelo establece, por ejemplo, A, B, C, D, y E ilustradas en la Figura 10 como regiones adyacentes, y suministra las direcciones de las mismas a la memoria intermedia 151 del vector de movimiento espacialmente adyacente como señal de control .
La memoria intermedia 151 del vector de movimiento espacialmente adyacente lee la información que indica un vector de movimiento de una PU indicada por la señal de control (dirección) de la unidad 122 de control de proceso paralelo y suministra la operación que indica el vector de movimiento leido a la sección 153 de generación de vector de movimiento de predicción candidato.
En la etapa S172, la sección 153 de generación de vector de movimiento de predicción candidato genera y determina un vector de movimiento de predicción espacial para PU de 2Nx2N.
En otras palabras, la sección 153 de generación de vector de movimiento de predicción candidato realiza un proceso de exploración al indicar la información de vector de movimiento espacialmente adyacente de las A, B, C, D, y E de la Figura 10, para generar y determinar un vector de movimiento de predicción espacial que sirve como candidato de la PU de 2Nx2N. La sección 153 de generación de vector de movimiento de predicción candidato suministra la información sobre el vector de movimiento de predicción espacial determinado a la sección 154 de cálculo de valor de función de costos como información de vector de movimiento de predicción candidato.
En la etapa S173, la sección 154 de cálculo de valor de función de costo calcula un valor de función de costo con respecto al vector de movimiento de predicción candidato de la PU de 2Nx2N, y suministra el valor de función de costo calculado a la sección 155 de determinación de vector de movimiento de predicción óptimo junto con la información de vector de movimiento de predicción candidato.
La información que indica un tamaño de partición (PU de 2NxN/Nx2N) de una PU la cual es un objetivo del proceso se suministra desde la unidad 115 de predicción/compensación de movimiento a la unidad 122 de control de proceso paralelo.
En la etapa S174, la unidad 122 de control de proceso paralelo establece regiones adyacentes para indicar la información de vector de movimiento para la PU de 2NxN/Nx2N a través de un proceso paralelo.
En un caso de la PU de 2NxN, la unidad 122 de control de proceso paralelo establece, por ejemplo, A0, B0, Co D0, Y Eo ilustradas en la Figura 12A como regiones adyacentes de PU0 que es la primera PU, y suministra las direcciones de las mismas a la memoria intermedia 151 del vector de movimiento espacialmente adyacente como señal de control. En paralelo a la misma, la unidad 122 de control de proceso paralelo establece, por ejemplo, Ai, B0, C0, Di y Ei ilustradas en la Figura 12B como regiones adyacentes de PUi la cual es la segunda PU, y suministra las direcciones de las mismas a la memoria intermedia 151 del vector de movimiento espacialmente adyacente como una señal de control.
En un caso de la PU de Nx2N, la unidad 122 de control de proceso paralelo establece, por ejemplo, A0, B0, Co, D0, y E0 ilustradas en la Figura 13A como regiones adyacentes de PUo la cual es la primera PU, y suministra las direcciones de las mismas a la memoria intermedia 151 del vector de movimiento espacialmente adyacente como señal de control. En paralelo a la misma, la unidad 122 de control de proceso paralelo establece, por ejemplo, A0, Bi, Ci, Do, y Ei ilustradas en la Figura 13B como regiones adyacentes de PUi la cual es la segunda PU, y suministra las direcciones de las mismas a la memoria intermedia 151 del vector de movimiento espacialmente adyacente como una señal de control.
La memoria intermedia 151 del vector de movimiento espacialmente adyacente lee la información que indica un vector de movimiento de una PU indicada por la señal de control (dirección) de la unidad 122 de control de proceso paralelo, y suministra la información que indica el vector de movimiento leido a la sección 153 de generación de vector de movimiento de predicción candidato.
En la etapa S175, la sección 153 de generación de vector de movimiento de predicción candidato genera y determina un vector de movimiento de predicción espacial para la PU de 2NxN/Nx2N a través de un proceso paralelo.
En otras palabras, en un caso de la PU de 2NxN, la sección 153 de generación de vector de movimiento de predicción candidato realiza un proceso de exploración al indicar en la información de vector de movimiento espacialmente adyacente de A0, Bi, Co, Do, y Eo de la Figura 12A, para generar y determinar el vector de movimiento de predicción espacial que sirve como candidato de la PUo de 2NxN. En paralelo a la misma, la sección 153 de generación de vector de movimiento de predicción candidato realiza un proceso de exploración al indicar en la información de vector de movimiento espacialmente adyacente de la ??, B0, Co, Di, y Ei de la Figura 12B, para generar y determinar un vector de movimiento de predicción espacial que sirve como candidato de la PUi de 2NxN .
En un caso de la PU de Nx2N, la sección 153 de generación de vector de movimiento de predicción candidato realiza un proceso de exploración al indicar en la información de vector de movimiento espacialmente adyacente de la A0, B0, C0, D0, y E0 de la Figura 13A, para generar y determinar un vector de movimiento de predicción espacial que sirve como candidato de la PU0 de Nx2N. En paralelo a la misma, la sección 153 de generación de vector de movimiento de predicción candidato realiza un proceso de exploración al indicar en la información de vector de movimiento espacialmente adyacente de la A0, Bi, Ci, D0, y Ei de la Figura 13B, para generar y determinar un vector de movimiento de predicción espacial que sirve como candidato de la PUi de Nx2N.
La sección 153 de generación de vector de movimiento de predicción candidato suministra la información sobre el vector de movimiento de predicción espacial al determinar a la sección 154 de cálculo de valor de función de costos como información de vector de movimiento de predicción candidato .
En la etapa S176, la sección 154 de cálculo de valor de función de costo calcula un valor de función de costo con respecto al vector de movimiento de predicción candidato de la PU de 2NxN/Nx2N, y suministra el valor de la función de costo calculado a la sección 155 de determinación de vector de movimiento de predicción óptimo, junto con la información de vector de movimiento de predicción candidato.
En la etapa S177, la sección 155 de determinación de vector de movimiento de predicción óptimo determina un vector de movimiento de predicción óptimo entre los vectores de movimiento de predicción candidato. En otras palabras, la sección 155 de determinación de vector de movimiento de predicción óptimo determina un vector de movimiento de predicción candidato que conduce el valor de la función de costos desde la sección 154 de cálculo de valor de la función de costos hasta un valor mínimo, como vector de movimiento de predicción óptimo para la PU correspondiente, y suministra la información en la unidad 115 de predicción/compensación de movimiento.
Como se mencionó en lo anterior, en el dispositivo 100 de codificación de imágenes, en un caso donde la región de codificación (CU) se forma por una pluralidad de regiones de predicción (UPP) , una región adyacente para indicar que un vector de movimiento se establece en función de una posición de una región de predicción en la región de codificación. Por consiguiente, un proceso de generación de vectores de movimiento de predicción de una PU puede realizarse en paralelo y de esta manera es posible mejorar la eficiencia de <2. Segunda modalidad> Dispositivo de descodificación de imágenes A continuación, se hará una descripción de la descodificación de datos codificados (corriente codificada) que se han codificado como los descritos en lo anterior. La Figura 20 es un diagrama de bloque que ilustra un ejemplo de configuración principal de un dispositivo de descodificación de imágenes que corresponde al dispositivo 100 de codificación de imágenes de la Figura 1.
Un dispositivo 200 de descodificación de imágenes ilustrado en la Figura 20 descodifica los datos codificados generados por el dispositivo 100 de codificación de imágenes al utilizar un método de descodificación que corresponde al método de codificación. Además, el dispositivo 200 de descodificación de imágenes se asume que realiza la inter-predicción para cada unidad de predicción (PU) de la misma manera que el dispositivo 100 de codificación de imágenes.
Como se ilustra en la Figura 20, el dispositivo 200 de descodificación de imágenes incluye la memoria intermedia 201 de acumulación, una unidad 202 de descodificación reversible, una unidad 203 de cuantificación inversa, una unidad 204 de transformada ortogonal inversa, una unidad 205 de cálculo, un filtro 206 de desbloqueo, una memoria intermedia 207 de reorganización de pantalla, y una unidad 208 de conversión de D/A. Además, el dispositivo 200 de descodificación de imágenes incluye una memoria 209 de tramas, una unidad 210 de selección, una unidad 211 de intra-predicción, una unidad 212 de predicción/compensación de movimiento, y una unidad 213 de selección.
Además, el dispositivo 200 de descodificación de imágenes incluye una unidad 221 de descodificación de vector de movimiento y una unidad 222 de control de proceso paralelo .
La memoria intermedia 201 de acumulación es una unidad de recepción que recibe datos codificados que se transmiten. La memoria intermedia 201 de acumulación recibe y acumula los datos codificados que se transmiten, y suministran en los datos codificados a la unidad 202 de descodificación reversible en un tiempo predeterminado. La información necesaria en la descodificación, tal como la información de modo de predicción, información de diferencia de vector de movimiento, e información de vector de movimiento de predicción, se agrega a los datos codificados. La unidad 202 de descodificación reversible descodifica la información que se suministra desde la memoria intermedia 201 de acumulación y se ha codificado por la unidad 106 de codificación reversible de la Figura 1, al utilizar un método que corresponde al método de codificación en la unidad 106 de codificación reversible. La unidad 202 de descodificación reversible suministra los datos de coeficiente cuantificados a una imagen de diferencia obtenida a través de la descodificación, a la unidad 203 de cuantificación inversa.
Además, la unidad 202 de descodificación reversible determina si un modo de intra-predicción o un modo de inter-predicción se seleccionan como un modo de predicción óptimo. La unidad 202 de descodificación reversible suministra la información con respecto al modo de predicción óptimo a un lado de modo que de determinación como siendo seleccionado, de la unidad 211 de intra-predicción y la unidad 212 de predicción/compensación de movimiento.
En otras palabras, por ejemplo, en un caso en donde se selecciona un modo de inter-predicción como modo de predicción óptimo en el dispositivo 100 de codificación de imágenes, la información con respecto al modo de predicción óptimo se suministra a la unidad 212 de predicción/compensación de movimiento.
Además, la unidad 202 de descodificación reversible suministra la información necesaria para descodificar un vector de movimiento, tal como la información de diferencia de vector de movimiento y la información de vector de movimiento de predicción, a la unidad 221 de descodificación de vector de movimiento. Además, aunque no se ilustra en la Figura 20, la información de tamaño de partición de una PU de la unidad 202 de descodificación reversible se suministra a la unidad 222 de control de proceso paralelo.
La unidad 203 de cuantificación inversa cuantifica de manera inversa los datos de coeficiente cuantificado que se han descodificado y obtenido por la unidad 202 de descodificación reversible, al utilizar un método que corresponde al método de cuantificación en la unidad 105 de cuantificación de la Figura 1, y suministra los datos de coeficiente obtenidos a la unidad 204 de transformada ortogonal inversa.
La unidad 204 de transformada ortogonal inversa realiza la transformada ortogonal inversa en los datos de coeficiente suministrados desde la unidad 203 de cuantificación inversa al utilizar un método que corresponde al método de transformada ortogonal en la unidad 104 de transformada ortogonal de la Figura 1. Debido al proceso de transformada ortogonal inversa, la unidad 204 de transformada ortogonal inversa obtiene los datos restantes descodificados que corresponden a los datos restantes antes de experimentar la transformada ortogonal en el dispositivo 100 de codificación de imágenes. Los datos restantes descodificados obtenidos a través de la transformada ortogonal inversa se suministran a la unidad 205 de cálculo. Además, una imagen de predicción se suministra a la unidad 205 de cálculo desde la unidad 211 de intra-predicción o la unidad 212 de predicción/compensación de movimiento mediante la unidad 213 de selección.
La unidad 205 de cálculo agrega los datos restantes descodificados a la imagen de predicción, para obtener los datos de imagen descodificados que corresponden a los datos de imagen de los cuales no se sustrae la imagen de predicción por la unidad 103 de cálculo del dispositivo 100 de codificación de imágenes. La unidad 205 de cálculo suministra los datos de imagen descodificados al filtro 206 de desbloqueo .
El filtro 206 de desbloqueo realiza un proceso de filtro de desbloqueo adecuado en la imagen descodificada suministrada, y suministra un resultado de la misma a la memoria intermedia 207 de reorganización de pantalla. El filtro 206 de desbloqueo o el filtro 206 de bucle realizan el proceso de filtro de desbloqueo en la imagen descodificada para eliminar la distorsión de bloque de la imagen descodificada .
El filtro 206 de desbloqueo suministra el resultado del proceso de filtro (la imagen descodificada que ha experimentado el proceso de filtro) a la memoria intermedia 207 de reorganización de pantalla y la memoria 209 de tramas. Además, la imagen descodificada producida a partir de la unidad 205 de cálculo puede suministrarse a la memoria intermedia 207 de reorganización de pantalla o la memoria 209 de tramas sin utilizar el filtro 206 de desbloqueo. En otras palabras, el proceso de filtro por el filtro 206 de desbloqueo puede omitirse.
La memoria intermedia 207 de reorganización de pantalla reorganiza las imágenes. En otras palabras, un orden de tramas que se ha reorganizado al orden de codificación por la memoria intermedia 102 de reorganización de pantalla de la Figura 1 se reorganiza en el orden de visualización original. La unidad 208 de conversión de D/A convierte de manera D/A la imagen suministrada desde la memoria intermedia 207 de reorganización de pantalla, y produce y visualiza la imagen convertida en D/A en y sobre una pantalla (no ilustrada) .
La memoria 209 de tramas almacena la imagen descodificada, y suministra la imagen descodificada almacenada a la unidad 210 de selección como imagen de referencia, en un tiempo predeterminado o en función de una solicitud de un elemento externo tal como la unidad 211 de intra-predicción o la unida 212 de predicción/compensación de movimiento .
La unidad 210 de selección selecciona un destino de suministro de la imagen de referencia que se suministra desde la memoria 209 de tramas. En un caso en donde se descodifica una imagen intra-codificada, la unidad 210 de selección suministra la imagen de referencia suministrada desde la memoria 209 de tramas, hasta la unidad 211 de intra-predicción. Además, en un caso donde se descodifica una imagen inter-codificada, la unidad 210 de selección suministra la imagen de referencia suministrada desde la memoria 209 de tramas hasta la unidad 212 de predicción/compensación de movimiento.
La información o similar que indica un modo de intra-predicción que se obtiene al descodificar la información de encabezado incluida en los datos codificados se suministra de manera adecuada a la unidad 211 de intra-predicción desde la unidad 202 de descodificación reversible. La unidad 211 de intra-predicción realiza la intra-predicción al utilizar la unidad de imagen de referencia adquirida de la memoria 209 de tramas, en el modo de intra-predicción que se ha utilizado en la unidad 114 de intra-predicción de la Figura 1, para generar una imagen de predicción. La unidad 211 de intra-predicción suministra la imagen de predicción generada a la unidad 213 de selección.
La unidad 212 de predicción/compensación de movimiento adquiere desde la unidad 202 de descodificación reversible, la información (información de modo de predicción óptimo, información de trama de referencia, y similares) obtenida al descodificar la información de encabezado.
La unidad 212 de predicción/compensación de movimiento realiza la inter-predicción al utilizar la imagen de referencia adquirida de la memoria 209 de tramas, en el modo de inter-predicción indicado por la información de modo de predicción óptimo adquirida de la unidad 202 de descodificación reversible, para generar una imagen de predicción. Además, en este tiempo, la unidad 212 de predicción/compensación de movimiento realiza la inter-predicción al utilizar la información de vector de movimiento que se reconstruye por la unidad 221 de descodificación de vector de movimiento.
La unidad 213 de selección suministra la imagen de predicción a partir de la unidad 211 de intra-predicción o la imagen de predicción a partir de la unidad 212 de predicción/compensación de movimiento a la unidad 205 de cálculo; además, la unidad 205 de cálculo agrega la imagen de predicción que se genera al utilizar el vector de movimiento a los datos restantes descodificados (información de imagen de diferencia) de la unidad 204 de transformada ortogonal inversa, para descodificar una imagen original. En otras palabras, la unidad 212 de predicción/compensación de movimiento, la unidad 202 de descodificación reversible, la unidad 203 de cuantificación inversa, la unidad 204 de transformada ortogonal inversa, y la unidad 205 de cálculo funcionan como unidades de descodificación que descodifican los datos codificados al utilizar el vector de movimiento para generar una imagen original.
La unidad 221 de descodificación de vectores de movimiento adquiere información sobre un índice del vector de movimiento de predicción y la información sobre el vector de movimiento de diferencia de entre las piezas de información obtenidas al descodificar la información de encabezado, desde la unidad 202 de descodificación reversible. Aquí, el índice del vector de movimiento de predicción es la información que indica utilizar un vector de movimiento de cuya región adyacente un proceso de predicción (generación de un vector de movimiento de predicción) de un vector de movimiento se realiza entre regiones adyacentes las cuales se encuentran temporal y espacialmente adyacentes en cada PU. La información con respecto al vector de movimiento de diferencia es la información que indica un valor del vector de movimiento de diferencia.
En caso donde el vector de movimiento de predicción es un vector de movimiento de predicción temporal, la unidad 221 de descodificación de vectores de movimiento reconstruye el vector de movimiento de predicción al utilizar un vector de movimiento de una PU adyacente indicada por un índice del vector de movimiento de predicción. En caso donde el vector de movimiento de predicción es un vector de movimiento de predicción espacial, la unidad 221 de descodificación de vectores de movimiento reconstruye el vector de movimiento de predicción al utilizar un vector de movimiento de una PU adyacente indicada por un índice del vector de movimiento de predicción entre las PU adyacentes designadas por la señal de control de la unidad 122 de control de proceso paralelo.
La unidad 221 de descodificación de vectores de movimiento agrega el vector de movimiento de predicción reconstruido al vector de movimiento de diferencia desde la unidad 202 de descodificación reversible para reconstruir un vector de movimiento.
La unidad 222 de control de proceso paralelo se configura fundamentalmente de la misma manera que la unidad 122 de control de proceso paralelo de la Figura 1 y establece una PU espacialmente adyacente de una PU objetivo. La unidad 222 de control de proceso paralelo establece una PU espacialmente adyacente de una PU objetivo de manera que un proceso de generación de vectores de movimiento de predicción de una región de predicción objetivo se realice en paralelo, particularmente, En caso donde se forma una región de codificación (CU) por una pluralidad de regiones de predicción (PU) . Además, establecer una PU espacialmente adyacente de una PU objetivo tiene el mismo significado como establecer un vector de movimiento de la PU espacialmente adyacente de la PU objetivo, utilizada para generar un vector de movimiento de predicción.
Específicamente, la unidad 222 de control de proceso paralelo suministra, a la unidad 221 de descodificación de vectores de movimiento, una señal de control (una dirección o similar) para establecer una PU espacialmente adyacente de una PU objetivo en función de una posición de una región de predicción en una región de codificación al indicar en la información un tamaño de PU de la unidad 212 de predicción/compensación de movimiento.
Además, un principio de operación fundamental relacionado con la presente tecnología en la unidad 221 de descodificación de vectores de movimiento y la unidad 222 de control de proceso paralelo son los mismos que aquel en la unidad 121 de codificación de vectores de movimiento y la unidad 122 de control de proceso paralelo de la Figura 1. Sin embargo, existen 2NxN y Nx2N como PU que sirven como un candidato en el dispositivo 100 de codificación de imágenes de la Figura 1, y el método de acuerdo con la presente tecnología se aplica a un caso para generar vectores de movimiento de predicción espaciales de los mismos.
Mientras tanto, en el dispositivo 200 de descodificación de imágenes de la Figura 20, la información con respecto a ése tipo de vector de movimiento de predicción se determina para la PU correspondiente que se transmite desde el lado de codificación. En caso donde una CU se codifica por una PU de 2NxN/Nx2N y un vector de movimiento de predicción espacial se aplica al mismo durante la codificación, el método de acuerdo con la presente tecnología se aplica.
Ejemplo de configuración de la unidad de descodificación de vectores de movimiento La Figura 21 es un diagrama de bloque que ilustra un ejemplo de configuración principal de la unidad 221 de descodificación de vectores de movimiento.
En un ejemplo de la Figura 21, la unidad 221 de descodificación de vectores de movimiento incluye una memoria intermedia 251 de información de vector de movimiento de predicción, una memoria intermedia 252 de información de vector de movimiento de diferencia, una sección 253 de reconstrucción de vector de movimiento de predicción, y una sección 254 de reconstrucción de vector de movimiento. La unidad 221 de descodificación de vectores de movimiento además incluye una memoria intermedia 255 de vectores de movimiento espacialmente adyacentes y una memoria intermedia 256 de vectores de movimiento temporalmente adyacentes.
La memoria intermedia 251 de información de vector de movimiento de predicción acumula información (en adelante, denominada como información sobre un vector de movimiento de predicción) que incluye un índice y similar de un vector de movimiento de predicción de una región objetivo (PU) que se ha descodificado por la unidad 202 de descodificación reversible. La memoria intermedia 251 de información de vector de movimiento de predicción lee la información de vector de movimiento de predicción de la PU correspondiente, y suministra la información leída a la sección 253 de reconstrucción de vector de movimiento de predicción.
La memoria intermedia 252 de información de vector de movimiento de diferencia acumula información sobre un vector de movimiento de diferencia de la región objetivo (PU) que se ha descodificado por la unidad 202 de descodificación reversible. La memoria intermedia 252 de información de vector de movimiento de diferencia lee la información sobre un vector de movimiento de diferencia de la PU objetivo, y suministra la información leída a la sección 254 de reconstrucción de vector de movimiento.
La sección 253 de reconstrucción de vector de movimiento de predicción determina si el vector de movimiento de predicción de la PU correspondiente indicada por la información de la memoria intermedia 251 de información de vector de movimiento de predicción es un vector de movimiento de predicción espacial o un vector de movimiento de predicción temporal.
En caso donde el vector de movimiento de predicción de la PU correspondiente es un vector de movimiento de predicción temporal, la sección 253 de reconstrucción de vector de movimiento de predicción hace que la memoria intermedia 256 de vectores de movimiento temporalmente adyacentes lea la información de vector de movimiento de la PU correspondiente indicada por la información de la memoria intermedia 251 de información de vector de movimiento de predicción. Además, la sección 253 de reconstrucción de vector de movimiento de predicción genera y reconstruye el vector de movimiento de predicción de la PU correspondiente en función del método que utiliza el A VP o el modo de fusión al utilizar la información de vector de movimiento leída. La sección 253 de reconstrucción de vector de movimiento de predicción suministra la información sobre el vector de movimiento de predicción reconstruido a la sección 254 de reconstrucción de vector de movimiento.
En caso donde el vector de movimiento de predicción de la PU correspondiente es un vector de movimiento de predicción espacial, la sección 253 de reconstrucción de vector de movimiento de predicción hace que la memoria intermedia 255 de vectores de movimiento espacialmente adyacentes lea la información de vector de movimiento de la PU correspondiente indicada por el índice de la memoria intermedia 251 de información de vector de movimiento de predicción. Además, la sección 253 de reconstrucción de vector de movimiento de predicción genera y reconstruye el vector de movimiento de predicción de la PU correspondiente en función del método que utiliza el AMVP o el modo de fusión al utilizar la información de vector de movimiento leída. La sección 253 de reconstrucción de vector de movimiento de predicción suministra la información sobre el vector de movimiento de predicción reconstruido a la sección 254 de reconstrucción de vector de movimiento.
La sección 254 de reconstrucción de vector de movimiento agrega un vector de movimiento de diferencia de la PU correspondiente indicada por la información de la memoria intermedia 252 de información de vector de movimiento de diferencia al vector de movimiento de predicción de la PU correspondiente de la sección 253 de reconstrucción de vector de movimiento de predicción, para reconstruir un vector de movimiento. La sección 254 de reconstrucción de vector de movimiento suministra la información sobre el vector de movimiento reconstruido a la unidad 212 de predicción/compensación de movimiento, la memoria intermedia 255 de vectores de movimiento espacialmente adyacentes, y la memoria intermedia 256 de vectores de movimiento temporalmente adyacentes.
Además, la unidad 212 de predicción/compensación de movimiento realiza la inter-predicción utilizando la imagen de referencia en el modo de inter-predicción indicado por la información de modo de predicción óptimo adquirida de la unidad 202 de descodificación reversible al utilizar el vector de movimiento reconstruido por la sección 254 de reconstrucción de vector de movimiento, para generar una imagen de predicción.
Aquí, la unidad 222 de control de proceso paralelo indica la información en un tamaño de partición de una PU desde la unidad 202 de descodificación reversible, y suministra una señal de control (una dirección o similar) para establecer una PU espacialmente adyacente de una PU de una PU objetivo en la memoria intermedia 255 de vectores de movimiento espacialmente adyacentes en función de una posición de una región de predicción en una región de codificación. Por consiguiente, las partes respectivas que constituyen la unidad 221 de descodificación de vectores de movimiento realizan un proceso para generar un vector de movimiento de predicción de una región de predicción objetivo en paralelo en caso donde la región de codificación (CU) se forme por una pluralidad de regiones de predicción (PU).
La memoria intermedia 255 de vectores de movimiento espacialmente adyacentes se forma por una memoria intermedia de linea de la misma manera que la memoria intermedia 151 de vectores de movimiento espacialmente adyacentes de la Figura 16. La memoria intermedia 255 de vectores de movimiento espacialmente adyacentes acumula la información de vector de movimiento reconstruida por la sección 254 de reconstrucción de vector de movimiento como información de vector de movimiento espacialmente adyacente para la información de vector de movimiento de predicción de las PU subsiguientes en la misma imagen. La memoria intermedia 255 de vectores de movimiento espacialmente adyacentes lee la información de vector de movimiento de una PU que corresponde al índice de la sección 253 de reconstrucción de vector de movimiento de predicción, entre las PU indicadas por la señal de control (direcciones) de la unidad 122 de control de proceso paralelo.
La memoria intermedia 256 de vectores de movimiento temporalmente adyacentes se forma por una memoria de la misma manera que la memoria intermedia 152 de vectores de movimiento temporalmente adyacentes de la Figura 16. La memoria intermedia 256 de vectores de movimiento temporalmente adyacentes acumula la información de vector de movimiento reconstruida por la sección 254 de reconstrucción de vector de movimiento como información de vector de movimiento temporalmente adyacente para la información de vector de movimiento de predicción de las PU de otras imágenes. La memoria intermedia 256 de vectores de movimiento temporalmente adyacentes lee la información de vector de movimiento de una PU que corresponde al índice de la sección 253 de reconstrucción de vector de movimiento de predicción.
Flujo de proceso de descodificación A continuación, se hará una descripción de un flujo de cada proceso realizado por el dispositivo 200 de descodificación de imágenes antes descrito. En primer lugar, con referencia a un diagrama de flujo de la Figura 22, se describirá un ejemplo de un flujo de un proceso de descodificación.
Cuando inicia el proceso de descodificación, en la etapa S201, la memoria intermedia 201 de acumulación acumula los datos transmitidos codificados (corriente codificada) . En la etapa S202, la unidad 202 de descodificació'n reversible descodifica los datos codificados (información de imagen de diferencia codificada) suministrados desde la memoria intermedia 201 de acumulación. En otras palabras, una imagen I, una imagen P, y una imagen B las cuales se han codificado por la unidad 106 de codificación reversible de la Figura 1 se descodifican.
Esta vez, varias piezas de información distintas a la información de imagen de diferencia incluida en la corriente codificada, tal como la información de encabezado, se descodifican. La unidad 202 de descodificación reversible adquiere información o similar que incluye, por ejemplo, información de modo de predicción, información sobre un vector de movimiento de diferencia, y un índice de un vector de movimiento de predicción. La unidad 202 de descodificación reversible suministra la información adquirida a una unidad correspondiente .
En la etapa S203, la unidad 203 de cuantificación inversa cuantifica de manera inversa el coeficiente de transformada ortogonal cuantificado obtenido debido al proceso en la etapa S202. Además, un parámetro cuantificado obtenido debido a un proceso en la etapa S208 descrito posteriormente se utiliza en este proceso de cuantificación inversa. En la etapa S204, la unidad 204 de transformada ortogonal inversa realiza la transformada ortogonal inversa en el coeficiente de transformada ortogonal que se cuantifica de manera inversa en la etapa S203.
En la etapa S205, la unidad 202 de descodificación reversible determina si los datos codificados que son un objetivo de proceso se intra-codifican o no en función de la información con respecto al modo de predicción óptimo descodificado en la etapa S202. Si se determina que los datos codificados se intra-codifican, el proceso procede a la etapa S206.
En la etapa S206, la unidad 211 de intra-predicción adquiere información de modo de intra-predicción. En la etapa S207, la unidad 211 de intra-predicción realiza la intra-predicción al utilizar la información de modo de intra-predicción adquirida en la etapa S206 de manera que genere una imagen de predicción.
Además, si se determina que los datos codificados los cuales son un objetivo de proceso no se intra-codifican, es decir, los datos codificados se inter-codifican en la etapa S206, el proceso procede a la etapa S208.
En la etapa S208, la unidad 2212 de descodificación de vectores de movimiento realiza un proceso de reconstrucción de vector de movimiento. Los detalles del proceso de reconstrucción de vector de movimiento se describirán posteriormente con referencia a la Figura 23.
Debido al proceso en la etapa S208, la información con respecto al vector de movimiento de predicción descodificado se indica, y de esta manera el vector de movimiento de predicción de la PU correspondiente se reconstruye. Esta vez, en caso donde el vector de movimiento de predicción de la PU correspondiente es un vector de movimiento de predicción espacial, cuando una CU se forma por una pluralidad de las PU, el vector de movimiento de predicción se reconstruye al utilizar la información de vector de movimiento de una PU espacialmente adyacente establecida en función de una posición de la PU en el CU. Además, se reconstruye un vector de movimiento al utilizar el vector de movimiento de predicción reconstruido de la PU correspondiente, y el vector de movimiento reconstruido se suministra a la unidad 212 de predicción/compensación de movimiento .
En la etapa S209, la unidad 212 de predicción/compensación de movimiento realiza un proceso de predicción inter-movimiento al utilizar el vector de movimiento reconstruido debido al proceso en la etapa S208, para generar una imagen de predicción. La imagen de predicción generada se suministra a la unidad 213 de selección .
En la etapa S210, la unidad 213 de selección selecciona la imagen de predicción generada en la etapa S207 o etapa S209. En la etapa S211, la unidad 205 de cálculo agrega la imagen de predicción seleccionada en la etapa S210 a la información de imagen de diferencia obtenida a través de la transformada ortogonal inversa en la etapa S204. Por consiguiente, una imagen original se descodifica. En otras palabras, la imagen de predicción se genera al utilizar el vector de movimiento, y la imagen de predicción generada se agrega a la información de imagen de diferencia de la unidad 204 de transformada ortogonal inversa de manera que se descodifique la imagen original.
En la etapa S212, el filtro 206 de desbloqueo realiza un proceso de filtro de desbloqueo adecuado en la imagen descodificada obtenida en la etapa S211.
En la etapa S213, la memoria intermedia 207 de reorganización de pantalla reorganiza las imágenes que experimentan el proceso de filtro en la etapa S212. En otras palabras, una orden de tramas que se han reorganizado en el orden de codificación por la memoria intermedia 102 de reorganización de pantalla del dispositivo 100 de codificación de imágenes se reorganiza en el orden de visualización original.
En la etapa S214, la unidad 208 de conversión de D/A convierte D/A las imágenes cuyo orden se reorganiza en la etapa S213. Estas imágenes se producen en una pantalla (no ilustrada), y las imágenes se despliegan.
En la etapa S215, la memoria 209 de trama almacena la imagen que experimenta el proceso de filtro en la etapa S212.
Si el proceso en la etapa S215 se completa, el proceso de descodificación termina.
Flujo de proceso de reconstrucción de vector de movimiento A continuación, con referencia a un diagrama de flujo de la Figura 23, se hará una descripción de un ejemplo de un flujo del proceso de reconstrucción de vector de movimiento realizado en la etapa S208 de la Figura 22. Además, el proceso de reconstrucción de vector de movimiento es un proceso para descodificar un vector de movimiento al utilizar la información que se transmite desde el lado de codificación y se descodifica por la unidad 202 de descodificación reversible.
En la etapa S202 de la Figura 22, la unidad 202 de descodificación reversible adquiere información o similar en un parámetro descodificado, y suministra la información adquirida a una unidad correspondiente.
En la etapa S251, la memoria intermedia 252 de información de vector de movimiento de diferencia adquiere la información de vector de movimiento de diferencia de la unidad 202 de descodificación reversible, y suministra la información adquirida a la sección 254 de reconstrucción de vector de movimiento.
En la etapa S252, la memoria intermedia 251 de información de vector de movimiento de predicción adquiere la información de vector de movimiento de predicción de la unidad 202 de descodificación reversible, y suministra la información adquirida a la sección 253 de reconstrucción de vector de movimiento de predicción. Esta vez, la unidad 222 de control de proceso paralelo adquiere la información que indica una tamaño de PU (tamaño de partición) de la unidad 202 de descodificación reversible.
En la etapa S253, la unidad 222 de control de proceso paralelo determina si la PU correspondiente es o no una PU de 2Nx2N al indicarla en el tamaño de PU adquirido. Si la PU correspondiente es una PU de 2Nx2N en la etapa S253, el proceso procede a la etapa S254.
En la etapa S254, la unidad 222 de control de proceso paralelo establece las regiones adyacentes para indicar la información de vector de movimiento con respecto a la PU de 2Nx2N. La unidad 222 de control de proceso paralelo establece, por ejemplo, A, B, C, D, y E ilustradas en la Figura 10 como regiones adyacentes, y suministra las direcciones de las mismas a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente como una señal de control.
En la etapa S255, la sección 253 de reconstrucción de vector de movimiento de predicción reconstruye un vector de movimiento de predicción.
En otras palabras, la sección 253 de reconstrucción de vector de movimiento de predicción suministra la información de vector de movimiento de predicción (índice) de la memoria intermedia 251 de información de vector de movimiento de predicción, a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente. La memoria intermedia 255 de vectores de movimiento espacialmente adyacente lee la información de vector de movimiento de una región adyacente indicada por el índice de la sección 253 de reconstrucción de vector de movimiento de predicción entre las regiones adyacentes establecidas por la unidad 222 de control de proceso paralelo, y suministra la información leída a la sección 253 de reconstrucción de vector de movimiento de predicción. La sección 253 de reconstrucción de vector de movimiento de predicción genera y reconstruye el vector de movimiento de predicción de la PU correspondiente en función del método que utiliza el AMVP o el modo de fusión al utilizar la información de vector de movimiento leída de la memoria intermedia 255 de vectores de movimiento espacialmente adyacente. La reconstrucción de información de vector de movimiento de predicción reconstruida se suministra a la sección 254 de reconstrucción de vector de movimiento.
Por otro lado, si se determina que la PU correspondiente no es la PU de 2Nx2N, es decir, la PU correspondiente es una PU de 2NxN o Nx2N en la etapa S253, el proceso procede a la etapa S256.
En la etapa S256, la unidad 222 de control de proceso paralelo establece regiones adyacentes para indicar la información de vector de movimiento a través de un proceso paralelo de la primera PU y la segunda PU con respecto a la PU de 2NxN/Nx2N.
En un caso de la PU de 2NxN, la unidad 222 de control de proceso paralelo establece, por ejemplo, A0, B0, Co, D0, y E0 ilustradas en la Figura 12A como regiones adyacentes de PU0 que es la primera PU, y suministra las direcciones de las mismas a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente como señal de control. En paralelo a la misma, la unidad 222 de control de proceso paralelo establece, por ejemplo, Ai, Bo, Co, Di, y Ei ilustradas en la Figura 12B como regiones adyacentes de PUi que es la segunda PU, y suministra las direcciones de las mismas a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente como señal de control.
En un caso de la PU de Nx2N, la unidad 222 de control de proceso paralelo establece, por ejemplo, Ao, Bo, Co r Do y E0 ilustradas en la Figura 13A como regiones adyacentes de la PU0 que es la primera PU, y suministra las direcciones de las mismas a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente como señal de control. En paralelo a la misma, la unidad 222 de control de proceso paralelo establece, por ejemplo, Ao, Bi, Ci, Do, y ?? ilustradas en la Figura 13B como regiones adyacentes de PUi que es la segunda PU, y suministra las direcciones de las mismas a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente como señal de control.
En la etapa S255, la sección 253 de reconstrucción de vector de movimiento de predicción reconstruye un vector de movimiento de predicción a través de un proceso paralelo de la primera PU y la segunda PU.
En otras palabras, la sección 253 de reconstrucción de vector de movimiento de predicción suministra la información de vector de movimiento de predicción (índice) de la memoria intermedia 251 de información de vector de movimiento de predicción, a la memoria intermedia 255 de vectores de movimiento espacialmente adyacente. La memoria intermedia 255 de vectores de movimiento espacialmente adyacente lee la información de vector de movimiento de una región adyacente indicada por el índice de la sección 253 de reconstrucción de vector de movimiento de predicción entre las regiones adyacentes establecidas por la unidad 222 de control de proceso paralelo, y suministra la información leída a la sección 253 de reconstrucción de vector de movimiento de predicción. La sección 253 de reconstrucción de vector de movimiento de predicción genera y reconstruye el vector de movimiento de predicción de la PU correspondiente en función del método que utiliza el A VP o el modo de fusión al utilizar la información de vector de movimiento leída de la memoria intermedia 255 de vectores de movimiento espacialmente adyacente. La información de vector de movimiento de predicción reconstruida se suministra a la sección 254 de reconstrucción de vector de movimiento. Este proceso se realiza a través de un proceso paralelo de la primera PU y la segunda PU, y de esta manera las piezas de información de vector de movimiento de predicción de la primera PU y la segunda PU se suministran simultáneamente a la sección 253 de reconstrucción de vector de movimiento.
En la etapa S257, la sección 254 de reconstrucción de vector de movimiento reconstruye un vector de movimiento de la PU correspondiente.
En otras palabras, la sección 254 de reconstrucción de vector de movimiento agrega un vector de movimiento de diferencia de la PU correspondiente indicada por la información de la memoria intermedia 252 de información de vector de movimiento de diferencia al vector de movimiento de predicción de la PU correspondiente de la sección 253 de reconstrucción de vector de movimiento de predicción, para reconstruir un vector de movimiento. La sección 254 de reconstrucción de vector de movimiento suministra la información sobre el vector de movimiento reconstruido a la unidad 212 de predicción/compensación de movimiento, la memoria intermedia 255 de vectores de movimiento espacialmente adyacente, y la memoria intermedia 256 de vectores de movimiento temporalmente adyacente.
Además, la Figura 23 ilustra un caso del método que utiliza el AMVP. En caso del modo de fusión, la información de vector de movimiento de diferencia no se transmite desde el lado de codificación, y de esta manera se omite en la etapa S251. Además, En caso del modo de fusión, en la etapa S257, el vector de movimiento de predicción de la PU correspondiente de la sección 253 de reconstrucción de vector de movimiento de predicción se vuelve un vector de movimiento de la PU correspondiente.
Además, en el ejemplo de la Figura 23, el proceso de generación de sólo un vector de movimiento de predicción espacial se describe, pero, en la práctica, se determina si la información de vector de movimiento de predicción indica un vector de movimiento de predicción espacial o un vector de movimiento de predicción temporal. Además, si la información de vector de movimiento de predicción indica un vector de movimiento de predicción temporal, se reconstruye la información de vector de movimiento de predicción temporal, y después se reconstruye un vector de movimiento. Además, en el ejemplo de la Figura 23, se omite la descripción de una PU de NxN.
El dispositivo 200 de descodificación de imágenes puede descodificar correctamente los datos codificados que se han codificado por el dispositivo 100 de codificación de imágenes al realizar cada proceso como se describe en lo anterior, y de esta manera es posible realizar mejora en la eficiencia de proceso.
En otras palabras, también en el dispositivo 200 de descodificación de imágenes, en un caso donde se forma una región de codificación (CU) por una pluralidad de regiones de predicción (PU), las regiones adyacentes para referirse a un vector de movimiento se establecen en función de una posición de la región de predicción en la región de codificación. Por consiguiente, un proceso de reconstrucción de vector de movimiento de predicción de las PU puede realizarse en paralelo, y de esta manera es posible mejorar la eficiencia de proceso.
Además, aunque, en la descripción anterior, la descripción se ha hecho de un ejemplo en el cual la unidad 122 de control de proceso paralelo y la unidad 222 de control de proceso paralelo se operan todo el tiempo, por ejemplo, en la unidad 122 de control de proceso paralelo en el lado de codificación, de los estados de Encendido y Apagado del control de proceso paralelo (establecimiento de región adyacente) pueden establecerse, y el control de proceso paralelo (establecimiento de región adyacente) pueden realizarse sólo en caso del estado de Encendido.
El establecimiento en el lado de codificación se establece como un indicador de Encendido/Apagado en un elemento de sintaxis tal como un conjunto de parámetros de secuencia de una corriente codificada, por ejemplo, por la unidad 106 de codificación reversible, y se transmite desde la memoria intermedia 107 de acumulación hasta el lado de descodificación. Además, en el lado de descodificación, el indicador de Encendido/Apagado se recibe por la memoria intermedia 201 de acumulación para que se adquiera por la unidad 202 de descodificación reversible, y se suministre a la unidad 222 de control de proceso paralelo. Un estado de Encendido o Apagado se establece en la unidad 222 de control de proceso paralelo en función del suministrador indicado, y el control de proceso paralelo (establecimiento de región adyacente) se realiza sólo en caso del estado Encendido.
Además, el indicador de Encendido/Apagado puede establecerse en función de un tamaño de una CU o una PU . En otras palabras, en un caso donde se dividen la CU y la PU para que sean más pequeñas, la información de vector de movimiento de más bloques se requiere que se procese, y realizar esto a través de un proceso paralelo es ventajoso para construir un circuito que puede realizar un proceso en tiempo real.
Por otro lado, con respecto a una CU o PU más grande, como se ilustra en las Figuras 12 y 13, la información de vector de movimiento de una ubicación separada se utiliza como información adyacente, y de esta manera existe una preocupación de que una correlación con la información de movimiento para una PU correspondiente pueda reducirse y esto pueda conducir a una reducción en la eficiencia de codificación.
Además, una necesidad para el proceso paralelo es mayor para a secuencia con un tamaño más grande. Por esta razón, el indicador puede no transmitirse como se describe en lo anterior pero puede establecerse en función de un perfil o nivel de una secuencia de una corriente codificada.
Además, aunque, en la descripción anterior, un caso de conformarse al HEVC se ha descrito, la presente tecnología se puede aplicar a un aparato que utiliza otros métodos de codificación siempre y cuando el aparato realice un proceso de codificación y un proceso de descodificación de la información de vector de movimiento utilizando el AMVP o el modo de fusión.
Además, la presente tecnología se puede aplicar a un dispositivo de codificación de imágenes y un dispositivo descodificación de imágenes los cuales se utilizan cuando la información de imagen (corriente de bit) que se ha comprimido a través de transformada ortogonal tal como transformada de coseno discreto y compensación de movimiento, tal como, por ejemplo, MPEG o H.26x, se recibe mediante un medio de red tal como una difusión satelital, una televisión por cable, la Internet, o un teléfono móvil. Además, la presente tecnología se puede aplicar a un dispositivo de codificación de imágenes y un dispositivo descodificación de imágenes que se utilizan cuando se realiza un proceso en el medio de almacenamiento tales como un disco óptico, un disco magnético, y una memoria flash. Además, la presente tecnología también se puede aplicar a un dispositivo de compensación de predicción de movimiento incluido en el dispositivo de codificación de imágenes y el dispositivo de descodificación de imágenes. <3. Tercera modalidad> Aplicación a la codificación de imágenes de varias vistas y descodificación de imágenes de varias vistas La serie antes descrita de procesos puede aplicarse a una codificación de imágenes de varias vistas y descodificación de imágenes de varias vistas. La Figura 24 es un diagrama que ilustra un ejemplo de un método de codificación de imágenes de varias vistas.
Como se ilustra en la Figura 24, las imágenes de varias vistas incluyen imágenes en una pluralidad de vistas, y una imagen en una cierta vista entre la pluralidad de vistas se designa como una imagen de vista base. Las imágenes en las vistas respectivas distintas a la imagen de vista base se tratan como imágenes de vista no base.
En caso de realizar la codificación de imágenes de varias vistas como en la Figura 24, un indicador de Encendido/Apagado del control de proceso paralelo antes descrito (establecimiento de región adyacente) puede establecerse en cada vista (la misma vista) . Además, un indicador de Encendido/Apagado del control de proceso paralelo establecido en otras vistas puede compartirse en vistas respectivas (diferentes vistas) .
En este caso, el indicador de Encendido/Apagado del control de proceso paralelo establecido en una vista base se utiliza en al menos una vista no base. Alternativamente, por ejemplo, un indicador de Encendido/Apagado del control de proceso paralelo establecido en una vista no base (view_id=i) se utiliza en al menos una de una vista base y una vista no base (view_id= ) .
Por consiguiente, es posible mejorar la eficiencia de proceso a través de un proceso paralelo en codificación o descodificación de un vector de movimiento.
Dispositivo de codificación de imágenes de varias vistas La Figura 25 es un diagrama que ilustra un dispositivo de codificación de imágenes de varias vistas el cual realiza la codificación de imágenes de varias vistas antes descrita. Como se ilustra en la Figura 25, el dispositivo 600 de codificación de imágenes de varias vistas incluye una unidad 601 de codificación, una unidad 602 de codificación, y un multiplexor 603.
La unidad 601 de codificación codifica una imagen de vista base para generar una corriente codificada de imágenes de vista base. La unidad 602 de codificación codifica una imagen de vista no base para generar una corriente codificada de imágenes de vista no base. El multiplexor 603 multiplexa la corriente codificada de imágenes de vista base generada en la unidad 601 de codificación y la corriente codificada de imágenes de vista no base generada en la unidad 602 de codificación, para generar una corriente codificada de imágenes de varias vistas .
El dispositivo 100 de codificación de imágenes (Figura 1) se puede aplicar a la unidad 601 de codificación y la unidad 602 de codificación del dispositivo 600 de codificación de imágenes de varias vistas. En este caso, el dispositivo 600 de codificación de imágenes de varias vistas establece y transmite un indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 601 de codificación y un indicador de Encendido/Apagado del control de proceso paralelo por la unidad 602 de codificación.
Además, como se describe en lo anterior, el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 601 de codificación puede establecerse para compartirse y utilizarse por la unidad 601 de codificación y la unidad 602 de codificación y puede transmitirse. Inversamente, el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 602 de codificación puede establecerse para compartirse y utilizarse por la unidad 601 de codificación y la unidad 602 de codificación y puede transmitirse.
Dispositivo de descodificación de imágenes de varias vistas La Figura 26 es un diagrama que ilustra un dispositivo de descodificación de imágenes de varias vistas que realiza la descodificación de imágenes de varias vistas antes descrita. Como se ilustra en la Figura 26, el dispositivo 610 de descodificación de imágenes de varias vistas incluye un desmultiplexor 611, una unidad 612 de descodificación, y una unidad 613 de descodificación.
El desmultiplexor 611 desmultiplexa la corriente codificada de imágenes de varias vistas en la cual la corriente codificada de imágenes de vista base y la corriente codificada de imágenes de vista no base se multiplexan, para extraer la corriente codificada de imágenes de vista base y la corriente codificada de imágenes de vista no base. La unidad 612 de descodificación descodifica la corriente codificada de imágenes de vista base extraída por el desmultiplexor 611 para obtener una imagen de vista base. La unidad 613 de descodificación descodifica la corriente codificada de imágenes de vista no base extraída por el desmultiplexor 611 para obtener una imagen de vista no base.
El dispositivo 200 de descodificación de imágenes (Figura 20) se puede aplicar en la unidad 612 de descodificación y la unidad 613 de descodificación del dispositivo 610 de descodificación de imágenes de varias vistas. En este caso, el dispositivo 610 de descodificación de imágenes de varias vistas realiza un proceso al utilizar el indicador de Encendido/Apagado del control de proceso paralelo que se establece por la unidad 601 de codificación y se descodifica por la unidad 612 de descodificación y el indicador de Encendido/Apagado del control de proceso paralelo que se establece por la unidad 602 de codificación y se descodifica por la unidad 613 de descodificación.
Además, como se describe en lo anterior, existe un caso donde el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 601 de codificación (o la unidad 602 de codificación) se establece para compartir y utilizarse por la unidad 601 de codificación y la unidad 602 de codificación y pueden transmitirse. En este caso, el dispositivo 610 de descodificación de imágenes de varias vistas realiza un proceso al utilizar el indicador de Encendido/Apagado del control de proceso paralelo gue se establece por la unidad 601 de codificación (o la unidad 602 de codificación) y se descodifica por la unidad 612 de descodificación (o la unidad 613 de descodificación) . <4. Cuarta modalidad> Aplicación a la codificación de imágenes de capa y la descodificación de imágenes de capa La serie antes descrita de procesos puede aplicarse a la codificación de imágenes de capa y la descodificación de imágenes de capa. La Figura 27 ilustra un ejemplo de un método de codificación de imágenes de varias vistas.
Como se ilustra en la Figura 27, las imágenes de capa incluyen imágenes de una pluralidad de capas (resoluciones) , y una imagen de una cierta capa entre la pluralidad de capas se designan como una imagen de capa base. Las imágenes de las capas respectivas distintas a la imagen de capa base se tratan como imágenes de capa no base.
En caso de realizar la codificación de imágenes de capa (escalabilidad espacial) como en la Figura 27, un indicador de Encendido/Apagado del control de proceso paralelo anteriormente descrito (establecimiento de región adyacente) puede establecerse en cada capa (la misma capa) . Además, un indicador de Encendido/Apagado del control de proceso paralelo establecido en otras vistas puede compartirse en las capas respectivas (diferentes capas).
En este caso, el indicador de Encendido/Apagado del control de proceso paralelo establecido en una capa base se utiliza en al menos una capa no base. Alternativamente, por ejemplo, el indicador de Encendido/Apagado del control de proceso paralelo establecido en una capa no base (layer_id=i) se utiliza en al menos una de una capa base y una capa no base ( layer_id=j ) .
Por consiguiente, es posible mejorar la eficiencia de proceso a través de un proceso paralelo en la codificación o descodificación de un vector de movimiento.
Dispositivo de codificación de imágenes de capa La Figura 28 es un diagrama que ilustra un dispositivo de codificación de imágenes de capa que realiza la codificación de imágenes de capa antes descrita. Como se ilustra en la Figura 28, el dispositivo 620 de codificación de imágenes de capa incluye una unidad 621 de codificación, una unidad 622 de codificación, y un multiplexor 623.
La unidad 621 de codificación codifica la imagen de capa base para generar una corriente codificada de imágenes de capa base. La unidad 622 de codificación codifica la imagen de capa no base para generar una corriente codificada de imágenes de capa no base. El multiplexor 623 multiplexa la corriente codificada de imágenes de capa base generada en la unidad 621 de codificación y la corriente codificada de imágenes de capa no base generada en la unidad 622 de codificación, para generar una corriente codificada de imágenes de capa.
El dispositivo 100 de codificación de imágenes (Figura 1) se puede aplicar en la unidad 621 de codificación y la unidad 622 de codificación del dispositivo 620 de codificación de imágenes de capa. En este caso, el dispositivo 620 de codificación de imágenes de capa establece y transmite un indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 621 de codificación y un indicador de Encendido/Apagado del control de proceso paralelo por la unidad 602 de codificación.
Además, como se describe en lo anterior, el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 621 de codificación puede establecerse para compartirse y utilizarse por la unidad 621 de codificación y la unidad 622 de codificación y puede transmitirse. Inversamente, el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 622 de codificación puede establecerse para compartirse y utilizarse por la unidad 621 de codificación y la unidad 622 de codificación y puede transmitirse.
Dispositivo de descodificación de imágenes de capa La Figura 29 es un diagrama gue ilustra un dispositivo de descodificación de imágenes de capa que realiza la descodificación de imágenes de capa antes descrita. Como se ilustra en la Figura 29, el dispositivo 630 de descodificación de imágenes de capa incluye un desmultiplexor 631, una unidad 632 de descodificación, y una unidad 633 de descodificación.
El desmultiplexor 631 desmultiplexa la corriente codificada de imágenes de capa en la cual la corriente codificada de imágenes de capa base y la corriente codificada de imágenes de capa no base se multiplexan, para extraer la corriente codificada de imágenes de capa base y la corriente codificada de imágenes de capa no base. La unidad 632 de descodificación descodifica la corriente codificada de imágenes de capa base extraída por el desmultiplexor 631 para obtener una imagen de capa base. La unidad 633 de descodificación descodifica la corriente codificada de imágenes de capa no base extraída por el desmultiplexor 631, para obtener una imagen de capa no base.
El dispositivo 200 de descodificación de imágenes (Figura 20) se puede aplicar a la unidad 632 de descodificación y la unidad 633 de descodificación del dispositivo 630 de descodificación de imágenes de capa. En este caso, el dispositivo 630 de descodificación de imágenes de capa realiza un proceso al utilizar el indicador de Encendido/Apagado del control de proceso paralelo que se establece por la unidad 621 de codificación y se descodifica por la unidad 632 de descodificación y el indicador de Encendido/Apagado del control de proceso paralelo que se establece por la unidad 622 de codificación y se descodifica por la unidad 633 de descodificación.
Además, como se describe en lo anterior, existe un caso donde el indicador de Encendido/Apagado del control de proceso paralelo establecido por la unidad 621 de codificación (o la unidad 622 de codificación) se establece para compartir y utilizarse por la unidad 621 de codificación y la unidad 622 de codificación y pueda transmitirse. En este caso, el dispositivo 630 de descodificación de imágenes de capa realiza un proceso al utilizar el indicador de Encendido/Apagado del control de proceso paralelo que se establece por la unidad 621 de codificación (o la unidad 622 de codificación) y se descodifica por la unidad 632 de descodificación (o la unidad 633 de descodificación) . <5. Quinta modalidad> Computadora La serie antes descrita de procesos puede realizarse por hardware o software. Cuando la serie antes descrita de procesos se realiza por el software, programas que constituyen el software se instalan en una computadora. Aquí, la computadora incluye una computadora incorporada en hardware dedicado, o una computadora personal de propósito general o similar que puede ejecutar varios tipos de función al instalar varios tipos de programas.
La Figura 30 es un diagrama de bloque que ilustra un ejemplo de configuración de hardware de una computadora que realiza la serie antes descrita de procesos de acuerdo con un programa.
En la computadora 800, una unidad 801 de procesamiento central (CPU) , una memoria 802 de sólo lectura (ROM) , y una memoria 803 de acceso aleatorio (RAM) se conectan entre sí mediante un bus 804.
El bus 804 también se conecta a una interfaz 805 de entrada y salida. La interfaz 805 de entrada y salida se conecta a una unidad 806 de entrada, una unidad 807 de salida, una unidad 508 de almacenamiento, una unidad 509 de comunicación, y una unidad 810.
La unidad 806 de entrada incluye un teclado, un ratón, un micrófono, y similares. La unidad 807 de salida incluye una pantalla, un altavoz, y similares. La unidad 808 de almacenamiento incluye un disco duro, una memoria no volátil, o similares. La unidad 809 de comunicación incluye una interfaz de red o similares. La unidad 810 impulsa un medio 811 removible tal como un disco magnético, un disco óptico, un disco magneto-óptico, una memoria de semiconductor, o similares.
En la computadora configurada de esta manera, la CPU 801 realiza la serie antes descrita de procesos, por ejemplo, al cargar el programa almacenado en la unidad 808 de almacenamiento en la RAM 803 mediante la interfaz 805 de entrada y salida y el bus 804 y ejecuta el programa.
El programa ejecutado por la computadora 800 (la CPU 801) puede grabarse en el medio 811 removible, por ejemplo, como un medio de paquete, y puede proporcionarse. Además, el programa puede proporcionarse mediante un medio de transmisión alámbrico o inalámbrico tal como una red de área local, la Internet, o una difusión satelital digital.
En la computadora, el programa puede instalarse en la unidad 808 de almacenamiento mediante la interfaz 805 de entrada y salida para instalar el medio 811 removible en la unidad 810. Además, el programa puede recibirse por la unidad 809 de comunicación mediante un medio de transmisión alámbrica o inalámbrica y puede instalarse en la unidad 808 de almacenamiento. Además, el programa puede instalarse en la ROM 802 o la unidad 808 de almacenamiento con anticipación.
Además, el programa ejecutado por la computadora puede ser un programa que realiza procesos en una serie de tiempos de acuerdo con el orden descrito en la presente especificación, y puede ser un programa que realiza procesos en paralelo o en un tiempo necesario tal como cuando se acceda .
Además, en la presente especificación las etapas para describir programas grabados en un medio de grabación incluyen no sólo procesos realizados en una serie de tiempos de acuerdo con el orden descrito, sino también procesos realizados en paralelo o por separado incluso si no se realiza de manera necesaria en la serie de tiempos.
Además, en la presente especificación, el sistema se refiere a todo el aparato que incluye una pluralidad de dispositivos .
Además, en la descripción anterior, una configuración descrita como un solo dispositivo (o una unidad de procesamiento) puede dividirse y formare por una pluralidad de dispositivos (o unidades de procesamiento) . Inversamente, en la descripción anterior, configuraciones descritas como una pluralidad de dispositivos (o unidades de procesamiento) pueden formarse por un solo dispositivo (o una unidad de procesamiento) todo junto. Además, las configuraciones distintas a aquellas descritas en lo anterior pueden agregarse a la configuración de cada dispositivo (o cada unidad de procesamiento) . Además, una parte de la configuración de un dispositivo (o una unidad de procesamiento) puede incluirse en la configuración de otro dispositivo (u otra unidad de procesamiento) siempre y cuando la configuración y operaciones del sistema general sean sustancialmente las mismas. En otras palabras, la presente tecnología no se limita a las modalidades antes descritas pero pueden tener varias modificaciones en el alcance sin apartarse del espíritu de la presente tecnología.
El dispositivo de codificación de imágenes y el dispositivo de descodificación de imágenes de acuerdo con la modalidad descrita en lo anterior puede aplicarse a diversos aparatos electrónicos tales como un transmisor o un receptor al distribuir difusión por satélite, difusión por cable, tal como televisión por cable, e Internet, y la distribución a una terminal por medio de comunicación celular, un aparato de grabación el cual graba imágenes en medios de comunicación tales como un disco óptico, un disco magnético, y una memoria flash, y un aparato de reproducción que reproduce las imágenes desde los medios de almacenamiento. En lo sucesivo, se describirán cuatro ejemplos de aplicación. <6. Ejemplos de aplicación> Primer ejemplo de aplicación: receptor de televisión La Figura 31 ilustra un ejemplo de una configuración esquemática de un aparato de televisión al que se aplica la modalidad descrita en lo anterior. El aparato 900 de televisión incluye una antena 901, un sintonizador 902, un desmultiplexor 903, un descodificador 904, una unidad 905 de procesamiento de señal de video, una unidad 906 de visualización, una unidad 907 de procesamiento de señal de audio, un altavoz 908, una interfaz 909 externa, una unidad 910 de control, una interfaz 911 de usuario, y un bus 912.
El sintonizador 902 extrae una señal de un canal deseado a partir de una señal de difusión que se recibe mediante la antena 901, y desmodula la señal extraída. Además, el sintonizador 902 produce una corriente de bits codificada la cual se obtiene a través de la desmodulación, al desmultiplexor 903. En otras palabras, el sintonizador 902 funciona como un medio de transmisión en el aparato 900 de televisión, para recibir la corriente codificada en la que se codifica una imagen.
El desmultiplexor 903 desmultiplexa una corriente de video y una corriente de audio de un programa objetivo de visualización de una corriente codificada, y produce las corrientes desmultiplexadas al descodificador 904. Además, el desmultiplexor 903 extrae datos auxiliares tales como guia de programación electrónica (EPG) desde la corriente de bits codificada, y suministra los datos extraídos a la unidad 910 de control. Además, el desmultiplexor 903 puede realizar el descifrado cuando la corriente de bits codificada está cifrada .
El descodificador 904 descodifica la corriente de imagen y la corriente de audio las cuales ingresan desde el desmultiplexor 903. Además, el descodificador 904 produce datos de imagen que se generan debido al proceso de descodificación, a la unidad 905 de procesamiento de señal de video. Además, el descodificador 904 produce datos de audio los cuales se generan debido al proceso de descodificación, a la unidad 907 de procesamiento de señal de audio.
La unidad 905 de procesamiento de señal de video reproduce los datos de imagen ingresados desde el descodificador 904 de manera que se despliega una imagen en la unidad 906 de visualización . Además, la unidad 905 de procesamiento de señal de video puede desplegar una pantalla de aplicación la cual se suministra mediante una red, en la unidad 906 de visualización. Además, la unidad 905 de procesamiento de señales de video puede realizar un proceso adicional, tal como, por ejemplo, eliminación de ruido, en los datos de imagen, de acuerdo con las configuraciones de los mismos. Además, la unidad 905 de procesamiento de señal de video puede generar una imagen de interfaz de usuario gráfica (GUI), tal como, por ejemplo, un menú, un botón, o un cursor, y puede superponer la imagen generada a la imagen de salida .
La unidad 906 de visualización se excita por una señal de excitación la cual se suministra desde la unidad 905 de procesamiento de señal de video, y despliega un video o una imagen en una pantalla de un dispositivo de visualización (por ejemplo, una pantalla de cristal liquido, una pantalla de plasma, o una pantalla de electroluminiscencia orgánica (OLED) ) .
La unidad 907 de procesamiento de señal de audio realiza los procesos de reproducción tal como conversión D/A y una amplificación en los datos de audio los cuales ingresan desde el descodificador 904, de manera que permiten al sonido reproducirse desde el altavoz 908. Además, la unidad 907 de procesamiento de señal de audio puede realizar un proceso adicional, tal como eliminación de ruido en los datos de audio .
La interfaz 909 externa es una interfaz la cual conecta al aparato 900 de televisión a un aparato externo o la red. Por ejemplo, una corriente de video o una corriente de audio las cuales se reciben mediante la interfaz 909 externa pueden descodificarse por el descodificador 904 En otras palabras, la interfaz 909 externa también funciona como medios de transmisión en el aparato 900 de televisión, para recibir una corriente codificada. En la que se codifica una imagen .
La unidad 910 de control incluye un procesador, tal como una CPU, y memorias tales como una RAM y una ROM. Las memorias almacenan un programa ejecutado por la CPU, datos de programa, datos de EPG, datos adquiridos mediante la red, y similares. El programa almacenado en la memoria se lee y se ejecuta por la CPU, por ejemplo, cuando se inicia el aparato 900 de televisión. La CPU ejecuta el programa, y de este modo controla una operación del aparato 900 de televisión en respuesta a, por ejemplo, una señal de operación la cual se ingresa desde la interfaz 911 de usuario.
La interfaz 911 de usuario se conecta a la unidad 910 de control. La interfaz 911 de usuario incluye, por ejemplo, botones e conmutadores los cuales permiten a un usuario operar el aparato 900 de televisión, una unidad de recepción de una señal de control remoto, y similares. La interfaz 911 de usuario genera una señal de operación al detectar una operación realizada por un usuario mediante estos elementos componentes, y produce la señal de operación generada a la unidad 910 de control.
El bus 912 conecta el sintonizador 902, el desmultiplexor 903, el descodificador 904, la unidad 905 de procesamiento de señal de video, la unidad 907 de procesamiento de señal de audio, la interfaz 909 externa, y la unidad 910 de control, entre si.
En el aparato 900 de televisión con la configuración anterior, el descodificador 904 tiene una función del dispositivo de descodificación de imágenes de acuerdo con la modalidad descrita en lo anterior. Por consiguiente, cuando una imagen se descodifica en el aparato 900 de televisión, es posible mejorar la eficiencia del proceso a través de un proceso paralelo durante la descodificación de un vector de movimiento.
Segundo ejemplo de aplicación: teléfono móvil La Figura 32 ilustra un ejemplo de una configuración esquemática de un teléfono móvil al que se aplica la modalidad descrita en lo anterior. El teléfono 920 móvil incluye una antena 921, una unidad 922 de comunicación, un códec 923 de audio, un altavoz 924, un micrófono 925, una unidad 926 de cámara, una unidad 927 de procesamiento de imágenes, un multiplexor/desmultiplexor 928, una unidad 929 de grabación/reproducción, una unidad 930 de visualización, una unidad 931 de control, una unidad 932 de operación, y un bus 933.
La antena 921 se conecta a la unidad 922 de comunicación. El altavoz 924 y el micrófono 925 se conectan al códec 923 de audio. La unidad 932 de operación se conecta a la unidad 931 de control. El bus 933 conecta la unidad 922 de comunicación, el códec 923 de audio, la unidad 926 de cámara, la unidad 927 de procesamiento de imágenes, el multiplexor/desmultiplexor 928, la unidad 929 de grabación/reproducción, la unidad 930 de visualización, y la unidad 931 de control, entre si.
El teléfono 920 móvil realiza operaciones tales como transmisión y recepción de señales de audio, transmisión y recepción de correos electrónicos o datos de imagen, captura de una imagen, y grabación de datos en varios modos de funcionamiento que incluyen un modo de conversación, un modo de comunicación de datos, un modo de fotografía, y un modo de videoteléfono.
En el modo de conversación, una señal de audio analógica generada por el micrófono 925 se suministra al códec 923 de audio. El codee 923 de audio convierte la señal de audio análoga en datos de audio, y comprime los datos de audio convertidos mediante la conversión A/D. Además, el códec 923 de audio produce los datos de audio comprimidos para la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula los datos de audio (de manera que genera una señal de transmisión. Además, la unidad 922 de comunicación transmite la señal de transmisión generada a una estación base (no ilustrada) mediante la antena 921. Además, la unidad 922 de comunicación amplifica una señal inalámbrica la cual se recibe mediante la antena 921 y convierte una frecuencia de la misma, de manera que adquiere una señal recibida. Además, la unidad 922 de comunicación desmodula y descodifica la señal recibida de manera que genera datos de audio, y produce los datos de audio generados al códec 923 de audio el códec 923 de audio descomprime y convierte D/A los datos de audio de manera que genera una señal de audio análoga. Además, el códec 923 de audio suministra la señal de audio generada al altavoz 924 de manera que produce un sonido .
Además, en el modo de comunicación de datos, por ejemplo, la unidad 931 de control genera datos de texto que forman un correo electrónico en respuesta a una operación realizada por un usuario utilizando la unidad 932 de operación. Además, la unidad 931 de control despliega el texto en la unidad 930 de visualización . Además, la unidad 931 de control genera los datos de correo electrónico en respuesta a una instrucción de transmisión realizada por el usuario al utilizar la unidad 932 de operación, y produce los datos de correo electrónico generados a la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula los datos de correo electrónico de manera que genera una señal de transmisión. Además, la unidad 922 de comunicación transmite la señal de transmisión generada a la estación base (no ilustrada) mediante la antena 921. Además, la unidad 922 de comunicación amplifica una señal inalámbrica la cual se recibe mediante la antena 921 y convierte una frecuencia de ésta de manera que se adquiere una señal recibida. Además, la unidad 922 de comunicación desmodula y descodifica la señal recibida de manera que recupera datos de correo electrónico, y produce los datos de correo electrónico recuperados a la unidad 931 de control. La unidad 931 de control despliega el contenido del correo electrónico en la unidad 930 de visualización y almacena los datos de correo electrónico en un medio de grabación de la unidad 929 de grabación/reproducción .
La unidad 929 de grabación/reproducción incluye cualquier medio de almacenamiento legible y grabable. Por ejemplo, el medio de almacenamiento puede ser un medio de almacenamiento integrado tal como una memoria RAM o una memoria flash, y puede ser un medio de almacenamiento conectado externamente, tal como un disco duro, un disco magnético, un disco magneto-óptico, un disco óptico, una memoria de mapa de bits de espacio sin asignar (USB) , o una tarjeta de memoria.
Además, en el modo de fotografía, por ejemplo, la unidad 926 de cámara que obtiene la imagen de un sujeto de manera que es generada por los datos de imagen, y proporciona los datos de imagen generados a la unidad 927 de procesamiento de imágenes. La unidad 927 de procesamiento de imágenes codifica los datos de imagen los cuales ingresan desde la unidad 926 de cámara, y almacena la corriente codificada en el medio de almacenamiento de la unidad 929 de grabación/reproducción .
Además, en el modo de videoteléfono, por ejemplo, el multiplexor/desmultiplexor 928 multiplexa la corriente de imagen la cual se ha codificado por la unidad 927 de procesamiento de imágenes y la corriente de audio la cual ingresa desde el códec 923 de audio, y produce la corriente multiplexada para la unidad 922 de comunicación. La unidad 922 de comunicación codifica y modula la corriente de manera que genera una señal de transmisión. Además, la unidad 922 de comunicación transmite la señal de transmisión generada a la estación base (no ilustrada) mediante la antena 921. Además, la unidad 922 de comunicación amplifica una señal inalámbrica la cual se recibe mediante la antena 921 y convierte una frecuencia de la misma de manera que adquiere una señal recibida. Una corriente codificada puede incluirse en la señal de transmisión y la señal recibida. Además, la unidad 922 de comunicación desmodula y descodifica la señal recibida de manera que recupera una corriente, y produce la corriente recuperada al multiplexor/desmultiplexor 928. El multiplexor/desmultiplexor 928 desmultiplexa una corriente de imagen y una corriente de audio desde la corriente de entrada, y produce la corriente de video a la unidad 927 de procesamiento de imágenes y la corriente de audio al códec 923 de audio. La unidad 927 de procesamiento de imágenes descodifica la corriente de imagen de manera que genera datos de imagen. Los datos de imagen se suministran a la unidad 930 de visualización de manera que permite a una serie de imágenes desplegarse en la unidad 930 de visualización. El códec 923 de audio descomprime y convierte D/A la corriente de audio de manera que se genera una señal de audio análoga. Además, el códec 923 de audio suministra la señal de audio generada al altavoz 924 de manera que produce un sonido.
En el teléfono 920 móvil con la configuración anterior, la unidad 927 de procesamiento de imágenes tiene funciones del dispositivo de codificación de imagen y el dispositivo de descodificación de imágenes de acuerdo con la modalidad descrita en lo anterior. Por consiguiente, cuando se codifica y se descodifica una imagen en el teléfono 920 móvil, es posible mejorar la eficiencia del proceso a través de un proceso paralelo durante la codificación o descodificación de un vector de movimiento.
Tercer ejemplo de aplicación: aparato de grabación/reproducción La Figura 33 ilustra un ejemplo de una configuración esquemática de un aparato de grabación/reproducción al que se aplica la modalidad descrita en lo anterior. El aparato 940 de grabación/reproducción codifica, por ejemplo, datos de audio y datos de imagen de un programa de difusión recibido y graba los datos codificados en un medio de grabación. Además, el aparato 940 de grabación/reproducción puede codificar, por ejemplo, datos de audio y datos de imágenes los cuales se adquieren a través de otros aparatos, y pueden grabar los datos codificados en el medio de grabación. Además, el aparato 940 de grabación/reproducción reproduce los datos grabados en el medio de grabación en un monitor y un altavoz, por ejemplo, en respuesta a una instrucción de un usuario. En este momento, el aparato 940 de grabación/reproducción descodifica los datos de audio y los datos de video.
El aparato 940 de grabación/reproducción incluye un sintonizador 941, una interfaz 942 externa, un codificador 943, una unidad 944 de disco duro (HDD) , una unidad 945 de disco, un selector 946, un descodificador 947, una visualización 948 en pantalla (OSD) , una unidad 949 de control, y una interfaz 950 de usuario.
El sintonizador 941 extrae una señal de un canal deseado desde una señal de difusión la cual se recibe mediante una antena (no ilustrado) , y desmodula la señal extraída. Además, el sintonizador 941 produce una corriente de bits codificada la cual se obtiene a través de la desmodulación, al selector 946. En otras palabras, el sintonizador 941 funciona como medio de transmisión en el aparato 940 de grabación/reproducción.
La interfaz 942 externa es una interfaz la cual conecta el aparato 940 de grabación/reproducción a un aparato externo o una red. La interfaz 942 externa puede ser, por ejemplo, una interfaz IEEE1394, una interfaz de red, una interfaz USB, una interfaz de memoria flash, o similares. Por ejemplo, los datos de imagen y datos de audio los cuales se reciben mediante la interfaz 942 externa ingresan al codificador 943. En otras palabras, la interfaz 942 externa funciona como medios de transmisión en el aparato 940 de grabación/reproducción .
El codificador 943 codifica los datos de imagen y los datos de audio en un caso en donde los datos de video y los datos de audio que ingresan desde una interfaz 942 externa no se han codificado. Además, el codificador 943 produce la corriente de bits codificada para el selector 946.
El HDD 944 graba una corriente de bits codificada cuyos datos de contenido, tal como un video y un sonido se comprimen, diversos programas, y otros datos en un disco duro interno. Además, la HDD 944 lee los datos desde el disco duro cuando el video y el sonido se reproducen.
La unidad 945 de disco graba y lee los datos en y desde un medio de grabación el cual se instala en el mismo. El medio de grabación instalado en la unidad 945 de disco puede ser, por ejemplo, un disco DVD (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW, o similar) , un disco Blu-ray (marca registrada), o similares.
Cuando se graban un video y un sonido, el selector 946 selecciona una corriente de bits codificada la cual ingresa desde el sintonizador 941 o el codificador 943, y produce la corriente de bits codificada seleccionada a la HDD 944 o a la unidad 945 de disco. Además, cuando se reproducen un video y un sonido, el selector 946 proporciona una corriente de bits codificada la cual se ingresa desde el HDD 944 o la unidad 945 de disco, al descodificador 947.
El descodificador 947 descodifica la corriente de bits codificada de manera que genera datos de video y datos de audio. Además, el descodificador 947 produce los datos de video generados al OSD 948. Además, el descodificador 904 produce los datos de audio generados a un altavoz externo.
El OSD 948 reproduce los datos de video los cuales ingresan desde el descodificador 947 de manera que muestran una imagen. Además, el OSD 948 puede superponer una imagen de GUI, tal como, por ejemplo, un menú, un botón, o un cursor en la imagen desplegada.
La unidad 949 de control incluye un procesador, tal como una CPU, y memorias tales como una RAM y una ROM. Las memorias almacenan un programa ejecutado por la CPU, los datos del programa, y similares.
El programa almacenado en las memorias se lee y ejecuta por la CPU, por ejemplo, cuando se inicia el aparato 940 de grabación/reproducción. La CPU ejecuta el programa, y de este modo controla una operación del aparato 940 de grabación/reproducción en respuesta a, por ejemplo, una señal de operación la cual ingresa desde la interfaz 950 de usuario .
La interfaz 950 de usuario se conecta a la unidad 949 de control. La interfaz 950 de usuario incluye, por ejemplo, botones y conmutadores los cuales permiten a un usuario operar el aparato 940 de grabación/reproducción, una unidad de recepción de una señal de control remoto, y similares. La interfaz 950 de usuario genera una señal de operación al detectar una operación realizada por un usuario mediante los elementos componentes, y proporciona la señal de operación generada a la unidad 949 de control.
En el aparato 940 de grabación/reproducción con la configuración anterior, el codificador 943 tiene una función del dispositivo de codificación de imagen de acuerdo con la modalidad descrita en lo anterior. Además, el descodificador 947 tiene una función del dispositivo de descodificación de imágenes de acuerdo con la modalidad descrita en lo anterior. Por consiguiente, cuando se codifica y descodifica una imagen en el aparato 940 de grabación/reproducción, es posible mejorar la eficiencia del proceso a través de un proceso paralelo durante la codificación o descodificación de un vector de movimiento.
Cuarto ejemplo de aplicación: aparato de generación de imágenes La Figura 34 ilustra un ejemplo de una configuración esquemática de un aparato de generación de imágenes el cual se aplica en la modalidad descrita en lo anterior. El aparato 960 de generación de imágenes captura la imagen de un sujeto de manera que se genera una imagen, y codifica los datos de imagen de manera que graba los datos codificados en un medio de grabación.
El aparato 960 de generación de imágenes incluye un bloque 961 óptico, una unidad 962 de imagen, una unidad 963 de procesamiento de señales, una unidad 964 de procesamiento de imagen, una unidad 965 de visualización, una interfaz 966 externa, una memoria 967, una unidad 968 de medio, un OSD 969, una unidad 970 de control, una interfaz 971 de usuario, y un bus 972.
El bloque 961 óptico se conecta a la unidad 962 de formación de imágenes. La unidad 962 de formación de imágenes se conecta a la unidad 963 de procesamiento de señales. La unidad 965 de visualización se conecta a la unidad 964 de procesamiento de imágenes. La interfaz 971 de usuario se conecta a la unidad 970 de control. El bus 972 conecta la unidad 964 de procesamiento de imágenes, la interfaz 966 externa, la memoria 967, la unidad 968 de medios, la OSD 969, y la unidad 970 de control, entre si.
El bloque 961 óptico incluye una lente de enfoque, un mecanismo de diafragma, y similares. El bloque 961 óptico forma una imagen óptica de un sujeto de una superficie de captura de imágenes de la unidad 962 de formación de imágenes. La unidad 962 de formación de imágenes incluye un sensor de imagen tal como un dispositivo acoplado de carga (CCD) o un semiconductor de óxido metálico complementario (CMOS) , y convierte la imagen óptica formada en la superficie de captura de imágenes en una señal de imagen como una señal eléctrica a través de conversión fotoeléctrica. Además, la unidad 962 de formación de imágenes proporciona la señal de imagen a la unidad 963 de procesamiento de señales.
La unidad 963 de procesamiento de señales realiza diversos procesos de señal de cámara tal como corrección knee, corrección gamma, y corrección de color, en la señal de imagen la cual ingresa desde la unidad 962 de formación de imágenes. La unidad 963 de procesamiento de señales produce los datos de imagen que han sido sometidos a los procesos de señal de cámara a la unidad 964 de procesamiento de imágenes.
La unidad 964 de procesamiento de imágenes codifica los datos de imagen los cuales se ingresan desde la unidad 963 de procesamiento de señales de manera que generan datos codificados. Además, la unidad 964 de procesamiento de imágenes produce los datos codificados generados a la interfaz 966 externa o la unidad 968 de medios. Además, la unidad 964 de procesamiento de imágenes descodifica los datos codificados los cuales ingresan desde la interfaz 966 externa o la unidad 968 de medios, de manera que generan datos de imagen. Además, la unidad 964 de procesamiento de imágenes produce los datos de imagen generados a la unidad 965 de visualización . Además, la unidad 964 de procesamiento de imágenes puede producir datos de imagen los cuales se ingresan desde la unidad 963 de procesamiento de señales, en la unidad 965 de visualización, de manera que despliegan una imagen. Además, la unidad 964 de procesamiento de imágenes puede superimponer datos de visualización los cuales se obtienen desde la OSD 969, en una imagen la cual se produce a la unidad 965 de visualización.
La OSD 969 genera una imagen de GUI tal como, por ejemplo, un menú, un botón, o un cursor, y produce la imagen generada a la unidad 964 de procesamiento de imágenes.
La interfaz 966 externa se forma por, por ejemplo, una terminal de entrada y salida de USB. La interfaz 966 externa conecta el aparato 960 de captura de imágenes a una impresora, por ejemplo, cuando se imprime una imagen. Además, la interfaz 966 externa se conecta a una unidad según sea necesario. Un medio removible tal como, por ejemplo, un disco magnético o un disco óptico pueden instalarse en la unidad, y un programa de lectura para el medio removible que puede instalarse en el aparato 960 de captura de imágenes. Además, la interfaz 966 externa puede configurarse como una interfaz de red la cual se conecta a una red tal como una LAN o la Internet. En otras palabras, la interfaz 966 externa funciona como medio de transmisión en el aparato 960 de captura de imágenes .
Un medio de grabación instalado en la unidad 968 de medios puede ser cualquier medio legible y grabable removible tal como, por ejemplo, un disco magnético, un disco magneto-óptico, un disco óptico, o una memoria de semiconductor. Además, un medio de grabación puede instalarse de forma fija en la unidad 968 de medios, de manera que configura una unidad de almacenamiento no portátil tal como, por ejemplo, un disco duro integrado o una memoria de estado sólido (SSD) .
La unidad 970 de control incluye un procesador tal como una CPU, y memorias tales como una RAM y una ROM. Las memorias almacenan un programa ejecutado por la CPU, datos del programa, y similares. El programa almacenado en las memorias se lee y ejecuta por la CPU, por ejemplo, cuando el aparato 960 de captura de imágenes se inicia. La CPU ejecuta el programa, y de este modo controla una operación del aparato 960 de captura de imágenes en respuesta a, por ejemplo, una señal de operación la cual ingresa desde la interfaz 971 de usuario.
La interfaz 971 de usuario se conecta a la unidad 970 de control. La interfaz 971 de usuario incluye, por ejemplo, botones y conmutadores los cuales permiten a un usuario operar el aparato 960 de captura de imágenes, y similares. La interfaz 971 de usuario genera una señal de operación al detectar una operación realizada por un usuario mediante estos elementos componentes, y proporciona la señal de operación generada a la unidad 970 de control.
En el aparato 960 de captura de imágenes con la configuración anterior, la unidad 964 de procesamiento de imágenes tiene funciones del dispositivo de codificación de imágenes y dispositivo de descodificación de imágenes de acuerdo con la modalidad antes descrita. Por consiguiente, cuando se codifica y descodifica una imagen en el aparato 960 de captura de imágenes, es posible mejorar la eficiencia de proceso a través de un proceso paralelo durante la codificación o descodificación de un vector de movimiento. <7. Ejemplos de aplicación de codificación escalable> Primer sistema A continuación, se dará una descripción con referencia a la Figura 35, de un ejemplo especifico para utilizar datos codificados escalables (codificados en capas) los cuales se codifican de forma escalable, descrito con referencia a las Figuras 27 a 29. La codificación escalable se utiliza, por ejemplo, para datos seleccionados para transmitirse como en un ejemplo ilustrado en la Figura 35.
En un sistema 1000 de transmisión de datos ilustrado en la Figura 35, un servidor 1002 de distribución lee los datos codificados escalables almacenados en la unidad 1001 de almacenamiento de datos codificados escalables, y distribuye los datos codificados escalables a los aparatos de terminal tales como una computadora 1004 personal, un aparato 1005 de AV, un dispositivo 1006 tipo Tablet, y un teléfono 1007 móvil mediante una red 1003.
En ese momento, el servidor 1002 de distribución selecciona y transmite los datos codificados con la calidad apropiada en función del rendimiento de los aparatos de terminal, las circunstancias de comunicación, o similares. Si el servidor 1002 de distribución transmite innecesariamente datos de alta calidad, no puede decirse que una imagen de alta calidad se obtiene en el aparato terminal, y existe una preocupación de que retrasos o sobreflujo puedan ocurrir. Además, existe una preocupación de que los datos de alta calidad puedan ocupar innecesariamente una banda de comunicación, y pueden aumentar innecesariamente una carga en el aparato terminal. A la inversa, si el servidor 1002 de distribución transmite innecesariamente datos de calidad baja, existe una preocupación de que no pueda obtenerse una imagen con la suficiente calidad en el aparato terminal. Por esta razón, el servidor 1002 de distribución lee y transmite datos codificados escalables con calidad la cual es adecuada para el rendimiento de los aparatos de terminal o las circunstancias de comunicación desde la unidad 1001 de almacenamiento de datos codificados escalables.
Aqui, se asume que la unidad 1001 de almacenamiento de datos codificados escalables almacena datos 1011 codificados escalables (BL+EL) los cuales se codifican de forma escalable. Los datos 1011 codificados escalables (BL+EL) son datos codificados que incluyen ambos de una capa base y una capa de mejora, y son datos los cuales permiten ambas de una imagen de capa base y una imagen de capa de mejora obtenerse a través de la descodificación.
El servidor 1002 de distribución selecciona una capa apropiada en base al desempeño de un aparato terminal el cual recibe datos o circunstancias de comunicación, y lee datos de la capa. Por ejemplo, el servidor 1002 de distribución lee los datos 1011 codificados escalables (BL+EL) los cuales tienen alta calidad desde la unidad 1001 de almacenamiento de datos codificados escalables, y transmite los datos como son, con respecto a la computadora 1004 personal o el dispositivo 1006 tipo Tablet que tiene un rendimiento de procesamiento alto. En contraste, por ejemplo, con respecto al aparato 1005 de AV o el teléfono 1007 móvil que tienen rendimiento de procesamiento bajo, el servidor 1002 de distribución extrae los datos de capa base desde los datos 1011 codificados escalables (BL+EL) , y transmite los datos como datos 1012 codificados escalables (BL) los cuales son los mismos datos de contenido que los datos 1011 codificados escalables (BL+EL) en términos de contenido pero tiene una calidad más baja que los datos 1011 codificados escalables (BL+EL) .
Como se menciona en lo anterior, debido a que la cantidad de datos puede ajustarse fácilmente al utilizar los datos codificados escalables, es posible para minimizar la ocurrencia de demoras o sobreflujo o para minimizar un incremento innecesario en una carga en un aparato terminal o un medio de comunicación. Además, la redundancia entre las capas se reduce en los datos 1011 codificados escalables (BL+EL) , y de este modo una cantidad de datos del mismo puede reducirse más en un caso en donde los datos codificados de cada capa se utilizan como datos separados. Por lo tanto, una región de almacenamiento de la unidad 1001 de almacenamiento de datos codificados escalables puede utilizarse más eficientemente .
Además, diversos aparatos tales como la computadora 1004 personal al teléfono 1007 móvil pueden emplearse como aparatos de terminal y de ese modo el rendimiento de hardware de los aparatos de terminal es diferente dependiendo de los aparatos. Además, existen diversas aplicaciones las cuales se ejecutan por los aparatos de terminal, y de ese modo también existen diversos rendimientos de software del mismo. Además, todas las redes de linea de comunicación incluyen una red alámbrica, una red inalámbrica, o ambas redes tales como, por ejemplo, la Internet o una red de área local (LAN) pueden emplearse como la red 1003 la cual es un medio de comunicación, y existen varios rendimientos de transmisión de datos. Además, existe una preocupación de que el rendimiento de transmisión de datos pueda variar dependiendo en otras circunstancias de comunicación o similares.
Por lo tanto, antes de iniciar la transmisión de datos, el servidor 1002 de distribución puede realizar comunicación con un aparato terminal el cual es un destino de transmisión de los datos, de manera que obtiene información con respecto del rendimiento del aparato terminal tal como un rendimiento de hardware del aparato terminal y un rendimiento de una aplicación (software) ejecutada por el aparato terminal, e información al respecto de las circunstancias de comunicación tal como un ancho de banda disponible de la red 1003. Además, el servidor 1002 de distribución puede seleccionar una capa apropiada en base a la información obtenida aquí.
Además, la extracción de una capa puede realizarse por el aparato terminal. Por ejemplo, la computadora 1004 personal puede descodificar los datos 1011 codificados escalables (BL+EL) y puede desplegar una imagen de capa base y puede desplegar una imagen de capa de mejora. Además, por ejemplo, la computadora 1004 personal puede extraer los datos 1012 codificados escalables (BL) de capa base desde los datos 1011 codificados escalables (BL+EL) transmitidos de manera que almacena los datos, para transmitir los datos a otros dispositivos, o para descodificar los datos para la visualización de una imagen de capa base.
Desde luego, el número de unidades 1001 de almacenamiento de datos codificados escalables, el número de servidores 1002 de distribución, el número de redes 1003, y el número de aparatos de terminales todos son arbitrarios. Además, en la descripción anterior, se ha hecho una descripción de un ejemplo en el que el servidor 1002 de distribución transmite datos al aparato terminal, pero un ejemplo de uso no se limita al mismo. El sistema 1000 de transmisión de datos puede aplicarse a cualquier sistema mientras el sistema seleccione y transmita una capa apropiada en base a un rendimiento de un aparato terminal, circunstancias de comunicación, o similares cuando los datos codificados que se encuentran codificados de forma escalable se transmiten al aparato terminal.
Además, la presente tecnología también se aplica al sistema 1000 de transmisión de datos antes descrito como se ilustra en la Figura 35 de la misma manera que en la aplicación del mismo a la codificación de capa y descodificación de capa descrita con referencia a las Figuras 27 a 29, y de este modo es posible alcanzar los efectos descritos con referencia a las Figuras 27 a 29.
Segundo sistema La codificación escalable se utiliza, por ejemplo, para la transmisión utilizando una pluralidad de medios de comunicación como en un ejemplo ilustrado en la Figura 36.
En un sistema 1100 de transmisión de datos ilustrado en la Figura 36, una estación 1101 de difusión transmite datos 1121 codificados escalables (BL) de capa base al utilizar una difusión 1111 terrestre. Además, la estación 1101 de difusión transmite (por ejemplo, empaqueta y transmite) datos 1122 codificados escalables (EL) de capa de mejora mediante cualquier red 1112 formada por una red alámbrica, una red inalámbrica, o ambas redes.
Un aparato 1102 terminal tiene una función de recepción de la difusión 1111 terrestre la cual se difunde por la estación 1101 de difusión, y recibe los datos 1121 codificados escalables (BL) de capa base los cuales se transmiten mediante la difusión 1111 terrestre. Además, el aparato 1102 terminal adicionalmente tiene una función de comunicación de realizar comunicación utilizando la red 1112, y recibe los datos 1122 codificados escalables (EL) de capa de mejora los cuales se transmiten mediante la red 1112.
El aparato 1102 terminal puede descodificar los datos 1121 codificados escalables (BL) de capa base los cuales se adquieren mediante la difusión 1111 terrestre, por ejemplo, en respuesta a una instrucción de un usuario, de manera que obtiene una imagen de capa base, para almacenar la imagen, y transmitir la imagen a otros aparatos.
Además, por ejemplo, en respuesta a una instrucción de un usuario, el aparato 1102 terminal puede combinar los datos 1121 codificados escalables (BL) de capa base los cuales se adquieren mediante la difusión 1111 terrestre con los datos 1122 codificados escalables (EL) de capa de mejora los cuales se adquieren mediante la red 1112 de manera que se obtienen datos codificados escalables (BL+EL) , y pueden descodificarse los datos de manera que se obtiene una imagen de capa de mejora, para almacenar la imagen, y transmitir la imagen a otros aparatos.
Como se menciona en lo anterior, los datos codificados escalables pueden transmitirse mediante un medio de comunicación el cual es diferente para cada capa, por ejemplo. En este caso, una carga puede distribuirse, y de este modo es posible minimizar la ocurrencia de una demora o sobrecarga .
Además, un medio de comunicación utilizado para la transmisión puede seleccionarse para cada capa dependiendo de las circunstancias. Por ejemplo, los datos 1121 codificados escalables (BL) de capa base que tienen una cantidad relativamente amplia de datos pueden transmitirse mediante un medio de comunicación que tiene un gran ancho de banda, y los datos 1122 codificados escalables (EL) de capa de mejora que tienen una cantidad de datos relativamente pequeña pueden transmitirse mediante un medio de comunicación que tiene un ancho de banda pequeño. Además, por ejemplo, un medio de comunicación para transmitir los datos 1122 codificados escalables (EL) de capa de mejora puede cambiarse entre la red 1112 y la difusión 1111 terrestre dependiendo en un ancho de banda disponible de la red 1112. Desde luego, también es lo mismo para los datos de cualquier capa.
El control se realiza como se mencionó en lo anterior, y de este modo es posible minimizar además un aumento en una carga en la transmisión de datos.
Desde luego, el número de capas es arbitrario, y el número de medios de comunicación utilizados para la transmisión también es arbitrario. Además, el número de aparatos 1102 de terminal que sirven como un destino de transmisión de datos también es arbitrario. Además, en la descripción anterior, se hace la descripción de una difusión desde la estación 1101 de difusión como un ejemplo, pero un ejemplo de uso no se limita al mismo. El sistema 1100 de transmisión de datos se aplica a cualquier sistema mientras el sistema divide los datos codificados los cuales se codifican de forma escalable en una pluralidad de artículos de datos en la unidad de capas y transmite a los artículos de datos mediante una pluralidad de líneas.
Además, la presente tecnología también se aplica al sistema 1100 de transmisión de datos antes descrito ilustrado en la Figura 36 de la misma manera que en la aplicación del mismo a la codificación de capa y descodificación de capa descrita con referencia a las Figuras 27 a 29, y de este modo es posible alcanzar los efectos descritos con referencia a las Figuras 27 a 29.
Tercer sistema La codificación escalable se utiliza, por ejemplo, para almacenar datos codificados como en un ejemplo ilustrado en la Figura 37.
En un sistema 1200 de captura de imágenes ilustrado en la Figura 37, un aparato 1201 de captura de imágenes codifica de forma escalable datos de imagen los cuales se obtienen al formar la imagen de un sujeto 1211, y suministra los datos resultantes a un dispositivo 1202 de almacenamiento de datos codificados escalables como datos 1221 codificados escalables (BL+EL) .
El dispositivo 1202 de almacenamiento de datos codificados escalables almacena los datos 1221 codificados escalables (BL+EL) los cuales se suministran desde el aparato 1201 de captura de imágenes, con la calidad basada en las circunstancias. Por ejemplo, en un caso del tiempo normal, el dispositivo 1202 de almacenamiento de datos codificados escalables extrae los datos de capa base de los datos 1221 codificados escalables (BL+EL) , y almacena los datos como datos 1222 codificados escalables (BL) de capa base que tienen una pequeña cantidad de datos con baja calidad. En contraste, por ejemplo, en un caso del momento de notificación, el dispositivo 1202 de almacenamiento de datos codificados escalables almacena los datos 1221 codificados escalables (BL+EL) que tiene una gran cantidad de datos con alta calidad como este.
Por consiguiente, puesto que el dispositivo 1202 de almacenamiento de datos codificados escalables puede mantener una imagen con alta calidad solamente mientras sea necesario, es posible minimizar un aumento en una cantidad de datos mientras se minimiza una reducción en el valor de una imagen debido al deterioro en la calidad de imagen, y de este modo mejorar la eficiencia de uso de una región de almacenamiento.
Por ejemplo, el aparato 1201 de captura de imágenes se asume que es una cámara de monitoreo. En un caso (un caso del tiempo normal) en donde un objetivo de monitoreo (por ejemplo, un inversor) no se refleja en una imagen capturada, existe una alta probabilidad de que el contenido de la imagen capturada no pueda ser importante, y de este modo a una reducción en una cantidad de datos se le da prioridad, y los datos de imagen (datos codificados escalables) se almacenan con baja calidad. En contraste, en un caso (un caso del tiempo de notificación) en donde un objetivo de monitoreo se refleja en una imagen capturada como el sujeto 1211, existe una alta probabilidad de que el contenido de la imagen capturada sea importante, y de este modo a la calidad de imagen se le da prioridad, y los datos de imagen (datos codificados escalables) se almacenan con alta calidad.
Además, el tiempo normal y el tiempo de notificación pueden determinarse, por ejemplo, por el dispositivo 1202 de almacenamiento de datos codificados escalables que analiza una imagen. Además, el tiempo normal y el tiempo de notificación pueden determinarse, por ejemplo, por el aparato 1201 de captura de imágenes, y un resultado de la determinación puede transmitirse al dispositivo 1202 de almacenamiento de datos codificados escalable.
Además, un criterio de determinación del tiempo normal y el tiempo de notificación es arbitrario, y contenido de una imagen capturada la cual se utiliza como un criterio de determinación es arbitrario. Desde luego, condiciones diferentes al contenido de una imagen capturada puede utilizarse como a criterio de determinación. Por ejemplo, el tiempo normal y el tiempo de notificación pueden cambiarse en función de la magnitud, una forma de onda, o similar de un sonido grabado, y pueden cambiarse, por ejemplo, para cada intervalo de tiempo predeterminado, o por una instrucción externa tal como una instrucción de un usuario.
Además, en la descripción anterior, se ha descrito un ejemplo de cambiar dos estados que incluyen el tiempo normal y el tiempo de notificación, pero el número de estados es arbitrario, y, por ejemplo, pueden cambiarse tres o más estados tales como el tiempo normal, el tiempo de notificación breve, el tiempo de notificación, el tiempo de notificación grande. Aquí, un número de limite superior de estados cambiados depende en el número de capas de los datos codificados escalables.
Además, el aparato 1201 de captura de imágenes puede determinar el número de capas codificadas escalables en función de un estado. Por ejemplo, en un caso del tiempo normal, el aparato 1201 de captura de imágenes puede generar datos codificados escalables de capa base (BL) 1222 que tiene una pequeña cantidad de datos con baja calidad, y puede suministrar los datos al dispositivo 1202 de almacenamiento de datos codificados escalable. Además, por ejemplo, en un caso del tiempo de notificación, el aparato 1201 de captura de imágenes puede generar los datos codificados escalables de capa base (BL+EL) 1221 que tiene una gran cantidad de datos con alta calidad, y puede suministrar los datos al dispositivo 1202 de almacenamiento de datos codificados escalable .
En la descripción anterior, la descripción se ha hecho de la cámara de monitoreo como un ejemplo, pero el uso del sistema 1200 de captura de imágenes es arbitrario y no se limita a una cámara de monitoreo.
Además, la presente tecnología también se aplica al aparato 1200 de imagen descrito en lo anterior como se ilustra en la Figura 37 en la misma manera que en la aplicación de la misma a la codificación de capa y descodificación de capa descritas con referencia a las Figuras 27 a 29, y de esta manera es posible alcanzar los efectos descritos con referencia a las Figuras 27 a 29.
Además, en la presente especificación, se hace una descripción de un ejemplo en la que diversas piezas de información tal como un número de código o un vector de movimiento de predicción, la diferencia de información del vector de movimiento, información del vector de movimiento de predicción, y un indicador de Encendido/Apagado de un control de proceso paralelo, se multiplexan en una corriente codificada, y se transmiten desde un lado de codificación a un lado de descodificación. Sin embargo, un método para transmitir las piezas de información no se limita a este ejemplo. Por ejemplo, la información puede transmitirse o grabarse como datos separados correlacionados con una corriente de bits codificados sin multiplexarse en la corriente de bits codificada. Aquí, el término "correlacionada" indica que una imagen (la cual puede ser una parte de una imagen tal como una diapositiva o un bloque) incluido en la corriente de bits puede enlazarse a la información que corresponde a la descodificación durante la captura de imagen. En otras palabras, la información puede transmitirse en una trayectoria de transmisión diferente a la de la imagen (o la corriente de bit) . Además, la información puede grabarse en un medio de grabación (o un área de grabación diferente del mismo medio de grabación) diferente del de la imagen (o la corriente de bits) . Además, la información y la imagen (o la corriente de bits) pueden correlacionarse entre si en cualquier unidad tal como, por ejemplo, en una pluralidad de tramas, una trama, o una parte de la trama.
Como se menciona en lo anterior, aunque la modalidad preferida de la presente descripción se ha descrito a detalle con referencia a los dibujos anexos, la presente descripción no se limita a estos ejemplos. Es obvio que aquellos con experiencia en la técnica pueden concebir diversas modificaciones o alteraciones en el alcance del espíritu técnico narrado en las reivindicaciones, y se entiende que también cae naturalmente dentro del alcance técnico de la presente descripción.
Además, la presente tecnología puede tener las siguientes configuraciones. (1) Un aparato de procesamiento de imágenes que incluye una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad descodificación de vectores de movimiento que descodifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción. (2) El aparato de procesamiento de imágenes de acuerdo con el (1) anterior, en el cual, en un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción. (3) El aparato de procesamiento de imágenes de acuerdo con el (2) anterior, en el cual, en un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primera región de predicción entre las regiones adyacentes de la primera región de predicción. (4) El aparato de procesamiento de imágenes de acuerdo con el (3) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción. (5) El aparato de procesamiento de imágenes de acuerdo con el (3) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de Nx2N, la primera región de predicción es una región de predicción ubicada en el lado derecho en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado izquierdo en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción. (6) El aparato de procesamiento de imágenes de acuerdo con el (3) anterior, en el cual en un caso donde la primera región de predicción se ubica en el lado derecho y el lado inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción adyacente al lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción. (7) El aparato de procesamiento de imágenes de acuerdo con el (6) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción; cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción; y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción. (8) El aparato de procesamiento de imágenes de acuerdo con cualquiera de (1) a (5) anteriores, en el cual la región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico. (9) El aparato de procesamiento de imágenes de acuerdo con cualquiera de (1) a (8) anteriores, que además incluye una unidad de recepción que recibe una corriente codificada y un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; y una unidad descodificación que descodifica la corriente codificada recibida por la unidad de recepción para generar la imagen, en el cual la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del indicador recibido por la unidad de recepción. (10) El aparato de procesamiento de imágenes de acuerdo con el (9) anterior, en el cual el indicador se establece para cada región de codificación o la región de predicción . (11) El aparato de procesamiento de imágenes de acuerdo con cualquier de (1) a (10) anteriores, en el cual si se realizará o no el establecimiento de la región espacialmente adyacente se establece en función de un perfil o nivel de secuencia, y en el cual la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia. (12) Un método de procesamiento de imágenes que incluye provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y descodificar un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción. (13) Un aparato de procesamiento de imágenes que incluye una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimientos de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad de codificación de vectores de movimiento que codifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción. (14) El aparato de procesamiento de imágenes de acuerdo con el (13) anterior, en el cual, en un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción. (15) El aparato de procesamiento de imágenes de acuerdo con el (14) anterior, en el cual, en un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primera región de predicción entre las regiones adyacentes de la primera región de predicción. (16) El aparato de procesamiento de imágenes de acuerdo con el (15) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción. (17) El aparato de procesamiento de imágenes de acuerdo con el (15) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de Nx2N, la primera región de predicción es una región de predicción ubicada en el lado derecho en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado izquierdo en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción. (18) El aparato de procesamiento de imágenes de acuerdo con el (15) anterior, en el cual, en un caso donde la primera región de predicción se ubica en el lado derecho inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en el lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción. (19) El aparato de procesamiento de imágenes de acuerdo con el (18) anterior, en el cual, en un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción; cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción; y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción. (20) El aparato de procesamiento de imágenes de acuerdo con el (15) anterior, en el cual la región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico . (21) El aparato de procesamiento de imágenes de acuerdo con reclamar cualquiera de (13) a (20) anterior, que además incluye una unidad de establecimiento que establece un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; una unidad de codificación que codifica la imagen para generar una corriente codificada; y una unidad de transmisión que transmite el vector de movimiento codificado por la unidad de codificación de vectores de movimiento, la corriente descodificada generada por la unidad de codificación, y el indicador establecido por la unidad de establecimiento, en el cual la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del indicador establecido por la unidad de establecimiento . (22) El aparato de procesamiento de imágenes de acuerdo con el (21) anterior, en el cual la unidad de establecimiento establece el indicador para cada región de codificación o la región de predicción. (23) El aparato de procesamiento de imágenes acuerdo con cualquier de (13) a (22) anteriores, en el cual se realizará o no el establecimiento de la región espacialmente adyacente se establece en función de un perfil o nivel de secuencia, y en el cual la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia. (24) Un método de procesamiento de imágenes que incluye provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimientos de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y codificar un vector de movimiento de la región objetivo al utilizar el vector de movimiento de predicción de la región de predicción .
Lista de Signos de Referencia 100 DISPOSITIVO DE CODIFICACIÓN DE IMÁGENES, 106 UNIDAD DE CODIFICACIÓN REVERSIBLE, 115 UNIDAD DE PREDICCIÓN/COMPENSACIÓN DE MOVIMIENTO, 121 UNIDAD DE CODIFICACIÓN DE VECTOR DE MOVIMIENTO, 122 UNIDAD DE CONTROL DE PROCESO PARALELO, 151 MEMORIA INTERMEDIA DE VECTOR DE MOVIMIENTO ESPACIALMENTE ADYACENTE, 152 MEMORIA INTERMEDIA DE VECTOR DE MOVIMIENTO TEMPORALMENTE ADYACENTE, 153 SECCIÓN DE GENERACIÓN DE VECTOR DE MOVIMIENTO DE PREDICCIÓN CANDIDATO, 154 SECCIÓN DE CÁLCULO DE VALOR DE FUNCIÓN DE COSTO, 155 SECCIÓN DE DETERMINACIÓN DE VECTOR DE MOVIMIENTO DE PREDICCIÓN ÓPTIMA, 200 DISPOSITIVO DE DESCODIFICACION DE IMAGEN, 202 UNIDAD DE DESCODIFICACION REVERSIBLE, 212 UNIDAD DE PREDICCIÓN/COMPENSACIÓN DE MOVIMIENTO, 221 UNIDAD DE DESCODIFICACION DE VECTOR DE MOVIMIENTO, 222 UNIDAD DE CONTROL DE PROCESO PARALELO, 251 MEMORIA INTERMEDIA DE INFORMACIÓN DE VECTOR DE MOVIMIENTO DE PREDICCIÓN, 252 MEMORIA INTERMEDIA DE INFORMACIÓN DE VECTOR DE MOVIMIENTO DE DIFERENCIA, 253 SECCIÓN DE RECONSTRUCCIÓN DE VECTOR DE MOVIMIENTO DE PREDICCIÓN, 254 SECCIÓN DE RECONSTRUCCIÓN DE VECTOR DE MOVIMIENTO, 255 MEMORIA INTERMEDIA DE VECTOR DE MOVIMIENTO ESPACIALMENTE ADYACENTE, 256 MEMORIA INTERMEDIA DE VECTOR DE MOVIMIENTO TEMPORALMENTE ADYACENTE

Claims (24)

REIVINDICACIONES
1. Un aparato de procesamiento de imágenes caracterizado porque comprende: una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad descodificación de vectores de movimiento que descodifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción.
2. El aparato de procesamiento de imágenes de conformidad con la reivindicación 1, caracterizado porque, en un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
3. El aparato de procesamiento de imágenes de conformidad con la reivindicación 2, caracterizado porque, en un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primera región de predicción entre las regiones adyacentes de la primera región de predicción.
. El aparato de procesamiento de imágenes de conformidad con la reivindicación 3, caracterizado porque, en un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción.
5. El aparato de procesamiento de imágenes de conformidad con la reivindicación 3, caracterizado porque, en un caso donde la región codificación se divide en regiones de predicción de Nx2N, primera región de predicción es una región de predicci ubicada en el lado derecho en la región de codificación, segunda región de predicción es una región de predicci ubicada en el lado izquierdo en la región de codificación, primera región adyacente es una región adyacente, adyacente un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción.
6. El aparato de procesamiento de imágenes de conformidad con la reivindicación 3, caracterizado porque, en un caso donde la primera región de predicción se ubica en el lado derecho y el lado inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción adyacente al lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
7. El aparato de procesamiento de imágenes de conformidad con la reivindicación 6, caracterizado porque, en un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción, cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción, y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción.
8. El aparato de procesamiento de imágenes conformidad con la reivindicación 3, caracterizado porque la región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico.
9. El aparato de procesamiento de imágenes de conformidad con la reivindicación 3, caracterizado además porque comprende : una unidad de recepción que recibe una corriente codificada y un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; y una unidad descodificación que descodifica la corriente descodificada recibida por la unidad de recepción para generar la imagen, en donde la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del indicador recibido por la unidad de recepción.
10. El aparato de procesamiento de imágenes de conformidad con la reivindicación 9, caracterizado porque el indicador se establece para cada región de codificación o la región de predicción.
11. El aparato de procesamiento de imágenes de conformidad con la reivindicación 3, caracterizado porque si se realizará o no el establecimiento de la región espacialmente adyacente se establece en función de un perfil o nivel de secuencia, y en donde la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia .
12. Un método de procesamiento de imágenes caracterizado porque comprende: provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para descodificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y descodificar un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción.
13. Un aparato de procesamiento de imágenes caracterizado porque comprende: una unidad de establecimiento de región adyacente que establece regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimiento de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; una unidad de generación de vector de movimiento de predicción que genera un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida por la unidad de establecimiento de región adyacente; y una unidad de codificación de vectores de movimiento que codifica un vector de movimiento de la región de predicción al utilizar el vector de movimiento de predicción de la región de predicción.
14. El aparato de procesamiento de imágenes de conformidad con la reivindicación 13, caracterizado porque, en un caso donde una primera región de predicción se ubica en un lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en un lado izquierdo o superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
15. El aparato de procesamiento de imágenes de conformidad con la reivindicación 14, caracterizado porque, en un caso donde la primera región de predicción se ubica en el lado derecho o inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una segunda región adyacente de la segunda región de predicción en lugar de la segunda región adyacente, adyacente a la primera región de predicción entre las regiones adyacentes de la primera región de predicción.
16. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado porque, en un caso donde la región de codificación se divide en regiones de predicción de 2NxN, la primera región de predicción es una región de predicción ubicada en el lado inferior en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado derecho superior de la región de predicción.
17. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado porque, en un caso donde la región de codificación se divide en regiones de predicción de Nx2N, la primera región de predicción es una región de predicción ubicada en el lado derecho en la región de codificación, la segunda región de predicción es una región de predicción ubicada en el lado izquierdo en la región de codificación, la primera región adyacente es una región adyacente, adyacente a un lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente a un lado izquierdo inferior de la región de predicción.
18. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado porque, en un caso donde la primera región de predicción se ubica en el lado derecho inferior en la región de codificación, la unidad de establecimiento de región adyacente establece una primera región adyacente de una segunda región de predicción en lugar de la primera región adyacente que sirve como la segunda región de predicción ubicada en el lado izquierdo superior en la región de codificación entre las regiones adyacentes de la primera región de predicción.
19. El aparato de procesamiento de imágenes de conformidad con la reivindicación 18, caracterizado porque, en un caso donde la región de codificación se divide en regiones de predicción de 4x4, cuando la primera región de predicción es una región de predicción ubicada en el lado derecho superior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado izquierdo inferior de la región de predicción, cuando la primera región de predicción es una región de predicción ubicada en el lado izquierdo inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado superior de la región de predicción, y la segunda región adyacente es una región adyacente, adyacente al lado derecho superior de la región de predicción, y cuando la primera región de predicción es una región de predicción ubicada en el lado derecho inferior en la región de codificación, y la segunda región de predicción es una región de predicción ubicada en el lado izquierdo superior en la región de codificación, la primera región adyacente es una región adyacente, adyacente al lado izquierdo superior de la región de predicción.
20. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado porque la región de codificación se divide en una pluralidad de regiones de predicción en función de la partición de movimiento asimétrico.
21. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado además porque comprende: una unidad de establecimiento que establece un indicador que indica si se realizará o no el establecimiento de la región espacialmente adyacente; una unidad de codificación que codifica la imagen para generar una corriente codificada; y una unidad de transmisión que transmite el vector de movimiento codificado por la unidad de codificación de vectores de movimiento, la corriente codificada generada por la unidad de codificación, y el indicador establecido por la unidad de establecimiento, en donde la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del indicador establecido por la unidad de establecimiento.
22. El aparato de procesamiento de imágenes de conformidad con la reivindicación 21, caracterizado porque la unidad de establecimiento establece el indicador para cada región de codificación o la región de predicción.
23. El aparato de procesamiento de imágenes de conformidad con la reivindicación 15, caracterizado porque si se realizará o no el establecimiento de la región espacialmente adyacente se establece en función de un perfil o nivel de secuencia, y en donde la unidad de establecimiento de región adyacente realiza el establecimiento de la región espacialmente adyacente en función del perfil o nivel de secuencia .
24. Un método de procesamiento de imágenes caracterizado porque comprende: provocar que un aparato de procesamiento de imágenes establezca regiones espacialmente adyacentes en función de las posiciones de las regiones de predicción en una región de codificación de manera que la generación de vectores de movimiento espacial de la pluralidad de regiones de predicción se realiza en paralelo cuando un vector de movimiento de predicción espacial se genera entre los vectores de movimiento de predicción utilizados para codificar vectores de movimientos de la pluralidad de regiones de predicción que forman la región de codificación de una imagen; generar un vector de predicción espacial de la región de predicción al utilizar el vector de movimiento de la región espacialmente adyacente establecida; y codificar un vector de movimiento de la región objetivo al utilizar el vector de movimiento de predicción de la región de predicción. RESUMEN DE LA INVENCIÓN La presente descripción se relaciona con dispositivo de procesamiento de imágenes y un método que son capaces de mejorar la eficiencia de procesamiento a través de procesamiento paralelo, durante la codificación o descodificación de vectores de movimiento. Para un PUi aplicable, se utilizan la información de vector de movimiento para Bi, Ci, y Ei, que son PU adyacentes por debajo de ???, y la información del vector de movimiento para A0 y D0, que son adyacentes por debajo de PU0 ubicada por encima de PUi en un CU. Para el PUi, PU que corresponde a Ai se vuelve PU0, por lo tanto Ao se establece en lugar de Ai, como el área adyacente para el PUi . Esta descripción puede aplicarse, por ejemplo, a un dispositivo de procesamiento de imágenes.
MX2014008479A 2012-01-19 2013-01-09 Aparato y metodo de procesamiento de imagenes. MX2014008479A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012009328 2012-01-19
PCT/JP2013/050212 WO2013108689A1 (ja) 2012-01-19 2013-01-09 画像処理装置および方法

Publications (1)

Publication Number Publication Date
MX2014008479A true MX2014008479A (es) 2014-10-14

Family

ID=48799115

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014008479A MX2014008479A (es) 2012-01-19 2013-01-09 Aparato y metodo de procesamiento de imagenes.

Country Status (7)

Country Link
US (2) US9667995B2 (es)
EP (1) EP2806636A1 (es)
JP (1) JPWO2013108689A1 (es)
CN (1) CN104054346A (es)
IN (1) IN2014DN05807A (es)
MX (1) MX2014008479A (es)
WO (1) WO2013108689A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102138260B1 (ko) * 2011-09-20 2020-07-28 엘지전자 주식회사 영상 정보 인코딩/디코딩 방법 및 장치
CA2824755C (en) * 2011-09-23 2018-01-16 Kt Corporation Method for deriving a merge candidate block and device using same
CN105323583B (zh) * 2014-06-13 2019-11-15 财团法人工业技术研究院 编码方法、解码方法、编解码系统、编码器与解码器
US9734436B2 (en) * 2015-06-05 2017-08-15 At&T Intellectual Property I, L.P. Hash codes for images
US9998745B2 (en) * 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
CN106231317A (zh) * 2016-09-29 2016-12-14 三星电子(中国)研发中心 视频处理、解码方法和装置、vr终端、视频播放系统
PT3509297T (pt) * 2016-09-30 2021-08-10 Huawei Tech Co Ltd Método de codificação de vídeo, método de decodificação e terminal
CN106851298B (zh) 2017-03-22 2020-04-03 腾讯科技(深圳)有限公司 一种高效视频编码方法及装置
US10464500B2 (en) * 2017-05-29 2019-11-05 Aamp Of Florida, Inc. Aftermarket head unit interface and protocol converter cartridge
US11245922B2 (en) * 2018-08-17 2022-02-08 Mediatek Inc. Shared candidate list
WO2020035029A1 (en) 2018-08-17 2020-02-20 Mediatek Inc. Method and apparatus of simplified sub-mode for video coding
WO2020069673A1 (en) * 2018-10-06 2020-04-09 Mediatek Inc. Method and apparatus of shared merge candidate list region for video coding
CN112383816A (zh) * 2020-11-03 2021-02-19 广州长嘉电子有限公司 基于安卓系统介入的atsc制式信号解析方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020057739A1 (en) * 2000-10-19 2002-05-16 Takumi Hasebe Method and apparatus for encoding video
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding

Also Published As

Publication number Publication date
US20170195689A1 (en) 2017-07-06
CN104054346A (zh) 2014-09-17
EP2806636A1 (en) 2014-11-26
IN2014DN05807A (es) 2015-05-15
US10110920B2 (en) 2018-10-23
US9667995B2 (en) 2017-05-30
US20140348243A1 (en) 2014-11-27
JPWO2013108689A1 (ja) 2015-05-11
WO2013108689A1 (ja) 2013-07-25

Similar Documents

Publication Publication Date Title
US10110920B2 (en) Image processing apparatus and method
JP5979405B2 (ja) 画像処理装置および方法
US20230247217A1 (en) Image processing apparatus and method
US9961366B2 (en) Image processing apparatus and method that prohibits bi-prediction based on block size
WO2013058363A1 (ja) 画像処理装置および方法
US10129562B2 (en) Image processing device and method
WO2013002109A1 (ja) 画像処理装置および方法
JP2012244353A (ja) 画像処理装置および方法
WO2014103774A1 (ja) 画像処理装置および方法
WO2013084775A1 (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
WO2013054751A1 (ja) 画像処理装置および方法
WO2013002105A1 (ja) 画像処理装置および方法
JP2016201831A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
FA Abandonment or withdrawal