Multi-component displays generally include multiple display screens in a stacked arrangement. Each display screen can display images, thereby providing visual depth and other visual effects that a single display screen cannot. Additionally, diffusers, filters or other interstitial layers are often disposed between the display screens for altering characteristics of the multi-component display.
Diffusers are commonly used in multi-component displays to reduce the effect of banding or other repeated patterns, commonly known as Moiré interference. Moiré interference is introduced when display screens are stacked to form a multi-component display, and is typically caused by interference between color filters and the matrix of each display screen which covers the traces, leads and transistors allocated to each pixel. The distance between the rear display screen and the diffuser, as well as the scattering properties of the diffuser itself, can be varied to reduce Moiré interference.
Although diffusers are capable of reducing Moiré interference, they blur images displayed on a rear display screen of the multi-component display. Thus, steps can be taken to optimize the tradeoff between Moiré interference and blurriness by varying the scattering properties of the diffuser and/or varying the distance between the rear display screen and the diffuser. As a result, conventional multi-component displays blur images displayed on the rear display screen in an effort to reduce Moiré interference.
Accordingly, a need exists to reduce the blurriness of images displayed on multi-component displays. Additionally, a need exists to reduce image blur while also reducing Moiré interference associated with the multi-component display. Embodiments of the present invention provide novel solutions to these needs and others as described below.
Embodiments of the present invention are directed to a method, computer-usable medium, and system for processing graphical data for display on a multi-component display. More specifically, embodiments improve the display quality of multi-component displays by modifying graphical data to preemptively compensate for distortion caused by interstitial layers (e.g., a diffuser, filter, polarizer, lens, touchscreen, etc.) and/or display screens of the multi-component display, thereby enabling display of graphical objects from multi-component displays with improved optical characteristics (e.g., sharpness, tonal balance, color balance, etc.). For example, where components of a multi-component display blur displayed images (e.g., by dampening or reducing high frequency components of the displayed image), graphical data used to display graphical objects may be modified to sharpen the graphical objects before display. The pre-sharpening amplifies the high frequency components of the displayed graphical objects to compensate for the dampening caused by passing the graphical objects through the components of the multi-component display.
In one embodiment, a computer-controlled method of processing graphical data for display on a display device (e.g., a multi-component display) includes accessing the graphical data. Graphical alteration information associated with the display device is accessed, where the graphical alteration information is related to distortion of graphical objects displayed on the display device. The graphical data is processed in accordance with the graphical alteration information to generate updated graphical data, wherein the updated graphical data compensates for the distortion and is operable to improve the display quality of the display device. The processing may include amplifying high frequency components of the graphical data, which may include applying a low-pass filter to the graphical data to generate low-pass graphical data, subtracting the low-pass graphical data from the graphical data to generate high-pass graphical data, and adding the high-pass graphical data to the graphical data to generate the updated graphical data with amplified high frequency components. The method may also include transforming the graphical data from a first space (e.g., a RGB color space) to a second space (e.g., a luminance-chrominance space such as QTD, YUV, CIE LUV, CIE LAB, etc.), processing the graphical data in the second space to generate the updated graphical data in the second space, and transforming the updated graphical data from the second space to the first space.
In another embodiment, a computer-usable medium having computer-readable program code embodied therein may cause a computer system to perform a method of processing graphical data for improved display quality on a multi-component display. Additionally, in yet another embodiment, a system may include a processor coupled to a memory, wherein the memory includes instructions that when executed on the processor implement a method of processing graphical data for improved display quality on a multi-component display.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the present invention will be discussed in conjunction with the following embodiments, it will be understood that they are not intended to limit the present invention to these embodiments alone. On the contrary, the present invention is intended to cover alternatives, modifications, and equivalents which may be included with the spirit and scope of the present invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.
Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing the terms such as “accepting,” “accessing,” “adding,” “analyzing,” “applying,” “assembling,” “assigning,” “calculating,” “capturing,” “combining,” “comparing,” “collecting,” “creating,” “defining,” “depicting,” “detecting,” “determining,” “displaying,” “establishing,” “executing,” “generating,” “grouping,” “identifying,” “initiating,” “interacting,” “modifying,” “monitoring,” “moving,” “outputting,” “performing,” “placing,” “presenting,” “processing,” “programming,” “querying,” “removing,” “repeating,” “sampling,” “sorting,” “storing,” “subtracting,” “transforming,” “using,” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Graphical objects 150 may comprise any visual display of rear display screen 120. In one embodiment, graphical objects 150 may comprise still images. The still images may comprise stand-alone images, or alternatively, frames of a video or other moving imagery. Alternatively, graphical objects 150 may comprise frame-less moving imagery. Additionally, graphical objects 150 may comprise multiple distinct images, contiguous portions of the same image, non-contiguous portions of the same image, etc.
As shown in
Interstitial layers (e.g., optical component 140) may be disposed between display screens 120 and 130 for altering the display of graphical objects on the MCD (e.g., 110) and/or attributes of the MCD (e.g., 110) itself. For example, optical component 140 may comprise a filter (e.g., a spatial filter, etc.), a diffuser (e.g., holographic diffuser, optical component having a Gaussian profile, etc.), a polarizer, a lens, a touchscreen, or a combination thereof. Alternatively, optical component 140 may comprise a micro-optical structure. Thus, the type and/or characteristics of component 140 may be varied to change how graphical objects (e.g., 150) are displayed on MCD 110. For example, optical component 140 may affect Moiré interference, sharpness or blurriness, tonal balance, color balance, etc., associated with MCD 110 and/or the display of graphical objects (e.g., 150) on MCD 110.
In addition to or in place of varying attributes of optical component 140, the display of graphical objects on MCD 110 may also be adjusted by varying the position of optical component 140 with respect to rear display screen 120 and/or front display screen 130. As shown in
Embodiments of the present invention also enable MCD image display adjustment by processing graphical data prior to display on the MCD (e.g., 110). For example, distortion or image alteration caused by transmitting or viewing graphical objects through interstitial layers (e.g., 140) and/or display screens (e.g., 130) of the MCD (e.g., 110) may be compensated for prior to display. In one embodiment, the graphical data used to display the graphical objects (e.g., 150) may be modified (e.g., to account for distortion or image alteration of the MCD components) to generate updated graphical data. As such, the graphical objects (e.g., 150) generated from the updated graphical data may be displayed on MCD 110 (e.g., after passing through optical component 140 and front display screen 130) with improved optical characteristics (e.g., sharpness, tonal balance, color balance, etc.).
Accordingly, embodiments can be used to improve the display quality of MCDs, where those MCDs use optical components that introduce a tradeoff between two or more optical characteristics. For example, where optical component 140 comprises a diffuser, a tradeoff between Moiré interference associated with MCD 110 and sharpness of the display of graphical objects 150 is introduced. The attributes and/or positioning of component 140 may be varied to improve image quality with respect to at least one of the optical characteristics (e.g., reducing Moiré interference). Graphical data processing may then be performed to further improve the previously-adjusted optical characteristics and/or improve other optical characteristics (e.g., reduce blurriness, etc.). As such, embodiments enable the use of a wide variety of optical components (e.g., 140), where the display quality of the MCD (e.g., 110) may be improved regardless of the number, type, or attributes of the optical component or components used.
Although
Additionally, although
Frequency spectrum grouping 240 may represent an embodiment where an optical component (e.g., 140) dampens the high frequency components of the displayed graphical objects (e.g., 150), while the front display screen (e.g., 130) has little effect on the frequency spectrum. As depicted in
Frequency spectrum grouping 250 may represent an optical component (e.g., 140) and front display screen (e.g., 130) which dampen the high frequency components of the displayed graphical objects (e.g., 150). As depicted in
In one embodiment, optical component 140 may comprise a diffuser (e.g., with a predetermined angular spread distribution, Gaussian profile, etc.) which blurs displayed graphical objects (e.g., 150) by dampening high frequency components of the displayed graphical objects (e.g., 150). Display screen 130 may also blur graphical objects (e.g., 150) by dampening high frequency components of the displayed graphical objects (e.g., 150) in one embodiment. As such, the graphical data used to display the graphical objects (e.g., 150) may be modified to sharpen the graphical objects (e.g., 150) before display. The pre-sharpening may amplify the high frequency components of the displayed graphical objects (e.g., 150) such that the blurring associated with optical component 140 and/or front display screen 130 may reduce the amplified high frequency components upon passing the graphical objects through the components (e.g., 140 and/or 130) of the MCD (e.g., 110). In one embodiment, the blurring of optical component 140 and/or front display screen 130 may return the amplified high frequency components to their pre-compensated or normal levels.
Although
As shown in
Step 320 involves accessing graphical alteration information associated with a MCD. The graphical alteration information (e.g., 422) may represent a distortion or image alteration associated with an optical component (e.g., 140) of an MCD (e.g., 110) produced when displayed graphical objects (e.g., 150) are passed or viewed (e.g., by observer 160) through the optical component (e.g., 140). Alternatively, the graphical alteration information (e.g., 422) may represent a distortion or image alteration associated with a display screen (e.g., 130, etc.) of an MCD (e.g., 110) produced when displayed graphical objects (e.g., 150) are passed or viewed (e.g., by observer 160) through the display screen (e.g., 130). And in other embodiments, the graphical alteration information (e.g., 422) may represent a distortion or image alteration associated with an optical component (e.g., 140) and a display screen (e.g., 130, etc.) of an MCD (e.g., 110) produced when displayed graphical objects (e.g., 150) are passed or viewed (e.g., by observer 160) through the optical component (e.g., 140) and the display screen (e.g., 130). Additionally, in one embodiment, graphical alteration information 422 may comprise a frequency response of an optical component (e.g., 140) and/or a display screen (e.g., 130, etc.) of an MCD (e.g., 110).
The graphical alteration information (e.g., 422) may be predetermined (e.g., stored in a memory of component 420, stored in a memory coupled to component 420, input by a user, etc.). Alternatively, the graphical alteration information (e.g., 422) may be dynamically determined (e.g., during operation) using an electrical and/or mechanical optical reception component (e.g., 160), where the graphical alteration information (e.g., 422) may be fed back (e.g., to component 420) for processing (e.g., thereby forming a control loop to control image distortion associated with MCD 110).
As shown in
In one embodiment, a transformation of graphical data (e.g., 415) from a RGB color space to a QTD luminance-chrominance space may be performed in accordance with the following exemplary computer code:
X=[¼ ½ ¼; 1-10; ½ ½-1];
Q=X(1,1)*Image(:,:,1)+X(1,2)*Image(:,:,2)+X(1,3)*Image(:,:,3);
T=X(2,1)*Image(:,:,1)+X(2,2)*Image(:,:,2)+X(2,3)*Image(:,:,3);
D=X(3,1)*Image(:,:,1)+X(3,2)*Image(:,:,2)+X(3,3)*Image(:,:,3),
where “Image(:,:,1)” may represent the red channel of the graphical data (e.g., 415), “Image(:,:,2)” may represent the green channel of the graphical data (e.g., 415), and “Image(:,:,3)” may represent the blue channel of the graphical data (e.g., 415). As such, in one embodiment, the luminance channel Q may be calculated according to the equation
Q=0.25*R+0.5*G+0.25*B,
where “R” represents the red channel of the graphical data (e.g., 415), “G” represents the green channel of the graphical data (e.g., 415), and “B” represents the blue channel of the graphical data (e.g., 415). Additionally, the two chrominance channels T and D may be calculated according to the following equations:
T=R−G,
D=0.5*R+0.5*G−B.
As shown in
The processing of step 340 may be performed on a select number of channels of the graphical data (e.g., 415). For example, where the graphical data (e.g., 415) is transformed into a luminance-chrominance space (e.g., as discussed with respect to step 330 above), the luminance channel (e.g., the Q channel of a QTD luminance-chrominance space) may be processed alone in one embodiment. As such, processing efficiency may be increased by processing a single channel instead of multiple channels (e.g., if the graphical data were not transformed in step 330 and processing was performed on multiple color channels of the RGB color space). Processing efficiency may be further increased by decreasing the resolution (e.g., the bit-depth) of the luminance channel before processing in step 340. And in other embodiments, additional channels (e.g., the T channel, the D channel, etc.) may be processed for enhanced image distortion/alteration control, where the resolution of the additional channels may also be reduced for enhanced processing efficiency. Alternatively, the graphical data (e.g., 415) may be processed without transforming into a new space (e.g., thereby skipping step 330).
Step 350 involves transforming the updated graphical data (e.g., 425) from the second space (e.g., that transformed into in step 330) to the first space (e.g., the original space of graphical data 415 before any transformations in step 330). In one embodiment, a transformation of the updated graphical data (e.g., 425) from a QTD luminance-chrominance space to a RGB color space may be performed in accordance with the following exemplary computer code:
Y=inv([¼ ½ ¼; 1-10; ½ ½-1]);
R=Y(1,1)*tImage(:,:,1)+Y(2,1)*tImage(:,:,2)+Y(3,1)*tImage(:,:,3);
G=Y(1,2)*tImage(:,:,1)+Y(2,2)*tImage(:,:,2)+Y(3,2)*tImage(:,:,3);
B=Y(1,3)*tImage(:,:,1)+Y(2,3)*tImage(:,:,2)+Y(3,3)*tImage(:,:,3),
where Y may represent the inverse of the matrix (e.g., the X matrix) used for the RGB-to-QTD transformation in step 330, “tImage(:,:,1)” may represent the luminance channel Q of the updated graphical data (e.g., 425), “tImage(:,:,2)” may represent the first chrominance channel T of the updated graphical data (e.g., 425), and “tImage(:,:,3)” may represent the second chrominance channel D of the updated graphical data (e.g., 425).
As shown in
Alternatively, the updated graphical data (e.g., 425) may be output (e.g., from component 420) for subsequent storage and/or processing. In one embodiment, the updated graphical data (e.g., 425) may be returned to graphical data source 410 (e.g., for processing and/or storage) as indicated by arrow 432 in
As shown in
In one embodiment, the graphical data may be low-pass filtered using the following exemplary computer code:
filter=fspecial(‘gaussian’, filter_size, sigma);
transQ=conv(Q, filter);
where the fspecial function may implement a low-pass Gaussian filter (e.g., as indicated by the ‘gaussian’ argument) returning a matrix (e.g., named “filter”) with a size defined by the argument “filter_size” and a standard deviation defined by the argument “sigma.” The conv function may be used to apply the low-pass filter to a portion of the Q matrix (e.g., determined in step 330 of process 300 of
Step 520 involves subtracting the low-pass graphical data (e.g., determined in step 510) from the graphical data (e.g., 415, transformed graphical data produced by step 330 of process 300 of
In one embodiment, steps 520 and 530 may be performed using the following exemplary computer code:
Qnew=Q+beta*(Q−alpha*transQ)
where alpha may represent a scaling factor applied to the low-frequency components (e.g., in the transQ matrix) subtracted from the graphical data (e.g., the Q matrix determined in step 330 of process 300 of
where Qnew may be formed by adding the Q matrix to the calculated high-frequency components (e.g., determined by subtracting the low-frequency components from the Q matrix). Alternatively, other channels of the QTD or other luminance-chrominance spaces may be processed in steps 520 and 530. And in other embodiments, channels of a color space (e.g., RGB) may be processed in steps 520 and 530.
In one embodiment, depicted by dashed lines 630, computer system platform 600 may comprise at least one processor 610 and at least one memory 620. Processor 610 may comprise a central processing unit (CPU) or other type of processor. Depending on the configuration and/or type of computer system environment, memory 620 may comprise volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or some combination of the two. Additionally, memory 620 may be removable, non-removable, etc.
In other embodiments, computer system platform 600 may comprise additional storage (e.g., removable storage 640, non-removable storage 645, etc.). Removable storage 640 and/or non-removable storage 645 may comprise volatile memory, non-volatile memory, or any combination thereof. Additionally, removable storage 640 and/or non-removable storage 645 may comprise CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information for access by computer system platform 600.
As shown in
Communication interface 670 may also couple computer system platform 600 to one or more input devices (e.g., a keyboard, mouse, pen, voice input device, touch input device, etc.) and/or output devices (e.g., a display, speaker, printer, etc.). In one embodiment, communication interface 670 may couple computer system platform 600 to a multi-component display (e.g., 110).
As shown in
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. Thus, the sole and exclusive indicator of what is, and is intended by the applicant to be, the invention is the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction. Hence, no limitation, element, property, feature, advantage, or attribute that is not expressly recited in a claim should limit the scope of such claim in any way. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.