This invention relates to a technique of for simulating film grain in an image.
Prior publications authored by the present inventors and assigned to the present assignee proposed simulating film grain in a decoded video stream by first filtering grain out the image before compression. The video stream undergoes compression and subsequent transmission to a decoder for receipt along with a message containing information about the film grain that was present in the stream prior to compression. Upon receipt of the compressed video stream and grain-containing message, the decoder decodes the compressed stream and then restores the original grainy appearance of the image by simulating the film grain based on the content of the grain information message. The film grain message can take the form of a Supplemental Enhancement Information (SEI) message accompanying the coded video stream.
Simulating film grain in this manner provides large bit-rate savings for high quality applications where the film grain preservation becomes important. However, this method of simulating film grain increases the decoder complexity since the decoder must reproduce and blend the film grain with the decoded video stream as specified by the transmitted film grain information message.
Thus, a need exists for a technique for simulating film grain that overcomes the disadvantages of the prior art.
Briefly, the present invention provides a method for simulating film grain in an input image block. The method commences by first computing an average value of at least one image parameter for the input image block. Thereafter, a film grain block is selected from at least one previously established pool of film grain blocks whose image parameter most closely matches the image parameter of the input image block. The selected block is then blended with the input image block.
Selecting a film grain block from the at least one pool of pre-established film grain blocks for combination with the input image reduces the complexity associated with simulating the film grain at a decoder as was done by prior methods. Further, selecting a film grain block from the at least one pool of pre-established film grain blocks reduces artifacts that otherwise might arise when transitioning between independently generated film grain blocks.
In accordance with the present principles, simulation of film grain in an image from occurs by mosaicing pre-established individual film blocks. The term “mosaicing” of the individual film blocks implies the building of a composite image by blending individual film grain blocks that are smaller in size. To appreciate the advantages of film grain simulation by mosaicing pre-established film grain samples, a description of the prior art film grain simulation process will prove helpful.
Following step 12, the numeric average of the image intensity, is computed during step 14 for the just-read block. Next, film grain parameter selection occurs during step 16. The selection is made from a set of film grain parameters provided in a film grain message 17 accompanying the input image in accordance with the average intensity value computed during step 14. Typically the film grain message 17 takes the form of a Supplemental Enhancement (SEI) Message, and for that reason, the term “SEI message” will appear hereinafter when referring to the message containing film grain information. Because film grain characteristics can vary depending on the intensity level, the selection carried out during step 16 can yield different film grain parameters depending on the average intensity measured on the extracted image block.
Using the film grain parameters selected during step 16, an N×M pixel block of film grain samples is generated during step 18 for use in creating a film grain image 19. Each of the film grain blocks generated through this process undergoes storage and compositing to yield a film grain image that maps to the size of the original input image. This composition process constitutes mosaicing as discussed earlier. Following step 18, a check occurs during step 20 whether the block selected during step 12 constitutes the last block of the input image 11. If additional blocks remain, program execution branches to step 12 and those following it. Otherwise, step 22 occurs and the process ends
As thus described, the prior art method for film grain simulation requires the generation of film grain for blending with each processed block of pixels of the input image. In contrast, the film grain simulation in accordance with the present principles achieves greater efficiency by limiting the film grain generation by way of a pool creation process in which a limited number of film grain blocks are computed. This approach strongly reduces the computational complexity of the film grain simulation process.
Following step 402, the average value of an image parameter, typically, the average intensity value is computed during step 404 for the block just read during step 402. Next, a film grain block is selected during step 406 from at least one pool of pre-established film grain blocks pre-computed in the manner described hereinafter with respect to
Following block selection during-step 406, the selected block typically undergoes a transform during step 410 to yield the film grain image block 19 for blending with the film grain image. Following step 410, a check occurs to determine whether additional image blocks remain during step 412. If additional image blocks remain, program execution branches to step 402 and those following it. Otherwise, program execution ends during step 414.
Following step 504, a check occurs during step 506 to determine whether additional parameter sets remain. If additional sets remain, program execution branches to step 502 and those following it. Otherwise, program execution ends during step 508.
The process described with respect to
The method of
The above-described method can estimate if blocks are not available not only when the pool 408 is empty, but also if the existing blocks have been recently used for blending. Other criteria for managing the pool creation and update process could also be envisaged. The method of
The foregoing describes a technique for simulating film grain in an image.
This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application Ser. No. 60/505,146, filed on Sep. 23, 2003, the teachings of which are incorporated herein. The applicants hereby claim the priority under 35 USC 119 (a) of International Application PCT/US2004/029410, filed Sep. 10, 2004, which was published in accordance with PCT Article 21(2) on Apr. 14, 2005 in English and which claims the benefit of United States provisional patent application No. 60/505,146, filed Sep. 23, 2003.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/US2004/029410 | 9/10/2004 | WO | 00 | 3/22/2006 |
| Publishing Document | Publishing Date | Country | Kind |
|---|---|---|---|
| WO2005/034518 | 4/14/2005 | WO | A |
| Number | Name | Date | Kind |
|---|---|---|---|
| 4935816 | Faber | Jun 1990 | A |
| 5140414 | Mowry | Aug 1992 | A |
| 5335013 | Faber | Aug 1994 | A |
| 5374954 | Mowry | Dec 1994 | A |
| 5406326 | Mowry | Apr 1995 | A |
| 5457491 | Mowry | Oct 1995 | A |
| 5471572 | Buchner et al. | Nov 1995 | A |
| 5475425 | Przyborski et al. | Dec 1995 | A |
| 5629769 | Cookingham et al. | May 1997 | A |
| 5641596 | Grau et al. | Jun 1997 | A |
| 5659382 | Rybczynski | Aug 1997 | A |
| 5687011 | Mowry | Nov 1997 | A |
| 5709972 | Cookingham et al. | Jan 1998 | A |
| 5767860 | Zimmer et al. | Jun 1998 | A |
| 5831673 | Przyborski et al. | Nov 1998 | A |
| 6587509 | Suzuki et al. | Jul 2003 | B1 |
| 7065255 | Chen et al. | Jun 2006 | B2 |
| 7593465 | Jia et al. | Sep 2009 | B2 |
| 20010056568 | Hirotsu et al. | Dec 2001 | A1 |
| 20020034337 | Shekter | Mar 2002 | A1 |
| 20030043922 | Kalker et al. | Mar 2003 | A1 |
| 20060082649 | Gomila et al. | Apr 2006 | A1 |
| 20060083316 | Cooper et al. | Apr 2006 | A1 |
| 20060083429 | Joly | Apr 2006 | A1 |
| 20060133686 | Gomila et al. | Jun 2006 | A1 |
| 20060182183 | Winger | Aug 2006 | A1 |
| 20060256853 | Schlockermann et al. | Nov 2006 | A1 |
| 20060291557 | Tourapis | Dec 2006 | A1 |
| 20070034337 | Nishimoto et al. | Feb 2007 | A1 |
| 20070036452 | Llach et al. | Feb 2007 | A1 |
| 20070047658 | Tourapis et al. | Mar 2007 | A1 |
| 20070058866 | Boyce et al. | Mar 2007 | A1 |
| 20070070241 | Boyce et al. | Mar 2007 | A1 |
| 20070104380 | Gomila et al. | May 2007 | A1 |
| 20070117291 | Cooper et al. | May 2007 | A1 |
| 20070297515 | Gomila et al. | Dec 2007 | A1 |
| 20080152250 | Gomila et al. | Jun 2008 | A1 |
| Number | Date | Country |
|---|---|---|
| 0622000 | Oct 1992 | EP |
| 0575006 | Dec 1993 | EP |
| 1175091 | Jan 2002 | EP |
| 1215624 | Jun 2002 | EP |
| 2312124 | Oct 1997 | GB |
| 4097681 | Mar 1992 | JP |
| 8079765 | Mar 1996 | JP |
| 9062718 | Mar 1997 | JP |
| 2001357090 | Dec 2001 | JP |
| WO9314591 | Jul 1993 | WO |
| WO9520292 | Jul 1995 | WO |
| WO9722204 | Jun 1997 | WO |
| WO0146992 | Jun 2001 | WO |
| WO0177871 | Oct 2001 | WO |
| WO2004104931 | Dec 2004 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20070058878 A1 | Mar 2007 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60505146 | Sep 2003 | US |