Computer graphics processing and selective visual display system – Computer graphics processing – Graph generating
Reexamination Certificate
1995-07-13
2001-10-23
Breene, John (Department: 2177)
Computer graphics processing and selective visual display system
Computer graphics processing
Graph generating
Reexamination Certificate
active
06307559
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to a method and apparatus for performing color conversion, clipping, and scaling of an image in a data processing system.
BACKGROUND OF THE INVENTION
FIG. 1
 illustrates the system architecture for a conventional computer system, such as an IBM PS/2® computer. The exemplary computer system of 
FIG. 1
 is for descriptive purposes only. Though the description below may refer to terms commonly used in describing particular computer systems, such as an IBM PS/2 computer, the description and concepts equally apply to other systems, including systems having architectures dissimilar to FIG. 
1
.
The exemplary computer 
100
 includes a central processing unit (CPU) 
105
, which may include a conventional microprocessor; a system random access memory (RAM) 
110
 for temporary storage of information and a read only memory (ROM) 
115
 for permanent storage of information. A memory controller 
120
 is provided for controlling system RAM 
110
. A bus controller 
125
 is provided for controlling bus 
130
. An interrupt controller 
135
 is used for receiving and processing various interrupt signals.
Mass storage may be provided by a diskette 
142
, a CD-ROM disk 
147
 or a hard disk 
152
. The diskette 
142
 can be inserted into a diskette drive 
141
, which is, in turn, connected to bus 
130
 by a controller 
140
. Similarly, the CD-ROM disk 
147
 can be inserted into a CD-ROM drive 
146
, which is also connected by a controller 
145
 to bus 
130
. Finally, hard disks 
152
 are part of a fixed disk drive 
151
, which is connected to bus 
130
 by controller 
150
.
Data input and output to computer system 
100
 is provided by a number of devices. For example, a keyboard and mouse controller 
155
 connects to bus 
130
 for controlling a keyboard input device 
156
 and a mouse input device 
157
. A DMA controller 
160
 is provided for performing direct memory access to system RAM 
110
. A visual display is generated by a video controller 
165
, which controls a video output display 
170
. As will be further described below, video controller 
165
 may include a graphics engine 
175
, a frame buffer 
180
, and off-screen VRAM 
185
. Under the control of the computer system 
100
, display 
170
 presents a two dimensional array of picture elements (pixels), which may be independently controlled to form an image. Other input and output devices, such as an audio subsystem 
191
, may be connected to the system through expansion slot 
190
.
The computer 
100
 is generally controlled and coordinated by operating system software, such as the OS/2® operating system, available from the International Business Machines Corporation (IBM), Boca Raton, Fla. Conventional operating systems typically control and schedule computer processes for execution, perform memory management, provide a file system, networking capabilities, and I/O services, and provide a user interface, such as a graphical user interface (GUI), among other things. User applications, such as editors and spread sheets, directly or indirectly, rely on these and other capabilities of the operating system.
Computer systems are increasingly using sophisticated techniques to present information to a user. Modern computers use graphics capabilities to produce various graphical items, such as lines, boxes, and circles, on a display 
170
, typically in color. These graphics capabilities are used, for example, by GUIs and other computer applications.
In addition to graphics, modern computers are increasingly using multimedia techniques, which store, organize, and present various forms of data, including textual data, digital audio data, digital video data, and digital music data (e.g., MIDI). For example, a computer using multimedia techniques may play back video data and audio data to produce a movie clip video sequence on display 
170
 with synchronized audio output from audio subsystem 
191
.
Graphical and video images are conventionally produced by storing data for each pixel in a corresponding location of a frame buffer 
180
. These data are placed in the frame buffer 
180
 by graphics engines 
175
 or, as is further discussed below, by software. A frame buffer 
180
 is typically, although not necessarily, constructed from special memory chips called VRAMs, which allow conventional read and write operations to be performed to memory cells of the VRAM on one port, while allowing data to be scanned out from the cells via a second, scan port. The video controller 
165
 typically scans the data out and uses the data to cause corresponding pixels of the display 
170
 to be energized in accordance with the data. The size of a frame buffer 
180
 depends upon the number of pixels of the display 
170
 and the amount of data required for each pixel.
The display data may indicate whether or not a pixel should be illuminated, or if color images are involved, may indicate the desired luminance and chrominance for a pixel. Moreover, color data may be implemented according to a variety of formats, such as YUV, RGB, RBG, etc., which require many bits of data per pixel. Modern color formats, for example, may require up to three bytes, or twenty four bits, of information per pixel.
Producing graphical and video images requires a substantial amount of system resources. Even seemingly simple graphical items, such as lines and circles, may require considerable computation to determine which pixels should be illuminated to yield a high quality graphical item. Animated video usually requires a substantial amount of storage resources and bandwidth from system bus 
130
. A typical image may involve tens of thousands of pixels, and each pixel may involve several bytes of data. Moreover, video typically involves displaying a sequence of images at a playback rate approximately 15 to 45 images per second.
To help alleviate the computational burdens, various graphics engines have been developed to off-load the computational burden from the CPU 
105
 of producing graphical items. Graphic engines are known in the art and will not be further discussed.
To help alleviate the storage and bandwidth burdens, compression and decompression techniques are often utilized. With such systems, compressed video data are retrieved from system RAM 
110
. There, the compressed data may be decompressed by a software decompression routine. Afterwards, the decompressed data may be placed in frame buffer 
180
, or the decompressed data may be further operated upon by software, as described below.
Often, the image data, i.e., either the graphical or the decompressed video image data, need to be operated upon to provide a desired image. In some cases, the source image data may need to be stretched or scaled by a predefined amount. For example, an image may need to be scaled because a user has resized the image on the display 
170
 using the mouse 
157
. Scaling is conventionally performed by a software scaling routine. Referring to 
FIG. 2
, for example, a source image 
205
 may be stored as a 160×120 pixel image, and the to-be-displayed, or target, image 
210
 may be 200×150 pixels. In this example, both the horizontal and the vertical dimensions of the source image 
205
 are scaled at a 5:4 ratio. That is, every 4 pixels of source image 
205
 in the horizontal dimension must yield 5 pixels of target image 
210
 in that direction, and every 4 rows of the source image 
205
 must yield 5 rows of target image 
210
. Often, this is achieved by copying certain bits and replicating other bits according to known scaling techniques. In the example of 
FIG. 2
, a conventional technique would copy the first three pixels of the source image 
205
 and replicate a fourth pixel. In cases where an image must be scaled down, certain bits or rows would be excluded from the copying.
In other cases, the source image 
205
 may need to be color converted. For example, color conversion may be necessary, because the color format of the source image 
205
 may be unsupported by the display 
170
 (FIG. 
1
). For instance, the source image 
205
 may be stored in a RGB 
Hancock Steven Marshall
Pietras Mark A.
Bracewell & Patterson L.L.P.
Breene John
International Business Machines - Corporation
Leeuwen Leslie A. Van
LandOfFree
Method and apparatus for color space conversion, clipping,... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for color space conversion, clipping,..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for color space conversion, clipping,... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2594043