ES2940626T3 - Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes - Google Patents

Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes Download PDF

Info

Publication number
ES2940626T3
ES2940626T3 ES21156343T ES21156343T ES2940626T3 ES 2940626 T3 ES2940626 T3 ES 2940626T3 ES 21156343 T ES21156343 T ES 21156343T ES 21156343 T ES21156343 T ES 21156343T ES 2940626 T3 ES2940626 T3 ES 2940626T3
Authority
ES
Spain
Prior art keywords
unit
data
transformation
size
image
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
ES21156343T
Other languages
English (en)
Inventor
Kengo Terada
Takahiro Nishi
Youji Shibahara
Kyoko Tanikawa
Hisao Sasai
Toshiyasu Sugio
Toru Matsunobu
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 ES2940626T3 publication Critical patent/ES2940626T3/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método de codificación de imágenes para codificar una imagen por unidad de codificación, comprendiendo el método: aplicar una transformada de frecuencia a los datos de luminancia y crominancia de las unidades de transformación en la unidad de codificación, incluidos bloques predeterminados, cada uno de los cuales corresponde a una o más de las unidades de transformación (S501); y codificar los datos de luminancia y los datos de crominancia a los que se ha aplicado la transformada de frecuencia para generar un flujo de bits en el que los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados (S502). (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes [Campo técnico]
La presente invención se refiere a procedimientos de codificación de imágenes para codificar una imagen por bloque y procedimientos de decodificación de imágenes para decodificar una imagen por bloque.
[Antecedentes de la técnica]
La bibliografía que no es de patentes [NPL] 1 divulga una técnica con relación a un procedimiento de codificación de imágenes para codificar una imagen (que incluye una imagen en movimiento) por bloque y un procedimiento de decodificación de imágenes para decodificar una imagen por bloque.
[Lista de citas]
[Bibliografía de patentes]
[NPL 1] ISO/IEC 14496-10 “MPEG-4 Part10 Advanced Video Coding”
[Sumario de la invención]
[Problema técnico]
Sin embargo, algunos procedimientos de codificación de imágenes y procedimientos de decodificación de imágenes convencionales incluyen procedimientos ineficaces.
Por lo tanto, la presente invención proporciona un procedimiento de codificación de imágenes para codificar eficazmente una imagen, y un procedimiento de decodificación de imágenes para decodificar eficazmente una imagen. La invención se define mediante las reivindicaciones adjuntas y se describe en la realización 1. La invención reivindicada se refiere a las realizaciones 1-5, mientras que las realizaciones 6-10 tienen carácter ejemplar. Dado que el objeto reivindicado se ejerce en el entorno complejo de codificación y decodificación de imágenes, todas las realizaciones de la descripción se consideran útiles para resaltar aspectos específicos de la invención.
[Solución al problema]
El procedimiento de codificación de imágenes para codificar una imagen por unidad de codificación de acuerdo con una realización de la presente invención incluye: aplicar una transformación de frecuencia a los datos de luminancia y a los datos de crominancia de las unidades de transformación en la unidad de codificación que incluye los bloques predeterminados cada uno correspondiente a una o más de las unidades de transformación; y codificar los datos de luminancia y los datos de crominancia a los cuales se ha aplicado la transformación de frecuencia para generar un flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados. Estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa de computadora, o un medio de grabación no transitorio legible por computadora como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas de computadora o medios de grabación legibles por computadora.
[Efectos ventajosos de la invención]
El procedimiento de codificación de imágenes y el procedimiento de decodificación de imágenes de acuerdo con la presente invención proporcionan un procedimiento para codificar o decodificar una imagen de manera eficaz.
[Breve descripción de los dibujos]
[Figura 1]
La Figura 1 ilustra un flujo de bits convencional.
[Figura 2]
La Figura 2 es un diagrama de bloques que ilustra una configuración del aparato de codificación de imágenes de acuerdo con la primera realización.
[Figura 3]
La Figura 3 ilustra el flujo de bits de acuerdo con la primera realización.
[Figura 4]
La Figura 4 es un diagrama de flujo que ilustra la operación de codificación de acuerdo con la primera realización.
[Figura 5]
La Figura 5 ilustra el flujo de bits de acuerdo con una variación de la primera realización.
[Figura 6]
La Figura 6 es un diagrama de flujo que ilustra la operación de codificación de acuerdo con una variación de la primera realización.
[Figura 7]
La Figura 7 es un diagrama de bloques que ilustra una configuración del aparato de codificación de imágenes de acuerdo con la segunda realización.
[Figura 8]
La Figura 8 ilustra el flujo de bits de acuerdo con la segunda realización.
[Figura 9]
La Figura 9 es un diagrama de flujo que ilustra la operación de codificación de acuerdo con la segunda realización [Figura 10]
La Figura 10 ilustra la división y asignación de procesamiento para las múltiples unidades de cálculo de acuerdo con la segunda realización.
[Figura 11]
La Figura 11 es un diagrama de bloques que ilustra una configuración del aparato de decodificación de imágenes de acuerdo con la tercera realización.
[Figura 12]
La Figura 12 es un diagrama de flujo que ilustra la operación de decodificación de acuerdo con la tercera realización.
[Figura 13]
La Figura 13 es un diagrama de bloques que ilustra una configuración del aparato de decodificación de imágenes de acuerdo con la cuarta realización.
[Figura 14]
La Figura 14 es un diagrama de flujo que ilustra la operación de decodificación de acuerdo con la cuarta realización.
[Figura 15A]
La Figura 15A es un diagrama de bloques que ilustra una configuración del aparato de codificación de imágenes de acuerdo con la quinta realización.
[Figura 15B]
La Figura 15B es un diagrama de flujo que ilustra la operación de codificación de acuerdo con la quinta realización.
[Figura 16A]
La Figura 16A es un diagrama de bloques que ilustra una configuración del aparato de decodificación de imágenes de acuerdo con la quinta realización.
[Figura 16B]
La Figura 16B es un diagrama de flujo que ilustra la operación de decodificación de acuerdo con la quinta realización.
[Figura 17]
Una configuración general de un sistema de suministro de contenido para implementar servicios de distribución de contenido.
[Figura 18]
Una configuración general de un sistema de difusión digital.
[Figura 19]
Un diagrama de bloques que ilustra un ejemplo de una configuración de un televisor.
[Figura 20]
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 sobre un medio de grabación que es un disco óptico.
[Figura 21]
Un ejemplo de una configuración de un medio de grabación que es un disco óptico.
[Figura 22A]
Un ejemplo de un teléfono celular.
[Figura 22B]
Un diagrama de bloques que muestra un ejemplo de una configuración de un teléfono celular.
[Figura 23]
Una estructura de datos multiplexados.
[Figura 24]
Cómo multiplexar cada flujo en los datos multiplexados.
[Figura 25]
Cómo almacenar un flujo de video en un flujo de paquetes PES con más detalle.
[Figura 26]
Una estructura de paquetes TS y paquetes fuente en los datos multiplexados.
[Figura 27]
Una estructura de datos de un PMT
[Figura 28]
Una estructura interna de información de datos multiplexados.
[Figura 29]
Una estructura interna de información de atributos de flujo.
[Figura 30]
Etapas para identificar datos de video.
[Figura 31]
Un ejemplo de una configuración de un circuito integrado para implementar el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento de acuerdo con cada una de las realizaciones.
[Figura 32]
Una configuración para conmutar entre frecuencias de activación.
[Figura 33]
Etapas para identificar datos de video y conmutar entre frecuencias de activación.
[Figura 34]
Un ejemplo de una tabla de consulta en la cual los estándares de datos de video se asocian con las frecuencias de activación.
[Figura 35A]
Un diagrama que muestra un ejemplo de una configuración para compartir un módulo de una unidad de procesamiento de señales.
[Figura 35B]
Un diagrama que muestra otro ejemplo de una configuración para compartir un módulo de la unidad de procesamiento de señales.
[Descripción de las Realizaciones]
(Conocimiento subyacente que forma la base de la presente invención)
En relación con la técnica con relación a un aparato de codificación de imágenes para codificar una imagen por bloque y un aparato de decodificación de imágenes para decodificar una imagen por bloque divulgado en la sección de Antecedentes, los inventores han encontrado el siguiente problema:
Los últimos años han visto un rápido avance en la tecnología de equipos de video digital. La capacidad de comprimir una señal de video (una pluralidad de imágenes dispuestas en una serie de tiempo) procedente de una cámara de video o un sintonizador de televisión y almacenar la señal comprimida en un medio de grabación tal como un DVD o disco duro se ha convertido en algo común.
Cuando se codifica una señal de video, los datos de imagen generalmente se demultiplexan en información de luminancia (Y), primera información de crominancia (U), y segunda información de crominancia (V). Se aplica una transformación de frecuencia a cada una de ellas, y el valor del coeficiente obtenido como resultado se codifica usando una técnica de codificación tal como la codificación de longitud variable o la codificación aritmética.
Incluso más específicamente, una sola imagen se particiona en unidades de codificación (de aquí en adelante referida como CU), una CU se particiona además en unidades de transformación (de aquí en adelante referida como TU), luego se aplica una transformación de frecuencia a cada una de las Y, U, y V en una TU. Se genera un flujo de bits entonces combinando los resultados de codificación de Y, U, y V. Además, en la decodificación, el valor del coeficiente de cada una de las Y, U, y V se decodifica a partir del flujo de bits, y la información de imagen para cada una de las Y, U, y V se obtiene a partir de los valores del coeficiente mediante transformación inversa.
Debe notarse que una CU es una unidad de datos para codificar una imagen la cual corresponde a un macrobloque de acuerdo con los estándares de codificación de video H.264/AVC y MPEG-4 AVC (ver NPL 1). La CU se incluye en una imagen o en un corte dentro de una imagen. Una unidad de codificación más grande (de aquí en adelante referida como LCU) es un cuadrado de un tamaño fijo predeterminado. La CU es un cuadrado más pequeño que el de tamaño fijo predeterminado. Dos CU en la misma imagen o en el mismo corte pueden ser cuadrados de diferentes tamaños.
Por ejemplo, cada uno de los cuatro bloques definidos al particionar un cuadrado de un tamaño fijo predeterminado en una imagen o corte en cuatro partes puede designarse como la CU. Además, entre una pluralidad de bloques jerárquicos definidos al particionar un cuadrado de un tamaño fijo predeterminado en cuatro partes en múltiples etapas, el bloque jerárquico más bajo puede designarse como la CU. Cuando un cuadrado de un tamaño fijo predeterminado no se particiona en cuatro partes, la LCU puede designarse como la CU. Una imagen se codifica por CU y se genera un flujo de bits de acuerdo con las designaciones descritas anteriormente.
En el ejemplo convencional mostrado en la Figura 1, para cada CU, cada una de las Y, U, y V se disponen en secuencia y se genera un flujo de bits. En la Figura 1, Yn es información de Y para la TUn, Un es información de U para la TUn, y Vn es información de V para la TUn. Además, la Figura 1 es un ejemplo de un formato 4:2:0, lo que significa que el número de píxeles en U y Ves un cuarto del de Y.
Sin embargo, en la estructura de flujo de bits convencional, dado que los flujos de bits U y V no se pueden enviar hasta que cada Y en la CU se codifica y se envía en un flujo de bits, incluso si la situación permitiera que se enviara un flujo de bits de U o V antes que una porción de Y en la CU, no sería posible hacerlo. En otras palabras, se requiere almacenamiento en búfer. Mediante el uso de (C) en la Figura 1 para explicar, el flujo de bits para U0 no se puede enviar hasta que se envíe el flujo de bits para Y9, lo que requiere que la información sobre U0 se coloque en la memoria de búfer o en el registro. Por esta razón, surge un problema en el cual se requiere una memoria de búfer o un registro más grande.
Además, también en la decodificación, mientras que el vídeo no se puede enviar hasta que se decodifiquen Y, U, y V, U y V no se pueden decodificar hasta que se decodifique cada Y en la CU. Esto significa que es necesario almacenar en búfer el resultado de la decodificación de Y. Mediante el uso de (C) en la Figura 1 para explicar, el bloque T0 no se puede enviar a video hasta que se decodifique V0, lo que requiere que Y0 a Y9 y U0 a U9 se coloquen en la memoria de búfer o en el registro.
Con el fin de solucionar el problema descrito anteriormente, el procedimiento de codificación de imágenes para codificar una imagen por unidad de codificación de acuerdo con una realización de la presente invención incluye: aplicar una transformación de frecuencia a los datos de luminancia y a los datos de crominancia de las unidades de transformación en la unidad de codificación que incluye bloques predeterminados cada uno correspondiente a una o más de las unidades de transformación; y codificar los datos de luminancia y los datos de crominancia a los cuales se ha aplicado la transformación de frecuencia para generar un flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados.
Con esto, los flujos de bits U y V se pueden enviar incluso antes de que se hayan enviado los flujos de bits para cada Y en la CU, eliminando de esta manera la necesidad de almacenar en búfer U y V y permitiendo una memoria de búfer o registro reducido.
Por ejemplo, cada uno de los bloques predeterminados puede corresponder a unidades de transformación en un bloque de un tamaño predeterminado, o a una unidad de transformación de un tamaño mayor o igual al tamaño predeterminado, y en la codificación, los datos de luminancia y los datos de crominancia pueden codificarse para generar el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados.
Con esto, las Y, U, y V se disponen en un flujo de bits por unidad de datos apropiada, lo que resulta en una mayor eficiencia de procesamiento.
Además, por ejemplo, en la aplicación: la transformación de frecuencia inversa puede aplicarse a los datos de luminancia por unidad de transformación; cuando un número total de píxeles de los datos de crominancia y un número total de píxeles de los datos de luminancia son iguales, la transformación de frecuencia puede aplicarse a los datos de crominancia por unidad de transformación; y cuando el número total de píxeles de los datos de crominancia es menor que el número total de píxeles de los datos de luminancia, la transformación de frecuencia se puede aplicar a los datos de crominancia por bloques predeterminados.
Con esto, se aplica una transformación de frecuencia por unidad de datos a Y, U, y V, siendo la unidad de datos una unidad de datos apropiada para el número de píxeles. Como resultado, aumenta la eficiencia del procesamiento.
Además, por ejemplo, en la aplicación, de entre los datos de crominancia de las unidades de transformación en la unidad de codificación, se pueden combinar los datos de crominancia de las unidades de transformación en un bloque de un tamaño menor o igual al tamaño predeterminado, y la transformación de frecuencia se puede aplicar a los datos de crominancia combinados en una transformación de frecuencia.
Con esto, se puede evitar que la unidad de datos para la transformación se vuelva demasiado pequeña. Como resultado, no es necesario proporcionar un circuito de transformación pequeño. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Además, por ejemplo, en la aplicación, cuando un tamaño de una de las unidades de transformación es de un tamaño más pequeño predeterminado y en la unidad de transformación un número total de píxeles de datos de crominancia es menor que un número total de píxeles de datos de luminancia, de entre los datos de crominancia de las unidades de transformación en la unidad de codificación, los datos de crominancia de las unidades de transformación en un bloque que incluye la unidad de transformación pueden combinarse, y la transformación de frecuencia puede aplicarse a los datos de crominancia combinados en una transformación de frecuencia.
Con esto, incluso cuando el tamaño de TU es el tamaño de TU más pequeño y el número de píxeles en U o V es menor que el número de píxeles en Y, como es el caso en un formato 4:2:0 o 4:2:2, ni U ni V son más pequeños que el tamaño de TU más pequeño. Como resultado, no es necesario proporcionar un circuito de transformación que sea más pequeño que la TU más pequeña. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Además, por ejemplo, en la codificación, los datos de luminancia y los datos de crominancia de las unidades de transformación en uno de los bloques predeterminados pueden codificarse para generar el flujo de bits en el cual, en el bloque predeterminado, los datos de crominancia de todas las unidades de transformación siguen a los datos de luminancia de todas las unidades de transformación.
Con esto, U y V siguen a Y, y se mantiene esta secuencia. Como resultado, no es necesario tomar en consideración conmutar esta secuencia. En consecuencia, es posible reducir la complejidad del procesamiento de imágenes.
Además, por ejemplo, cada uno de los bloques predeterminados puede corresponder a unidades de transformación en un bloque de un tamaño predeterminado, o a una unidad de transformación de un tamaño mayor o igual al tamaño predeterminado, en la aplicación, se puede aplicar la transformación de frecuencia a los datos de luminancia y los datos de crominancia por unidad de transformación, y en la codificación, los datos de luminancia y los datos de crominancia pueden codificarse para generar el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloque predeterminado.
Con esto, es posible combinar y procesar las Y, U, y V en los respectivos bloques múltiples e introducir las imágenes de entrada en casi un lote para cada una de las Y, U y V, aumentando de esta manera la eficiencia de la transferencia de datos. Además, se puede suprimir la variación en el número de píxeles en un conjunto YUV, y se puede aumentar la velocidad de operación de la unidad de cálculo cuando se procesan en paralelo unidades de datos YUV con múltiples unidades de cálculo.
Además, por ejemplo, cada uno de los bloques predeterminados puede corresponder a una diferente de las unidades de transformación, en la aplicación, la transformación de frecuencia se puede aplicar a los datos de luminancia y a los datos de crominancia por unidad de transformación, y en la codificación, los datos de luminancia y los datos de crominancia pueden codificarse para generar el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por unidad de transformación.
Con esto, las Y, U, y V se disponen en un flujo de bits en unidades de datos simples y apropiadas. Como resultado, se aumenta la eficiencia del procesamiento.
Además, el procedimiento de decodificación de imágenes para decodificar una imagen por unidad de codificación de acuerdo con una realización de la presente invención puede incluir: decodificar datos de luminancia y datos de crominancia de unidades de transformación en la unidad de codificación que incluye bloques predeterminados cada uno correspondiente a una o más de las unidades de transformación, la decodificación que incluye la obtención de un flujo de bits, y los datos de luminancia y los datos de crominancia son datos a los cuales se ha aplicado una transformación de frecuencia y que se han codificado y agrupado en el flujo de bits por bloques predeterminados; y aplicar una transformación de frecuencia inversa a los datos de luminancia decodificados y los datos de crominancia decodificados.
Con esto, U y V pueden decodificarse incluso antes de que se haya decodificado cada Y en la CU, eliminando de esta manera la necesidad de almacenar en búfer el resultado de la decodificación U y V y permitiendo una memoria de búfer o registro reducido.
Por ejemplo, cada uno de los bloques predeterminados puede corresponder a unidades de transformación en un bloque de un tamaño predeterminado, o a una unidad de transformación de un tamaño mayor o igual al tamaño predeterminado, y en la decodificación, se puede obtener el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados, y se decodifican los datos de luminancia y los datos de crominancia.
Con esto, se usa un flujo de bits en el cual las Y, U, y V se disponen en unidades de datos apropiadas. Como resultado, se aumenta la eficiencia del procesamiento.
Además, por ejemplo, en la aplicación: la transformación de frecuencia inversa se puede aplicar a los datos de luminancia por unidad de transformación; cuando un número total de píxeles de los datos de crominancia y un número total de píxeles de los datos de luminancia son iguales, la transformación de frecuencia inversa puede aplicarse a los datos de crominancia por unidad de transformación; y cuando el número total de píxeles de los datos de crominancia es menor que el número total de píxeles de los datos de luminancia, la transformación de frecuencia inversa puede aplicarse a los datos de crominancia por bloques predeterminados.
Con esto, se aplica una transformación de frecuencia inversa por unidad de datos a Y, U, y V, siendo la unidad de datos una unidad de datos apropiada para el número de píxeles. Como resultado, se aumenta la eficiencia del procesamiento.
Además, por ejemplo, en la aplicación, la transformación de frecuencia inversa puede aplicarse a, de entre los datos de crominancia de las unidades de transformación en la unidad de codificación, los datos de crominancia de las unidades de transformación en un bloque de un tamaño menor o igual al tamaño predeterminado en una transformación de frecuencia inversa.
Con esto, se puede evitar que la unidad de datos para la transformación sea demasiado pequeña. Como resultado, no es necesario proporcionar un pequeño circuito de transformación inversa. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Además, por ejemplo, en la aplicación, cuando el tamaño de una de las unidades de transformación es de un tamaño más pequeño predeterminado y en la unidad de transformación un número total de píxeles de los datos de crominancia es menor que el número total de píxeles de los datos de luminancia, la transformación de frecuencia inversa puede aplicarse a, de entre los datos de crominancia de las unidades de transformación en la unidad de codificación, los datos de crominancia de las unidades de transformación en un bloque que incluye la unidad de transformación en una transformación de frecuencia inversa.
Con esto, incluso cuando el tamaño de TU es el tamaño de TU más pequeño y el número de píxeles en U o V es menor que el número de píxeles en Y, como es el caso en un formato 4:2:0 o 4:2:2, ni U ni V son más pequeños que el tamaño de TU más pequeño. Como resultado, no es necesario proporcionar un circuito de transformación inversa que sea más pequeño que la TU más pequeña. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Además, por ejemplo, en la decodificación, se puede obtener el flujo de bits en el cual, en uno de los bloques predeterminados, los datos de crominancia de todas las unidades de transformación siguen los datos de luminancia de todas las unidades de transformación, y pueden decodificarse los datos de luminancia y los datos de crominancia de las unidades de transformación en el bloque predeterminado.
Con esto, U y V siguen a Y, y se mantiene esta secuencia. Como resultado, no es necesario tomar en consideración conmutar esta secuencia. En consecuencia, es posible reducir la complejidad del procesamiento de imágenes.
Por ejemplo, cada uno de los bloques predeterminados puede corresponder a unidades de transformación en un bloque de un tamaño predeterminado, o a una unidad de transformación de un tamaño mayor o igual al tamaño predeterminado, en la decodificación, se puede obtener el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloque predeterminado, y los datos de luminancia y los datos de crominancia se decodifican, y en la aplicación, la transformación de frecuencia inversa se puede aplicar a los datos de luminancia y los datos de crominancia por unidad de transformación.
Con esto, es posible combinar y procesar Y, U, y V en los respectivos bloques múltiples y enviar las imágenes de salida en casi un lote para cada Y, U y V, aumentando de esta manera la eficiencia de la transferencia de datos. Además, se puede suprimir la variación en el número de píxeles en un conjunto YUV, y se puede aumentar la velocidad de operación de la unidad de cálculo cuando se procesan en paralelo unidades de datos YUV con múltiples unidades de cálculo.
Además, por ejemplo, cada uno de los bloques predeterminados puede corresponder a una diferente de las unidades de transformación, en la decodificación, se puede obtener el flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por unidad de transformación, y los datos de luminancia y los datos de crominancia pueden decodificarse y, en la aplicación, la transformación de frecuencia inversa puede aplicarse a los datos de luminancia y los datos de crominancia por unidad de transformación.
Con esto, se usa un flujo de bits en el cual Y, U, y V se disponen en unidades de datos simples y apropiadas. Como resultado, se aumenta la eficiencia del procesamiento.
Debe notarse que estos aspectos generales y específicos pueden implementarse usando un sistema, un aparato, un circuito integrado, un programa de computadora o un medio de grabación no transitorio legible por computadora, como un CD-ROM, o cualquier combinación de sistemas, aparatos, procedimientos, circuitos integrados, programas de computadora o medios de grabación legibles por computadora.
De aquí en adelante, ciertas realizaciones ilustrativas se describen en mayor detalle con referencia a los Dibujos acompañantes. Cada una de las realizaciones ilustrativas descritas a continuación muestra un ejemplo general o específico. Los valores numéricos, formas, materiales, elementos estructurales, la disposición y conexión de los elementos estructurales, las etapas, el orden de procesamiento de las etapas, etc., que se muestran en las siguientes realizaciones ilustrativas son meros ejemplos, y por lo tanto no limitan la presente invención. Por lo tanto, entre los elementos estructurales en las siguientes realizaciones ilustrativas, los elementos estructurales que no se mencionan en ninguna de las reivindicaciones independientes se describen como elementos estructurales arbitrarios.
Realización 1
(Configuración)
La Figura 2 muestra una configuración del aparato de codificación de imágenes de acuerdo con la primera realización. El aparato de codificación de imágenes particiona las imágenes de entrada en CU y TU, realiza un procedimiento de transformación y codifica Y, U, y V, y luego envía un flujo de bits de las mismas. El aparato de codificación de imágenes incluye una unidad de partición CU 101, una unidad de partición TU 102, una unidad de demultiplexación YUV 103, una unidad de combinación de bloques adyacentes 104, una unidad de transformación Y 105, una unidad de transformación U 106, una unidad de transformación V 107, un codificador 108, y una unidad de conmutación YUV 109.
La unidad de partición CU 101 introduce una imagen y particiona la imagen de acuerdo con un tamaño de CU especificado. La unidad de partición TU 102 particiona la Cu de acuerdo con un tamaño de TU especificado. La unidad de demultiplexación YUV 103 demultiplexa la TU en componentes Y, U, y V. En esta realización, el formato de imagen es 4:2:0. En este formato, el tamaño del componente U y el componente V son un cuarto del tamaño del componente Y.
La unidad de combinación de bloques adyacentes 104 combina bloques U adyacentes y combina bloques V adyacentes de acuerdo con el tamaño de TU y el tamaño de TU más pequeño. La unidad de transformación Y 105, la unidad de transformación U 106, y la unidad de transformación V 107 realizan cada una un procedimiento de transformación en Y, U, y V, respectivamente. El codificador 108 codifica los datos transformados y envía un flujo de bits de los datos transformados. La unidad de conmutación YUV 109 conmuta la entrada al codificador 108 de acuerdo con el tamaño de TU.
La Figura 3 muestra un ejemplo de un flujo de bits. Cuando el tamaño de CU y el tamaño de TU son los mismos que en (A), esto es lo mismo que en el ejemplo convencional mostrado en la Figura 1, pero cuando el tamaño de TU es más pequeño que el de CU como en (B), esto es diferente del ejemplo convencional. En este caso, Y1, U1, y V1 en la TU1 se codifican después de Y0, U0, y V0 en la TU0. Además, cuando el tamaño de TU es el tamaño de TU más pequeño como TU0 en (C), el formato es 4:2:0. Como tal, los bloques U y los bloques V son más pequeños que el tamaño de TU más pequeño. En este caso, los bloques U respectivos y los bloques V en TU0, TU1, TU2, y TU3 se combinan, y la transformación y codificación se realiza en los bloques combinados, de manera que se genera un flujo de bits.
(Operación)
A continuación, se describirá el flujo de codificación con referencia a la Figura 4. Primero, la unidad de partición CU 101 particiona la imagen de entrada de acuerdo con el tamaño de CU especificado, genera la CU, y envía la CU a la unidad de partición TU 102 (S101). La unidad de partición TU 102 particiona la CU de acuerdo con un tamaño de TU especificado, y envía el resultado a la unidad de demultiplexación YUV 103 (S102). Debe notarse que el aparato de codificación de imágenes repite los procedimientos de CU (S102 a S116) el número de veces que haya CU en una sola imagen ya que los procedimientos se realizan en todas las CU dentro de una sola imagen.
A continuación, la unidad de demultiplexación YUV 103 demultiplexa la TU en componentes Y, U, y V (S103). En esta realización, el formato de imagen es 4:2:0. En este formato, el tamaño del componente U y el componente V son un cuarto del tamaño del componente Y. Los componentes Y demultiplexados se envían a la unidad de transformación Y 105, y los componentes U y los componentes V se envían a la unidad de combinación de bloques adyacente 104. Debe notarse que el aparato de codificación de imágenes repite los procedimientos de TU (S103 a S116) el número de veces que haya TU en una sola CU ya que los procedimientos se realizan en todas las TU dentro de una sola CU.
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación Y 105 (S104). La unidad de transformación Y 105 realiza el procedimiento de transformación en Y, y envía el resultado transformado al codificador 108 (S105). El codificador 108 codifica la Y transformada y envía un flujo de bits de la Y codificada (S106).
A continuación, la unidad de combinación de bloques adyacentes 104 determina si el bloque U actual a transformarse y codificarse ya se ha combinado con otro bloque U (S107). Si el bloque U ya se ha combinado con otro bloque U (sí en S107), se omiten los procedimientos para el bloque U y el bloque V (S108 a S116). Si el bloque U aún no se ha combinado con otro bloque U (no en S107), se realiza el siguiente procedimiento (S108).
Específicamente, cuando el bloque U no se ha combinado con otro bloque U (no en S107), la unidad de combinación de bloques adyacentes 104 determina si el tamaño de la U en la TU es menor que el tamaño de TU más pequeño (S108). Si el tamaño de la U es menor que el tamaño de la TU más pequeño (sí en S108), se realiza el procedimiento de combinación del bloque U (S109). Si el tamaño de la U no es menor que el tamaño de la TU más pequeño (no en S108), la unidad de combinación de bloques adyacentes 104 envía el bloque U actual y el bloque V actual para transformarse y codificarse en la unidad de transformación U 106 y la unidad de transformación V 107, respectivamente. Entonces se realiza un procedimiento de conmutación YUV (S111).
Si el tamaño de la U es más pequeño que el tamaño de la TU más pequeño (sí en S108), la unidad de combinación de bloques adyacentes 104 combina el bloque U actual para transformarse y codificarse con tres bloques U que están a la derecha, parte inferior, y en la parte inferior derecha del mismo, y genera y envía un bloque U combinado de cuatro bloques a la unidad de transformación U 106 (S109). La unidad de combinación de bloques adyacentes 104 entonces combina el bloque V actual para transformarse y codificarse con tres bloques V que están a la derecha, parte inferior, y en la parte inferior derecha del mismo, y genera y envía un bloque V combinado de cuatro bloques a la unidad de transformación V 107 (S110).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación U 106 (S111). La unidad de transformación U 106 realiza el procedimiento de transformación en U, y envía el resultado transformado al codificador 108 (S112). El codificador 108 codifica la U transformada y envía un flujo de bits de la U codificada (S113).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación V 107 (S114). La unidad de transformación V 107 realiza el procedimiento de transformación en V, y envía el resultado transformado al codificador 108 (S115). El codificador 108 codifica la V transformada y envía un flujo de bits de la V codificada (S116).
(Resultado)
De acuerdo con la primera realización, los flujos de bits U y V pueden enviarse incluso antes de que se hayan enviado los flujos de bits para cada Y en la CU, eliminando de esta manera la necesidad de almacenar en búfer U y V y permitiendo una memoria de búfer o registro reducido.
Además, incluso cuando el tamaño de TU es el tamaño de TU más pequeño y el número de píxeles en U o V es menor que el número de píxeles en Y, como es el caso en un formato 4:2:0 o 4:2:2, ni U ni V son más pequeños que el tamaño de TU más pequeño. Como resultado, no es necesario proporcionar un circuito de transformación que sea más pequeño que la TU más pequeña. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Debe notarse que en la primera realización se usa un formato 4:2:0, pero se puede usar un formato 4:2:2, 4:4:4 o diferente.
Además, en la primera realización, el tamaño de CU y el tamaño de TU se introducen externamente. Sin embargo, puede usarse un tamaño óptimo el cual se calcula mediante el cálculo de la eficiencia de codificación del tamaño de múltiples o todos los patrones internamente en el aparato.
Además, en la primera realización, los bloques U combinados y V combinados se colocan directamente después del flujo de bits para la Y de la TU en la parte superior izquierda de la TU combinada, como se muestra en la Figura 3. Sin embargo, los bloques U combinados y V combinados pueden colocarse directamente después del flujo de bits para la Y de la TU en la parte inferior derecha de la TU combinada, como se muestra en la Figura 5. En este caso, la operación mostrada en la Figura 4 se modifica a la operación mostrada en la Figura 6, por ejemplo.
Específicamente, como se muestra en la Figura 6, cuando el tamaño de la U en la TU es mayor o igual que el tamaño de la TU más pequeño (no en S108), los bloques U y V se procesan tal cual (S111 a S116).
Cuando el tamaño de la U en la TU es menor que el tamaño de la TU más pequeño (sí en S108) y la TU que se procesa es la cuarta TU (sí en S120), se realizan el procedimiento de combinación del bloque U (S109) y el procedimiento de combinación del bloque V (S110). Aquí, la cuarta TU corresponde a la cuarta Tu que se procesa entre las cuatro TU más pequeñas, tal como TU3 o TU9 en la Figura 5.
En el procedimiento de combinación de bloques U (S109), la unidad de combinación de bloques adyacentes 104 combina el bloque U que se procesa con los tres bloques U que están a la izquierda, parte superior, y en la parte superior izquierda del mismo, y un genera bloque U combinado de cuatro bloques. Además, en el procedimiento de combinación de bloques U (S110), la unidad de combinación de bloques adyacentes 104 combina el bloque V que se procesa con los tres bloques V que están a la izquierda, parte superior, y en la parte superior izquierda del mismo, y genera un bloque V combinado de cuatro bloques. A continuación, se procesan los bloques U y V (S111 a S116).
Cuando el tamaño de la U en la TU es más pequeño que el tamaño de la TU más pequeño (sí en S108) y la TU que se procesa no es la cuarta TU (no en S120), el procesamiento de los bloques U y V (S111 a S116) se omite. Otras operaciones son las mismas que las que se muestran en la Figura 4. De esta forma, el flujo de bits mostrado en la Figura 5 se envía como resultado de la modificación de la operación.
En la Figura 5, U y V siguen a Y, y se mantiene esta secuencia. Como resultado, no es necesario tomar en consideración conmutar la secuencia de Y, U, y V. En consecuencia, es posible reducir la complejidad del procesamiento de imágenes. En la Figura 6, se determina si la TU que se procesa es o no la cuarta TU, pero se puede determinar si la TU que se procesa es o no la última TU que se combina. Cuando la TU que se procesa es la última TU que se combina, se pueden realizar los procedimientos de combinación (S109 y S110).
Además, en la primera realización, se combinan cuatro bloques, pero es aceptable si se combinan dos bloques en un formato 4:2:2. Por ejemplo, se pueden combinar dos bloques adyacentes horizontalmente entre sí. Entonces, entre los dos bloques, es aceptable si el procedimiento de combinación se realiza en el primer o segundo bloque que se procesa.
Además, el procesamiento realizado en la primera realización se puede ejecutar con software. El software se puede distribuir a través de la descarga. Además, el software puede almacenarse en un medio de almacenamiento tal como un CD-ROM y distribuirse. Debe notarse que esto se aplica también a todas las demás realizaciones a lo largo de la Descripción.
Realización 2
(Configuración)
La Figura 7 muestra una configuración del aparato de codificación de imágenes de acuerdo con la segunda realización. Aquí, sólo se describe la unidad de conmutación YUV 109 ya que la unidad de conmutación YUV 109 es diferente de la primera realización.
La unidad de conmutación YUV 109 conmuta la entrada al codificador 108 de acuerdo con el tamaño de TU y el tamaño de bloque más pequeño especificado. Específicamente, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 por unidad de datos para que sea Y, U, o V, siendo la unidad de datos la mayor entre el tamaño de TU y el tamaño de bloque más pequeño. En la segunda realización, el tamaño de bloque más pequeño es un tamaño fijo predeterminado, que es mayor que el tamaño de TU más pequeño.
La Figura 8 muestra un ejemplo de un flujo de bits. Cuando el tamaño de TU no es más pequeño que el tamaño de bloque más pequeño, como en (A) o (B), el flujo de bits es el mismo que en la primera realización, pero cuando el tamaño de TU es más pequeño que el tamaño de bloque más pequeño tal como en (C), esto es diferente de la primera realización. Aquí, para TU0 a TU3, primero U0 a U3 y V0 a V3 se codifican después de Y0 a Y3, seguidos de Y4, U4, y V4 de TU4.
(Operación)
A continuación, se describe el flujo de codificación con referencia a la Figura 9. Primero, la unidad de partición CU 101 particiona la imagen de entrada de acuerdo con el tamaño de CU especificado, genera la CU, y envía la CU a la unidad de partición TU 102 (S201). La unidad de partición TU 102 particiona la CU de acuerdo con un tamaño de TU especificado, y envía el resultado a la unidad de demultiplexación YUV 103 (S202). Debe notarse que el aparato de codificación de imágenes repite los procedimientos de CU (S202 a S222) el número de veces que haya CU en una sola imagen ya que los procedimientos se realizan en todas las CU dentro de una sola imagen.
A continuación, la unidad de conmutación YUV 109 determina si el tamaño de TU es más pequeño que el tamaño de bloque más pequeño (S203). Si el tamaño de TU es menor que el tamaño de bloque más pequeño (sí en S203), se realiza un procedimiento de determinación de codificación (S213). Si el tamaño de TU no es menor que el tamaño de bloque más pequeño (no en S203), se realiza un procedimiento de conmutación YUV (S204). Debe notarse que el aparato de codificación de imágenes repite los procedimientos de TU (S203 a S222) el número de veces que haya TU en una sola CU ya que los procedimientos se realizan en todas las TU dentro de una sola CU.
Si el tamaño de TU no es menor que el tamaño de bloque más pequeño (no en S203), la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación Y 105 (S204). La unidad de transformación Y 105 realiza el procedimiento de transformación en Y, y envía el resultado transformado al codificador 108 (S205). El codificador 108 codifica la Y transformada y envía un flujo de bits de la Y codificada (S206).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación U 106 (S208). La unidad de transformación U 106 realiza el procedimiento de transformación en U, y envía el resultado transformado al codificador 108 (S208). El codificador 108 codifica la U transformada y envía un flujo de bits de la U codificada (S209).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación V 107 (S210). La unidad de transformación V 107 realiza el procedimiento de transformación en V, y envía el resultado transformado al codificador 108 (S211). El codificador 108 codifica la V transformada y envía un flujo de bits de la V codificada (S212).
Si el tamaño de TU es menor que el tamaño de bloque más pequeño (sí en S203), la unidad de conmutación YUV 109 determina si el bloque Y actual, el bloque U, y el bloque V a transformarse y codificarse ya se han codificado (S213). Si ya se han codificado (sí en S213), se omiten los procedimientos para la TU (S214 a S222). Si aún no se han codificado (no en S213), se realiza un procedimiento de conmutación YUV (S214).
Específicamente, si los bloques Y, U, y V aún no se han codificado (no en S213), la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación Y 105 (S214). La unidad de transformación Y 105 realiza el procedimiento de transformación en Y, y envía el resultado transformado al codificador 108 (S215). Debe notarse que el aparato de codificación de imágenes repite los procedimientos Y (S215 a S216) el número de veces que haya Tu en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. El codificador 108 codifica la Y transformada y envía un flujo de bits de la Y codificada (S216).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación U 106 (S217). La unidad de transformación U 106 realiza el procedimiento de transformación en U, y envía el resultado transformado al codificador 108 (S218). Debe notarse que el aparato de codificación de imágenes repite los procedimientos U (S218 a S219) el número de veces que haya TU en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. El codificador 108 codifica la U transformada y envía un flujo de bits de la U codificada (S219).
A continuación, la unidad de conmutación YUV 109 conmuta la entrada al codificador 108 para que sea la salida de la unidad de transformación V 107 (S220). La unidad de transformación V 107 realiza el procedimiento de transformación en V, y envía el resultado transformado al codificador 108 (S221). Debe notarse que el aparato de codificación de imágenes repite los procedimientos V (S221 a S222) el número de veces que haya TU en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. El codificador 108 codifica la V transformada y envía un flujo de bits de la V codificada (S222).
(Resultado)
Con la segunda realización, es posible combinar y procesar Y, U, y V en bloques múltiples respectivos e introducir las imágenes de entrada en casi un lote para cada Y, U y V, aumentando de esta manera la eficiencia de transferencia de datos. Esto es especialmente efectivo en un sistema que usa memoria de alta velocidad tal como la memoria caché, ya que la capacidad de procesar Y o U o V en secuencia conduce a una mejora en la relación de aciertos de la memoria caché. Además, se puede suprimir la variación en el número de píxeles en un conjunto YUV, y se puede aumentar la velocidad de operación de la unidad de cálculo cuando se procesan en paralelo unidades de datos YUV con múltiples unidades de cálculo. Se dará un ejemplo específico con referencia a la Figura 10.
La Figura 10 ilustra un sistema en el cual se usan cuatro unidades de cálculo para procesar el conjunto YUV en el que el conjunto YUV se divide y asigna a las unidades de cálculo de la A a la D en orden desde el principio. Cuando las YUV se disponen consistentemente por tamaño de TU como en (A), la carga de procesamiento requerida de la unidad de cálculo C y la unidad de cálculo D es pequeña en comparación con la de la unidad de cálculo A y la unidad de cálculo B. En consecuencia, la velocidad operación de la unidad de cálculo C y la unidad de cálculo D disminuye. Sin embargo, al disponer la YUV por unidad de datos del tamaño de bloque más grande del más pequeño y el tamaño de TU tal como en la segunda realización, la carga de procesamiento es igual para cada una de las unidades de cálculo de la A a la D, aumentando de esta manera la velocidad de operación de la unidad de cálculo C y la unidad de cálculo D.
Realización 3
(Configuración)
La Figura 11 muestra una configuración del aparato de decodificación de imágenes de acuerdo con la tercera realización. El aparato de decodificación de imágenes se usa cuando se decodifica el flujo de bits codificado por el aparato de codificación de imágenes descrito en la primera realización. El aparato de decodificación de imágenes incluye un decodificador 301, una unidad de transformación inversa Y 302, una unidad de transformación inversa U 303, una unidad de transformación inversa V 304, una unidad de combinación YUV 305, una unidad de combinación TU 306, una unidad de combinación CU 307, una unidad de conmutación YUV 308, y una unidad de partición de bloques adyacente 309.
El decodificador 301 decodifica un flujo de bits y envía los datos YUV transformados. La unidad de transformación inversa Y 302, la unidad de transformación inversa U 303, y la unidad de transformación inversa V 304 realizan cada una un procedimiento de transformación inversa en Y, U, y V, respectivamente. La unidad de combinación YUV 305 combina los componentes Y, U, y V. En esta realización, el formato de imagen es 4:2:0. En este formato, el tamaño del componente U y el componente V son un cuarto del tamaño del componente Y.
La unidad de combinación TU 306 combina la TU en la CU de acuerdo con un tamaño de TU especificado, y genera la CU. La unidad de combinación CU 307 combina la CU en una imagen de acuerdo con un tamaño de CU especificado y genera la imagen. La unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 de acuerdo con el tamaño de TU. La unidad de partición de bloques adyacente 309 particiona el resultado de la transformación inversa para cada una de las cuatro maneras U y V de acuerdo con el tamaño de TU y el tamaño de TU más pequeño.
(Operación)
A continuación, se describirá el flujo de decodificación con referencia a la Figura 12. Primero, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa Y 302 (5301) . Debe notarse que el aparato de decodificación de imágenes repite los procedimientos de TU (S301 a S314) el número de veces que haya TU en una sola CU ya que los procedimientos se realizan en todas las TU dentro de una sola CU. Además, el aparato de decodificación de imágenes repite los procedimientos de CU (S301 a S315) el número de veces que haya CU en una sola imagen ya que los procedimientos se realizan en todas las CU dentro de una sola imagen.
A continuación, el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa Y 302 (5302) . La unidad de transformación inversa Y 302 realiza un procedimiento de transformación inversa en Y, y envía el resultado transformado inverso a la unidad de combinación YUV 305 (S303).
A continuación, la unidad de partición de bloques adyacente 309 determina si el bloque U actual que se decodifica ya se ha decodificado (S304). Si el bloque U ya se ha decodificado (sí en S304), se omiten los procedimientos para el bloque U y el bloque V (S305 a S313). Si aún no está decodificado (no en S304), se realiza un procedimiento de conmutación YUV (S305).
Específicamente, si el bloque U aún no se ha decodificado (no en S304), la unidad de conmutación YUV 308 conmuta la salida del decodificador 301 para que se introduzca en la unidad de transformación inversa U 303 (S305). A continuación, el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa U 303 (S306). La unidad de transformación inversa U 303 realiza un procedimiento de transformación inversa en U, y envía el resultado transformado inverso a la unidad de partición de bloques adyacente 309 (S307).
A continuación, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa V 304 (S308). Entonces el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa V 304 (S309). La unidad de transformación inversa V 304 realiza un procedimiento de transformación inversa en V, y envía el resultado transformado inverso a la unidad de partición de bloques adyacente 309 (S310).
A continuación, la unidad de partición de bloques adyacente 309 determina si el tamaño de la U dentro de la TU es más pequeño que el tamaño de la TU más pequeño (S311). Si el tamaño de la U es menor que el tamaño de la TU más pequeño (sí en S311), se realiza un procedimiento de partición de bloques en U (S312). Si el tamaño de la U no es menor que el tamaño de TU más pequeño (no en S311), el resultado transformado inverso de la entrada U y V se envía a la unidad de combinación YUV 305 tal como está, y se realiza un procedimiento de combinación YUV (S314).
Si el tamaño de la U es más pequeño que el tamaño de TU más pequeño (sí en S311), la unidad de partición de bloques adyacente 309 particiona el bloque U transformado inverso por la mitad en altura y a lo largo, lo que resulta en cuatro partes particionadas, y envía el resultado a la unidad de combinación YUV 305 (S312). La unidad de partición de bloques adyacente 309 particiona el bloque V transformado inverso por la mitad en altura y a lo largo, lo que resulta en cuatro partes particionadas, y envía el resultado a la unidad de combinación YUV 305 (S313).
La unidad de combinación YUV 305 combina los componentes Y, U, y V y genera un valor de píxel TU (S314). La unidad de combinación TU 306 combina la TU en la CU y genera la CU (S315). La unidad de combinación CU 307 combina la CU en una imagen y genera la imagen (S316).
(Resultado)
Con la tercera realización, es posible decodificar U y V incluso antes de que se haya decodificado cada Y en la CU, eliminando de esta manera la necesidad de almacenar en búfer el resultado de la decodificación de U y V y permitiendo una memoria de búfer o registro reducido.
Además, incluso cuando el tamaño de TU es el tamaño de TU más pequeño y el número de píxeles en U o V es menor que el número de píxeles en Y, como es el caso en un formato 4:2:0 o 4:2:2, ni U ni V son más pequeños que el tamaño de TU más pequeño. Como resultado, no es necesario proporcionar un circuito de transformación inversa que sea más pequeño que la TU más pequeña. Además, por el contrario, a un caso en el cual Y tuvo que fabricarse más grande que el tamaño de TU más pequeño en un esfuerzo por evitar que U o V fueran más pequeñas que la TU más pequeña, con esta configuración, Y puede fabricarse para que sea el tamaño de TU más pequeño, lo que resulta en una mayor eficiencia de codificación.
Debe notarse que en la tercera realización se usa un formato 4:2:0, pero se puede usar un formato 4:2:2, 4:4:4 o diferente. Cuando se usa un formato 4:2:2, la unidad de partición de bloques adyacente 309 puede particionar los bloques U y V en altura en dos partes en lugar de particionar los bloques U y Ven cuatro partes (S312 y S313 en la Figura 12).
Además, en la tercera realización, el tamaño de CU y el tamaño de TU se introducen externamente. Sin embargo, el tamaño de CU y el tamaño de TU pueden estar presentes dentro del flujo de bits. El decodificador 301 puede decodificar y obtener el tamaño de CU y el tamaño de TU.
Además, cuando el flujo de bits mostrado en la Figura 5 se usa, la unidad de partición de bloques adyacente 309 puede determinar si el bloque U que se procesa está presente o no en lugar de determinar si el bloque U ya se ha decodificado o no (S304 en la Figura 12). Si el bloque U que se va a procesar no está presente, el aparato de decodificación de imágenes puede omitir los procedimientos U y V (S305 al S314 en la Figura 12). Con esto, el aparato de decodificación de imágenes puede decodificar el flujo de bits mostrado en la Figura 5 al igual que el flujo de bits mostrado en la Figura 3.
Realización 4
(Configuración)
La Figura 13 muestra una configuración del aparato de decodificación de imágenes de acuerdo con la cuarta realización. El aparato de decodificación de imágenes se usa cuando se decodifica el flujo de bits codificado por el aparato de codificación de imágenes descrito en la segunda realización. Aquí, sólo se describe la unidad de conmutación YUV 308 ya que la unidad de conmutación YUV 308 es diferente de la tercera realización.
La unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 de acuerdo con el tamaño de TU y el tamaño de bloque más pequeño especificado. Específicamente, la unidad de conmutación YUV conmuta la salida del decodificador 301 por unidad de datos a la unidad de transformación inversa Y 302, la unidad de transformación inversa U 303 o la unidad de transformación inversa V 304. Aquí, la unidad de datos es la mayor entre el tamaño de TU y el tamaño de bloque más pequeño.
(Operación)
A continuación, se describirá el flujo de decodificación con referencia a la Figura 14. Primero, la unidad de conmutación YUV 308 determina si el tamaño de TU es más pequeño que el tamaño de bloque más pequeño (S401). Si el tamaño de TU es menor que el tamaño de bloque más pequeño (sí en S401), se realiza un procedimiento de determinación de decodificación (S411). Si el tamaño de TU no es menor que el tamaño de bloque más pequeño (no en S401), se realiza un procedimiento de conmutación YUV (S402).
Debe notarse que el aparato de decodificación de imágenes repite los procedimientos de TU (S401 a S421) el número de veces que haya TU en una sola CU ya que los procedimientos se realizan en todas las TU dentro de una sola CU. Además, el aparato de decodificación de imágenes repite los procedimientos de CU (S401 a S422) el número de veces que haya CU en una sola imagen ya que los procedimientos se realizan en todas las CU dentro de una sola imagen.
Después de que se ha realizado una determinación, cuando el tamaño de TU no es menor que el tamaño de bloque más pequeño (no en S401), la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa Y 302 (S402). A continuación, el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa Y 302 (S403). La unidad de transformación inversa Y 302 realiza un procedimiento de transformación inversa en Y, y envía el resultado transformado inverso a la unidad de combinación YUV 305 (S404).
A continuación, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa U 303 (S405). El decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa U 303 (S406). La unidad de transformación inversa U 303 realiza un procedimiento de transformación inversa en U, y envía el resultado transformado inverso a la unidad de combinación YUV 305 (S407).
A continuación, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa V 304 (S408). Entonces el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa V 304 (S409). La unidad de transformación inversa de V 304 realiza un procedimiento de transformación inversa en V, y envía el resultado transformado inverso a la unidad de combinación de YUV 305 (S410).
Si el tamaño de TU es menor que el tamaño de bloque más pequeño (sí en S401), la unidad de conmutación YUV 308 determina si el bloque actual que se decodifica ya se ha decodificado (S411). Si el bloque ya se ha decodificado (sí en S411), se realiza un procedimiento de combinación YUV (S421). Si aún no está decodificado (no en S411), se realiza un procedimiento de conmutación YUV (S412).
Específicamente, cuando el bloque aún no se ha decodificado (no en S411), la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa Y 302 (S412). A continuación, el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa Y 302 (S413). Debe notarse que el aparato de decodificación de imágenes repite los procedimientos Y (S413 a S414) el número de veces que haya TU en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. La unidad de transformación inversa Y 302 realiza un procedimiento de transformación inversa en Y, y envía el resultado transformado inverso a la unidad de combinación YUV 305 (S414).
A continuación, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa U 303 (S415). El decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa U 303 (S416). Debe notarse que el aparato de decodificación de imágenes repite los procedimientos U (S416 a S417) el número de veces que haya TU en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. La unidad de transformación inversa U 303 realiza un procedimiento de transformación inversa en U, y envía el resultado transformado inverso a la unidad de combinación YUV 305 (S417).
A continuación, la unidad de conmutación YUV 308 conmuta el destino de salida del decodificador 301 para que sea la unidad de transformación inversa V 304 (S418). Entonces el decodificador 301 decodifica y envía un flujo de bits a la unidad de transformación inversa V 304 (S419). Debe notarse que el aparato de decodificación de imágenes repite los procedimientos V (S419 a S420) el número de veces que haya TU en un bloque más pequeño ya que los procedimientos se realizan en todas las TU dentro del bloque más pequeño. La unidad de transformación inversa de V 304 realiza un procedimiento de transformación inversa en V, y envía el resultado transformado inverso a la unidad de combinación de YUV 305 (S420).
Una vez realizados los procedimientos en cada una de las Y, U, y V, la unidad de combinación YUV 305 combina los componentes Y, U, y V y genera un valor de píxel TU (S421). La unidad de combinación TU 306 combina la TU en la CU y genera la CU (S422). La unidad de combinación CU 307 combina la CU en una imagen y genera la imagen (S423).
(Resultado)
Con la cuarta realización, es posible combinar y procesar Y, U, y V en respectivos bloques múltiples y enviar las imágenes de salida en casi un lote para cada Y, U y V, aumentando de esta manera la eficiencia de la transferencia de datos. Además, se puede suprimir la variación en el número de píxeles en un conjunto YUV, y se puede aumentar la velocidad de operación de la unidad de cálculo cuando se procesan en paralelo unidades de datos YUV con múltiples unidades de cálculo.
Realización 5
En la quinta realización, las configuraciones y procedimientos característicos de la primera a la cuarta realización se describen con propósitos de confirmación. Las configuraciones y procedimientos de acuerdo con la quinta realización corresponden a la configuración y procedimientos descritos en las realizaciones de la primera a la cuarta. Es decir, los conceptos descritos en las realizaciones de la primera a cuarta incluyen las configuraciones y procedimientos de acuerdo con la quinta realización.
La Figura 15A es un diagrama de bloques que ilustra una configuración del aparato de codificación de imágenes de acuerdo con la quinta realización. El aparato de codificación de imágenes 500 mostrado en la Figura 15A codifica una imagen por unidad de codificación. Además, el aparato de codificación de imágenes 500 incluye una unidad de transformación de frecuencia 501 y un codificador 502. La unidad de transformación de frecuencia 501 corresponde, por ejemplo, a la unidad de transformación Y 105, la unidad de transformación U 106, y la unidad de transformación V 107 descritas en la primera o segunda realización. El codificador 502 corresponde, por ejemplo, al codificador 108 descrito en la primera o segunda realización.
La Figura 15B es un diagrama de flujo que ilustra las operaciones del aparato de codificación de imágenes 500 mostrado en la Figura 15A.
Primero, la unidad de transformación de frecuencia 501 aplica una transformación de frecuencia a los datos de luminancia y los datos de crominancia de la pluralidad de unidades de transformación en una unidad de codificación (S501). La unidad de codificación incluye una pluralidad de bloques predeterminados. Cada uno de los bloques predeterminados corresponde a una o más unidades de transformación.
A continuación, el codificador 502 codifica los datos de luminancia transformados en frecuencia y los datos de crominancia transformados en frecuencia, y envía un flujo de bits de los mismos (S502). Este flujo de bits es un flujo de bits de los datos de luminancia y los datos de crominancia combinados por bloque predeterminado.
Con esto, se puede reducir la memoria o registro para almacenar en búfer los datos de la pluralidad de unidades de transformación. Es decir, una imagen se codifica de manera eficiente.
La Figura 16A es un diagrama de bloques que ilustra una configuración del aparato de decodificación de imágenes de acuerdo con la quinta realización. El aparato de decodificación de imágenes 600 mostrado en la Figura 16A decodifica una imagen por unidad de codificación. Además, el aparato de decodificación de imágenes 600 incluye un decodificador 601 y una unidad de transformación de frecuencia inversa 602. El decodificador 601 corresponde, por ejemplo, al decodificador 301 descrito en la tercera o cuarta realización. La unidad de transformación de frecuencia inversa 602 corresponde, por ejemplo, a la unidad de transformación inversa Y 302, la unidad de transformación inversa U 303, y la unidad de transformación inversa V 304 descritas en la tercera o cuarta realización.
La Figura 16B es un diagrama de flujo que ilustra las operaciones del aparato de decodificación de imágenes 600 mostrado en la Figura 16A.
Primero, el decodificador 601 obtiene un flujo de bits y decodifica los datos de luminancia y los datos de crominancia (S601). Este flujo de bits es un flujo de bits de datos de luminancia y datos de crominancia combinados (por bloque predeterminado), transformados en frecuencia, y codificados de la pluralidad de unidades de transformación en una unidad de codificación. Además, la unidad de codificación incluye una pluralidad de bloques predeterminados. Cada uno de los bloques predeterminados corresponde a una o más unidades de transformación.
A continuación, la unidad de transformación de frecuencia inversa 602 aplica una transformación de frecuencia inversa a los datos de luminancia decodificados y los datos de crominancia decodificados (S602).
Con esto, se puede reducir la memoria o registro para almacenar en búfer los datos de la pluralidad de unidades de transformación. Es decir, una imagen se decodifica de manera eficiente.
Debe notarse que, por ejemplo, cada uno de los bloques predeterminados puede corresponder a una unidad de transformación. Además, por ejemplo, cada uno de los bloques predeterminados puede corresponder a una pluralidad de unidades de transformación en un bloque de un tamaño predeterminado, o a una unidad de transformación de un tamaño mayor o igual al tamaño predeterminado. El tamaño predeterminado puede ser dos veces o cuatro veces el tamaño de un tamaño predeterminado más pequeño de la unidad de transformación. El tamaño predeterminado se puede cambiar en base al formato de imagen.
Además, por ejemplo, en el flujo de bits, en cada uno de los bloques predeterminados, los datos de luminancia pueden disponerse en sucesión y agruparse juntos, y los datos de crominancia pueden disponerse en sucesión y agruparse juntos. Además, por ejemplo, en el flujo de bits, todos los datos de crominancia de una pluralidad de unidades de transformación en un bloque predeterminado pueden disponerse después de todos los datos de luminancia de una pluralidad de unidades de transformación en un bloque predeterminado. Además, por ejemplo, en el flujo de bits, los datos de luminancia y los datos de crominancia de un segundo bloque predeterminado pueden disponerse después de los datos de luminancia y los datos de crominancia de un primer bloque predeterminado.
Además, por ejemplo, la unidad de transformación de frecuencia 501 puede aplicar una transformación de frecuencia a los datos de luminancia y los datos de crominancia por unidad de transformación, y la unidad de transformación de frecuencia inversa 602 puede aplicar una transformación de frecuencia inversa a los datos de luminancia y los datos de crominancia por unidad de transformación. Además, por ejemplo, cuando el número de píxeles en los datos de crominancia es menor que el número de píxeles en los datos de luminancia, la unidad de transformación de frecuencia 501 puede aplicar una transformación de frecuencia a los datos de crominancia por bloque predeterminado, y la unidad de transformación de frecuencia inversa 602 puede aplicar una transformación de frecuencia inversa a los datos de crominancia por bloques predeterminados.
Además, por ejemplo, la unidad de transformación de frecuencia 501 puede combinar los datos de crominancia de una pluralidad de unidades de transformación en un bloque que es menor o igual a un tamaño predeterminado, y puede aplicar una transformación de frecuencia a los datos de crominancia combinados de una vez. La unidad de transformación de frecuencia 501 puede realizar estos tipos de procedimientos cuando el tamaño de la unidad de transformación es el tamaño más pequeño predeterminado y el número de píxeles en los datos de crominancia en la unidad de transformación es menor que el número de píxeles en los datos de luminancia en la unidad de transformación. El aparato de codificación de imágenes 500 puede incluir una unidad de combinación que combina los datos de crominancia de una pluralidad de unidades de transformación.
Además, por ejemplo, la unidad de transformación de frecuencia inversa 602 puede, de una vez, aplicar una transformación de frecuencia inversa a los datos de crominancia de una pluralidad de unidades de transformación en un bloque que es menor o igual a un tamaño predeterminado. La unidad de transformación de frecuencia inversa 602 puede realizar este tipo de procedimiento cuando el tamaño de la unidad de transformación es el tamaño más pequeño predeterminado y el número de píxeles en los datos de crominancia en la unidad de transformación es menor que el número de píxeles en los datos de luminancia en la unidad de transformación. El aparato de decodificación de imágenes 600 puede incluir una unidad de partición que particiona los datos de crominancia.
Además, por ejemplo, el aparato de codificación y decodificación de imágenes puede incluir el aparato de codificación de imágenes 500 y el aparato de decodificación de imágenes 600. Además, los elementos estructurales descritos en otras realizaciones pueden añadirse al aparato de codificación de imágenes 500 o al aparato de decodificación de imágenes 600.
En cada una de las realizaciones anteriores, cada uno de los bloques de función se puede realizar por lo general por medio de MPU o memoria, por ejemplo. Además, el procesamiento de cada uno de los bloques de función se puede realizar por lo general por medio de software (programa) almacenado en un medio de almacenamiento tal como ROM. El software puede distribuirse a través de la descarga, o distribuirse en un medio de almacenamiento tal como un CD-ROM. Debe notarse que cada bloque de función también se puede realizar por medio de hardware (circuito dedicado).
Además, el procesamiento descrito en cada una de las realizaciones puede realizarse por medio de procesamiento integrado usando un solo aparato (sistema), o realizado por medio de procesamiento descentralizado usando una pluralidad de aparatos. Además, el ordenador que ejecuta el programa anterior puede ser una sola computadora o una pluralidad de computadoras. En otras palabras, se puede realizar un procesamiento integrado o un procesamiento descentralizado.
Cada uno de los elementos estructurales en cada una de las realizaciones descritas anteriormente puede configurarse en forma de un producto de hardware exclusivo, o puede realizarse ejecutando un programa de software adecuado para el elemento estructural. Cada uno de los elementos estructurales puede realizarse por medio de una unidad de ejecución de programa, tal como una CPU y un procesador, que lee y ejecuta el programa de software grabado en un medio de grabación tal como un disco duro o una memoria semiconductora. Aquí, el programa de software para realizar el aparato de codificación de imágenes de acuerdo con cada una de las realizaciones es un programa que se describe a continuación.
Es decir, el programa provoca que la computadora ejecute el procedimiento de codificación de imágenes de codificar una imagen por unidad de codificación que incluye: aplicar una transformación de frecuencia a los datos de luminancia y los datos de crominancia de las unidades de transformación en la unidad de codificación que incluye bloques predeterminados cada uno correspondiente a una o más de las unidades de transformación; y codificar los datos de luminancia y los datos de crominancia a los cuales se ha aplicado la transformación de frecuencia para generar un flujo de bits en el cual los datos de luminancia y los datos de crominancia se agrupan por bloques predeterminados.
Además, el programa puede provocar que la computadora ejecute el procedimiento de decodificación de imágenes para decodificar una imagen por unidad de codificación que incluye: decodificar datos de luminancia y datos de crominancia de unidades de transformación en la unidad de codificación que incluye bloques predeterminados cada uno correspondiente a una o más de las unidades de transformación tras obtener un flujo de bits en el cual los datos de luminancia codificados y transformados en frecuencia y los datos de crominancia se agrupan por bloques predeterminados; y aplicar una transformación de frecuencia inversa a los datos de luminancia decodificados y los datos de crominancia decodificados.
Realización 6
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 implementar las configuraciones del procedimiento de codificación de imágenes en movimiento (procedimiento de codificación de imágenes) y el procedimiento de decodificación de imágenes en movimiento (procedimiento de decodificación de imágenes) descrito en cada una de las realizaciones. El medio de grabación puede ser cualquier medio de grabación siempre que se pueda grabar el programa, tal como un disco magnético, un disco óptico, un disco óptico magnético, una tarjeta IC, y una memoria semiconductora.
De aquí en adelante, se describirán las solicitudes del procedimiento de codificación de imágenes en movimiento (procedimiento de codificación de imágenes) y el procedimiento de decodificación de imágenes en movimiento (procedimiento de decodificación de imágenes) descritos en cada una de las realizaciones y sistemas que los usan. El sistema tiene la característica de tener un aparato de codificación y decodificació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 decodificación de imágenes que usa el procedimiento de decodificación de imágenes. Otras configuraciones en el sistema se pueden cambiar según sea apropiado en función de los casos.
La Figura 17 ilustra una configuración general de un sistema de suministro de contenido ex100 para implementar servicios de distribución de contenido. El área para proporcionar servicios de comunicación se divide en células del tamaño deseado, y las estaciones base ex106, ex107, ex108, ex109, y ex110 las cuales son estaciones inalámbricas fijas que se colocan en cada una de las células.
El sistema de suministro de contenido ex100 se conecta a dispositivos, tal como una computadora ex111, un asistente digital personal (PDA) ex112, una cámara ex113, un teléfono celular ex114 y una máquina de juegos ex115, a través de Internet ex101, un proveedor de servicios de Internet ex102, una red telefónica ex104, así como también las estaciones base ex106 a ex110, respectivamente.
Sin embargo, la configuración del sistema de suministro de contenido ex100 no se limita a la configuración mostrada en la Figura 17, y es aceptable una combinación en la que cualquiera de los elementos se conecte. Además, cada dispositivo puede conectarse directamente a la red telefónica ex104, en lugar de a través de las estaciones base ex106 a ex110 que son las estaciones inalámbricas fijas. Además, los dispositivos pueden interconectarse entre sí a través de una comunicación inalámbrica de corta distancia y otros.
La cámara ex113, tal como una cámara de video digital, es capaz de capturar video. Una cámara ex116, tal como una cámara digital, es capaz de capturar ambas imágenes fijas y de video. Además, el teléfono celular ex114 puede ser el que cumpla con cualquiera de los estándares tales como Sistema global para comunicaciones móviles (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 a paquetes de alta velocidad (HSPA). Alternativamente, el teléfono celular ex114 puede ser un sistema de teléfono portátil personal (PHS).
En el sistema de suministro de contenido ex100, un servidor de transmisión ex103 se conecta a la cámara ex113 y otros a través de la red telefónica ex104 y la estación base ex109, el cual permite la distribución de imágenes de un programa en vivo y otros. En dicha distribución, un contenido (por ejemplo, video de un programa de música en vivo) capturado por el usuario usando la cámara ex113 se codifica como se describió 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 transmisión ex103. Por otro lado, el servidor de trasmisión ex103 lleva a cabo la distribución de flujo de los datos de contenido transmitidos a los clientes según sus solicitudes. Los clientes incluyen la computadora ex111, la PDA ex112, la cámara ex113, el teléfono celular ex114, y la máquina de juegos ex115 que son capaces de decodificar los datos codificados antes mencionados. Cada uno de los dispositivos que han recibido los datos distribuidos decodifica y reproduce los datos codificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Los datos capturados se pueden codificar por la cámara ex113 o el servidor de transmisión ex103 que transmite los datos, o los procedimientos de codificación se pueden compartir entre la cámara ex113 y el servidor de transmisión ex103. De manera similar, los datos distribuidos se pueden ser decodificar por los clientes o el servidor de transmisión ex103, o los procedimientos de decodificación se pueden compartir entre los clientes y el servidor de transmisión ex103. Además, los datos de las imágenes fijas y el vídeo capturado no solo por la cámara ex113 sino también por la cámara ex116 pueden transmitirse al servidor de transmisión ex103 a través de la computadora ex111. Los procedimientos de codificación se pueden realizar por la cámara ex116, la computadora ex111, o el servidor de transmisión ex103, o compartidos entre ellos.
Además, los procedimientos de codificación y decodificación se pueden realizar por un LSI ex500 generalmente incluido en cada una de las computadoras ex111 y los dispositivos. El LSI ex500 puede configurarse con un solo chip o una pluralidad de chips. El software para codificar y decodificar video puede integrarse en algún tipo de medio de grabación (como un CD-ROM, un disco flexible, y un disco duro) que sea legible por la computadora ex111 y otros, y los procedimientos de codificación y decodificación pueden realizarse usando el software. Además, cuando el teléfono celular ex114 se equipa con una cámara, los datos de video obtenidos por la cámara pueden transmitirse. Los datos de video son datos codificados por el LSI ex500 incluido en el teléfono celular ex114.
Además, el servidor de trasmisión ex103 se puede componer de servidores y computadoras, y puede descentralizar datos y procesar los datos descentralizados, grabar, o distribuir datos.
Como se describió anteriormente, los clientes pueden recibir y reproducir los datos codificados en el sistema de suministro de contenido ex100. En otras palabras, los clientes pueden recibir y decodificar la información transmitida por el usuario, y reproducir los datos decodificados en tiempo real en el sistema de suministro de contenido ex100, de manera que el usuario que no tiene ningún derecho y equipo en particular puede implementar la difusión personal.
Aparte del ejemplo del sistema de suministro de contenido ex100, al menos uno del aparato de codificación de imágenes en movimiento (aparato de codificación de imágenes) y el aparato de decodificación de imágenes en movimiento (aparato de decodificació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 18. Más específicamente, una estación de difusión ex201 comunica o transmite, a través de ondas de radio a un satélite de difusión ex202, datos multiplexados obtenidos multiplexando datos de audio y otros en datos de video. Los datos de video son datos codificados por el procedimiento de codificación de imágenes 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. Entonces, 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 un televisor (receptor) ex300 y un decodificador (STB) ex217 decodifica los datos multiplexados recibidos, y reproduce los datos decodificados (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con un aspecto de la presente invención).
Además, un lector/grabador ex218 (i) lee y decodifica 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 decodificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento como se muestra en cada una de las realizaciones. En este caso, las señales de vídeo reproducidas se visualizan en el monitor ex219, y se pueden reproducir por otro dispositivo o sistema usando el medio de grabación ex215 en el cual se graban los datos multiplexados. También es posible implementar el aparato de decodificación de imágenes en movimiento en el decodificador 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 video en el monitor ex219 del televisor ex300. El aparato de decodificación de imágenes en movimiento puede implementarse no en el decodificador sino en el televisor ex300.
La Figura 19 ilustra el televisor (receptor) ex300 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento descritos en cada una de las realizaciones. El televisor ex300 incluye: un sintonizador ex301 que obtiene o proporciona datos multiplexados obtenidos multiplexando datos de audio en datos de video, a través de la antena ex204 o el cable ex203, etc., que recibe una difusión; una unidad de modulación/demodulación ex302 que demodula los datos multiplexados recibidos o modula los datos en datos multiplexados para suministrarse al exterior; y una unidad de multiplexación/demultiplexación ex303 que demultiplexa los datos multiplexados modulados en datos de video y datos de audio, o multiplexa datos de video y datos de audio codificados mediante una unidad de procesamiento de señales ex306 en datos.
El televisor ex300 incluye además: una unidad de procesamiento de señales ex306 que incluye una unidad de procesamiento de señales de audio ex304 y una unidad de procesamiento de señales de video ex305 que decodifican datos de audio y datos de video y codifican datos de audio y datos de video, respectivamente (las cuales funcionan como el aparato de codificación de imágenes y el aparato de decodificación de imágenes de acuerdo con los aspectos de la presente invención); y una unidad de salida ex309 que incluye un altavoz ex307 que proporciona la señal de audio decodificada, y una unidad de visualización ex308 que visualiza la señal de vídeo decodificada, tal como una pantalla. Además, el televisor 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. Además, el televisor ex300 incluye una unidad de control ex310 que controla en general cada elemento constitutivo del televisor ex300, y una unidad de circuito de suministro de potencia ex311 que suministra potencia a cada uno de los elementos. Aparte 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 permitir la unión del medio de grabación ex216, tal como una tarjeta 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 telefónica. Aquí, el medio de grabación ex216 puede grabar información eléctricamente usando un elemento de memoria semiconductor no volátil/volátil para almacenamiento. Los elementos constitutivos del televisor ex300 se conectan entre sí a través de un bus síncrono.
Primero, se describirá la configuración en la cual el televisor ex300 decodifica datos multiplexados obtenidos desde el exterior a través de la antena ex204 y otros y reproduce los datos decodificados. En el televisor ex300, tras una operación de usuario a través de un controlador remoto ex220 y otros, la unidad de multiplexación/demultiplexación ex303 demultiplexa los datos multiplexados demodulados por la unidad de modulación/demodulación ex302, bajo el control de la unidad de control ex310 que incluye una CPU. Además, la unidad de procesamiento de señales de audio ex304 decodifica los datos de audio demultiplexados, y la unidad de procesamiento de señales de video ex305 decodifica los datos de video demultiplexados, usando el procedimiento de decodificación descrito en cada una de las realizaciones, en el televisor ex300. La unidad de salida ex309 proporciona la señal de video decodificada y la señal de audio 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 los búferes ex318 y ex319, y otras para que las señales se reproduzcan en sincronización entre sí. Además, el televisor ex300 puede leer datos multiplexados no a través de una difusión y otros, sino de los medios de grabación ex215 y ex216, tales como un disco magnético, un disco óptico, y una tarjeta SD. A continuación, se describirá una configuración en la cual el televisor 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 el televisor ex300, tras una operación de usuario a través del controlador remoto ex220 y otros, la unidad de procesamiento de señales de audio ex304 codifica una señal de audio, y la unidad de procesamiento de señales de video ex305 codifica una señal de video, bajo 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/demultiplexación ex303 multiplexa la señal de video codificada y la señal de audio, y proporciona la señal resultante al exterior. Cuando la unidad de multiplexación/demultiplexación ex303 multiplexa la señal de video y la señal de audio, las señales pueden almacenarse temporalmente en los búferes ex320 y ex321, y otros para que las señales se reproduzcan en sincronización entre sí. Aquí, los búferes ex318, ex319, ex320, y ex321 pueden ser plurales como se ilustra, o al menos un búfer puede compartirse en el televisor ex300. Además, los datos pueden almacenarse en un búfer de manera que se pueda evitar el desbordamiento y el subdesbordamiento del sistema entre la unidad de modulación/demodulación ex302 y la unidad de multiplexación/demultiplexación ex303, por ejemplo.
Además, el televisor ex300 puede incluir una configuración para recibir una entrada AV desde un micrófono o una cámara distinta a la configuración para obtener datos de audio y video desde una difusión o un medio de grabación, y puede codificar los datos obtenidos. Aunque el televisor ex300 puede codificar, multiplexar, y proporcionar datos externos en la descripción, puede que solo sea capaz de recibir, decodificar y proporcionar datos externos, pero no codificar, multiplexar, y proporcionar datos externos.
Además, cuando el lector/grabador ex218 lee o escribe datos multiplexados desde o en un medio de grabación, uno de los televisores ex300 y el lector/grabador ex218 pueden decodificar o codificar los datos multiplexados, y el televisor ex300 y el lector/grabador ex218 pueden compartir la decodificación o codificación.
Como un ejemplo, la Figura 20 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 constitutivos ex401, ex402, ex403, ex404, ex405, ex406, y ex407 que se describe de aquí en adelante. 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 la 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 semiconductor incluido en el cabezal óptico ex401, y modula la luz láser de acuerdo con los datos grabados. La unidad de demodulación de reproducción ex403 amplifica una señal de reproducción obtenida al detectar eléctricamente la luz reflejada desde la superficie de grabación usando un fotodetector incluido en el cabezal óptico ex401, y demodula 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. El búfer ex404 retiene temporalmente la información a grabar 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 accionamiento de rotación del motor de disco ex405 para seguir el punto láser. La unidad de control del sistema ex407 controla en general la unidad de reproducción/grabación de información ex400. Los procedimientos de lectura y escritura pueden implementarse mediante la unidad de control del sistema ex407 usando diversa información almacenada en el búfer ex404 y generando y adicionando nueva información según sea necesario, y mediante la unidad de grabación de modulación ex402, la unidad de demodulació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 manera coordinada. La unidad de control del sistema ex407 incluye, por ejemplo, un microprocesador, y ejecuta el procesamiento provocando que una computadora ejecute un programa de lectura y escritura.
Aunque el cabezal óptico ex401 irradia un punto láser en la descripción, puede realizar una grabación de alta densidad usando luz del campo cercano.
La Figura 21 ilustra el medio de grabación ex215 que es el disco óptico. En la superficie de grabación del medio de grabación ex215, las ranuras de guía se forman en espiral, y una pista de información ex230 graba, de antemano, información de dirección que indica una posición absoluta en el disco de acuerdo con el cambio en la forma de las ranuras de guía. La información de dirección incluye información para determinar las posiciones de los bloques de grabación ex231 que son una unidad para grabar datos. La reproducción de la pista de información ex230 y la lectura de la información de la 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. Además, el medio de grabación ex215 incluye un área de grabación de datos ex233, un área de circunferencia interior ex232, y un área de circunferencia exterior ex234. El área de grabación de datos ex233 es un área para su uso en la grabación de datos de usuario. El área de circunferencia interior ex232 y el área de circunferencia exterior ex234 que están dentro y fuera del área de grabación de datos ex233, respectivamente son para uso específico excepto para grabar los datos del usuario. La unidad de reproducción/grabación de información 400 lee y escribe audio codificado, datos de video codificados o datos multiplexados obtenidos multiplexando los datos de audio y video codificados, desde y sobre el área de grabación de datos ex233 del medio de grabación ex215.
Aunque un disco óptico que tiene una capa, tal como un DVD y un BD se describe como un ejemplo en la descripción, el disco óptico no se limita a tal, y puede ser un disco óptico que tiene una estructura de múltiples capas y que se puede grabar en una otra parte que no sea la superficie. Además, el disco óptico puede tener una estructura para grabación/reproducción multidimensional, tal como grabar 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 varios ángulos.
Además, un automóvil 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 para automóviles ex211 instalado en el automóvil ex210, en el sistema de difusión digital ex200. Aquí, una configuración del sistema de navegación para automóviles ex211 será una configuración, por ejemplo, que incluye una unidad de recepción de GPS de la configuración ilustrada en la Figura 19. Lo mismo será cierto para la configuración de la computadora ex111, el teléfono celular ex114, y otros.
La Figura 22A ilustra el teléfono celular ex114 que usa el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes 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 fijas y en movimiento; y una unidad de visualización ex358, tal como una pantalla de cristal líquido, para visualizar los datos como un video decodificado capturado por la unidad de cámara ex365 o recibido por la antena ex350. El teléfono celular ex114 incluye además: una unidad de cuerpo principal que incluye una unidad de tecla 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 imágenes fijas, audio grabado, datos codificados o decodificados del vídeo recibido, las imágenes 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 manera que la unidad de memoria ex367.
A continuación, se describirá un ejemplo de una configuración del teléfono celular ex114 con referencia a la Figura 22B. 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 también la unidad de tecla de operación ex366, se conecta mutuamente, a través de un bus síncrono ex370, a una unidad de circuito de suministro de potencia ex361, una unidad de control de entrada de operación ex362, una unidad de procesamiento de señales de video 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/demodulación ex352, una unidad de multiplexación/demultiplexació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 encendido se activa mediante la operación de un usuario, la unidad de circuito de suministro de potencia ex361 suministra potencia a las unidades respectivas desde un paquete de baterías para 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 recopiladas por la unidad de entrada de audio ex356 en el modo de conversación de voz en señales de audio digitales bajo el control de la unidad de control principal ex360 que incluye una CPU, ROM, y RAM. Entonces, la unidad de modulación/demodulación ex352 realiza un procesamiento de espectro ensanchado en las señales de audio digitales, y la unidad de transmisión y recepción ex351 realiza conversión de digital a analógico y conversión de frecuencia en los datos, para transmitir los datos resultantes a través de la antena ex350. Además, en el teléfono celular ex114, la unidad de transmisión y recepción ex351 amplifica los datos recibidos por la antena ex350 en el modo de conversación de voz y realiza la conversión de frecuencia y la conversión analógico-digital en los datos. Entonces, la unidad de modulación/demodulación ex352 realiza un procesamiento de espectro ensanchado inverso sobre los datos, y la unidad de procesamiento de señales de audio ex354 las convierte en señales de audio analógicas, para enviarlas a través de la unidad de salida de audio ex357.
Además, cuando se transmite un correo electrónico en el modo de comunicación de datos, los datos de texto del correo electrónico introducidos al operar la unidad de tecla de operación ex366 y otros del cuerpo principal se envían a la unidad de control principal ex360 a través de la unidad de control de entrada de operación. ex362. La unidad de control principal ex360 provoca que la unidad de modulación/demodulación ex352 realice un procesamiento de espectro ensanchado en los datos de texto, y la unidad de transmisión y recepción ex351 realiza la conversión de digital a analógico y la conversión de frecuencia en los datos resultantes para transmitir los datos a la estación base ex110 a través de la antena ex350. Cuando se recibe un correo electrónico, se realiza un procesamiento que es aproximadamente inverso al procesamiento para transmitir un correo electrónico en los datos recibidos, y los datos resultantes se proporcionan a la unidad de visualización ex358.
Cuando se transmiten o se 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 las señales de vídeo suministradas desde la unidad de cámara ex365 usando el procedimiento de codificación de imágenes 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/demultiplexación ex353. Por el contrario, 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 señales de audio recopiladas por la unidad de entrada de audio ex356 y transmite los datos de audio codificados a la unidad de multiplexación/demultiplexación ex353.
La unidad de multiplexación/demultiplexación ex353 multiplexa los datos de video codificados suministrados desde la unidad de procesamiento de señales de video 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/demodulación (unidad de circuito de modulación/demodulación) ex352 realiza un procesamiento de espectro ensanchado en los datos multiplexados, y la unidad de transmisión y recepción ex351 realiza conversión digital a analógica y conversión de frecuencia en los datos para transmitir los datos resultantes a través de la antena ex350.
Al recibir datos de un archivo de video que se vincula a una página Web y otros en modo comunicación de datos o cuando se recibe un correo electrónico con video y/o audio adjunto, con el fin de decodificar los datos multiplexados recibidos a través de la antena ex350, la unidad de multiplexación/demultiplexación ex353 demultiplexa los datos multiplexados en un flujo de bits de datos de video y un flujo de bits de datos de audio, y suministra a la unidad de procesamiento de señales de video ex355 los datos de video codificados y la unidad de procesamiento de señales de audio ex354 con los datos de audio codificados, a través bus síncrono ex370. La unidad de procesamiento de señales de video ex355 decodifica la señal de video usando un procedimiento de decodificación de imágenes en movimiento correspondiente al procedimiento de codificación de imágenes en movimiento mostrado en cada una de las realizaciones (es decir, funciona como el aparato de decodificación de imágenes de acuerdo con el aspecto de la presente invención), y luego la unidad de visualización ex358 visualiza, por ejemplo, el vídeo y las imágenes fijas incluidas en el archivo de vídeo vinculado a la página web a través de la unidad de control LCD ex359. Además, la unidad de procesamiento de señales de audio ex354 decodifica la señal de audio, y la unidad de salida de audio ex357 proporciona el audio.
Además, de manera similar al televisor ex300, un terminal tal como el teléfono celular ex114 probablemente tenga 3 tipos de configuraciones de implementación que incluyen no solo (i) un terminal de transmisión y recepción que incluye tanto un aparato de codificación como un aparato de decodificación, sino también (ii) un terminal de transmisión que incluye solo un aparato de codificación y (iii) un terminal de recepción que incluye solo un aparato de decodificación. Aunque el sistema de difusión digital ex200 recibe y transmite los datos multiplexados obtenidos al multiplexar datos de audio sobre datos de video en la descripción, los datos multiplexados se pueden obtener multiplexando no datos de audio sino datos de caracteres relacionados con video sobre datos de video, y pueden no ser datos multiplexados sino datos de vídeo en sí.
Como tal, el procedimiento de codificación de imágenes en movimiento y el procedimiento de decodificación de imágenes en movimiento en cada una de las realizaciones pueden usarse 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 realizaciones, y son posibles diversas modificaciones y revisiones sin apartarse del ámbito de la presente invención.
Realización 7
Los datos de vídeo se pueden generar conmutando, según sea necesario, entre (i) el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento mostrado en cada una de las realizaciones y (ii) un procedimiento de codificación de imágenes en movimiento o un aparato de codificación de imágenes en movimiento de conformidad con un estándar diferente, tal como MPEG-2, MPEG-4 AVC, y VC-1.
Aquí, cuando se genera una pluralidad de datos de vídeo que se ajustan a los diferentes estándares y luego se decodifican, los procedimientos de decodificación deben seleccionarse para ajustarse a los diferentes estándares. Sin embargo, ya que no se puede detectar a cuál estándar se ajusta cada uno de la pluralidad de datos de vídeo que se decodifican, existe el problema de que no se puede seleccionar un procedimiento de decodificación apropiado.
Con el fin de solucionar el problema, los datos multiplexados obtenidos multiplexando datos de audio y otros en datos de video tienen una estructura que incluye información de identificación que indica a cuál estándar se ajustan los datos de video. De aquí en adelante se describirá la estructura específica de los datos multiplexados que incluyen los datos de vídeo generados en el procedimiento de codificación de imágenes en movimiento y por el aparato de codificación de imágenes en movimiento mostrado en cada una de las realizaciones. Los datos multiplexados son un flujo digital en el formato de flujo de transporte MPEG-2.
La Figura 23 ilustra una estructura de los datos multiplexados. Como se ilustra en la Figura 23, los datos multiplexados se pueden obtener multiplexando al menos uno de un flujo de video, un flujo de audio, un flujo de gráficos de presentación (PG), y un flujo de gráficos interactivos. El flujo de video representa el video primario y el video secundario de una película, el flujo de audio (IG) representa una parte de audio principal y una parte de audio secundaria que se mezcla con la parte de audio principal, y el flujo de gráficos de presentación representa los subtítulos de la película. Aquí, el video principal es un video normal que se visualiza en una pantalla, y el video secundario es un video que se visualiza en una ventana más pequeña en el video principal. Además, el flujo de gráficos interactivos representa una pantalla interactiva que se generará disponiendo los componentes de la GUI en una pantalla. El flujo de video se codifica en el procedimiento de codificación de imágenes en movimiento o mediante el aparato de codificación de imágenes en movimiento mostrado en cada una de las realizaciones, o en un procedimiento de codificación de imágenes en movimiento o mediante un aparato de codificación de imágenes en movimiento de conformidad con un estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1. El flujo de audio se codifica de acuerdo con un estándar, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, y PCM lineal.
Cada flujo incluido en los datos multiplexados se identifica mediante PID. Por ejemplo, 0x1011 se asigna al flujo de video que se usará para el video de una película, 0x1100 a 0x111F se asignan a los flujos de audio, 0x1200 a 0x121F se asignan a los flujos de gráficos de presentación, 0x1400 a 0x141 F se asignan a los flujos de gráficos interactivos, 0x1 B00 a 0x1 B1F se asignan a los flujos de vídeo que se usarán para el vídeo secundario de la película, y 0x1 A00 a 0x1 A1F se asignan a los flujos de audio que se usarán para que el audio secundario se mezcle con el audio primario.
La Figura 24 ilustra esquemáticamente cómo se multiplexan los datos. Primero, un flujo de video ex235 compuesto de fotogramas de video y un flujo de audio ex238 compuesto de fotogramas de audio se transforman en un flujo de paquetes PES ex236 y un flujo de paquetes PES ex239, y además en paquetes TS ex237 y paquetes 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 interactivos ex244 se transforman en un flujo de paquetes PES ex242 y un flujo de paquetes PES ex245, y además en paquetes TS ex243 y paquetes TS ex246, respectivamente. Estos paquetes TS se multiplexan en un flujo para obtener datos multiplexados ex247.
La Figura 25 ilustra cómo se almacena un flujo de video en un flujo de paquetes PES con más detalle. La primera barra de la Figura 25 muestra un flujo de fotogramas de video en un flujo de video. La segunda barra muestra el flujo de paquetes PES. Como se indica mediante flechas denotadas como yy1, yy2, yy3, e yy4 en la Figura 25, el flujo de vídeo se divide en imágenes como imágenes I, imágenes B, e imágenes P cada una de las cuales es una unidad de presentación de vídeo, y las imágenes se almacenan en una carga útil de cada uno de los paquetes PES. Cada uno de los paquetes PES tiene un encabezado PES, y el encabezado PES almacena un sello de tiempo de presentación (PTS) que indica un tiempo de visualización de la imagen y, un sello de tiempo de decodificación (DTS) que indica un tiempo de decodificación de la imagen.
La Figura 26 ilustra un formato de paquetes TS que se escribirán finalmente en los datos multiplexados. Cada uno de los paquetes TS es un paquete de longitud fija de 188 bytes que incluye un encabezado TS de 4 bytes que tiene información, tal como un PID para identificar un flujo y una carga útil TS de 184 bytes para almacenar datos. Los paquetes PES se dividen, y almacenan en las cargas útiles de TS, respectivamente. Cuando se usa una BD ROM, a cada uno de los paquetes TS se le asigna un TP_Extra_Header de 4 bytes, por lo que resulta en paquetes fuente de 192 bytes. Los paquetes fuente se escriben en los datos multiplexados. El TP_Extra_Header almacena información como un Arrival_Time_Stamp (ATS). El ATS muestra un tiempo de inicio de transferencia en el cual cada uno de los paquetes TS se transferirá a un filtro PID. Los paquetes fuente se disponen en los datos multiplexados como se muestra en la parte inferior de la Figura 26. Los números que se incrementan desde el encabezado de los datos multiplexados se denominan números de paquetes fuente (SPN).
Cada uno de los paquetes TS incluidos en los datos multiplexados incluye no solo flujos de audio, video, subtítulos y otros, sino también una tabla de asociación de programas (PAT), una tabla de mapas de programas (PMT), y una referencia de reloj de programa (PCR). La PAT muestra lo que indica un PID en una PMT usada en los datos multiplexados, y un PID de la PAT misma se registra como cero. La PMT almacena los PID de los flujos de video, audio, subtítulos y otros incluidos en los datos multiplexados, y la información de atributos de los flujos correspondientes a los PID. La PMT también tiene varios descriptores relacionados con los datos multiplexados. Los descriptores tienen información tal como información de control de copia que muestra si la copia de los datos multiplexados se permite o no. La PCR almacena la información de tiempo de STC correspondiente a un ATS que muestra cuándo se transfiere el paquete PCR a un decodificador, con el fin de lograr la sincronización entre un reloj de tiempo de llegada (ATC) que es un eje de tiempo de ATS, y un reloj de tiempo del sistema (STC) que es un eje de tiempo de PTS y DTS.
La Figura 27 ilustra la estructura de datos de la PMT en detalle. Un encabezado PMT se dispone en la parte superior de la PMT. El encabezado PMT describe la longitud de los datos incluidos en la PMT y otros. Se dispone una pluralidad de descriptores con relación a los datos multiplexados después del encabezado PMT. En los descriptores se describe información tal como la información de control de copia. Después de los descriptores, se dispone una pluralidad de piezas de información de flujo con relación a los flujos incluidos en los datos multiplexados. Cada pieza de información de flujo incluye descriptores de flujo cada uno de los cuales 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 atributos de flujo (tal como una velocidad de fotogramas 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 graban junto con archivos de información de datos multiplexados.
Cada uno de los archivos de información de datos multiplexados es de información de gestión de los datos multiplexados como se muestra en la Figura 28. Los archivos de información de datos multiplexados están en correspondencia uno a uno con los datos multiplexados, y cada uno de los archivos incluye información de datos multiplexados, información de atributos de flujo, y un mapa de entrada.
Como se ilustra en la Figura 28, la información de datos multiplexados incluye una velocidad del sistema, un tiempo de inicio de reproducción, y un tiempo de fin de reproducción. La velocidad del sistema indica la velocidad de transferencia máxima a la que un decodificador objetivo del sistema que se describirá más adelante transfiere los datos multiplexados a un filtro PID. Los intervalos de los ATS incluidos en los datos multiplexados se establecen en un valor no superior a la velocidad del sistema. El tiempo de inicio de la reproducción indica un PTS en un fotograma de vídeo en el encabezado de los datos multiplexados. Se adiciona un intervalo de un fotograma a un PTS en un fotograma de video al final de los datos multiplexados, y el PTS se establece en el tiempo de fin de la reproducción.
Como se muestra en la Figura 29, una parte de la información de atributo se registra en la información de atributo del flujo, para cada PID de cada flujo incluido en los datos multiplexados. Cada parte de información de atributo tiene información diferente en función de si el flujo correspondiente es un flujo de video, un flujo de audio, un flujo de gráficos de presentación o un flujo de gráficos interactivos. Cada parte de la información de atributos del flujo de video transporta información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de video, y la resolución, relación de aspecto y velocidad de fotogramas de las partes de los datos de imagen que se incluyen en el flujo de video. Cada parte de la información de atributos del flujo de audio contiene información que incluye qué tipo de códec de compresión se usa para comprimir el flujo de audio, cuántos canales se incluyen en el flujo de audio, qué idioma soporta el flujo de audio, y qué tan alta es la frecuencia de muestreo. La información de atributos del flujo de vídeo y la información de atributos del flujo de audio se usan para la inicialización de un decodificador antes de que el reproductor reproduzca la información.
En la presente realización, los datos multiplexados que se usarán son de un tipo de flujo incluido en la PMT. Además, cuando los datos multiplexados se graban en un medio de grabación, se usa la información de atributos del flujo de vídeo incluida en la información de datos multiplexados. Más específicamente, el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones incluye una etapa o una unidad para asignar información única que indica los datos de video generados por el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, al tipo de flujo incluido en la PMT o la información de atributos del flujo de vídeo. Con la configuración, los datos de video generados mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones pueden distinguirse de los datos de video que se ajustan a otro estándar.
Además, la Figura 30 ilustra las etapas del procedimiento de decodificación de imágenes 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 atributos del flujo de vídeo incluida en la información de datos multiplexados se obtiene a partir de los datos multiplexados. A continuación, en la Etapa exS101, se determina si el tipo de flujo o la información de atributos del flujo de vídeo indica o no que los datos multiplexados se generan mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones. Cuando se determina que el tipo de flujo o la información de atributo del flujo de vídeo indica que los datos multiplexados se generan mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento en cada una de las realizaciones, en la Etapa exS102, la decodificación se realiza mediante el procedimiento de decodificación de imágenes en movimiento en cada una de las realizaciones. Además, cuando el tipo de flujo o la información del atributo del flujo de vídeo indica conformidad con los estándares convencionales, tal como MPEG-2, MPEG-4 AVC, y VC-1, en la Etapa exS103, la decodificación se realiza mediante un procedimiento de decodificación de imágenes en movimiento de conformidad con los estándares convencionales.
Como tal, asignar un nuevo valor único al tipo de flujo o la información de atributos del flujo de vídeo permite determinar si el procedimiento de decodificación de imágenes en movimiento o el aparato de decodificación de imágenes en movimiento que se describe en cada una de las realizaciones puede o no realizar la decodificación. Incluso cuando se introducen datos multiplexados que se ajustan a un estándar diferente, se puede seleccionar un procedimiento o aparato de decodificación apropiado. Por lo tanto, es posible decodificar información sin ningún error. Además, el procedimiento o aparato de codificación de imágenes en movimiento, o el procedimiento o aparato de decodificación de imágenes en movimiento en la presente realización pueden usarse en los dispositivos y sistemas descritos anteriormente.
Realización 8
Cada uno de los procedimientos de codificación de imágenes en movimiento, el aparato de codificación de imágenes en movimiento, el procedimiento de decodificación de imágenes en movimiento, y el aparato de decodificación de imágenes en movimiento en cada una de las realizaciones se logra típicamente en forma de un circuito integrado o un circuito integrado a gran escala (LSI). Como ejemplo del LSI, la Figura 31 ilustra una configuración del LSI ex500 que se convierte en un chip. El LSI ex500 incluye los elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, y ex509 que se describen a continuación, y los elementos se conectan entre sí a través de un bus ex510. La unidad de circuito de suministro de potencia ex505 se activa mediante el suministro de potencia a cada uno de los elementos cuando se enciende la unidad de circuito de suministro de potencia ex505.
Por ejemplo, cuando se realiza la codificación, el LSI ex500 recibe una señal AV de un micrófono ex117, una cámara ex113, y otros a través de una AV IO 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 activación ex512. La señal 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 la velocidad a transmitir a una unidad de procesamiento de señales ex507. Entonces, la unidad de procesamiento de señales ex507 codifica una señal de audio y/o una señal de video. Aquí, la codificación de la señal de video es la codificación descrita en cada una de las realizaciones. Además, la unidad de procesamiento de señales ex507 a veces multiplexa los datos de audio codificados y los datos de video codificados, y un flujo IO ex506 proporciona los datos multiplexados en el 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 deben almacenarse temporalmente en el búfer ex508 para que los conjuntos de datos se sincronicen entre sí.
Aunque la memoria ex511 es un elemento externo al LSI ex500, se puede incluir en el LSI ex500. El búfer ex508 no se limita a un búfer, sino que puede componerse de búferes. Además, el LSI ex500 se puede convertir en un chip o en una pluralidad de chips.
Además, 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 activación ex512, la configuración de la unidad de control ex501 no se limita a tal. Por ejemplo, la unidad de procesamiento de señales ex507 puede incluir además una CPU. La inclusión de otra CPU en la unidad de procesamiento de señales ex507 puede mejorar la velocidad de procesamiento. Además, como otro ejemplo, la CPU ex502 puede servir como o ser parte de la unidad de procesamiento de señales ex507, y, por ejemplo, puede incluir una unidad de procesamiento de señales de audio. En tal caso, la unidad de control ex501 incluye la unidad de procesamiento de señales ex507 o la CPU ex502 que incluye una parte de la unidad de procesamiento de señales ex507.
El nombre usado aquí es LSI, pero también se puede llamar IC, sistema LSI, super LSI o ultra LSI en función del grado de integración.
Además, las formas de lograr la integración no se limitan al LSI, y un circuito especial o un procesador de propósito general, etc., también pueden lograr la integración. La Matriz de compuertas programables en campo (FPGA) que se puede programar después de fabricar los LSI o un procesador reconfigurable que permite la reconfiguración de la conexión o la configuración de un LSI se puede usar para el mismo propósito.
En el futuro, con el avance de la tecnología de semiconductores, una tecnología completamente nueva puede reemplazar a LSI. Los bloques funcionales se pueden integrar usando dicha tecnología. La posibilidad es que la presente invención se aplique a la biotecnología.
Realización 9
Cuando se decodifican datos de video generados en el procedimiento de codificación de imágenes en movimiento o por el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, comparado a cuando se decodifican datos de video que cumplen con un estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1 se decodifica, la cantidad de procesamiento probablemente aumenta. Por lo tanto, el LSI ex500 debe establecerse en una frecuencia de activación más alta que la de la CPU ex502 para usarse cuando se decodifiquen datos de video de conformidad con el estándar convencional. Sin embargo, cuando la frecuencia de activación se establece más alta, existe el problema de que aumenta el consumo de potencia.
Con el fin de solucionar el problema, el aparato de decodificación de imágenes en movimiento, tal como el televisor ex300 y el LSI ex500, se configura para determinar a cuál estándar se ajustan los datos de video, y conmutar entre las frecuencias de activación de acuerdo con el estándar determinado. La Figura 32 ilustra una configuración ex800 en la presente realización. Una unidad de conmutación de frecuencia de activación ex803 establece una frecuencia de activación en una frecuencia de activación más alta cuando se generan datos de vídeo mediante el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia de activación ex803 instruye a una unidad de procesamiento de decodificación ex801 que ejecuta el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones para decodificar los datos de vídeo. Cuando los datos de video se ajustan al estándar convencional, la unidad de conmutación de frecuencia de activación ex803 establece una frecuencia de activación a una frecuencia de activación más baja que la de los datos de video generados por el procedimiento de codificación de imágenes en movimiento o el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones. Entonces, la unidad de conmutación de frecuencia de activación ex803 instruye a la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional para decodificar los datos de video.
Más específicamente, la unidad de conmutación de frecuencia de activación ex803 incluye la CPU ex502 y la unidad de control de frecuencia de activación ex512 en la Figura 31. Aquí, cada una de la unidad de procesamiento de decodificación ex801 que ejecuta el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación ex802 que se ajusta al estándar convencional corresponde a la unidad de procesamiento de señales ex507 en la Figura 31. La CPU ex502 determina a cuál estándar se ajustan los datos de video. Entonces, la unidad de control de frecuencia de activación ex512 determina una frecuencia de activación en base a una señal de la CPU ex502. Además, la unidad de procesamiento de señales ex507 decodifica los datos de video en base a la señal de la CPU ex502. Por ejemplo, la información de identificación descrita en la Realización 7 probablemente se usa para identificar los datos de video. La información de identificación no se limita a la descrita en la Realización 7 sino que puede ser cualquier información siempre que la información indique a cuál estándar se ajustan los datos de video. Por ejemplo, cuando se puede determinar a cuáles datos de video estándar se ajustan en base a una señal externa para determinar que los datos de video se usan para un televisor o un disco, etc., la determinación se puede realizar en base a dicha señal externa. Además, la CPU ex502 selecciona una frecuencia de activación en base a, por ejemplo, una tabla de consulta en la que los estándares de los datos de vídeo se asocian con las frecuencias de activación, como se muestra en la Figura 34. La frecuencia de activación se puede seleccionar almacenando la tabla de consulta en el búfer ex508 y en una memoria interna de un LSI, y con referencia a la tabla de consulta mediante la CPU ex502.
La Figura 33 ilustra las etapas para ejecutar un procedimiento en la presente realización. Primero, en la Etapa exS200, la unidad de procesamiento de señales ex507 obtiene información de identificación de los datos multiplexados. A continuación, en la Etapa exS201, la CPU ex502 determina si los datos de vídeo se generan o no mediante el procedimiento de codificación y el aparato de codificación descritos en cada una de las realizaciones, en base a la información de identificación. Cuando los datos de video se generan mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, en la Etapa exS202, la CPU ex502 transmite una señal para establecer la frecuencia de activación a una frecuencia de activación más alta a la unidad de control de frecuencia de activación ex512. Entonces, la unidad de control de frecuencia de activación ex512 establece la frecuencia de activación a la frecuencia de activación más alta. Por otro lado, cuando la información de identificación indica que los datos de video se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, en la Etapa exS203, la CPU ex502 transmite una señal para establecer la frecuencia de activación a una frecuencia de activación más baja a la unidad de control de frecuencia de activación ex512. Entonces, la unidad de control de frecuencia de activación ex512 establece la frecuencia de activación a la frecuencia de activación más baja que en el caso donde los datos de vídeo se generan mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones.
Además, junto con la conmutación de las frecuencias de activación, el efecto de conservación de potencia se puede mejorar cambiando el voltaje que se aplicará al LSI ex500 o un aparato que incluya el LSI ex500. Por ejemplo, cuando la frecuencia de activación se establece más baja, el voltaje que se aplicará al LSI ex500 o al aparato que incluye el LSI ex500 probablemente se establezca a un voltaje más bajo que en el caso donde la frecuencia de activación se establece más alta.
Además, cuando la cantidad de procesamiento para la decodificación es mayor, la frecuencia de activación puede establecerse más alta, y cuando la cantidad de procesamiento para la decodificación es menor, la frecuencia de activación puede establecerse más baja como procedimiento para establecer la frecuencia de activación. Por lo tanto, el procedimiento de ajuste no se limita a los descritos anteriormente. Por ejemplo, cuando la cantidad de procesamiento para decodificar datos de video de conformidad con MPEG-4 AVC es mayor que la cantidad de procesamiento para decodificar datos de video generados mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, probablemente se establezca la frecuencia de activación en orden inverso al descrito anteriormente.
Además, el procedimiento de establecer la frecuencia de activación no se limita al procedimiento de establecer de la frecuencia de activación más baja. Por ejemplo, cuando la información de identificación indica que los datos de video se generan mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, probablemente se establezca más alto el voltaje que se aplicará al LSI ex500 o al aparato que incluye el LSI ex500. Cuando la información de identificación indica que los datos de vídeo se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, probablemente se establezca más bajo el voltaje que se aplicará al LSI ex500 o al aparato que incluye el LSI ex500. Como otro ejemplo, cuando la información de identificación indica que los datos de vídeo se generan mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descrito en cada una de las realizaciones, probablemente no sea necesario suspender la activación de la CPU ex502. Cuando la información de identificación indica que los datos de video se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1, probablemente se suspenda la activación de la CPU ex502 en un momento dado porque la CPU ex502 tiene capacidad extra de procesamiento. Incluso cuando la información de identificación indica que los datos de video se generan mediante el procedimiento de codificación de imágenes en movimiento y el aparato de codificación de imágenes en movimiento descritos en cada una de las realizaciones, en el caso donde la CPU ex502 tenga capacidad de procesamiento extra, la activación de la CPU ex502 probablemente se suspenda en un momento dado. En tal caso, probablemente se establezca el tiempo de suspensión más corto que en el caso donde la información de identificación indique que los datos de video se ajustan al estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1.
En consecuencia, el efecto de conservación de potencia puede aumentarse conmutando entre las frecuencias de activación de acuerdo con el estándar al cual se ajustan los datos de video. Además, cuando el LSI ex500 o el aparato que incluye el LSI ex500 se alimenta mediante el uso de una batería, la vida útil de la batería se puede prolongar con el efecto de conservación de potencia.
Realización 10
Hay casos en donde se proporciona una pluralidad de datos de video que se ajustan a diferentes estándares, a los dispositivos y sistemas, tal como un televisor y un teléfono celular. Con el fin de permitir la decodificación de la pluralidad de datos de vídeo que se ajustan a los diferentes estándares, la unidad de procesamiento de señales ex507 del LSI ex500 debe ajustarse a los diferentes estándares. Sin embargo, los problemas de aumento en la escala del circuito del LSI ex500 y aumento en el costo surgen con el uso individual de las unidades de procesamiento de señales ex507 que se ajustan a los estándares respectivos.
Con el fin de solucionar el problema, lo que se concibe es una configuración en la cual la unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y la unidad de procesamiento de decodificación que se ajusta al estándar convencional, tal como MPEG-2, MPEG-4 AVC, y VC-1 se comparten parcialmente. Ex900 en la Figura 35A muestra un ejemplo de la configuración. Por ejemplo, el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones y el procedimiento de decodificación de imágenes en movimiento que se ajusta a MPEG-4 AVC tienen, parcialmente en común, los detalles del procesamiento, tales como codificación de entropía, cuantificación inversa, filtrado de desbloqueo, y predicción de movimiento compensado. Los detalles de procesamiento que se compartirán probablemente incluyen el uso de una unidad de procesamiento de decodificación ex902 que se ajusta a MPEG-4 AVC. Por el contrario, una unidad de procesamiento de decodificación dedicada ex901 se usa probablemente para otro procesamiento exclusivo de un aspecto de la presente invención. Dado que el aspecto de la presente invención se caracteriza por la decodificación de entropía en particular, por ejemplo, la unidad de procesamiento de decodificación dedicada ex901 se usa para la decodificación de entropía. De lo contrario, la unidad de procesamiento de decodificación probablemente se comparta para una cuantificación inversa, filtrado de desbloqueo, y compensación de movimiento, o todo el procesamiento. La unidad de procesamiento de decodificación para implementar el procedimiento de decodificación de imágenes en movimiento descrito en cada una de las realizaciones puede compartirse para que el procesamiento se comparta, y puede usarse una unidad de procesamiento de decodificación dedicada para el procesamiento exclusivo de MPEG-4 AVC.
Además, ex1000 en la Figura 35B muestra otro ejemplo en el que se comparte parcialmente el procesamiento. Este ejemplo usa una configuración que incluye una unidad de procesamiento de decodificación dedicada ex1001 que soporta el procesamiento exclusivo de un aspecto de la presente invención, una unidad de procesamiento de decodificación dedicada ex1002 que soporta el procesamiento exclusivo de otro estándar convencional, y una unidad de procesamiento de decodificación ex1003 que soporta el procesamiento para compartirse entre el procedimiento de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de imágenes en movimiento convencional. Aquí, las unidades de procesamiento de decodificación dedicadas ex1001 y ex1002 no se especializan necesariamente para el procesamiento de acuerdo con el aspecto de la presente invención y el procesamiento del estándar convencional, respectivamente, y pueden ser las capaces de implementar el procesamiento general. Además, la configuración de la presente realización puede implementarse mediante el LSI ex500.
Como tal, es posible reducir la escala del circuito de un LSI y reducir el costo es posible al compartir la unidad de procesamiento de decodificación para que el procesamiento se comparta entre el procedimiento de decodificación de imágenes en movimiento de acuerdo con el aspecto de la presente invención y el procedimiento de decodificación de imágenes en movimiento de conformidad con el estándar convencional.
[Aplicabilidad industrial]
El procedimiento de codificación de imágenes y el procedimiento de decodificación de imágenes de acuerdo con la presente invención son útiles en varios aparatos de codificación de imágenes y aparatos de decodificación de imágenes tales como cámaras de vídeo, teléfonos celulares con cámaras, grabadores de DVD, y televisores, por ejemplo.
[Lista de signos de referencia]
101 Unidad de partición CU
102 Unidad de partición TU
103 Unidad de multiplexación YUV
104 Unidad de combinación de bloques adyacentes
105 Unidad de transformación Y
106 Unidad de transformación U
107 Unidad de transformación V
108 Codificador 502
109 Unidad de conmutación YUV 308
301 Decodificador 601
302 Unidad de transformación inversa Y
303 Unidad de transformación inversa U
304 Unidad de transformación inversa V
305 Unidad de combinación YUV
306 Unidad de combinación TU
307 Unidad de combinación CU
309 Unidad de partición de bloques adyacentes
500 Aparato de codificación de imágenes
501 Unidad de transformación de frecuencia
600 Aparatos de decodificación de imágenes
602 Unidad de transformación de frecuencia inversa

Claims (2)

REIVINDICACIONES
1. Un procedimiento de decodificación de imágenes para decodificar una imagen por unidad de codificación, teniendo dicha imagen datos de luminancia, primeros datos de crominancia y segundos datos de crominancia en uno cualquiera del formato 4:2:0 y el formato 4:2:2, estando dividida dicha imagen en una pluralidad de unidades de codificación, estando cada una de las unidades de codificación dividida en una o más unidades de transformación, en donde cada unidad de codificación consiste en uno o más bloques y cada uno de dichos bloques consiste en una o más unidades de transformación, comprendiendo el método:
decodificar, para cada bloque, datos de luminancia transformados, primeros datos de crominancia transformados, y segundos datos de crominancia transformados desde un flujo de bits en el que los datos de luminancia transformados, los primeros datos de crominancia transformados, y los segundos datos de crominancia transformados se agrupan por bloque;
aplicar una transformación de frecuencia inversa a los datos de luminancia transformados para cada unidad de transformación (S303);
determinar, para cada unidad de transformación, si un primer tamaño de croma de la unidad de transformación es menor que un tamaño predeterminado;
combinar (S109, S110), cuando el primer tamaño de croma de la unidad de transformación es menor que el tamaño predeterminado, las unidades de transformación del bloque correspondiente y aplicar (S112, S115) la transformación de frecuencia inversa a cada uno de los primeros datos de crominancia transformados y los segundos datos de crominancia transformados de las unidades de transformación combinadas;
aplicar, cuando el primer tamaño de croma de la unidad de transformación no es menor que el tamaño predeterminado, la transformación de frecuencia inversa a cada uno de los primeros datos de crominancia transformados y los segundos datos de crominancia transformados de la unidad de transformación.
2. Un procedimiento de codificación y decodificación de imágenes para codificar y decodificar una imagen por unidad de codificación, teniendo dicha imagen datos de luminancia, primeros datos de crominancia, y segundos datos de crominancia en uno cualquiera del formato 4:2:0 y el formato 4:2:2., estando dividida dicha imagen en una pluralidad de unidades de codificación, estando cada una de las unidades de codificación dividida en una o más unidades de transformación, donde cada unidad de codificación consiste en uno o más bloques y cada uno de dichos bloques consiste en una o más unidades de transformación, comprendiendo el método de codificación y decodificación de imágenes:
dividir (S101) la imagen en una pluralidad de unidades de codificación
dividir (S102) cada una de las unidades de codificación en una o más unidades de transformación, en el que cada unidad de codificación consiste en uno o más bloques y cada uno de dichos bloques consiste en una o más unidades de transformación,
aplicar (S105) una transformación de frecuencia a los datos de luminancia de cada unidad de transformación;
determinar (S108), para cada unidad de transformación, si un primer tamaño de croma de la unidad de transformación es menor que un tamaño predeterminado;
combinar (S109, S110), cuando el primer tamaño de croma de la unidad de transformación es menor que el tamaño predeterminado, las unidades de transformación del bloque correspondiente, y aplicar (S112, S115) la transformación de frecuencia a cada uno de los primeros datos de crominancia y los segundos datos de crominancia de las unidades de transformación combinadas;
aplicar (S112, S115), cuando el primer tamaño de croma de la unidad de transformación no es menor que el tamaño predeterminado, la transformación de frecuencia a cada uno de los primeros datos de crominancia y los segundos datos de crominancia de la unidad de transformación;
codificar (S106, S113, S116) los datos de luminancia transformados de cada bloque y luego los datos de crominancia transformados de dicho bloque para generar un flujo de bits en el cual los datos de luminancia transformados y los datos de crominancia transformados se agrupan por bloque,
comprendiendo además el procedimiento de codificación y decodificación de imagen:
decodificar, para cada bloque, datos de luminancia transformados, primeros datos de crominancia transformados, y segundos datos de crominancia transformados desde un flujo de bits en el que los datos de luminancia transformados, los primeros datos de crominancia transformados, y los segundos datos de crominancia transformados se agrupan por bloque;
aplicar una transformación de frecuencia inversa a los datos de luminancia transformados para cada unidad de transformación (S303);
determinar, para cada unidad de transformación, si un primer tamaño de croma de la unidad de transformación es menor que un tamaño predeterminado;
combinar (S109, S110), cuando el primer tamaño de croma de la unidad de transformación es menor que el tamaño predeterminado, las unidades de transformación del bloque correspondiente y aplicar (S112, S115) la transformación de frecuencia inversa a cada uno de los primeros datos de crominancia transformados y los segundos datos de crominancia transformados de las unidades de transformación combinadas;
aplicar, cuando el primer tamaño de croma de la unidad de transformación no es menor que el tamaño predeterminado, la transformación de frecuencia inversa a cada uno de los primeros datos de crominancia transformados y los segundos datos de crominancia transformados de la unidad de transformación.
ES21156343T 2011-09-28 2012-09-14 Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes Active ES2940626T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161540048P 2011-09-28 2011-09-28

Publications (1)

Publication Number Publication Date
ES2940626T3 true ES2940626T3 (es) 2023-05-09

Family

ID=47911284

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12836512T Active ES2869857T3 (es) 2011-09-28 2012-09-14 Procedimiento y aparato de codificación de imágenes
ES21156343T Active ES2940626T3 (es) 2011-09-28 2012-09-14 Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12836512T Active ES2869857T3 (es) 2011-09-28 2012-09-14 Procedimiento y aparato de codificación de imágenes

Country Status (13)

Country Link
US (8) US9025891B2 (es)
EP (3) EP3843396B1 (es)
JP (3) JP5385491B2 (es)
KR (1) KR102059060B1 (es)
CN (1) CN103636226B (es)
CA (1) CA2841055C (es)
ES (2) ES2869857T3 (es)
MX (1) MX2013014734A (es)
MY (1) MY167488A (es)
PL (2) PL2763413T3 (es)
RU (1) RU2607259C2 (es)
TW (1) TWI546778B (es)
WO (1) WO2013046586A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013034162A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
EP2533537A1 (en) * 2011-06-10 2012-12-12 Panasonic Corporation Transmission of picture size for image or video coding
JP6337380B2 (ja) 2013-07-31 2018-06-06 サン パテント トラスト 画像符号化方法および画像符号化装置
JP6642427B2 (ja) * 2014-06-30 2020-02-05 ソニー株式会社 情報処理装置および方法
CN107950031B (zh) * 2015-09-11 2021-02-19 松下知识产权经营株式会社 影像接收方法以及影像接收装置
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04323960A (ja) 1991-04-23 1992-11-13 Canon Inc 画像符号化装置
AU732452B2 (en) 1997-04-01 2001-04-26 Sony Corporation Image encoder, image encoding method, image decoder, image decoding method, and distribution media
US6370276B2 (en) 1997-04-09 2002-04-09 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding method, image predictive coding apparatus, and data storage media
US6360014B1 (en) 1997-09-26 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image decoding method, image decoding apparatus, and data recording medium
JP3860323B2 (ja) 1997-10-27 2006-12-20 三菱電機株式会社 画像復号化装置、画像復号化方法
US20060140487A1 (en) * 2004-12-23 2006-06-29 Kabushiki Kaisha Toshiba Image compressing apparatus and image decoding apparatus and image converting apparatus and image processing method
US7970219B2 (en) * 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
EP1909508A4 (en) * 2005-07-22 2011-05-25 Mitsubishi Electric Corp Image Coding Device, Image Decoding Device, Image Coding Method, Image Decoding Method, Image Coding Program, Image Decoding Program, Computer Readable Recording Medium With Image Recoding Program Recorded Thereon, and Computer Readable Recording Medium With Image Image Coding Program Recorded Thereon
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
JP4753034B2 (ja) 2006-06-02 2011-08-17 富士ゼロックス株式会社 パターンマッチング装置、画像符号化装置、画像復号化装置、画像処理システム及びプログラム
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
EP1944974A1 (en) * 2007-01-09 2008-07-16 Matsushita Electric Industrial Co., Ltd. Position dependent post-filter hints
US20080170624A1 (en) 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
US8559499B2 (en) * 2007-10-26 2013-10-15 Zoran (France) S.A. Frame buffer compression for video processing devices
JP5015088B2 (ja) * 2008-08-06 2012-08-29 株式会社リコー 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記録媒体
EP2348734A1 (en) 2008-11-07 2011-07-27 Mitsubishi Electric Corporation Image encoding device and image decoding device
TWI362888B (en) * 2008-12-24 2012-04-21 Acer Inc Encoding and decoding method for video screen layout, encoding device, decoding device, and data structure
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5456167B2 (ja) 2009-11-30 2014-03-26 マルティン・ラウブッフ マイクロプロセッサおよびマイクロプロセッサ上での精度が改善された積の和計算のための方法
US9094691B2 (en) 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof

Also Published As

Publication number Publication date
MY167488A (en) 2018-08-30
US9036927B2 (en) 2015-05-19
KR102059060B1 (ko) 2019-12-24
JP6020928B2 (ja) 2016-11-02
WO2013046586A1 (ja) 2013-04-04
US20130315496A1 (en) 2013-11-28
US20220191516A1 (en) 2022-06-16
TWI546778B (zh) 2016-08-21
JP2014014128A (ja) 2014-01-23
US11297333B2 (en) 2022-04-05
PL3843396T3 (pl) 2023-05-15
MX2013014734A (es) 2014-02-19
US9930347B2 (en) 2018-03-27
EP2763413B1 (en) 2021-03-17
ES2869857T3 (es) 2021-10-26
EP2763413A1 (en) 2014-08-06
CN103636226B (zh) 2017-11-24
PL2763413T3 (pl) 2021-10-04
EP4171031B1 (en) 2024-06-12
US20200053366A1 (en) 2020-02-13
EP4171031A1 (en) 2023-04-26
TW201322186A (zh) 2013-06-01
CN103636226A (zh) 2014-03-12
US20130077694A1 (en) 2013-03-28
EP3843396B1 (en) 2023-01-25
JP2017028728A (ja) 2017-02-02
US20150245031A1 (en) 2015-08-27
EP3843396A1 (en) 2021-06-30
US10491908B2 (en) 2019-11-26
CA2841055A1 (en) 2013-04-04
US20180176580A1 (en) 2018-06-21
EP4387225A2 (en) 2024-06-19
US9025891B2 (en) 2015-05-05
US9615099B2 (en) 2017-04-04
US20150222915A1 (en) 2015-08-06
US20170223365A1 (en) 2017-08-03
AU2012313742A1 (en) 2014-01-23
JP6226158B2 (ja) 2017-11-08
RU2607259C2 (ru) 2017-01-10
CA2841055C (en) 2019-02-26
JPWO2013046586A1 (ja) 2015-03-26
KR20140070521A (ko) 2014-06-10
EP2763413A4 (en) 2015-03-04
JP5385491B2 (ja) 2014-01-08
RU2013158347A (ru) 2015-11-10
US9661330B2 (en) 2017-05-23

Similar Documents

Publication Publication Date Title
ES2940626T3 (es) Procedimiento de decodificación de imágenes y procedimiento de codificación y decodificación de imágenes
ES2843502T3 (es) Señalización de banderas de bloque codificado (CBF) de luminancia-crominancia en codificación de vídeo
ES2800049T3 (es) Procedimientos y aparatos para codificar y decodificar vídeo utilizando una descripción actualizada de memoria intermedia
ES2967302T3 (es) Aparato de codificación y decodificación de imágenes
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
ES2669978T3 (es) Método de filtrado, dispositivo de codificación de imágenes dinámicas, dispositivo de decodificación de imágenes dinámicas y dispositivo de codificación/decodificación de imágenes dinámicas
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
WO2016103542A1 (ja) 符号化方法、復号方法、符号化装置および復号装置
JP6273580B2 (ja) 符号化復号装置
ES2936058T3 (es) Procedimiento y aparato de codificación de imágenes
ES2874762T3 (es) Procedimiento de codificación de vídeo y procedimiento de decodificación de vídeo
JP6167906B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2015001700A1 (ja) 画像符号化方法、及び、画像符号化装置
AU2012313742B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2013046616A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法