This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2016-054994, filed on Mar. 18, 2016, the entire contents of which are incorporated herein by reference.
The present invention relates to an image display device and a method for driving the image display device.
For a display of, for example, a mobile electronic device such as a mobile phone or a mobile information terminal, a personal computer, a television receiver or the like, a monochrome or color liquid crystal display panel, an electroluminescence display panel using electroluminescence of an inorganic or organic material, a plasma display panel or the like is used.
In the case where the gray scale display capability of pixels of such a display is low, in other words, in the case where the number of gray scale levels of the display is small, a contour-like line is displayed at a border of different gradation levels of an image, which deteriorates the image quality. It is known that use of an error diffusion method improves the image quality in such a case.
According to the “error diffusion method”, an error caused when multi-value image data is converted into, for example, binary image data (i.e., difference between the multi-value image data and the binary image data) is “diffused” by multiplying a plurality of pixels adjacent to the pixel corresponding to the data by a weight coefficient. With the error diffusion method, an error caused between a multi-level original image and, for example, a binary half-tone image is minimized in an averaged manner, and thus a half-tone image having a high image quality is generated.
In the meantime, the error diffusion method has a problem that even in the case where only a part of the original image is changed, the change caused by the error diffusion is propagated over a wide range of the image, which provides a viewer with an impression that the image flickers. This problem is conspicuous in the case where, for example, a moving image is embedded in a part of the image whereas the remaining part of the image is still.
An image display device in an embodiment according to the present invention includes a display plane including a plurality of pixels located in a matrix, the display plane being divided into a plurality of error diffusion blocks; a storage unit having, stored on the storage unit, a first error value and a corrected error value for each of the pixels; a first pixel data calculator calculating first pixel data based on input data corresponding to a pixel of attention, among the plurality of pixels, and the first error value stored on the storage unit for each of pixels, among a predetermined number of pixels adjacent to the pixel of attention in a predetermined direction, belonging to the same error diffusion block as the pixel of attention; a second pixel data calculator calculating second pixel data based on the input data corresponding to the pixel of attention and the corrected error value stored on the storage unit for each of the predetermined number of pixels adjacent to the pixel of attention in the predetermined direction; a first quantized data calculator calculating first quantized data as a result of quantization of the first pixel data; a second quantized data calculator calculating second quantized data as a result of quantization of the second pixel data; a first error value calculator calculating the first error value based on a difference between the first pixel data and the first quantized data; a second error value calculator calculating a second error value based on a difference between the second pixel data and the second quantized data; a determination unit determining whether or not the pixel of attention is located within a predetermined range from a border among the plurality of error diffusion blocks; and a corrected error value calculator calculating the corrected error value for the pixel of attention by correcting the second error value in a direction in which the second error value approaches the first error value, in accordance with a determination result provided by the determination unit.
An image display device in an embodiment according to the present invention includes a display plane including a plurality of pixels located in a matrix, the display plane being divided into a plurality of error diffusion blocks; a first error value calculator calculating, for a pixel of attention among the plurality of pixels, a first error value limited to within the plurality of error diffusion blocks; a second error value calculator calculating, for the pixel of attention, a second error value not limited to within the plurality of error diffusion blocks; a determination unit determining whether or not the pixel of attention is located within a predetermined range from a border among the plurality of error diffusion blocks; a corrected error value calculator calculating a corrected error value for the pixel of attention by correcting the second error value in a direction in which the second error value approaches the first error value, in accordance with a determination result provided by the determination unit; and a pixel data calculator calculating pixel data for another pixel, among the plurality of pixels, adjacent to the pixel of attention based on the corrected error value.
A method for driving an image display device in an embodiment according to the present invention is a method for driving an image display device including a display plane including a plurality of pixels located in a matrix, the display plane being divided into a plurality of error diffusion blocks. The method includes storing a first error value and a corrected error value for each of the pixels on a storage unit; calculating first pixel data based on input data corresponding to a pixel of attention, among the plurality of pixels, and the first error value stored on the storage unit for each of pixels, among a predetermined number of pixels adjacent to the pixel of attention in a predetermined direction, belonging to the same error diffusion block as the pixel of attention; calculating second pixel data based on the input data corresponding to the pixel of attention and the corrected error value stored on the storage unit for each of the predetermined number of pixels adjacent to the pixel of attention in the predetermined direction; calculating first quantized data as a result of quantization of the first pixel data; calculating second quantized data as a result of quantization of the second pixel data; calculating the first error value based on a difference between the first pixel data and the first quantized data; calculating a second error value based on a difference between the second pixel data and the second quantized data; determining whether or not the pixel of attention is located within a predetermined range from a border among the plurality of error diffusion blocks; and calculating the corrected error value for the pixel of attention by correcting the second error value in a direction in which the second error value approaches the first error value, in accordance with a result of the determination.
A method for driving an image display device in an embodiment according to the present invention is a method for driving an image display device including a display plane including a plurality of pixels located in a matrix, the display plane being divided into a plurality of error diffusion blocks. The method includes calculating, for a pixel of attention among the plurality of pixels, a first error value limited to within the plurality of error diffusion blocks; calculating, for the pixel of attention, a second error value not limited to within the plurality of error diffusion blocks; determining whether or not the pixel of attention is located within a predetermined range from a border among the plurality of error diffusion blocks; calculating the corrected error value for the pixel of attention by correcting the second error value in a direction in which the second error value approaches the first error value, in accordance with a result of the determination; and calculating pixel data for another pixel, among the plurality of pixels, adjacent to the pixel of attention based on the corrected error value.
Hereinafter, an image display device in an embodiment according to the present invention will be described in detail with reference to the drawings. The image display device in an embodiment according to the present invention is not limited to the following embodiment and may be carried out in any of various modifications. The ratio of sizes in the drawings may be different from the actual ratio, or a part of the elements may be omitted from the drawings, for the sake of explanation. The present invention is not limited to being applicable to an image display device, and may be applicable for a method for driving an image display device by which the image display device performs each of processes described below, a program for executing the driving method, or a storage medium having such a program stored thereon.
The display 20 is, for example, a monochrome liquid crystal display panel. There is no specific limitation on the structure or system of the display 20. The display 20 may be a known display device such as, for example, a liquid crystal display panel, an electroluminescence display panel, or a plasma display panel, or may be a display medium such as an electrically rewritable electronic paper or the like. The display 20 may provide monochrome display or color display. In the following description, the display 20 is assumed to provide monochrome display for easier explanation (therefore, it is assumed that one piece of input data vd_in is input to one pixel PX in one frame).
At the display plane 21 of the display 20, M pixels PX are located in a horizontal direction and N pixels PX are located in a vertical direction; namely, M×N pixels PX in total are located in a matrix. In this specification, the expression “X (n, m)” (X is an arbitrary element; n is an integer of 1 to N, and m is an integer of 1 to M) refers to an element X, among a plurality of elements respectively provided for the pixels PX, that corresponds to the pixel PX located at the n'th row and m'th column.
In the case where the display 20 is a transmissive display panel, the display 20 is configured to control the light transmittance of each pixel PX based on a value of the output data vd_out supplied from the gray scale converter 10. This control on the light transmittance controls the amount of light supplied from a light source device (not shown), and as a result, an image is displayed on the display 20. In the case where the display 20 is a reflective display panel, the display 20 is configured to control the light reflectance of each pixel PX based on a value of the output data vd_out supplied from the gray scale converter 10. This control on the light reflectance controls the amount of reflected external light, and as a result, an image is displayed on the display 20.
The gray scale converter 10 includes an error diffusion processor 11 performing a gray scale process by use of an error diffusion method. The gray scale converter 10 is configured to convert input data vd_in (n, m) into output data vd_out (n, m) by use of the error diffusion processor 11. The output data vd_out (n, m) obtained by the conversion is supplied to the display 20. The details of the conversion process will be described below with reference to
The gray scale converter 10 has, stored thereon, a plurality of error diffusion blocks BL (see
As shown in
The gray scale converter 10 is supplied with the input data vd_in (n, m). The input data vd_in is sequentially supplied in the order from the input data vd_in for the first row (in the order in which the value of n increases one by one; from top to bottom). Regarding each of the rows, the input data vd_in (n, m) is sequentially supplied in the order shown by arrow OR in
The storage unit 41 is configured to store a first error value Err1 (n, m) and a corrected error value Err2′ (n, m) for each pixel PX. These values are calculated respectively by the first error value calculator 36 and the corrected error value calculator 40 while the gray scale process is performed sequentially for each pixel PX.
The first pixel data calculator 30 calculates first pixel data dv1_mod (n, m) for each of the plurality of pixels PX. In the following description, the pixel PX for which the first pixel data or any other data is to be calculated, namely, the pixel PX (n, m), may be referred to as a “pixel of attention”. The first pixel data calculator 30 calculates the first pixel data dv1_mod (n, m) based on the input data vd_in (n, m) corresponding to the pixel PX (n, m) (pixel of attention) and the first error value Err1 stored on the storage unit 41 for each of pixels PX, among a predetermined number of pixels adjacent to the pixel PX (n, m) (pixel of attention) in a predetermined direction, that belong to the same error diffusion block BL as the pixel PX (n, m) (pixel of attention). This will be described below in detail with reference to
The second pixel data calculator 31 calculates second pixel data vd2_mod (n, m) based on the input data vd_in (n, m) and the corrected error value Err2′ stored on the storage unit 41 for each of the predetermined number of pixels adjacent to the pixel PX (n, m) in the predetermined direction. Unlike the first pixel data calculator 30, the second pixel data calculator 31 does not limit the range of pixels, the corrected error value Err2′ for which is to be referred to, to the “pixels belonging to the same error diffusion block BL as the pixel PX (n, m)”. Therefore, the second pixel data vd2_mol (n, m) is calculated without limiting the diffusion range of the error to the same error diffusion block BL as the pixel PX (n, m).
The first quantized data calculator 32 calculates first quantized data LV1 (n, m) as a result of quantization of the first pixel data vd1_mod (n, m) calculated by the first pixel data calculator 30. The first output pixel data calculator 33 converts the first quantized data LV1 (n, m) into 3-bit data to provide first output pixel data vd1_out (n, m). The details of these processes will be described below with reference to
The second quantized data calculator 34 calculates second quantized data LV2 (n, m) as a result of quantization of the second pixel data vd2_mod (n, m) calculated by the second pixel data calculator 31. The second output pixel data calculator 35 converts the second quantized data LV2 (n, m) into 3-bit data to provide second output pixel data vd2_out (n, m). The details of these processes will also be described below with reference to
The first error value calculator 36 calculates the first error value Err1 (n, m) based on a difference between the first pixel data vd1_mod (n, m) and the first quantized data LV1 (n, m). Specifically, as shown in the following expression (1), the first quantized data LV1 (n, m) is subtracted from the first pixel data vd1_mod (n, m), and the result is set as the first error value Err1 (n, m).
Err1(n,m)=vd1_mod(n,m)−LV1(n,m) (1)
The first error value Err1 (n, m) calculated by the first error value calculator 36 is supplied to the storage unit 41, and is stored on the storage unit 41 as the first error value Err1 corresponding to the pixel PX (n, m) while the error diffusion processor 11 is performing the process on the same frame.
The second error value calculator 37 calculates a second error value Err2 (n, m) based on a difference between the second pixel data vd2_mod (n, m) and the second quantized data LV2 (n, m). Specifically, as shown in the following expression (2), the second quantized data LV2 (n, m) is subtracted from the second pixel data vd2_mod (n, m), and the result is set as the second error value Err2 (n, m).
Err2(n,m)=vd2_mod(n,m)−LV2(n,m) (2)
The limited error value calculator 38 calculates a limited error value Err1_mux as a result of limiting the first error value Err1 (n, m) in accordance with the value of the first quantized data LV1 (n, m) and the value of the second quantized data LV2 (n, m). The limited error value Err1_mux is used in a later step when the corrected error value calculator 40 calculates the corrected error value Err2′ (n, m). The details of the process performed by the limited error value calculator 38 will be described below with reference to
The determination unit 39 determines whether or not the pixel PX (n, m) is located within a predetermined range from a border among the plurality of error diffusion blocks BL. Specifically, the determination unit 39 makes a determination on a threshold value on a horizontal direction distance H and a vertical direction distance V shown in
The corrected error value calculator 40 calculates the corrected error value Err2′ (n, m) for the pixel PX (n, m) by correcting the second error value Err2 (n, m) in a direction in which the second error value Err2 (n, m) approaches the first error value Err1 (n, m) in accordance with the determination result of the determination unit 39. More specifically, in the case where the determination result of the determination unit 39 shows that the pixel PX (n, m) is located within the predetermined range from the border among the plurality of error diffusion blocks BL, the corrected error value calculator 40 corrects the second error value Err2 (n, m) in the direction in which the second error value Err2 (n, m) approaches the first error value Err1 (n, m) to provide the corrected error value Err2′ (n, m) for the pixel PX (n, m). By contrast, in the case where the determination result of the determination unit 39 shows that the pixel PX (n, m) is not located within the predetermined range from the border among the plurality of error diffusion blocks BL, the corrected error value calculator 40 sets the limited error value Err1_mux calculated by the limited error value calculator 38 as the corrected error value Err2′ (n, m).
The corrected error value Err2′ (n, m) calculated by the corrected error value calculator 40 is supplied to the storage unit 41, and is stored on the storage unit 41 as the corrected error value Err2′ corresponding to the pixel PX (n, m) while the error diffusion processor 11 is performing the process on the same frame.
The effect provided by the corrected error value calculator 40 calculating the corrected error value Err2′ as described above will be described with reference to
As shown in
The technology described in Japanese Laid Open Patent No. 2012-145821 may be expressed as follows by use of the terms and the like used in this embodiment. The output data vd_out (n, m) is calculated from the first pixel data vd1_mod (n, m), which is calculated based on the first error value Err1. As can be seen from
Hereinafter, each of the processes performed by the error diffusion processor 11 will be described in more detail with reference to
When the input data vd_in (n, m) is supplied, first, the first pixel data calculator 30 performs a process of calculating the first pixel data vd1_mod (n, m) (step S4).
vd1_mod(n,m)=a×Err1(n−1,m−1)+b×Err1(n−1,m)+c×Err1(n−1,m+1)+d×Err1(n,m−1)+vd_in(n,m) (3)
In the expression (3), constants a, b, c and d are normalization coefficients for the diffused error, and are predefined such that a+b+c+d=1. There are a plurality of methods for selecting specific values for a through d. For example, with the Floyd-Steinberg method, a= 1/16, b= 5/16, c= 3/16 and d= 7/16. With the Sierra's Filter Lite method, a=0, b=¼, c=¼ and d=½. Which method is to be adopted may be determined in consideration of, for example, the quality required of the image display device 1.
vd1_mod(n,m)=vd_in(n,m) (4)
vd1_mod(n,m)=b×Err1(n−1,m)+c×Err1(n−1,m+1)+vd_in(n,m) (5)
vd1_mod(n,m)=d×Err1(n,m−1)+vd_in(n,m) (6)
Returning to
vd2_mod(n,m)=a×Err2′(n−1,m−1)+b×Err2′(n−1,m)+c×Err2′(n−1,m+1)+d×Err2′(n,m−1)vd_in(n,m) (7)
Next, the first quantized data calculator 32 calculates the first quantized data LV1 (n, m), and the first output pixel data calculator 33 calculates the first output pixel data vd1_out (n, m) (step S6: “process of calculating LV1 (n, m) and vd1_out (n, m)”). The second quantized data calculator 34 calculates the second quantized data LV2 (n, m), and the second output pixel data calculator 35 calculates the second output pixel data vd2_out (n, m) (step S7: “process of calculating LV2 (n, m) and vd2_out (n, m)”).
First, the first quantized data calculator 32 makes a determination on the range of the values of the first pixel data vd1_mod (n, m) (step S22). In the example of
The first quantized data calculator 32 calculates the first quantized data LV1 (n, m) based on the determination result in step S22. In the example of
When the first quantized data LV1 (n, m) is thus determined, the first output pixel data calculator 33 calculates the value of the first output pixel data vd1_out (n, m), which is 3-bit data. This will be described specifically. In the case where, for example, the value of the first quantized data LV1 (n, m) is “255”, the first output pixel data calculator 33 sets the value of the first output pixel data vd1_out (n, m) as “111b”. Similarly, the first output pixel data calculator 33 sets the value of the first output pixel data vd1_out (n, m) as “110b” for “219”, as “101 b” for “182”, as “100b” for “146”, as “011 b” for “109”, as “010b” for “73”, as “001 b” for “36”, and as “000b” for “0”.
Returning to
Next, the first error value calculator 36 calculates the first error value Err1 (n, m) and the second error value calculator 37 calculates the second error value Err2 (n, m) (steps S9 and S10). Specific methods for these processes are as shown in above-described expressions (1) and (2). As described above, the first error value Err1 (n, m) calculated by the first error value calculator 36 is stored on the storage unit 41 shown in
The first pixel data vd1_mod and the first quantized data LV1 usable to calculate the first error value Err1 are limited to within the same error diffusion block BL as the pixel PX (n, m) (namely, as described above with reference to
In the final step, the limited error value calculator 38, the determination unit 39 and the corrected error value calculator 40 perform a process of calculating the corrected error value Err2′ (n, m) (step S11: “process of calculating Err2′ (n, m)”.
In the case where the first output pixel data vd1_out (n, m) is larger than the second output pixel data vd2_out (n, m), the limited error value calculator 38 sets numerical value “152” as the limited error value Err1_mux. By contrast, in the case where the first output pixel data vd1_out (n, m) is smaller than the second output pixel data vd2_out (n, m), the limited error value calculator 38 sets numerical value “−152” as the limited error value Err1_mux. In the other case, namely, in the case where the first output pixel data vd1_out (n, m) is equal to the second output pixel data vd2_out (n, m), the limited error value calculator 38 sets the first error value Err1 (n, m) as the limited error value Err1_mux.
Next, the determination unit 39 makes a threshold value determination on the horizontal direction distance H and the vertical direction distance V shown in
The determination unit 39 has, stored thereon, threshold value reg_bdr_h_size in advance as a threshold value for the horizontal direction distance H. The determination unit 39 also has, stored thereon, threshold value reg_bdr_v_size in advance as a threshold value for the vertical direction distance H. The determination unit 39 compares the threshold values against the horizontal direction distance H and the vertical direction distance V respectively to make the above-described threshold determination (steps S24 and S25).
In the case where it is determined by the determination unit 39 that the horizontal direction distance H is smaller than the threshold value reg_bdr_h_size or the vertical direction distance V is smaller than the threshold value reg_bdr_v_size, namely, in the case where the pixel PX (n, m) is located within a predetermined range from the left end or the top end of the error diffusion block BL, the corrected error value calculator 40 corrects the second error value Err2 (n, m) in a direction in which the second error value Err2 (n, m) approaches the first error value Err1 (n, m) to provided the corrected error value Err2′ (n, m) for the pixel PX (n, m). Specifically, as shown in the following expression (8), a value based on a value obtained by subtracting the second error value Err2 (n, m) from the limited error value Err1_mux (more specifically, a value obtained by, first, subtracting the second error value Err2 (n, m) from the limited error value Err1_mux and then dividing the resultant value by predetermined value N) is subtracted from the second error value Err2 (n, m). Thus, the corrected error value Err2′ (n, m) is provided (step S26). A specific value of the predetermined value is preferably “16”.
Instead of the predetermined value N, a function of the number of pixels from the border of the error diffusion block may be used.
By contrast, in the case where it is determined by the determination unit 39 that the horizontal direction distance H is larger than, or equal to, the threshold value reg_bdr_h_size and the vertical distance V is larger than, or equal to, the threshold value reg_bdr_v_size, namely, in the case where the pixel PX (n, m) is not located within the predetermined range from the left end or the top end of the error diffusion block BL, the corrected error value calculator 40 sets the limited error value Err1_mul as the corrected error value Err2′ (n, m) as shown in the following expression (9) (step S27).
Err2′(n,m)=Err1_mux (9)
As described above, the corrected error value Err2′ (n, m) calculated by the corrected error value calculator 40 is stored on the storage unit 41 shown in
Returning to
As described above, the image display device 1 in this embodiment generates the output data vd_out (n, m) from the second pixel data dv2_mod (n, m), which is calculated based on the corrected error value Err2′. The corrected error value Err2′, which is calculated by the corrected error value calculator 40 by the above-described process, is continuously changed even when crossing the border B as shown in
A preferable embodiment according to the present invention has been described. The present invention is not limited to the above-described embodiment in any way, and may be carried out in any of various forms without departing from the gist of the present invention, needless to say.
For example, in the above-described embodiment, the display 20 provides monochrome display. As described above, the present invention is applicable to the case where the display 20 provides color display. In such a case, the gray scale converter 10 is supplied with the input data vd_in (n, m) for each of colors (e.g., red (R), green (G), blue (B) and white (W)). Thus, the above-described processes are performed on each of the colors.
In the case where the display 20 providing color display is used, the error diffusion blocks BL are located in the same manner for all the colors, or may be located differently by color.
In the above-described embodiment, each of the error diffusion blocks BL has a rectangular shape defined by two sides parallel to each other and extending in the horizontal direction and two sides parallel to each other and extending in the vertical direction. The error diffusion blocks BL may each have a different shape.
The input data vd_in (n, m) to be input to the error diffusion processor 11 in the above-described embodiment may have been dithered by a dithering processor (not shown) included in the gray scale converter 10. For example, 8-bit image data may be converted into 6-bit image data by the dithering processor by dithering 8, and the 6-bit image data may be converted into 4-bit image data by dithering 6. The 4-bit image data may be input to the error diffusion processor 11 as the input data vd_in.
The effect of the embodiment according to the present invention is especially useful in the case where a moving image is embedded in a part of the image whereas the remaining part of the image is still. In other words, the effect of the embodiment according to the present invention is not very useful in the case where the image is entirely moving or still. Therefore, before the error diffusion processor 11 performs the processes, it may be determined whether or not the input data vd_in to be displayed represents an image having a moving image embedded in a part thereof and having a still image in the remaining part thereof. In accordance with the determination result, the type of processes to be performed may be changed. Specifically, in the case where the determination result is positive, the processes described in the above-described embodiment may be performed. By contrast, in the case where the determination result is negative, for example, the first pixel data vd1_mod (n, m) calculated in step S4 in
In the case where it is determined by the determination unit 39 that the horizontal direction distance H is smaller than the threshold value reg_bdr_h_size or the vertical direction distance V is smaller than the threshold value reg_bdr_v_size, namely, in the case where the pixel PX (n, m) is located within a predetermined range from the left end or the top end of the error diffusion block BL, the corrected error value calculator 40 corrects the second error value Err2 (n, m) in a direction in which the second error value Err2 (n, m) approaches the first error value Err1 (n, m) to provide the corrected error value Err2′ (n, m) for the pixel PX (n, m). Specifically, as shown in the following expression (10), a value based on a value obtained by subtracting the second error value Err2 (n, m) from the limited error value Err1_mux (more specifically, a value obtained by, first, subtracting the second error value Err2 (n, m) from the limited error value Err1_mux and then dividing the resultant value by a second predetermined value Nrand) is subtracted from the second error value Err2 (n, m) to provide the corrected error value Err2′ (n, m) (step S29).
The second predetermined value Nrand may be a random number. The random number may be generated, by a random number generator included in an error diffusion processor in an embodiment according to the present invention, in accordance with at least one of the determination result of the determination unit 39, the output of the limited error value calculator 38, and the output of the second error value calculator 37.
In
In
In the embodiment shown in
This will be described more specifically.
In the case where the level of the input data vd_in (n, m) is level 25 or higher, the constants a, b, c and d showing the normalization coefficients for the diffused error described above are as follows: a is 0, b is ⅜, c is ⅛, and d is ½. As in the embodiment shown in
In the case where the pixel PX (n, m) is not located in contact with the border of the error diffusion block BL extending in the horizontal direction or the border of the error diffusion block BL extending in the vertical direction, vd1_mod (n, m) is represented by the following expression (11)
vd1_mod(n,m)=⅜Err1(n−1,m)+⅛Err1(n−1,m+1)+½Err1(n,m−1)+vd_in(n,m) (11)
In the case where the pixel PX (n, m) is located in contact with both of the border of the error diffusion block BL extending in the horizontal direction and the border of the error diffusion block BL extending in the vertical direction, vd1_mod (n, m) is represented by expression (4) described above.
In the case where the pixel PX (n, m) is located in contact with only the border of the error diffusion block BL extending in the vertical direction, vd1_mod (n, m) is represented by the following expression (12).
vd1_mod(n,m)=⅜Err1(n−1,m)+⅛Err1(n−1,m+1)+vd_in(n,m) (12)
In the case where the pixel PX (n, m) is located in contact with only the border of the error diffusion block BL extending in the horizontal direction, vd1_mod (n, m) is represented by the following expression (13).
vd1_mod(n,m)=½Err1(n,m−1)+vd_in(n,m) (13)
By contrast, in the case where the level of the input data vd_in (n, m) is lower than level 25, the constants a, b, c and d showing the normalization coefficients for the diffused error described above are as follows: a is 0, b is ¼, c is ¼, and d is ½.
In the case where the pixel PX (n, m) is not located in contact with the border of the error diffusion blocks BL extending in the horizontal direction or the border of the error diffusion blocks BL extending in the vertical direction, vd1_mod (n, m) is represented by the following expression (14)
vd1_mod(n,m)=¼Err1(n−1,m)+¼Err1(n−1,m+1)+½Err1(n,m−1)+vd_in(n,m) (14)
In the case where the pixel PX (n, m) is located in contact with both of the border of the error diffusion blocks BL extending in the horizontal direction and the border of the error diffusion blocks BL extending in the vertical direction, vd1_mod (n, m) is represented by expression (4) described above.
In the case where the pixel PX (n, m) is located in contact with only the border of the error diffusion blocks BL extending in the vertical direction, vd1_mod (n, m) is represented by the following expression (15).
vd1_mod(n,m)=¼Err1(n−1,m)+¼Err1(n−1,m+1)+vd_in(n,m) (15)
In the case where the pixel PX (n, m) is located in contact with only the border of the error diffusion blocks BL extending in the horizontal direction, vd1_mod (n, m) is represented by the following expression (16).
vd1_mod(n,m)=½Err1(n,m−1)+vd_in(n,m) (16)
In the case where the process of calculating vd1_mod (n, m) is performed along with the flowchart shown in
vd2_mod(n,m)=⅜Err2′(n−1,m)+⅛Err2′(n−1,m+1)+½Err2′(n,m−1)+vd_in(n,m) (17)
In the case where the process of calculating vd1_mod (n, m) is performed along with the flowchart shown in
vd2_mod(n,m)=¼Err2′(n−1,m)+¼Err2′(n−1,m+1)+½Err2′(n,m−1)+vd_in(n,m) (18)
The above-described embodiments and modifications according to the present invention may be appropriately combined as long as no contradiction occurs. Devices described above in embodiments according to the present invention may have an element added thereto, or deleted therefrom, or may be changed in design optionally by a person of ordinary skill in the art. Methods described above in embodiments according to the present invention may have a step added thereto, or deleted therefrom, or may be changed in a condition optionally by a person of ordinary skill in the art. Such devices and methods are encompassed in the scope of the present invention as long as including the gist of the present invention.
Even functions and effects that are different from those provided by the above-described embodiments but are obvious from the description of this specification or are easily expectable by a person of ordinary skill in the art are naturally construed as being provided by the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-054994 | Mar 2016 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20020106102 | Au | Aug 2002 | A1 |
20050030586 | Huang | Feb 2005 | A1 |
20120182305 | Tsuzaki et al. | Jul 2012 | A1 |
Number | Date | Country |
---|---|---|
2012-145821 | Aug 2012 | JP |
Number | Date | Country | |
---|---|---|---|
20170270846 A1 | Sep 2017 | US |