Apparatus and method to merge images rasterized at different resolutions
AssigneeRampage Systems, Inc.
InventorsMitchell Bogart, Stefan Decuypere, Andrew Masia, Matthew Proujansky
Life of this patent
Estimating the term…
Abstract
An input image containing high resolution images and low resolution images is rasterized twice, once at a high resolution and once at a low resolution. The rasterized images are represented in compressed form using a run-code encoding technique. The low resolution images are rasterized during the low resolution rasterization and are scaled to the output resolution. The high resolution images are rasterized during the high resolution rasterization. The two rasterizations are merged in hardware, producing a composite output image which contains low resolution image elements and high resolution image elements.
Claims63
A method of producing an output image from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said method including the steps of:
- rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire said input image wherein said high resolution input image elements are represented at said high resolution;
- rasterizing said input image at a low resolution to produce a low resolution rasterization of said entire input image wherein said low resolution input image elements are represented at said low resolution;
- selecting certain of said high resolution image elements from said high resolution rasterization;
- selecting certain of said low resolution image elements from said low resolution rasterization;
- and
- sending said selected high resolution image elements and said selected low resolution image elements to an output device to produce said output image at an output resolution.
A method of producing an output image at an output resolution from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said method including the steps of:
- rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire input image wherein said input image is represented as a plurality of data elements at said high resolution;
- rasterizing said input image at a low resolution to produce a low resolution rasterization of said entire input image wherein said input image is represented as a plurality of data elements at said low resolution;
- scaling said low resolution rasterization to the resolution of said output image;
- merging said high resolution rasterization and said low resolution rasterization to produce said output image by combining certain of said high resolution data elements with certain of said low resolution data elements, said output image including said certain high resolution data elements and said certain low resolution data elements.
A method of producing an output image from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said method including the steps of:
- rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire input image wherein said input image is represented as a plurality of pixels at said high resolution;
- rasterizing said input image at a low resolution to produce a low resolution rasterization of said entire input image wherein:
- said input image is represented as a plurality of pixels at said low resolution wherein:
- contiguous pixels on a line having the same characteristics are represented as a single pixel having those characteristics and a repeat pixel code, and
- contiguous lines having the same characteristics are represented as a single line having those characteristics and a repeat line code;
- scaling said repeat pixel code in said low resolution rasterization by a scaling factor SX wherein said scaling factor SX is equal to the resolution of said output image in a horizontal direction divided by said low resolution in said horizontal direction;
- scaling said repeat line code in said low resolution rasterization by a scaling factor SY wherein said scaling factor SY is equal to the resolution of said output image in a vertical direction divided by said low resolution in said vertical direction;
- merging said high resolution rasterization and said low resolution rasterization by:
- (a) obtaining one pixel from said high resolution rasterization;
- (b) obtaining one pixel from said low resolution rasterization;
- (c) sending said one high resolution pixel to said output device to produce said output image if said one high resolution pixel is not said selector code;
- (d) sending said one low resolution pixel to said output device to produce said output image if said one high resolution pixel is said selector code;
- and
- repeating steps (a) through (d) until all of said pixels in said high resolution rasterization and said low resolution rasterization have been obtained.
In an image processing system, a method of producing elements of output data at an output resolution, said output data being arranged in a two-dimensional array of pixels beginning at element (0,0) and ending at element (a,b), said method comprising the steps of:
- representing a first raster image as a first group of pixels at a first resolution, said pixels of said first group being arranged in a two-dimensional array beginning at element (0,0) and ending at element (a,b);
- representing a second raster image as a second group of pixels at a second resolution, said pixels of said second group being arranged in a two-dimensional array beginning at element (0,0) and ending at element (c,d), contiguous pixels on a line having the same pixel characteristics being represented as a single pixel having said pixel characteristics and a repeat pixel code, and contiguous lines having the same line characteristics being represented as a single line having said line characteristics and a repeat line code;
- determining a horizontal scaling factor SX and a vertical scaling factor SY to scale said second group of pixels in, respectively, a horizontal direction and a vertical direction, to result in a representation at said output resolution;
- indicating whether each element of said output data is an element of data in said first group of pixels or is an element of data in said second group of pixels;
- producing pixel (i,j) of said output data from pixel (i,j) of said first group of pixels when so indicated;
- and
- producing pixel (i,j) of said output data from pixel (i DIV SX, j DIV SY) of said second group of pixels when so indicated;
- wherein DIV indicates integer division with rounding;
- and i varies from 0 to a, and j varies from 0 to b.
In an image processing system, a method of producing elements of output data at an output resolution, said output data being arranged in a two-dimensional array of pixels beginning at element (0,0) and ending at element (a,b), said method comprising the steps of:
- representing an input image as a first group of pixels at a first resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (c,d);
- representing said input image as a second group of pixels at a second resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (e,f);
- determining a first horizontal scaling factor SX1 and a first vertical scaling factor SY1 to scale said first group of pixels in, respectively, a horizontal direction and a vertical direction to result in a representation at said output resolution;
- determining a second horizontal scaling factor SX2 and a second vertical scaling factor SY2 to scale said second group of pixels in, respectively, a horizontal direction and a vertical direction to result in a representation at said output resolution;
- indicating whether each element of said output data is an element of data in said first group of pixels or is an element of data in said second group of pixels;
- producing pixel (i,j) of said output data from pixel (i DIV SX1, j DIV SY1) of said first group of pixels when so indicated;
- producing pixel (i,j) of said output data from pixel (i DIV SX2, j DIV SY2) of said second group of pixels when so indicated;
- wherein DIV indicates integer division with rounding;
- and i varies from 0 to a, and j varies from 0 to b.
An apparatus for producing an output image from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said method including:
- means for rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire input image wherein said high resolution input image elements are represented at said high resolution;
- means for rasterizing said input image at a lower resolution to produce a low resolution rasterization of said entire input image wherein said low resolution input image elements are represented at said low resolution;
- means for selecting certain of said high resolution image elements from said high resolution rasterization;
- means for selecting certain of said low resolution image elements from said low resolution rasterization;
- and
- means for sensing said selected high resolution image elements and said selected low resolution image elements to an output device to produce said output image at an output resolution.
An apparatus for producing an output image at an output resolution from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said apparatus including:
- means for rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire input image wherein said input image is represented as a plurality of data elements at said high resolution;
- means for rasterizing said input image at a low resolution to produce a low resolution rasterization of said entire input image wherein said input image is represented as a plurality of data elements at said low resolution;
- means for scaling said low resolution rasterization to the resolution of said output image;
- and
- means for merging said high resolution rasterization and said low resolution rasterization to produce said output image at said output resolution by combining certain of said high resolution data elements with certain of said low resolution data elements, said output image including said certain high resolution data elements and said certain low resolution data elements.
An apparatus for producing an output image from an input image, said input image being comprised of low resolution input image elements and high resolution input image elements, said apparatus including:
- means for rasterizing said input image at a high resolution to produce a high resolution rasterization of the entire input image wherein said input image is represented as a plurality of pixels at said high resolution;
- means for rasterizing said input image at a low resolution to produce a low resolution rasterization of said entire input image wherein:
- said input image is represented as a plurality of pixels at said low resolution wherein:
- contiguous pixels on a line having the same characteristics are represented as a single pixel having those characteristics and a repeat pixel code, and
- contiguous lines having the same characteristics are represented as a single line having those characteristics and a repeat line code;
- means for scaling said repeat pixel code in said low resolution rasterization by a scaling factor SX wherein said scaling factor SX is equal to the resolution of said output image in a horizontal direction divided by said low resolution in said horizontal direction;
- means for scaling said repeat line code in said low resolution rasterization by a scaling factor SY wherein said scaling factor SY is equal to the resolution of said output image in a vertical direction divided by said low resolution in said vertical direction;
- means for merging said high resolution rasterization and said low resolution rasterization by:
- (a) obtaining one pixel from said high resolution rasterization;
- (b) obtaining one pixel from said low resolution rasterization;
- (c) sending said high resolution pixel to said output device to produce said output image if said one high resolution pixel is not said selector code;
- (d) sending said low resolution pixel to said output device to produce said output image if said one high resolution pixel is said selector code;
- and
- repeating steps (a) through (d) until all of said pixels in said high resolution rasterization and said low resolution rasterization have been obtained.
In an image processing system, an apparatus for producing elements of output data at a first resolution, said output data being arranged in a two-dimensional array of pixels beginning at element (0,0) and ending at element (a,b), said apparatus comprising:
- means for representing an input image as a first group of pixels at said first resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (a,b);
- means for representing said input image as a second group of pixels at a second resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (c,d);
- means for determining a horizontal scaling factor SX and a vertical scaling factor SY to scale said second group of pixels in, respectively, a horizontal direction and a vertical direction to result in a representation at said first resolution;
- means for indicating whether each element of said output data is an element of data in said first group of pixels or is an element of data in said second group of pixels;
- means for producing pixel (i,j) of said output data from pixel (i,j) of said first group of pixels when so indicated;
- and
- means for producing pixel (i,j) of said output data from pixel (i DIV SX, j DIV SY) of said second group of pixels when so indicated;
- wherein DIV indicates integer division with rounding;
- and i varies from 0 to a, and j varies from 0 to b.
In an image processing system, an apparatus for producing elements of output data at an output resolution, said output data being arranged in a two-dimensional array of pixels beginning at element (0,0) and ending at element (a,b), said apparatus comprising:
- means for representing an input image as a first group of pixels at a first resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (c,d);
- means for representing said input image as a second group of pixels at a second resolution, said pixels being arranged in a two-dimensional array beginning at element (0,0) and ending at element (e,f);
- means for determining a first horizontal scaling factor SX1 and a first vertical scaling factor SY1 to scale said first group of pixels in, respectively, a horizontal direction and a vertical direction to result in a representation at said output resolution;
- means for determining a second horizontal scaling factor SX2 and a second vertical scaling factor SY2 to scale said second group of pixels in, respectively, a horizontal direction a vertical direction to result in a representation at said output resolution;
- means for indicating whether each element of said output data is an element of data in said first group of pixels or is an element of data in said second group of pixels;
- means for producing pixel (i,j) of said output data from pixel (i DIV SX1, j DIV SY1) of said first group of pixels when so indicated;
- means for producing pixel (i,j) of said output data from pixel;
- (i DIV SX2, j DIV SX2) of said second group of pixels when so indicated;
- wherein DIV indicates integer division with rounding;
- and i varies from 0 to a, and j varies from 0 to b.
Dependencies are inferred from the claim text.