ES2739452T3 - Método de simulación de grano de película con precisión de bits basado en coeficientes transformados calculados previamente - Google Patents

Método de simulación de grano de película con precisión de bits basado en coeficientes transformados calculados previamente Download PDF

Info

Publication number
ES2739452T3
ES2739452T3 ES05824623T ES05824623T ES2739452T3 ES 2739452 T3 ES2739452 T3 ES 2739452T3 ES 05824623 T ES05824623 T ES 05824623T ES 05824623 T ES05824623 T ES 05824623T ES 2739452 T3 ES2739452 T3 ES 2739452T3
Authority
ES
Spain
Prior art keywords
film grain
transformation
coefficients
transformed
further characterized
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.)
Expired - Lifetime
Application number
ES05824623T
Other languages
English (en)
Inventor
Joan Llach
Cristina Gomila
Jeffrey Cooper
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.)
InterDigital VC Holdings Inc
Original Assignee
InterDigital VC Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by InterDigital VC Holdings Inc filed Critical InterDigital VC Holdings Inc
Application granted granted Critical
Publication of ES2739452T3 publication Critical patent/ES2739452T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00—Image coding
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00—Image enhancement or restoration
    • G06T5/10—Image enhancement or restoration using non-spatial domain filtering
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00—Image enhancement or restoration
    • G06T5/70—Denoising; Smoothing
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117—Filters, e.g. for pre-processing or post-processing
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136—Incoming video signal characteristics or properties
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46—Embedding additional information in the video signal during the compression process
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/20048—Transform domain processing
    • G06T2207/20052—Discrete cosine transform [DCT]
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/20204—Removing film grain; Adding simulated film grain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Complex Calculations (AREA)
  • Investigating And Analyzing Materials By Characteristic Methods (AREA)
  • Detection And Correction Of Errors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Método para crear un patrón de grano de película, que comprende los pasos de: (a) establecer un conjunto de coeficientes transformados con precisión de bits (100 a 104, 200 a 204, 300 a 305, 400 a 405, 500 a 502); (b) filtrar en frecuencia el conjunto de coeficientes transformados con precisión de bits (106, 206, 306, 406, 506); y (c) realizar una transformación inversa con precisión de bits sobre los coeficientes transformados filtrados en frecuencia, para producir un patrón de grano película (108, 208, 308, 408, 508), y caracterizado por que los pasos (a) a (c) se repiten para todos los tamaños y formas posibles de grano de película.

Description

