ES2807351T3 - Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes - Google Patents

Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes Download PDF

Info

Publication number
ES2807351T3
ES2807351T3 ES12803742T ES12803742T ES2807351T3 ES 2807351 T3 ES2807351 T3 ES 2807351T3 ES 12803742 T ES12803742 T ES 12803742T ES 12803742 T ES12803742 T ES 12803742T ES 2807351 T3 ES2807351 T3 ES 2807351T3
Authority
ES
Spain
Prior art keywords
unit
block
signal
decoded
offset value
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES12803742T
Other languages
English (en)
Inventor
Toru Matsunobu
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Kyoko Tanikawa
Toshiyasu Sugio
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Sun Patent Trust Inc
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 Sun Patent Trust Inc filed Critical Sun Patent Trust Inc
Application granted granted Critical
Publication of ES2807351T3 publication Critical patent/ES2807351T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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
    • 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/172Methods 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 picture, frame or field
    • 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
    • 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Abstract

Un procedimiento de descodificación de imágenes de descodificación de un flujo de bits para generar un bloque descodificado, comprendiendo el procedimiento de descodificación de imágenes: obtener (S10001) coeficientes cuantificados y primera información de bandera que indica si se requiere, o no, un proceso de desplazamiento, al realizar descodificación de longitud variable en el flujo de bits; obtener (S10002) un bloque residual descodificado al realizar cuantificación inversa y transformada inversa en los coeficientes cuantificados; generar (S10003) un bloque predicho al predecir el bloque descodificado; generar (S10004) un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y generar (S10005 - S10007) el bloque descodificado al ejecutar, en el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que se incluye en el bloque descodificado temporal, cuando la primera información de bandera indica que se requiere el proceso de desplazamiento; en el que el proceso de desplazamiento se ejecuta para añadir un valor de desplazamiento obtenido a partir del flujo de bits a un valor de un píxel incluido en el bloque descodificado temporal; en el que la etapa (S10001) de obtener coeficientes cuantificados y primera información de bandera obtiene adicionalmente información de unidad de desplazamiento que indica si, en un área A que incluye una pluralidad de bloques, se usa, o no, el mismo valor de desplazamiento para todos los bloques; y en la etapa (S10005 - S10007) de generar el bloque descodificado, el proceso de desplazamiento se ejecuta en el bloque descodificado temporal de acuerdo con la información de unidad de desplazamiento; en el que, cuando la información de unidad de desplazamiento indica que se usa el mismo valor de desplazamiento para todos los bloques en el área A, se obtiene un valor de desplazamiento nuevo cuando se completa el proceso de desplazamiento para todos los bloques del área A.

Description

