MXPA06006308A - Technique for film grain simulation using a database of film grain patterns - Google Patents

Technique for film grain simulation using a database of film grain patterns

Info

Publication number
MXPA06006308A
MXPA06006308A MXPA/A/2006/006308A MXPA06006308A MXPA06006308A MX PA06006308 A MXPA06006308 A MX PA06006308A MX PA06006308 A MXPA06006308 A MX PA06006308A MX PA06006308 A MXPA06006308 A MX PA06006308A
Authority
MX
Mexico
Prior art keywords
film grain
block
grain
values
group
Prior art date
Application number
MXPA/A/2006/006308A
Other languages
Spanish (es)
Inventor
Allen Cooper Jeffrey
Macdonald Boyce Jill
Gomila Cristina
Yin Peng
Tourapis Alexandros
Llach Joan
Original Assignee
Macdonald Boyce Jill
Allen Cooper Jeffrey
Gomila Cristina
Llach Joan
Thomson Licensing Sa
Tourapis Alexandros
Yin Peng
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macdonald Boyce Jill, Allen Cooper Jeffrey, Gomila Cristina, Llach Joan, Thomson Licensing Sa, Tourapis Alexandros, Yin Peng filed Critical Macdonald Boyce Jill
Publication of MXPA06006308A publication Critical patent/MXPA06006308A/en

Links

Abstract

Individual pixels in an image block undergo blending with film grain from a film grain block randomly selected from among a pool (18) of previously established film grain blocks in accordance with a luma characteristic of the image block. Prior to blending, the selected film grain block undergoes deblocking by a deblocking filter (28). Following blending, a clipper (32) clips the individual pixels prior to display. The pool(18) of film grain blocks is created by scaling a set of film grain patterns in accordance with at least one parameter of a film grain information message that accompanies the image block.

Description