DESCRIPCIÓN
Método de simulación de grano de película con precisión de bits basado en coeficientes transformados calculados previamente
Campo técnico
La presente invención se refiere a una técnica para simular grano de película en una imagen.
Antecedentes de la invención
Las películas cinematográficas comprenden cristales de haluro de plata dispersos en una emulsión, recubiertos en capas delgadas sobre una base de película. La exposición y el revelado de estos cristales forman la imagen fotográfica que consiste en pequeñas partículas discretas de plata. En los negativos en color, la plata es sometida a eliminación química después del revelado, y se producen pequeños grumos de tinta en los sitios en los que se forman los cristales de plata. Estas pequeñas motas de tinta se denominan comúnmente 'grano' en la película en color. El grano aparece distribuido aleatoriamente en la imagen resultante debido a la formación aleatoria de cristales de plata sobre la emulsión original. Dentro de un área expuesta de manera uniforme, algunos cristales se revelan después de la exposición, mientras que otros no lo hacen.
El grano varía en tamaños y formas. Cuanto más rápida es la película, más grandes son las manchas de plata formadas y los grumos de tinta generados, y más tienden a agruparse en patrones aleatorios. El patrón de grano se conoce habitualmente como 'granularidad'. El ojo desnudo no puede distinguir granos individuales, que varían entre 0,0002 mm y, aproximadamente, 0,002 mm. En cambio, el ojo resuelve grupos de granos, denominados grumos. Un espectador identifica estos grupos de grumos como grano de película. A medida que aumenta la resolución de la imagen, la percepción del grano de película aumenta. El grano de película se hace claramente perceptible en el cine y en las imágenes de alta definición, mientras que el grano de película pierde importancia progresivamente en SDTV, y resulta imperceptible en formatos más pequeños.
La película cinematográfica habitualmente contiene ruido dependiente de la imagen que resulta del proceso físico de exposición y revelado de la película fotográfica o de la posterior edición de las imágenes. La película fotográfica posee un patrón casi aleatorio característico, o textura, que resulta de la granularidad física de la emulsión fotográfica. De manera alternativa, se puede simular un patrón similar sobre imágenes generadas por ordenador para mezclarlas con película fotográfica. En ambos casos, este ruido que depende de la imagen se denomina grano. Con bastante frecuencia, la textura de grano moderado presenta una característica deseable en las películas cinematográficas. En algunos casos, el grano de película proporciona pistas visuales que facilitan la correcta percepción de las imágenes bidimensionales. El grano de película a menudo se varía dentro de una sola película, para proporcionar diversas pistas en cuanto a la referencia de tiempo, el punto de vista, etc. Existen muchas otras utilizaciones técnicas y artísticas para controlar la textura del grano en la industria cinematográfica. Por lo tanto, preservar la apariencia granulosa de las imágenes en todo el procesamiento de las imágenes y en la cadena de suministro se ha convertido en un requisito en la industria cinematográfica.
Varios productos disponibles comercialmente poseen la capacidad de simular el grano de película, a menudo para mezclar un objeto generado por ordenador en un escenario natural. Cineon®, comercializado por la firma Eastman Kodak Co, Rochester, Nueva York, una de las primeras aplicaciones de película digital en implementar la simulación de grano, produce resultados muy realistas para muchos tipos de grano. No obstante, la aplicación Cineon® no produce un buen rendimiento para muchas películas de alta velocidad debido a las perceptibles franjas diagonales que la aplicación produce para ajustes de tamaño grande de grano. Además, la aplicación Cineon® no consigue simular el grano con la fidelidad adecuada cuando las imágenes son sometidas a un procesamiento previo, por ejemplo, tal como cuando las imágenes son copiadas o procesadas de manera digital.
Otro producto comercial que simula el grano de película es Grain Surgery™, comercializado por la firma Visual Infinity Inc., que se utiliza como un complemento de Adobe® After Effects®. El producto Grain Surgery™ parece generar grano sintético filtrando un conjunto de números aleatorios. Este enfoque adolece del inconveniente de una alta complejidad de cálculo.
La Patente de U.S. 5.641.596 describe una técnica para ajustar el grano de película en una imagen eliminando primero el grano de película existente de la imagen y, agregando, a continuación, el grano sintetizado. Inicialmente, la película es sometida a un escaneo para generar información del grano de película almacenada en un archivo de estadísticas (19). Las estadísticas almacenadas ayudan a limpiar la película del grano de película, y en la síntesis del grano de película. Sin embargo, la propia patente no se ocupa de un grano de película con precisión de bits, y mucho menos de cómo generar dicho grano de película.
La Solicitud de patente publicada de U.S. 2002/0034337 hace referencia a una técnica para agregar ruido a una imagen realizando primero un análisis del ruido en la imagen utilizando muestras de imágenes extraídas para este fin. Para el grano de película, esta referencia propone una transformación homomórfica de píxeles en un paso de preprocesamiento y, a continuación, realizar un análisis de ruido para determinar el grado de ruido que se agregará. Al igual que en la Patente de U.S. 5.641.596, la Solicitud de Patente publicada de U.S. 2002/0034337 no se ocupa de generar grano de película con precisión de bits, como lo demuestra la falta de discusión sobre la utilización de transformadas enteras u otro mecanismo para producir resultados repetibles de grano de película.
R. Oktem y K. Egiazarian en “Transform domain algorithm for reducing effect of film-grain noise in image compression” (ELECTRONICS LETTERS, 14 de octubre de 1999, vol. 35, N° 21) describen un enfoque para reducir la degradación del rendimiento de los algoritmos de compresión de imágenes relacionada con el ruido del grano de película.
Ninguno de estos esquemas anteriores resuelve el problema de restaurar el grano de película en video comprimido. El grano de película constituye un fenómeno casi aleatorio de alta frecuencia que, habitualmente, no puede sufrir compresión utilizando métodos espaciales y temporales convencionales que aprovechan las redundancias en las secuencias de video. Intentos de procesar imágenes que tienen su origen en películas utilizando técnicas de compresión MPEG-2 o la Rec. H.264 de UIT-T I 14496-10 de ISO/IEC, en general, producen un grado de compresión inaceptablemente bajo o una pérdida completa de la textura del grano.
Por lo tanto, existe la necesidad de una técnica que simule el grano de película, especialmente una técnica que se pueda permitir una complejidad relativamente baja.
Breve compendio de la invención
Brevemente, según los principios actuales, se proporciona un método para simular un patrón de grano de película. El método comienza obteniendo un conjunto de coeficientes transformados con precisión de bits. A continuación, el conjunto de coeficientes transformados con precisión de bits es sometido a filtración. A continuación, el conjunto filtrado de coeficientes transformados con precisión de bits es sometido a una transformación inversa con precisión de bits para producir un patrón de grano de película.
Descripción detallada de los dibujos
La figura 1 representa un diagrama de bloques esquemático de la combinación de un transmisor y un receptor en una cadena de procesamiento de grano de película útil para poner en práctica la técnica de los presentes principios; la figura 2 representa, en forma de diagrama de flujo, los pasos de un método para crear un patrón de grano de película con precisión de bits utilizando un generador de números aleatorios de Gauss;
la figura 3 representa, en forma de diagrama de flujo, los pasos de un método para crear un patrón de grano de película con precisión de bits utilizando una tabla de consulta de números aleatorios de Gauss;
la figura 4 representa, en forma de diagrama de flujo, los pasos de un método para crear un patrón de grano de película con precisión de bits utilizando una sola imagen de ruido de Gauss;
la figura 5 representa, en forma de diagrama de flujo, los pasos de un método para crear un patrón de grano de película con precisión de bits utilizando un conjunto de coeficientes calculados previamente, transformados mediante una transformada discreta del coseno (DCT - Discrete Cosine Transformed, en inglés) de una sola imagen de ruido de Gauss; y
la figura 6 representa, en forma de diagrama de flujo, los pasos de un método para crear un patrón de grano de película con precisión de bits utilizando coeficientes calculados previamente, transformados mediante DCT de varias imágenes de ruido de Gauss.
Descripción detallada
Para comprender la técnica de los presentes principios para crear un patrón de grano de película con precisión de bits, resultará de ayuda un breve resumen de la simulación de grano de película. La figura 1 representa un diagrama de bloques esquemático de un transmisor 10, que recibe una señal de video de entrada y, a su vez, genera una secuencia de video comprimida en su salida. Además, el transmisor 10 también genera información indicativa del grano de película (si existe) presente en la muestra. En la práctica, el transmisor 10 podría comprender parte de un conjunto de extremo de cabecera de un sistema de televisión por cable, u otro sistema similar que distribuya video comprimido a uno o más receptores 11 de flujo descendente, solo uno de los cuales se muestra en la figura 1. El transmisor 10 también podría adoptar la forma de un codificador que presente medios tales como un DVD. El receptor 11 descodifica la secuencia de video codificada y simula el grano de película según la información del grano de película y del video descodificado, ambos recibidos desde el transmisor 10, o directamente, desde el propio medio en el caso de un DVD o similar, para producir una secuencia de video de salida que tiene el grano de película simulado. El receptor 11 puede adoptar la forma de un descodificador o de otro mecanismo similar que sirva para descodificar video comprimido y simular el grano de película en ese video.
La gestión global del grano de película requiere que el transmisor 10 (es decir, el codificador) proporcione información con respecto al grano de película en el video entrante. En otras palabras, el transmisor 10 “modela” el grano de película. Además, el receptor 11 (es decir, el descodificador) simula el grano de película según la información del grano de película recibida del transmisor 10. El transmisor 10 mejora la calidad del video comprimido al permitir que el receptor 11 simule el grano de película en la señal de video cuando existe dificultad para retener el grano de película durante el proceso de codificación de video.
En la realización ilustrada de la figura 1, el transmisor 10 incluye un codificador de video 12 que codifica la secuencia de video utilizando cualquiera de las técnicas de compresión de video bien conocidas, tales como el estándar de compresión de video de la Rec. H.264 de UIT-T I 14496-10 de ISO/IEC. Opcionalmente, un elemento de eliminación de grano de película 14, en la forma de un filtro o similar representado en líneas discontinuas en la figura 1, podría existir más arriba del codificador 12 para eliminar cualquier grano de película en la secuencia de video entrante antes de la codificación. En la medida en que el video entrante no contenga grano de película, no sería necesario el elemento de eliminación de grano de película 14.
Un modelador 16 de grano de película acepta la secuencia de video de entrada, así como la señal de salida del elemento de eliminación de grano de película 14 (cuando existe). Utilizando dicha información de entrada, el modelador 16 de grano de película establece el grano de película en la señal de video entrante. En su forma más simple, el modelador 16 de grano de película podría comprender una tabla de consulta que contiene modelos de grano de película para diferentes conjuntos de películas. La información en la señal de video entrante especificaría el conjunto de películas particular utilizado originalmente para grabar la imagen antes de la conversión en una señal de video, por lo tanto, permitiendo al modelador 16 de grano de película seleccionar el modelo de grano de película apropiado para dicho conjunto de películas. De manera alternativa, el modelador 16 de grano de película podría comprender un procesador o un circuito lógico exclusivo que ejecutaría uno o más algoritmos para muestrear el video entrante y determinar el patrón de grano de película que está presente.
El receptor 11 habitualmente incluye un descodificador 18 de video que sirve para descodificar la secuencia de video comprimida recibida del transmisor 10. La estructura del descodificador 18 dependerá del tipo de compresión realizada por el codificador 12 dentro del transmisor 10. De este modo, por ejemplo, la utilización dentro del transmisor 10 de un codificador 12 que emplea el estándar de compresión de video de la Rec. H.264 de UIT-T I 14496-10 de ISO/IEC para comprimir el video saliente dictará la necesidad de un descodificador 18 compatible con H.264. Dentro del receptor 11, un simulador 20 de grano de película recibe la información del grano de película del modelador 16 de grano de película. El simulador 20 de grano de película puede adoptar la forma de un procesador programado o, o de un circuito lógico exclusivo que tiene la capacidad de simular grano de película para su combinación a través de un combinador 22 con la secuencia de video descodificada.
La simulación de grano de película tiene como objetivo sintetizar muestras de grano de película que simulan el aspecto del contenido original de la película. Tal como se describe, el modelado del grano de película tiene lugar en el transmisor 10 de la figura 1, mientras que la simulación de grano de película tiene lugar en el receptor 11. En particular, la simulación de grano de película tiene lugar en el receptor 11, junto con la descodificación de la secuencia de video entrante desde el transmisor 10 más arriba de la salida de la secuencia de video descodificada. Se debe observar que el proceso de descodificación que tiene lugar en el receptor 11 no utiliza imágenes con grano de película agregado. Por el contrario, la simulación de grano de película constituye un método de procesamiento posterior para sintetizar grano de película simulado en las imágenes descodificadas para su reproducción. Por ese motivo, el estándar de compresión de video de la Rec. H.264 de UIT-T I 14496-10 de iSo /IEC no contiene especificaciones con respecto al proceso de simulación de grano de película. No obstante, la simulación de grano de película requiere información relativa al patrón de grano en la señal de video entrante, cuya información habitualmente está sujeta a transmisión en un mensaje de información de mejora suplementaria (SEI -Supplemental Enhancement Information, en inglés) cuando se utiliza el estándar de compresión de video de la Rec. H.264 de UIT-T I 14496-10 de ISO/IEC según lo especificado por la Enmienda 1 (Extensiones del rango de fidelidad) de ese estándar de compresión.
Según los presentes principios, en este documento se dan a conocer varias implementaciones de un método para crear un patrón de grano de película con precisión de bits, tal como para el almacenamiento en una base de datos para simulación de grano de película en sistemas DVD de HD. Dicha base de datos de patrones de grano de película permite la simulación de grano de película según los parámetros de un mensaje de información de mejora suplementaria (SEI) de grano de película según el estándar H.264 I MPEG-4 de AVC tal como se explicó anteriormente. De manera más específica, los dispositivos y sistemas que implementan las especificaciones de DVD de HD existentes o futuras pueden emplear dicha base de datos de patrones de grano de película para almacenar muestras de diferentes tipos de grano de película, cada una caracterizada por diferentes parámetros de modelado de la frecuencia.
Tal como se explica en detalle a continuación, el método de los presentes principios para crear un patrón de grano de película con precisión de bits utiliza una estrategia básica que permite la implementación de varias maneras diferentes dentro del receptor 11. La estrategia básica para crear un patrón de grano de película con precisión de bits comienza por establecer un conjunto de coeficientes de transformada entera, habitualmente, aunque no necesariamente, coeficientes transformados mediante transformada discreta del coseno (DCT), habitualmente N x N en tamaño, donde N es un número entero. El término “imagen” hará referencia algunas veces a dicho conjunto de coeficientes de transformada entera. El paso de establecer un conjunto o imagen de coeficientes de transformada entera puede tener lugar de varias maneras diferentes. Por ejemplo, el paso de establecer un conjunto o imagen de coeficientes de transformada entera podría conllevar que el procesador o el circuito lógico discreto en el receptor 11 de la figura 1 accedan a una base de datos de coeficientes de transformada entera tal como se describe a continuación. De manera alternativa, el procesador o los circuitos lógicos discretos en el receptor 11 podrían establecer un conjunto o imagen de números aleatorios de Gauss, ya sea leyendo una base de datos de dichos números, o generándolos directamente. A continuación, se ejecutará una DCT entera sobre la imagen de números aleatorios de Gauss para producir un conjunto de coeficientes de DCT enteros.
El siguiente paso en el proceso básico de crear un patrón de grano de película con precisión de bits conlleva el filtrado en frecuencia de los coeficientes de transformada entera según el tamaño y la forma del grano de película deseado. Por ejemplo, el filtrado en frecuencia podría emplear un conjunto predefinido de frecuencias de corte fHL, fVL, fHH y fVH que representan frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. A continuación del filtrado en frecuencia, los coeficientes de transformada entera son sometidos a una transformación inversa para crear el patrón de grano de película con precisión de bits para su posterior almacenamiento en una base de datos. En algunos casos, podría tener lugar un escalado a continuación de la transformación inversa de los coeficientes.
En la práctica, el método de creación de patrones de grano de película de los presentes principios utiliza operaciones de DCT entera y de DCT inversa, lo que garantiza una precisión de bits que resulta útil para propósitos de verificación y prueba. No obstante, diferentes implementaciones de la estrategia básica que se describe a continuación no necesariamente permiten la precisión de bits entre sí. La elección de una implementación particular dependerá del compromiso deseado entre las necesidades de memoria y el coste de cálculo.
La figura 2 ilustra una primera implementación de un método según los principios actuales para crear un patrón de grano de película con precisión de bits. El método de la figura 2 comienza con la ejecución del paso 100 de inicio, durante el cual se produce la inicialización, aunque dicha inicialización no necesariamente tiene que ocurrir. A continuación, tiene lugar el siguiente paso 101, iniciando la entrada en un bucle que se repite para todos los tamaños y formas posibles de grano de película. Tras la entrada en el bucle, tiene lugar el paso 102, para conseguir la creación de una imagen de valores aleatorios de Gauss. En la práctica, la imagen aleatoria de Gauss tiene un tamaño de N x N valores. En el método de la figura 2, la creación de la imagen de valores aleatorios de Gauss ocurre al generar dichos valores por medio de un generador de números aleatorios de Gauss 103.
La imagen de valores aleatorios de Gauss creada durante el paso 102 es sometida a continuación a una transformación con precisión de bits, habitualmente por medio de una operación mediante transformada discreta del coseno (DCT) entera durante el paso 104, aunque existen otras técnicas de transformación con precisión de bits. Los coeficientes de DCT enteros establecidos durante el paso 102 son sometidos, a continuación, a un filtrado en frecuencia durante el paso 106. Habitualmente, el filtrado en frecuencia tiene lugar utilizando un conjunto predefinido de frecuencias de corte fHL, fVL, fHH y fVH, que representan frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. A continuación, tiene lugar el paso 108, durante el cual los coeficientes transformados, filtrados en frecuencia son sometidos a una transformación inversa con precisión de bits, habitualmente, aunque no necesariamente, una transformación discreta del coseno inversa (IDCT - Inverse Discrete Cosine Transformation, en inglés) entera, para producir un grano de película con precisión de bits. En algunas circunstancias, el escalado del bloque de coeficientes transformados de manera inversa después del paso 108 resultará útil para variar la intensidad del patrón de grano de película con precisión de bits.
A continuación del paso 108, tiene lugar el paso 110 y el grano de película con precisión de bits que resulta de la transformación mediante IDCT entera (y el escalado, si se realiza) es almacenado en una base de datos 111. Los pasos 102 a 110 se repiten durante la ejecución del bucle iniciado durante el paso 101. El bucle continúa para todos los tamaños y formas posibles de grano de película, con lo cual la ejecución del bucle finaliza durante el paso 112, después de lo cual el método finaliza durante el paso 114.
Para conseguir la precisión de bits, el método de la figura 2 requiere un generador de números aleatorios de Gauss con precisión de bits y operaciones de transformación mediante DCT y DCT inversa con precisión de bits. Conseguir la precisión de bits entre diferentes implementaciones del presente método requiere la utilización de un generador de números aleatorios de Gauss con precisión de bits. Qué generador de números aleatorios de Gauss particular utilizar no es importante siempre que todas las implementaciones utilicen el mismo generador. Como ejemplo, se podría utilizar la aproximación entera de un generador de Gauss con precisión de bits descrito en la publicación “Numerical Recipes in C: The Art of Scientific Computing” (ISBN 0-521-41108-5), que se basa en la transformación de Box-Muller.
Además de un generador de números aleatorios de Gauss de precisión de bits, una implementación con precisión de bits de una transformada discreta del coseno sigue siendo necesaria para proporcionar una precisión de bits para todo el sistema. Las realizaciones ilustradas descritas en el presente documento utilizan una aproximación entera de la DCT. La utilización de cualquier aproximación entera sigue siendo posible si el resultado obtenido mediante la transformación entera se encuentra razonablemente cerca del resultado obtenido por la DCT de coma flotante. Este requisito garantiza que el filtrado realizado en el dominio transformado constituya el filtrado en frecuencia.
En la realización ilustrada, tiene lugar una versión entera de la DCT mediante el escalado de la versión en coma flotante de la DCT. La matriz de N x N de la DCT se puede calcular como:
for ( i = 0; i < N; j++)
for ( j = 0; j <N ; j++)
{
if (i = 0)k = sqrt(l/N);
else k = sqrt(2/N);
C(i j ) = k * cos( ((2*j+l)*i*PI) / (2*N));
}
donde C(i, j) representa el coeficiente de la matriz de transformación en la fila j y la columna i. A continuación, la matriz entera se calcula como:
Figure imgf000006_0001
.
Cint(ij) = round( C(i j) * scaling_factor)
}
donde round(x) devuelve la aproximación al entero más cercano de x, y el valor scaling_factor es un valor entero positivo. El valor del factor de escalado determina la calidad de la aproximación entera de la DCT (cuanto mayor sea el factor de escalado, mejor será la aproximación), así como el número de bits necesarios para calcular la transformada (cuanto menor sea el factor de escalado, menor será la cantidad de bits necesarios).
Una vez que se ha definido la aproximación entera de la DCT, la transformación mediante DCT se calcula como sigue:
B = ((CintT * b * Cint)
Figure imgf000006_0002
» 2 * scalmgjactor
donde CintT designa la versión transpuesta de la matriz de transformación. De manera análoga, la transformación inversa se calcula como sigue:
Figure imgf000006_0003
con factor de escalado igual a 16.
La figura 3 ilustra una segunda implementación de un método según los presentes principios, para crear un patrón de grano de película con precisión de bits. El método de la figura 3 comienza tras la ejecución del paso 200 de inicio durante la cual se produce la inicialización, aunque dicha inicialización no necesariamente tiene que producirse. A continuación, tiene lugar el paso 201, iniciando la entrada en un bucle que se repite para todos los tamaños y formas posibles de grano de película. Tras la entrada en el bucle, se ejecuta el paso 202 para crear un conjunto o imagen de valores aleatorios de Gauss. En la práctica, la imagen aleatoria de Gauss tiene un tamaño de N x N valores. La creación de la imagen de valores aleatorios de Gauss se produce durante la ejecución del método de la figura 3 mediante la lectura de un conjunto de valores aleatorios de Gauss de una tabla de consulta de números aleatorios de Gauss (LUT - Look-Up Table, en inglés) 203.
A continuación, la imagen de valores aleatorios de Gauss obtenida durante el paso 202 es sometida a una transformación con precisión de bits, habitualmente por medio de una operación mediante transformada discreta del coseno (DCT) entera durante el paso 204, aunque existen otras técnicas de transformación con precisión de bits. Los coeficientes de transformada entera establecidos durante el paso 202 son sometidos, a continuación, a un filtrado en frecuencia durante el paso 206. Habitualmente, el filtrado en frecuencia se produce utilizando un conjunto predefinido de frecuencias de corte fHL, fvL, fHH y fvH que representan las frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. A continuación, tiene lugar el paso 208, durante el cual el bloque de coeficientes transformados filtrado en frecuencia es sometido a una transformación inversa con precisión de bits, habitualmente, aunque no necesariamente, una transformación mediante transformada discreta del coseno inversa (IDCT) entera, para producir un patrón de grano de película con precisión de bits. En algunas circunstancias, el escalado del bloque de coeficientes transformados mediante transformada inversa, filtrado en frecuencia, resultará útil.
A continuación, tiene lugar el paso 210, y el patrón de grano de película que resulta de la transformación inversa entera (y del escalado, si se realiza) es almacenado en una base de datos 211. Los pasos 202 a 210 dentro del bucle iniciado durante el paso 201 se repiten para todos los posibles tamaños y formas de grano de película, con lo que la ejecución del bucle finaliza durante el paso 212, después del cual el método termina durante el paso 214. De esta manera, la base de datos 211 almacena una pluralidad de patrones de grano de película para uso futuro en una simulación de grano de película en una señal de video.
En comparación con el método de la figura 2, el método de simulación de grano de película de la figura 3 obvia la utilización de un generador de números aleatorios de Gauss. En su lugar, el método de la figura 3 utiliza la tabla de consulta 203 que contiene valores aleatorios de Gauss calculados previamente. El enfoque simplifica el hardware necesario para la implementación.
La figura 4 ilustra una tercera implementación de un método según los presentes principios para crear un patrón de grano de película con precisión de bits. El método de la figura 4 comienza tras la ejecución del paso 300 de inicio durante el cual se produce la inicialización, aunque dicha inicialización no necesariamente tiene que ocurrir. A continuación, tiene lugar el paso 302 para crear un conjunto o imagen de valores aleatorios de Gauss. En la práctica, la imagen aleatoria de Gauss tiene un tamaño de N x N valores. La creación de la imagen de valores aleatorios de Gauss tiene lugar en el método de la figura 4, mediante la lectura de un conjunto de valores aleatorios de Gauss de una tabla de consulta de números aleatorios de Gauss (LUT) 303. El método utilizado para crear el número aleatorio de Gauss LUT 303 no requiere precisión de bits. Siempre que todas las implementaciones de la creación de la base de datos de patrones de grano de película utilicen la misma LUT, el resultado garantiza la precisión de bits. No obstante, cuando se utiliza un método con precisión de bits para crear dicha LUT, la generación de LUT puede tener lugar al principio del proceso de creación de la base de datos de patrones de grano de película, evitando la necesidad de un almacenamiento permanente de la LUT. Puesto que solo es necesario calcular una transformación (paso 304) para la generación de la base de datos de patrones de grano de película completa, la aleatoriedad de los patrones de grano de película almacenados en la base de datos se reduce en comparación con el resultado obtenido con las implementaciones ilustradas anteriormente (figuras 2 y 4). No obstante, la tercera implementación ilustrada en la figura 4 también tiene menores necesidades de cálculo, lo que resulta útil para implementaciones de hardware y/o en tiempo real. A continuación, la imagen de valores aleatorios de Gauss creados durante el paso 302 es sometida a una transformación con precisión de bits, habitualmente por medio de una operación mediante transformada discreta del coseno (DCT) entera durante el paso 304; aunque existen otras técnicas de transformación con precisión de bits. Después del paso 304, tiene lugar el paso 305, que inicia la entrada en un bucle que se repite para todos los tamaños y formas posibles de grano de película. El paso 306, el primer paso dentro del bucle, inicia el filtrado en frecuencia de los coeficientes de DCT entera establecidos durante el paso 304. Habitualmente, el filtrado de frecuencia se produce utilizando un conjunto predefinido de frecuencias de corte fHL, fVL, fHH y fVH que representan las frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. Después del paso 306, los coeficientes de DCT entera filtrados en frecuencia son sometidos a una transformación inversa con precisión de bits, habitualmente, aunque no necesariamente, una transformación discreta del coseno inversa (IDCT), durante el paso 308, para producir un patrón de grano de película con precisión de bits. En algunas circunstancias, el escalado del patrón de grano de película creado a partir de los coeficientes transformados mediante transformada inversa después del paso 308 resultará útil. A continuación, tiene lugar el paso 310, y el patrón de grano de película es almacenado en una base de datos 311.
Los pasos 306 a 310 dentro del bucle iniciado durante el paso 305 son ejecutados para todos los tamaños y formas posibles de grano de película, con lo que la ejecución del bucle termina durante el paso 312, después de lo cual el método finaliza durante el paso 314. De esta manera, la base de datos 311 almacena patrones de grano de película para todos los tamaños y formas de grano de película.
La figura 5 ilustra una cuarta implementación de un método según los presentes principios para crear un patrón de grano de película con precisión de bits. El método de la figura 5 comienza tras la ejecución del paso 400 de inicio, durante el cual se produce la inicialización, aunque dicha inicialización no necesariamente tiene que ocurrir. A continuación, tiene lugar el paso 402, durante la cual se lee una imagen o conjunto de coeficientes de DCT de una tabla de consulta 403 creada a partir de una imagen de valores aleatorios de Gauss. En la práctica, la imagen de los coeficientes de DCT leídos de la LUT 403 tiene un tamaño de N x N. Por lo tanto, a diferencia de las implementaciones de las figuras 2 a 4 descritas anteriormente, el método de simulación de grano de película de la figura 5 evita la necesidad de realizar una operación de DCT entera separada, puesto que los valores leídos de la LUT 403 ya han sido sometidos a dicha transformación antes de ser cargados en la LUT.
A continuación del paso 402, tiene lugar el paso 405 que inicia la entrada en un bucle que se repite para todos los tamaños y formas posibles de grano de película. El paso 406, el primer paso dentro del bucle, inicia el filtrado en frecuencia de los coeficientes de DCT entera obtenidos durante el paso 402. Habitualmente, tiene lugar el filtrado de frecuencia, utilizando un conjunto predefinido de frecuencias de corte fHL, fVL, fm y fVH que representan las frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. A continuación del paso 406, los coeficientes de DCT entera filtrados en frecuencia son sometidos a una transformación inversa con precisión de bits, habitualmente, aunque no necesariamente, una transformación mediante transformada discreta del coseno inversa (IDCT), durante el paso 408, para producir un patrón de grano de película. En algunas circunstancias, el escalado del bloque de coeficientes transformado mediante transformada inversa después del paso 408 resultará útil. A continuación, tiene lugar el paso 410, y el patrón de grano de película que resulta de la transformación mediante IDCT entera (y el escalado, si se realiza) es almacenado en una base de datos 411.
Los pasos 406 a 410 dentro del bucle iniciado durante el paso 405 se repiten para todos los tamaños y formas posibles de grano de película, con lo que la ejecución del bucle finaliza durante el paso 412, después de lo cual el método finaliza durante el paso 414. De esta manera, la base de datos 411 almacena patrones de grano de película para todos los tamaños y formas de grano de película.
El método de la figura 5 utiliza un único bloque calculado previamente de coeficientes transformados para generar los patrones de grano de película que llenan la base de datos 411. En comparación con las implementaciones anteriores descritas en relación con las figuras 2 a 4, implementación de la figura 5 elimina el paso de realizar una transformación de DCT entera, lo que reduce el coste de cálculo.
La figura 6 ilustra una quinta implementación de un método según los presentes principios para crear un patrón de grano de película con precisión de bits. El método de la figura 6 comienza tras la ejecución del paso 500 de inicio, durante la cual se produce la inicialización, aunque dicha inicialización no necesariamente tiene que ocurrir. A continuación, tiene lugar el paso 501, que inicia la entrada en un bucle que se repite para todos los tamaños y formas posibles de grano de película. El paso 502, el primer paso del bucle inicia la lectura de una imagen de un conjunto de coeficientes de DCT entera de una tabla de consulta (LUT) 503. En la práctica, la imagen des coeficientes de DCT tiene un tamaño de N x N. Al igual que la implementación de la figura 5, la implementación de la figura 6 establece una imagen de coeficientes transformados enteros mediante la obtención de un conjunto de coeficientes de DCT enteros de la LUT 503. En la práctica, los valores en la LUT 503 se originan a partir de una imagen de valores aleatorios de Gauss que posteriormente son sometidos a una DCT entera. De este modo, a diferencia de las implementaciones de las figuras 2 a 4 descritas anteriormente, la implementación de la figura 6, como la de la figura 5, evita la necesidad de ejecutar una DCT entera separada, puesto que los valores leídos en la tabla de consulta 503 ya han sido sometidos a dicha transformación antes de ser cargados en la tabla.
A continuación del paso 502, tiene lugar el paso 506, durante el cual los coeficientes DCT entera son sometidos a un filtrado en frecuencia. Habitualmente, tiene lugar el filtrado de frecuencia, utilizando un conjunto predefinido de frecuencias de corte fHL, fVL, fHH y fVH que representan las frecuencias de corte (en dos dimensiones) de un filtro que caracteriza el patrón de grano de película deseado. A continuación del paso 506, los coeficientes de DCT entera filtrados en frecuencia son sometidos a una transformación inversa con precisión de bits, habitualmente, aunque no necesariamente, una transformación mediante transformada discreta del coseno inversa (IDCT), para producir un patrón de grano de película durante el paso 508. En algunas circunstancias, el escalado del bloque de coeficientes transformado mediante transformada inversa después del paso 508 resultará útil. A continuación, tiene lugar el paso 510, y el bloque de grano de película que resulta de la transformación mediante IDCT entera (y el escalado, si se realiza) es almacenado en una base de datos 511.
Los pasos 502 a 510 dentro del bucle iniciado durante el paso 501 se repiten para todos los tamaños y formas posibles de grano de película, con lo que la ejecución del bucle finaliza durante el paso 512, después de lo cual el método finaliza durante el paso 514. De esta manera, la base de datos 511 almacena patrones de grano de película para todos los tamaños y formas de grano de película.
La implementación de la creación de un patrón de grano de película descrita con respecto a la figura 6, al igual que la implementación de las figuras 2 y 3, utiliza diferentes conjuntos de coeficientes de DCT entera. La utilización de diferentes conjuntos de coeficientes de DCT entera permite la creación de una base de datos más rica de patrones de bloques de película, en comparación con la implementación de las figuras 1, 4 y 5, que utiliza un solo bloque de coeficientes transformados enteros. Aunque la implementación descrita con respecto a las figuras 1, 4 y 5 permite menores necesidades de almacenamiento y de cálculo, dichas implementaciones reducen el rendimiento, debido a que el mismo patrón de ruido sirve como base para generar todos los patrones de grano de película.
Lo anterior describe varias implementaciones diferentes de una técnica para crear al menos uno y, preferiblemente, una pluralidad, de patrones de grano de película, para simular el grano de película en una señal de video.

Claims (17)

REIVINDICACIONES
1. Método para crear un patrón de grano de película, que comprende los pasos de:
(a) establecer un conjunto de coeficientes transformados con precisión de bits (100 a 104, 200 a 204, 300 a 305, 400 a 405, 500 a 502);
(b) filtrar en frecuencia el conjunto de coeficientes transformados con precisión de bits (106, 206, 306, 406, 506); y (c) realizar una transformación inversa con precisión de bits sobre los coeficientes transformados filtrados en frecuencia, para producir un patrón de grano película (108, 208, 308, 408, 508), y caracterizado por que los pasos (a) a (c) se repiten para todos los tamaños y formas posibles de grano de película.
2. Método según la reivindicación 1, caracterizado, además, por el paso de (d) almacenar el patrón de grano de película en una base de datos.
3. Método según la reivindicación 1, caracterizado, además, por el paso de escalar el patrón de grano de película.
4. Método según la reivindicación 1, caracterizado, además, por que el paso de establecer el conjunto de coeficientes transformados con precisión de bits comprende el paso de leer un conjunto de coeficientes transformados mediante transformada discreta del coseno entera, de una base de datos.
5. Método según la reivindicación 1, caracterizado, además, por que el paso de establecer el conjunto de coeficientes transformados con precisión de bits comprende el paso de leer un conjunto de coeficientes transformados mediante transformada discreta del coseno entera, de una base de datos, para todos los tamaños y formas posibles de grano de película.
6. Método según la reivindicación 1, caracterizado, además, por que el paso de establecer el conjunto de coeficientes transformados con precisión de bits comprende los pasos de:
generar una imagen de números aleatorios de Gauss; y
realizar una transformación mediante transformada discreta del coseno entera sobre la imagen de números aleatorios de Gauss.
7. Método según la reivindicación 1, caracterizado, además, por que el paso de establecer el conjunto de coeficientes transformados con precisión de bits comprende los pasos de:
(i) generar una imagen de números aleatorios de Gauss;
(ii) realizar una transformación mediante transformada discreta del coseno entera sobre la imagen de números aleatorios de Gauss; y
(iii) repetir los pasos (i) y (ii) para todos los posibles tamaños y formas de grano de película.
8. Método según la reivindicación 1, caracterizado, además, por que el paso de filtrar en frecuencia utiliza un conjunto predefinido de frecuencias de corte fHL, fvL, fHH y fvH que representan frecuencias de corte, en dos dimensiones, de un filtro que caracteriza el patrón de grano de película deseado.
9. Método según la reivindicación 1, caracterizado, además, por que el paso de realizar una transformación inversa con precisión de bits sobre los coeficientes transformados filtrados en frecuencia comprende el paso de realizar una transformación mediante transformada discreta del coseno inversa.
10. Aparato que comprende uno de un procesador y un circuito lógico (11) exclusivo para crear un patrón de grano de película mediante
(a) establecer un conjunto de coeficientes transformados con precisión de bits (100 a 104, 200 a 204, 300 a 305, 400 a 405, 500 a 502);
(b) filtrar en frecuencia el conjunto de coeficientes transformados con precisión de bits (106, 206, 306, 406, 506); y (c) realizar una transformación inversa con precisión de bits sobre los coeficientes transformados filtrados en frecuencia, para producir un patrón de grano de película (108, 208, 308, 408, 508)
y caracterizado por que los pasos (a) a (c) se repiten para todos los tamaños y formas posibles de grano de película.
11. Aparato según la reivindicación 10, caracterizado, además, por una primera memoria para almacenar patrón de grano de película.
12. Aparato según la reivindicación 10, caracterizado, además, por una segunda memoria para almacenar al menos un conjunto de coeficientes transformados mediante transformada discreta del coseno entera.
13. Aparato según la reivindicación 11, caracterizado, además, por una segunda memoria, para almacenar una pluralidad de conjuntos de coeficientes transformados mediante transformada discreta del coseno entera.
14. Aparato según la reivindicación 10, caracterizado, además, por:
un generador aleatorio de Gauss, para generar una imagen de números aleatorios de Gauss; y
medios para llevar a cabo una transformación mediante transformada discreta del coseno entera sobre la imagen de números aleatorios de Gauss, para producir un conjunto de conjuntos de coeficientes transformados con precisión de bits.
15. Aparato según la reivindicación 10, caracterizado, además, por:
una segunda memoria, para almacenar una imagen de números aleatorios de Gauss; y
medios para realizar una transformación mediante transformada discreta del coseno entera sobre la imagen de números aleatorios de Gauss para producir el conjunto de conjuntos de coeficientes transformados con precisión de bits.
16. Medio legible por ordenador, que comprende instrucciones que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo el método de cualquiera de las reivindicaciones 1 a 9.
17. Aparato según cualquiera de las reivindicaciones 10 a 15, en el que el aparato está incluido en un descodificador.
ES05824623T 2004-11-17 2005-10-26 Método de simulación de grano de película con precisión de bits basado en coeficientes transformados calculados previamente Expired - Lifetime ES2739452T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62883704P 2004-11-17 2004-11-17
PCT/US2005/038802 WO2006055208A1 (en) 2004-11-17 2005-10-26 Bit-accurate film grain simulation method based on pre-computed transformed coefficients

Publications (1)

Publication Number Publication Date
ES2739452T3 true ES2739452T3 (es) 2020-01-31

Family

ID=35789153

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05824623T Expired - Lifetime ES2739452T3 (es) 2004-11-17 2005-10-26 Método de simulación de grano de película con precisión de bits basado en coeficientes transformados calculados previamente

Country Status (18)

Country Link
US (1) US9098916B2 (es)
EP (1) EP1812905B1 (es)
JP (1) JP4965454B2 (es)
KR (1) KR101169826B1 (es)
CN (1) CN101057258A (es)
AU (1) AU2005306936B2 (es)
BR (1) BRPI0517759B1 (es)
CA (1) CA2587117C (es)
ES (1) ES2739452T3 (es)
HU (1) HUE044545T2 (es)
MX (1) MX2007005651A (es)
MY (1) MY140149A (es)
PL (1) PL1812905T3 (es)
PT (1) PT1812905T (es)
RU (1) RU2372659C2 (es)
TR (1) TR201911138T4 (es)
WO (1) WO2006055208A1 (es)
ZA (1) ZA200703946B (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1803303B1 (en) * 2004-10-21 2019-12-04 InterDigital VC Holdings, Inc. Technique for adaptive de-blocking of block-based film grain patterns
CA2587437C (en) 2004-11-22 2015-01-13 Thomson Licensing Methods, apparatus and system for film grain cache splitting for film grain simulation
US8295628B2 (en) * 2006-06-21 2012-10-23 Thomson Licensing Automatic film grain adjustment
US8213500B2 (en) 2006-12-21 2012-07-03 Sharp Laboratories Of America, Inc. Methods and systems for processing film grain noise
JP5251584B2 (ja) * 2009-02-18 2013-07-31 日本電気株式会社 アナログ音声用チェンジオーバ装置及びそれに用いる現用予備切り替え方法
EP2805504A1 (en) * 2012-01-18 2014-11-26 Luca Rossato Distinct encoding and decoding of stable information and transient/stochastic information
US11765372B1 (en) * 2021-06-21 2023-09-19 Amazon Technologies, Inc. Efficient coefficient film grain synthesis for codecs without film grain synthesis
EP4364424A1 (en) 2021-07-01 2024-05-08 InterDigital CE Patent Holdings, SAS A method or an apparatus for estimating film grain parameters
US12705810B2 (en) * 2023-03-16 2026-08-11 Northwestern University Real time film grain rendering and parameter estimation
US20250227305A1 (en) * 2024-01-09 2025-07-10 Tencent America LLC Descriptors for film grain synthesis

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US629180A (en) * 1898-11-21 1899-07-18 Decatur Car Wheel And Mfg Company Journal-box.
US4897775A (en) 1986-06-16 1990-01-30 Robert F. Frijouf Control circuit for resonant converters
US5040211A (en) 1988-10-13 1991-08-13 Massachusetts Institute Of Technology Reliable television transmission through analog channels
US5028280A (en) 1988-12-15 1991-07-02 Matsushita Electric Industrial Co., Ltd. Soft magnetic alloy films having a modulated nitrogen content
US4935816A (en) 1989-06-23 1990-06-19 Robert A. Faber Method and apparatus for video image film simulation
US4998167A (en) 1989-11-14 1991-03-05 Jaqua Douglas A High resolution translation of images
US5262248A (en) 1989-11-17 1993-11-16 Matsushita Electric Industrial Co., Ltd. Soft magnetic alloy films
RU2073913C1 (ru) 1990-09-19 1997-02-20 Н.В.Филипс Глоэлампенфабрикен Носитель записи, способ и устройство для записи информационных файлов и устройство для воспроизведения информации с такого носителя записи
RU2088962C1 (ru) 1990-09-28 1997-08-27 Диджитал Тиатер Системз, Л.П. Звуковая кинопленка, звуковая система для кинофильма на пленке, способ получения аналоговой фонограммы и цифрового идентификатора, положения на кинопленке, способ получения звукового сигнала кинопленки и способ считывания последовательных цифровых данных из цифрового запоминающего устройства
US5386255A (en) 1990-09-28 1995-01-31 Digital Theater Systems, L.P. Motion picture digital sound system and method with primary sound storage edit capability
US5751398A (en) 1990-09-28 1998-05-12 Digital Theater System, Inc. Motion picture digital sound system and method
US5457491A (en) 1990-10-11 1995-10-10 Mowry; Craig P. System for producing image on first medium, such as video, simulating the appearance of image on second medium, such as motion picture or other photographic film
US5374954A (en) 1990-10-11 1994-12-20 Harry E. Mowry Video system for producing video image simulating the appearance of motion picture or other photographic film
US5140414A (en) 1990-10-11 1992-08-18 Mowry Craig P Video system for producing video images simulating images derived from motion picture film
US5687011A (en) 1990-10-11 1997-11-11 Mowry; Craig P. System for originating film and video images simultaneously, for use in modification of video originated images toward simulating images originated on film
US5216556A (en) 1991-04-26 1993-06-01 Digital Equipment Corporation Method for optimized tape tension adjustment for a tape drive
DE69215760T2 (de) 1991-06-10 1998-02-05 Eastman Kodak Co Kreuzkorrelationsausrichtsystem für einen Bildsensor
US5526446A (en) 1991-09-24 1996-06-11 Massachusetts Institute Of Technology Noise reduction system
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
FR2685594B1 (fr) 1991-12-19 1994-01-28 Alcatel Telspace Dispositif de recuperation de rythme pour installation de reception utilisant l'egalisation auto-adaptative a sur-echantillonnage associee a la demodulation differentiellement coherente.
US5335013A (en) 1992-01-16 1994-08-02 Faber Robert A Method and apparatus for video camera image film simulation
US5283164A (en) 1992-06-19 1994-02-01 Eastman Kodak Company Color film with closely matched acutance between different color records
US6327304B1 (en) 1993-05-12 2001-12-04 The Duck Corporation Apparatus and method to digitally compress video signals
US5471572A (en) 1993-07-09 1995-11-28 Silicon Graphics, Inc. System and method for adding detail to texture imagery in computer generated interactive graphics
JPH0757117A (ja) 1993-07-09 1995-03-03 Silicon Graphics Inc テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
DE69431226T2 (de) 1993-09-28 2003-04-17 Canon K.K., Tokio/Tokyo Bildwiedergabegerät
US5461596A (en) 1993-10-26 1995-10-24 Eastman Kodak Company Portfolio photo CD visual/audio display system
US5475425B1 (en) 1994-01-25 2000-07-25 Przyborski Production Apparatus and method for creating video ouputs that emulate the look of motion picture film
US5831673A (en) 1994-01-25 1998-11-03 Przyborski; Glenn B. Method and apparatus for storing and displaying images provided by a video signal that emulates the look of motion picture film
JP3187661B2 (ja) 1994-07-21 2001-07-11 新東工業株式会社 帯電緩和用構造体の製造方法およびその構造体
WO1996013006A1 (en) 1994-10-20 1996-05-02 Mark Alan Zimmer Digital mark-making method
EP0796537A1 (de) 1994-12-06 1997-09-24 CFB Centrum für neue Bildgestaltung GmbH Bildtransferverfahren und -vorrichtung
JPH08163594A (ja) 1994-12-12 1996-06-21 Sony Corp 動画像復号化方法及び動画像復号化装置
US5550815A (en) 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5706361A (en) 1995-01-26 1998-01-06 Autodesk, Inc. Video seed fill over time
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5629769A (en) 1995-06-01 1997-05-13 Eastman Kodak Company Apparatus and method for the measurement of grain in images
CN1158874C (zh) 1995-09-12 2004-07-21 皇家菲利浦电子有限公司 图像信号的混合波形和基于模型的编码和解码
US5817447A (en) 1995-11-08 1998-10-06 Eastman Kodak Company Laser film printer with reduced fringing
US5641596A (en) * 1995-12-05 1997-06-24 Eastman Kodak Company Adjusting film grain properties in digital images
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
GB2312124B (en) 1996-04-12 1998-05-13 Discreet Logic Inc Processing image data
GB9607633D0 (en) 1996-04-12 1996-06-12 Discreet Logic Inc Grain matching of composite image in image
US5845017A (en) 1996-12-17 1998-12-01 Eastman Kodak Company Digital image processing method for degraining of film images using distance weighted averaging of target pixel code values
FR2757587B1 (fr) 1996-12-23 1999-02-26 Valeo Amortisseur de torsion perfectionne et dispositif amortisseur equipe d'un tel amortisseur de torsion
KR100538607B1 (ko) 1997-03-12 2005-12-22 마츠시타 덴끼 산교 가부시키가이샤 부호화방법, 부호화장치 및 기록매체와, 복호화방법, 복호화장치 및 기록매체
US6067125A (en) 1997-05-15 2000-05-23 Minerva Systems Structure and method for film grain noise reduction
US20020171649A1 (en) 1997-07-01 2002-11-21 Fogg Chad Edward Computer system controller having internal memory and external memory control
US6370192B1 (en) 1997-11-20 2002-04-09 Hitachi America, Ltd. Methods and apparatus for decoding different portions of a video image at different resolutions
JP3367407B2 (ja) 1997-12-25 2003-01-14 富士ゼロックス株式会社 画像出力装置、画像処理装置、画像出力方法、画像処理方法、および記録媒体
JPH11250246A (ja) 1998-02-27 1999-09-17 Fuji Photo Film Co Ltd 画像処理方法および装置
US6285711B1 (en) 1998-05-20 2001-09-04 Sharp Laboratories Of America, Inc. Block matching-based method for estimating motion fields and global affine motion parameters in digital video sequences
JP3001502B2 (ja) 1998-05-20 2000-01-24 九州日本電気通信システム株式会社 Atmスイッチモジュール、atmスイッチ容量拡張方法、およびatmルーティング情報設定方法
US6650327B1 (en) 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
US6233647B1 (en) 1998-07-07 2001-05-15 Silicon Graphics, Inc. Hashed direct-mapped texture cache
US6219838B1 (en) 1998-08-24 2001-04-17 Sharewave, Inc. Dithering logic for the display of video information
US6266429B1 (en) 1998-09-23 2001-07-24 Philips Electronics North America Corporation Method for confirming the integrity of an image transmitted with a loss
US6667815B1 (en) 1998-09-30 2003-12-23 Fuji Photo Film Co., Ltd. Method and apparatus for processing images
US6496221B1 (en) 1998-11-02 2002-12-17 The United States Of America As Represented By The Secretary Of Commerce In-service video quality measurement system utilizing an arbitrary bandwidth ancillary data channel
US6963668B2 (en) 1998-11-13 2005-11-08 Lightsurf Technologies, Inc. Method and system for fast image correction
US6724942B1 (en) 1999-05-24 2004-04-20 Fuji Photo Film Co., Ltd. Image processing method and system
US6559849B1 (en) 1999-07-30 2003-05-06 Lucas Digital Ltd. Animation of linear items
US6317216B1 (en) 1999-12-13 2001-11-13 Brown University Research Foundation Optical method for the determination of grain orientation in films
WO2001057797A2 (en) 2000-02-03 2001-08-09 Applied Science Fiction Method, system and software for signal processing using sheep and shepherd artifacts
US20020016103A1 (en) 2000-02-23 2002-02-07 Ralph Behnke Unlocking aid
WO2001074064A1 (en) 2000-03-28 2001-10-04 Koninklijke Philips Electronics N.V. Updating transmitter data stored in a preset channel memory
JP4352105B2 (ja) 2000-04-07 2009-10-28 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション アドバンスドテレビジョンの強化された時相及び解像度の階層化
CA2309002A1 (en) * 2000-05-23 2001-11-23 Jonathan Martin Shekter Digital film grain reduction
JP2001357095A (ja) 2000-06-12 2001-12-26 Fujitsu Ltd 半導体装置設計支援装置
JP2001357090A (ja) 2000-06-13 2001-12-26 Hitachi Ltd 論理合成方法及び論理合成装置
US7286565B1 (en) 2000-06-28 2007-10-23 Alcatel-Lucent Canada Inc. Method and apparatus for packet reassembly in a communication switch
US6868190B1 (en) 2000-10-19 2005-03-15 Eastman Kodak Company Methods for automatically and semi-automatically transforming digital image data to provide a desired image look
US6995793B1 (en) 2000-11-14 2006-02-07 Eastman Kodak Company Video tap for a digital motion camera that simulates the look of post processing
US6839152B2 (en) 2000-12-06 2005-01-04 Xerox Corporation Adaptive filtering method and apparatus for descreening scanned halftoned image representations
US6940993B2 (en) 2000-12-13 2005-09-06 Eastman Kodak Company System and method for embedding a watermark signal that contains message data in a digital image
US6859815B2 (en) 2000-12-19 2005-02-22 Koninklijke Philips Electronics N.V. Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding
US7069208B2 (en) 2001-01-24 2006-06-27 Nokia, Corp. System and method for concealment of data loss in digital audio transmission
US7092016B2 (en) 2001-02-09 2006-08-15 Eastman Kodak Company Method and system for motion image digital processing
US6987586B2 (en) 2001-03-02 2006-01-17 Eastman Kodak Company Method of digital processing for digital cinema projection of tone scale and color
US6876705B2 (en) 2001-03-05 2005-04-05 Intervideo, Inc. Systems and methods for decoding of partially corrupted reversible variable length code (RVLC) intra-coded macroblocks and partial block decoding of corrupted macroblocks in a video decoder
GB2374748A (en) 2001-04-20 2002-10-23 Discreet Logic Inc Image data editing for transitions between sequences
US20030068097A1 (en) 2001-06-15 2003-04-10 Massachusetts Institute Of Technology Adaptive mean estimation and normalization of data
US7958532B2 (en) 2001-06-18 2011-06-07 At&T Intellectual Property Ii, L.P. Method of transmitting layered video-coded information
US6760036B2 (en) 2001-06-27 2004-07-06 Evans & Sutherland Computer Corporation Extended precision visual system
CN1620817A (zh) 2001-07-06 2005-05-25 皇家菲利浦电子有限公司 用受控向量统计特性进行运动估计和补偿
JP3963086B2 (ja) 2001-07-13 2007-08-22 株式会社島津製作所 断層再構成ソフトウエアとその記録媒体と断層撮影装置
US7206459B2 (en) 2001-07-31 2007-04-17 Ricoh Co., Ltd. Enhancement of compressed images
EP1430723B1 (en) 2001-08-24 2007-05-23 Koninklijke Philips Electronics N.V. Adding fields of a video frame
GB2382289B (en) 2001-09-28 2005-07-06 Canon Kk Method and apparatus for generating models of individuals
JP2003163853A (ja) 2001-11-29 2003-06-06 Sanyo Electric Co Ltd ディジタル放送受信装置
JP2003179923A (ja) 2001-12-12 2003-06-27 Nec Corp 動画像圧縮符号化信号の復号システム及び復号方法,復号用プログラム
JP3977661B2 (ja) 2002-02-26 2007-09-19 株式会社メガチップス フィルタ係数変換方法、フィルタ係数変換装置
US7856055B2 (en) 2002-03-13 2010-12-21 Imax Corporation Systems and methods for digitally re-mastering or otherwise modifying motion pictures or other image sequences data
US7174047B2 (en) 2002-03-29 2007-02-06 Matsushita Electric Industrial Co., Ltd. Single-instruction multiple-data (SIMD)-based algorithms for processing video data
US20030206662A1 (en) 2002-05-03 2003-11-06 Avinash Gopal B. Method and apparatus for improving perceived digital image quality
US7065255B2 (en) 2002-05-06 2006-06-20 Eastman Kodak Company Method and apparatus for enhancing digital images utilizing non-image data
US7064755B2 (en) 2002-05-24 2006-06-20 Silicon Graphics, Inc. System and method for implementing shadows using pre-computed textures
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
JP2004120057A (ja) 2002-09-24 2004-04-15 Sharp Corp 放送受信装置
JP2004135169A (ja) 2002-10-11 2004-04-30 Fujitsu Ten Ltd デジタル放送受信装置
US7106907B2 (en) 2002-10-18 2006-09-12 Mitsubishi Electric Research Laboratories, Inc Adaptive error-resilient video encoding using multiple description motion compensation
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US20040179610A1 (en) 2003-02-21 2004-09-16 Jiuhuai Lu Apparatus and method employing a configurable reference and loop filter for efficient video coding
CN1283505C (zh) 2003-03-10 2006-11-08 袁为国 机动车加速、制动组合踏板
EP1611740B1 (en) * 2003-04-10 2012-11-21 Thomson Licensing Technique for simulating film grain on encoded video
EP1627359B1 (en) 2003-05-15 2018-11-28 Thomson Licensing Method and apparatus for representing image granularity by one or more parameters
US7245783B2 (en) 2003-06-24 2007-07-17 Eastman Kodak Company System and method for estimating, synthesizing and matching noise in digital images and image sequences
CA2537000C (en) * 2003-08-29 2011-11-15 Thomson Licensing Method and apparatus for modeling film grain patterns in the frequency domain
EP1511320A1 (en) 2003-09-01 2005-03-02 Matsushita Electric Industrial Co., Ltd. Film grain encoding
JP2005080301A (ja) 2003-09-01 2005-03-24 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
WO2005034517A1 (en) 2003-09-17 2005-04-14 Thomson Licensing S.A. Adaptive reference picture generation
CN100574433C (zh) 2003-09-23 2009-12-23 汤姆森特许公司 用于减少视频流中的伪像的方法和装置
BRPI0414647A (pt) 2003-09-23 2006-11-14 Thomson Licensing técnica para simular grão de filme usando filtração de freqüência
JP5100121B2 (ja) 2003-09-23 2012-12-19 トムソン ライセンシング 事前に計算されたサンプルをモザイキングすることでフィルムグレインをシミュレートするための方法
CA2540852C (en) 2003-10-14 2013-07-09 Thomson Licensing Technique for bit-accurate film grain simulation
US7680356B2 (en) 2003-10-14 2010-03-16 Thomson Licensing Technique for bit-accurate comfort noise addition
US7362911B1 (en) 2003-11-13 2008-04-22 Pixim, Inc. Removal of stationary noise pattern from digital images
RU2346330C2 (ru) 2003-12-05 2009-02-10 Томсон Лайсенсинг Методика имитации зернистости пленки с помощью базы данных узоров зернистости пленки
RU2367020C2 (ru) 2004-03-19 2009-09-10 Конинклейке Филипс Электроникс Н.В. Введение и выделение начального числа, связанного с телевизионным сигналом для создания псевдослучайного шума
US8150206B2 (en) 2004-03-30 2012-04-03 Thomson Licensing Method and apparatus for representing image granularity by one or more parameters
WO2006022705A1 (en) 2004-08-10 2006-03-02 Thomson Licensing Apparatus and method for indicating the detected degree of motion in video
KR101218242B1 (ko) 2004-10-18 2013-01-04 톰슨 라이센싱 필름 그레인 시뮬레이션을 위한 방법, 장치 및 시스템
CN101044510B (zh) 2004-10-18 2012-01-04 汤姆森特许公司 胶片颗粒模拟方法
US7400784B2 (en) 2004-10-19 2008-07-15 Institut National De L'audiovisuel-Ina Search of similar features representing objects in a large reference database
EP1803303B1 (en) 2004-10-21 2019-12-04 InterDigital VC Holdings, Inc. Technique for adaptive de-blocking of block-based film grain patterns
US7738561B2 (en) 2004-11-16 2010-06-15 Industrial Technology Research Institute MPEG-4 streaming system with adaptive error concealment
ES2381982T3 (es) * 2004-11-16 2012-06-04 Thomson Licensing Método de simulación del grano de película basado en coeficientes de transformación previamente generados por ordenador
EP1815688B1 (en) 2004-11-23 2009-07-01 Thomson Licensing Low-complexity film grain simulation technique
US7653132B2 (en) 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
US8013888B2 (en) 2005-02-14 2011-09-06 Broadcom Corporation Method and system for implementing film grain insertion
US7432986B2 (en) 2005-02-16 2008-10-07 Lsi Corporation Method and apparatus for masking of video artifacts and/or insertion of film grain in a video decoder
JP4914026B2 (ja) 2005-05-17 2012-04-11 キヤノン株式会社 画像処理装置及び画像処理方法
US7596239B2 (en) 2005-08-02 2009-09-29 Lsi Corporation Method and/or apparatus for video watermarking and steganography using simulated film grain
US7664337B2 (en) 2005-12-20 2010-02-16 Marvell International Ltd. Film grain generation and addition
WO2008045419A1 (en) 2006-10-10 2008-04-17 Pharmasset, Inc. Preparation of nucleosides ribofuranosyl pyrimidines
JP4097681B1 (ja) 2007-02-01 2008-06-11 日本航空電子工業株式会社 コネクタ

Also Published As

Publication number Publication date
HUE044545T2 (hu) 2019-10-28
AU2005306936B2 (en) 2011-02-10
TR201911138T4 (tr) 2019-08-21
US9098916B2 (en) 2015-08-04
US20070269125A1 (en) 2007-11-22
BRPI0517759B1 (pt) 2017-09-12
JP2008521345A (ja) 2008-06-19
MY140149A (en) 2009-11-30
CA2587117A1 (en) 2006-05-26
AU2005306936A1 (en) 2006-05-26
RU2007122487A (ru) 2008-12-27
PT1812905T (pt) 2019-08-06
BRPI0517759A (pt) 2008-10-21
ZA200703946B (en) 2008-08-27
KR101169826B1 (ko) 2012-08-03
KR20070084287A (ko) 2007-08-24
WO2006055208A1 (en) 2006-05-26
JP4965454B2 (ja) 2012-07-04
EP1812905A1 (en) 2007-08-01
MX2007005651A (es) 2007-06-05
PL1812905T3 (pl) 2019-10-31
RU2372659C2 (ru) 2009-11-10
CN101057258A (zh) 2007-10-17
CA2587117C (en) 2014-02-11
EP1812905B1 (en) 2019-07-03

Similar Documents

Publication Publication Date Title
ES2907226T3 (es) Método y aparato para representar la granularidad de una imagen mediante uno o más parámetros
JP4829893B2 (ja) 低計算量のフィルム粒子シミュレーション技術
ES2381982T3 (es) Método de simulación del grano de película basado en coeficientes de transformación previamente generados por ordenador
US9098916B2 (en) Bit-accurate film grain simulation method based on pre-computed transformed coefficients