Claims
- 1. A method of concurrently filling and scanning a memory comprised of at least a first and a second memory partition, one of the first and second memory partitions initially being designated a selected memory partition, and the other initially being designated a non-selected memory partition, the first and second memory partitions being adapted for use in a video display of the ping-pong type which alternates between displaying video images stored in the first and second memory partitions, each memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating first subgroup and second subgroup rows, each memory cell being logically addressable by a column and row from the plurality of columns and rows, respectively, the plurality of memory cells being comprised of first subgroup memory cells which are logically addressable in the first subgroup rows and second subgroup memory cells which are logically addressable in the second subgroup rows, the method comprising successively and repeatedly, for each of the first subgroup memory cells, the steps of:
- storing a fill pattern in the first and a second subgroup memory cell in the non-selected memory partition, the second subgroup memory cell being logically addressable in a second subgroup row adjacent to the first subgroup row of the first subgroup memory cell; and
- scanning the first subgroup memory cell in the selected memory partition.
- 2. The method of claim 1, further comprising, successively and repeatedly, for each of the first subgroup memory cells, the step of scanning a second subgroup memory cell, the second subgroup memory cell being logically addressable in the second subgroup row adjacent to the first subgroup row of the first subgroup memory cell in the selected memory partition.
- 3. A method of concurrently filling and scanning a memory comprised of at least a first and a second memory partition, one of the first and second memory partitions initially being designated a selected memory partition, and the other initially being designated a non-selected memory partition, the first and second memory partitions being adapted for use in a video display system of the ping-pong type which alternates between displaying video images stored in the first and second memory partitions on a video display, each memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating rows from a first subgroup of rows and rows from a second subgroup of rows, one of the first and second subgroups of rows initially being designated a selected subgroup of rows and the other initially being designated a non-selected subgroup of rows, each memory cell holding a data value and being logically addressable by a column and row from the plurality of columns and rows, respectively, the method comprising the steps of:
- (a) selecting a current column from the plurality of columns and a current row from the selected subgroup of rows, such that the current column and row point to a first column and a first row, respectively;
- (b) storing a fill pattern in the memory cell in the non-selected memory partition pointed to by the current column and row, and scanning the memory cell in the selected memory partition pointed to by the current column and row;
- (c) storing the fill pattern in the memory cell in the non-selected memory partition pointed to by the current column and an adjacent row from the non-selected subgroup of rows;
- (d) incrementing the current column to point to the next memory cell in the current row in each of the non-selected and selected memory partitions;
- (e) repeating steps (b), (c) and (d) until the fill pattern is stored in every memory cell in the current and adjacent rows in the non-selected memory partition, and until every memory cell in the current row in the selected memory partition is scanned;
- (f) resetting the current column and incrementing the current row to point to the memory cell in the first column and the next row in the selected subgroup of rows; and
- (g) repeating steps (b), (c), (d), (e) and (f) until the fill pattern is stored in every memory cell in the non-selected memory partition, and until every memory cell in the first subgroup of rows in the selected memory partition is scanned.
- 4. The method of claim 3, further comprising the step of:
- (h) selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and scanning every memory cell in the selected subgroup of rows in the selected memory partition.
- 5. The method of claim 4, further comprising the step of:
- (i) selecting the non-selected memory partition such that the selected memory partition becomes the non-selected memory partition and the non-selected memory partition becomes the selected memory partition, selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and returning to step (a).
- 6. The method of claim 4, further comprising the steps of:
- (i) selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and scanning every memory cell in the selected subgroup of rows in the selected memory partition; and
- (j) selecting the non-selected memory partition such that the selected memory partition becomes the non-selected memory partition and the non-selected memory partition becomes the selected memory partition, selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and returning to step (a).
- 7. The method of claim 6, wherein the selected memory partition is initially the first memory partition, and wherein the selected subgroup of rows is initially the first subgroup of rows.
- 8. The method of claim 3, wherein step (c) further comprises scanning the memory cell in the selected memory partition pointed to by the current column and the adjacent row.
- 9. The method of claim 8, wherein the video display is comprised of a plurality of pixels arranged in the plurality of rows and in the plurality of columns, each pixel having a corresponding memory cell in both the first and second memory partitions.
- 10. The method of claim 9, wherein the method is implemented in an interlaced video display system having a display update rate of 20 Hz, in which the rows in the plurality of rows are consecutively numbered, and in which rows in the first subgroup of rows are odd-numbered rows and rows in the second subgroup of rows are even-numbered rows, and wherein the adjacent row from the non-selected subgroup of rows is numbered one less than the current row.
- 11. The method of claim 9, wherein the method is implemented in a video display system having interlaced raster enhancement and wherein the method further comprises, between step (c) of claim 8 and step (d) in claim 3 the step of:
- (a) consecutively comparing, in order, the data values in the memory cell scanned in step (b) of claim 3, the memory cell in an adjacent column to the memory cell scanned in step (b) of claim 3, the memory cell scanned in step (c) of claim 8, and the memory cell in an adjacent column to the memory cell scanned in step (c) of claim 8, and outputting the first of the data values which is not equivalent to the fill pattern to a video generator means for display on a video display, or, if all of the data values are equivalent to the fill pattern, outputting the data value in the memory cell scanned in step (b) of claim 3 to the video generator means.
- 12. The method of claim 9, wherein the video display is comprised of 262,144 pixels arranged in 512 rows and 512 columns, and wherein each memory partition is comprised of 262,144 memory cells arranged in 512 rows and 512 columns.
- 13. The method of claim 12, wherein each memory cell is 8 bits wide, and wherein each memory partition is comprised of two 256K.times.4 RAM integrated circuit chips.
- 14. The method of claim 3, wherein the method automatically executes at the beginning of a major display cycle, and wherein the method is completed concurrently with the completion of a first minor display cycle in the major display cycle.
- 15. A method of filling a memory partition for use with a video display with a fill pattern, the memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating first subgroup and second subgroup rows, each memory cell being logically addressable by a column and row from the plurality of columns and rows, respectively, the method comprising the steps of:
- (a) selecting a current column from the plurality of columns and a current row from the first subgroup of rows, such that the current column and row point to a first column and a first row, respectively;
- (b) storing the fill pattern in the memory cell in the memory partition pointed to by the current column and row;
- (c) storing the fill pattern in the memory cell in the memory partition pointed to by the current column and an adjacent second subgroup row which is adjacent to the current row;
- (d) incrementing the current column to point to the next memory cell in the current row in the memory partition;
- (e) repeating steps (b), (c) and (d) until the fill pattern is stored in every memory cell in the current and adjacent second subgroup rows in the memory partition;
- (f) resetting the current column and incrementing the current row to point to the memory cell in the first column and the next row in the first subgroup of rows; and
- (g) repeating steps (b), (c), (d), (e) and (f) until the fill pattern is stored in every memory cell in the memory partition.
- 16. The method of claim 15, wherein the memory partition is a non-selected memory partition, the non-selected memory partition being one of a first or second memory partition for use in a video display of the ping-pong type which alternates between displaying video images stored in the first and second memory partitions, and wherein the other of the first or second memory partition is a selected memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating first subgroup and second subgroup rows, each memory cell being logically addressable by a column and row from the plurality of columns and rows, respectively.
- 17. The method of claim 16, wherein step (b) further comprises scanning the memory cell in the selected memory partition pointed to by the current column and row.
- 18. The method of claim 17, wherein step (c) further comprises scanning the memory cell in the selected memory partition pointed to by the current column and the adjacent second subgroup row.
- 19. The method of claim 18, further comprising:
- (h) scanning every memory cell in every second subgroup row in the selected memory partition; and
- (i) selecting the non-selected memory partition such that the selected memory partition becomes the non-selected memory partition and the non-selected memory partition becomes the selected memory partition, and returning to step (a).
- 20. A method of concurrently scanning from, and storing video information in, a memory comprised of at least a first and a second memory partition, one of the first and second memory partitions initially being designated a selected memory partition, and the other initially being designated a non-selected memory partition, the first and second memory partitions being adapted for use in a video display of the ping-pong type which alternates between displaying video images stored in the first and second memory partitions, each memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating rows from a first subgroup of rows and rows from a second subgroup of rows, one of the first and second subgroups of rows initially being designated a selected subgroup of rows and the other initially being designated a non-selected subgroup of rows, each memory cell being logically addressable by a column and row from the plurality of columns and rows, respectively, the video information to be stored in the memory being comprised of a plurality of bit-mapped images, each bit-mapped image having a plurality of image values logically addressable by a column and row from the plurality of columns and rows, respectively, the method comprising the steps of:
- (a) selecting a current column from the plurality of columns and a current row from the selected subgroup of rows, such that the current column and row point to a first column and a first row, respectively;
- (b) providing a first image value pointed to by the current column and row in a bit-mapped image from the plurality of bit-mapped images, storing the first image value in the memory cell in the non-selected memory partition pointed to by the current column and row, and scanning the memory cell in the selected memory partition pointed to by the current column and row;
- (c) providing a second image value pointed to by the current column and an adjacent row from the non-selected subgroup of rows in the bit-mapped image, and storing the second image value in the memory cell in the non-selected memory partition pointed to by the current column and the adjacent row;
- (d) incrementing the current column to point to the next memory cell in the current row in each of the non-selected and selected memory partitions;
- (e) repeating steps (b), (c) and (d) until image values from the bit-mapped image are stored in every memory cell in the current and adjacent rows in the non-selected memory partition, and until every memory cell in the current row in the selected memory partition is scanned;
- (f) resetting the current column and incrementing the current row to point to the memory cell in the first column and the next row in the selected subgroup of rows; and
- (g) repeating steps (b), (c), (d), (e) and (f) until image values from the bit-mapped image are stored in every memory cell in the non-selected memory partition, and until every memory cell in the first subgroup of rows in the selected memory partition is scanned.
- 21. The method of claim 20, wherein step (c) further comprises scanning the memory cell in the selected memory partition pointed to by the current column and the adjacent row.
- 22. The method of claim 20, further comprising the step of:
- (h) selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and scanning every memory cell in the selected subgroup of rows in the selected memory partition.
- 23. The method of claim 22, further comprising the step of:
- (i) selecting the non-selected memory partition such that the selected memory partition becomes the non-selected memory partition and the non-selected memory partition becomes the selected memory partition, selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and returning to step (a).
- 24. The method of claim 22, further comprising the steps of:
- (i) selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and scanning every memory cell in the selected subgroup of rows in the selected memory partition; and
- (j) selecting the non-selected memory partition such that the selected memory partition becomes the non-selected memory partition and the non-selected memory partition becomes the selected memory partition, selecting the non-selected subgroup of rows such that the selected subgroup of rows becomes the non-selected subgroup of rows and the non-selected subgroup of rows becomes the selected subgroup of rows, and returning to step (a).
- 25. The method of claim 24, wherein the selected memory partition is initially the first memory partition, and wherein the selected subgroup of rows is initially the first subgroup of rows.
- 26. A video display system of the ping-pong type comprising:
- a memory comprised of at least first and second memory partitions, the first and second memory partitions are selectable such that when one of the first and second memory partitions is selected, the other of the first and second memory partitions is non-selected, each memory partition having a plurality of memory cells logically addressable as a two-dimensional array having a plurality of columns and a plurality of rows, the plurality of rows being comprised of alternating rows from a first subgroup of rows and rows from a second subgroup of rows, each memory cell holding a data value and being logically addressable by a column and row from the plurality of columns and rows, respectively;
- graphics generator means for providing video information to the memory, the graphics generator means comprising means for storing the video information as data values in memory cells in the first and second memory partitions;
- scanning means for continuously scanning the memory and for providing a stream of data values, the scanning means comprising means for alternating between selecting the first and second memory partitions such that in a first field of a display update frame, the scanning means scans the selected memory partition and provides data values from the memory cells in the first subgroup of rows of the selected memory partition, and in a second field of the frame, the scanning means scans the selected memory partition and provides data values from the memory cells in the second subgroup of rows of the selected memory partition, the scanning means further comprising filling means for storing a fill pattern in each memory cell in the non-selected memory partition concurrently with scanning the selected memory partition and providing data values from the memory cells in the first subgroup of rows in the selected memory partition in the first field of the frame; and
- video generator means for generating video signals from the stream of data values provided by the scanning means.
- 27. The apparatus of claim 26, wherein the scanning means comprises means for scanning every memory cell in the selected memory partition in each field of the frame.
- 28. The apparatus of claim 27, wherein the scanning means further comprises an interlaced raster enhancement means for selecting the data values to be provided in the stream of data values by the scanning means from adjacent memory cells located in the first and second subgroups of rows of the selected memory partition.
Government Interests
The Government has rights in this invention pursuant to Contract No. F33600-88-G-5107, awarded by the Department of the Air Force.
US Referenced Citations (16)