throbber
Illlllllllllll|lll|||||||||Illlllllllllllllllllllllllllll||||||l|l|llll||||
`US005504842A
`
`United States Patent
`
`[191
`
`[11] Patent Number:
`
`5,504,842
`
`Gentile
`
`[45] Date of Patent:
`
`Apr. 2, 1996
`
`[54] METHOD AND APPARATUS FOR
`PROCESSING DATA FOR A
`VISUAL-OUTPUT DEVICE WITH REDUCED
`BUFFER MEMORY REQUIREMENTS
`
`[75]
`
`Inventor; Ronald s_ Genfi]e,Athe1-ton, C3111-'_
`
`[73] Assignee:
`
`é;11(i)fI)e Systems, Inc., Mountain View,
`
`[21] Appl. No.: 467,792
`
`[22] Filed;
`
`Jun_ 6, 1995
`
`0475601A3
`
`3/1992 European Pat. Ofl‘.
`
`.
`
`OTHER PUBLICATIONS
`
`Fred Mintzer, “Integrating Image Into Computers for Pub-
`lishing” IEEE/IEICE Global Telecommunications Conf.
`1987, Nov. 15, 1987, Japan pp. 740-743, XP12797.
`Okada, et al., “Adaptive Coding for Text and Dithered
`Continuous—Tone Images”, Fujitsu Scientific & Technical
`Journal, vol. 23, N0. 2, 1987, Japan, pp. 101-110.
`
`Primary Examiner—Raymond J. Bayerl
`Assistant Examz'rzer—Steven P. Sax
`
`Related US, Application Data
`
`.
`
`Attomey, Agent, or Firm—Edward B. Anderson
`
`[62] Division of Ser. No. 974,204, Nov. 10, 1992.
`[51]
`Int. Cl.6 ................................................... .. G06K 15/00
`
`[52] US‘ Cl‘
`" 395/114; 395/115
`[58] Field of Search ................................... .. 395/115, 114,
`395/110: 101: 116; 353/296: 2989 400/121
`
`[56]
`
`9/1992
`
`5,150,454
`
`References Cited
`U_S_ PATENT Docmt/IENTS
`Sasaki et
`...........................
`et a1.
`............................ 395/114
`Istlgmuzu et 31'
`'
`400/121
`358/296
`5/1993
`5:208:676
`8/1993 Yamada ................................... 353/295
`5,241,397
`5,270,723 12/1993 Land et at _
`5,272,768 12/1993 Bauman et al.
`........................ 395/110
`5,276,780
`1/1994
`
`3/1994 Ota ........................................ .. 395/115
`5,295,233
`5,299,292
`3/1994 Kadowaki fit 31-
`-
`5,347,368
`9/1994 Mochizuki
`............................ .. 358/296
`5’354’135 10/1994 Sakagami et a1’ '
`5,355,441
`10/1994 Kawai et al.
`........................... 395/115
`5,374,943 12/1994 Lehmann et al. .
`5,377,312 12/1994 Kobayashi.
`FOREIGN PATENT DOCUMENTS
`
`[57]
`
`ABSTRACT
`
`A two-dimensional page representation to be printed has a
`combination of text, graphic and image representation types.
`A data memory Stores data representative of the page
`representation. A program memory stores program instruc-
`tions including a plurality of diiferent algorithms for com-
`pressing data associated with corresponding different repre-
`sentaltipint tytrlpesd and (tiheir combinations. 1? p(r(;cedssotrif)i]s
`coup e
`o
`e a a an program memories or a 1 en
`-
`separate data for gach of a
`of regions containing
`Collectively the page representation, with the data for each
`region corresponding to the portion of the page representa-
`fi°“ °°“tai¥“’d in Eh? ’°gi°’F (b)fdetem‘i“i“g the types °f
`r_ePTeS°ntat10I1s ar{
`eundanes 0 each _type_of representa-
`tion and
`combinations ofttypes contained in each region;
`(0) rastenzmg and compressmg the data associated wlth the
`determined types of representations for each region with
`algorithms based on selected compression factors; ((1) stor-
`ing sequentially the compressed data for each region; and (e)
`when needed for printing, sequentially for each region,
`reading the corresponding stored data decom ressing the
`read data and transmittin the decom; ressedpdata to the
`.
`3
`_
`.
`g
`P
`Pm“ deme f°r P““““g-
`
`0320014A2
`
`6/1989 European Pat. Off.
`
`.
`
`23 Claims, 8 Drawing Sheets
`
`i'ACTDflS AND rowMl BTIMATE
`--3-j——j-:—
`
`,,
`
` \ M
`Ina
`HST FDR REGIO
`ieaasazmD UN
`__;c_'v
`COMPRSS RAYTERIZED DATAWITH
`CURRENT COMPRESSION
`COMPRESSION SCHEME BASED cm
`FNTORS AND
`CURRENI COMPRBSION FACIURS
`REVISE B'l1M/\TE
`
`REVISco
`
`E CDMPREESION SCHEME BASED on CURRENT \,
`MFRESIQN FACIORSAND REVISE FSIIMATE
`
`
`
`
`
`
`ozcowxas DATA FOR REGION 11
`RECOMPRES wrn-1 COMPRESSION SCHEME
`BASED on CURRENTCOMPRESSION FACIORS
`
`
`
`I
`REVISE COMPRESSION SCHEME
`
`} war: on CURRENT COMPRESSION
`I mcroizs /wt) REVISE mime
`Oracle 1016
` Oracle 1016
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 1 of 8
`
`5,504,842
`
`I6
`_______ __;:___________,
`OUTPUT-DATA GENERATOR
`
`
`
`
` VISUAL-
`
`OUTPUT
`DEVICE
`
`
`VISUAL
`INFORMATION
`SOURCE
`
`INPUT PAGE DESCRIPTION DATA
`
`S6
`
`
`
`
`
`ASSIGN DATA TO REGIONISI
`
`
`I
`
`COMPRESS AND STORE DATA
`
`
`
`FOR EACH REGION: READ COMPRESSED
`DATA, DECOMPRESS IT, AND TRANSMIT
`THE DECOMPRESSED DATA TO THE
`VISUAL OUTPUT DEVICE
`
`
`
`58
`
`78
`
`
`
`80
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 2 of 8
`
`5,504,842
`
`Kiiscufifi in Eon 3?8“'ColiTS‘pace§7"the ClE‘basecTEeflor spices afi’
`mathematically related to the CIE 1931 (XYZ)-space, which is based on a model of
`human color perception.
`To render_ CIE-based colors on a device. a Poetsciipt
`ll11:.[PT'::.LmL|3f oszmtert frqm_the spesitled C1E:based_cclor 5518529 to 1be_d evwa
`na 've
`or space, taking into account the known properties of the device. The goal
`of this process is to produce output that accurately reproducesthe requested CIE-
`based color values as perceived by a human_observer.C|E—based color specification
`
`‘éTé’*°4.asea“‘°"”°ooior°'°i;"5';”"“°-°”°"oo.r....e,c""”“il..?‘
`_
`vice is
`_
`iy on
`I5
`is
`e
`_scope_of this manual (see the bibliogra hyl. The algorithm has many parameters.
`indiidmg_ai10pficnal. full mine cfmens n
`or lockup table. __ __
`
`4%: “
`
`OW9'0'9'0'9'0'o'¢'o'o‘¢'o'o'¢'¢'o'¢'€
`‘€0229292929292029iofofofoiofoiofofofé
`
`'.V.V.VV92920.9
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 3 of 8
`
`5,504,842
`
`58
`K.
`
`‘iii’
`SELECT FIRST OBJECT-
`DESCRIPTION COMMAND
`
`82
`
`II4
`
`SELECT NEXT
`COMMAND
`
`II2
`
`)2‘;
`
`ANOTHER
`COMMAND
`7
`
`/\/O
`
`
`
`E .
`.
`.
`is R
`
`DOES
`
`OBJECT DESCRIBED
`
`
`BY THE COMMAND INTERSECT
`REGION I
`
`
`7
`
`
`
`DETERMINE PRIMITIVE ELEMENTS, BOUNDING
`BOX (BBOX), AND REPRESENTATION
`TYPE FOR COMMAND FOR REGION I
`
`UPDATE THE DISPLAY UST, AND BBOX
`OF THE SAME TYPE FOR REGION I
`
`II8
`
`
`
`"6 3-R
`-
`-
`is 3
`0REGION
`
`
`
`I
`BBOXES
`INTERSECT
`7
`
`
`
`
`
`Vi-'5
`
`DIVIDED REGIONAL BBOXES INTO
`NON-INTERSECTING BBOXES
`
`Fig. 4
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 4 of 8
`
`5,504,842
`
`
`
`
`‘.''i-':'-‘-'''
`
`
`
`I
`
`'1, .1"
`‘Q
`
`
`
`
`
`J
`I
`
`134
`
`/,l36
`
`
`
`
` L‘\\\‘\\.\\!
`
`4
`'
`' J’ J’ 4' J J‘
`4
`4 .
`
`bD\\\\\\\\V
`x\\\\\\\\\V
`
`Jjfj
`.
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 5 of 3
`
`5,504,842
`
`
`
`
`
`140
`
`LIST x AND Y
`COORDINATES AND
`ORDER THE _ Y
`COORDINATES
`
`
`
`
`
` SELECT NEXT T\X/O
`LOWEST Y COORDINATES
`
`‘I42
`AND ORDER
`THE X COORDINATES
`
`
`
`SELECT NEXT "N/O
`LOWEST X COORDINATES
`FOR TEST BOX
`
`
`
`
`
`
`
`
`
`
`IS
`TEST BOX IN A
`BBOX
`7
`
`
`
`
`
`
`
`IDENTIFY TYPES) OF
`REPRESENTATION AND
`STORE COORDINATES OF TEST
`BOX AND REPRESENTATION
`TYPEISI
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 6 of 8
`
`5,504,842
`
`@
`
`SELECT COMPRESSION SCHEME
`BASED ON COMPRESSION
`FACTORS AND row AN ESTIMATE
`
`'50
`
`/
`
`If?
`
`RASTERIZE DISPLAY
`LIST FOR REGION i
`
`
`
`REVISE COMPRESSION
`SCHEME BASED ON
`CURRENT COMPRESSION
`FACTORS AND
`REVISE ESTIMATE
`
`
`
`COMPRESS RASTERIZED DATA WITH
`COMPRESSION SCHEME BASED ON
`CURRENT COMPRESSION FACTORS
`
`
`
`
`
`
`
`
`/V0
`
`UPDATE
`
`OR REPIQOCESS
`
`PROGRESS
`ADEQUATE
`? .
`
`
`
`REP/?OCE$$
`
`REVISE COMPRESSION SCHEME BASED ON CURRENT
`COMPRESSION FACTORS AND REVISE ESTIMATE
`
`
`
`/V0
`
`k
`
`I
`
`
`
`
`I80
`
`
`FOR REGION k IS
`
`COMPRESSED, SHOULD IT
`BE REPROCESSED
`
`
`
`
`DECOMPRESS DATA FOR REGION k
`RECOMPRESS WITH COMPRESSION SCHEME
`BASED ON CURRENT COMPRESSION FACTORS
`
`
`
`
`
`
`
`
`REVISE COMPRESSION SCHEME
`BASED ON CURRENT COMPRESSION
`FACTORS AND REVISE ESTIMATE
`
`UPD/I TE
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 7 of 3
`
`5,504,842
`
`READ COMPRESSED DATA FOR
`REGION i FROM COMPRESSED
`MEMORY,‘ DECOMPRESS THE
`DATA; AND WRITE IT IN
`UNCOMPRESSED MEMORY
`
`W2
`
`READ DATA FROM
`
`UNCOMPRESSED MEMORY
`
`AND TRANSMIT IT TO THE
`
`RASTER OUTPUT DEVICE
`
`

`
`U.S. Patent
`
`Apr. 2, 1996
`
`Sheet 8 of 8
`
`5,504,842
`
`VISUAL
`INFORMATION
`
`,2
`
`SOURCE
`M
`OESCRIPI/I/E
`COMM/WDS
`
`II: _‘_‘:_'_T_‘_It ._. :_“__‘_
`
`I OUTPUT-DATA
`I
`
`COMMAND
`
`I54
`
`_‘_T_‘_T.: I _‘_‘__‘_“_‘_'_:‘_C_ TE‘: :_“_'_|‘ I
`
`I 0
`
`J
`
`16'
`
`16
`
`I
`
`I
`.
`
`1
`
`'
`
`I
`
`i
`I
`I
`I
`
`WORKING MEMORY : >/
`TYPES
`LISTS
`NON-INTERS. BBOXES - PROCESS
`BY REGION
`RASTER GENERATOR
`UNCOMPRESSED
`
`I
`MEMORY
`64
`BY REGION
`
`DISPIAY
`
`REGIONAL BBOXES
`
`DISTILLING
`
`'
`
`'
`
`
`
`I
`
`I96
`
`- - _ _ _
`
`
`
`- _
`
`- ' -
`
`20
`
`.'
`
`_____,.____
`
`vIsuAL-
`
`I
`
`Is
`
`I
`
`'
`I
`
`'66
`
`206
`
`I
`I
`l
`E
`I
`E
`5
`I
`I
`I
`I
`I
`I65
`;
`I
`I
`-L _ _ — _ _ _ ._.
`I
`I
`I
`COMPRESSION :
`I
`OUTPUT
`:
`I
`uI\IIr
`.
`. CONTROLLER I
`:
`:
`I
`'
`CONSULTANT ,
`.
`.
`I
`,
`.
`I
`I
`I
`I
`'
`COMPRESSED
`:
`'
`,
`I
`MEMORY
`I
`I
`I
`1
`BY REGION
`I
`I
`I
`I
`_ — _ - 1 - -
`— - _ _ — -'‘ - _ _ - ‘ . . ' - _ _ - _ - _ - - " — — _ ' — - E
`- -
`I
`'
`OUTPUT
`I
`.-204
`I
`I
`I CONTROLLER I
`;
`i
`Ijgiiif
`'\
`I
`-(I6 K202
`Ir--mfi _—___1
`I
`gtgfigg
`I ____ -_:_________ _-£.-_23,°
`I
`I""“' "" "'
`OUTPUT
`
`I
`I
`I
`I
`I
`I
`:
`I
`I
`|_
`
`I
`.
`CONTROLLER
`,
`.
`|
`2 ]\2
`_ _ . _ .. .. .,. _ _ _ _ _ _ I
`I
`I...._-:L _ _ _ . _ _ _ __II
`I..-____t _ _ _ _ __l
`I
`210,-I
`COMPRESSED ;_ _ _ ,I DECOMPRESSION ;
`I
`:
`:
`MEMORY
`.
`:
`UNIT
`.
`I
`I
`2I4 ——————————— -—I
`————— "-1"---“ I
`:
`I'IRI’cE§IIIIp}eIa§§I:'I$I
`;
`I
`.' "O‘U{,[,}‘":
`ICONTROLLERI‘""" ‘ ‘1
`MEMORY
`I‘ “““““ ‘ ‘
`‘I
`|- — — — — — — — — — J
`— — _ _ _ . ~ . . . _ _ _ I
`I
`
`2 I 6
`
`

`
`5,504,842
`
`1
`METHOD AND APPARATUS FOR
`PROCESSING DATA FOR A
`VISUAL-OUTPUT DEVICE WITH REDUCED
`BUFFER MEMORY REQUIRENIENTS
`
`This is a division of copending application Ser. No.
`07/974,204, filed on Nov. 10, 1992.
`BACKGROUND OF THE INVENTION
`
`l.Field of the Invention
`
`This invention relates to a method and apparatus for
`processing data representative of a visual representation,
`typically including a combination of text, graphics, and
`images, that is to be output to a visual-output device, such
`as a screen display or print device. More particularly it
`relates to such a method and apparatus in which a data
`memory,
`referred to herein functionally as a “buffer
`memory”, has reduced capacity requirements resulting from
`the selective compression of data.
`2. Related Art
`
`The preferred embodiment of, and preferred method of
`practicing the present invention is directed to printers that
`form a raster image typically connected indirectly over a
`network, or directly to a computer for printing documents
`created on the computer. The invention is realizable for other
`forms of output devices as well, such as a video display
`generated on a CRT monitor or an LCD. Thus, the device
`creating the actual visual representation is referred to as a
`“visual-output device”. The visual area within which the
`visual representation exists is referred to as a “page”,
`regardless of its actual form. The complete visual represen-
`tation is referred to as a “page representation”. A separately
`defined part of a page representation is referred to as an
`“object”.
`One of the significant cost elements in a conventional
`printer is a buffer memory, also referred to as a frame buffer,
`for storing raster data defining the page representation.
`Conventional printer configurations employ buffer memo-
`ries that are capable of storing all of the raster data required
`to define each pixel on a page. An extensive amount of
`memory capacity is therefore typically required. A black-
`and-white representation for a 8.5 inchxll inch sheet of
`paper at a pixel density of 300 dpi (dots or pixels per inch)
`requires in excess of 1 MByte (1 million 8-bit bytes)of
`memory. Higher spatial and tonal resolutions, color priming
`and larger paper sizes require even more memory. A con-
`tinuous tone, four-color representation at a pixel density of
`600 dpi for the same sized page requires about 135 MBytes
`of memory. Since the printer costs rise with memory size, it
`is desirable to provide printers with reduced memory
`requirements.
`A memory device known by the proprietary name of
`“Memory Miser” produced by Advanced Micro Devices of
`Santa Clara, Calif., stores data in a resident memory by
`applying a compression algorithm to all of the data input.
`When required for output it is decompressed based on the
`reverse of the compression algorithm and output. If used in
`a printer, such a device would reduce the amount of memory
`required. However, the memory would need to be at least
`large enough to store the most complex page representation
`in order to be able to process any page that is input. This
`printer would have little flexibility in processing the variety
`of page representations possible with present day printers.
`SUMMARY OF THE INVENTION
`
`The present invention provides a method for using, and an
`apparatus permitting a reduced-size memory. Further,
`it
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`provides a method and apparatus that can accommodate a
`variety of page representation characteristics and data pro-
`cessing objectives.
`The invention is directed generally to an apparatus and a
`method for processing data representative of a page repre-
`sentation for output to a visual-output device, such as the
`electro-mechanical printing apparatus (also referred to as the
`print device), of a printer. The method begins with the step
`of receiving data that defines a page representation. A
`plurality of regions of the page are selected, which regions
`contain at least a portion of the page representation. In one
`aspect of the invention, separate data for each such region is
`identified corresponding to the portion of the page repre-
`sentation contained in that region. Data identified for at least
`one of the regions is then compressed, using at least one
`compression algorithm and stored. For producing the page
`representation after storing the compressed data, the com-
`pressed data is decompressed and transmitted to the visual-
`output device.
`In another aspect of the invention, at least one compres-
`sion factor and a plurality of compression algorithms are
`provided. The compression factor has a determinable value
`that is related to a reference value. A compression algorithm
`is then chosen based on the relationship of the determined
`value of the compression factor to the reference value.
`More specifically, the preferred embodiment of the inven-
`tion is an apparatus for printing a two-dimensional page
`representation composed potentially of text, graphic and
`image objects (object representations) individually, and in
`combination. A print device is responsive to raster data for
`printing a page containing the page representation. An input
`device, such as a personal computer or workstation, is used
`for inputting data defining the page representation. A pro-
`gram memory stores program instructions including a plu-
`rality of diiferent algorithms for compressing the data asso-
`ciated with corresponding different representation types and
`their combinations. The selection of compression algorithms
`is based in part on balancing the compression factors of
`compression ratio, computational complexity, and visual
`quality. A processor is coupled to the input device, print
`device, program memory and a data memory for executing
`the stored program instructions.
`The processor is responsive to the data input in the form
`of descriptive commands for identifying data for each of a
`plurality of ordered regions or bands containing collectively
`at least a portion, and preferably, all of the page represen-
`tation. The data for each region corresponds to the portion of
`the page representation contained in that region. Some
`regions may not contain data. The descriptive commands,
`which are not necessarily band limited, are converted into
`lists of primitive elements selected from a set of primitive
`elements. Each primitive element represents at least a por-
`tion of an object representation. These lists are referred to as
`display lists. There is preferably a display list for each
`region, although the display list could be for the entire page,
`or for other defined regions.
`The types (and combinations of types) of representations
`and boundaries (referred to as bounding boxes) of each type
`contained in each region are determined. The display list
`data associated with the determined types of representations
`for each region is rasterized into an uncompressed band and
`then compressed using algorithms corresponding to the
`analysis of certain compression factors. Rasterizing refers
`generally to the conversion of high-level descriptive com-
`mands into rasters. Data associated with primitive elements
`is often already in raster form. However, for purposes of this
`
`

`
`3
`
`4
`
`5,504,842
`
`discussion, rasterizing refers to the conversion of display list
`data for a region into raster form without regard for whether
`or not the data associated with the corresponding primitive
`elements is already in raster form.
`The compression factors may, and preferably do include
`compression goals specifying target visual quality, compres-
`sion ratio, and computational complexity. Compression ratio
`refers generally to the bytes of memory required to hold the
`compressed data relative to the bytes of memory required to
`hold the same data uncompressed. Additionally considered
`are such factors as the type of representation, content of
`individual bounding boxes, overall content of the page
`representation, estimated versus actual compression being
`achieved, and the number of passes or attempts made at
`compressing the data. Other factors may also be used, and
`some of these factors may not be used in all situations. For
`example, the factors could be prioritized so that some are
`given more weight than others. As an extension of this, in
`.certain situations some factors could be given no weight at
`all relative to other factors.
`
`Some of these factors inherently have values that are
`readily determined. Others relate to characteristics or fea-
`tures the state of which is determined and a value assigned
`accordingly. For instance, the three representation types of
`text, graphics and images could be assigned arbitrary respec-
`tive identifier values 1, 2, and 3.
`
`An algorithm, generally speaking, refers to a particular
`algorithm or combination of algorithms with particular
`parameter values. Thus, a change in parameter values results
`in a change in the algorithm.
`The compressed data is stored sequentially by region. In
`the preferred embodiment, when required for printing, data
`for a region is read and decompressed. Depending on the
`system configuration, the compressed data may be transrr1it—
`ted to an external printer or stored pending requirement of
`the data by the print device. The data is then transmitted to
`the print device for printing. Producing data (display lists-
`)for each region and defining the regions to conform to the
`sequential output of raster data to an output device mini-
`mizes the number of times the data is decompressed, data
`added, and then recompressed. During this overall process
`“data” defining the page representation takes the form of
`descriptive commands, display lists and associated informa-
`tion, and raster data.
`
`Data representative of the page representation is thus
`compressed and held in memory until such time as it is
`required by the print device for printing, or until the content
`of a region is changed. The data for the regions are swapped
`in and out of the compressed-data memory using the
`selected compression and corresponding decompression
`algorithms,
`thereby reducing substantially the buffer
`memory requirements. This and other features and advan-
`tages of the present invention will be apparent from the
`following detailed description of the preferred embodiment
`of the invention and as illustrated in the accompanying
`drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of an apparatus made according
`to and for practicing the method of the invention.
`FIG. 2 is an illustration of a page having different types
`of two-dimensional representations.
`FIG. 3 is a flow diagram summarizing a method of
`practicing the invention.
`
`FIG. 4 is a flow diagram of step 58 of the diagram of FIG.
`
`3.
`
`FIG. 5 illustrates visually the development of non-inter-
`secting bounding boxes from bounding boxes of different
`representation types that overlap according to the method of
`the diagram of FIG. 4.
`FIG. 6 is a simplified graphic example of overlapping
`bounding boxes with identifying coordinates used in the
`method of the diagram of FIG. 4.
`FIG. 7 is a flow diagram illustrating the development of
`non-intersecting bounding boxes corresponding to step 122
`in FIG. 4.
`
`10
`
`FIG. 8 is a flow diagram of step 78 of the diagram of FIG.
`
`FIG. 9 is a flow diagram of step 80 of the diagram of FIG.
`
`15
`
`3
`
`3.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`FIG. 10 is a functional block diagram corresponding to
`the apparatus of FIG. 1.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT AND METHOD
`
`Referring initially to FIG. 1, a generalized visual-repre-
`sentation-generating system made according to the present
`invention is shown generally at 10. It includes a visual
`information source 12 connected via a communication link
`
`14 to an output-data generator 16. Generator 16 is connected
`to a visual-output device 18 via a communication link 20. As
`will be seen, various embodiments are realizable from this
`general structure. Output data generator 16 can be resident
`within a host unit including source 12, can be resident within
`an output unit including visual-output device 18, or can be
`functionally split between a host unit and an output unit.
`In the typical instance when data generator 16 and output
`device 18 comprise a laser or other raster printer, inforrna-
`tion source 12 is a conventional work station or other
`
`computer-based system, such as anApple Macintosh or IBM
`PC. The term print device is also used herein as an example
`of a visual-output device. In the preferred embodiment, this
`term applies to the electro-mechanical apparatus responsive
`to raster data for producing a printed page. Generator 16
`could also be incorporated in a computer or workstation,
`such as a computer—based system as has just been men-
`tioned, programmed to function as described herein, for
`controlling a raster display or printing device, as has also
`been mentioned. Further, as is discussed with reference to
`FIG. 10, a host unit could generate and output the com-
`pressed data and an output unit could receive the com-
`pressed data, decompress it and transmit it to a resident
`visual-output device.
`The preferred embodiment of the invention is thus
`directed to the printing of two-dimensional pixel represen-
`tations. The general concepts are equally applicable to three
`(or more) dimensional representations to the extent they are
`realizable in the system of FIG. 1.
`Generator 16 includes an input/output controller 22
`coupled to communication links 14 and 20. A conventional
`CPU (central processing unit) or processor 24 is coupled to
`controller 22, as well as to a read/write or random access
`memory (RAM) 26, used partially as a buffer memory, for
`storing data, and a read only memory (ROM) 28 for storing
`program instructions and fixed information, such as nonva-
`riable data and compression and decompression algorithms,
`as is discussed in further detail with reference to FIGS. 3, 5,
`and 7-10. Any of a variety of conventional CPU’s may be
`
`

`
`5
`
`6
`
`5,504,842
`
`used, depending on the actual application. Further, other
`forms of hardware that accomplish the same functions can
`be used.
`
`FIG. 2 illustrates a page 30 having a page representation
`34 that could be defined by data input by the input device
`using a conventional page—description language, such as the
`language available from Adobe Systems
`Incorporated
`known by the name PostScript. In the printer environment,
`as a P0stScript file is created on source 12 (FIG. 1), objects
`can be created in any arbitrary order or fashion on a page.
`The objects are defined by one or more descriptive com-
`mands. As used herein, then, an “object—defining command”
`is the command or collection of commands that define an
`object.
`Different compression schemes have been found to be
`preferable for the different representation types of text,
`graphics, and images. For instance, the human eye is often
`less sensitive to changes in images than to degradations in
`something as well defined as text. Thus, technically lossy
`compression schemes such as JPEG, when used at reduced
`levels of compression for images, can be visually lossless.
`Further, by the nature of graphics objects, some otherwise
`lossy schemes may be usable without compromising spatial
`resolution. The LZW technique has been found to work well
`on text, runlength coding is effective for graphics and
`text/graphics combinations, and the JPEG technique is use-
`ful for images. It is therefore advantageous to identify the
`different types of objects in a page representation.
`Continuing to refer to FIG. 2, page 30 has defined
`boundaries represented by border line 32. The boundaries
`thus represent the maximum area within which page repre-
`sentation 34 is to be produced. Page representation 34
`includes the following objects on a background of a single
`color. A title or main heading 36 is formed of text in different
`colors (represented by the different tones). A subheading 38
`identifies a text representation 40; a subheading 42 identifies
`a graphics representation 44; and a subheading 46 identifies
`an image representation 48. These subheadings are text
`representations in relatively large fonts and, along with text
`representation 40, are all a single color different than the
`background color. Text representation 40 is in a reduced
`font. Graphics representation 44 has grid identifiers 50 in the
`form of alphanumeric characters (text), and a bar chart
`section 52 composed of bars of different colors. Image
`representation 48 is simply an array of pixels of varying
`colors.
`
`Page representation 34 incorporates separate examples of
`large and small text, graphics, and image representations or
`objects. In a more complex page representation various of
`the diiferent objects could overlap. That is, they could be
`printed at least partially on a common area. The preferred
`method of the present invention is designed to take such
`overlapping areas into consideration, as is discussed in
`greater detail below.
`A generalized flow diagram chart of a process or method
`54 according to the invention is provided in FIG. 3. Pro-
`cessor 24 of FIG. 1 executes instructions to function as an
`interpreter that recognizes the Postscript descriptive com-
`mands input as page data from source 12, as is provided by
`step 56in the flow diagram of FIG. 3. In the general method
`of the invention, the page description data is divided into at
`least one, and preferably R different data regions at step 58.
`The regions can be determined in advance, as is the case
`with the preferred embodiment and therefore be determined
`arbitrarily with reference to a particular page representation.
`They could also be determined dynamically for each page
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`representation. Referring to FIG. 2, an example of a dynamic
`determination would be to divide the page into separate
`regions corresponding to title heading 36, text subheading
`38, text section 40, graphics subheading 42, each of grid
`identifiers 50, bar chart section 52, image subheading 46 and
`image section 48. In the preferred embodiment of the
`invention, however, in which raster data is produced for
`printing a page, the page area is divided into a plurality of
`fixed regions in the form of parallel bands. The bands are
`chosen and ordered to correspond to the generation of raster -
`data for output to a print device, and is therefore related to
`the resolution and scan order of the output device.
`Referring again to FIG. 2, page 30 is shown for purposes
`of illustration divided into sixteen bands 60-75. When it is
`
`time to print, data for band 60 is read out and decompressed
`first and the data progresses sequentially through the bands
`until data for the last band 75 is output. These bands each
`correspond to multiple raster “scans” of the page and
`provide for ordering the data in a way that will make the data
`readily available for printing. An actual
`letter-size page
`having a resolution of 300 dpi may be divided into about 20
`to 40 bands.
`
`As has been mentioned, the present invention provides for
`a reduction in the amount of memory required through the
`use of compression techniques, as is represented by step 78
`in FIG. 3. By compressing a rasterized version of the
`descriptive data of the page representation, according to the
`preferred embodiment, and decompressing it as needed by
`the printer or display, the amount of RAM needed may be
`drastically reduced.
`This memory reduction is achieved by storing in the
`working RAM a compressed representation of what
`is
`conventionally stored uncompressed in a frame buffer. Ras-
`ter data is created for one region at a time and stored
`uncompressed in RAM 26. This data is then compressed and
`re-stored in RAM 26 until needed. The data for all the
`regions is ultimately processed in this way until data for
`essentially all the regions is compressed and stored. In the
`preferred embodiment of the present invention, as data for
`each region is requested for output (printing), it is decom-
`pressed and output to the output device (print device), as
`represented by step 80 in FIG. 3.
`By compressing the data for the regions in the reverse
`order required for output to the output device, the compres-
`sion/decompression cycle of the last region may be avoided,
`since it can simply be rasterized and output directly. Also,
`depending on the circumstances, the decompression algo-
`rithm typically is, but may not be exactly the reverse of the
`compression algorithm. When the output (page printing)is
`completed, process 54 ends for that page.
`The following description of this process is directed to
`processing data for a single page. It will be understood that
`multiple pages may also be processed at a time using a
`similar system, so that different ones of the steps take place
`simultaneously for various regions of the same or different
`pages.
`
`Step 58 is shown in further detail by the flow diagram of
`FIG. 4. High level descriptive (such as PostScript)com-
`mands are input into data generator 16 from a source 12 as
`shown in FIG. 1. As has been described, these commands
`define, usually in no particular order, where text, graphics,
`and image objects appear. Some of the commands do not
`define a particular object. These commands may be directed
`to identifying locations on a page, what color to use, and the
`like. Text typically includes definitions of font and character
`size, as well as character identifiers and other information,
`
`

`
`5,504,842
`
`7
`
`such as the color of the text. Graphics are defined by area
`fills and strokes of arbitrary color, and images are usually
`provided by bit or byte patterns.
`Referring again to FIG. 4, the first object—defining com-
`mand is selected at step 82. The intersection of the object
`defined by the command with each of the R regions (band-
`s)is then determined, as shown generally at 84. Iterative loop
`step 86 symbolizes the sequential determinations made for
`each region. When the first region is selected, a determina-
`tion is made at 88 as to whether the object described by the
`command intersects the region. If there is no intersection,
`the next region is selected at step 86 and the determination
`repeated for that region.
`If there is an intersection, primitive elements, collectively
`referred to as a display list, are generated for the portion of
`the object in the region at step 90. Primitive elements are
`basic object portions or “building blocks” that, when com-
`bined, form a new definition of an object. Character masks
`are used to define text. Geometric shapes, such as trapezoids
`and run arrays (bit patterns) are both graphics primitive
`elements. Because of the random color and intensity
`changes, images are defined by the actual image descrip-
`tions. In some instances, these primitive elements are stored
`in the display list indirectly via pointers. Preferably, a single
`display list
`is generated for each region. As has been
`mentioned, it would also be possible to have a single display
`list for a page with allocation of data to a region taking place
`as raster data for the region is stored prior to compressing.
`Each high level input object-defining command implicitly
`has a corresponding representation type, such as text, graph-
`ics or image. Other ways of classifying the object-defining
`commands may also be used.
`In this embodiment,
`the
`primitive element has an associated representation type
`corresponding to this implicit type. A bounding box is also
`determined for each region in which a portion of an object
`exists. A representation type is assigned to each bounding
`box based on the associated primitive element type. In the
`preferred embodiment, the representation type is one of the
`three preferred types of text, graphics and image.
`A bounding box is a defined area containing an object or
`object portion in the region. In an X-Y coordinate system, a
`bounding box is preferably a rectangle defined by the
`coordinates of the lower left and upper r

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket