ES2956211T3 - Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada - Google Patents

Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada Download PDF

Info

Publication number
ES2956211T3
ES2956211T3 ES20160837T ES20160837T ES2956211T3 ES 2956211 T3 ES2956211 T3 ES 2956211T3 ES 20160837 T ES20160837 T ES 20160837T ES 20160837 T ES20160837 T ES 20160837T ES 2956211 T3 ES2956211 T3 ES 2956211T3
Authority
ES
Spain
Prior art keywords
image data
range
localized
gamut
definition
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
ES20160837T
Other languages
English (en)
Inventor
Chun Chi Wan
Neil W Messmer
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Application granted granted Critical
Publication of ES2956211T3 publication Critical patent/ES2956211T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
    • H04N1/6063Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut dependent on the contents of the image to be reproduced
    • H04N1/6066Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut dependent on the contents of the image to be reproduced dependent on the gamut of the image to be reproduced

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

Se proporcionan métodos y aparatos para codificar y decodificar datos de imágenes usando definiciones de gama localizadas. Las definiciones de gama localizadas pueden definirse basándose en las características de gama de los datos de la imagen. Se aplica una transformación de gama a los datos de la imagen en la que las coordenadas de color especificadas por los datos de la imagen se asignan a las coordenadas de color correspondientes en la definición de gama localizada. El uso de definiciones de gama localizadas puede facilitar la compresión de datos de imágenes o una mayor especificación de profundidad de color de los datos de imágenes. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada
Referencia cruzada a aplicaciones relacionadas
Esta solicitud es una solicitud divisional europea de la solicitud de patente Euro-PCT EP11834794.7 (referencia: D10020EP01), presentada el 6 de septiembre de 2011.
Campo técnico
Esta invención se refiere a procesamiento de imágenes, compresión de datos de imagen, visualización de imágenes y reproducción de imágenes. Las realizaciones de la invención proporcionan métodos y aparatos que procesan datos de imagen para la transmisión a y la visualización en un dispositivo aguas abajo.
Antecedentes
Los datos de imagen (incluyendo los datos de vídeo y los datos de imagen fijas) pueden tener una cualquiera de una amplia variedad de formatos diferentes. Algunos formatos de datos de imagen de ejemplo son: RGB, YLU, GIF, TIFF, JPEG/JIF, PNG, BMP, PDF, RAW, FITS, MPEG, MP4, formatos de alto rango dinámico (HDR) tales como BEF, HDRi, JPEG XR, JPEG HDR, RGBE, ScRGB y muchos otros. Los formatos de datos de imagen pueden tener capacidades que difieren significativamente en áreas tales como, por ejemplo, el rango de colores diferentes (es decir, la gama) que se puede especificar, el rango de niveles de luminancia (es decir, el rango dinámico) que se puede especificar, el número de colores discretos dentro de la gama que se pueden especificar, el número de niveles de luminancia discretos que se pueden especificar, y similares. Algunos formatos de datos de imagen tienen múltiples versiones con diferentes capacidades.
Los colores se pueden especificar en muchos espacios de colores diferentes. Algunos ejemplos incluyen RGB, HSV, CIE LUV, YCbCr, YIQ, xvYCC, HSL, XYZ, CMYK, CIE LAB, IPT y otros. Diferentes formatos de datos de imagen pueden especificar colores en diferentes espacios de colores.
Los visualizadores pueden incorporar cualquiera de una amplia variedad de tecnologías de visualización subyacentes. Las tecnologías de visualización varían desde visualizadores de cine digitales hasta equipos de televisión que pueden comprender: visualizadores de panel de visualizador de cristal líquido (LCD) en los que el panel LCD está retroiluminado mediante diversos tipos de sistemas de retroiluminación; visualizadores de diodos emisores de luz (LED); visualizadores LED orgánicos (visualizadores OLED); visualizadores de plasma; visualizadores de tubo de rayos catódicos (CRT); proyectores láser; visualizadores de dispositivo de espejo digital (DMD); visualizadores electroluminiscentes; y similares. Dentro de cualquiera de estas tecnologías generales es posible una amplia variedad de diferentes construcciones y composiciones para elementos de emisión de luz y/o de filtración. Como resultado, diferentes visualizadores pueden tener capacidades que difieren significativamente en áreas tales como, por ejemplo, el rango de colores diferentes (es decir, la gama) que se pueden visualizar, el rango de valores de luminancia que se pueden visualizar (es decir, el rango dinámico del visualizador) y similares.
Un visualizador de gama ancha puede ser capaz de reproducir colores que están fuera de la gama que se puede visualizar en visualizadores convencionales. Sin embargo, el rango y el número de colores discretos que se pueden especificar mediante los datos de imagen proporcionados a un visualizador pueden estar limitados por varios factores, tales como, por ejemplo, las capacidades del formato de los datos de imagen, el ancho de banda de los datos de imagen, la compresión de los datos de imagen y similares.
Existe una necesidad de métodos y aparatos para procesar y visualizar datos de imagen con diferentes gamas. Existe una necesidad de métodos y aparatos para procesar y visualizar datos de imagen como para reproducir en un visualizador diferentes colores con un alto grado de precisión. Existe un deseo particular de métodos y aparatos que puedan llevar datos de imagen de manera eficiente a un visualizador u otro dispositivo aguas abajo, y que puedan operar dentro de las limitaciones de diferentes formatos de datos de imagen, ancho de banda de datos de imagen disponible y compresión de datos de imagen. El documento EP1118963 A1 divulga una reconstrucción de una gama de colores extendida a partir de una imagen de gama de colores limitada usando una imagen residual.
M. P. Tremblay et al: “ Transmission of the colorinformation using quad-trees and segmentation-based approaches for the compression of color images with limited palette", publicado en Proceedings of the International Conference on Image Processing (ICIP) del 13 al 16 de noviembre de 1994, páginas 967-971, y Z. Bing et al: “An adjustable algorithm for color quantization", publicado en Pattern Recognition Letters, vol. 25, n° 16, el 1 de diciembre de 2004, páginas 1787-1797, divulgan la cuantización de colores basada en imágenes para la compresión de imágenes.
Sumario
A continuación se describen y se ilustran en los dibujos que se acompañan una variedad de aspectos de la invención y realizaciones de ejemplo de la invención. La invención está definida por las reivindicaciones adjuntas.
Breve descripción de los dibujos
Los dibujos que se acompañan ilustran realizaciones no limitantivas de la invención.
Las figuras 1A y 1B son diagramas de gama en el espacio de colores CIE u'v'.
Las figuras 2A y 2C son diagramas de flujo de métodos de codificación de datos de imagen de acuerdo con realizaciones de ejemplo.
Las figuras 2B y 2D son diagramas de flujo de métodos para decodificar datos de imagen de acuerdo con realizaciones de ejemplo.
Las figuras 3A, 3B y 3C son diagramas de flujo de métodos para seleccionar definiciones de gama localizada de acuerdo con realizaciones de ejemplo que se pueden usar en el método de la figura 2A.
La figura 4 muestra un área de una trama de datos de imagen dividida en bloques de subtramas.
La figura 5 ilustra definiciones de gama predefinidas para uso con áreas de una trama de datos de imagen.
Las figuras 6A y 6B son diagramas de bloques que ilustran aparatos de codificación y decodificación de acuerdo, respectivamente, con realizaciones de ejemplo.
Descripción
A lo largo de la siguiente descripción, se exponen detalles específicos con el fin de proporcionar una comprensión más profunda a los expertos en la técnica. Sin embargo, es posible que elementos bien conocidos no se hayan mostrado o descrito en detalle para evitar oscurecer innecesariamente la divulgación. Por consiguiente, la descripción y los dibujos se deben considerar en un sentido ilustrativo, más que restrictivo.
Los colores se pueden representar en un espacio de colores tridimensional o de tres componentes. La gama de contenido se puede definir como el rango del espacio de colores ocupado por un grupo local de píxeles en datos de imagen. La gama de un formato de datos de imagen se puede definir como el rango del espacio de colores que puede ser especificado por el formato de datos de imagen. Un formato de datos de imagen que especifica colores en un espacio de colores de tres componentes usando cuatro bits por componente, por ejemplo, permite la especificación de hasta (24)3 o 4096 colores o combinaciones de componentes dentro de la gama del formato de datos de imagen. A menos que se esté considerando una muestra grande de datos de imagen (por ejemplo, una larga secuencia de tramas), no es probable que un grupo local de píxeles en los datos de imagen requiera todos los colores posibles que pueden ser especificados por el formato de datos de imagen. Además, se puede apreciar que ciertas combinaciones de componentes de color tienden a ocurrir en los datos de imagen con más frecuencia que otras combinaciones de componentes de color.
Se pueden aplicar realizaciones particulares de los métodos y aparatos descritos en el presente documento cuando una o más tramas o áreas de una trama de datos de imagen no usan la gama completa que puede ser especificada por el formato de datos de imagen. En tales casos, los datos de imagen se pueden codificar usando definiciones de gama localizada. Como se explica a continuación, el uso de definiciones de gama localizada puede facilitar la compresión de datos de imagen, una mayor especificación de profundidad de color de los datos de imagen y el procesamiento de datos de imagen por parte de dispositivos aguas abajo de una canalización de entrega de video.
Las figuras 1A y 1B, por ejemplo, ilustran casos en los que el área de la gama de contenido (rango de colores ocupado por un grupo local de píxeles en datos de imagen), según se delimita por un linde de gama de contenido 22, ocupa una fracción del área de toda la gama de los respectivos formatos de datos de imagen de los datos de imagen. En la figura 1A, se puede suponer que los datos de imagen están en formato Rec. 709 que tiene una gama delimitada por el linde de gama 20. En la figura 1B, se puede suponer que los datos de imagen están en un formato de gama ancha (es decir, que tienen una gama más amplia que el formato Rec. 709) que tiene una gama delimitada por el linde de gama 26. Para cada uno de estos casos, los datos de imagen se pueden codificar usando una definición de gama localizada que se puede determinar en base al menos en parte al linde de gama de contenido 22. También se representan en las figuras 1A y 1B con fines de referencia el lugar de espectro 30 (el lugar de puntos que representan colores espectrales puros o monocromáticos) y el iluminante estándar CIE D65 (punto blanco que representa la luz diurna promedio). Debe entenderse que las figuras 1A y 1B ilustran lindes de gama en un espacio bidimensional para facilitar la ilustración. Como se señaló anteriormente, los colores se pueden representar en un espacio de colores tridimensional o de tres componentes. La información de color especificada en un espacio de colores tridimensional se puede transformar en un espacio de colores donde la información cromática se especifica a lo largo de dos ejes (tal como se muestra en las figuras 1A y 1B) y la información de luminancia se especifica a lo largo de un tercer eje (no mostrado en las figuras 1A y 1B).
En el caso ilustrado por la figura 1A, se puede definir una gama localizada que tiene un linde de gama localizada 24 que coincide con el linde de gama de contenido 22. En otras realizaciones, el linde de gama localizada 24 puede rodear o abarcar el linde de gama de contenido 22 y/o estar próximo al linde de gama de contenido 22. El origen del espacio de colores ocupado por la gama localizada se puede definir en algún punto dentro de la gama localizada. Durante la codificación de los datos de imagen, las coordenadas de color especificadas en los datos de imagen se pueden mapear a correspondientes coordenadas de color en la gama localizada. Debido a que la gama localizada abarca una fracción del área de la gama del formato de datos de imagen, se puede usar un número reducido de bits para representar coordenadas de color dentro de la gama localizada. Por lo tanto, en tales casos se pueden emplear definiciones de gama localizada para reducir la cantidad de datos usados para representar la imagen.
Las limitaciones de ancho de banda para la transmisión inalámbrica o por cable de datos pueden limitar la cantidad de datos de imagen que se pueden transmitir a un visualizador. En consecuencia, puede ser deseable aplicar definiciones de gama localizada tal como se describió anteriormente con referencia a la figura 1A como para reducir la cantidad de datos necesarios para representar los colores en una imagen preservando al mismo tiempo la profundidad de color original de la imagen.
En otras realizaciones, se pueden emplear definiciones de gama localizada para disminuir los tamaños de los pasos entre colores (es decir, disminuir los niveles de cuantización entre colores) que se pueden especificar dentro de regiones de la gama del formato de datos de imagen, aumentando por ello la precisión con la que se pueden especificar los colores. La profundidad de color, o cantidad de colores dentro de una gama particular que se pueden representar en una imagen al mismo tiempo, está limitada por el número de bits usados para representar el color de cada píxel (es decir, la “profundidad de bits”). Por ejemplo, supóngase que la gama de contenido de los datos de imagen que se van a codificar está delimitada por el linde de gama de contenido 22 de la figura 1A, y un esquema de colores de profundidad de 16 bits (usando 5 bits para representar 32 niveles de rojo, 6 bits para representar 64 niveles de verde y 5 bits para representar 32 niveles de azul, para un total de 32 * 64 * 32 o 65536 colores diferentes) se está usando para representar todos los colores disponibles dentro del formato Rec. 709 mostrado delimitado por el linde de gama 20. En algunas tramas de imagen o áreas de trama, no se pueden usar los 65536 niveles de color que se pueden especificar mediante tal esquema de colores; en consecuencia, para disminuir los niveles de cuantización entre colores, se puede aplicar una nueva definición de gama localizada en la que los 65536 niveles de color se redefinen a colores dentro de la gama localizada. El uso de definiciones de gama localizada puede aumentar la profundidad de color dentro de la gama localizada (disminuyendo por ello los niveles de cuantización entre colores) a expensas de la profundidad de color fuera de la gama localizada. Por ejemplo, si se define una gama localizada dentro del formato Rec. 709 que tiene un linde de gama localizada 24 que coincide con el linde de gama de contenido 22, entonces se puede definir un nuevo esquema de colores de profundidad de 16 bits para representar todos los colores disponibles dentro de la gama localizada, aumentando así el número de colores que se pueden especificar dentro de la gama localizada a 65536 (es decir, 32 * 64 * 32).
Puede ser deseable aumentar la profundidad de color usando definiciones de gama localizada en ciertos casos en los que el visualizador es capaz de reproducir colores con una profundidad de color mayor que la que puede ser especificada por el formato de datos de imagen, y/o en los que se desea un control más fino de los niveles de cuantización entre colores. Por ejemplo, como se ilustra en la figura 1B, si la profundidad de bits es constante entre los diferentes formatos de datos de imagen, la precisión en la especificación de color de los datos de imagen en el formato de gama ancha (que tiene una gama delimitada por el linde de gama 26) será menor que para los datos de imagen en un formato de gama menos ancha tal como el formato Rec. 709 (que tiene una gama delimitada por un linde de gama 20). Las diferencias entre niveles de cuantización para colores en la gama más ancha son necesariamente mayores para permitir que se especifiquen colores en toda el área de gama aumentada. Para aumentar la precisión con la que se pueden especificar los colores, se pueden proporcionar datos de imagen con una profundidad de bits mayor, pero en muchos casos esto puede no resultar práctico.
En el ejemplo de la figura 1B, los datos de imagen están en un formato de gama ancha y algunos colores de la gama de contenido (definidos por el linde de gama 22) están fuera de la gama Rec. 709. La gama de contenido de los datos de imagen ocupa una fracción del área de la gama del formato de gama ancha mostrado delimitado por el linde de gama 26. Para aumentar la precisión con la que se pueden representar colores en los datos de imagen, se puede definir una gama localizada para los datos de imagen que tienen un linde de gama localizada 24 que coincide o abarca el linde de gama de contenido 22. Se puede definir un nuevo esquema de colores para representar los colores dentro de esta gama localizada. Las coordenadas de color especificadas en los datos de imagen se pueden mapear a correspondientes coordenadas de color en la gama localizada.
Un ejemplo para ilustrar cómo se puede aumentar la profundidad de color mediante el uso de definiciones de gama localizada es el siguiente: supóngase que la gama completa del formato de datos de imagen se describe mediante N combinaciones de palabras de código de componentes de color, y la gama de contenido local es pequeña en comparación con la gama completa del formato de datos de imagen (por ejemplo, la gama de contenido local requiere un subconjunto de N posibles combinaciones). El linde de gama de contenido local se puede determinar y las N palabras de código se pueden reasignar para ocupar un espacio de colores hasta el linde de gama de contenido local. Las N palabras de código se pueden usar por tanto para especificar colores en una región más pequeña de la gama completa del formato de datos de imagen, con una resolución de color (profundidad de color) más alta que antes.
El nuevo esquema de colores usado con una definición de gama localizada puede tener la misma profundidad de bits que el formato de datos de imagen. En otros casos, el nuevo esquema de colores usado con una definición de gama localizada puede tener una profundidad de bits reducida como formato de datos de imagen aún permitiendo al mismo tiempo la especificación de colores dentro de la gama localizada con la profundidad de color deseada.
En algunas realizaciones, un nuevo esquema de colores para una definición de gama localizada puede ser seleccionado y usado por un clasificador de colores profesional durante el procesamiento de posproducción de datos de imagen con el fin de especificar colores con mayor precisión de la que sería permitida por el esquema de colores existente del formato de datos de imagen. En otras realizaciones, un nuevo esquema de colores para una definición de gama localizada puede ser determinado o recuperado por un dispositivo aguas abajo y usado para mejorar la especificación de color de los datos de imagen procesados a los que se les ha aplicado compresión de gama (por ejemplo, procesamiento que comprime datos de imagen de gama ancha a las limitaciones de una gama más convencional, por ejemplo la gama Rec. 709).
Cuando se codifican datos de imagen usando una definición de gama localizada, se puede comunicar información relativa a la definición de gama localizada a un dispositivo aguas abajo para posibilitar que el dispositivo aguas abajo decodifique los datos de imagen. Tal información se puede codificar como metadatos en los datos de imagen, o se puede comunicar como metadatos por delante de las tramas de datos de imagen, tal como al comienzo de una película, difusión, escena, etc. Un dispositivo aguas abajo (por ejemplo, una caja de configuración de sobremesa o “set-top box” o un procesador de visualización) puede decodificar los datos de imagen para la visualización extrayendo la información de gama localizada desde los datos de imagen y aplicando tal información para traducir los valores de coordenadas de color definidos usando la definición de gama localizada a valores de coordenadas de color para la reproducción en un visualizador. Los valores de coordenadas de color remapeados pueden tener el mismo formato y definición que valores de coordenadas de color ordinarios, de modo que la transmisión, visualización, etc. de los datos de imagen no queda afectada.
Antes de la visualización, los datos de imagen decodificados se filtran opcionalmente mediante un dispositivo aguas abajo para reducir artefactos visuales que pueden aparecer en los datos de imagen después de la decodificación. Los artefactos visuales pueden resultar de la aplicación de diferentes definiciones de gama localizada entre tramas o áreas de trama para codificar los datos de imagen.
En realizaciones particulares, se puede usar información de gama localizada en etapas de una canalización de entrega de video para facilitar la especificación de información de color y operaciones que dependen de las características de color locales. Una canalización de entrega de vídeo típica incluye varias etapas como, por ejemplo, captura de contenido, edición de posproducción, codificación, transmisión, decodificación y visualización. La información de gama localizada que se genera anteriormente en la canalización por un dispositivo aguas arriba se puede transmitir a lo largo de la canalización (por ejemplo, a modo de metadatos) para guiar a uno o más dispositivos aguas abajo en el procesamiento de los datos de vídeo. Los dispositivos aguas abajo pueden usar características de color locales para, por ejemplo: mejorar detalles en una imagen, enmascarar o suprimir ruidos o artefactos, realizar mapeo de tonos locales y/o determinar la gama local requerida por una luz de fondo de color en visualizadores de modulación dual. El coste computacional global de tales operaciones se puede reducir mediante el uso de información de gama localizada que ha sido precalculada por un dispositivo aguas arriba y proporcionada al dispositivo aguas abajo.
La figura 2A ilustra un método 100 de uso de definiciones de gama localizada para codificar datos de imagen de acuerdo con una realización. El método 100 comienza recibiendo datos de imagen de contenido 102, que pueden comprender una o más tramas o áreas de una trama de datos de imagen. Los datos de imagen 102 pueden comprender datos de vídeo, por ejemplo. La gama de contenido de los datos de imagen 102 se caracteriza en el bloque 104. La caracterización de gama del bloque 104 puede comprender, por ejemplo, determinar uno o más de los siguientes:
- un linde que abarca todos los puntos de una gama de contenido o una porción de la gama de contenido;
- el área dentro del linde que abarca todos los puntos de la gama de contenido o una porción de la gama de contenido;
- información estadística sobre las coordenadas de color o información de color especificada para un grupo local de píxeles, tales como valores medios, desviación estándar, varianza, valores máximos y mínimos, etc.
Los métodos de caracterización de gama también se analizan a continuación con referencia a las figuras 3A a 3C.
En el bloque 107, la caracterización de la gama determinada en el bloque 104 se evalúa para determinar si las condiciones son apropiadas para aplicar una transformada de gama localizada a los datos de imagen. Si se determina en el bloque 107 que las condiciones son apropiadas, entonces una gama localizada para datos de imagen 102 se determina o recupera en el bloque 108. La gama localizada se puede seleccionar de un conjunto de definiciones de gama localizada predeterminadas o se puede generar para datos de imagen 102 en base a la caracterización de gama del bloque 104. Los métodos para determinar definiciones de gama localizada se analizan a continuación con referencia a las figuras 3A a 3C. La definición de gama localizada se puede especificar para bloques u otras áreas de una imagen. En algunas realizaciones, la trama se puede dividir en varios bloques de subtramas, uno o más de los cuales pueden estar asociados con una o unas definiciones de gama localizada. En otras realizaciones, el área para la cual se asocia una gama localizada se puede definir con respecto a las características de gama de la imagen (por ejemplo, la gama localizada se puede especificar para un o unos objetos o áreas dentro de la trama que tiene tonos similares).
La gama localizada del bloque 108 se puede definir mediante un linde de gama que coincide con la gama de contenido o la rodea. El linde de gama se puede representar de varias maneras, tales como, por ejemplo:
un conjunto de puntos que es un subconjunto de puntos en una gama existente (por ejemplo, la gama Rec. 709); y una representación polinómica.
Ejemplos de un linde de gama localizada 24 correspondiente a una gama de contenido definida por el linde de gama de contenido 22 se representan en las figuras 1A y 1B. La gama localizada puede estar en el mismo espacio de colores o en un espacio diferente que la gama del formato de datos de imagen. El origen del espacio de colores en el que se define la gama localizada puede estar ubicado en algún punto dentro de la gama localizada, pero esto no es necesario y el origen puede estar definido en alguna otra ubicación. En ciertas realizaciones, el origen se puede ubicar en un valor medio de los valores de coordenadas de color de los datos de imagen.
En el bloque 110, se aplica una transformada de gama localizada a los datos de imagen para mapear las coordenadas de color especificadas por los datos de imagen 102 a correspondientes coordenadas de color en la gama localizada. En algunas realizaciones, se puede definir un nuevo esquema de colores para representar coordenadas de color en la gama localizada. El nuevo esquema de colores puede tener la misma o diferente profundidad de bits que el formato de datos de imagen; la profundidad de bits determina la precisión con la que se pueden especificar los colores en la gama localizada. Por ejemplo, en los casos en los que la gama de contenido ocupa una fracción del área de la gama de un formato de gama convencional o no ancha (por ejemplo, el caso ilustrado en la figura 1A), puede que no sea necesario usar la profundidad de bits completa para los datos de imagen, y se puede usar una profundidad de bits reducida para representar las coordenadas de color dentro de la gama localizada. Por otro lado, en los casos en que la gama de contenido ocupa una fracción del área de la gama de un formato de gama ancha, y al menos una parte de la gama de contenido está fuera de la gama de un formato de gama convencional o no ancha (por ejemplo, el caso ilustrado en la figura 1B), entonces se puede usar la profundidad de bits completa del formato de datos de imagen para representar todos los colores disponibles dentro de la gama localizada con el nivel de precisión deseado.
La transformada de gama localizada en el bloque 110 se puede realizar mediante, por ejemplo:
- tablas de consulta (LUT);
- una función que acepta valores de entrada y los traduce a correspondientes valores de salida en la gama localizada;
- etc.
En determinadas realizaciones, con el propósito de caracterizar la gama, evaluar las características de la gama, determinar una transformada de gama localizada y/o aplicar una transformada de gama localizada (es decir, bloques 104, 107, 108, y/o 110 del método 100A), se puede transformar información de color desde su espacio de colores original hasta otro espacio de colores. El nuevo espacio de colores puede resultar más conveniente para el análisis visual y perceptivo. La transformación al nuevo espacio de colores puede facilitar el procesamiento de datos de imagen y una representación más eficiente de los datos de imagen. La transformación al nuevo espacio de colores puede ser no lineal.
Información estadística sobre las señales de color de los datos de imagen evaluadas en el espacio de colores original se puede traducir a diferentes valores estadísticos en el nuevo espacio de colores. Al caracterizar la gama, se pueden considerar medidas estadísticas tales como valor medio, valor máximo, valor mínimo, desviación estándar, varianzas o similares, para un grupo local de píxeles en el espacio de colores original y/o nuevo. También se puede considerar alguna descripción de delimitación tal como la distancia a los valores medios.
De acuerdo con algunas realizaciones, se pueden aplicar una o más transformadas en el bloque 110 para reducir el rango de la información de señal de color transformada preservando al mismo tiempo características de color significativas. En algunas realizaciones, al probar transformadas no lineales en diversas medidas estadísticas, se puede seleccionar y aplicar una transformada óptima para compactar la información de la señal de color mientras se minimiza o reduce la distorsión de características de color significativas. De acuerdo con realizaciones particulares, se aplica una transformada no lineal y posteriormente se aplica una transformada lineal óptima general (por ejemplo, descomposición de valores singulares o análisis de componentes principales) para compactar aún más la información de señal de color.
En el bloque 112, se comprimen datos de imagen 102. La compresión se puede realizar usando una o más técnicas adecuadas para el formato de datos de imagen, tales como, por ejemplo:
- codificación de transformada, tal como mediante transformadas de coseno discretas (DCT, por sus siglas en inglés), como se puede usar con datos de imagen JPEG y datos de vídeo MPEG, por ejemplo;
- codificación predictiva, como se puede usar con datos de vídeo MPEG, por ejemplo;
- compresión sin pérdidas (por ejemplo, compresión Lempel-Ziv-Welch), como se puede usar con datos de imagen GIF y TIFF, por ejemplo;
- compresión basada en ondículas;
- una combinación de uno o más de los anteriores;
- y similares.
En algunas realizaciones, los datos de imagen residuales (es decir, la diferencia entre los datos de imagen de trama previos o de entrada y los datos de imagen de trama siguientes o de salida predichos después de que se apliquen técnicas de predicción) se codifican usando técnicas estándar de codificación de imágenes (por ejemplo, DCT, cuantización dependiente de frecuencia o independiente, ordenamiento de escaneo de frecuencia, codificación de longitud de ejecución fija o variable, y similares). Las predicciones se realizan usando técnicas de predicción inter- o intra-tramas. Las tramas se pueden dividir en bloques de subtramas locales. Cada bloque sucesivo se predice usando datos de imagen previamente codificados. Los datos de imagen residuales contienen cierta información estadística de la imagen de entrada y alguna información estadística local nueva debido a las técnicas de predicción basadas en bloques. Las técnicas de representación de gama local como se describen en el presente documento se pueden aplicar a datos de imagen residuales.
Para ayudar a los dispositivos aguas abajo a procesar y decodificar los datos de imagen, en el bloque 114 se pueden incrustar metadatos 116 en los datos de imagen, o se pueden transmitir junto con los datos de imagen. Los metadatos 116 pueden proporcionar información sobre la definición de gama localizada para tramas o áreas particulares de una trama. Los metadatos 116 pueden comprender, por ejemplo: un índice de una biblioteca de definiciones de gama localizada 40 (figura 5) que están disponibles para el dispositivo aguas abajo; coordenadas 42 que identifican el o las áreas de una trama a la que se aplica una definición de gama localizada (como se especifica mediante un índice, por ejemplo) (figura 5); información relativa a una función de mapeo, o de la cual se puede derivar una tabla de consulta (es decir, para mapear las coordenadas de color definidas usando la definición de gama localizada a las coordenadas de color en los datos de imagen para reproducción en el visualizador), etc. Los datos de imagen procesados y comprimidos 118 que incluyen metadatos 116 se envían entonces para transmisión a un dispositivo aguas abajo.
Es posible que las definiciones de gama localizada no se apliquen en todos los casos. Por ejemplo, en el método 100, para ciertos tramas o áreas de una trama de datos de imagen, si se determina por la evaluación del bloque 107 de las características de la gama que las condiciones no son apropiadas para aplicar una transformada de gama localizada a los datos de imagen, entonces es posible que no se apliquen definiciones de gama localizada. En tales casos, el método 100 puede sortear la determinación y la transformada de la gama localizada y proceder a comprimir los datos de imagen en el bloque 112. En algunas realizaciones, se pueden comunicar metadatos 116 al dispositivo aguas abajo indicando que no se aplicaron definiciones de gama localizada a dichos datos de imagen.
Datos de imagen 118 que han sido codificados de acuerdo con el método 100 de la figura 2A se pueden decodificar posteriormente mediante un visualizador u otro dispositivo aguas abajo para prepararlos para su salida al visualizador, como se muestra en el método 120 de la figura 2B, por ejemplo. El método 120 comienza recibiendo los datos de imagen procesados 118. El método 120 pasa al bloque 122 extrayendo metadatos 116 a partir de datos de imagen 118. En el bloque 124, los datos de imagen se descomprimen. En el bloque 126, la información de color de los datos de imagen descomprimidos se decodifica aplicando la transformada de gama localizada inversa a los datos de imagen. La transformada inversa del bloque 126 se puede basar al menos en parte en metadatos 116 que guían el mapeo desde los valores de coordenadas de color de la definición de gama localizada aplicable, a valores de coordenadas de color del formato de datos de imagen para reproducción en un visualizador. Por ejemplo, el dispositivo aguas abajo que implementa el método 120 puede tener disponible una biblioteca de definiciones de gama localizada 40 (véase la figura 5). Los metadatos 116 pueden incluir indicadores de gama localizada que se usan para indexar la biblioteca de definiciones de gama localizada 40, y coordenadas que identifican las áreas de una trama para las cuales se aplica una definición de gama localizada particular (véase la figura 5). En algunas realizaciones, la biblioteca de definiciones de gama localizada 40 se puede configurar usando metadatos 116.
En otras realizaciones, la transformada del bloque 126 se puede mapear desde los valores de coordenadas de color de la definición de gama localizada aplicable, a valores de coordenadas de color dentro de un espacio de colores diferente (por ejemplo, espacio de colores RGB) para reproducción en el visualizador.
En el bloque 128 del método 120, los datos de imagen decodificados se filtran opcionalmente para reducir los artefactos visuales que pueden aparecer en los datos de imagen después de la decodificación. Los datos de imagen filtrados y decodificados resultantes se emiten como datos de imagen de salida 130 al visualizador.
Para comunicar los metadatos 116 se requiere cierta sobrecarga que permite que los dispositivos aguas abajo decodifiquen los datos de imagen. A pesar del aumento de la sobrecarga, donde el área de la gama de contenido es una fracción del área de la gama del formato de datos de imagen, se puede lograr una mayor compresión de los datos de imagen en circunstancias adecuadas codificando los datos de imagen usando definiciones de gama localizada (tal como en el caso ilustrado en la figura 1A).
Las figuras 3A, 3B y 3C ilustran métodos 200, 240 y 280 respectivamente que se pueden aplicar como implementaciones de ejemplo específicas de los bloques 104, 107 y 108 del método 100 (figura 2A) de acuerdo con realizaciones de ejemplo. En cada uno de los métodos 200, 240 y 280, una trama de datos de imagen de contenido 102 se recibe y se divide en el bloque 202 en bloques de subtramas, comprendiendo cada bloque de subtramas NxN píxeles asociados con valores que representan información de color. La figura 4, por ejemplo, ilustra un área de una trama 31 dividida en cuatro bloques de subtramas 32. Una trama puede tener sustancialmente más de cuatro bloques de subtramas, como se muestra. En el ejemplo ilustrado de la figura 4, cada bloque de subtramas 32 tiene 8x8 píxeles. Si los datos de imagen se representan en el espacio de colores CIE LUV, cada uno de los 64 píxeles de un bloque de subtramas puede estar asociado con valores L', u', v'. Para datos de imagen representados en otros espacios de colores, cada uno de los píxeles puede estar asociado con otros valores de color.
En cada uno de los métodos 200, 240 y 280, características de gama para cada bloque de subtramas 32 se determinan en uno o unos bloques 204. En función de dichas características de gama, se pueden evaluar una o más condiciones en uno o unos bloques 206. Si se cumplen ciertas condiciones, las definiciones de gama localizada se recuperan en uno o unos bloques 208.
Para cada uno de los métodos 200, 240 y 280, las características de gama determinadas a partir de datos de imagen pueden incluir un valor indicativo del color medio de cada bloque de subtramas (como se determina en el bloque 204A). En algunas realizaciones, dicho valor puede ser el coeficiente DC (es decir, el valor DC) de la matriz de coeficientes DCT, por ejemplo (véase la figura 4). La determinación de un coeficiente DC 33 puede comprender aplicar una transformada de coseno discreta (DCT) a los valores de píxel en el bloque de subtramas 32. Las características de gama de los datos de imagen también pueden incluir valores de color mínimos y máximos de cada bloque de subtramas (según se determina en el bloque 204B). Cuando los datos de imagen se representan en el espacio de colores CIE LUV, los valores medios (por ejemplo, coeficientes DC 33) y mínimo y máximo de cada bloque de subtramas 32 se pueden calcular por separado para cada uno de los componentes L', u', v'. En otras realizaciones particulares, las características de gama en los bloques 204 se pueden proporcionar al codificador a modo de metadatos en los datos de imagen o comunicación desde un dispositivo aguas arriba tal como, por ejemplo, una herramienta de gradación de color.
Los métodos 200, 240 y 280 difieren en las condiciones que se evalúan en el o los bloques 206 y las definiciones de gama localizada que se seleccionan o generan en el o los bloques 208. El método 200 de la figura 3A evalúa si las condiciones son apropiadas para usar una definición de gama localizada para facilitar la compresión de datos. El método 240 de la figura 3B evalúa si las condiciones son apropiadas para usar una definición de gama localizada para aumentar la profundidad del color. El método 280 de la figura 3C incorpora aspectos de los métodos 200 y 240 y evalúa si las condiciones son apropiadas para usar una definición de gama localizada para facilitar la compresión de datos o aumentar la profundidad del color.
El método 200 de la figura 3A comienza dividiendo la trama en bloques de subtramas 32 en el bloque 202 y determinando las características de la gama en los bloques 204, como se describió anteriormente. Después de determinar las características de la gama en los bloques 204, el método 200 pasa al bloque 206B evaluando, para cada bloque de subtramas 32, si el valor absoluto de las diferencias entre: (1) el valor medio y el valor mínimo, y (2) el valor medio y el valor máximo, son respectivamente menores que un valor umbral predeterminado (es decir, “UMBRAL1”). Si tales diferencias no son menores que el valor umbral, entonces el método 200 puede proceder devolviendo una indicación en el bloque 209 de que las condiciones no son apropiadas para usar una definición de gama localizada. Por ejemplo, la gama de contenido puede cubrir un área tan grande que el uso de definiciones de gama localizada puede no reducir los datos de imagen más allá de una cantidad insignificante después de tener en cuenta la sobrecarga al comunicar información relativa al uso de definiciones de gama localizada a dispositivos aguas abajo.
En realizaciones alternativas, se pueden evaluar una o más condiciones diferentes en el bloque 206B del método 200 para determinar si es apropiado usar definiciones de gama localizada para fines de compresión de datos. Otras condiciones similares pueden incluir, por ejemplo:
- evaluar el área de la gama de contenido como porcentaje del área de la gama del formato de datos de imagen;
- evaluar el volumen de la gama de contenido como un porcentaje del volumen de la gama del formato de datos de imagen (es decir, considerar la gama en un espacio de colores tridimensional);
- evaluar la distancia entre valores medios y el linde de la gama del formato de datos de imagen;
- evaluar las características de color de los bloques de subtramas vecinos;
- evaluar los costes y beneficios de aplicar una transformada de gama localizada (por ejemplo, los costes pueden incluir artefactos visuales);
- evaluar los costes y beneficios de aplicar una transformada de gama global;
- etc.
Si las diferencias entre el valor medio y los valores mínimo/máximo evaluados en el bloque 206B del método 200 son menores que los valores umbral, entonces el método 200 procede recuperando una definición de gama localizada para los datos de imagen en el bloque 208D. La definición de gama localizada puede ser: seleccionada de un conjunto de definiciones de gama localizada predeterminadas, recuperada de la memoria, extraída de la señal de vídeo y/o generada en base a los valores medios y/o valores mínimos y máximos (u otras características de gama) determinados en los bloques 204. La definición de gama localizada puede tener un linde que coincide con la gama de contenido o la rodea.
El método 240 de la figura 3B determina una definición de gama localizada que se puede usar para codificar datos de imagen para aumentar su profundidad de color. El método 240 se puede aplicar, por ejemplo, cuando el formato de datos de imagen tiene una gama ancha (una gama más amplia que una gama convencional como el formato Rec. 709), ya que puede ser deseable en tales casos aumentar la precisión con la que se pueden especificar los colores en los datos de imagen. Como se explicó anteriormente con referencia a la figura 1B, codificar datos de imagen usando definiciones de gama localizada puede permitir que se especifique un mayor número de colores dentro de un área de la gama del formato de datos de imagen, sin aumentar necesariamente la profundidad de bits de los datos de imagen.
Como se muestra en la figura 3B, después de determinar características de la gama en los bloques 204, el método 240 pasa al bloque 206A determinando si los puntos en el linde de gama de contenido están suficientemente cerca del linde de gama del formato de datos de imagen. Si el linde no está lo suficientemente cerca, entonces el método 240 puede proceder devolviendo una indicación en el bloque 209 de que las condiciones no son apropiadas para usar una definición de gama localizada (por ejemplo, como la gama de contenido no empuja los lindes de la gama del formato de gama ancha, pues no es necesario definir una gama localizada especial; sin embargo, en algunas realizaciones, se puede usar otra definición de gama para codificar los datos de imagen, tal como la definición de gama de un formato de gama convencional o no ancha).
Si el linde de gama de contenido está lo suficientemente cerca del linde de gama del formato de datos de imagen, entonces el método 240 pasa al bloque 206C evaluando si el valor absoluto de las diferencias entre: (1) el valor medio y el valor mínimo, y (2) el valor medio y el valor máximo, son respectivamente menores que un valor umbral predeterminado (es decir, “UMBRAL2”). Si tales diferencias no son menores que el valor umbral, entonces el método 240 puede proceder devolviendo una indicación en el bloque 209 de que las condiciones no son apropiadas para usar una definición de gama localizada. Por ejemplo, la gama de contenido puede cubrir un área tan grande que el uso de definiciones de gama localizada puede no aumentar la profundidad del color más allá de un grado significativo.
Si las diferencias entre el valor medio y los valores mínimo/máximo evaluados en el bloque 206C del método 240 son menores que los valores umbral, entonces el método 240 procede recuperando una definición de gama localizada para los datos de imagen en el bloque 208A. La definición de gama localizada se puede seleccionar de un conjunto de definiciones de gama localizada predeterminadas o se puede generar en base a los valores medios y/o valores mínimos y máximos (u otras características de gama) determinados en los bloques 204. La definición de gama localizada puede tener un linde que coincide con la gama de contenido o la rodea. Se puede definir un nuevo esquema de colores para la gama localizada para aumentar la profundidad de color.
En otras realizaciones, se pueden definir definiciones de gama localizada independientemente de lo cerca que esté el linde de gama de contenido del linde de gama del formato de datos de imagen. Sin embargo, ciertas operaciones, tales como transformaciones basadas en información de gama localizada, se pueden basar en la relación relativa del linde de gama de contenido local con el linde de gama del formato de datos de imagen y/o con el linde de gama de contenido local de bloques de subtramas vecinos.
El método 280 de la figura 3C incorpora aspectos de los métodos 200 y 240 para recuperar definiciones de gama localizada para facilitar la compresión de datos o aumentar la profundidad de color. En el método 280, pasos similares a los de los métodos 200 y 240 están etiquetados con los mismos números de referencia. Como se ve en la figura 3C, después de determinar características de gama en los bloques 204, el método 280 pasa a los bloques 206 (lo que incluye los bloques 206A, 206B, 206C) evaluando para cada bloque de subtramas 32 las condiciones como se discutió anteriormente con referencia al bloque 206B de la figura 3A y los bloques 206A, 206C de la figura 3B. En base al resultado de tales evaluaciones, el método 280 procede a uno de los siguientes pasos, como se ilustra en la figura 3C:
- devolver una indicación en el bloque 209 de que las condiciones no son apropiadas para usar una definición de gama localizada;
- recuperar una definición de gama localizada en el bloque 208A para aumentar la profundidad de color; y
- recuperar una definición de gama localizada en el bloque 208D para facilitar la compresión de datos.
En algunas realizaciones de los métodos 200, 240 y 280, si las condiciones no son apropiadas para usar una definición de gama localizada, en lugar de devolver una indicación en el bloque 209 el método 240 puede simplemente no hacer nada en el bloque 209 (haciendo que el procesamiento de imagen proceda con el siguiente paso sin selección ni aplicación de definiciones de gama localizada).
Debe entenderse que los pasos de determinar y evaluar las características de gama y seleccionar definiciones de gama localizada (como se describe anteriormente para los métodos 200, 240 y 280) se pueden realizar en cada bloque de subtramas (u otras porciones) de datos de imagen. Los métodos se pueden repetir para tramas sucesivas de datos de imagen.
La figura 2C ilustra un método de ejemplo 100A para usar definiciones de gama localizada para codificar datos de imagen de acuerdo con otra realización. El método 100A de la figura 2C es similar en algunos aspectos al método 100 de la figura 2A, y se usan números de referencia similares para referirse a pasos similares, excepto que los números de referencia para los pasos del método 100A están complementados con la letra “A”. El método 100A se puede realizar en cada trama (o área de una trama) de datos de imagen 102.
El método 100A comienza recibiendo una trama o área de una trama de datos de imagen 102. La gama de contenido de los datos de imagen 102 se caracteriza en el bloque 104A. En el bloque 107A, la caracterización de la gama determinada en el bloque 104A se evalúa para determinar si las condiciones son apropiadas para aplicar una transformada de gama localizada a los datos de imagen. Los pasos realizados en los bloques 104A y 107A pueden ser similares a los realizados en bloques 104 y 107 del método 100.
Si se determina en el bloque 107A que las condiciones son apropiadas, entonces el método 100A puede proceder: determinando un valor medio de coordenadas de color de los datos de imagen y, en base a dicho valor medio de coordenadas de color, aplicando una transformada de gama localizada a los valores de coordenadas de color restantes de los datos de imagen. Por ejemplo, en la realización ilustrada del método 100A, en el bloque 106A se puede aplicar una transformada de coseno discreta (DCT) a los valores de píxel de los datos de imagen para determinar un coeficiente DC 33 (es decir, valor DC) de la matriz de coeficientes DCT de los datos de imagen (véase la figura 4). En base al coeficiente DC 33, se puede determinar una transformada de gama localizada en el bloque 108A. La transformada de gama localizada se puede aplicar a los datos de imagen en el bloque 110A de tal manera que los valores restantes en la matriz de coeficientes DCT (es decir, los coeficientes AC 34 - véase la figura 4) tienden, de media, a volverse más pequeños a medida que la transformada de gama localizada mapea los valores de las coordenadas de color a nuevos valores cercanos al coeficiente DC 33. En consecuencia, tras la cuantización de los datos de imagen transformados en el bloque 111A, muchos de los coeficientes AC 34 se pueden someter a cuantización a cero, lo que facilita la compresión de los datos de imagen en el bloque 112A. La transformada de gama localizada en el bloque 110A no afecta al coeficiente DC 33. En ciertas realizaciones, la transformada de gama localizada en el bloque 110A se puede determinar en base al coeficiente DC de un bloque (u otra área) dentro de una trama, o en base a los coeficientes DC de una pluralidad de bloques vecinos dentro de una trama (por ejemplo, tal como la media de los coeficientes DC de los bloques vecinos).
La transformada utilizada en el método 100A para determinar un valor DC o medio en el bloque 106A y aplicar una transformada de gama localizada en el bloque 110A no se limita a transformadas de coseno discretas. En otras realizaciones, se puede aplicar alguna otra transformada, que comienza determinando un CC o componente medio para los datos de imagen, y entonces determina, para cada valor, las diferencias (o el “residuo”) a partir del componente medio.
Para ayudar a los dispositivos aguas abajo a procesar y decodificar los datos de imagen, en el bloque 114A se pueden incrustar metadatos 116 en los datos de imagen, o se pueden transmitir junto con los datos de imagen. Los metadatos 116 pueden incluir una indicación de que se aplicó una transformada de gama localizada a los datos de imagen. En realizaciones particulares, los metadatos 116 pueden proporcionar información sobre el algoritmo usado para determinar y aplicar la transformada de gama localizada (por ejemplo, si la transformada de gama localizada se seleccionó en base al coeficiente DC de un único bloque dentro de una trama o en base a los coeficientes DC de una pluralidad de bloques vecinos dentro de una trama, etc.). Los datos procesados comprimidos transformados 118A resultantes se envían a un dispositivo aguas abajo.
En otras realizaciones, no es necesario realizar los bloques 104A y 107A del método 100A. En tales realizaciones, se puede realizar una transformada de gama localizada en cada bloque de subtramas (u otra área) de datos de imagen en base al coeficiente DC para el bloque de subtramas y/o coeficientes DC para bloques de subtramas circundantes o cercanos. Al recibir un bloque de subtramas (u otra área) de datos de imagen, el método puede proceder determinando el coeficiente DC para el bloque de subtramas de datos de imagen, como se describe en el bloque 106A del método 100A, por ejemplo. En otras realizaciones, se puede realizar una transformada de gama localizada en cada bloque de subtramas de datos de imagen en base a información de gama generada por una herramienta de gradación de color, por ejemplo, y comunicada mediante metadatos transmitidos en los datos de imagen.
En ciertas realizaciones donde se realiza una transformada de gama localizada en cada bloque de subtramas (u otra área) de datos de imagen, puede no ser necesario que los metadatos 116 se codifiquen en los datos de imagen en el bloque 114A del método 100A. Por ejemplo, un dispositivo aguas abajo se puede configurar para proceder decodificando los datos de imagen suponiendo que se aplicó una transformada de gama localizada a cada bloque de subtramas de datos de imagen en base a un algoritmo predeterminado (por ejemplo, un algoritmo basado en el coeficiente DC para el bloque y/o coeficientes DC para bloques de subtramas circundantes o cercanos).
La figura 2D muestra una implementación de ejemplo de un método 120A que se puede realizar mediante un visualizador u otro dispositivo aguas abajo para decodificar datos de imagen que han sido codificados según el método 100A de la figura 2C, por ejemplo. El método 120A se puede realizar en cada trama o área de una trama de datos de imagen procesados 118 para preparar los datos de imagen para salida al visualizador. El método 120A de la figura 2D es similar en algunos aspectos al método 120 de la figura 2B, y se usan números de referencia similares para referirse a pasos similares, excepto que los números de referencia para los pasos del método 120A están complementados con la letra “A”.
El método 120A comienza recibiendo una trama o área de una trama de datos de imagen procesados 118. El método 120A pasa al bloque 122A extrayendo metadatos 116 a partir de datos de imagen 118. En el bloque 124A, los datos de imagen 118 es descomprimen. Si los metadatos 116 indican en el bloque 124B que se aplicó una transformada de gama localizada a los datos de imagen, en el bloque 125A el coeficiente DC 33 se extrae de los datos de imagen (ya que no quedaron afectados por la transformada localizada aplicada en el bloque 110A del método 100A). En base a tal coeficiente DC 33, la transformada de gama localizada inversa se puede determinar en el bloque 125B -es decir, en base al coeficiente DC 33 (junto con, opcionalmente, metadatos 116 para realizaciones particulares), el dispositivo aguas abajo puede determinar el algoritmo mediante el cual se determinó la transformada de gama localizada en el bloque 108A del método 100A-. En el bloque 126A, la transformada de gama localizada inversa se aplica a los datos de imagen para mapear los valores de coordenadas de color de la definición de gama localizada aplicable, a los valores de coordenadas de color del formato de datos de imagen para reproducción en un visualizador. En otras realizaciones, la transformada del bloque 126A se puede mapear desde los valores de coordenadas de color de la definición de gama localizada aplicable, a valores de coordenadas de color dentro de un espacio de colores diferente (por ejemplo, espacio de colores RGB) para reproducción en el visualizador.
En el bloque 128A del método 120A, los datos de imagen decodificados se pueden filtrar para reducir los artefactos visuales que pueden aparecer en los datos de imagen después de la decodificación. Los datos de imagen filtrados y decodificados resultantes se emiten como datos de imagen de salida 130 al visualizador.
Las figuras 6A y 6B ilustran respectivamente aparatos de codificación y decodificación 140, 160 que se pueden usar para implementar uno o más métodos descritos en el presente documento. Datos de imagen que han sido codificados mediante el aparato de codificación 140 se pueden decodificar usando el aparato decodificador 160. El aparato de codificación 140 puede implementar, por ejemplo, uno o más de los métodos 100 (figura 2A), 100A (figura 2C), 200 (figura 3A), 240 (figura 3B) y 280 (figura 3C). El aparato de decodificación 160 puede implementar, por ejemplo, los métodos 120 (figura 2B) y 120A (figura 2D).
En la realización ilustrada de la figura 6A, el aparato de codificación 140 incorpora una unidad de caracterización y selección de gama 142. La unidad de caracterización y selección de gama 142 se puede configurar para realizar uno o más de los métodos 200 (figura 3A), 240 (figura 3B) y 280 (figura 3C), por ejemplo. La unidad de caracterización y selección de gama 142 se puede configurar para recibir datos de imagen 102 y determinar u obtener características de gama de datos de imagen 102. La unidad de caracterización y selección de gama 142 puede tener acceso a un repositorio de definiciones de gama localizada 144. La unidad de caracterización y selección de gama 142 puede ejecutar funciones de software y/o hardware para evaluar las características de gama de los datos de imagen 102. Tal evaluación se puede realizar en cada uno de varios bloques de subtramas de una trama de datos de imagen. En base a dicha evaluación, la unidad de caracterización y selección de gama 142 puede seleccionar una definición de gama localizada apropiada 146 desde el repositorio 144 para codificar datos de imagen. El uso de definiciones de gama localizada 146 puede facilitar la compresión de datos o una reproducción más precisa de los colores como se describió anteriormente.
La definición de gama localizada 146 se puede proporcionar junto con datos de imagen 102 a una unidad de transformada de gama 148. La unidad de transformada de gama 148 está configurada para mapear coordenadas de color especificadas por los datos de imagen 102 a correspondientes coordenadas de color de la definición de gama localizada, lo que da como resultado datos transformados 150 que se proporcionan a una unidad de compresión 152 del aparato de codificación 140.
Para algunas tramas de datos de imagen o bloques de subtramas, se puede determinar a partir de una evaluación de las características de la gama que las condiciones no son apropiadas para usar una definición de gama localizada. En tales casos, la unidad de caracterización y selección de gama 142 hace que los datos de imagen 102 se pasen a la unidad de compresión 152, sorteando la unidad de transformada de gama 148.
La unidad de compresión 152 es operable para comprimir los datos de imagen que recibe usando una técnica de compresión adecuada, tal como uno de los algoritmos de compresión descritos anteriormente. Los datos de imagen comprimidos resultantes 154 se pasan a un escritor de metadatos 156, que está en comunicación con la unidad de transformada de gama 148 y tiene acceso a metadatos 116 en un repositorio de metadatos. En base a señales recibidas desde la unidad de transformada de gama 148, el escritor de metadatos 156 puede codificar metadatos (por ejemplo, metadatos que especifican una definición de gama localizada) que ayudarán a los dispositivos aguas abajo a decodificar los metadatos. Los datos de imagen procesados resultantes 118 que incluyen metadatos 116 se emiten entonces para transmisión a un dispositivo aguas abajo.
La figura 6B muestra un dispositivo aguas abajo (es decir, un aparato decodificador 160) que puede recibir y decodificar datos de imagen procesados 118 para reproducción en un visualizador. En la realización ilustrada, el aparato decodificador 160 incorpora un lector o extractor de metadatos 162 configurado para extraer metadatos 116 a partir de los datos de imagen procesados 118. Los datos de imagen se proporcionan posteriormente a una unidad de descompresión 164 para descompresión. Una unidad de transformada inversa 168 recibe los datos sin comprimir 166 y metadatos 116. Guiada por metadatos 116, la unidad de transformada inversa 168 decodifica los datos de imagen aplicando la inversa de la transformada de gama localizada aplicable a los datos de imagen. La transformada inversa puede mapear valores de coordenadas de color de la definición de gama localizada a valores de coordenadas de color del formato de datos de imagen para reproducción en el visualizador. Un filtro 172 filtra los datos de imagen decodificados resultantes 170 para reducir los artefactos visuales posteriores a la decodificación y emite datos de imagen 130 al visualizador.
Algunas maneras específicas en las que los métodos y aparatos de acuerdo con esta invención pueden estar disponibles incluyen:
- chips de procesamiento de imágenes que comprenden un aparato de acuerdo con una realización de la invención;
- una caja de configuración de sobremesa o “set-top box”, televisión, monitor de ordenador, proyector y/u otro visualizador que incorpora un aparato de decodificación como se describió en el presente documento;
- una fuente de datos de imagen tal como un reproductor de DVD (por ejemplo, un reproductor Blu-Ray), reproductor de vídeo, cámara, teléfono móvil o similar que incorpora un aparato de codificación como se describió en el presente documento;
- medios físicos o no transitorios legibles por ordenador que comprenden firmware u otras instrucciones legibles por ordenador que, cuando se ejecutan, configuran un procesador programable y/o un aparato lógico configurable para realizar un método de acuerdo con la invención;
- una o más unidades centrales de procesamiento (CPU), uno o más microprocesadores, uno o más conjuntos de puertas programables en campo (FPGA), uno o más circuitos integrados de aplicación específica (ASIC), una o más unidades de procesamiento de gráficos (GPU) o cualquier combinación de los mismos, o cualquier otra unidad de procesamiento adecuada que comprenda hardware y/o software capaz de realizar un método de acuerdo con la invención; y
- herramientas de gradación de color que incorporan aparatos de codificación como se describió en el presente documento.

Claims (8)

REIVINDICACIONES
1. Un método (120, 120A) para decodificar datos de imagen (118) para reproducción en un visualizador, que comprende:
extraer (122, 122A) metadatos desde los datos de imagen, indicando los metadatos una definición de gama localizada y proporcionando los metadatos información sobre la definición de gama localizada para una o más tramas particulares;
descomprimir (124, 124A) los datos de imagen; y
aplicar (126, 126A) una transformada de gama inversa a los datos de imagen, en donde la transformada de gama inversa mapea valores de coordenadas de color de la definición de gama localizada a valores de coordenadas de color de un formato de datos de imagen para reproducción en el visualizador,
en el que la gama de la definición de gama localizada es más pequeña que la gama de los datos de imagen.
2. Un método de acuerdo con la reivindicación 1, en el que la gama de la definición de gama localizada ocupa un área fraccionaria de la gama del formato de datos de imagen para reproducción en el visualizador.
3. Un método de acuerdo con la reivindicación 1 ó 2, en el que los datos de imagen comprenden un área de una trama, y la definición de gama localizada define la gama del área de la trama.
4. Un método de acuerdo con cualquiera de las reivindicaciones 1-3, que comprende filtrar (128, 128A) los datos de imagen después de aplicar la transformada de gama inversa para reducir la aparición de artefactos visuales.
5. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la definición de gama localizada tiene la misma profundidad de bits que la gama de datos de imagen.
6. Un método de acuerdo con cualquiera de las reivindicaciones anteriores, en el que los datos de imagen tienen una gama que es más amplia que la gama Rec. 709.
7. Aparato (160) para decodificar datos de imagen para reproducción en un visualizador, comprendiendo el aparato: un extractor de metadatos (162) configurado para extraer metadatos de los datos de imagen, indicando los metadatos una definición de gama localizada y proporcionando los metadatos información sobre la definición de gama localizada para una o más tramas particulares;
una unidad de descompresión (164) configurada para descomprimir los datos de imagen; y
una unidad de transformada inversa (168) configurada para aplicar una transformada de gama inversa a los datos de imagen, en donde la transformada de gama inversa mapea valores de coordenadas de color de la definición de gama localizada a valores de coordenadas de color de un formato de datos de imagen para reproducción en el visualizador,
en el que la gama de la definición de gama localizada es más pequeña que la gama de los datos de imagen.
8. Un programa de ordenador que tiene instrucciones que, cuando son realizadas por un dispositivo o sistema informático, hacen que dicho dispositivo o sistema informático realice los pasos de uno cualquiera de los métodos de las reivindicaciones 1 a 6.
ES20160837T 2010-10-18 2011-09-06 Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada Active ES2956211T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US39429410P 2010-10-18 2010-10-18

