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 Pufferspeichersforderungen

Info

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
Application number
DE69331871T
Other languages
English (en)
Other versions
DE69331871D1 (de
Inventor
Ronald S. Gentile
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Application granted granted Critical
Publication of DE69331871D1 publication Critical patent/DE69331871D1/de
Publication of DE69331871T2 publication Critical patent/DE69331871T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1865Generation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-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

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • 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.
  • Zugehöriger Stand der Technik
  • 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.
  • ZUSAMMENFASSENDE DARSTELLUNG DER ERFINDUNG
  • 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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS UND VERFAHRENS
  • 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.
DE69331871T 1992-11-10 1993-08-06 Verfahren und Vorrichtung zur Datenverarbeitung für ein Bildschirmgerät mit reduzierten Pufferspeichersforderungen Expired - Lifetime DE69331871T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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