← Back to Patent Explorer
US5668941A Expired / Lapsed US ⏱️ 0.0 years remaining

Optimum implementation of X-Y clipping on pixel boundary

Assignee: S3 Graphics Co Ltd
•
Filing: 1995-06-22
•
Granted: 1997-09-16
•
Expires: 2015-06-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for improving performance of bit block transfers in display controllers during clipping functions without significantly increasing gate count. In a clipping function, particularly when transferring a portion of a monochrome bit map and color expanding same or in pattern copying, a source start address may not lie on a byte boundary. In order to avoid using time consuming shift left operations in software, the source start address may be adjusted in hardware to an earlier byte boundary. Upon writing data to a destination address, a hardware byte mask may be employed to prevent writing of the additional data retrieved due to the adjustment of the source start address. The source start address and byte mask hardware may be implemented in hardware using bit block transfer engine components and a small amount of additional hardware. The remainder of the clipping functions may remain in software, for example in a display device driver. By eliminating the shift left operations from the software portion of the clipping function, overall system performance is enhanced.

Inventors

  • 👤 Ali Noorbakhsh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 20:37
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/10; G06T15/30

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 253 words
A display controller for performing a clipping function by reading source image data from a display memory coupled to the display controller, said source image data representing a clipped portion of an image to be color expanded or a pattern to be copied, and generating an image signal for displaying an image comprising a color expanded clipped portion of an image or a repeated pattern on a display device, said display controller including: a bit block transfer engine, for performing a bit block transfer of a block of the source image data from a source memory, processing the block of source image data, and storing a processed block of image data in a destination memory, said bit block transfer engine including: a clip mask register for storing a clip mask value representing a number of pixels at the beginning of each BITBLT line to be masked out; source memory address adjustment means, coupled to said clip mask register, for receiving a source memory address, and the clip mask value, and adjusting the source memory address in accordance with the clip mask value if a start boundary of the block of source image data does not fall on a byte boundary; and byte masking means, coupled to said clip mask register, for masking bytes of the processed block of image data according to the clip mask value for data corresponding to image data not falling within the block of source image data when storing the processed block of image data in the destination memory.
Claim 2
Dependent Claim 253 words
A display controller for performing a clipping function by reading source image data from a display memory coupled to the display controller, said source image data representing a clipped portion of an image to be color expanded or a pattern to be copied, and generating an image signal for displaying an image comprising a color expanded clipped portion of an image or a repeated pattern on a display device, said display controller including: a bit block transfer engine, for performing a bit block transfer of a block of the source image data from a source memory, processing the block of source image data, and storing a processed block of image data in a destination memory, said bit block transfer engine including: a clip mask register for storing a clip mask value representing a number of pixels at the beginning of each BITBLT line to be masked out; source memory address adjustment means, coupled to said clip mask register, for receiving a source memory address, and the clip mask value, and adjusting the source memory address in accordance with the clip mask value if a start boundary of the block of source image data does not fall on a byte boundary; and byte masking means, coupled to said clip mask register, for masking bytes of the processed block of image data according to the clip mask value for data corresponding to image data not falling within the block of source image data when storing the processed block of image data in the destination memory.
Claim 3
Dependent Claim 51 words
The display controller of claim 1, wherein said source memory address adjustment means advances the source memory address to a byte boundary preceding the starting boundary of the block of source image data if the starting boundary of the block of source image data does not fall on a byte boundary.
Claim 4
Dependent Claim 50 words
The display controller of claim 1, wherein said byte masking means masks bytes of the processed block of image data corresponding to data retrieved from the byte boundary preceding the starting boundary of the block of source image data and the starting boundary of the block of source image data.
Claim 5
Dependent Claim 38 words
The display controller of claim 3, wherein said source block of image data comprises a monochrome bit map and said bit block transfer engine color expands said monochrome bit map to produce the processed block of image data.
Claim 6
Dependent Claim 184 words
The display controller of claim 3, wherein said source block of image data comprises an image pattern and the processed block of image data comprises a plurality of the image pattern repeated, said source memory address is encoded with a Pattern Y-Offset value for a pattern copying bit block transfer, said display controller further comprising: decoder means, for receiving the source memory address encoded with the Pattern Y-Offset and decoding the source memory address and Pattern Y-Offset values; a plurality of source data latches, coupled to the source memory, for receiving and storing at least a portion of a pattern to be copied in a bit block transfer; and a pattern line counter, coupled to the decoder means and the source data latches, for receiving the Pattern Y-Offset value and maintaining a pattern line count of the at least a portion of the pattern stored in the source data latches; wherein the pattern line counter increments the pattern line count by the pattern Y-Offset value when a first portion of the processed block of image data comprises only a portion of the image pattern.
Claim 7
Dependent Claim 56 words
The display controller of claim 3, further comprising: host processor interface means, for transmitting data and signals to and from a host processor, wherein a host processor calculates the source memory address from source image block dimension data and outputs the source address through the host processor interface means to the source memory address adjustment means.
Claim 8
Dependent Claim 21 words
The display controller of claim 6, wherein display controller driver software operating in the host processor generates the source memory address.
Claim 9
Dependent Claim 15 words
The display controller of claim 6, wherein the source memory comprises a host processor memory.
Claim 10
Dependent Claim 14 words
The display controller of claim 6 wherein the source memory comprises the display memory.
Claim 11
Dependent Claim 14 words
The display controller of claim 6 wherein the destination memory comprises the display memory.
Claim 12
Dependent Claim 73 words
The display controller of claim 5, further comprising: a pattern line counter for incrementing a pattern Y-offset address; a pixel depth conversion table, coupled to the pattern line counter for receiving the pattern Y-offset address and a pixel depth value and for outputting a line offset address; and an adder, coupled to the pixel depth conversion table, for receiving a source start address, adding the line offset address and outputting a blit address.
Claim 13
Independent Claim 224 words
A method for color expansion and pattern copying by reading source image data from a display memory coupled to the display controller, said source image data representing a clipped portion of an image to be color expanded or a pattern to be copied, and generating an image signal for displaying an image comprising a color expanded clipped portion of an image or a repeated pattern on a display device, said method including the steps of: performing a bit block transfer of a block of the source image data from a source memory, processing the block of source image data, and storing a processed block of image data in a destination memory, wherein said step of performing a bit block transfer further comprises the steps of: receiving a source memory address, receiving a clip mask value, adjusting the source memory address according to the clip mask value if a start boundary of the block of source image data does not fall on a byte boundary; said step of storing a processed block of image data further comprises the step of: masking bytes of the processed block of image data from the clip mask value for data corresponding to image data not falling within the block of source image data; and storing mask bytes of the processed block of image data at a destination memory address.
Claim 14
Independent Claim 224 words
A method for color expansion and pattern copying by reading source image data from a display memory coupled to the display controller, said source image data representing a clipped portion of an image to be color expanded or a pattern to be copied, and generating an image signal for displaying an image comprising a color expanded clipped portion of an image or a repeated pattern on a display device, said method including the steps of: performing a bit block transfer of a block of the source image data from a source memory, processing the block of source image data, and storing a processed block of image data in a destination memory, wherein said step of performing a bit block transfer further comprises the steps of: receiving a source memory address, receiving a clip mask value, adjusting the source memory address according to the clip mask value if a start boundary of the block of source image data does not fall on a byte boundary; said step of storing a processed block of image data further comprises the step of: masking bytes of the processed block of image data from the clip mask value for data corresponding to image data not falling within the block of source image data; and storing mask bytes of the processed block of image data at a destination memory address.
Claim 15
Dependent Claim 57 words
The method of claim 12, wherein said step of adjusting the source memory address further comprises the step of advancing the source memory address to a byte boundary preceding the starting boundary of the block of source image data if the starting boundary of the block of source image data does not fall on a byte boundary.
Claim 16
Dependent Claim 54 words
The method of claim 13, wherein said step of masking bytes comprises the step of masking bytes of the processed block of image data corresponding to data retrieved from the byte boundary preceding the starting boundary of the block of source image data and the starting boundary of the block of source image data.
Claim 17
Dependent Claim 36 words
The method of claim 14, wherein said source block of image data comprises a monochrome bit map and said bit block transfer color expands said monochrome bit map to produce the processed block of image data.
Claim 18
Dependent Claim 183 words
The method of claim 14, wherein said source block of image data comprises an image pattern and the processed block of image data comprises a plurality of the image pattern repeated, said source memory address is encoded with a Pattern Y-Offset value for a pattern copying bit block transfer, said step of performing a bit block transfer further comprising the steps of receiving the source memory address encoded with the Pattern Y-Offset and decoding the source memory address and Pattern Y-Offset values; receiving and storing, in a plurality of source data latches, coupled to the source memory, at least a portion of a pattern to be copied in a bit block transfer, receiving, in a pattern line counter, coupled to the decoder means and the source data latches, the Pattern Y-Offset value and maintaining a pattern line count of the at least a portion of the pattern stored in the source data latches, and incrementing the pattern line count by the pattern Y-Offset value when a first portion of the processed block of image data comprises only a portion of the image pattern.
Claim 19
Dependent Claim 56 words
The method of claim 14, wherein the step of performing a bit block transfer of a block of source image data from a source memory further comprises the steps of: calculating, in a host processor the source memory address from source image block dimension data, and outputting the source address through a host processor interface means.
Claim 20
Dependent Claim 20 words
The method of claim 17, wherein display controller driver software operating in the host processor generates the source memory address.
Claim 21
Dependent Claim 46 words
The method of claim 14, wherein the step of performing a bit block transfer of a block of source image data from a source memory comprises the step of performing a bit block transfer of a block of source image data from a host processor memory.
Claim 22
Dependent Claim 45 words
The method of claim 14 wherein the step of performing a bit block transfer of a block of source image data from a source memory comprises the step of performing a bit block transfer of a block of source image data from the display memory.
Claim 23
Dependent Claim 35 words
The method of claim 14 wherein the step of storing a processed block of image data in a destination memory comprises the step of storing a processed block of image data in the display memory.
Claim 24
Dependent Claim 54 words
The method of claim 16, further comprising the steps of: generating a pattern Y-offset address; receiving, in a pixel depth conversion table, the pattern Y-offset address and a pixel depth value and outputting a corresponding line offset address; and adding a source start address to the line offset address and outputting a blit address.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-09-15 2001-03-17 2001-09-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-09-15 2005-03-17 2005-09-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-09-15 2009-03-17 2009-09-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag