Title of Invention


Abstract The addition of comfort noise to an image serves to hide compression artifacts. To facilitate comfort noise addition, supplemental information accompanying a video image contains at least one parameter that specifies an attribute regarding comfort noise. Typically, the supplemental information includes parameters that function to turn the comfort noise on and off, as well as to indicate the level of noise to add, based on the expected level of compression artifacts.
This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application Serial No. 60/511,026, filed on October 14, 2003, the teachings of which are incorporated herein.
This invention relates to a technique for adding comfort noise to hide compression artifacts.
The decoding of a video stream compressed at low bit rate often yields visible artifacts noticeable to a viewer. Blockiness and structured noise patterns are common artifacts that arise when using block-based compression techniques. The human visual system has a greater sensitivity to certain types of artifacts, and thus, such artifacts appear more noticeable and objectionable than others. The addition of random noise to the decoded stream can reduce the noticeability of such compression artifacts, but large frame-to-frame differences created by adding random noise can itself produce artifacts that appear noticeable and objectionable.
The addition of a dither signal can reduce human sensitivity to image artifacts, for example to hide contouring and blocking artifacts. One prior art technique has proposed adding a random noise dither that is based on film grain to an image to disguise block effects. The rationale for adding such random noise is that random error is more forgiving than structured or correlated error. Other prior art techniques have proposed adding a dither signal to a video stream to hide compression i tifacts. One past technique has proposed adding a random noise dither in the video encoding 'and decoding process in the in loop deblocking filter for the
ITU/ISO H. 264 video coding standard, commonly known as the JVT coding standard. The amount of dither to be added depends on the position of a pixel with respect to a block edge. Another prior technique has proposed adding that random noise subsequent to video decoding (i.e.7acTdirig~ho*ise as a "posFp*f6Tfess"), for use as'Comfort noise. The amount of noise added
depends on the quantization parameter and on the amount of noise added to spatially neighboring pixels. The term "comfort noise" comes from the use of noise in audio compression to indicate noise p'attem generated at the receiver end to avoid total silence that is uncomfortable to a listener.
Past comfort noise addition techniques, while effective, have not afforded a desired level of control over the addition of comfort noise, as well as the level of noise to be added.
Briefly, in accordance with a preferred embodiment of the present principles, there is provided a technique for reducing artifacts in a video image. The method commences by the receipt of supplemental information that accompanies the video image. The supplemental information includes at least one parameter that specifies an attribute of comfort noise for addition to the video image. Temporally con-elated comfort noise is generated and is then added to the image in accordance with the at least one parameter in the supplemental information.
FIGURE 1 depicts an apparatus in accordance with the present principles for generating comfort noise in connection with processing of the image block; and
FIGURE 2 depicts an apparatus for use with the apparatus of FIG. 1 for adding comfort noise on a pixel-by-pixel basis.
In accordance with the present principles, the addition of comfort noise to an image serves to hide compression artifacts. To facilitate comfort noise addition in accordance with the present principles, supplemental information accompanying a video image contains at least one parameter that specifies an attribute regarding comfort noise. Typically, the supplemental information includes parameters that function to turn the comfort noise on and off, as well as to indicate the level of noise to add, based on the expected level of compression artifacts.
In the illustrated embodiment, the video image typically undergoes compression in accordance with the H.264 video compression standard. Accordingly, the supplemental information containing the at least one comfort noise parameter is canned by a registered user data Supplemental Enhancement Information (SE1) message.
Comfort noise SEI message
The use of a registered user data SEI message serves to indicate the use of comfort noise. This message applies to all pictures that follow it until an DDR picture or a new comfort noise or film grain SEI message arrives. Comfort noise SEI messages can only precede I pictures, and only one comfort noise SE1 message can precede a particular I picture. I pictures are indicated by slice_.iype equal to 7, or by nal_ref_idc equal to 5. Table 1 below lists the SEI message elements related to comfort noise:
(Table Removed)
comfort_noise_flag equal to ] indicates that comfort noise addition is used. comfort_noise_,flag equal to 0 indicates that comfort noise addition is not used.
comfort_noise_.qp_offset_jdc indicates the quantization parameter offset used in the calculation of the additive comfort noise level, and may range in value from -51 to 52.
comfort_noise_qp_.vveight_()fTseMdc indicates a quantization parameter weight offset used in the calculation of the additive comfort noise level, and may range in value from -6 to 7.
Bit-accurate implementation of comfort noise
The addition of comfort noise in accordance with the present principles involves certain
i operations performed at the block level, and operations performed at the pixel level of a video
Block Level Operations
FIGURE 1 depicts an apparatus 300 in accordance with an illustrative embodiment of the present principles for performing operations on 8 x 8 blocks of lurna pixels for the calculating the relative weights of the three noise value terms WQ, wj and w/; that control comfort noise addition. The apparatus 300 of FIG. 1 includes a processing block 302 that receives decoded luma pixels,(the picture QP = (pic_init_qp_minus26 + 26) and the comfort_noise_qp_ofTset_idc and conifort_noise_qp_weight_oflset_idc parameters from the comfort noise SEI message. T^e term / indicates the current picture number, which undergoes a reset to 0 at the I picture that follows a comfort noise SEI message.
The processing block 302 computes the average of the 8x8 luma pixel block of the current picture, t, as block_avg(t). A first threshold comparator 305 makes a comparison of this value to a threshold value, say; 10. If block_avg(t) > 10, the comparator 305 sets the
block_sum_level = 1, otherwise the value of the block_sum_level becomes 0. A delay 304 element delays value of block_avg(t) by one picture interval for input to an absolute difference block 306 which computes the, absolute difference between the delayed value from the delay element 304 and the value of block_avg(t) directly received from the processing block 302. A second comparator 310 compares the difference computed by the absolute difference block 306 to a threshold value, say 3. If ithe threshold comparator determines that jblock_avg(t) -block_sum(t-l)| > 3, the comparator 310 sets the value of the term block_absdiff_level = 0, otherwise block_absdiff_level= 1. If t is equal to 0, block_absdiff_level = 1.
-JEor .Standard Definition^SB) television resolutions and below, all pixel and block operations occur using the display resolution. For High Definition resolutions, block operations
)ccur using 2x2 sub-sampled pixels (i.e. using the upper left pixel of each 2x2 block), so the ix8 luma pixel avg involves adding 8x8 = 64 pixel values, but these values are spread over a 6x 16 pixel range. For SD resolutions, storage of the block_avg values for the entire picture cquires storage of 1/64 the si/e of a frame store. For HD resolutions, storage of block_avg values requires a storage capacity of 1/256 the size of a frame store.
A first look-up table (LUT) 312 receives the values of block_sum_level and block_absdiff_lcvel from the threshold comparators 305 and 310, uses the values to find values for three sub-noise values sw (Table Removed)
The look-up table 314 receives the value of the picture QP, and the values of the parameters comfort_noise_qp_o(Tset_idc, and comfort_noise_qp_weight_offset__idc from
the SEI message, and uses those values to calculate the scaling factor w9 for scaling the sub-noise values swo, swj and swf, to yield the noise values WQ, wj and Wf, which are used in the pixel level operations performed by the apparatus 400 described hereinafter with respect to FIG.
Table 3 depicts the relationship between the value of Q and weight(Q) a precursor to the scaling factor w^ TABLE 3

(Table Removed)
The scaling factor w9 is given, by the relationship:
wq = clip((sveiglu(clip(QP +comfort_noise_qp_.offset_idc,0,51)) + comfort_noise_qp^weight,.offset_idc),0,7)
As discussed, scaling the sub-noise values swo, SW] and swf by the scaling factor wg yields the noise values w0, W] and wf as follows: w0 = sw0 wq
Note that the determination of the current picture structure depends on the display rather than coding structure. For an interlaced display, pixels from the current field and previous field serve as the basis for calculations. For progressive display, pixels from the current frame and previous frame serve as the basis for calculations.
Pixel Level Operations
FIGURE 2 illustrates an apparatus 400 that adds comfort noise on a pixel-by-pixel basis in accordance with the noise values WQ, w\ and Wf obtained from the apparatus 300 of FIG. 1. As described hereinafter, the apparatus 400 makes use of the same pre-stored Gaussian random number list and primitive polynomial generator. The apparatus 400 includes three distinct
primitive polynomial uniform random number pattern generators 402, 404, and 406. For SD resolution, the pixel level operations are performed for all luminance pixels, and the generated lurna noise value is applied to both luma and chroma pixels. Under such circumstances, the relationship pic_width = PicWidthlnSamplest (as defined in the H.264 recommendation) applies. For HD resolutions, the pixel level operations are applied on V* of the pixels, using a 2x2 sub-sampling, and the generated noise value is applied to all pixels, using a 2x2 pixel repeat. Under such circumstances, the relationship pic_width = PicWidthInSamplesL» 1 will apply.
The first uniform random number pattern generator 402 initializes its seed value Xo(i, seed_xo(t)) w'th the seed value seed_xo(0)=3, upon the arrival of an SEI message containing comfort noise information. A-' each new Iramc t, the uniform random number pattern becomes initialized to seed_Xo(t) where seed_xo(t)= seed_xo(t-l) + 2. The random noise generator 404 initiates its seed value (i, seed_xj(t)) with the seed value seed_xi(t)= seed_xo(t-l). This implies the relationship that that X|(i, seed_X)(t))= xo(i, seed_xo(t-l)).
The uniform random pattern number generators 402 and 404 will generate two new numbers UNo(t.i) and UN|(t,i), respectively, where UNi(t,i)= UNo(t-l,i), in accordance with the following relationships:
UN0(t,i) = x0(i, seed_x0(t)) % 32 - 16
UN|(t,i) = UNo(t-l.i) = x,(i, seed_xj(t)) % 32 - 16
The third uniform random number generator 406 becomes initialized to 1 at the beginning of each displayed frame and serves to generate a fixed noise image for receipt by a random noise line generator 408. The random noise line generator 408 generates offsets into the Gaussian_listf ] stored in the database 26 to access a line of 8 random numbers using the following operations, where i increments for each 8 values:
UNFx(i, 1)
for n=0..7, Gfn] = (GaussianJist[(UNf + n)%2048] + 1) » 1
The outputs of the uniform noise generators 402 and 404 undergo scaling by a separate one of scaling blocks 4 JO and 412, whereas the output of the random noise line generator undergoes shifting by a shift register 414. Multipliers 416, 418 and 420 each serve to multiply
the output of a separate one of the scaling blocks 410 and 412 and the shift register 414 by a
separate one of the noise values WQ, W|, and Wf, respectively. A first summing block 422 sums
the outputs of the multipliers 418 and 420, while a second summing block 424 sums the output
of the first summing block 422 with the output of the multiplier 416. A shift register 426 shifts
the output signal of the second summing block 426 to yield a noise value at position [r][s] of the
noise image equal to:
t m = pic_width*r+s
noisefr][s] = (wf*G[s9i'j]-f w0*UN0(t, m) + w,*UN0(t-l, m) + 512 ) » 10 where w0, W|, and Wf change at the block boundaries.
For SD sequences, the final noise luma_noise equals the added noise, while for HD sequences the final noise luma_noise is generated by performing a 2x2 upsampling of noise using pixel repetition.
The chroma noise is half the value of the final luma noise
chroma_noise[r][s] = (luma_noise [r*2][s*2] + 1 ) » 1
A first summing amplifier 428 sums the luma-noise with decoded luma pixels and the resultant sum undergoes clipping within the range of |0, 255] by a first clipper 430 to yield display luma pixels. A shift register 431 further shifts the output signal of the shift register 426 to yield the chroma_noise signal for summing by the summing amplifier 432 with decoded chroma pixels. The resultant sum undergoes clipping within the range of [0, 255] by a second clipper 436 to yield display chroma pixels.
The foregoing describes a technique for adding comfort noise to a video image.
Appendix The list of the 2048 Gaussian distributed random numbers are:
charGaussian[2048] = {
OxFB, 0x05, 0x33, OxFB, 0x14, OxEF, 0x06, OxlD, 0x26, 0x30, OxD5, 0x01, 0x20, OxD9, 0x16, OxlB,
OxE7, OxOA, 0x06, OxFB, OxF6, OxF7, 0x10, OxCl, 0x08, OxFE, OxCC, 0x09, 0x09, 0x23, 0x17, OxFB,
OxED, 0x15, OxFF, 0x25, OxDF, OxlA, OxD3, 0x10, OxE9, OxOA, OxFF, OxE5, 0x18, 0x00, OxE4, OxEC,
0x00, Ox3C, OxCl, OxCB, OxE8, 0x04, 0x07, Ox3F, Ox3D, 0x36, 0x19, Ox3F, 0x00, 0x03, 0x38, 0x09,
OxOE, 0x06, 0x26, 0x38, 0x28, OxE2, OxCl, 0x37, OxE7, OxF2, 0x01, OxE8, OxF5, OxlD, OxF2, OxDC,
0x05, 0x38, 0x21, 0x27, OxFF, OxC7, OxD5, OxFE, OxFE, 0x14, OxlD, OxD8, 0x18, OxF3, OxFl, OxEF,
OxCC, 0x19, 0x08, OxF4, OxEF, OxFA, OxF9, OxCl, OxE5, OxF5, OxE5, OxCl, OxC8, 0x02, OxF4, OxDC,
Ox3F, Ox3F, OxFF, Ox]4, Ox2B, OxEO, OxF9, OxlB, 0x09, Ox2D, OxD8, OxEO, OxEO, Oxll, OxFD, OxE5,
0x31, OxFD, Ox2C, Ox3E, OxF3, Ox2D, 0x00, OxlF, OxlD, OxF9, OxF5, 0x38, OxFO, Ox3A, 0x06, OxOC,
0x19, OxF8, 0x35, OxFD, OxlA, 0x13, OxEF, 0x08, OxFD, 0x02, OxD3, 0x03, OxlF, OxlF, OxF9, 0x13,
OxEE, 0x09, OxlB, 0x08, OxE7, 0x13, 0x10, OxEE, Ox3E, OxED, OxC5, 0x08, OxFl, 0x00, 0x09, 0x31,
Ox IE, 0x32, OxFA, OxDC, OxF8, OxE7, 0x31, 0x01, 0x01, OxlD, 0x10, OxFF, OxFF, 0x04, OxEC, OxCC,
OxEE, 0x06, Ox3F, 0x07, OxCl, OxFl, OxD5, OxED, OxE5, 0x16, OxEC, 0x25, OxOB, OxF7, OxF5, OxDD,
0x25, OxE6, 0x00, Ox 10, OxEA, 0x08, OxD2, OxlD, OxEO, OxDF, OxlB, OxCE, OxF2, OxD5,
OxEF, Q*D2,
0x21, 0x02, OxDC, OxE2, Ox2E, OxEB, 0x06, OxF4, OxEE, OxCl, OxF8, 0x07, OxCl, OxlF, Oxl 1, Ox OF,
Ux2E, 0x08, OxE7, 0x1:3, 0x2^, 0x26, 0x28, Ox3F, Ox3F, Ox IE, 0x10, OxCC, OxD2, 0x00, 0x00, 0x25,
OxDE, 0x23, Ox3F, OxF7, OxC9, OxOE, OxOB, 0x07, 0x01, 0x13, Ox2D, 0x02, 0x14, 0x00, OxFE, 0x13,
0x07, 0x38, OxF2, OxEE, 0x19, 0x15, 0x35, OxOD, Ox3B, 0x03, OxD9, OxOC, OxDE, OxF6, Ox2E, OxFB,
0x00, 0x09, 0x14, OxE7, 0x27, OxCl, OxEB, Ox3F, 0x08, 0x05, OxF6, OxOF, OxE7, OxOD, OxD4, OxD3,
OxED, OxF7, OxFC, OxOC, OxC6, 0x23, OxF4, OxEB, 0x00, 0x05, Ox2A, OxCB, 0x13, OxFO, OxCl, 0x17,
Ox 19, OxF4, OxF6, Ox 16, 0x00, 0x07, OxEF, OxDE, 0x00, OxDC, OxOC, OxFD, 0x00, OxOE, OxFF, 0x16,
0x10, OxFO, 0x3A, OxEA, 0x27, OxF5, OxF8, OxCA, OxFB, OxDD, Ox2C, OxE9, OxOB, OxD3, Ox3B, OxEE,
0x18, OxCl, OxlD, 0x10, OxDS, OxFB, OxF8, OxFD, 0x16, OxCl, OxF9, Ox2C, Ox3F, 0x08, 0x31, OxED,
OxFO, 0x12, 0x15, OxED, OxFl, OxF6, 0x34, OxF7, 0x09, 0x09, OxE3, OxFC, OxOF, 0x00, OxCl, 0x10,
Ox3F, OxD6, 0x25, OxOB, OxEC, OxE8, OxCl, OxCB, OxF9, 0x16, OxDB, 0x00, OxOE, OxF7, 0x14, OxDE,
OxED, 0x06, Ox3F, OxFF, 0x02, OxOA, OxDC, OxE3, OxCl, OxFF, OxFF, OxE6, OxFE, OxC5, Ox2E, Ox3B,
OxDS, OxE8, 0x00, 0x09, OxEA, 0x21, 0x26, OxFA, OxF6, OxCl, Oxll, OxEC, OxlB, Ox3B, OxFE, OxC7,
OxF5, 0x22, OxF9, OxD3, OxOC, OxD7, OxEB, OxCl, 0x35, OxF4, OxEE, 0x13, OxFD, OxFD, OxD7, 0x02,
OxDS, 0x15, OxEF, 0x04, OxCl, 0x13, 0x22, 0x18, OxEl, 0x24, OxE8, 0x36, OxF3, OxD4, OxE9, OxED,
0x16, 0x18, OxFF, OxlD, OxEC, 0x28, 0x04, OxCl, OxFC, OxE4, OxE8, Ox3E, OxEO, 0x17, Oxll, Ox3A, -, '
0x07, OxFB, OxDO, 0x36, Ox2F, OxF8, OxE5, 0x22, 0x03, OxFA, OxFE, 0x18, 0x12, OxEA, Ox3C, OxFl,
OxDA, 0x14, OxEA, 0x02, 0x01, 0x22, 0x08, OxD9, 0x00, OxD9, 0x02, Ox3F, 0x15, OxOD, Ox3F, OxCl,
OxOD, OxE5, OxF3, OxlB, 0x37, 0x17, 0x35, 0x00, OxDA, 0x00, OxlA, OxFC, OxF5, OxEB, Ox3D,Ox36,
Ox3F, 0x32, 0x21, Ox 17, 0x02, 0x00, Ox3D, OxFA, OxE5, OxFO, OxE8, Ox2C, 0x20, OxCC, OxFE, Ox2F,
OxE6, OxlF, 0x16, OxOE, 0x17, 0x09, OxEF, 0x07, 0x14, 0x17, OxDO, OxF4, Ox2F, OxDB, Ox3F, OxC7,
Ox3F, OxDF, 0x00, OxF8, 0x19, OxDl, 0x17, 0x05, Oxl 1, OxEA, OxDB, Ox2C, OxCB, OxFC, OxE4, OxF2,
OxCA, OxF4, Ox3F, OxE2, OxFA, 0x26, OxEA, 0x08, 0x09, 0x29, OxF5, 0x04, Ox3F, OxDF,
OxlA, 0x01, !
OxOC, 0x06, 0x37, 0x15, OxC8, OxF5, 0x05, OxF4, 0x29, 0x21, OxFA, 0x25, OxC3, OxlD, Ox3F, OxFB,
0x31, OxF7, OxlF, OxED, OxlA, 0x04, 0x03, Ox IE, OxE5, 0x01, OxE4, 0x38, OxCC, OxE3, 0x01, OxFC,
OxE9, 0x24, Ox2A, OxE5, OxEF, 0x06, Ox3B, OxOD, Ox2E, OxDD, 0x06, OxCF, OxDD, OxF6, OxOE, 0x23,
OxDl, 0x09, OxE6, 0x20, OxFA, OxEl, OxF4, 0x20, 0x24, OxFC, Ox3F, 0x00, OxCl, 0x33, OxF6, OxDC,
OxC9, OxCD, OxFD, OxOE, OxEC, OxF6, OxE3, OxF2, OxF4, 0x09, OxFE, OxE7, Ox2F, OxE3,
Oxl 1, 0x09, OxDE, Ox3F, OxF7, OxCl, OxF5, OxC5, OxE6, 0x12, 0x25, OxCl, 0x00, OxFB, OxC5, OxE6,
OxF3, 0x13, 0x22, 0x08, 0x08, OxC7, Ox2C, OxlF, OxOC, 0x12, OxF5, 0x18, OxCE, OxFl, OxFC, OxDl,
OxE6, 0x02, Ox2E, OxF5, OxE8, OxFC, 0x19, 0x01, OxDB, OxD4, OxFB, OxED, Ox3F, OxD5, OxF5, 0x09,
OxOA, 0x38, 0x25, Ox 19, OxFl, Ox2E, OxEl, 0x03, OxFB, 0x17, 0x12, 0x32, OxEB, OxF8, OxE6,
OxFD," - '
OxEE, OxDA, OxFl, OxI-6, OxlF, OxOF, OxlF, OxOA, OxCl, OxOF, OxlF, 0x12, 0x33, OxD6, OxFC, 0x26,
0x27, OxlD, OxD9, OxFD, Oxl 1, 0x04, 0x28, OxF4, OxFC, 0x01, OxF8, 0x23, Ox3F, 0x29, OxD5, Ox IB,
0x09, OxC5, OxC3, 0x12, 0x05, Ox3F, OxJC, OxE5, 0x38, 0x06, OxOC, 0x10, OxFA, OxE9, OxOA, OxFA,
0x02, Ox 1C, OxOD, OxOC, OxQC, OxFB, OxEE, 0x12, OxD2, 0x26, 0x28, 0x04, 0x19, 0x06, 0x21,
OxFA, ;
0x00, 0x10, Ox 16, OxDB, Oxl|o, OxED, OxF5, OxE8, OxCl, OxF3, OxOF, OxFC, Oxll, 0x06, 0x23, 0x06,
Ox 1C, 0x05, OxE6, OxD6, Oxl A, OxEA, OxEF, 0x00, Ox3F, 0x05, OxDF, OxEA, 0x17, OxC7, 0x01,0x05,
Ox 1C, OxEF, Ox3B, OxF7, OxE2, Oxl A, OxE3, OxCl, OxE8, OxF5, 0x01, OxFE, 0x08, OxD8, OxFE, Ox3F,
OxOC, 0x27, 0x21, Ox IF, OxF4, 0x06, OxEO, OxEE, OxCl, OxF2, OxOA, OxEl, 0x20, OxE6, OxEC, 0x36,
OxEl, 0x07, OxF6, 0x06, OxOE, OxEl, OxOA, OxOD, Ox2F, OxEA, OxE3, OxC6, OxFC, 0x27, OxE8, OxOB,
OxEB, OxF8, 0x17, OxE9, OxC4, OxEF, OxF2, OxE6, OxEA, OxOE, Ox3F, OxFA, 0x18, OxFC, OxCl, 0x25,
OxF3, OxF5, Ox2C, Ox ID, 0x05, OxDl, 0x28, OxE3, OxlD, Ox IE, OxF4, 0x14, OxD3, OxFF, OxF6, OxE3,
OxEA, OxE3, OxF5, OxE6, 0x23, OxF2, 0x21, OxFl, OxF5, 0x07, OxF8, OxDF, OxF4, OxF2, OxE2, 0x17,
0x12, 0x08, 0x07, OxEE, OxF5, OxFB, 0x04, OxF3, OxF7, OxlD, 0x16, OxE8, OxE9, OxFF, OxF6, OxD8,
OxOE, OxDF, OxCl, 0x25, 0x32, 0x02, OxF8, 0x30, Oxll, OxEO, 0x14, OxE7, 0x03, OxE3,OxOB, OxE4,
OxF7, OxF4, OxC5, OxDC, Ox2D, 0x07, OxF9, 0x27, OxFO, OxD9, OxCl, OxEF, 0x14, 0x26, OxD7, 0x00,
Ox IB, OxOB, OxDB, Ox3F, OxF8, OxF6, 0x06, OxOF, Ox IB, OxC8, OxCl, Ox2C, OxlB, OxlE, Ox06,Qtl:BT-~
OxFA, OxC8, OxF9, OxOF, 0x18, OxDF, OxF8, Ox2D, OxFC, 0x00, OxOA, 0x22, OxDD, 0x31, OxF7, OxC8,
0x20, OxD3, OxFC, OxFC, OxDD, Ox3F, Ox 19, OxD8, OxE8, OxOC, Ox IE, OxE2, OxC9, 0x03, OxEC,Ox3F,
Ox2B, OxEO, 0x35, OxCl, OxFE, Oxl 1, OxF9, Ox 14, OxE8, 0x06, 0x06, 0x24, OxCE, OxF3, 0x26, Ox3F,
OxFD, OxCE, Ox2C, Ox 12, Ox3C, Ox2C, OxC2, OxE3, 0x06, OxD2, OxC7, OxOA, OxDF, OxD5,
0x15, OxF2, OxFl, 0x08, 0x02, OxE6, OxE2, OxOA, OxEB, 0x05, OxDA, OxE3, 0x06, OxOE, 0x01, 0x03,
OxDC, 0x13, OxE3, OxFB, 0x36, OxE6, 0x14, 0x21, OxFA, OxCl, OxCl, OxE8, OxOB, OxOE, 0x17,0x11,
Ox2D, Oxl 1, OxFO, 0x39, OxE7, OxFO, OxE7, Ox2D, 0x03, OxD7, 0x24, OxF4, OxCD, OxOC, OxFB, 0x26,
Ox2A, 0x02, 0x21, OxD8, OxFA, OxF8, OxFO, OxE8, 0x09, 0x19, OxOC, 0x04, OxlF, OxCD, OxFA, 0x12,
Ox3F, 0x38, 0x30, Oxl 1, 0x00, OxFO, OxE5, Ox3F, OxC3, OxFO, OxlE, OxFD, Ox3B, OxFO, OxCl, OxE6,
OxEB, OxlF, 0x01, OxFE, OxF4, 0x23, OxE4, OxFO, OxEB, OxEB, 0x10, OxE4, OxCl, Ox3F, OxOC, OxEF,
OxFB, 0x08, OxD8, OxOE, OxE4, 0x14, OxCl, OxCl, OxOA, OxE9, OxFB, OxEF, OxEl, OxE7, OxFO, OxD8,
0x27, OxDA, OxDC, 0x04, OxOD, OxDC, OxFC, OxDB, OxD6, OxD6, OxE4, OxOC, 0x27, OxFC, OxDO.Oxll,
OxEO, 0x04, OxE3, 0x07, 0x00, OxEC, 0x10, OxD5, OxEA, 0x08, OxFF, OxFC, OxlD, 0x13, 0x05, OxCA,
OxED, OxOB, 0x10, 0x08, OxF2, 0x01, 0x19, OxCA, OxFE, 0x32, 0x00, 0x20, OxOB, 0x00, Ox3F, OxlE,
0x16, OxOC, OxFJ, 0x03, 0x04, OxFD, OxE8, 0x31, 0x08, 0x15, 0x00, OxEC, 0x10, OxED, OxE6, 0x05,
OxCA, OxF7, Ox 1C, OxCl, 0x22, OxOD, 0x19, Ox2E, 0x13, OxlE, OxE7, 0x16, OxED, 0x06, Ox2A,t)x9€,
OxOD, 0x21, 0x16, OxC9, OxD7, OxFF, OxOF, 0x12, 0x09, OxEE, Ox ID, 0x23, 0x13, OxDA, OxE9, Ox ID,
OxD9, 0x03, OxEl, OxEF, OxFA, OxlE, 0x14, OxCl, 0x23, OxFE, OxOB, OxE5, 0x19, OxCl, Ox21,OxFE,
OxEC, OxOE, OxEl, Ox ID, OxFF, 0x00, OxF7, OxEA, OxD2, OxD8, OxDO, OxF9, OxE6, OxFB, OxFB, OxDA,
0x06, 0x00, 0x03, OxDF, OxCl, Ox3F, OxF3, OxOD, OxFA, 0x08, OxFA, OxF3, 0x00, 0x04, OxE9, OxFO,
OxF9, OxOD, OxFl, OxE3, Ox ID, 0x26, OxC4, OxOD, 0x13, OxE5, OxEl, OxFl, OxF6, OxEE, OxFl, OxFD,
OxCl, OxF4, OxE2, 0x23, OxCl, 0x38, OxCl, Ox3F, Ox2B, OxFD, 0x39, 0x36, OxlA, Ox2B, OxCl, 0x01,
0x07, OxOB, 0x25, OxCC, OxE7, 0x01, 0x24, OxD8, OxC9, OxDB, 0x20, 0x28, OxOC, OxlA, Ox3F, OxEA,
OxE7, OxCD, OxEC, OxEO, OxF2, 0x27, OxDF, 0x20, OxFO, OxFl, OxFD, Ox3F, 0x00, OxFA, OxE7,Ox21,
OxF9, 0x02, OxD2, OxOE, OxEF, OxFD, OxD3, OxE4, OxFF, 0x12, 0x15, 0x16, OxFl, OxDE, OxFD, 0x12,
0x13, OxE7, 0x15, OxD8, Ox ID, 0x02, Ox3F, 0x06, Ox 1C, 0x21, 0x16, OxlD, OxEB, OxEB, 0x14 OxF9, ;
OxC5,!OxOC, 0x01, OxFB, 0x09, OxFA, 0x19, OxOE, 0x01, Ox IB, OxE8, OxFB, 0x00, 0x01, 0x30 OxF7, ,
OxOE, 0x14, 0x06, 0x15, 0x27, OxEA, Ox IB, OxCB, OxEB, OxF7, Ox3F, 0x07, OxFB, OxF7, OxD8, 0x29,
OxEE, 0x26, QxCA, 0x07, 0x20, OxE8, 0x15, 0x05, 0x06, OxOD, OxOD, OxlE, OxlC, OxOF, OxOD, 0x35,
OxF7, Ox IB, 0x06, 0x30, 0x^2, OxFD, OxE2, OxCD, Ox2F, 0x35, OxEB, OxlA, OxOD, OxE9, OxFC, 0x34,
OxE6, 0x17, Ox2C, 0x33, OxFO, 0x13, OxEF, OxlB, 0x19, 0x23, OxDl, OxEF, OxD5, OxCB, OxF7, OxFl,
0x04, OxF7, 0x27, OxF9, 0x26, 0x02, OxF7, OxCB, Ox2A, OxOA, OxEA, OxED, OxEC, 0x04, OxF2,t)x25; "
0x17, OxDB, OxlE, OxCl, Ox3C, OxC9, OxE4, OxFl, 0x14, 0x03, 0x27, 0x25, 0x21, OxlC, 0x14, OxF4,
OxOF, Ox 12, OxE9, OxEE, Ox 15, OxDC, OxEE, Ox 1F, Ox3F, OxDE, OxE7, Ox2C, OxFO, OxE2, OxlD, OxE5,
Ox 15, 0x07, 0x02, OxDI;, 0x06, OxD3, Ox IF, OxOE, OxED, OxFF, 0x29, OxFF, OxED, OxD6, 0x1)6, OxlC,
Ox 11, OxDE, OxE2, OxOE, OxEE, OxDl, OxD9, 0x02, OxOF, OxFE, OxFO, OxD9, OxF6, OxFC, OxDA, 0x16,
0x03, OxD2, OxDD, 0x20, 0x04, OxE8, Ox3F, OxDE, OxOC, OxFB, OxED, OxC7, OxlF, OxCl, OxCE, 0x02,
OxFl, 0x37, OxOB, OxE3, 0x20, OxCE, OxOD, OxEB, OxOA, OxE3, OxF3, OxDC, 0x01, OxD2, 0x02, Ox3F,
0x02, 0x25, OxD5, OxFC, OxEB, OxCE, Ox3F, 0x00, Ox3E, Ox2D, OxEl, 0x19, OxlC, 0x01, 0x28, OxCl,
Ox3F, 0x27, Ox3F, OxF2, OxOE, Ox3A, OxDB, OxF8, OxE4, 0x34, 0x18, 0x16, OxOC, OxDD, Ox 18, OxED, '
OxCB, OxOF, OxFO, 0x01, OxFB, Ox 14, OxCl, 0x19, OxCC, OxEB, OxEE, 0x19, 0x00, 0x17, Ox2B, OxFC,
0x26, OxOD, OxEC, OxF4, Ox2D, Ox2B, OxE5, 0x25, 0x05, 0x10, 0x26, OxlD, Ox3F, Ox3F, OxFD, OxDC,
0x18, OxFO, OxCB, OxEF, 0x12, OxlC, OxlA, OxF8, OxFE, 0x29, OxlA, OxCB, OxlA, OxC2, OxOE, OxOB,
OxlB, OxEB, OxD5, OxF8, OxFD, 0x17, OxOB, OxFC, 0x00, OxFA, 0x37, 0x25, OxOD, OxE6, OxEE, OxFO,
0x13, OxOF, 0x21, 0x13, 0x13, OxEl, 0x12, 0x01, OxOA, OxFl, OxE7, OxF3, OxlA, OxED, OxD5, OxOA,
0x19, 0x39, 0x09, OxD8, OxDE, 0x00, OxF9, OxE9, OxEA, OxFF, Ox3E, 0x08, OxFA, OxOB, OxD7, OxD7,
OxDE, OxF7, OxEO, OxCl, 0x04, 0x28, OxE8, OxlE, 0x03, OxEE, OxEA, OxEB, OxlC, OxF3, 0x17,0x09,
OxD6, 0x17, OxFA, Ox 14, OxEE, OxDB, OxE2, Ox2A, OxD9, OxCl, 0x05, 0x19, 0x00, OxFF, 0x06,0x177
0x02, 0x09, OxD9, OxE5, OxF3, 0x20, OxDD, 0x05, OxCB, 0x09, OxF8, 0x05, OxFl, OxlF, OxE5, 0x12,
0x25, OxF8, Ox3F, OxDC, OxFO, OxF2, OxC5, 0x34, 0x21, 0x35, OxCD, OxCC, 0x23, OxlE, 0x01, OxOB,
OxFF, 0x10, OxFE, OxF9, OxDF, OxF9, OxF5, OxE5, 0x07, OxEl, 0x25, Ox 1C, OxC9, 0x00, 0x29, OxF3, j
OxOA, 0x25, OxED, OxF8, OxFB, 0x20, OxF8, OxCl, OxE5, OxEO, OxOF, Ox2F, Ox3A, 0x01, OxC8, OxFD,
OxCA, OxEl, 0x30, 0x04, Ox 19, 0x03, 0x25, OxF3, 0x24, 0x38, OxEE, OxC9, Ox2F, OxE7, OxOB,
OxFA, • ;
OxF7, OxlB, OxOA, OxOB, Ox2D, Ox2D, OxOB, OxE8, 0x08, OxDB, OxOB, 0x04, OxE8, OxDO, OxEE, Ox 18,
OxEF, Oxl 1, OxCl, OxD6, 0x15, Ox3F, OxF5, OxF4, Ox2A, 0x29, OxEF, OxFO, OxFA, 0x36, 0x33, OxED,
0x19, OxDF, Oxl 1, 0x09, Oxl"'.', 0x18, OxFl, Ox3F, 0x14, OxOC, OxD2, OxFF, OxFF, 0x34, 0x01, OxE4,
OxF8, 0x03, Ox3F, OxF8, Ox3E, 0x21, 0x22, OxE2, OxOF, OxEF, Oxl A, OxE4, OxF5, 0x08, 0x15, OxEF,
OxF3, OxE4, OxDF, OxF6, OxFC, OxE8, 0x21, 0x06, 0x20, 0x02, 0x17, OxlB, Ox3F, OxDB, 0x16, Ox2C,
OxEO, OxFA, OxDA, OxD8, OxD3, OxOB, OxOE, 0x10, OxED, OxD5, OxFO, 0x30, OxD3,0x13, 0x04, OxEl,
OxFF, OxFB, Ox3F, OxE8, OxEE, OxE5, OxOB, OxEF, OxEF, OxE6, Ox2C, OxD3, 0x00, 0x18, 0x26, OxFE,
OxCl, 0x08, 0x16, OxFE, OxDC, 0x00, OxE4, OxF7, OxDC, OxOE, Ox2E, OxlD, 0x18, OxOA, 0x08, 0x37,
OxC9, 0x10, OxD7, 0x17, 0x17, OxFB, Oxll, OxD5, 0x15, OxlC, OxDO, Ox3F, OxF8, 0x00, 0x00, OxED,
OxCl, OxFF, 0x00, OxlF, Ox2E, 0x00, 0x12, OxEO, OxE2, OxF7, 0x13, OxCl, OxlC, 0x18, OxF8, Ox3F,
Ox2C, OxEB, OxCA, OxE7, OxF8, 0x03, OxEE, 0x22, 0x17, OxF9, 0x35, 0x14, OxlC, 0x03, 0x09, 0x03, "
0x01, Ox2B, OxD4, OxD2, OxF8, OxF6, OxF5, 0x06, 0x03, OxFE, OxDA, OxD3, OxFF, 0x03, OxEF, OxFE,
0x09, 0x01, OxC9, 0x02, OxDF, OxD8, Ox3C, OxF7, OxFO, OxEE, OxD6, Ox3F, 0x21, 0x16, 0x08, 0x17

1. A method for reducing subjective artifacts in a video image, comprising the
steps of:
receiving supplemental information that includes at least one parameter that specifies an attribute of comfort noise for addition to an image;
generating the temporally correlated noise; and
making a determination, in accordance with the at least one parameter, whether to add temporally correlated noise, and if so, adding such noise to the image at a level in accordance with the at least one parameter, to substantially hide artifacts.
2. The method according to claim 1 further comprising the step of generating the
temporally correlated noise by the steps of:
obtaining a block pixel average;
accessing a look-up table using the block pixel average and picture quantization
parameters to obtain weights of temporal correlation factors for weighting the added noise.
3. The method according to claim 2 wherein the step of accessing a look-up table
further comprises the step of accessing a look-up table containing Gaussian random numbers.
4, The method according 10 claim 2 wherein the step of adding temporally
correlated noise includes the step of adding temporally correlated noise to one of luma or
chroma pixels.
5, The method according to claim 4 further comprising the step of adding
temporally con-elated noise includes adding noise to both luma and chroma pixels.
6, Apparatus for reducing subjective artifacts in a video image, comprising:
means for receiving supplemental information that includes at least one paramcterithat
specifies an attribute of comfort noise for addition to an image;
means for generating the temporally correlated noise; and
means, responsive to at leat one parameter, for making a determinatron-whether to add temporally correlated noise and if so for adding such noise to the image at a level in accordance with the at least one parameter, tc substantially hide artifacts.
7. The apparatus according to claim 6 further comprising:
means for obtaining a block pixel average,
means for accessing a look-up table using U)c block pixel average and picture quantization parameters ;obtain weigh is of temporal correlation factors for \vcighling the added noise.
8. The apparatus according to claim 7 wherein the look up contains Gaussian
random numbers.
9. The apparatus according to claim 6 wherein the means for adding temporally
correlated noise adds temporally correlated noise so one of lama or chroma pixels.
10. The apparatus according lo claiir. 9 wherein the means for adding temporally
correlated noise adds temporally correlated noise '.a both luma .and chroma pixels.






2575-delnp-2006-correspondence- other.pdf



2575-delnp-2006-description (complete).pdf



















Patent Number 246839
Indian Patent Application Number 2575/DELNP/2006
PG Journal Number 11/2011
Publication Date 18-Mar-2011
Grant Date 16-Mar-2011
Date of Filing 08-May-2006
Applicant Address 46, Quai A. Le Gallo, F-92100 Boulogne-Billancourt (FRANCE)
# Inventor's Name Inventor's Address
1 BOYCE, Jill, Mac Donald 3 Brandywine Ct., Manalapan, NJ 07726 (US).
2 GOMILA, Cristina 25C Chestnut Court, Princeton, NJ 08540 (USA).
3 LLACH, Joan 25C CHESTNUT COURT, Princeton, NJ 08540 (USA).
4 TOURAPIS, Alexandros 20212 Heather Drive, West Windson, NJ 08550 (USA).
5 COOPER, Jeffrey, Allen 11 Toth Lane, Rock Hill, NJ 08540 (USA).
6 YIN, Peng 65 Warwick Road, West Windsor, NJ 08540 (USA).
PCT International Classification Number H04N 7/26
PCT International Application Number PCT/US2004/033712
PCT International Filing date 2004-10-12
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 60/511,026 2003-10-14 U.S.A.