TECHNIQUE FOR FILM GRAIN SIMULATION USING A GRAIN PATTERN DATABASE MOVIE CROSS REFERENCE TO RELATED REQUESTS This request claims priority according to 35 U.S.C. 119 (e) for the Provisional Patent Application of E.U.A. Series No. 60 / 527,895 filed on December 5, 2003, 2003, the teachings of which are incorporated herein.
TECHNICAL FIELD This invention relates to a technique for simulating film grain in an image.
ANTECEDENT TECHNIQUE The moving image films comprise silver halide crystals dispersed in an emulsion, which is covered with thin layers in a film base. The exposure and development of these crystals form the photographic image consisting of small separated particles of silver. In color negatives, small droplets of dye occur in places where silver crystals form and which allow chemical removal of silver during the development of the film base. These tiny stains of dye commonly carry the "grain" label on the color film. The grain appears randomly distributed in the resulting image due to the random formation of silver crystals in an original emulsion. Within a uniformly exposed area, some crystals develop after exposure while others do not. The grain varies in size and shape. The faster the film, the larger the silver groups formed and the generated dye drops, and the more random patterns will be grouped. The term "granularity" typically refers to the grain pattern. At first glance, it is not possible to distinguish the individual grains, which vary from 0.0002 mm to approximately 0.002 mm. Instead, the view solves the groups of grains, called drops. An observer identifies these groups of drops as film grain. While the image resolution becomes larger, the perception of the film grain becomes superior. The film grain becomes clearly noticeable in the cinema and High Definition (HD) images, while the film grain progressively loses importance in the Standard Definition (SD) and becomes imperceptible in smaller formats. Motion picture film typically contains image-dependent noise that results either from the physical procedure of exposure and development of the photographic film or from the subsequent editing of the images. Photographic film has an almost random pattern of characteristic, or texture, that results from the physical granularity of the photographic emulsion. Alternatively, simulation of the similar pattern can occur in computer generated images in order to mix them with. photographic film. In both cases, this image-dependent noise carries the designation "film grain". Frequently, the moderate grain texture presents a desirable feature in motion films. In some cases, the film grain provides visual clues that facilitate the correct perception of images in two dimensions. The film grade frequently varies within an individual film to provide several tracks as a reference of time, point of view, etc. There are many other technical and artistic demands to control grain texture in the motion picture industry. Therefore, preserving the appearance of image grain through image processing and delivery chains has become a requirement in the motion picture industry. Several commercially available products have the ability to simulate film grain, often to mix a computer-generated object in the natural scene. Cineon® by Eastman Kodak Co., Rochester New York, one of the first digital film applications to implement film grain simulation does not generate good performance for many high speed films due to the remarkable diagonal stripes produced by the application for configurations of top grain size. In addition, the Cineon® application fails to simulate grain with proper fidelity when the image is subjected to prior processing, for example, such as when images are copied or digitally processed. Another commercial product that simulates film grain is GrainSurgery ™ by Visual Infinity Inc., which is used as an Adobe® After Effects® connector. The Grain Surgery ™ product seems to generate synthetic grain by filtering a group of random numbers. This approach suffers from a disadvantage of superior computational complexity. In this way, there is a need for an efficient film grain simulation technique, which reduces the need for broadband memory, and computational effort, thus allowing the simulation of film grain in devices of higher volume of sensitive to the cost, such as TV boxes by cable.
COMPENDIUM OF THE INVENTION Briefly, according to one aspect of the present invention, there is provided a method for creating a block of M X N pixels with film grain to be mixed with pixels of an image block, wherein N and M are integers greater than zero. The method begins with the receipt of film grain information that includes at least one parameter that specifies an attribute of the film grain to appear in the film grain block.
(Those parameters that are not transmitted must be set to default values.In a particular mode, the default values can be derived as specified in the H.264 | AVC standard). A film grain block of M x N pixels was selected from a database of previously established blocks containing film grain as a function of a pseudo-random number and a set of cut-off frequencies that characterize the grain pattern of film. All pixel values in the selected film grain block undergo classification according to the parameter in the received film grain information. The block created from film grain is then made part of a group of film grain blocks from which a block is selected to be mixed with the pixels in an image block to simulate film grain in the image block. According to another aspect of the present invention, a method for simulating film grain in a pixel image block is provided. The method begins with the selection of a block of film grain from a set of pre-set film grain values. The selection of the film grain block occurs randomly, according to a random number, between those group blocks for the luma intensity interval that corresponds to the average luma value of the image block. The selected film grain block suffers unlocking. At least one portion of the unblocked film grain block is mixed with individual pixels of the image block to simulate film grain and the resulting mixed pixels are held before the output, such as for display or the like.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates a schematic block drawing of an apparatus for generating pre-set film grain blocks for use in the simulation of subsequent film grain; and Figure 2 illustrates a schematic block drawing of an apparatus in accordance with current principles for simulating film grain on a pixel-by-pixel basis using the pre-set film grain blocks generated by the apparatus of Figure 1.
DETAILED DESCRIPTION Introduction In accordance with current principles, film grain simulation occurs according to the film grain information transmitted with an image to which the simulated grain is mixed. In practice, the transmitted image typically undergoes compression (encoding) before transmission through one of a variety of well-known compression schemes, such as the H.264 compression scheme. With the transmitted image compressed using the H.264 compression scheme, the transmission of the film grain information typically occurs through a Supplemental Information Information (SEI) message. Following the contributions recently adopted by the body of standards responsible for promulgating the H.264 standard, the SEI message can now include several parameters that specify different attributes of film grain.
Obligations in the parameters of SEI messages of film grain The method of the current principles imposes some obligations with respect to the number of parameters and their range of possible values allowed by the recommendation of H.264. Table 1 provides a list of such parameters, including a description of their semantics and the obligations imposed by current principles.
TABLE 1 According to current principles, the parameters comp_model_value [0] [i] [1] and comp_model_value [0] [i] [2] can take different values. However, only a limited number of different pairs are allowed (comp_modelo_vaior [0] [i] [1], comp_modelo_valor [0] [i] [2], as specified in Table 2.
TABLE 2 All other parameters of the SEI message of film grain have no obligation with respect to the standard specification.
Precise Implementation of Film Grain Simulation Bit The simulation of film grain according to current principles occurs in a two-step procedure. First, the generation of a group of film grain blocks occurs during the initiation following the receipt of a SEI message preceding an I image, as described in greater detail with respect to Figure 1. From the group of blocks of film grain, a particular block of values is selected. After that, the portions of the selected block are added to each luminance pixel of each decoded image as described with respect to Figure 2. Figure 1 illustrates an apparatus 10 according to an illustrated mode of current principles for generating a group of film grain blocks to be used in the simulation of film grain. With the receipt of a film grain SEI message containing film grain information, an initiation procedure occurs to create a group of 4,096 (512x8) film grain pixel values for each of up to 8 intensity ranges of different luma. The number of luma intensity intervals is indicated by 1 plus the message field of SEl num_intensity_intervals_less1 [0]. The generation of the film grain samples starts with the lowest luma intensity interval. Precise bit simulation of film grain noise typically occurs by the use of a specific uniform pseudo-random number generator polynomial and by the use of a specific database of film grain patterns 12. In practice, the database 12 of the film grain patterns comprises 26 groups of 4,096 (512x8) values of the film grain (13 groups with round grain and 13 groups with elongated grain). The values are stored in the form of complement 2 and vary from [-127,127]. The list of values for each group can be predefined and stored in permanent storage accessible by the system or created using a precise bit method with system initiation or restart. The film grain patterns stored in the database 12 undergo selection through a selection block 14 and subsequent sorting through a sorting block 16 to obtain a group 18 of film grain blocks. The access to the database 12 of film grain patterns, the classification of the values by block 16, and subsequent storage of the values classified in the blocks in group 18 occurs according to the following routine: for (i) = 0..4,095) v = comp_model_value [0] [s] [0] * database [m] [n] [i] grUp? [S] [Í] = ^ v + 2log2_classification_factor_1 > > log2_classification_factor) + 32) > > 6 where n is equal to comp_model_value [0] [s] [2] -3, m equals 0 when num_param_menos1 [0] is 1 and equal to 1 otherwise, and factor 6 classifies the grain values of movie stored in the database. This procedure is performed as many times as indicated by 1 plus the message field of SEl num_intensity_intervals_less1 [0].
Block and pixel operations before the pixel presentation Figure 2 illustrates an apparatus 20 for performing the operations necessary to add film grain to the decoded image at the block and pixel level. An average block of luma 22 processes each 8x8 block of the decoded image and calculates the average of the pixel values of luma by comparison against the message of intensity int_interval_inferior_link [0] [i] and parameters of intensity_interval_superior_link [0] [ ¡] To determine the correct luma intensity interval for the block. A uniform random number generator 24 generates a random number to enter a selector block 26 using a primitive polynomial module operator 2, x18 + x5 + x2 + x1 + 1. The selector block 26 accesses the film grain group 18 to select the film grain blocks according to the random number and the intensity value of luma. To appreciate the way in which the random number generator 24 generates the random number for the film grain block selection, ax (i, e) is allowed to indicate the ivo symbol of the sequence x, which starts with an initial seed and. (The seed is set to 1 with the receipt of each message of film grain SEl). The equivalent for the current 8x8 block of the film grain is generated as follows: previous_equivalent = equivalent equivalent = (x (i, 1)% 4,088) > > 2 equivalent? = index = = previous_equ iva lens) equivalent < < = 2 where the equivalent of 0 has been started after the creation of the group. After calculation of the equivalent, the 8x8 block of the film grain is extracted from the group as follows: for (i = 0..7, j = 0..7) block [i] [j] = group [s] [equivalent + i + j * 4096] The film grain block selected by the selector block according to the random number of the random number generator 24 and the average luminance value of the block 22 suffers unlocking of the pixels in the left and right columns. right of the block by an unlocking filter 28 before mixing. After that, an aggregator 30 adds the corresponding value of the unlocked film grain block to the corresponding decoded pixels, and a fastener 32 holds the results within the range [0.255] to generate luma pixels mixed with the film grain for presentation in a presentation (not shown) or for subsequent recording. It should be noted that the film grain noise is only added to luma pixels.
Unblocking filter 28 As described, the unblocking filter operates to unblock the film grain block before mixing to soften the blocking devices resulting from the small size of the transformation. In an illustrative embodiment, the deblocking filter 28 comprises a 3-liter filter applied to all the pixels surrounding the left and right edges of the 8x8 block. Given a row of pixels belonging to two adjacent 8x8 blocks, the transition between blocks that is located between pixels b and c.
Block A Block B the filter is applied as follows: b '= (a + (b < <1) + c) > > 2 c '= (b + (c < < < 1) + d) > > 2 where b 'and c' replace the value of the original pixels b and c, respectively. Unlocking the edges of the left and right block is done for each block at the time of presentation. The method described above for simulating film grain can be practiced quickly by content replication devices, such as a DVD player (or player / recorder) or content delivery mechanism such as t.v. by cable or similar. In the case of a content replication device such as the DVD player or DVD player / recorder, the content medium (eg, the DVD) would convey the film grain information together with the same content (ie, compressed video) to allow the content replication device to simulate the film grain in the manner described. In that way, for example a DVD would carry both image information, typically in the form of compressed macroblocks, as well as film grain information, which would allow a DVD player or player / recorder to mix film grain with non-decompressed video for subsequent presentation . The foregoing describes a technique for simulating film grain in an image. Advantageously, the film grain simulation technique offers the ability to simulate elongated film grain to the benefit of the allowed values for the parameter num_model_values_less1 [0] as well as the allowed values for the parameters comp_model_value [0] [i] [1] , and comp_model_value [0] [¡] [2]. In addition, the film-sham simulation technique of the current principles, the selection of a group of film grain samples from the sample database 12 avoids the need to perform a Separate Cosine Transformation (DCT) and a DCT reverse.

Claims (17)

1. - A method to create a block of M x N pixels with film grain to be mixed with an image to simulate film grain, where N and M are integers greater than zero, comprising the steps of: receiving film grain information which includes at least one parameter that specifies an attribute of the film grain to appear in the image block; derive the parameters not transmitted based on predetermined preset values; selecting a film grain block of M x N pixels from a group of previously established blocks containing film grain as a function of a pseudo-random number and at least one parameter characterizing the film grain; and classifying all pixel values in the block as indicated by at least one parameter that characterizes the film grain; and store the created block of the film grain in a group of film grain blocks.
2. The method according to claim 1, wherein the selection step further comprises the step of selecting from a predetermined number of groups of 4096 values each.
3. The method according to claim 2, wherein each of the predetermined number of groups of values is ordered as an array of 512 x 8.
4. The method according to claim 3, wherein the predetermined number of value groups are stored in complement 2 and vary from [-127, 127].
5. The method according to claim 1, further comprising the steps of: selecting a block of film grain from among the group of film grain blocks according to a pseudo-random number and a luma characteristic of the incoming image; unlock the opposite edges of the selected film grain block; and mixing at least a portion of the selected film grain block with each pixel in the image block; and hold the image block pixels mixed with the film grain.
6. A method for simulating film grain in a pixel image block, comprising the steps of: randomly selecting a block of film grain from a group of pre-set film grain blocks for a value of luma that corresponds to a luma characteristic of the image block; unlock the selected film grain block; mixing at least a portion of the unlocked film grain block with each pixel of the image block to simulate film grain; hold the resulting mixed pixels before leaving.
7. The method according to claim 6, wherein the group of pre-established film grain blocks is created through the steps of: receiving film grain information including at least one parameter specifying an attribute of the grain of film to appear in the image block; selecting a block of film grain of M x N pixels from a group of previously established blocks containing film grain as a function of a pseudo-random number; classify all pixel values in the block as indicated by a parameter in the received film grain information; and store the created block of the film grain in a group of film grain blocks.
8. The method according to claim 7, wherein the selection step further comprises the step of selecting from a predetermined number of groups of 4096 values each.
9. The method according to claim 8, wherein each of the predetermined number of groups of values is ordered as an array of 512 x 8.
The method according to claim 8, wherein the predetermined number of value groups is stored in complement 2 and vary from [-127, 127].
11. - A data vehicle containing film grain blocks established according to the method according to claim 7, for mixing with video information carried by the data vehicle.
12. The method according to claim 11, wherein the data vehicle comprises a DVD.
13. The apparatus for creating a block of M x N pixels, comprising: a first storage tank for storing a group of previously established M x N pixel blocks containing film grain, where M and N are integers; a selector for selecting a block of film grain of M x N pixels of the first deposit as a function of a pseudo-random number; and a classification block for classifying all pixel values in the selected film grain block according to at least one movie grain information parameter received by the classification block; and a second storage tank that stores the film grain blocks.
14. The apparatus according to claim 13, wherein the first storage tank stores a predetermined number of groups of 4096 values each.
15. The apparatus according to claim 13, wherein each of the predetermined number of groups of values is arranged as a 512 x 8 matrix.
16. The apparatus according to claim 15, wherein the number The default group of values is stored in plug-in 2 and they vary from [-127, 127].
17. An apparatus for simulating film grain in a pixel image block, comprising: a group of previously established film grain values; a selector for randomly selecting a block of film grain from the group of pre-set film grain seals for a value of luma corresponding to a luma characteristic of the picture block; an unlock filter to unlock the selected film grain block; an aggregator for mixing at least a portion of the unlocked film grain block with each pixel of the image block to simulate the film grain; and a fastener to hold the resulting mixed pixels before leaving.
MXPA/A/2006/006308A 2003-12-05 2006-06-02 Technique for film grain simulation using a database of film grain patterns MXPA06006308A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US60/527,895 2003-12-05

Publications (1)

Publication Number Publication Date
MXPA06006308A true MXPA06006308A (en) 2006-10-17

Family

ID=

Similar Documents

Publication Publication Date Title
JP5876691B2 (en) Technology for simulating film grain using a film grain pattern database
KR100989897B1 (en) Technique for bit-accurate film grain simulation
RU2378697C2 (en) Method of simulating film granularity
KR101166948B1 (en) Low-complexity film grain simulation technique
KR101274644B1 (en) Film grain simulation technique for use in media playback devices
KR101170584B1 (en) Film grain simulation method based on pre-computed transform coefficients
BRPI0410383B1 (en) &#34;METHOD AND APPARATUS FOR SIMULATING FILM GRAIN BY ONE OR MORE PARAMETERS&#34;
KR101169826B1 (en) Bit-accurate film grain simulation method based on pre-computed transformed coefficients
MXPA06006308A (en) Technique for film grain simulation using a database of film grain patterns
EP1809043A1 (en) Technique for film grain simulation using a database of film grain patterns