INICIALIZACION DE SE MILLA EXACTA DE BITS PARA GENERADORES DE NÚMERO PSEUDO-ALEATORIO UTILIZADOS EN UN SISTEMA DE VIDEO
Referencia Cruzada con Solicitudes Relacionadas La solicitud reclama la prioridad de la Solicitud Provisional de Patente de Estados Unidos No. de Serie 60/628,500, presentada el 16 de noviembre de 2004 y titulada "BIT ACCURATE SEED INITIALIZATION FOR PSEUDO-RANDOM NUMBER GENERATORS USED IN A VIDEO SYSTEM" (IN ICIALIZACIÓN DE SEMI LLA EXACTA DE BITS PARA GEN ERADORES DE N ÚMERO PSEUDO-ALEATORIO UTI LIZADOS EN UN SISTEMA DE VIDEO) , la cual se incorpora aquí en su totalidad como referencia.
Cam po de la Invención La presente invención, en general, se relaciona con codificadores de video y decodificadores de vídeo y más en particular, a la ¡nícialízación de semilla exacta de bits para generadores de número pseudo-aleatorio (PRNG) utilizados para la simulación de grano de película en sistemas de video.
Antecedentes de la Invención El grano de película se forma en imágenes de películas durante el proceso de revelado. El grano de pel ícula es claramente visible en imágenes de alta definición (HD) y se vuelve una consideración distintiva del cine que es muy deseable conservar a través de todo el procesamiento
de ¡magen y de la cadena de entrega. Sin embargo, la conservación del grano de película es un reto pa ra los codificadores actuales ya que las ganancias de compresión relacionadas con la predicción temporal no se pueden explotar. Debido a ia naturaleza aleatoria del grano, la codificación sin pérdida visual solamente se puede alcanzar a altas velocidades de bits. Los codificadores de pérdida tienden a suprimir el grano de película cuando se filtran a altas frecuencias típicamente asociadas con las texturas de ruido y finas. El manejo de grano de pel ícula (FGM) se ha presentado como una nueva forma para codificar el grano en una película cinematográfica por medio de un modelo con parámetros a ser transmitido como información paralela. Para dar soporte a FGM, la enmienda de extensión de rango de fidelidad (FRExt) para la norma ITU-T Rec. H.264/ISO/I EC • 14496-1 0 /MPEG-4 AVC / Joint Video Team (JVT) (de aquí en adelante "norma H .264) se ha definido un mensaje de información de mejora complementaria (S El) sobre las características del grano de película. El mensaje SE l describe las características del grano de película con respecto a los atributos como tamaño e intensidad y permite al decodificador de video simular la vista del grano de película sobre una imagen decodifícada. La norma H.264 especifica los parámetros presentes en el mensaje SEl de las características del grano de película, la forma de interpretarlos y la sintaxis a ser utilizada para codificar el mensaje SEl en un formato binario. Sin embargo, la norma H .264 no específica el procedimiento exacto para simular el grano de película luego de recibir el mensaje SEl de las características del grano de película. Se debe apreciar
que FCT se puede utilizar junto con otro método de codificación de video, ya que utiliza la información paralela, transmitida desde un codificador, que no afecta el proceso de decodificación. En la FGM el codificador modela el grano de película de la secuencia de video y el decodificador simula el grano de película de conformidad con la información recibida. El codificador puede utilizar la FGM para mejorar la calidad del video comprimido cuando existe la dificultad para retener el grano de película. Además, el codificador tiene la opción para remover o atenuar el grano antes de decodificarlo con el fin de reducir la velocidad de bits. La simulación de grano de película se dirige a sintetizar las muestras de grano de película que simulan la vista el contenido original de la película. A diferencia del modelado del grano de película, que se realiza por completo en el codificador, la simulación de grano de película se lleva a cabo en el decodificador. La simulación de grano de película se realiza después de decodíficar la corriente de video y antes del despliegue. Las imágenes con grano de película añadido no se utilizan dentro del proceso de decodificación. AI ser un método de post-procesamíento, la síntesis del grano de película simulado en las imágenes decodificadas para el proceso de despliegue no se especifica en la norma H.264. El proceso de simulación de grano de película incluye la decodifícación de la información complementaria del grano de película, transmitida en el mensaje SEl de las características de grano . de película, según se especifica por la Enmienda de Extensiones de Rango de Fidelidad de la norma H.264. De este modo se debe apreciar que la simulación de grano de
película es una tecnología relativamente nueva utilizada en la postproducción para simular el grano de película en un material generado por computadora, así como durante l a restauración de viejas películas. Para estas aplicaciones, existe a la venta un software llamado Cineon® de Eastman Kodak Co, Rochester, NY y Grain Surgery™ de Visual Infinity. Estas herramientas por lo genera l operan con base en la Interacción y son complejas para implementar, lo cual las hace poco apropiadas para las aplicaciones de codificación en tiempo real. Además, ninguna de estas herramientas tiene la capacidad de interpretar el mensaje SEl de características de grano de pel ícula como se especifica por la norma H .264. Ahora, se proporciona una descripción con respecto a la inicialización del generador de número pseudo-aleatorio (PRNG) de conformidad con la técnica previa . En las técnicas previas para llevar a cabo la simulación de grano de película en sistemas HD DVD, la exactitud de bits solamente se alcanzaba durante el modo de reproducción normal, esto es, cuando el proceso de simulación de grano de película empezaba al inicio de la secuencia y no era interrumpido durante todos los procesos de decodíficación. Durante la reproducción del modo de truco, el PRNG utilizado para la simulación de grano de película puede estar en un estado diferente que durante la reproducción normal, lo que da como resultado en una reproducción de grano de película no exacta de bits. Esto significa que la misma imagen tendrá un grano diferente dependiendo de sí ha sido decodificada durante la reproducción normal o durante la reproducción del modo de truco (como
avanzado rápido o saltos). Mientras esto no es un problema a partir del punto de vista de calidad visual (i ncluso cuando el grano de película no es exacto de bits, con frecuencia visualmente es el mismo), se vuelve relevante para algunas implementaciones de hardware o de software, ya que sin la exactitud de bits es imposible comparar un resultado obtenido contra un resultado de referencia. De esta manera, en las técnicas previas, la diferencia en la reproducción del grano de película era debida al estado diferente del PRNG en un cuadro determinado, dependiendo de la forma en que se alcanzara el cuadro (reproducción normal o reproducción del modo de truco). Esto significa que incluso cuando se utilicen los mismos parámetros en una imagen determinada, cuando el estado del PRNG no es el mismo, se inserta un grano diferente. Con base en el mensaje de información de mejora complementaria (SEl) antes mencionado, varias medidas de la técnica previa se han desarrollado relacionadas con las especificaciones para simular el grano de película. Estas medidas de la técnica previa se dirigen a aplicaciones de alta calidad y proporcionan gran flexibilidad en la simulación de diferentes patrones de grano de pel ícula en los componentes luma y croma con un pequeño incremento en el costo de computación. Sin embargo, durante la reproducción de modo de truco, como avanzado rápido o saltos, estas medidas de la técnica previa no proporcionan una exactitud de bits y una norma H .264 compatible con el proceso de simulación de grano de película. De conformidad con esto, sería deseable y muy conveniente contar
con métodos y aparatos para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) utilizado para simular el grano de película en un sistema de video. Tales métodos y aparatos deben permitir la simulación de grano de película que sea exacta de bits y compatible con la norma H.264.
Breve Descripción de la Inven ción Estas y otras desventajas de la técnica previa se solucionan con la presente invención, la cual está dirigida a la iniclallzaclón de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) utilizado para simular el grano de película en un sistema de video. La presente invención con ventaja, permite la simulación de grano de película que es tanto exacta de bits como compatible con la norma H.264. De conformidad con un aspecto de la presente invención, se proporciona- un método para inicializar una semilla del generador de número pseudo-aleatorio (PRNG) para usarse en un sistema de video. El método incluye los pasos de crear una tabla de consulta de semillas PRNG e inicializar una de las semillas PRNG desde la tabla de consulta para una imagen al tener acceso a la tabla de consulta con el uso de un valor correspondiente a un orden de la imagen. De conformidad con otro aspecto de la presente invención, se proporciona un método para inicializar una semilla del generador de número pseudo-aleatorlo (PRNG) para una simulación de grano de película. El método incluye los pasos de crear una tabla de consulta de semillas PRNG, e ¡nicializar una de las semillas PRNG desde la tabla de
consulta para una imagen al tener acceso a la tabla de consulta con el uso de por lo menos un valor de información complementaria. De conformidad con otro aspecto de la presente Invención, se proporciona un método para transmitir por lo menos un valor utilizado para derivar una semilla del generador de número pseudo-aleatorio (PRNG). El método incluye el paso de transmitir el por lo menos un valor como información complementarla. También, en otro aspecto de la presente Invención, se proporciona un método para transmitir una semilla de generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película. El método Incluye el paso de transmitir la señal PRNG para la simulación de grano de pel ícula en un campo de datos del usuario, en donde el campo de datos del usuario corresponde a un campo de datos del usuario no codificado de la norma H.264. De conformidad con aún otro aspecto de la presente invención, se proporciona un aparato para inicializar una semilla del generador de número pseudo-aleatorio (PRNG) para usarse en un sistema de vídeo. El aparato incluye un simulador de grano de película para crear una tabla de consulta de semillas PRNG e ¡nicíallzar una de las semillas PRNG desde la tabla de consulta para una imagen al tener acceso a la tabla de consulta con el uso de un valor correspondiente al orden de la ¡magen. En otro aspecto adicional de la presente invención , se proporciona un aparato para ¡nlcializar una señal del generador de número pseudoaleatorio (PRNG) para la simulación de grano de película. El aparato incluye un simulador de grano de película para crear una tabla de consulta
de semillas PRNG , e ¡nicializar una de las semillas PRNG desde la tabla de consulta para una imagen, al tener acceso a la tabla de consulta con el uso de por lo menos un valor de i nformación complementaria. De conformidad con otro aspecto de la presente invención, se proporciona un aparato para transmitir por lo menos un valor utilizado para derivar la semilla del generador de número pseudo-aleatorio (PRNG): El aparato incluye un modelador de grano de película para transmitir el por lo menos un valor como información complementaria. De conformidad con otro aspecto adicional de la presente invención, se proporciona un aparato para transmitir la semilla del generador de número pseudo-aleatorlo (PRNG) para la simulación de grano de película. El aparato incluye un modelador de grano de película para transmitir la semilla PRNG para la simulación de grano de película en un campo de datos del usuario, el campo de datos del usuario corresponde a un campo de datos del usuario no codificado en la norma H .264. Estos y otros aspectos, características y ventajas de la presente invención serán evidentes a partir de la siguiente descripción detallada de las modalidades ejemplificativas, que se lee en conexión con los dibujos acompañantes.
Breve Descri pción de los Dibujos La presente invención se podrá comprender mejor al considerar la siguiente descripción detallada junto con los dibujos acompañantes, en los cuales: La Figura 1 ¡lustra un diagrama en bloque de la cadena de
procesamiento del manejo de grano de película (FGM) en la cual se puede aplicar la presente invención. La Figura 2 es un diagrama de flujo que ilustra un método para la
¡niclalización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video de conformidad con los principios de la presente invención. La Figura 3 es un diagrama que ilustra la computación de índice de la tabla de consulta ejemplificativa (LUT) de conformidad con los principios de la presente invención. La Figura 4 es un diagrama de flujo que ilustra otro método para la iniclalizaclón de semilla exacta de bits para el generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video de conformidad con los principios de la presente invención. La Figura 5 es un diagrama que ilustra otras computaciones de índice de la tabla de consulta ejemplificativa (LUT) de conformidad con los principios de la presente invención. La Figura 6 es un diagrama que ¡lustra otras computaciones de índice de la tabla de consulta (LUT) ejemplificativa de conformidad con los principios de la presente Invención . La Figura 7 es un diagrama de flujo que ¡lustra otro método para la inicialización de semilla exacta de bits para el generador de número pseudo-aleatorio (PRNG) para la simulación de grano de pel ícula en un sistema de video de conformidad con los principios de la presente
invención. La Figura 8 es un diagrama de flujo que ilustra otro método para la
¡nicialización de semilla exacta de bits para el generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video de conformidad con los principios de la presente invención. La Figura 9 es un diagram a de flujo que ilustra otro método para la
¡nicialización de semilla exacta de bits para el generador de número pseudo-aleatorio (PRNG) para la simulación de grano de pel ícula en un sistema de video de conformidad con los principios de la presente invención. La Figura 1 0 es un diagrama de flujo que ilustra un método adicional para la ¡niclalización de la semi lla exacta de bits para un generador de número pseudo-aleatorlo (PRNG) para la simulación de grano de película en un sistema de video de conformidad con los principios de la presente invención. La Figura 1 1 es un diagrama de flujo que ilustra otro método adicional para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video de conformidad con los principios de la presente invención.
Descripción Detal lada de la Invención La presente invención está dirigida a la ¡nlciallzaclón de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG)
utilizado para simular el grano de película en un sistema de video. La presente invención se puede emplear para inicializar una semilla PRNG , por ejemplo, después de la recepción de un mensaje de Información de mejora complementaria (SEl) y al inicio de cada ¡magen antes de realizar la simulación de grano de película. Con ventaja, la presente invención permite la simulación de grano de película que es tanto exacta de bits como compatible con la norma H.264. Además, la presente invención con ventaja, se puede utilizar para la simulación de grano de película durante la reproducción normal y durante la reproducción del modo de truco. Esto es, a diferencia de la técnica previa, el estado del PRNG es el mismo, independiente del modo de reproducción (por ejemplo, reproducción normal, reproducción del modo de truco) . La simulación de grano de película se realiza después de decodificar la corriente de bits de video y antes del despliegue de píxel. El proceso de simulación de grano de película puede involucrar la decodiflcación de la información complementaria del grano de película transmitida, por ejemplo, en un mensaje SEl del grano de película como se especifica por la Enmienda FRExt para la norma H .264. La presente descripción ilustra los principios de la presente invención. Las personas experimentadas en la técnica podrán apreciar que varios arreglos que aunque no se describen o muestran explícitamente, incorporan los principios de la invención y están incluidos dentro de su espíritu y su alcance. Todos los ejemplos y el lenguaje condicionado utilizados aquí tienen
la intención de ser ilustrativos para ayudar al lector a entender los principios de la invención y los conceptos proporcionados por el inventor para mejorar la técnica, y se deben considerar sin limitación para los ejemplos y condiciones descritos específicamente. Además, todas las declaraciones que describen principios, aspectos y modalidades de la invención, así como los ejemplos específicos de la misma, tienen la intención de abarcar los equivalentes estructurales o funcionales de la misma. Además, se tiene la intención de que tales equivalentes incluyan los equivalentes conocidos actualmente así como los equivalentes desarrollados en el futuro, es decir, cualquier elemento desarrollado que realiza la misma función, sin importar su estructura. De este modo, por ejemplo, las personas experimentadas en la técnica podrán apreciar que los diagramas en bloque presentados aquí representan vistas conceptuales de la circuitería ilustrativa que incorpora los principios de la invención. De manera similar, se debe apreciar que cualquier diagrama de flujo, diagramas de transición de estado, pseudocódlgos y sus semejantes representan varios procesos que se pueden representar esencialmente en un medio legible por computadora y ejecutarse por una computadora o un procesador, ya sea que la computadora o procesador sea o no mostrado explícitamente. Las funciones de los diferentes elementos mostrados en las Figuras pueden ser provistos con el uso de un hardware dedicado así como con un hardware con la ejecutar un software asociado con un software apropiado. Cuando es provisto por un procesador, las funciones pueden ser proporcionadas por un único procesador dedicado, mediante un procesador
compartido o por una pluralidad de procesadores individuales, algunos de los cuales pueden estar compartidos. Además, el uso explícito del término "procesador" o "controlador" no se debe considerar como refiriéndose exclusivamente a un hardware con la capacidad de ejecutar software y pueden implícitamente incluir, sin limitación, un hardware procesador de señal digital ("DSP") , una memoria de solamente lectura ("ROM") para almacenar el software, una memoria de acceso aleatorio ("RAM") , y un almacenamiento no volátil. También se puede Incluir otro hardware convencional y/o acostumbrado. De manera similar, los conmutadores mostrados en las Figuras son únicamente conceptuales. Su función se puede llevar a cabo a través de la operación de un lógico de programa, a través de un lógico dedicado, a través de la interacción de un control de programa y un lógico dedicado o incluso en forma manual, cuando la técnica particular seleccionada por el desarrollador es más específica para el contexto. En las reivindicaciones aqu í descritas, cualquier elemento expresado como un medio para llevar a cabo una función específica tiene la intención de abarcar cualquier forma para llevar a cabo esa función, incluyendo por ejemplo A) una combinación de elementos de circuito que llevan a cabo esa función; B) software en cualquier forma, incluyendo, por lo tanto, fírmware, microcódigos o sus similares, combinados con la circuitería apropiada para ejecutar el software para llevar a cabo la función. La invención , como se define por las reivindicaciones reside en el hecho de que las funcionalidades provistas por los diferentes medios descritos están combinadas y se pueden alcanzar en la forma en que lo describen las
reivindicaciones. El solicitante, por lo tanto agradece cualquier medio que pueda proporcionar estas funciones, como equivalentes de los mostrados aquí. Con referencia a la Figura 1 , una cadena de procesamiento del Manejo de Grano de Película (FGM) a la cual se puede aplicar la presente Invención, se indica por lo general con el número de referencia 1 00. La codificación de procesamiento FGM incluye un transmisor 1 10 y un receptor 1 50. El transmisor puede incluir un removedor 1 1 2 de grano de película, un codificador 1 14 de video y un modelador 1 1 6 de grano de película. El receptor 1 50 incl uye un decodlficador 152 de video, un simulador 1 54 de grano de película y un combinador 1 56 (tal como el dispositivo sumador, pero también se contemplan otros medios para combinar la salida del decodiflcador 152 de video y del simulador 154 de grano de película, dentro del alcance de la invención). Una entrada del transmisor 1 10 se conecta en comunicación de señal con una entrada del removedor 1 12 del grano de película y una primera entrada del modelador 1 16 de grano de película. Una salida del removedor 1 12 del grano de película se conecta en comunicación de señal con una entrada del codificador 1 14 de video y una segunda entrada del modelador 1 1 6 de grano de película. Una salida del codificador 1 14 de video está disponible como una primera salida del transmisor 1 10. Una salida del modelador 1 16 de grano de pel ícula está disponible como una segunda salida del transmisor 1 10. La primera salida del transmisor 1 10 se conecta en comunicación de señal con una primera entrada del receptor 1 50. La segunda salida del transmisor 1 1 0 se conecta en comunicación de señal
con una segunda entrada del receptor 150. La primera entrada del receptor 1 50 se conecta en comunicación de señal con una entrada del decodificador 1 52 de video. La segunda entrada del receptor 150 se conecta en comunicación de señ al con una primera entrada del simulador 1 54 de grano de película. Una primera salida del decodlficador 152 de video se conecta en comunicación de señal con una segunda entrada del simulador 154 de grano de película. Una segunda salida del decodlficador 1 52 de video se conecta en comunicación de señal con una primera entrada del combinador 1 56. Una salida del simulador de grano de película se conecta en comunicación de señal con una segunda entrada del combinador 1 56. Una salida del combinador 156 está disponible como una salida del receptor 150. Se debe apreciar que en algunas modalidades de la presente invención, las semillas PRNG para la simulación de grano de pel ícula se generan en el receptor 1 50 (en particular, por el simulador 1 54 de grano de película), mientras en otras modalidades, las semillas PRNG para la simulación de grano de películ a se generan en el transmisor 1 1 0 (en particular, por el modelador 1 16 de grano de película) y se transmiten al receptor 150 para usarse por el mismo. Además, en otras modalidades, la semilla PRNG generada en el transmisor 1 10 se envía al receptor 150 para combinarla con una semilla PRNG generada en el receptor 1 50 para obtener u na nueva semilla PRNG usarse en la ¡magen actual para la cual se realizará la simulación de grano de película. De este modo, con propósitos ilustrativos, tanto el modelador 1 16 de grano de película como el simulador 1 54 de grano de película mostrados en la Figura 1 , incluyen
un generador 199 de número pseudo-aleatorlo para usarse de conformidad con los principios de la presente invención. Por supuesto, dependiendo de la modalidad, solamente uno del modelador 116 de grano de película y el simulador 154 de grano de película necesitan incluir al PRNG. Dadas las enseñanzas de la presente invención aquí provistas, las personas experimentadas en la técnica y técnicas relacionadas contemplarán estas y otras variaciones en el transmisor y en el receptor (y en particular, en un modelador de grano de película y en un simulador de grano de película), mientras se mantienen dentro del espíritu de la presente invención. Con respecto a la técnica previa, para resolver la diferencia antes mencionada en la técnica previa, con referencia al estado del generador de número pseudo-aleatorio (en particular, cuando se cambia de la reproducción normal a la reproducción del modo de truco) y el problema de la técnica previa resultante, de insertar un grano diferente, se propone un método exacto de bits para inlclalizar una semilla PRNG al inicio de cada' imagen que no depende del modo de reproducción. Los métodos exacto de bits aquí descritos de conformidad con los principios de la presente invención con ventaja también son compatibles con la norma H.264. Ahora, se proporciona una descripción relacionada con una primera modalidad ilustrativa de conformidad con los principios de la presente invención. La primera modalidad Ilustrativa se describe primero y después es seguida por otra descripción del método correspondiente mostrado y descrito con respecto a la Figura 1 y se muestra y describe un ejemplo del mismo con respecto a la Figura 3. Una tabla de consulta (LUT) de semillas se define como sigue:
LUT = (semilla0, semilla-, , semilla2 semilla,...,) en donde semilla! es una semilla posible para el PRNG y L es el número de posibles semillas. Aunque no es obligatorio, para asegurar una característica aleatoria apropiada, L debe ser igual o mayor que la distancia máxima (en imágenes) entre los mensajes SEl de grano de película consecutivos. En una modalidad particular, en donde se utiliza un registro de 32 bits para implementar el PRNG, la semilla! será un valor entero de 32 bits. Entonces, la semilla PRNG se ajusta al siguiente valor al i nicio de una ¡magen (en el tiempo t): Semilla(t) = LUT ((POC)(t) + desplazamiento %L). en donde POC(t) es la cuenta del orden de la imagen en el tiempo t como se define en la norma H.264, L es la longitud de la tabla de consulta y desplazamiento es un valor ajustado luego de recibir el nuevo mensaje SEl de grano de película. Con ei fin de evitar la repetición de la misma secuencia de índices cuando se tiene acceso a la LUT, L puede ser Igual a un número primo tal como 61 ó 127. En la primera modalidad ilustrativa, el desplazamiento es como sigue: desplazamiento = 0 Esto proporcionar una forma muy sencilla para determinar la semilla
PRNG , ya que solamente se necesita la POC de la imagen actual, que ya es conocida por el decodificador. Además debido a que la cuenta de orden de la ¡magen (POC) de una ¡magen determinada siempre será la misma a pesar de la forma en que se alcance la imagen, se utilizará la misma
semilla en cualquier modo de reproducción. Con referencia a la Figura 2, un método para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video se Indica, por lo general, con el número 200 de referencia. El método 200 incluye un bloque 202 de inicio que pasa el control a un bloque 205 de función. El bloque 205 de función especifica una tabla de consulta de semillas como sigue: LUT = (semilla0, semilla^ semilla2, ... , semilla,.--,) y pasa el control a un bloque 21 0 de función. El bloque 21 0 de función ajusta la semilla PRNG con el siguiente valor al inicio de la imagen (en el tiempo t). semilla(t) = LUT(POC(t) + desplazam¡ento)%L) . También, con respecto al bloque 210 de función, el desplazamiento es como sigue: desplazamiento = 0 y el control se pasa a un bloque 215 de fin. Con referencia a la Figura 3, un ejemplo de una computación de índice de tabla de consulta (LUT) se indica, por lo general, con el número 300 de referencia. En particular, la computación del índice LUT es para el caso en donde L = 61 y el desplazamiento = 0. Ahora se proporciona una descripción con respecto a la segunda modalidad ilustrativa de conformidad con los principios de la presente invención. La segunda modalidad ilustrativa se describe primero y después es seguida por otra descripción de un método correspondiente
mostrado y descrito con respecto a la Figura 4, y cuyos ejemplos se muestran y describen con respecto a las Figuras 5 y 6. Para las secuencias con reajustes POC frecuentes, la medida previa descrita con respecto a la Figura 2 no es muy eficiente, ya que la misma secuencia de semillas será re-uti lizada en los cuadros consecutivos. Para esos casos, la segunda modalidad ilustrativa se describe en donde el desplazamiento es igual al valor POC de la imagen, en donde el mensaje
S E l de grano de película se inserta antes de reajustar el POC, como sigue: desplazamiento = POC(tFG SEI) Esta medida es un poco más compleja (utiliza dos POC) pero produce una secuencia diferente de semillas incluso después del reaj uste del POC; dado que los reajustes no ocurren a un paso estable. Con referencia a la Figura 4, se muestra un método para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video, el cual se indica por lo general, con el número 400 de referencia. El método 400 incluye un bloque 402 de inicio que pasa el control a un bloque 405 de función. El bloque 405 de función especifica una tabla de consulta de semillas como sigue: LUT = (semilla0, semilla^ semilla2, ... , semilla -?) y pasa el control a un bloque 41 0 de función. El bloque 41 0 de función ajusta la semilla PRNG con el siguiente valor al inicio de una imagen (en el tiempo t), en donde el mensaje SEl de grano de película se inserta antes de reajustar la POC como sigue:
semllla(t) = LUT((POC(t) + desplazamiento)%L) . Además con respecto al bloque 41 0 de función, el desplazamiento es como sigue: desplazamiento = POC(tFG S E I) - en donde como se observó antes, POC (TFG SE)) es igual al valor de
POC de la ¡magen en donde se insertó el mensaje SEl de grano de película antes de reajustar el POC. El bloque 41 0 de función entonces pasa el control a un bloque 415 de fin. Con referencia ahora a las Figuras 5 y 6, los ejemplos de computaciones de índice de la tabla de consulta (LUT) se indican, por lo general , con los números 500 y 600 de referencia, respectivamente. En particular, la Figura 5 representa una computación de índice LUT para L=61 , desplazamiento =POC (tFG S EI) y la Figura 6 representa una computación de índice LUT para L=61 , desplazamiento =POC(tFG gE¡) con los reajustes de POC. Se debe notar que el índice utilizado para tener acceso a la LUT debe ser positivo. Cuando es negativo, (por ejemplo, porque el valor de POC es negativo) entonces se puede utilizar el valor absoluto como el índice. Con el fin de tratar con secuencias con reajustes frecuentes y estables de la POC debido a las imágenes de Renovación de Decodificacíón I nstantánea (1 DR), el parámetro idr_pic_id enviado en el encabezado de rebanada de las corrientes de bit H.264 | MPEG AVC también se pueden utilizar para determinar el desplazamiento. Por ejemplo, se puede utilizar la siguiente ecuación para calcular el desplazamiento:
desplazamiento = idr_píc_ídFG S EI en donde idr_pic_idFG SE l es el número de identificación de la imagen de la última imagen I DR, en donde se ha insertado el SEl de grano de película. Por supuesto, dadas estas enseñanzas de la presente invención, las siguientes y anteriores ecuaciones para calcular el desplazamiento pueden utilizarse así como las variaciones de las mismas, mientras se mantengan dentro del espíritu y alcance de la invención. Con referencia ahora a la Figura 7, un método para la ¡nicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video se indica por lo general , con el número 700 de referencia. El método 700 incluye un bloque 702 de inicio que pasa el control a un bloque 705 de función. El bloque 705 de función especifica una tabla de consulta de semillas como sigue: LUT = (semilla0, semilla-, , semilla2, ... , sem¡llaL_?) y pasa el control a un bloque 710 de función. El bloque 710 de función ajusta la semilla PRNG al siguiente valor al inicio de la imagen (en el tiempo t) en donde se insertó el SEl de grano de película antes de reajustar la POC como sigue: semilla(t) = LUT((POC(t) + desplazamiento%L) Además, con respecto al bloque 71 0 de función, el desplazamiento es como sigue: desplazamiento = idr_pic_idFG SEl en donde como se observó antes, idr_pic_idFG SEl es el número de identificación de la imagen de la última imagen I DR, en donde se insertó el
SEl de grano de película. El bloque 710 de función entonces pasa el control a un bloque 71 5 de fin. Ahora se proporciona una descripción con respecto a la tercera modalidad ilustrativa de conformidad con los principios de la presente i nvención. La tercera modalidad ilustrativa se describe primero y es seguida por una descripción del método correspondiente mostrado y descrito con respecto a la Figura 8. La tercera modalidad está dirigida a las secuencias con reajustes frecuentes y estables de la POC y se proporciona para usar el parámetro del período de repetición de grano de película transmitido en el SEl de grano de película. El desplazamiento se define como: desplazamiento = mensaje SEl de grano de película (película_grano_características_repetición_período) en donde el parámetro de período de repetición de características de grano de película es más largo o igual que la distancia máxima entre los mensajes SEl de grano de película consecutivos. Se debe observar que incluso cuando el período de repetición de las características de grano de película no tiene el propósito de este uso, esta medida sigue siendo compatible con la norma H.264. Con referenci a ahora a la Figura 8, u n método para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (P RN G) para l a simulación de grano de pel ícula en un sistema de video se indica, por lo general, con el número 800 de referencia. El método 800 incluye un bloque 802 de inicio que pasa el control a un bloque 805 de función. El bloque 805 de función especifica una tabla
de consulta de semillas como sigue: LUT = (semillao, semilla^ semilla2, ... , semilla,..-,) y pasa el control a un bloque 81 0 de función. El bloque 81 0 de función ajusta la semilla PRNG con el siguiente valor la inicio de la imagen (en el tiempo t). semilla(t) = LUT((POC(t) + desplazamiento)%L). Además, con respecto al bloque 81 0 de función, el desplazamiento es como sigue: desplazamiento = mensaje SEl de grano de película (pelícuIa_grano_características_repetición_período) y el control se pasa a un bloque 81 5 de fin. Ahora se proporciona una descripción con respecto a una cuarta modalidad ilustrativa de conformidad con los principios de la presente invención. La cuarta modalidad ilustrativa se describe primero y después le sigue otra descripción de un método correspondiente, mostrado y descrito con respecto a la Figura 9. En la cuarta modalidad, el desplazamiento se transporta en un mensaje SEl separado, transmitido antes de la misma imagen que el mensaje SEl de las características de grano de película. El mensaje SEl adicional, que para claridad se llama mensaje SEl de desplazamiento de semilla aleatoria, contendrá entre otra información posible, el valor de desplazamiento a ser utilizado en el proceso de inicialización de semilla. De conformidad con la cuarta modalidad, el desplazamiento se calcula como sigue: desplazam iento = mensaje S E l de despl azamiento de semill a
aleatoria (desplazamiento_valor) El SEl de desplazamiento de semilla aleatoria puede ser un mensaje S E l de datos del usuario no registrado, un mensaje SEl de datos del usuario registrado y un mensaje SEl reservado. Se debe notar que es posible transmitir el mensaje SE l de desplazamiento de semilla aleatoria para cada imagen, incluso cuando no se envíe ningún mensaje SEl de grano de película. En este caso, la LUT de semillas tiene su acceso como sigue: semilla(t) = LUT (desp!azamiento%L). Esta medida no se basa en el número POC para que sea robusto contra los reajustes del POC (comandos de operación de control de manejo de memoria, o MMCO) y las imágenes de Renovación de Decodificación Instantánea (I DR) . Además, esta medida o una medida similar con base en las enseñanzas aquí provistas se pueden combinar con otros algoritmos de codificación de video, tal como MPEG-2, o VC-1 . Por ejemplo, las marcas de tiempo MPEG-2, pueden utilizarse para computar un valor similar a la PC para el mismo cuadro, en donde los parámetros del grano de película han sido transmitidos y el índice de salida de la imagen puede utilizarse como el desplazamiento. Con referencia a la Figura 9 , un método para la inicialización de semill a exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video se indica por lo general , con el número 900 de referencia. El método 900 incluye un bloque 902 de inicio, el cual pasa el control a un bloque 905 de función. El bloque 905 de función especifica
una tabla de consulta de semillas como sigue: LUT = (semillao, semilla-,, semilla2,..., semilla^) y pasa el control a un bloque 910 de función. El bloque 910 de función ajusta la semilla PRNG con el siguiente valor al inicio de la imagen (en el tiempo t). semilla (t) = LUT (Desplazamiento %L) Además, con respecto al bloque 910 de función, el desplazamiento se ajusta como sigue: desplazamiento = mensaje SEl de desplazamiento de semilla aleatoria (desplazamiento_valor) y el control se pasa a un bloque 915 de fin. Ahora, se proporciona una descripción con respecto a una quinta modalidad de conformidad con los principios de la presente invención. La quinta modalidad ilustrativa se describe primero y después es seguida por otra descripción de un método correspondiente mostrado y descrito con respecto a la Figura 10. En la quinta modalidad ilustrativa, un mensaje SEl de semilla aleatoria se define con la semilla aleatoria a ser utilizada en ese cuadro. La semilla en el tiempo t se inicializa como sigue: semilla (t) = mensaje SEl de semilla aleatoria (semiIla_valor) Como antes, el mensaje SEl de datos del usuario utilizado para transportar el valor de semilla puede ser un mensaje SEl de datos del usuario no registrado, un mensaje SEl de datos del usuario registrado o un mensaje SEl reservado. Cuando se utilizan los algoritmos de codificación de video diferentes a los de la norma H.264, el valor de la señal se puede
transmitir como datos del usuario. Se debe notar que esta medida no hace uso de la tabla LUT y no se basa en los valores POC, más bien, utiliza el mensaje SEl de semilla aleatoria que se transmite en cada imagen. Se debe apreciar que también es posible combinar esta medida con una LUT con base en la POC. Con referencia a la Figura 10, un método para la ¡nicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video se indica, por lo general, con el número 100 de referencia. El método 1000 incluye un bloque 1002 de inicio que pasa el control a un bloque 1010 de función. El bloque 1010 de función inicializa una semilla en el tiempo t como sigue: semilla(t) = mensaje SEl de semilla aleatoria (semilIa_valor). Además con respecto al bloque 1010 de función, el control se pasa a un bloque 1015 de fin. Ahora se describirá una sexta modalidad ilustrativa de conformidad con los principios de la presente invención. La sexta modalidad ilustrativa se describe primero y después se da otra descripción de un método correspondiente mostrado y descrito con respecto a la Figura 11. Cuando se utilizan múltiples PRNG (por ejemplo, uno por componente de color), se puede utilizar la misma LUT para todos ellos, definiendo un desplazamiento adicional, fijo para cada componente de color como sigue: semilla(t) = LUT (POC(t) + desplazamiento +desplazamiento_componente(c))%L).
en donde desplazamiento_componente(c) es el desplazamiento para el componente c de color, Desplazamiento es un valor enlazado a la imagen en el tiempo t que se puede transportar con el uso de cualquiera de las modalidades antes descritas. En una extensión ilustrativa de la quinta modalidad ilustrativa, estos desplazamientos pueden ser (0, 1/3L, 2/3L). Se debe apreciar que estos desplazamientos son constantes y por lo tanto, no necesitan transmitirse o actualizarse. Además, se debe entender que la presente invención no está limitada a los desplazamientos anteriores, y que se pueden utilizar otros desplazamientos de conformidad con los principios de la presente invención, siempre que se mantengan dentro del espíritu de la presente invención. Con referencia a la Figura 11, un método para la inicialización de semilla exacta de bits para un generador de número pseudo-aleatorio (PRNG) para la simulación de grano de película en un sistema de video se indica, por lo general, con el número 1100 de referencia. El método 1100 incluye un bloque 1102 de inicio que pasa el control a un bloque 1105 de función. El bloque 1105 de función especifica una tabla de consulta de semillas como sigue: LUT = (semilla0, semilla-,, semilla2,..., semillan) y pasa el control a un bloque 1110 de función. El bloque 1110 de función ajusta la semilla PRNG con el siguiente valor al inicio de la ¡magen (en el tiempo t), cuando se utilizan múltiples PRNG (por ejemplo, uno por componente de color) para que cuando se utilice la misma LUT para todos los múltiples PRNG, el desplazamiento adicional fijo se defina para cada uno de los componentes de color como
sigue: semilla (t) = LUT (POC(t) + desplazamiento + desplazamiento_componente(c))%L) en donde desplazamiento_componente(c) es el desplazamiento para el componente c de color y el desplazamiento es la imagen en el tiempo t.
Además con respecto al bloq ue 1 1 1 0 de función , el control se pasa a un bloque 1 1 15 de fin. Como se puede observar, dadas las enseñanzas de la presente invención aquí provista, la presente invención se puede aplicar en otras técnicas de codificación/decodificación de video que se puedan beneficiar con la conservación del grano de película mientras se mantengan dentro del espíritu de la presente invención. Estas y otras características y ventajas de la presente invención pueden alcanzarse fácilmente por las personas experimentadas en la técnica con base en las enseñanzas de la misma. Se debe entender que los principios de la presente invención se pueden implementar en diferentes formas de hardware, software, firmware o procesadores de propósitos especiales o combinaciones de los mismos. De preferencia, los principios de la presente invención se pueden implementar en una combinación de hardware y software. Además, el software puede implementarse como un programa de aplicación incorporado tangiblemente en una unidad de almacenamiento de programa. El programa de aplicación se puede cargar, ejecutar por una máquina que comprenda la arquitectura apropiada. La máquina se puede implementar en una plataforma de computadora con un hardware como una o más
unidades de procesamiento central ("CPU"), una memoria de acceso aleatorio ("RAM") , e interfaces de salida y entrada ("l/O"). La plataforma de computadora también puede incluir un sistema operativo y un código de microinstrucciones. Los diferentes procesos y funciones descritos aquí pueden ser parte del código de microinstrucción o parte del programa de aplicación o una combinación de los mismos, los cuales se pueden ejecutar con una CPU. Además, se pueden conectar otras unidades periféricas con la plataforma de computadora como una unidad de almacenamiento de datos adicional y una unidad de impresión. También, se debe entender que debido a que algunos componentes y métodos del sistema ¡lustrados en los dibujos acompañantes de preferencia, se ¡mplementan en un software, las conexiones reales entre los componentes del sistema o los bloques de función del proceso pueden diferir dependiendo de la manera en que se programe la presente invención. Habiendo proporcionado los principios de la misma, las personas experimentadas en la técnica podrán contemplar estas y otras implementaciones o configuraciones similares de la presente invención sin apartarse del espíritu y alcance de la presente invención . Aunque se han descrito las modalidades ilustrativas con referencia a los dibujos acompañantes, se debe entender que la presente invención no está limitada a estas modalidades, y que se pueden efectuar varios cambios y modificaciones por las personas experimentadas en la técnica sin apartarse del alcance y espíritu de la presente invención. Todos los cambios y modificaciones tienen la intención de estar incluidos dentro del alcance de la presente invención, como se establece en las
reivindicaciones anexas.