Apple has been granted a patent (number 7844902) by the US Patent & Trademark Office for an apparatus and method for handling special windows in a display. It could foreshadow some changes in upcoming versions of Mac OS X.
The apparatus and method for handling special windows in a display comprises a window manager in an operating system that is called by application programs to create special windows. The window manager embeds static key signals including encoded special window information, such as the coordinates of a window area to be specially processed, into a video RAM. An existing video interface scans the video RAM and transmits display information, including the key signals, to the display.
The present invention further comprises a window decoder in the display, that detects the key signals, extracts the encoded special window information, and controls display circuitry performing the desired special processing. The key signal encoding scheme does not create visually discernible display aberrations that could distract the user or interfere with normal window management. The inventors are Richard D. Cappels Sr., Christoph Horst Krah and Johanna M. Andrews.
Here's Apple's background and summary of the invention: "Effective presentation of visual information is an important consideration for manufacturers, designers, and users of displays. Such displays are commonly used for interfacing with computers. Many modern computer operating systems use graphical user interfaces that enclose information from application programs in separate viewing areas or windows in a display to simplify information management.
"These special windows in a display may be used for presentation of different types of information than are typically shown in the remainder of the display. In some applications, use of a special window in a display may be desirable to help distinguish or differently process information. For example, a computer system may present video information from a video source (such as a video camera or video tape recorder) in a special window, while simultaneously presenting more traditional computer-generated information such as text and graphics in the rest of the display.
"Conventional computer displays are designed to present text and graphics, but are not specifically designed to present video information. Luminance levels in conventional computer displays are usually considerably lower than the luminance levels used in conventional video monitors or television screens. Video information presented in conventional computer displays thus appears to have less contrast between bright and dark areas, and tends to look rather murky. Raising luminance levels is one possible way to enhance the presentation of video information in computer displays, but problems may arise from indiscriminately raising luminance levels over the entire display surface.
"For example, text or graphics outside the special window may become blurred, decreasing the overall effectiveness of the display. Furthermore, continuously raising luminance levels over the entire display surface may unacceptably accelerate the aging of the display tube. These problems could be avoided with an effective means for identifying and locating the limited portions of a special display window to be advantageously processed.
"The coordinates of a special display window may be transmitted to a display via a separate data channel. For example, the serial interface available on most modern computers may be dedicated to this purpose. However, this potential solution presents a number of difficulties. First, such a system would demand significant additional hardware within a computer system; a second serial interface card would have to be managed by the computer system. Second, the signals generated by such serial interface hardware would have to be precisely calibrated with the horizontal and vertical video synchronization signals going to the display. Finally, significant software development would be required to coordinate such a dual-channel interface system.
"Therefore, for the foregoing reasons, an improved apparatus and method for handling special windows in a display is needed, in accordance with the present invention. In accordance with the present invention, an apparatus and method are disclosed to handle special windows in a display.
"In one embodiment of the present invention, windows comprise frames that are created by an operating system, and content areas that are created by an application program. The windows are special if they include content areas or portions of content areas that are to be specially processed, such as being displayed with higher than normal luminance. Software developers preferably trigger special window creation by calling a window manager, which includes operating system functions specifically designed to simplify special window use.
"In accordance with the present invention, special windows include key signals that enable display circuitry to identify windows to be specially processed. The key signals also include information needed by display circuitry to locate the boundaries of the portion of the content area to be specially processed. The key signals are preferably static patterns in a special window, so that no separate signals or second communication channel beyond the existing video interface are required to trigger special processing. The operating system places digital representations of all display information, including special windows, into a video RAM in the preferred embodiment. The existing video interface circuitry scans the video RAM and produces video signals to be sent to the display. A window decoder in the display detects the key signals, extracts the embedded special window information from the key signals and controls the display circuitry performing the special processing desired.
"Key signals are patterns of colored pixel (picture element) pairs. A color coding scheme enables storage of key signal information in a manner that is easily detectable by the window decoder, yet is not visually discernible, given the limited acuity of the human eye. In additive color display systems, primary colors (red, green, blue) can be mixed to produce secondary colors (yellow, cyan, magenta). If a pixel of a primary color is placed next to a pixel of an opposite secondary color (that is, one not including the primary color) of equal luminance, the resulting pixel pair resembles a single pixel that is an achromatic gray in color. This enables the key signal to be plainly displayed in a gray window frame without causing visual distraction. One primary color channel serves as the data signal, and another is used as a complement to produce the achromatic gray color of pixel pairs.
"The key signal color coding scheme preferably uses the remaining primary color channel in the existing video interface as a video clock signal. A separate clock in the window decoder is synchronized to the video clock signal when a key signal is present. The separate but synchronous internal clock is continuously available to the window decoder, and enables the use of a precise but relative (versus absolute) display coordinate system. The location of any pixel in the display can be determined and controlled by the time elapsed since the last horizontal and vertical synchronization pulses in the existing video interface. No second communications channel for transmission of external timing pulses for precise pixel location is required. The window decoder can use key signal information and existing synchronization pulses to control the timing, and thus location, of special processing for desired portions of the display with respect to the upper left corner of the display.
"Key signal information includes start and stop sequences, code sequences to distinguish a key signal from other display data, horizontal and vertical offset values, and a CRC checksum. The horizontal and vertical position of the key signal and the horizontal and vertical offset values can be summed by the window decoder to yield the coordinates of the portion of the content area to be specially processed. The window decoder uses the other sequences in a variety of means for verifying the presence of a window intended to be specially processed. Accidental special processing could be very distracting to the user and should be avoided.
"For example, key signals preferably identifying upper left and lower right corners of the portion of the content area to be specially processed should be detected in one scan, and should persist for a set number of scans. Similarly, code sequences should match a pair of preset sequences, and three bits of unchanging color, as in a gray frame, should be present prior to the start sequence of each key signal. Many other conditions used to avoid accidental special processing are described in the detailed description of the present invention. Once the window decoder enables special processing, the window decoder disables special processing only when no special windows exist, or when the special window is occluded by another window."
Apple has also won design patents for the iPhone's Music and Main Inbox interfaces and one for the MiniDisplay Port.
-- Dennis Sellers