Browse Prior Art Database

Run-Length Quantization of Vertical/Horizontal Lines

IP.com Disclosure Number: IPCOM000041852D
Original Publication Date: 1984-Mar-01
Included in the Prior Art Database: 2005-Feb-03
Document File: 2 page(s) / 40K

Publishing Venue

IBM

Related People

Bowater, RJ: AUTHOR [+3]

Abstract

This article concerns a technique for improving the performance of line drawing on a raster display, in particular by increasing the speed of drawing vertical and horizontal lines which typically constitute up to 50% of the picture content. The technique requires that the bit planes be organized into blocks n pels (picture elements) wide by m pels high. In such a case a horizontal line can be drawn across block boundaries, as shown in Fig. 1, and will, in general, have three sections: a first segment, one or more middle segments, and a last segment. The first segment has a length between d and (n-1) pels: zero if the line starts on an integral block boundary, non-zero if the line starts within a block. Then there follows a number of middle segments which span full blocks.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Run-Length Quantization of Vertical/Horizontal Lines

This article concerns a technique for improving the performance of line drawing on a raster display, in particular by increasing the speed of drawing vertical and horizontal lines which typically constitute up to 50% of the picture content. The technique requires that the bit planes be organized into blocks n pels (picture elements) wide by m pels high. In such a case a horizontal line can be drawn across block boundaries, as shown in Fig. 1, and will, in general, have three sections: a first segment, one or more middle segments, and a last segment. The first segment has a length between d and (n-1) pels: zero if the line starts on an integral block boundary, non-zero if the line starts within a block. Then there follows a number of middle segments which span full blocks. There will be between d and (line length in pels)/n integral blocks depending upon the start position and length. Finally, the last segment has a length between d and (n-1) pels, similar to the first segment. The middle segments can simply be stored as a block width of 'on' pels, so that pel plotting is not required. Thus in one block update, n pels are generated into the bit plane. Middle segment block updates are thus repeated, each time decrementing the line length count until the remaining line length is less than the full block width n. There are two approaches to generating the first and last segments: 1. The first segment is plotted into the bit plane pel by pel, each time decrementing the line length count and checking for the occurrence of a block boundary. When a block boundary is found, middle segment proce...