Abstract:
There are provided methods and apparatus for film grain SEI message insertion for bit-accurate simulation in a video system. A method for simulating film grain in an ordered sequence includes the steps of providing film grain supplemental information corresponding to a plurality of intra coded pictures, and providing additional film grain supplemental information corresponding to inter coded pictures between consecutive intra coded pictures, in decode order. The inter coded pictures are selected based upon display order.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application Ser. No. 60/628,477, filed on Nov. 16, 2004 and entitled “FILM GRAIN SEI MESSAGE INSERTION FOR BIT-ACCURATE SIMULATION IN A VIDEO SYSTEM,” which is incorporated by reference herein in its entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to video encoders and video decoders and, more particularly, to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate film grain simulation in a video system. 
       BACKGROUND OF THE INVENTION 
       [0003]    Film Grain Management (FGM, also referred to as Film Grain Technology, or FGT) has been presented as a new tool that allows encoding the grain in motion picture film by means of a parameterized model to be transmitted as parallel information for use by a video decoder. To support FGM, the Fidelity Range Extension (FRExt) Amendment to the ITU-T Rec. H.264|ISO/IEC 14496-10|MPEG-4 AVC|Joint Video Team (JVT) standard (hereinafter the “H.264 standard”) has defined a Film Grain Supplemental Enhancement Information (SEI) message. The SEI message describes the film grain characteristics regarding attributes such as size and intensity, and allows a video decoder to simulate the film grain look onto the decoded picture. The H.264 standard specifies which parameters are present in the film grain SEI message, how to interpret the parameters, and the syntax for encoding the SEI message in binary format. However, the H.264 standard does not specify the exact procedure to simulate film grain upon reception of the film grain SEI message by a video decoder. It is to be appreciated that FGM can be used jointly with any other video coding method, since FGM utilizes parallel information, transmitted from an encoder, that does not affect the decoding process. 
         [0004]    In FGM, the encoder models the film grain of the video sequence and the decoder simulates the film grain according to the received information. The encoder can use FGM to enhance the quality of the compressed video when there is difficulty retaining the film grain. Additionally, the encoder has the option of removing or attenuating the film grain prior to encoding in order to reduce the bit-rate. 
         [0005]    Film grain simulation aims at synthesizing film grain samples that simulate the look of original film content. Unlike film grain modeling, which is entirely performed at the encoder, film grain simulation is performed at the decoder. Film grain simulation is done after decoding the video stream and prior to display. Images with added film grain are never used within the decoding process. Being a post-processing method, synthesis of simulated film grain on the decoded images for the display process is not specified in the H.264 standard. The film grain simulation process includes the decoding of film grain supplemental information, transmitted in a film grain SEI message as specified by the Fidelity Range Extensions Amendment of the H.264 standard mentioned above. 
         [0006]    In a previously disclosed prior art approach to film grain simulation, a set of specifications was disclosed to allow bit-accurate film grain simulation during normal playback. In order to support bit-accuracy with trick mode play (e.g. fast forward, reverse playback, jump to chapters, and so forth) an addendum to this first prior art approach (the addendum hereinafter referred to as the second prior art approach) was developed. In the second prior art approach to film grain simulation, bit-accuracy was achieved by transmitting the film grain SEI messages only preceding I frames and forcing the transmitted film grain SEI messages to be applied in decoding order. The second prior art approach ensures consistent film grain simulation for all the frames in normal playback as well as in trick mode play, with a minimum overhead in the video bit-stream due to the transmission of the film grain SEI messages. However, since the H.264 standard specifies that SEI messages are to be applied in display order (versus decoding order as specified in the second prior art approach), the solution proposed in the second prior art approach is not compliant with the H.264 standard. While this fact does not affect the perceived visual quality, it may prevent the deployment of the specifications disclosed in the second prior art approach in those forums where conformance to the H.264 standard is required. 
         [0007]    Turning to  FIG. 1 , a film grain simulation in normal playback is indicated generally by the reference numeral  100 . In particular,  FIG. 1  shows the differences between film grain simulation in decode order  110  according to the second prior art approach and film grain simulation in display order  120  according to the H.264 standard. In this example, film grain SEI messages are sent preceding each I picture. Bold typeface denotes a picture where a film grain SEI has been inserted. In  FIG. 1 , decode order, the film grain SEI message sent with picture I 2  is used in all following pictures until picture B 10  is reached (inclusive). Horizontal lines above (decode order) or below (display order) pictures denote the film grain parameters (FG n) used with the pictures; for example, in  FIG. 1 , display order, film grain parameters FG  1  are used from the first I 2  picture until the second B 1  picture (inclusive). If SEI messages are assumed to apply to all frames following an I picture in decoding order, as specified in the second prior art approach, the film grain SEI message sent in I 2  will apply to frames B 0  and B 1 . However, if SEI messages are assumed to apply to all frames following an I picture in display order, as specified in the H.264 standard, frames B 0  and B 1  will be affected by the film grain SEI message of the previous I picture. 
         [0008]    Accordingly, it would be desirable and highly advantageous to have a method for inserting film grain SEI messages in a video system in bit-accurate manner and in compliance with the H.264 standard. 
       SUMMARY OF THE INVENTION 
       [0009]    These and other drawbacks and disadvantages of the prior art are addressed by the present invention, which is directed to film grain characteristics Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. 
         [0010]    According to an aspect of the present invention, there is provided a method for simulating film grain in an ordered sequence. The method includes the steps of providing film grain supplemental information corresponding to a plurality of intra coded pictures, and providing additional film grain supplemental information corresponding to inter coded pictures between consecutive intra coded pictures, in decode order. The inter coded pictures are selected based upon display order. 
         [0011]    According to another aspect of the present invention, there is provided a bit-accurate method for simulating film grain in display order to provide consistent film grain simulation irrespective of play mode. The method includes the step of sending film grain SEI messages preceding I, P and B pictures. Only one film grain SEI message precedes a particular one of the I, P, and B pictures. Moreover, the only one of the film grain SEI messages preceding a B picture is the same as the film grain SEI message of an I picture or a P picture preceding the B picture, in decoding order. 
         [0012]    According to yet another aspect of the present invention, there is provided an apparatus for simulating film grain in an ordered sequence. The apparatus includes a film grain modeler for providing film grain supplemental information corresponding to a plurality of intra coded pictures, and for providing additional film grain supplemental information corresponding to inter coded pictures between consecutive intra coded pictures, in decode order. The inter coded pictures are selected based upon display order. 
         [0013]    According to still yet another aspect of the present invention, there is provided a bit-accurate apparatus for simulating film grain in display order to provide consistent film grain simulation irrespective of play mode. The apparatus includes a film grain modeler for sending film grain SEI messages preceding I, P and B pictures. Only one film grain SEI message precedes a particular one of the I, P, and B pictures. Moreover, the only one of the film grain SEI messages preceding a B picture is the same as the film grain SEI message of an I picture or a P picture preceding the B picture, in decoding order. 
         [0014]    These and other aspects, features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments, which is to be read in connection with the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    The present invention may be better understood in accordance with the following exemplary figures, in which: 
           [0016]      FIG. 1  is a diagram illustrating a film grain simulation in normal playback in accordance with the prior art; 
           [0017]      FIG. 2  is a block diagram illustrating a Film Grain Management (FGM) processing chain to which the present invention may be applied; 
           [0018]      FIG. 3  is a flow diagram illustrating a method for film grain SEI message insertion for bit-accurate simulation in a video system in accordance with the principles of the present invention; 
           [0019]      FIG. 4  is a diagram illustrating an example of film grain simulation in normal playback in accordance with the principles of the present invention; 
           [0020]      FIG. 5  is a diagram illustrating an example of film grain simulation in trick mode play in accordance with the principles of the present invention; 
           [0021]      FIG. 6  is a diagram illustrating an example of film grain simulation in 2× fast forward trick mode play in accordance with the principles of the present invention; 
           [0022]      FIG. 7  is a flow diagram illustrating another method for film grain SEI message insertion for bit-accurate simulation in a video system in accordance with the principles of the present invention; 
           [0023]      FIG. 8  is a flow diagram illustrating yet another method for film grain SEI message insertion for bit-accurate simulation in a video system in accordance with the principles of the present invention; 
           [0024]      FIG. 9  is a diagram illustrating an example of film grain simulation in normal playback in accordance with the principles of the present invention; and 
           [0025]      FIG. 10  is a flow diagram illustrating still another method for film grain SEI message insertion for bit-accurate simulation in a video system in accordance with the principles of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0026]    The present invention is directed to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. 
         [0027]    Advantageously, the present invention allows a bit-accurate implementation of the film grain simulation process during normal play and trick-mode play that is in conformance with the H.264 standard. According to one illustrative embodiment of the present invention, film grain SEI messages should be transmitted not only preceding I pictures, as per the prior art, but also between two consecutive I pictures, in decoding order, preceding the P or B picture with the smallest picture order count (POC) value. Other inventive specifications in accordance with the present invention are also provided herein. It is to be appreciated that, given the teachings of the present invention provided herein, the present invention can be applied jointly with any other video coding standard having the capability of conveying a pre-specified set of film grain parameters, either in-band or out-of-band. 
         [0028]    The present description illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. 
         [0029]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. 
         [0030]    Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure. 
         [0031]    Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. 
         [0032]    The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage. 
         [0033]    Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context. 
         [0034]    In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein. 
         [0035]    Turning to  FIG. 2 , a Film Grain Management (FGM) processing chain to which the present invention may be applied is indicated generally by the reference numeral  200 . The FGM processing chain includes a transmitter  210  and a receiver  250 . The transmitter includes a film grain remover  212 , a video encoder  214 , and a film grain modeler  216 . The receiver includes a video decoder  252 , a film grain simulator  254 , and a combiner  256 . 
         [0036]    An input to the transmitter  210  is connected in signal communication with an input of the film grain remover  212  and a first input of the film grain modeler  216 . An output of the film grain remover  212  is connected in signal communication with an input of the video encoder  214  and a second input of the film grain modeler  216 . An output of the video encoder  214  is available as a first output of the transmitter  210 . An output of the film grain modeler  216  is available as a second output of the transmitter  210 . The first output of the transmitter  210  is connected in signal communication with a first input of the receiver  250 . The second output of the transmitter  210  is connected in signal communication with a second input of the receiver  250 . The first input of the receiver  250  is connected in signal communication with an input of the video decoder  252 . The second input of the receiver  250  is connected in signal communication with a first input of the film grain simulator  254 . A first output of the video decoder  252  is connected in signal communication with a second input of the film grain simulator  254 . A second output of the video decoder  252  is connected in signal communication with a first input of the combiner  256 . An output of the film grain simulator is connected in signal communication with a second input of the combiner  256 . An output of the combiner  256  is available as an output of the receiver  250 . 
         [0037]    A description will now be given with respect to  FIG. 3  regarding a first illustrative embodiment in accordance with the principles of the present invention relating to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. The method of  FIG. 3  extends the specifications described above with respect to the first and second prior art approaches relating to SEI message insertion, with additional specifications that provide both bit-accuracy and compliance with the H.264 standard. 
         [0038]    Turning to  FIG. 3 , a method for film grain SEI message insertion for bit-accurate simulation in a video system is indicated generally by the reference numeral  300 . The method includes a start block  302  that passes control to a function block  305 . The function block  305  specifies that film grain SEI messages shall be sent preceding I pictures, further specifies that only one film grain SEI message shall precede a particular I picture, and passes control to a function block  310 . The function block  310  specifies that film grain SEI messages shall also be sent between two consecutive I pictures, in decoding order, preceding the P or B picture with the smallest POC value, further specifies that only one film grain SEI message shall precede a particular P or B picture, and passes control to a function block  315 . The function block  315  specifies that the film grain SEI message preceding a P or B picture shall be the same as the film grain SEI message of the closest I picture that precedes the P or B picture, in decoding order, and passes control to an end block  320 . 
         [0039]    According to the specifications shown and described with respect to  FIG. 3 , film grain simulation can be performed with bit-accuracy in both display order and decode order. Furthermore, bit-accuracy is also achieved between normal playback and trick mode play. 
         [0040]    Turning to  FIG. 4 , an example of film grain simulation in normal playback in accordance with the method  300  of  FIG. 3  is indicated generally by the reference numeral  400 . In particular,  FIG. 4  shows the differences between film grain simulation in normal playback in decode order  410  and in display order  420 , both in accordance with the principles of the present invention. In accordance with the method  300  of  FIG. 3 , a film grain SEI is inserted preceding the I 2  picture (first in decode order) and preceding the B 0  picture (first in display order). It is to be noted that B 0  and B 1  have the same film grain characteristics regardless of the film grain simulation order. 
         [0041]    It is to be appreciated that the method  300  of  FIG. 3  ensures bit-accuracy between film grain simulation in decoding order and display order, providing an implementation choice to hardware/software designers. The results obtained by the method  300  of  FIG. 3  are compliant with the standard H.264. This is done with a minimum overhead in the coded video-stream due to the insertion of film grain SEI messages. It is to be further appreciated that the method  300  of  FIG. 3  ensures bit-accuracy between normal play as well as trick mode play. 
         [0042]    Turning to  FIG. 5 , an example of film grain simulation in trick mode play in accordance with the method  300  of  FIG. 3  is indicated generally by the reference numeral  500 . In particular,  FIG. 5  shows the differences between film grain simulation in trick mode play in decode order  510  and in display order  520 , both in accordance with the principles of the present invention. Further, the example  500  relates to a jump to B 0  in trick mode play that is accomplished with bit-accuracy given that a film grain SEI message has been inserted preceding the B 0  picture. 
         [0043]    A description will now be given with respect to  FIG. 7  regarding a second illustrative embodiment in accordance with the principles of the present invention relating to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. 
         [0044]    Turning to  FIG. 7 , a method for film grain SEI message insertion for bit-accurate simulation in a video system is indicated generally by the reference numeral  700 . The method  700  of  FIG. 7  is derived from the method  300  of  FIG. 3  by forcing the insertion of the same film grain SEI in all P pictures and in all B pictures following and I or P picture between two consecutives I pictures. 
         [0045]    The method  700  includes a start block  702  that passes control to a function block  705 . The function block  705  specifies that film grain SEI messages shall be sent preceding I pictures, further specifies that only one film grain SEI message shall precede a particular I picture, and passes control to a function block  710 . The function block  710  specifies that film grain SEI messages shall also be sent between two consecutive I pictures, in decoding order, preceding all P pictures or all B pictures following an I or P picture, further specifies that only one film grain SEI message shall precede a particular P or B picture, and passes control to a function block  715 . The function block  715  specifies that the film grain SEI message preceding a P or B picture shall be the same as the film grain SEI message of the closest I picture preceding the P or B picture, in decoding order, and passes control to an end block  720 . 
         [0046]    It is to be appreciated that the method  700  of  FIG. 7  increases the overhead due to the presence of the film grain SEI messages in the bit-stream. However, it facilitates the access to the SEI message in display order for trick mode play, as in the example  600  illustrated in  FIG. 6 . Turning to  FIG. 6 , an example of film grain simulation in 2× fast forward trick mode play in accordance with the method  700  of  FIG. 7  is indicated generally by the reference numeral  600 . In particular,  FIG. 6  shows the differences between film grain simulation in 2× fast forward trick mode play in decode order  610  and in display order  620 , both in accordance with the principles of the present invention. In the example  600  of  FIG. 6 , the decoder will not decode the film grain SEI message in B 0 . However, it is correct to assume that the film grain SEI message sent preceding the I 2  picture applies to B 1  since in the second prior art approach forces the SEI messages in I 2  and B 0  to be identical. 
         [0047]    A description will now be given with respect to  FIG. 8  regarding a third illustrative embodiment in accordance with the principles of the present invention relating to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. In order to allow film grain variations between two consecutive I pictures, the method of  FIG. 8  enlarges the set of specifications of the method  300  of  FIG. 3  as follows. 
         [0048]    Turning to  FIG. 8 , a method for film grain SEI message insertion for bit-accurate simulation in a video system is indicated generally by the reference numeral  800 . It is to be appreciated that the method  800  of  FIG. 8  includes the function blocks of the method  300  of  FIG. 3 . 
         [0049]    The method includes a start block  802  that passes control to a function block  305 . The function block  305  specifies that film grain SEI messages shall be sent preceding I pictures, further specifies that only one film grain SEI message shall precede a particular I picture, and passes control to a function block  310 . The function block  310  specifies that film grain SEI messages shall also be sent between two consecutive I pictures, in decoding order, preceding the P or B picture with the smallest POC value, further specifies that only one film grain SEI message shall precede a particular P or B picture, and passes control to a function block  315 . The function block  315  specifies that the film grain SEI message preceding a P or B picture shall be the same as the film grain SEI message of the closest I picture that precedes the P or B picture, in decoding order, and passes control to a function block  820 . The function block  820  specifies that film grain SEI messages shall be sent preceding P pictures, further specifies that only one film grain SEI message shall precede a particular P picture, and passes control to a function block  825 . 
         [0050]    The function block  825  specifies that film grain SEI messages shall also be sent between two consecutive P pictures, in decoding order, preceding the B picture with the smallest POC value, further specifies that only one film grain SEI message shall precede a particular B picture, and passes control to an end block  830 . 
         [0051]    According to the specifications of the method  800  of  FIG. 8 , film grain simulation can be performed with bit-accuracy in both display order and decode order. Furthermore, bit-accuracy is also achieved between normal playback and trick mode play. 
         [0052]    A description will now be given with respect to  FIG. 10  regarding a fourth illustrative embodiment in accordance with the principles of the present invention relating to film grain Supplemental Enhancement Information (SEI) message insertion for bit-accurate simulation in a video system. 
         [0053]    Turning to  FIG. 10 , a method for film grain SEI message insertion for bit-accurate simulation in a video system is indicated generally by the reference numeral  1000 . The method  1000  of  FIG. 10  is derived from the method  800  of  FIG. 8  by forcing the insertion a film grain SEI in all B pictures. 
         [0054]    The method  1000  includes a start block  1002  that passes control to a function block  1005 . The function block  1005  specifies that film grain SEI messages shall be sent preceding I, P and B pictures, further specifies that only one film grain SEI message shall precede a particular picture, and passes control to a function block  1010 . 
         [0055]    The function block  1010  specifies that the film grain SEI message preceding a B picture shall be the same as the film grain SEI message of its preceding I or P picture, in decoding order, and passes control to an end block  1016 . 
         [0056]    Turning to  FIG. 9 , an example of normal playback in accordance with the method  1000  of  FIG. 10  is indicated generally by the reference numeral  900 . In particular,  FIG. 9  shows the differences between film grain simulation in normal playback in decode order  910  and in display order  920 , both in accordance with the principles of the present invention. 
         [0057]    These and other features and advantages of the present invention may be readily ascertained by one of ordinary skill in the pertinent art based on the teachings herein. It is to be understood that the teachings of the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof. 
         [0058]    Most preferably, the teachings of the present invention are implemented as a combination of hardware and software. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPU”), a random access memory (“RAM”), and input/output (“I/O”) interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. 
         [0059]    It is to be further understood that, because some of the constituent system components and methods depicted in the accompanying drawings are preferably implemented in software, the actual connections between the system components or the process function blocks may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these and similar implementations or configurations of the present invention. 
         [0060]    Although the illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present invention is not limited to those precise embodiments, and that various changes and modifications may be effected therein by one of ordinary skill in the pertinent art without departing from the scope or spirit of the present invention. All such changes and modifications are intended to be included within the scope of the present invention as set forth in the appended claims.