The present invention relates to a display panel driver, display device, image processing device and image processing method, and more particularly, to image enlargement processing suitable for a display panel driver, display device and image processing device.
Image enlargement processing is one of the most typical image processing techniques and various techniques have been proposed for image enlargement processing. In addition, it is well known in the art that edges are often blurred in an enlarged image obtained by image enlargement processing and various edge enhancement techniques for enlarged images have been also proposed.
For example, International Publication No. WO 2012/114574 A1 discloses an image enlargement method in which the pixel value of each pixel of a high-resolution image are calculated by interpolation of pixel values of multiple pixels of a low-resolution image. In this image enlargement method, appropriate interpolation processing is achieved by giving a large interpolation coefficient to a highly-correlated pixel of the low-resolution image independently of the shape of an edge, the highly-correlated pixel being highly correlated with a pixel of interest.
Japanese Patent Application Publication No. 2013-165476 A discloses a technique for improving the image quality, which involves generating an edge-enhanced enlarged image and correcting the enlarged image on the basis of the difference between the enlarged image and the input image.
Japanese Patent Application Publication No. 2011-049868 A discloses a technique for achieving edge enhancement, which involves extracting high frequency components of an input image and feeding the high frequency components back to an enlarged image.
Japanese Patent Application Publication No. 2009-094862 A discloses a technique which involves detecting the direction of an edge by applying a differentiation operator to an input image, calculating a candidate value as a weighted average based on the direction of the detected edge and calculating an interpolated value of an interpolation pixel by performing limiting processing on the candidate value.
Japanese Patent Application Publication No. 2007-193397 A discloses a technique for performing image scaling processing and edge enhancement at the same time by switching filter coefficients of a polyphase filter used for the scaling processing between a basic process portion and a high-frequency enhanced portion.
Japanese Patent Application Publication No. 2000-99713 A discloses a technique for obtaining an enlarged image by dividing a multi-value image into an edge portion and a non-edge portion, individually performing image enlargement processing on the edge portion and the non-edge portion and finally synthesizing the resultant enlarged images obtained from the edge portion and the non-edge portion.
Japanese Patent Application Publication No. H09-102867 A discloses a technique which involves analyzing an input image in units of windows each consisting of 2×2 pixels, and generating an enlarged image on the basis of the analysis.
Japanese Patent Application Publication No. H10-63826 A discloses a technique for generating a multi-value image data scaled by a desired scaling factor through performing image enlargement processing on a binary image with an enlargement factor of M and then performing an image reduction with a reduction factor of N.
Japanese Patent Application Publication No. 2001-94765 A discloses a technique which involves generating an enlarged image data by performing image enlargement processing on input image data, generating quality-improved image data by applying a filter to the enlarged image data and obtaining output image data by performing image reduction processing on the quality-improved image data.
In one embodiment, a display panel driver is provided that includes a scaler circuit and a driver section. The scaler circuit is configured to perform image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number). The driver section is configured to drive a display panel in response to the α-times enlarged image data. The scaler circuit, in calculating a pixel value of a first target pixel of the α-times enlarged image, is configured to generate enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α). The scaler circuit is further configured to calculate the pixel value of the first target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the first target pixel of the α-times enlarged image.
In another embodiment, a display device is provided that includes a display panel and a display panel driver. The display panel driver is configured to drive the display panel in response to input image data corresponding to an input image. The display panel driver includes a scaler circuit configured to perform image enlargement processing on the input image data to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number). The and display panel driver includes a driver section configured to drive the display panel in response to the α-times enlarged image data. The scaler circuit, in calculating a pixel value of a first target pixel of the α-times enlarged image, is configured to generate enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α), and calculates the pixel value of the first target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the first target pixel of the α-times enlarged image.
In yet another embodiment, an image processing device is provided that includes a scaler circuit and an α-times enlarged image generator circuit. The scaler circuit is configured to perform image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number). The scaler circuit includes a 2n-times enlarged image generator circuit configured to generate enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α). The α-times enlarged image generator circuit is configured to generate the α-times enlarged image data from the 2n-times enlarged image data. The α-times enlarged image generator circuit, in calculating a pixel value of a first target pixel of the α-times enlarged image, is configured to calculate the pixel value of the first target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the first target pixel of the α-times enlarged image.
In still another embodiment, an image processing method for performing image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number) is provided. The method includes generating enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α); and generating the α-times enlarged image data from the 2n-times enlarged image data, wherein, in calculating a pixel value of a first target pixel of the α-times enlarged image, the pixel value of the first target pixel is calculated from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the first target pixel of the α-times enlarged image.
The above and other advantages and features of the present technology will be more apparent from the following description taken in conjunction with the accompanied drawings, in which:
Introduction:
The inventors have been studying image enlargement processing with an enlargement factor of a non-integer value. According to the study by the inventors, one issue of image enlargement processing with an enlargement factor of a non-integer value is generation of blurs at diagonal edges, which are often included in characters and letters, for example. This is one of the factors causing image quality deterioration in an enlarged image.
Therefore, one advantage of the present technology is to improve the image quality of an enlarged image obtained by image enlargement processing.
Other advantages and features of the present technology would be understood from the following disclosure.
In an aspect of the present disclosure, a display panel driver includes a scaler circuit performing image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number); and a driver section driving a display panel in response to the α-times enlarged image data. In calculating a pixel value of a target pixel of the α-times enlarged image, the scaler circuit generates enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α), and calculates the pixel value of the target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the target pixel of the α-times enlarged image.
In another aspect of the present technology, a display device includes a display panel and a display panel driver driving the display panel in response to input image data corresponding to an input image. The display panel driver includes: a scaler circuit performing image enlargement processing on the input image data to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of a (α is a number larger than one which cannot be represented as 2k for k being any natural number); and a driver section driving a display panel in response to the α-times enlarged image data. In calculating a pixel value of a target pixel of the α-times enlarged image, the scaler circuit generates enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α), and calculates the pixel value of the target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the target pixel of the α-times enlarged image.
In still another aspect of the present technology, an image processing device includes a scaler circuit performing image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number). The scaler circuit includes: a 2n-times enlarged image generator circuit generating enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α); and an α-times enlarged image generator circuit generating the α-times enlarged image data from the 2n-times enlarged image data. In calculating a pixel value of a target pixel of the α-times enlarged image, the α-times enlarged image generator circuit calculates the pixel value of the target pixel from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the target pixel of the α-times enlarged image.
In still another aspect of the present technology, an image processing method is provided for performing image enlargement processing on input image data corresponding to an input image to generate α-times enlarged image data corresponding to an α-times enlarged image obtained by enlarging the input image with an enlargement factor of α (α is a number larger than one which cannot be represented as 2k for k being any natural number). The method includes: generating enlarged image data including 2n-times enlarged image data corresponding to a 2n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α); and generating the α-times enlarged image data from the 2n-times enlarged image data. In calculating a pixel value of a target pixel of the α-times enlarged image, the pixel value of the target pixel is calculated from the 2n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2n-times enlarged image, the selected pixels of the 2n-times enlarged image corresponding to the target pixel of the α-times enlarged image.
The present technology effectively improves the image quality of an enlarged image obtained by image enlargement processing.
The present technology will be now described herein with reference to illustrative embodiments. Those skilled in the art would recognize that many alternative embodiments can be accomplished using the teachings of the present disclosure and that the present technology is not limited to the embodiments illustrated for explanatory purposed. It will be appreciated that for simplicity and clarity of illustration, elements in the Figures have not necessary drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements.
One feature of image enlargement processing of embodiments of the present technology described in the following is that, to obtain an α-times enlarged image through image enlargement processing with an enlargement factor of α (α is a number larger than one which cannot be expressed as 2k for k being a natural number), 2n-times enlarged image are generated by performing 2n-times image enlargement processing on an input image (n is the smallest natural number determined so that 2n is larger than α), and the pixel values of each pixel of an α-times enlarged image are generated by interpolation of the pixel values of selected pixels of the 2n-times enlarged image, the selected pixels corresponding to the target pixel of the α-times enlarged image. Such image enlargement processing allows obtaining an α-times enlarged image of a high image quality in which blurs at diagonal edges are reduced, through simple arithmetic processing.
This is based on the principle that a 2n-times enlarged image can be easily obtained with reduced blurs at diagonal edges through simple arithmetic processing. A desired α-times enlarged image with smoothed diagonal edges can be obtained through interpolation of 2n-times enlarged image and this allows improving the image quality of the α-times enlarged image. In the following, a detailed description is given of embodiments of the present technology.
The liquid crystal display panel 2 includes a plurality of gate lines (also referred to as scan lines or digit lines) and a plurality of source lines (also referred to as signal lines or data lines). The R, G and B subpixels are disposed at intersections of the corresponding gate lines and source lines.
The liquid crystal driver 3, which is a sort of display panel driver, is configured to receive the input image data DIN from the host 4 and to drive the source lines of the liquid crystal display panel 2 in response to the input image data DIN. The liquid crystal driver 3 may further have the function of driving the gate lines of the liquid crystal display panel 2 or, when a gate line driver circuit is integrated in the liquid crystal display panel 2, controlling the gate line driver circuit.
In detail, the liquid crystal driver 3 includes a data interface 11, an image processing circuit 12, a line memory 13 and a source line driver circuit 14. The data interface 11 forwards the input image data DIN received from the host 4 to the image processing circuit 12. The image processing circuit 12 performs desired image processing on the input image data DIN to generate output image data DOUT. In the present embodiment, the image processing circuit 12 includes a scaler circuit 15 and an edge enhancement circuit 16 to achieve image enlargement processing and edge enhancement processing. The line memory 13 is used as a work area for performing the image processing performed by the image processing circuit 12. The source line driver circuit 14 drives the source lines of the liquid crystal display panel 2 in response to the output image data DOUT received from the image processing circuit 12.
The twice-enlarged image generator circuit 21 performs image enlargement processing on the input image data DIN with an enlargement factor of two to generate twice-enlarged image data DENL2 corresponding to a twice-enlarged image (an image obtained by enlarging the input image with an enlargement factor of two). The twice-enlarged image generator circuit 21 includes an intermediate pixel image generator circuit 23 and an interpolated image generator circuit 24, and generates the twice-enlarged image data DENL2 through the operations of these circuits. Details of the operations of the intermediate pixel image generator circuit 23 and the interpolated image generator circuit 24 will be described later. The α-times enlarged image generator circuit 22 generates α-times enlarged image data DENLα, which are the targeted image data, through interpolation processing of the twice-enlarged image data DENL2. The scaler circuit 15 illustrated in
In the following, a detailed description is given of the image processing performed in the image processing circuit 12 of the present embodiment, more specifically, the image enlargement processing performed by the scaler circuit 15 and the edge enhancement processing performed by the edge enhancement circuit 16.
The scaler circuit 15 illustrated in
Twice-enlarged image data DENL2 corresponding to a twice-enlarged image obtained by enlarging the input image with an enlargement factor of two are generated from the input image data DIN. The generation of the twice-enlarged image data DENL2 includes the following two steps of:
(1) generating intermediate pixel image data corresponding to an intermediate pixel image, from the input image data DIN (at step S02), and
(2) generating interpolated image data corresponding to an interpolated image, from the input image data DIN (at step S03).
The intermediate pixel image data are generated by the intermediate pixel image generator circuit 23 and the interpolated image data are generated by the interpolated image generator circuit 24.
Each pixel value of a pixel of the intermediate pixel image is calculated as the average of the corresponding pixel values of four pixels of the corresponding 2×2 pixel array other than the maximum and minimum values of the corresponding pixel values. In detail, the R pixel value RCTR(i, j), G pixel value GCTR (i, j) and B pixel value BCTR(i, j) of pixel PCTR(i, j) of the intermediate pixel image are calculated in accordance with the following expressions (1a) to (1c):
R
CTR(i, j)=(RIN(i, j)+RIN(i+1, j)+RIN(i, j+1)+RIN(i+1, j+1)−RMAX−RMIN)/2, (1a)
G
CTR(i, j)=(GIN(i, j)+GIN(i+1, j)+GIN(i, j+1)+GIN(i+1, j+1)−GMAX−GMIN)/2, and (1b)
B
CTR(i, j)=(BIN(i, j)+BIN(i+1, j)+BIN(i, j+1)+BIN(i+1, j+1)−BMAX−GMIN)/2, (1b)
where i is an integer from 1 to H−1 and j is an integer from 1 to V−1; H is the number of pixels of the input image arrayed in the horizontal direction (row direction) and V is the number of pixels of the input image arrayed in the vertical direction (column direction).
The parameters RMAX, RMIN, GMAX, GMIN, BMAX and BMIN in these expressions are defined as follows: RMAX is the maximum value of the R pixel values RIN(i, j), RIN(i+1, j), RIN(i, j+1) and RIN(i+1, j+1) of the pixels of the corresponding 2×2 pixel array, and RMIN is the minimum value of the same. Correspondingly, GMAX is the maximum value of the G pixel values GIN(i, j), GIN(i+1, j), GIN(i, j+1) and GIN(i+1, j+1) of the pixels of the corresponding 2×2 pixel array, and GMIN is the minimum value of the same. Finally, BMAX is the maximum value of the B pixel values BIN(i, j), BIN (i+1, j), BIN(i, j+1) and BIN (i+1, j+1) of the pixels of the corresponding 2×2 pixel array, and BMIN is the minimum value of the same.
The R pixel value RITPH(i, j), G pixel value GITPH(i, j) and B pixel value BITPH(i, j) of the horizontal interpolation pixel PITPH(i, j) are calculated in accordance with the following expressions (2a) to (2c):
R
ITPH(i, j)=(RIN(i, j)+RIN(i, j+1))/2, (2a)
G
ITPH(i, j)=(GIN(i, j)+GIN(i, j+1))/2, and (2b)
B
ITPH(i, j)=(BIN(i, j)+BIN(i, j+1))/2, (2c)
where i is an integer from 1 to H−1 and j is an integer from 1 to V−1.
Also, the R pixel value RITPV(i, j), G pixel value GITPV(i, j) and B pixel value BITPV(i, j) of the vertical interpolation pixel PITPV(i, j) are calculated in accordance with the following expressions (3a) to (3c):
R
ITPV(i, j)=(RIN(i, j)+RIN(i+1, j))/2, (3a)
G
ITPV(i, j)=(GIN(i, j)+GIN(i+1, j))/2, and (3b)
B
ITPV(i, j)=(BIN(i, j)+BIN(i+1, j))/2, (3c)
where i is an integer from 1 to H−1 and j is an integer from 1 to V−1.
The twice-enlarged image is obtained as a superposition of the input image, the intermediate pixel image and the interpolated image described above. In other words, the twice-enlarged image data DENL2 are data incorporating the input image data DIN, the intermediate pixel image data generated by the intermediate pixel image generator circuit 23 and the interpolated image data generated by the interpolated image generator circuit 24.
More specifically, the pixel values of the pixel positioned in the i-th row and the j-th column of the input image are used as the pixel values of pixel PENL2(2i−1, 2j−1) positioned in the (2i−1)-th row and the (2j−1)-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel PENL2(2i−1, 2j−1) of the twice-enlarged image are determined in accordance with the following expressions (4a) to (4c):
R
ENL2(2i−1, 2j−1)=RIN(i, j), (4a)
B
ENL2(2i−1, 2j−1)=BIN(i, j), and (4b)
B
ENL2(2i−1, 2j−1)=BIN(i, j), (4c)
The pixel values of the horizontal interpolation pixel positioned in the i-th row and the j-th column of the array of the horizontal interpolation pixels of the interpolated image are used as the pixel values of pixel PENL2(2i−1, 2j) positioned in the (2i−1)-th row and the 2j-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel PENL2(2i−1, 2j) of the twice-enlarged image are determined in accordance with the following expressions (5a) to (5c):
R
ENL2(2i−1, 2j−1)=RINTH(i, j), (5a)
B
ENL2(2i−1, 2j−1)=BINTH(i, j), and (5b)
B
ENL2(2i−1, 2j−1)=BINTH(i, j), (5c)
Furthermore, the pixel values of the vertical interpolation pixel positioned in the i-th row and the j-th column of the array of the vertical interpolation pixels of the interpolated image are used as the pixel values of pixel PENL2(2i, 2j−1) positioned in the 2i-th row and the (2j−1)-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel PENL2(2i, 2j−1) of the twice-enlarged image are determined in accordance with the following expressions (6a) to (6c):
R
ENL2(2i−1, 2j−1)=RINTV(i, j), (6a)
B
ENL2(2i−1, 2j−1)=BINTV(i, j), and (6b)
B
ENL2(2i−1, 2j−1)=BINTV(i, j), (6c)
Finally, the pixel values of the pixel positioned in the i-th row and the j-th column of the intermediate pixel image are used as the pixel values of pixel PENL2(2i, 2j) positioned in the 2i-th row and the 2j-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel PENL2(2i, 2j) of the twice-enlarged image are determined in accordance with the following expressions (7a) to (7c):
R
ENL2(2i , 2j)=RCTR(i, j), (7a)
G
ENL2(2i , 2j)=GCTR(i, j), and (7b)
B
ENL2(2i , 2j)=BCTR(i, j), (7c)
The twice-enlarged image data DENL2 are generated as data describing the R, G and B pixel values determined as described above of the respective pixels of the twice-enlarged image.
It should be noted that the R pixel value RCTR(i, j) of each pixel of the intermediate pixel image is calculated as the average value of selected two of the four R pixel values of the pixels of the corresponding 2×2 pixel array other than the maximum and minimum values of the four R pixel values (not as the average value of the four R pixel values). The same goes for the G pixel value GCTR(i, j) and B pixel value BCTR(i, j) of each pixel of the intermediate pixel image. The G pixel value GCTR(i, j) of each pixel of the intermediate pixel image is calculated as the average value of selected two of the four G pixel values of the pixels of the corresponding 2×2 pixel array other than the maximum and minimum values of the four G pixel values (not as the average value of the four G pixel values), and the B pixel value BCTR(i, j) of each pixel of the intermediate pixel image is calculated as the average value of selected two of the four B pixel values of the pixels of the corresponding 2×2 pixel array other than the maximum and minimum values of the four B pixel values (not as the average value of the four B pixel values).
Such calculation effectively avoid a diagonal edge being represented as a stepwise line in the twice-enlarged image and resultingly avoids a diagonal edge being represented as a stepwise line also in the α-times enlarged image, which is obtained from the twice-enlarged image. Discussed below is the case when there is a diagonal edge in an array of pixels PIN(i, j), PIN(i, j+1), PIN(i+1, j) and PIN(i+1, j+1), where the R, G and B pixel values of pixels PIN(i, j) PIN(i, j+1) and PIN(i+1, j) are all “255” and the R, G and B pixel values of pixel PIN(i+1, j+1) are all “0”. Note that the pixel values of pixel PCTR(i, j) of the intermediate pixel image are calculated from the pixel values of pixels PIN(i, j), PIN(i, j+1), PIN(i+1, j) and PIN(i+1, j+1) as described above.
In this case, the R, G and B pixel values of pixel PCTR(i, j) are calculated as 191.25, if the R, G and B pixel values of pixel PCTR(i, j) of the intermediate pixel image are respectively calculated as the average values of those of pixels PIN(i, j), PIN(i, j+1), PIN(i+1, j) and PIN(i+1, j+1) as illustrated in
On the other hand, as illustrated in
As illustrated in
In selection of multiple pixels of the twice-enlarged image corresponding to a target pixel of the α-times enlarged image, the position of the target pixel in the twice-enlarged image is first determined. When the numbers of pixels arrayed in the horizontal and vertical directions of the input image are H and V, respectively, αH pixels are arrayed in the horizontal direction of the α-times enlarged image and αV pixels are arrayed in the vertical direction of the α-times enlarged image, while 2 H pixels are arrayed in the horizontal direction of the twice-enlarged image and 2V pixels are arrayed in the vertical direction of the twice-enlarged image. One pixel is disposed in the α-times enlarged image for every (2/α) pixels of the twice-enlarge image, with respect to both of the horizontal and vertical directions. The corresponding position in the twice-enlarged image of each pixel of the α-times enlarged image can be determined on the basis of this relation.
Furthermore, multiple pixels close to the target pixel of the α-times enlarged image are selected from the pixels of the twice-enlarged image and the pixel values of the target pixel of the α-times enlarged image are calculated through interpolation processing of the pixel values of the selected pixels of the twice-enlarged image. This interpolation processing may be achieved by commonly-used interpolation processing, such as bilinear interpolation or bicubic interpolation.
When bilinear interpolation is used, for example, the R pixel value RENLα(i, j), G pixel value GENLα(i, j) and B pixel value BENLα(i, j) of pixel PENLα(i, j) of the α-times enlarged image are calculated in accordance with the following expressions (8a) to (8c):
where (x, y) denotes the position in the twice-enlarged image of pixel PENLα(i, j) positioned in the i-th row and the j-th column of the α-times enlarged image, [x] is the greatest integer that does not exceed x, and [y] is the greatest integer that does not exceed y.
Illustrated in
The α-times enlarged image data DENLα are interpolation processing for each pixel of the α-times enlarged image. The α-times enlarged image data DENLα are generated as data describing the R, G and B pixel values of each pixel of the α-times enlarged image, calculated as described above.
The generation of the α-times enlarged image (that is, the α-times enlarged image data DENLα) through the above-described method effectively suppresses generation of blurs at diagonal edges in the α-times enlarged image.
As illustrated in
As thus discussed, the image enlargement processing of the present embodiment effectively allows generating α-times enlarged image with reduced blurs at diagonal edges.
Although the above-described embodiment recites the case when the enlargement factor α is less than two, the similar applies to the case when the enlargement factor α is more than two; in the case when the enlargement factor α is more than two, an α-times enlarged image can be generated with reduced blurs at diagonal edges through generating a 2n-times enlarged image by enlarging an input image with an enlargement factor of 2n (n is the minimum natural number determined so that 2n is larger than α) and calculating the pixel values of a respective one of the pixels of the α-times enlarged image through interpolation processing of the pixel values of the multiple pixels of the 2n-times enlarged image corresponding to the respective one pixel of the α-times enlarged image. Note that α-times enlarged image can be obtained by applying the above-described generation method of the twice-enlarged image to a 2j−1-times enlarged image (where j is an integer from one to n). For example, a four-times enlarged image can be obtained by applying the above-described generation method of the twice-enlarged image to the twice-enlarged image again and a 2n-times enlarged image can be obtained in a similar way for an arbitrary integer n.
This calculation can be easily achieved by serially connecting n twice-enlarged image generator circuits 21. In one embodiment, 2n-times enlarged image data corresponding to a 2n-times enlarged image may be generated with first to n-th twice-enlarged image generator circuits, each configured identically to the above-described twice-enlarged image generator circuit 23. In this case, the first twice-enlarged image generator circuit generates twice-enlarged image data corresponding to the twice-enlarged image, which is an enlargement of the input image with an enlargement factor of two, from the input image data
The p-th twice-enlarged image generator circuit (where p is an integer from two to n) generates 2p-times enlarged image data corresponding to the 2p-times enlarged image by performing image enlargement processing on 2p-1-times enlarged image data corresponding to the 2p-1-times enlarged image. The intermediate pixel image generator circuit 23 of the q-th twice-enlarged image generator circuit of the first to n-th twice-enlarged image generator circuits (where q is an integer from one to n) generates intermediate pixel image data corresponding to an intermediate pixel image composed of intermediate pixels respectively corresponding to 2×2 pixel arrays included in the input image or 2q-1-times enlarged image and the interpolated image generator circuit 24 of the q-th twice-enlarged image generator circuit generates interpolated image data corresponding to an interpolated image composed of interpolation pixels respectively corresponding to combinations of two pixels adjacent in the horizontal or vertical direction of the input image or 2g-1-times enlarged image. The twice-enlarged image data DENL2 generated by the first twice-enlarged image generator circuit include the input image data DIN, the intermediate pixel image data generated by the intermediate pixel image generator circuit 23 of the first twice-enlarged image generator circuit, and the interpolated image data generated by the interpolated image generator circuit 24 of the first twice-enlarged image generator circuit. Similarly, the 2P-times enlarged image data generated by the p-th twice-enlarged image generator circuit include the 2p-1-times enlarged image data, the intermediate pixel image data generated by the intermediate pixel image generator circuit 23 of the p-th twice-enlarged image generator circuit, and the interpolated image data generated by the interpolated image generator circuit 24 of the p-th twice-enlarged image generator circuit. The 2n-times enlarged image data corresponding to the 2n-times enlarged image are output from the n-th twice-enlarged image data generator circuit.
Since the above-described generation method of the twice-enlarged image effectively suppress the generation of blurs at diagonal edges, generation of blurs at diagonal edges are suppressed also in the 2n-times enlarged image, which is obtained by repeating the above-described generation method of the twice-enlarged image n times.
The α-times enlarged image generator circuit 22 generates α-times enlarged image data DENLα from the twice-enlarged image data DENL2 or the four-times enlarged image data DENL4. In detail, when the enlargement factor α is less than two, the α-times enlarged image data DENLα are generated through interpolation processing of the twice-enlarged image data DENL2 in the same way as described above. When the enlargement factor α is more than two and less than four, the α-times enlarged image data DENLα are generated through interpolation processing of the four-times enlarged image data DENL4. More specifically, pixels of the four-times enlarged image corresponding to each pixel of the α-times enlarged image are first selected. In selecting pixels of the four-times enlarged image corresponding to a target pixel of the α-times enlarged image, the position of the target pixel in the four-times enlarged image is first determined. This is followed by selecting pixels close to the position of the target pixel from the pixels of the four-times enlarged image, and then the pixel values of the target pixel of the α-times enlarged image are calculated through interpolation processing of the pixel values of the selected pixels of the four-times enlarged image. Commonly-used interpolation processing, such as bilinear interpolation or bicubic interpolation, may be used in this interpolation processing.
The above-described method is applicable to the case when the enlargement factor α is an integer which cannot be represented as 2k for any natural number k (for example, three), as well as the case when the enlargement factor α is a non-integer number. For example, the above-described method is applicable to the case when the enlargement factor α is three. For an enlargement factor α of three, the α-times enlarged image generator circuit 22 may generate α-times enlarged image data DENLα through interpolation processing of the four-times enlarged image data DENL4. The image enlargement processing of this embodiment effectively suppresses generation of blurs at diagonal edges also in the case when the enlargement factor α is an integer which cannot be represented as 2k for any natural number k (for example, three).
The α-times enlarged image data DENLα can be obtained in a similar manner also in the case when the enlargement factor α is larger than four. To obtain an α-times enlarged image (α is a number larger than one which cannot be represented as 2k for k being a natural number), a 2n-times enlarged image is first generated by enlarging the input image with an enlargement factor of 2n (n is the smallest integer determined so that 2n is larger than α) and the pixel values of each pixel of the α-times enlarged image are calculated through interpolation processing of the pixel values of pixels of the 2n-times enlarged image corresponding to each pixel of the α-times enlarged image.
It should be noted that, since twice-enlarged image data DENL2 corresponding to a twice-enlarged image are generated to incorporate data indicating the pixel values of all the pixels of an input image data (that is, input image data DIN) when the twice-enlarged image is generated through the above-described method, a 2N-times enlarged image data corresponding to 2N-times enlarged image (N is an natural number) includes the pixel values of the pixels of all of a 20-times enlarged image (that is, the input image), a 21-times enlarged image (that is, twice-enlarged image), . . . , and 2(N−1)-times enlarged image. Accordingly, α-times enlarged image data corresponding to an α-times enlarged image for an arbitrary a being less than 2N can be generated from 2N-enlarged image data corresponding to a 2N-enlarged image data through extracting 2n-times enlarged image data corresponding to the 2n-times enlarged image (n is the smallest natural number equal to or less than N determined so that 2n is larger than α) from the 2N-times enlarged image data and performing interpolation processing on the 2n-times enlarged image data.
It is known in the art that blurs of edges are often observed in an enlarged image obtained through image enlargement processing. Accordingly, as illustrated in
In most typical edge enhancement processing, as illustrated in
Such edge enhancement processing, however, undesirably causes a flicker when the enlargement factor α is non-integer and the enlarged image is scrolled.
The problem of generation of a flicker results from the fact that the non-integer enlargement factor a causes a change in the thickness of an edge depending on the position. Referring to
When the enlargement factor α is non-integer (in
To suppress generation of this type of flicker, limiting processing to limit the edge enhancement strength is performed in the present embodiment as illustrated in
More specifically, the difference in the pixel value of the target pixel and adjacent pixels is calculated for each of the R, G and B pixel values. In the present embodiment, the difference in the pixel value between the target pixel and the pixels adjacent to the target pixel in the vertical and horizontal directions is calculated by using a matrix M2 defined as follows:
For example, discussed below is the case when the R pixel values of 3×3 pixels that include the target pixel and the pixels adjacent to the target pixel are given by the following matrix (11); note that the R pixel value of the target pixel is indicated by the element positioned in the second row and the second column:
In this case, the difference ΔR in the R pixel value is given by the following expression:
ΔR=96×4=255−96−96−96=−159.
The difference ΔG in the G pixel value between the target pixel and adjacent pixels and the difference ΔB in the B pixel value between the target pixel and the adjacent pixels are also calculated in a similar manner.
An edge enhancement strength is further calculated on the basis of the difference in the pixel value between the target pixel and the adjacent pixels. In the present embodiment, an edge enhancement strength is calculated for each of the R, G and B pixel values. More specifically, an edge enhancement strength WR for the R pixel value is calculated on the basis of the difference ΔR. Similarly, the edge enhancement strength WG and WB for the G and B pixel values are calculated on the basis of the differences ΔG and ΔB, respectively. In the present embodiment, the values of the differences ΔR, ΔG and ΔB are used as the edge enhancement strengths WR, WG and WB respectively, without changes. Therefore, the following holds:
WR−ΔR,
WG=ΔG, and
WB=ΔB. (12)
In an alternative embodiment, the edge enhancement strengths WR, WG and WB may be determined by performing an operation on the difference ΔR, ΔG and ΔB, respectively.
This is followed by performing limiting processing to limit each edge enhancement strength so that the absolute value of the edge enhancement strength does not exceed a certain limit value WTH(>0). In the present embodiment, the limiting processing is performed for each of the R, G and B pixel values. More specifically, the edge enhancement strength WR-LMT for the R pixel value is determined by the limiting processing as follows:
WR-LMT=WTH (for WR>WTH),
WR-LMT=WR (for −WTH<WR<WTH), and
WR-LMT=−WTH (for WR<−WTH) (13a)
The similar goes for the G and B pixel values. The edge enhancement strengths WG-LMT and WB-LMT for the G and B pixel values are determined by the limiting processing as follows:
WG-LMT=WTH (for WG>WTH),
WG-LMT=WG (for −WTH<WG<WTH),
WG-LMT=−WTH (for WG<−WTH), (13b)
WB-LMT=WTH (for WB>WTH),
WB-LMT=WB (for −WTH<WB<WTH), and
WB-LMT=−WTH (for WB<−WTH) (13c)
In the edge enhancement processing, a pixel value of the target pixel is obtained by correcting the original pixel value of the target pixel on the basis of the edge enhancement strength obtained by the limiting processing. In the present embodiment, the R, G and B pixel values ROUT, GOUT and BOUT are calculated for the target pixel in the edge enhancement processing in accordance with the following expressions (14a) to (14c):
R
OUT
=R
ENLα
−β·W
R-LMT, (14a)
G
OUT
=G
ENLα
−β·G
G-LMT, and (14b)
B
OUT
=B
ENLα
−β·B
B-LMT, (14c)
where RENLα, GENLα and BENLα are the original R, G and B pixel values of the target pixel (that is, the R, G and B pixel values of the target pixel in the α-times enlarged image) and β is a predetermined edge enhancement coefficient.
For example, when the limit value WTH is 63, the edge enhancement coefficient p is 0.5 and the R pixel values of the 3×3 pixels composed of the target pixel and the pixels adjacent to the target pixel are given by expression (11), the difference ΔR, that is, the edge enhancement strength WR is calculated as −195, and the R pixel value ROUT of the target pixel is calculated in the edge enhancement processing as follows:
R
OUT=96−0.5×(−63)=64.5.
As described above with reference to
In the edge enhancement processing of the present embodiment, on the other hand, the changes in the average value of the pixel values of the pixels in the portion corresponding to the vertical line between before and after the scroll are suppressed as illustrated in
Although specific embodiments of the present technology are described above, the present technology must not be construed as being limited to the above-described embodiment. It would be apparent to a person skilled in the art that the present technology may be implemented with various modifications. For example, although embodiments of a liquid crystal display device including a liquid crystal display panel are described above, the present technology is applicable to panel display devices including different display panels (such as display devices including OLED (organic light emitting diode) display panels). Although the above-described embodiments recite image processing (including image enlargement processing and edge enhancement processing) performed on image data described in the RGB format, the image processing of the above-described embodiments may be applied to image data in different formats, e.g., YUV format. When input image data in the RGB format are fed, the input image data may be converted into image data in a different format, for example, image data in the YUV format and the image processing of the above-described embodiments may be performed on the image data obtained by the conversion. In an alternative embodiment, when input image data are fed in a format other than the RGB format, the input image data may be converted into image data in the RGB format and the image processing of the above-described embodiments may be performed on the RGB image data obtained by this conversion.
Number | Date | Country | Kind |
---|---|---|---|
2014185612 | Sep 2014 | JP | national |
This application is a continuation of U.S. patent application Ser. No. 14/847,125 filed Sep. 8, 2015 entitled “DEVICE AND METHOD FOR IMAGE ENLARGEMENT AND DISPLAY PANEL DRIVER USING THE SAME”, which claims priority of Japanese Patent Application No. 2014-185612, filed on Sep. 11, 2014, the disclosure which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 14847125 | Sep 2015 | US |
Child | 16245897 | US |