System for display of images using extended greyscale bit-depth on standard display devices

A system enhances reduced resolution grey scale luminance data for display on a monitor. An interface receives a pixel grey scale luminance value represented by a first number of bits exceeding a display monitor input bit length. A data processor indicates a difference comprising the number of bits. In response to the difference, the data processor derives R, G, B pixel luminance values by adjusting one or more of the R, G, B pixel luminance values to provide corrected R, G, B pixel luminance values representing the grey scale luminance value and at least one of the corrected R, G, B pixel luminance values is different from remaining ones of R, G, B pixel luminance values. The data processor outputs the corrected R, G, B pixel luminance values for display on R, G, B channels of the monitor.

This is a non-provisional application of provisional application Ser. No. 61/647,639 filed May 16, 2012, by J. Baumgart.

FIELD OF THE INVENTION

This invention concerns a system for enhancing reduced resolution grey scale luminance data for display on a monitor.

BACKGROUND OF THE INVENTION

Images acquired in many systems used for radiological applications, including fluoroscopy, angiographic X-ray, mammography, computed tomography (CT), and magnetic resonance imaging (MRI) are typically represented with greater than 8 bits per pixel. While this extended bit depth is used for carrying out image processing without the loss of perceived image integrity, current displays used with these systems are usually 8-bit displays, requiring the precision of the displayed image to be down-sampled to 8 bits of precision per pixel. While most people viewing a greyscale image are not able to discern more than the 256 grey shades that an 8-bit pixel is able to provide, radiologists that spend large amounts of time viewing these images are often able to detect differences that could be represented by a 10-bit display. 10-bit display hardware, however, is relatively expensive compared with standard 8-bit display hardware. A system according to invention principles addresses this deficiency and related problems.

SUMMARY OF THE INVENTION

A system uses standard monitors capable of displaying colors represented by 8 bits of data per channel to display greyscale images that use more than 8 bits to represent the luminance intensity of a pixel. A system enhances reduced resolution grey scale luminance data for display on a monitor. An interface receives a pixel grey scale luminance value represented by a first number of bits exceeding a display monitor input bit length. A data processor indicates a difference comprising the number of bits. In response to the difference, the data processor derives R, G, B pixel luminance values by adjusting one or more of the R, G, B pixel luminance values to provide corrected R, G, B pixel luminance values representing the grey scale luminance value and at least one of the corrected R, G, B pixel luminance values is different from remaining ones of R, G, B pixel luminance values. The data processor outputs the corrected R, G, B pixel luminance values for display on R, G, B channels of the monitor

DETAILED DESCRIPTION OF THE INVENTION

A system uses standard monitors capable of displaying colors represented by 8 bits of data per channel to display greyscale images that use more than 8 bits to represent the luminance intensity of a pixel.

FIG. 1shows system10for enhancing reduced resolution grey scale luminance data for display on monitor33. System10employs at least one processing device30for processing images acquired by imaging system25for display on monitor33. Specifically, processing device30comprises at least one computer, server, microprocessor, programmed logic device or other processing device comprising repository17, data processor15and interface12.

System10presents an image represented by higher-precision luminance values in excess of 8-bits to a user using a standard 8-bit display system. It is known that the luminance of a non-linear gamma corrected pixel represented by a red, green, and blue component may be represented, for example, by:
L=0.3r+0.59g+0.11b
In known systems, grey values are displayed by using the same value in each of the red, green, and blue channels. System10, in contrast, enables each color channel to vary by a small amount such that there is a difference in luminance, but the resulting color shift is not large enough to be detected by a human eye. The additional bits beyond 8 are advantageously considered to be a fraction of a grey shade and the color offset to use to achieve this fractional grey shade is calculated by finding values using the above equation for r, g, and b that give a sufficiently accurate value for L. When using a color monitor, these values are desirably as close to 0 as possible to avoid the perception of color shift. On a greyscale monitor that combines red, green, and blue channels to drive a pixel on a monitor, these values can have a wider range, since the display does not convey color information to the viewer.

Interface12receives a pixel grey scale luminance value represented by a first number of bits exceeding display monitor33input bit length. Data processor15represents a difference between the luminance value and a displayable bit value of the input bit length as a fraction of a grey scale level value of the input bit length. In response to the difference, data processor15derives R, G, B pixel luminance values by adjusting one or more of the R, G, B pixel luminance values to provide corrected R, G, B pixel luminance values representing the grey scale luminance value where at least one of the corrected R, G, B pixel luminance values is different from remaining ones of R, G, B pixel luminance values. Data processor15outputs the corrected R, G, B pixel luminance values for display on R, G, B channels of monitor33.

