摘要:
A method for converting an image from a bit map to a run end or run length representation includes the steps of: storing said image as a bit map representation; initializing all variables to be used in the conversion process; converting by table lookup, each run of continuous color to a run representation, storing, in a run representation buffer, as a count value, each run representation; repeating the steps of converting and storing for each run of continuous color to the end of the image.
摘要:
A method for encoding and decoding digital image data, includes the steps of: testing the data for a vertical relationship between adjacent lines of the image; generating directly a reference code word representative of the vertical relationship for each successful test; generating by table lookup a run code word for a stream of data bits of common value for each unsuccessful test whereby a data element representing a number of bits in a code word is stored at a predetermined offset from a table entry for the code word; merging the vertical reference code words and the run code words generated by the above steps to form an encoded data stream; testing the encoded data stream for a reference code; decoding directly the vertical relationship from the reference code for each successful test; decoding by table lookup a run of bits of common value by serial examination of said encoded data stream for each unsuccessful test; and storing data decoded by the above steps in a predetermined relationship. A fast algorithm for modifying an image in run representation form before encoding or after decoding is also described.
摘要:
A method for converting an image from a bit map to a run end or run length representation includes the steps of: storing the image as a bit map representation; accessing for each byte in an image by a look-up table a selected routine, corresponding to such byte, from a number of routines for converting bit strings to run representations, wherein the look-up table accessed is selected in accordance with a color value of a preceding pixel binary bit; and executing the selected routine on the current byte to convert the bit string to a run representation; storing in a run representation buffer, as a count value, each run representation; repeating the above steps of accessing and executing for each byte and storing for each run of continuous color to the end of the image.
摘要:
A method for rotating an image by 90 degrees includes the steps of: storing the image in a raster format arranged in r rows by c columns, image information in each row being stored in a number of bytes, each byte having b bits, there being c/b bytes in each row of the raster format; moving a block of the image into a temporary storage, there being r rows by v columns in the block; separating each image block into groups of bytes of rotatable size; determining for each group if all bits are the same value; rotating each group that does not have all bits the same value; storing each rotated group in an output area of the raster storage; repeating the above steps for all remaining blocks of the image.
摘要:
a dual-mode encoding and decoding procedure enables image data to be compressed optionally in one-dimensional (1D) mode or two-dimensional (2D) mode. In 1D mode, color transitions in the image are encoded as run length features only. In 2D mode, the transitions are encoded as vertical correlation features wherever possible, and where this is not possible, the transitions are encoded as run length features. The compression achieved by run length encoding in 2D mode may be enhanced in those instances where the "history line" which precedes the current scan line contains a transition located between points that are vertically aligned with the beginning and end points of the run currently being encoded. Run length counting is suspended for those pels in the current run that could have been referenced to the history transition if the run had ended with any of these pels, thereby enabling the run to be encoded as though it contained fewer pels than its actual length. Compression may be enhanced still further by dynamically interchanging the variable-length bit patterns respectively representing certain vertical correlation and run length prefix codes depending upon whether the preceding transition was encoded as a vertical correlation feature or a run length feature.
摘要:
Data compression for transfer (storage or communication) by a continuously adaptive probability decision model, closely approaches the compression entropy limit. Sender and receiver perform symmetrical compression/decompression of binary decision n according to probabilities calculated independently from the transfer sequence of 1 . . . n-1 binary decisions. Sender and receiver dynamically adapt the model probabilities, as a cumulative function of previously presented decisions, for optimal compression/decompression. Adaptive models for sender and receiver are symmetrical, to preserve data identity; transfer optimization is the intent. The source model includes a state generator and an adaptive probability generator, which dynamically modify the coding of decisions according to state, probability and bit signals, and adapt for the next decision. The system calculates probability history for all decisions, including the current decision, but uses probability history for decision n-1 (the penultimately current decision) for encoding decision n (the dynamically current decision). The system, separately at source and destination, reconfigures the compression/expansion algorithm, up to decision n-1, codes each decision in the data stream optimally, according to its own character in relation to the calculated probability history, and dynamically optimizes the current decision according to the transfer optimum of the data stream previously transferred. The receiver operates symmetrically to the sender. Sender and receiver adapt identically, and adapt to the same decision sequence, so that their dynamically reconfigured compression-expansion algorithms remain symmetrical--even though the actual algorithms may change with each decision as a function of dynamic changes in probability history.
摘要:
A high speed form of finite precision binary arithmetic coding comprises encoding/decoding performed in the logarithm domain, resulting in facilitated computation based on additions and subtractions rather than multiplications and divisions. In encoding and decoding, antilogs are used which are retrieved from an antilog table. The antilog table is characterized by the following constraints to assure decodability wherein for any two mantissas .alpha. and .beta. representing respective inputs to the antilog table:(a) antilog (.alpha.+.beta.).ltoreq.antilog (.alpha.) * antilog (.beta.); at least when (.alpha.+.beta.) is less than one; and(b) each antilog table output value is to be unique.
摘要:
A method for enlarging a binary image by an arbitrary factor includes the steps of storing the image in bit sequence; rotating the image in a first direction by ninety degrees; inserting one or more rows of expansion bits along the original horizontal axis of the image to convert i rows of bits to j rows of bits where i
摘要:
A system for producing improved halftone images from continuous tone input images, the pixels of which have been digitized as gray scale values, using a printer having the capability to print a set of output pel patterns producing a respective set of discrete gray scale values, is disclosed. Blocks of pel patterns with discrete gray scale values approximating the gray scale values of the input pixels are selected for printing, and the error in a first block due to the difference between the gray scale value associated with the block and the gray scale value of the corresponding input pixel, is determined. To diffuse this error it is distributed to at least two adjacent blocks using a random number generator to determine the distribution such that a random fraction of said error is distributed to one block and the remainder is distributed to the other block. This error diffusion process is carried through the adjacent blocks taking into account the error fraction already assigned. For edge enhancement the brightness gradient surrounding each input pixel is determined and a threshold value is set below which said gradient is classified as small and above which it is classified as large. When said gradient is small, the selected discrete pattern is printed for the pixel, and when said gradient is large, the pel pattern is altered and the block representing the pixel is printed biasing the pels therein toward the darker input pixels.
摘要:
A CPU communicates via an indirect memory access channel (IMA) to many devices on a high speed loop and an asynchronous low speed loop. The IMA connects to a loop adaptor (LAD) which connects to the primary parallel loop. A low speed serial loop is coupled to the primary loop through a general device adaptor and another LAD. The time of the loops is broken down into frames divided into inbound and outbound halves. Each half frame carries address and control data. The address in each frame is highly variable depending upon demand by devices and the allocation of service is controlled by interrupt signals by devices on the loops which can demand service whenever an empty or free inbound frame passes by their inputs as indicated by signals known as free bit signals, which are suppressed as soon as a device seizes a free inbound frame.