DE69331871T2 - Verfahren und Vorrichtung zur Datenverarbeitung für ein Bildschirmgerät mit reduzierten Pufferspeichersforderungen - Google Patents
Verfahren und Vorrichtung zur Datenverarbeitung für ein Bildschirmgerät mit reduzierten PufferspeichersforderungenInfo
- Publication number
- DE69331871T2 DE69331871T2 DE69331871T DE69331871T DE69331871T2 DE 69331871 T2 DE69331871 T2 DE 69331871T2 DE 69331871 T DE69331871 T DE 69331871T DE 69331871 T DE69331871 T DE 69331871T DE 69331871 T2 DE69331871 T2 DE 69331871T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- compression
- representation
- region
- selecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 112
- 230000015654 memory Effects 0.000 title claims description 58
- 238000012545 processing Methods 0.000 title claims description 17
- 238000007906 compression Methods 0.000 claims description 186
- 230000006835 compression Effects 0.000 claims description 179
- 230000000007 visual effect Effects 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 22
- 230000006837 decompression Effects 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims 16
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012958 reprocessing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004821 distillation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/181—Receiving print data characterized by its formatting, e.g. particular page description languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1849—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
- G06K15/1851—Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1848—Generation of the printable image
- G06K15/1856—Generation of the printable image characterized by its workflow
- G06K15/1861—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
- G06K15/1865—Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0065—Page or partial page composition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0071—Post-treatment of the composed image, e.g. compression, rotation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Discrete Mathematics (AREA)
- Computational Linguistics (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
Description
- Diese Erfindung bezieht sich auf ein Verfahren und eine Einrichtung zum Verarbeiten von Daten, die eine visuelle Darstellung repräsentieren, die üblicherweise eine Kombination von Text, Grafik und Bildern beinhaltet, welche an eine visuelle Ausgabeeinrichtung, wie eine Bildschirmanzeige oder eine Druckeinrichtung, ausgegeben werden soll. Insbesondere bezieht sich die Erfindung auf ein solches Verfahren und eine solche Einrichtung, bei welchen ein Datenspeicher, hier funktionell als "Pufferspeicher" bezeichnet, begrenzte, aus der selektiven Komprimierung von Daten resultierende Kapazitätsanforderungen hat.
- Das bevorzugte Ausführungsbeispiel und das bevorzugte Ausführungsverfahren der vorliegenden Erfindung sind für Drucker bestimmt, die ein Rasterbild erzeugen und typischerweise indirekt über ein Netzwerk oder direkt mit einem Computer zum Druck von am Computer erzeugten Dokumenten verbunden sind. Die Erfindung ist auch für andere Formen von Ausgabeeinrichtungen, wie eine auf einem CRT-Monitor oder einem LCD erzeugte Videoanzeige, realisierbar. Folglich wird die Einrichtung, die die aktuelle visuelle Darstellung erzeugt, als "visuelle Ausgabeeinrichtung" bezeichnet. Der visuelle Bereich, innerhalb dessen die visuelle Darstellung existiert, wird unabhängig von seiner aktuellen Form als "Seite" bezeichnet. Die komplette visuelle Darstellung wird als "Seitendarstellung" bezeichnet. Ein separat definierter Teil einer Seitendarstellung wird als "Objekt" bezeichnet.
- Eines der signifikanten Kostenelemente bei einem konventionellen Drucker ist ein Pufferspeicher, der auch als Frame- Puffer (Einzelbildpuffer) bezeichnet wird, zum Speichern der Rasterdaten, die die Seitendarstellung definieren. Konventionelle Druckerkonfigurationen verwenden Pufferspeicher, die in der Lage sind, alle die Rasterdaten zu speichern, die zur Definition jedes Pixels auf einer Seite benötigt werden. Daher wird normalerweise ein sehr großer Umfang an Speicherkapazität benötigt. Eine Schwarz-Weiß-Darstellung für ein Blatt Papier von 8,5 Zoll · 11 Zoll bei einer Pixeldichte von 300 dpi (Punkte oder Pixel pro Zoll) erfordert mehr als 1 MByte (1 Million 8-Bit Bytes) Speicher. Höhere räumliche und tonale Auflösungen, Farbdruck und größere Papierformate erfordern sogar noch mehr Speicher. Eine Halbton-, Vierfarbdarstellung bei einer Pixeldichte von 600 dpi für eine Seite von der gleichen Größe erfordert ungefähr 135 MByte Speicher. Da die Druckerkosten mit der Speichergröße ansteigen, ist es wünschenswert, Drucker mit reduzierten Speicheranforderungen zur Verfügung zu stellen.
- Eine unter dem Markennamen "Memory Miser" bekannte Speichereinrichtung, hergestellt von Advanced Micro Devices in Santa Clara, Kalifornien, speichert Daten in einem residenten Speicher, indem ein Kompressionsalgorithmus auf alle eingegebenen Daten angewendet wird. Wenn deren Ausgabe erforderlich ist, werden sie basierend auf der Umkehrung des Kompressionsalgorithmus dekomprimiert und ausgegeben. Bei Verwendung in einem Drucker würde eine solche Einrichtung die benötigte Speicherkapazität reduzieren. Der Speicher müßte aber wenigstens groß genug sein, um die komplexeste Seitendarstellung zu speichern, um in der Lage zu sein, jede eingegebene Seite zu verarbeiten. Dieser Drucker hätte eine geringe Flexibilität bei der Verarbeitung der Vielzahl von Seitendarstellungen, die bei heutigen Druckern möglich ist. Es ist in der Technik konventionell bekannt, einen Algorithmus zum Kodieren/Dekodieren (d. h. Komprimieren/Dekomprimieren) zu verwenden, der jeder unterschiedlichen Darstellungsart jedes Bereichs eines Anfangsbildes speziell zugeordnet ist.
- Solch ein konventionelles Verfahren ist beispielsweise bekannt aus einem dem Stand der Technik entsprechenden Dokument "Adaptive Coding for Text and Dithered Continuous-Tone Images" von Y. Okada et al., veröffentlicht im FUJITSU SCIENTIFIC AND TECHNICAL JOURNAL, Bd. 23, Nr. 2, Seiten 101- 110, 1987, JAPAN. Dieses Dokument beschreibt einen Algorithmus, bei welchem getestet wird, ob ein aktuell bearbeiteter Bereich eines Anfangsbildes entweder ein Textbereich oder ein Farbmischungs-Graustufen-Bildbereich ist, wobei zwei verschiedene Kodier-/Dekodierverfahren auf jeden der jeweiligen Bereiche angewendet werden (Modifiziertes Huffman oder Modifiziertes Lesen für Text, P³, ein Schablonenmustervergleichsverfahren für Farbmischungsbilder). Das Schalten zwischen unterschiedlich kodierten Bereichen wird durch einen Schaltalgorithmus gesteuert, der die Anzahl der Graustufen-Codes auf der Kodierungszeile zählt.
- Die vorliegende Erfindung, wie sie in den beigefügten Ansprüchen angegeben ist, stellt ein Verfahren zum Verwenden eines Speichers mit reduzierter Kapazität und eine Einrichtung zur Verfügung, die einen Speicher reduzierter Kapazität ermöglicht. Ferner stellt sie ein Verfahren und eine Einrichtung zur Verfügung, die eine Vielfalt von Seitendarstellungscharakteristika und Datenverarbeitungsobjekten aufnehmen können.
- Die Erfindung ist allgemein für eine Einrichtung und ein Verfahren zum Verarbeiten von Daten bestimmt, die eine Seitendarstellung zur Ausgabe an eine visuelle Ausgabeeinrichtung repräsentieren, wie eine elektromechanische Druckvorrichtung (auch als die Druckeinrichtung bezeichnet) eines Druckers. Das Verfahren beginnt mit dem Schritt des Empfangens der die Seitendarstellung definierenden Daten. Eine Mehrzahl von Bereichen der Seite wird ausgewählt, wobei diese Bereiche wenigstens einen Abschnitt der Seitendarstellung enthalten. Bei einem Aspekt der Erfindung werden separate Daten für einen jeden solchen Bereich entsprechend dem in diesem Bereich enthaltenen Abschnitt der Seitendarstellung identifiziert. Die für wenigstens einen der Bereiche identifizierten Daten werden dann unter Verwendung von wenigstens einem Kompressionsalgorithmus komprimiert und gespeichert. Zum Erzeugen der Seitendarstellung nach dem Speichern der komprimierten Daten werden die Daten dann dekomprimiert und an die visuelle Ausgabeeinrichtung übermittelt.
- Bei einem anderen Aspekt der Erfindung werden wenigstens ein Kompressionsfaktor und eine Mehrzahl von Kompressionsalgorithmen bereitgestellt. Der Kompressionsfaktor hat einen bestimmbaren Wert, der auf einen Referenzwert bezogen ist. Dann wird ein Kompressionsalgorithmus basierend auf dem Verhältnis des bestimmten Wertes des Kompressionsfaktors zum Referenzwert ausgewählt.
- Insbesondere ist das bevorzugte Ausführungsbeispiel der Erfindung eine Einrichtung zum Drucken einer zweidimensionalen Seitendarstellung, die potenziell aus Text-, Grafik- und Bildobjekten (Objektdarstellungen) - einzeln und in Kombination - zusammengesetzt ist. Eine Druckeinrichtung reagiert auf Rasterdaten zum Drucken einer Seite, die die Seitendarstellung enthalten. Eine Eingabeeinrichtung, wie ein Personalcomputer oder eine Arbeitsstation, wird zur Eingabe der die Seitendarstellung definierenden Daten verwendet. Ein Programmspeicher speichert Programmanweisungen, die eine Mehrzahl von verschiedenen Algorithmen zum Komprimieren der Daten einschließen, die den entsprechenden unterschiedlichen Darstellungsarten und ihren Kombinationen zugeordnet sind. Die Auswahl der Kompressionsalgorithmen basiert zum Teil auf der Herstellung der Ausgewogenheit der Kompressionsfaktoren von Kompressionsverhältnis, Rechenkomplexität und visueller Qualität. Ein Prozessor ist mit der Eingabeeinrichtung, der Druckeinrichtung, dem Programmspeicher und einem Datenspeicher zum Ausführen der gespeicherten Programmanweisungen gekoppelt.
- Der Prozessor reagiert auf die Dateneingabe in Form deskriptiver Befehle zum Identifizieren von Daten jedes einer Mehrzahl von geordneten Bereichen oder Bändern, die gemeinsam wenigstens einen Abschnitt der Seitendarstellung und vorzugsweise die gesamte Seitendarstellung enthalten. Die Daten für jeden Bereich entsprechen dem Abschnitt der Seitendarstellung, der in diesem Bereich enthalten ist. Einige Bereiche enthalten möglicherweise keine Daten. Die deskriptiven Befehle, die nicht unbedingt bandbegrenzt sind, werden in Listen von Grundelementen, die aus einem Satz von Grundelementen ausgewählt werden, konvertiert. Jedes Grundelement repräsentiert wenigstens einen Abschnitt einer Objektdarstellung. Diese Listen werden als Anzeigelisten bezeichnet. Es gibt vorzugsweise für jeden Bereich eine Anzeigeliste, obwohl die Anzeigeliste für die gesamte Seite oder für andere definierte Bereiche gelten könnte.
- Die Arten (und Kombinationen der Arten) der Darstellungen und Begrenzungen (bezeichnet als Begrenzungsboxen) jeder Art, die in jedem Bereich enthalten sind, sind festgelegt. Die Anzeigelistendaten, die den festgelegten Darstellungsarten für jeden Bereich zugeordnet sind, werden in ein unkomprimiertes Band gerastert und dann unter Verwendung von Algorithmen entsprechend der Analyse von bestimmten Kompressionsfaktoren komprimiert. Das Rastern bezieht sich allgemein auf das Konvertieren von höheren deskriptiven Befehlen in Raster. Daten, die Grundelementen zugeordnet sind, liegen oft schon in Rasterform vor. Für die Zwecke dieser Erörterung jedoch bezieht sich das Rastern auf das Konvertieren von Anzeigelistendaten eines Bereichs in die Rasterform, unabhängig davon, ob die den entsprechenden Grundelementen zugeordneten Daten bereits in Rasterform vorliegen oder nicht.
- Die Kompressionsfaktoren können Kompressionsziele enthalten und vorzugsweise enthalten sie auch Kompressionsziele, die visuelle Zielqualität, Kompressionsverhältnis und Rechenkomplexität spezifizieren. Kompressionsverhältnis bezieht sich allgemein auf die zum Halten der komprimierten Daten benötigten Speicherbytes relativ zu den zum komprimierten Halten der gleichen Daten benötigten Speicherbytes. Zusätzlich werden solche Faktoren wie die Darstellungsart, Inhalt der einzelnen Begrenzungsboxen, Gesamtinhalt der Seitendarstellung, geschätzte gegenüber tatsächlich erreichter Komprimierung und Anzahl von Durchgängen oder Versuchen beim Komprimieren der Daten berücksichtigt. Andere Faktoren können auch angewendet werden, und einige dieser Faktoren können nicht in allen Situationen angewendet werden. Beispielsweise könnten die Faktoren priorisiert werden, so daß einige von ihnen mehr Gewichtung erhalten als andere. In Erweiterung dessen könnten in bestimmten Situationen einige Faktoren im Vergleich zu anderen überhaupt keine Gewichtung erhalten.
- Einige dieser Faktoren verfügen dem Wesen nach über Werte, die einfach determiniert sind. Andere beziehen sich auf Charakteristika oder Eigenschaften, deren Zustand determiniert und denen ein Wert entsprechend zugewiesen ist. Beispielsweise könnten den drei Darstellungsarten "Text, Grafik und Bilder" beliebige Werte beziehungsweise Identifizierungswerte 1, 2 und 3 zugewiesen werden.
- Allgemein ausgedrückt, bezieht sich ein Algorithmus auf einen bestimmten Algorithmus oder eine Kombination von Algorithmen mit bestimmten Parameterwerten. Somit führt eine Veränderung bei den Parameterwerten zu einer Veränderung im Algorithmus.
- Die komprimierten Daten werden sequentiell nach Bereich gespeichert. Beim bevorzugten Ausführungsbeispiel werden die Daten für einen Bereich gelesen und dekomprimiert, wenn sie zum Drucken benötigt werden. In Abhängigkeit von der Systemkonfiguration können die komprimierten Daten an einen externen Drucker übermittelt oder bis zur Anforderung der Daten durch die Druckeinrichtung gespeichert werden. Die Daten werden dann an die Druckeinrichtung zum Drucken übermittelt. Das Erzeugen von Daten (Anzeigelisten) für jeden Bereich und das Definieren der Bereiche, um der sequentiellen Ausgabe der Rasterdaten an eine Ausgabeeinrichtung zu entsprechen, minimiert die Anzahl der Vorgänge, bei denen die Daten dekomprimiert, hinzugefügt und dann neu komprimiert werden. Bei diesem Gesamtprozeß nehmen "Daten", die die Seitendarstellung definieren, die Form von deskriptiven Befehlen, Anzeigelisten und zugeordneten Informationen und Rasterdaten an.
- Daten, die die Seitendarstellung repräsentieren, werden somit komprimiert und bis zu einem solchen Zeitpunkt im Speicher gehalten, zu dem sie von der Druckeinrichtung zum Drucken angefordert werden, oder bis der Inhalt eines Bereichs verändert wird. Die Daten für die Bereiche werden unter Verwendung der ausgewählten Kompressionsalgorithmen und der entsprechenden Dekompressionsalgorithmen im Speicher der komprimierten Daten eingelagert und aus dem Speicher der komprimierten Daten ausgelagert, wodurch die Pufferspeicheranforderungen substantiell reduziert werden. Dies und andere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung und aus den Darstellungen der beigefügten Zeichnungen deutlich erkennbar.
- Fig. 1 ist ein Blockdiagramm einer Einrichtung entsprechend der Erfindung und zum Ausführen des Verfahrens der Erfindung.
- Fig. 2 ist eine Darstellung einer Seite, die verschiedene Arten von zweidimensionalen Darstellungen aufweist.
- Fig. 3 ist ein Ablaufdiagramm, das ein Verfahren zum Ausführen der Erfindung zusammenfaßt.
- Fig. 4 ist ein Ablaufdiagramm von Schritt 58 des Diagramms gemäß Fig. 3.
- Fig. 5 stellt visuell die Entwicklung von sich nicht überschneidenden Begrenzungsboxen aus Begrenzungsboxen verschiedener, sich überlappender Darstellungsarten dar, entsprechend des Verfahrens im Diagramm gemäß Fig. 4.
- Fig. 6 ist ein vereinfachtes grafisches Beispiel von sich überlappenden Begrenzungsboxen mit Identifizierungskoordinaten, wie sie im Verfahren des Diagramms gemäß Fig. 4 verwendet werden.
- Fig. 7 ist ein Ablaufdiagramm, das das Entwickeln von sich nicht überschneidenden Begrenzungsboxen entsprechend Schritt 122 in Fig. 4 zeigt.
- Fig. 8 ist ein Ablaufdiagramm von Schritt 78 des Diagramms gemäß Fig. 3.
- Fig. 9 ist ein Ablaufdiagramm von Schritt 80 des Diagramms gemäß Fig. 3.
- Fig. 10 ist ein Blockfunktionsdiagramm entsprechend der Einrichtung gemäß Fig. 1.
- Es wird zuerst auf Fig. 3 Bezug genommen; ein allgemeine visuelle Darstellungen erzeugendes System, hergestellt gemäß der vorliegenden Erfindung, wird allgemein bei 10 gezeigt. Es enthält eine visuelle Informationsquelle 12, die über eine Kommunikationsverbindung 14 mit einem Ausgabedatengenerator 16 verbunden ist. Generator 16 ist über eine Kommunikationsverbindung 20 mit einer visuellen Ausgabeeinrichtung 18 verbunden. Wie man feststellen wird, sind verschiedene Ausführungsbeispiele aus dieser allgemeinen Struktur realisierbar. Ausgabedatengenerator 16 kann in einer Host-Einheit einschließlich Quelle 12 resident sein, kann in einer Ausgabeeinheit einschließlich einer visuellen Ausgabeeinrichtung 18 resident sein oder funktionell zwischen einer Host-Einheit und einer Ausgabeeinheit aufgesplittet sein.
- Bei dem typischen Beispiel, wenn Datengenerator 16 und Ausgabeeinrichtung 18 einen Laser- oder anderen Rasterdrucker beinhalten, ist Informationsquelle 12 eine konventionelle Arbeitsstation oder ein anderes computergestütztes System, wie ein Apple-Macintosh- oder IBM-PC. Der Begriff Druckeinrichtung wird hier auch als Beispiel für eine visuelle Ausgabeeinrichtung verwendet. Bei dem bevorzugten Ausführungsbeispiel bezieht sich dieser Begriff auf eine elektromechanische Einrichtung, die auf Rasterdaten zum Herstellen einer gedruckten Seite reagiert. Generator 16 könnte auch in einem Computer oder einer Arbeitsstation enthalten sein, wie einem gerade erwähnten computergestützten System, das so programmiert ist, daß es wie hier beschrieben funktioniert, zum Steuern einer Rasteranzeige oder einer Druckeinrichtung, wie ebenfalls erwähnt wurde. Ferner könnte eine Host-Einheit die komprimierten Daten erzeugen und ausgeben, und eine Ausgabeeinheit könnte die komprimierten Daten empfangen, dekomprimieren und an eine residente visuelle Ausgabeeinrichtung übermitteln, wie in Bezug auf Fig. 10 erörtert wird.
- Das bevorzugte Ausführungsbeispiel der Erfindung ist folglich zum Drucken von zweidimensionalen Pixel-Darstellungen bestimmt. Die allgemeinen Konzepte sind in dem Umfang gleichermaßen auf drei-(oder mehr-) dimensionale Darstellungen anwendbar, in dem sie im System von Fig. 1 realisierbar sind.
- Generator 16 beinhaltet eine Eingabe-/Ausgabesteuereinrichtung 22, die mit den Kommunikationsverbindungen 14 und 20 gekoppelt ist. Eine konventionelle CPU (zentrale Verarbeitungseinheit) oder Prozessor 24 ist gekoppelt mit der Steuereinrichtung 22 sowie einem Lese-/Schreib- oder Speicher mit wahlfreiem Zugriff (RAM) 26, der teilweise als Pufferspeicher zum Speichern von Daten verwendet wird und einem Nur-Lese-Speicher (ROM) 28 zum Speichern von Programmanweisungen und festen Informationen, wie nichtvariable Daten und Kompressions- und Dekompressionsalgorithmen, wie es in weiteren Einzelheiten unter Bezugnahme auf Fig. 3, 5 und 7-10 erörtert wird. In Abhängigkeit von der aktuellen Anwendung kann irgendeine aus einer Vielfalt konventioneller CPU's verwendet werden. Ferner können andere Formen von Hardware, die die gleichen Funktionen erfüllen, verwendet werden.
- Fig. 2 zeigt eine Seite 30, die eine Seitendarstellung 34 aufweist, die durch die Dateneingabe der Dateneingabeeinrichtung unter Verwendung einer konventionellen Seitenbeschreibungssprache definiert werden könnte, wie die von Adobe Systems Incorporated verfügbare Sprache, die unter dem Namen PostScript bekannt ist. Wenn eine PostScript-Datei auf Quelle 12 (Fig. 1) erzeugt wird, können in der Druckerumgebung Objekte in jeder beliebigen Anordnung oder Art auf einer Seite erzeugt werden. Die Objekte werden durch einen oder mehrere deskriptive Befehle definiert. Gemäß der hier beschriebenen Verwendung ist ein "objektdefinierender Befehl" ein Befehl oder ein Sammlung von Befehlen, die ein Objekt definieren.
- Es wurde festgestellt, daß unterschiedliche Kompressionsverfahren für die verschiedenen Darstellungsarten von Text, Grafik und Bildern wünschenswert sind. Beispielsweise ist das menschliche Auge oftmals weniger empfindlich gegenüber Veränderungen bei Bildern als gegenüber Verschlechterungen bei etwas, das auch als Text definiert ist. So können technisch verlustreiche Kompressionsverfahren wie JPEG visuell verlustfrei sein, wenn sie bei Bildern auf reduziertem Kompressionsniveau verwendet werden. Ferner können durch die Natur grafischer Objekte einige ansonsten verlustreiche Verfahren ohne Beeinträchtigung der räumlichen Auflösung nutzbar sein. Es wurde festgestellt, daß das LZW- Verfahren gut bei Texten arbeitet, Lauflängenkodierung ist effektiv bei Grafik und Text/Grafik-Kombinationen und das JPEG-Verfahren ist nützlich bei Bildern. Es ist daher vorteilhaft, die verschiedenen Arten von Objekten bei einer Seitendarstellung zu identifizieren.
- Es wird weiter auf Fig. 2 Bezug genommen; Seite 30 hat definierte Begrenzungen, die durch Begrenzungslinie 32 dargestellt werden. Die Begrenzungen repräsentieren somit den Maximalbereich, innerhalb dessen eine Seitendarstellung 34 zu produzieren ist. Seitendarstellung 34 beinhaltet die folgenden Objekte auf einem einfarbigen Hintergrund. Eine Überschrift oder ein Haupttitel 36 wird aus Text in verschiedenen Farben (dargestellt durch die verschiedenen Farbtöne) gebildet. Ein Zwischentitel 38 identifiziert eine Textdarstellung 40; ein Zwischentitel 42 identifiziert eine Grafikdarstellung 44; und ein Zwischentitel 46 identifiziert eine Bilddarstellung 48. Diese Zwischentitel sind Textdarstellungen in relativ großen Schriften und zusammen mit Textdarstellung 40 haben sie alle eine einzige Farbe, die von der Hintergrundfarbe abweicht. Die Textdarstellung 40 weist eine kleinere Schrift auf. Die Grafikdarstellung 44 hat Gitternetzidentifizierer 50 in Form alphanumerischer Zeichen (Text) und eine Balkendiagrammsektion 52 bestehend aus Balken mit unterschiedlichen Farben. Die Bilddarstellung 48 ist einfach eine Anordnung von Pixeln verschiedener Farben.
- Die Seitendarstellung 34 vereinigt separate Beispiele von Darstellungen oder Objekten von großem und kleinem Text, Grafiken und Bildern. Bei einer komplexeren Darstellung könnten sich mehrere der unterschiedlichen Objekte überlappen. Das bedeutet, sie könnten zumindest teilweise auf einer gemeinsamen Fläche gedruckt werden. Das bevorzugte Verfahren der vorliegenden Erfindung ist so ausgelegt, daß solche überlappenden Flächen berücksichtigt werden, wie nachstehend detaillierter erörtert wird.
- In Fig. 3 wird ein allgemeines Ablaufdiagramm eines Prozesses oder Verfahrens 54 gemäß der Erfindung bereitgestellt. Prozessor 24 aus Fig. 1 führt Anweisungen aus, um als Interpreter zu wirken, der die deskriptiven PostScript- Befehle erkennt, die als Seitendaten von Quelle 12 eingegeben werden, wie es durch Schritt 56 im Ablaufdiagramm gemäß Fig. 3 bereitgestellt wird. Bei dem allgemeinen Verfahren der Erfindung werden bei Schritt 58 die Seitenbeschreibungsdaten in wenigstens einen, und vorzugsweise R-verschiedene Datenbereiche unterteilt. Die Bereiche können im Voraus festgelegt werden, wie es beim bevorzugten Ausführungsbeispiel der Fall ist, und können daher mit Bezug auf eine bestimmte Seitendarstellung beliebig festgelegt werden. Sie könnten auch dynamisch für jede Seitendarstellung festgelegt werden. Es wird Bezug genommen auf Fig. 2; ein Beispiel eines dynamischen Festlegens wäre das Unterteilen der Seite in separate Bereiche entsprechend Titelüberschrift 36, Textzwischentitel 38, Textbereich 40, Grafikzwischentitel 42, jedem Gitternetzidentifizierer 50, Balkendiagrammbereich 52, Bildzwischentitel 46 und Bildbereich 48. Bei dem bevorzugten Ausführungsbeispiel der Erfindung aber, bei welchem Rasterdaten zum Drucken einer Seite produziert werden, ist die Seitenfläche in eine Mehrzahl fester Bereiche in Form paralleler Bänder unterteilt. Die Bänder werden ausgewählt und geordnet, damit sie dem Erzeugen von Rasterdaten für die Ausgabe an eine Druckeinrichtung entsprechen, und sind daher auf die Auflösungs- und Abtastreihenfolge der Ausgabeeinrichtung bezogen.
- Es wird erneut Bezug genommen auf Fig. 2; für Illustrationszwecke wird Seite 30 mit Unterteilung in sechzehn Bändern 60-75 gezeigt. Wenn es Zeit zum Drucken ist, werden die Daten für Band 60 zuerst ausgelesen und dekomprimiert und das Bearbeiten der Daten geht sequentiell weiter durch die Bänder, bis die Daten für das letzte Band 75 ausgegeben werden. Diese Bänder entsprechen jeweils mehrfachen Rasterabtastungen der Seite und gewährleisten die Anordnung der Daten in einer Art und Weise, die die Daten für das Drucken problemlos verfügbar macht. Eine aktuelle Briefbogenseite mit einer Auflösung von 300 dpi kann in ungefähr 20 bis 40 Bänder unterteilt werden.
- Wie erwähnt wurde, gewährleistet die vorliegende Erfindung ein Reduzieren der benötigten Speicherkapazität durch das Verwenden von Kompressionsverfahren, wie es durch Schritt 78 in Fig. 3 bereitgestellt wird. Durch Komprimieren einer gerasterten Version der deskriptiven Daten der Seitendarstellung, gemäß dem bevorzugten Ausführungsbeispiel, und deren Dekomprimieren, wie es für Drucker oder Anzeige erforderlich ist, kann die Kapazität von benötigtem RAM erheblich reduziert werden.
- Diese Speicherreduzierung wird erreicht, indem im Arbeits-RAM eine komprimierte Darstellung dessen gespeichert wird, was konventionell unkomprimiert in einem Frame-Puffer gespeichert wird. Rasterdaten werden für einen Bereich auf einmal erzeugt und umkomprimiert im RAM 26 gespeichert. Diese Daten werden dann komprimiert und erneut im RAM 26 gespeichert, bis sie benötigt werden. Die Daten für alle Bereiche werden schließlich auf diese Weise verarbeitet, bis alle Daten für nahezu alle Bereiche komprimiert und gespeichert sind. Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die Daten, wenn sie für jeden Bereich zur Ausgabe (Drucken) angefordert werden, dekomprimiert und an die Ausgabeeinrichtung (Druckeinrichtung) ausgegeben, wie durch Schritt 80 in Fig. 3 dargestellt wird.
- Durch das Komprimieren der Daten für die Bereiche in der umgekehrten Reihenfolge, die für die Ausgabe an die Ausgabeeinrichtung erforderlich ist, kann der Kompressions-/Dekompressionszyklus des letzen Bereichs vermieden werden, da er einfach gerastert und direkt ausgegeben werden kann. In Abhängigkeit von den Umständen ist der Dekompressionsalgorithmus typischerweise auch die Umkehrung des Kompressionsalgorithmus, aber möglicherweise nicht genau die Umkehrung des Kompressionsalgorithmus. Wenn die Ausgabe (Seitendruck) beendet ist, endet Prozeß 54 für diese Seite.
- Die folgende Beschreibung dieses verfahrens ist für das Verarbeiten von Daten für eine einzelne Seite bestimmt. Es wird davon ausgegangen, daß mehrere Seiten unter Verwendung eines ähnlichen Systems auch auf einmal verarbeitet werden können, so daß verschiedene Schritte gleichzeitig für verschiedene Bereiche der gleichen oder verschiedener Seiten erfolgen.
- Schritt 58 wird detaillierter durch das Ablaufdiagramm in Fig. 4 dargestellt. Höhere deskriptive (wie PostScript-) Befehle werden in den Datengenerator 16 von einer Quelle 12 eingegeben, wie in Fig. 1 dargestellt. Wie beschrieben wurde, definieren diese Befehle normalerweise in keiner bestimmten Ordnung, wo Text-, Grafik- und Bildobjekte erscheinen. Einige der Befehle definieren kein bestimmtes Objekt. Diese Befehle können dazu bestimmt sein, Orte auf einer Seite zu identifizieren, die Farbauswahl zu treffen und dergleichen. Text enthält normalerweise Definitionen der Schrift und Zeichengröße, sowie Zeichenidentifizierer und andere Informationen, wie die Textfarbe. Grafiken werden durch Flächenfüllungen und Striche von beliebiger Farbe definiert, und Bilder werden gewöhnlich durch Bit- oder Byte- Muster bereitgestellt.
- Es wird erneut auf Fig. 4 Bezug genommen; der erste objektdefinierende Befehl wird bei Schritt 82 ausgewählt. Das Überschneiden des durch den Befehl definierten Objekts mit jedem der R-Bereiche (Bänder) wird dann bestimmt, wie allgemein bei 84 dargestellt wird. Der iterative Schleifen- Schritt 86 symbolisiert die sequentiellen Festlegungen, die für jeden Bereich getroffen werden. Wenn der erste Bereich ausgewählt ist, wird eine Festlegung bei 88 in Bezug darauf getroffen, ob das durch den Befehl definierte Objekt den Bereich überschneidet. Wenn es keine Überschneidung gibt, wird der nächste Bereich bei Schritt 86 ausgewählt und das Festlegen für diesen Bereich wiederholt.
- Wenn es eine Überschneidung gibt, werden Grundelemente, die gemeinsam als eine Anzeigeliste bezeichnet werden, für den Abschnitt des Objekts in dem Bereich bei Schritt 90 erzeugt. Grundelemente sind elementare Objektabschnitte oder "Baublöcke", die bei Kombination eine neue Definition eines Objekts bilden. Zeichenmasken werden zur Textdefinition verwendet. Geometrische Formen wie Trapeze und Lauf-Arrays (Bitmuster) sind beides grafische Grundelemente. Wegen der zufälligen Farb- und Intensitätsveränderungen werden Bilder durch die aktuellen Bildbeschreibungen definiert. In einigen Fällen werden diese Grundelemente indirekt über Zeiger in der Anzeigeliste gespeichert. Vorzugsweise wird für jeden Bereich eine einzelne Anzeigeliste erzeugt. Wie bereits erwähnt wurde, wäre es auch möglich, eine einzelne Anzeigeliste für eine Seite mit Zuweisung von Daten für einen Bereich zu haben, da Rasterdaten für den Bereich vor dem Komprimieren gespeichert werden.
- Jeder höhere Eingabebefehl zur Objektdefinition hat implizit eine entsprechende Darstellungsart wie Text, Grafik oder Bild. Andere Möglichkeiten zum Klassifizieren von objektdefinierenden Befehlen können auch verwendet werden. Bei dem vorliegenden Ausführungsbeispiel verfügt das Grundelement über eine zugeordnete Darstellungsart entsprechend dieser impliziten Art. Es wird auch eine Begrenzungsbox für jeden Bereich, in dem ein Abschnitt eines Objekts existiert, festgelegt. Jeder Begrenzungsbox wird basierend auf dem zugeordneten Grundelementtyp eine Darstellungsart zugewiesen. Bei dem bevorzugten Ausführungsbeispiel ist die Darstellungsart eine der drei bevorzugten Arten von Text, Grafik und Bild.
- Eine Begrenzungsbox ist eine definierte Fläche, die ein Objekt oder einen Objektabschnitt in dem Bereich enthält. Bei einem X-Y-Koordinatensystem ist die Begrenzungsbox vorzugsweise ein Rechteck, das durch die Koordinaten der unteren linken und oberen rechten Ecke definiert wird. Andere Definitionen für Begrenzungsboxen, wie Trapeze, könnten auch verwendet werden. So gibt es potentiell eine einzelne Begrenzungsbox für jede Darstellungsart in jedem Bereich, die als Bereichsbegrenzungsbox bezeichnet wird. Wie nachstehend erörtert wird, wird beim Hinzufügen eines Objekts zu einem Bereich die Bereichsbegrenzungsbox des gleichen Typs vorzugsweise erweitert, damit die Fläche des (der) neuen Grundelements (Grundelemente) aufgenommen und die Anzeigeliste für den Bereich aktualisiert wird, wie durch Schritt 92 dargestellt wird.
- Das Sammeln von nur einer Bild-, einer Grafik- und einer Bildbegrenzungsbox für jeden Bereich erfüllt die Anforderung der rechnerischen Einfachheit bei der Verarbeitung der Grundelemente. Dies geschieht jedoch auf Kosten verlorener lokaler Informationen. Beispielsweise würde bei Kennzeichnung eines "a" auf der linken Seite des Bereichs und eines "b" auf der rechten Seite des Bereichs eine Textbegrenzungsbox entstehen, die die Breite des Bereichs umspannt, obwohl nicht dieser gesamte Bereich mit Zeichen gefüllt ist. Folglich würde eine logische Erweiterung dieser Erfindung darin bestehen, diese Informationssammlung auf der Grundlage kleinerer Bereiche durchzuführen, so als gäbe es zwei oder drei Bereiche über die Seitenbreite hinweg. Dies würde eine lokalere Verfolgung der Objekte in den Bereichen ermöglichen. Wie erörtert wurde, kann die Seite im Allgemeinen in jegliche beliebige Bereiche unterteilt werden.
- Fig. 5 zeigt visuell das Entwickeln von Begrenzungsboxen. Begrenzungsboxen werden hier auch in einem allgemeinen Sinn als Bereiche bezeichnet. Jede Begrenzungsbox identifiziert einen spezifischen Bereich einer Seite, in welchem ein Objekt, eine Sammlung von Objekten oder Abschnitte von diesen existieren. Wie unter Bezugnahme auf die in Fig. 2 dargestellte Seite 30 beschrieben wurde, können die ausgewählten Bereiche dynamisch festgelegt werden, um den Objekten in jeder Seitendarstellung zu entsprechen. Eine Begrenzungsbox ist somit ein spezifisches Beispiel dieses Konzepts. In der folgenden Erörterung jedoch bezieht sich der Begriff Bereich auf die Bänder, wie in Fig. 2 dargestellt, und nicht auf Begrenzungsboxen.
- Die am weitesten links befindliche Darstellung in Fig. 5 stellt eine Grafikbereichsbegrenzungsbox 100 und eine Textbereichsbegrenzungsbox 102 dar. Die Textbegrenzungsbox wurde gebildet durch die Kombination aller Begrenzungsboxen (nicht dargestellt) für die Zeichen 104 (t), 105 (e) und 106 (x). Begrenzungsbox 102 wird vergrößert durch Hinzufügen von Begrenzungsbox 107, in Verbindung mit dem Hinzufügen eines neuen Zeichens 108 "t" zu "tex", was zu einer vergrößerten Begrenzungsbox 110 führt, die in der Mitte von Fig. 5 dargestellt ist und das Wort "text" enthält.
- Es wird erneut auf Fig. 4 Bezug genommen; dieser Prozeß des Aufbaus von Bereichsbegrenzungsboxen jedes Typs dauert solange an, bis der deskriptive Befehl für jeden Bereich verarbeitet ist, oder bis die Überschneidung mit allen Bereichen, wie beschrieben, festgelegt ist. Nach Überprüfen des letzten Bereichs wird bei Schritt 112 eine Festlegung getroffen, ob es einen weiteren Befehl gibt. Gibt es einen weiteren Befehl, wird der nächste Befehl bei Schritt 114 ausgewählt und Prozeß 84 wird wiederholt. Gibt es keine weiteren Befehle, dann sind die sich überschneidenden Begrenzungsboxen für jeden Bereich festgelegt, wie allgemein bei 116 dargestellt ist.
- Bei der nachfolgenden Erörterung wird man feststellen, daß unterschiedliche Kompressionsalgorithmen auf die verschiedenen Arten und Kombinationen von Darstellungsarten angewendet werden. Das folgende Verfahren unterteilt die Begrenzungsboxen in sich nicht überschneidende Begrenzungsboxen, die ausschließlich einen bestimmten Typ oder eine bestimmte Kombination von Typen repräsentieren. Dies gestattet das Komprimieren der zugeordneten Rasterdarstellung für unterschiedliche Objekte verschiedener Typen mit unterschiedlichen Algorithmen. Bei diesem Verfahren wird die Größe der Begrenzungsboxen, die eine Kombination von sich überlappenden Objekten verschiedener Typen enthalten, minimiert.
- Bei der Steuerung durch die iterative Schleife 118 werden die Bereiche sequentiell überprüft, um festzustellen, ob sich die Begrenzungsboxen der verschiedenen Typen überschneiden, wie in Schritt 120 gezeigt wird. Ist dies nicht der Fall, wird der nächste Bereich überprüft. Wenn sich die Begrenzungsboxen tatsächlich überschneiden, werden die Begrenzungsboxen für den Bereich bei Schritt 122 in sich nicht überschneidende Begrenzungsboxen unterteilt. Dieser Prozeß ist visuell in der rechten Illustration von Fig. 5 durch schraffierte Boxen dargestellt, die verschiedene sich nicht überschneidende Begrenzungsboxen darstellen. Diese sich nicht überschneidenden Begrenzungsboxen können auch als Unterbereiche bezeichnet werden. Bereichsbegrenzungsbox 110 ist in die sich nicht überschneidenden Begrenzungsboxen 124, 125 und 126 unterteilt. In gleicher Weise wird die Grafikbereichsbegrenzungsbox 100 in die sich nicht überschneidenden Begrenzungsboxen 125, 128 und 129 unterteilt. In den sich nicht überschneidenden Textbegrenzungsboxen 124 und 126 sind nur Textdarstellungen enthalten. In den sich nicht überschneidenden Grafikbegrenzungsboxen 128 und 129 sind nur Grafikdarstellungen enthalten. Die verbleibende Begrenzungsbox 125 enthält eine Kombination von sowohl Text- als auch Grafikdarstellungen, wie in der Figur angemerkt ist.
- Fig. 6 ist eine vereinfachte Darstellung einer Kombination von drei verschiedenen Originalbegrenzungsboxen 130, 132 und 134 in einem Bereich 136 der Typen Text (T), Grafik (G) bzw. Bild (I), wie dargestellt. Diese Figur repräsentiert nicht die gleiche Begrenzungsboxkonfiguration wie Fig. 5, wird aber verwendet, um das Verfahren des Unterteilens von sich überschneidenden Begrenzungsboxen aller drei Darstellungsarten zu zeigen. Zur Erleichterung der Erklärung werden angrenzende Koordinatenwerte verwendet und repräsentieren nur relative Pixelkoordinaten. Realistische Werte sind normalerweise viel höher und sind normalerweise keine angrenzenden Werte. Begrenzungsbox 130 ist durch die untere linke und obere rechte Koordinate mit den (X, Y) Werten (0,2)(6,3) definiert. In gleicher Weise haben die Begrenzungsboxen 132 und 134 die Koordinatenwerte (1,1)(2,4) bzw. (3,0)(5,5). Aus Darstellungsgründen bei benachbarten Begrenzungsboxen werden die Pixel entlang der linken und unteren Begrenzung in die Begrenzungsbox einbezogen und die Pixel entlang der rechten und oberen Begrenzung werden ausgeschlossen. Somit ist die obere rechte Koordinate, die jede Begrenzungsbox identifiziert, nicht in die Begrenzungsbox einbezogen.
- Den Prozeß des Unterteilens dieser ereichsbegrenzungsboxen in sich nicht überschneidende Begrenzungsboxen kann man sich als Destillationsvorgang vorstellen. Das Verfahren ist im Ablaufdiagramm von Fig. 7 unter Bezugnahme auf das Diagramm in Fig. 6 dargestellt. Beginnend mit Schritt 140 werden die Begrenzungsboxkoordinaten aufgelistet und die Y-Koordinaten von der niedrigsten zur höchsten geordnet. Dieses Verfahren kann auch umgekehrt ausgeführt werden, indem die höchsten Koordinaten anstelle der niedrigsten zuerst verwendet werden. In der folgenden Erörterung kann der Bezug auf X- und Y-Koordinaten umgekehrt werden und die Ergebnisse werden die gleichen sein. In diesem Fall sind die Y-Koordinaten: 0,1,2,3,4 und 5. Die zwei niedrigsten Y-Koordinaten (0 und 1) werden zuerst ausgewählt, und die X-Koordinaten, die den ausgewählten Y-Koordinaten zugeordnet sind, werden in Schritt 142 geordnet. Somit ist Y = 0,1 und X = 3,5, wie durch Begrenzungsbox 134 angegeben.
- X-Koordinaten 1 und 2 für Y = 1, welche die untere Begrenzung der Begrenzungsbox 132 definieren, werden nicht verwendet, da dies die obere Linie dessen bildet, was ansonsten eine Testbox (1,0)(2,1) wäre. Diese obere Linie ist nicht in die Testbox einbezogen, also gibt es keine Überschneidung mit Begrenzungsbox 132.
- Die nächsten zwei niedrigsten X-Koordinaten werden zuerst bei Schritt 144 ausgewählt. In diesem Fall gibt es nur zwei X-Koordinaten. Dann wird bei Schritt 146 ein Test durchgeführt, um zu bestimmen, ob sich die entstandene Testbox in einer der Originalbegrenzungsboxen befindet. Testbox (3,0)(5,1), deren oberste Linie in Fig. 6 als eine gepunktete Linie dargestellt ist, befindet sich in Begrenzungsbox 134 und wird als Begrenzungsbox AI identifiziert. Das tiefgestellte I bezieht sich auf den Begrenzungsboxtyp, der in diesem Fall ein Bild ist. Diese Darstellungsart und die Koordinaten von Begrenzungsbox A werden bei Schritt 148 gespeichert.
- Wenn sich die Testbox nicht in einer Originalbegrenzungsbox befindet, wird sie ignoriert und Schritt 148 wird umgangen. Der nächste Schritt 150 bestimmt, ob es mehr X-Koordinaten für das vorhandene Paar von Y-Koordinaten 0,1 gibt. Ist das der Fall, wären die nächsten zwei X-Koordinaten 5 und wie immer die nächste Zahl lautet. Da es keine X-Koordinaten mehr gibt, wird bei Schritt 152 ein Test durchgeführt, um zu bestimmen, ob es noch weitere Y-Koordinaten gibt. Ist das nicht der Fall, ist der Destillationsvorgang beendet. In diesem Beispiel jedoch sind wir gerade am Anfang. Bei Vorhandensein eines weiteren Y kehrt das Verfahren zu Schritt 142 zurück und wiederholt die obigen Schritte für Y = 1,2.
- Anstatt den Prozeß Schritt für Schritt verbal durchzugehen, wird die folgende Tabelle verwendet, um die verschiedenen Schritte zu zeigen, die beim Identifizieren aller sich nicht überschneidenden Begrenzungsboxen von A bis M involviert sind.
- Fig. 10 ist ein Blockfunktionsdiagramm des bevorzugten Ausführungsbeispiels des in Fig. 1 dargestellten Systems 10. Wie in Fig. 10 dargestellt und wie erörtert wurde, weist ein Empfänger für deskriptive Befehle 154 den eingehenden Befehlen Anzeigelistenobjekte zu, unterteilt die Anzeigelistenobjekte in Bereiche, definiert die Bereichsbegrenzungsboxen und speichert die entstandenen Informationen nach Bereich in einem Abschnitt des RAM 26, der funktionell als Arbeitsspeicher 156 bezeichnet wird. Eine Destillationsvorgangseinheit 158 unterteilt dann die Bereichsbegrenzungsboxen, wenn erforderlich, in sich nicht überschneidende Begrenzungsboxen und speichert sie im Speicher 156, wie es unter Bezugnahme auf Fig. 4-7 beschrieben wurde. Die Bereichsbegrenzungsboxen werden vorzugsweise beibehalten, für den Fall, daß ein weiteres Verarbeiten in einem Bereich notwendig ist.
- Nach dem Unterteilen der Bereichsbegrenzungsboxen in sich nicht überschneidende Begrenzungsboxen wird die Anzeigeliste für jeden Bereich "gerastert" und komprimiert. Dann werden die komprimierten Daten zusammen mit Begrenzungsbox- und Darstellungsartinformationen, Kompressionsalgorithmusidentifizierer und jeglichen Kompressionsparametern gespeichert, wie durch den in Fig. 3 dargestellten Schritt 78 angegeben. Dieser Schritt wird detaillierter in Fig. 8 gezeigt. Die Kompressionsalgorithmen werden auf der Grundlage der vorher genannten Kompressionsfaktoren ausgewählt durch jene Einheit, die als "Berater" 166 (Fig. 10) bezeichnet wird. Beispielsweise können eine Hochgeschwindigkeitsoperation und hohe Qualität verlangt werden. In einem solchen Drucker könnten rechnerisch einfachere Algorithmen und niedrigere Kompressionsverhältnisanforderungen verwendet werden. Alternativ würden geringere Geschwindigkeit, geringere Qualität und höhere Kompressionsverhältnisanforderungen rechnerisch komplexere Algorithmen ermöglichen.
- Einige Kompressionsverfahren, wie Ein-Farb-Kodierung, Zwei-Farb-Kodierung, Lauflängen-Kodierung und Subsampling sind rechnerisch einfach. Sie stellen begrenzte Komprimierung von visuell aktiven Objekten, insbesondere von Bildern, bereit. Bei einfachen Objekten aber wird eine sehr hohe Komprimierung realisiert. Komplexere Kompressionsverfahren, wie die konventionell als LZW und JPEG bekannten, stellen in Abhängigkeit von den verarbeiteten Daten und den den Parametern zugewiesenen Werten variierende Kompressionsniveaus bereit. Der Komprimierungsgrad wird auch gesteuert durch Steuern der mit solchen Verfahren verknüpften Parameter, wie es in der Technik bekannt ist. In einigen Fällen kann es dann möglich sein, schnell eine schlechte visuelle Qualität oder langsam eine hohe Qualität zu erhalten. Die verwendeten speziellen Kompressionsalgorithmen werden durch die Kompressionsfaktoren bestimmt.
- Kombinationen dieser Verfahren können verwendet werden, um sogar unterschiedliche Kompressionsniveaus, Rechenkomplexität und visuelle Qualität zu erreichen. Die Charakteristika der Inhalte der Begrenzungsboxen können identifiziert werden, um zu bestimmen, ob noch andere Verfahren zweckmäßig wären. Wenn beispielsweise eine gegebene Begrenzungsbox eine grafische Darstellung enthält, dann könnte deren Überprüfung zeigen, daß sie aus nur zwei verschiedenen Farben besteht. Für eine Halbtoneinrichtung wird eine Einsparung von 8 zu 1 für jeden Farbton erreicht, indem die Pixelmap der Begrenzungsbox mit einer Pixelmap von einem Bit pro Pixel dargestellt wird, ohne die Qualität zu opfern. Wenn die Inhalte eine einzige Farbe haben, ist es ausreichend, nur die Farb- und Begrenzungsboxinformationen zu speichern. Die realisierte Komprimierung ist abhängig von der Größe der Begrenzungsbox.
- Als weiteres Beispiel könnten die lokale Aktivität oder Änderungsrate im Inhalt einer Begrenzungsbox festgelegt werden. Wenn es nur eine geringe Aktivität gibt, kann ein Lauflängenkodierverfahren verwendet werden. Wenn eine hohe Aktivität vorhanden ist, kann das JPEG-Verfahren eingesetzt werden. Ferner kann der Rasterinhalt der Begrenzungsboxen einfach kopiert werden, wenn eine Darstellung nur einen kleinen Abschnitt des Bereichs ausmacht. Dies ermöglicht RAM-Einsparungen, indem eine Rasterdarstellung von dem nicht markiertem Hintergrund nicht gespeichert wird. Dies ist auch für einige Begrenzungsboxen wünschenswert, die Kombinationen von Objekten oder Darstellungsarten enthalten. Somit kann das Kopieren von Rasterdaten, die einer Begrenzungsbox zugeordnet sind, ein wichtiger Kompressionsalgorithmus zum Erreichen von Kompressionszielen sein.
- Die erste Auswahl eines Satzes von Kompressionsalgorithmen (ein Kompressionsverfahren) durch Berater 166, einschließlich wenigstens eines Algorithmus zum Komprimieren der Daten wird als Schritt 160 in Fig. 8 gezeigt. Ein "Algorithmus", wie er hier verwendet wird, bezieht sich auf einen Algorithmus mit spezifischen Parameterwerten. Folglich führt eine Veränderung bei Parameterwerten zu einem anderen Algorithmus, und andere Parameterwerte führen zu einer Mehrzahl von Algorithmen. Jedes Mal, wenn ein Kompressionsverfahren ausgewählt wird, kann Berater 166 basierend auf den verschiedenen ausgewählten Kompressionsalgorithmen und dem Inhalt der Seitendarstellung eine Schätzung des Umfangs der gesamten zu erwartenden Komprimierung vornehmen. Alternativ können die Algorithmen basierend auf einer geschätzten Kompressionsanforderung ausgewählt werden.
- Eine iterative Schleife, definiert durch Schritt 161, wird verwendet, um seriell durch die Bereiche weiterzugehen. Für jeden Bereich wird die Anzeigeliste im Schritt 162 durch einen Rastergenerator 163 gerastert und unkomprimiert in einem "unkomprimierten" Speicher 164 (Fig. 10) gespeichert, wie durch Schritt 162 bereitgestellt. Eine Kompressionseinheit 165, die die für das Kompressionsverfahren ausgewählten Algorithmen verwendet, die der Modifikation durch einen in Fig. 10 dargestellten "Berater" 166 unterliegen, die auf dem aktuellen Zustand der relevanten Kompressionsfaktoren basieren, komprimiert bei Schritt 167 die gerasterte Anzeigeliste und speichert sie in einem "komprimierten" Speicher 168 (Fig. 10). RAM 26 aus Fig. 1 beinhaltet Funktionsspeicher 156, 164 und 168. Verschiedene Kompressionsalgorithmen können auf Daten, entsprechend verschiedener Begrenzungsboxen, die gemäß den relevanten Kompressionsfaktoren bestimmt werden, angewendet werden. Die Begrenzungsbox, Darstellungsart, Algorithmusidentifizierer und Parameterwerte, die verwendet werden, werden mit den komprimierten Daten gespeichert.
- Bei Entscheidungsschritt 169 werden die aktuellen Werte der Kompressionsfaktoren mit den Zielwerten verglichen, um zu bestimmen, ob Angleichungen erforderlich sein könnten. Wenn der Fortschritt angemessen ist, werden die Daten für den nächsten Bereich erhalten.
- Wenn Berater 166 im Schritt 169 festlegt, daß der Fortschritt zum Erreichen der Zielkompressionsfaktoren nicht angemessen ist, wird der Grad der Nichtangemessenheit relativ zum Anteil der komprimierten Seitendarstellung verwendet, um bei Schritt 171 festzulegen, ob das Kompressionsverfahren einfach aktualisiert und fortgesetzt wird oder ob wenigstens einige der Daten, die bereits komprimiert sind, neu verarbeitet werden. Wenn die Entscheidung zum Aktualisieren getroffen wird, dann wird in Schritt 172 basierend auf dem aktuellen Zustand der relevanten Kompressionsfaktoren das Kompressionsverfahren revidiert. Eine revidierte Schätzung der erwarteten Kompressionsergebnisse basierend auf dem aktuellen und dem geplanten Fortschritt wird ebenfalls vorgenommen. Es wird in Schritt 161 ein neuer Bereich ausgewählt, und der Prozeß wird fortgesetzt, wie es beschrieben wurde.
- Wenn bei Schritt 171 eine Entscheidung zum Neuverarbeiten der vorhandenen Daten getroffen wird, dann werden basierend auf den relevanten Kompressionsfaktoren für diese Situation ein revidiertes Kompressionsverfahren und eine aktualisierte Schätzung der erwarteten Kompression bei Schritt 174 festgelegt. Es folgt dann ein Schleifen-Prozeß, allgemein dargestellt bei 176, um die vorher komprimierten Daten neu zu verarbeiten. Ein Iterationssteuerschritt 178 wird zum Weitergehen durch alle Bereiche hindurch verwendet. In Schritt 180 wird eine Bestimmung vorgenommen, ob Daten für den bestimmten Bereich komprimiert sind, und wenn das der Fall ist, ob es wünschenswert ist, die entsprechenden Daten neu zu verarbeiten. Beispielsweise kann es ausreichend sein, wenn sehr wenig zusätzliche Speicherkapazität benötigt wird, nur die Daten, die für den letzten Bereich komprimiert wurden, neu zu verarbeiten oder nur die Daten für Bereiche mit großen Datenmengen neu zu verarbeiten. Wenn kein Neuverarbeiten durchgeführt werden soll, wird der nächste Bereich ausgewählt. Wenn ein Neuverarbeiten durchgeführt werden soll, werden die Daten für den Bereich basierend auf den Algorithmen, die zu ihrer Komprimierung verwendet wurden, bei Schritt 182 dekomprimiert. Dann wird ein Algorithmus, der in dem neuen Kompressionsverfahren identifiziert wird, der möglicherweise basierend auf dem aktuellen Zustand der Kompressionsfaktoren modifiziert wird, zum Neukomprimieren der Daten verwendet.
- Die neu komprimierten Daten werden erneut im komprimierten Speicher 168 gespeichert. Der Fortschritt wird bei Schritt 184 überprüft. Wenn der Fortschritt als angemessen bestimmt wird, werden die Daten für den nächsten Bereich verarbeitet. Wenn der Fortschritt nicht angemessen ist, dann wird bei Schritt 186 eine Entscheidung getroffen, entweder das Kompressionsverfahren einfach zu aktualisieren und die Datenverarbeitung für die verbleibenden Bereiche fortzusetzen oder die Daten für alle Bereiche selektiv neu zu verarbeiten. Wenn bei dem Verfahren, das Schritt 171 zugeordnet ist, die Entscheidung zum Aktualisieren getroffen wird, wird bei Schritt 188 das Kompressionsverfahren aktualisiert und die Schätzung revidiert und das Verarbeiten wird beim iterativen Schritt 178 fortgesetzt. Wenn die Entscheidung zum Neuverarbeiten der Daten für einen gegebenen Bereich getroffen wird, dann erfolgt die Rückkehr zu Schritt 174 und Neuverarbeitungsverfahren. 176 wird neu initiiert.
- Das Neuverarbeitungsverfahren 176 wird durchgeführt, bis alle der vorher komprimierten Daten neu verarbeitet sind. Die Steuerung kehrt dann zum iterativen Schritt 161 zurück, um die Daten für jegliche zusätzlichen Bereiche zu verarbeiten. Der Kompressionsprozeß 78 dauert an, bis eine ausreichende Komprimierung zum Speichern aller Daten erreicht ist. Es gibt vorzugsweise wenigstens ein Kompressionsverfahren, das garantiert, daß alle Daten ausreichend komprimiert sind, um im Speicher gespeichert zu werden. Gemäß Definition werden bei diesem Prozeß nur Daten, die den Flächen einer Seite zugeordnet sind, auf welchen "Markieren" erfolgt, gespeichert. Daten, die Abschnitten eines Bereichs zugeordnet sind, wo kein Markieren erfolgt, werden nicht gespeichert. Dies ermöglicht ein inhärentes Komprimieren unabhängig von der Anwendung spezifischer Kompressionsalgorithmen auf die gespeicherten Daten.
- Es ist auch möglich, daß für RAM 26 aus Fig. 1 der Speicher nicht ausreicht, wenn bei dem in Fig. 4 gezeigten Prozeß 84 die Anzeigelisten erzeugt werden. In einem solchen Fall werden die vorhandenen Anzeigelisten nach einem Verfahren, das dem unter Bezugnahme auf Fig. 8 beschriebenen Verfahren sehr ähnlich ist, gerastert, komprimiert und gespeichert, bis ein angemessener Fortschritt erreicht wird. Dann wird die Anzeigelistenerzeugung für die unverarbeiteten deskriptiven Befehle wieder aufgenommen.
- Die Ausgabe von Daten an die visuelle Ausgabeeinrichtung, die allgemein als Schritt 80 in Fig. 3 dargestellt ist, wird in Fig. 9 detaillierter dargestellt. Weil die Bereiche, in die eine Seite unterteilt wird, der Rasteranordnung zum Herstellen der visuellen Ausgabe entsprechen, werden die Bereiche sequentiell ausgegeben. Dies wird durch die in Fig. 9 dargestellte iterative Schleife 190 dargestellt. Für jeden Bereich werden die im komprimierten Speicher 168 gespeicherten Daten gelesen, auf der Basis des (der) Algorithmus (Algorithmen), der (die) zum Komprimieren verwendet wurde(n), dekomprimiert und in einem unkomprimierten Speicher 164 gespeichert, wie durch Schritt 192 dargestellt wird. Die Daten werden unter Verwendung der Umkehrung des zum Komprimieren verwendeten Kompressionsalgorithmus oder einer Variation desselben in Abhängigkeit von den bestehenden Bedingungen dekomprimiert. Beispielsweise kann es erforderlich sein, um Rasterdaten für die Druckeinrichtung verfügbar zu machen, den (die) Algorithmus (Algorithmen) zu modifizieren, um die Geschwindigkeit zu erhöhen, mit der die Daten dekomprimiert werden. Bei Schritt 194 werden die Rasterdaten aus Speicher 164 gelesen und auf der Kommunikationsverbindung 20 an die visuelle Ausgabeeinrichtung 18 unter der Steuerung einer Ausgabesteuereinrichtung 196 ausgegeben. Wie erwähnt wurde, druckt bei dem bevorzugten Ausführungsbeispiel die Ausgabeeinrichtung die Seitendarstellung auf eine Hardcopy-Seite. Es ist möglich, den Komprimier-/Dekomprimierzyklus zu umgehen, wenn der letzte verarbeitete Bereich der erste von der Druckeinrichtung angeforderte Bereich ist.
- Fig. 10 stellt auch ein alternatives Druckersystem 200 dar, das gemäß der Erfindung hergestellt wurde. System 200 beinhaltet eine Host-Einheit 202, wie eine Arbeitsstation, einschließlich Quelle 12 und eines modifizierten Ausgabedatengenerators 16'. Generator 16' beinhaltet die Komponenten von Generator 16, mit Ausnahme der Ausgabesteuereinrichtung 196, einschließlich Ausgabesteuereinrichtung 204, die Daten aus dem komprimierten Speicher 168 an eine Ausgabeeinheit 206 übermittelt. Der modifizierte Inhalt von Generator 16' wird durch die Strich-Punkt-Linien dargestellt, ausschließlich Steuereinrichtung 196 und einschließlich Steuereinrichtung 204.
- Ausgabeeinheit 206 beinhaltet eine Eingabesteuereinrichtung 208, die die komprimierten, regionalen und zugeordneten Daten von Generator 16' empfängt und speichert sie in einem komprimierten Speicher 210, der dem Speicher 168 in Generator 16' ähnelt. Eine Dekompressionseinheit 212, die die für die Kompressionseinheit 165 von Generator 16 beschriebene Kompressionsfunktion bereitstellt, dekomprimiert die Daten bei Ausgabeanforderung und bildet die erforderlichen Rasterdaten in einem unkomprimierten Speicher 214 ab. Eine Ausgabesteuereinrichtung 216, äquivalent zur Steuereinrichtung 196, übermittelt dann die Rasterdaten an eine residente visuelle Ausgabeeinrichtung 18.
- Im System 200 werden dann die in Fig. 3 dargestellten Schritte 56, 58 und 78 durch die Host-Einheit 202 bereitgestellt, und Schritt 80 wird durch Ausgabeeinheit 206 bereitgestellt. Unter Berücksichtigung der Variationen in der Hardware, die somit möglich sind, werden die jeweiligen Komponenten, wie die von Host-Einheit 202 und Ausgabeeinheit 206, gemeinsam als "Computermittel", "Speichermittel", "Prozessormittel" und dergleichen bezeichnet.
- Bei dem bevorzugten Ausführungsbeispiel wird RAM 26 aus Fig. 1 als Arbeitsspeicher, unkomprimierter Speicher und komprimierter Speicher verwendet. Ein Arbeitsspeicher existiert auch in konventionellen PostScript-gestützten Druckern. Der unkomprimierte Speicher speichert Daten für einen einzelnen Bereich auf einmal. Wenn eine Seite in 40 Bereiche unterteilt ist, ist dies ein kleiner Teil der gesamten Speicheranforderungen. Der Hauptnutzen dieser Erfindung wird durch das Reduzieren der Größenanforderungen dessen realisiert, was als komprimierter Speicher 168 bezeichnet wird. Die Größe ist direkt proportional zum Umfang der gewünschten Komprimierung relativ zur visuellen Qualität und Rechenkomplexität. Beispielsweise wird bei einer gewünschten Minimalkomprimierung von 10 : 1 die Speichergröße entsprechend reduziert. Wird jedoch eine visuelle Ausgabe von konsistent höherer Qualität gewünscht, kann eine 4 : 1 Komprimierung ausgewählt werden. Die Zielkompression beeinflußt dann das Gleichgewicht zwischen den Kompressionszielen von Kompressionsverhältnis, visueller Qualität und Rechenkomplexität.
- Es wird davon ausgegangen, daß paralleles Verarbeiten von Bereichsdaten auch zur Destillation von Begrenzungsboxen, zum Komprimieren, Speichern, Lesen und Drucken verwendet werden kann. Wie erwähnt wurde, gestattet dies das Verarbeiten verschiedener Teile der Daten für eine Seite auf einmal. Dies kann erweitert werden, um auch die Daten für verschiedene Seiten gleichzeitig zu verarbeiten.
- Das Unterteilen einer Seite in parallele Bereiche oder Bänder ist kein Erfordernis für die allgemeinen Aspekte der vorliegenden Erfindung. Das Verfahren der vorliegenden Erfindung kann auch in einer Nicht-Band-Umgebung ausgeführt werden, wie das von Adobe Systems Incorporated vertriebene System unter dem Namen "Photoshop". Wie jedoch angemerkt wurde, ist es bei dem speziellen Ausführungsbeispiel nützlich, als Teil eines Druckers in einer Band-Umgebung zu arbeiten. Es gibt zusätzliche inhärente Vorteile bei dieser Art von System. Das heißt, man möchte die Anzahl der Vorgänge bei der Datenverarbeitung und beim Drucken reduzieren, bei welchen Daten komprimiert und dekomprimiert werden müssen, um die durch die Ausgabeeinrichtung benötigten Rasterdaten zu erzeugen. Das Verwenden von Bändern und zugeordneten Anzeigelisten sichert, daß die vom Drucker angeforderten Daten in der benötigten Sequenz verfügbar sind.
- Wie im Hinblick auf verschiedene Merkmale der vorliegenden Erfindung angemerkt worden ist, ist es für einen Fachmann erkennbar, daß Variationen in Form und Detail an dem bevorzugten Ausführungsbeispiel vorgenommen werden können, ohne von dem in den Ansprüchen definierten Schutzbereich der Erfindung abzuweichen. Das bevorzugte Ausführungsbeispiel und Verfahren werden somit für Zwecke der Erläuterung und Darstellung zur Verfügung gestellt, stellen jedoch keine Beschränkung dar.
Claims (54)
1. Ein Verfahren zum Erzeugen von Daten zum
Herstellen einer wenigstens zwei verschiedene Arten von
Darstellungen enthaltenden Seitendarstellung auf einer Seite durch
eine visuelle Ausgabeeinrichtung, umfassend die Schritte:
Empfangen von die Seitendarstellungen definierenden
Daten;
Bereitstellen wenigstens eines ersten
Kompressionsalgorithmus und eines zweiten Algorithmus zum Komprimieren von
Daten;
Identifizieren separater Daten, die wenigstens einer
Darstellungsart entsprechen;
Auswählen eines Algorithmus, der der identifizierten
wenigstens einen Darstellungsart entspricht;
Komprimieren der der identifizierten wenigstens einen
Darstellungsart entsprechenden Daten mit dem ausgewählten
Algorithmus;
Speichern der komprimierten Daten; und
Dekomprimieren der gespeicherten Daten nach dem
Speichern der komprimierten Daten und Übermitteln der
dekomprimierten Daten an die visuelle Ausgabeeinrichtung;
wobei das Verfahren dadurch gekennzeichnet ist,
daß jeder Kompressionsalgorithmus einen zugehörigen
bestimmbaren Kompressionsfaktorwert aufweist und daß die
Auswahl eines speziellen Algorithmus in dem Auswahlschritt auch
von einem bestimmten Kompressionsfaktorwert abhängt.
2. Ein Verfahren nach Anspruch 1, wobei die Arten der
Darstellungen aus den empfangenen Daten bestimmt werden
können und der Schritt des Identifizierens der wenigstens
einen Darstellungsart ferner das Bestimmen der wenigstens
einen Darstellungsart aus den empfangenen Daten umfaßt.
3. Ein Verfahren nach Anspruch 1, wobei die Daten, die
wenigstens für die bestimmte wenigstens eine Darstellungsart
identifiziert worden sind, eine von wenigstens zwei
identifizierbaren Charakteristika aufweisen; wobei das Verfahren
ferner den Schritt des Bestimmens der Charakteristik der für
die bestimmte wenigstens eine Darstellungsart
identifizierten Daten umfaßt, und wobei der Schritt des Auswählens das
Auswählen eines der bestimmten Charakteristik entsprechenden
Algorithmus, wenn die Darstellungsart die bestimmte
wenigstens eine Darstellungsart ist, umfaßt, und der Schritt des
Komprimierens das Komprimieren der für die bestimmte
wenigstens eine Darstellungsart identifizierten Daten mit dem der
bestimmten Charakteristik entsprechenden Algorithmus umfaßt,
wenn die Darstellung die bestimmte wenigstens eine
Darstellungsart ist.
4. Ein Verfahren nach Anspruch 1, ferner umfassend den
Schritt des Bestimmens von wenigstens zwei Arten der
Darstellungen; wobei wenigstens ein Abschnitt der
Seitendarstellung in eine Mehrzahl von Bereichen unterteilt wird,
wobei wenigstens ein erster Bereocj der Bereiche wenigstens
eine erste der Darstellungsarten enthält und wenigstens ein
zweiter Bereich der Bereiche wenigstens eine zweite der
Darstellungsarten enthält; und wobei separate Daten für den
wenigstens einen ersten Bereich und den wenigstens einen
zweiten Bereich identifiziert werden; und wobei der Schritt des
Auswählens das Auswählen von Kompressionsalgorithmen zum
Komprimieren der identifizierten Daten, die wenigstens den
ersten und zweiten Bereichen entsprechen, umfaßt; und wobei
der Schritt des Komprimierens das Komprimieren der
identifizierten Daten für wenigstens den ersten und zweiten Teilbereich
in Übereinstimmung mit den zugehörigen ausgewählten
Algorithmen umfaßt.
5. Ein Verfahren nach Anspruch 4, wobei der Schritt des
Bereitstellens das Bereitstellen wenigstens des ersten und
des zweiten Algorithmus als verschiedene Algorithmen
einschließt und der Schritt des Auswählens das Auswählen des
wenigstens einen ersten Algorithmus zum Komprimieren der
identifizierten Daten, die der zumindest einen ersten der
Darstellungsarten entsprechen, und das Auswählen des
wenigstens einen zweiten Algorithmus zum Komprimieren der
identifizierten Daten, die der zumindest einen zweiten der
Darstellungsarten entsprechen, einschließt.
6. Ein Verfahren nach Anspruch 4, wobei die wenigstens
zwei Bereiche sich in einem gemeinsamen Abschnitt
überlappen, der die zugehörigen wenigstens zwei Darstellungsarten
enthält; und wobei der Schritt des Unterteilens des
Abschnitts der Seite in Bereiche ferner das Identifizieren des
gemeinsamen Abschnitts umfaßt; wobei der Schritt des
Auswählens das Auswählen wenigstens eines der Algorithmen zum
Komprimieren der dem gemeinsamen Abschnitt entsprechenden
identifizierten Daten umfaßt und wobei der Schritt des
Komprimierens das Komprimieren wenigstens der identifizierten
Daten, die dem gemeinsamen Abschnitt entsprechen, gemäß dem
ausgewählten wenigstens einen Algorithmus umfaßt.
7. Das Verfahren nach Anspruch 1, ferner einschließend
das Bereitstellen wenigstens eines Kompressionsfaktors, der
einen bestimmbaren Wert für jeden Kompressionsalgorithmus
aufweist;
das Bestimmen des Werts des wenigstens einen
Kompressionsfaktors;
und wobei der Auswahlschritt das Auswählen des
speziellen Algorithmus einschließt, wenn wenigstens ein Kompressionsfaktor
einen Wert aufweist, der eine vorgegebene
Beziehung zu dem dem speziellen Algorithmus zugeordneten und
bestimmten Kompressionsfaktorwert aufweist.
8. Ein Verfahren nach Anspruch 7, wobei wenigstens einer
der Kompressionsfaktoren ein Zielkompressionsverhältnis ist.
9. Ein Verfahren nach Anspruch 7, wobei wenigstens einer
der Kompressionsfaktoren eine visuelle Zielqualität der
Seitendarstellung ist.
10. Ein Verfahren nach Anspruch 7, wobei wenigstens
einer der Kompressionsfaktoren eine Zielrechenkomplexität ist.
11. Ein Verfahren nach Anspruch 7, wobei die
Seitendarstellung eines Mehrzahl von Objektdarstellungen enthält und
wenigstens einer der Kompressionsfaktoren das Verhältnis
zwischen dem, was eine Objektdarstellung belegt, relativ zur
Seitendarstellung ist, und wobei das Verfahren ferner den
Schritt des Bestimmen des Verhältnisses dessen, was eine
Objektdarstellung relativ zur Seitendarstellung belegt,
umfaßt, und wobei der Schritt des Auswählens das Auswählen des
speziellen Kompressionsalgorithmus umfaßt, sofern das so
bestimmte Objektverhältnis einen Wert aufweist, der in einer
vorgegebenen Beziehung zu dem dem speziellen Algorithmus
zugeordneten und bestimmten Kompressionsfaktorwert steht.
12. Ein Verfahren nach Anspruch 7, wobei der Schritt des
Bereitstellens des wenigstens einen Kompressionsfaktors das
Bereitstellen einer Mehrzahl von Kompressionsfaktoren für
jeden Kompressionsalgorithmus umfaßt und der Schritt des
Auswählens das Auswählen des speziellen Algorithmus
einschließt, sofern der wenigstens eine der
Kompressionsfaktoren einen Wert aufweist, der in einer vorgegebenen Beziehung
zu den dem speziellen Algorithmus zugeordneten und
bestimmten Kompressionsfaktorwerten steht.
13. Ein Verfahren nach Anspruch 12, ferner umfassend den
Schritt des Priorisierens wenigstens zweier der
Kompressionsfaktoren, und wobei der Schritt des Auswählens das
Auswählen eines Kompressionsalgorithmus auf der Grundlage der
relativen Priorität der wenigstens zwei der
Kompressionsfaktoren einschließt.
14. Ein Verfahren nach Anspruch 7, wobei der wenigstens
eine Kompressionsfaktor einen Zielwert aufweist und der
aktuelle Wert auf der Grundlage des Schritts des Komprimierens
bestimmbar ist, wobei das Verfahren nach dem Schritt des
Komprimierens der identifizierten Daten das Bestimmen des
aktuellen Werts des wenigstens einen Kompressionsfaktors,
und dann, wenn der aktuelle Wert in einer vorgegebenen
Beziehung zu dem Zielwert steht, das Dekomprimieren der
komprimierten Daten, das Auswählen des Kompressionsalgorithmus'
auf der Grundlage der Beziehung des aktuellen Werts zu dem
Zielwert und das Neu-Komprimieren der zuvor komprimierten
Daten unter Verwendung des ausgewählten
Kompressionsalgorithmus umfaßt.
15. Ein Verfahren nach Anspruch 7, wobei der wenigstens
eine Kompressionsfaktor einen Zielwert aufweist und der
aktuelle Wert auf der Grundlage des Schritts des Komprimierens
bestimmbar ist, wobei das Verfahren nach dem Schritt des
Komprimierens der identifizierten Daten mit einem ersten
ausgewählten Kompressionsalgorithmus das Bestimmen des
aktuellen Werts des wenigstens einen Kompressionsfaktors und
dann, wenn der aktuelle Wert in einer vorgegebenen Beziehung
zu dem Zielwert steht, das Auswählen eines sich von dem
ersten Algorithmus unterscheidenden zweiten Algorithmus auf
der Grundlage der Beziehung des aktuellen Wert zu dem Zielwert
und das Komprimieren wenigstens eines Abschnitts der
identifizierten Daten mit dem zweiten
Kompressionsalgorithmus umfaßt.
16. Das Verfahren nach Anspruch 1, wobei die visuelle
Ausgabeeinrichtung eine Rasterausgabeeinrichtung ist, wobei
das Verfahren einschließt das Unterteilen der Seite in eine
Mehrzahl zusammenhängender Bereiche, die zusammen wenigstens
einen Abschnitt der Seitendarstellung enthalten;
Identifizieren separater Daten für jeden Bereich, der
dem in dem Bereich enthaltenen Abschnitt der
Seitendarstelung entspricht;
Bestimmen wenigstens einer Darstellungsart oder
Kombination von Darstellungsarten für den Abschnitt der
Seitendarstellung, die durch die Daten definiert wird, die jedem der
Daten enthaltenden Bereiche zugeordnet sind;
Rastern der identifizierten Daten für jeden der Daten
enthaltenden Bereiche;
Bereitstellen einer Mehrzahl verschiedener Algorithmen
zum Komprimieren der den entsprechenden verschiedenen
Darstellungsarten und Kombinationen von Darstellungsarten
zugeordneten Daten;
Auswählen von Algorithmen, die jeder der bestimmten
Darstellungsarten und Kombinationen von Darstellungsarten für
jeden Bereich entsprechen; und
Komprimieren der gerasterten Daten für jeden Bereich mit
einem Algorithmus, der jeweils der bestimmten
Darstellungsart für den Bereich entspricht.
17. Ein Verfahren nach Anspruch 16, wobei die für
wenigstens eine bestimmte Darstellungsart für wenigstens einen
Bereich identifizierten Daten eine von wenigstens zwei
identifizierbaren Charakteristika aufweisen, wobei das Verfahren
ferner die Schritte umfaßt des Bestimmens der
Charakteristika der für die wenigstens eine für den wenigstens einen
Bereich
bestimmte Darstellungsart identifizierten Daten, und
wobei der Schritt des Auswählens das Auswählen eines der
bestimmten Charakteristika entsprechenden Algorithmus
einschließt, wenn die bestimmte Darstellungsart die wenigstens
eine Darstellungsart ist, und wobei der Schritt des
Komprimierens das Komprimieren der für die bestimmte wenigstens
eine Darstellungsart identifizierten Daten mit dem
ausgewählten Algorithmus, der der bestimmten Charakteristik der
Daten der bestimmten wenigstens einen Darstellungsart
entspricht, einschließt.
18. Eins Verfahren nach Anspruch 16, wobei der Schritt
des Bestimmens das Bestimmen von wenigstens zwei
Darstellungsarten für wenigstens einen Bereich einschließt; wobei
das Verfahren ferner den Schritt des Unterteilens des
wenigstens einen Bereichs in eine Mehrzahl von Unterbereichen
umfaßt, wobei wenigstens ein erster der Unterbereiche
wenigstens eine erste der Darstellungsarten enthält und
wenigstens ein zweiter der Unterbereiche wenigstens eine zweite
der Darstellungsarten enthält; und wobei der Schritt des
Auswählens das Auswählen von Kompressionsalgorithmen zum
Komprimieren der dem wenigstens einen ersten und zweiten
Unterbereich entsprechenden identifizierten Daten einschließt;
und wobei der Schritt des Komprimierens das Komprimieren der
definierenden ersten und zweiten Unterbereiche in
Übereinstimmung mit den entsprechenden ausgewählten Algorithmen
einschließt.
19. Ein Verfahren nach Anspruch 17, wobei der Schritt
des Auswählens das Auswählen wenigstens eines ersten
Algorithmus zum Komprimieren der der wenigstens einen ersten
Darstellungsart entsprechenden identifizierten Daten und das
Auswählen wenigstens eines zweiten Algorithmus, der von dem
wenigstens einen ersten Algorithmus abweicht, zum Komprimieren
der der wenigstens einen zweiten Darstellungsart
entsprechenden identifizierten Daten einschließt.
20. Ein Verfahren nach Anspruch 17, wobei sich
wenigstens der erste und der zweite Unterbereich in einem
gemeinsamen Abschnitt überlappen und wobei der Schritt des
Unterteilens des wenigstens einen Bereichs in Unterbereiche
ferner das Identifizieren des gemeinsamen Abschnitts
einschließt; wobei der Schritt des Auswählens das Auswählen
wenigstens eines der Algorithmen zum Komprimieren der dem
gemeinsamen Abschnitt entsprechenden identifizierten Daten
einschließt; und wobei der Schritt des Komprimierens das
Komprimieren wenigstens der dem gemeinsamen Abschnitt
entsprechenden identifizierten Daten in Übereinstimmung mit dem
ausgewählten wenigstens einen der Algorithmen einschließt.
21. Ein Verfahren nach Anspruch 18, wobei der in dem
einen Bereich enthaltene Abschnitt der Seitendarstellung
weniger Fläche belegt als die Seitendarstellung, und wobei der
Schritt des Unterteilens das Unterteilen des einen Bereichs
in die Mehrzahl von Unterbereichen, die den im dem einen
Bereich enthaltenen Abschnitt der Seitendarstellung enthalten,
einschließt, wobei die Unterbereiche zusammen eine Fläche
belegen, die kleiner als die Fläche des einen Bereichs ist.
22. Ein Verfahren nach Anspruch 16, wobei der wenigstens
eine Abschnitt der Seite in Bereiche unterteilt ist, die
eine Maximalfläche aufweisen, und der wenigstens eine
Abschnitt der Seitendarstellung, der in den Bereichen
enthalten ist, weniger Fläche belegt als die Maximalfläche, und
wobei der Schritt des Unterteilens das Unterteilen des
wenigstens einen Abschnitts der Seite in eine Mehrzahl von
Bereichen derart einschließt, daß die Bereiche zusammen eine
Fläche belegen, die geringer als die Maximalfläche ist.
23. Ein Verfahren nach Anspruch 16, ferner umfassend die
Schritte des Bereitstellens von Daten, die einen Basissatz
von Grundelementen definieren; und des Zuweisens für jeden
Bereich, eines zugewiesenen Satzes von Grundelementen, die
aus dem Basissatz ausgewählt worden sind und die zusammen
den Abschnitt der Seitendarstellung in diesem Bereich
repräsentieren; und wobei der Schritt des Komprimierens das
Rastern und Komprimieren der Daten, die dem zugewiesenen Satz
von Grundelementen für jeden Bereich entsprechen, umfaßt.
24. Ein Verfahren nach Anspruch 23, ferner umfassend den
Schritt des Unterteilens jedes Bereichs in wenigstens einen
Unterbereich für jede Darstellungsart und für jede
Kombination von Darstellungsarten, die in dem Bereich enthalten
sind.
25. Ein Verfahren nach Anspruch 24, wobei Darstellungen
verschiedener Art sich in wenigstens einem der Bereich
überlappen und wobei der Schritt des Unterteilens ferner das
Unterteilen des wenigstens einen Bereichs in wenigstens einen
Kombinationsunterbereich, der verschiedene Darstellungsarten
enthält, umfaßt.
26. Ein Verfahren nach Anspruch 25, wobei der Schritt
des Auswählens das Auswählen wenigstens eines Algorithmus,
der den überlappenden Darstellungen verschiedener Arten
entspricht, umfaßt; und wobei der Schritt des Komprimierens das
Komprimieren der dem Kombinationsunterbereich zugeordneten
Daten in Übereinstimmung mit dem ausgewählten wenigstens
einen Algorithmus umfaßt.
27. Ein Verfahren nach Anspruch 16, wobei der Schritt
des Bereitstellens das Bereitstellen wenigstens eines
Kompressionsfaktors mit einem bestimmbaren Wert einschließt;
wobei das Verfahren ferner vor dem Schritt des Auswählens
umfaßt den Schritt des Bestimmens des Werts des wenigstens
einen Kompressionsfaktors, und wobei der Schritt des
Auswählens das Auswählen wenigstens eines ersten
Kompressionsalgorithmus einschließt, wenn der wenigstens eine
Kompressionsfaktor einen Wert aufweist, der eine vorgegebene Beziehung
zu einem ersten Wert aufweist.
28. Ein Verfahren nach Anspruch 27, wobei der wenigstens
eine Kompressionsfaktor ein Zielkompressionsverhältnis ist.
29. Ein Verfahren nach Anspruch 27, wobei der wenigstens
eine Kompressionsfaktor eine visuelle Zielqualität der
Seitendarstellung ist.
30. Ein Verfahren nach Anspruch 27, wobei der wenigstens
eine Kompressionsfaktor eine Zielrechenkomplexität ist.
31. Ein Verfahren nach Anspruch 27, wobei die
Seitendarstellung wenigstens zwei Darstellungsarten einschließt, und
wobei das Verfahren ferner den Schritt des Bestimmens
wenigstens einer Darstellungart für den Abschnitt der
Seitendarstellung, die durch die wenigstens dem einen Bereich
zugeordneten Daten definiert ist, umfaßt, und wobei wenigstens
einer der Kompressionsfaktoren die Darstellungsart ist, und
wobei der Schritt des Auswählens das Auswählen wenigstens
des ersten Kompressionsalgorithmus einschließt, wenn die
bestimmte Darstellunngsart eine erste Art ist.
32. Ein Verfahren nach Anspruch 27, wobei der Abschnitt
der Seitendarstellung für wenigstens einen Bereich eine von
zwei identifizierbaren Charakteristika aufweist und
wenigstens einer der Kompressionsfaktoren die Charakteristik des
Abschnitts der Seitendarstellung in einem Bereich ist, wobei
das Verfahren ferner den Schritt des Bestimmens der
Charakteristik des Abschnitts der Seitendarstellung für wenigstens
den einen Bereich umfaßt, und wobei der Schritt des
Auswählens das Auswählen wenigstens des ersten
Kompressionsalgorithmus einschließt, wenn die bestimmte Charakteristik die
eine Charakteristik ist.
33. Ein Verfahren nach Anspruch 27, wobei die
Seitendarstellung eine Mehrzahl von Objektdarstellungen enthält und
wenigstens einer der Kompressionsfaktoren der Anteil ist,
den die Objektdarstellung relativ zu der Seitendarstellung
belegt, und wobei das Verfahren ferner den Schritt des
Bestimmens des Anteils, den eine Objektdarstellung relativ zu
der Seitendarstellung belegt, umfaßt, und wobei der Schritt
des Auswählens das Auswählen wenigstens des ersten
Kompressionsalgorithmus einschließt, wenn der Anteil, den eine
Objektdarstellung hat, die wenigstens einen Abschnitt der
Seitendarstellung in dem einen Bereich bildet, einen Wert
aufweist, der eine vorgegebene Beziehung zu einem ersten Wert
aufweist.
34. Ein Verfahren nach Anspruch 27, wobei der Schritt
des Bereitstellens des wenigstens einen Kompressionsfaktors
das Bereitstellen einer Mehrzahl von Kompressionsfaktoren
einschließt, und der Schritt des Auswählens das Auswählen
wenigstens des ersten Kompressionsalgorithmus umfaßt, sofern
der wenigstens eine der Kompressionsfaktoren einen Wert
aufweist, der in einer vorgegebenen Beziehung zu einem ersten
Wert steht.
35. Ein Verfahren nach Anspruch 34, ferner umfassend den
Schritt des Priorisierens wenigstens zweier der
Kompressionsfaktoren, und wobei der Schritt des Auswählens das
Auswählen eines Kompressionsalgorithmus auf der Grundlage der
relativen Priorität der wenigstens zwei der
Kompressionsfaktoren einschließt.
36. Ein Verfahren nach Anspruch 27, wobei der wenigstens
eine Kompressionsfaktor einen Zielwert aufweist und der
aktuelle Wert auf der Grundlage des Schritts des Komprimierens
bestimmbar ist, wobei das Verfahren nach dem Schritt des
Komprimierens der für wenigstens einen Bereich
identifizierten Daten das Bestimmen des aktuellen Werts des wenigstens
einen Kompressionsfaktors und, sofern der aktuelle Wert in
einer vorgegebenen Beziehung zu dem Zielwert steht, das
Dekomprimieren der komprimierten Daten für den wenigstens
einen Bereich, das Auswählen des wenigstens einen
Kompressionsalgorithmus auf der Grundlage der Beziehung des aktuellen
Werts zu dem Zielwert und das Neu-Komprimieren der zuvor
komprimierten Daten unter Verwendung des ausgewählten
wenigstens einen Kompressionsalgorithmus einschließt.
37. Ein Verfahren nach Anspruch 27, wobei der wenigstens
eine Kompressionsfaktor einen Zielwert aufweist und der
aktuelle Wert auf der Grundlage des Schritts des Komprimierens
bestimmbar ist, wobei das Verfahren nach dem Schritt des
Komprimierens der für wenigstens einen Bereich
identifizierten Daten das Bestimmen des aktuellen Werts des wenigstens
einen Kompressionsfaktors, und, sofern der aktuelle Wert
eine vorgegebene Beziehung zu dem Zielwert aufweist, das
Auswählen wenigstens eines zweiten Kompressionsalgorithmus, der
sich von dem wenigstens einen ersten Kompressionsalgorithmus
unterscheidet, auf der Grundlage der Beziehung des aktuellen
Werts zu dem Zielwert, und das Komprimieren wenigstens eines
Abschnitts der für wenigstens einen zweiten Bereich
identifizierten Daten mit dem wenigstens einen zweiten
Kompressionsalgorithmus einschließt.
38. Das Verfahren nach Anspruch 1, wobei die visuelle
Ausgabeeinrichtung ein Drucksystem ist, das wenigstens einen
Datenspeicher, der mit wenigstens einem Datenprozessor
gekoppelt ist, sowie eine Druckeinrichtung, die mit wenigstens
einem der Datenprozessoren gekoppelt ist, aufweist, und
wobei die Seitendarstellung eine Kombination von Text-,
Graphik- und Bildarstellungsarten enthält, wobei das Verfahren
ferner umfaßt:
Eingeben von die Seitendarstellung als Kombination der
verschiedenen Darstellungsarten definierenden Daten in einen
Prozessor;
Unterteilen der Seite in eine Mehrzahl zusammenhängender
paralleler Bänder, die zusammen die Seitendarstellung
enthalten;
wobei der Identifizierungsschritt das Identifizieren
separater Daten für jedes Band, die dem Abschnitt der in dem
Band enthaltenden Seitendarstellung entsprechen,
einschließt;
Rastern der für jedes Band zugewiesenen Daten;
Bestimmen der Darstellungsarten und Begrenzungen jeder
in den jeweiligen Band enthaltenen Darstellungsart;
Zuweisen der Daten für jede Darstellungsart in jedem
Band zu einem Bereich des Bandes, der den Begrenzungen der
Darstellung dieser Art in diesem Band entspricht;
wobei der Bereitstellungsschritt das Bereitstellen einer
Mehrzahl verschiedener Algorithmen zum Komprimieren von
Daten, die den entsprechenden verschiedenen Darstellungsarten
zugeordnet sind, einschließt;
Bereitstellen wenigstens eines Kompressionsfaktors, der
von der Darstellungsart abweicht, wobei der
Kompressionsfaktor einen bestimmbaren Wert aufweist;
Bestimmen des Werts jedes der wenigstens einen
Kompressionsfaktoren;
wobei der Auswahlschritt das Auswählen von Algorithmen
einschließt, die dem Wert des Kompressionsfaktors und den
bestimmten Darstellungsarten und Kombinationen von
Darstellungsarten für jeden Bereich entsprechen;
wobei der Kompressionsschritt das Komprimieren der
gerasterten Daten für jeden Bereich jedes Bandes mit den
ausgewählten Algorithmen einschließt;
wobei der Speicherschritt das Speichern der
komprimierten Daten und zugeordneten Informationen, die die Bänder,
Darstellungsarten und Kombinationen von Darstellungsarten
und die zum Komprimieren der zugeordneten Daten verwendeten
Algorithmen identifizieren, einschließt; und
wobei der Dekompressions- und Übermittlungsschritt
sequentiell für jedes Band ausgeführt wird.
39. Ein Verfahren nach Anspruch 38, ferner umfassend die
Schritte des Bereitstellens von einen Satz von
Grundelementen mit bekannten Darstellungen definierenden Daten, wobei
jedes Grundelement einen Abschnitt der Seitendarstellung
darstellt, und wobei der Schritt des Identifizierens ferner
das Zuweisen von Grundelementen, die den Abschnitt der
Seitendarstellung in diesem Bereich darstellen, für jedes Band
umfaßt; und wobei der Schritt des Komprimierens das
Komprimieren der Daten, die den zugewiesenen Grundelementen in
jedem Bereich entsprechen, umfaßt.
40. Ein Verfahren nach Anspruch 38, wobei die Bereiche
des wenigstens einen Bandes sich einander überlappen und der
Schritt des Unterteilens ferner das Unterteilen der Bereiche
jedes überlappenden Bandes in wenigstens einen
Kombinationsunterbereich, der wenigstens einer Kombination verschiedener
Darstellungsarten, die den überlappenden Bereichen
zugeordnet sind, entsprechen, einschließt.
41. Ein Verfahren nach Anspruch 40, wobei der Schritt
des Auswählens das Auswählen wenigstens eines der
Kompressionsalgorithmen in Übereinstimmung mit der wenigstens einen
Kombination verschiedener Darstellungsarten einschließt; und
womit der Schritt des Komprimierens das Komprimieren von Daten,
die dem wenigstens einen Kombinationsunterbereich
zugeordnet sind, in Übereinstimmung mit dem ausgewählten
wenigstens einen der Kompressionsalgorithmen einschließt.
42. Ein Verfahren nach Anspruch 38, wobei der Schritt
des Bereitstellens des Kompressionsfaktors das Bereitstellen
einer Mehrzahl von Kompressionsfaktoren, die ein
Zielkompressionsverhältnis, eine visuelle Zielqualität der
Seitendarstellung und eine Zielrechenkomplexität umfassen,
einschließt; und wobei der Schritt des Auswählens das Auswählen
wenigstens eines ersten Kompressionsalgorithmus einschließt,
wenn wenigstens einer der Kompressionsfaktoren einen Wert
aufweist, der eine vorgegebene Beziehung zu einem ersten
Wert hat.
43. Ein System zum Verarbeiten von Datenobjekten, die
jeweils Anzeigedaten für eine Anzeigefläche repräsentieren
und die jeweils einen Datentyp und einen Ort in der
Anzeigefläche aufweisen, umfassend:
einen Unterteiler zum Unterteilen der Anzeigefläche in
einer Mehrzahl von nicht-überlappenden Bereichen, die die
Datenobjekte enthalten, wobei jeder Bereich einen Ort und
einen Bereichstyp, der aus Datentypen der Datenobjekte in
dem Bereich abgeleitet ist, aufweist;
eine Mehrzahl von Kompressionsmechanismen und
Dekompressionsmechanismen, wobei jeder Kompressionsmechanismus einen
zugeordneten Dekompressionsmechanismus aufweist;
einen Kompressor, der einen Kompressionsmechanismen für
jeden der Bereiche in Übereinstimmung mit seinem Bereichstyp
auswählt und dann den ausgewählten Kompressionsmechanismus
verwendet, um diejenigen Abschnitte der Datenobjekte, die
sich in dem Bereich finden, zu komprimieren, wodurch
komprimierte Objektdaten erzeugt werden;
einen mit dem Kompressor gekoppelten Speicher zum
Speichern komprimierter Objektdaten; und
einen mit dem Speicher gekoppelten Dekompressor, der
komprimierte Objektdaten in jedem Bereich dekomprimiert, um
nicht komprimierte Objektdaten zu erzeugen, indem auf die
komprimierten Objektdaten für jeden Bereich ein
Dekompressionsmechanismus angewendet wird, der dem
Kompressionsmechanismus, der zum Erzeugen der komprimierten Objektdaten
verwendet worden ist, zugeordnet ist;
wobei das System dadurch gekennzeichnet ist, daß:
jeder Kompressionsmechanismus einen zugeordneten
bestimmbaren Kompressionsfaktorwert aufweist und der
Kompressor einen der Kompressionsmechanismen auch auf der Grundlage
eines bestimmten Kompressionsfaktors auswählt.
44. Das System nach Anspruch 43, ferner aufweisend eine
Anzeigemaschine, die so eingekoppelt ist, daß sie nicht
komprimierte Objektdaten aus dem Dekompressor empfängt.
45. Das System nach Anspruch 44, wobei die
Anzeigemaschine eine aus der Gruppe ist, die aus einer
Laserdruckermaschine und einer CRT besteht.
46. Das System nach Anspruch 43, wobei der Unterteiler
die Anzeigefläche in eine Mehrzahl nicht-leerer Bereiche
unterteilt, wobei jeder nicht-leere Bereich sämtliche oder
einen Teil des wenigstens einen Datenobjekts enthält.
47. Das System nach Anspruch 46, ferner aufweisend mit
dem Dekompressor gekoppelte Mittel zum Anzeigen der nicht
komprimierten Objektdaten, wobei der Dekompressor
sequentiell an die Anzeigemittel Abschnitte der Anzeigefläche zur
Anzeige ausgibt, wobei der Dekompressor komprimierte
Objektdaten dekomprimiert und nicht komprimierte Objektdaten an
die Anzeigemittel für die nicht-leeren Bereiche und
alternativ Hintergrunddaten für irgendwelche leeren Bereiche
ausgibt.
48. Das System nach Anspruch 43, ferner aufweisend einen
eingebetteten Computer, aufweisend:
einen Computerprozessor, und
einen mit dem Computerprozessor gekoppelten Speicher;
und
eine Anzeigemaschine, die so eingekoppelt ist, daß sie
nicht komprimierte Objektdaten aus dem Dekompressor
empfängt;
wobei die Anzeigemaschine mit dem eingebetteten Computer
gekoppelt ist; und
wobei der Kompressor und der Dekompressor als
Computerprogrammbefehle, die zugreifbar in dem Programmspeicher
gespeichert sind, implementiert sind.
49. Das System nach Anspruch 43, wobei die Seite in
Bänder unterteilt ist, wobei das System ferner aufweist:
einen Speicher;
eine Anzeigeliste in dem Speicher für jedes Band der
Seite zum Speichern derjenigen Abschnitte der Datenobjekte,
die sich in dem Band finden, als Objektdaten;
wobei der Unterteiler mit dem Anzeigelistenspeicher
gekoppelt ist zum Unterteilen jedes Bandes, das wenigstens
einen Abschnitt der Datenobjekte enthält, in einen oder
mehrere nicht-überlappende nicht-leere Bereiche, wobei jeder
Bereich sämtliche oder einen Teil der wenigstens einen
Datenobjekte enthält und jeder nicht-leere Bereiche einen Ort und
einen Bereichstyp, der von den Datentypen der Objektdaten in
dem Bereich abgeleitet ist, aufweist; und
wobei der Kompressor einen der Kompressionsmechanismen
für jeden der nicht-leeren Bereiche in Übereinstimmung mit
dem entsprechenden Bereichstyp auswählt, den ausgewählten
Kompressionsmechanismus zum Komprimieren der in dem Bereich
gefundenen Objektdaten verwendet, wodurch komprimierte Objektdaten
erzeugt werden, und die komprimierten Objektdaten
in dem Speicher speichert.
50. Das System nach Anspruch 49, ferner aufweisend:
einen mit dem Anzeigelistenspeicher gekoppelten Rasterer
zum Rastern der Objektdaten zum Erzeugen von Bitmaps, die
den nicht-leeren Bereichen zugeordnet sind, welche in dem
Speicher gespeichert werden; und
eine Rasterausgabeeinrichtungsanzeigemaschine, die so
eingekoppelt ist, daß sie nicht komprimierte Objektdaten
empfängt;
wobei die Kompressionsmechanismen an Bitmaps arbeiten,
um komprimierte Bitmap-Objektdaten zu erzeugen; und
wobei die Dekompressionsmechanismen an komprimierten
Bitmap-Objektdaten arbeiten, um nicht komprimierte Bitmap-
Objektdaten für die Rasterausgabeeinrichtungsanzeigemaschine
zu erzeugen.
51. Das System nach Anspruch 49, ferner aufweisend mit
dem Dekompressor gekoppelte Mittel zum Anzeigen der nicht
komprimierten Objektdaten, wobei der Dekompressor
sequentiell an die Anzeigemittel Abschnitte der Seite zur Anzeige
ausgibt, wobei der Dekompressor komprimierte Objektdaten
dekomprimiert und nicht komprimierte Objektdaten an die
Anzeigemittel für die nicht-leeren Bereiche und alternativ
Hintergrunddaten für irgendwelche leeren Bereiche ausgibt.
52. Das System nach Anspruch 43, wobei das System zum
Verarbeiten von Datenobjekten in Übereinstimmung mit einer
Verarbeitungsaufgabe verarbeitet, die durch den
Kompressionsfaktor mit einem bestimmbaren Wert bestimmt wird; und
wobei der Kompressor für jeden Bereich den
Kompressionsfaktorwert bestimmt, einen der Kompressionsmechanismen für
den Bereich in Übereinstimmung mit dem bestimmten
Kompressionsfaktorwert auswählt und dann den ausgewählten Kompressionsmechanismums
verwendet, um diejenigen Abschnitte der
Datenobjekte zu komprimieren, die sich in dem Bereich finden,
wodurch komprimierte Objektdaten erzeugt werden.
53. Das System nach Anspruch 52, wobei der
Kompressionsfaktor auf der Grundlage eines oder mehrere Parameter
bestimmt wird, die aus einer Parametergruppe ausgewählt
werden, die einen Objektdatentyp, die visuelle Zielqualität,
ein Zielkompressionsverhältnis und eine
Zielrechenkomplexität, die einem ausgewählten Algorithmus zugeordnet ist,
einschließt.
54. Das System nach Anspruch 52, ferner aufweisend einen
mit dem Kompressor, dem Dekompressor und einem Speicher
gekoppelten Monitor zum Überwachen des Fortschritts in
Richtung des Erreichens eines Zielkompressionsfaktors und in dem
Falle, daß ein derartiger Fortschritt nicht ausreicht, zum
Auslösen der Dekompression zuvor komprimierter Objektdaten
und deren Neu-Kompression unter Verwendung eines anderen
1 Kompressionsalgorithmus, um den Zielkompressionsfaktor zu
erreichen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/974,204 US5539865A (en) | 1992-11-10 | 1992-11-10 | Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69331871D1 DE69331871D1 (de) | 2002-06-06 |
DE69331871T2 true DE69331871T2 (de) | 2002-12-19 |
Family
ID=25521741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69331871T Expired - Lifetime DE69331871T2 (de) | 1992-11-10 | 1993-08-06 | Verfahren und Vorrichtung zur Datenverarbeitung für ein Bildschirmgerät mit reduzierten Pufferspeichersforderungen |
Country Status (5)
Country | Link |
---|---|
US (5) | US5539865A (de) |
EP (1) | EP0597571B1 (de) |
JP (1) | JP3454552B2 (de) |
CA (1) | CA2104824A1 (de) |
DE (1) | DE69331871T2 (de) |
Families Citing this family (162)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
JP3135243B2 (ja) * | 1989-11-28 | 2001-02-13 | キヤノン株式会社 | 画像データ送受信方法及びそれに使用する装置 |
US5225911A (en) * | 1991-05-07 | 1993-07-06 | Xerox Corporation | Means for combining data of different frequencies for a raster output device |
US5539865A (en) * | 1992-11-10 | 1996-07-23 | Adobe Systems, Inc. | Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements |
US5638498A (en) * | 1992-11-10 | 1997-06-10 | Adobe Systems Incorporated | Method and apparatus for reducing storage requirements for display data |
IL106297A (en) * | 1993-07-09 | 1997-11-20 | Indigo C O C O Indigo Ltd | Page make-up system |
US6327043B1 (en) | 1994-05-18 | 2001-12-04 | Xerox Corporation | Object optimized printing system and method |
US6006013A (en) * | 1994-05-18 | 1999-12-21 | Xerox Corporation | Object optimized printing system and method |
US5512921A (en) * | 1994-06-22 | 1996-04-30 | Microsoft Corporation | Visual display system having low energy data storage subsystem with date compression capabilities, and method for operating same |
US5552898A (en) * | 1994-07-06 | 1996-09-03 | Agfa-Gevaert | Lossy and lossless compression in raster image processor |
AUPM822394A0 (en) * | 1994-09-16 | 1994-10-13 | Canon Inc. | Object based rendering system |
US7190284B1 (en) * | 1994-11-16 | 2007-03-13 | Dye Thomas A | Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent |
US6170047B1 (en) * | 1994-11-16 | 2001-01-02 | Interactive Silicon, Inc. | System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities |
US6002411A (en) * | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
JPH08212023A (ja) * | 1994-12-02 | 1996-08-20 | Canon Inc | 印刷制御装置及び方法 |
JPH08171384A (ja) * | 1994-12-16 | 1996-07-02 | Canon Inc | 走査変換方法及びその装置 |
JP3754468B2 (ja) * | 1995-02-14 | 2006-03-15 | コニカミノルタビジネステクノロジーズ株式会社 | 画像データ処理方法および画像処理装置 |
US5704020A (en) * | 1995-03-08 | 1997-12-30 | Ricoh Company, Ltd. | Page printer resolution converting method, and variable-length reversible compression process |
US5784570A (en) * | 1995-04-07 | 1998-07-21 | At&T Corp | Server for applying a recipient filter and compressing the input data stream based upon a set of at least one characteristics in a multiuser interactive virtual environment |
WO1996032811A2 (en) * | 1995-04-12 | 1996-10-17 | Eastman Kodak Company | High capacity compressed document image storage for digital color printers |
US5682249A (en) * | 1995-05-11 | 1997-10-28 | Xerox Corporation | Method of encoding an image at full resolution for storing in a reduced image buffer |
US7715642B1 (en) * | 1995-06-06 | 2010-05-11 | Hewlett-Packard Development Company, L.P. | Bitmap image compressing |
WO1996039680A1 (en) * | 1995-06-06 | 1996-12-12 | Apple Computer, Inc. | System and method for image generation using compression |
US5666487A (en) * | 1995-06-28 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream |
DE69632644T2 (de) * | 1995-07-03 | 2005-05-25 | Electronics for Imaging, Inc., Foster City | Bilderzeugung für seitendrucker |
US5729668A (en) * | 1995-09-15 | 1998-03-17 | Hewlett-Packard Company | Optimized hardware compression and decompression architecture for use by an image processor in a laser printer |
US5727137A (en) * | 1995-11-01 | 1998-03-10 | Seiko Epson Corporation | Printer driver architecture for reducing band memory |
US5859958A (en) * | 1995-11-14 | 1999-01-12 | Apple Computer, Inc. | Compact representation of object slices for rendering raster graphics |
CA2190306A1 (en) * | 1995-11-20 | 1997-05-21 | Vadlamannati Venkateswar | Compression for multi-level screened images |
US5930813A (en) * | 1995-12-21 | 1999-07-27 | Adobe Systems Incorporated | Method and system for designating objects |
US5777677A (en) * | 1996-02-09 | 1998-07-07 | International Business Machines Corporation | Approximate MPEG decoder with compressed reference frames |
US5793937A (en) * | 1996-03-29 | 1998-08-11 | Peerless Systems Corporation | Fallback processing for page generation using memory reduction techniques |
US5726760A (en) * | 1996-04-03 | 1998-03-10 | Oce-Nederland, B.V. | Method and apparatus for converting image representation formats as well as an image production system provided with such an apparatus |
US6002847A (en) * | 1996-04-10 | 1999-12-14 | Eastman Kodak Company | High capacity compressed document image storage for digital color printers |
US6538764B2 (en) * | 1996-04-12 | 2003-03-25 | Canon Kabushiki Kaisha | Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program |
US5852711A (en) * | 1996-04-24 | 1998-12-22 | Hewlett-Packard Company | Efficient pattern use in printers |
US6633592B1 (en) | 1996-05-17 | 2003-10-14 | Matsushita Electric Industrial Co., Ltd. | Data multiplexing method, method and device for reproducing multiplexed data, and recording medium containing the data multiplexed by said method |
US5630028A (en) * | 1996-05-28 | 1997-05-13 | Bowne & Co., Inc. | Method of representing graphic data using text |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US5819271A (en) * | 1996-06-04 | 1998-10-06 | Multex Systems, Inc. | Corporate information communication and delivery system and method including entitlable hypertext links |
US5864871A (en) * | 1996-06-04 | 1999-01-26 | Multex Systems | Information delivery system and method including on-line entitlements |
DE19623327A1 (de) * | 1996-06-12 | 1997-12-18 | Hell Ag Linotype | Verfahren zur Bearbeitung von Objekten auf Druckseiten |
US6222886B1 (en) * | 1996-06-24 | 2001-04-24 | Kabushiki Kaisha Toshiba | Compression based reduced memory video decoder |
JPH1023271A (ja) * | 1996-07-05 | 1998-01-23 | Canon Inc | 画像形成方法とその装置 |
US5913018A (en) * | 1996-07-24 | 1999-06-15 | Adobe Systems Incorporated | Print band rendering system |
US5828814A (en) * | 1996-09-10 | 1998-10-27 | Moore Business Forms, Inc. | Reduced cost high resolution real time raster image processing system and method |
US5991542A (en) | 1996-09-13 | 1999-11-23 | Apple Computer, Inc. | Storage volume handling system which utilizes disk images |
DE69708335T2 (de) * | 1996-09-24 | 2002-07-11 | Colorage, Inc. | Bildverarbeitungssystem und -verfahren unter verwendung von personifizierungstechniken |
US6269190B1 (en) * | 1996-09-24 | 2001-07-31 | Electronics For Imaging, Inc. | Computer system for processing images using a virtual frame buffer |
US5995724A (en) * | 1996-11-01 | 1999-11-30 | Mikkelsen; Carl | Image process system and process using personalization techniques |
US6167086A (en) * | 1996-12-10 | 2000-12-26 | Thomson Licensing S.A. | Overhead data processor in a memory efficient image processing system |
JP3204136B2 (ja) * | 1996-12-13 | 2001-09-04 | 富士ゼロックス株式会社 | 画像処理装置及び圧縮処理方法 |
US6621934B1 (en) | 1996-12-17 | 2003-09-16 | Thomson Licensing S.A. | Memory efficient compression apparatus in an image processing system |
US6256347B1 (en) | 1996-12-17 | 2001-07-03 | Thomson Licensing S.A. | Pixel block compression apparatus in an image processing system |
US6020975A (en) * | 1996-12-20 | 2000-02-01 | Apple Computer, Inc. | System and method for accelerated data recompression |
US5982937A (en) * | 1996-12-24 | 1999-11-09 | Electronics For Imaging, Inc. | Apparatus and method for hybrid compression of raster data |
US6023556A (en) * | 1997-01-29 | 2000-02-08 | Gammagrapnx, Inc. | Processing print job image data |
US5803629A (en) * | 1997-03-14 | 1998-09-08 | Paul H. Neville | Method and apparatus for automatic, shape-based character spacing |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US5999709A (en) * | 1997-04-18 | 1999-12-07 | Adobe Systems Incorporated | Printer memory boost |
US6674536B2 (en) | 1997-04-30 | 2004-01-06 | Canon Kabushiki Kaisha | Multi-instruction stream processor |
AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6507898B1 (en) | 1997-04-30 | 2003-01-14 | Canon Kabushiki Kaisha | Reconfigurable data cache controller |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
US5870535A (en) * | 1997-05-12 | 1999-02-09 | Lexmark International, Inc. | Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments |
US6204933B1 (en) * | 1997-06-20 | 2001-03-20 | Hitachi, Ltd. | Information print system and image processing apparatus |
US6266419B1 (en) | 1997-07-03 | 2001-07-24 | At&T Corp. | Custom character-coding compression for encoding and watermarking media content |
US6134018A (en) * | 1997-09-26 | 2000-10-17 | Electronics For Imaging, Inc. | Method and apparatus for creating personalized documents that include variable data |
US5970221A (en) * | 1997-10-02 | 1999-10-19 | Lexmark International, Inc. | Printer with reduced memory |
US6298173B1 (en) * | 1997-10-03 | 2001-10-02 | Matsushita Electric Corporation Of America | Storage management system for document image database |
JPH11127340A (ja) * | 1997-10-24 | 1999-05-11 | Fuji Xerox Co Ltd | 画像処理装置および画像処理方法 |
JPH11154240A (ja) | 1997-11-20 | 1999-06-08 | Nintendo Co Ltd | 取込み画像を用いて画像を作成するための画像作成装置 |
US6247011B1 (en) * | 1997-12-02 | 2001-06-12 | Digital-Net, Inc. | Computerized prepress authoring for document creation |
US6337747B1 (en) | 1998-01-29 | 2002-01-08 | Canon Kabushiki Kaisha | System to adaptively compress raster image data |
US6791711B1 (en) * | 1998-06-24 | 2004-09-14 | Canon Kabushiki Kaisha | Image processing method, image processing apparatus, and recording medium |
US6912311B2 (en) * | 1998-06-30 | 2005-06-28 | Flashpoint Technology, Inc. | Creation and use of complex image templates |
US20020093669A1 (en) * | 1998-08-28 | 2002-07-18 | Russell Campbell | Complexity extensions for band management in a printer page pipe |
US6429949B1 (en) * | 1998-10-15 | 2002-08-06 | Electronics For Imaging, Inc. | Low memory printer controller |
US6192157B1 (en) * | 1998-10-27 | 2001-02-20 | Hewlett-Packard Company | Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors |
US6435969B1 (en) | 1998-11-03 | 2002-08-20 | Nintendo Co., Ltd. | Portable game machine having image capture, manipulation and incorporation |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US7538694B2 (en) * | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
US6885319B2 (en) * | 1999-01-29 | 2005-04-26 | Quickshift, Inc. | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms |
US6819271B2 (en) | 1999-01-29 | 2004-11-16 | Quickshift, Inc. | Parallel compression and decompression system and method having multiple parallel compression and decompression engines |
US7129860B2 (en) * | 1999-01-29 | 2006-10-31 | Quickshift, Inc. | System and method for performing scalable embedded parallel data decompression |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6330025B1 (en) * | 1999-05-10 | 2001-12-11 | Nice Systems Ltd. | Digital video logging system |
EP1109093A1 (de) * | 1999-12-14 | 2001-06-20 | Sun Microsystems, Inc. | Verfahren und Gerät um durchsichtige Grafiken zu drucken |
US6490696B1 (en) | 1999-12-15 | 2002-12-03 | Electronics For Imaging, Inc. | System and method for printer output regression testing using display lists |
JP4424845B2 (ja) | 1999-12-20 | 2010-03-03 | 本田 正 | イメージデータ圧縮方法及び復元方法 |
FR2804231B1 (fr) * | 2000-01-25 | 2002-11-08 | Vistaprint Usa Inc | Impression centralisee de documents commerciaux en faibles volumes sur des machines auparavant limitees a des tres gros tirages |
EP1259887A4 (de) * | 2000-01-25 | 2003-08-13 | Vistaprint Usa Inc | Verwaltung von druck-jobs |
US7068381B1 (en) * | 2000-02-02 | 2006-06-27 | Raja Tuli | Portable high speed internet access device |
US6633314B1 (en) * | 2000-02-02 | 2003-10-14 | Raja Tuli | Portable high speed internet device integrating cellular telephone and palm top computer |
US7356570B1 (en) | 2000-08-29 | 2008-04-08 | Raja Tuli | Portable high speed communication device |
US20020115477A1 (en) * | 2001-02-13 | 2002-08-22 | Raja Singh | Portable high speed internet access device with scrolling |
US7181608B2 (en) | 2000-02-03 | 2007-02-20 | Realtime Data Llc | Systems and methods for accelerated loading of operating systems and application programs |
US6731814B2 (en) * | 2000-05-01 | 2004-05-04 | Xerox Corporation | Method for compressing digital documents with control of image quality and compression rate |
US6894686B2 (en) | 2000-05-16 | 2005-05-17 | Nintendo Co., Ltd. | System and method for automatically editing captured images for inclusion into 3D video game play |
US6762855B1 (en) * | 2000-07-07 | 2004-07-13 | Eastman Kodak Company | Variable speed printing system |
US7417568B2 (en) | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US7330830B1 (en) | 2000-10-25 | 2008-02-12 | Thomson Financial Inc. | Distributed commerce system |
US7305360B1 (en) | 2000-10-25 | 2007-12-04 | Thomson Financial Inc. | Electronic sales system |
US7287089B1 (en) | 2000-10-25 | 2007-10-23 | Thomson Financial Inc. | Electronic commerce infrastructure system |
JP2002157108A (ja) * | 2000-11-17 | 2002-05-31 | Canon Inc | 画像処理方法、記録媒体および画像形成装置 |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US7142326B2 (en) * | 2001-05-16 | 2006-11-28 | Xerox Corporation | Method and apparatus for variable data document printing |
US7268910B2 (en) * | 2001-05-16 | 2007-09-11 | Agfa Corporation | Just-in-time raster image assembly |
JP3932379B2 (ja) * | 2001-10-02 | 2007-06-20 | 株式会社日立製作所 | 画像処理装置と撮像素子 |
US7043077B2 (en) * | 2001-11-07 | 2006-05-09 | International Business Machines Corporation | System and method for efficient compression of raster image data |
US6653954B2 (en) | 2001-11-07 | 2003-11-25 | International Business Machines Corporation | System and method for efficient data compression |
US7068398B2 (en) * | 2001-11-07 | 2006-06-27 | International Business Machines Corporation | System and method for efficient tile generation from complex raster data |
US6996774B2 (en) * | 2002-02-12 | 2006-02-07 | Accenture Global Services Gmbh | Display of data element indicia based on data types |
US7324229B2 (en) * | 2002-04-10 | 2008-01-29 | Texas Instruments Incorporated | Rendering in a printer using bands |
US7236528B1 (en) | 2002-05-31 | 2007-06-26 | Apple Inc. | System and method for processing time-based media |
US7158255B2 (en) * | 2002-06-18 | 2007-01-02 | Lexmark International, Inc. | Method for printing shingling print data |
US7254270B2 (en) * | 2002-07-09 | 2007-08-07 | Hewlett-Packard Development Company, L.P. | System and method for bounding and classifying regions within a graphical image |
US7437019B2 (en) * | 2002-07-18 | 2008-10-14 | Noritsu Koki Co., Ltd. | Apparatus and method for image processing, image processing program and recording medium storing the image processing program |
US7715640B2 (en) * | 2002-11-05 | 2010-05-11 | Konica Minolta Business Technologies, Inc. | Image processing device, image processing method, image processing program and computer-readable recording medium on which the program is recorded |
US8176428B2 (en) | 2002-12-03 | 2012-05-08 | Datawind Net Access Corporation | Portable internet access device back page cache |
US7710602B2 (en) * | 2003-03-31 | 2010-05-04 | Sharp Laboratories Of America, Inc. | Systems and methods for context-based adaptive image processing using segmentation |
US7383269B2 (en) * | 2003-09-12 | 2008-06-03 | Accenture Global Services Gmbh | Navigating a software project repository |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
KR100524076B1 (ko) * | 2003-11-13 | 2005-10-26 | 삼성전자주식회사 | 데이터 압축 및 복원 장치 |
US8619310B2 (en) * | 2007-05-25 | 2013-12-31 | Kyocera Document Solutions, Inc. | Image forming apparatus |
US8305660B2 (en) | 2004-08-19 | 2012-11-06 | Xerox Corporation | Methods and systems achieving print uniformity using reduced memory or computational requirements |
US8024483B1 (en) | 2004-10-01 | 2011-09-20 | F5 Networks, Inc. | Selective compression for network connections |
US8660977B2 (en) * | 2005-02-04 | 2014-02-25 | Accenture Global Services Limited | Knowledge discovery tool relationship generation |
US20060179069A1 (en) | 2005-02-04 | 2006-08-10 | Bechtel Michael E | Knowledge discovery tool navigation |
US20060179026A1 (en) * | 2005-02-04 | 2006-08-10 | Bechtel Michael E | Knowledge discovery tool extraction and integration |
US7904411B2 (en) * | 2005-02-04 | 2011-03-08 | Accenture Global Services Limited | Knowledge discovery tool relationship generation |
JP4405419B2 (ja) * | 2005-03-31 | 2010-01-27 | 株式会社東芝 | 画面送信装置 |
US7783781B1 (en) | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
US8275909B1 (en) | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
US7882084B1 (en) | 2005-12-30 | 2011-02-01 | F5 Networks, Inc. | Compression of data transmitted over a network |
US7873065B1 (en) | 2006-02-01 | 2011-01-18 | F5 Networks, Inc. | Selectively enabling network packet concatenation based on metrics |
US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
US20070239897A1 (en) * | 2006-03-29 | 2007-10-11 | Rothman Michael A | Compressing or decompressing packet communications from diverse sources |
US7542155B2 (en) * | 2006-09-25 | 2009-06-02 | Vistaprint Technologies Limited | Preparation of aggregate jobs for production |
US9356824B1 (en) | 2006-09-29 | 2016-05-31 | F5 Networks, Inc. | Transparently cached network resources |
US7765176B2 (en) * | 2006-11-13 | 2010-07-27 | Accenture Global Services Gmbh | Knowledge discovery system with user interactive analysis view for analyzing and generating relationships |
US8417833B1 (en) | 2006-11-29 | 2013-04-09 | F5 Networks, Inc. | Metacodec for optimizing network data compression based on comparison of write and read rates |
US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
US7688232B2 (en) * | 2007-03-27 | 2010-03-30 | Intel Corporation | Optimal selection of compression entries for compressing program instructions |
JP5032419B2 (ja) * | 2008-08-27 | 2012-09-26 | 株式会社東芝 | サーバ、画面送信方法およびコンピュータプログラム |
FI20095175A (fi) | 2009-02-23 | 2010-08-24 | Anygraaf Oy | Menetelmä rasterimuotoisen kuvan segmentoinnin hyödyntämiseksi kuvan pakkaamisessa |
US20100325101A1 (en) * | 2009-06-19 | 2010-12-23 | Beal Alexander M | Marketing asset exchange |
JP5545050B2 (ja) * | 2010-06-09 | 2014-07-09 | コニカミノルタ株式会社 | 画像処理装置、プログラム及び画像処理方法 |
JP5335751B2 (ja) * | 2010-09-30 | 2013-11-06 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
AU2010241218B2 (en) * | 2010-11-03 | 2013-10-31 | Canon Kabushiki Kaisha | Method, apparatus and system for associating an intermediate fill with a plurality of objects |
JP5777398B2 (ja) * | 2011-05-13 | 2015-09-09 | キヤノン株式会社 | 画像処理装置、画像処理装置の画像処理方法及びプログラム |
JP2014078860A (ja) * | 2012-10-11 | 2014-05-01 | Samsung Display Co Ltd | 圧縮器、駆動装置、表示装置および圧縮方法 |
KR102114388B1 (ko) * | 2013-10-18 | 2020-06-05 | 삼성전자주식회사 | 전자 장치의 메모리 압축 방법 및 장치 |
JP6354360B2 (ja) | 2014-06-11 | 2018-07-11 | ブラザー工業株式会社 | 変換装置 |
KR20180067221A (ko) * | 2016-12-12 | 2018-06-20 | 에이치피프린팅코리아 주식회사 | 인쇄 데이터를 프린터로 전송하는 호스트 디바이스 및 호스트 디바이스가 인쇄 데이터를 인코딩하는 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5354135A (en) * | 1984-08-03 | 1994-10-11 | Canon Kabushiki Kaisha | Recorder and dot pattern control circuit |
US5276780A (en) * | 1987-03-03 | 1994-01-04 | Minolta Camera Kabushiki Kaisha | Filing system |
US5018078A (en) * | 1987-12-09 | 1991-05-21 | Fuji Photo Film Co., Ltd. | Apparatus and method for processing huge image information at high speed |
EP0323194A3 (de) * | 1987-12-25 | 1991-07-10 | Kabushiki Kaisha Toshiba | Elektronische Stehbildkamera und Bildaufzeichnungsverfahren dazu |
WO1990003272A1 (en) * | 1988-09-26 | 1990-04-05 | Oki Electric Industry Co., Ltd. | Compression and decompression method of dot matrix character |
US5272768A (en) * | 1989-02-21 | 1993-12-21 | Hewlett-Packard Company | Blank strip font compression method and device, and resulting stored, decompressible font |
DE3925913A1 (de) * | 1989-08-04 | 1991-02-07 | Siemens Ag | Verfahren zum ansteuern von druckelementen |
JP2647226B2 (ja) * | 1990-03-23 | 1997-08-27 | 沖電気工業株式会社 | ドットパターン圧縮方法及び伸長方法 |
US6020894A (en) * | 1990-08-16 | 2000-02-01 | Canon Kabushiki Kaisha | Full-color desktop publishing system |
US5151949A (en) * | 1990-10-10 | 1992-09-29 | Fuji Xerox Co., Ltd. | System and method employing multiple predictor sets to compress image data having different portions |
US5208676A (en) * | 1990-12-04 | 1993-05-04 | Fuji Xerox Co., Ltd. | Image processing apparatus with data storage region management, memory space allocation in accordance with detected compression ratio of data |
JP3125304B2 (ja) * | 1990-12-11 | 2001-01-15 | ミノルタ株式会社 | プリンタ |
JP2859450B2 (ja) * | 1991-01-31 | 1999-02-17 | 富士写真フイルム株式会社 | 画像記録装置及び画像記録方法 |
US5377312A (en) * | 1991-03-29 | 1994-12-27 | Canon Kabushiki Kaisha | Image processing apparatus capable of expanding compressed data |
US5270728A (en) * | 1991-04-17 | 1993-12-14 | Hewlett-Packard Company | Raster imaging device speed-resolution product multiplying method and resulting pixel image data structure |
JPH04358288A (ja) * | 1991-06-04 | 1992-12-11 | Fujitsu Ltd | 縮小印刷装置 |
US5150454A (en) * | 1991-10-16 | 1992-09-22 | Patrick Wood | Printing system and method |
JP3033628B2 (ja) * | 1991-12-26 | 2000-04-17 | ブラザー工業株式会社 | 印字装置の制御装置 |
JPH05221030A (ja) * | 1992-02-18 | 1993-08-31 | Brother Ind Ltd | 印刷制御装置 |
US5539865A (en) * | 1992-11-10 | 1996-07-23 | Adobe Systems, Inc. | Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements |
-
1992
- 1992-11-10 US US07/974,204 patent/US5539865A/en not_active Expired - Lifetime
-
1993
- 1993-08-06 EP EP93306254A patent/EP0597571B1/de not_active Expired - Lifetime
- 1993-08-06 DE DE69331871T patent/DE69331871T2/de not_active Expired - Lifetime
- 1993-08-25 CA CA002104824A patent/CA2104824A1/en not_active Abandoned
- 1993-11-10 JP JP30331293A patent/JP3454552B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/470,737 patent/US5544290A/en not_active Expired - Lifetime
- 1995-06-06 US US08/486,133 patent/US5506944A/en not_active Expired - Lifetime
- 1995-06-06 US US08/467,792 patent/US5504842A/en not_active Expired - Lifetime
-
1996
- 1996-06-25 US US08/670,335 patent/US5949968A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5504842A (en) | 1996-04-02 |
US5506944A (en) | 1996-04-09 |
US5544290A (en) | 1996-08-06 |
JP3454552B2 (ja) | 2003-10-06 |
EP0597571B1 (de) | 2002-05-02 |
JPH06284297A (ja) | 1994-10-07 |
US5949968A (en) | 1999-09-07 |
EP0597571A3 (de) | 1995-01-25 |
EP0597571A2 (de) | 1994-05-18 |
US5539865A (en) | 1996-07-23 |
CA2104824A1 (en) | 1994-05-11 |
DE69331871D1 (de) | 2002-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69331871T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung für ein Bildschirmgerät mit reduzierten Pufferspeichersforderungen | |
DE69626394T2 (de) | Verfahren und vorrichtung zur verminderung des speicherbedarfs für anzeigedaten | |
DE69738515T2 (de) | Vorrichtung und verfahren für hybride kompression von rasterdaten | |
DE69817029T2 (de) | Mischung von komprimierten rasterbildern in einem drucksystem | |
DE69425338T2 (de) | Verfahren und Vorrichtung zum Einsparen von Druckerspeicher | |
DE69531080T2 (de) | System und Verfahren zur Bildkompression | |
DE69625760T2 (de) | Architektur einer Bilddarstellungsliste mit einer zweidimensionalen Zonenmatrix | |
EP0764310B1 (de) | Verfahren zur generierung einer contone-map | |
DE69321798T2 (de) | Seitendrucker mit automatischer Schriftartkomprimierung | |
DE3851484T2 (de) | Datenverringerung für die Bildanzeige von Ganzseiten-Graphiken. | |
DE69421363T2 (de) | Druckvorrichtung | |
DE69401435T2 (de) | Veränderliche Datenfelder in einer Seitenbeschreibungssprache | |
DE69524143T2 (de) | Verfahren und Vorrichtung zur Vermeidung von Datenunterversorgung in einen Seitendrucker | |
DE69831133T2 (de) | Konfiguriation einer Datenverarbeitungspipeline | |
DE69826044T2 (de) | Vektorkartenplanarisierung und -einfang | |
DE69622961T2 (de) | Verfahren und Vorrichtung zur Darstellung von Zeichen | |
DE69026457T2 (de) | Seitendrucker in dem Plottergraphiken in einen Text eingefügt werden | |
DE69730892T2 (de) | Verarbeitung von Rückzugspunkten zur Blatterstellung mit Techniken zur Speicherreduktion | |
DE69132625T2 (de) | Gerät zur Bildverarbeitung | |
DE10204751B4 (de) | Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache | |
DE69626083T2 (de) | System und Verfahren zur Implementierung einer Druckerarchitektur unter Verwendung veränderlicher Binarisierungsverarbeitung | |
DE19516979C2 (de) | Bitmap-Datenkomprimierungsverfahren und Bitmap-Datenkomprimierungsvorrichtung zur Durchführung dieses Verfahrens | |
DE69627582T2 (de) | Druckersteuerungsvorrichtung und -verfahren | |
DE69632644T2 (de) | Bilderzeugung für seitendrucker | |
DE69627266T2 (de) | Vorrichtung und Verfahren zum Drucken von sich teilweise wiederholenden Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |