The present invention relates to a method for generating a look-up table in the video picture field. It also relates to a circuit for implementing said method.
The present invention is particularly useful in the field of plasma display panels (PDPs) or other display devices wherein each video level is represented by a combination of bits according to a specific coding. In this case, when the algorithms used to improve picture quality are based on data stored in memories such as look-up tables (LUTs), the size of such tables may be quite huge.
To understand the problem, the present invention will be described in relation with PDP but may be applicable to other types of display or other apparatus processing video data and requiring memories with huge size. T-o improve picture quality in PDPs, a lot of algorithms have been developed, using data stored in look-up tables. For example, in EP patent application 1 353 314, is described a method for improving grey scale fidelity portrayal based on a modification of the coding approach for each average power level (APL) that occurs at each frame. It is based on a Metacode concept wherein the subfield code based on subfield weights is replaced by a metacode based on subfield actual luminance. More specifically, for a given peak white level, the sustain pulses are distributed among the sub-fields, the number of pulses of a sub-field corresponding to its weighting. Then, the sub-field codes are mapped to luminance codes, which are re-ordered in a definite order. Moreover, the video levels are mapped to the available luminance codes and processed to achieve intermediate levels of luminance. Then, the luminance codes are mapped to the output sub-field codes. In this case, look-up tables are used at least for mapping the video levels to the luminance codes and for mapping the luminance codes to the output sub-field codes. These look-up tables, which contain, for example, luminance codes to be loaded for each new APL value, are stored in an external memory. These tables, called metacode look-up tables, are quite huge.
The video signal YB[7,0] from the circuit 110 is then forwarded to a second memory 120 comprising 256×16 bits. A second look-up table is stored in the memory 120 and is used to implement the transcoding step that is the step of mapping luminance codes to the output subfield codes.
As mentioned previously, the memory 100 needs to be updated with a new metacode look-up table each time the APL value changes. A look-up table is provided for each APL value. These look-up tables are stored in an external memory 130, e.g. a FLASH memory, EEPROM, . . . A metacode look-up table defines, for each video level and for a given APL value, a 12 bit code representative of the luminance code to be generated for achieving the video level. In case of a 10 bit APL value, an external memory with a size of 1024×1024×12=12 Mbit is needed.
Moreover, if different metacode look-up tables are needed for each color, it increases the total size of the memory 130 to 36 Mbit. Furthermore, since the metacode look-up tables are different for each display mode used in the Plasma Display Panel, e.g. 60 Hz, 50 Hz, 75 Hz . . . it further increases the needs in terms of external memory: 108 Mbit for 3 modes.
Therefore, one major problem of the implementation circuit of
It is the purpose of the present invention to propose a way to reduce the amount of data needed for implementing said metacode method by using a low number of metacode look-up tables and by extrapolating the other ones.
In a general manner, the invention relates to a method for generating a look-up table for a given value of a parameter among N different values, whose output values can be approximated by a piecewise linear function of a variable (S(VAL)) depending on the given value.
The method of the invention can be used for generating a metacode look-up table for a given value of average power level.
It can also be used for generating other look-up tables in the video picture field.
So, the invention proposes a method for generating a look-up table for a given value of a parameter among N different values, whose output values can be approximated by a piecewise linear function of a variable depending on the given value, characterized in that it comprises the following steps:
In the embodiment described here, the generated look-up table is a Metacode look-up table, the parameter is an average power level and the variable is a number of sustain pulses corresponding to the given value of the parameter.
The bound level related to the primary look-up table of a subset of average power level values is the highest average power level value of the subset and the bound level related to the secondary look-up table of a subset of average power level values is the lowest average power level value of the subset.
Preferably, the ratio between the value of the variable for one bound value in the subset i and the value of the variable S for the same bound value in the subset i+1 equals to a fixed parameter o. The parameter ox is defined as followed
where SMAX is the value of the variable S for a peak white image and SMIN for a full white image. The extrapolation coefficient equals to
where S(PMTCi) is the value of the variable S for the highest bound value of the subset i; S(SMTCi) is the value of the variable S for the lowest bound value of the subset i; and S(VAL) is the value of the variable for the given value.
The computed look-up table equals to the sum of the output of the primary look-up table (PMTCi) for the given value (VAL) and the output of the delta look-up table (PMTCi) for the given value (VAL) weighted by the extrapolation coefficient for the given value (VAL).
The invention concerns also a device for generating a look-up table for a given value of a parameter among N different values, whose output values can be approximated by a piecewise linear function of a variable depending on the given value, the set of N values being divided into P subsets of consecutive values, each piece of the piecewise linear function being in a different subset, characterized in that it comprises:
The above-mentioned method can be implemented in this device.
Exemplary embodiments of the invention are illustrated in the drawings and are explained in more detail in the following description.
In the figure:
The present invention will be described with reference to the generation of metacode look-up tables for different Average Power Level or APL values.
The goal of the invention is to reduce the number of look-up tables needed. Only some look-up tables will be predefined for some APL values and, for the other APL values, new look-up tables will be extrapolated from these predefined look-up tables.
In the following specification, a metacode LUT, defined for a given APL value, defines for each input video level an output level expressing a luminance code to be used.
According to the invention and as illustrated by
As mentioned above, each subset of APL values comprises a primary APL value and a secondary APL value. The set of APL values comprises for example 1024 values from 0 to 1023 and is for example divided into 16 subsets of consecutive APL values. The primary APL value is the highest APL value (corresponding to the smallest number of sustain pulses) of the subset and the secondary APL value is the lowest APL value (corresponding to the highest number of sustain pulses) of the subset. A primary metacode LUT is defined for each primary APL value. These primary metacode LUTs are stored in the LUT1. A secondary metacode LUT is defined for,each secondary APL value but these secondary metacode LUTs are not stored in the LUT1 or LUT2. They are only used for calculating the delta LUTs stored in LUT2.
The Look-up table LUT3 delivers, for each APL value, a pointer on the primary Metacode LUT which has to be used for generating the Metacode LUT of this APL value. The LUT 3 has a 10-bit input and a 4-bit output for selecting one of the 16 primary metacode LUTs.
The notations used in the specification are the following ones:
Some jumps can appear when switching from one primary metacode LUT to another one. For example, the smallest sub-field code value (1 sustain pulse for example) has a different (different in comparison with which value ?) relative value (which is equal to 1/total amount of sustain pulses) since the total amount of sustain pulses changes from one primary Metacode level to another one (from one APL value to another). The ratio of these two different values (which is equal to the ratio of the two different total amounts of sustain pulses of the two primary metacode LUTs) could create a jump.
In order to have nearly the same visibility of possible jumps when switching from one primary Metacode to another one, these ratios should be equal as follows:
This means that the division is made in a logarithmic way. The previous formula means that the 2nd the 3rd, . . . and the 15th subsets of APL values have the same ratio between the number of sustain pulses of their smallest APL value and their highest value. If this ratio a: is also imposed to the first subset, we have
where SMAX is the number of sustain pulses for a peak white (low APL value)
When multiplying all terms together, we find that:
where SMIN is the number of sustain pulses for a full white image.
So
This division in a logarithmic way is only a suggestion in order to have the same visibility of possible jumps when switching from one primary metacode LUT to another one; but it is possible to use a different division of the APL set. For example, it is possible to use a different division in order to have more subsets for the low values of APL, and less for the high values of APL.
In an example given in the annex below, the set of APL values is divided in 16 subsets. The primary APL values (lowest APL value of each subset) are marked in bold characters and the secondary APL values (highest APL values: of each subset) are marked in black areas.
This example is given for the following inputs:
The parameter a is equal to:
The 16 primary APL values, used for the primary Metacode LUTs, are determined as indicated in the annex table. The maximal number of sustain pulses of the primary metacode LUT PMTCi is 200×αi sustain pulses, with i=0 . . . 15.
The APL values are distributed as follows:
As an example, for the subset 15, the primary APL value is 135 and the secondary APL value is 0. The maximal number of sustain pulses for the primary metacode LUT is 988 and for the secondary metacode LUT is 1100. The metacode LUTs related to APL values comprised between 1 and 134 of subset 15 are computed by extrapolation. It is an extrapolation in the sense that it is not an interpolation between two metacode LUTs related to different subsets. These metacode LUTs related to APL values 1 . . . 134 can be achieved by an interpolation between the primary metacode LUT related to the APL value 135 and the secondary Metacode LUT related to the APL value 0. The secondary metacode LUT is only used for the extrapolation. In a preferred embodiment, the extrapolation for the APL values of a subset i is made between the primary metacode LUT PMTCi an d a delta LUT corresponding to the difference between primary metacode LUT PMTCi and the secondary metacode LUT SMTCi. This difference LUT, noted LUT2i, is stored in the look up table LUT2. The values in the delta LUTs contained in this LUT2 can be positive or negative, but a 8 bit resolution is enough.
The value stored in the delta LUT related to the subset i in the LUT2 and precalculated for a video level V is:
(Why the coefficient 64/63 ?)
Preferably, for evaluating the look-up table LUT2, more resolution should be used for PMTCi(V) and SMTCi(V) than available for the LUT1.
The extrapolation coefficient for an APL value belonging to the subset i, referenced C(APL), used for the extrapolation is the ratio of the difference between the number of sustain pulses of the current APL, NbSustain(APL), and S(PMTCi) to the difference between S(SMTCi) and S(PMTCi). 6 bit resolution is enough for this coefficient.
(Why the coefficient 63 ?)
The final extrapolation is:
output(V)=LUT1i(V)+(LUT2i(V)×C(APL))/64
(Why the coefficient 64?)
The primary Metacode LUTs are independent of the principle of the invention. Only, the other metacode LUTs are achieved from these primary metacode LUTs.
A possible implementation of the method of the invention is illustrated by
This method needs only (16×1024×(12+8)+1024×(6+4))×3×3=2.9 Mbit for 3 modes instead of 108 Mbit with the method implemented in
Number | Date | Country | Kind |
---|---|---|---|
03293217.0 | Dec 2003 | EP | regional |
04008494.9 | Apr 2004 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/53448 | 12/14/2004 | WO | 5/10/2007 |