Publications (1)

Publication Number Publication Date
ES2956211T3 true ES2956211T3 (es) 2023-12-15

Family

ID=45975553

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20160837T Active ES2956211T3 (es) 2010-10-18 2011-09-06 Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada

Country Status (10)

Country Link
US (1) US9299167B2 (es)
EP (3) EP2630783B1 (es)
KR (1) KR101448493B1 (es)
CN (5) CN105915753B (es)
ES (1) ES2956211T3 (es)
HR (1) HRP20231130T1 (es)
HU (1) HUE063195T2 (es)
PL (2) PL3697073T3 (es)
RS (1) RS64625B1 (es)
WO (1) WO2012054143A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5892313B2 (ja) * 2011-12-02 2016-03-23 富士ゼロックス株式会社 色処理装置および色処理プログラム
EP3024222A4 (en) 2013-07-14 2017-01-18 LG Electronics Inc. Method and apparatus for transmitting and receiving ultra high-definition broadcasting signal for expressing high-quality color in digital broadcasting system
US9693048B2 (en) * 2013-12-17 2017-06-27 Disney Enterprises, Inc. Color display and projection system
EP2890129A1 (en) * 2013-12-27 2015-07-01 Thomson Licensing Method and device for encoding a high-dynamic range image and/or decoding a bitstream
EP3094096B1 (en) * 2014-01-06 2018-09-26 LG Electronics Inc. Method and device for transmitting and receiving broadcast signal on basis of color gamut resampling
KR101429136B1 (ko) * 2014-03-03 2014-08-11 주식회사 위시링크 평균색상을 이용한 이미지 처리 방법
US9357236B2 (en) * 2014-03-13 2016-05-31 Intel Corporation Color compression using a selective color transform
GB201410635D0 (en) 2014-06-13 2014-07-30 Univ Bangor Improvements in and relating to the display of images
KR102190233B1 (ko) * 2014-10-06 2020-12-11 삼성전자주식회사 영상 처리 장치 및 이의 영상 처리 방법
US20160117993A1 (en) * 2014-10-22 2016-04-28 Pixtronix, Inc. Image formation in a segmented display
WO2016133293A1 (ko) * 2015-02-16 2016-08-25 삼성전자 주식회사 메타데이터 기반 영상 처리 방법 및 장치
WO2016183681A1 (en) 2015-05-19 2016-11-24 Irystec Software Inc. System and method for color retargeting
EP3119086A1 (en) * 2015-07-17 2017-01-18 Thomson Licensing Methods and devices for encoding/decoding videos
US10043484B2 (en) * 2015-10-06 2018-08-07 Apple Inc. Dual-target image color rendering
WO2018070822A1 (ko) * 2016-10-14 2018-04-19 엘지전자 주식회사 적응적 영상 재생을 위한 데이터 처리 방법 및 장치
EP3399497A1 (en) * 2017-05-05 2018-11-07 Koninklijke Philips N.V. Optimizing decoded high dynamic range image saturation
US10419645B2 (en) * 2018-02-20 2019-09-17 Ricoh Company, Ltd. Dynamic color matching between printers and print jobs
EP3716619A1 (en) * 2019-03-28 2020-09-30 InterDigital CE Patent Holdings Gamut estimation
KR20230055361A (ko) * 2021-10-18 2023-04-25 캐논 가부시끼가이샤 화상 처리 장치, 화상 처리 방법, 및 프로그램을 저장하는 저장 매체
CN114489398A (zh) * 2021-12-31 2022-05-13 科大讯飞股份有限公司 页面内容分享方法及分享终端、订阅终端

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828413A (en) 1995-09-21 1998-10-27 Lucent Technologies Inc. Method and apparatus for image processing using model-based localized quantization
US7728845B2 (en) * 1996-02-26 2010-06-01 Rah Color Technologies Llc Color calibration of color image rendering devices
US6865291B1 (en) 1996-06-24 2005-03-08 Andrew Michael Zador Method apparatus and system for compressing data that wavelet decomposes by color plane and then divides by magnitude range non-dc terms between a scalar quantizer and a vector quantizer
US6633668B1 (en) * 1999-07-12 2003-10-14 Canon Kabushiki Kaisha Device independent image compression and color management
US6640005B1 (en) 1999-10-21 2003-10-28 Sharp Laboratories Of America, Inc. Method for inconspicuously adding tracking data in coded images
US6414690B1 (en) * 1999-12-08 2002-07-02 Xerox Corporation Gamut mapping using local area information
US6301393B1 (en) * 2000-01-21 2001-10-09 Eastman Kodak Company Using a residual image formed from a clipped limited color gamut digital image to represent an extended color gamut digital image
US6909745B1 (en) 2001-06-05 2005-06-21 At&T Corp. Content adaptive video encoder
US7164498B2 (en) * 2002-06-20 2007-01-16 Esko-Graphics A/S Color matching for a printing process using more than four colorants using a four-colorant color management system
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
US7343037B1 (en) * 2004-02-04 2008-03-11 Microsoft Corporation Dynamic, locally-adaptive, lossless palettization of color and grayscale images
WO2005079054A1 (ja) 2004-02-17 2005-08-25 Toa Corporation 画像圧縮装置
US7408558B2 (en) * 2005-08-25 2008-08-05 Eastman Kodak Company Laser-based display having expanded image color
US20070076971A1 (en) * 2005-09-30 2007-04-05 Nokia Corporation Compression of images for computer graphics
KR20070091853A (ko) * 2006-03-07 2007-09-12 삼성전자주식회사 영상 적응적인 색 재현 장치 및 방법
US9055303B2 (en) 2006-10-10 2015-06-09 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for recording the programs
WO2008075247A1 (en) * 2006-12-18 2008-06-26 Koninklijke Philips Electronics N.V. Image compression and decompression
US8194119B2 (en) * 2007-05-10 2012-06-05 Chroma3D Systems, Inc. Display of generalized anaglyphs without retinal rivalry
EP2009899A1 (en) 2007-06-27 2008-12-31 Thomson Licensing Method of creating a gamut boundary descriptor preserving the discontinuities of an actual gamut surface
EP2175660A4 (en) * 2007-08-02 2012-04-25 Sony Corp IMAGE PROCESSOR
EP2120448A1 (en) * 2008-05-14 2009-11-18 Thomson Licensing Method of processing of a compressed image into a gamut mapped image using spatial frequency analysis
GB2461894B (en) * 2008-07-16 2010-06-23 Light Blue Optics Ltd Holographic image display systems
JP5049921B2 (ja) 2008-08-26 2012-10-17 キヤノン株式会社 画像処理装置及び画像処理方法
US8103096B2 (en) 2008-08-29 2012-01-24 Xerox Corporation System and method for color space conversion with reduced artifacts
US8654141B2 (en) * 2009-12-29 2014-02-18 Intel Corporation Techniques for adapting a color gamut
US8786625B2 (en) * 2010-09-30 2014-07-22 Apple Inc. System and method for processing image data using an image signal processor having back-end processing logic

