Color-blind persons have difficulty distinguishing various colors. Persons whose color vision is impaired include, for example, those who confuse reds and greens (e.g., either protanopia: having defective red cones or deuteranopia: having defective green cones). Jennifer Birch, Diagnosis of Defective Color Vision, Butterworth Heinman (2002). For these people visual discrimination of color-coded data is practically impossible when green, red or yellow data is adjacent. In the color space of such persons, the red-green hue dimension is missing, and red and green are both seen as yellow; they have only the yellow-blue dimension. Even people with normal color vision can, at times, have difficulty distinguishing between colors. As for elderly persons, as a person ages clouding of the lenses of their eyes tends to occur, due, for example, to cataracts. The elderly often experience changes in their ability to sense colors, and many see objects as if they have been viewed through yellowish filters. Additionally, over time ultraviolet rays degenerate proteins in the eye, and light having short wavelengths is absorbed and blue cone sensitivity is thereby reduced. As a result, the appearance of all colors changes, yellow tending to predominate, or a blue or a bluish violet color tends to become darker. Specifically, “white and yellow,” “blue and black” and “green and blue” are difficult to distinguish. Similarly, even a healthy individual with “normal” vision can perceive colors differently when they are at an altitude that is greater than they are normally used to, or under certain medications.
To overcome the inability to distinguish colors, such individuals become adept at identifying and learning reliable cues that indicate the color of an object, such as by knowing that a stop sign is red or that a banana is typically yellow. However, absent these cues, the effect of being color-blind is that they are often unable to reliably distinguish colors of various objects and images, including in cases where the color provides information that is important or even critical to an accurate interpretation of the object or image. Common examples of such objects and images include lighted and non-lighted traffic signals, and pie-charts/graphs of financial information and maps. Moreover, with the proliferation of color computer displays, more and more information is being delivered electronically and visually and usually with color coded information.
To address the fact that important information may be color coded, engineers and scientists have developed a number of devices to aid a color-blind person. For example, U.S. Pat. No. 4,300,819 describes eyeglasses for distinguishing colors using one colored and one clear lens. Similarly, U.S. Pat. No. 4,998,817 describes a corneal contact lens for distinguishing of colors, which is clear except for a thin red exterior layer covering the area admitting light to the pupil.
Although such devices provide some benefit, they are cumbersome to use and have limited effectiveness in that only one color is adjusted, and the user cannot expand or change the manner in which the device alters the perceived color space.
Thus, a user viewing a pie chart that includes a plurality of colors that are outside of the perceptible color space of his or her vision, will have only a moderately improved understanding of the information being conveyed in the pie chart. Therefore, a great load is imposed on such persons when they must read or edit data using a color computer display terminal. In addition, these users cannot locate information on a screen that is displayed using certain colors or color combinations, and thus might not be able to read important notices. For example, when such a user employs a service or resource provided via the Internet, such as an electronic business transaction, or an on-line presentation, it may be that important information or cautionary notes are displayed using characters in colors that the individual may not be able to distinguish.
Accordingly, there is a need for improved systems for aiding in the identification of colors and color-coded information.
The systems and methods described herein enable a user to more easily distinguish or identify information that has been color-coded within an image. Although the systems and methods described herein will be discussed with reference to systems and applications adapted to aid a color blind user, it will be understood that these systems and methods may be employed to help any individual distinguish or understand color coded information. In general, color blind persons have difficulty in differentiating between two or more colors. For instance, a red/green color blind person may have difficulty in interpreting the signals of traffic lights or marine navigation aides. Also, mixed colors such as brown (green+red), magenta (red+blue) and cyan (green+blue) can be difficult to distinguish. Accordingly, it is an advantage of this technique to permit color blind persons to distinguish various colors or color-coded information, such as red information from green information.
In one aspect, the systems and methods described herein include methods for processing data representative of a full color image, comprising the steps of identifying a color space associated with the data, identifying a first portion of the color space being indistinguishable to color blind individuals, processing the data to identify a second portion of the color space that is perceptible to color blind individuals, and processing the first portion of the color space as a function of colors in the second portion of the color space.
This technique re-maps color information from one portion of the color-space to another portion. Alternately, this technique can remap color information onto a dimension that is not color based, such as texture (e.g. stripes). In alternate embodiments, the systems and methods described herein may be realized as software devices, such as device drivers, video drivers, application programs, and macros, that modify the normal output of a computer program to provide information that a color blind person can employ to identify or distinguish those sections of the display that are being presented in colors normally outside the color range of that person.
In another aspect, the systems and methods described herein include a method for processing a color image for assisting a color blind user. According to the method, a processor may receive an image having one or more colors. The processor may select a color from the image. The color may have one or more hue components. The processor may analyze the color to determine its hue components. The processor may uniquely determine a pattern based on the hue components of the color, and add the pattern the color. The processor may apply the pattern to portions of the image having the color, whereby the pattern is distinguishable to the color blind user.
In some embodiments, the selected color may be visible through the pattern applied by the processor. In some embodiments, the pattern may include at least one transparent portion and the color may be visible through the transparent portion. In some embodiments, the color may have a saturation value and the pattern may have a selected density. The selected density may correspond to the saturation value.
In some embodiments, the pattern may include a first set of stripes placed at a first angle. The first set of stripes may include a white stripe, a black stripe, and a transparent stripe. The first set of stripes may be a repeating arrangement of the white, black, and transparent stripes. The first angle may be determined based on a first one of the hue components. The first angle may be unique to the first one of the hue components. The first set of stripes may include stripes that are at least one of solid lines, dashed lines, dotted lines, and wavy lines. The pattern may include a second set of stripes placed at a second angle, resulting in a cross-hatched design.
In some embodiments, the hue components may include a first hue component and a second hue component. The first and second hue components may be associated with a first set of stripes and a second set of stripes, respectively. The first and second sets of stripes may be disposed at first and second angles. The pattern added to the color may include a cross-hatching of the first and second sets of stripes. In some embodiments, the first angle may be different from the second angle.
In yet another aspect, the systems and methods described herein include a system configured to process a color image for assisting a color blind user. The system may include a data memory having stored therein a color space defined by one or more colors associated with the image and data representative of the colors. The system may include a first processor to select a first color from the image. The first color may have one or more hue components. The system may include a second processor to analyze the first color to determine its hue components. The system may include a third processor to modify the data representative of the first color by adding a pattern to the first color. The pattern may be uniquely determined based on the hue components of the first color. The system may include a fourth processor to apply the pattern to portions of the image having the color, whereby the pattern is distinguishable to the user.
In some embodiments, the selected color may be visible through the pattern applied by the fourth processor. The pattern may include at least one transparent portion and the color may be visible through the transparent portion. In some embodiments, the color may have a saturation value and the pattern may have a selected density. The selected density may correspond to the saturation value.
In some embodiments, the pattern may include a first set of stripes placed at a first angle. The first set of stripes may include a white stripe, a black stripe, and a transparent stripe. The first set of stripes may be a repeating arrangement of the white, black, and transparent stripes. The first angle may be determined based on a first one of the hue components. The first angle may be unique to the first one of the hue components. The first set of stripes may include stripes that are at least one of solid lines, dashed lines, dotted lines, and wavy lines. The pattern may include a second set of stripes placed at a second angle, resulting in a cross-hatched design.
In some embodiments, the hue components may include a first hue component and a second hue component. The first and second hue components may be associated with a first set of stripes and a second set of stripes, respectively. The first and second sets of stripes may be disposed at first and second angles. The pattern added to the color may include a cross-hatching of the first and second sets of stripes. In some embodiments, the first angle may be different from the second angle.
In some embodiments, the data memory, the first processor, the second processor, the third processor, and/or the fourth processor may be disposed in an embedded system having a camera. In some embodiments, the data memory, the first processor, the second processor, the third processor, and/or the fourth processor may be disposed in at least one of a cell phone, a PDA, a digital camera, a visor, and a game console.
In yet another aspect, the systems and methods described herein may include a method for processing a color image on a mobile device for assisting a color blind user. The mobile device may include a processor, a camera, and a screen. The processor may receive an image from the camera. The image may have one or more colors. The processor may receive an input command to process the received image. The processor may select a color from the image. The color may have one or more hue components. The processor may analyze the selected color to determine its hue components. The processor may uniquely determine a pattern based on the selected color, whereby the pattern is distinguishable to the color blind user. The processor may apply the pattern to portions of the image having the color to create a processed image. The processor may display the processed image on the screen to the color blind user.
In some embodiments, the input command to process the received image may be received from the color blind user via a user input device. In some embodiments, the input command to process the received image may be automatically generated by the processor. In some embodiments, the processor may initiate a color blindness test to determine type of color blindness of the color blind user. The processor may receive input from the color blind user. The processor may determine the type of color blindness of the color blind user based on the received input. The processor may generate the input command to process the received image.
In some embodiments, the color blindness test may be initiated by the processor in response to receiving the image from the camera. In some embodiments, the color blindness test may be initiated by the processor in response to receiving the input command to process the received image from the color blind user via a user input device. In some embodiments, the processor may select the color from the image based on the type of color blindness of the color blind user. In some embodiments, the processor may determine that the color blind user has focused the camera for a fixed period of time on the received image being displayed on the screen. In response to this determination, the processor may generate the input command to process the received image.
In some embodiments, the color image may be processed in real time. The color image my be a frame of a live video feed. Frames of the live video feed may be extracted as color images and processed in real time for the color blind user.
In yet another aspect, the systems and methods described herein include a mobile device for processing an image to be detectable by a color blind user. The mobile device may include a processor, a camera in communication with the processor, and a screen in communication with the processor. The camera may be configured to capture an image having one or more colors. The screen may be configured to display the image. The processor may receive the image from the camera. The processor may receive an input command to process the received image. The processor may select a color from the image. The color may have one or more hue components. The processor may analyze the selected color to determine its hue components. The processor may uniquely determine a pattern based on the selected color, whereby the pattern is distinguishable to the color blind user. The processor may apply the pattern to portions of the image having the color to create a processed image. The processor may display the processed image on the screen to the color blind user.
The foregoing and other objects and advantages of the systems and methods described herein will be appreciated more fully from the following further description thereof, with reference to the accompanying drawings wherein;
To provide an overall understanding of the systems and methods described herein, certain illustrative embodiments will now be described. However, it will be understood by one of ordinary skill in the art that the systems and methods described herein can be adapted and modified for other suitable applications and that such other additions and modifications will not depart from the scope hereof.
In one embodiment, the techniques, systems, and methods described herein enable a color blind person, as well as a person with normal color vision, to distinguish various colors by employing a device that creates an intermittent blinking pattern, and, thus, serves an additional channel of information. More specifically, the systems and methods described herein include apparatus and processes that code color information that is indistinguishable by a color blind individual onto a channel of information that is detectable by the individual. In one embodiment, the systems and methods described herein include software programs that analyze and modify color information associated with a display. As described in more detail below, these programs can, in one practice, identify or receive user input representative of the type of color blindness to address. For example, the user may indicate that they have red-green color blindness. In response to this input, the process may review, on a pixel-by-pixel basis, color information associated with an image being displayed. The process may determine the difference between the red and green color components, and thereby make a determination of the color information being displayed that is not detectable by the user. The process may then encode this color information in an alternate, optionally user-selectable way. For example, the user may chose to have the red or green components fade to white or darken to black. The rate at or extent to which colors fade or darken may vary according to user input the color information that was being presented. In this way, the user can see that portions of the image are fading in and out, indicating that these portions of the image carry color information that is otherwise indistinguishable. In this way, red or green portions of a display—such as red and green items on a map or navigation chart can be distinguished by the user.
The systems and methods described herein aid color-vision impaired individuals by processing color-coded information that is not perceptible to these individuals and recoding the information onto a channel that is perceptible to the individuals, such as by recoding the color information onto a visually perceptible temporal pattern that is detectable by all sighted people. To this end, these systems recode color coded information to allow color vision impaired people to differentiate between two colors, typically red and green.
The systems and methods described herein provide alternate ways to visually present information, and in particular color information to a user. These systems have wide applicability, including for providing systems that make it more easy for a user to distinguish color coded information presented in a pie chart, a graph, a map or in some other format. Additionally, these systems can process color information in a manner that presents the information in a format that can be perceived by a person with impaired color-vision. To this end, the systems and method described herein, inter alai, provide a user with control over the color palette and hues being used to display information. By controlling the color, a user can redirect color coded information into a format that is more easily perceived by the user.
In one embodiment, the systems and methods disclosed herein interpose a filter between the user and the color coded information for the purpose of temporally encoding the color data. The system intermittently interposes a filter that blocks a certain color of light in front of a color blind person's eyes. For instance,
The filter panel 14 depicted in
In alternate embodiments, a mechanical intermittent filter is provided. For example, in one such alternate embodiment, a mechanical filter comprises a plurality of rotatable filter elements disposed across the surface of a clear plate. Each filter can comprise a thin sheet of acetate that acts as a minus-red filter. The filter can be rotated in and out of the view of the user. To this end, each filter may be mounted on an axle and may be driven by a servo-motor. The servo motor can operate under the control of a micro controller. The filter may be mounted as shown in
In operation, the user 33 moves the filter 4 or 14 into position just as a sun visor may be moved into position. The user 33 activates the filter 4 so that the filter 16 and 18 begin to intermittently filter out a selected color of light, such as red light. The result is that a red light viewed through the filter 4 appears to flash. Thus, the user 33 can distinguish between a red light or green light at the traffic signal 36. In this way, the filter 4 remaps the color information provided by traffic signal 36 into a temporal pattern that the user 33, even if red-green color blind can detect.
The technique of interposing an intermittent filter panel can be employed in numerous devices. Although,
Coding Color Information into an Alternate Channel
When discussing color theory in general, particularly as it applies to digital technologies, there are several other important concepts:
Turning back to
To address this, the systems and methods described herein, in some embodiments, allow a user to distinguish between colors along the line 55 by adding a temporal characteristic related to the color information being displayed.
In
With this practice the systems and methods described herein may be realized as a device or video driver that processes the pixel information in the image to create a new image that more fully conveys to a color-blind person the information in the image. The software may be built into the application program that is creating the image, it may be user controllable so that the user can control the activation of the image processing as well as characteristics of how the image is processed. For example, the systems and methods described herein may provide a “hot-key” that the user can use to activate the process when desired.
Optionally, the systems and methods described herein may provide for mouse “roll-over” control wherein moving a cursor over a portion of the screen causes the image, or a color or shape, displayed on that portion of the screen to change at that location and/or at other locations of the display. For example, an image of a graph presented in different colors may be altered by moving the mouse over different portions of the graph to cause the image to change in a manner that communicates to a colorblind person the color-coded information being displayed. To this end, the image may change so that the portion under the cursor and matching colors elsewhere in the image are presented in a textured format, caused to flash, or in some other way altered so that the information being provided by the color of the display is presented in a manner that may be detected by a color blind person.
Turning to
Alternatively, when colored data in an image is known to have certain color names, for example, when a map of highway congestion is known to mark congested zones as red and uncongested zones as green, the colorblind person will be able to select a desired color name from an on-screen list of color names, and colors in the image corresponding to that name will flash or be otherwise identified.
Although,
The process depicted in
Additional information regarding the strength of the hue component is encoded in the density of the stripe overlay. For example, for a bright, solid color, the stripes are fully visible, with the black portion of the stripe black, and the white portion of the stripe white. However, if the color is less saturated, the stripes are less visible, with the black and white portions appearing as shades of gray or transparency. For a combined color, more than one set of stripes will be superimposed. For example, orange is composed of a red component and a yellow component; it could thus be encoded by two sets of superimposed stripes, one set at 0 degrees and one set at 45 degrees. Shades of gray (including black and white) do not have a hue component, so they are not encoded with stripes. Thus, low-saturation backgrounds will remain muted, and most text-being white or black-will be unchanged and legible. Note that the process of encoding color information also allows for effective differentiation between colors for any monochromatic output (e.g. gray-scale laser printouts or faxes).
The patterns may reside in memory as fixed bitmaps which are differentially revealed, pixel by pixel in direct proportion to the hue of the pixel “above” them, allowing for maximum speed of display and simplicity of programming. This would allow images containing continuously varying hues to be displayed as easily and as rapidly as images with solid color areas.
In one embodiment, the process for encoding color information can be realized as a software component installed on a computer system or electronic imaging device, such as a digital camera or cell phone camera. In that embodiment, the process for encoding color information can be implemented as a computer program. The program can include a color encoding “window”, which can be manipulated by the user to, for example, change its size or its location on the display. When the window is positioned over a portion of the displayed image, that image portion is color encoded such that a unique pattern is associated with each colored area, as described above. The window can be any size chosen by the user, including covering the entire display and any portion of the display.
Other examples of color images that may be processed for a color blind user include bar charts, flowcharts, financial charts, scatter charts, weather maps, traffic maps, subway maps, cell phone coverage maps, complex maps, colored text, catalog illustrations, graphic arts, engineering drawings, and other suitable color images that may be troublesome for a color blind user. In some embodiments, the software component (e.g., software component 304 described above) may isolate all instances of a selected color in an image and gray out other colors in the image.
Such approaches are described further below with reference to
Though the mobile device is shown in a portrait orientation in
In some embodiments, software component 304 may include a color encoding “window”, which receives input images from an on-board camera, the Internet, or a connected storage device. The window may be manipulated by the user to, for example, change its size or its location on the screen 302. When the window is positioned over a portion of the displayed image, and switch 306 is flipped to ON, that image portion is color encoded such that a unique pattern is associated with each colored area, as described above. In some embodiments, software component 304 may process the displayed image automatically without need for user input to flip switch 306. For example, software component 304 may process the displayed image after a user focuses on the image for a fixed period of time. In some embodiments, software component 304 may only encode colors with patterns that are troublesome to the user. For example, a user having red-green color blindness may only have the software component encode colors related to his color blindness condition. In order to aid the user, software component 304 may include an initiation test that allows the user to identify the type of color blindness that the user has. Such a feature is further discussed in the description that follows below.
Hue Rotation as an Aid to Color Perception
In terms of this color space representation, as shown in
Different forms of color blindness have different lines or vectors of color confusion.
According to the literature, there seems to be not just a few, but rather many variations in these lines or vectors of color confusion among color blind people. It is difficult or impossible to choose one or even a few solutions for color display modifications that will work for all color blind people, even those nominally of the same type.
In a computer with a color display, a computer program will call for colors defined typically in an RGB color space to be displayed on a monitor, which again, typically, requires R, G, and B values. In a device in accordance with the systems and methods described herein, an intermediary color space is interposed on which the colors called for by the computer's program are mapped. This intermediary color space may be an RGB space, a CIE space, an HSL space, an LAB space, a CMYK space, a pseudo color space in which different colors are represented by different hatching patterns, or any other color space. The colors of this intermediate color space are in turn remapped onto the RGB values utilized by the display or printer output.
It can be seen that if the intermediate color space and the display color space are rotated in relation to each other, then when the computer program calls for a certain specific color to be output on the computer's display, another specific color will be displayed. Rotating these color spaces in relation to each other will thus re-map the input colors onto another set of colors.
For a color blind user, if there are two colors that both lie on one line or vector of color confusion, then rotating the intermediate color space may well result in two different colors that now do not lie on the same vector of color confusion and thus can now be successfully differentiated one from another.
What this means is that if there are two objects that are displayed on a computer monitor and the colors that render these two objects are such that a certain color blind person cannot tell them apart, then rotating the intermediate color space in relation to the display color space may now make the two objects look different (i.e. able to be differentiated from each other) to the color blind person. Because there are so many different forms of color blindness, giving the computer user the ability to rotate the color spaces him or herself will give the computer user the ability to find the exact setting that lets them do the best job of differentiating between the colors in each computer image or window in question.
When trying to differentiate between different color areas in a complex or subtle image on a computer display, even a normally-sighted person might find the systems and methods described herein useful.
Accordingly, in alternative embodiments, the systems and methods described herein employ a color space rotation process to remap color-coded information from one portion of the color space to another portion of the color space. As shown in
As shown in
As show in
Thus, the systems and methods described herein can rotate the color space so that colors used to express information in an image are moved off a line of confusion for the user. This process moves colors into the perceptual space of the user. In optional embodiments the system can remap colors on the line of confusion to different locations that are off the confusion lines. This can be done by rotating the line or by substitution of colors on the line W, for colors that are not on the line W. In this practice, the system can identify colors in a color space that are absent form the image and which are not on the line W may be substituted for colors on the line W. In this way colors on the line W used to present information may be moved off the line and remapped to a color in the perceptual space of the user and not currently being used in the image.
As discussed above,
In an alternate practice, color information can be mapped into a composite hatching pattern by assigning each component of the color, such as red green and blue, its own hatching pattern. For example,
As shown in
One user interface that would be helpful would be a representation of a wheel or disk that is turned to rotate the intermediate color space and output color space in relation to each other. The wheel or disk that is turned to rotate the two hue maps in relation with each other. One such wheel is depicted in
The systems described herein may employ the operating system API to control the display of colors on the computer display. Generally, an API provides a set of mathematical functions, commands and routines that are used when an application requests the execution of a low-level service that is provided by an OS. APIs differ depending on the OS types involved. A video system is employed to handle the output provided for a display unit. By applying VGA, SVGA or other appropriate standards, a video system determines how data is to be displayed and then converts digital signals of display data into analog signals to transmit to a display unit. It also determines what the refresh rate and standards of a dedicated graphics processor and then converts character and color data, received from an API as digital signals of display data, into analog signals that is thereafter transmitted to a display unit. As a result, predetermined characteristics are displayed on a screen.
A video system has two general display modes: a graphics mode and a text mode. The systems and methods described herein may be practiced in either mode. The graphics mode, however, is today the most important mode, and in this mode, data that are written in a video memory for display on a screen are handled as dot data. For example, for a graphics mode that is used to display 16 colors, in the video memory one dot on the screen is represented by four bits. Furthermore, an assembly of color data, which collectively is called a color palette, is used to represent colors, the qualities of which, when displayed on a screen, are determined by their red (R), green (G) and blue (B) element contents. Generally, in an eight bit mode, when the color combination represented by (R, G, B)=(255, 255, 255) is used, a white dot appears on the screen. Whereas, to display a black dot on a screen, a color combination represented by (R, G, B)=(0, 0, 0) is employed (hereinafter, unless otherwise specifically defined, the color elements are represented as (R, G, B)). An OS reads the color data designated by the color pallet and the character data (character code, characters and pictures uniquely defined by a user, sign characters, special characters, symbol codes, etc.), and on a screen displays characters using predetermined colors.
In one embodiment, this process described above is implemented as a software driver that processes the RGB data and drives the video display. In one embodiment, the software driver also monitors the position of the cursor as the cursor moves across the display. The driver detects the location of the cursor. If the cursor is over a portion of the screen that includes a color table, the software process determines the color under the cursor. To this end, the driver can determine the location of the cursor and the RGB value of the video data “under” the cursor. Thus the color that the cursor is “selecting” can be determined. The driver then processes the display in a manner such that any other pixel on that display having a color (RGB value) that is identical to the color, or some in cases substantially identical or within a selected range, is reprocessed to another color (black, white, or greys) in the color map. This results in an alternate image on the display. By having the driver reprocess the color in a way that is more perceptible to a color blind person, the color coded information in the image can be made more apparent to the color blind user. This is shown in
The manner in which the RGB values are processed can vary according to the application, and optionally may be user selectable. For example, in one embodiment, the driver may process the image to cause colors other than the selected range to turn more gray. Optionally, those portions of the image that are not presented in the selected color may be presented in a black and white image. In a further optional embodiment, the system may alter the saturation of the display, such that portions of the image that are not presented in the selected color will fade to become less saturated. In a further practice, the system allows the user to lighten or darken the grayed out portions of the image and/or alter the contrast of the grayed out portion of the image.
In a further embodiment, the systems and methods described herein may began with an initiation test that allows a color blind user to identify to the system the type of color blindness that the user has. To this end, and as depicted in
The user may also have control over how the image is represented, such as what and how many colors are processed, whether the processed colors are shown as getting darker or lighter, whether the colors flash or transition slowly, whether the colors are represented as having texture, like a hatch pattern, and other user controls. The application program can be PowerPoint, a web browser that uses color to show changes in the activation-status of hyperlinks, map displays, or some other program.
In a further alternative, the systems and methods described herein provide for treating color blindness. To this end, the systems and methods described herein include, in one embodiment, a computer game that may be played by males between the ages of six and fifteen. The computer game presents a series of images to the player. The player is asked to distinguish between different images and makes decisions based on his perception of these images. In this example game, the player is presented with two objects colored with two colors that the color blind person has difficulty in distinguishing. The player is rewarded for quickly tagging, in this example, the red object. However the player is penalized for tagging the wrong color object, in this case green. After a certain short time delay, the red, preferred target is identified to the player by overlaying a black texture that does not change the underlying color. The player can then tag the correct object for a lower score. In this way, the color blind player is encouraged to closely observe two colors he normally has difficulty in distinguishing and then have one color identified. Over time, as data is collected on the player, the game can be modified to make differentiation more challenging, such as by employing more subtle colors or presenting only one object at a time. By this game, the color blind player is given the tools to improve his ability to distinguish colors.
Although not to be limited by theory, it is a realization of the inventors that at least a portion color blindness arises from a central nervous system failure to allow a user to distinguish between different colors. Accordingly, the systems and methods described herein require the user to train their CNS system to detect a broader range of colors.
The systems and methods discussed above may be realized as a software component operating on a conventional data processing system such as a Windows, Apple or Unix workstation. In that embodiment, these mechanisms can be implemented as a C language computer program, or a computer program written in any high level language including C++, Fortran, Java or basic. Additionally, in an embodiment where microcontrollers or DSPs are employed, these systems and methods may be realized as a computer program written in microcode or written in a high level language and compiled down to microcode that can be executed on the platform employed. The development of such image processing systems is known to those of skill in the art, and such techniques are set forth in Digital Signal Processing Applications with the TMS320 Family, Volumes I, II, and III, Texas Instruments (1990). Additionally, general techniques for high level programming are known, and set forth in, for example, Stephen G. Kochan, Programming in C, Hayden Publishing (1983). It is noted that DSPs are particularly suited for implementing signal processing functions, including preprocessing functions such as image enhancement through adjustments in contrast, edge definition and brightness. Developing code for the DSP and microcontroller systems follows from principles well known in the art.
In some embodiments, any or all of the systems and methods discussed above may be realized as a software component on a mobile or portable device, such as the iPhone®manufactured by Apple, Inc. of Cupertino, Calif.
Software component 1904 may allow a user to choose from one or more available modes of operation 1910. In some embodiments, software component 1904 may allow a user to capture an image using on-board camera 1952 and display the captured image on the screen in image window 1914. In some embodiments, the user may push storage button 1912 and retrieve an image stored on the mobile device or a network connected to the mobile device. The user may flip switch 1906 to the ON position to initiate processing color information in the image suitable for a color-blind person. In some embodiments, flipping switch 1906 to the ON position may launch an initiation test for the user to identify the type of color blindness that the user has, as described above with reference to
In some embodiments, software component 1904 may allow a user to view and/or capture a video stream, e.g., a live video feed, using on-board camera 1952. The video stream may be displayed in image window 1914. The user may flip switch 1906 to the ON position to initiate real-time processing of the video stream suitable for a color-blind user. Software component 1904 may extract an image frame from the video stream, process the color image frame, and replace the frame in the video stream with the processed image frame. The processed video stream may be displayed in image window 1914. In some embodiments, processing an image frame may include creating an overlay having patterns and/or visual indictors for displaying on top of the image frame in the video stream. For example, a frame may be captured by on-board camera 1952 and processed by software component 1904. However, instead of producing a processed image frame, software component 1904 may create an overlay having, e.g., patterns and/or visual indicators, for displaying on top of the image frame. Software component 1904 may display the image frame captured by camera 1952 along with the overlay in image window 1914. Further details on the above embodiments are provided with respect to
Generally, the systems and methods described herein may be executed on a conventional data processing platform such as an IBM PC-compatible computer running the Windows operating systems, a SUN workstation running a UNIX operating system or another equivalent personal computer, server, or workstation. Alternatively, the system may include a dedicated processing system that includes an API programming environment.
The systems and methods described herein may also be realized as a software component operating on a conventional data processing system such as a UNIX workstation. In such an embodiment, the methods may be implemented as a computer program written in any of several languages well-known to those of ordinary skill in the art, such as (but not limited to) C, C++, FORTRAN, Java, MySQL, Perl, Python, Apache or BASIC. The methods may also be executed on commonly available clusters of processors, such as Western Scientific Linux clusters.
The systems and methods disclosed herein may be performed in either hardware, software, or any combination thereof, as those terms are currently known in the art. In particular, the present systems and methods may be carried out by software, firmware, or microcode operating on a computer or computers of any type. Additionally, software embodying the processes described herein may comprise computer instructions in any form (e.g., source code, object code, interpreted code, etc.) stored in any computer-readable medium (e.g., ROM, RAM, magnetic media, punched tape or card, compact disc (CD) in any form, DVD, etc.). Accordingly, the systems and methods described herein are not limited to any particular platform, unless specifically stated otherwise in the present disclosure.
Variations, modifications, and other implementations of what is described may be employed without departing from the spirit and scope of the disclosure. More specifically, any of the method and system features described above or incorporated by reference may be combined with any other suitable method, system, or device feature disclosed herein or incorporated by reference, and is within the scope of the contemplated systems and methods described herein. The systems and methods may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative, rather than limiting of the systems and methods described herein. The teachings of all references cited herein are hereby incorporated by reference in their entirety
This application is a continuation-in-part of U.S. patent application Ser. No. 11/726,615 filed Mar. 22, 2007, now U.S. Pat. No. 7,916,152 entitled “Technique For Enabling Color Blind Persons To Distinguish Between Various Colors”, and naming Peter Jones and Dennis Purcell as inventors, which claims priority to U.S. Provisional Application Ser. No. 60/785,327 filed on Mar. 22, 2006, entitled “Technique For Enabling Color Blind Persons To Distinguish Between Various Colors,” and also naming Peter Jones and Dennis Purcell as inventors, and is a continuation-in-part of U.S. patent application Ser. No. 11/633,957 filed Dec. 5, 2006, entitled “Technique For Enabling Color Blind Persons To Distinguish Between Various Colors”, and naming Peter Jones and Dennis Purcell as inventors, which is a continuation-in-part of U.S. Ser. No. 10/388,803 filed Mar. 13, 2003, now U.S. Pat. No. 7,145,571 entitled “Technique For Enabling Color Blind Persons To Distinguish Between Various Colors”, also naming Peter Jones and Dennis Purcell as inventors, which claims priority to U.S. Provisional Application Ser. No. 60/422,960 filed Nov. 1, 2002, entitled “Technique For Enabling Color Blind Persons To Distinguish Between Various Colors”, also naming Peter Jones and Dennis Purcell as inventors, the contents of all of which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
60422960 | Nov 2002 | US | |
60785327 | Mar 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13073765 | Mar 2011 | US |
Child | 14174520 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11726615 | Mar 2007 | US |
Child | 13073765 | US | |
Parent | 11633957 | Dec 2006 | US |
Child | 11726615 | US | |
Parent | 10388803 | Mar 2003 | US |
Child | 11633957 | US |