Browse Prior Art Database

USE OF BITBLT FOR PIXEL MANIPULATION

IP.com Disclosure Number: IPCOM000025443D
Original Publication Date: 1985-Jun-30
Included in the Prior Art Database: 2004-Apr-04
Document File: 6 page(s) / 239K

Publishing Venue

Xerox Disclosure Journal

Abstract

Many computers have the facility of fast handling of bitmaps by use of a bit block transfer instruction (BITBLT). Several methods are available to make use of the BITBLT instructions to speed up pixel manipulation. The pixels do not have to be part of a display bit map, nor do the pixels have to be one bit wide.

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 36% of the total text.

Page 1 of 6

XEROX DISCLOSURE JOURNAL

Proposed Classification US. CI. 358/260
Int. Cl. H04n 1/00

11 2 3 4 5 6 7 8 9 10 11 121

9 10 11 12

11 10 3 2 1 / 12

I:::: 9 10 11 12

(b)

FIG. 2

Volume 10 Number 3 May/June 1985

951

10 6 2

11 7 3

12 8 4

155

[This page contains 1 picture or other non-text object]

Page 2 of 6

USE OF BITBLT FOR PIXEL MANIPULATION (Cont'd)

51 6

i

i

4 4 515 6 61 I 4 4 515 6 614 4 515 6 6

i I I I 7 7 818 9 917 7 818 9 9

112233

112233

445566

445566

778899

778899

(el FIG. 3

 12 3 4 5 6 7 8 9101112 13 14 15 16 17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32 33 34 35 36

(C) (d 1

7 8 9 10 11 12
13 14 15 16 17 18

13 15 17
25 27
29

(Cl

156

  XEROX DISCLOSURE JOURNAL Volume 10 Number 3 May/June 1985

[This page contains 1 picture or other non-text object]

Page 3 of 6

USE OF BITBLT FOR PIXEL MANIPULATION (Cont'd)

A

1 x1 xx

X1111X

XlllllX XllllX XlXXlX 1 xx1 x

X X

(a 1

(b)

F/G. 5

ABCD

6

[This page contains 1 picture or other non-text object]

Page 4 of 6

USE OF BITBLT FOR PIXEL MANIPULATION (Cont'd)

Many computers have the facility of fast handling of bitmaps by use of a bit block transfer instruction (BITBLT). Several methods are available to make use of the BITBLT instructions to speed up pixel manipulation. The pixels do not have to be part of a display bit map, nor do the pixels have to be one bit wide.

With reference to Figure la, a given buffer contains 12 pixels, packed four to a word. It is necessary to unpack them. Consider the buffer as a bitmap, one word wide and three lines high, (Figure Ib). The size of the output buffer is 12 words, and is considered as a bitmap four words wide and three lines high, (see Figure Ic). First, zero the output buffer. Then, bit block transfer each column in Figure Ib into the least significant bits of each word column in Figure Ic. The result, viewed as a line buffer is shown in Figure Id, which contains the unpacked pixels.

In general, it is assumed that the first pixel in the packed array is aligned to a word boundary and denoted by W, the smallest number of words that contain an integer number of pixels and by b, the number of bits in a pixel. For example, if the pixels are four bits wide, then b = 4 and W = 1. For simplicity, it is assumed that the number of words in the packed array, L, is a multiple of W. Consider the packed array as a bitmap W words wide and L/W lines high, and that the output buffer as a bitmap W16/b words wide and L/W lines high. With a number (W/b) of BITBLT operations, the columns in the packed bitmap are transferred into the colums of the unpacked bitmap in the same manner as in the example above.

To pack the pixels, the same method as above is used, but in reverse order. Starting with the unpacked array as shown in Figure Id, consider a bitmap of given dimensions as in Figure Ic. A bit block transfer of the pixels in the least significant bits of each word column is made into the packed (output) array as shown in Figure Ib. The result is a packed array shown in Figure la....