DE69729752T2 - Adaptive bildblockkompression - Google Patents

Adaptive bildblockkompression Download PDF

Info

Publication number
DE69729752T2
DE69729752T2 DE69729752T DE69729752T DE69729752T2 DE 69729752 T2 DE69729752 T2 DE 69729752T2 DE 69729752 T DE69729752 T DE 69729752T DE 69729752 T DE69729752 T DE 69729752T DE 69729752 T2 DE69729752 T2 DE 69729752T2
Authority
DE
Germany
Prior art keywords
image data
area
image
memory
areas
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 - Fee Related
Application number
DE69729752T
Other languages
English (en)
Other versions
DE69729752D1 (de
Inventor
Carl Mikkelsen
Michael Speciner
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.)
Electronics for Imaging Inc
Original Assignee
Electronics for Imaging 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
Priority claimed from US08/719,256 external-priority patent/US6269190B1/en
Priority claimed from US08/741,786 external-priority patent/US5995724A/en
Application filed by Electronics for Imaging Inc filed Critical Electronics for Imaging Inc
Application granted granted Critical
Publication of DE69729752D1 publication Critical patent/DE69729752D1/de
Publication of DE69729752T2 publication Critical patent/DE69729752T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Prozesse und Vorrichtungen zum Verarbeiten von Bilddaten, einschließlich Kombinationen aus Text, Graphik und anderen Bildern. Insbesondere bezieht sich die vorliegende Erfindung auf Techniken zur Verringerung der Pufferspeicheranforderungen für derartige Prozesse und Vorrichtungen.
  • Hintergrund der Erfindung
  • Die meisten Computer-Systeme verwenden eine Form eines Rasterbildes, um die Bilddaten an eine visuelle Ausgabevorrichtung, wie z. B. einen Katodenstrahlröhren-Monitor (CRT-Monitor), eine Flüssigkristallanzeige (LCD) oder einen Drucker, wie z. B. einen Farblaser-Kopierer, auszugeben. Ein Rasterbild wird als eine Folge von Abtastzeilen aus Bildpunkten dargestellt, in der auf jeden Bildpunkt sequentiell zugegriffen wird, wobei jede Abtastzeile verarbeitet wird. Ein Bereich, auf den die Bilddaten durch die visuelle Ausgabevorrichtung sequentiell ausgegeben werden können, wird als eine Seite bezeichnet. Die Bilddaten einer Seite stellen ihre vollständige visuelle Darstellung bereit.
  • Die Interpreter von Seitenbeschreibungssprachen verarbeiten die Bilder typischerweise in einer oder beiden von zwei Betriebsarten: der Streifenbetriebsart und der Rahmenbetriebsart. In der Streifenbetriebsart wird die ganze Seitenbeschreibung gelesen, wobei eine Liste jeder Abbildungsoperation, die als eine Anzeigeliste bezeichnet wird, aufgebaut wird, die alle Daten enthält, die notwendig sind, um die Seite abzubilden. Weil alle Daten außerdem sehr große abgetastete Bilder enthalten können, kann eine Anzeigeliste wachsen, sodass sie sehr groß ist. Die abgetasteten Bilder erfordern, dass die Anzeigeliste vorübergehend in einem Sekundärspeicher gespeichert wird, wobei ein die Leistung reduzierender Schritt sowohl für das Lesen als auch das Schreiben erforderlich ist. Es ist jedoch ein grundlegender Vorteil, dass der Ausgangsrahmen nur einmal durchquert wird, was erlaubt, dass Vorrichtungen mit langsamer Geschwindigkeit mit einem Minimum der Pufferung angeschlossen werden.
  • Die Rahmenbetriebsart enthält andererseits nicht das Aufbauen eine Anzeigeliste. Statt dessen ist ein vollständiges Bild vorhanden, wobei es unmittelbar verarbeitet wird, um das Ganzseitenbild zu aktualisieren, wie jeder Abbildungsoperation begegnet wird. Die abgetasteten Bilder werden außerdem unmittelbar verarbeitet, was das Problem beseitigt, sie vorübergehend zu speichern. Folglich greift die Rahmenbetriebsart direkt auf die Ausgangsseite zu, während die Streifenbetriebsart das Ausgangsseitenbild in einer geordneten Weise durchquert und es von einem Rand zum gegenüberliegenden Rand überstreicht.
  • Alle beide erfordern jedoch im Allgemeinen einen Pufferspeicher, der die ganze visuelle Darstellung einer Seite halten kann. Dieser Speicher wird als ein Rahmenpuffer bezeichnet. Infolge der großen Speicheranforderungen für die Darstellung einer Seite, insbesondere bei Farblaser-Kopieren und Farbbildern, ist es erwünscht, die Pufferspeicheranforderungen zu verringern, z. B. durch die Verwendung irgendeiner Form der Komprimierung.
  • Eine Komprimierung ist im US-Patent Nr. 5.506.944 an Ronald S. Gentile gezeigt. Dieser Literaturhinweis zeigt ein System, in dem ein Bild in mehrere Bereiche unterteilt wird. Eine Seitenbeschreibung, die die auf der Seite anzuordnenden Objekte beschreibt, ist so eingerichtet, dass die Befehle für jeden Bereich zusammen verarbeitet werden. Die Bereiche werden sequentiell verarbeitet. Ein einzelnes Speicherelement, das die Bilddaten eines ganzen Bereichs in einer nicht komprimierten Form speichern kann, wird geschaffen. Nachdem jeder Bereich verarbeitet worden ist, werden seine entsprechenden Bilddaten in einem Stapel (einem Kellerspeicher) im komprimierten Format gespeichert. Wenn eine Seite vollständig verarbeitet worden ist, werden dann diese komprimierten Bilddaten aus dem Stapel ausgelesen, um dekomprimiert und an einen Drucker ausgegeben zu werden. Ein Problem bei diesem System ist jedoch, dass es erfordert, dass eine Seitenbeschreibung vollständig verarbeitet oder angeordnet wird, bevor die Verarbeitung der Rahmen beginnen kann. Es führt keine Anzeigeoperationen aus, die in einer beliebigen Reihenfolge zu verarbeiten sind. Außerdem kann es an den gleichen Problemen wie die Streifenbetriebsart leiden, wenn die Anzeigeliste zu groß wird.
  • Andere Komprimierungsverfahren sind in US 5.150.454 (Wood u. a.), EP-A-0 402 016 (Chamzas u. a.), EP-A-0 235 456 (Sato u. a.) und EP-A-0 487 282 (Ohki) beschrieben.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist in den beigefügten Ansprüchen definiert. In der vorliegenden Erfindung, wie sie beansprucht ist, wird eine Seite eines Bildes in mehrere Bereiche unterteilt. Jeder dieser Bereiche kann entsprechend einer anderen Technik entsprechend der Art der Daten innerhalb des Bereichs komprimiert werden. In der bevorzugten Ausführungsform sind die Bereiche mit gleichen Größen in einer N × M-Matrix fest, sie müssen es aber für die Zwecke der Erfindung nicht sein. Die Daten für jeden Bereich sind jederzeit verfügbar, wobei direkt auf sie zugegriffen werden kann. Die Anzeigeoperationen können in irgendeiner Reihenfolge ausgeführt werden. Für jede Anzeigeoperation wird der Bereich, der beeinflusst wird, dekomprimiert und verarbeitet. Wenn andere Bereiche verarbeitet werden, wird Speicherraum verfügbar gemacht, indem die Daten in gegenwärtig nicht verwendeten Bereichen komprimiert werden.
  • Durch die Verwendung dieser Art der Darstellung einer Seite und des Verfahrens der Verarbeitung der Anzeigeoperationen kann jeder Bereich unabhängig und verschieden dargestellt werden. Jeder Bereich kann mit einem Verfahren komprimiert werden, das für die in diesem Bereich enthaltenen Daten gut arbeitet. Um die Speicheranforderungen zu verringern, wird die Komprimierung verwendet. Weil die Anzeigeoperationen in irgendeiner Reihenfolge verarbeitet werden können, können die Bereiche durch mehrere Abbildungssysteme verarbeitet werden, die parallel arbeiten. Außerdem können die Darstellungen der Bereiche auf einer Seite gespeichert, übertragen oder zu verschiedenen Zeiten an verschiedenen Orten verwendet werden.
  • Demzufolge ist ein Aspekt der vorliegenden Erfindung ein Computer-System, wie es im Anspruch 8 dargelegt ist, und ein computerimplementierter Prozess, wie er im Anspruch 1 definiert ist, um eine computerlesbare Darstellung eines Bildes zu erzeugen. Es wird die Darstellung eines Dokuments erzeugt, in der die Darstellung eine Angabe mehrerer Bereiche, in die das Dokument unterteilt ist, die komprimierten Bilddaten für jeden Bereich und einen Index, der den Speicherplatz der komprimierten Bilddaten für jeden Bereich angibt, enthält. Die Angaben der Operationen zum Erzeugen des Dokumentbildes werden empfangen. Für jede Operation wird die Darstellung des Dokumentbildes verarbeitet, um die Bilddaten zur Darstellung hinzuzufügen. Eine derartige Verarbeitung umfasst das Identifizieren jedes durch die Ergänzung der Bilddaten entsprechend der angegebenen Operation beeinflussten Bereichs, das Dekomprimieren der komprimierten Bilddaten des identifizierten Bereichs und das Modifizieren der dekomprimierten Bilddaten entsprechend der angegebenen Operation.
  • Ein weiterer Aspekt der Erfindung ist ein digitales nichtflüchtiges computerlesbares Datenaufzeichnungsmedium zum Speichern einer Darstellung einer Seite eines Dokuments, die aus mehreren Bereichen besteht. Die Darstellung definiert eine Liste der Bereichsbeschreibungen im nichtflüchtigen computerlesbaren Datenaufzeichnungsmedium, in dem jede Bereichsbeschreibung eine Angabe einer zum Erzeugen der komprimierten Bilddaten des Bereichs verwendeten Komprimierungsbetriebsart und eine Adresse, die den Speicherplatz der komprimierten Daten angibt, enthält. Für jeden Bereich sind die komprimierten Bilddaten am Speicherplatz des nichtflüchtigen computerlesbaren Datenaufzeichnungsmediums definiert.
  • Kurzbeschreibung der Zeichnung
  • Für ein besseres Verständnis der vorliegenden Erfindung wird auf die beigefügte Zeichnung Bezug genommen, die durch Bezugnahme hierin aufgenommen ist, worin:
  • 1 ein Blockschaltplan eines beispielhaften Computer-Systems ist, das für das Implementieren der vorliegenden Erfindung verwendet werden kann;
  • 2 ein Blockschaltplan ist, der ein typisches Speichersystem für die Verwendung in dem Computer-System in 1 veranschaulicht;
  • 3 eine graphische Darstellung ist, die eine in mehrere Bereiche unterteilte Seite der Bilddaten veranschaulicht;
  • 4 eine graphische Darstellung ist, die eine Datenstruktur zum Darstellen eines virtuellen Rahmenpuffers veranschaulicht, der in mehrere Bereiche unterteilt ist;
  • 5a5g graphische Darstellungen sind, die Beispielformate zum Darstellen lauflängencodierter Daten veranschaulichen;
  • 6 eine graphische Darstellung des Datenflusses einer Ausführungsform der vorliegenden Erfindung ist;
  • 7 ein Ablaufplan ist, der den Betrieb des Managers 136 des virtuellen Rahmenpuffers in 6 beschreibt;
  • 8 ein ausführlicherer Blockschaltplan einer Ausführungsform der Ausgabevorrichtung 144 in 6 ist; und
  • 9 ein Ablaufplan ist, der die Operation der durch 8 beschriebenen Schaltung beschreibt.
  • Ausführliche Beschreibung
  • Die vorliegende Erfindung wird durch die folgende ausführliche Beschreibung vollständiger verstanden, die zusammen mit der beigefügten Zeichnung gelesen werden sollte, in der gleiche Bezugszeichen gleiche Strukturen angeben.
  • Die vorliegende Erfindung kann unter Verwendung eines digitalen Computers implementiert werden. Ein typisches Computer-System 20 ist in 1 gezeigt, wobei es einen Prozessor 22 enthält, der über einen Verbindungsmechanismus 26 mit einem Speichersystem 24 verbunden ist. Der Verbindungsmechanismus ist typischerweise eine Kombination aus einem oder mehreren Bussen und einem oder mehreren Schaltern. Eine Eingabevorrichtung 28 ist außerdem über den Verbindungsmechanismus mit dem Prozessor und dem Speichersystem verbunden, wie es auch eine Ausgabevorrichtung 30 ist.
  • Es sollte selbstverständlich sein, dass eine oder mehrere Ausgabevorrichtungen mit dem Computer-System verbunden sein können. Beispielhafte Ausgabevorrichtungen enthalten eine Katodenstrahlröhren-Anzeige (CRT-Anzeige), eine Flüssigkristallanzeige (LCD), Drucker, einschließlich Farblaser-Kopierer, Kommunikationsvorrichtungen, wie z. B. ein Modem, und eine Audioausgabe. Es sollte außerdem selbstverständlich sein, dass eine oder mehrere Eingabevorrichtungen 28 mit dem Computer-System verbunden sein können. Beispielhafte Eingabevorrichtungen enthalten eine Tastatur, eine Kleintastatur, eine Rollkugel, eine Maus, einen Stift und ein Tablett, eine Kommunikationsvorrichtung, eine Audioeingabe und einen Bildscanner. Es sollte selbstverständlich sein, dass die Erfindung nicht auf die speziellen Eingabe- oder Ausgabevorrichtungen, die in Verbindung mit dem Computer-System verwendet werden, oder auf diejenigen, die hierin beschrieben sind, eingeschränkt ist. Die Eingabe- und Ausgabevorrichtungen können innerhalb oder außerhalb einer Haupteinheit enthalten sein, die typischerweise den Prozessor 22, das Speichersystem 24 und den Verbindungsmechanismus 26 unterbringt.
  • Das Computer-System 20 kann ein universelles Computer-System sein, das unter Verwendung einer höheren Computer-Programmiersprache, wie z. B. "C++", programmierbar ist. Das Computer-System kann außerdem unter Verwendung speziell programmierter Hardware für spezielle Anwendungen implementiert sein. In einem universellen Computer-System ist der Prozessor typischerweise ein kommerziell verfügbarer Prozessor, wie z. B. der Pentium-Mikroprozessor von der Intel Corporation. Es sind außerdem viele andere Prozessoren verfügbar. Ein derartiger Prozessor führt ein Programm aus, das als Betriebssystem bezeichnet wird, wie z. B. das Windows-Betriebssystem von der Microsoft Corporation, das die Ausführung der anderen Computer-Programme steuert und die Ablaufsteuerung, die Fehlersuche, die Eingabe/Ausgabe-Steuerung, die Abrechnungs-Kompilierung, die Speicherzuordnung, das Datenmanagement, das Speichermanagement und die Kommunikationssteuerung und in Beziehung stehende Dienste bereitstellt. Der Prozessor und das Betriebssystem definieren eine Computer-Plattform, für die die Anwendungsprogramme in der höheren Programmiersprache geschrieben sind. Es sollte selbstverständlich sein, dass die Erfindung nicht auf eine spezielle Computer-Plattform, ein spezielles Betriebssystem, einen speziellen Prozessor oder eine spezielle höhere Programmiersprache eingeschränkt ist. Außerdem kann das Computer-System 20 ein Mehrprozessor-Computer-System sein oder es kann mehrere Computer enthalten, die über ein Computer-Netz verbunden sind.
  • Ein beispielhaftes Speichersystem 24 wird nun in Verbindung mit 2 ausführlicher beschrieben. Ein Speichersystem enthält typischerweise ein computerlesbares und -beschreibbares nichtflüchtiges Aufzeichnungsmedium 40, für das eine Magnetplatte, ein Flash-Speicher und ein Band Beispiele sind. Die Platte kann entfernbar sein, was als Diskette bekannt ist, und/oder permanent sein, was als Festplattenlaufwerk bekannt ist. Die Platte, die in 2 gezeigt ist, besitzt eine Anzahl von Spuren, wie bei 42 angegeben ist, in denen die Signale in binärer Form, d. h. in einer Form, die als eine Folge von 1en und 0en interpretiert wird, wie bei 44 gezeigt ist, gespeichert sind. Derartige Signale können ein durch den Mikroprozessor auszuführendes Anwendungsprogramm oder auf der Platte ge speicherte Informationen, die durch das Anwendungsprogramm zu verarbeiten sind, wie z. B. in einer Datendatei gespeicherte Videoinformationen, definieren. Typischerweise veranlasst im Betrieb der Prozessor 22, dass die Daten vom nichtflüchtigen Aufzeichnungsmedium 40 in ein Speicherelement 46 in integrierter Schaltung gelesen werden, was typischerweise ein flüchtiger Schreib-Lese-Speicher ist, wie z. B. ein dynamischer Schreib-Lese-Speicher (DRAM) oder ein statischer Speicher (SRAM). Das Speicherelement 46 in integrierter Schaltung erlaubt den schnelleren Zugriff auf Informationen durch den Prozessor und die Platte 40, wobei es typischerweise als der Systemspeicher bezeichnet wird. Der Prozessor veranlasst im Allgemeinen, dass die Daten innerhalb des Speichers 46 in integrierter Schaltung manipuliert werden, und kopiert die Daten, falls sie modifiziert worden sind, auf die Platte 40, wenn die Verarbeitung abgeschlossen ist. Es ist eine Vielzahl von Mechanismen für das Management der Datenbewegung zwischen der Platte 40 und dem Speicher 46 in integrierter Schaltung bekannt, wobei die Erfindung nicht darauf eingeschränkt ist. Es sollte außerdem selbstverständlich sein, dass die Erfindung nicht auf ein spezielles Speichersystem eingeschränkt ist.
  • Die vorliegende Erfindung schafft ein System zum Darstellen von Bildern, wie sie z. B. 3 gezeigt sind. 3 zeigt eine Seite der Bilddaten von einem Rasterbild. Jede Seite 50 ist in eine Anordnung von Bereichen 52 unterteilt. Es gibt horizontal, wie mit 54 angegeben ist, und vertikal, wie mit 56 angegeben ist, mehrere Bereiche. In einer Ausführungsform der Erfindung umfasst jeder Bereich 128 × 128 Bildpunkte. Für ein typisches Blatt Papier, 8½ × 11, gibt es unter Verwendung einer typischen Auflösung für einen Farblaser-Kopierer etwa 37 Bereiche horizontal, von denen jeder 128 Bildpunkte breit ist. Jeder Bereich kann ein oder mehrere Bildobjekte enthalten, die die Zeilen 58, die ausführlichen Bilder 60, den Text 62 oder andere Objekte 64 enthalten können. Die Bildobjekte und ihr Ort auf der Seite werden typischerweise unter Verwendung einer Seitenbeschreibungssprache, wie z. B. PostScript (ein Warenzeichen von Adobe Systems, Inc.), dargestellt.
  • In der vorliegenden Erfindung wird jeder Bereich der Seite getrennt adressiert, wobei er von den benachbarten Bereichen unabhängig ist. Demzufolge kann jeder Bereich unabhängig und verschieden dargestellt werden. 4 zeigt eine Darstellung des Bildes in einer Ausführungsform der Erfindung. In dieser Ausführungsform der Erfindung wird eine Seite der Daten durch eine N × M-Matrix dar gestellt, wobei N die Anzahl der Bereiche in jeder Zeile im Bild ist, während M die Anzahl der Zeilen von Bereichen in der Seite ist. Die in 4 gezeigte Darstellung kann als eine verkettete Liste aus Bereichs-Deskriptoren 70 und Zeilen-Deskriptoren 72 implementiert sein. Insbesondere enthält jeder Bereichs-Deskriptor 70 eine Beschreibung 74, die eine Art der für diesen Bereich verwendeten Komprimierung oder Codierung angibt, und eine Adresse 76, die den Platz der tatsächlichen Bilddaten (die codiert, komprimiert oder nicht komprimiert sein können) im Computer-Speicher angibt. Jede Zeile 78 enthält eine Liste der Bereichs-Deskriptoren 70, gefolgt von einem Zeilen-Deskriptor 72. In einem Zeilen-Deskriptor 72 enthält die Beschreibung 80 eine Verbindung zur nächsten Zeile, z. B. der Zeile 2, und eine Angabe, ob dies die letzte Zeile ist, wie z. B. bei 82 gezeigt ist.
  • Durch die Verwendung einer derartigen Darstellung eines Bildes kann jeder Bereich mit einem Komprimierungsverfahren komprimiert werden, das vom Komprimierungsverfahren der anderen Bereiche verschieden ist. Folglich kann jeder Bereich mit einem Verfahren komprimiert werden, das für die in diesem Bereich enthaltenen Daten gut arbeitet. Außerdem können einige Bereiche komprimiert werden, während andere Bereiche nicht komprimiert gelassen werden können. Ähnlich können einige Bereiche mit Verfahren komprimiert werden, die einen Verlust einführen, während andere Bereiche unter Verwendung einer Technik komprimiert werden können, die nicht verlustbehaftet ist.
  • Einige geeignete Komprimierungsformate werden nun in Verbindung mit den 5a5g beschrieben. Alle diese Verfahren verwenden eine Form der Lauflängen-Codierung. In 5a enthält jedes Datenwort der codierten Daten eine Zwei-Bit-Kennung 90, die den Typ der Komprimierung angibt, und einen Zählerstand 92, gefolgt von einem Wert 94. In 5a identifiziert der angegebene Code ein Format, in dem N + 1 Bildpunkte des durch das Feld 94 angegebenen Wertes bei der Decodierung emittiert werden. Der Wert N ist durch den 6-Bit-Wert im Feld 92 definiert.
  • Durch die in den 5b5d gezeigten Formate wird etwas Komprimierung bereitgestellt. In 5b folgt dem Komprimierungscode 96 ein Wert N, wie bei 98 angegeben ist, wobei dann N + 1 Werte 100 folgen. Dieses Format gibt an, dass die N + 1 Werte, die dem Befehlswort 96, 98 folgen, bei der Decodierung zu emittieren sind. Ähnlich gibt in 5c der Komprimierungscode 102 an, dass eine Anzahl N von Werten folgt, wie bei 104 angezeigt ist. Dieser Komprimierungscode ist ein wenig verlustbehaftet, weil jeder dieser Werte bei der Decodierung zweimal zu emittieren ist. Wenn insbesondere erste Wert "00" ist, wird er zweimal emittiert, d. h. um "0000" zu erzeugen, bevor der nächste Wert dann zweimal emittiert wird. Ähnlich gibt, wie in 5d gezeigt ist, der Komprimierungscode 108 an, dass eine Anzahl N, wie bei 110 angegeben ist, von Werten 112 bei der Decodierung dreimal sequentiell zu emittieren ist.
  • Die Komprimierungsformate in der Bit-Betriebsart werden außerdem bereitgestellt, wie in den 5a5g gezeigt ist. Ein Komprimierungsformat in der 1-Bit-Betriebsart ist in 5e gezeigt. Eine Bit-Betriebsart ist durch die ersten 4 Bits des Befehlscodes angegeben, wie bei 114 angegeben ist. Die letzten 4 Bits des Befehlscodes, wie bei 116 angegeben ist, geben in 5e ein Komprimierungsformat in der 1-Bit-Betriebsart an. In diesem Format wird für jedes der 16 Bytes 115, die dem Befehlscode folgen, ein Byte, das 0 × 00 darstellt, für jedes 0-Bit emittiert, während ein Byte, das 0 × FF darstellt, für jedes 1-Bit emittiert wird. Ähnlich geben in der Bit-Betriebsart, wie sie in 5f gezeigt ist, die durch einen Befehlscode angegeben ist, wie er bei 118 angegeben ist, jede 2 Bits einen auszugebenden speziellen Bytewert an. In der 4-Bit-Betriebsart, wie bei 120 im Befehlscode nach 5g angegeben ist, werden jede 4 Bits verwendet, um ein Ausgangsbyte zu bestimmen. Es gibt viele andere Komprimierungsverfahren, die in der vorliegenden Erfindung verwendet werden können, von denen einige im Folgenden ausführlicher erörtert werden. In 4 wird z. B. durch die Verwendung eines eindeutigen Codes als eine Bereichsadresse 76 eine einfache Art zum Darstellen des Bereichs als völlig weiß oder völlig schwarz erhalten. Dies kann die Tatsache darstellen, dass für diesen Bereich keine Bilddaten vorhanden sind.
  • Die Verarbeitung einer Seitenbeschreibung, um eine Darstellung zu erzeugen, wie z. B. 4 gezeigt ist, wird nun in Verbindung mit den 6 und 7 beschrieben. Eine Seitenbeschreibung 130 wird typischerweise in einer Seitenbeschreibungssprache, wie z. B. PostScript, bereitgestellt. Ein Interpreter 132 empfängt die Seitenbeschreibung 130 und verarbeitet sie entsprechend der Definition der Seitenbeschreibungssprache. Es kann z. B. die PostScript-Sprache verwendet werden, die in der Technik wohlbekannt ist. Es gibt kommerziell verfügbare Interpreter für diese Sprache, wobei es unter der Voraussetzung der Sprachendefinition möglich ist, einen Interpreter herzustellen. Der Interpreter 132 gibt für jeden Befehl in der Seitenbeschreibungssprache Bildinformationen, wie z. B. die Farbe, für jeden durch die Operation beeinflussten Bildpunkt aus, wie bei 134 angegeben ist. Diese Informationen 134 geben einen Ort in einer Seite und die Bildinformationen, z. B. die Farbe, an, auf die er gesetzt werden sollte. Diese Informationen werden durch einen Manager 136 des virtuellen Rahmenpuffers verwendet, um eine Listenstruktur 138, wie sie z. B. oben in Verbindung mit 4 beschrieben worden ist, zu modifizieren und aufrechtzuerhalten. Insbesondere erhält der Manager 136 des virtuellen Rahmenpuffers einen Bildspeicherbereich, auf den die Adressen 76 (4) verweisen, für jeden Bereich aufrecht. Dieser Bildspeicherbereich ist in 6 bei 140 veranschaulicht, wobei er sich typischerweise im Speichersystem 24 im Computer-System 20 befindet. Der Manager 136 des virtuellen Rahmenpuffers schreibt die Bildpunkt- und Farbeinformationen in die geeigneten Plätze im Bildspeicherbereich und komprimiert und dekomprimiert die Daten für die Bereiche in diesem Bereich in Übereinstimmung mit dem im Bildspeicherbereich verfügbaren Raum. Vorzugsweise ist der Bildspeicherbereich kleiner als ein Rahmenpuffer, der erforderlich sein würde, um die nicht komprimierten Daten für die ganze Seite zu halten. Unter Verwendung des Managers 136 des virtuellen Rahmenpuffers können Bereiche, die zu irgendeinem speziellen Zeitpunkt durch das Abbildungssystem nicht verwendet werden, komprimiert aufrechterhalten werden, während Bereiche, die verwendet werden, für die Effizienz und Leichtigkeit des Zugriffs nicht komprimiert sein können. Es gibt keine Anforderung, dass die Speicherart oder -größe, die verwendet wird, um die Bereiche zu speichern, einheitlich sein müssen. Folglich könnten sowohl der Speicher oder die Platte als auch andere Speichermittel verwendet werden.
  • Ein Ablaufplan der Operation des Managers 136 des virtuellen Rahmenpuffers wird nun in Verbindung mit 7 ausführlicher beschrieben. Im Schritt 150 werden die Bildpunktdaten empfangen. Dann bestimmt im Schritt 152 der Manager 136 des virtuellen Rahmenpuffers, welcher Bereich diesen Bildpunkt enthält. Dies wird ausgeführt, in dem eine Abbildung zwischen der Anzahl der Bildpunkte pro Zeile und der Zeilen pro Bereich auf die Anzahl der Bereiche pro Zeile und die Anzahl der Zeilen pro Seite verwendet wird. Als Nächstes bestimmt im Schritt 154 der Manager des virtuellen Rahmenpuffers, ob die Bereichsdaten komprimiert sind, wobei er außerdem den Platz der Daten bestimmt. Dies wird ausgeführt, indem die Listenstruktur 138 untersucht wird. Als Nächstes findet die bedingte Dekomprimierung statt. Folglich wird im Schritt 156, falls die Bereichsdaten komprimiert sind, auf die Daten zugegriffen, wobei die Daten dekomprimiert und in den Bildspeicherbereich 140 gelegt werden. Die Listenstruktur 138 wird auf den neuen Platz und um anzuzeigen, dass die Daten nun nicht komprimiert sind, aktualisiert. Falls im Bildspeicherbereich 140 nicht ausreichend freier Speicherraum verfügbar ist, wird ein nicht komprimierter Bereich lokalisiert und dann komprimiert, um Raum verfügbar zu machen. Die Auswahl eines nicht komprimierten Bereichs kann ausgeführt werden, indem die Listenstruktur 138 untersucht wird, wie sie z. B. in 4 gezeigt ist, wobei die Listenstruktur mit dem neuen Komprimierungstyp und dem neuen Platz aktualisiert wird, wenn die Daten komprimiert werden. Der Platz der Bereichsdaten wird dann im Schritt 158 lokalisiert, sobald die nicht komprimierten Daten verfügbar sind. Die nicht komprimierten Daten werden dann im Schritt 160 entsprechend den empfangenen Bildpunktdaten aktualisiert. Dann können die nächsten Bildpunktdaten empfangen werden, indem zum Schritt 150 zurückgekehrt wird.
  • In dem in 7 beschriebenen Prozess sind die komprimierten Daten für alle Bildbereiche im Bildspeicherbereich 140 gespeichert. Es gibt jedoch keine Anforderung, dass der für die Bereiche verwendete Speicher einheitlich sein muss. Einige Bereiche können z. B. im Schreib-Lese-Speicher, andere auf der Platte und andere auf einem über das Netz zugänglichen Server gehalten werden. Die komprimierten Bereiche einer Seite können im Sekundärspeicher gespeichert, durch ein Netz übertragen und in anderen Arten im Raum oder der Zeit bewegt werden, um an einem anderen Ort gedruckt oder zu einem späteren Zeitpunkt verarbeitet zu werden. Insbesondere können für die spätere Verwendung die Listenstruktur 138 und die komprimierten und nicht komprimierten Bereichsdaten kombiniert und auf einer Platte gespeichert werden, wie z. B. bei 142 angegeben ist. In einem derartigen Fall kann die verkettete Liste der Darstellung, wie sie z. B. 4 gezeigt ist, eine einfache Anordnung sein, die am Anfang einer Datei gespeichert ist, in der die Bereichsadresse 76 den Versatz der Daten innerhalb der Datendatei angibt. Derartige Datendarstellungen können dann z. B. für die spätere Verwendung gespeichert oder in einem Netz übertragen werden. Insbesondere kann eine Darstellung eines Bereichs gespeichert und später in eine Datendatei kopiert werden. Eine Listenstruktur 138 kann außerdem beim Lesen einer derartigen Datendatei initialisiert werden. Die Listenstruktur 138 kann außerdem an eine Ausgabevorrichtung 144 ausgegeben werden. Eine Ausführungsform einer Ausgabevorrichtung wird nun in Verbindung mit den 8 und 9 beschrieben.
  • Die Darstellung einer Seite, wie sie durch eine derartige Listenstruktur 138 be reitgestellt wird, von der eine Ausführungsform in 4 gezeigt ist, erlaubt einer Schaltung, die eine derartige Listenstruktur empfängt, einen Strom der Ausgangsbildpunkte in Echtzeit aufzubauen. Das heißt, die Bereichsbeschreibungen können verarbeitet werden, als ob sie Computer-Befehle sind, auf die die Hardware antwortet, um die Bilddaten zu erzeugen.
  • Insbesondere wird das zu dekomprimierende und auszugebende Bild im Hauptspeicher des Computers als eine Liste von Zeilen und Bereichen dargestellt. Jede Zeile von Bereichen enthält sowohl so viele Bereichsbeschreibungen, wie es Bereiche über die Seite gibt, als auch den Speicherplatz der nächsten Zeile. Jede Bereichsbeschreibung enthält den Speicherplatz der Daten für den Bereich und die Form der für diesen Bereich verwendeten Komprimierung. Jede Bereichsbeschreibung kann dann als ein Befehl für die Ausgabevorrichtung verwendet werden, der den Platz der Daten und die an den Daten auszuführende Operation angibt.
  • Eine Ausführungsform der Ausgabevorrichtung 144, die die Abtastzeilendaten dem visuellen Ausgang bereitstellt, wie z. B. einem Farblaser-Kopierer, ist in 8 gezeigt. Diese Schaltung enthält eine Schnittstelle 170, die die Ausgabevorrichtung mit dem Verbindungsmechanismus 26 des Computer-Systems 20 verbindet. Falls z. B. der Verbindungsmechanismus ein PCI-Bus ist, wie bei 172 angegeben ist, kann eine PCI-Bus-Schnittstelle 174 verwendet werden, wie z. B. die PCI-Bus-Schnittstelle AMCC 5933. Die Daten werden aus der Listenstruktur 138 durch die PCI-Schnittstelle 170 in den Rest der Schaltung gelesen. Es kann ein optionaler FIFO 176 verwendet werden, um die Operation der Schaltungssynchronisation von der Datenübertragung über die PCI-Bus-Schnittstelle 170 zu entkoppeln. Die Daten werden in den FIFO 178 gelesen, der die Daten aus der Listenstruktur und die Bilddaten, die zu verarbeiten sind, vorübergehend gespeichert. Ein Statusregister 180 verarbeitet die den Daten zugewiesenen Etiketten, wie die Daten in einer im Folgenden beschriebenen Weise in den FIFO 178 gelegt werden. Ein Register 182 wird verwendet, um die Daten aus dem FIFO 178 zu lesen und die Befehle und die Daten zu entschlüsseln, die in ein Register 184 und 186 zu legen sind. Die Daten im Datenregister werden entsprechend dem Befehl im Befehlsregister 184 verarbeitet und zum Bildpunkt-Abtastzeilen-FIFO ausgegeben, wie bei 188 gezeigt ist. Auf diesen FIFO wird durch eine Maschinen-Video-Schnittstelle 190 zugegriffen, die die Daten mit Raten liest, die durch eine visuelle Ausgabevorrichtung, wie z. B. einen Farblaser-Kopierer, bestimmt sind.
  • Die Operation diese Schaltung wird nun in Verbindung mit 9 ausführlicher beschrieben. Der FIFO 178 wird als ein Puffer mit variabler Kapazität verwendet. Jedes Wort im FIFO 178 enthält 32 Bits der Daten und ein Etikett, das angibt, was der Typ der Daten ist. Die Datentypen enthalten einen Bereichstyp oder eine Bereichsbeschreibung, 4 Bytes der Pufferdaten, 3 Bytes der Pufferdaten, 2 Bytes der Pufferdaten, 1 Byte der Pufferdaten oder eine Bereichsadresse. Der FIFO wird anfangs mit einer Liste von Zwei-Wort-Beschreibungen jedes Bereichs in der Zeile, die im Begriff ist, verarbeitet zu werden, geladen, wie bei 200 in 9 angegeben ist. Das erste Wort jeder Beschreibung ist als ein Bereichstyp markiert und gibt an, wie der Bereich komprimiert ist. Das zweite Wort jeder Beschreibung ist als die Bereichsadresse markiert und gibt an, wo die Daten für den Bereich gefunden werden können. Die Daten werden dann durch das Register 182 aus dem FIFO gelesen. Abhängig davon, welcher Datentyp gefunden wird, wird eine Vielfalt von Handlungen unternommen. Die Bereichsadressen werden in den Speicherkanal eingespeist, um die Folgen der Wörter der Bereichsdaten zu lesen. Im Schritt 202 werden aus einem Bereich für eine Abtastzeile ausreichend Daten gelesen. Die Bereichsdaten werden durch die Verarbeitung der Beschreibungskomponenten verbraucht, wobei sie nach der Verarbeitung, abhängig von der Dekomprimierungsbetriebsart, im FIFO gespeichert werden oder nicht.
  • Insbesondere werden die Daten für einen Bereich für eine Abtastzeile in den FIFO 178 gelegt, nachdem zuerst der Bereichstyp und die Bereichsadresse zurück in den FIFO gelegt worden sind. Weil der Puffer 178 ein FIFO ist, wird zuerst auf jede Bereichsbeschreibung in einer Zeile zugegriffen, wobei sie zurück in den FIFO gelegt wird, gefolgt von ausreichend Daten für eine Abtastzeile für diesen Bereich. Die in den FIFO 178 gelegten Daten sind als ein Typ der Pufferdaten markiert. Wenn die Zeilenbeschreibung am Ende der Liste der Bereichsbeschreibungen aus dem FIFO 178 gelesen wird, werden dann die Bereichsbeschreibungen mit den Daten, die folgen, verarbeitet. Jeder Bildpunkt wird dann im Schritt 204 entsprechend des Bereichstyps erzeugt. Wenn es irgendwelche nicht verwendeten Daten gibt, wenn das Ende des Bereichs in der Abtastzeile erreicht wird, werden die verbleibenden Daten zurück in das Ende des FIFO gelegt, wobei im Schritt 206 der nächste Bereich ausgewählt wird. Insbesondere werden in einigen Komprimierungsbetriebsarten die Bildpunktdaten dann entsprechend dem Typ des nächsten Bereichs erzeugt, wie bei 204 angegeben ist. Wenn das Ende der Zeile erreicht wird, werden dann im Schritt 202 ausreichend Daten für jeden Bereich für die nächste Abtastzeile gelesen. Die Schritte 204 bis 206 werden wiederholt, bis die letzte Abtastzeile dieser Zeile von Bereichen erreicht ist, wie bei 208 angegeben ist. Wenn die letzte Zeile der Zeile verarbeitet ist, wird dann im Schritt 200 die Listenstruktur für die Zeile von Bereichen gelesen, wobei der Prozess für die Schritte 200 bis 208 für die nächste Zeile wiederholt wird. Die letzte Zeile einer Seite wird durch die Zeilenende-Beschreibung 82, gefolgt von einer NULL-Adresse, erfasst, wie in 4 gezeigt ist.
  • Die Verwendung der Schaltungen und Prozesse, die in den 8 und 9 beschrieben sind, um eine Listenstruktur zu verarbeiten, wie sie in 4 gezeigt ist, schafft eine einfache und kosteneffektive Art, während der Erzeugung der Ausgangsbilddaten die Daten zu puffern, die sowohl die Bereichsbeschreibungen als auch die tatsächlichen Daten für die Bereiche darstellen.
  • Das dynamische Ändern der Darstellungen zwischen komprimierten und nicht komprimierten Formaten ist zu einem virtuellen Speichersystem ähnlich. Es werden einige der traditionellen Probleme, die dem virtuellen Speicher zugeordnet sind, erwartet. Falls z. B. eine Seitenbeschreibung wiederholt das Abbilden in jeden Bereich erfordert, ist eine signifikante Zeitdauer erforderlich, um die Darstellungen zu managen.
  • Um diese Probleme des virtuellen Speichers zu lösen, beginnt in einer Ausführungsform der Erfindung das Abbildungssystem die Operation in einer Streifenbetriebsart. Wie jeder Abbildungsoperation begegnet wird, wird sie durch den Interpreter 132 zu einer Anzeigeliste hinzugefügt. Unter bestimmten Bedingungen wird die Anzeigeliste verarbeitet, genau als ob das Abbildungssystem in der Streifenbetriebsart arbeiten würde. Für den Systemwirkungsgrad werden die abgetasteten Bilder verarbeitet, als ob das Abbildungssystem in einer Rahmenbetriebsart arbeitet, wobei die Notwendigkeit beseitigt wird, die Bilddaten vorübergehend zu speichern. Eine Bedingung ist das Auftreten eines abgetasteten Bildes in der Seitenbeschreibung. In einem derartigen Fall wird die Anzeigeliste sofort in der Streifenbetriebsart verarbeitet, wobei das Abbildungssystem in die Rahmenbetriebsart umgestellt wird. Nach dem Abschließen des abgetasteten Bildes kehrt das Abbilden abermals in die Streifenbetriebsart zurück.
  • Eine weitere Bedingung tritt auf, wenn eine ausreichende Anzahl von Abbildungsoperationen aufgezeichnet worden ist. In einem derartigen Fall wird die Anzeige liste ausgeführt, um die Menge des Speichers zu begrenzen, die für die Anzeigeliste erforderlich ist, und um drucken zu können, sehr kurz nachdem einer Anforderung für die Anzeige begegnet wird, und um zu erlauben, dass die Anzeigeliste vollständig im physikalischen Speicher steht, ohne in den virtuellen Speicher ausgelagert zu werden. Wenn die Anzeigeliste vollständig verarbeitet ist, wird sie verworfen, wobei eine neue Anzeigeliste begonnen wird.
  • Ein begleitender Vorteil dieser Ausführungsform bezieht sich auf das Abschneiden oder die Verwendung von Konstrukten in der Seitenbeschreibungssprache, um den Abschnitt der Seite zu begrenzen, der durch irgendeine Abbildungsoperation gefärbt wird. In der Rahmenbetriebsart muss die Beschreibung des abgeschnittenen Bereichs für jede Abbildungsoperation verarbeitet werden. In der Streifenbetriebsart wird die Beschreibung nur einmal verarbeitet, wobei jede Abbildungsoperation der Reihe nach an jeder Abtastzeile abgeschnitten wird. Das Verfahren der Streifenbetriebsart ist effizienter, wobei es in dieser Ausführungsform bewahrt wird.
  • Andere Ausführungsformen der Erfindung können andere Arten der Bildkomprimierung verwenden. Wenn das Bild einer Seite erzeugt wird, sollte die verlustbehaftete Komprimierung soviel wie möglich vermieden werden. Weil die Menge des verfügbaren Speichers typischerweise kleiner als die ist, die erforderlich ist, um eine volle nicht komprimierte Seite zu speichern, kann schließlich irgendeine verlustbehaftete Komprimierung erforderlich sein. Die Menge des Verlusts jedoch hängt im Allgemeinen vom Kontext der ganzen Seite und nicht von einem einzelnen Bereich ab.
  • Die Seiten bestehen normalerweise aus einer Mischung aus Graphikelementen, wie z. B. Text, Strichzeichnungen, weißen Raum und abgetasteten Bildern. Diese verschiedenen Elemente werden am besten mit verschiedenen Techniken komprimiert, wobei sie verschiedene Komprimierungsergebnisse liefern. Wenn angenommen wird, dass jeder Bereich maximal komplex ist, dann würden im hohen Grade verlustbehaftete Techniken für die ganze Seite erforderlich sein, was unangemessen ist. Um zu erlauben, dass der Grad des Verlusts sowohl an den verfügbaren Speicher als auch die Komplexität der ganzen Seite anpassungsfähig ist, wird in einer Ausführungsform der Erfindung vorzugsweise ein einstellbares Komprimierungsziel verwendet. Die Zielkomprimierungsniveaus können entsprechend dessen eingestellt werden, wie dicht das Bild in einem Bereich ist, oder sie könnten auf der Menge des Kontrasts oder der Farbe in einem Bereich basieren. Das Komprimierungsziel ist das minimale akzeptierbare Komprimierungsverhältnis für jeden Bereich, wenn er komprimiert wird. Wenn die Verarbeitung einer Seite begonnen wird, werden die Komprimierungsziele sehr niedrig eingestellt, wobei dadurch erlaubt wird, dass jeder Bereich mit verlustlosen Techniken komprimiert wird. In einer derartigen Ausführungsform kann, wie die Seite verarbeitet wird, die Menge des verfügbaren RAM unzureichend werden, selbst wenn das meiste der Seite komprimiert ist. Wenn dies auftritt, werden die Komprimierungsziele angehoben, wobei sowohl wenigstens die Bereiche, die nicht komprimiert sind, als auch das neue Ziel mit verlustbehafteten Techniken rekomprimiert werden, um zu erzwingen, dass sie dem neuen Ziel entsprechen, bis ausreichend Speicher wiedergewonnen ist. Der durch die Rekomprimierung der Bereiche wiedergewonnene RAM wird für die Bilder anderer Bereiche der Seite wiederverwendet. Falls abermals aller RAM verbraucht ist, werden die Komprimierungsziele höher angehoben, wobei der Rekomprimierungsprozess wiederholt wird.
  • Die Komprimierungstechniken können verwendet werden, um die Tatsache auszunutzen, dass das menschliche Gesichtssystem nicht für alle Farben gleich empfindlich ist. Das Auge ist z. B. für Schwarz besonders empfindlich, während es für Gelb besonders unempfindlich ist. Wenn folglich die Komprimierungsziele angehoben werden müssen, können die verlustbehafteten Komprimierungstechniken zuerst in gelben Bereichen und zuletzt in schwarzen Bereichen verwendet werden. Diese oben beschriebenen adaptiven Komprimierungstechniken können auf die Verwendung eines anderen Komprimierungsziels für jede Farbtafel, z. B. Cyan, Magenta, Gelb und Schwarz, abhängig von der Art der Bilddaten, die verwendet werden, ausgedehnt werden. Die Bereiche, in denen sich mehr Gelb in der Tafel befindet, die das gelbe Spektrum der Farben enthält, werden bestimmt, indem die Farbtafeln untersucht werden, die einen Bereich bilden. Wenn die Komprimierungsziele für einen Bereich vergrößert werden, wird das Komprimierungsziel für die Tafelbereiche mit mehr Gelb zuerst angehoben, was erzwingt, dass die gelben Bereiche mit verlustbehafteten Techniken komprimiert werden (und folglich Einzelheiten verlieren), bevor die schwarzen oder anderen Tafeln ähnlich komprimiert werden. Als Nächstes wird das Komprimierungsziel für Cyan angehoben, gefolgt vom Komprimierungsziel für Magenta usw. Das Komprimierungsziel für Schwarz wird zuletzt vergrößert.
  • Das menschliche Gesichtssystem ist außerdem für Einzelheiten mit hohem Kon trast empfindlicher als für Einzelheiten mit niedrigem Kontrast. Demzufolge ist es wichtiger, die verlustbehaftete Komprimierung in Bereichen mit Einzelheiten mit hohem Kontrast als in Bereichen mit Einzelheiten mit niedrigem Kontrast zu vermeiden. Jeder Bereich kann entsprechend der Menge der wichtigen Einzelheiten, die er enthält, bewertet werden. Wenn die Komprimierungsziele angehoben werden, dann werden sie zuerst in den Bereichen angehoben, die weniger wichtige Einzelheiten besitzen. Weil die vorliegende Erfindung keine frühere Kenntnis der Inhalte des Bildes besitzt, bevor die Komprimierung ausgeführt wird, kann, sobald ein Komprimierungsverfahren verwendet wird, falls das Komprimierungsniveau dem Zielkomprimierungsniveau nicht entspricht, ein anderes Komprimierungsverfahren statt dessen angewendet werden.
  • Die vorliegende Erfindung hilft außerdem, die für den mechanischen Zusatzaufwand eines Farblaser-Kopierers, wenn er druckt, verwendete Zeitdauer zu verringern. Dieser Zusatzaufwand umfasst das Positionieren jedes Blatts Papier, sein Laden auf die Übertragungstrommel, das Erzeugen des Bildes mit typischerweise vier Farben, das Verschmelzen des Dokuments und das Ablegen des fertiggestellten Dokuments auf dem Ausgabetablett. Um den Durchsatz zu verbessern, sollten diese Zeiten für den Zusatzaufwand verringert, beseitigt oder über eine große Anzahl von Seiten amortisiert werden.
  • Es wird z. B. manchmal ein großer Bildspeicher verwendet, um eine bedeutende Anzahl von Seiten zu halten. Unter Verwendung der adaptiven Komprimierung und durch das Erreichen hoher Komprimierungsverhältnisse gibt es oft ausreichend Bildspeicher, um viele Ganzseitenbilder zu speichern. Durch das Speichern von mehr Daten für das Drucken kann das Bild eines Druckers begonnen und kontinuierlich betrieben werden, d. h. bis zur maximalen Anzahl von Seiten, die der Drucker in einem Druckbefehl akzeptiert. Ohne Komprimierung würden im hohen Maße größere Mengen des teuren RAM erforderlich sein, um ausreichend getrennte Bilder zu puffern. Weil der Drucker mehrere Bilder verarbeitet, ist es möglich, mehr Bilder parallel zu verarbeiten. Durch das Überwachen des Bildspeichers des Druckers kann die kontinuierliche Druckoperation abgebrochen werden, falls es wahrscheinlich ist, dass der Speicher leer wird, bevor das nächste Bild verarbeitet worden ist.
  • Eine weitere Technik, die verwendet werden kann, um die Leistung des Druckwerks zu optimieren, ist das Drucken von Schwarzweiß-Seiten unter Verwendung der Farbdruckzyklen. Ohne diese Optimierung sich würde ein Dokument, in dem sich farbige und nur schwarzweiße Seiten abwechseln, den Maschinen-Zusatzaufwand bei jeder Seite zuziehen, wobei typischerweise eineinhalb Blätter pro Minute abgewickelt werden. Obwohl dies typischerweise die Druckkosten ein wenig erhöht, kann die Geschwindigkeitsverbesserung dramatisch sein. Weil die Seitenbeschreibung angeben kann, welche Art der Seite bevorsteht, erlaubt die vorliegende Erfindung, dass eine derartige Optimierung angewendet wird.
  • Nachdem nun einige Ausführungsformen der Erfindung beschrieben worden sind, sollte es für die Fachleute auf dem Gebiet offensichtlich sein, dass das vorausgehende lediglich veranschaulichend und nicht einschränkend ist, wobei es lediglich beispielhaft dargestellt worden ist. Zahlreiche Modifikationen und andere Ausführungsformen liegen innerhalb der Möglichkeiten eines Durchschnittsfachmanns auf dem Gebiet, wobei davon ausgegangen wird, dass sie in den Umfang der Erfindung fallen, wie er durch die beigefügten Ansprüche definiert ist und der zu ihnen äquivalent ist.

Claims (14)

  1. Computerimplementierter Prozess zum Erzeugen einer computerlesbaren Darstellung eines Bildes, das M Zeilen mit N Bereichen in jeder Zeile umfasst, wobei M und N jeweils größer als eins sind und wobei jedem Bereich entsprechende Bilddaten zugeordnet sind, die entweder in komprimierter oder in nicht komprimierter Form an Speicherplätzen unabhängig gespeichert sind, wobei der Prozess umfasst: Erzeugen einer Datenstruktur zum Speichern einer Angabe der Form und des Speicherplatzes der Bilddaten, die jedem Bereich zugeordnet sind; Zuweisen einer Speichermenge, um Bilddaten, die allen Bereichen zugeordnet sind, zu speichern; und Angeben einer Anzeigeliste, die wenigstens eine Bildoperation enthält, wobei das Angeben umfasst: Identifizieren eines oder mehrerer Bereiche, die durch die Bildoperation beeinflusst werden; Modifizieren der Bilddaten, die dem identifizierten Bildbereich oder den identifizierten Bildbereichen zugeordnet sind, in Übereinstimmung mit der Bildoperation; Speichern der Bilddaten, die jedem Bereich zugeordnet sind, in dem Speicher in komprimierter oder nicht komprimierter Form auf der Grundlage einer Speichermenge, die zum Speichern der allen Bereichen zugeordneten Bilddaten erforderlich ist, und auf der Grundlage der Menge zugewiesenen Speichers; und Aktualisieren der Datenstruktur.
  2. Prozess nach Anspruch 1, bei dem die Anzeigeliste eine Untermenge der Bildoperationen, die das Bild repräsentieren, umfasst, wobei die Untermenge von Bildoperationen nacheinander in Abtastzeilenreihenfolge für jede Anzeigeliste abgearbeitet wird.
  3. Prozess nach Anspruch 1 oder Anspruch 2, bei dem der Speicherplatz von Bilddaten, die einem Bereich zugeordnet sind, unabhängig von dem Speicherplatz der Bilddaten, die anderen Bereichen zugeordnet sind, bestimmt wird.
  4. Prozess nach einem der Ansprüche 1 bis 3, bei dem der Speicherplatz von Bilddaten, die einem Bereich zugeordnet sind, unabhängig von der komprimierten oder nicht komprimierten Form der dem Bereich zugeordneten Bilddaten bestimmt wird.
  5. Prozess nach einem vorhergehenden Anspruch, bei dem das Angeben von Anzeigelisten ferner umfasst: Dekomprimieren der Bilddaten, die dem identifizierten Bereich zugeordnet sind, falls die Bilddaten komprimiert sind, und Wiedergewinnen von Speicher, wenn die Speichermenge, die zum Speichern der allen Bereichen zugeordneten Bilddaten erforderlich ist, die Menge zugewiesenen Speichers übersteigt.
  6. Prozess nach Anspruch 5, bei dem das Wiedergewinnen von Speicher das Komprimieren nicht komprimierter Bilddaten umfasst.
  7. Prozess nach Anspruch 5, bei dem das Wiedergewinnen von Speicher das Dekomprimieren und Rekomprimieren von Bilddaten, die komprimiert gewesen sind, umfasst.
  8. Computersystem zum Erzeugen einer computerlesbaren Darstellung eines Bildes, das M Zeilen mit N Bereichen in jeder Zeile umfasst, wobei M und N jeweils größer als eins sind und wobei jedem Bereich entsprechende Bilddaten zugeordnet sind, die entweder in komprimierter oder in nicht komprimierter Form an Speicherplätzen unabhängig gespeichert sind, wobei das System umfasst: Mittel zum Erzeugen einer Datenstruktur, um eine Angabe der Form und des Speicherplatzes der Bilddaten, die jedem Bereich zugeordnet sind, zu speichern; Mittel zum Zuweisen einer Speichermenge, um die Bilddaten, die allen Bereichen zugeordnet sind, zu speichern; und Mittel zum Angeben einer Anzeigeliste, die wenigstens eine Bildoperation enthält, wobei die Angabemittel umfassen: Mittel zum Identifizieren eines oder mehrerer Bereiche, die durch die Bildoperation beeinflusst werden; Mittel zum Modifizieren der Bilddaten, die dem identifizierten Bereich oder den identifizierten Bereichen zugeordnet sind, in Übereinstimmung mit der Bildoperation; Mittel zum Speichern der Bilddaten, die jedem Bereich zugeordnet sind, in dem Speicher in komprimierter oder nicht komprimierter Form auf der Grundlage einer Speichermenge, die zum Speichern der allen Bereichen zugeordneten Bilddaten erforderlich ist, und auf der Grundlage der Menge zugewiesenen Speichers; und Mittel zum Aktualisieren der Datenstruktur.
  9. Computersystem nach Anspruch 8, bei dem die Anzeigeliste eine Untermenge der Bildoperationen umfasst, die das Bild repräsentieren, und bei dem die Untermenge von Bildoperationen nacheinander in Abtastzeilenreihenfolge für jede Anzeigeliste abgearbeitet wird.
  10. Computersystem nach Anspruch 8 oder Anspruch 9, bei dem der Speicherplatz der Bilddaten, die einem Bereich zugeordnet sind, unabhängig vom Speicherplatz der Bilddaten, die anderen Bereichen zugeordnet sind, bestimmt wird.
  11. Computersystem nach einem der Ansprüche 8 bis 10, bei dem der Speicherplatz von Bilddaten, die einem Bereich zugeordnet sind, unabhängig von der komprimierten oder nicht komprimierten Form der dem Bereich zugeordneten Bilddaten bestimmt wird.
  12. Computersystem nach einem der Ansprüche 8 bis 11, bei dem die Angabemittel ferner umfassen: Mittel, die die Bilddaten, die dem identifizierten Bereich zugeordnet sind, dekomprimieren, falls die Bilddaten komprimiert sind, und Mittel, die Speicher wiedergewinnen, wenn die Speichermenge, die zum Speichern der allen Bereichen zugeordneten Bilddaten erforderlich ist, die Menge zugewiesenen Speichers übersteigt, um die allen Bereichen zugeordneten Bilddaten zu speichern.
  13. Computersystem nach Anspruch 12, bei dem das Wiedergewinnen von Speicher das Komprimieren nicht komprimierter Bilddaten umfasst.
  14. Computersystem nach Anspruch 12, bei dem das Wiedergewinnen von Speicher das Dekomprimieren und Rekomprimieren von Bilddaten, die komprimiert gewesen sind, umfasst.
DE69729752T 1996-09-24 1997-09-19 Adaptive bildblockkompression Expired - Fee Related DE69729752T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US719256 1996-09-24
US08/719,256 US6269190B1 (en) 1996-09-24 1996-09-24 Computer system for processing images using a virtual frame buffer
US08/741,786 US5995724A (en) 1996-11-01 1996-11-01 Image process system and process using personalization techniques
US741786 1996-11-01
US846844 1997-05-01
US08/846,844 US5959867A (en) 1996-09-24 1997-05-01 Computer system and process for efficient processing of a page description using a display list
PCT/US1997/016793 WO1998013787A1 (en) 1996-09-24 1997-09-19 Adaptive block image compression

Publications (2)

Publication Number Publication Date
DE69729752D1 DE69729752D1 (de) 2004-08-05
DE69729752T2 true DE69729752T2 (de) 2005-07-14

Family

ID=27418993

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69708335T Expired - Lifetime DE69708335T2 (de) 1996-09-24 1997-09-19 Bildverarbeitungssystem und -verfahren unter verwendung von personifizierungstechniken
DE69729752T Expired - Fee Related DE69729752T2 (de) 1996-09-24 1997-09-19 Adaptive bildblockkompression
DE69704367T Expired - Fee Related DE69704367T2 (de) 1996-09-24 1997-09-19 Rechnersystem und verfahren zur seitenbeschreibungsverarbeitung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69708335T Expired - Lifetime DE69708335T2 (de) 1996-09-24 1997-09-19 Bildverarbeitungssystem und -verfahren unter verwendung von personifizierungstechniken

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69704367T Expired - Fee Related DE69704367T2 (de) 1996-09-24 1997-09-19 Rechnersystem und verfahren zur seitenbeschreibungsverarbeitung

