The disclosed embodiments of the present invention relate to eye protection, and more particularly, to an apparatus and method for performing image content adjustment according to a viewing condition recognition result and a content classification result.
Many mobile devices are equipped with display capability (e.g., display screens) for showing information to the users. For example, a smartphone may be equipped a touch screen which can display information and receive a user input. However, when the viewing condition associated with a display screen becomes worse, a normal display output of the display screen may cause damages to user's eyes. Thus, there is a need for an eye protection mechanism which is capable of adjusting the display output to protect user's eyes from being damaged by an inappropriate display output provided under a worse viewing condition.
In accordance with exemplary embodiments of the present invention, an apparatus and method for performing image content adjustment according to a viewing condition recognition result and a content classification result are proposed.
According to a first aspect of the present invention, an exemplary display control apparatus is disclosed. The exemplary display control apparatus includes a viewing condition recognition circuit, a content classification circuit, and a display adjustment circuit. The viewing condition recognition circuit is configured to recognize a viewing condition associated with a display device to generate a viewing condition recognition result. The content classification circuit is configured to analyze an input frame to generate a content classification result of contents included in the input frame. The display adjustment circuit is configured to generate an output frame by performing image content adjustment according to the viewing condition recognition result and the content classification result, wherein the image content adjustment comprises at least content-adaptive adjustment applied to at least a portion of pixel positions of the input frame based on the content classification result.
According to a second aspect of the present invention, an exemplary display control method is disclosed. The exemplary display control method includes: recognizing a viewing condition associated with a display device to generate a viewing condition recognition result; analyzing an input frame to generate a content classification result of contents included in the input frame; and utilizing a display adjustment circuit to generate an output frame by performing image content adjustment according to the viewing condition recognition result and the content classification result, wherein the image content adjustment comprises at least content-adaptive adjustment applied to at least a portion of pixel positions of the input frame based on the content classification result.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
In a case where the sensor outputs S1 and S2 are both available, the viewing condition recognition circuit 102 may calculate the confidence value CVUV based on the following formula:
CVUV=CVLL×CVP (1)
where CVLL represents a confidence value of low light, and CVP represents a confidence value of short distance. The confidence value CVLL may be calculated based on the sensor output S1, and the confidence value CVP may be calculated based on the sensor output S2. For example, the confidence value CVLL may be evaluated using the mapping function shown in sub-diagram (A) of
In another case where only one of the sensor outputs S1 and S2 is available, the viewing condition recognition circuit 102 may calculate the confidence value CVUV of uncomfortable viewing based on one of the following formulas.
CVUV=CVLL (2)
CVUV=CVP (3)
It should be noted that the mapping functions shown in
As can be seen from
The content classification circuit 104 is coupled to the display adjustment circuit 106, and is configured to analyze an input frame IMG_IN to generate a content classification result CC_R of contents included in the input frame IMG_IN. The input frame IMG_IN may be a single picture to be displayed on the display device 10, or one of successive video frames to be displayed on the display device 10. In this embodiment, the content classification circuit 104 is configured to extract edge information from the input frame IMG_IN to generate an edge map MAPEG of the input frame IMG_IN, and generate the content classification result CC_R according to the edge map MAPEG.
For example, the content classification circuit 104 is configured to generate the content classification result CC_R by classifying contents included in the input frame IMG_IN into text and non-text (e.g., image/video).
After the edge map MAPEG is created by the edge extraction circuit 402, the edge labeling unit 404 is operative to assign edge labels to at least a portion (i.e., part or all) of pixel positions of the input frame IMG_IN, i.e., at least a portion (i.e., part or all) of edge values in the edge map MAPEG.
In step 604, the edge value E (xc, yc) at the currently selected pixel position (xc, yc) is compared with a predetermined threshold TH2. The predetermined threshold TH2 is used to filter out noise, i.e., small edge values. Hence, when the edge value E (xc, yc) is not larger than the predetermined threshold TH2, the following edge labeling steps performed for the currently selected pixel position (xc, yc) are skipped. When the edge value E (xc, yc) is larger than the predetermined threshold TH2, the edge labeling flow proceeds with step 606. Step 606 is performed to check if the currently selected pixel position (xc, yc) is already assigned with an edge label. When an edge label has been assigned to the currently selected pixel position (xc, yc), the following edge labeling steps performed for the currently selected pixel position (xc, yc) are skipped. When there is no edge label assigned to the currently selected pixel position (xc, yc) yet, the edge labeling flow proceeds with step 608.
In step 608, a search window is defined to have a center located at the currently selected pixel position (xc, yc). For example, a 5×5 block may be used to act as one search window. Next, step 610 is performed to check if there is any point within the search window that is already assigned with an edge label. When an edge label has been assigned to point (s) within the search window, the currently selected pixel position (xc, yc) (i.e., a center position of the search window) is assigned with an existing edge label found in the search window.
When step 610 decides that none of the points within the search window has an edge label already assigned thereto, a new edge label that is not used before is assigned to the currently selected pixel position (xc, yc) (i.e., center position of the search window).
When a current pixel is at an edge of an object within the input frame IMG_IN, nearby pixels are likely to be at the same edge. Based on such an observation, an edge label propagation procedure is performed in step 616 to assign the same edge label defined in step 614 to one or more nearby points each having no edge label assigned thereto yet. Please refer to
For example, the currently selected pixel position (xc, yc) is updated to (x3, y3). Similarly, step 616 may check edge values at other pixel positions within the updated search window centered at the currently selected pixel position (xc, yc), identify specific edge value (s) larger than the predetermined threshold TH2, and assign the same edge label LB0 to pixel position (s) corresponding to identified specific edge value (s). As shown in the right part of
It should be noted that the edge label propagation procedure is not terminated unless all of the newly discovered pixel positions (i.e., nearby pixel positions assigned with the same propagated edge label) have been used to update the currently selected pixel position (xc, yc) and no further nearby pixel positions can be assigned with the propagated edge label.
After each edge value larger than the predetermined threshold TH2 is assigned with an edge label, the edge labeling flow is finished. Based on the edge labeling result, the mask generation unit 406 generates one mask for each edge label. For example, concerning pixel positions assigned with the same edge label, the mask generation unit 406 finds four coordinates, including the leftmost coordinate (i.e., X-axis coordinate of leftmost pixel position), the rightmost coordinate (i.e., X-axis coordinate of rightmost pixel position), the uppermost coordinate (i.e., Y-axis coordinate of uppermost pixel position) and the lowermost coordinate (i.e., Y-axis coordinate of lowermost pixel position), to determine one corresponding mask.
The mask classification unit 408 analyzes masks in the mask map MAPMK to classify the contents of the input frame IMG_IN into text contents and non-text contents. For example, a mask with one or more internal masks is analyzed by the mask classification unit 408, such that the mask classification unit 408 can refer to an analysis result to decide if an image content corresponding to the mask is a text content.
For example, the mask classification unit 408 may calculate a confidence value CVT of text for each mask with internal mask (s) based on the following formula:
CVT=CVMIC×CVMHC×CVCDC (4)
where CVMIC represents a confidence value of mask interval consistency, CVMHC represents a confidence value of mask height consistency, and CVCDC represents a confidence value of color distribution consistency. The mask interval consistency may be determined based on variation of mask intervals of the interval masks. The mask height consistency may be determined based on variation of mask heights of the interval masks. The color distribution consistency may be determined based on variation of color distributions (i.e., color histogram) of pixels in the input frame IMG_IN that correspond to the internal masks. Further, the confidence value CVMIC may be evaluated using the mapping function shown in sub-diagram (A) of
It should be noted that using all of the confidence values CVMIC, CVMHC, and CVCDC to determine the confidence value CVT is for illustrative purposes only, and is not meant to be a limitation of the present invention. In one alternative design, the confidence value CVT may be obtained based on two of the confidence values CVMIC, CVMHC, and CVCDC only. In another alternative design, the confidence value CVT may be obtained based on one of the confidence values CVMIC, CVMHC, and CVCDC only. Further, the mapping functions shown in
A larger confidence value CVT means it is more possible that this mask corresponds a text content. In this embodiment, the mask classification unit 408 may compare the confidence value CVT with a predetermined threshold TH3 for content classification. For example, the mask classification unit 408 classifies an image content corresponding to a mask as a text content when the confidence value CVT associated with the mask is larger than TH3, and classifies the image content corresponding to the mask as a non-text content when the confidence value CVT associated with the mask is not larger than TH3. Further, in one exemplary design, no classification is performed for masks with too small sizes.
The display adjustment circuit 106 shown in
In this embodiment, the content adjustment block 107 is responsible for performing the image content adjustment upon contents of the input frame IMG_IN, especially text contents and non-text contents indicated by the content classification result CC_R.
The color histogram adjustment unit (e.g., color inversion unit 1402) is configured to apply color histogram adjustment to at least one text content indicated by the content classification result CC_R. Taking a specific value for example, the original number of pixels with the specific pixel value may be equal to a first value before the color histogram adjustment is performed, and the new number of pixels with the specific pixel value may be equal to a second value different from the first value after the color histogram adjustment is performed. For example, when the viewing condition becomes worse, the color histogram adjustment is capable of changing text colors displayed on the display device 10 according to eye physiology, thereby achieving the eye protection needed. In one exemplary design, the color histogram adjustment may be implemented using color inversion. The color inversion may be applied to at least one color channel. For example, the color inversion may be applied to all color channels.
In a case where the color histogram adjustment unit is implemented using the color inversion unit 1402, the color inversion unit 1402 may be configured to apply color inversion to dark text with bright background only.
The readability enhancement unit 1404 is configured to apply readability enhancement to at least a portion (i.e., part or all) of the pixel positions of the input frame IMG_IN. For example, the readability enhancement may include contrast adjustment to make the readability better. Since the content classification circuit 104 is capable of separating contents of the input frame IMG_IN into text contents and non-text contents, the readability enhancement unit 1404 may be configured to perform content-adaptive readability enhancement according to the content classification result CC_R. In a first exemplary design, the readability enhancement (e.g., contrast adjustment) may be applied to text contents and non-text contents. In a second exemplary design, the readability enhancement (e.g., contrast adjustment) may be applied to text contents only. In a third exemplary design, the readability enhancement (e.g., contrast adjustment) may be applied to non-text contents only.
The blue light reduction unit 1406 is configured to apply blue light reduction to at least a portion (i.e., part or all) of the pixel positions of the input frame IMG_IN. For example, the blue light reduction for one pixel may be expressed by following formula:
where (Rin, Gin, Bin) represents the pixel value of an input pixel fed into the blue light reduction unit 1406, (Rout, Gout, Bout) represents the pixel value of an output pixel generated from the blue light reduction unit 1406, and a represents a reduction coefficient. The same reduction coefficient α may be applied to the blue color component of each pixel processed by the blue light reduction unit 1406. The reduction coefficient α may be decided based on the viewing condition (e.g., confidence value CVUV). For example, the reduction coefficient α may be decided using the mapping function shown in
Since the content classification circuit 104 is capable of separating contents of the input frame IMG_IN into text contents and non-text contents, the blue light reduction unit 1406 may be configured to perform content-adaptive blue light reduction according to the content classification result CC_R. In a first exemplary design, the blue light reduction may be applied to text contents and non-text contents. In a second exemplary design, the blue light reduction may be applied to text contents only. In a third exemplary design, the blue light reduction may be applied to non-text contents only.
In accordance with the formula (5) mentioned, the blue channel component of a pixel value is adjusted by the reduction coefficient α, while the red color channel and the green color channel of the pixel value are kept unchanged. However, this is for illustrative purposes only, and is not meant to be a limitation of the present invention. In an alternative design, when the reduction coefficient α is set by a value larger than a predetermined threshold, the blue light reduction unit 1406 may further apply one adjustment coefficient to the red color component, and/or may further apply one adjustment coefficient to the green color component. In this way, the display quality will not be significantly degraded by the blue light reduction using a large reduction coefficient α.
As shown in
Assume that the display device 10 is a liquid crystal display (LCD) device using a backlight module (not shown). The display adjustment circuit 106 may further include the backlight adjustment block 108 configured to perform backlight adjustment according to information (e.g., sensor output S1) derived from the viewing condition recognition result VC_R. In one exemplary design, the backlight adjustment block 108 may decide a backlight control signal SBL of the backlight module based on the ambient light intensity indicated by the sensor output S1, where the backlight control signal SBL is transmitted to the backlight module of the display device 10 to set the backlight intensity.
It should be noted that the backlight adjustment block 108 may be an optional component. For example, in a case where the display device 10 uses no backlight module, the backlight adjustment block 108 may be omitted.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. provisional application No. 62/007,472, filed on Jun. 4, 2014 and incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
20090087016 | Berestov | Apr 2009 | A1 |
20150070337 | Bell | Mar 2015 | A1 |
20150102995 | Shen | Apr 2015 | A1 |
20150242993 | Raman | Aug 2015 | A1 |
Number | Date | Country | |
---|---|---|---|
20150356952 A1 | Dec 2015 | US |
Number | Date | Country | |
---|---|---|---|
62007472 | Jun 2014 | US |