[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 Y
1 is the input data and Y
A 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 Y
A can be defined for each input value Y
1. Table 3, given in Annex, shows the corresponding input values Y
1 (first column) and output values Y
A (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
I· 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).
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.