Device and method for image enlargement and display panel driver using the same
10510138 ยท 2019-12-17
Assignee
Inventors
Cpc classification
G09G5/391
PHYSICS
H04N1/00469
ELECTRICITY
International classification
Abstract
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 ( is a number larger than one which cannot be represented as 2.sup.k); and a driver section driving a display panel. In calculating a pixel value of a target pixel of the -times enlarged image, the scaler circuit generates enlarged image data including 2.sup.n-times enlarged image data corresponding to a 2.sup.n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n is larger than ), and calculates the pixel value of the target pixel from the 2.sup.n-times enlarged image data through interpolation processing of pixel values of pixels of the 2.sup.n-times enlarged image corresponding to the target pixel of the -times enlarged image.
Claims
1. A display driver, comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of the input image, wherein the intermediate pixels are determined by calculating an average pixel value of at least two pixels of a corresponding pixel array of the input image, and wherein the at least two pixels of the corresponding pixel array do not include a pixel having a highest pixel value of the pixel array and a pixel having a lowest pixel value of the pixel array; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; and a driver section configured to drive a display panel at least partially based on the enlarged image.
2. The display driver of claim 1, wherein generating the interpolated image comprises performing one of bilinear interpolation, and bicubic interpolation.
3. A display driver, comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixel corresponds to a different 22 pixel array of the input image; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; an edge enhancement circuit configured to: calculate a first edge enhancement strength between a first pixel of the enlarged image and a second pixel of the enlarged image, the second pixel is adjacent to the first pixel; calculate a second edge enhancement strength from the first edge enhancement strength, wherein an absolute value of the second edge enhancement strength does not exceed a first limit value; and determine a pixel value of a first pixel of an output image based at least in part on the second edge enhancement strength, wherein the first pixel of the output image corresponds to the first pixel of the enlarged image; and a driver section configured to drive a display panel at least partially based on the output image.
4. The display driver of claim 3, wherein driving the display panel at least partially based on the enlarged image comprising driving the display panel at least partially based on the output image.
5. A display driver, further comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixel corresponds to a different 22 pixel array of the input image; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image, wherein the scaler circuit includes: first to n-th twice-enlarged image generator circuits connected in series and comprising: a first twice-enlarged image generator circuit configured to generate a 2.sup.1-times enlarged image data corresponding to a 2.sup.1-times enlarged image obtained by enlarging the input image with an enlargement factor of two; and a p-th twice-enlarged image generator circuit (p is an integer from two to n) configured to generate a 2.sup.p-times enlarged image data corresponding to a 2.sup.p-times enlarged image obtained by enlarging a 2.sup.(P-1)-times enlarged image with an enlargement factor of two; and a driver section configured to drive a display panel at least partially based on the enlarged image.
6. The display driver of claim 5, wherein a q-th twice-enlarged image generator circuit of the first to n-th twice-enlarged image generator circuits (q is an integer from one to n) includes: an intermediate pixel image circuit configured to generate intermediate pixel image data corresponding to an intermediate pixel image composed of intermediate pixels each corresponding to 22 pixel arrays included in the input image or a 2.sup.(q-1)-times enlarged image; and an interpolated image generator circuit configured to generate interpolated image data corresponding to an interpolated image composed of interpolation pixels each corresponding to combinations of two pixels of the input image or the 2.sup.(q-1)-times enlarged image adjacent in a horizontal or vertical direction.
7. The display driver of claim 6, wherein the 2.sup.1-times enlarged image data generated by the first twice-enlarged image generator circuit incorporates data of the input image, the intermediate pixel image data generated by the first twice-enlarged image generator circuit and the interpolated image data generated by the first twice-enlarged image generator circuit, and wherein the 2.sup.p-times enlarged image data generated by the p-th twice-enlarged image generator incorporates the 2.sup.p-times enlarged image data, the intermediate pixel image data generated by the p-th twice-enlarged image generator circuit and the interpolated image data generated by the p-th twice-enlarged image generator circuit.
8. A method for enlarging an image comprising: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of an input image, wherein the intermediate pixels are determined by calculating an average pixel value of at least two pixels of a corresponding pixel array of the input image, and wherein the at least two pixels of the corresponding pixel array do not include a pixel having a highest pixel value of the pixel array and a pixel having a lowest pixel value of the pixel array; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; and driving a display panel at least partially based on the enlarged image.
9. A method for enlarging an image, comprising: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of an input image; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; calculating a first edge enhancement strength between a first pixel of the enlarged image and a second pixel of the enlarged image, the second pixel is adjacent to the first pixel; calculating a second edge enhancement strength from the first edge enhancement strength, wherein an absolute value of the second edge enhancement strength does not exceed a first limit value; determining a pixel value of a first pixel of an output image based at least in part on the second edge enhancement strength, wherein the first pixel of the output image corresponds to the first pixel of the enlarged image; and driving a display panel at least partially based on the output image.
10. The method of claim 9, wherein driving the display panel at least partially based on the enlarged image comprising driving the display panel at least partially based on the output image.
11. A display device, comprising: a display panel; and a display driver comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of the input image, wherein the intermediate pixels are determined by calculating an average pixel value of at least two pixels of a corresponding pixel array of the input image, and wherein the at least two pixels of the corresponding pixel array do not include a pixel having a highest pixel value of the pixel array and a pixel having a lowest pixel value of the pixel array; generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; and a driver section configured to drive the display panel at least partially based on the enlarged image.
12. A display device, comprising: a display panel; and a display driver comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of the input image generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; and an edge enhancement circuit configured to: calculate a first edge enhancement strength between a first pixel of the enlarged image and a second pixel of the enlarged image, the second pixel is adjacent to the first pixel; calculate a second edge enhancement strength from the first edge enhancement strength, wherein an absolute value of the second edge enhancement strength does not exceed a predetermined limit value; and determine a pixel value of a first pixel of an output image based at least in part on the second edge enhancement strength, wherein the first pixel of the output image corresponds to the first pixel of the enlarged image; and a driver section configured to drive the display panel at least partially based on the output image.
13. A display device, comprising: a display panel; and a display driver comprising: a scaler circuit configured to enlarge an input image with an enlargement by: generating an intermediate pixel image composed of intermediate pixels, wherein each of the intermediate pixels corresponds to a different 22 pixel array of the input image generating an interpolated image comprising interpolation pixels, wherein each of the interpolation pixels corresponds to at least one of a combination of two adjacent pixels of the input image in a horizontal direction, and a combination of two adjacent pixels of the input image in a vertical direction; and incorporating the input image, the intermediate pixel image, and the interpolated image into an enlarged image; wherein the scaler circuit comprises: first to n-th twice-enlarged image generator circuits connected in series and comprising: a first twice-enlarged image generator circuit configured to generate a 2.sup.1-times enlarged image data corresponding to a 2.sup.1-times enlarged image obtained by enlarging the input image with an enlargement factor of two; and a p-th twice-enlarged image generator circuit (p is an integer from two to n) configured to generate a 2.sup.p-times enlarged image data corresponding to a 2.sup.p-times enlarged image obtained by enlarging a 2.sup.(p-1)-times enlarged image with an enlargement factor of two; a driver section configured to drive the display panel at least partially based on the enlarged image.
14. The display device of claim 13, wherein a q-th twice-enlarged image generator circuit of the first to n-th twice-enlarged image generator circuits (q is an integer from one to n) includes: an intermediate pixel image circuit configured to generate intermediate pixel image data corresponding to an intermediate pixel image composed of intermediate pixels each corresponding to 22 pixel arrays included in the input image or a 2.sup.(q-1)-times enlarged image; and an interpolated image generator circuit configured to generate interpolated image data corresponding to an interpolated image composed of interpolation pixels each corresponding to combinations of two pixels of the input image or the 2.sup.(q-1)-times enlarged image adjacent in a horizontal or vertical direction.
15. The display device of claim 14, wherein the 2.sup.1-times enlarged image data generated by the first twice-enlarged image generator circuit incorporates data of the input image, the intermediate pixel image data generated by the first twice-enlarged image generator circuit and the interpolated image data generated by the first twice-enlarged image generator circuit, and wherein the 2.sup.p-times enlarged image data generated by the p-th twice-enlarged image generator incorporates the 2.sup.p-times enlarged image data, the intermediate pixel image data generated by the p-th twice-enlarged image generator circuit and the interpolated image data generated by the p-th twice-enlarged image generator circuit.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) 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:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
DESCRIPTION OF PREFERRED EMBODIMENTS
(20) Introduction:
(21) 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.
(22) Therefore, one advantage of the present technology is to improve the image quality of an enlarged image obtained by image enlargement processing.
(23) Other advantages and features of the present technology would be understood from the following disclosure.
(24) 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 2.sup.k 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 2.sup.n-times enlarged image data corresponding to a 2.sup.n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n is larger than ), and calculates the pixel value of the target pixel from the 2.sup.n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2.sup.n-times enlarged image, the selected pixels of the 2.sup.n-times enlarged image corresponding to the target pixel of the -times enlarged image.
(25) 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 2.sup.k 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 2.sup.n-times enlarged image data corresponding to a 2.sup.n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n is larger than ), and calculates the pixel value of the target pixel from the 2.sup.n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2.sup.n-times enlarged image, the selected pixels of the 2.sup.n-times enlarged image corresponding to the target pixel of the -times enlarged image.
(26) 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 2.sup.k for k being any natural number). The scaler circuit includes: a 2.sup.n-times enlarged image generator circuit generating enlarged image data including 2.sup.n-times enlarged image data corresponding to a 2.sup.n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n is larger than ); and an -times enlarged image generator circuit generating the -times enlarged image data from the 2.sup.n-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 2.sup.n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2.sup.n-times enlarged image, the selected pixels of the 2.sup.n-times enlarged image corresponding to the target pixel of the -times enlarged image.
(27) 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 2.sup.k for k being any natural number). The method includes: generating enlarged image data including 2.sup.n-times enlarged image data corresponding to a 2.sup.n-times enlarged image obtained by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n is larger than ); and generating the -times enlarged image data from the 2.sup.n-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 2.sup.n-times enlarged image data through interpolation processing of pixel values of selected pixels of the 2.sup.n-times enlarged image, the selected pixels of the 2.sup.n-times enlarged image corresponding to the target pixel of the -times enlarged image.
(28) The present technology effectively improves the image quality of an enlarged image obtained by image enlargement processing.
(29) 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.
(30) 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 2.sup.k for k being a natural number), 2.sup.n-times enlarged image are generated by performing 2.sup.n-times image enlargement processing on an input image (n is the smallest natural number determined so that 2.sup.n 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 2.sup.n-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.
(31) This is based on the principle that a 2.sup.n-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 2.sup.n-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.
(32)
(33) 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.
(34) The liquid crystal driver 3, which is a sort of display panel driver, is configured to receive the input image data D.sub.IN from the host 4 and to drive the source lines of the liquid crystal display panel 2 in response to the input image data D.sub.IN. 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.
(35) 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 D.sub.IN 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 D.sub.IN to generate output image data D.sub.OUT. 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 D.sub.OUT received from the image processing circuit 12.
(36)
(37) The twice-enlarged image generator circuit 21 performs image enlargement processing on the input image data D.sub.IN with an enlargement factor of two to generate twice-enlarged image data D.sub.ENL2 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 D.sub.ENL2 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 D.sub.ENL, which are the targeted image data, through interpolation processing of the twice-enlarged image data D.sub.ENL2. The scaler circuit 15 illustrated in
(38) 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.
(39) (Image Enlargement Processing)
(40) The scaler circuit 15 illustrated in
(41)
(42) Twice-enlarged image data D.sub.ENL2 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 D.sub.IN. The generation of the twice-enlarged image data D.sub.ENL2 includes the following two steps of:
(43) (1) generating intermediate pixel image data corresponding to an intermediate pixel image, from the input image data D.sub.IN (at step S02), and
(44) (2) generating interpolated image data corresponding to an interpolated image, from the input image data D.sub.IN (at step S03).
(45) 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.
(46)
(47) 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 22 pixel array other than the maximum and minimum values of the corresponding pixel values. In detail, the R pixel value R.sub.CTR(i, j), G pixel value G.sub.CTR (i, j) and B pixel value B.sub.CTR(i, j) of pixel P.sub.CTR(i, j) of the intermediate pixel image are calculated in accordance with the following expressions (1a) to (1c):
R.sub.CTR(i,j)=(R.sub.IN(i,j)+R.sub.IN(i+1,j)+R.sub.IN(i,j+1)+R.sub.IN(i+1,j+1)R.sub.MAXR.sub.MIN)/2,(1a)
G.sub.CTR(i,j)=(G.sub.IN(i,j)+G.sub.IN(i+1,j)+G.sub.IN(i,j+1)+G.sub.IN(i+1,j+1)G.sub.MAXG.sub.MIN)/2, and(1b)
B.sub.CTR(i,j)=(B.sub.IN(i,j)+B.sub.IN(i+1,j)+B.sub.IN(i,j+1)+B.sub.IN(i+1,j+1)B.sub.MAXG.sub.MIN)/2,(1b)
where i is an integer from 1 to H1 and j is an integer from 1 to V1; 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).
(48) The parameters R.sub.MAX, R.sub.MIN, G.sub.MAX, G.sub.MIN, B.sub.MAX and B.sub.MIN in these expressions are defined as follows: R.sub.MAX is the maximum value of the R pixel values R.sub.IN(i, j), R.sub.IN(i+1, j), R.sub.IN(i, j+1) and R.sub.IN(i+1, j+1) of the pixels of the corresponding 22 pixel array, and R.sub.MIN is the minimum value of the same. Correspondingly, G.sub.MAX is the maximum value of the G pixel values G.sub.IN(i, j), G.sub.IN(i+1, j), G.sub.IN(i, j+1) and G.sub.IN(i+1, j+1) of the pixels of the corresponding 22 pixel array, and G.sub.MIN is the minimum value of the same. Finally, B.sub.MAX is the maximum value of the B pixel values B.sub.IN(i, j), B.sub.IN (i+1, j), B.sub.IN(i, j+1) and B.sub.IN (i+1, j+1) of the pixels of the corresponding 22 pixel array, and B.sub.MIN is the minimum value of the same.
(49)
(50) The R pixel value R.sub.ITPH(i, j), G pixel value G.sub.ITPH(i, j) and B pixel value B.sub.ITPH(i, j) of the horizontal interpolation pixel P.sub.ITPH(i, j) are calculated in accordance with the following expressions (2a) to (2c):
R.sub.ITPH(i,j)=(R.sub.IN(i,j)+R.sub.IN(i,j+1))/2,(2a)
G.sub.ITPH(i,j)=(G.sub.IN(i,j)+G.sub.IN(i,j+1))/2, and(2b)
B.sub.ITPH(i,j)=(B.sub.IN(i,j)+B.sub.IN(i,j+1))/2,(2c)
where i is an integer from 1 to H1 and j is an integer from 1 to V1.
(51) Also, the R pixel value R.sub.ITPV(i, j), G pixel value G.sub.ITPV(i, j) and B pixel value B.sub.ITPV(i, j) of the vertical interpolation pixel P.sub.ITPV(i, j) are calculated in accordance with the following expressions (3a) to (3c):
R.sub.ITPV(i,j)=(R.sub.IN(i,j)+R.sub.IN(i+1,j))/2,(3a)
G.sub.ITPV(i,j)=(G.sub.IN(i,j)+G.sub.IN(i+1,j))/2, and(3b)
B.sub.ITPV(i,j)=(B.sub.IN(i,j)+B.sub.IN(i+1,j))/2,(3c)
where i is an integer from 1 to H1 and j is an integer from 1 to V1.
(52) 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 D.sub.ENL2 are data incorporating the input image data D.sub.IN, 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.
(53) 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 P.sub.ENL2(2i1, 2j1) positioned in the (2i1)-th row and the (2j1)-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel P.sub.ENL2(2i1, 2j1) of the twice-enlarged image are determined in accordance with the following expressions (4a) to (4c):
R.sub.ENL2(2i1,2j1)=R.sub.IN(i,j),(4a)
B.sub.ENL2(2i1,2j1)=B.sub.IN(i,j), and(4b)
B.sub.ENL2(2i1,2j1)=B.sub.IN(i,j),(4c)
(54) 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 P.sub.ENL2(2i1, 2j) positioned in the (2i1)-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 P.sub.ENL2(2i1, 2j) of the twice-enlarged image are determined in accordance with the following expressions (5a) to (5c):
R.sub.ENL2(2i1,2j1)=R.sub.INTH(i,j),(5a)
B.sub.ENL2(2i1,2j1)=B.sub.INTH(i,j), and(5b)
B.sub.ENL2(2i1,2j1)=B.sub.INTH(i,j),(5c)
(55) 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 P.sub.ENL2(2i, 2j1) positioned in the 2i-th row and the (2j1)-th column of the twice-enlarged image. In other words, the R pixel value, G pixel value and B pixel value of pixel P.sub.ENL2(2i, 2j1) of the twice-enlarged image are determined in accordance with the following expressions (6a) to (6c):
R.sub.ENL2(2i1,2j1)=R.sub.INTV(i,j),(6a)
B.sub.ENL2(2i1,2j1)=B.sub.INTV(i,j), and(6b)
B.sub.ENL2(2i1,2j1)=B.sub.INTV(i,j),(6c)
(56) 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 P.sub.ENL2(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 P.sub.ENL2(2i, 2j) of the twice-enlarged image are determined in accordance with the following expressions (7a) to (7c):
R.sub.ENL2(2i,2j)=R.sub.CTR(i,j),(7a)
G.sub.ENL2(2i,2j)=G.sub.CTR(i,j), and(7b)
B.sub.ENL2(2i,2j)=B.sub.CTR(i,j),(7c)
(57) The twice-enlarged image data D.sub.ENL2 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.
(58) It should be noted that the R pixel value R.sub.CTR(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 22 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 G.sub.CTR(i, j) and B pixel value B.sub.CTR(i, j) of each pixel of the intermediate pixel image. The G pixel value G.sub.CTR(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 22 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 B.sub.CTR(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 22 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).
(59) 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 P.sub.IN(i, j), P.sub.IN(i, j+1), P.sub.IN(i+1, j) and P.sub.IN(i+1, j+1), where the R, G and B pixel values of pixels P.sub.IN(i, j) P.sub.IN(i, j+1) and P.sub.IN(i+1, j) are all 255 and the R, G and B pixel values of pixel P.sub.IN(i+1, j+1) are all 0. Note that the pixel values of pixel P.sub.CTR(i, j) of the intermediate pixel image are calculated from the pixel values of pixels P.sub.IN(i, j), P.sub.IN(i, j+1), P.sub.IN(i+1, j) and P.sub.IN(i+1, j+1) as described above.
(60) In this case, the R, G and B pixel values of pixel P.sub.CTR(i, j) are calculated as 191.25, if the R, G and B pixel values of pixel P.sub.CTR(i, j) of the intermediate pixel image are respectively calculated as the average values of those of pixels P.sub.IN(i, j), P.sub.IN(i, j+1), P.sub.IN(i+1, j) and P.sub.IN(i+1, j+1) as illustrated in
(61) On the other hand, as illustrated in
(62) As illustrated in
(63)
(64) 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 2H 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.
(65) 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.
(66) When bilinear interpolation is used, for example, the R pixel value R.sub.ENL(i, j), G pixel value G.sub.ENL(i, j) and B pixel value B.sub.ENL(i, j) of pixel P.sub.ENL(i, j) of the -times enlarged image are calculated in accordance with the following expressions (8a) to (8c):
(67)
where (x, y) denotes the position in the twice-enlarged image of pixel P.sub.ENL(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.
(68) Illustrated in
(69) The -times enlarged image data D.sub.ENL are calculated by performing the above-described interpolation processing for each pixel of the -times enlarged image. The -times enlarged image data D.sub.ENL are generated as data describing the R, G and B pixel values of each pixel of the -times enlarged image, calculated as described above.
(70) The generation of the -times enlarged image (that is, the -times enlarged image data D.sub.ENL) through the above-described method effectively suppresses generation of blurs at diagonal edges in the -times enlarged image.
(71)
(72) As illustrated in
(73) As thus discussed, the image enlargement processing of the present embodiment effectively allows generating -times enlarged image with reduced blurs at diagonal edges.
(74) 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 2.sup.n-times enlarged image by enlarging an input image with an enlargement factor of 2.sup.n (n is the minimum natural number determined so that 2.sup.n 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 2.sup.n-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 2.sup.j-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 2.sup.n-times enlarged image can be obtained in a similar way for an arbitrary integer n.
(75) This calculation can be easily achieved by serially connecting n twice-enlarged image generator circuits 21. In one embodiment, 2.sup.n-times enlarged image data corresponding to a 2.sup.n-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 D.sub.IN. The p-th twice-enlarged image generator circuit (where p is an integer from two to n) generates 2.sup.p-times enlarged image data corresponding to the 2.sup.p-times enlarged image by performing image enlargement processing on 2.sup.p-1-times enlarged image data corresponding to the 2.sup.p-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 22 pixel arrays included in the input image or 2.sup.q-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 2.sup.g-1-times enlarged image. The twice-enlarged image data D.sub.ENL2 generated by the first twice-enlarged image generator circuit include the input image data D.sub.IN, 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 2.sup.p-times enlarged image data generated by the p-th twice-enlarged image generator circuit include the 2.sup.p-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 2.sup.n-times enlarged image data corresponding to the 2.sup.n-times enlarged image are output from the n-th twice-enlarged image data generator circuit.
(76) 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 2.sup.n-times enlarged image, which is obtained by repeating the above-described generation method of the twice-enlarged image n times.
(77)
(78) The -times enlarged image generator circuit 22 generates -times enlarged image data D.sub.ENL from the twice-enlarged image data D.sub.ENL2 or the four-times enlarged image data D.sub.ENL4. In detail, when the enlargement factor is less than two, the -times enlarged image data D.sub.ENL are generated through interpolation processing of the twice-enlarged image data D.sub.ENL2 in the same way as described above. When the enlargement factor is more than two and less than four, the -times enlarged image data D.sub.ENL are generated through interpolation processing of the four-times enlarged image data D.sub.ENL4. 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.
(79) The above-described method is applicable to the case when the enlargement factor is an integer which cannot be represented as 2.sup.k 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 D.sub.ENL through interpolation processing of the four-times enlarged image data D.sub.ENL4. 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 2.sup.k for any natural number k (for example, three).
(80) The -times enlarged image data D.sub.ENL 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 2.sup.k for k being a natural number), a 2.sup.n-times enlarged image is first generated by enlarging the input image with an enlargement factor of 2.sup.n (n is the smallest integer determined so that 2.sup.n 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 2.sup.n-times enlarged image corresponding to each pixel of the -times enlarged image.
(81) It should be noted that, since twice-enlarged image data D.sub.ENL2 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 D.sub.IN) when the twice-enlarged image is generated through the above-described method, a 2.sup.N-times enlarged image data corresponding to 2.sup.N-times enlarged image (N is an natural number) includes the pixel values of the pixels of all of a 2.sup.0-times enlarged image (that is, the input image), a 2.sup.1-times enlarged image (that is, twice-enlarged image), . . . , and 2.sup.(N-1)-times enlarged image. Accordingly, -times enlarged image data corresponding to an -times enlarged image for an arbitrary a being less than 2.sup.N can be generated from 2.sup.N-enlarged image data corresponding to a 2.sup.N-enlarged image data through extracting 2.sup.n-times enlarged image data corresponding to the 2.sup.n-times enlarged image (n is the smallest natural number equal to or less than N determined so that 2.sup.n is larger than ) from the 2.sup.N-times enlarged image data and performing interpolation processing on the 2.sup.n-times enlarged image data.
(82) (Edge Enhancement Processing)
(83) 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
(84) In most typical edge enhancement processing, as illustrated in
(85)
(86) Such edge enhancement processing, however, undesirably causes a flicker when the enlargement factor is non-integer and the enlarged image is scrolled.
(87) The problem of generation of a flicker results from the fact that the non-integer enlargement factor causes a change in the thickness of an edge depending on the position. Referring to
(88) When the enlargement factor is non-integer (in
(89) 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
(90) 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 M.sub.2 defined as follows:
(91)
(92) For example, discussed below is the case when the R pixel values of 33 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:
(93)
(94) In this case, the difference .sub.R in the R pixel value is given by the following expression:
.sub.R=964=255969696=159.
The difference .sub.G in the G pixel value between the target pixel and adjacent pixels and the difference .sub.B in the B pixel value between the target pixel and the adjacent pixels are also calculated in a similar manner.
(95) 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 W.sub.R for the R pixel value is calculated on the basis of the difference .sub.R. Similarly, the edge enhancement strength W.sub.G and W.sub.B for the G and B pixel values are calculated on the basis of the differences .sub.G and .sub.B, respectively. In the present embodiment, the values of the differences .sub.R, .sub.G and .sub.B are used as the edge enhancement strengths W.sub.R, W.sub.G and W.sub.B respectively, without changes. Therefore, the following holds:
W.sub.R.sub.R,
W.sub.G=.sub.G, and
W.sub.B=.sub.B.(12)
In an alternative embodiment, the edge enhancement strengths W.sub.R, W.sub.G and W.sub.B may be determined by performing an operation on the difference .sub.R, .sub.G and .sub.B, respectively.
(96) 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 W.sub.TH(>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 W.sub.R-LMT for the R pixel value is determined by the limiting processing as follows:
W.sub.R-LMT=W.sub.TH (for W.sub.R>W.sub.TH),
W.sub.R-LMT=W.sub.R (for W.sub.TH<W.sub.R<W.sub.TH), and
W.sub.R-LMT=W.sub.TH (for W.sub.R<W.sub.TH)(13a)
(97) The similar goes for the G and B pixel values. The edge enhancement strengths W.sub.G-LMT and W.sub.B-LMT for the G and B pixel values are determined by the limiting processing as follows:
W.sub.G-LMT=W.sub.TH (for W.sub.G>W.sub.TH),
W.sub.G-LMT=W.sub.G (for W.sub.TH<W.sub.G<W.sub.TH),
W.sub.G-LMT=W.sub.TH (for W.sub.G<W.sub.TH),(13b)
W.sub.B-LMT=W.sub.TH (for W.sub.B>W.sub.TH),
W.sub.B-LMT=W.sub.B (for W.sub.TH<W.sub.B<W.sub.TH), and
W.sub.B-LMT=W.sub.TH (for W.sub.B<W.sub.TH)(13c)
(98) 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 R.sub.OUT, G.sub.OUT and B.sub.OUT are calculated for the target pixel in the edge enhancement processing in accordance with the following expressions (14a) to (14c):
R.sub.OUT=R.sub.ENL.Math.W.sub.R-LMT,(14a)
G.sub.OUT=G.sub.ENL.Math.G.sub.G-LMT, and(14b)
B.sub.OUT=B.sub.ENL.Math.B.sub.B-LMT,(14c)
where R.sub.ENL, G.sub.ENL and B.sub.ENL 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.
(99) For example, when the limit value W.sub.TH is 63, the edge enhancement coefficient is 0.5 and the R pixel values of the 33 pixels composed of the target pixel and the pixels adjacent to the target pixel are given by expression (11), the difference .sub.R, that is, the edge enhancement strength W.sub.R is calculated as 195, and the R pixel value R.sub.OUT of the target pixel is calculated in the edge enhancement processing as follows:
R.sub.OUT=960.5(63)=64.5.
(100)
(101) As described above with reference to
(102) 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
(103) 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.