ES2817852T3 - Mapeo mediante curva de tonos para imágenes de alto rango dinámico - Google Patents
Mapeo mediante curva de tonos para imágenes de alto rango dinámico Download PDFInfo
- Publication number
- ES2817852T3 ES2817852T3 ES18706171T ES18706171T ES2817852T3 ES 2817852 T3 ES2817852 T3 ES 2817852T3 ES 18706171 T ES18706171 T ES 18706171T ES 18706171 T ES18706171 T ES 18706171T ES 2817852 T3 ES2817852 T3 ES 2817852T3
- Authority
- ES
- Spain
- Prior art keywords
- output
- dynamic range
- input
- midtones
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 53
- 238000003384 imaging method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004321 preservation Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 31
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 241001502919 Gambusia luma Species 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004301 light adaptation Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un método para mapear, utilizando un procesador, una imagen de un primer rango dinámico a un segundo rango dinámico, comprendiendo el método: acceder a primeros datos de información para una imagen de entrada en el primer rango dinámico, comprendiendo los primeros datos de información un nivel de punto negro de entrada (x1, SMin), un nivel de tonos medios de entrada (x2, SMid), y un nivel de punto blanco de entrada (x3, SMax) en el primer rango dinámico; acceder a segundos datos de información para una imagen de salida en el segundo rango dinámico, comprendiendo los segundos datos de información un primer nivel de punto negro de salida (TminPQ) y un primer nivel de punto blanco de salida (TmaxPQ) en el segundo rango dinámico; determinar un valor de los tonos medios de salida en el segundo rango dinámico en base a los primeros datos de información y a los segundos datos de información; calcular una pendiente de cola, una pendiente de cabeza, y una pendiente de tonos medios; determinar una función de transferencia para mapear valores de píxeles de la imagen de entrada en el primer rango dinámico a valores de píxeles correspondientes de la imagen de salida en el segundo rango dinámico; mapear la imagen de entrada a la imagen de salida utilizando la función de transferencia determinada; caracterizado por que el método comprende además: calcular un segundo punto negro de salida y un segundo punto blanco de salida en el segundo rango dinámico en base a los primeros datos de información, a los segundos datos de información y al valor de tonos medios de salida; calcular una pendiente de cola en base al nivel de punto negro de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida y al valor de los tonos medios de salida; calcular una pendiente de cabeza en base al nivel de punto blanco de entrada, al nivel de tonos medios de entrada, al segundo punto blanco de salida y al valor de los tonos medios de salida; y calcular una pendiente de tonos medios en base a los primeros datos de información, al segundo punto negro de salida, al segundo punto blanco de salida y al valor de los tonos medios de salida; en donde la función de transferencia comprende dos segmentos, en donde el primer segmento se determina en base a la pendiente de cola, a la pendiente de tonos medios, al nivel de punto negro de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida, y al valor de los tonos medios de salida, y el segundo segmento se determina en base a la pendiente de tonos medios, a la pendiente de cabeza, al nivel de tonos medios de entrada, al nivel de punto blanco de entrada, al valor de los tonos medios de salida, y al segundo punto blanco de la salida.
Description
DESCRIPCIÓN
Mapeo mediante curva de tonos para imágenes de alto rango dinámico
Tecnología
La presente invención está relacionada en general con imágenes. Más particularmente, una realización de la presente invención está relacionada con la determinación de parámetros para una curva de tonos para mapear imágenes y señales de video de alto rango dinámico (HDR) de un primer rango dinámico a un segundo rango dinámico.
Antecedentes
El informe de búsqueda internacional cita el documento US 2013/155330 A1 ("D1"). D1 describe un método para la graduación de color de datos de video de entrada para su visualización en una pantalla de destino, que comprende obtener metadatos de la pantalla de destino indicativos de una capacidad de la pantalla de destino, obtener metadatos de los datos de video de entrada indicativos de las características de imagen de los datos de video de entrada, determinar automáticamente valores iniciales para parámetros de una función de transferencia sigmoidal parametrizada, estando-al menos uno de los valores iniciales basado al menos en parte en al menos uno de los metadatos de la pantalla de destino y los metadatos de los datos de video de entrada, y mapear los datos de video de entrada a datos de video sometidos a graduación de color de acuerdo con la función de transferencia parametrizada especificada utilizando los valores iniciales.
Tal como se usa en este documento, el término 'rango dinámico' (DR) puede estar relacionado con una capacidad del sistema visual humano (HVS) de percibir un intervalo de intensidad (p. ej., luminancia, luma) en una imagen, p. ej., desde los grises más oscuros (negros) hasta los blancos más brillantes (“iluminaciones”, del inglés highlights). En este sentido, el DR está relacionado con una intensidad 'referida a la escena'. El DR también puede estar relacionado con la capacidad de un dispositivo de visualización de renderizar de forma adecuada o aproximada un intervalo de intensidad de una amplitud particular. En este sentido, el DR está relacionado con una intensidad "referida a la pantalla". A menos que se especifique explícitamente que un sentido particular tiene un significado particular en cualquier punto de la descripción proporcionada en este documento, se debería inferir que el término se puede utilizar en cualquier sentido, p. ej. de manera intercambiable.
Tal como se usa en este documento, el término alto rango dinámico (HDR) está relacionado con una amplitud de DR que abarca los aproximadamente 14-15 órdenes de magnitud del sistema visual humano (HVS). En la práctica, el DR en el que un ser humano puede percibir simultáneamente una amplitud grande del intervalo de intensidad puede estar algo truncado, en relación con el HDR. Tal como se usan en este documento, los términos rango dinámico mejorado (EDR) o rango dinámico visual (VDR) pueden estar relacionados de manera individual o intercambiable con el DR que puede ser percibido dentro de una escena o imagen por un sistema visual humano (HVS) que incluye movimientos oculares, permitiendo algunos cambios de adaptación a la luz en la escena o imagen.
En la práctica, las imágenes comprenden uno o más componentes de color (p. ej., luma Y y croma Cb y Cr) donde cada componente de color se representa mediante una precisión de n-bits por píxel (p. ej., n = 8). Utilizando codificación de luminancia lineal, las imágenes donde n < 8 (p. ej., imágenes JPEG en color de 24 bits) se consideran imágenes de rango dinámico estándar, mientras que las imágenes en las que n > 8 se pueden considerar imágenes de rango dinámico mejorado. Las imágenes EDR y HDR también se pueden almacenar y distribuir utilizando formatos de punto flotante de alta precisión (p. ej., de 16 bits), como el formato de archivos OpenEXR desarrollado por Industrial Light and Magic.
Tal como se usa en este documento, el término "metadatos" está relacionado con cualquier información auxiliar que se transmite como parte del flujo de bits codificado y que ayuda a un decodificador a renderizar una imagen decodificada. Dichos metadatos pueden incluir, pero no están limitados a, información de espacio o gama de color, parámetros de visualización de referencia y parámetros auxiliares de la señal, como los descritos en este documento.
La mayoría de las pantallas de sobremesa comerciales admiten actualmente una luminancia de 200 a 300 cd/m2 o nits. La mayoría de los HDTVs comerciales varían entre 300 y 500 nits, alcanzando los nuevos modelos los 1000 nits (cd/m2). Por lo tanto, estas pantallas convencionales tipifican un rango dinámico inferior (LDR), también denominado rango dinámico estándar (SDR), en relación con el HDR o el EDR. A medida que va creciendo la disponibilidad de contenido HDR debido a los avances tanto en los equipos de captura de imagen (p. ej., cámaras) como en las pantallas HDR (p. ej., el monitor de referencia profesional PRM-4200 de Dolby Laboratories), el contenido HDR puede ser sometido a graduación de color y visualizado en pantallas HDR que admiten rangos dinámicos más altos (p. ej., de 1.000 nits a 5.000 nits o más). En general, sin limitación, los métodos de la presente divulgación están relacionados con cualquier rango dinámico mayor que el SDR.
En la actualidad la creación de contenido de Alto Rango Dinámico (HDR) se está generalizando, ya que esta tecnología ofrece imágenes más realistas y vívidas que los formatos anteriores. Sin embargo, muchos sistemas de visualización, incluidos cientos de millones de pantallas de televisión comerciales, no son capaces de reproducir imágenes HDR. Además, debido al amplio rango de las pantallas HDR (por ejemplo, de 1.000 nits a 5.000 nits o más), el contenido HDR optimizado para una pantalla HDR puede no ser adecuado para la reproducción directa en otra pantalla HDR.
Una estrategia que se está utilizando para atender al mercado global es crear múltiples versiones del contenido de video nuevo; por ejemplo, una utilizando imágenes HDR y otra utilizando imágenes SDR (rango dinámico estándar). Sin embargo, esto requiere que los autores de contenido creen su contenido de video en múltiples formatos, y puede requerir que los consumidores sepan qué formato comprar para su pantalla específica. Una estrategia potencialmente mejor podría ser crear una versión de contenido (en HDR), y utilizar un sistema de transformación de datos de imágenes (p. ej., como parte de una funcionalidad de decodificador) para convertir automáticamente en sentido descendente (o en sentido ascendente) el contenido HDR de entrada al contenido SDR o HDR de salida apropiado. Para mejorar los esquemas de visualización existentes, como es apreciado aquí por los inventores, se desarrollan técnicas mejoradas para determinar una curva de tonos para el mapeo de visualización de imágenes HDR.
Las estrategias descritas en esta sección son estrategias que se podrían seguir, pero no necesariamente estrategias que hayan sido concebidas o seguidas previamente. Por lo tanto, a menos que se indique lo contrario, no se debería asumir que cualquiera de las estrategias descritas en esta sección cumpla los requisitos para ser considerada técnica anterior simplemente en virtud de su inclusión en esta sección. De manera similar, no se debería asumir que los problemas identificados con respecto a una o más estrategias hayan sido reconocidos en ninguna técnica anterior sobre la base de esta sección, a menos que se indique lo contrario.
Breve descripción de los dibujos
Una realización de la presente invención se ilustra a modo de ejemplo, y no de forma limitativa, en las figuras de los dibujos adjuntos y en las cuales números de referencia similares hacen referencia a elementos similares, y en las cuales:
La figura 1 representa un proceso de ejemplo para un canal de entrega de video;
La figura 2 representa una función de mapeo de ejemplo para mapear imágenes de un primer rango dinámico a un segundo rango dinámico utilizando tres puntos de anclaje de acuerdo con la técnica anterior;
La figura 3 representa una función de mapeo de ejemplo para mapear imágenes de un primer rango dinámico a un segundo rango dinámico de acuerdo con una realización de la presente invención;
La figura 4A y la figura 4B representan procesos de ejemplo para determinar la función de mapeo de tonos de acuerdo con realizaciones de la presente invención;
La figura 5 representa dos funciones de mapeo de ejemplo determinadas de acuerdo con realizaciones de la presente invención; y
La figura 6A y la figura 6B representan gráficas de ejemplo que muestran cómo se mapean valores de tonos medios de entrada a valores de tonos medios de salida para determinar el punto de anclaje de tonos medios de una función de mapeo de la curva de tonos de acuerdo con realizaciones de la presente invención.
Descripción de realizaciones de ejemplo
En este documento se describen métodos para determinar una curva de tonos para el mapeo de visualización de imágenes de alto rango dinámico (HDR). En la siguiente descripción, con fines explicativos, se describen numerosos detalles específicos con el fin de proporcionar una comprensión completa de la presente invención. Sin embargo, será evidente que la presente invención se puede llevar a la práctica sin estos detalles específicos. En otros casos, las estructuras y dispositivos bien conocidos no se describen con un detalle exhaustivo, a fin de evitar ocultar, oscurecer u ofuscar innecesariamente la presente invención.
Visión general
Las realizaciones de ejemplo descritas en el presente documento están relacionadas con métodos para determinar una curva de tonos para el mapeo de visualización de imágenes de alto rango dinámico (HDR). En un sistema de video, en una realización, para una imagen de entrada, un procesador recibe primeros datos de información que comprenden un nivel de punto negro de entrada (x1, SMin), un nivel de tonos medios de entrada (x2, SMid) y un nivel de punto blanco de entrada (x3, SMax) en un primer rango dinámico. El procesador también accede a segundos datos de información para una imagen de salida en un segundo rango dinámico que comprende un primer nivel de punto negro de salida (TminPQ) y un primer nivel de punto blanco de salida (TmaxPQ) en el segundo rango dinámico. El procesador determina un valor de los tonos medios de salida en el segundo rango dinámico en base a los datos de información primeros y segundos. El procesador calcula un segundo punto negro de salida y un segundo punto blanco de salida en el segundo rango dinámico en base a los segundos datos de información y al valor de los tonos medios de salida. A continuación, calcula una pendiente de cola (tail slope), una pendiente de cabeza (head slope) y una pendiente de tonos medios en base a los primeros datos de información, a los segundos datos de información y al valor de los tonos medios de salida. El procesador determina una función de transferencia para mapear valores de píxeles de la imagen de entrada en el primer rango dinámico a valores de píxeles correspondientes de la imagen de salida en el segundo rango dinámico, en donde la función de transferencia comprende dos segmentos, en donde el primer segmento se determina en base a la pendiente de cola, a la pendiente de tonos medios, al nivel de punto negro
de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida y al valor de los tonos medios de salida, y el segundo segmento se determina en base a la pendiente de tonos medios, a la pendiente de cabeza, al nivel de tonos medios de entrada, al nivel de punto blanco de entrada, al valor de los tonos medios de salida y al segundo punto blanco de salida. El procesador mapea la imagen de entrada a la imagen de salida utilizando la función de transferencia determinada.
En una realización, el procesador calcula el segundo punto negro de salida y el segundo punto blanco de salida en base a los primeros datos de información, a los segundos datos de información y al valor de los tonos medios de salida.
En una realización, el procesador calcula una pendiente de cola en base al nivel de punto negro de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida y al valor de los tonos medios de salida.
En una realización, el procesador calcula una pendiente de cabeza en base al nivel de punto blanco de entrada, al nivel de tonos medios de entrada, al segundo punto blanco de salida y al valor de los tonos medios de salida.
En una realización, el procesador calcula una pendiente de tonos medios en base a los primeros datos de información, al segundo punto negro de salida, al segundo punto blanco de salida y al valor de los tonos medios de salida.
Conversión de rango dinámico
Codificación de video de señales HDR
La figura 1 representa un proceso de ejemplo de un canal de entrega de video convencional (100) que muestra diferentes etapas desde la captura de video hasta la visualización del contenido de video. Se captura o se genera una secuencia de fotogramas de video (102) utilizando el bloque de generación de imágenes (105). Los fotogramas de video (102) se pueden capturar digitalmente (p. ej., mediante una cámara digital) o se pueden generar mediante un ordenador (p. ej., utilizando animación por ordenador) para proporcionar datos de video (107). De forma alternativa, los fotogramas de video (102) se pueden capturar en película mediante una cámara de película. La película se convierte a un formato digital para proporcionar datos de video (107). En una fase de producción (110), los datos de video (107) se editan para proporcionar un flujo de producción de video (112).
Los datos de video del flujo de producción (112) se proporcionan a continuación a un procesador en el bloque (115) para edición de posproducción. La edición de posproducción del bloque (115) puede incluir ajustar o modificar colores o brillo en áreas particulares de una imagen para mejorar la calidad de la imagen o lograr una apariencia particular para la imagen de acuerdo con la intención creativa del creador del video. A esto a veces se le denomina "sincronización de color" o "graduación de color". Se puede realizar otra edición (p. ej., selección y secuenciación de escenas, recorte de imágenes, adición de efectos especiales visuales generados por ordenador, etc.) en el bloque (115) para producir una versión final (117) de la producción para su distribución. Durante la edición de posproducción (115), las imágenes de video se ven en una pantalla de referencia (125).
Después de la postproducción (115), los datos de video de la producción final (117) se pueden entregar al bloque de codificación (120) para entregarlos aguas abajo a dispositivos de decodificación y reproducción tales como aparatos de televisión, decodificadores, salas de cine y similares. En algunas realizaciones, el bloque de codificación (120) puede incluir codificadores de audio y de video, como los definidos por ATSC, DVB, DVD, Blu-Ray y otros formatos de entrega, para generar flujo de bits codificado (122). En un receptor, el flujo de bits codificados (122) es decodificado por la unidad de decodificación (130) para generar una señal decodificada (132) que representa una aproximación idéntica o parecida de la señal (117). El receptor puede estar conectado a una pantalla de destino (140) que puede tener características completamente diferentes a las de la pantalla de referencia (125). En ese caso, se puede utilizar un bloque de gestión de visualización (135) para mapear el rango dinámico de la señal decodificada (132) a las características de la pantalla de destino (140) generando una señal mapeada de visualización (137).
Transformación de imágenes utilizando un mapeo sigmoidal
En la Patente de EE.UU. 8.593.480, "Method and apparatus for image data transformation", por A. Ballestad y A. Kostin, a la que se hará referencia en el presente documento como la Patente '480, los inventores propusieron un mapeo de transformación de imágenes utilizando una función sigmoidea parametrizada que se puede determinar de forma unívoca utilizando tres puntos de anclaje y un parámetro libre de tonos medios. En la figura 2 se representa un ejemplo de esta función.
Como se representa en la figura 2, la función de mapeo (220) está definida por tres puntos de anclaje (205, 210, 215): un punto negro (x1, y1), un punto de tonos medios (x2, y2) y un punto blanco (x3, y3). Esta transformación tiene las siguientes propiedades:
• Los valores de x1 a x3 representan el intervalo de valores posibles que describen los píxeles que componen la imagen de entrada. Estos valores pueden ser los niveles de brillo para un color primario particular (R, G o B), o pueden ser los niveles de luminancia general del píxel (por ejemplo el componente Y en una representación YCbCr). Típicamente, estos valores corresponden a los niveles más oscuros (punto negro) y
más brillantes (punto blanco) admitidos por la pantalla utilizada para crear el contenido (la "pantalla de masterización" (125)); sin embargo, en algunas realizaciones, cuando las características de la pantalla de referencia son desconocidas, estos valores pueden representar valores mínimos y máximos en la imagen de entrada (p. ej., en R, G, o B, luminancia, y similares), que pueden ser recibidos por medio de metadatos de imágenes o calculados en el receptor.
• Los valores de y1 a y3 representan el intervalo de valores posibles que describen los píxeles que componen la imagen de salida (nuevamente, niveles de brillo primario del color o de luminancia general). Típicamente, estos valores corresponden a los niveles más oscuros (punto negro) y más brillantes (punto blanco) admitidos por la pantalla de salida deseada (la "pantalla de destino" (140)).
• Cualquier píxel de entrada con el valor x1 está limitado a ser mapeado a un píxel de salida con el valor y1, y cualquier píxel de entrada con el valor x3 está limitado a ser mapeado a un píxel de salida con el valor y3.
• Los valores de x2 e y2 representan un mapeo específico de la entrada a la salida que se utiliza como punto de anclaje para algún elemento de "rango medio" (o nivel de tonos medios) de la imagen. Se permite una libertad considerable en la elección específica de x2 e y2, y la Patente '480 enseña varias alternativas para cómo se pueden elegir estos parámetros.
Una vez se han elegido los tres puntos de anclaje, la función de transferencia (220) se puede describir como Ct C2x n
y ~ 1 C3x n>
( 1)
donde C1, C1 y C3 son constantes, x denota el valor de entrada para un canal de color o luminancia, y denota el valor de salida correspondiente, y n es un parámetro libre que se puede utilizar para ajustar el contraste de los tonos medios. Como se describe en la Patente '480, los valores C1, C1 y C3 se pueden determinar resolviendo
La curva de tonos de la ecuación (1) se ha aplicado con éxito a varias aplicaciones de mapeo de visualización; sin embargo, como es apreciado por los inventores, también tiene varias limitaciones potenciales, que incluyen:
• Es difícil definir los parámetros de la curva de tonos de modo que haya un mapeo uno a uno dentro de un intervalo específico de la pantalla de destino
• Es difícil determinar los parámetros (por ejemplo, el exponente n) para controlar el contraste
• Pequeños cambios en el punto medio de anclaje (x2, y2) pueden producir un comportamiento inesperado • No permite un mapeo lineal por debajo del punto de anclaje negro (205) y/o por encima del punto de anclaje blanco (215)
La figura 3 representa un ejemplo de una nueva curva de mapeo de tonos de acuerdo con una realización. Como se representa en la figura 3, la curva de mapeo de tonos (320) comprende hasta cuatro segmentos:
• Segmento lineal opcional L1, para valores menores que (x1, y1) (x1 también puede ser negativo)
• Spline S1, de (x1, y1) a (x2, y2)
• Spline S2, de (x2, y2) a (x3, y3)
• Segmento lineal opcional L2, para valores mayores que (x3, y3) (x1 también puede ser mayor que 1) En una realización, sin limitación, los segmentos S1 y S2 se determinan utilizando un polinomio de Hermite de tercer orden (cúbico).
Como se expondrá más adelante, los mapeos que utilizan segmentos lineales L1 y L2 pueden ser particularmente útiles cuando se calcula la inversa de la curva de tono, por ejemplo, durante el mapeo de tonos inverso, por ejemplo, cuando se necesita generar una imagen de alto rango dinámico a partir de una imagen de rango dinámico estándar.
Como en la ecuación (1), la curva (320) está controlada por tres puntos de anclaje (305, 310, 315): un punto negro (x1, y1), un punto de valor de los tonos medios (x2, y2) y un punto blanco (x3, y3). Además, cada uno de los segmentos de spline puede estar limitado además por dos pendientes (slopes), en cada punto final; por tanto, la curva completa está controlada por tres puntos de anclaje y tres pendientes: la pendiente de cola en (x1, y1), la pendiente de tonos medios en (x2, y2) y la pendiente de cabeza en (x3, y3).
Como ejemplo, considérese una spline determinada entre los puntos (x1, y1) y (x2, y2), con pendiente s1 en (x1, y1) y pendiente s2 en (x2, y2), entonces, para una entrada x la función de transferencia para esa spline de Hermite cúbica se puede definir como:
y = ((2T3 - 3 T2 + 1) * y¡ (T3 - 2T2 + T) * (x2 - x¡) * Sj (-2T3 + 3 T2) * y2
(T 3 - T 2) * ( x 2 - x 1) * s2), (3a)
donde
T = (x - x1)/{x2 - x j . (3b)
En una realización, para garantizar no pasarse o no quedarse demasiado corto (que no se produzca overshooting o undershooting) (es decir, para garantizar que la curva sea monótona), también se puede aplicar la siguiente regla a las pendientes s1 y s2:
A y
slope < a — ,
Ax
(4)
donde a denota una constante (p. ej., a = 3).
Dada la spline de Hermite de la ecuación (3), en una realización, sin limitación, para una entrada de video, por ejemplo codificada utilizando un cuantificador perceptual (PQ) (p. ej., de acuerdo con SMPTE ST 2084: 2014, "High Dynamic Range EOTF of Mastering Reference Displays"), la curva completa se puede definir en base a los siguientes parámetros:
• SMin = x1; denota la luminancia mínima del contenido de origen. Si no se proporciona, se puede establecer SMin en un valor que represente los negros típicos (p. ej., SMin = 0,0151)
• SMax = x3; denota la luminancia máxima del contenido de origen. Si no se proporciona, se puede establecer SMax en un valor grande que represente "iluminaciones" (p. ej., SMax = 0,9026)
• SMid = x2; denota la luminancia promedio (p. ej., aritmética, mediana, geométrica) del contenido de origen.
En algunas realizaciones, puede indicar simplemente un rasgo de luminancia "importante" en la imagen de entrada. En alguna otra realización, también puede denotar el promedio o la mediana de una región seleccionada (por ejemplo, una cara). SMid se puede definir de forma manual o automática y su valor se puede compensar en base a preferencias para conservar un cierto aspecto en iluminaciones o sombras. Si no se proporciona, se puede establecer SMid en un valor promedio típico (p. ej., SMid = 0,36, que representa los tonos de la piel).
Estos datos pueden ser recibidos utilizando metadatos de imagen o de origen, pueden ser calculados por una unidad de gestión de visualización (p. ej., 135), o pueden basarse en suposiciones conocidas sobre el entorno de visualización de masterización o de referencia. Además, se supone que los siguientes datos son conocidos para la pantalla de destino (p. ej., son recibidos al leer los Datos de Identificación de Pantalla Ampliada (EDID) de la pantalla):
• TminPQ = la luminancia mínima de la pantalla de destino
• T maxPQ = la luminancia máxima de la pantalla de destino
donde el término "PQ", tal como se usa en el presente documento, indica que estos valores (normalmente expresados en nits) están convertidos a valores de PQ de acuerdo con SMPTE ST 2084.
Para determinar completamente la curva de mapeo, es necesario calcular los siguientes puntos y parámetros:
TMin = y1;
TMax = y3;
TMid = y2;
slopeMin = pendiente en (x1, y1);
slopeMid = pendiente en (x2, y2); y
slopeMax = pendiente en (x3, y3).
La figura 4A representa un proceso de ejemplo para determinar los puntos de anclaje y las pendientes de la curva de mapeo de tonos de acuerdo con una realización. Dados los parámetros de entrada (405) SMin, SMid, SMax, TminPQ y TmaxPQ, el paso 412 calcula y2 (TMid). Por ejemplo, en una realización, el punto de anclaje de tonos medios (SMid, TMid) se puede seleccionar para que esté en la línea de mapeo 1 a 1, es decir, forzando a que TMid = SMid, siempre que TMid esté dentro de los puntos límite TminPQ y TmaxPQ y un búfer predeterminado. Para valores de TMid cercanos a TminPQ y TmaxPQ, se puede seleccionar TMid para que esté dentro de una distancia fija (p. ej., entre TMinPQ+c y TmaxPQ-d, donde c y d son valores fijos), o de una distancia calculada como un porcentaje de estos valores. Por ejemplo, se puede forzar a que TMid nunca esté por debajo de TminPQ a*TminPQ o por encima de TmaxPQ-b*TMaxPQ, donde a y b son constantes en el intervalo [0, 1], que representan valores porcentuales (p. ej., a = b = 5% =0,05).
Dado TMid, el paso 425 calcula los parámetros desconocidos restantes (p. ej., y1, y2, y las tres pendientes). Finalmente, el paso 430 calcula los dos segmentos de spline y los dos segmentos lineales.
En otra realización, el cálculo de TMid se puede refinar aún más intentando preservar las proporciones originales entre el "contraste de cola" de entrada (es decir, el contraste entre los negros (SMin) y los tonos medios (SMid)) y el “contraste de cabeza" de entrada (es decir, el contraste entre los tonos medios (SMid) y las iluminaciones (SMax)). Un ejemplo de un proceso de este tipo de acuerdo con una realización se representa en la figura 4B y también se describe en pseudocódigo en la Tabla 1. El objetivo de este proceso es:
• Determinar el punto de anclaje de los tonos medios de salida (SMid, TMid) de manera que esté lo más cerca posible del mapeo diagonal (1 a 1). Es decir, idealmente, TMid debería estar lo más cerca posible de SMid para preservar los tonos medios de entrada;
• Si no es posible un mapeo 1 a 1, entonces determinar TMid de modo que los valores de salida de los intervalos de "contraste de cola" y "contraste de cabeza" estén dentro de límites predeterminados de los intervalos de entrada correspondientes. Tal como se usa en este documento, el "contraste de cabeza" de entrada está basado en una función de (SMax-SMid), y el "contraste de cola" de entrada se basa en una función de (SMid-SMin).
• Dado el punto de anclaje medio (x2, y2) o (SMid, TMid), determinar las tres pendientes de modo que se pueda caracterizar toda la curva de tonos.
Tabla 1: Proceso de ejemplo para determinar los parámetros de la curva de tonos
En el paso 4, anterior, para calcular los parámetros de desviación de cabeza y de cola, los términos se multiplican por un término denotado como "offsetScalar", el cual, en una realización, se puede expresar como
El objetivo de esta función es proporcionar una transición suave entre las desviaciones máximas posibles (p. ej., headroom *preservationHead o tailroom *preservationTail) y las correspondientes pendientes de cabeza o de cola. La función s() en la ecuación (5) puede ser cualquier función lineal o no lineal adecuada de |2*midLoc -11. Por ejemplo, en otra realización:
s(m id Lo c ) = A/m in ( l , max(0, |2 * m idLoc - 1 |)). (6) En el paso 8, anterior, se calcula slopeMid para que sea lo más cercana posible a la diagonal para un mapeo 1 a 1. Por el contrario, se calcula slopeMax para preservar las iluminaciones proporcionalmente a headslopeh (p.ej., h = 4); que es la pendiente entre (x2, y2) y (x3, y3), mientras que se calcula slopeMin para preservar los negros proporcionalmente a tailslopet (p. ej., t = 2) que es la pendiente entre (x1, y1) y (x2, y2). Los exponentes h y t determinan cómo de rápido deben "aplastarse" las iluminaciones o los grises. Valores típicos para h y t incluyen 1,2, o 4. En una realización, h = t.
Dados los tres puntos de anclaje y las tres pendientes, se pueden generar los cuatro segmentos de la siguiente manera:
Si (SMin < x < SMid) // Curva S1
y = ([(2 T 3 - 3T2 1) * T M in (T 3 - 2 T 2 T) * (SM id - S M in ) * s lop eM in ( - 2 T 3 3T 2) * T M id (T 3 - T 2) * (SM id - S M in) * s lop eM id ), (7a) donde
T = (x - SMin) / ( SMid - SMin ) . (7b) Si (SM id< x < SMax) // Curva S2
y - ({2T3 - 3T2 + 1) * TMid (T3 - 2T2 T ) * (SMax - SMid ) * slopeMid ( - 2T3 + 3 T2) * TMax + ( T3 - T2) * ( SMax - SMid ) * slopeMax ), (7c) donde
T = { x - SMid) /{SMax - SM id) . (7d) si (x < SMin) // segmento L1
y = TMin {x — SMin) * slopeMin (7e) si (x > SMax) // segmento L2
y = TMax + (x — SMax) * slopeMax (7f) Volviendo a la figura 4B, dados los parámetros de entrada (405) (p. ej., SMin, SMid, SMax, TminPQ y TmaxPQ), el paso (410) calcula un primer valor objetivo de tonos medios y valores objetivos de headroom (margen dinámico superior) y de tailroom (margen dinámico inferior) asociados basados en los parámetros de entrada (p. ej., véase el paso 2 en la Tabla 1). Dados los porcentajes de preservación del contraste de cabeza y de cola (p. ej., de aproximadamente el 50%), el primer valor de los tonos medios objetivo, y el headroom (margen dinámico superior) y tailroom (margen dinámico inferior) asociados, el paso (415) calcula las desviaciones de cabeza y de cola (p. ej., véase el paso 4 en la Tabla 1) . El paso (420) aplica las desviaciones de cabeza y de cola al valor de SMid de entrada para calcular el valor de TMid objetivo (p. ej., véase el paso 5 en la Tabla 1). A continuación, el paso (425) calcula TMax y TMin en base a los parámetros de entrada y a TMid (p. ej., véase el paso 6 en la Tabla 1). El paso (425) calcula también las dos pendientes finales y la pendiente media para las dos splines (p. ej., véase el paso 8 en la Tabla 1) mientras intenta preservar la monotonía. Dados los parámetros de entrada, TMid, TMin, TMax y las tres pendientes, se puede aplicar la ecuación (7) para calcular en el paso (430) la curva de mapeo de tonos.
La figura 5 representa dos ejemplos diferentes de la curva de tonos propuesta, mapeando datos codificados por el PQ de un primer rango dinámico a un segundo rango dinámico, menor. Obsérvese que también se puede utilizar la misma curva para un mapeo inverso, por ejemplo, para traducir los datos de un intervalo de rango dinámico menor al alto rango dinámico original. En una realización, el mapeo inverso se puede calcular como sigue:
• Derivar la curva de mapeo de tonos, por ejemplo, expresada como y = f(x), como se describió anteriormente • Generar una tabla de búsqueda (LUT) hacia adelante, mapeando valores xi de entrada a valores yi de salida utilizando yi = f(x)
• Generar una tabla de búsqueda hacia atrás, mapeando valores y’k de bajo rango dinámico de entrada a valores x’k de rango dinámico más alto, utilizando los valores de la LUT hacia adelante (es decir, si y’k=yi entonces x’k=xi)
• Generar valores adicionales de la LUT hacia atrás interpolando sobre los valores existentes. Por ejemplo, si yi < y’k < yi+1, entonces la salida x ’k correspondiente se puede generar interpolando entre x¡ y x+ 1 .
La figura 6A representa una gráfica de ejemplo que muestra cómo se mapean los valores de tonos medios de entrada (SMid) a valores de tonos medios de salida (TMid) para determinar (p. ej., utilizando los pasos 1 a 4 de la Tabla 1) el punto de anclaje de los tonos medios de la función de mapeo tono-curva de acuerdo con una realización. Dados SMin = 0,01, SMax = 0,92 y TminPQ = 0,1, la gráfica 605 representa cómo se mapea SMid a TMid cuando TmaxPQ = 0,5, y la gráfica 610 representa cómo se mapea SMid a TMid cuando TmaxPQ = 0,7.
A partir de la figura 6A, se observa que dentro de un pequeño intervalo de valores de SMid, la función 605 no es monótona, lo que puede producir resultados inesperados, por ejemplo, durante los fundidos de entrada o de salida. Para tratar de solucionar este problema, en el paso 4 de la Tabla 1, se puede utilizar el siguiente pseudocódigo en lugar del indicado para calcular las desviaciones de cabeza y de cola:
cutoff = a; // p. ej. a = 0,5.
offsetHead = min (max (0, (midLoc - cutoff)) * TDR,
max (0, headroom*preservationHead midLoc - 1) * TDR);
offsetT ail = min (max (0, (cutoff - midLoc)) * TDR,
max (0, tailroom*preservationTail - midLoc) * TDR);
donde cutoff es una variable que prioriza el mantenimiento de las iluminaciones frente a las sombras especificando el porcentaje del rango dinámico objetivo para el que se recortarán las desviaciones de cabeza y de cola. Por ejemplo, un valor de cutoff de 0,5 da igual prioridad a las iluminaciones y las sombras, mientras que un valor de cutoff de 0,7 da mayor prioridad a las iluminaciones que a las sombras.
Esta estrategia es computacionalmente más simple, ya que no requiere calcular funciones de coseno ni de raíz cuadrada y al mismo tiempo, como se representa en la figura 6B, preserva la monotonía. Dados SMin = 0,01, SMax = 0,92 y TminPQ = 0,1, en la figura 6B, la gráfica 615 representa cómo se mapea SMid a TMid cuando TmaxPQ = 0,5, y la gráfica 620 representa cómo se mapea SMid a TMid cuando TmaxPQ = 0,7.
En comparación con la ecuación (1), la curva de tonos propuesta exhibe múltiples ventajas, que incluyen:
• Utilizando el parámetro slopeMid, se puede definir un mapeo uno a uno entre los valores SMid y TMid dentro de un intervalo específico de la pantalla de destino para preservar el contraste;
• El contraste de la imagen se puede controlar de forma explícita por medio de slopeMid y de la variable contrastFactor (véase la Tabla 1, paso 8). Por ejemplo, en una realización, el valor de contrastFactor puede variar, sin limitación, entre 0,5 y 2,0, con un valor predeterminado de contrastFactor = 1;
• Al dividir toda la curva en dos splines, ya no hay comportamiento inesperado alrededor del ancla de tonos medios (x2, y2);
• Utilizando SlopeMin y SlopeMax se puede predeterminar el comportamiento de la curva de mapeo antes del ancla negro y después de los puntos de anclaje blancos;
• Esta curva puede mapear valores de entrada negativos (p. ej., x < 0). Esta condición se puede producir debido al ruido u otras condiciones del sistema (p. ej., filtrado espacial). Típicamente, se fijan los valores negativos a 0; sin embargo, esta fijación puede terminar incrementando el ruido y reduciendo la calidad global. Al poder mapear valores de entrada negativos, estos artefactos basados en recortes se pueden reducir o eliminar.
• La curva de mapeo de tonos se puede invertir fácilmente mediante una simple conmutación del mapeo de x a y a un mapeo de y a x;
• No existe ningún requisito de utilizar funciones exponenciales o potenciales con exponentes que no sean enteros, por lo que los cálculos son más rápidos y más eficientes, ya que nunca se utilizan exponentes que no sean enteros.
Con respecto al último punto, desde un punto de vista computacional, determinar los parámetros de la función en la ecuación (2) para un valor de contraste no trivial (p. ej., n t 1 y/o cuando n no es un número entero) requiere el uso de seis funciones potenciales (p. ej., para y = pow(x,n), y = Xn). Por el contrario, los cálculos de la Tabla 1 nunca requieren funciones potenciales con exponentes no enteros (el cálculo de potencias de 2 o 4 requiere multiplicaciones simples). En general, en comparación con la ecuación (1), la ecuación (7) requiere unas pocas operaciones más de multiplicar/dividir y sumar/restar por muestra de entrada, pero no requiere funciones potenciales. En algunas realizaciones, la ecuación (7) se puede implementar utilizando una tabla de búsqueda. Más importante aún, estudios con usuarios realizados por los inventores parecen indicar que los usuarios prefieren la calidad de imagen global de las imágenes generadas utilizando la nueva función de mapeo de tonos (320).
Implementación de sistema informático de ejemplo
Las realizaciones de la presente invención se pueden implementar con un sistema informático, sistemas configurados en circuitos y componentes electrónicos, un dispositivo de circuito integrado (IC) como por ejemplo un microcontrolador, una matriz de puertas programables in situ (FPGA), u otro dispositivo lógico configurable o programable (PLD), un procesador de señales digital o de tiempo discreto (DSP), un IC de aplicación específica (ASIC) y/o un aparato que incluya uno o más de dichos sistemas, dispositivos o componentes. El ordenador y/o el IC pueden realizar, controlar o ejecutar instrucciones relacionadas con transformaciones de imágenes para imágenes con alto rango dinámico, como las descritas en este documento. El ordenador y/o el IC pueden calcular cualquiera de una variedad de parámetros o valores que están relacionados con los procesos de transformación de imágenes descritos en este documento. Las realizaciones de imagen y de video se pueden implementar en hardware, en software, en firmware y en diversas combinaciones de los mismos.
Ciertas implementaciones de la invención comprenden procesadores informáticos que ejecutan instrucciones software que hacen que los procesadores realicen un método de la invención. Por ejemplo, uno o más procesadores en una pantalla, un codificador, un decodificador, un transcodificador o similares pueden implementar métodos relacionados con transformaciones de imágenes para imágenes HDR como se ha descrito anteriormente ejecutando instrucciones de software en una memoria de programa accesible para los procesadores. La invención también se puede
proporcionar en forma de un producto de programa. El producto de programa puede comprender cualquier medio no transitorio que lleve un conjunto de señales legibles por ordenador que comprendan instrucciones que, cuando son ejecutadas por un procesador de datos, hagan que el procesador de datos ejecute un método de la invención. Los productos de programa de acuerdo con la invención pueden estar en cualquiera de una amplia variedad de formas. El producto de programa puede comprender, por ejemplo, medios físicos tales como medios magnéticos de almacenamiento de datos que incluyen disquetes, unidades de disco duro, medios ópticos de almacenamiento de datos que incluyen CD ROMs, DVDs, medios electrónicos de almacenamiento de datos que incluyen ROMs, memoria RAM flash o similares. Opcionalmente, las señales legibles por ordenador en el producto de programa pueden ser comprimidas o cifradas.
Allí donde se hace referencia en lo anterior a un componente (p. ej., un módulo de software, procesador, conjunto, dispositivo, circuito, etc.), a menos que se indique lo contrario, se debería interpretar que la referencia a ese componente (incluida una referencia a unos "medios") incluye como equivalentes de ese componente cualquier componente que realice la función del componente descrito (p. ej., que sea funcionalmente equivalente), incluidos componentes que no sean estructuralmente equivalentes a la estructura descrita que realiza la función en las realizaciones de ejemplo ilustradas de la invención.
Equivalentes, extensiones, alternativas y varios
De esta manera, se describen realizaciones de ejemplo que están relacionadas con la transformación eficiente de imágenes de video HDR a video SDR. En la memoria descriptiva anterior, se han descrito realizaciones de la presente invención con referencia a numerosos detalles específicos que pueden variar de una implementación a otra. Así, el único y exclusivo indicador de lo que es la invención, y de lo que los solicitantes pretenden que sea la invención, es el conjunto de reivindicaciones que emanan de esta solicitud, en la forma específica que proporcionan dichas reivindicaciones, incluida cualquier corrección posterior. Cualquier definición expresamente descrita en este documento para términos contenidos en dichas reivindicaciones regirá el significado de dichos términos tal como se utilizan en las reivindicaciones. Por lo tanto, ninguna limitación, elemento, propiedad, rasgo, ventaja o atributo que no se mencione expresamente en una reivindicación debería limitar el alcance de dicha reivindicación de ninguna manera. Por consiguiente, la memoria descriptiva y los dibujos deben ser considerados en un sentido ilustrativo más que restrictivo.
Claims (15)
1. Un método para mapear, utilizando un procesador, una imagen de un primer rango dinámico a un segundo rango dinámico, comprendiendo el método:
acceder a primeros datos de información para una imagen de entrada en el primer rango dinámico, comprendiendo los primeros datos de información un nivel de punto negro de entrada (x1, SMin), un nivel de tonos medios de entrada (x2, SMid), y un nivel de punto blanco de entrada (x3, SMax) en el primer rango dinámico;
acceder a segundos datos de información para una imagen de salida en el segundo rango dinámico, comprendiendo los segundos datos de información un primer nivel de punto negro de salida (TminPQ) y un primer nivel de punto blanco de salida (TmaxPQ) en el segundo rango dinámico;
determinar un valor de los tonos medios de salida en el segundo rango dinámico en base a los primeros datos de información y a los segundos datos de información;
calcular una pendiente de cola, una pendiente de cabeza, y una pendiente de tonos medios;
determinar una función de transferencia para mapear valores de píxeles de la imagen de entrada en el primer rango dinámico a valores de píxeles correspondientes de la imagen de salida en el segundo rango dinámico; mapear la imagen de entrada a la imagen de salida utilizando la función de transferencia determinada; caracterizado por que el método comprende además:
calcular un segundo punto negro de salida y un segundo punto blanco de salida en el segundo rango dinámico en base a los primeros datos de información, a los segundos datos de información y al valor de tonos medios de salida; calcular una pendiente de cola en base al nivel de punto negro de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida y al valor de los tonos medios de salida;
calcular una pendiente de cabeza en base al nivel de punto blanco de entrada, al nivel de tonos medios de entrada, al segundo punto blanco de salida y al valor de los tonos medios de salida; y
calcular una pendiente de tonos medios en base a los primeros datos de información, al segundo punto negro de salida, al segundo punto blanco de salida y al valor de los tonos medios de salida;
en donde la función de transferencia comprende dos segmentos, en donde el primer segmento se determina en base a la pendiente de cola, a la pendiente de tonos medios, al nivel de punto negro de entrada, al nivel de tonos medios de entrada, al segundo punto negro de salida, y al valor de los tonos medios de salida, y el segundo segmento se determina en base a la pendiente de tonos medios, a la pendiente de cabeza, al nivel de tonos medios de entrada, al nivel de punto blanco de entrada, al valor de los tonos medios de salida, y al segundo punto blanco de la salida.
2. El método de la reivindicación 1, en donde el primer rango dinámico comprende un rango dinámico alto y el segundo rango dinámico comprende un rango dinámico estándar.
3. El método de la reivindicación 1 o la reivindicación 2, en donde la función de transferencia comprende además un primer segmento lineal para valores de entrada menores que el nivel de punto negro de entrada en el primer rango dinámico, en donde el segmento lineal tiene una pendiente igual a la pendiente de cola, en donde opcionalmente la función de transferencia para el primer segmento lineal comprende
y = TM in + (x — SMin) * slopeM in ,
en donde x denota un valor de píxel de entrada, y denota un valor de píxel de salida, slopeMin denota la pendiente de cola, TMin denota el segundo punto negro de salida en el segundo rango dinámico, y SMin denota el nivel de punto negro de entrada en el primer rango dinámico.
4. El método de cualquiera de las reivindicaciones 1-3, en donde la función de transferencia comprende además un segundo segmento lineal para valores de entrada mayores que el nivel de punto blanco de entrada en el primer rango dinámico, en donde el segmento lineal tiene una pendiente igual a la pendiente de cabeza, en donde opcionalmente la función de transferencia para el segundo segmento lineal comprende
y = TMax + (x — SMax) * slopeMax,
en donde x denota un valor de píxel de entrada, y denota un valor de píxel de salida, slopeMax denota la pendiente de cabeza, TMax denota el segundo punto blanco de salida en el segundo rango dinámico, y SMax denota el nivel de punto blanco de entrada en el primer rango dinámico.
5. El método de cualquiera de las reivindicaciones 1-4, en donde el primer segmento y/o el segundo segmento se determinan en base a un polinomio de spline de Hermite de tercer orden,
en donde opcionalmente:
determinar el primer segmento comprende calcular
y = ((2T3 — 3T2 + 1) * TMin + (T3 — 2T2 T) * (SMid — SMiri) * slopeMin ( - 2 T3 3T2) * TMid (T3 - T2) * (SMid - SMin) * slopeMid),
en donde T = (x - SMin) / (SMid - SMin), x denota un valor de píxel de entrada, y denota un valor de píxel de salida, slopeMin denota la pendiente de cola, slopeMid denota la pendiente de tonos medios, TMin y TMid denotan el segundo punto negro de salida y el valor de los tonos medios de salida, y SMin y SMid denotan el nivel de punto negro de entrada y el nivel de tonos medios de entrada en el primer rango dinámico.
6. El método de la reivindicación 5, en donde determinar el segundo segmento comprende calcular
y = ((2T3 - 3T2 1) * TMid (T3 - 2T2 T)* (SMax - SMid) * slopeMid (—2T3 + 3T2) * TMax (T3 — T2) * (SMax — SMid) * slopeMax), (5c) en donde T = (x - SMid) / (SMax - SMid), x denota un valor de píxel de entrada, y denota un valor de píxel de salida, slopeMax denota la pendiente de cabeza, slopeMid denota la pendiente de tonos medios, TMid y TMax denotan el valor de los tonos medios de salida y el segundo punto blanco de salida en el segundo rango dinámico, y SMid y SMax denotan el nivel de tonos medios de entrada y el nivel de punto blanco de entrada en el primer rango dinámico.
7. El método de cualquiera de las reivindicaciones 1-6, en donde calcular el valor de los tonos medios de salida comprende calcular:
Si SMid < TminPQ+£z*TMinPQ
entonces TMid = TMinPQ+£?*TMinPQ;
si no, si SMid > TmaxPQ-¿>*TmaxPQ
entonces TMid = TmaxPQ-¿>*TmaxPQ;
si no TMid = SMid;
en donde TMid denota el valor de los tonos medios de salida, a y b son valores de percentiles en [0, 1], SMid denota el nivel de tonos medios de entrada y TminPQ y TmaxPQ comprenden valores en los segundos datos de información.
8. El método de cualquiera de las reivindicaciones 1-7, en donde calcular el valor de los tonos medios de salida comprende además:
determinar un valor de los tonos medios de salida preliminar en el segundo rango dinámico, y valores limitantes primero y segundo para el valor de los tonos medios de salida preliminar, en base a los primeros datos de información y al primer punto negro de salida;
calcular una desviación de cabeza y una desviación de cola en el segundo rango dinámico en base al valor de los tonos medios de salida preliminar, los valores limitantes primero y segundo, y uno o más valores de preservación del contraste de entrada; y
calcular el valor de los tonos medios de salida en el segundo rango dinámico en base al nivel de tonos medios de entrada en el primer rango dinámico y las desviaciones de cabeza y de cola, en donde, opcionalmente: determinar el valor preliminar de los tonos medios de salida y los valores limitantes primero y segundo para el primer valor de los tonos medios de salida, comprende calcular
midLoc = (SMid-TminPQ)/TDR;
headroom= (SMax-SMid)/TDR;
tailroom = (SMid-SMin)/TDR;
en donde
TDR= TmaxPQ-TminPQ,
midLoc denota el valor preliminar de tonos medios de salida, tailroom (margen dinámico inferior) y headroom (margen dinámico superior) denotan los valores limitantes primero y segundo para el primer valor de los tonos medios de salida, SMin, SMid y SMax denotan los primeros datos de información, y TminPQ denota el primer nivel de punto negro de salida.
9. El método de la reivindicación 8, en donde al menos un valor de preservación del contraste es de aproximadamente el 50%.
10. El método de la reivindicación 8 o la reivindicación 9, en donde calcular el valor de los tonos medios de salida (TMid) comprende calcular
TMid = SMid-offsetHead+offsetTail,
en donde SMid denota el nivel de tonos medios de entrada en el primer rango dinámico, y offsetHead y offsetTail denotan las desviaciones de cabeza y de cola.
11. El método de la reivindicación 10, en donde calcular el segundo punto blanco de salida y el segundo punto negro de salida en el segundo rango dinámico comprende calcular
TMax= min(TMid+SMax-SMid,TmaxPQ),
TMin = max(TMid-SMid+SMin,TminPQ,
en donde TMin denota el segundo punto negro de salida, TMax denota el segundo punto blanco de salida, SMin y SMax denotan el nivel de punto negro de entrada y el nivel de punto blanco de entrada en el primer rango dinámico, y TminPQ y TmaxPQ denotan el primer punto negro de salida y el primer punto blanco de salida en el segundo rango dinámico.
12. El método de la reivindicación 7 o la reivindicación 11, que comprende además calcular un valor máximo de la pendiente de cola (maxMinSlope) y/o un valor máximo de la pendiente de cabeza (maxMaxSlope) como
maxMinSlope =3*(TMid-TMin)/(SMid-SMin),
maxMaxSlope = 3*(TMax-TMid)/(SMax-SMid),
en donde
calcular la pendiente de cola (slopeMin), la pendiente de tonos medios (slopeMid) y la pendiente de cabeza (slopeMax) comprende además calcular
slopeMin = min([maxMinSlope,(( TMid - TMin)/ (SMid- SMin) ) ?] ) ;
slopeMax = min([maxMaxSlope,1,((TMax - TMid)/(SMax - SMid))4]);
slopeMid = min([maxMinSlope,maxMaxSlope,contrastFactor*(1_ SMid+TMid)]);
en donde contrastFactor denota un parámetro de contraste.
13. El método de cualquiera de las reivindicaciones 1-12, que comprende además determinar una tabla de búsqueda hacia atrás para mapear una imagen del segundo rango dinámico al primer rango dinámico, comprendiendo el método: determinar una tabla de búsqueda hacia adelante mapeando una pluralidad de valores x(/) en el primer rango dinámico a valores y(i) en el segundo rango dinámico basados en la función de transferencia determinada; y
generar la tabla de búsqueda hacia atrás mapeando una pluralidad de valores y'(k) en el segundo rango dinámico a los correspondientes valores x ’(k) en el primer rango dinámico configurando:
si y'(k) = y(i), entonces x'(k) = x(¡)
de otra manera
si y(i) < y'(k) < y(/+1), entonces la salida correspondiente X(k) se genera interpolando un valor entre x(i) y x(i+1).
14. Un aparato que comprende un procesador y está configurado para realizar uno cualquiera de los métodos enumerados en las reivindicaciones 1-13.
15. Un programa informático que tiene instrucciones que, cuando son ejecutadas por un dispositivo o sistema informático, hacen que dicho dispositivo o sistema informático realice el método de acuerdo con cualquiera de las reivindicaciones 1-13.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762459141P | 2017-02-15 | 2017-02-15 | |
EP17156284 | 2017-02-15 | ||
US201762465298P | 2017-03-01 | 2017-03-01 | |
PCT/US2018/017830 WO2018152063A1 (en) | 2017-02-15 | 2018-02-12 | Tone curve mapping for high dynamic range images |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2817852T3 true ES2817852T3 (es) | 2021-04-08 |
Family
ID=61244840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18706171T Active ES2817852T3 (es) | 2017-02-15 | 2018-02-12 | Mapeo mediante curva de tonos para imágenes de alto rango dinámico |
Country Status (11)
Country | Link |
---|---|
US (1) | US10600166B2 (es) |
EP (1) | EP3559901B1 (es) |
JP (1) | JP6738972B2 (es) |
KR (1) | KR102122165B1 (es) |
CN (1) | CN110337667B (es) |
BR (1) | BR112019016825A2 (es) |
DK (1) | DK3559901T3 (es) |
ES (1) | ES2817852T3 (es) |
HU (1) | HUE050807T2 (es) |
PL (1) | PL3559901T3 (es) |
RU (1) | RU2713869C1 (es) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6845946B2 (ja) * | 2016-12-12 | 2021-03-24 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ハイダイナミックレンジ画像のための映像処理曲線を調整するためのシステムおよび方法 |
US10917583B2 (en) | 2018-04-27 | 2021-02-09 | Apple Inc. | Standard and high dynamic range display systems and methods for high dynamic range displays |
US10863157B2 (en) * | 2018-07-06 | 2020-12-08 | Samsung Electronics Co., Ltd. | Guided tone mapping of high dynamic range video based on a Bezier curve for presentation on a display device |
EP3853809A1 (en) * | 2018-09-17 | 2021-07-28 | Dolby Laboratories Licensing Corporation | Display mapping for high dynamic range images on power-limiting displays |
CN112215760A (zh) * | 2019-07-11 | 2021-01-12 | 华为技术有限公司 | 一种图像处理的方法及装置 |
US11127124B2 (en) | 2019-10-28 | 2021-09-21 | Adobe Inc. | Evenly spaced curve sampling technique for digital visual content transformation |
WO2021212072A1 (en) | 2020-04-17 | 2021-10-21 | Dolby Laboratories Licensing Corporation | Chromatic ambient light correction |
WO2021222310A1 (en) | 2020-04-28 | 2021-11-04 | Dolby Laboratories Licensing Corporation | Image-dependent contrast and brightness control for hdr displays |
CN116132648A (zh) * | 2020-04-30 | 2023-05-16 | 华为技术有限公司 | 动态范围映射的方法和装置 |
WO2021223205A1 (en) * | 2020-05-08 | 2021-11-11 | Huawei Technologies Co., Ltd. | Encoder, decoder, system, and method for determining tone mapping curve parameters |
WO2021252697A1 (en) | 2020-06-11 | 2021-12-16 | Dolby Laboratories Licensing Corporation | Producing and adapting video images for presentation on displays with different aspect ratios |
JP2023532083A (ja) | 2020-06-30 | 2023-07-26 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Pqシフトを用いた周囲光補償のためのシステムおよび方法 |
WO2022120104A2 (en) | 2020-12-04 | 2022-06-09 | Dolby Laboratories Licensing Corporation | Processing of extended dimension light field images |
WO2022203826A1 (en) | 2021-03-22 | 2022-09-29 | Dolby Laboratories Licensing Corporation | Luminance adjustment based on viewer adaptation state |
JP2024527025A (ja) | 2021-07-29 | 2024-07-19 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 画像のダイナミックレンジ変換及び表示管理のためのニューラルネットワーク |
JP2024531432A (ja) | 2021-08-24 | 2024-08-29 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ディスプレイ管理における高精度レンダリングのためのニューラルネットワーク |
US11961206B2 (en) * | 2021-09-09 | 2024-04-16 | Samsung Electronics Co., Ltd. | Image generation using non-linear scaling and tone-mapping based on cubic spline curves |
MX2024003527A (es) | 2021-09-28 | 2024-05-10 | Dolby Laboratories Licensing Corp | Mapeo de pantalla en varios pasos y reconstruccion de metadatos para video hdr. |
WO2023055612A1 (en) | 2021-09-30 | 2023-04-06 | Dolby Laboratories Licensing Corporation | Dynamic spatial metadata for image and video processing |
WO2023224917A1 (en) | 2022-05-16 | 2023-11-23 | Dolby Laboratories Licensing Corporation | Trim pass metadata prediction in video sequences using neural networks |
WO2024107472A1 (en) | 2022-11-16 | 2024-05-23 | Dolby Laboratories Licensing Corporation | Estimating metadata for images having absent metadata or unusable form of metadata |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058234B2 (en) * | 2002-10-25 | 2006-06-06 | Eastman Kodak Company | Enhancing the tonal, spatial, and color characteristics of digital images using expansive and compressive tone scale functions |
US7298373B2 (en) | 2003-06-11 | 2007-11-20 | Agfa Healthcare | Method and user interface for modifying at least one of contrast and density of pixels of a processed image |
JP3949684B2 (ja) * | 2004-04-30 | 2007-07-25 | 三菱電機株式会社 | 階調補正装置、階調補正用プログラム、携帯端末機器及びパーソナルコンピュータ |
US7508550B2 (en) * | 2004-06-17 | 2009-03-24 | Fujifilm Corporation | Image correcting apparatus and method, and image correcting program, and look-up table creating apparatus and method, and look-up table creating program |
JP4277773B2 (ja) * | 2004-09-21 | 2009-06-10 | 株式会社日立製作所 | 映像表示装置 |
JP4372747B2 (ja) * | 2005-01-25 | 2009-11-25 | シャープ株式会社 | 輝度レベル変換装置、輝度レベル変換方法、固体撮像装置、輝度レベル変換プログラム、および記録媒体 |
KR100707270B1 (ko) * | 2005-08-17 | 2007-04-16 | 삼성전자주식회사 | Rgb값을 이용한 영상 콘트라스트 개선 방법 및 장치 |
JP5299867B2 (ja) * | 2009-06-30 | 2013-09-25 | 日立コンシューマエレクトロニクス株式会社 | 画像信号処理装置 |
JP2011228807A (ja) * | 2010-04-15 | 2011-11-10 | Nikon Corp | 画像処理プログラム、画像処理装置、および画像処理方法 |
TWI538474B (zh) | 2011-03-15 | 2016-06-11 | 杜比實驗室特許公司 | 影像資料轉換的方法與設備 |
TWI624182B (zh) | 2011-04-15 | 2018-05-11 | 杜比實驗室特許公司 | 高動態範圍影像的編碼、解碼及表示 |
US9036042B2 (en) | 2011-04-15 | 2015-05-19 | Dolby Laboratories Licensing Corporation | Encoding, decoding, and representing high dynamic range images |
WO2013002146A1 (ja) * | 2011-06-27 | 2013-01-03 | シャープ株式会社 | 液晶表示装置 |
US9024961B2 (en) * | 2011-12-19 | 2015-05-05 | Dolby Laboratories Licensing Corporation | Color grading apparatus and methods |
CN105787909B (zh) * | 2012-08-08 | 2018-07-20 | 杜比实验室特许公司 | 用于高动态范围图像的图像处理 |
WO2014130343A2 (en) * | 2013-02-21 | 2014-08-28 | Dolby Laboratories Licensing Corporation | Display management for high dynamic range video |
MX350910B (es) * | 2013-02-21 | 2017-09-25 | Koninklijke Philips Nv | Métodos y dispositivos de codificación y decodificación de imágenes mejoradas de alto rango dinámico (hdr). |
WO2015007510A1 (en) * | 2013-07-16 | 2015-01-22 | Koninklijke Philips N.V. | Method and apparatus to create an eotf function for a universal code mapping for an hdr image, method and process to use these images |
WO2015007505A1 (en) * | 2013-07-18 | 2015-01-22 | Koninklijke Philips N.V. | Methods and apparatuses for creating code mapping functions for encoding an hdr image, and methods and apparatuses for use of such encoded images |
JP6543442B2 (ja) * | 2014-07-30 | 2019-07-10 | ルネサスエレクトロニクス株式会社 | 画像処理装置および画像処理方法 |
JP6619813B2 (ja) * | 2014-12-11 | 2019-12-11 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 特定のディスプレイに対する高ダイナミックレンジ画像の最適化 |
ES2825699T3 (es) * | 2014-12-11 | 2021-05-17 | Koninklijke Philips Nv | Optimización e imágenes de alto rango dinámico para pantallas particulares |
KR102317035B1 (ko) * | 2014-12-19 | 2021-10-25 | 엘지전자 주식회사 | 디스플레이 디바이스 및 그 제어 방법 |
US20180167597A1 (en) * | 2015-05-29 | 2018-06-14 | Thomson Licensing | Methods, apparatus, and systems for hdr tone mapping operator |
KR102486233B1 (ko) * | 2015-07-16 | 2023-01-06 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 파라메트릭 톤 - 조정 함수를 사용하여 영상을 톤 - 매핑하는 방법 및 장치 |
EP3131284A1 (en) * | 2015-08-13 | 2017-02-15 | Thomson Licensing | Methods, systems and aparatus for hdr to hdr inverse tone mapping |
US10902567B2 (en) * | 2015-11-24 | 2021-01-26 | Koninklijke Philips N.V. | Handling multiple HDR image sources |
JP2017098845A (ja) * | 2015-11-26 | 2017-06-01 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
PT3394850T (pt) * | 2015-12-21 | 2020-08-14 | Koninklijke Philips Nv | Otimização de imagens de alta gama dinâmica para monitores específicos |
EP3220349A1 (en) * | 2016-03-16 | 2017-09-20 | Thomson Licensing | Methods, apparatus, and systems for extended high dynamic range ("hdr") hdr to hdr tone mapping |
CN106023916B (zh) * | 2016-06-08 | 2018-08-31 | 深圳市华星光电技术有限公司 | 伽马修正系统和方法 |
US10242435B2 (en) * | 2016-09-07 | 2019-03-26 | Gvbb Holdings S.A.R.L. | High dynamic range processing |
-
2018
- 2018-02-12 DK DK18706171.8T patent/DK3559901T3/da active
- 2018-02-12 RU RU2019124451A patent/RU2713869C1/ru active
- 2018-02-12 ES ES18706171T patent/ES2817852T3/es active Active
- 2018-02-12 CN CN201880011955.3A patent/CN110337667B/zh active Active
- 2018-02-12 EP EP18706171.8A patent/EP3559901B1/en active Active
- 2018-02-12 KR KR1020197023862A patent/KR102122165B1/ko active IP Right Grant
- 2018-02-12 JP JP2019543902A patent/JP6738972B2/ja active Active
- 2018-02-12 BR BR112019016825A patent/BR112019016825A2/pt unknown
- 2018-02-12 PL PL18706171T patent/PL3559901T3/pl unknown
- 2018-02-12 US US16/486,392 patent/US10600166B2/en active Active
- 2018-02-12 HU HUE18706171A patent/HUE050807T2/hu unknown
Also Published As
Publication number | Publication date |
---|---|
HUE050807T2 (hu) | 2021-01-28 |
EP3559901A1 (en) | 2019-10-30 |
CN110337667A (zh) | 2019-10-15 |
US20200005441A1 (en) | 2020-01-02 |
JP6738972B2 (ja) | 2020-08-12 |
DK3559901T3 (da) | 2020-08-31 |
KR102122165B1 (ko) | 2020-06-11 |
BR112019016825A2 (pt) | 2020-04-07 |
JP2020510913A (ja) | 2020-04-09 |
RU2713869C1 (ru) | 2020-02-07 |
PL3559901T3 (pl) | 2020-11-16 |
US10600166B2 (en) | 2020-03-24 |
EP3559901B1 (en) | 2020-08-05 |
CN110337667B (zh) | 2023-09-08 |
KR20190100416A (ko) | 2019-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2817852T3 (es) | Mapeo mediante curva de tonos para imágenes de alto rango dinámico | |
TWI671710B (zh) | 用於高動態範圍影像之色調曲線映射 | |
RU2762384C1 (ru) | Переформирование сигналов для сигналов широкого динамического диапазона | |
ES2692444T3 (es) | Gestión de visualización para vídeo de alto rango dinámico | |
US10891722B2 (en) | Display method and display device | |
US10580367B2 (en) | Display mapping for high dynamic range images | |
CN112703529B (zh) | 功率限制显示器上高动态范围图像的显示映射 | |
CN118020090A (zh) | 用于hdr视频的多步骤显示映射和元数据重建 | |
JP2024516080A (ja) | ビューア適応状態に基づく輝度調整 |