Also Published As

Publication number Publication date
HUE063195T2 (hu) 2024-01-28
CN105915753A (zh) 2016-08-31
CN105915874B (zh) 2018-02-09
EP3697073C0 (en) 2023-08-23
CN105915754B (zh) 2019-03-05
US9299167B2 (en) 2016-03-29
EP2630783B1 (en) 2020-06-10
CN103155535A (zh) 2013-06-12
US20130194321A1 (en) 2013-08-01
CN105915755B (zh) 2018-09-07
CN103155535B (zh) 2016-06-08
CN105915753B (zh) 2019-01-04
EP4290848A2 (en) 2023-12-13
PL2630783T3 (pl) 2020-10-19
EP3697073B1 (en) 2023-08-23
WO2012054143A1 (en) 2012-04-26
PL3697073T3 (pl) 2023-12-11
HRP20231130T1 (hr) 2024-01-19
EP3697073A1 (en) 2020-08-19
CN105915874A (zh) 2016-08-31
KR101448493B1 (ko) 2014-10-08
EP2630783A4 (en) 2015-09-02
RS64625B1 (sr) 2023-10-31
KR20130107314A (ko) 2013-10-01
CN105915754A (zh) 2016-08-31
EP2630783A1 (en) 2013-08-28
EP4290848A3 (en) 2024-03-06
CN105915755A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
ES2956211T3 (es) Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada
RU2710291C2 (ru) Способы и устройства для кодирования и декодирования цветного изображения hdr
RU2710888C2 (ru) Способ и устройство кодирования и декодирования цветной картинки
JP7053722B2 (ja) ビットストリーム内で、ldrピクチャのピクチャ/ビデオ・フォーマットと、このldrピクチャおよびイルミネーション・ピクチャから取得された復号済みのhdrピクチャのピクチャ/ビデオ・フォーマットとをシグナリングする方法および装置
KR20180123046A (ko) 하이 다이나믹 레인지 픽처를 인코딩하기 위한 방법 및 디바이스, 대응하는 디코딩 방법 및 디코딩 디바이스
EP3051489A1 (en) A method and apparatus of encoding and decoding a color picture
TW201601518A (zh) 在位元流中將低動態範圍圖像之圖像/視訊格式及從該低動態範圍圖像及照明圖像中得到之解碼高動態範圍圖像之圖像/視訊格式以信號表示之方法及裝置
TW201601524A (zh) 在位元流中將低動態範圍圖像之圖像/視訊格式及從該低動態範圍圖像及照明圖像中得到之解碼高動態範圍圖像之圖像/視訊格式以信號表示之方法及裝置