HK1104365B - Film grain simulation method - Google Patents
Film grain simulation method Download PDFInfo
- Publication number
- HK1104365B HK1104365B HK07112630.4A HK07112630A HK1104365B HK 1104365 B HK1104365 B HK 1104365B HK 07112630 A HK07112630 A HK 07112630A HK 1104365 B HK1104365 B HK 1104365B
- Authority
- HK
- Hong Kong
- Prior art keywords
- film grain
- block
- random number
- steps
- film
- Prior art date
Links
Description
Cross Reference to Related Applications
This application claims priority under 15u.s.c.119(e) to U.S. provisional patent application serial No. 60/619655, filed on 18/10/2004, the teachings of which are incorporated herein.
Technical Field
The present invention relates to techniques for simulating film grain in an image.
Background
Motion picture film comprises silver halide crystals distributed in an emulsion (emulsion) coated in a thin layer on a film base (film base). Exposure and development of these crystals form a photographic image consisting of discrete silver particles. In color negative images, silver is chemically removed after development (chemical removal), and micelles of dye appear at the sites where silver crystals are formed (tinybubs). In color film, these small dye spots are collectively referred to as "grain". Due to the random formation of silver crystals on the original emulsion, the particles appear to be randomly distributed over the resulting image. In uniformly exposed areas, some crystals develop after exposure, while others do not.
The particles exhibit variations in size and shape. The faster the film, the larger the clumps of silver (silver) formed and clumps of dye generated, and the more they tend to come together in a random pattern. The grain pattern is commonly referred to as "grain size". The naked eye cannot distinguish individual particles ranging from 0.0002 mm to about 0.002 mm. Instead, the eye can resolve groups of particles, which are called blobs. The viewer identifies these groups of blobs as film grain. As image resolution becomes larger, the percentage of film grain becomes higher. Film grain becomes clearly visible on motion pictures and high definition images, while in SDTV film grain gradually loses importance and becomes imperceptible in smaller formats.
Motion picture film typically contains image-dependent noise resulting from the physical process of exposure and development of the photographic film or from subsequent editing of the image. Photographic film has a characteristic quasi-random pattern, or texture, resulting from the physical granularity of the photographic emulsion. Alternatively, similar patterns can be simulated on computer-generated images in order to blend them with photographic film. In both cases, this image-dependent noise is referred to as grain. Often, appropriate grain textures present desirable features in a movie. In some instances, film grain provides visual cues that help to properly understand a two-dimensional picture. Film grain often varies within a single film to provide various clues as to time reference, viewpoint, etc. In the motion picture industry, there are many other technical and artistic uses for controlling grain texture. Therefore, preserving granular rendering of images in image processing and delivery chains has become a need.
Some commercial products have the ability to simulate film grain, which is often used to blend computer-generated objects into natural scenes. Cineon from Eastman Kodak Co, Rochester New York, one of the earliest digital film applications used to implement film simulationVery real results are produced for many particle types. However, CineonApplications do not yield good performance for many high speed films because they produce noticeable diagonal stripes for large particle size settings. Furthermore, Cineon is used when the image has been subjected to previous processing, for example, when the image has been copied or digitally processedApplications fail to simulate particles with high fidelity.
Another commercial product that simulates film grain is the gray surgery from Visual Infinity incTMWhich is used as AdobeAfter EffectsThe insert of (1). Gain SurgeryTMThe product is presented as: the synthetic particles are generated by filtering a set of random numbers. This approach has the disadvantage of high computational complexity.
None of these past solutions solve the problem of recovering film grain in compressed video. Film grain constitutes a high frequency pseudo-random phenomenon that cannot generally be compressed using conventional spatial and temporal methods that exploit redundancy in video sequences. In general, attempts to process film-derived images using MPEG-2 or ITU-T Rec.H.264| ISO/IEC 14496-10 compression techniques can result in unacceptably low degrees of compression, or complete loss of grain texture.
Thus, there is a need for a technique to simulate film grain, and in particular for a technique that provides relatively low complexity.
Disclosure of Invention
Briefly, in accordance with a preferred embodiment of the present invention, simulation of a film grain block for addition to a macroblock of an image occurs by first establishing at least one image parameter based at least in part on at least one attribute of the macroblock, and then establishing the film grain block based on the image parameter.
According to one aspect of the present invention, there is provided a method of simulating a film grain block for addition to an image block, comprising the steps of: establishing at least one parameter based at least in part on an attribute of the image block; and establishing at least one film grain block based on the at least one parameter.
According to another aspect of the present invention there is provided a method of simulating film grain in a 4:2:0 chroma format in at least one image block, comprising the steps of: establishing at least one film grain parameter in a 4:4:4 chroma format based on at least one attribute of at least one block; and deriving a film grain block from the database of film grain patterns by randomly selecting a film grain block from the database in accordance with the at least one film grain parameter.
In accordance with another aspect of the present invention, there is provided an apparatus for simulating a film grain block for addition to an image block, comprising: a film grain simulator for establishing at least one parameter based at least in part on the attributes of the image block and for establishing at least one film grain block based on the parameter.
Drawings
Fig. 1 depicts a schematic block diagram of a combination of a transmitter and a receiver in a film grain processing chain for practicing the techniques of the present invention;
fig. 2 depicts a schematic block diagram of a system for simulating film grain in accordance with the present principles;
fig. 3 depicts a block diagram of a shift register for generating a primitive polynomial modulo 2(modulo 2) for simulating film grain in accordance with the method of fig. 2; and
fig. 4 depicts a pixel grid showing the use of random numbers when generating film grain according to the method of fig. 2.
Detailed Description
To understand the techniques of the present principles for simulating bit-accurate (bit-interpolated) film grain patterns composed of independent blocks of film grain, a brief overview of film grain simulation will be helpful. Fig. 1 depicts a schematic block diagram of a transmitter 10, which transmitter 10 receives an input video signal and, in turn, generates a compressed video stream at its output. In addition, the conveyor 10 also generates information indicative of the film grain (if any) present in the sample. In practice, the transmitter 10 may comprise part of a head-end array (head-end array) of a cable television system, or other such system that distributes compressed video to one or more downstream receivers 11, only one of which is shown in fig. 1. The transmitter 10 may also take the form of an encoder that presents media such as DVDs. The receiver 11 decodes the encoded video stream and simulates film grain based on the decoded video and film grain information received from the transmitter 10, or directly from the media itself in the case of a DVD or the like, to produce an output video stream with simulated film grain. The receiver 11 may take the form of a set-top box, or other such mechanism for decoding compressed video and simulating film grain in the video.
The overall management of film grain requires that the conveyor 10 (i.e., encoder) provide information about the film grain in the incoming video. In other words, the conveyor 10 "models" the film grain. In addition, the receiver 11 (i.e., decoder) simulates film grain based on the film grain information received from the transmitter 10. When there is difficulty in maintaining film grain during the video encoding process, the transmitter 10 enhances the quality of the compressed video by enabling the receiver 11 to simulate film grain in the video signal.
In the embodiment shown in fig. 1, the transmitter 10 includes a video encoder 12 that encodes a video stream using any of the well-known video compression techniques such as the ITU-T rec.h.264| ISO/IEC 14496-10 video compression standard. Optionally, a film grain remover 14 in the form of a filter or the like, depicted in dashed lines in fig. 1, may be present upstream of the encoder 12 to remove any film grain in the incoming video stream prior to encoding. For the case where the incoming video does not contain film grain, there is no need for the film grain remover 14.
The film grain modeler 16 receives the input video stream, and the output signal of the film grain remover 14 (when present). Using such input information, the film grain modeler 16 establishes film grain in the incoming video signal. In this simplest form, the film grain modeler 16 may comprise a look-up table containing film grain models for different film stocks. The information in the incoming video signal will specify the particular film stock that was originally used to record the image prior to conversion to the video signal, thereby allowing the film grain modeler 16 to select the appropriate film grain model for such film stock. Alternatively, the film grain modeler 16 could comprise a processor or dedicated logic circuit that would execute one or more algorithms to sample the incoming video and determine the film grain patterns that are present.
Typically, the receiver 11 includes a video decoder 18 for decoding the compressed video stream received from the transmitter 10. The structure of the decoder 18 will depend on the type of compression performed by the encoder 12 within the transmitter 10. Thus, for example, use within a transmitter 10 of an encoder 12 that employs the ITU-T Rec.H.264| ISO/IEC 14496-10 video compression standard to compress outgoing video would require exclusively an H.264 compatible decoder 18. Within the receiver 11, a film grain simulator 20 receives film grain information from the film grain modeler 16. The film grain simulator 20 can take the form of a programmable processor, or dedicated logic circuit having the capability of simulating film grain for combination with the decoded video stream by combiner 22.
The purpose of film grain simulation is to: film grain is synthesized that simulates the look of the original film content. As described, film grain modeling occurs at the conveyor 10 of fig. 1, while film grain simulation occurs at the receiver 11. In particular, film grain simulation occurs in the receiver 11 upstream of the output of the decoded video stream in conjunction with decoding the incoming video stream from the transmitter 10. Note that the decoding process occurring in the receiver 11 is useless for images to which film grain has been added. Film grain simulation, in contrast, constitutes a post-processing method for synthesizing simulated film grain in the decoded image for display. For this reason, the ITU-T Rec.H.264| ISO/IEC 14496-10 video compression standard does not contain specifications regarding the film grain simulation process. Film grain simulation, however, requires information about the grain pattern in the incoming video signal, which is typically transmitted in a Supplemental Enhancement Information (SEI) message as indicated by revision 1 (fidelity range extension) of the compression standard when using the ITU-T rec.h.264| ISO/IEC 14496-10 video compression standard.
The film grain simulation technique of the present principles enables film grain simulation to bit precision and has application to consumer products, such as HD DVD players. Other potential applications may include set-top boxes, televisions, and even recording devices such as video cameras. Film grain simulation occurs after decoding the video bitstream and before pixel display. The film grain simulation process requires decoding of the film grain supplemental information conveyed in the SEI message. The specification that enables the film grain SEI message ensures that the technique will meet the requirements of high definition systems in terms of quality and complexity.
The values of the parameters transmitted in the ITU-T Rec.H.264| ISO/IEC 14496-10 film grain characterization SEI message comply with these constraints:
the parameter model _ id specifies the simulation model. It should be 0, which identifies the film grain simulation model as frequency filtering.
The parameter separate _ color _ description _ present _ flag specifies whether the color space in which the film grain parameters are estimated is different from the color space in which the video sequence has been encoded. This parameter is equal to 0, which indicates that the color space used for film grain simulation is the same as the color space used for encoding.
The parameter blending _ mode _ id specifies the blending mode used to blend the simulated film grain with the decoded image. This parameter is equal to 0, which corresponds to an additive blending mode.
The parameter log2 scale factor specifies the logarithmic scale factor used to represent the film grain parameter in the SEI message. This parameter falls in the range 2, 7 to ensure that a 16-bit algorithm can be used to generate the film grain simulation.
The parameters intensity _ interval _ lower _ bound [ j ] [ i ] and intensity _ interval _ upper _ bound [ j ] [ i ] specify the limits of the intensity interval (intensity interval) i of the color component j for which the film grain parameters have been modeled. For all j and i, the intensity _ interval _ lower _ bound [ j ] [ i +1], this parameter remains greater than the intensity _ interval _ upper _ bound [ j ] [ i ], since multiple-generation film grain is not allowed.
The parameter num _ model _ values _ minus1[ j ] specifies the number of model values present in each luminance interval of the color component j. For all j, this parameter falls in the range [0, 2], which specifies that bandpass filtering and correlation between colors are not supported.
The parameter comp _ model _ value j [ i ] [0] specifies the film grain for the color component j and the intensity interval i. This parameter falls in the range 0, 255 for all j and i to ensure that the film grain simulation can be performed using a 16-bit algorithm.
The parameter comp _ model _ value j [ i ] [1] specifies the horizontal high cut-off frequency, which characterizes the film grain shape for the color component j and the intensity interval i. (the horizontal high and low cutoff frequencies, along with the vertical high and low cutoff frequencies, describe the properties of the two-dimensional filter that characterize the desired film grain pattern). For all j and i, this parameter falls within the range [2, 14], which includes all desired particle patterns.
The parameter comp _ model _ value j [ i ] [2] specifies the vertical high cutoff frequency that characterizes the film grain shape for the color component j and the intensity interval i. For all j and i, this parameter falls within the range [2, 14], which includes all desired particle patterns. The number of different pairs (comp _ model _ value [ j ] [ i ] [1], comp _ model _ value [ j ] [ i ] [2]) remains no greater than 10 for all combinations of color components j and luma intervals i in the SEI message.
According to this specification, all other parameters in the film grain SEI message specified by the ITU-T rec.h.264| ISO/IEC 14496-10 standard have no constraints.
In accordance with the present principles, film grain simulation to bit precision occurs in the current picture unless the parameter file _ grain _ characteristics _ cancel _ flag is equal to unity, or the frame range specified by the parameter file _ grain _ characteristics _ reproduction _ period is exhausted. The current specification of the ITU-t rec.h.264| ISO/IEC 14496-10 standard allows film grain to be simulated in all color components. If the parameter comp _ model _ present _ flag [ c ] is equal to the unit of one in the film grain SEI message, then the film grain is simulated and added to the color component c of the decoded picture. Film grain simulation to bit accuracy occurs by specifying: a database of film grain patterns; a uniform pseudorandom number generator; and an accurate sequence of operations. Typically, film grain simulation occurs independently of each color component.
FIG. 2 depicts: JL1 a schematic block diagram of a method according to a preferred embodiment of the present principles for simulating film grain. The method begins when the execution 100 establishes parameters for simulated film grain. A portion of the process of establishing film grain parameters for simulated film grain includes: film grain information carried by the incoming video signal is extracted. The film grain information will be present in the SEI message by the incoming video signal being encoded using the ITU-T rec.h.264| ISO/IEC 14496-10 video coding standard. As shown in fig. 2, extracting the SEI message requires decoding the incoming H-264 encoded incoming video signal using an h.264| MPEG-4AVC compatible decoder 101.
As described above, the SEI message contains several parameters, including the intensity _ interval _ lower _ bound [ c ] [ i ] and intensity _ interval _ upper _ bound [ c ] [ i ] parameters, where i has a range of values from 0 to the parameter num _ interval _ intervals _ minus1[ c ]. The SEI message parameters are compared to the average pixel luminance value of each non-overlapping 8 x 8 pixel block in the decoded image stored in the display buffer 102, calculated during step 102 for the color component c after decoding by the decoder 101. The average calculation that occurs during step 102 is performed in the following manner for each non-overlapping 8 x 8 pixel block of color components c from the decoded image;
avg=0
for(i=0..7,j=0..7)
avg+=decoded_image[c][m+i][n+j]
avg=(avg+32)>>6
where (m, n) is the coordinates of the top left corner of the block and decoded _ image [ c ] [ x ] [ y ] is the decoded pixel value at the coordinates (x, y) of color component c, which may take the value 0, 1 or 2 representing the particular color component of the three primary color components.
Keeping the macroblock average pixel luminance value at a value of no less than intensity _ interval _ lower _ bound [ c ] [ i ] and no greater than i of intensity _ interval _ upper _ bound [ c ] [ i ] is used as a film grain parameter for selecting film grain simulated for the current block in the image. If there is no value that satisfies this condition, no film grain simulation will occur for the current block.
Typically, the film grain parameter selection process includes the steps of: in processing the chroma components (c 1, 2), the cut-off frequency is scaled to fit the 4:2:0 chroma format as follows:
comp_model_value[c][s][1]=Clip(2,14,(comp_model_value[c][s][1]<<1))
comp_model_value[c][s][2]=Clip(2,14,(comp_model_value[c][s][2]<<1))
step 104 begins with the creation of a block of film grain, typically, although not necessarily, 8 x 8 pixels in size. The step of creating a film grain block of 8 x 8 pixels involves: an 8 x 8 block of film grain samples is taken from the film grain database 105 and the samples are scaled to the appropriate brightness, however scaling is required if desired, but is not necessarily present. Typically, the database 103 includes 169 patterns of 4096 film grain samples, each representing a 64 x 64 film grain pattern. The database 105 stores the values in 2's complement with a range from-127 to 127. The synthesis of each film grain pattern typically occurs using a specific pair of cut-off frequencies that establish a two-dimensional filter that defines the film grain pattern. The cutoff frequencies transmitted in the SEI message allow access to the database 105 of film grain patterns during film grain simulation.
The scaled cut-off frequencies (comp _ model _ value [ c ] [ s ] [1] and comp _ model _ value [ c ] [ s ] [2]) determine which pattern of the database to use as a source of film grain samples. Two randomly generated values are used to select an 8 x 8 block from a pattern selected according to the cut-off frequency. These random values used to select an 8 x 8 pixel film grain block represent horizontal and vertical offsets within a 64 x 64 pixel pattern and are created using the following process:
i_offset=(MSB16(x(k,ec))%52)
i_offset&=0xFFFC
i_offset+=m&0x0008
j_offset=(LSB16(x(k,ec))%56)
j_offset&=0xFFF8
j_offset+=n&0x0008
wherein, x (k, e)c) Indicated with seed ecInitiated with the seed ec) The kth symbol, MSB, of a pseudo-random number sequence x16And LSB16Respectively representing the 16 most significant bits and the 16 least significant bits, and (m, n) are the coordinates of the current 8 × 8 block in the decoded image. For i _ offset, the first equation is generated in the range 0, 51]The second equation constrains this value to a multiple of 4, and the last equation adds 8 to i _ offset when m% 16 equals 8. For j _ offset performs the same operation.
The uniform pseudo-random number generator 106 provides pseudo-random numbers for selecting 8 x 8 pixel blocks. Referring to fig. 3, the pseudo-random number generator 106 JL2 typically includes a 32-bit shift register that implements the primitive polynomial modulo 2 operator, x ^31+ x ^3+1, to randomly select a film grain block of 8 x 8 pixels from the film grain pattern of 64 x 64 pixels in the database. The two pseudo-random numbers used for 8 x 8 film grain block selection include the 16 Most Significant Bits (MSBs) and the 16 least significant bits, respectively, output by the shift register.
The pseudo-random value x (k, e) created using the pseudo-random number generator 106c) Updated at every 16 pixels (horizontal) and every 16 lines (vertical) of the image. Identical pseudo-random numbers x (k, e)c) For each 16 x 16 pixel non-overlapping region of the decoded image. The resulting pseudo-random values x (k, e) are shown in FIG. 4c) Follows a raster scan order over a 16 x 16 pixel grid. Although the illustrated embodiment assumes a raster scan order of 8 x 8 pixel blocks, other implementations are possible.
The random number generator 106 has different seed assignments depending on the color component (c) to which the film grain is added. Upon receipt of the film grain SEI message, the seed e1, which is used to simulate film grain in the first color component, typically has a value in units of one. Typically, the seed e2 used to simulate film grain on the second color component has a value of 557794999; and typically the seed e3 used to simulate film grain in the third color component has a value of 974440221.
Referring to fig. 2, after the random offset is calculated, the extraction of 64 film grain values from the database and scaling (if necessary) occurs as follows:
scale_factor=BIT0(x(k,ec))=0comp_model_value[c][s][0]:-
comp_model_value[c][s][0]
for(i=0..7,j=0..7)
g=scale_factor*database[h][v][i+i_offset][j+j_offset]
film_grain_block[i][j]=(((g+2log2_scale_factor-1)>>log2_scale_factor)+32)>>6
where h is equal to comp _ model _ value [ c][s][1]-2, v equals comp _ model _ value [ c][s][2]2 and a factor of 6 scales the film grain values obtained from the film grain pattern database. BIT0Indicating the LSB.
During step 108 deblocking filtering occurs between each film grain block created during step 104 and the previous block 109 to ensure seamless formation of the film grain pattern. The deblocking filtering is applied only to the vertical edges between adjacent blocks. Assuming simulation of a film grain block in raster scan order, and that the leftmost pixel of current _ fg _ block is located adjacent to the rightmost pixel of previous _ fg _ block, deblocking filtering typically occurs by a 3-tap filter (not shown) with coefficients 1, 2, 1 as follows:
for(i=0,j=0..7)
current_fg_block[i][j]=(previous_fg_block[i+7][j]+
(current_fg_block[i][j]<<1)+
current_fg_block[i+1][j]+2)>>2
previous_fg_block[i+7][j]=(previous_fg_block[i+6][j]+
(previous_fg_block[i+7][j]<<1)+
current_fg_block[i][j]+2)>>2
at the end of the film grain simulation process, the deblocked film grain block is blended with the corresponding decoded image block, via block 110, and the result is limited (clip) to [0, 255] prior to display in the following manner:
for(i=0..7,j=0..7)
display_image[c][m+i][n+j]=Clip(0,255,decoded_image[c][m+i][n+j]+
fg_block[i][j])
where (m, n) is the coordinate of the top left corner of the block, decoded _ image [ c ] [ x ] [ y ] is the decoded pixel value at coordinate (x, y) of color component c, and display _ image [ c ] [ x ] [ y ] is the video output at the same coordinate.
The switching element 111, under the control of the control element 112, controls the passage of the deblocked film grain block to the block 110. The control element 112 controls the switching element in response to whether the SEI message parameter file _ gain _ characteristics _ cancel _ flag is equal to unity, or has exceeded a film grain simulation frame range specified by the parameter file _ gain _ characteristics _ reproduction _ period, indicating whether film grain simulation frame ranges should occur as described above.
The foregoing describes a technique for simulating film grain that has application in consumer electronic devices such as set-top boxes, HD-DVD players, televisions, and camcorders. The relatively low cost of random access memory readily allows the film grain database 105 to be incorporated into a memory element. The steps of establishing film grain parameters, creating a film grain block, and deblocking filtering can be readily performed by a combination of one or more microprocessors, programmable gate arrays, and dedicated logic circuits, depicted generally at block 114 in fig. 2, to produce a film grain block for addition to a video image.
Claims (25)
1. A method of simulating a film grain block for addition to an image block, comprising the steps of:
establishing an average pixel luminance for an image block based at least in part on attributes of the image block; and
at least one film grain block is created based on the average pixel luminance.
2. The method of claim 1, further comprising the steps of: deblocking filtering the film grain block.
3. The method of claim 1 wherein said step of creating at least one film grain block comprises the steps of:
providing a plurality of film grain patterns for selection; and
selecting a source pattern from the plurality of film grain patterns;
a block of film grain is selected from the source pattern.
4. The method of claim 1, further comprising the steps of: the average pixel luminance is thresholded according to an upper limit value of a pixel luminance threshold value and a lower limit value of a pixel luminance threshold value included in supplementary information of an accompanying image.
5. The method of claim 3 wherein the step of selecting a block of film grain from the source pattern further comprises the steps of: the film grain blocks are randomly selected.
6. The method of claim 5 wherein said step of randomly selecting a block of film grain from a source pattern comprises the steps of:
generating a first pseudo random number and a second pseudo random number;
generating a first offset and a second offset within the film grain pattern based on the first pseudo random number and the second pseudo random number; and
a film grain block is extracted at a location in the film grain pattern specified by the first and second offsets.
7. The method of claim 6, further comprising the steps of: the extracted film grain blocks are scaled.
8. The method of claim 6, wherein the step of generating a first pseudo random number and a second pseudo random number further comprises the steps of:
assigning a seed value to the shift register selected according to the color components of the image block, an
Extracting a set of most significant bits as the first pseudorandom number; and
a set of least significant bits is extracted as the second pseudo random number.
9. The method of claim 3 wherein said step of providing an alternative plurality of film grain patterns further comprises the steps of: the database is populated with predetermined film grain patterns.
10. The method of claim 1, further comprising the steps of: blending the deblocked film grain pattern with the image block.
11. The method of claim 2, wherein the deblocking step further comprises the steps of: the vertical edges between adjacent film grain blocks are deblocked.
12. A method of simulating film grain in a 4:2:0 chroma format in at least one image block, comprising the steps of:
establishing at least one film grain parameter in a 4:4:4 chroma format based on at least one attribute of at least one block; and
a film grain block is derived from the database of film grain patterns by randomly selecting a film grain block from the database in accordance with the at least one film grain parameter.
13. The method of claim 12, further comprising the steps of: deblocking at least a portion of the derived film grain block.
14. The method of claim 12, further comprising the steps of: the deblocked block of film grain is blended with the at least one image block.
15. An apparatus for simulating a block of film grain for addition to an image block, comprising:
a film grain simulator for establishing an average pixel luminance for an image block based at least in part on attributes of the image block and for establishing at least one film grain block based on the average pixel luminance.
16. The apparatus of claim 15, further comprising: a deblocking filter for deblocking filtering the film grain block.
17. The apparatus of claim 15, wherein said film grain simulator further comprises:
means for providing a plurality of film grain patterns for selection;
means for selecting a source pattern from the plurality of film grain patterns; and
means for selecting a block of film grain from the source pattern.
18. The apparatus of claim 15, further comprising: and means for performing threshold processing on the average pixel luminance based on an upper limit value of the pixel luminance threshold value and a lower limit value of the pixel luminance threshold value included in the supplementary information of the accompanying image.
19. The apparatus of claim 17, wherein said means for selecting a block of film grain from a source pattern further comprises: means for randomly selecting a film grain block.
20. The apparatus of claim 19, wherein said means for randomly selecting a block of film grain from a source pattern comprises:
means for generating a first pseudo random number and a second pseudo random number;
means for generating a first offset and a second offset within the film grain pattern based on the first pseudo random number and the second pseudo random number; and
means for extracting a film grain block at a location in the film grain pattern specified by the first and second offsets.
21. The apparatus of claim 20, further comprising: means for scaling the extracted film grain blocks.
22. The apparatus of claim 20, wherein the means for generating a first pseudo-random number and a second pseudo-random number further comprises:
a section that assigns a value selected according to a color component of the image block to the shift register; and
means for extracting a set of most significant bits as the first pseudo random number and a set of least significant bits as the second pseudo random number.
23. The apparatus of claim 17 wherein said means for providing a plurality of film grain patterns for selection further comprises means for populating a database with predetermined film grain patterns.
24. The apparatus of claim 15, further comprising: means for blending the deblocked film grain pattern with the image blocks.
25. The apparatus of claim 16 wherein said deblocking filter deblocks vertical edges between adjacent film grain blocks.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61965504P | 2004-10-18 | 2004-10-18 | |
| US60/619,655 | 2004-10-18 | ||
| PCT/US2005/036209 WO2006044260A1 (en) | 2004-10-18 | 2005-10-07 | Film grain simulation method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1104365A1 HK1104365A1 (en) | 2008-01-11 |
| HK1104365B true HK1104365B (en) | 2012-10-05 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101044510B (en) | Film grain simulation method | |
| KR101274644B1 (en) | Film grain simulation technique for use in media playback devices | |
| KR100989897B1 (en) | Method and apparatus for bit-accurate film grain simulation | |
| JP5876691B2 (en) | Technology for simulating film grain using a film grain pattern database | |
| CN100371955C (en) | Method and device for representing image granularity by one or more parameters | |
| KR101174179B1 (en) | Technique for adaptive de-blocking of block-based film grain patterns | |
| AU2005309975B2 (en) | Low-complexity film grain simulation technique | |
| CA2587117C (en) | Bit-accurate film grain simulation method based on pre-computed transformed coefficients | |
| HK1104365B (en) | Film grain simulation method | |
| HK1107480B (en) | Method and apparatus for film grain simulation | |
| HK1087232B (en) | Method and apparatus for representing image granularity by one or more parameters |