DESCRIPCIÓN
Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes
La presente invención se refiere a un procedimiento de codificación de imágenes, un procedimiento de descodificación de imágenes, un aparato de codificación de imágenes, un aparato de codificación de imágenes y un aparato de codificación-descodificación de imágenes. En particular, la presente invención se refiere a un procedimiento de codificación de imágenes, un procedimiento de descodificación de imágenes, un aparato de codificación de imágenes, un aparato de descodificación de imágenes y un aparato de codificación-descodificación de imágenes con menos pérdida en la calidad de imagen.
En los últimos años está aumentando el número de aplicaciones usadas para, por ejemplo, servicio de tipo de vídeo bajo demanda que incluye conferencia de vídeo, difusión de vídeo digital y envío por flujo continuo de contenido de vídeo a través de Internet. Estas aplicaciones son dependientes de la transmisión de datos de vídeo. Cuando se transmiten o graban los datos de vídeo, se transmite una cantidad significativa de datos a través de un canal de transmisión convencional que tiene un ancho de banda limitado o se graban en un medio de grabación convencional que tiene una capacidad de datos limitada. Para transmitir los datos de vídeo a través del canal de transmisión convencional o grabar los datos de vídeo en el medio de grabación convencional, es absolutamente esencial comprimir o reducir la cantidad de datos digitales.
Siendo esta la situación, se han desarrollado múltiples normas de codificación de vídeo para compresión de datos de vídeo. Ejemplos de las normas de codificación de vídeo incluyen las normas del Sector de Normalización de Telecomunicaciones de la Unión Internacional de Telecomunicaciones (UIT-T) especificadas por "H.26x" y la Organización Internacional de Normas/Comisión Internacional Electrotécnica (ISO/IEC) especificadas por "MPEG-x". Actualmente, la última y más avanzada norma de codificación de vídeo se presenta por la norma H.264/AVC o MPEG-4 AVC (véanse las referencias no de patente 1 y 2).
Además, se han realizado diversos estudios para mejorar la eficiencia de codificación por la norma de Codificación de Vídeo de Alta Eficiencia (HEVC) que es una norma de codificación de imágenes de próxima generación (véase la referencia no de patente 3). Se pueden hallar ejemplos adicionales para modificaciones de la codificación/descodificación en la referencia de patente 1 y las referencias no de patente 4 y 5.
rReferencias de patente!
[PTL 1] WO 2009/088353 A1
rReferencias no de patentel
[NPL 1]
ISO/IEC 14496-10 "MPEG-4 Part 10, Advanced Video Coding"
[NPL 2]
Thomas Wiegand y col., "Overview of the H.264/AVC Video Coding Standard", Transacciones de IEEE sobre circuitos y sistemas para la tecnología de vídeo, julio de 2003, págs. 1 - 1
[NPL 3]
Equipo de Colaboración Conjunta en Codificación de Vídeo (JCT-VC) de UIT-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, 5a Reunión: Ginebra, CH, 6-23 de marzo de 2011, JCTVC-E603 Título: WD3: Working Draft 3 of High-Efficiency Video Coding ver.7 http://phenix.int-evry.fr/jct/doc_end_user/documents/5_Geneva/w g11JCTVC-E603-v7.zip
[NPL 4]
McCann (ZETACAST / SAMSUNG) K y col.: "Video coding technology proposal by Samsung (and BBC)", 1. Reunión de JCT-VC; 15-4-2010 - 23-4-2010; DRESDE; (Equipo de Colaboración Conjunta en Codificación de Vídeo de ISO/IEC JTC1/SC29/WG11 y UIT-TSG.16); n.° XP030007572, 1 de junio de 2010
[NPL 5]
Chih-Ming Fu y col.: "CE13: Sample Adaptive Offset with LCU-Independent Decoding", 96. Reunión de MPEG; 21-3-2011 - 25-3-2011; Ginebra; (Grupo de Expertos de Imágenes en Movimiento o ISO/IEC JTC1/SC29/WG11), n.° m19557, 23 de marzo de 2011
En los últimos años, se requiere mejorar la calidad de imagen al tiempo que se mantiene la eficiencia de codificación.
A la vista de esto, la presente invención se ha concebido para resolver el problema convencional anteriormente mencionado, y tiene un objeto para proporcionar un procedimiento de codificación de imágenes y un procedimiento de descodificación de imágenes capaz de mejorar la calidad de imagen de una imagen codificada y una imagen descodificada.
Esto se consigue mediante las características de las reivindicaciones independientes.
Debería observarse que una realización general o específica en un aspecto puede implementarse mediante un sistema, un procedimiento, un circuito integrado, un programa informático o un medio de grabación, o mediante cualquier combinación de un sistema, un procedimiento, un circuito integrado, un programa informático y un medio de grabación.
rEfectos ventajosos de la invención!
La presente invención puede reducir la distorsión de una señal de croma y mejorar la calidad de imagen subjetiva.
[Figura 1]
La figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes en la realización 1 de acuerdo con la presente invención.
[Figura 2]
La figura 2 es un diagrama de bloques que muestra un ejemplo de un procedimiento convencional de codificación de una señal de croma.
[Figura 3]
La figura 3 es un diagrama de flujo que muestra un ejemplo de un procedimiento convencional de codificación de una señal de croma.
[Figura 4]
La figura 4 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 1 de acuerdo con la presente invención.
[Figura 5]
La figura 5 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 1 de acuerdo con la presente invención.
[Figura 6]
La figura 6 es un diagrama esquemático que muestra un ejemplo de cálculo de un valor de intra predicción de señal de croma, en la realización 1 de acuerdo con la presente invención.
[Figura 7]
La figura 7 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 2 de acuerdo con la presente invención.
[Figura 8]
La figura 8 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 2 de acuerdo con la presente invención.
[Figura 9]
La figura 9 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 3 de acuerdo con la presente invención.
[Figura 10]
La figura 10 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 3 de acuerdo con la presente invención.
[Figura 11A]
La figura 11A es un diagrama esquemático que muestra un ejemplo de una unidad de desplazamiento usada para intra predicción de señal de croma y muestra un ejemplo en el que se usa un valor de desplazamiento diferente para cada bloque, en la realización 3 de acuerdo con la presente invención.
[Figura 11B]
La figura 11B es un diagrama esquemático que muestra un ejemplo de una unidad de desplazamiento usada para intra predicción de señal de croma y muestra un ejemplo en el que se usa el mismo valor de desplazamiento en un área A.
[Figura 12]
La figura 12 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes en la realización 4 de acuerdo con la presente invención.
[Figura 13]
La figura 13 es un diagrama de bloques que muestra un ejemplo de un procedimiento convencional de descodificación de una señal de croma.
[Figura 14]
La figura 14 es un diagrama de flujo que muestra un ejemplo de un procedimiento convencional de descodificación de una señal de croma.
[Figura 15]
La figura 15 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 4 de acuerdo con la presente invención.
[Figura 16]
La figura 16 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 4 de acuerdo con la presente invención.
[Figura 17]
La figura 17 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 5 de acuerdo con la presente invención.
[Figura 18]
La figura 18 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 5 de acuerdo con la presente invención.
[Figura 19]
La figura 19 es un diagrama de bloques que muestra un ejemplo de una intra predicción de señal de croma en la realización 6 de acuerdo con la presente invención.
[Figura 20]
La figura 20 es un diagrama de flujo que muestra un ejemplo de una intra predicción de señal de croma en la realización 6 de acuerdo con la presente invención.
[Figura 21]
La figura 21 es un diagrama que muestra una sintaxis de unidad de predicción que es un ejemplo de una intra predicción de señal de croma en la realización 4 de acuerdo con la presente invención.
[Figura 22]
La figura 22 es un diagrama que muestra una sintaxis de datos de rebanada que es un ejemplo de una intra predicción de señal de croma en la realización 6 de acuerdo con la presente invención.
[Figura 23]
La figura 23 muestra una configuración global de un sistema de provisión de contenido para implementar servicios de distribución de contenido.
[Figura 24]
La figura 24 muestra una configuración global de un sistema de difusión digital.
[Figura 25]
La figura 25 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una televisión. [Figura 26]
La figura 26 muestra un diagrama de bloques que ilustra un ejemplo de una configuración de una unidad de reproducción/grabación de información que lee y escribe información desde y en un medio de grabación que es un disco óptico.
[Figura 27]
La figura 27 muestra un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[Figura 28A]
La figura 28A muestra un ejemplo de un teléfono celular.
[Figura 28B]
La figura 28B es un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
[Figura 29]
La figura 29 ilustra una estructura de datos multiplexados.
[Figura 30]
La figura 30 muestra esquemáticamente cómo se multiplexa cada flujo en datos multiplexados.
[Figura 31]
La figura 31 muestra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle.
[Figura 32]
La figura 32 muestra una estructura de paquetes de TS y paquetes de fuente en los datos multiplexados.
[Figura 33]
La figura 33 muestra una estructura de datos de una PMT.
[Figura 34]
La figura 34 muestra una estructura interna de información de datos multiplexados.
[Figura 35]
La figura 35 muestra una estructura interna de información de atributo de flujo.
[Figura 36]
La figura 36 muestra etapas para identificar datos de vídeo.
[Figura 37]
La figura 37 muestra un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento de acuerdo con cada una de las realizaciones.
[Figura 38]
La figura 38 muestra una configuración para conmutar entre frecuencias de accionamiento.
[Figura 39]
La figura 39 muestra etapas para identificar datos de vídeo y conmutación entre frecuencias de accionamiento.
[Figura 40]
La figura 40 muestra un ejemplo de una tabla de búsqueda en la que las normas de datos de vídeo están asociadas con frecuencias de accionamiento.
[Figura 41A]
La figura 41A es un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señal.
[Figura 41B]
La figura 41B es un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señal.
La invención se define mediante las reivindicaciones adjuntas. Cualesquiera referencias a realizaciones que no caen bajo el ámbito de las reivindicaciones han de entenderse como ejemplos útiles para entender la invención.
[Conocimiento que forma la base de la presente invención]
Como se muestra en la figura 1 y la figura 12 por ejemplo, HEVC incluye principalmente procesos tales como predicción, transformada, cuantificación y codificación por entropía. De entre estas, la predicción incluye, a su vez, predicción inter trama e intra predicción. La intra predicción es un proceso en el que se genera un píxel predicho por interpolación a partir de píxeles vecinos en macrobloques vecinos ubicados, por ejemplo, encima y a la izquierda de un macrobloque actual a procesar y se codifica una diferencia con respecto al píxel predicho. La intra predicción de acuerdo con la norma de HEVC realiza una predicción a un nivel de píxel en lugar de un nivel de coeficiente de transformada discreta del coseno (DCT), y también usa patrones de predicción de píxeles en direcciones vertical, horizontal y diagonal.
Se describe la intra predicción convencional de una señal de croma con referencia a la figura 2, la figura 3, la figura 13 y la figura 14.
Se describe una configuración de una unidad de intra predicción de señal de croma 100 que realiza intra predicción de señal de croma de acuerdo con un procedimiento de codificación de imágenes convencional. La figura 2 es un diagrama de bloques que muestra un ejemplo de la unidad de intra predicción de señal de croma 100 convencional. Como se muestra en la figura 2, la unidad de intra predicción de señal de croma 100 incluye una unidad de generación de señal de croma intra predicha 110, una unidad de cálculo de señal residual 120, una unidad de transformada-cuantificación 130, una unidad de cuantificación-transformada inversa 135, una unidad de generación de señal codificada 140 y una unidad de codificación 150.
Una operación realizada por la unidad de intra predicción de señal de croma 100 convencional se describe en más detalle. La figura 3 es un diagrama de flujo que muestra un proceso realizado por la unidad de intra predicción de señal de croma 100.
En primer lugar, la unidad de generación de señal de croma intra predicha 110 genera una señal de croma intra predicha basándose en un modo de intra predicción, y emite la señal generada a la unidad de cálculo de señal residual 120 y la unidad de generación de señal codificada 140 (la etapa S1001). El modo de intra predicción se indica como un número de índice asignado a un procedimiento de generar una señal de croma intra predicha. La señal de croma intra predicha se genera de acuerdo con el modo de intra predicción usando, según sea apropiado, una señal de luma codificada de un bloque vecino, una señal de croma codificada de un bloque vecino y una señal de luma codificada del bloque actual a procesar.
A continuación, la unidad de cálculo de señal residual 120 calcula una señal residual a partir de una señal de croma de entrada y la señal de croma intra predicha, y emite la señal residual a la unidad de transformada-cuantificación 130 (la etapa S1002). La señal residual se obtiene al calcular una diferencia entre la señal de croma de entrada y la señal de croma intra predicha.
A continuación, la unidad de transformada-cuantificación 130 calcula coeficientes cuantificados al realizar transformada y cuantificación sobre la señal residual, y emite los coeficientes cuantificados a la unidad de cuantificación-transformada inversa 135 y la unidad de codificación 150 (la etapa S1003). En el presente caso, transformada se refiere a un proceso de transformar la señal residual en un dominio del espacio en coeficientes en un dominio de la frecuencia. Por cuantificación, el valor de coeficiente en el dominio de la frecuencia obtenido al transformar la señal residual se aproxima más toscamente. Un valor que indica la tosquedad se denomina parámetro de cuantificación (también se puede denominar QP posteriormente). Cuando el QP es mayor, se realiza una aproximación más tosca, lo que quiere decir que un error (un error de cuantificación) es mayor entre la señal de croma de entrada original y la señal de croma codificada descrita posterior.
A continuación, la unidad de cuantificación-transformada inversa 135 calcula una señal residual codificada al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados, y emite la señal residual codificada a la unidad de generación de señal codificada 140 (la etapa S1004). Cuantificación inversa y transformada inversa se realizan por un procedimiento exactamente opuesto al procedimiento en la etapa S1003. Después de esto, la unidad de generación de señal codificada 140 genera una señal de croma codificada a partir de la señal residual codificada y la señal de croma intra predicha (la etapa S1005). La unidad de generación de señal codificada 140 almacena la señal de croma codificada generada en una memoria que no se ilustra en el diagrama. La señal de croma codificada almacenada en la memoria es usada, como una señal codificada de un bloque vecino, por la unidad de generación de señal de croma intra predicha 110 con el fin de generar una señal de croma intra predicha. Lo mismo es cierto para una señal de luma codificada (se omite una explicación de la misma). La señal de croma codificada se calcula al añadir la señal residual codificada a la señal de croma intra predicha.
A continuación, la unidad de codificación 150 genera un flujo de bits al codificar los coeficientes cuantificados y el modo de intra predicción (la etapa S1006). En la codificación, se asigna un código variable a los coeficientes cuantificados con el fin de que la longitud de bits sea corta y, como resultado, se mejora la eficiencia de compresión.
Se transfiere o se registra el flujo de bits obtenido por la compresión de datos eficiente.
Se describe una configuración de una unidad de intra predicción de señal de croma 300 que realiza intra predicción de señal de croma de acuerdo con un procedimiento de descodificación de imágenes convencional. La figura 13 es un diagrama de bloques que muestra un ejemplo de la unidad de intra predicción de señal de croma 300 convencional.
Como se muestra en la figura 13, la unidad de intra predicción de señal de croma 300 incluye una unidad de descodificación de longitud variable 310, una unidad de obtención de señal residual 320, una unidad de generación de señal de croma intra predicha 330 y una unidad de generación de señal de croma descodificada 340.
Una operación realizada por la unidad de intra predicción de señal de croma 300 convencional se describe en más detalle con referencia a la figura 14. La figura 14 es un diagrama de flujo que muestra un proceso realizado por la unidad de intra predicción de señal de croma 300.
En primer lugar, la unidad de intra predicción de señal de croma 300 obtiene coeficientes cuantificados y un modo de intra predicción al realizar descodificación de longitud variable sobre el flujo de bits, y emite los coeficientes cuantificados y el modo de intra predicción a la unidad de obtención de señal residual 320 y la unidad de generación de señal de croma intra predicha 330 (la etapa S3001).
A continuación, la unidad de obtención de señal residual 320 obtiene una señal residual descodificada al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados, y emite la señal residual descodificada a la unidad de generación de señal de croma descodificada 340 (la etapa S3002). La señal residual descodificada se ha aproximado más toscamente por la cuantificación en el momento de la codificación. Teniendo en cuenta esto, cuando la señal de croma descodificada se genera usando esta señal residual, se causa un error con respecto a la imagen de entrada original.
A continuación, la unidad de generación de señal de croma intra predicha 330 genera una señal de croma intra predicha basándose en el modo de intra predicción, y emite la señal de croma intra predicha a la unidad de generación de señal de croma descodificada 340 (la etapa S3003). La señal de croma intra predicha se genera de acuerdo con el modo de intra predicción usando, según sea apropiado, una señal de luma descodificada de un bloque vecino, una señal de croma descodificada de un bloque vecino y una señal de luma descodificada del bloque actual a procesar.
A continuación, la unidad de generación de señal de croma descodificada 340 genera una señal de croma descodificada a partir de la señal residual descodificada y la señal de croma intra predicha (la etapa S3004). La señal de croma descodificada se calcula al añadir la señal residual descodificada a la señal de croma intra predicha. La señal de croma descodificada generada por la unidad de generación de señal de croma descodificada 340 se almacena en una memoria, que no se ilustra en el diagrama, y se usa para un proceso de intra predicción posterior, por ejemplo.
De acuerdo con la tecnología convencional anteriormente mencionada, sin embargo, se realiza cuantificación cuando se codifica la señal residual que indica una diferencia entre la señal de entrada y la señal predicha. Por esta razón, cuando el QP es mayor, un error es mayor entre la señal de entrada y la señal de croma codificada o entre la imagen de entrada y la señal de croma descodificada. En especial con respecto a la señal de croma, incluso una ligera diferencia en el valor causa una distorsión de color evidente en la calidad de imagen subjetiva.
Para resolver el problema anterior, el procedimiento de codificación de imágenes en un aspecto de acuerdo con la presente invención es un procedimiento de codificación de un bloque de entrada incluido en una imagen. Para ser más específicos, el procedimiento de codificación de imágenes incluye: generar un bloque predicho al predecir el bloque de entrada; calcular un bloque residual al restar el bloque predicho del bloque de entrada; calcular coeficientes cuantificados al realizar transformada y cuantificación sobre el bloque residual; calcular un bloque residual codificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; generar un bloque codificado temporal al añadir el bloque residual codificado al bloque predicho; determinar si se requiere, o no, un proceso de desplazamiento para corregir un error incluido en el bloque codificado temporal, para generar primera información de bandera que indica un resultado de la determinación, estando causado el error por la cuantificación en el cálculo de coeficientes cuantificados; ejecutar el proceso de desplazamiento sobre el bloque codificado temporal cuando se determina en la determinación que se requiere el proceso de desplazamiento; y realizar codificación de longitud variable sobre los coeficientes cuantificados y la primera información de bandera. Con esta configuración, se puede reducir un error (un error de cuantificación) causado por cuantificación. Más específicamente, se puede prever de forma eficaz que se deteriore la calidad de imagen.
Además, el proceso de desplazamiento se puede ejecutar para añadir un valor de desplazamiento a un valor de un píxel incluido en el bloque codificado temporal. En la determinación, si un valor de desplazamiento para un bloque previamente codificado adyacente al bloque de entrada o el valor de desplazamiento nuevamente calculado para el bloque codificado temporal se usa en el proceso de desplazamiento a ejecutar sobre el bloque codificado temporal se puede determinar adicionalmente para generar segunda información de bandera que indica un resultado de la determinación. En la ejecución, el proceso de desplazamiento se puede ejecutar sobre el bloque codificado temporal usando el valor de desplazamiento indicado por la segunda información de bandera. En la realización, se puede realizar adicionalmente codificación de longitud variable sobre la segunda información de bandera.
Además, en la ejecución, el proceso de desplazamiento se puede ejecutar de forma selectiva sobre un píxel (i) que es uno de los píxeles incluidos en el bloque codificado temporal y (ii) que se corresponde con un píxel incluido en el bloque de entrada y que tiene un valor incluido en un intervalo predeterminado en el que una distorsión de color subjetiva es evidente.
Además, en la determinación, cuando cada uno de los valores de todos los píxeles incluidos en el bloque de entrada está fuera del intervalo predeterminado, se puede determinar que no se requiere ejecutar el proceso de desplazamiento sobre el bloque codificado temporal que se corresponde con el bloque de entrada.
Como un ejemplo, cada uno de los valores de los píxeles incluidos en el bloque de entrada se puede expresar en un formato YUV.
Además, el procedimiento de codificación de imágenes puede (i) conmutar entre un proceso de codificación basándose en una primera norma y un proceso de codificación basándose en una segunda norma, (ii) realizar la determinación, la ejecución, y la realización, como el proceso de codificación basándose en la primera norma, y (iii) codificar un identificador que indica una norma de un proceso de codificación.
El procedimiento de descodificación de imágenes en un aspecto de acuerdo con la presente invención es un procedimiento de descodificación de un flujo de bits para generar un bloque descodificado. Para ser más específicos, el procedimiento de descodificación de imágenes incluye: obtener coeficientes cuantificados y primera información de bandera que indica si se requiere, o no, un proceso de desplazamiento, al realizar descodificación de longitud variable sobre el flujo de bits; obtener un bloque residual descodificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; generar un bloque predicho al predecir el bloque descodificado; generar un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y generar el bloque descodificado al ejecutar, sobre el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que es causado por cuantificación y se incluye en el bloque descodificado temporal, cuando la primera información de bandera indica que se requiere el proceso de desplazamiento.
Además, el proceso de desplazamiento se puede ejecutar para añadir un valor de desplazamiento a un valor de un píxel incluido en el bloque descodificado temporal. En la obtención de coeficientes cuantificados y primera información de bandera, se puede obtener adicionalmente segunda información de bandera, indicando la segunda información de bandera si el valor de desplazamiento para un bloque previamente descodificado adyacente al bloque descodificado o el valor de desplazamiento nuevamente calculado para el bloque descodificado temporal se usa en el proceso de desplazamiento a ejecutar sobre el bloque descodificado temporal. En la generación del bloque descodificado, el proceso de desplazamiento se puede ejecutar sobre el bloque descodificado temporal usando el valor de desplazamiento indicado por la segunda información de bandera.
Como un ejemplo, cada uno de los valores de los píxeles incluidos en el bloque descodificado se puede expresar en un formato YUV.
Además, el procedimiento de descodificación de imágenes puede (i) conmutar entre un proceso de descodificación basándose en una primera norma y un proceso de descodificación basándose en una segunda norma, de acuerdo con un identificador que se incluye en el flujo de bits e indica la primera norma o la segunda norma y (ii) realizar, como el proceso de descodificación basándose en la primera norma, la realización y la ejecución cuando el identificador indica la primera norma.
El aparato de codificación de imágenes en un aspecto de acuerdo con la presente invención codifica un bloque de entrada incluido en una imagen. Para ser más específicos, el aparato de codificación de imágenes incluye: una unidad de predicción que genera un bloque predicho al predecir el bloque de entrada; una unidad de cálculo que calcula un bloque residual al restar el bloque predicho del bloque de entrada; una unidad de transformadacuantificación que calcula coeficientes cuantificados al realizar transformada y cuantificación sobre el bloque residual; una unidad de cuantificación-transformada inversa que calcula un bloque residual codificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; una unidad de generación que genera un bloque codificado temporal al añadir el bloque residual codificado al bloque predicho; una unidad de determinación que determina si se requiere, o no, un proceso de desplazamiento para corregir un error incluido en el bloque codificado temporal, para generar primera información de bandera que indica un resultado de la determinación, estando causado el error por la cuantificación realizada por la unidad de transformada-cuantificación; una unidad de procesamiento de desplazamiento que ejecuta el proceso de desplazamiento sobre el bloque codificado temporal cuando se determina por la unidad de determinación que se requiere el proceso de desplazamiento; y una unidad de codificación de longitud variable que realiza codificación de longitud variable sobre los coeficientes cuantificados y la primera información de bandera.
El aparato de descodificación de imágenes en un aspecto de acuerdo con la presente invención descodifica un flujo de bits para generar un bloque descodificado. Para ser más específicos, el aparato de descodificación de imágenes incluye: una unidad de descodificación de longitud variable que obtiene coeficientes cuantificados y primera información de bandera que indica si se requiere, o no, un proceso de desplazamiento, al realizar descodificación de longitud variable sobre el flujo de bits; una unidad de obtención que obtiene un bloque residual descodificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; una unidad de predicción que genera un bloque predicho al predecir el bloque descodificado; una unidad de generación que genera un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y una unidad de procesamiento de desplazamiento que genera el bloque descodificado al ejecutar, sobre el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que es causado por cuantificación y se incluye en el bloque descodificado temporal, cuando la primera información de bandera indica que se requiere el proceso de desplazamiento.
El aparato de codificación-descodificación de imágenes en un aspecto de acuerdo con la presente invención incluye: el aparato de codificación de imágenes descrito anteriormente; y el aparato de descodificación de imágenes descrito anteriormente.
Debería observarse que una realización general o específica en un aspecto puede implementarse mediante un sistema, un procedimiento, un circuito integrado, un programa informático o un medio de grabación, o mediante cualquier combinación de un sistema, un procedimiento, un circuito integrado, un programa informático y un medio de grabación.
Lo siguiente es una descripción de realizaciones de acuerdo con la presente invención, con referencia a los dibujos.
[Aparato de codificación de imágenes]
La figura 1 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de codificación de imágenes 200 en las realizaciones 1 a 3 de acuerdo con la presente invención.
El aparato de codificación de imágenes 200 realiza codificación de compresión sobre datos de imagen. Por ejemplo, el aparato de codificación de imágenes 200 recibe, como una señal de entrada, los datos de imagen para cada bloque. El aparato de codificación de imágenes 200 genera una señal codificada (es decir, un flujo de bits) al realizar transformada, cuantificación y codificación de longitud variable sobre la señal de entrada recibida.
Como se muestra en la figura 1, el aparato de codificación de imágenes 200 incluye un restador 205, una unidad de transformada-cuantificación 210, una unidad de codificación por entropía 220, una unidad de cuantificacióntransformada inversa 230, un sumador 235, un filtro de desbloqueo 240, una memoria 250, una unidad de intra predicción 260, una unidad de estimación de movimiento 270, una unidad de compensación de movimiento 280 y un conmutador de selección inter/intra 290.
El restador 205 calcula una diferencia entre la señal de entrada (un bloque de entrada) y la señal predicha (un bloque predicho). Más específicamente, el restador 205 calcula un error residual de predicción (un bloque residual). La unidad de transformada-cuantificación 210 genera coeficientes de transformada en el dominio de la frecuencia al transformar el error residual de predicción en el dominio del espacio. Por ejemplo, la unidad de transformadacuantificación 210 genera los coeficientes de transformada al realizar DCT (Transformada Discreta del Coseno) sobre el error residual de predicción. Además, la unidad de transformada-cuantificación 210 genera coeficientes cuantificados al cuantificar los coeficientes de transformada.
La unidad de codificación por entropía 220 genera una señal codificada al realizar codificación de longitud variable sobre los coeficientes cuantificados. Además, la unidad de codificación por entropía 220 codifica datos de movimiento (tales como un vector de movimiento) estimados por la unidad de estimación de movimiento 270, primera información de bandera y segunda información de bandera (descritas posteriormente), un valor de desplazamiento (descrito posteriormente), y así sucesivamente. Entonces, la unidad de codificación por entropía 220 incluye estos fragmentos de datos codificados en la señal codificada y emite esta señal codificada.
La unidad de cuantificación-transformada inversa 230 restablece los coeficientes de transformada al realizar cuantificación inversa sobre los coeficientes cuantificados. Además, la unidad de cuantificación-transformada inversa 230 restablece el error residual de predicción al realizar transformada inversa sobre los coeficientes de transformada restablecidos. Se debería hacer notar que, debido a que la información acerca del error residual de predicción restablecido se ha perdido por cuantificación, el error residual de predicción restablecido no concuerda con el error residual de predicción generado por el restador 205. Para ser más específicos, el error residual de predicción restablecido incluye un error de cuantificación.
El sumador 235 genera una imagen descodificada local (un bloque codificado) al añadir el error residual de predicción restablecido a la señal predicha.
El filtro de desbloqueo 240 realiza filtrado por desbloqueo sobre la imagen descodificada local generada.
La memoria 250 almacena una imagen de referencia para usarse para compensación de movimiento. Para ser más específicos, la memoria 250 almacena la imagen descodificada local sobre la que se ha realizado filtrado por desbloqueo.
La unidad de intra predicción 260 genera una señal predicha (una señal intra predicha) al realizar intra predicción. Más específicamente, la unidad de intra predicción 260 genera la señal intra predicha al realizar intra predicción, con referencia a una imagen ubicada cerca de un bloque actual (la señal de entrada) que se va a codificar y se incluye en la imagen descodificada local generada por el sumador 235.
La unidad de estimación de movimiento 270 estima datos de movimiento (tales como un vector de movimiento) entre la señal de entrada y la imagen de referencia almacenada en la memoria 250.
La unidad de compensación de movimiento 280 genera una señal predicha (una señal inter predicha) al realizar compensación de movimiento basándose en los datos de movimiento estimados.
El conmutador de selección inter/intra 290 selecciona una de la señal intra predicha y la señal inter predicha, y emite la señal seleccionada como la señal predicha al restador 205 y el sumador 235.
Con la configuración descrita hasta el momento, el aparato de codificación de imágenes 200 en las realizaciones 1 a 3 de acuerdo con la presente invención realiza codificación de compresión sobre los datos de imagen.
[Realización 1]
Un procedimiento de codificación de imágenes en la realización 1 incluye: generar un bloque predicho al predecir el bloque de entrada; calcular un bloque residual al restar el bloque predicho del bloque de entrada; calcular coeficientes cuantificados al realizar transformada y cuantificación sobre el bloque residual; calcular un bloque residual codificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; generar un bloque codificado temporal al añadir el bloque residual codificado al bloque predicho; ejecutar un proceso de desplazamiento sobre el bloque codificado temporal; y realizar codificación de longitud variable sobre los coeficientes cuantificados.
Obsérvese que el proceso de desplazamiento se refiere a un proceso realizado para corregir un error que es causado por cuantificación en el cálculo de coeficientes cuantificados y se incluye en el bloque codificado temporal. Para ser más específicos, el proceso de desplazamiento se ejecuta para añadir un valor de desplazamiento a un valor de un píxel incluido en el bloque codificado temporal. En el presente caso, aunque cada uno de los valores de los píxeles incluidos en el bloque de entrada no está particularmente limitado, la siguiente descripción se basa en la suposición de que cada uno de los valores de los píxeles se expresa en el formato YUV. Además, aunque lo siguiente describe un ejemplo en el que un bloque predicho se genera por intra predicción, la presente invención no se limita a esto. El bloque predicho se puede generar, por ejemplo, por inter predicción.
Lo siguiente describe una configuración de un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 500 que ejecuta un procedimiento de intra predicción en el proceso de desplazamiento ejecutado sobre la señal de croma en la realización 1. La figura 4 es un diagrama de bloques que muestra un ejemplo de la configuración del aparato de procesamiento de imágenes 500 en la realización 1 de acuerdo con la presente invención. Se debería hacer notar que, como se describe posteriormente, el aparato de procesamiento de imágenes 500 en la realización 1 de acuerdo con la presente invención se corresponde con una parte del aparato de codificación de imágenes 200 que realiza codificación de compresión sobre una señal de imagen y emite datos de imagen codificados.
Como se muestra en la figura 4, el aparato de procesamiento de imágenes 500 incluye una unidad de generación de señal de croma intra predicha 510, una unidad de cálculo de señal residual 520, una unidad de transformadacuantificación 530, una unidad de cuantificación-transformada inversa 535, una unidad de generación de señal de croma codificada temporal 540, una primera unidad de cálculo de componente de CC 550, una segunda unidad de cálculo de componente de CC 555, una unidad de cálculo de valor de desplazamiento 560, una unidad de codificación 570 y una unidad de adición de valor de desplazamiento 580.
Una operación realizada por el aparato de procesamiento de imágenes 500 en la realización 1 de acuerdo con la presente invención se describe en más detalle con referencia a la figura 5. La figura 5 es un diagrama de flujo que muestra un proceso realizado por el aparato de procesamiento de imágenes 500.
En primer lugar, la unidad de generación de señal de croma intra predicha 510 genera una señal de croma intra predicha basándose en un modo de intra predicción, y emite la señal generada a la unidad de cálculo de señal residual 520 y la unidad de generación de señal de croma codificada temporal 540 (la etapa S5001). La señal de croma intra predicha se genera de acuerdo con el modo de intra predicción usando, según sea apropiado, una señal de luma codificada de un bloque vecino, una señal de croma codificada de un bloque vecino y una señal de luma codificada del bloque actual a procesar.
A continuación, la unidad de cálculo de señal residual 520 calcula una señal residual a partir de una señal de croma de entrada y la señal de croma intra predicha, y emite la señal residual a la unidad de transformada-cuantificación 530 (la etapa S5002). La señal residual se obtiene al calcular una diferencia entre la señal de croma de entrada y la señal de croma intra predicha.
A continuación, la unidad de transformada-cuantificación 530 calcula coeficientes cuantificados al realizar transformada y cuantificación sobre la señal residual, y emite los coeficientes cuantificados a la unidad de cuantificación-transformada inversa 535 y la unidad de codificación 570 (la etapa S5003). Por cuantificación, el valor de coeficiente en el dominio de la frecuencia obtenido al transformar la señal residual se aproxima más toscamente. En el presente caso, cuando el QP es mayor, se realiza una aproximación más tosca, lo que quiere decir que un error es mayor entre la señal de croma de entrada original y la señal de croma codificada temporal descrita posteriormente.
A continuación, la unidad de cuantificación-transformada inversa 535 calcula una señal residual codificada al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados, y emite la señal residual codificada a la unidad de generación de señal de croma codificada temporal 540 (la etapa S5004). Cuantificación inversa y transformada inversa se realizan por un procedimiento exactamente opuesto al procedimiento en la etapa S5003.
Después de esto, la unidad de generación de señal de croma codificada temporal 540 genera una señal de croma codificada temporal a partir de la señal residual codificada y la señal de croma intra predicha, y emite la señal generada a la segunda unidad de cálculo de componente de CC 555 y la unidad de adición de valor de desplazamiento 580 (la etapa S5005). La señal de croma codificada temporal se calcula al añadir la señal residual codificada a la señal de croma intra predicha.
A continuación, la primera unidad de cálculo de componente de CC 550 calcula una componente de CC de la señal de croma de entrada y emite la componente de CC calculada a la unidad de cálculo de valor de desplazamiento 560 (la etapa S5006). En el presente caso, la componente de CC se refiere a un valor promedio de una forma de onda de señal, y se obtiene, por ejemplo, al calcular un valor promedio de los píxeles de la señal de entrada (es decir, una pluralidad de píxeles incluidos en el bloque actual a codificar). Como alternativa, una componente de CC obtenida al realizar transformada de frecuencia sobre la señal de croma de entrada se puede usar como la componente de CC de la señal de croma de entrada.
Entonces, la segunda unidad de cálculo de componente de CC 555 calcula una componente de CC de la señal de croma codificada temporal, y emite la componente de CC calculada a la unidad de cálculo de valor de desplazamiento 560 (la etapa S5007). En el presente caso, la componente de CC se calcula por el mismo procedimiento que se usa en la etapa S5006.
A continuación, la unidad de cálculo de valor de desplazamiento 560 calcula un valor de desplazamiento a partir de la componente de CC de la señal de croma de entrada y la componente de CC de la señal de croma codificada temporal, y emite el valor de desplazamiento calculado a la unidad de codificación 570 y la unidad de cálculo de valor de desplazamiento 580 (la etapa S5008). Se describe posteriormente un procedimiento específico de calcular el valor de desplazamiento.
Entonces, la unidad de codificación 570 genera un flujo de bits al codificar los coeficientes cuantificados, el modo de intra predicción y el valor de desplazamiento (la etapa S5009).
A continuación, la unidad de adición de valor de desplazamiento 580 genera una señal de croma codificada al añadir el valor de desplazamiento a la señal de croma codificada temporal (la etapa S5010). La señal de croma codificada obtenida por la adición realizada por la unidad de adición de valor de desplazamiento 580 se almacena en una memoria, que no se ilustra, para usarse en un proceso de intra predicción posterior, por ejemplo.
El proceso desde la etapa S5001 a la etapa S5010 como se describe se repite para cada uno de los bloques incluidos en la imagen.
En el presente caso, se explica el valor de desplazamiento. El valor de desplazamiento de la componente de CC de la señal de croma de entrada y la componente de CC de la señal de croma codificada temporal se calcula de acuerdo con la ecuación 1, por ejemplo.
[Cálculo 1]
desplazamientot7lip = promedio(_CEntrada') — promedio(_tmpRecC) ... Ecuación 1
La ecuación 1 muestra un ejemplo en el que un valor promedio de los píxeles de la señal de croma se usa como la componente de CC. En el presente caso, "CEntrada" representa un bloque de señal de croma de entrada, y "tmpRecC" representa una señal de croma codificada temporal. Además, "promedio()" representa una función usada para calcular el promedio de valores de señal del bloque de entrada. Un valor de desplazamiento "desplazamiento_tmp" se calcula con una precisión sub-píxel de acuerdo con la ecuación 1 y, por lo tanto, la señal de croma codificada se puede restablecer con una precisión alta mediante el uso de este valor de desplazamiento. Sin embargo, aumenta el número de bits del flujo de bits codificado. Por lo tanto, con el fin de reducir la cantidad de información, un proceso de cuantificación o un proceso de recorte se realiza sobre el valor de desplazamiento como se expresa mediante la ecuación 2.
[Cálculo 2]
En el presente caso, "desplazamiento" representa un valor de salida de la unidad de cálculo de valor de desplazamiento 560, es decir, un valor de desplazamiento que se calcula con una precisión de píxeles entera y se añade en realidad a la señal de croma codificada temporal. Además, "Disc ()" representa una función usada para cuantificar el valor de desplazamiento desplazamiento_tmp que tiene una precisión sub-píxel para dar un múltiplo entero de un parámetro p1. Además, "Recorte ()" representa un proceso de redondeo de un valor fuera de un intervalo especificado a un valor máximo o un valor mínimo usando un parámetro p2. La figura 6 muestra ejemplos del proceso de cuantificación y el proceso de recorte realizado sobre el valor de desplazamiento.
En el presente caso, cada uno de los parámetros p1 y p2 es un valor entero. Cada uno de los parámetros p1 y p2 se determina de acuerdo con, por ejemplo, una limitación al número de bits de la señal codificada, un ajuste manual basándose en la calidad de imagen subjetiva de la imagen codificada, una relación con los coeficientes cuantificados, y datos estadísticos acerca de un valor de diferencia entre la señal de croma de entrada y la señal de croma codificada temporal.
Con esto, se puede reducir el error entre la señal de croma de entrada y la señal de croma codificada (es decir, el error causado por cuantificación = el error de cuantificación). Además, se puede moderar la distorsión de color de la señal de croma codificada.
Se debería hacer notar que la señal de croma codificada se puede usar en intra predicción de señal de croma, intra predicción de señal de luma, predicción inter trama de señal de croma, o predicción inter trama de señal de luma para un bloque a procesar posteriormente. Con esto, la precisión de predicción se puede mejorar adicionalmente y, por lo tanto, se puede implementar la eficiencia de codificación alta.
Se debería hacer notar que comúnmente solo se puede usar una de la primera unidad de cálculo de componente de CC 550 y la segunda unidad de cálculo de componente de CC 555 en el cálculo de la componente de CC de la señal de croma de entrada y la componente de CC de la señal de croma codificada temporal. Esto permite que el aparato de procesamiento de imágenes 500 se implemente con un tamaño de circuito más pequeño.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
[Realización 2]
Un procedimiento de codificación de imágenes en la realización 2 incluye adicionalmente: determinar si se requiere, o no, un proceso de desplazamiento para corregir un error incluido en un bloque codificado temporal, para generar primera información de bandera que indica un resultado de la determinación, estando causado el error por la cuantificación en el cálculo de coeficientes cuantificados. En la ejecución del proceso de desplazamiento, cuando se determina en la determinación que se requiere el proceso de desplazamiento, el proceso de desplazamiento se ejecuta sobre el bloque codificado temporal. Además, en la realización de codificación de longitud variable, se realiza codificación de longitud variable sobre la primera información de bandera.
A continuación, se describe una operación realizada por un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 600 en la realización 2 de acuerdo con la presente invención.
La figura 7 es un diagrama de bloques que muestra un ejemplo de una configuración detallada del aparato de descodificación de imágenes 600 en la realización 2.
Como se muestra en la figura 7, el aparato de procesamiento de imágenes 600 incluye una unidad de generación de señal de croma intra predicha 610, una unidad de cálculo de señal residual 620, una unidad de transformadacuantificación 630, una unidad de cuantificación-transformada inversa 635, una unidad de generación de señal de croma codificada temporal 640, una primera unidad de cálculo de componente de CC 650, una segunda unidad de cálculo de componente de CC 655, una unidad de cálculo de valor de desplazamiento 660, una unidad de codificación 670, una unidad de adición de valor de desplazamiento 680 y una unidad de determinación de desplazamiento 690. Más específicamente, en comparación con el aparato de procesamiento de imágenes 500 mostrado en la figura 4, el aparato de procesamiento de imágenes 600 mostrado en la figura 7 incluye adicionalmente la unidad de determinación de desplazamiento 690. Los otros componentes de la unidad de procesamiento de imágenes 600 son idénticos a los componentes correspondientes del aparato de procesamiento de imágenes 500 y, por lo tanto, en el presente caso no se repiten explicaciones detalladas de estos componentes. Se omiten las descripciones de los componentes que se incluyen en el aparato de procesamiento de imágenes 600 e idénticos a los componentes correspondientes incluidos en el aparato de procesamiento de imágenes 500 en la realización 1. Por lo tanto, se describe la unidad de determinación de desplazamiento 690 que es una diferencia entre el aparato de procesamiento de imágenes 600 y el aparato de procesamiento de imágenes 500. Para ser más específicos, en la realización 2, si se requiere, o no, el proceso de desplazamiento se determina para cada bloque y el valor de desplazamiento se calcula solo para el bloque en el que se determina que se requiere el proceso de desplazamiento.
A continuación, se describe la intra predicción de señal de croma realizada por el aparato de procesamiento de imágenes 600. La figura 8 es un diagrama de flujo que muestra intra predicción de señal de croma de acuerdo con el procedimiento de codificación de imágenes en la realización 2. En el presente caso no se repiten explicaciones detalladas acerca de los procesos mostrados en la figura 8 que son idénticos a los procesos correspondientes explicados en la realización 1 con referencia a la figura 5. Por lo tanto, se describen principalmente las etapas S6006 a S6010 en la figura 8.
En la etapa S6006, la unidad de determinación de desplazamiento 690 determina si se requiere, o no, el proceso de desplazamiento en el bloque actual a procesar. Para esta determinación se usan, por ejemplo, la señal de croma de entrada y la señal de luma de entrada. La distorsión de color causada por un error entre la señal de croma de entrada y la señal de croma codificada depende de los valores de la señal de croma y la señal de luma. Más específicamente, incluso con el mismo valor de error, la distorsión de color aparece de forma diferente en la calidad de imagen subjetiva de acuerdo con los valores de la señal de croma y la señal de luma. Teniendo en cuenta esto, se determina que se requiere el proceso de desplazamiento cuando la señal de entrada existe en un intervalo (también se puede denominar "intervalo A" posteriormente) en el que la distorsión de color en la calidad de imagen subjetiva es evidente en el espacio de croma y el espacio de luma.
Una estructura de datos del intervalo A se puede expresar basándose en el valor máximo y el valor mínimo para cada componente de YUV y RGB, o basándose en un mapa de color que tiene tres ejes correspondientes a y Uv o RGB. Además, la señal de entrada usada para la determinación pueden ser, por ejemplo, valores promedio de la señal de croma de entrada y la señal de luma de entrada en el bloque actual, componentes de CC obtenidas por transformadas de frecuencia realizadas sobre la señal de croma de entrada y la señal de luma de entrada, o valores de mediana de la señal de croma de entrada y la señal de luma de entrada.
Se debería hacer notar que solo se puede usar el valor en el espacio de croma en la determinación con respecto a si se requiere, o no, el proceso de desplazamiento en el bloque actual. Con esto, se puede moderar la cantidad de cálculo requerido de la unidad de determinación de desplazamiento 690 y el tamaño de circuito.
Para ser más específicos, en la ejecución del proceso de desplazamiento, el proceso de desplazamiento se puede ejecutar de forma selectiva sobre un píxel: ese es uno de los píxeles incluidos en el bloque codificado temporal; y que se corresponde con un píxel incluido en el bloque de entrada y que tiene un valor incluido en un intervalo predeterminado en el que una distorsión de color subjetiva es evidente. Además, en la determinación, cuando cada uno de los valores de todos los píxeles incluidos en el bloque de entrada está fuera del intervalo predeterminado, se puede determinar que no se requiere ejecutar el proceso de desplazamiento sobre el bloque codificado temporal que se corresponde con el bloque de entrada.
Cuando se determina que se requiere el proceso de desplazamiento en la etapa S6006, el valor de desplazamiento se calcula en las etapas S6007 a S6009 de la misma forma que en la realización 1.
Por otro lado, cuando se determina que no se requiere el proceso de desplazamiento en la etapa S6006, el valor de desplazamiento se establece a un valor al que la unidad de codificación 670 asigna el número mínimo de bits. Con esto, no es necesario codificar información que indica si se requiere, o no, el proceso de desplazamiento, y la determinación con respecto a si se requiere, o no, el proceso de desplazamiento se puede hacer con el número mínimo de bits. Por lo tanto, se puede moderar el número de bits del flujo de bits, y también se puede moderar la distorsión de color de la señal de croma codificada. Obsérvese que la información que indica si se requiere, o no, el proceso de desplazamiento (es decir, la primera información de bandera) se puede incluir en el flujo de bits por separado del valor de desplazamiento.
Cuando se determina que no se requiere el proceso de desplazamiento en la etapa S6006, se puede codificar la información que indica si se requiere, o no, el proceso de desplazamiento (es decir, la primera información de bandera). En este caso, no se realiza el proceso de añadir el valor de desplazamiento en la etapa S6012 y, por lo tanto, se puede moderar un aumento en la cantidad de cálculo.
Se debería hacer notar que, en la etapa S6006, si se requiere, o no, el proceso de desplazamiento se puede determinar usando la señal de croma codificada temporal. El lado de aparato de descodificación también puede generar la misma señal que la señal de croma codificada temporal y, por lo tanto, puede determinar si se requiere, o no, el proceso de desplazamiento. A cuenta de esto, no es necesario incluir la primera información de bandera en el flujo de bits, y se puede codificar solo el valor de desplazamiento solo cuando se requiere el proceso de desplazamiento. Más específicamente, cuando no se requiere el proceso de desplazamiento, no se codifica la información relacionada con el proceso de desplazamiento. Esto puede moderar adicionalmente el número de bits del flujo de bits.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
[Realización 3]
De acuerdo con un procedimiento de codificación de imágenes en la realización 3, se ejecuta adicionalmente el siguiente proceso. Más específicamente, en la determinación, se determina adicionalmente si un valor de desplazamiento para un bloque previamente codificado adyacente al bloque de entrada o el valor de desplazamiento nuevamente calculado para el bloque codificado temporal se usa en el proceso de desplazamiento a ejecutar sobre el bloque codificado temporal (es decir, se determina si es necesario actualizar el valor de desplazamiento) para generar segunda información de bandera que indica un resultado de la determinación. En la ejecución, el proceso de desplazamiento se ejecuta sobre el bloque codificado temporal usando el valor de desplazamiento indicado por la segunda información de bandera. En la realización, se realiza adicionalmente codificación de longitud variable sobre la segunda información de bandera, y también sobre el valor de desplazamiento nuevo cuando se actualiza el valor de desplazamiento.
A continuación, se describe una operación realizada por un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 700 en la realización 3 de acuerdo con la presente invención.
La figura 9 es un diagrama de bloques que muestra un ejemplo de una configuración detallada del aparato de descodificación de imágenes 700 en la realización 3.
Como se muestra en la figura 9, el aparato de procesamiento de imágenes 700 incluye una unidad de generación de señal de croma intra predicha 710, una unidad de cálculo de señal residual 720, una unidad de transformadacuantificación 730, una unidad de cuantificación-transformada inversa 735, una unidad de generación de señal de croma codificada temporal 740, una primera unidad de cálculo de componente de CC 750, una segunda unidad de cálculo de componente de CC 755, una unidad de cálculo de valor de desplazamiento 760, una unidad de codificación 770, una unidad de adición de valor de desplazamiento 780 y una unidad de determinación de unidad de desplazamiento 790. Más específicamente, en comparación con el aparato de procesamiento de imágenes 500 mostrado en la figura 4, el aparato de procesamiento de imágenes 700 mostrado en la figura 9 incluye adicionalmente la unidad de determinación de unidad de desplazamiento 790. Los otros componentes de la unidad de procesamiento de imágenes 700 son idénticos a los componentes correspondientes del aparato de procesamiento de imágenes 500 y, por lo tanto, en el presente caso no se repiten explicaciones detalladas de estos componentes.
Se omiten las descripciones de los componentes que se incluyen en el aparato de procesamiento de imágenes 700 e idénticos a los componentes correspondientes incluidos en el aparato de procesamiento de imágenes 500 en la realización 1. Por lo tanto, se describe la unidad de determinación de unidad de desplazamiento 790 que es una diferencia entre el aparato de procesamiento de imágenes 700 y el aparato de procesamiento de imágenes 500. El aparato de procesamiento de imágenes 700 en la realización 3 permite que el proceso de desplazamiento se realice sobre una pluralidad de bloques vecinos usando el mismo valor de desplazamiento.
A continuación, se describe la intra predicción de señal de croma realizada por el aparato de procesamiento de imágenes 700. La figura 10 es un diagrama de flujo que muestra intra predicción de señal de croma de acuerdo con el procedimiento de codificación de imágenes en la realización 3. En el presente caso no se repiten explicaciones detalladas acerca de procesos que son idénticos a los procesos correspondientes explicados en la realización 1 con referencia a la figura 5. Por lo tanto, se describen principalmente las etapas S7009 a S7012 en la figura 10.
En la etapa S7009, la unidad de determinación de unidad de desplazamiento 790 determina si se ha completado, o no, el cálculo del valor de desplazamiento para todos los bloques que existen en un área que incluye los bloques (también denominada "área A" posteriormente). Cuando no se ha completado el cálculo del valor de desplazamiento para todos los bloques (No en S7009), el aparato de procesamiento de imágenes 700 almacena el valor de desplazamiento calculado en la etapa S7008, y repite las etapas S7001 a S7008. Entonces, cuando se completa el cálculo del valor de desplazamiento para todos los bloques (Sí en S7009), el aparato de procesamiento de imágenes 700 procede a la etapa S7010.
A continuación, en la etapa S7010, la unidad de determinación de unidad de desplazamiento 790 compendia el valor de desplazamiento de todos los bloques en el área A que se calculan de acuerdo con las etapas hasta S7009, para determinar una unidad del proceso de desplazamiento. Entonces, la unidad de determinación de unidad de desplazamiento 790 emite un resultado de la determinación a la unidad de codificación 770 y la unidad de adición de valor de desplazamiento 780.
Después de esto, en la etapa S7011, la unidad de codificación 770 genera un flujo de bits al codificar los coeficientes cuantificados, el modo de intra predicción, la unidad del proceso de desplazamiento (segunda información de bandera) y el valor de desplazamiento.
A continuación, en la etapa S7012, la unidad de adición de valor de desplazamiento 780 añade el valor de desplazamiento a la señal de croma codificada temporal para generar una señal de croma codificada. La señal de croma codificada generada por la unidad de adición de desplazamiento 780 se almacena en una memoria, que no se ilustra, para usarse en un proceso de intra predicción posterior, por ejemplo.
En el presente caso, como un ejemplo, se describe la determinación de una unidad del proceso de desplazamiento. En primer lugar, se calcula una fórmula de evaluación representada por la ecuación 3 para cada uno de los valores de desplazamiento.
[Cálculo 3]
Figure imgf000014_0001
En el presente caso, "k" representa el valor de desplazamiento a evaluar, "N" representa el número de bloques que existen en el área A, y "sBlk (i)" representa el tamaño de un i-ésimo bloque en el área A. Además, "jdg1 (i)" representa una función usada para determinar si el valor de desplazamiento del i-ésimo bloque en el área A es, o no, igual a "k", como se expresa mediante la ecuación 4.
[Cálculo 4]
Figure imgf000014_0002
En el presente caso, "Eval (k)" representa una proporción de píxeles que tienen el valor de desplazamiento "k" en el área A.
A continuación, como se expresa mediante la ecuación 5, si el valor máximo de Eval (k) es, o no, mayor que o igual a un umbral dado "Th_oft" se determina usando una función "jdg2".
[Cálculo 5]
Figure imgf000014_0003
Ecuación 5
Cada una de la figura 11A y la figura 11B muestra un ejemplo del resultado cuando Th_oft = 0,6. Cuando jdg2 = 0, la unidad de determinación de unidad de desplazamiento 790 determina que no existe un valor de desplazamiento predominante en el área A y, por lo tanto, determina que el proceso de desplazamiento se va a realizar usando un valor de desplazamiento diferente para cada bloque como se muestra en la figura 11A. Por otro lado, cuando jdg2 = 1, la unidad de determinación de unidad de desplazamiento 790 determina que existe un valor de desplazamiento predominante en el área A y, por lo tanto, determina que el proceso de desplazamiento se va a realizar sobre todos los bloques que usan el mismo valor de desplazamiento que se muestra en la figura 11B.
Como resultado, el valor de desplazamiento de un área más grande que un bloque (tal como una LCU) se puede codificar mediante una operación. Esto puede moderar un aumento en el número de bits de la señal codificada y también moderar la distorsión de color de la señal de croma codificada.
Se debería hacer notar que la determinación de la unidad del proceso de desplazamiento se puede hacer basándose en una comparación usando una función de coste como se expresa mediante la ecuación 6.
[Cálculo 6]
Figure imgf000014_0004
En el presente caso, "Entrada (i)" representa un i-ésimo bloque en el área A de la señal de entrada, y "oftRec (i)" representa un i-ésimo bloque en el área A de la señal codificada. En el presente caso, solo se puede usar la señal de croma o tanto la señal de luma como la señal de croma. Además, "dif (A, B)" representa una función que devuelve un valor de diferencia entre un bloque A y un bloque B. El valor de diferencia se obtiene al calcular un error absoluto, por ejemplo. Además, "bit (A)" es una función que devuelve el número de bits generados cuando se codifica el bloque A. Además, "A" representa un parámetro de ponderación y se establece de acuerdo con, por ejemplo, el QP.
Por ejemplo, la unidad de determinación de unidad de desplazamiento 790 realiza el cálculo de acuerdo con la ecuación 6 para cada uno de los casos: en el que se usa el mismo valor de desplazamiento para todos los bloques; y en el que se usa un valor de desplazamiento diferente para cada uno de los bloques. Entonces, al realizar una comparación como se expresa mediante la ecuación 7, la unidad de determinación de unidad de desplazamiento 790 determina la unidad del proceso de desplazamiento.
[Cálculo 7]
Figure imgf000015_0001
En el presente caso, "coste_inv" representa un valor de coste de la ecuación 6 en el caso en el que se usa un valor de desplazamiento diferente para cada uno de los bloques, y "coste_todos" representa un valor de coste de la ecuación 6 en el caso en el que se usa el mismo valor de desplazamiento para todos los bloques del área A. Cuando jdg3 = 0, la unidad de determinación de unidad de desplazamiento 790 determina que el proceso de desplazamiento se va a realizar usando un valor de desplazamiento diferente para cada uno de los bloques. Por otro lado, cuando jdg3 = 1, la unidad de determinación de unidad de desplazamiento 790 determina que el proceso de desplazamiento se va a realizar usando el mismo valor de desplazamiento para todos los bloques. Como resultado, se puede realizar una codificación, estando en equilibrio el número de bits y la apariencia de la distorsión de color.
Se debería hacer notar que, como se describe en la realización 2, una codificación del valor de desplazamiento se puede realizar solo sobre un bloque en el que se requiere el proceso de desplazamiento. Para ser más específicos, cuando no se requiere el proceso de desplazamiento, no se codifica el valor de desplazamiento de este bloque. Con esto, se puede moderar adicionalmente el número de bits de la señal codificada.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
[Aparato de descodificación de imágenes]
La figura 12 es un diagrama de bloques que muestra un ejemplo de una configuración de un aparato de descodificación de imágenes 400 en las realizaciones 4 a 6 de acuerdo con la presente invención.
El aparato de descodificación de imágenes 400 descodifica datos de imagen codificados generados por codificación de compresión. Por ejemplo, el aparato de descodificación de imágenes 400 recibe los datos de imagen codificados para cada bloque, como una señal actual a descodificar. El aparato de descodificación de imágenes 400 restablece los datos de imagen al realizar descodificación de longitud variable, cuantificación inversa y transformada inversa sobre la señal actual recibida a descodificar.
Como se muestra en la figura 4, el aparato de descodificación de imágenes 400 incluye una unidad de descodificación por entropía 410, una unidad de cuantificación-transformada inversa 420, un sumador 425, un filtro de desbloqueo 430, una memoria 440, una unidad de intra predicción 450, una unidad de compensación de movimiento 460 y un conmutador de selección inter/intra 470.
La unidad de descodificación por entropía 410 restablece los coeficientes cuantificados al realizar descodificación de longitud variable sobre una señal de entrada (un flujo de entrada). En el presente caso, la señal de entrada (el flujo de entrada) es una señal actual a descodificar y se corresponde con datos de cada bloque incluido en los datos de imagen codificados. Además, la unidad de descodificación por entropía 410 obtiene datos de movimiento a partir de la señal de entrada y emite los datos de movimiento obtenidos a la unidad de compensación de movimiento 460. La unidad de cuantificación-transformada inversa 420 restablece los coeficientes de transformada al realizar cuantificación inversa sobre los coeficientes cuantificados restablecidos por la unidad de descodificación por entropía 410. Entonces, la unidad de cuantificación-transformada inversa 420 restablece el error residual de predicción al realizar transformada inversa sobre los coeficientes de transformada restablecidos.
El sumador 425 genera una imagen descodificada al añadir el error residual de predicción restablecido por la unidad de cuantificación-transformada inversa 420 a una señal predicha obtenida del conmutador de selección inter/intra 470.
El filtro de desbloqueo 430 realiza filtrado por desbloqueo sobre la imagen descodificada generada por el sumador 425. La imagen descodificada sobre la que se ha realizado filtrado por desbloqueo se emite como una señal descodificada.
La memoria 440 almacena una imagen de referencia para usarse para compensación de movimiento. Para ser más específicos, la memoria 440 almacena la imagen descodificada sobre la que se ha realizado filtrado por desbloqueo por el filtro de desbloqueo 430.
La unidad de intra predicción 450 genera una señal predicha (una señal intra predicha) al realizar intra predicción. Más específicamente, la unidad de intra predicción 450 genera la señal intra predicha, al realizar intra predicción con referencia a una imagen ubicada cerca de un bloque actual que se va a descodificar (la señal de entrada) y se incluye en la imagen descodificada generada por el sumador 425.
La unidad de compensación de movimiento 460 genera una señal predicha (una señal inter predicha) al realizar compensación de movimiento basándose en los datos de movimiento emitidos desde la unidad de descodificación por entropía 410.
El conmutador de selección inter/intra 470 selecciona una de la señal intra predicha y la señal inter predicha, y emite la señal seleccionada como la señal predicha al sumador 425.
Con la configuración descrita hasta el momento, el aparato de descodificación de imágenes 400 en las realizaciones 4 a 6 de acuerdo con la presente invención descodifica los datos de imagen codificados generados por codificación de compresión.
[Realización 4]
Un procedimiento de descodificación de imágenes en la realización 4 incluye: obtener coeficientes cuantificados al realizar descodificación de longitud variable sobre el flujo de bits; obtener un bloque residual descodificado al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados; generar un bloque predicho al predecir el bloque descodificado; generar un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y generar el bloque descodificado al ejecutar, sobre el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que es causado por cuantificación y se incluye en el bloque descodificado temporal.
Lo siguiente describe una configuración de un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 800 que ejecuta un procedimiento de intra predicción en el proceso de desplazamiento ejecutado sobre la señal de croma en la realización 4. La figura 15 es un diagrama de bloques que muestra un ejemplo de la configuración del aparato de procesamiento de imágenes 800 en la realización 4 de acuerdo con la presente invención. Se debería hacer notar que, como se describe posteriormente, el aparato de procesamiento de imágenes 800 en la realización 4 de acuerdo con la presente invención se corresponde con una parte del aparato de descodificación de imágenes que descodifica una señal codificada y emite datos de imagen descodificados.
Como se muestra en la figura 15, el aparato de procesamiento de imágenes 800 incluye una unidad de descodificación de longitud variable 810, una unidad de obtención de señal residual 820, una unidad de generación de señal de croma intra predicha 830, una unidad de generación de señal de croma descodificada temporal 840 y una unidad de adición de valor de desplazamiento 850.
Una operación realizada por el aparato de procesamiento de imágenes 800 en la realización 4 de acuerdo con la presente invención se describe en más detalle con referencia a la figura 16. La figura 16 es un diagrama de flujo que muestra un proceso realizado por el aparato de procesamiento de imágenes 800.
En primer lugar, la unidad de descodificación de longitud variable 810 obtiene coeficientes cuantificados, un modo de intra predicción y un valor de desplazamiento al realizar descodificación de longitud variable sobre el flujo de bits, y emite los coeficientes cuantificados obtenidos, modo de intra predicción y valor de desplazamiento a la unidad de obtención de señal residual 820 y la unidad de adición de valor de desplazamiento 850 (la etapa S8001).
A continuación, la unidad de obtención de señal residual 820 obtiene una señal residual descodificada al realizar cuantificación inversa y transformada inversa sobre los coeficientes cuantificados, y emite la señal residual descodificada a la unidad de generación de señal de croma descodificada temporal 840 (la etapa S8002). La señal residual descodificada se ha aproximado más toscamente por la cuantificación en el momento de la codificación. Teniendo en cuenta esto, cuando la señal de croma descodificada se genera usando esta señal residual, se causa un error con respecto a la imagen de entrada aún por codificar.
A continuación, la unidad de generación de señal de croma intra predicha 830 genera una señal de croma intra predicha basándose en el modo de intra predicción de la señal de croma, y emite la señal de croma intra predicha a la unidad de generación de señal de croma descodificada temporal 840 (la etapa S8003). El modo de intra predicción de la señal de croma se indica como un número de índice asignado a un procedimiento de generación de la señal de croma intra predicha. El modo de intra predicción se determina para cada bloque en la intra predicción realizada en el momento de la codificación. La señal de croma intra predicha se genera usando, según sea apropiado, una señal de luma codificada de un bloque vecino, una señal de croma codificada de un bloque vecino y una señal de luma codificada del bloque actual a procesar.
A continuación, la unidad de generación de señal de croma descodificada temporal 840 genera una señal de croma descodificada temporal a partir de la señal residual descodificada y la señal de croma intra predicha (la etapa S8004). La señal de croma descodificada temporal se calcula al añadir la señal residual descodificada a la señal de croma intra predicha.
A continuación, la unidad de adición de valor de desplazamiento 850 genera una señal de croma descodificada al añadir el valor de desplazamiento a la señal de croma descodificada temporal (la etapa S8006). Obsérvese que el valor de desplazamiento se calcula cuando se realiza intra predicción en el momento de la codificación. La señal de croma descodificada generada por la unidad de adición de valor de desplazamiento 850 se almacena en una memoria, que no se ilustra, para usarse en un proceso de intra predicción posterior, por ejemplo.
Con esto, se puede reducir un error entre la señal de croma de entrada aún por codificar y la señal de croma descodificada. Además, se puede moderar la distorsión de color de la señal de croma descodificada.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
La figura 21 es un diagrama que muestra un ejemplo en el que la realización 4 de acuerdo con la presente invención se muestra como una sintaxis basándose en la norma de HEVC (véase la referencia no de patente 3). Cuando se codifica una señal de imagen en el formato YUV, valores de desplazamiento de las componentes U y V se descodifican para cada unidad de predicción después de que se haya descodificado el modo de intra predicción de la señal de croma.
[Realización 5]
Un procedimiento de descodificación de imágenes en la realización 5 ejecuta adicionalmente el siguiente proceso. Más específicamente, en la realización de descodificación de longitud variable, se obtiene adicionalmente primera información de bandera que indica si se requiere, o no, el proceso de desplazamiento. En la ejecución del proceso de desplazamiento, el proceso de desplazamiento se ejecuta cuando la primera información de bandera indica que se requiere el proceso de desplazamiento.
A continuación, se describe una operación realizada por un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 900 en la realización 5 de acuerdo con la presente invención.
La figura 17 es un diagrama de bloques que muestra un ejemplo de una configuración detallada del aparato de descodificación de imágenes 900 en la realización 5.
Como se muestra en la figura 17, el aparato de procesamiento de imágenes 900 incluye una unidad de descodificación de longitud variable 910, una unidad de obtención de señal residual 920, una unidad de generación de señal de croma descodificada temporal 930, una unidad de generación de señal de croma intra predicha 940, una unidad de adición de valor de desplazamiento 950 y una unidad de determinación de desplazamiento 960. Más específicamente, en comparación con el aparato de procesamiento de imágenes 800 mostrado en la figura 15, el aparato de procesamiento de imágenes 900 mostrado en la figura 17 incluye adicionalmente la unidad de determinación de desplazamiento 960. Los otros componentes de la unidad de procesamiento de imágenes 900 son idénticos a los componentes correspondientes del aparato de procesamiento de imágenes 800 y, por lo tanto, en el presente caso no se repiten explicaciones detalladas de estos componentes.
Se omiten las descripciones de los componentes que se incluyen en el aparato de procesamiento de imágenes 900 e idénticos a los componentes correspondientes incluidos en el aparato de procesamiento de imágenes 800 en la realización 4. Por lo tanto, se describe la unidad de determinación de desplazamiento 970 que es una diferencia entre el aparato de procesamiento de imágenes 900 y el aparato de procesamiento de imágenes 800. Para ser más específicos, en la realización 5, se determina si se requiere, o no, el proceso de desplazamiento y el proceso de desplazamiento se ejecuta solo sobre el bloque en el que se requiere el proceso de desplazamiento.
A continuación, se describe la intra predicción de señal de croma realizada por el aparato de procesamiento de imágenes 900. La figura 18 es un diagrama de flujo que muestra intra predicción de señal de croma de acuerdo con el procedimiento de codificación de imágenes en la realización 5. En el presente caso no se repiten explicaciones detalladas acerca de los procesos mostrados en la figura 18 que son idénticos a los procesos correspondientes explicados en la realización 4 con referencia a la figura 16. Por lo tanto, se describen principalmente las etapas S9005 a S9007 en la figura 18.
En la etapa S9005, la unidad de determinación de desplazamiento 960 determina, usando la señal de luma descodificada y la señal de croma descodificada temporal del bloque actual, si se requiere, o no, el proceso de desplazamiento. Esta determinación se hace de acuerdo con, por ejemplo, el mismo procedimiento que se usa en la realización 2. La distorsión de color causada a la señal de croma descodificada por un error entre la señal de croma de entrada aún por codificar y la señal de croma descodificada depende de los valores de la señal de croma y la señal de luma. Más específicamente, incluso con el mismo valor de error, la distorsión de color aparece de forma diferente en la calidad de imagen subjetiva de acuerdo con los valores de la señal de croma y la señal de luma. Teniendo en cuenta esto, la unidad de determinación de desplazamiento 960 determina que se requiere el proceso de desplazamiento cuando la señal descodificada temporal existe en un intervalo (también se puede denominar "intervalo A" posteriormente) en el que la distorsión de color en la calidad de imagen subjetiva es evidente en el espacio de croma y el espacio de luma.
Una estructura de datos del intervalo A se puede expresar basándose en el valor máximo y el valor mínimo para cada componente de YUV y RGB, o basándose en un mapa de color que tiene tres ejes correspondientes a y Uv o RGB. Además, la señal de entrada usada para la determinación pueden ser, por ejemplo, valores promedio de la señal de croma de entrada y la señal de luma de entrada en el bloque actual, componentes de CC obtenidas por transformadas de frecuencia realizadas sobre la señal de croma de entrada y la señal de luma de entrada, o valores de mediana de la señal de croma de entrada y la señal de luma de entrada.
Entonces, cuando se determina en la etapa S9005 que se requiere el proceso de desplazamiento, se realizan las etapas S9006 a S9007. En la etapa S9006, la unidad de descodificación de longitud variable 910 obtiene el valor de desplazamiento al realizar descodificación de longitud variable sobre el flujo de bits, y emite el valor de desplazamiento obtenido a la unidad de adición de valor de desplazamiento 950.
A continuación, en la etapa S9007, la unidad de adición de valor de desplazamiento 950 genera una señal de croma descodificada al añadir el valor de desplazamiento a la señal de croma descodificada temporal. La señal de croma descodificada generada por la unidad de adición de valor de desplazamiento 950 se almacena en una memoria, que no se ilustra en el diagrama, para usarse para un proceso de intra predicción posterior, por ejemplo.
Por otro lado, cuando se determina en la etapa S9005 que no se requiere el proceso de desplazamiento, no se realiza el proceso de desplazamiento. Por lo tanto, la señal de croma descodificada temporal se usa como la señal de croma descodificada sin cambio.
Con esto, se puede moderar la distorsión de color de la señal de croma codificada al tiempo que se modera el número de bits del flujo de bits.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
Un procedimiento de determinar si se requiere, o no, el proceso de desplazamiento no se limita al procedimiento anteriormente mencionado. Por ejemplo, la unidad de determinación de desplazamiento 960 obtiene, del flujo de bits, primera información de bandera que indica si se requiere, o no, el proceso de desplazamiento. Entonces, si se requiere, o no, el proceso de desplazamiento se puede determinar de acuerdo con el valor establecido en la primera información de bandera obtenida.
[Realización 6]
Un procedimiento de descodificación de imágenes en la realización 6 realiza adicionalmente el siguiente proceso. Para ser más específicos, en la obtención de coeficientes cuantificados y primera información de bandera, se obtiene adicionalmente segunda información de bandera, indicando la segunda información de bandera si el valor de desplazamiento para un bloque previamente descodificado adyacente al bloque descodificado o el valor de desplazamiento nuevamente calculado para el bloque descodificado temporal se usa en el proceso de desplazamiento a ejecutar sobre el bloque descodificado temporal (es decir, indicando la segunda información de bandera si es necesario actualizar, o no, el valor de desplazamiento). En la generación del bloque descodificado, el proceso de desplazamiento se ejecuta sobre el bloque descodificado temporal usando el valor de desplazamiento indicado por la segunda información de bandera.
A continuación, se describe una operación realizada por un aparato de procesamiento de imágenes (una unidad de intra predicción de señal de croma) 1000 en la realización 6 de acuerdo con la presente invención.
La figura 19 es un diagrama de bloques que muestra un ejemplo de una configuración detallada del aparato de descodificación de imágenes 1000 en la realización 6.
Como se muestra en la figura 19, el aparato de procesamiento de imágenes 1000 incluye una unidad de descodificación de longitud variable 1010, una unidad de obtención de señal residual 1020, una unidad de generación de señal de croma intra predicha 1030, una unidad de generación de señal de croma descodificada temporal 1040, una unidad de adición de valor de desplazamiento 1060 y una unidad de obtención de información de unidad de desplazamiento 1070. Más específicamente, en comparación con el aparato de procesamiento de imágenes 800 mostrado en la figura 15, el aparato de procesamiento de imágenes 1000 incluye adicionalmente la unidad de obtención de información de unidad de desplazamiento 1070. Los otros componentes de la unidad de procesamiento de imágenes 1000 son idénticos a los componentes correspondientes del aparato de procesamiento de imágenes 800 y, por lo tanto, en el presente caso no se repiten explicaciones detalladas de estos componentes. Se omiten las descripciones de los componentes que se incluyen en el aparato de procesamiento de imágenes 1000 e idénticos a los componentes correspondientes incluidos en el aparato de procesamiento de imágenes 800 en la realización 4. Por lo tanto, se describe la unidad de obtención de información de unidad de desplazamiento 1070 que es una diferencia entre el aparato de procesamiento de imágenes 1000 y el aparato de procesamiento de imágenes 800. El aparato de procesamiento de imágenes 1000 en la realización 6 permite que el proceso de desplazamiento se realice sobre una pluralidad de bloques vecinos usando el mismo valor de desplazamiento.
A continuación, se describe la intra predicción de señal de croma realizada por el aparato de procesamiento de imágenes 1000. La figura 20 es un diagrama de flujo que muestra intra predicción de señal de croma de acuerdo con el procedimiento de descodificación de imágenes en la realización 6. En el presente caso no se repiten explicaciones detalladas acerca de procesos que son idénticos a los procesos correspondientes explicados en la realización 4 con referencia a la figura 16. Por lo tanto, se describen principalmente la etapa S10001 y las etapas S10005 a S10007 en la figura 20.
En la etapa S10001, la unidad de descodificación de longitud variable 1010 obtiene coeficientes cuantificados, un modo de intra predicción e información de unidad de desplazamiento al realizar descodificación de longitud variable sobre el flujo de bits, y emite los coeficientes cuantificados obtenidos, modo de intra predicción e información de unidad de desplazamiento a la unidad de obtención de señal residual 1020, la unidad de generación de señal de croma intra predicha 1030, la unidad de obtención de información de unidad de desplazamiento 1070, y la unidad de adición de valor de desplazamiento 1060. La información de unidad de desplazamiento se refiere a información acerca de si, en un área A que incluye una pluralidad de bloques, se usa el mismo valor de desplazamiento para todos los bloques o se usa un valor de desplazamiento diferente para cada uno de los bloques.
A continuación, en la etapa S10005, la unidad de obtención de información de unidad de desplazamiento 1070 verifica, a partir de la información de unidad de desplazamiento, si es necesario actualizar, o no, el valor de desplazamiento y emite el resultado a la unidad de descodificación de longitud variable 1010. Cuando se usa el mismo valor de desplazamiento para todos los bloques del área A, el valor de desplazamiento se actualiza solo cuando se completa el proceso de desplazamiento para todos los bloques del área A. Por otro lado, cuando se usa un valor de desplazamiento diferente para cada uno de los bloques del área A, el valor de desplazamiento se actualiza para cada uno de los bloques.
Cuando es necesario actualizar el valor de desplazamiento, la unidad de descodificación de longitud variable 1010 obtiene el valor de desplazamiento al realizar descodificación de longitud variable sobre el flujo de bits y emite el valor de desplazamiento obtenido a la unidad de adición de valor de desplazamiento 1060 en la etapa S10006. En el presente caso, el valor de desplazamiento se calcula cuando se realiza intra predicción en el momento de la codificación.
A continuación, en la etapa S10007, la unidad de adición de valor de desplazamiento 1060 genera una señal de croma descodificada al añadir el valor de desplazamiento a la señal de croma descodificada temporal.
Como resultado, el valor de desplazamiento de un área más grande que un bloque se puede codificar mediante una operación. Esto puede moderar un aumento en el número de bits de la señal codificada y también moderar la distorsión de color de la señal de croma descodificada.
Se debería hacer notar que el proceso de desplazamiento anteriormente mencionado también se puede realizar sobre la señal de luma de la misma forma. Como resultado, se puede obtener asimismo una señal de imagen codificada más cerca en luma a la señal de entrada.
La figura 22 es un diagrama que muestra un ejemplo en el que la realización 6 de acuerdo con la presente invención se muestra como una sintaxis basándose en la norma de HEVC (véase la referencia no de patente 3). Cuando se codifica una señal de imagen en el formato YUV, valores de desplazamiento de las componentes U y V se descodifican para cada árbol de codificación (un grupo de unidades de codificación) en el caso de una rebanada I, después de que se haya descodificado el modo de intra predicción de la señal de croma.
[Realización 7]
El procesamiento descrito en cada una de las realizaciones puede implementarse simplemente en un sistema informático independiente, grabando, en un medio de grabación, un programa para que implementa las configuraciones del procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y el procedimiento de descodificación de instantáneas en movimiento (procedimiento de descodificación de imágenes) descritos en cada una de las realizaciones. El medio de grabación puede ser cualquier medio de grabación siempre que el programa pueda grabarse, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta de Ci, y una memoria de semiconductores.
Posteriormente en el presente documento, se describirán las aplicaciones al procedimiento de codificación de instantáneas en movimiento (procedimiento de codificación de imágenes) y al procedimiento de descodificación de instantáneas en movimiento (procedimiento de descodificación de imágenes) descritos en cada una de las realizaciones, y sistemas que usan los mismos. El sistema tiene una característica de tener un aparato de codificación y de descodificación de imágenes que incluye un aparato de codificación de imágenes que usa el procedimiento de codificación de imágenes y un aparato de descodificación de imágenes que usa el procedimiento de descodificación de imágenes. Pueden cambiarse otras configuraciones en el sistema según sea apropiado, dependiendo de los casos.
La figura 23 ilustra una configuración general de un sistema de provisión de contenido ex100 para la implementación de servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células de tamaño deseado, y las estaciones base ex106, ex107, ex108, ex109 y ex110 que son estaciones inalámbricas fijas se colocan en cada una de las células.
El sistema de provisión de contenido ex100 está conectado a dispositivos, tales como a un ordenador ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una máquina de juegos ex115, mediante Internet ex101, un proveedor de servicios de Internet ex102, una red de telefonía ex104, así como a las estaciones base ex106 a ex110, respectivamente.
Sin embargo, la configuración del sistema de provisión de contenido ex100 no se limita a la configuración mostrada en la figura 23, y es aceptable una combinación en la que está conectado cualquiera de los elementos. Además, cada dispositivo puede estar directamente conectado a la red de telefonía ex104, en lugar de mediante las estaciones base ex106 a ex110 que son las estaciones inalámbricas fijas. Adicionalmente, los dispositivos pueden interconectarse entre sí mediante una comunicación inalámbrica de corta distancia y otras.
La cámara ex113, tal como una cámara de vídeo digital, puede capturar vídeo. Una cámara ex116, tal como una cámara digital, puede capturar tanto imágenes fijas como vídeo. Adicionalmente, el teléfono celular ex114 puede ser el que cumple cualquiera de las normas tales como el Sistema Global para Comunicación Móvil (GSM) (marca registrada), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Evolución a Largo Plazo (LTE) y Acceso por Paquetes a Alta Velocidad (HSPA). Como alternativa, el teléfono celular ex114 puede ser un Sistema Móvil Personal (PHS).
En el sistema de provisión de contenido ex100, un servidor de envío por flujo continuo ex103 está conectado a la cámara ex113 y a otros mediante la red de telefonía ex104 y la estación base ex109, que posibilita la distribución de imágenes de un espectáculo en directo y otros. En una distribución de este tipo, un contenido (por ejemplo, vídeo de un espectáculo en directo de música) capturado por el usuario que usa la cámara ex113 se codifica como se ha descrito anteriormente en cada una de las realizaciones (es decir, la cámara funciona como el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención), y el contenido codificado se transmite al servidor de flujo continuo ex103. Por otra parte, el servidor de flujo continuo ex103 lleva a cabo distribución de flujo en los datos de contenido transmitidos a los clientes tras sus solicitudes. Los clientes incluyen el ordenador ex111, el PDA ex112, la cámara ex113, el teléfono celular ex114, y la máquina de juegos ex115 que pueden descodificar los datos codificados anteriormente mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos descodifican y reproducen los datos codificados (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados pueden codificarse por la cámara ex113 o el servidor de flujo continuo ex103 que transmite los datos, o los procedimientos de codificación pueden compartirse entre la cámara ex113 y el servidor de flujo continuo ex103. De manera similar, los datos distribuidos pueden descodificarse por los clientes o el servidor de flujo continuo ex103, o los procedimientos de descodificaciones pueden compartirse entre los clientes y el servidor de flujo continuo ex103. Adicionalmente, los datos de las imágenes fijas y el vídeo capturado no únicamente por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor de flujo continuo ex103 a través del ordenador ex111. Los procedimientos de codificación pueden realizarse por la cámara ex116, el ordenador ex111, o el servidor de flujo continuo ex103, o compartirse entre ellos.
Adicionalmente, los procedimientos de codificación y descodificación pueden realizarse por un LSI ex500 generalmente incluido en cada uno del ordenador ex111 y los dispositivos. El LSI ex500 puede estar configurado de un único chip o una pluralidad de chips. El software para codificar y descodificar vídeo puede estar integrado en algún tipo de un medio de grabación (tal como un CD-ROM, un disco flexible y un disco duro) que es legible por el ordenador ex111 y otros, y los procedimientos de codificación y descodificación pueden realizarse usando el software. Adicionalmente, cuando el teléfono celular ex114 está equipado con una cámara, los datos de vídeo obtenidos por la cámara pueden transmitirse. Los datos de vídeo son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Adicionalmente, el servidor de flujo continuo ex103 puede estar compuesto por servidores y ordenadores, y puede descentralizar los datos y procesar los datos descentralizados, registrar o distribuir los datos.
Como se ha descrito anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de provisión de contenido ex100. En otras palabras, los clientes pueden recibir y descodificar información transmitida por el usuario, y reproducir los datos descodificados en tiempo real en el sistema de provisión de contenido ex100, de modo que el usuario que no tiene ningún derecho y equipo particular puede implementar difusión personal.
Además del ejemplo del sistema de provisión de contenido ex100, al menos uno del aparato de codificación de instantáneas en movimiento (aparato de codificación de imágenes) y el aparato de descodificación de instantáneas en movimiento (aparato de descodificación de imágenes) descritos en cada una de las realizaciones pueden implementarse en un sistema de difusión digital ex200 ilustrado en la figura 24. Más específicamente, una estación de difusión ex201 comunica o transmite mediante ondas de radio a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo. Los datos de vídeo son datos codificados por el procedimiento de codificación de instantáneas en movimiento descrito en cada una de las realizaciones (es decir, datos codificados por el aparato de codificación de imágenes de acuerdo con un aspecto de la presente invención). Tras la recepción de los datos multiplexados, el satélite de difusión ex202 transmite ondas de radio para difusión. A continuación, una antena de uso doméstico ex204 con una función de recepción de difusión por satélite recibe las ondas de radio. A continuación, un dispositivo tal como una televisión (receptor) ex300 y un descodificador de salón (STB) ex217 descodifica los datos multiplexados recibidos, y reproduce los datos descodificados (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con un aspecto de la presente invención).
Adicionalmente, un lector/grabador ex218 (i) lee y descodifica los datos multiplexados grabados en un medio de grabación ex215, tal como un DVD y un BD, o (i) codifica señales de vídeo en el medio de grabación ex215, y en algunos casos, escribe datos obtenidos multiplexando una señal de audio en los datos codificados. El lector/grabador ex218 puede incluir el aparato de descodificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se visualizan en el monitor ex219, y pueden reproducirse por otro dispositivo o sistema usando el medio de grabación ex215 en el que se graban los datos multiplexados. Es también posible implementar el aparato de descodificación de instantáneas en movimiento en el descodificador de salón ex217 conectado al cable ex203 para una televisión por cable o a la antena ex204 para difusión por satélite y/o terrestre, para visualizar las señales de vídeo en el monitor ex219 de la televisión ex300. El aparato de descodificación de instantáneas en movimiento puede implementarse no en el descodificador de salón sino en la televisión ex300.
La figura 25 ilustra la televisión (receptor) ex300 que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento descritos en cada una de las realizaciones. La televisión ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando datos de audio a datos de vídeo, a través de la antena ex204 o el cable ex203, etc. que recibe una difusión; una unidad de modulación/desmodulación ex302 que desmodula los datos multiplexados recibidos o modula datos en datos multiplexados a suministrarse al exterior; y una unidad de multiplexación/desmultiplexación ex303 que desmultiplexa los datos multiplexados modulados en datos de vídeo y datos de audio, o multiplexa datos de vídeo y datos de audio codificados por una unidad de procesamiento de señal en datos ex306.
La televisión ex300 incluye adicionalmente: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de vídeo ex305 que descodifican datos de audio y datos de vídeo y codifican datos de audio y datos de vídeo, respectivamente (que funciona como el aparato de codificación de imágenes y el aparato de descodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio descodificada, y una unidad de visualización ex308 que visualiza la señal de vídeo descodificada, tal como una pantalla. Adicionalmente, la televisión ex300 incluye una unidad de interfaz ex317 que incluye una unidad de entrada de operación ex312 que recibe una entrada de una operación de usuario. Adicionalmente, la televisión ex300 incluye una unidad de control ex310 que controla de manera global cada elemento constituyente de la televisión ex300, y una unidad de circuito de fuente de alimentación ex311 que suministra potencia a cada uno de los elementos. Además de la unidad de entrada de operación ex312, la unidad de interfaz ex317 puede incluir: un puente ex313 que se conecta a un dispositivo externo, tal como el lector/grabador ex218; una unidad de ranura ex314 para posibilitar la conexión del medio de grabación ex216, tal como una tarjeta de SD; un controlador ex315 para conectarse a un medio de grabación externo, tal como un disco duro; y un módem ex316 para conectarse a una red de telefonía. En este punto, el medio de grabación ex216 puede grabar eléctricamente información usando un elemento de memoria de semiconductores no volátil/volátil para almacenamiento. Los elementos constituyentes de la televisión ex300 están conectados entre sí a través de un bus síncrono.
En primer lugar, se describirá la configuración en la que la televisión ex300 descodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos descodificados. En la televisión ex300, después de la operación de un usuario a través de un controlador remoto ex220 y otros, la unidad de multiplexación/desmultiplexación ex303 desmultiplexa los datos multiplexados desmodulados por la unidad de modulación/desmodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Adicionalmente, la unida ex304 de procesamiento de señal de audio descodifica los datos de audio desmultiplexados, y la unidad de procesamiento de señal de vídeo ex305 descodifica los datos de vídeo desmultiplexados, usando el procedimiento de descodificación descrito en cada una de las realizaciones, en la televisión ex300. La unidad de salida ex309 proporciona la señal de vídeo descodificada y la señal de audio al exterior, respectivamente. Cuando la unidad de salida ex309 proporciona la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias intermedias ex318 y ex319, y otros de modo que las señales se reproducen en sincronización entre sí. Adicionalmente, la televisión ex300 puede leer datos multiplexados no a través de una difusión y otros sino desde el medio de grabación ex215 y ex216, tal como un disco magnético, un disco óptico, y una tarjeta de SD. A continuación, se describirá una configuración en la que la televisión ex300 codifica una señal de audio y una señal de vídeo, y transmite los datos al exterior o escribe los datos en un medio de grabación. En la televisión ex300, después de una operación de usuario a través del controlador remoto ex220 y otros, la unidad de procesamiento de señal de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señal de vídeo ex305 codifica una señal de vídeo, bajo el control de la unidad de control ex310 usando el procedimiento de codificación descrito en cada una de las realizaciones. La unidad de multiplexación/desmultiplexación ex303 multiplexa la señal de vídeo y la señal de audio codificadas, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexación/desmultiplexación ex303 multiplexa la señal de vídeo y la señal de audio, las señales pueden almacenarse temporalmente en las memorias intermedias ex320 y ex321, y otros de modo que las señales se reproducen en sincronización entre sí. En este punto, las memorias intermedias ex318, ex319, ex320 y ex321 pueden ser varias como se ilustra, o al menos una memoria intermedia puede compartirse en la televisión ex300. Adicionalmente, se pueden almacenar datos en una memoria intermedia de modo que puede evitarse el desbordamiento y subdesbordamiento del sistema entre la unidad de modulación/desmodulación ex302 y la unidad de multiplexación/desmultiplexación ex303, por ejemplo.
Adicionalmente, la televisión ex300 puede incluir una configuración para recibir una entrada de AV desde un micrófono o una cámara distinta de la configuración para obtener datos de audio y de vídeo desde una difusión o de un medio de grabación, y puede codificar los datos obtenidos. Aunque la televisión ex300 puede codificar, multiplexar y proporcionar datos al exterior en la descripción, puede únicamente recibir, descodificar y proporcionar datos al exterior pero no codificar, multiplexar y proporcionar datos al exterior.
Adicionalmente, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabación, una de la televisión ex300 y el lector/grabador ex218 pueden descodificar o codificar los datos multiplexados, y la televisión ex300 y el lector/grabador ex218 puede compartir la descodificación o codificación.
Como un ejemplo, la figura 26 ilustra una configuración de una unidad de reproducción/grabación de información ex400 cuando se leen o escriben datos desde o en un disco óptico. La unidad de reproducción/grabación de información ex400 incluye los elementos constituyentes ex401, ex402, ex403, ex404, ex405, ex406 y ex407 que se describen en lo sucesivo. El cabezal óptico ex401 irradia un punto láser en una superficie de grabación del medio de grabación ex215 que es un disco óptico para escribir información, y detecta luz reflejada desde la superficie de grabación del medio de grabación ex215 para leer la información. La unidad de grabación de modulación ex402 acciona eléctricamente un láser de semiconductores incluido en el cabezal óptico ex401, y modula la luz de láser de acuerdo con datos grabados. La unidad de desmodulación de reproducción ex403 amplifica una señal de reproducción obtenida detectando eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y desmodula la señal de reproducción separando un componente de señal grabado en el medio de grabación ex215 para reproducir la información necesaria. La memoria intermedia ex404 mantiene temporalmente la información a grabarse en el medio de grabación ex215 y la información reproducida desde el medio de grabación ex215. El motor de disco ex405 gira el medio de grabación ex215. La unidad de servocontrol ex406 mueve el cabezal óptico ex401 a una pista de información predeterminada mientras controla el mecanismo de rotación del motor de disco ex405 para seguir el punto láser. La unidad de control de sistema ex407 controla la totalidad de la unidad de reproducción/grabación de información ex400. Los procedimientos de lectura y escritura pueden implementarse por la unidad de control de sistema ex407 usando diversa información almacenada en la memoria intermedia ex404 y generando y añadiendo nueva información según sea necesaria, y por la unidad de grabación de modulación ex402, la unidad de desmodulación de reproducción ex403, y la unidad de servocontrol ex406 que graban y reproducen información a través del cabezal óptico ex401 mientras se operan de una manera coordinada. La unidad de control de sistema ex407 incluye, por ejemplo, un microprocesador y ejecuta procesamiento provocando que un ordenador ejecute un programa para lectura y escritura.
Aunque el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar grabación de alta densidad usando luz de campo cercano.
La figura 27 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, se forman de manera espiral surcos de guía, y una pista de información ex230 graba, con antelación, información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio en una forma de las ranuras de guía. La información de dirección incluye información para determinar posiciones de bloques de grabación ex231 que son una unidad para grabar datos. Reproducir la pista de información ex230 y leer la información de dirección en un aparato que graba y reproduce datos puede conducir a la determinación de las posiciones de los bloques de grabación. Adicionalmente, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interna ex232, y un área de circunferencia externa ex234. El área de grabación de datos ex233 es un área para su uso al grabar los datos de usuario. El área de circunferencia interna ex232 y el área de circunferencia externa ex234 que están en el interior y el exterior del área de grabación de datos ex233, respectivamente son para uso específico excepto para la grabación de los datos de usuario. La unidad de reproducción/grabación de información 400 lee y escribe datos de audio codificado, datos de vídeo codificado, o datos multiplexados obtenidos multiplexando los datos de audio y vídeo codificados, desde y en el área de grabación de datos ex233 del medio de grabación ex215.
Aunque se describe un disco óptico que tiene una capa, tal como un DVD y un BD como un ejemplo en la descripción, el disco óptico no se limita a esto, y puede ser un disco óptico que tiene una estructura de múltiples capas y que puede grabarse en una parte distinta de la superficie. Adicionalmente, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabación de información usando luz de colores con diferentes longitudes de onda en la misma porción del disco óptico y para grabar información que tiene diferentes capas desde diferentes ángulos.
Adicionalmente, un coche ex210 que tiene una antena ex205 puede recibir datos desde el satélite ex202 y otros, y reproducir vídeo en un dispositivo de visualización tal como un sistema de navegación de coche ex211 establecido en el coche ex210, en el sistema de difusión digital ex200. En este punto, una configuración del sistema de navegación de automóvil ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS a partir de la configuración ilustrada en la figura 25. Lo mismo se cumplirá para la configuración del ordenador ex111, el teléfono celular ex114, y otros.
La figura 28A ilustra el teléfono celular ex114 que usa el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento descritos en las realizaciones. El teléfono celular ex114 incluye: una antena ex350 para transmitir y recibir ondas de radio a través de la estación base ex110; una unidad de cámara ex365 capaz de capturar imágenes en movimiento y fijas; y una unidad de visualización ex358 tal como un visualizador de cristal líquido para visualizar datos tales como vídeo descodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 incluye adicionalmente: una unidad de cuerpo principal que incluye una unidad de teclas de operación ex366; una unidad de salida de audio ex357 tal como un altavoz para la salida de audio; una unidad de entrada de audio ex356 tal como un micrófono para la entrada de audio; una unidad de memoria ex367 para almacenar vídeo capturado o instantáneas fijas, audio grabado, datos codificados o des codificados del vídeo recibido, las instantáneas fijas, correos electrónicos, u otros; y una unidad de ranura ex364 que es una unidad de interfaz para un medio de grabación que almacena datos de la misma forma que la unidad de memoria ex367.
A continuación, un ejemplo de una configuración del teléfono celular ex114 se describirá con referencia a la figura 28B. En el teléfono celular ex114, una unidad de control principal ex360 diseñada para controlar en general cada unidad del cuerpo principal que incluye la unidad de visualización ex358 así como la unidad de teclas de operación ex366 se conecta mutuamente, a través de un bus síncrono ex370, a una unidad de circuito de fuente de alimentación ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de vídeo ex355, una unidad de interfaz de cámara ex363, una unidad de control de pantalla de cristal líquido (LCD) ex359, una unidad de modulación/desmodulación ex352, una unidad de multiplexación/desmultiplexación ex353, una unidad de procesamiento de señales de audio ex354, la unidad de ranura ex364 y la unidad de memoria ex367. Cuando una tecla de fin de llamada o una tecla de alimentación es activada por una operación de un usuario, la unidad de circuito de fuente de alimentación ex361 abastece a las unidades respectivas con alimentación procedente de un paquete de batería con el fin de activar el teléfono celular ex114.
En el teléfono celular ex114, la unidad de procesamiento de señales de audio ex354 convierte las señales de audio recogidas por la unidad de entrada de audio ex356 en modo de conversación por voz en señales de audio digital bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM y RAM. Entonces, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro ensanchado sobre las señales de audio digital, y la unidad de transmisión y de recepción ex351 realiza una conversión de analógico a digital y una conversión en frecuencia sobre los datos, con el fin de transmitir los datos resultantes por medio de la antena ex350. Asimismo, en el teléfono celular ex114, la unidad de transmisión y de recepción ex351 amplifica los datos recibidos por la antena ex350 en modo de conversación por voz y realiza la conversión en frecuencia y la conversión de digital a analógico sobre los datos. Entonces, la unidad de modulación/desmodulación ex352 realiza un procesamiento de espectro ensanchado inverso sobre los datos, y la unidad de procesamiento de señales de audio ex354 los convierte en señales de audio analógico, con el fin de emitir las mismas por medio de la unidad de salida de audio ex357. Además, cuando se transmite un correo electrónico en modo de comunicación de datos, datos de texto del correo electrónico introducido al operar la unidad de teclas de operación ex366 y otros del cuerpo principal se envían fuera a la unidad de control principal ex360 por medio de la unidad de control de entrada de operación ex362. La unidad de control principal ex360 da lugar a que la unidad de modulación/desmodulación ex352 realice un procesamiento de espectro ensanchado sobre los datos de texto, y la unidad de transmisión y de recepción ex351 realiza la conversión de analógico a digital y la conversión en frecuencia sobre los datos resultantes para transmitir los datos a la estación base ex110 por medio de la antena ex350. Cuando se recibe un correo electrónico, un procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico se realiza sobre los datos recibidos, y los datos resultantes se proporcionan a la unidad de visualización ex358.
Cuando se transmite o transmiten vídeo, imágenes fijas o vídeo y audio en modo de comunicación de datos, la unidad de procesamiento de señales de vídeo ex355 comprime y codifica señales de vídeo suministradas desde la unidad de cámara ex365 usando el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de codificación de imágenes de acuerdo con el aspecto de la presente invención), y transmite los datos de vídeo codificados a la unidad de multiplexación/desmultiplexación ex353. En contraposición, durante cuando la unidad de cámara ex365 captura vídeo, imágenes fijas, y otros, la unidad de procesamiento de señales de audio ex354 codifica las señales de audio recogidas por la unidad de entrada de audio ex356, y transmite los datos de audio codificados a la unidad de multiplexación/desmultiplexación ex353.
La unidad de multiplexación/desmultiplexación ex353 multiplexa los datos de vídeo codificados suministrados desde la unidad de procesamiento de señales de vídeo ex355 y los datos de audio codificados suministrados desde la unidad de procesamiento de señales de audio ex354, usando un procedimiento predeterminado. Entonces, la unidad de modulación/desmodulación (unidad de circuito de modulación/desmodulación) ex352 realiza un procesamiento de espectro ensanchado sobre los datos multiplexados, y la unidad de transmisión y de recepción ex351 realiza una conversión de analógico a digital y una conversión en frecuencia sobre los datos con el fin de transmitir los datos resultantes por medio de la antena ex350.
Cuando se reciben datos de un archivo de vídeo que está vinculado a una página web y otros en modo de comunicación de datos o cuando se recibe un correo electrónico con vídeo y/o audio adjunto, para descodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexación/desmultiplexación ex353 desmultiplexa los datos multiplexados en un flujo de bits de datos de vídeo y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de vídeo ex355 los datos de vídeo codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través del bus síncrono ex370. La unidad de procesamiento de señales de vídeo ex355 descodifica la señal de vídeo usando un procedimiento de descodificación de instantáneas en movimiento que se corresponde con el procedimiento de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de descodificación de imágenes de acuerdo con el aspecto de la presente invención) y, entonces, la unidad de visualización ex358 visualiza, por ejemplo, el vídeo y las imágenes fijas incluidos en el archivo de vídeo vinculado a la página Web por medio de la unidad de control de LCD ex359. Además, la unidad de procesamiento de señales de audio ex354 descodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Adicionalmente, de manera similar a la televisión ex300, un terminal tal como el teléfono celular ex114 probablemente tiene 3 tipos de configuraciones de implementación que incluyen no únicamente (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de descodificación, sino también (ii) un terminal de transmisión que incluye únicamente un aparato de codificación y (iii) un terminal de recepción que incluye únicamente un aparato de descodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos multiplexando datos de audio en datos de vídeo en la descripción, los datos multiplexados pueden ser datos obtenidos multiplexando no datos de audio sino datos de caracteres relacionados con vídeo en datos de vídeo, y pueden no ser datos multiplexados sino los mismos datos de vídeo. En este sentido, el procedimiento de codificación de instantáneas en movimiento y el procedimiento de descodificación de instantáneas en movimiento en cada una de las realizaciones se pueden usar en cualquiera de los dispositivos y sistemas descritos. Por lo tanto, se pueden obtener las ventajas descritas en cada una de las realizaciones.
Además, la presente invención no se limita a las realizaciones, y son posibles diversas modificaciones y revisiones sin apartarse del ámbito de la presente invención.
[Realización 8]
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento mostrados en cada una de realizaciones y (ii) un procedimiento de codificación de instantáneas en movimiento o un aparato de codificación de instantáneas en movimiento cumpliendo con una norma diferente, tal como MPEG-2, AVC de MPEG-4 y VC-1. En este punto, cuando se genera una pluralidad de datos de vídeo que cumple con las diferentes normas y se descodifican a continuación, necesitan seleccionarse los procedimientos de descodificación para cumplir con las diferentes normas. Sin embargo, puesto que no puede detectarse a qué norma está conforme cada uno de la pluralidad de los datos de vídeo a descodificarse, existe un problema de que no puede seleccionarse un procedimiento de descodificación apropiado.
Para resolver el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de vídeo tienen una estructura que incluye información de identificación que indica con qué norma cumplen los datos de vídeo. Se describirá en lo sucesivo la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento y por el aparato de codificación de instantáneas en movimiento mostrados en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de Flujo de Transporte de MPEG-2.
La figura 29 ilustra una estructura de los datos multiplexados. Como se ilustra en la figura 29, los datos multiplexados pueden obtenerse multiplexando al menos uno de un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación (PG), y un flujo de gráficos interactivo. El flujo de vídeo representa vídeo primario y vídeo secundario de una película, el flujo de audio (IG) representa una parte de audio primario y una parte de audio secundario a mezclarse con la parte de audio primario, y el flujo de gráficos de presentación representa subtítulos de la película. En este punto, el vídeo primario es vídeo normal a visualizarse en una pantalla, y el vídeo secundario es vídeo a visualizarse en una ventana más pequeña en el vídeo primario. Adicionalmente, el flujo de gráficos interactivo representa una pantalla interactiva a generarse disponiendo los componentes de la GUI en una pantalla. El flujo de vídeo se codifica en el procedimiento de codificación de instantáneas en movimiento o por el aparato de codificación de instantáneas en movimiento mostrado en cada una de las realizaciones, o en un procedimiento de codificación de instantáneas en movimiento o por un aparato de codificación de instantáneas en movimiento cumpliendo con una norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1. El flujo de audio se codifica de acuerdo con una norma, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica por PID. Por ejemplo, se asigna 0x1011 al flujo de vídeo a usar para vídeo de una película, se asigna 0x1100 a 0x111F a los flujos de audio, se asigna 0x1200 a 0x121F al flujo de gráficos de presentación, se asigna 0x1400 a 0x141F al flujo de gráficos interactivo, se asigna 0x1B00 a 0x1B1F a los flujos de vídeo a usar para vídeo secundario de la película, y se asigna 0x1A00 a 0x1A1F a los flujos de audio a usar para el audio secundario a mezclarse con el audio principal.
La figura 30 ilustra esquemáticamente cómo se multiplexan datos. En primer lugar, un flujo de vídeo ex235 compuesto por tramas de vídeo y un flujo de audio ex238 compuesto por tramas de audio se transforman en un flujo de paquetes de PES ex236 y un flujo de paquetes de PES ex239, y adicionalmente en paquetes de TS ex237 y paquetes de TS ex240, respectivamente. De manera similar, los datos de un flujo de gráficos de presentación ex241 y los datos de un flujo de gráficos interactivo ex244 se transforman en un flujo de paquetes de PES ex242 y un flujo de paquetes de PES ex245, y adicionalmente en paquetes de TS ex243 y paquetes de TS ex246, respectivamente. Estos paquetes de TS se multiplexan en un flujo para obtener datos multiplexados ex247.
La figura 31 ilustra cómo se almacena un flujo de vídeo en un flujo de paquetes de PES en más detalle. La primera barra en la figura 31 muestra un flujo de tramas de vídeo en un flujo de vídeo. La segunda barra muestra el flujo de paquetes de PES. Como se indica por las flechas indicadas como yy1, yy2, yy3 y yy4 en la figura 31, el flujo de vídeo se divide en instantáneas como instantáneas I, instantáneas B e instantáneas P cada una de las cuales es una unidad de presentación de vídeo, las instantáneas se almacenan en una cabida útil de cada uno de los paquetes de PES. Cada uno de los paquetes de PES tiene un encabezamiento de PES, y el encabezamiento de PES almacena una Indicación de Tiempo de Presentación (PTS) que indica un tiempo de visualización de la instantánea, y una Indicación de Tiempo de descodificación (DTS) que indica un tiempo de descodificación de la instantánea.
La figura 32 ilustra un formato de paquetes de TS a escribir finalmente en los datos multiplexados. Cada uno de los paquetes de TS es un paquete de longitud fija de 188 bytes que incluye un encabezamiento de TS de 4 bytes que tiene información, tal como un PID para identificar un flujo y una cabida útil de TS de 184 bytes para almacenar datos. Los paquetes de PES se dividen y se almacenan en las cabidas útiles de TS, respectivamente. Cuando se usa un BD ROM, a cada uno de los paquetes de TS se le proporciona un TP_Encabezamiento_Adicional de 4 bytes, dando como resultado por lo tanto paquetes de origen de 192 bytes. Los paquetes de origen se escriben en los datos multiplexados. El TP_Encabezamiento_Adicional almacena información tal como una Indicación_Tiempo_Llegada (ATS). La ATS muestra un tiempo de inicio de transferencia en el que se ha de transferir cada uno de los paquetes de TS a un filtro de PID. Los paquetes de origen se disponen en los datos multiplexados como se muestra en la parte inferior de la figura 32. Los números que incrementan desde la cabecera de los datos multiplexados se denominan números de paquete de origen (SPN).
Cada uno de los paquetes de TS incluidos en los datos multiplexados incluye no únicamente flujos de audio, vídeo, subtítulos y otros, sino también una Tabla de Asociación de Programa (PAT), una Tabla de Mapa de Programa (PMT), y una Referencia de Reloj de Programa (PCR). La PAT muestra qué indica un PID en una PMT usada en los datos multiplexados, y un PID de la misma PAT se registra como cero. La PMT almacena los PID de los flujos de vídeo, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributo de los flujos que se corresponden con los PID. La PMT también tiene diversos descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si se permite o no el copiado de los datos multiplexados. La PCR almacena información de tiempo de STC que se corresponde con una ATS que muestra cuándo se transfiere el paquete de PCR a un descodificador, para conseguir sincronización entre un Reloj de Tiempo de Llegada (ATC) que es el eje de tiempo de las ATS, y un Reloj de Tiempo de Sistema (STC) que es un eje de tiempo de las PTS y dTs .
La figura 33 ilustra la estructura de datos de la PMT en detalle. Un encabezamiento de PMT está dispuesto en la parte superior de la PMT. El encabezamiento de la PMT describe la longitud de datos incluidos en la PMT y otros. Una pluralidad de descriptores relacionados con los datos multiplexados están dispuestos después del encabezamiento de PMT. La información tal como la información de control de copia se describe en los descriptores. Después de los descriptores, está dispuesta una pluralidad de fragmentos de la información de flujo relacionados con los flujos incluidos en los datos multiplexados. Cada fragmento de la información de flujo incluye descriptores de flujo que cada uno describe información, tal como un tipo de flujo para identificar un códec de compresión de un flujo, un PID de flujo, e información de atributo de flujo (tal como una velocidad de tramas o una relación de aspecto). Los descriptores de flujo son iguales en número al número de flujos en los datos multiplexados.
Cuando los datos multiplexados se graban en un medio de grabación y otros, se registran juntos con ficheros de información de datos multiplexados.
Cada uno de los ficheros de información de datos multiplexados es información de gestión de los datos multiplexados como se muestra en la figura 34. Los ficheros de información de datos multiplexados están en una correspondencia uno a uno con los datos multiplexados, y cada uno de los ficheros incluye información de datos multiplexados, información de atributo de flujo y un mapa de entrada.
Como se ilustra en la figura 34, la información de datos multiplexados incluye una tasa de sistema, un tiempo de inicio de reproducción y un tiempo de fin de reproducción. La velocidad de sistema indica la velocidad de trasferencia máxima a la que un descodificador objetivo de sistema que se va a describir más adelante transfiere los datos multiplexados a un filtro de PID. Los intervalos de las ATS incluidas en los datos multiplexados se establecen para que no sean superiores a una velocidad de sistema. El tiempo de inicio de reproducción indica una PTS en una trama de vídeo en la cabecera de los datos multiplexados. Un intervalo de una trama se añade a una PTS en una trama de vídeo al final de los datos multiplexados, y la PTS se establece al tiempo de fin de reproducción.
Como se muestra en la figura 35, se registra una pieza de información de atributo en la información de atributo de flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada fragmento de información de atributo tiene diferente información dependiendo de si el correspondiente flujo es un flujo de vídeo, un flujo de audio, un flujo de gráficos de presentación, o un flujo de gráficos interactivo. Cada fragmento de información de atributo de flujo de vídeo lleva información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de vídeo, y la resolución, relación de aspecto y velocidad de tramas de los fragmentos de datos de instantánea que se incluyen en el flujo de vídeo. Cada fragmento de información de atributo de flujo de audio lleva información que incluye qué clase de códec de compresión se usa para comprimir el flujo de audio, cuántos canales están incluidos en el flujo de audio, qué idioma soporta el flujo de audio, y cómo de alta es la frecuencia de muestreo. La información de atributo de flujo de vídeo y la información de atributo de flujo de audio se usan para inicialización de un descodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados a usar son de un tipo de flujo incluido en la PMT. Adicionalmente, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributo de flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones incluyen una etapa o una unidad para asignar información única que indica datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo. Con la configuración, los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones pueden distinguirse de los datos de vídeo que se ajustan a otra norma.
Adicionalmente, la figura 36 ilustra las etapas del procedimiento de descodificación de instantáneas en movimiento de acuerdo con la presente realización. En la etapa exS100, el tipo de flujo incluido en la PMT o la información de atributo de flujo de vídeo incluido en la información de datos multiplexados se obtiene desde los datos multiplexados. A continuación, en la etapa exS101, se determina si el tipo de flujo o la información de atributo de flujo de vídeo indica o no que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributo de flujo de vídeo indica que los datos multiplexados se generan por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento en cada una de las realizaciones, en la etapa exS102, se realiza descodificación por el procedimiento de descodificación de instantáneas en movimiento en cada una de las realizaciones. Adicionalmente, cuando el tipo de flujo o la información de atributo de flujo de vídeo indica el cumplimiento de las normas convencionales, tales como MPEG-2, AVC de MPEG-4 y VC-1, en la etapa exS103, se realiza descodificación por un procedimiento de descodificación de instantáneas en movimiento cumpliendo con las normas convencionales.
En este sentido, asignar un nuevo valor único al tipo de flujo o la información de atributo de flujo de vídeo posibilita la determinación de si el procedimiento de descodificación de instantáneas en movimiento o el aparato de descodificación de instantáneas en movimiento que se describen en cada una de las realizaciones puede realizar o no la descodificación. Incluso cuando se introducen datos multiplexados que se ajustan a una norma diferente, puede seleccionarse un procedimiento o aparato de descodificación apropiado. Por lo tanto, se hace posible descodificar información sin error alguno. Adicionalmente, el procedimiento o aparato de codificación de instantáneas en movimiento, o el procedimiento o aparato de descodificación de instantáneas en movimiento en la presente realización se puede usar en los dispositivos y sistemas anteriormente descritos.
[Realización 9]
Cada uno del procedimiento de codificación de instantáneas en movimiento, el aparato de codificación de instantáneas en movimiento, el procedimiento de descodificación de instantáneas en movimiento, y el aparato de descodificación de instantáneas en movimiento en cada una de las realizaciones se consigue típicamente en forma de un circuito integrado o un circuito Integrado a Gran Escala (LSI). Como un ejemplo del LSI, la figura 37 ilustra una configuración del LSI ex500 que se hace en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, y ex509 que se van a describir a continuación, y los elementos están conectados entre sí a través de un bus ex510. La unidad de circuito de fuente de alimentación ex505 se activa suministrando a cada uno de los elementos con potencia cuando se activa la unidad de circuito de fuente de alimentación ex505.
Por ejemplo, cuando se realiza codificación, el LSI ex500 recibe una señal de AV desde un micrófono ex117, una cámara ex113, y otros a través de una ES de AV ex509 bajo el control de una unidad de control ex501 que incluye una CPU ex502, un controlador de memoria ex503, un controlador de flujo ex504, y una unidad de control de frecuencia de accionamiento ex512. La señal de AV recibida se almacena temporalmente en una memoria externa ex511, tal como una SDRAM. Bajo el control de la unidad de control ex501, los datos almacenados se segmentan en porciones de datos de acuerdo con la cantidad de procesamiento y velocidad a transmitir a una unidad de procesamiento de señal ex507. A continuación, la unidad de procesamiento de señal ex507 codifica una señal de audio y/o una señal de vídeo. En este punto, la codificación de la señal de vídeo es la codificación descrita en cada una de las realizaciones. Adicionalmente, la unidad de procesamiento de señal ex507 multiplexa en ocasiones los datos de audio codificados y los datos de vídeo codificados, y una ES de flujo ex506 proporciona los datos multiplexados al exterior. Los datos multiplexados proporcionados se transmiten a la estación base ex107, o se escriben en el medio de grabación ex215. Cuando se multiplexan conjuntos de datos, los datos deberían almacenarse temporalmente en la memoria intermedia ex508 de modo que los conjuntos de datos se sincronizan entre sí.
Aunque la memoria ex511 es un elemento fuera del LSI ex500, puede incluirse en el LSI ex500. La memoria intermedia ex508 no se limita a una memoria intermedia, sino que puede estar compuesta por memorias intermedias. Adicionalmente, el LSI ex500 puede estar fabricado en un chip o una pluralidad de chips.
Adicionalmente, aunque la unidad de control ex501 incluye la CPU ex502, el controlador de memoria ex503, el controlador de flujo ex504, la unidad de control de frecuencia de accionamiento ex512, la configuración de la unidad de control ex501 no se limita a esto. Por ejemplo, la unidad de procesamiento de señal ex507 puede incluir adicionalmente una CPU. La inclusión de otra CPU en la unidad de procesamiento de señal ex507 puede mejorar la velocidad de procesamiento. Adicionalmente, como otro ejemplo, la CPU ex502 puede servir como o ser una parte de la unidad de procesamiento de señal ex507, y, por ejemplo, puede incluir una unidad de procesamiento de señal de audio. En un caso de este tipo, la unidad de control ex501 incluye la unidad de procesamiento de señal ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señal ex507.
El nombre usado en el presente documento es LSI, pero puede denominarse también CI, sistema LSI, súper LSI o ultra LSI dependiendo del grado de integración.
Además, las maneras para conseguir la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general y así sucesivamente pueden conseguir también la integración. El Campo de Matriz de Puertas Programables (FPGA) que puede programarse después de la fabricación de LSI o un procesador reconfigurable que permite la re-configuración de la conexión o configuración de un LSI puede usarse para el mismo fin.
En el futuro, con el avance de la tecnología de semiconductores, una tecnología nueva puede sustituir la LSI. Los bloques funcionales pueden integrarse usando una tecnología de este tipo. La posibilidad es que la presente invención se aplique a biotecnología.
[Realización 10]
Cuando se descodifican datos de vídeo generados en el procedimiento de codificación de instantáneas en movimiento o por el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en comparación con cuando se descodifican datos de vídeo que se ajustan a una norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, probablemente aumenta la cantidad de procesamiento. Por lo tanto, el LSI ex500 necesita establecer una frecuencia de accionamiento más alta que la de la CPU ex502 a usar cuando se descodifican datos de vídeo de conformidad con la norma convencional. Sin embargo, cuando la frecuencia de accionamiento se establece más alta, existe un problema de que el consumo de potencia aumenta. Para resolver el problema, el aparato de descodificación de instantáneas en movimiento, tal como la televisión ex300 y el LSI ex500 están configurados para determinar a qué norma se ajustan los datos de vídeo, y conmutar entre las frecuencias de accionamiento de acuerdo con la norma determinada. La figura 38 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento superior cuando se generan datos de vídeo por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de descodificación ex801 que ejecute el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones para descodificar los datos de vídeo. Cuando los datos de vídeo se ajustan a la norma convencional, la unidad de conmutación de frecuencia de accionamiento ex803 establece una frecuencia de accionamiento a una frecuencia de accionamiento inferior a la de los datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento o el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones. A continuación, la unidad de conmutación de frecuencia de accionamiento ex803 ordena a la unidad de procesamiento de descodificación ex802 que se ajusta a la norma convencional que descodifique los datos de vídeo.
Más específicamente, la unidad de conmutación de frecuencia de accionamiento ex803 incluye la CPU ex502 y la unidad de control de frecuencia de accionamiento ex512 en la figura 37. En este punto, cada una de la unidad de procesamiento de descodificación ex801 que ejecuta el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de descodificación ex802 que se ajusta a la norma convencional se corresponden con la unidad de procesamiento de señal ex507en la figura 37. La CPU ex502 determina a qué norma se ajustan los datos de vídeo. A continuación, la unidad de control de frecuencia de accionamiento ex512 determina una frecuencia de accionamiento basándose en una señal desde la CPU ex502. Adicionalmente, la unidad de procesamiento de señal ex507 descodifica los datos de vídeo basándose en la señal desde la CPU ex502. Por ejemplo, la información de identificación descrita en la realización 8 se usa probablemente para identificar los datos de vídeo. La información de identificación no se limita a la descrita en la realización 8 sino que puede ser cualquier información siempre que la información indique a qué norma se ajustan los datos de vídeo. Por ejemplo, cuando a qué norma se ajustan los datos de vídeo puede determinarse basándose en una señal externa para determinar que los datos de vídeo se usan para una televisión o un disco, etc., la determinación puede realizarse basándose en una señal externa de este tipo. Adicionalmente, la CPU ex502 selecciona una frecuencia de accionamiento basándose en, por ejemplo, una tabla de correspondencia en la que las normas de los datos de vídeo están asociadas con las frecuencias de accionamiento como se muestra en la figura 40. La frecuencia de accionamiento puede seleccionarse almacenando la tabla de búsqueda en la memoria intermedia ex508 y en una memoria interna de un LSI, y con referencia a la tabla de búsqueda por la CPU ex502.
La figura 39 ilustra etapas para ejecutar un procedimiento en la presente realización. En primer lugar, en la etapa exS200, la unidad de procesamiento de señal ex507 obtiene información de identificación desde los datos multiplexados. A continuación, en la etapa exS201, la CPU ex502 determina si los datos de vídeo se generan o no por el procedimiento de codificación y el aparato de codificación descritos en cada una de las realizaciones, basándose en la información de identificación. Cuando los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en la etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento superior a la de la unidad de control de frecuencia de accionamiento ex512. A continuación, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento más alta. Por otra parte, cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1, en la etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de accionamiento a una frecuencia de accionamiento inferior a la unidad de control de frecuencia de accionamiento ex512. A continuación, la unidad de control de frecuencia de accionamiento ex512 establece la frecuencia de accionamiento a la frecuencia de accionamiento inferior que la de en el caso en el que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones.
Adicionalmente, junto con la conmutación de las frecuencias de accionamiento, el efecto de conservación de potencia puede mejorarse cambiando la tensión a aplicarse al LSI ex500 o a un aparato que incluye el LSI ex500. Por ejemplo, cuando la frecuencia de accionamiento se establece más baja, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece a una tensión inferior que en el caso en el que la frecuencia de accionamiento se establece más alta.
Adicionalmente, cuando la cantidad de procesamiento para descodificación es mayor, la frecuencia de accionamiento puede establecerse más alta, y cuando la cantidad de procesamiento para descodificación es más pequeña, la frecuencia de accionamiento puede establecerse más baja que el procedimiento para establecer la frecuencia de accionamiento. Por lo tanto, el procedimiento de ajuste no se limita a los anteriormente descritos. Por ejemplo, cuando la cantidad de procesamiento para descodificar datos de vídeo de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para descodificar datos de vídeo generados por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la frecuencia de accionamiento probablemente se establece en orden inverso al ajuste anteriormente descrito.
Adicionalmente, el procedimiento para establecer la frecuencia de accionamiento no se limita al procedimiento para establecer la frecuencia de accionamiento más baja. Por ejemplo, cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece más alta. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, la tensión a aplicarse al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establece más baja. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, el accionamiento de la CPU ex502 probablemente no tiene que suspenderse. Cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, el accionamiento de la CPU ex502 probablemente se suspende a un tiempo dado puesto que la CPU ex502 tiene capacidad de procesamiento adicional. Incluso cuando la información de identificación indica que los datos de vídeo se generan por el procedimiento de codificación de instantáneas en movimiento y el aparato de codificación de instantáneas en movimiento descritos en cada una de las realizaciones, en el caso en el que la CPU ex502 tiene capacidad de procesamiento adicional, el accionamiento de la CPU ex502 probablemente se suspende en un tiempo dado. En un caso de este tipo, el tiempo de suspensión probablemente se establece más corto que en el caso cuando la información de identificación indica que los datos de vídeo se ajustan a la norma convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1.
Por consiguiente, el efecto de conservación de potencia puede mejorarse conmutando entre las frecuencias de accionamiento de acuerdo con la norma a la que se ajustan los datos de vídeo. Adicionalmente, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se accionan usando una batería, la duración de la batería puede ampliarse con el efecto de conservación de potencia.
[Realización 11]
Existen casos en los que una pluralidad de datos de vídeo que se ajustan a diferentes normas, se proporcionan a los dispositivos y sistemas, tales como una televisión y un teléfono celular. Para posibilitar la descodificación de la pluralidad de datos de vídeo que se ajustan a las diferentes normas, la unidad de procesamiento de señal ex507 del LSI ex500 necesita ajustarse a las diferentes normas. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y el aumento en el coste surgen con el uso individual de las unidades de procesamiento de señal ex507 que se ajustan a las normas respectivas.
Para resolver el problema, lo que se concibe es una configuración en la que la unidad de procesamiento de descodificación para implementar el procedimiento de descodificación de instantáneas en movimiento descrita en cada una de las realizaciones y la unidad de procesamiento de descodificación que se ajusta a la norma convencional, tal como MPEG-2, AVC de MPEG-4 y VC-1 se comparten parcialmente. Ex900 en la figura 41A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de descodificación de instantáneas en movimiento descrito en cada una de las realizaciones y el procedimiento de descodificación de instantáneas en movimiento que se ajusta a AVC de MPEG-4 tienen, parcialmente en común, los detalles de procesamiento, tal como codificación por entropía, cuantificación inversa, filtrado por desbloqueo y predicción con compensación de movimiento. Los detalles de procesamiento a compartir probablemente incluyen el uso de una unidad de procesamiento de descodificación ex902 que se ajusta a MPEG-4 AVC. En contraposición, una unidad de procesamiento de descodificación especializada ex901 probablemente se usa para otro procesamiento único para un aspecto de la presente invención. Debido a que el aspecto de la presente invención está caracterizado por la cuantificación inversa en particular, por ejemplo, la unidad de procesamiento de descodificación dedicada ex901 se usa para la cuantificación inversa. De otra manera, la unidad de procesamiento de descodificación probablemente se comparte para una de la descodificación por entropía, filtración de desbloqueo, y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de descodificación para implementar el procedimiento de descodificación de instantáneas en movimiento descrita en cada una de las realizaciones puede compartirse para el procesamiento a compartirse, y una unidad de procesamiento de descodificación especializada puede usarse para procesamiento único al de MPEG-4 AVC.
Adicionalmente, ex1000 en la figura 41B muestra otro ejemplo en el que el procesamiento se comparte parcialmente. Este ejemplo usa una configuración que incluye una unidad de procesamiento de descodificación especializada ex1001 que soporta el procesamiento único de un aspecto de la presente invención, una unidad de procesamiento de descodificación especializada ex1002 que soporta el procesamiento único de otra norma convencional, y una unidad de procesamiento de descodificación ex1003 que soporta procesamiento a compartirse entre el procedimiento de descodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de descodificación de instantáneas en movimiento convencional. En este punto, las unidades de procesamiento de descodificación especializadas ex1001 y ex1002 no están necesariamente especializadas para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento de la norma convencional, respectivamente, y pueden ser las que pueden implementar procesamiento general. Adicionalmente, la configuración de la presente realización puede implementarse por el LSI ex500.
En este sentido, reducir la escala del circuito de un LSI y reducir el coste son posibles compartiendo la unidad de procesamiento de descodificación para el procesamiento a compartirse entre el procedimiento de descodificación de instantáneas en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de descodificación de instantáneas en movimiento cumpliendo con la norma convencional.
rAplicabilidad industrial!
El procedimiento de codificación de imágenes y el procedimiento de descodificación de imágenes de acuerdo con la presente invención se pueden usar para diversos fines. Por ejemplo, la presente invención se puede usar para un aparato de visualización de imágenes de alta resolución y un aparato de captura de imágenes de alta resolución, tales como una televisión, una grabadora de vídeo digital, un sistema de navegación de coche, un teléfono celular, una cámara digital y una cámara de vídeo digital.
[Lista de signos de referencia!
100, 300 Unidad de intra predicción de señal de croma
110, 330, 510, 610, 710, 830, 940, 1030 Unidad de generación de señal de croma intra predicha
120, 520, 620, 720 Unidad de cálculo de señal residual
130, 210, 530, 630, 730 Unidad de transformada-cuantificación
135, 230, 535, 635, 735 Unidad de cuantificación-transformada inversa
140 Unidad de generación de señal codificada
150, 570, 670, 770 Unidad de codificación
200 Aparato de codificación de imágenes
205 Restador
220 Unidad de codificación por entropía
235, 425 Sumador
240, 430 Filtro de desbloqueo
250, 440 Memoria
260, 450 Unidad de intra predicción
270 Unidad de estimación de movimiento
280, 460 Unidad de compensación de movimiento
290, 470 Conmutador de selección inter/intra
310, 810, 910, 1010 Unidad de descodificación de longitud variable
320, 820, 920, 1020 Unidad de obtención de señal residual
340 Unidad de generación de señal de croma descodificada
400 Aparato de descodificación de imágenes
410 Unidad de descodificación por entropía
500, 600, 700, 800, 900, 1000 Aparato de procesamiento de imágenes
540, 640, 740 Unidad de generación de señal de croma codificada temporal
550, 650, 750 Primera unidad de cálculo de componente de CC
555, 655, 755 Segunda unidad de cálculo de componente de CC
560, 660, 760 Unidad de cálculo de valor de desplazamiento
580, 680, 780, 850, 950, 1060 Unidad de adición de valor de desplazamiento
690, 960 Unidad de determinación de desplazamiento 790 Unidad de determinación de unidad de desplazamiento
840, 930, 1040 Unidad de generación de señal de croma descodificada temporal
1070 Unidad de obtención de información de unidad de desplazamiento

Claims (8)

REIVINDICACIONES
1. Un procedimiento de descodificación de imágenes de descodificación de un flujo de bits para generar un bloque descodificado, comprendiendo el procedimiento de descodificación de imágenes:
obtener (S10001) coeficientes cuantificados y primera información de bandera que indica si se requiere, o no, un proceso de desplazamiento, al realizar descodificación de longitud variable en el flujo de bits;
obtener (S10002) un bloque residual descodificado al realizar cuantificación inversa y transformada inversa en los coeficientes cuantificados;
generar (S10003) un bloque predicho al predecir el bloque descodificado;
generar (S10004) un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y
generar (S10005 - S10007) el bloque descodificado al ejecutar, en el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que se incluye en el bloque descodificado temporal, cuando la primera información de bandera indica que se requiere el proceso de desplazamiento; en el que el proceso de desplazamiento se ejecuta para añadir un valor de desplazamiento obtenido a partir del flujo de bits a un valor de un píxel incluido en el bloque descodificado temporal; en el que
la etapa (S10001) de obtener coeficientes cuantificados y primera información de bandera obtiene adicionalmente información de unidad de desplazamiento que indica si, en un área A que incluye una pluralidad de bloques, se usa, o no, el mismo valor de desplazamiento para todos los bloques; y
en la etapa (S10005 - S10007) de generar el bloque descodificado, el proceso de desplazamiento se ejecuta en el bloque descodificado temporal de acuerdo con la información de unidad de desplazamiento;
en el que, cuando la información de unidad de desplazamiento indica que se usa el mismo valor de desplazamiento para todos los bloques en el área A, se obtiene un valor de desplazamiento nuevo cuando se completa el proceso de desplazamiento para todos los bloques del área A.
2. El procedimiento de descodificación de imágenes de acuerdo con la reivindicación 1, en el que la información de unidad de desplazamiento indica si se usa, o no, el mismo valor de desplazamiento para todos los bloques incluidos en una unidad de predicción.
3. El procedimiento de descodificación de imágenes de acuerdo con la reivindicación 1 o 2, en el que la información de unidad de desplazamiento indica si se usa, o no, el mismo valor de desplazamiento para todos los bloques incluidos en una rebanada.
4. El procedimiento de descodificación de imágenes de acuerdo con cualquiera de las reivindicaciones 1 a 3, en el que cada uno de los valores de los píxeles incluidos en el bloque descodificado se expresa en un formato YUV.
5. Un aparato de descodificación de imágenes que descodifica un flujo de bits para generar un bloque descodificado, comprendiendo el aparato de descodificación de imágenes:
una unidad de descodificación de longitud variable (1010) configurada para obtener coeficientes cuantificados y primera información de bandera que indica si se requiere, o no, un proceso de desplazamiento, al realizar descodificación de longitud variable en el flujo de bits;
una unidad de obtención (1020, 1070) configurada para obtener un bloque residual descodificado al realizar cuantificación inversa y transformada inversa en los coeficientes cuantificados;
una unidad de predicción (1030) configurada para generar un bloque predicho al predecir el bloque descodificado; una unidad de generación (1040) configurada para generar un bloque descodificado temporal al añadir el bloque residual descodificado al bloque predicho; y
una unidad de procesamiento de desplazamiento (1060) configurada para generar el bloque descodificado al ejecutar, en el bloque descodificado temporal, el proceso de desplazamiento para corregir un error que se incluye en el bloque descodificado temporal, cuando la primera información de bandera indica que se requiere el proceso de desplazamiento; en el que
el proceso de desplazamiento se ejecuta para añadir un valor de desplazamiento obtenido a partir del flujo de bits a un valor de un píxel incluido en el bloque descodificado temporal,
la unidad de obtención (1020, 1070) está configurada adicionalmente para obtener información de unidad de desplazamiento que indica si, en un área A que incluye una pluralidad de bloques, se usa, o no, el mismo valor de desplazamiento para todos los bloques; y
la unidad de procesamiento de desplazamiento (1060) está configurada adicionalmente (i) para ejecutar el proceso de desplazamiento en el bloque descodificado temporal de acuerdo con la información de unidad de desplazamiento, y (ii) para obtener, cuando la información de unidad de desplazamiento indica que se usa el mismo valor de desplazamiento para todos los bloques en el área A, un valor de desplazamiento nuevo cuando se completa el proceso de desplazamiento para todos los bloques del área A.
6. El aparato de descodificación de imágenes de acuerdo con la reivindicación 5, en el que la información de unidad de desplazamiento indica si se usa, o no, el mismo valor de desplazamiento para todos los bloques incluidos en una unidad de predicción.
7. El aparato de descodificación de imágenes de acuerdo con la reivindicación 5 o 6, en el que la información de unidad de desplazamiento indica si se usa, o no, el mismo valor de desplazamiento para todos los bloques incluidos en una rebanada.
8. El aparato de descodificación de imágenes de acuerdo con cualquiera de las reivindicaciones 5 a 7, en el que cada uno de los valores de los píxeles incluidos en el bloque descodificado se expresa en un formato YUV.
ES12803742T 2011-06-27 2012-06-26 Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes Active ES2807351T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161501384P 2011-06-27 2011-06-27
PCT/JP2012/004136 WO2013001794A1 (ja) 2011-06-27 2012-06-26 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及び画像符号化復号装置

Publications (1)

Publication Number Publication Date
ES2807351T3 true ES2807351T3 (es) 2021-02-22

Family

ID=47423714

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12803742T Active ES2807351T3 (es) 2011-06-27 2012-06-26 Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes

Country Status (15)

Country Link
US (8) US8780981B2 (es)
EP (1) EP2725799B1 (es)
JP (2) JPWO2013001794A1 (es)
KR (1) KR102001259B1 (es)
CN (1) CN103069805B (es)
AU (1) AU2012277160B2 (es)
BR (1) BR112013031524B1 (es)
CA (1) CA2837827C (es)
ES (1) ES2807351T3 (es)
MX (1) MX2013013912A (es)
MY (1) MY161905A (es)
PL (1) PL2725799T3 (es)
RU (1) RU2598799C2 (es)
TW (1) TWI547145B (es)
WO (1) WO2013001794A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
EP3203739A4 (en) 2014-10-03 2018-04-25 Nec Corporation Video coding device, video decoding device, video coding method, video decoding method and program
FR3032583B1 (fr) * 2015-02-06 2018-03-02 Orange Procede de codage d'une image numerique, procede de decodage, dispositifs, et programmes d'ordinateurs associes
KR20170031643A (ko) * 2015-09-11 2017-03-21 주식회사 케이티 비디오 신호 처리 방법 및 장치
FR3051309A1 (fr) * 2016-05-10 2017-11-17 Bcom Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
KR20230149868A (ko) * 2016-11-21 2023-10-27 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
WO2020094067A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Simplified parameter derivation for intra prediction
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
CN117336503A (zh) * 2018-12-07 2024-01-02 北京字节跳动网络技术有限公司 基于上下文的帧内预测
JP7304153B2 (ja) * 2018-12-27 2023-07-06 Kddi株式会社 動画像復号装置、動画像復号方法及びプログラム
MX2021009894A (es) 2019-02-24 2022-05-18 Beijing Bytedance Network Tech Co Ltd Derivación de parámetros para intrapredicción.
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
CN113382255B (zh) * 2019-06-21 2022-05-20 杭州海康威视数字技术股份有限公司 一种编解码方法、设备及存储介质
CN114501010B (zh) * 2020-10-28 2023-06-06 Oppo广东移动通信有限公司 图像编码方法、图像解码方法及相关装置
US11394987B2 (en) * 2020-12-11 2022-07-19 Qualcomm Incorporated Chroma samples from luma samples prediction for video coding
TWI774289B (zh) * 2021-03-25 2022-08-11 瑞昱半導體股份有限公司 音訊混合裝置以及音訊混合方法
US20230199217A1 (en) * 2021-12-21 2023-06-22 Mediatek Inc. Shared Architecture For Multiple Video Coding Modes

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
JP2916027B2 (ja) * 1991-07-31 1999-07-05 シャープ株式会社 画像符号化装置
JP3259428B2 (ja) * 1993-03-24 2002-02-25 ソニー株式会社 ディジタル画像信号のコンシール装置及び方法
JP2000125298A (ja) * 1998-10-12 2000-04-28 Dainippon Screen Mfg Co Ltd 画像データの符号化装置および方法
US6658157B1 (en) 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
US7110452B2 (en) 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP3902475B2 (ja) * 2002-01-23 2007-04-04 日本ビクター株式会社 動画像符号化装置及び動画像復号化装置
CN101631248B (zh) * 2002-04-18 2011-09-14 株式会社东芝 运动图像编码/解码方法和装置
JP4014098B2 (ja) 2003-06-26 2007-11-28 株式会社Kddi研究所 画像の階層的符号化装置および復号装置
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
KR101134220B1 (ko) * 2004-06-02 2012-04-09 파나소닉 주식회사 화상 부호화 장치 및 화상 복호화 장치
JP4769039B2 (ja) * 2005-07-26 2011-09-07 パナソニック株式会社 デジタル信号符号化および復号化装置ならびにその方法
RU2427976C2 (ru) * 2006-07-28 2011-08-27 Кабусики Кайся Тосиба Способ и устройство для кодирования и декодирования изображения
JP5026092B2 (ja) * 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
CN101743748B (zh) * 2007-04-04 2013-01-09 数码士有限公司 比特流解码设备以及具有解码解决方案的方法
JP2009004920A (ja) * 2007-06-19 2009-01-08 Panasonic Corp 画像符号化装置および画像符号化方法
EP2232874B1 (en) * 2008-01-08 2012-12-05 Telefonaktiebolaget L M Ericsson (publ) Adaptive filtering
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US8750378B2 (en) * 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
US9363509B2 (en) * 2011-03-03 2016-06-07 Electronics And Telecommunications Research Institute Method for determining color difference component quantization parameter and device using the method
ES2715782T3 (es) * 2011-04-21 2019-06-06 Hfi Innovation Inc Procedimiento y aparato para un filtrado en bucle mejorado
CN105120270B (zh) * 2011-05-16 2018-09-04 寰发股份有限公司 采用样本自适应偏移处理重构视频的方法及装置
ES2699974T3 (es) * 2011-06-23 2019-02-13 Huawei Tech Co Ltd Dispositivo de decodificación de desplazamiento, dispositivo de codificación de desplazamiento, dispositivo de filtro de imagen y estructura de datos
BR122021004578B1 (pt) * 2011-06-28 2022-07-26 Samsung Electronics Co., Ltd Método de decodificação de vídeo

Also Published As

Publication number Publication date
CA2837827A1 (en) 2013-01-03
CA2837827C (en) 2019-01-15
US20180035118A1 (en) 2018-02-01
AU2012277160A1 (en) 2013-12-19
PL2725799T3 (pl) 2020-11-16
MY161905A (en) 2017-05-15
US20140286401A1 (en) 2014-09-25
JPWO2013001794A1 (ja) 2015-02-23
US9402075B2 (en) 2016-07-26
US20190068979A1 (en) 2019-02-28
US9813717B2 (en) 2017-11-07
EP2725799B1 (en) 2020-04-29
RU2013154110A (ru) 2015-08-20
US9497470B2 (en) 2016-11-15
EP2725799A1 (en) 2014-04-30
MX2013013912A (es) 2013-12-16
US20180205957A1 (en) 2018-07-19
AU2012277160B2 (en) 2016-12-15
TWI547145B (zh) 2016-08-21
US10721483B2 (en) 2020-07-21
US9948936B2 (en) 2018-04-17
US9398304B2 (en) 2016-07-19
WO2013001794A1 (ja) 2013-01-03
KR102001259B1 (ko) 2019-07-17
KR20140027899A (ko) 2014-03-07
CN103069805A (zh) 2013-04-24
US20130142255A1 (en) 2013-06-06
BR112013031524A2 (pt) 2016-12-13
JP2013255252A (ja) 2013-12-19
US20160309187A1 (en) 2016-10-20
TW201316776A (zh) 2013-04-16
BR112013031524B1 (pt) 2022-05-03
RU2598799C2 (ru) 2016-09-27
US20130315305A1 (en) 2013-11-28
US8780981B2 (en) 2014-07-15
EP2725799A4 (en) 2014-11-26
US10148967B2 (en) 2018-12-04
CN103069805B (zh) 2017-05-31
US20160094850A1 (en) 2016-03-31
JP6145820B2 (ja) 2017-06-14

Similar Documents

Publication Publication Date Title
ES2807351T3 (es) Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes y dispositivo de codificación/descodificación de imágenes
ES2831999T3 (es) Procedimiento de procesamiento de imágenes y dispositivo de procesamiento de imágenes
AU2011353405B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP5970441B2 (ja) 符号化方法及び符号化装置
ES2936271T3 (es) Procedimiento de codificación de imágenes
ES2800049T3 (es) Procedimientos y aparatos para codificar y decodificar vídeo utilizando una descripción actualizada de memoria intermedia
ES2802073T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen
ES2865101T3 (es) Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes, dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes
CA2825767C (en) Image coding method, image decoding method, image coding apparatus and image decoding apparatus
ES2754784T3 (es) Procedimiento de decodificación de vídeo, aparato de decodificación de vídeo
ES2782227T3 (es) Procedimiento de codificación de imagen, procedimiento de decodificación de imagen, dispositivo de codificación de imagen, dispositivo de decodificación de imagen y dispositivo de codificación/decodificación de imagen
CA2836063A1 (en) Image encoding and decoding method and device for generating predictor sets in high-efficiency video coding
TW201332364A (zh) 用於解區塊之有效修整技術
JP6004375B2 (ja) 画像符号化方法および画像復号化方法
JP5936939B2 (ja) 画像符号化方法および画像復号化方法
WO2012117744A1 (en) Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
WO2012090504A1 (en) Methods and apparatuses for coding and decoding video stream
JPWO2011129090A1 (ja) 符号化歪み除去方法、符号化方法、復号化方法、符号化歪み除去装置、符号化装置、および復号化装置
WO2012090495A1 (ja) 画像符号化方法および画像復号方法
WO2012098878A1 (ja) 動画像符号化方法及び動画像復号化方法
WO2011132400A1 (ja) 画像符号化方法及び画像復号化方法
JP6391018B2 (ja) 画像符号化方法、及び、画像符号化装置
WO2012096156A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2012095930A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置