FIG. 2shows Table203illustrating how 10-bit pixel luminance values, for example, are displayed in comparison with display of pixel luminance values truncated to 8-bits. Column207shows uncorrected 8 bit pixel values comprising values (in decimal) corresponding to 10 bit pixel values of column205with corresponding error fraction of a grey scale level value (where 256 grey scale level values are represented by an 8 bit representation) shown in column209representing error involved in representing a 10 bit value of column205with the corresponding nearest 8 bit value of column207.

System10advantageously represents the 10 bit grey scale pixel values of column205with the 8 bit pixel value of column207plus the R, G, B correction pixel bits of (Δr, Δg, Δb) of columns211,213and215respectively. The additional Δr, Δg, Δb adjustment values of columns211,213and215applied to R, G, B video channels respectively and change color imperceptibly but corrects for luminance. The system takes advantage of the fact that the human eye is relatively insensitive to color shade in comparison with sensitivity to luminance. The total luminance value of the corrected 8 bit pixel value is shown in column217with each total luminance value being calculated by adding the bit pixel value of each row of column207to the sum 0.3r+0.59g+0.11b where r, g, b are the bit values of the row in columns211,213and215respectively. Column219shows number of bits of error (of a 10 bit value) involved in representing each 10 bit value of column205with the corresponding nearest uncorrected 8 bit value of column207. Column221shows number of bits of error (of a 10 bit value) involved in representing each 10 bit value of column205with the corresponding nearest corrected 8 bit value of column217. The system10correction substantially reduces luminance error as indicated by comparison of the values of columns219and221.

Data processor15determines a difference between an input luminance value and a displayable bit value of an input bit length as indicated in columns209and219. In response to the difference, processor15derives R, G, B pixel luminance values by allocating an additional bit to the displayable bit value for one or two of the R, G, B pixel luminance values as shown in columns211,213,215to provide corrected R, G, B pixel luminance values representing the grey scale luminance value (column217). Processor15outputs corrected R, G, B pixel luminance values for display on monitor33. In an example, 8 bit monitor33displays 256 grey shades if the red, green, and blue display channels are set to the same value and system10provides 1021 different shades of grey, which is nearly 10 bits of precision. There are 1021 shades rather than 1024 shades available since delta values as exemplified by columns211,213,215may not be added to the maximum value of 255 (values 255.25, 255.50 and 255.75 are not available). A 10-bit grey value of 502 would be displayed as r=126, g=125, b=126, for example.

In another embodiment, a more accurate representation of fractional values is possible when monitor33is an 8-bit greyscale monitor that does not show color shift and combines red, green, and blue channels to drive a pixel on a monitor. In this embodiment, Δr, Δg, Δb integer values for each color channel of columns311,313and315are advantageously selected in accordance with the luminance equation to provide accurate luminance output with an error limited to 0.01. This provides sufficient precision to display luminance values of an image having approximately 14 bits of precision per pixel.

FIG. 3shows a Table illustrating representation of pixel fractional luminance values when using an 8-bit greyscale monitor that does not show color shift.FIG. 3shows Table303illustrating how 10-bit pixel luminance values, for example, are displayed in comparison with display of pixel luminance values truncated to 8-bits to provide approximately 14 bits of pixel luminance precision on a monitor33insensitive to color shift. Column307shows uncorrected 8 bit pixel values comprising approximate mid-point values (in decimal) corresponding to 10 bit pixel values of column305with corresponding error fraction of a grey scale level value (where 256 grey scale level values are represented by an 8 bit representation) shown in column309representing error involved in representing a 10 bit value of column305with the corresponding nearest 8 bit value of column307.

System10advantageously represents the 10 bit grey scale pixel values of column305with the 8 bit pixel value of column307plus the R, G, B correction pixel bits of (Δr, Δg, Δb) of columns311,313and315respectively. The additional Δr, Δg, Δb adjustment values of columns311,313and315applied to R, G, B video channels respectively, change color imperceptibly but corrects for luminance. The total luminance value of the corrected 8 bit pixel value is shown in column317with each total luminance value being calculated by adding the bit pixel value of each row of column307to the sum 0.3r+0.59g+0.11b where r, g, b are the bit values of the corresponding rows in columns311,313and315respectively. Column319shows number of bits of error (of a 10 bit value) involved in representing each 10 bit value of column305with the corresponding nearest uncorrected 8 bit value of column307. Column321shows number of bits of error (of a 10 bit value) involved in representing each 10 bit value of column305with the corresponding nearest corrected 8 bit value of column317. The system10correction substantially reduces luminance error as indicated by comparison of the values of columns319and321.

Data processor15determines a difference between an input luminance value and a displayable bit value of an input bit length as indicated in columns309and319. In response to the difference, processor15derives R, G, B pixel luminance values by allocating additional bits to the displayable bit value for the R, G, B pixel luminance values as shown in columns311,313,315to provide corrected R, G, B pixel luminance values representing the grey scale luminance value (column317). Processor15outputs corrected R, G, B pixel luminance values for display on monitor33. In an example, 8 bit monitor33displays 256 grey shades if the red, green, and blue display channels are set to the same value and system10provides approximately 10 bits of precision in grey shade. A 10-bit grey value of 502 is displayed as r=129, g=124, b=124, for example.

FIG. 4shows a flowchart of a process used by system10(FIG. 1) enhancing reduced resolution grey scale luminance data for display on (color) monitor33. In step452following the start at step451interface12receives a pixel grey scale luminance value represented by a first number of bits exceeding a display monitor input bit length. In step455, data processor15indicates a difference comprising the number of bits. In step459, in response to the difference, data processor15derives one or more R, G, B pixel luminance values by adjusting one or more of the R, G, B pixel luminance values to provide corrected R, G, B pixel luminance values representing the grey scale luminance value and at least one of the corrected R, G, B pixel luminance values is different from remaining ones of R, G, B pixel luminance values.

Processor15adjusts two or less of the R, G, B pixel luminance values in response to a luminance function. In one embodiment the luminance function is of the form,
Luminance=c1*R+c2*G+c3*B
where c1, c2, c3 are constants and R, G, B are red, green and blue pixel values. In another embodiment, the luminance function substantially comprises,
L=0.3r+0.59g+0.11b.

In another embodiment, in response to the difference, data processor15derives one or more R, G, B pixel luminance values by incrementing two or less of the R, G, B pixel luminance values to provide corrected R, G, B pixel luminance values. In an embodiment, processor15increments the two or less of the R, G, B pixel luminance values by a single bit in response to a luminance function. Data processor15in step461outputs the corrected R, G, B pixel luminance values for display on R, G, B channels of monitor33. The corrected R, G, B pixel luminance values representing the grey scale luminance value corrected for the difference are not all the same value. The process ofFIG. 4terminates at step481.

A processor as used herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and is conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. Computer program instructions may be loaded onto a computer, including without limitation a general purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer or other programmable processing apparatus create means for implementing the functions specified in the block(s) of the flowchart(s). A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display elements or portions thereof. A user interface comprises one or more display elements enabling user interaction with a processor or other device.

An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters. A graphical user interface (GUI), as used herein, comprises one or more display elements, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions.

The UI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the UI display images. These signals are supplied to a display device which displays the elements for viewing by the user. The executable procedure or executable application further receives signals from user input devices, such as a keyboard, mouse, light pen, touch screen or any other means allowing a user to provide data to a processor. The processor, under control of an executable procedure or executable application, manipulates the UI display elements in response to signals received from the input devices. In this way, the user interacts with the display elements using the input devices, enabling user interaction with the processor or other device. The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to executable instruction or device operation without user direct initiation of the activity. A histogram of an image is a graph that plots the number of pixels (on the y-axis herein) in the image having a specific intensity value (on the x-axis herein) against the range of available intensity values. The resultant curve is useful in evaluating image content and can be used to process the image for improved display (e.g. enhancing contrast).

The system and processes ofFIGS. 1-4are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. A system uses a standard monitor capable of displaying colors to display 8 bits of data per R, G, B channel to present greyscale images with greater than 8 bit effective pixel resolution comprising extended bit resolution facilitating physician detection of anatomical abnormalities. Further, the processes and applications may, in alternative embodiments, be located on one or more (e.g., distributed) processing devices on a network linking the unitsFIG. 1. Any of the functions and steps provided inFIGS. 1-4may be implemented in hardware, software or a combination of both. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”