Country Status (4)

Country Link
EP (3) EP1008107B1 (de)
AU (3) AU4585797A (de)
DE (3) DE69708335T2 (de)
WO (3) WO1998013789A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256108B1 (en) * 1998-09-10 2001-07-03 Electronics For Imaging, Inc. Method and apparatus for label composition
FR2785403B1 (fr) * 1998-10-30 2001-02-02 Couleur Comm Ecriture Cce Dispositif de traitement de donnees numeriques, par analyse de texture couleur, procede correspondant et terminal multi-fonctions equipe d'un tel dispositif
AU770770B2 (en) * 2000-12-06 2004-03-04 Canon Kabushiki Kaisha Storing coding image data in storage of fixed memory size
AUPR192700A0 (en) 2000-12-06 2001-01-04 Canon Kabushiki Kaisha Storing coding image data in storage of fixed memory size
AU2003900531A0 (en) 2003-01-30 2003-02-20 Canon Kabushiki Kaisha Compression into a fixed buffer
WO2005015501A1 (en) 2003-08-12 2005-02-17 Koninklijke Philips Electronics N.V. Video encoding and decoding methods and corresponding devices
CN104572596A (zh) * 2013-10-25 2015-04-29 北大方正集团有限公司 光栅化处理方法、处理装置和处理系统
JP2015174408A (ja) * 2014-03-17 2015-10-05 株式会社リコー 画像処理装置および画像処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146373A (ja) * 1983-02-10 1984-08-22 Fuji Xerox Co Ltd 伝票処理装置
DE3486078D1 (de) * 1983-11-15 1993-04-01 Ibm Verfahren und einrichtung zum schaffen von visuellen anzeigen von daten aus einer eingangsdatenmenge.
EP0235456B1 (de) * 1985-12-13 1999-03-24 Canon Kabushiki Kaisha Bildverarbeitungsgerät und -verfahren mit Blöcken von komprimierten Daten
US5031053A (en) * 1989-06-01 1991-07-09 At&T Bell Laboratories Efficient encoding/decoding in the decomposition and recomposition of a high resolution image utilizing pixel clusters
DE69124794D1 (de) * 1991-05-08 1997-04-03 Semaphore Inc Gerät und Verfahren zur parallelen und regelgestützten Datenübertragung
EP0583107B1 (de) * 1992-07-31 2000-10-04 Canon Kabushiki Kaisha Verfahren und Vorrichtung zur Bildverarbeitung
EP0586074B1 (de) * 1992-07-31 2001-11-14 Canon Kabushiki Kaisha Bildverarbeitungsgerät und Verfahren zur mehrstufigen Kompression
JPH06110996A (ja) * 1992-08-21 1994-04-22 Xerox Corp テキストイメージ及び書式イメージの併合による自動イメージ生成
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
US5768424A (en) * 1993-01-15 1998-06-16 Canon, Inc. Compression factor adjustment to facilitate image display
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
FR2702580B1 (fr) * 1993-03-09 1995-06-16 Blondel Gerard Procédé de compression d'une image numérique à une taille prédéterminée, et procédé de décompression correspondant.
US5917962A (en) * 1995-06-06 1999-06-29 Apple Computer, Inc. Method and apparatus for partitioning an image
US5600768A (en) * 1995-06-06 1997-02-04 Apple Computer, Inc. Image generation with dynamically consolidated list of image data
JP3753263B2 (ja) * 1995-08-23 2006-03-08 ヒューレット・パッカード・カンパニー 画像を処理する方法

Also Published As

Publication number Publication date
AU4428297A (en) 1998-04-17
DE69704367D1 (de) 2001-04-26
EP1008107A1 (de) 2000-06-14
WO1998013788A1 (en) 1998-04-02
EP0928459A1 (de) 1999-07-14
EP1008107B1 (de) 2004-06-30
DE69708335T2 (de) 2002-07-11
EP0928459B1 (de) 2001-03-21
EP1008109A1 (de) 2000-06-14
DE69708335D1 (de) 2001-12-20
WO1998013789A1 (en) 1998-04-02
AU4585797A (en) 1998-04-17
WO1998013787A1 (en) 1998-04-02
AU4488997A (en) 1998-04-17
DE69729752D1 (de) 2004-08-05
DE69704367T2 (de) 2001-10-31
EP1008109B1 (de) 2001-11-14

Similar Documents

Publication Publication Date Title
DE69730892T2 (de) Verarbeitung von Rückzugspunkten zur Blatterstellung mit Techniken zur Speicherreduktion
DE69817029T2 (de) Mischung von komprimierten rasterbildern in einem drucksystem
DE69831385T2 (de) Verfahren und Anordnung zum Mischen von graphischen Objekten mit Planarkarten
DE69733054T2 (de) Druckersteuerungsgerät und -verfahren
EP0764310B1 (de) Verfahren zur generierung einer contone-map
DE19944504B4 (de) Selbst-Umdimensionierungs-Demonstrationsseite für eine Druckvorrichtung, Bilderzeugungsvorrichtung, Bilderzeugungsverfahren und computerlesbares Medium
DE2701891C2 (de)
DE69133362T2 (de) Dokumentenverarbeitungs-verfahren und -gerät, entsprechende Program und Speichereinheit
DE3346816A1 (de) Sichtanzeigeanordnung fuer verschiedenartige zeicheninformationen
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE602004001797T2 (de) Bilddatenformat sowie Lese- und Schreibemethoden dafür
DE19822025A1 (de) Reduzieren der Speicherfragmentierung durch Mischen und Neuverteilen von vorher verteilten Seitenstreifen
DE3490148C2 (de) Vorrichtung zur Erzeugung unterschiedlicher Figuren in einem computergesteuerten Darstellungssystem
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers
DE69729752T2 (de) Adaptive bildblockkompression
DE69534054T2 (de) Verfahren und Vorrichtung zur Bilddatenkompression
DE4306025C2 (de) Bildverarbeitungseinrichtung
DE69632644T2 (de) Bilderzeugung für seitendrucker
DE69709695T3 (de) Verfahren zur seitenzusammensetzung
DE69924592T2 (de) Hochauflösende Rasterpufferarchitektur zur Unterdrückung von Alias-Störungen
DE102004001238A1 (de) Bildprozessor
DE69829163T2 (de) Verfahren und Gerät zur Verwendung von Interpolationszeilenpuffern als Pixeltabellen
DE3153695C2 (de) Punktmuster-Ausgabevorrichtung
DE69634653T2 (de) Abbildungsausgabegerät und entspechendes Steuerverfahren
DE69931435T2 (de) Bandweise Rasterung von Druckdaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee