(19)
(11) EP 1 630 773 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
01.03.2006 Bulletin 2006/09

(21) Application number: 05107754.3

(22) Date of filing: 24.08.2005
(51) International Patent Classification (IPC): 
G09G 3/20(2006.01)
G09G 3/28(2006.01)
(84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR
Designated Extension States:
AL BA HR MK YU

(30) Priority: 25.08.2004 EP 04292087

(71) Applicant: Thomson Licensing
92100 Boulogne Billancourt (FR)

(72) Inventors:
  • THEBAULT, Cédric
    92648, BOULOGNE CEDEX (FR)
  • CORREA, Carlos
    92648, BOULOGNE CEDEX (FR)
  • WEITBRUCH, Sébastien
    92648, BOULOGNE CEDEX (FR)

(74) Representative: Le Dantec, Claude 
Thomson, 46, Quai Alphonse Le Gallo
92100 Boulogne-Billancourt
92100 Boulogne-Billancourt (FR)

   


(54) Method and device for dithering


(57) The noise occurring when applying dithering on a transfer function shall be reduced. Therefore, a first output value and a second output value are associated (S1) to a discrete input value of the transfer function. On the basis of a given number of dithering bits, an intermediate value being equal to and/or lying between the first output value and the second output value and using the least number of dithering bits is chosen (S2). Finally this intermediate value is taken (S3) as an output value for the discrete input value. Thus, the dithering noise can be reduced tremendously.




Description


[0001] The invention relates to a method for applying dithering to a transfer function used for processing video data. Moreover, the present invention relates to a corresponding device for applying dithering to video data.

Background



[0002] A PDP (plasma display panel) uses a matrix array of discharge cells, which can only be "ON", or "OFF". Also unlike a CRT or LCD in which grey levels are expressed by analogue control of the light emission, a PDP controls the grey level by modulating the number of light pulses per frame (sustain pulses). This time-modulation will be integrated by the eye over a period corresponding to the eye time response. Since the video amplitude is portrayed by the number of light pulses, occurring at a given frequency, more amplitude means more light pulses and thus more "ON" time. For this reason, this kind of modulation is also known as PWM, pulse width modulation.

[0003] This PWM is responsible for one of the PDP image quality problems: the poor grey scale portrayal quality, especially in the darker regions of the picture. Indeed, contrarily to CRTs where luminance is approximately quadratic to the applied cathode voltage, luminance is linear to the number of discharge pulses. Therefore an approximately digital quadratic degamma function has to be applied to video (generally done by a Look-Up Table). To avoid losing amplitude resolution due to this degamma function, a dithering method has to be used.

[0004] Dithering is a well-known technique used to reduce the effects of quantization due to a limited number of displayed resolution bits. There are mainly two kinds of dithering used for PDP:
  • Matrix dithering (cf. Cell-Based dithering in patent application EP1269457, and its enhanced version Multi-Mask dithering in patent application EP1262947), which improves gray scale portrayal but adds some dither pattern (structured noise).
  • Error-Diffusion, which improves gray scale portrayal and generates no dither pattern, but adds some noise.


[0005] The teaching of the present document aims at reducing the dithering noise appearing with matrix dithering. Error diffusion noise cannot be reduced by the method described here.

[0006] Matrix dithering can in principle bring back as many bits as wanted. However, the dithering noise frequency decreases and therefore the noise becomes more noticeable with an increasing number of dithering bits. In practice with matrix dithering, 3 bits of dithering can be used at the most, because the more bits one uses, the more visible the pattern is.

[0007] The reason for this is that if 3 bits are used for dithering, there will be 8 different dithering patterns, as shown in Figure 1, and the repetition time of a pattern takes 8 clock units. Thus, the repetition frequency of the dithering patterns is low. If more than 3 bits are used for dithering, the repetition frequency will be too low and not acceptable. If only 2 bits of dithering are used, the repetition frequency of the dithering patterns will be two times as high as the repetition frequency of 3 bits dithering.

[0008] Another aspect is that if 3 bits of dithering are used, the pattern of ½ (1st bit of dithering) is quite invisible, the patterns of ¼ and % (2nd bit of dithering) are a bit more visible, while the patterns of 1/8, 3/8, 5/8 and 7/8 (3rd bit of dithering) can be more visible and awkward (compare Figure 1). For example, in case of standard cell-based dithering (patent application EP1269457), the integration of 4 frames of dithering gives the levels shown in Figure 1.

[0009] The values 0, 1/4, 1/2, 3/4 and 1 in each cell of the 4x4 matrix dithering blocks mean that the level 1 is activated 0, 1, 2, 3 or 4 times during the 4 frames. According to this example, the levels 1/8, 3/8, 5/8 and 7/8 are less fine (and so more visible and cumbersome) than the others patterns of dithering.

[0010] The typical block structure of the data processing before the coding step is shown in Fig. 2. 8 bit input data YI are fed into a degamma block 1. The degamma function is realized with the aid of a look-up table LUT#1. An 11 bit output signal YA is transmitted to a matrix dithering block 2. An 8 bit output signal YB from the matrix dithering block 2 is input into a transcoding block 3 applying a second look-up table LUT#2. The resulting output signal after the coding step includes 16 bit data.

[0011] The choice of a dither pattern is made by the degamma LUT, where the dithering bits appear. The matrix dithering block only applies the matrix pattern corresponding to the dithering bits.

[0012] The problem is that dithering bits are really required in the low levels (because of the degamma function), but in the higher levels they are not really necessary, and can on the contrary be unwanted since they add some patterns without adding levels. This will be better explained by an example. The degamma function is defined as follows:


wherein Y1 is the input data and YA the output data of the degamma block 1. γ is the usual exponent of the degamma function. In the example γ = 2.2

[0013] Even with 3 bits of dithering, some levels between 0 and 21 have the same output, which means loss of levels. But after level 122, all outputs are different even without dithering. This means that without dithering there is no loss of levels but without dithering there is also more quantization noise.

[0014] In the higher levels, dithering can be useful to reduce quantization noise, but it is not necessary to have 3 bits of dithering. However, for example, input levels between 182 and 189 are all using the 3rd bit of dithering as shown in Table 1, which is an extract of Table 3 given in Annex.
Table 1
Input Output
8 bit 8.3 bit
182 121,375
183 122,875
184 124,375
185 125,875
186 127,375
187 128,875
188 130,375
189 131,875


[0015] So for these high levels dither patterns are used, which can be awkward.

Invention



[0016] In view of that, the object of the present invention is to provide a method and a device which enable an improved dithering of quantization steps.

[0017] According to the present invention this object is solved by a method for processing video data by applying a transfer function on said video data, a dithering being applied to said transfer function. For applying said dithering to the transfer function, the method comprises the following steps :
  • applying dithering to a transfer function used for processing video data by associating a first output value and a second output value to a discrete input value of said transfer function,
  • choosing an intermediate value being equal to and/or lying between said first output value and said second output value, said intermediate value using the least number of dithering bits and
  • taking said intermediate value as an output value for said discrete input value.


[0018] For example, if output values are 12.125 and 12.875, the values equal to and/or lying between these output values are:
  • 12.125 (decimal) equal to 1100.001 (binary representation of a float number)
  • 12.25 (decimal) equal to 1100.01 (binary),
  • 12.375 (decimal) is equal to 1100.011 (binary),
  • 12.5 (decimal) is equal to 1100.1 (binary),
  • 12.625 (decimal) is equal to 1100.101 (binary),
  • 12.75 (decimal) is equal to 1100.11 (binary),
  • 12.875 (decimal) is equal to 1100.111 (binary)
The intermediate value using the least number of bits is 12.5.

[0019] Furthermore, there is provided a device for processing video data having processing means for applying a transfer function on said video data and dithering means for applying dithering to said transfer function, wherein said dithering means associates a first output value and a second output value to a discrete input value of said transfer function, chooses an intermediate value being equal to and/or lying between said first output value and said second output value that uses the least number of dithering bits and takes said intermediate value as an output value for said discrete input value.

[0020] The advantage of the inventive method and device is that the dithering noise can be reduced tremendously.

[0021] The transfer function may be a degamma function. The effect of the quantization of the degamma function is often very disturbing. Thus, an improved dithering of the degamma function values has a very positively effect.

[0022] The transfer function may be provided by a look-up table. Such LUT improves the processing speed.

[0023] In a specific embodiment the first and the second output values are calculated by modifying a parameter of the transfer function. Especially, the input parameter of the transfer function may be modified. The modification may be performed by adding and subtracting a modifying value to or from the parameter, so that the first and the second output values are obtained by the modified parameter. By doing so an acceptable error will be specified.

[0024] If there are a plurality of intermediate values with the same least number of used dithering bits, the value which lies closer to the discrete function value may be chosen as intermediate value. With that, further errors are avoided.

Drawings



[0025] The present invention is illustrated along with the attached drawings showing in:
Figure 1
matrix dithering blocks for cell based dithering;
Figure 2
a block diagram of the data processing before the encoding step according to the prior art; and
Figure 3
a flow chart of the inventive method.

Exemplary embodiments



[0026] The present invention is based on the following knowledge.

[0027] Only a small shift of 0.05 of the input, which corresponds to a small error on the input, would lead to levels using only 1 bit of dithering. So worse dither pattern indicated in table 1 can be avoided without adding significant quantization noise, as shown in the following table 2.
Table 2
Input Output
  8.3 bit
182,05 121,5
183,05 123
184,05 124,5
185,05 126
186,05 127,5
187,05 129
188,05 130,5
189,05 132


[0028] In fact, globally the rounding process makes the probability that the value added by dithering is equal either to 0/8, 1/8, 2/8, 3/8, 4/8, 5/8, 6/8, or 7/8 the same for all levels. So, in principle, the probability that a level uses the 3rd dithering bit (i.e. value added by dithering is equal to 1/8, 3/8, 5/8 or 7/8) is ½.

[0029] When generating the degamma LUT, there are always rounding errors. Now, the idea is to play on this error in order to privilege better dither patterns. In other words, the error has to be estimated and limited.

[0030] The error on the output (quantization error) is not easy to estimate because this error is always relatively smaller in the higher levels than in the low levels (in case of standard encoding). The estimation is worse in case of Gravity Center Coding (cf. patent application EP1256924) or Metacode (cf. patent application EP1353315), because of the non uniform distribution of the levels and the resulting non-uniformity of the quantization error.

[0031] For these reasons, it is easier to consider an error on the input. Specifically, it is easier to estimate and to limit the error.

[0032] So the first step S1 as shown in Figure 3 is to decide the limit τ of the error which will be accepted. A possible value for τ might be 0,1. Two limit curves of the degamma function are defined as follows:



[0033] With this two limit curves, two output values Y and Y other than the value YA can be defined for each input value Y1. Table 3, given in Annex, shows the corresponding input values Y1 (first column) and output values YA (second and fifth column) of the degamma block 1. The third and fourth column of Table 3 represent the values Y and Y of the limit curves. Each degamma output value consists of a 8 bit integer and a 3 bit dithering value.

[0034] According to the present invention for each input value an intermediate value between Y and Y using the least dithering bits is chosen (compare step S2). This can be seen for instance in the rows of input values 20 and 30. Said intermediate value is chosen as output value for the considered input value Y When there are different values having the same number of dithering bits, the closer to the real value has to be chosen. However, if for an actual input value there is an output value between Y-τ and Y+τ having less dithering that the values Y-τ and Y+τ, this value must be chosen. The row of input value 146 shows such an example. Additionally, it has to be regarded to use different output values as far as possible (compare optimized output values for the input values 26 and 27).

[0035] With the standard method (compare second column of Table 3) 131 levels (respectively 61, 28 and 36) are using the 3rd dithering bit (respectively 2nd, 1 st and no dithering bit), with the inventively optimized approach only 28 (respectively 63 and 70, and 95).

[0036] The invention can be applied to presently available processing devices without hardware amendment, because only a change of the content of the LUT is necessary. However, advanced processing devices may be able to calculate the optimized LUT automatically. In this case specific calculation means are necessary to perform the method shown in Figure 3.












Claims

1. Method for processing video data by applying a transfer function on said video data, a dithering being applied to said transfer function, characterized in that, for applying said dithering to the transfer function, it comprises the following steps

- associating (S1) a first output value and a second output value to a discrete input value of said transfer function,

- choosing (S2) an intermediate value being equal to and/or lying between said first output value and said second output value, said intermediate value using the least number of dithering bits and

- taking (S3) said intermediate value as an output value for said discrete input value.


 
2. Method according to claim 1, wherein said transfer function is a degamma function.
 
3. Method according to claim 1 or 2, wherein said transfer function is provided by a look-up table.
 
4. Method according to one of the preceding claims, wherein said first and second output values are calculated by modifying a parameter of the transfer function.
 
5. Method according to claim 4, wherein said parameter is modified by adding and subtracting a modifying value to or from said parameter, and said first and second output values are obtained by said modified parameter.
 
6. Method according to one of the preceding claims, wherein, if there are a plurality of intermediate values with the same least number of used dithering bits, the value which lies closer to said discrete function value is chosen as intermediate value.
 
7. Device for processing video data having

- processing means (1) for applying a transfer function on said video data and

- dithering means (2) for applying dithering to said transfer function,


characterized in that

― said dithering means (2) associates a first output value and a second output value to a discrete input value of said transfer function, chooses an intermediate value being equal to and/or lying between said first output value and said second output value that uses the least number of dithering bits and takes said intermediate value as an output value for said discrete input value.


 
8. Device according to claim 7, wherein said transfer function is a degamma function.
 
9. Device according to claim 7 or 8, having storing means for providing said transfer function in a look-up table.
 
10. Device according to one of the claims 7 to 9, wherein said dithering means (2) is suitable for calculating said first and said second output values by modifying a parameter of the transfer function.
 




Drawing













Search report