An image processing system is disclosed in which the various image processing circuits are arranged in a pipeline such that the output of each circuit is passed on to the next circuit in the pipeline without storing the data between circuits of the pipeline. The individual processing circuits are program-controlled by a common controller in order to properly synchronize various operations such as scanning, compressing, expanding, rescaling, windowing and rotating. The rescaling operation is carried out by executing a sequence of program instructions applying to single pixels, or to single lines of the image. These instructions include deletion, duplication and passing through of the image element. Windowing is provided by inserting start-of-window and end-of-window instructions in the appropriate places in the sequence of rescaling instructions.
An electrophotographic printer (1) adjusts high resolution data while preserving the resolution capabilities of the printer. Data in a 600.times.600 bit map is assigned alternately to two rows of a 300.times.1200 bit map. Excellent visual effects are realized.
A decompressor and decompression methods rotate and decompress compressed images for devices with asymmetric resolution. A compressed data file is transmitted and/or input to a decompressor. The decompressor receives a group of consecutive image blocks of the compressed data file and separately scaled-inverse-transforms each image block in the group. Then, each block is placed in a macroblock. Accordingly, the combination of the scaled blocks provides the required global scaling for image rotation. Thus, time and effort spent in scaling the decompressed image is avoided.
A programmable graphics processor for multithreaded execution of program instructions including a thread control unit. The programmable graphics processor is programmed with program instructions for processing primitive, pixel and vertex data. The thread control unit has a thread storage resource including locations allocated to store thread state data associated with samples of two or more types. Sample types include primitive, pixel and vertex. A number of threads allocated to processing a sample type may be dynamically modified.
A programmable graphics processor for multithreaded execution of program instructions including a thread control unit. The programmable graphics processor is programmed with program instructions for processing primitive, pixel and vertex data. The thread control unit has a thread storage resource including locations allocated to store thread state data associated with samples of two or more types. Sample types include primitive, pixel and vertex. A number of threads allocated to processing a sample type may be dynamically modified.
The invention is directed to a method and apparatus for serially receiving and dimensionally transforming an image in an ordered sequence of interleaved blocks. Each block comprises an ordered sequence of samples of the image, and the samples of a single block all corresponding to a single color component. The method includes steps of counting the samples in the order received to determine a sequence number for each sample, comparing the sequence number with a set of predetermined values; and dimensionally transforming the image by either discarding the sample or storing the sample in a memory depending on the result of the comparison.