FIELD OF THE INVENTION
The present invention relates mainly to image processors and image processing methods for improving response speed of liquid crystal displays and the like.
BACKGROUND OF THE INVENTION
Liquid crystal panels, by reason of their small thickness and lightweight, have been widely used for display devices such as a television receiver, a display device for a computer, and a display section of a personal digital assistant. Since liquid crystals, however, take a certain time to reach a designated transmittance after the driving voltage is applied thereto, there has been a shortcoming in that the liquid crystals cannot respond to motion images changing quickly. In order to solve such a problem, a driving method is employed in which an overvoltage is applied to a liquid crystal so that the liquid crystal reaches a designated transmittance within one frame in a case of gray-scale values varying frame by frame (Japanese Patent Publication No. 2616652). To be more specific, comparing on a pixel to pixel basis current-frame image data with image data preceding by one frame, if a gray-scale value varies, a compensation value corresponding to the variation is added to the current-frame image data. That is, if a gray-scale value increases with respect to that preceding by one frame, a driving voltage higher than usual is applied to the liquid crystal panel, and if decreases, a voltage lower than usual is applied thereto.
In order to perform the method described above, a frame memory is required to output image data preceding by one frame. Recently, there has been a need for increasing capacity of a frame memory with increasing pixels to be displayed due to upsizing of liquid crystal panels. Moreover, since increase in the number of pixels to be displayed involves to increase the amount of data to be read from and written into a frame memory during a given period (for example, one frame period), a data transfer rate needs to be increased by increasing the clock frequency that controls the reading and writing. Such increase in capacity of frame memory and in the transfer rate leads to cost increase of liquid crystal display devices.
In order to solve such problems, the image processing circuit for driving a liquid crystal, disclosed in Japanese Laid-Open Patent Publication No. 2004-163842, reduces its frame memory capacity by encoding image data to be stored therein. By correcting image data based on a difference between decoded image data of a current frame obtained by decoding encoded image data and image data preceding by one frame obtained by decoding encoded image data delay by one frame period, unnecessary voltage caused by an encoding and decoding error, which occurs when a still image is inputted, can be prevented from being applied to the liquid crystal.
SUMMARY OF THE INVENTION
As for a motion image, a dither processing is performed that generates pseudo-halftones by controlling an interleaving rate of frames that are added with a gray-scale by one level in the least significant bit of the image data. In the image processing circuit for driving a liquid crystal, disclosed in Japanese Laid-Open Patent Publication No. 2004-163842, image data is corrected based on a difference between decoded image data of a current frame and a previous frame. In a case image data processed as described above is inputted, if an inter-frame change in the gray-scale by one level is amplified due to an encoding and decoding error, a variation of the image data, which is detected from decoded image data, becomes large. As a result, unnecessary compensation, which applies over-voltage to liquid crystals, occurs.
The present invention has been made in light of the above-described problems, with an object of providing an image processor for driving a liquid crystal that encodes and decodes image data to reduce size of a frame memory, that correct image data accurately without being affected by an encoding and decoding error, in order to apply an appropriate compensation voltage to a liquid crystal, even in cases that image data added with pseudo gray-scale signals are inputted.
A first image processor according to the present invention that corrects and outputs image data representing a gray-scale value of each of pixels of an image, based on a change in the gray-scale value of each pixel, the image processor includes, an encoding means that divides a current-frame image into a plurality of blocks, and outputs first encoded image data, corresponding to the current-frame image, configured including a representative value denoting a magnitude of pixel data of each of the blocks, and a quantized value, quantized based on the representative value, of pixel data in each of the blocks; a decoding means that decodes the first encoded image data, to output first decoded image data corresponding to the current-frame image; a delay means that delays the first encoded image data for a period equivalent to one frame, to output second encoded image data corresponding to the image preceding the current frame by one frame; a decoding means that decodes the second encoded image data, to output second decoded image data corresponding to the image preceding the current frame by one frame; an encoded data discrimination means that, by referring to the first and the second encoded image data, calculates variations of the representative value and the quantized value between the current-frame image and the image preceding by one frame, to generate, based on these variations, a control signal denoting a change in the pixel data of the current frame in each of the blocks; a one-frame-preceding-image calculation means that generates one-frame-preceding image data by choosing on a pixel to pixel basis, based on the control signal, either the current-frame image data or the second decoded image data; and an image data compensation means that compensates a gray-scale value of the current-frame image, based on the current-frame image data and the one-frame-preceding image data.
A second image processor according to the present invention that corrects and outputs image data representing a gray-scale value of each of pixels of an image, based on a change in the gray-scale value of the each pixel, the image processor includes an encoding means that encodes image data representing a current-frame image, to output the encoded image data corresponding to the current-frame image; a decoding means that decodes the encoded image data, to output first decoded image data corresponding to the current-frame image data; a delay means that delays the encoded image data for a period equivalent to one frame; a decoding means that decodes the encoded image data outputted from the delay means, to output second decoded image data corresponding to the image data preceding the current frame by one frame; a means that by calculating on a pixel to pixel basis a variation between the first and the second decoded image data and an error amount between the current-frame image data and the first decoded image data, generates one-frame-preceding image data by choosing on a pixel to pixel basis, based on the variation and the error amount, either the current-frame image data or the second decoded image data; and an image data compensation means that compensates a gray-scale value of the current-frame image, based on the current-frame image data and the one-frame-preceding image data.
According to the first image processor of the invention, by making reference to the first and the second encoded image data, variations of a representative value and a quantized value between a current-frame image and that preceding by one frame are calculated; a control signal that denotes a change in the current-frame pixel data in each of the blocks are generated based on these variations; based on the control signal, the one-frame-preceding image data is generated by choosing either the current-frame image data or the second decoded image data on a pixel to pixel basis. Therefore, an appropriate compensation voltage can be applied to the liquid crystal without being affected by an encoding and decoding error even in cases of image data being inputted that is added with a pseudo gray-scale signal.
According to the second image processor of the invention, a variation between the first and the second decoded image data, and an error amount between a current-frame image data and the first decoded image data are calculated on a pixel to pixel basis; the one-frame-preceding image data is generated by choosing on a pixel to pixel basis either the current-frame image data or the second decoded image data. Therefore, an appropriate compensation voltage can be applied to the liquid crystal without being affected by an encoding/decoding error even in cases of image data being inputted that are added with a pseudo gray-scale signal.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram illustrating an aspect of an image processor for driving a liquid crystal according to the present invention;
FIG. 2 is graphs illustrating response characteristics of a liquid crystal;
FIG. 3 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 4 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 5 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 6 is a flow chart illustrating an operation of the image processor for driving a liquid crystal according to the invention;
FIG. 7 is graphs illustrating characteristics of variables k1 and k2;
FIG. 8 is graphs illustrating characteristics of variables ka, kb, kc, and kd;
FIG. 9 a block diagram illustrating an example of an internal configuration of an image data compensation unit;
FIG. 10 is a schematic diagram illustrating a configuration of a look-up table;
FIG. 11 is a histogram illustrating an example of response speed of the liquid crystal;
FIG. 12 is a histogram illustrating an example of compensation amounts stored in the look-up table;
FIG. 13 is a block diagram illustrating an example of another internal configuration of the image data compensation unit;
FIG. 14 is a histogram illustrating an example of compensated image data stored in the look-up table;
FIG. 15 is a block diagram illustrating another aspect of an image processing unit for driving a liquid crystal according to the invention;
FIG. 16 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 17 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 18 is diagrams for explaining processes of generating one-frame-preceding image data;
FIG. 19 is a flow chart illustrating another operation of the image processor for driving the liquid crystal according to the invention;
FIG. 20 is a block diagram illustrating still another aspect of an image processing unit for driving a liquid crystal according to the invention;
FIG. 21 is diagrams for explaining processes of generating one-frame-preceding image data Dq0;
FIG. 22 is diagrams for explaining an encoding/decoding error;
FIG. 23 is diagrams for explaining processes of generating the one-frame-preceding image data Dq0;
FIG. 24 is diagrams for explaining the encoding and decoding error;
FIG. 25 is a flow chart illustrating another operation of the image processor; and
FIG. 26 is graphs illustrating characteristics of variables k1 and k2.
DETAILED DESCRIPTION
Embodiment 1
FIG. 1 is a block diagram illustrating a configuration of a liquid crystal display device provided with an image processor according to the present invention. A receiver unit 2 performs processes such as channel selection and demodulation of a video signal inputted through an input terminal 1, and successively outputs an image data Di1 representing an image of one frame (a current-frame image) to an image data processing unit 3. The image data processing unit 3 is composed of an encoding unit 4, a delay unit 5, decoding units 6 and 7, a variation calculation unit 8, an encoded data discrimination unit 9, a one-frame-preceding-image calculation unit 10, and an image data compensation unit 11. The image data processing unit 3 corrects the image data Di1 based on a change in the gray-scale value and output a compensated image data Dj1 to a display unit 12. The display unit 12 displays the image by applying to the liquid crystal predetermined driving voltages designated by the compensated image data Dj1.
An operation of the image data processing unit 3 will be explained bellow.
The encoding unit 4 encodes the image data Di1 by using a block truncation coding (BTC) such as FBTC and GBTC, and output an encoded image data Da1. The encoded image data Da1 is generated by dividing the image data Di1 into a plurality of blocks and quantizing image data in each of the blocks using quantizing thresholds, which is determined based on a representative value denoting magnitude of pixel data in each of the blocks. An averaged value La1 and a dynamic range Da1 are used as the representative value. The encoded image data Da1 consists of the averaged value La1, the dynamic range Lb1 of the image data in each of the blocks and a quantized value Q of each of the pixel data.
The delay unit 5 delays the encoded image data Da1, for a period equivalent to one frame and output encoded image data Da0 corresponding to the image preceding by one frame. Memory size of the delay unit 5, which is necessary for delaying the encoded image data Da1, can be decreased by increasing an encoding rate (data compression rate) of the image data Di1 in the encoding unit 4.
The decoding unit 6 decodes the encoded image data Da1 and output decoded image data Db1 corresponding to the image data Di1. The decoding unit 7 decodes the encoded image data Da0 and output decoded image data Db0 corresponding to the image preceding by one frame.
The variation calculation unit 8 calculates difference between the decoded image data Db1 of the current frame and the decoded image data Db0 preceding by one frame on a pixel to pixel basis, and output absolute value of calculated difference in each pixel as variation Dv1. The variation Dv1 is inputted into the one-frame-preceding-image calculation unit 10 along with the image data Di1 and the decoded image data Db0.
The encoded data discrimination unit 9 receives the encoded image data Da1 and Da0 outputted from the encoding unit 4 and the delay unit 5, respectively. The encoded data discrimination unit 9 outputs a control signal Dw1 that denotes a motion or a still image region in the current-frame image based on a change in the encoded image data Da1 from the encoded image data Da0 preceding by one frame on a pixel to pixel basis. The control signal Dw1=1 is outputted for a pixel and block of which gray-scale value has varied from previous frame, and the control signal Dw1=0 is outputted for a pixel of which gray-scale value remain same or almost same.
The control signal Dw1 is determined by calculating |La1−La0|, a variation of the averaged values between current and previous frames in each block, and |Lb1−Lb0|, a variation of the dynamic ranges between current and previous frames in each block. In a case of these variations of each block exceeding predetermined thresholds (Tha, Thb), the control signal Dw1=1 is outputted for all pixels in the block. When the control signal Dw1=1 is outputted for all pixels in the block, the one-frame-preceding-image calculation unit 10 discriminates between a motion image and a still image on a pixel to pixel basis according to the variation Dv1 of each pixel. If the variation Dv1 exceeds the predetermined threshold (Thv), an associated pixel is regarded as representing a motion image. On the other hand, if the variation Dv1 is equal to or smaller than the threshold, an associated pixel is regarded as representing a still image.
At the same time, if the variations |La1−La0| and |Lb1−Lb0| are equal to or smaller than the respective thresholds, discrimination between a motion and a still images is made based on a variation |Q1−Q0| of quantized value Q1 and Q0 of each pixel. If |Q1−Q0| is 1 or 0, associated pixel is regarded as representing a still image, and the control signal Dw1=0 is outputted. If |Q1−Q0| exceeds 1, an associated pixel is regarded as representing a motion image, and the control signal Dw1=1 is outputted.
The control signal Dw1 outputted from the encoded data discrimination unit 9 is inputted into the one-frame-preceding-image calculation unit 10.
The one-frame-preceding-image calculation unit 10 generates one-frame-preceding image data Dq0 by selecting the image data Di1 or the decoded image data Db0 preceding by one frame on a pixel to pixel basis, based on a value of the control signal Dw1 and the variation Dv1. If the control signal Dw1=0, an associated pixel is regarded as representing a still image, and the image data Di1 is selected for this pixel. If the control signal Dw1=0 and the variation Dv1 is smaller, an associated pixel is regarded as representing a still image, and the image data Di1 is selected for this pixel. If the control signal Dw1=1 and the variation Dv1 is larger, an associated pixel is regarded as representing a motion image, and the decoded image data Db0 is selected for this pixel. The one-frame-preceding image data Dq0 generated by selecting the image data Di1 or the decoded image data Db0 in a manner described above is inputted into the image data compensation unit 11.
The image data compensation unit 11 compensates the image data Di1 so that the liquid crystal reaches predetermined transmittances designated by the image data Di1 within one frame period, based on inter-frame changes in gray-scale values obtained by comparing the image data Di1 with the one-frame-preceding image data Dq, and output the compensated image data Dj1. FIG. 2 is graphs illustrating a response characteristic when a driving voltage based on the compensated image data Dj1 is applied to the liquid crystal. FIG. 2A is a graph illustrating the image data Di1; FIG. 2B, a graph illustrating the compensated image data Dj1; and FIG. 2C is a graph illustrating a response characteristic of the liquid crystal obtained by applying a driving voltage based on the compensated image data Dj1. The broken line in FIG. 2C indicates a response characteristic of the liquid crystal when the driving voltage based on the image data Di1 is applied. As shown in FIG. 2B, the compensated image data Dj1 is generated by adding compensation amount V1 to image data Di1, or subtracting V2 from the image data Di1. By applying the driving voltage based on the compensated image data Dj1, the liquid crystal can reach the predetermined transmittances designated by the image data Di1 approximately within one frame period as shown in FIG. 2C.
FIG. 3 through FIG. 5 are diagrams for explaining processes of generating the one-frame-preceding image data Dq0 in the image data processing unit 3.
The processes of generating the one-frame-preceding image data Dq0 will be explained bellow in detail with reference to FIG. 3 through FIG. 5. In the following explanation, Tha, Thb, and Thv represents a threshold for respective variations |La1−La0|, |Lb1−Lb0| and Dv1. These thresholds are Tha=10, Thb=20, and Thv=10, in the following explanation.
FIG. 3 are diagrams for explaining the processes of generating the one-frame-preceding image data Dq0 in case that a still image added with pseudo gray-scale signals by a dither processing is inputted.
FIGS. 3D and 3A indicate values of the image data Di1 of a current frame and image data Dq0 preceding by one frame, respectively. As shown in FIG. 3D, a pixel data (b, B) in the image data Di1 of the current frame varies from 59 to 60 after being added with a pseudo gray-scale signal by the dither processing.
FIGS. 3B and 3E indicate the encoded data Da0 and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 3A and 3D, respectively. As shown in FIGS. 3B and 3E, the averaged values and the dynamic ranges of the image data Di0 and Di1 shown in FIGS. 3A and 3D are La0=La1=60 and Lb0=Lb1=120, respectively. The quantized values Q0 and Q1 are calculated by 2 bit quantization.
FIGS. 3C and 3F indicate the decoded image data Db0 and Db1 obtained by decoding the encoded image data Da0 and Da1 shown in FIGS. 3B and 3E, respectively.
FIG. 3G indicates a difference between the image data Di0 and Di1 shown in FIGS. 3A and 3D, an actual variation of the image. FIG. 3H indicates the variation Dv1, a difference between the decoded image data Db0 and Db1 shown in FIGS. 3C and 3F. The actual variation of the pixel data (b, B) is 1 as shown in FIG. 3G, however, the variation Dv1 of the same pixel is 40 as shown in FIG. 3H, due to an influence of error occurring in the encoding and decoding process.
FIG. 3I indicates an error between the actual variations shown in FIG. 3G and the variation Dv1 shown in FIG. 3H. From these diagrams, it is found that a large error occurs in the pixel data (b, B) where the pseudo gray-scale signal is added, due to the error in the encoding and decoding process.
FIG. 3J indicates the control signal Dw1 generated based on the encoded image data Da0 and Da1 shown in FIGS. 3B and 3E. As shown in FIGS. 3B and 3E, an averaged value variation between the current frame and the frame preceding by one frame |La1−La0|=0, and a dynamic range variation |Lb1/Lb0|=0, and both variations are smaller than the respective thresholds Tha=10 and Thb=20. A quantized value variation |Q1−Q0| is 1 in the pixel (B, b) and 0 in the other pixels. Accordingly, the encoded data discrimination unit 9 outputs the control signal Dw1=0 for all pixels.
FIG. 3K indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Db0 shown in FIG. 3C or the image data Di1 shown in FIG. 3D on a pixel to pixel basis, based on the variation Dv1 shown in FIG. 3H and the control signal Dw1 shown in FIG. 3J. While the variation Dv1 of the pixel data (b, B) exceeds the threshold Thv (=10) as shown in FIG. 3H, since the control signal Dw1 is 0 for all pixels as shown in FIG. 3J, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for all pixels.
FIG. 3L indicates an error between the image data Di0 preceding by one frame shown in FIG. 3A and the one-frame-preceding image data Dq0 shown in FIG. 3K. As shown in FIG. 3L, by selecting the image data Di1 of the current frame as the image data preceding by one frame based on the control signal Dw1 and the variation Dv1, an encoding and decoding error due to the pseudo gray-scale signals can be corrected. In other words, changes in image data and the pseudo gray-scales are discriminated based on the averaged value variation |La1−La0|, the dynamic range variation |Lb1−Lb0|, and the quantized value variation |Q1−Q0| of each of the blocks, which are included in the encoded image data Da0 and Da1, and in case that the pseudo gray-scales is recognized, the image data Di1 of the current frame is selected as the image data preceding by one frame. As a result, the encoding and decoding error due to the dither processing can be prevented.
FIG. 4 are diagrams for explaining the operation of the image data processing unit 3 in case that a motion image is inputted.
FIGS. 4D and 4A indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. Comparing the image data Di0 with the image data Di1 shown in FIGS. 4A and 4D, pixel data in the B, C and D column vary from 0 to 59, 59 to 60, and 60 to 0, respectively.
FIGS. 4B and 4E indicate the encoded image data Da0, and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 4A and 4D, respectively. As shown in FIGS. 4B and 4E, the averaged values and the dynamic ranges of the image data Di0 and Di1 shown in FIGS. 4A and 4D are La0=La1=30 and Lb0=Lb1=60, respectively.
FIGS. 4C and 4F indicate the decoded image data Db0 and Db1 obtained by decoding the encoded image data Da0 and Da1 shown in FIGS. 4B and 4E, respectively.
FIG. 4G indicates differences between the image data Di0 and Di1 shown in FIGS. 4A and 4D, an actual variations of the image. FIG. 4H indicates the variation Dv1, a difference between the decoded image data Db0 and Db1 shown in FIGS. 4C and 4F.
FIG. 4I indicates an error between the actual variations shown in FIG. 4G and the variation Dv1 shown in FIG. 4H.
FIG. 4J indicates the control signal Dw1 generated based on the encoded image data Da0, and Da1 shown in FIGS. 4B and 4E. As shown in FIGS. 4B and 4E, the averaged value variation between the current frame and the frame preceding by one frame |La1−La0=0 and the dynamic range variation |Lb1−Lb0=0, and both variations are smaller than the respective thresholds Tha=10 and Thb=20. A quantized value variation |Q1−Q0|=0 in pixels in the A and C columns and |Q1−Q0|=3 in pixels in the B and D columns. Accordingly, the encoded data discrimination unit 9 outputs the control signal Dw1=0 for the pixels in the A and C columns and the control signal Dw1=1 for the pixels in the B and D columns.
FIG. 4K indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Db0 shown in FIG. 4C or the image data Di1 shown in FIG. 4D on a pixel to pixel basis, based on the variation Dv1 shown in FIG. 4H and the control signal Dw1 shown in FIG. 4J. As shown in FIG. 4H, the variation Dv1 in pixels in the B and D columns is 60, exceeding the threshold Thv (=10). As shown in FIG. 4J, the control signal Dw1 in pixels in the A and C columns is 0 and 1 in pixels in the B and D columns. Accordingly, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for the pixels in the A and C columns and selecting the decoded image data Db0 for the pixels in the B and D columns.
FIG. 4L indicates an error between the image data Di0 preceding by one frame shown in FIG. 4A and the one-frame-preceding image data Dq0 shown in FIG. 4K. As shown in FIG. 4L, by selecting the image data Di1 of the current frame or the decoded image data Db0 on a pixel to pixel basis, based on the control signal Dw1 and the variation Dv1, the one-frame-preceding image data Dq0 can be correctly generated. Furthermore, the error shown in FIG. 4L are smaller than those shown in FIG. 4I. This means the error in the variations between the one-frame-preceding image data Dq0 and the image data Di0 are smaller than those in the variation Dv1 between the decoded image data Db0 and Db1.
FIG. 5 are diagrams for explaining the operation of the image data processing unit 3 in case that another motion image being inputted.
FIGS. 5D and 5A indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. Comparing the image data Di0 with the image data Di1 shown in FIGS. 5A and 5D, pixel data in the B, C and D columns varies from 0 to 59, 59 to 60, and 60 to 120.
FIGS. 5B and 5E indicate the encoded image data Da0, and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 5A and 5D, respectively. As shown in FIGS. 5B and 5E, the averaged values and the dynamic ranges of the image data Di0 and Di1 shown in FIGS. 5A and 5D are La0=30, La1=60, Lb0=60 and Lb1=120, respectively.
FIGS. 5C and 5F indicate the decoded image data Db0 and Db1 obtained by decoding the encoded image data Da0 and Da1 shown in FIGS. 5B and 5E, respectively.
FIG. 5G indicates a difference between the image data Di0 and Di1 shown in FIGS. 5A and 5D, an actual variation of the image. FIG. 5H indicates the variation Dv1, a difference between the decoded image data Db0 and Db1 shown in FIGS. 5C and 5F.
FIG. 5I indicates an error between the actual variations shown in FIG. 5G and the variation Dv1 shown in FIG. 5H.
FIG. 5J indicates the control signal Dw1 generated based on the encoded image data Da0, and Da1 shown in FIGS. 5B and 5E. As shown in FIGS. 5B and 5E, the averaged value variation between the current frame and the frame preceding by one frame |La1−La0|=30, and the dynamic range variation |Lb1−Lb0|=60, and both variations exceed the respective thresholds Tha=10 and Thb=20. Thus, the control signal Dw1=1 is outputted for all pixels in the block.
FIG. 5K indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Db0 shown in FIG. 5C or the image data Di1 shown in FIG. 5D on a pixel to pixel basis, based on the variation Dv1 shown in FIG. 5H and the control signal Dw1 shown in FIG. 5J. As shown in FIG. 5H, the variation Dv1 of pixels in the B, C, and D columns are 40, 20, and 60, respectively, exceeding the threshold Thv (=10). As shown in FIG. 5J, the control signal Dw1 is 1 for all pixels. Accordingly, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for pixels in the A column and selecting the decoded image data Db0 for pixels in the B, C and D columns.
FIG. 5L indicates an error between the image data Di0 preceding by one frame shown in FIG. 5A and the one-frame-preceding image data Dq0 shown in FIG. 5K. As shown in FIG. 5L, by selecting the image data Di1 of the current frame or the decoded image data Db0 based on the amount of the variation Dv1 when the averaged value variation |La1−La0| and the dynamic range variation |Lb1−Lb0−| of a block both exceed the respective predetermined thresholds (Tha, Thb), the one-frame-preceding image data Dq0 can be correctly generated with a small error.
As explained above with reference to FIG. 3 through FIG. 5, the averaged value variation |La1−La0|, the dynamic range variation |Lb1−Lb0|, and the quantized value variation |Q1−Q0| is calculated from the encoded image data Da0 and Db1, and the control signal Dw1 for determining whether each pixel represents a motion or a still image is generated based on these variations. Then the decoded image data Db0 or the image data Di1 is selected on a pixel to pixel basis based on the control signal Dw1 and the variation Dv1, and the one-frame-preceding image data Dq0 is reproduced correctly. As a result, even in case that the image data Di1 added with pseudo gray-scale signals are inputted, the appropriate compensation voltages are applied to the liquid crystal without affected by the encoding and decoding error.
To apply such encoding methods as JPEG, JPEG-LS, and JPEG2000, which converts image data into data in the frequency domain, in the encoding unit 4, a low frequency component is used as a representative value of a block. Those encoding methods for a still image are also applicable to an irreversible encoding whereby decoded image data is not in perfect agreement with the image data before encoded.
FIG. 6 is a block diagram illustrating the above-explained processing steps executed by the image data processing unit 3.
First, the image data Di1 is inputted into the image data processing unit 3 (St1). The encoding unit 4 encodes the image data Di1 inputted thereto, and output the encoded image data Da1 (St2). The delay unit 5 delays the encoded image data Da1 for one frame period, and output the encoded image data Da0 preceding by one frame (St3). The decoding unit 7 decodes the encoded image data Da0 preceding by one frame and outputs the decoded image data Db0 corresponding to the image data Di0 preceding by one frame (St4). In parallel with these processes, the decoding unit 6 decodes the encoded image data Da1, and output the decoded image data Db1 corresponding to the image data Di1 of a current frame (St5).
The variation calculation unit 8 calculates a difference between the decoded image data Db1 of the current frame and the decoded image data Db0 preceding by one frame on a pixel to pixel basis, and output absolute values of the difference as the variation Dv1 (St6). In parallel with this process, the encoded data discrimination unit 9 compares the image data Di1 of the current frame with the encoded image data Da0 preceding by one frame, and in case that the variation |La1−La0| and |Lb1−Lb0| of a block exceed the respective predetermined thresholds (Tha, Thb), the control signal Dw1=1 is outputted for all pixels in this block. On the other hand, in case that the variations |La1−La0| and |Lb1−Lb0| are equal to or smaller than the respective thresholds, the control signal Dw1=0 is outputted for a pixel of which quantized value variation |Q1−Q0| is 0 or 1, and the control signal Dw1=1 is outputted for a pixel of which variation |Q1−Q0| is larger than 1 (St7).
The one-frame-preceding-image calculation unit 10 selects the decoded image data Db0 for a pixel of which variations Dv1 is larger than the predetermined threshold (Thv) and of which control signal Dw1 is 1, and selects the image data Di1 as image data preceding by one frame for a pixel of which variation Dv1 is smaller than the predetermined threshold and of which control signals Dw1 is 0, and outputs the one-frame-preceding image data Dq0 (St8).
The image data compensation unit 11 calculates compensation amounts necessary for driving the liquid crystal to reach predetermined transmittances designated by the image data Di1 within one frame period based on changes in gray-scale values obtained by comparing the one-frame-preceding image data Dq0 with the image data Di1, and compensate the image data Di1 using the compensation amounts, and outputs the compensated image data Dj1 (St9).
The processing steps St1 through St9 are executed for each pixel of the image data Di1.
The one-frame-preceding image data Dq0 may be calculated by the following Formula (1):
Dq0=min(k1,k2)×Db0+(1−min(k1,k2))×Di1 (1).
In above Formula (1), k1 and k2 are variables between 0 and 1, of which values vary depending on values of the variation Dv1 and the control signal Dw1. min(k1, k2) represents a smaller value of k1 and k2.
FIG. 7A and FIG. 7B are graphs illustrating relationships between the variation Dv1 and k1, and the control signal Dw1 and k2, respectively. As shown in FIG. 7A, two thresholds SH0 and SH1 (SH0<SH1) are set for the variation Dv1; k1=0 when Dv1<SH0, 0<k1<1 when SH0≦Dv1≦SH1, and k1=1 when SH1<Dv1. As shown in FIG. 7B, two thresholds SH2 and SH3 (SH2<SH3) are also set for the control signal Dw1; k2=0 when Dw1<SH2, 0<k2<1 when SH2≦Dw1≦SH3, and k2=1 when SH3<Dw1.
As shown in Formula (1), when either one of k1 and k2 is 0, the image data Di1 is selected as the one-frame-preceding image data Dq0, and when both k1 and k2 are 1, the decoded image data Db0 is outputted as the one-frame-preceding image data Dq0. In cases other than the above, weighted averages of the image data Di1 and the decoded image data Db0 are calculated as the one-frame-preceding image data Dq0 based on the smaller value of k1 and k2.
By using Formula (1), the one-frame-preceding image data Dq0 can be calculated with smaller an error even when the variation Dv1 and the control signal Dw1 are in the vicinity of respective thresholds.
The control signal Dw1 may be calculated by the following Formula (2):
Dw1=kc×(1−max(ka,kb))+kd×max(ka,kb) (2).
In above Formula (2), ka and kb are variables between 0 and 1, of which values vary depending on values of |La1−La0 and |Lb1−Lb0|, the variation of the averaged value and dynamic range. kc is a variable between 0 and 1, of which value varies depending on a value of |Q1−Q0|, variation of the quantized value. kd is a predetermined constant. max(ka, kb) represents a larger value of ka and kb.
FIG. 8 are graphs illustrating each value of ka, kb, kc, and kd in Formula (2).
FIG. 8A is a graph illustrating a relationship between |La1−La0| and ka. As shown in FIG. 8A, two thresholds SH4 and SH5 (SH4<SH5) are set for |La1−La0|; ka=0 when |La1−La0|<SH4; 0<ka<1 when SH4≦|La1−La0≦SH5, and ka=1 when SH5<|La1−La0|.
FIG. 8B is a graph illustrating a relationship between |Lb1−Lb0| and kb. As shown in FIG. 8B, two thresholds SH6 and SH7 (SH6<SH7) are set for |Lb1−Lb0|; kb=0 when |Lb1−Lb0|<SH6, 0<kb<1 when SH6≦|Lb1−Lb0|≦SH7, and kb=0 when SH7<|Lb1−Lb0|.
FIGS. 8C and 8D are graphs illustrating relationships between |Q1−Q0| and kc, and |Q1−Q0| and kd, respectively. The variable kc shown in FIG. 8C is used when associated block is a still image or a slow motion image, where |La1−La0| is smaller than SH5 and |Lb1−Lb0| are smaller than SH7. On the other hand, the variable kd (=1) shown in FIG. 8D is used when associated block is a motion image, where |La1−La0| is equal to or larger than SH5 or |Lb1−Lb0| is equal to or larger than SH7.
As shown in Formula (2), when both ka and kb are 0, kc with a characteristic shown in FIG. 8C is selected as the control signal Dw1, and when either one of ka and kb is 1, kd (=1) is selected as the control signal Dw1. In case other than the above, a weighted average of kc and kd is calculated as the control signal Dw1 based on a larger value of ka and kb.
Embodiment 2
In Embodiment 1, the image data compensation unit 11 calculates compensation amounts based on changes in the gray-scale values obtained by comparing the one-frame-preceding image data Dq0 with the image data Di0, and generate the compensated image data Dj1. As another example, the image data compensation unit 11 may be configured to compensate the image data Di1 by referring to compensation amounts stored in a look-up table, and output the compensated image data Dj1.
FIG. 9 is a block diagram illustrating an internal configuration of the image data compensation unit 11 according to Embodiment 2. A look-up table 11a receives the one-frame-preceding image data Dq0 and the image data Di1 and outputs compensation amount Dc1 based on their values.
FIG. 10 is a schematic diagram illustrating an example of a configuration of the look-up table 11a. The image data Di1 and the one-frame-preceding image data Dq0 are inputted into the look-up table 11a as readout addresses. In case that the image data Di1 and the one-frame-preceding image data Dq0 are represented by 8 bit data, 256×256 patterns of data are stored in the look-up table 11a as the compensation amount Dc1. The compensation amount Dc1 (=dt (Di1, Dq0)) corresponding to a value of the image data Di1 and the one-frame-preceding image data Dq0. are read and outputted from the look-up table 11a. A compensation section 11b adds the compensation amount Dc1 outputted from the look-up table 11a to the image data Di1, and output the compensated image data Dj1.
FIG. 11 is a diagram illustrating an example of response times of a liquid crystal. In FIG. 11, the x-axis denotes values of the image data Di1 (gray-scale values of a current image), y-axis denotes values of the image data Di0 preceding by one frame (gray-scale values of the image preceding by one frame), and z-axis denotes the response times required for the liquid crystal to reach transmittance corresponding to a gray-scale value of the image data Di1 from transmittance corresponding to a gray-scale values of the preceding image data Di0. In case that a gray-scale value of a current image is represented by 8 bit data, there are 256×256 patterns of the gray-scale value combinations of image data Di0 and Di1. Accordingly, there are 256×256 patterns of response times. The response time corresponding to the gray-scale-value combination are simplified into 8×8 cases in FIG. 11.
FIG. 12 is a diagram illustrating values of the compensation amount Da1 added to the image data Di1 for the liquid crystal to have transmittances designated by the image data Di1 within one frame period. When gray-scale values of image data are represented by 8 bit data, there are 256×256 patterns of the compensation amounts Dc1 in accordance with a gray-scale value combinations of image data Di0 and Di1. The compensation amounts corresponding to the gray-scale value combination are indicated in FIG. 12 simplified into 8×8 patterns.
Since the response times of the liquid crystal varies depending on gray-scale value differences between image data Di0 and Di1 as shown in FIG. 11, 256×256 patterns of the compensation amounts Dc1, which correspond to the gray-scale values of both the image data Di0 and Di1, are stored in the look-up table 11a. Liquid crystals have a slow response speed, in particular, varying from halftone (gray) to high-tone (white). (There are also cases of a slow response in a reverse or another variations depending on type of liquid crystal panel or on an operation mode.) Accordingly, by setting large values of the compensation amounts Di1=dt (Di1, Dq0) corresponding to the one-frame-preceding image data Dq0 representing halftone and the image data Di1 representing high-tone, the response speed can be effectively improved. Moreover, since response characteristics of liquid crystal varies depending on its material, shape of the electrode, and temperature, the response time can be controlled depending on the characteristics of the liquid crystal by using the look-up table 11a provided with the compensation amount Dc1 corresponding to such conditions.
As described above, by using the look-up table 11a storing the predetermined compensation amount Dc1, calculation required to output the compensated image data Dj1 can be reduced.
FIG. 13 is a block diagram illustrating another internal configuration of the image data compensation unit 11 according to Embodiment 2. A look-up table 11c shown in FIG. 13 receives the one-frame-preceding image data Dq0 and the image data Di1, and outputs the compensated image data Dj1 (=(Di1, Dq0)) based on values of both image data. The look-up table 11c stores the compensated image data Dj1 (=(Di1, Dq0)) obtained by adding to the image data Di1 the compensation amounts Dc1 (=dt (Di1, Dq0)) of 256×256 shown in FIG. 12. The compensated image data Dj1 is set not to exceed the gray-scale range in which the display unit 12 can display.
FIG. 14 is a diagram illustrating an example of the compensated image data Dj1 stored in the look-up table 11c. In case that gray-scale values of image data are represented by 8 bit data, there are 256×256 patterns of the compensation amount Dc1 in accordance with a gray-scale value combinations of image data Di0 and Di1. The compensation amounts corresponding to the gray-scale-value combination are indicated in FIG. 14, simplified into 8×8 patterns.
By storing the compensated image data Dj1 in the look-up table 11c and outputting the compensated image data Dj1 based on the image data Dq0 and Di1, the calculation required to output the compensation amounts Dc1 can be further reduced.
Embodiment 3
FIG. 15 is a block diagram illustrating another configuration of the liquid crystal display device provided with the image processor according to the present invention. The image data processing unit 3 in the image processor according to Embodiment 3 is composed of the encoding unit 4, the delay unit 5, the decoding unit 7, the encoded data discrimination unit 9, the one-frame-preceding-image calculation unit 10, and the image data compensation unit 11. The same numeral references are assigned to components equivalent to those in the image data processing unit 3 shown in FIG. 1.
In the image data processing unit 3 according to Embodiment 3, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 and the decoded image data Db0 on a pixel to pixel basis based on only the control signal Dw1 outputted from the encoded data discrimination unit 9. If the control signal Dw1=1, the image data Di0 is regarded as image data preceding by one frame and selected for an associated pixel. If the control signal Dw1=0, the image data Di1 is regarded as image data preceding by one frame and selected for an associated pixel. A method of generating the control signal Dw1 is the same as that in Embodiment 1.
FIG. 16 through FIG. 18 are diagrams for explaining processes of generating the one-frame-preceding image data Dq0 in the image data processing unit 3 according to Embodiment 3.
The processes of generating the one-frame-preceding image data Dq0 will be explained in detail bellow with reference to FIG. 16 through FIG. 18. In the following explanations, Tha, and Thb represents a threshold for respective variations |La1−La0|, |Lb1−Lb0|. These thresholds are Tha=10 and Thb=20, in the following explanation.
FIG. 16 are diagrams for explaining the processes of generating the one-frame-preceding image data Dq0 in case that a still image added with pseudo gray-scale signals by a dither processing is inputted.
FIGS. 16D and 16A indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. As shown in FIG. 16D, a pixel data (b, B) in the image data Di1 of the current frame varies from 59 to 60 after being added with a pseudo gray-scale signal by the dither processing.
FIGS. 16B and 16E indicate the encoded data Da0 and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 16A and 16D, respectively. As shown in FIGS. 16B and 16E, the averaged values La0 and La1 and the dynamic ranges Lb0 and Lb1 of the image data Di0 and Di1 shown in FIGS. 16A and 16D are La0=La1=60 and Lb0=Lb1=120, respectively.
FIG. 16C indicates the decoded image data Db0 obtained by decoding the encoded image data Da0 shown in FIG. 16B.
FIG. 16F indicates a difference between the image data Di0 and Di1 shown in FIGS. 16A and 16D, an actual variation of the image.
FIG. 16G indicates the control signal Dw1 generated based on the encoded image data Da0 and Da1 shown in FIGS. 16B and 16E. As shown in FIGS. 16B and 16E, the averaged value variation between the current frame and the frame preceding by one frame |La1−La0|=0 and the dynamic range variation |Lb1−Lb0|=0, and both variations are smaller than the respective thresholds Tha=10 and Thb=20. The quantized value variation |Q1−Q0| in the pixel (b, B) is 1 and |Q1−Q0| in the other pixels are 0. Accordingly, the encoded data discrimination unit 9 outputs the control signal Dw1=0 for all pixels.
FIG. 16H indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Dh0 shown in FIG. 16C or the image data Di1 shown in FIG. 16D on a pixel to pixel basis, based on the control signal Dw1 shown in FIG. 16G. The control signal Dw1=0 for all pixels as shown in FIG. 16G. Accordingly, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for all pixels.
FIG. 16I indicates an error between the image data Di0 preceding by one frame shown in FIG. 16A and the one-frame-preceding image data Dq0 shown in FIG. 16H. As shown in FIG. 16I, the encoding and decoding error due to the pseudo gray-scale signals can be corrected, even in case of generating the one-frame-preceding image data Dq0 based on the control signal Dw1 only.
FIG. 17 are diagrams for explaining the operation of the image data processing unit 3 in a case of a motion image being inputted.
FIGS. 17A and 17D indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. Comparing the image data Di0 with the image data Di1 shown in FIGS. 17A and 17D, pixel data in the B, C and D column vary from 0 to 59, 59 to 60, and 60 to 0, respectively.
FIGS. 17B and 17E indicate the encoded image data Da0, and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 17A and 17D, respectively. As shown in FIGS. 17B and 17E, the averaged value and the dynamic range of the image data Di0 and Di1 shown in FIGS. 17A and 17D are La0=30, La1=30, Lb0=60 and Lb1=60, respectively.
FIG. 17C indicates the decoded image data Db0 obtained by decoding the encoded image data Da0 shown in FIG. 17B.
FIG. 17F indicates a difference between the image data Di0 and Di1 shown in FIGS. 17A and 17D, an actual variation of the image.
FIG. 17G indicates the control signal Dw1 that is outputted based on the encoded image data Da0, and Da1 shown in FIGS. 17B and 17E. As shown in FIGS. 17B and 17E, the averaged value variation between the current frame and the frame preceding by one frame |La1−La0|=0 and the dynamic range variation |Lb1−Lb0|=0, and both variations are smaller than the respective thresholds Tha=10 and Thb=20. A quantized value variation |Q1−Q0| in pixels in the A and C columns is 0 and |Q1−Q0| in pixels in the pixels in the B and D columns is 3. Accordingly, the encoded data discrimination unit 9 outputs the control signal Dw1=0 for the pixels in the A and C columns and the control signal Dw1=1 for the pixels in the B and C columns.
FIG. 17H indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Db0 shown in FIG. 17C or the image data Di1 shown in FIG. 17D on a pixel to pixel basis either, based on the control signal Dw1 shown in FIG. 17G. As shown in FIG. 17G, the control signal Dw1 is 0 for pixels in the A and C columns and 1 for the pixels in the B and D columns. Accordingly, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for the pixels in the A and C columns and selecting the decoded image data Db0 for the pixels in the B and D columns.
FIG. 17I indicates an error between the image data Di0 preceding by one frame shown in FIG. 17A and the one-frame-preceding image data Dq0 shown in FIG. 17H. As shown in FIG. 17I, by selecting the image data Di1 of the current frame and the decoded image data Db0, on a pixel to pixel basis, based on the control signal Dw1, the one-frame-preceding image data Dq0 can be correctly generated.
FIG. 18 are diagrams for explaining the operation of the image data processing unit 3 in case that another motion image being inputted.
FIGS. 18D and 18A indicate values of the image data D11 of a current frame and the image data Di0 preceding by one frame, respectively. Comparing the image data Di0 with the image data D11 shown in FIGS. 18A and 18D, pixel data in the B, C and D columns vary from 0 to 59, 59 to 60 and 60 to 120, respectively.
FIGS. 18B and 18E indicate the encoded image data Da0, and Da1 corresponding to the image data Di0 and Di1 shown in FIGS. 18A and 17D, respectively. As shown in. FIGS. 18B and 18E, the averaged values and dynamic ranges of the image data Di0 and Di1 shown in FIGS. 18A and 18D are La0=30, La1=60, Lb0=60 and Lb1=120, respectively.
FIG. 18C indicates the decoded image data Db0 obtained by decoding the encoded image data Da0 shown in FIG. 18B.
FIG. 18F indicates a differences between the image data Di0 and Di1 shown in FIGS. 18A and 18D, actual variations of the image.
FIG. 18G indicates the control signal Dw1 that is outputted based on the encoded image data Da0 and Da1 shown in FIGS. 18B and 18E. As shown in FIGS. 18B and 18E, the averaged value variation between the current frame and the frame preceding by one frame |La1−La0|=30 and the dynamic range variation |Lb1−Lb0|=60, respectively, both exceeding the respective threshold Tha=10 and Thb=20. Accordingly, the control signal Dw1=1 is outputted for all pixels in the block.
FIG. 18H indicates the one-frame-preceding image data Dq0 generated by selecting the decoded image data Db0 shown in FIG. 18C or the image data D11 shown in FIG. 18D on a pixel to pixel basis, based on the control signal Dw1 shown in FIG. 18G. Since the control signal Dw1=1 for all pixels as shown in FIG. 18G, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the decoded image data Db0 for all pixels.
FIG. 18I indicates an error between the image data Di0 preceding by one frame shown in FIG. 18A and the one-frame-preceding image data Dq0 shown in FIG. 18H. As shown in FIG. 18I, by selecting the decoded image data Db0 as image data preceding by one frame, when the averaged value variation |La1−La0| and the dynamic range variation |Lb1−Lb0| of the block both exceed the respective predetermined thresholds (Tha, Thb), the one-frame-preceding image data Dq0 can be correctly generated with a small error.
As explained above with reference to FIG. 16 through FIG. 18, by selecting the one-frame-preceding image data Db0 or the image data D11 on a pixel to pixel basis, base on only the control signal Dw1, the one-frame-preceding image data Dq0 can also be correctly generated without an influence of the encoding and decoding error.
FIG. 19 is a flow chart illustrating the above-explained processing steps executed by the image processing unit for driving the liquid crystal according to Embodiment 3.
First, the image data Di1 is inputted into the image data processing unit 3 (St1). The encoding unit 4 encodes the image data Di1 inputted thereto, and outputs the encoded image data Da1 (St2). The delay unit 5 delays the encoded image data Da1 for one frame period, and output the encoded image data Da0 preceding by one frame (St3). The decoding unit 7 decodes the encoded image data Da0 and outputs the decoded image data Db0 corresponding to the image data Di0 preceding by one frame (St4). In parallel with this process, the encoded data discrimination unit 9 compares the encoded image data Da0 preceding by one frame with the image data Di1 of the current frame, and in case that the variation |La1−La0| and |Lb1−Lb0| of the block both exceed the respective predetermined thresholds (Tha, Thb), the control signal Dw1=1 is outputted for all pixels in the block. On the other hand, in case that the variations |La1−La0| and |Lb1−Lb0| are equal to or smaller than the respective thresholds, the control signal Dw1=0 is outputted for pixel of which quantized value variation |Q1−Q0| is 0 or 1, and the control signal Dw1=1 is outputted for a pixel of which variation |Q1−Q0| is larger than 1 (St7).
The one-frame-preceding-image calculation unit 10 selects the decoded image data Db0 as image data preceding by one frame for a pixel of which control signal Dw1=1 and selects the image data Di1 as image data preceding by one frame for a pixel of which control signal Dw1=0, and outputs the one-frame-preceding image data Dq0 (St18).
The image data compensation unit 11 calculates compensation amounts necessary for driving the liquid crystal to reach predetermined transmittances designated by the image data Di1 within one frame period based on changes in the gray-scale values obtained by comparing the one-frame-preceding image data Dq0 with the image data Di1, and compensates the image data Di1 using the compensation amounts, and output the compensated image data Dj1 (St9).
The processing steps St1 through St9 are executed for each pixel of the image data D11.
Embodiment 4
FIG. 20 is a block diagram illustrating another configuration of a liquid crystal display device provided with an image processor according to the present invention. The image data processing unit 3 according to Embodiment 4 is composed of the encoding unit 4, the delay unit 5, the decoding units 6 and 7, the variation calculation unit 8, an error amount calculation unit 13, the one-frame-preceding-image calculation unit 10, and the image data compensation unit 11. The same numeral references are assigned to components equivalent to those in the image data processing unit 3 shown in FIG. 1. Operation of each unit other than the error amount calculation unit 13 is same as that described in Embodiment 1.
The error amount calculation unit 13 calculates differences between the decoded image data Db1 corresponding to current-frame image data and the image data Di1 on a pixel to pixel basis, and output absolute values of the differences as error amounts De1. The error amounts De1 are inputted into the one-frame-preceding-image calculation unit 10.
The one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 as image data preceding by one frame for a pixel of which variation Dv1 is smaller than the predetermined threshold SH0 and for a pixel of which variation Dv1 is larger than the threshold SH0 and equal to two times of the error amounts De1, and selecting the decoded image data Db0 as image data preceding by one frame for a pixel of which variation Dv1 is larger than the threshold value SH0 and of which variation Dv1 is not equal to two times of the error amounts De1. The one-frame-preceding image data Dq0 is inputted into the image data compensation unit 11.
The image data compensation unit 11 compensates the image data Di1 so that the liquid crystals reach predetermined transmittances designated by the image data Di1 within one frame period, based on changes in the gray-scale values obtained by comparing the image data Di1 with the one-frame-preceding image data Dq, and outputs the compensated image data Dj1.
FIG. 21 are diagrams for explaining processes of generating the one-frame-preceding image data Dq0 when a still image with pseudo gray-scale signals added by a dither processing is inputted. In the following explanations, the predetermined threshold SH0 used in generating the one-frame-preceding image data Dq0 is SH0=8.
FIGS. 21D and 21A indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. As shown in FIG. 21D, a pixel data (b, B) in the image data Di1 of the current frame varies 59 to 60 after being added with a pseudo gray-scale signal by the dither processing.
FIGS. 21E and 21B indicate encoded data encoded by FBTC from the image data Di1 of the current frame and the image data Di0 preceding by one frame. Here, the averaged value La and the dynamic range Lb of each of the blocks are represented by 8 bit data, and quantization is performed by assigning 2 bits to each pixel.
FIGS. 21F and 21C indicate the decoded image data Db1 of the current frame and the decoded image data Db0 preceding by one frame, both obtained by decoding the encoded data shown in FIGS. 21E and 21B, respectively. While the image data Di1 and corresponding decoded image data Db1 are 59 and 40, respectively, the image data Di1 and corresponding decoded image data Db1 in the pixel (b, B), where a pseudo gray-scale signal is added, are 60 and 80, respectively, as shown in FIGS. 21D and 21F.
FIG. 21G indicates a difference between the image data Di0 and Di1 shown in FIGS. 21A and 21D, actual variations of the image. FIG. 21H indicates the variation Dv1 that represents absolute values of the differences between the decoded image data Db0 and Db1 shown in FIGS. 21C and 21F. As shown in FIG. 21G, while a difference between the image data Di0 and Di1 in the pixel data (b, B) is 1, the variation Dv1, a difference between the decoded image data Db0 and Db1, in the same pixel is 40 due to the encoding and decoding error.
FIG. 21I indicates the error amount De1 that represents absolute value of difference between the image data Di1 of the current frame shown in FIG. 21D and the decoded image data Db1 of the current frame shown in FIG. 21F.
FIG. 21J indicates the one-frame-preceding image data Dq0 generated by selecting the image data Di1 or the decoded image data Db0 shown in FIGS. 21D and 21C, respectively, on a pixel to pixel basis based on the variation Dv1 shown in FIG. 21H and the error amounts De1 shown in FIG. 21I. Since the variation Dv1 are all 0 in pixels except for the pixel (b, B) as shown in FIG. 21H, the one-frame-preceding-image calculation unit 10 selects the image data Di1 as one-frame-preceding image data for the pixels except for the pixel (b, B). On the other hand, since a value of the variation Dv1 of the pixel (b, B) is larger than the threshold SH0, and the value of the variation Dv1 (=40) is equal to two times of the corresponding value of the error amounts De1 (=20), the one-frame-preceding-image calculation unit 10 selects the image data Di1 as a one-frame-preceding data for the pixel (b, B).
FIG. 21K indicates an error between the one-frame-preceding image data Dq0 and the image data Di0 preceding by one frame. As shown in FIG. 21K, an error in the pixel (b, B) added with a pseudo gray-scale signal by the dither processing is 1. This means the influence of the encoding and decoding error is prevented.
FIG. 22 are diagrams for explaining the encoding and decoding error shown in FIG. 21.
FIG. 22A indicates gray-scale values of the image data Di0 and Di1 represented by 8 bit data. FIG. 22B indicates quantizing thresholds for the image data Di0 and Di1. FIG. 22C indicates quantized values of the image data Di0 and Di1 shown in FIG. 22A obtained by quantizing these data into 2 bit data using the quantizing thresholds shown in FIG. 22B. FIG. 22D indicates gray-scale values of the decoded image data Db0 and Db1 obtained by decoding these data into 8 bit data using the quantized values shown in FIG. 22C.
Since the image data Di0 and Di1 are quantized using the thresholds of 20, 60, and 100 as shown in FIG. 22B, quantized values corresponding to gray-scale values of 0, 59, 60, and 120 are 0, 1, 2, and 3, respectively, as shown in FIG. 22C. When the quantized values shown in FIG. 22C are decoded, the gray-scale values of 0, 59, 60, and 120 in the image data Di0 and Di1 are converted into 0, 40, 80, and 120, respectively, as shown in FIG. 22D. As indicated by this example, when such two gray-scale values as 59 and 60 in the image data Di0 and Di1, one of which is equal to or larger than the quantizing threshold and the other one is smaller than the quantizing threshold, are decoded, these values are converted into 40 and 80, respectively, while an actual variation is 1. As a result, corresponding value of the variation Dv1 obtained from the decoded image data Db0 and Db1 becomes 40, producing large error.
As previously explained, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 as image data preceding by one frame for pixels of which variations Dv1 are larger than the predetermined threshold SH0 and equal to two times of the error amounts De1, and selecting the decoded image data Db0 as image data preceding by one frame for pixels of which variations Dv1 are larger than the threshold SH0 and not equal to two times of the error amounts De1. Accordingly, since the pixel (b, B) in the image data Di1 shown in FIG. 21D is regarded as representing a still image, the image data Di1 is selected as image data preceding by one frame. Therefore, the one-frame-preceding image data Di0 can be correctly generated without affected by the error in the variation Dv1 caused by the encoding and decoding error. This means, even in case that image data Di1 added with pseudo gray-scale signals are inputted, the one-frame-preceding image data Dq1 can be generated without affected by the encoding and decoding error.
FIG. 23 are diagrams for explaining processes of generating the one-frame-preceding image data Dq0 when a motion image is inputted. In the following explanations, the predetermined threshold SH0 used in generating the one-frame-preceding image data Dq0 is SH0=8.
FIGS. 23D and 23A indicate values of the image data Di1 of a current frame and the image data Di0 preceding by one frame, respectively. Comparing the image data Di0 with Di1 shown in FIGS. 23A and 23D, pixel data in the B, C and D columns vary from 0 to 59, 59 to 60 and 60 to 0.
FIGS. 23B and 23E indicate encoded data obtained by encoding the image data Di0 preceding by one frame and the image data Di1 of the current frame using FBTC.
FIGS. 23C and 23F indicate the decoded image data Db0 preceding by one frame and the image data Db1 of the current frame obtained by decoding the encoded data shown in FIGS. 23B and 23E.
FIG. 23G indicates a difference between the image data Di0 and Di1 shown in FIGS. 23A and 23D, actual variations of the image. FIG. 23H indicates the variation Dv1 representing absolute values of a difference between the decoded image data Db0 and Db1 shown in FIGS. 23C and 23F.
FIG. 23I indicates error amounts De1 that are absolute values of differences between the image data Di1 of the current frame shown in FIG. 23D and the decoded image data Db1 of the current frame shown in FIG. 23F.
FIG. 23J indicates the one-frame-preceding image data Dq0 generated by selecting the image data Di1 or the decoded image data Db0 shown in FIGS. 23D and 23C on a pixel to pixel basis, based on the variation Dv1 shown in FIG. 23H and the error amounts De1 shown in FIG. 23I. The variation Dv1 in the B and D columns is 60, exceeding the threshold (SH0=8), and not equal to two times of the error amounts De1. The variation Dv1 in A and C columns is 0, equal to or smaller than the threshold. Accordingly, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame for pixels in the A and C columns and selecting the decoded image data Db0 for pixels in the B and D columns.
FIG. 23K indicates an error between the one-frame-preceding image data Dq0 and the image data Di0 preceding by one frame.
FIG. 24 are diagrams for explaining the encoding and decoding error shown in FIG. 23.
FIG. 24A indicates gray-scale values of the image data Di0 and Di1 represented by 8 bit data. FIG. 24B indicates quantizing thresholds used for quantizing the image data Di0 and Di1. FIG. 24C indicates quantized values of the image data Di0 and Di1 shown in FIG. 24A obtained by quantizing these data into 2 bit data using the quantizing thresholds shown in FIG. 24B. FIG. 24D indicates gray-scale values of the decoded image data Db0 and Db1 obtained by decoding these data into 8 bit data using the quantized values shown in FIG. 24C.
Since the image data Di0 and Di1 are quantized using the thresholds of 10, 30, and 50 as shown in FIG. 24B, quantized values corresponding to gray-scale values of 0, 59, and 60 are 0, 60, and 60, respectively, as shown in FIG. 24C. When the quantized values shown in FIG. 24C are decoded, the gray-scale values of 0, 59, and 60 in the image data Di0 and Di1 are converted into 0, 60, and 60, respectively, as shown in FIG. 24D. As a result, when the gray-scale values of 59 and 60 in the image data Di0 and Di1 are decoded, both of these data are converted into 60, producing an error equivalent to one level in gray-scale.
As previously explained, the one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 as image data preceding by one frame for pixels of which variation Dv1 is smaller than the predetermined threshold SH0, and selecting the decoded image data Db0 as image data preceding by one frame for a pixel of which variation Dv1 is larger than the threshold SH0 and not equal to two times of the error amounts De1. Therefore, even in case that a motion image is inputted, the one-frame-preceding image data Di0 can be correctly generated without affected by the encoding and decoding error.
FIG. 25 is a block diagram illustrating the above-explained processing steps executed by the image data processing unit 3 in the image processor according to this invention.
First, the image data Di1 is inputted into the image data processing unit 3 (St1). The encoding unit 4 encodes the image data Di1 inputted thereto and outputs the encoded image data Da1 (St2). The delay unit 5 delays the encoded image data Da1 for one frame period, and output the encoded image data Da0 preceding by one frame (St3). The decoding unit 7 decodes the encoded image data Da0 and outputs the decoded image data Db0 corresponding to the image data Di0 preceding by one frame (St4). In parallel with these processing, the decoding unit 6 decodes the encoded image data Da1, and output the decoded image data Db1 corresponding to the image data Di1 of a current frame (St5).
The variation calculation unit 8 calculates differences between the decoded image data Db1 of the current frame and the image data Db0 preceding by one frame on a pixel to pixel basis, and output the differences as the variation Dv1. (St6). In parallel with this process, the error amount calculation unit 13 calculates differences between the decoded image data Db1 of the current frame and the image data Di1 of the current frame, and output a difference as the error amount De1 (St7).
The one-frame-preceding-image calculation unit 10 generates the one-frame-preceding image data Dq0 by selecting the image data Di1 of the current frame as image data preceding by one frame for a pixel of which variation Dv1 is smaller than the predetermined threshold SH0 and for a pixel of which variation Dv1 is larger than the predetermined threshold SH0 and equal to two times of the error amounts De1, and selecting the decoded image data Db0 preceding by one frame as image data preceding by one frame for a pixel of which absolute values of the variation Dv1 is larger than the predetermined threshold SH0 and not equal to two times of the error amounts De1, (St8).
The image data compensation unit 11 compares the one-frame-preceding image data Dq0 with the image data Di0 and calculates compensation amounts necessary for driving the liquid crystal to reach predetermined transmittances designated by the image data Di1 within one frame period based on changes in the gray-scale values. Then, the image data compensation unit 11 compensates the image data Di1 using the compensation amounts and output the compensated image data Dj1 (St9).
The processing steps St1 through St9 are executed for each pixel of the image data Di1.
As explained above, an image processor according to the present invention selects the image data Di1 as image data preceding by one frame for a pixel of which variation Dv1 of the decoded image data Db0 and Db1 is smaller than the predetermined threshold SH0, regarding this pixel as a still image. As for a pixel of which variation Dv1 is larger than the threshold SH0, the image data D11 is selected when the variation Dv1 is equal to two times of the error amount De1, regarding this pixel as a motion image, and the encoded image data Db0 is selected when the variation Dv1 is not equal to two times of the error amounts De1, regarding this pixel as a motion the image. As shown in FIG. 21, even when the image data Di1 and Di0 that include gray-scale values one of which is equal to or larger than a quantizing threshold and the other one is smaller than the this quantizing threshold are inputted, the one-frame-preceding image data Dq0. can be generated without affected by the encoding and decoding error. Therefore, even in cases that image data added with pseudo gray-scale signals are inputted, the appropriate compensation voltages can be applied to the liquid crystal.
The one-frame-preceding image data Dq0 may be calculated by the following Formula (3):
Dq0=k1×k2×Db0+(1−k1×k2)×Di1 (3).
In Formula (3) above, k1 is a coefficient that varies depending on the variation Dv1, and k2 is a coefficient that varies depending on the variation Dv1 and the control signal Dw1.
FIG. 26A is a graph illustrating a relationship between the coefficient k1 and the variation Dv1. FIG. 26B is a graph illustrating a relationship between the coefficient k2, and the variation Dv1 and the error amounts De1. As shown in FIG. 26A, the two thresholds SH0 and SH1 (SH0<SH1) are set for the absolute values of the variation Dv1; k1=0 when |Dv1|<SH0; k1, 0<k1<1 when SH0≦|Dv1|≦SH1, and k1=1 when SH1<|Dv1. As shown in FIG. 26B, the two thresholds SH2 and SH3 (SH2<SH3) are also set for a differences between the variation Dv1 and two times of the error amounts De1 (|Dv1−2×De1|); k2=0 when |Dv1−2×De1|<SH2, 0<k2<1 when SH2≦|Dv1−2×De1|≦SH3, and k2=1 when SH3<|Dv1−2×De1|.
As shown in Formula (3), when either k1 or k2 is 0, the image data Di1 is selected as the one-frame-preceding image data Dq, and when both k1 and k2 are 1, the decoded image data Db0 is outputted as the one-frame-preceding image data Dq0. In case other than above, weighted averages of the image data Di1 and the decoded image data Db0 are calculated as the one-frame-preceding image data Dq, based on the product of k1 and k2.
By using Formula (3), the one-frame-preceding image data Dq1 varies continuously between the image data Di1 and the decoded image data Db0 depending on the variation Dv1, thereby preventing a motion image region from changing abruptly.