Not applicable.
None.
None.
The invention disclosed broadly relates to the field of electronic displays for electronic devices and more particularly relates to the field of high-resolution displays for small, hand-held devices.
Wristwatches are small, lightweight, and can communicate information to a user at a glance, making them the most widely-used accessory. Wristwatches not only display the time and date, they can also function as stopwatches, alarms, and calendars. Microchips have enabled computing power in very small devices and wristwatches are a popular choice for encasing this computing power. Some of the recent developments in wristwatch technology are detailed in U.S. Pat. No. 6,525,997 B1 “EFFICIENT USE OF DISPLAY REAL-ESTATE IN A WRIST WATCH DISPLAY” and “Application Design for a Smart Watch with a High Resolution Display” by Chandra Narayanaswami and M. T. Raghunath, both of which are incorporated by reference as if fully set forth herein. Although these “smart watches” can be configured to receive, store and display large amounts of data, the small size of the average watch face, approximately 22 mm×17 mm, makes discerning any significant amount of display data very difficult.
One of the solutions to the problem of displaying a large amount of data on a small screen is to partition the data into multiple images and then display the multiple images simultaneously, by overlaying them. For this method to work, each image must appear distinct from the other overlapped images so that the human eye can readily distinguish the data contained in each image. With color displays the images are made to appear distinct by displaying the images in layers, where each layer is formatted in a different color. For example, the first layer might be red, the second blue and the third yellow. The human eye will be able to distinguish among the different colored images. For gray scale displays, the images are also layered, each image in a different gray level (shade of gray). If the gray scale shades are sufficiently different and distinct, the human eye will be able to distinguish among the images relatively easily. This is because gray scale and color displays have a greater pixel depth (number of bits per pixel), typically using from 4 to 24 bits per pixel, providing a wide range of colors and gray levels. Thus this overlaying method is used quite successfully with color and gray scale display monitors and works particularly well with text displays. Highly-detailed graphical images are more difficult to distinguish when overlaid.
With gray scale displays, other methods can also be used to make multiple overlaid images appear distinct. Referring to
With gray scale displays, the overlap works this way. In gray scale each pixel value is an integer. The size of the integer depends on the number of bits per pixel. For a 4-bit image the pixel values range from 0 through 15 (0 being white and 15 being black). Table 1 shows the results of an ADD operation performed on two images composed of 4-bit pixels. The ADD overlap function adds the corresponding pixel values.
A gray level of 25% is assigned to Image A and a gray level of 75% is assigned to Image B. Assuming a 4-bit pixel, the maximum integer value for Image A is 3 and the maximum integer value for Image B is 12 (25% and 75% of 15, respectively), for a total combined value of 15. Referring to Table 1 the ADD overlap function with a 25/75 gray scale results in four possible values for each pixel: 0, 3, 12 and 15. If more than two images are used, the number of possible combinations will increase.
The AVERAGE function as applied to gray scale images simply adds the respective gray level values and divides that sum by the number of images being overlaid. Table 2 shows how the AVERAGE function works with the images of Table 1.
The MAX function takes the maximum value for the pixel from the corresponding pixel values of all images. In other words, the darkest pixel among the overlaid images is used. Using this method will result in the darkest image appearing to be on top of the other images. Table 3 shows results from the MAX operation applied to the images of Table 2.
The ADD, AVERAGE, and MAX methods work well when overlaying gray scale images, provided there is little or no overlap of black pixels. As stated earlier, for monochrome displays, the results can be poor. The reason for this is that with a strictly monochrome image only one bit is used per pixel. Each pixel represents a dot of color, usually black or white, but other combinations, such as green and black, are possible. Assuming a black and white monochrome display, each pixel represents either a black or a white dot. If the pixel is ON, then the pixel, or dot, appears black. If the pixel is OFF, the pixel appears white.
Because color and gray-scale displays (with multiple bits per pixel) in wristwatches are much more expensive than monochrome (one bit per pixel) displays and consume so much more power, current wristwatch technology favors the use of monochrome displays. Therefore there is a need for comparable methods of simultaneous display of multiple images for strictly monochrome displays such as those found in wristwatches.
Referring to
Other methods for displaying large amounts of data (text and/or graphics) on a small display screen include rotating and scrolling multiple images on the display. The drawback with these methods is that only one screen is visible at a time. There are situations where a user requires the simultaneous display of more than one image. Referring back to the image of
If using the scrolling/rotating feature, then the meeting details shown in
Spatial dithering algorithms are used in the known art to simulate shades of gray in black and white images. Dithering can be described as the process of juxtaposing pixels of two different colors to create the illusion of a third color that has an intermediate color between the colors of the original palette. Dithering is also used to reduce color intensity. A common example of one application of this algorithm is where a graphical image is overlaid with text. The text appears in full brightness while the graphical image appears less intensely. An image generated using this spatial dithering algorithm when viewed on a monochrome display is perceived as a dim graphical image with bright text over it even though the underlying displays have no support for gray scale.
In a high resolution monochrome black and white display, dithering simulates shades of gray by creating complex black and white patterns within black dots in a cell. This produces different pixel intensities over a colored space rather than a single intensity. Dithering is similar to “halftoning” which is used in newspaper photographs and computer printers. In halftoning the dots are placed in a regular grid format at fixed predetermined intervals and the size of the dots is an analog value that changes with the desired gray level. Larger dots are used for darker shades, smaller ones for lighter shades.
Dithering can be considered the digital equivalent of halftoning. In dithering each dot is of a fixed size and can only be black or white. So gray scale is simulated by making sure that on average in a region the desired number of dots is black. In a region that needs to be seen as gray, the ratio of the number of black pixels to white pixels is adjusted so that the average number of black pixels corresponds to the gray level. The more black dots printed in a cell, the darker the gray shade. The gray scale regions within the image are converted to a black and white pattern by distributing the black dots according to how dark the spatial region is. This creates the illusion of shades of gray. This visual perception is heightened when the display has a high resolution. High resolution displays have pixels which are closer together and when pixels are closer together the spatial placement of black and white dots is more likely to be seen by the eye as gray since the eye cannot see the individual pixels. For example, viewing the “gray” area of a newspaper image through a magnifying glass reveals that the “gray” area is actually a multitude of black dots.
Exactly which pixels are black and which ones are white is decided by a dithering algorithm. The dithering algorithm selects patterns for the black and white dots. It is preferable to select complex patterns and avoid simple patterns such as making every fourth pixel black because such simple patterns will result in stripes that the human eye will readily distinguish. If the pattern is too obvious and does not blend well, the eye will not process the image as a gray image. Differing patterns of black and white are used for each shade of gray so that the human eye can distinguish among the images. We discuss black and white patterns in this example, but it is to be understood that other monochrome combinations, such as green and black, could be used as well. Since dithering requires computation, it may not always be practical to implement on small devices with limited computational power.
Another known method for converting images is stippling. Stippling is used generally to create patterns within objects so that two objects with different stipple patterns can be differentiated when they are overlaid. Stippling results are generally not as good (visually appealing) as images resulting from dithering applied to gray scale. However, stippling is much faster from a computational perspective. This is because dithering requires viewing the image as a whole and converting gray regions to appropriate ratios of black to white dots. With dithering, it is important that the placement of the dots be somewhat randomized so that ugly patterns do not show up in the resultant image. This drives up the expense in terms of computation time. On the other hand, the drawback to stippling is that it does not generally produce as high quality an image as dithering. However, the perceived image quality depends on the actual stipple pattern that is chosen. The simpler the pattern the faster the operation, but the resultant image will not be as clear. The more elaborate the pattern, the better the illusion.
Referring to
Therefore, for these and other reasons there is a need for a product which overcomes the shortcomings of the prior art and facilitates an improved display of multiple images on hand-held monochrome displays.
Briefly, according to an aspect of the invention, a method for transforming multiple one-bit per pixel (monochrome) images for presentation on a device comprises the steps of: converting the one-bit per pixel images to multiple bits per pixel images; overlapping the multiple bits per pixel images using an overlap function; converting the overlapped images into a dithered monochrome images by applying a spatial dithering algorithm; and presenting the dithered image on a display.
According to another aspect of the invention, a method for transforming multiple monochrome images for presentation comprises the steps of: applying differing stipple patterns to each of the monochrome images; overlaying the stippled images; and presenting the overlaid stippled image on a display.
An apparatus configured for carrying out the above steps for transforming images on a high resolution display comprises: a processor, random access memory, erasable programmable memory, and an input/output subsystem.
We discuss methods and systems for transforming images for display on hand-held devices so that the images can be differentiated and easily read by a user. These methods, known as dithering and stippling, are well-suited for displaying a large amount of information on very small displays, such as wristwatch displays. In an embodiment of the invention, multiple images containing significant amounts of data can be simultaneously displayed on an area as small as 22 mm×17 mm, the dimensions of an average watch face.
While the dithering and stippling methods can be performed on color, gray scale, and monochromatic displays, because of the high cost and power consumption associated with color and gray scale displays on wristwatches, we discuss the application of these methods on a strictly monochrome display with a very high pixel density, as measured in dots per inch (dpi). A VGA (Video Graphics Array) resolution of at least 640×480 pixels, widely used in personal computer (PC) display monitors, is the preferred display resolution. The use of a spatial dithering algorithm, combined with a VGA resolution, enables multiple images to be simultaneously displayed in a visually appealing manner, according to the invention. In general, the stippling method will not produce as high quality an image, but it is much faster and more efficient from a computational perspective.
High resolution is generally associated with number of pixels per inch. The number of gray levels per pixel is determined by the number of bits per pixel (also known as pixel depth). Common pixel depths are 4 bits (with 16 gray levels), 8 bits (256 gray levels) or 24 bits (typically used in color displays with 8 bits for each of Red, Green and Blue). We discuss the application of the dithering and stippling methods on high resolution displays of low pixel depth.
Referring to
When the images are in gray scale each pixel value is an integer. The size of the integer depends on the number of bits per pixel. For a 4-bit image the pixel values range from 0 through 15 (0 being white and 15 being black). If a 25% gray level is assigned to one image, then the maximum pixel value for that image is 3 (25% of 15). For a 75% gray level image, the maximum pixel value is 12. Assigning a gray level to an image could be done randomly, or it could be done so that one image is chosen to appear brighter and with more prominence. When two images with 25% and 75% gray levels are overlaid the outcome will appear as though the 75% gray level image is on top of the other image.
In step 620 the separate gray scale images are stored in memory with their corresponding pixel values. Next, in step 630 an overlap function is performed on the stored images. The overlap function can be one of any of the known overlap functions, such as AVERAGE, ADD, or MAX. When two gray scale images are overlaid, for each pixel we need to convert the corresponding two integers into a single integer. The overlap function is the function that specifies this mapping between the corresponding pixel values of the original images to the pixel value of the resultant image. Assuming the ADD operation is chosen as the overlap function in this example, then the corresponding pixel values are added. Therefore, if one image was set at 75% gray and the other one was set at 25% gray, the black pixels in the original images will appear as gray values of 12 and 3, respectively (for a 4-bit pixel image). In the regions where the originally black pixels overlap we get a gray value of 15 (i.e., fully black); in regions where only one of the original images was black, we get either 3 or 12 depending on which image had the black pixel. In regions where both original images had white, we get zero, i.e., white in the resultant image. If, as a result of the ADD operation, the pixel value becomes too large for the number of bits available, that portion of the image will appear as solid black.
In step 640 the overlaid gray scale image is converted to a composite monochrome image by applying a spatial dithering algorithm, again in memory. Spatial dithering algorithms are known to those with skill in the art. To perform the dithering algorithm the image is processed as a whole.
To explain how the image is processed, assume a simplistic one-dimensional dithering algorithm. To start, a counter value is maintained. The counter starts at zero. The pixel values in the gray scale image are scanned from left to right and top to down in a raster scan fashion. According to the algorithm, when the counter is >=50 we set the pixel to 1 (black) and subtract 100 from the counter. If the counter is <50 the pixel is set to 0 (white). If the fist pixel has intensity 70% the first pixel is set to black in the corresponding monochrome image and the counter is then set to −30 since the first pixel has 30% excess black (100% black minus 70% black). Then the next pixel in the image is scanned. Assume that this pixel is 50% black. Adding this value to the counter increases the counter to 20 and since 20 is less than 50 this pixel is set to white. With the counter now at 20 the next pixel is scanned and so on. One dimensional dithering can yield ugly snake-like patterns when transforming a solid gray area, especially when the gray level is not an even value like 50%, 25%, etc. Two dimensional dithering does a better job of distributing the black dots. With two dimensional dithering there are some additional computations that are employed to avoid ugly dot patterns in transforming a large region of the same gray level.
The last step, 650 is to display the converted monochrome image on the display.
Referring to
Another embodiment according to the invention involves the use of stippling. Referring to
Referring to
The machine 1000 can be implemented either as an Application Specific Integrated Circuit (ASIC) for generating signals to be presented in the Display 1010 or as program instructions stored in memory, e.g., EPROM 1004 for execution by the Processor 1006.
Therefore, while there has been described what are presently considered to be the preferred embodiments, it will be understood by those skilled in the art that other modifications can be made within the spirit of the invention.