DE69817029T2 - Mischung von komprimierten rasterbildern in einem drucksystem - Google Patents

Mischung von komprimierten rasterbildern in einem drucksystem Download PDF

Info

Publication number
DE69817029T2
DE69817029T2 DE69817029T DE69817029T DE69817029T2 DE 69817029 T2 DE69817029 T2 DE 69817029T2 DE 69817029 T DE69817029 T DE 69817029T DE 69817029 T DE69817029 T DE 69817029T DE 69817029 T2 DE69817029 T2 DE 69817029T2
Authority
DE
Germany
Prior art keywords
data
page
compressed
line work
merged
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
DE69817029T
Other languages
English (en)
Other versions
DE69817029D1 (de
Inventor
J. Jan VLIETINCK
H. Paul NOTREDAME
H. Eddy DEBAERE
W. Lieven DEPUYDT
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.)
Esko Graphics BVBA
Original Assignee
Esko Graphics BVBA
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 Esko Graphics BVBA filed Critical Esko Graphics BVBA
Publication of DE69817029D1 publication Critical patent/DE69817029D1/de
Application granted granted Critical
Publication of DE69817029T2 publication Critical patent/DE69817029T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • 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/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Description

  • Die vorliegende Erfindung betrifft das digitale Drucken von Seiten mit variablem Informationsgehalt, mit unbeschränkter Veränderungsmöglichkeit von Seite zu Seite. Genauer gesagt betrifft die vorliegende Erfindung ein Verfahren und eine Vorrichtung zum Zusammenführen einer Vielzahl von komprimierten Daten, wobei das Zusammenführen ohne einem Dekomprimieren der Daten ausgeführt wird.
  • Neuere digitale Druckgeräte haben es ermöglicht, Seitenfolgen zu drucken, wobei jede gedruckte Seite vollständig unterschiedlich zu ihrer vorherigen ist. Dies ist von besonderer Bedeutung für die Herstellung von personalisierten gedruckten Sachen, beispielsweise für direkte Sendezwecke. Ein derartiges System zum Drucken von personalisierten mehrseitigen Dokumenten sollte die folgenden Merkmale aufweisen:
    • – die Möglichkeit Teile dieser Dokumente für eine Wiederbenutzung in anderen Dokumenten als Seitenelemente zu speichern;
    • – eine nahezu unbeschränkte Anzahl von Seiten in diesen Dokumenten (bis zu mehreren hundert Seiten);
    • – keine inhärenten Einschränkungen an die Menge der personalisierten Daten pro Seite; und
    • – einen hohen Freiheitsgrad in dem Design der Personalisierung (eine große Anzahl an Bereichen, überlappenden Bereichen, etc.).
  • Ein derartiges Drucksystem kann konzeptionell als ein auf einem Seitenelement basierendes Drucksystem beschrieben werden: ein Dokument wird aus Seiten gebildet, und jede Seite wird aus einer Anzahl von Elementen gebildet, welche in dem System in einer komprimierten Rasterform gespeichert werden. In einem typischen Arbeitsablauf, in welchem die vorliegende Erfindung verwendet werden kann, stellt ein Vordrucksystem die gesamte Beschreibung der Seiten und die graphischen Datenelemente her, welche die Seitenelemente bilden.
  • Eine Seite wird typischerweise beschrieben unter Verwendung einer Seitenbeschreibungssprache ("PDL"), wie beispielsweise PostSkript® und "PDF®" von Adobe Systems, Inc., Mountain View, Kalifornien, HP PCL von Hewlett-Packard, Inc., Palo Alto, Kalifornien oder durch ein Format wie beispielsweise GROTM ("Graphics Objects"), das ursprüngliche interne Format, verwendet von Barco Graphics NV, Gent, Belgien, dem Anmelder der vorliegenden Erfindung. Ein PostSkript-Ordner beispielsweise enthält eine Sequenzliste von Befehlen, welche, falls sie interpretiert werden, graphische Objekte erzeugen, wie beispielsweise Linienarbeit (mit einem Text), CT-Bilder, Pfade (ein Satz an Vektor- oder Spline-Segmenten, welche eine Form oder einen Satz an Liniensegmenten beschreiben), Grenzkästchen ("unsichtbare" Rechtecke, welche die Grenzen eines Objektes definieren ), etc. Die Pfade können Attribute aufweisen, wie beispielsweise einen Strich oder eine Füllung, und können u. a. Grenzen der Objekte, die Objekte selber und Clipping-Masken definieren, welche definieren, welcher Teil des Objektes sichtbar ist, wenn sie mit einem Objekt im Zusammenhang stehen. Derartige Konzepte sind den Fachleuten hinlänglich bekannt. Das Interpretieren des PostSkript erzeugt gewöhnlicherweise eine Anzeigeliste von Objekten, und diese Objekte werden normalerweise vor dem Drucken oder der Anzeige gerastert. Auf die gleiche Weise kann eine Anzeigeliste von Objekten durch Interpretieren der Seitenbeschreibungsordner in anderen Seitenbeschreibungssprachen erzeugt werden. Das kombinierte Interpretieren der PDL und das Rastern wird als Rasterbildverfahren ("RIP") bezeichnet und die Software und/oder das Hardwaresystem zum Durchführen desselben wird Rasterbildprozessor ("RIP") genannt.
  • Das die Druckmaschine antreibende System muß einen Datenfluß mit der Geschwindigkeit der Druckmaschine erzeugen. Dies bedeutet, dass die Datenrate des Systems sehr hoch ist und vollständig durch die Bildgeschwindigkeit und die Auflösung der Druckgeräte diktiert wird. Der Xeikon DCP 32D (Xeikon NV, Mortsel, Belgien) beispielsweise druckt vollständige Duplex Cyan-, magenta-, gelb- und schwarz-farbige ("CMYK") Blätter der Größe A4 mit 600 Punkten pro Inch und mit 4 Bit pro Stelle pro Trennung, mit einer Geschwindigkeit von 35 Duplex (d. h. doppelseitig)-Blättern pro Minute. Die für den Antrieb dieses Gerätes notwendige Ausgabebandbreite ist über 80 MByte pro Sekunde. Falls wir eine 50% Überlappung der verschiedenen Objekte mit dem Hintergrund-Hauptobjekt annehmen, muß die Rasterbild-Bandbreite wenigstens 120 MByte pro Sekunde betragen. Die benötigte I/O-Busbandbreite ist die Summe der Eingabe- und Ausgabebandbreite, plus die benötige Bandbreite durch den Zusammenführprozeß und andere Verfahren. Somit muß die I/O-Busbandbreite des Computersystems größer als 200 MByte pro Sekunde betragen, was weit über der Reichweite der Standardcomputersysteme liegt, welche heutzutage erhältlich sind. In näherer Zukunft werden jedoch schnellere Druckgeräte erhältlich sein. In den letzten fünf Jahren hat die Vergrößerung der Datenraten von Druckgeräten die Vergrößerung der erhältlichen erschwinglichen Computerleistung ausgestochen.
  • Der Barco Graphics PrintStreamer I:
  • Der Barco Graphics PrintStreamer I (Barco Graphics NV, Gent, Belgien, der Anmelder der vorliegenden Erfindung) ist ein anerkanntes Hardwaresystem mit einem Computerboard pro Druckgeräte-Druckkopf, wobei jedes Board mit seinem eigenen redundanten Array beziehungsweise Feld einer unabhängigen Disk ("RAID")-Einheit verbunden ist. Die nachher durch das RIP-Verfahren gerasterten und gescreenten Seiten werden auf diesen Disks in einer lauflängen-codierten ("RLE") komprimierten Form gespeichert. Zum Druckzeitpunkt kann ein "Master"-Hintergrundelement mit einem "variablen" Vordergrundelement mit exakt derselben Bitmapgröße kombiniert werden. Beide Elemente werden vollständig vor der Zusammenführung dekomprimiert.
  • Der Nachteil eines derartigen Systems besteht in der begrenzten Flexibilität in dem Design der personalisierten Daten: es können keine mehrfach "variablen" Elemente vorhanden sein, welche verschiedene Teile einer Mehrzahl an "Master"-Elementen auf einer Seite abdecken. Das bereits existierende System kann auch nicht sehr genau skaliert werden, und es ist nicht eindeutig, wie gut es an schneller arbeitende Druckgeräte angepaßt werden kann.
  • Der Barco Graphics PrintStreamer I ist ein Beispiel für eine beschränkte Art eines variablen Datensystems, welches das Konzept eines Master-Seitendesigns und variable Daten aufweist, und welches in 2(a) illustriert ist, welche mit der Bezeichnung Stand der Technik bezeichnet ist. Die Masterseite 211 ist designed und veränderliche beziehungsweise variable Komponenten sind über der Masterseite 211 zusammengeführt. Zwei Beispiele von veränderbaren Daten V1 und V2, bezeichnet mit dem Bezugszeichen 213 und 219, sind jeweils dargestellt. Das zusammengeführte Ergebnis 215 ist für den Fall des Zusammenführens von 213 (V1) mit der Masterseite 211 dargestellt und auch das zusammengeführte Ergebnis 217 ist für den Fall des Zusammenführens von 219 (V2) mit der Masterseite 211 dargestellt. Eine wünschenswerte mehr flexiblere Anordnung ist in 2(b) dargestellt, welche keinen Stand der Technik darstellt. In dieser zweiten Anordnung existiert das Konzept von "fest" und "variabel" nicht länger, obwohl es selbstverständlich aufgenommen werden kann. Irgendein Element kann als Seite (oder Unterseite) gedruckt werden, und irgendein Element kann mit anderen Elementen zum Bilden einer neuen Seite zusammengeführt werden. Die Reihenfolge des Zusammenführens und der Modus des Zusammenführens (Überdrucken, Knockout, etc.) bestimmt, wie die abschließende Seite ausschauen wird. In dem einfachen Beispiel in 2(b) sind die Elemente 201, 203 und 207 miteinander kombiniert, zunächst 201, dann 203 und danach 207. In einem derartigen Fall ist das abschließende zusammengeführte Bild das mit dem Bezugszeichen 205 bezeichnete Bild.
  • Komprimierung der RIP-behandelten Daten:
  • Eine Möglichkeit, das Bandbreitenproblem zu überwinden besteht darin, die mittels dem RIP-Verfahren behandelten Daten beziehungsweise gerasterten Daten vor einem Abspeichern und Übertragen der Daten an das Druckgerät zu komprimieren. Mit einem Komprimierungsfaktor von 10 oder höher wird die Bandbreite beim Laufen einer Software auf einem herkömmlichen Computersystem verwaltbar. Das Problem mit den Rasterbildern besteht darin, dass sie zwei Arten von Objekten mit vollkommen verschiedenen Charakteristiken enthalten: 1) Linienarbeitsdaten ("LW") für Text, Logos, Graphen, Blockdiagrammen, etc., und 2) ununterbrochene Ton ("Conton-", "CT-")-Daten für Bilder, Mischungen etc. Da die Charakteristiken dieser zwei Arten von Daten vollkommen verschieden sind, ist das für diese Arten von Daten verwendete typische Komprimierungsverfahren auch unterschiedlich. Die folgende Tabelle faßt die Charakteristiken und die heutzutage typischerweise verwendeten Komprimierungsverfahren zusammen:
  • Figure 00060001
  • Die europäische Patentanmeldung EP-0 691 784, mit der Überschrift LOSSY AND LOSSLESS COMPRESSION IN RASTER IMAGE PROCESSOR, von dem Erfinder Deschuytere, und das US-Patent mit der Nummer 5,239,625 (24. August, 1993) mit dem Titel APPARATUS AND METHOD TO MERGE IMAGES RASTERIZED AT DIFFERENT RESOLUTIONS, von dem Erfinder Bogart et al., beschreiben eine Trennung von LW-Daten von CT-Daten in dem RIP-Verfahren und eine getrennte Handhabe beider Datenströme. Das Problem bei dem Deschuytere-Patent besteht darin, dass Halbtonlinienarbeiten als CT-Daten gehandhabt werden. Der Qualitätsverlust bei den Halbton LW-Daten aufgrund der Joint Photographic Expert-Group ("JPEG")-Komprimierung, welche für das CT-Verfahren verwendet wird, ist in den meisten Hochleistungsanwendungen nicht akzeptabel. Bei dem Bogart et al. Patent muß jeder Job zweimal mit dem RIP-Verfahren gerastert werden, einmal um die Linienarbeits-Bitmap zu erzeugen und einmal um die Conton-Bitmap zu erzeugen. Bei den meisten Arbeitsabläufen ist das RIP-Verfahren bereits ein Engpaß, so dass ein zweimaliges RIP-Verfahren nicht akzeptabel ist.
  • Zusammenführen von variablen Daten zum Druckzeitpunkt:
  • Die Anzahl von Vertreibern, welche Drucksysteme verkaufen, die wirklich variable Daten nach einem RIP-Verfahren handhaben, ist gegenwärtig (1997) beschränkt, wobei der Barco Graphics PrintStreamer I ein Beispiel (siehe oben) darstellt. Die europäische Patentanmeldung EP-A-0 703 524 mit dem Titel VARIABLE DATA FIELDS IN A PAGE DESKRIPTION LANGUAGE, von den Erfindern Herregods et al., beschreibt ein weiteres Beispiel. Das von Herregods et al. beschriebene System führt variable Daten unter Verwendung von Bitmapbetrieben wie folgt zusammen:
    • – ein einzelnes Master wird mittels eines RIP-Verfahrens behandelt und als unkomprimierte Bitmap in einem Speicherbaustein gespeichert;
    • – Teile dieser Bitmap werden in einem Cachespeicher mit bestimmten PostSkript-Anweisungen kopiert;
    • – der PostSkript-Code für die variablen Daten wird mittels einem RIP-Verfahren behandelt und Teile in dem Cachespeicher gespeicherten Masterbitmap überschrieben; und
    • – nach dem Drucken werden die Teile der Masterbitmap, welche geändert wurden, wieder hergestellt.
  • Die letzten beiden Schritte werden beispielsweise für alle variablen Daten wiederholt.
  • Die Flexibilität des Systems von Herregods et al. ist begrenzt: das System kann keine personalisierten Dokumente in sortierter Reihenfolge drucken, da das System die erforderliche Bandbreite zum Regenerieren der Masterbitmap mit der Geschwindigkeit des Druckgerätes nicht liefern kann. Zudem werden die Master- und die variablen Daten mit speziellen Operatoren in dem PostSkript-Ordner kombiniert, so dass eine Wiederverwendung von Objekten in unterschiedlichen Aufträgen so gut wie unmöglich ist. Es wäre vorteilhaft, ein Verfahren zu haben, bei welchem nicht notwendigerweise ein Link zwischen den verschiedenen Seitenelementen vorhanden ist, welche eine abschließende Seite aufbauen, bis zum eigentlichen Zusammenführen, so dass verschiedene Elemente von verschiedenen Seitenbeschreibungsordnern herrühren können und unter Verwendung verschiedener Vordruckpakete etc. erzeugt werden können.
  • Zusammenführen von komprimierten Daten:
  • Die Kombination von verschiedenen Seitenelementen in eine einzelne Seite wird typischerweise durch zunächst Dekomprimieren der verschiedenen Seitenelemente, Kombinieren derselben und danach möglicherweise wiederum Komprimieren der gesamten Seite durchgeführt. Da eine Dekomprimierung rechnerintensiv ist, erfordert dies oftmals eine reine Softwarelösung für die durchgeführte Kombination, um diese in Echtzeit zu einem Hochgeschwindigkeits-Digitaldrucker zu senden. Ein zusätzliches Problem bei dem Dekomprimieren vor einem Zusammenführen besteht darin, dass die zu kombinierende Datenmenge deutlich ansteigt, was eine Belastung für die Speicherbandbreite darstellt, welche wiederum eine reine Softwarelösung erfordern kann. Dies bedeutet, dass eine Dekomprimierung vor der Kombination von verschiedenen Seitenelementen den Nachteil aufweist, dass es eine große Menge an Speicherplatz und eine hohe Bandbreite für die Datenübertragung erfordert.
  • Es wäre daher vorteilhaft, ein Verfahren und eine Vorrichtung zum Zusammenführen verschiedener Seitenelemente zu besitzen, wobei die Seitenelemente komprimiert werden, und wobei das Zusammenführen im wesentlichen ohne einer Dekomprimierung der Daten ausgeführt wird, wodurch sowohl Rechnerzeit als auch Speicherplatz eingespart werden.
  • Die Druckschrift US-A-4 493 049 beschreibt ein Verfahren und eine Vorrichtung zum Vorbereiten einer Vielzahl von Seitenelementen, welche auf einer Seite kombiniert werden sollen. Die Seitenelemente werden zunächst gerastert und komprimiert und danach in komprimierter Form gespeichert. Die komprimierten Elemente werden dann ausgewählt und in komprimierter Form zusammengeführt, um in einer komprimierten gerasterten Seite zu resultieren. Vor dem Drucken wird die Seite dekomprimiert.
  • Auf einem weiteren Gebiet ist auch bekannt: ein Laufbildvideo, bei welchem die Notwendigkeit besteht, gleichzeitig mehrfache Laufbildvideos von verschiedenen Quellen zu erhalten, und diese auf einem einzelnen Bildschirm über einen Satz an überlagerten Videofenstern zu zeigen. Das US-Patent Nummer 5,257,113 (26 Oktober, 1993), mit dem Titel VIDEO MIXING TECHNIQUE USING JPEG COMPRESSED DATA, von den Erfindern Chen et al., beschreibt ein Verfahren und eine Vorrichtung zur Anzeige einer Vielzahl von Videofenstern (beispielsweise 30 Rahmen/Sekunde NTSC oder 25 Rahmen pro Sekunde PAL) auf einem Anzeigebildschirm, wobei die Daten für die Fenster in dem komprimierten Datenbereich gemischt werden. Alle Betriebe werden auf 8 × 8 DCT-Blöcken durchgeführt. Chang und Messerschmitt führen auch eine Übertragung und eine Videokonferenz in ihren Veröffentlichungen auf der Bearbeitung von JPEG und MPEG komprimierten Bildern in dem DCT-Bereich durch (siehe "Manipulation and compositing of MC-DCT compressed video", IEEE Journal on Selected Areas in Communications, Band 13, Nr. 1, Januar 1995). In der Veröffentlichung von Chang und Messerschmitt werden Formeln für eine opaque (d. h. Knockout) und semi-transparente (d. h. mit einem Alphakanal) Kombination von komprimierten Bildern auf einer Block-zu-Block-Basis präsentiert, alle in dem DCT-Bereich. Ferner beschreiben sie, wie man ein DCT-komprimiertes Bild über eine Anzahl von Pixeln übertragen kann, falls die zusätzliche Heruntersetzung in dem Ausgangszustand akzeptabel ist. Das Patent von Chang et al. und die Veröffentlichung von Chang und Messerschmitt beziehen sich auf Laufbildvideos, jedoch beschreiben sie nicht die Schritte und/oder die Vorrichtung, welche für eine effektive Verwendung dieser Ideen für Echtzeitdrucken notwendig sind. Derartige zusätzliche Schritte und Vorrichtungen sind für einen Fachmann nicht entnehmbar. Die rechnerische Komplexität der Formeln von Chang und Messerschmitt für ein pixelweites Zusammenführen ist zu groß für die Druckanwendung, so dass weiterhin die Notwendigkeit für eine unterschiedliche Technik für eine pixelweite Knockout-Überlappung besteht. Zusätzlich ist es für die Druckanwendung vorteilhaft, Objekte mit irgendeiner gewöhnlichen Form, wie oben beschrieben wurde, beispielsweise durch eine graphische Kunst-Clipping-Maske schnell zusammenführen zu können, eine Anforderung, welche der Stand der Technik nicht wirklich berücksichtigt. Im Stand der Technik wird auch nicht beschrieben, wie man das Zusammenführen von DCT-codierten Daten durch Mittel beschleunigen kann, was einem ermöglicht, schnell die DCT-Blöcke an irgendeiner Position zu lokalisieren. Ebenfalls verbleibt die Notwendigkeit im Stand der Technik an einem Mechanismus, welcher einem ermöglicht, die optimale Bildqualität zu erhalten, mit dem Druck mitzukommen und um schubweise einige Teile einer Seite im voraus zusammenzuführen, falls eine Seite zu komplex ist.
  • Somit sind diese Techniken gemäß dem Stand der Technik für die vorliegende Druckanwendung nicht brauchbar und es besteht kein Hinweis in dem Stand der Technik, wie diese Techniken gemäß dem Stand der Technik für die Druckanwendung angepaßt werden könnten.
  • Somit besteht beim Kombinieren von Seitenelementen für ein schnelles Drucken die Notwendigkeit an einem Verfahren und einer Vorrichtung, welche das Kombinieren im wesentlichen in dem komprimierten Bereich durchführen, während es möglich ist, die Elemente geometrisch genau auszurichten. Es besteht ebenfalls die Notwendigkeit, die variablen Elemente mit einer willkürlichen Form zusammenführen zu können.
  • Es ist ein Aspekt der vorliegenden Erfindung ein computerimplementiertes Verfahren zum Zusammenführen von Seitenelementen in Seiten zu liefern, welches gemäß Anspruch 1 ausgebildet ist. Das Verfahren ist derart flexibel, dass es in einem beschriebenen bevorzugten Ausführungsbeispiel in einem Standard-Computersystem implementiert ist, während es als Hardware implementiert werden kann, und somit kann es auf einer Reihe von Computersystemen implementiert werden. Die Fähigkeit des Verfahrens mit schnellen digitalen Farbdrucksystemen schrittzuhalten ist ein Resultat davon, dass die Daten im wesentlichen komprimiert in allen Zuständen des Zusammenführverfahrens verbleiben, bis zur abschließenden Dekomprimierung der zusammengeführten Seiten für den Druckvorgang.
  • Ein enthaltenes Ausführungsbeispiel beschreibt ein Verfahren zum Erzeugen einer oder mehrerer Seiten für eine digitale Druckpresse, wobei das Verfahren die Schritte des Vorbereitens einer Vielzahl von Seitenelementen aufweist, wobei jedes davon vorzugsweise als Seitenbeschreibungs-Sprachenordner definiert wird. Mehrseitige Seitenbeschreibungsordner können wahlweise zum Erzeugen einer Serie von Seitenelementen verwendet werden. Tinteneigenschaften (Knockout, Überdrucken, etc.) sind mitumfaßt, um die Überlappung von verschiedenen Seitenelementen zu ermöglichen. Eine Technik zum Definieren von nicht-rechteckigen Seitenelementen beinhaltet die Verwendung eines transparenten weißen Hintergrundes. Ein weiterer Schritt besteht in dem Rastern (RIP-Verfahren) und Komprimieren der Seitenelemente bei der Auflösung des Ausgabegerätes zum Bilden von komprimierten Seitenelementen. Die komprimierten Seitenelemente werden in einem Seitenelementenspeicher gespeichert, welcher auf eine (oder mehrere) der vielen Möglichkeiten implementiert werden kann, umfassend als ein Discspeicher, ein Direktzugriffsarray eines unabhängigen Disc(RAID)-Systems, ein schneller optischer Speicher, etc..
  • Gemäß dem Verfahren wird ein Zusammenführungsskript (Seitenlayoutskript) geschaffen, welches eine oder mehrere Seiten durch Spezifizieren der Seitenelemente und deren Attribute mit samt Position, Ausrichtung, Überdruckreihenfolge und Zusammenführungsmodus (Überdrucken, Knockout, auf den Tinteneigenschaften basierendes Überdrucken, Transparenz, etc.) beschreibt. Theoretisch gibt es keine Grenze bei der Anzahl oder Größe der von irgendeiner Seite umfaßten Elemente.
  • Für jede Seite werden die Seitenelemente, welche in der Seite enthalten sind, gemäß dem Seitenlayoutskript zusammengeführt, wobei das Zusammenführen komprimierte Bilddaten erzeugt, welche die Seite darstellen, wobei der Zusammenführungsschritt im wesentlichen in dem komprimierten Bereich auftritt. Dies bedeutet, dass während des Zusammenführungsverfahrens die Seitenelemente komprimiert bleiben, außer dass gelegentlich einige Grenzpixel dekomprimiert werden müssen, wenn eine sehr genaue Positionierung oder Masken von willkürlich geformten Objekten enthalten sind. Die durch das Zusammenführen erzeugten komprimierten Bilddaten werden in Rasterbilddaten dekomprimiert und die Rasterbilddaten werden auf dem Ausgabegerät (die digitale Druckpresse) gedruckt. Die Schritte Zusammenführen, Dekomprimieren und Drucken werden für jede Seite wiederholt, welche gedruckt werden muß.
  • Ein Ausführungsbeispiel des Verfahrens besteht darin, dass nicht notwendigerweise ein Link zwischen den verschiedenen Seitenelementen besteht, bis zu dem Moment, zu welchem sie gemäß dem Zusammenführungsskript zusammengebracht werden, so dass verschiedene Elemente von verschiedenen Seitenbeschreibungsordnern herkommen können und unter Verwendung verschiedener Vordruckpakete, etc. erzeugt werden können.
  • Gemäß einem weiteren Ausführungsbeispiel umfassen die Seitenelemente in dem oben beschriebenen Verfahren Linienarbeitsdaten. Gemäß einem weiteren Aspekt umfassen die Seitenelemente CT-Daten. Gemäß einem weiteren Aspekt stehen die CT-Daten mit ihren Maskendaten zum Definieren einer Maske um die CT-Daten herum in Zusammenhang. Gemäß einem weiteren Aspekt umfassen die Seitenelemente LW-Daten, CT-Daten und Maskendaten. Für die letzte Situation ist ein Ausführungsbeispiel des Verfahrens zum Erzeugen einer oder mehrerer Seiten für eine digitale Druckpresse enthalten, welches in dem RIP-Verfahrensschritt den Schritt des Trennens der Linienarbeitsdaten und der CT-Daten, Komprimieren der gerasterten Linienarbeitsdaten unter Verwendung eines Linienarbeits-Komprimierungsverfahrens zum Bilden von komprimierten Linienarbeits-Seitenelementendaten und Komprimieren der gerasterten CT-Daten unter Verwendung eines CT-Komprimierungsverfahrens zum Bilden von komprimierten CT-Seitenelementendaten umfaßt, wobei das komprimierte Seitenelement somit die komprimierten Linienarbeits-Seitenelementdaten, die komprimierten CT-Seitenelementdaten und die Maskendaten beinhaltet. In einer Implementierung wird eine CT-Auswahlmaske erzeugt, komprimiert und in das komprimierte Seitenelement eingefügt, wobei die CT-Auswahlmaske sich auf die Pixel in dem Seitenelement derart bezieht, dass jedes Pixel in dem Seitenelement als ein LW- oder CT-Pixel identifiziert werden kann.
  • In der beschriebenen Implementierung beinhaltet das Zusammenführen der komprimierten Seitenelemente ein Zusammenführen der Maskendaten, ein Zusammenführen der komprimierten Linienarbeits-Seitenelementdaten von allen Seitenelementen zum Bilden von komprimierten zusammengeführten Linienarbeitsdaten und ein Zusammenführen der komprimierten CT-Seitenelementdaten von allen Seitenelementen zum Bilden von komprimierten zusammengeführten CT-Daten. Die zusammengeführten Maskendaten, die komprimierten zusammengeführten Linienarbeitsdaten und die komprimierten zusammengeführten CT-Daten befinden sich in den komprimierten Bilddaten. Die komprimierten zusammengeführten Linienarbeitsdaten und die komprimierten zusammengeführten CT-Daten werden dekomprimiert und mit den Rasterbilddaten kombiniert.
  • Gemäß einem Ausführungsbeispiel sind die zusammengeführten Maskendaten eine zusammengeführte CT-Auswahlmaske und die Kombination ist eine Auswahl von Pixeln für das Drucken von den dekomprimierten Linienarbeits- oder dekomprimierten CT- Daten gemäß dem Wert der zusammengeführten CT-Auswahlmaske für die Pixel.
  • Gemäß einem weiteren umfaßten Ausführungsbeispiel ist das Linienarbeits-Komprimierungsverfahren ein Weglängen-Codierungsverfahren (RLE) und das CT-Komprimierungsverfahren ist ein auf einem Block basierendes Verfahren. Ein derartiges auf einem Block basierendes Verfahren heißt JPEG, welches auf 8 × 8 Blöcken arbeitet.
  • Zur Verbesserung werden zusätzliche Daten gemäß einem weiteren umfaßten Aspekt zu den komprimierten Seitenelementen hinzugefügt, wobei die zusätzlichen Daten ein schnelles Lokalisieren einer gewünschten Stelle ermöglichen. Für den Fall von komprimierten Linienarbeits-Seitenelementdaten, welche unter Verwendung eines RLE-Verfahrens komprimiert wurden, beinhalten die zusätzlichen Daten eine Nachschlagetabelle mit einem Offset zu dem Start jeder Reihe. Für den Fall von komprimierten Linienarbeits-Seitenelementdaten, welche unter Verwendung des JPEG-Verfahrens komprimiert wurden, beinhalten die zusätzlichen Daten Neustartmarkierungen in den JPEG-Daten.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung ermöglicht ein rasches Zusammenführen durch Sicherstellen, dass die relative Positionierung der CT-Daten auf den Grenzen der Blöcke stattfindet, welche durch das CT-Komprimierungsverfahren (der CT-Blöcke) definiert sind. Ferner wird ein Ausführungsbeispiel des Verfahrens beschrieben, welches eine Umpositionierung des CT-Seitenelementes derart umfaßt, dass ein Zusammenführen auf den CT-Blockgrenzen auftritt.
  • Gemäß einem weiteren Ausführungsbeispiel des Verfahrens befinden sich die Linienarbeitsdaten in den Seitenelementen an einer Linienarbeitsauflösung, und die CT-Daten in den Seitenelementen befinden sich an einer CT-Auflösung, wobei die Linienarbeitsauflösung dieselbe ist wie die CT-Auflösung. Gemäß einem weiteren Aspekt unterscheidet sich die Linienarbeitsauflösung von der CT-Auflösung und befindet sich bei der Auflösung der digitalen Druckpresse.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist das CT-Komprimierungsverfahren ein JPEG-Verfahren und verwendet einen Satz an einer oder mehrerer Quantisierungstabellen, wobei jede Tabelle einer Komprimierungsqualität entspricht. Gemäß einem besonderen Ausführungsbeispiel beziehen sich die Tabellen in dem Satz an Quantisierungstabellen durch einen Satz an Verhältnissen derart aufeinander, dass jegliche Umquantisierung unter Verwendung einer der Verhältnisse rechnerisch effizient ist.
  • Ein Ausführungsbeispiel des Verfahrens der vorliegenden Erfindung umfaßt die Fähigkeit, die Elemente zusammenzuführen, welche durch willkürliche Formen definiert sind. Gemäß einem Ausführungsbeispiel ist die willkürliche Form für CT-Daten eines Seitenelements durch eine Maske definiert, welche auf viele Arten implementiert werden kann, inklusive als eine Bitmap und als ein Clipping-Pfad. In einem enthaltenen Ausführungsbeispiel ist die Maske als CT-Gültigkeitsmaske implementiert, welche definiert, welche CT-Pixel in den CT-Daten eines Seitenelements gültig sind. Die CT-Gültigkeitsmaske ist ein Teil des Seitenelements. Gemäß einem enthaltenem Ausführungsbeispiel wird die CT-Gültigkeitsmaske mit einem blockbasierenden CT-Komprimierungsverfahren als Teil des Zusammenführungsbetriebes zum Definieren von Grenzblöcken und inneren Blöcken von komprimierten CT-Seitenelementdaten verwendet. Die Grenzblöcke werden unterschiedlich von den inneren Blöcken zusammengeführt und gemäß einem speziellen Ausführungsbeispiel werden die Grenzblöcke durch zunächst Dekomprimierung derselben zu Grenzblöcken zusammengeführt, welche zusammengeführt werden sollen.
  • Ein weiterer Aspekt der vorliegenden Erfindung betrifft eine Vorrichtung zum Zusammenführen von Seitenelementen in komprimierte zusammengeführte Daten gemäß Anspruch 26. Ein Ausführungsbeispiel der Vorrichtung ist enthalten, welches eine erste Speichereinrichtung aufweist, in welcher Seitenelemente in einem komprimierten Format gespeichert werden. Eine zweite Speichereinrichtung ist enthalten, wobei ein Seitenzusammenstellungsskript darin gespeichert wird. Das Seitenzusammenstellungsskript spezifiziert die Identifizierer, die Stellen und die Druckreihenfolge der ausgewählten Seitenelemente, welche in den zu bildenden komprimierten zusammengeführten Daten enthalten sind. Auf Grundlage dessen, was durch das Seitenzusammenstellungsskript spezifiziert wird, ruft ein Zusammenführungssystem die komprimierten Daten von den einzelnen Seitenelementen, welche in der ersten Speichereinrichtung gespeichert sind, ab und führt diese gemäß dem Seitenzusammenstellungsskript in komprimierte zusammengeführte Daten zusammen, wobei das Zusammenführen im wesentlichen in dem komprimierten Bereich derart abläuft, dass im wesentlichen keine Dekomprimierung stattfindet.
  • Gemäß einem bevorzugten Ausführungsbeispiel ist die erste Speichereinrichtung ein RAID-System und die zweite Speichereinrichtung ein Laufwerk. Gemäß einem weiteren bevorzugten Ausführungsbeispiel ist wenigstens einer der Speichereinrichtungen ein Speichermodul. Das Zusammenführungssystem kann als auf einem Prozessor laufende Software oder als Teil eines Hardwareschaltkreises implementiert werden, welcher einen separaten Prozessor zum Ausführen der Funktion aufweisen kann. Falls die Zusammenführungsmittel einen Prozessor und ein Speichermodul aufweisen, umfaßt das Speichermodul einen Satz an auf einem Prozessor laufenden Computerinstruktionen. Dieser Satz an Computerinstruktionen bzw. Computeranweisungen veranlaßt den Prozessor das Seitenzusammenstellungsskript zu lesen und die Seitenelemente abzurufen, wie in dem Seitenzusammenstellungsskript spezifiziert ist. Die Komprimierungsmittel können ebenfalls hinzugefügt werden und als auf einem Prozessor laufende Software implementiert werden oder als ein Teil des Hardwareschaltkreises, welcher einen separaten Prozessor aufweisen kann, zum Dekomprimieren der komprimierten zusammengeführten Daten, um diese auszudrucken. Falls die Dekomprimierungsmittel einen Prozessor und ein Speichermodul aufweisen, umfaßt das Speichermodul einen Satz an auf einem Prozessor laufenden Computerinstruktionen. Dieser Satz an Computerinstruktionen veranlaßt den Prozessor dazu, die komprimierten zusammengeführten Daten zu dekomprimieren. In Fällen, in denen unterschiedliche Komprimierungsverfahren für die Linienarbeitsdaten und die CT-Daten, welche in einem oder mehreren Seitenelementen enthalten sind, verwendet werden, werden gemäß einem Ausführungsbeispiel die Zusammenführungsmittel verdoppelt und gemäß einem weiteren Ausführungsbeispiel besitzen die Zusammenführungsmittel zwei Betriebsmodi, abhängig von dem vorhandenen Format.
  • Ein weiterer Aspekt der vorliegenden Erfindung besteht in einem vollständigen System zum Zusammenführen und Drucken von Daten auf einem Druckgerät, gemäß Anspruch 31. Gemäß einem bevorzugten für das gesamte System beschriebenen Ausführungsbeispiel wird ein RIP-Verfahren (und Kompressor) zum Bilden der komprimierten CT- und der komprimierten Linienarbeitsdaten von den Seitenelementordnern zum Erzeugen von komprimierten Seitenelementen verwendet, welche die komprimierten CT- und komprimierten Linienarbeitsdaten umfassen. Das RIP-Verfahren erzeugt vorzugsweise, jedoch nicht notwendigerweise, Pixeldaten, welche ungescreent sind und in Druckfarben, beispielsweise CMYK, getrennt sind. Das beschriebene System umfaßt auch einen Seitenelementenspeicher, in welchem diese komprimierten Seitenelemente gespeichert werden und wobei der Elementenspeicher gemäß einem Ausführungsbeispiel ein RAID-Untersystem ist. Durch ein Seitenlayoutskript, welches durch ein Zusammenführungssystem gespeichert und interpretiert wird, wird bestimmt, welche Seitenelemente in welche Seitenelemente zusammengeführt werden und die Stellen jedes Elements auf der Seite bestimmt. Das beschriebene Ausführungsbeispiel bezüglich des Zusammenführungssystems umfaßt ein Lese-Untersystem zum Abrufen der erforderlichen Seitenelemente von dem Seitenelementenspeicher in einen Seitenelement-Cachespeicher, und einen Zusammenführer zum Zusammenführen von komprimierten Linienarbeitsdaten und komprimierten CT-Daten, wobei der Zusammenführer die komprimierten Linienarbeitsdaten und die komprimierten CT-Daten von dem Seitenelement-Cachespeicher erhält. Der Cachespeicher ist vorzugsweise als Speichermodul ausgebildet. Der Zusammenführer führt ausgewählte Seitenelemente gemäß dem Seitenlayoutskript zusammen, wobei das Zusammenführen im wesentlichen in dem komprimierten Bereich zum Erzeugen von komprimierten Seitendaten erfolgt, welche die abschließenden komprimierten Linienarbeits-Seitendaten und abschließenden komprimierten CT-Seitendaten beinhalten. Das beschriebene Ausführungsbeispiel bezüglich des Zusammenführungssystems beinhaltet einen Dekompressor, welcher die abschließenden Linienarbeits- und komprimierten CT-Seitendaten zum Erzeugen von vollständigen dekomprimierten LW-Seitendaten und vollständigen dekomprimierten CT-Seitendaten jeweils dekomprimiert. Diese dekomprimierten vollständigen Seiten werden in eine einzelne abschließende Seite in einem Kombinierer/Screener kombiniert, welcher auch die Seitendaten screent. Die gescreenten Seitendaten werden zu den Druckköpfen des Druckgerätes mit der durch die Druckköpfe des Druckgerätes geforderten Rate beziehungsweise Geschwindigkeit geführt.
  • Die bevorzugten Ausführungsbeispiele des Verfahrens und des Gerätes beziehungsweise der Vorrichtung der vorliegenden Erfindung wurden als Beispiele unter der Annahme einer JPEG-Komprimierung für die CT-Daten und eines RLEs für die Linienarbeiten beschrieben. Das beschriebene Verfahren und die beschriebene Vorrichtung sind nicht auf diese besonderen Komprimierungsformate beschränkt. Sie können mit irgendeinem Komprimierungsformat verwendet werden, solange das Format ein Einfügen von Bitstreams, welche die komprimierten Bilddarstellungen darstellen, in einem ähnlich formatierten Bitstream ermöglichen. Wo diese Bitstreams eingefügt werden sollen, kann dann durch eine Markierung (wenn es das Komprimierungsformat erlaubt) oder einem Pointer (getrennt von dem Format gehalten) spezifiziert werden.
  • 1 ist ein Blockdiagramm eines typischen Computersystems, in welchem die vorliegende Erfindung verkörpert werden könnte;
  • 2(a) illustriert eine Technik einer Masterseite, auf welcher eine variable Seite (zwei Beispiele sind dargestellt) zusammengeführt werden kann. Das zusammengeführte Ergebnis ist die Seite mit dem variablen Element V1, welches in einem Fall zusammengeführt ist, und die Seite mit dem variablen Element V2, welches in einem anderen Fall zusammengeführt ist;
  • 2(b) illustriert ein Beispiel einer Verwendung einer flexiblen Technik, welche für die drei Seitenelemente verwendet wird, welche zusammengeführt sind, resultierend in einem zusammengeführten Bild. Es gibt kein Konzept einer festen Masterseite, auf welcher die variablen Elemente zusammengeführt sind, obwohl diese Konzepte untergebracht werden könnten;
  • 3 illustriert ein vereinfachtes Beispiel von zwei CT-Seitenelementen, welche zusammengeführt werden sollen;
  • 4 illustriert einen Datenstrom bestehend aus komprimierten Blockdarstellungen, wobei jede von diesen eine vorangestellte Neustartmarkierung ("RST") aufweist;
  • 5(a) und 5(b) zeigen Ausrichtblockgrenzen von CT-Bildern zum Zusammenführen gemäß einem Aspekt der vorliegenden Erfindung;
  • 6(a) und 6(b) illustrieren eine Vergrößerung eines CT-Bildes vor einem Zusammenführen gemäß einem weiteren Aspekt der vorliegenden Erfindung;
  • 7 zeigt einen Datenstrom, bei welchem lediglich einer Auswahl von komprimierten Blockdarstellungen eine Markierung vorangestellt ist, gemäß einem weiteren Aspekt der vorliegenden Erfindung;
  • 8 zeigt ein Beispiel von lauflängen-codierten Linienarbeitsdaten vor und nach einem Zusammenführen gemäß einem weiteren Aspekt der vorliegenden Erfindung;
  • 9(a)(e)zeigen ein Beispiel eines Seitenelementes und die in einem Seitenelementordner gespeicherten Strukturen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. 9(a) zeigt ein Beispiel eines Seitenelementes, 9(b) zeigt die CT-Daten des Elementes aus 9(a), 9(c) zeigt die CT-Gültigkeitsmaske für die CT-Daten in dem Element aus 9(a), 9(d) zeigt die LW-Daten des Elementes aus 9(a) und 9(e) zeigt die CT-Auswahlmaske, welche in den LW-Daten des Elementes aus 9(a) enthalten ist;
  • 10 zeigt ein typisches System für eine Dokumentherstellung, welches ein Ausführungsbeispiel der vorliegenden Erfindung umfaßt;
  • 11 zeigt drei wechselwirkende Fäden beziehungsweise Muster, wobei die Muster Teil des schnellen Zusammenführungssystems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung sind;
  • 12 zeigt ein Ausführungsbeispiel des schnellen Zusammenführungssystems in detaillierterer Darstellung;
  • 13 zeigt die Strukturen, welche in dem Speichermodul für den Seitenelement-Cachespeicher gebildet sind, das Seitenelement-Beispielsfeld, das Seitenelementfeld und das Seitenbeschreibungsfeld gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
  • 14 ist ein Blockdiagramm einer Vorrichtung gemäß einem Aspekt der vorliegenden Erfindung.
  • Beschreibung des gesamten Systems:
  • Die beschriebene Erfindung kann als Teil eines kompletten Systems für eine Druckfabrik basierend auf einer digitalen Druckpresse verwendet werden. Ein Beispiel eines derartigen Systems ist in 10 illustriert und mit dem Bezugszeichen 1001 versehen. Im folgenden wird eine allgemeine Beschreibung der Bauteile eines derartigen Systems und der Wechselwirkung zwischen diesen Bauteilen gegeben. In der folgenden allgemeinen Beschreibung werden die Hauptbauteile eines Ausführungsbeispiels der vorliegenden Erfindung detaillierter beschrieben, dargestellt als schnelles Zusammenführungssystem 1003 im Inneren des gestrichelten Kästchens.
  • 10 ist der Ausgangspunkt der Beschreibung eines bevorzugten Ausführungsbeispiels und stellt keineswegs die einzig mögliche Ausgestaltung dar oder die einzige Art, wie das Element 1003 in einem vollständigen System verwendet werden kann.
  • Die Vordruck-Arbeitsstation 1005:
  • Drei Arbeitsstationen, welche mit dem Bezugszeichen 1005 bezeichnet sind, sind in 10 dargestellt, wobei alle mit einem lokalen Netz ("LAN") 1007 verbunden sind. Mehrere oder wenigere Arbeitsstationen können Bestandteil des Systems sein. Die Arbeitsstation 1005 kann ein Standardcomputer sein und kann mehrere Softwaremodule aufweisen, inklusive einer Standardvordruck-Software wie beispielsweise Adobe Photoshop und/oder Adobe Pagemaker, von der Firma Adobe, Inc. of Mountain View, Kalifornien, und/oder QuarkXpress, von der Firma Quark, Inc. aus Denver, Colorado. Nachdem ein gesamtes Dokument, als Buch bezeichnet, designed worden ist, wird eine derartige Standard-Vordrucksoftware durch einen Designer verwendet, um die verschiedenen einzelnen Seitenelemente der Seiten des Buches zu bilden, wobei jedes einzelne Element so designed wird, als ob es eine einzelne Seite wäre. Die Seitenelementdaten werden dann an einen RIP-System so gesendet, als ob der Designer einen Standarddrucker verwenden würde. Somit können einige Seitenelement-Seiten sehr klein sein -- nämlich die Abmessungen des einzelnen Seitenelementes.
  • Das Gesamtdesign eines Buches wird durch den Designer in einem Seitenlayoutskript spezifiziert. Der Aufbau des Seitenlayoutskriptes wird weiter unten in der Beschreibung ausführlicher beschrieben werden. Zum Drucken einer Datenbank, bei welcher viele verschiedene Beispiele einiger Elemente als verschiedene Elemente agieren, bildet der Benutzer Formen für das Layout des Dokumentes und eine spezielle Software wird zum Erzeugen von Beispielen der eigentlichen Seiten als Seitenelemente verwendet. Diese Software erzeugt für den Fall von "variablen" Daten einen Satz an Seiten, wobei jede einzelne Seite ein besonderes Beispiel des Seitenelementes ist, welches die variablen Daten annimmt. Es sei an dieser Stelle bemerkt, dass für das System keine Vorstellung von "variablen Daten" oder einer "Masterseite" wie in Systemen gemäß dem Stand der Technik, wie beispielsweise dem Barco Graphics PrintStreamer I, vorhanden ist. In dem vorliegenden neuen System, welches einige Aspekte der vorliegenden Erfindung verkörpert, sind alle Seitenelemente "gleichwertig" in der Art, in welcher sie hergestellt werden. Die Reihenfolge und der Zusammenführungsmodus derartiger Elemente bestimmen, wie die abschließende Seite ausschauen wird.
  • Es sei darauf hingewiesen, dass zwei RIP-Systeme 1009 verbunden mit dem LAN 1007 in dem System in 10 dargestellt sind, und mehrere oder wenigere RIP-Systeme verwendet werden können, oder das RIP-System kann Teil der Arbeitsstation 1005 oder Teil des Computersystems sein, welches zur Verkörperung des schnellen Zusammenführungssystems 1003 verwendet wird. Jeder Drucktreiber in den Arbeitsstations-Softwaremodulen, welche zum Design verwendet werden, erzeugt eine Objektbeschreibung in einem Standard PDL, wie beispielsweise Adobe PostSkript oder Adobe PDF, oder der Druckertreiber kann an eine eigene PDL, wie beispielsweise HP PCL oder GRO, ausgeben. Die einzige Anforderung in diesem bevorzugten Ausführungsbeispiel besteht darin, dass die PDL dem RIP-System (1009), welches für ein RIP-Verfahren der PDL verwendet wird, ermöglicht, die LW-Daten von den CT-Daten zu unterscheiden. Jedoch existiert eine weitaus größere Flexibilität in der Seitengestaltung, wenn die PDL auch dem RIP-System 1009 ermöglicht, ein Überdrucken von Farben von einer Maskierung bzw. Abdeckung von Farben, und eine abdeckende weiße Farbe von einem leeren Hintergrund derart zu unterscheiden, dass das RIP-System 1009 die Überdruckinformationen in den Seitenelementen codieren kann. Dies ist in dem vorliegenden Ausführungsbeispiel der Fall.
  • Somit gestaltet der Designer einzelne Seitenelemente als PDL-Files. Im allgemeinen können diese einzelseitige oder mehrseitige PDL-Files sein. Beispielsweise werden mehrseitige PDL-Files vorzugsweise für "variable" Datenelemente verwendet, wobei "variabel" bedeutet, dass ein herkömmliches Designmuster existiert, welches verschiedene Werte in verschiedenen Beispielen annehmen kann. In einem derartigen Fall kann jede Seite ein unterschiedliches Beispiel darstellen. Mehrseitige PDL-Files werden als Elementenfeld behandelt, in welchem auf jedes Element (jede Seite) einzeln zugegriffen werden kann. Es sei im folgenden beispielsweise angenommen, dass ein personalisierter Formbrief in einer Verkaufspromotion verwendet wird. Eines der Elemente eines derartigen Designs könnte die Unterschrift des Verfassers eines derartigen Briefes sein, und der Brief könnte von einer von mehreren Verkaufspersonen verwendet (unterschrieben) werden. Das Unterschriftselement kann für dieses Ausführungsbeispiel als mehrseitiges PDL-File ausgestaltet sein, wobei jede Seite die Größe der größtmöglichen zu druckenden Unterschrift aufweist, wobei jede Seite die Unterschrift einer bestimmten Verkaufsperson enthält. Falls dieser File Verkaufsperson Unterschrift genannt wird, würde eine solche Unterschrift, beispielsweise die 25igste, als Verkaufsperson Unterschrift [25] bezeichnet werden. Zur Erinnerung sei darauf hingewiesen, dass in dem bevorzugten Ausführungsbeispiel wirklich kein Konzept einer Masterseite und verschiedene Elemente vorhanden sind; alle Seitenelemente sind äquivalent und die Reihenfolge der Zusammenführungsart definiert das abschließende Erscheinungsbild. Mehrseitige PDL-Files sind einfach ein bequemer Weg mit einem Satz an Elementen umzugehen.
  • Das RIP-System 1009:
  • Die Seitenelementbeschreibungen (in der Form von einseitigen oder mehrseitigen PDL-Files) werden an ein oder mehrere Rasterbild-Bearbeitungssysteme ("RIP") 1009 gesendet. 10 zeigt dieses Senden über ein LAN-Netz 1007 und dies ist offensichtlich nicht die einzige mögliche Ausgestaltung. Sobald die Daten empfangen werden, trennt gemäß dem vorliegenden bevorzugten Ausführungsbeispiel das RIP-System 1009 die LW-Daten von den CT-Daten unter Verwendung der internen Anzeigeliste des RIP-Systems 1009, und erzeugt drei getrennte Rasterbilder für jede Farbtrennung. Das RIP-System erzeugt Pixeldaten, welche ungescreent sind. Ein Screenen wird nach einem Zusammenführen und vor dem Drucken ausgeführt. Die Anzahl der Trennungen hängt von dem speziell eingesetzten Zieldruckgerät ab und kann vier (beispielsweise CMYK), sechs (beispielsweise CMYK plus zwei PANTONE-Tinten), sieben (beispielsweise CMYK plus RGB, was als "hifi"-Farbe bezeichnet wird) etc. betragen. Die ausgegebenen Rasterbilder werden abhängig von der Art der Daten komprimiert. Gemäß dem bevorzugten Ausführungsbeispiel, welches bei einem Vierfarben-Duplexdruck erhalten wird, sind die drei Arten von Ausgaben für jede Trennung, welche durch das RIP-System 1009 erzeugt werden, folgende:
  • CT-Daten: Die CT-Daten werden mit dem JPEG-Algorithmus komprimiert. Das JPEG-Format ermöglicht, dass irgendeinem codierten Block eine spezielle 16-Bit Ausrichtungsmarkierung (auch Neustartmarkierung genannt) vorangestellt wird, bezeichnet als RST. Diese 16-Bit Ausrichtungsmarkierung erleichtert das Suchen über einen JPEG-Bitstrom; man sucht nach dem speziellen 16-Bit RST-Wert durch Vergleichen jedes 16-Bit Wortes des Bitstroms. Gemäß dem vorliegenden bevorzugten Ausführungsbeispiel werden die JPEG-Daten mit Neustartmarkierungen derart angereichert, dass das Zusammenführungssystem schnell irgendeine (x, y)-Position in dem komprimierten Rasterbild lokalisieren kann. Das Setzen einer RST-Markierung vor jeden Block würde die Komprimierungsrate erheblich verschlechtern. Somit werden gemäß dem bevorzugten Ausführungsbeispiel zu der RIP-Zeit RST-Markierungen zu jeder Anzahl, beispielsweise n, an Blöcken hinzugefügt und zu der Zusammenführungszeit werden RST-Markierungen an die Grenzen der Objekte hinzugefügt, falls notwendig. Dies wird ausführlicher im folgenden beschrieben werden, Die CT-Auflösung kann gleich groß oder geringer sein als die Geräteauflösung. Für die Implementierung für das oben erwähnte Xeikon-Druckgerät, welches mit 600 Punkten pro Inch (dpi) druckt, besitzen die CT-Daten eine Auflösung von 300 dpi.
  • CT-Gültigkeitsmaske: Die CT-Gültigkeitsmaske ist eine binäre Maske bei einer CT-Auflösung, welche markiert, welche der CT-Pixel gültige Daten enthalten. Dies ermöglicht dem Zusammenführungssystem schneller die CT-Daten der überlappenden Elemente zusammenzuführen, falls die 8 × 8 Pixel-Blöcke mit gültigen CT-Daten nicht überlappen. Die CT-Gültigkeitsmaske kann helfen, die Artifakten der mit einem Verlust behafteten Komprimierung zu verringern und das CT-Zusammenführen durch Gültigmachen bestimmter durch LW-Daten abgedeckter CT-Daten zu beschleunigen (beispielsweise wird das durch den Text abgedeckte CT gültig gemacht; siehe 9). Die CT-Gültigkeitsmaske kann eine willkürliche Grenze aufweisen, sie kann durch getrennte Bereiche hergestellt werden, welche irgendeine Form besitzen können. Das Gültigmachen von CT unter bestimmten LW reduziert die Gültigkeitsmaskengrenze und verringert somit die CT-Zusammenführungskomplexität. Die Komprimierungsartifakten werden ebenfalls aufgrund der geringeren Grenzen zwischen verschiedenen CTs, nach einer CT-Zusammenführung, verringert. Andererseits könnte dies überschwingende Artifakte aufgrund der mit einem Verlust behafteten Komprimierung einführen. Man verwendet einfach die CT-Gültigkeitsmaske, um zu indizieren, welche bestehenden CT-Pixel nicht gültig sind. Somit wird die CT-Gültigkeitsmaske als 8 × 8 Blöcke von Pixeln gespeichert, wobei ein spezieller Code für einen Block verwendet wird, in welchem alle 64 Pixel gültig sind, und ein anderer Code für den Fall verwendet wird, dass alle 64 Blöcke ungültig sind. Nachfolgende Reihen von gültigen oder ungültigen Blöcken werden durch eine Lauflängencodierung (RLE) komprimiert. Andere Blöcke werden als 8 × 8 Bitmaps gespeichert. Ebenfalls wird die CT-Gültigkeitsmaske vorzugsweise über die CT- Auswahlmaske hinaus derart ausgedehnt, dass sie den 8 × 8 JPEG-Blockgrenzen der CT-Daten folgt.
  • LW-Daten: LW-Daten werden mit einem RLE-Algorithmus komprimiert, wobei die Daten-Header eine Tabelle mit dem Offset an dem Beginn jeder Linie in dem Strom derart aufweisen, dass wiederum das Zusammenführungssystem jeden Pixel schnell lokalisieren kann. Die LW-Auflösung ist vorzugsweise, jedoch nicht notwendigerweise, gleich der Auflösung des Ausgabe-Druckgerätes, welche für das Xeikon-Gerät 600 dpi beträgt. Eine CT-Auswahlmaske ist eine binäre Maske, welche dem Dekomprimierungssystem ermöglicht, zu entscheiden, ob ein Ausgabepixel von den LW-Daten oder den CT-Daten herrühren muß. Die Auflösung der CT-Auswahlmaske in dem vorliegenden System besitzt die gleiche Auflösung wie die LW-Daten und ist als Teil der LW RLE-Daten codiert. Alle LW-Datenläufe beinhalten somit eine Markierung, um anzuzeigen, ob der Lauf CT oder LW ist (dies ist der CT-Auswahlmaskenteil der LW-Daten). Im Falle von LW umfaßt der Lauf auch den Farbwert, und ob die LW-Abdecken, Überdrucken etc..
  • Ein Seitenelement würde normalerweise sowohl LW- als auch CT-Daten enthalten, und in einem derartigen Fall werden alle drei Datenarten (CT-Daten, CT-Gültigkeitsmaske und LW-Daten, welche eine eingebettete CT-Auswahlmaske enthalten können) zusammen als ein File gespeichert. Der Systemdesigner würde den Fileaufbau gestalten, um ein effizientes Drucken mit den besonderen Druckgeräten zu ermöglichen, welche mit dem System verbunden werden sollen. Eine getroffene Designentscheidung bestand darin, die Seitenelemente in horizontale Streifen zu spalten, wobei jeder Streifen eine Höhe eines CT-Blocks, d. h. 8 CT-Pixel, besitzt. In dem Xeikon-Gerät, da LW mit einer doppelten Auflösung im Vergleich zu CT gedruckt wird, ist ein Streifen von LW-Daten somit 16 Pixel hoch. Eine Unterseite in dem vorliegenden System besteht aus einer Anzahl von nachfolgenden Streifen, somit bei einer vollen Seitenbreite, und mit einer Länge, welche derart gewählt ist, dass die Speichermenge, welche durch die Unterseite besetzt wird, leicht durch die unterschiedlichen Puffer in dem vorliegenden bevorzugten Ausführungsbeispiel gehandhabt werden kann. Somit wird eine Unterseite, wenn eine komplette Seite nicht gehandhabt werden kann, zu einem Zeitpunkt zusammengeführt. Dies kann bei derartigen Druckgeräten wie dem Xeikon-Gerät auftreten, welche "Seiten" mit einer Höhe von mehreren Metern drucken können. Da es konzeptionell keinen Unterschied zwischen einer Seite und einer Unterseite gibt, wird hierin der Ausdruck "Seite" verwendet, um eine Unterseite für den Fall zu umfassen, dass lediglich die Unterseiten zusammengeführt werden. Eine weitere Designentscheidung besteht darin, wie die Trennungen gespeichert werden. Um parallele Verfahren jeder der Trennungen zu ermöglichen, werden Daten Trennung für Trennung gespeichert und jede Trennung besitzt ihre eigene CT-Gültigkeitsmaske und CT-Auswahlmaske. Dies ermöglicht nicht nur ein paralleles Verfahren von jeder Trennung separat, sondern auch das Aufweisen von verschiedenen CT-Clips und Auswahlmasken in jeder Trennung. Somit wird in dem vorliegenden System ein Seitenelement in einen File mit den drei Arten von Daten (CT, CT-Gültigkeitsmaske und LW)-Streifen und einer verschachtelten Trennung geschrieben. Zum Beispiel wird die Reihenfolge der Daten für ein einseitiges Seitenelement von CMYK-Daten in der Druckreihenfolge (das Xeikon-Gerät druckt in der Reihenfolge Y L M und K) geschrieben:
  • Figure 00320001
  • Figure 00330001
  • 9 ist ein Beispiel einer Trennung beziehungsweise Aufteilung eines Seitenelementenfiles. Das Seitenelement 903, wie es ausgedruckt wird, ist in 9(a) dargestellt und weist darin einen ununterbrochenen Tonkreis 909 mit einem Linienarbeitsbrief T 907 in schwarz darüber auf. Der Hintergrund 905 ist transparent beziehungsweise durchsichtig und wird verwendet, um die Positionierung des sichtbaren Objektes in bezug zu dem gesamten Seitenelement 903 zu indizieren. Die Komponenten des Seitenelementes 903 sind die in 9(b) dargestellten CT-Daten 913, die in 9(c) dargestellten LW-Daten 923, die in 9(d) dargestellte CT-Gültigkeitsmaske 933 und die in 9(e) dargestellte CT-Auswahlmaske 943. Die CT-Daten 913 umfassen das durch den Benutzer bestimmte CT-Objekt und den Hintergrundbereich 915 in transparentem weiß, wobei das RIP in den CT-Daten enthalten ist. Die Grenze des CT-Bereiches 919 ist mit dem Bezugszeichen 911 bezeichnet. Es sollte Notiz davon genommen werden, dass sogar, obwohl das Erscheinungsbild des CT-Objektes in dem Seitenelement 903 rund ist, die CT-Objektgrenze 911 rechteckig ist. Die CT-Gültigkeitsmaske 933 beschreibt, welcher Teil der CT-Daten 913 eine gültige CT-Information besitzt und würde im allgemeinen kleiner sein als der CT-Bereich 919 aus den oben beschriebenen Gründen. Bemerkenswert ist, dass die CT-Gültigkeitsmaske vorzugsweise nicht den Bereich umfaßt, über welchen die Linienarbeit "T" auftritt, um die Komplexität der Maske zu verringern (andere Implementierungen können selbstverständlich das T zum Definieren der Grenze der CT umfassen). Ebenfalls sei darauf hingewiesen, dass es hier der Fall ist, dass die Form der Grenze (kreisförmig) definiert ist. In der vorliegenden Implementierung befinden sich die CT-Daten und die CT-Gültigkeitsmaske in der CT-Auflösung, 300 dpi, und in 9(d) indiziert der weiße Bereich 935 ungültige Daten (Maskenwert 0) und der schraffierte Bereich 939 indiziert gültige Daten (Maskenwert = 1). Die LW-Daten 923 beinhalten das LW-Objekt (das "T"), welches durch den Benutzer ausgestaltet ist, und den Hintergrundbereich 925 in transparentem weiß, dass das RIP in den LW-Daten enthalten ist. Die CT-Auswahlmaske 943 indiziert, welche Pixel CT-Daten sind und welche LW-Daten sind, und wird für die abschließende Kombination der zusammengeführten CT-Daten und der LW-Daten verwendet. Die weißen Bereiche 945 und 947 indizieren, dass LW-Daten gedruckt werden sollen (Maskenwert 0) und der schraffierte Bereich 939 indiziert, dass CT-Daten gedruckt werden sollen (Maskenwert = 1). Die CT-Auswahlmaske ist Teil der LW-Daten und besitzt somit die gleiche Auflösung, nämlich 600 dpi für den Fall des Druckens durch das Xeikon-Druckgerät.
  • Die hierin erörterten Designentscheidungen sind Implementierungsdetails und keine Beschränkungen der vorliegenden Erfindung. Andere Designentscheidungen hätten gemacht werden können, welche z. B. zu unterschiedlichen Arten der Darstellung der Grenzen von Seitenelementen, unterschiedlichen Datenstrukturen für ein Seitenelement, unterschiedliche Filestrukturen, unterschiedliche Arten bei der Handhabe des Zusammenführens, beispielsweise als zweidimensionale Bereiche eher als Streifen, oder als vollständige Seiten (Unterseiten), etc. führen. Somit können die Implementierungsdetails keinesfalls als Beschränkung des Schutzumfangs der vorliegenden Erfindung angesehen werden.
  • Wie im folgenden erörtert wird, können Situationen auftreten, in welchen die CT-Gültigkeitsmaske durch maximal vier Pixel ersetzt werden muß. Um zu ermöglichen, dass dies in einer Implementierung passiert, sorgt die RIP dafür, dass die Objekte um wenigstens vier Pixel größer sind als die CT-Auswahlmaske und, wenn dies nicht der Fall ist, vergrößert die Objekte, um diese Grenze zu garantieren. Gemäß einem weiteren Aspekt wird eine Objektanordnung derart ausgeführt, dass sie immer auf CT-Blockgrenzen fällt, wenn der gesamte Arbeitsfluß erhältlich ist.
  • Der File, welcher alle Daten für irgendein einzelnes Seitenelement umfaßt, wird dann an das schnelle Zusammenführungssystem, welches mit dem Bezugszeichen 1003 versehen ist, zum Zusammenführen mit den anderen Seitenelementen gesendet, wie in dem Seitenlayoutskript spezifiziert ist. Die CT-Daten und LW-Daten werden separat zum Erzeugen von zusammengeführten CT- und zusammengeführten LW-Daten zusammengeführt, welche später dekomprimiert, kombiniert und gescreent werden. Das Zusammenführen wird vorzugsweise und nicht notwendigerweise Streifen für Streifen und Trennung für Trennung durchgeführt. Ein Seitenelement wird durch einen einzelnen Filenamen identifiziert und dieser File beinhaltet alle Daten für dieses Seitenelement. Wie bereits beschrieben wurde, können mehrseitige Elemente ebenfalls verwendet werden und sind beispielsweise zum Beschreiben von variablen Daten geeignet. Diese mehrseitigen Elemente können der Reihe nach in ein File geschrieben werden oder sie können jeweils in ein separates File unter Verwendung eines Filenamen-Suffix geschrieben werden, um jede einzelne Seite zu identifizieren. Der letztere Mechanismus sorgt dafür, dass eine parallele Rasterung durch ein RIP-Verfahren von Seiten einfacher zu implementieren ist. Dies sind alle Implementierungsdetails und andere Wege der Implementierung können ausgewählt werden.
  • Das schnelle Zusammenführungssystem 1003:
  • Das schnelle Zusammenführungssystem 1003 beinhaltet den Seitenelement-Cachespeicher 1011, den Seitenelementspeicher 1013 und das eigentliche Zusammenführungssystem 1015. Das bevorzugte Ausführungsbeispiel des schnellen Zusammenführungssystems 1003 ist auf einem Computer implementiert, welcher im folgenden als Assemblercomputer bezeichnet wird. Insbesondere weist das bevorzugte Ausführungsbeispiel des Verfahrens der vorliegenden Erfindung Schritte auf, welche durch den Assemblercomputer durch Ausführen eines Softwareprogrammes durchgeführt werden, und das bevorzugte Ausführungsbeispiel der Vorrichtung der vorliegenden Erfindung umfaßt den Assemblercomputer oder Komponenten des Assemblercomputers mit einem Speichermodul, welches mit Softwarebefehlen geladen ist, welche dafür sorgen, dass der Assemblercomputer in einer bestimmten Weise betreibbar ist.
  • 1 ist ein vereinfachtes Blockdiagramm eines Computersystems 110, welches für den Assemblercomputer verwendet werden kann, in welchem die vorliegende Erfindung verkörpert werden kann. Die Computersystemkonfiguration des Assemblercomputers, welche mit diesem hohen Niveau illustriert ist, ist Standard und 1 ist demnach mit dem Begriff "Stand der Technik" versehen. Ein Computersystem wie beispielsweise das System 110, welches geeignet zur Verkörperung der vorliegenden Erfindung programmiert ist, jedoch ist nicht Stand der Technik. Die besonderen Ausführungsbeispiele der Erfindung sind in einem Computersystem für einen allgemeinen Zweck, wie beispielsweise in 1 dargestellt, verkörpert und die verbleibende Beschreibung wird im allgemeinen diese Umgebung annehmen. Jedoch kann die vorliegende Erfindung auch in anerkannten Geräten verkörpert werden, wie beispielsweise als Druckerserver und Druckerkontroller, und diese Geräte können viele der Elemente umfassen, welche auch in einem allgemeinen Computersystem, wie beispielsweise dem Computersystem 110 enthalten sind.
  • Es sei darauf hingewiesen, dass die Arbeitsstation(en) 1005 und das RIP-System beziehungsweise die RIP-Systeme 1009 auch Computersysteme für einen allgemeinen Zweck sind, welche im allgemeinen die gleiche Architektur wie diejenige in 1 besitzen würden. In manchen Implementierungen, beispielsweise in Implementierungen mit niedrigen Kosten, kann ein RIP-System 1009 oder sogar eine Vordruck-Arbeitsstation 1005 auf denselben Assemblercomputer wie das schnelle Zusammenführungssystem 1003 implementiert werden.
  • In Übereinstimmung mit bekannter Praxis weist das Assemblercomputersystem 110 einen Prozessor 112 auf, welcher mit einer Anzahl an peripheren Geräten über ein Bus-Untersystem 115 kommuniziert. Diese peripheren Geräte umfassen typischerweise ein Speicher-Untersystem 117, eine Benutzereingabemöglichkeit 120, ein Anzeige-Untersystem 122, Ausgabegeräte, wie beispielsweise einen Drucker 123, und ein Filespeichersystem 125. Nicht alle dieser peripheren Geräte müssen für alle Ausführungsbeispiele der vorliegenden Erfindung vorgesehen werden.
  • In diesem Zusammenhang wird der Ausdruck "Bus-Untersystem" im allgemeinen derart verwendet, dass er irgendeinen Mechanismus beschreibt, welcher die verschiedenen Bauteile des Systems miteinander wie beabsichtigt kommunizieren läßt. Mit Ausnahme der Eingabegeräte und der Anzeige müssen die anderen Bauteile nicht an derselben physikalischen Stelle angeordnet sein. Somit könnten beispielsweise Abschnitte des Filespeichersystems über verschiedene lokale Bereichs- oder Weitbereichs-Netzwerkmedien verbunden werden, mitsamt Telefonleitungen. Auf ähnliche Weise müssen die Eingabegeräte und die Anzeige nicht an derselben Stelle wie der Prozessor angeordnet sein, obwohl angestrebt wird, dass die vorliegende Erfindung am häufigsten in dem Zusammenhang mit Personal Computern ("PCs") und Arbeitsstationen implementiert wird.
  • Das Bussystem 115 ist schematisch als Einzelbus dargestellt, jedoch weist ein typisches System für eine Anzahl an Bussen, wie beispielsweise einen örtlichen Bus und einen oder mehrere Ausbreitungsbusse (beispielsweise ADB, SCSI, ISA, EISA, MCA, NuBus, oder PCI) sowie serielle und parallele Ports auf. Netzwerkverbindungen werden gewöhnlich durch ein Gerät, wie beispielsweise ein Netzwerkadapter, auf einem dieser Ausbreitungsbusse oder einem Modem auf einem seriellen Port aufgebaut. Das Computersystem kann ein Desktopsystem oder ein tragbares System oder ein eingebauter Kontroller sein.
  • Das Speicher-Untersystem 117 weist eine Anzahl von Speichermodulen mit einem Hauptdirektzugriffsspeicher ("RAM") 130 und einem Auslesespeicher ("ROM") 132 auf, in welchem feste Befehle gespeichert sind. Für den Fall eines Macintoshkompatiblen Personal Computers würde dies Abschnitte des Betriebssystems umfassen; für den Fall eines IBM-kompatiblen Personal Computers würde dies die BIOS (Basiseingabe-/-ausgabesystem) umfassen. In einigen Ausführungsbeispielen können DMA-Kontroller 131 enthalten sein. Ein DMR-Kontroller 131 ermöglicht Übertragungen von dem Speichermodul oder an das Speichermodul ohne durch den Prozessor 112 zu laufen.
  • Eine Benutzereingabemöglichkeit 120 umfaßt typischerweise eine Tastatur 140 und kann ferner eine Anzeigeeinrichtung 142 und einen Scanner 143 aufweisen. Die Anzeigeeinrichtung kann eine indirekte Anzeigeeinrichtung, wie beispielsweise eine Maus, ein Trackball, ein Touchpad oder graphische Tabellen, oder eine direkte Anzeigeeinrichtung, wie beispielsweise ein in dem Display eingebauter Touchscreen, sein.
  • Das Anzeigeuntersystem 122 umfaßt typischerweise einen Anzeigekontroller 144 und eine Anzeigeeinrichtung 145, welche mit dem Kontroller verbunden ist. Die Anzeigeeinrichtung kann eine Kathodenstrahlröhre ("CRT"), ein Flachpanelgerät, wie beispielsweise ein Flüssigkristalldisplay ("LCD"), oder ein Projektionsgerät sein. Der Anzeigekontroller liefert Steuersignale an die Anzeigeeinrichtung und umfaßt normalerweise einen Anzeigespeicher (in der Figur nicht dargestellt) zum Speichern der Pixel, welche auf der Anzeigeeinrichtung erscheinen.
  • Das Filespeichersystem 125 liefert einen fortdauernden (nicht flüchtigen) Speicher für Programme und Datenfiles und umfaßt typischerweise wenigstens ein Harddisc-Laufwerk bzw. Festplatten-Laufwerk 146 und wenigstens ein Floppydisc-Laufwerk ("Diskette") 147. Ein oder mehrere der Laufwerke 146 kann in Form eines Direktzugriffsfeldes eines unabhängigen Disc("RAID")-Systems ausgebildet sein, während andere eher gewöhnliche Disklaufwerke sein können. Das Disklaufwerk 146 kann ein Cachespeicher-Untersystem 149 aufweisen, welches ein schnelles Speichermodul zum Beschleunigen der Übertragungen an das Laufwerk und von dem Laufwerk umfaßt. Es können auch andere Geräte, wie beispielsweise ein CD-ROM Laufwerk 148 und optische Geräte, vorgesehen sein. Zusätzlich kann das System Harddrives von der Art mit entfernbaren Medienkassetten aufweisen. Wie oben bereits erwähnt worden ist, kann ein oder mehrere Laufwerke an einer entfernten Stelle angeordnet sein, wie beispielsweise in einem Server auf einem lokalen Netzwerk oder an einer Stelle auf dem World Wide Web des Internets.
  • Der spezielle Assemblercomputer 110, welcher in dem bevorzugten Ausführungsbeispiel verwendet wird, ist eine Digital Equipment Corporation (DEC) Alpha Personal Workstation (Digital Equipment Corporation, Maynard, Massachusetts), welcher als Prozessor 112 einen Hochgeschwindigkeits DEC Alphaprozessor verwendet.
  • Der Seitenelement-Cachespeicher 1011 und der Seitenelementspeicher 1013:
  • Das RIP-Untersystem 1009 schafft es möglicherweise nicht mit dem Druckgerät 1019 Schritt zu halten. Daher werden Rasterbilder in vielen Systemen inklusive demjenigen des bevorzugten Ausführungsbeispiels gewöhnlich mittels einem RIP-Verfahren im voraus gerastert und abgespeichert, beispielsweise als Files auf einer Seitenelement-Speichereinheit 1013, welche in dem vorliegenden System ein RAID-System ist (welchem im folgenden dasselbe Bezugszeichen 146 zugewiesen wird, wie irgendeinem anderen Laufwerk in dem Filespeichersystem, welches viele Diskdriveeinheiten aufweisen kann). Bemerkenswert ist, dass der Seitenelementspeicher 1013 gemäß einem alternativen Ausführungsbeispiel auf eine (oder mehrere) von vielen Arten implementiert werden kann, inklusive als Diskspeicher, als RAID-System, als schneller optischer Speicher, etc.. Das Drucken beginnt, sobald alle Rasterbilder für einen bestimmten Auftrag erhältlich sind. Damit das System mit keinem zusätzlichen Mittel betrieben werden kann, besteht die Hauptanforderung an den Elementspeicher 1013 darin, dass er eine genügende Bandbreite aufweisen muß, so dass im Durchschnitt der Zusammenführungsprozeß (des Zusammenführungssystems 1015) die Objektdaten mit einer Geschwindigkeit der Presse (des Druckgeräts 1019) wiedergewinnen beziehungsweise abrufen kann. Normalerweise wäre dies nicht ohne zusätzliche Mittel möglich. In dem vorliegenden bevorzugten Ausführungsbeispiel wird ein Puffersystem zum Vermindern dieser Geschwindigkeitsanforderung verwendet. Es werden nämlich, wie in 10 dargestellt ist, die durch ein RIP-Verfahren gerasterten Daten nicht direkt in den Elementspeicher 1013, sondern eher in einen Puffer geschrieben, welcher Teil eines Seitenelement-Cachespeichers 1011 ist. Der Seitenelement-Cachespeicher 1011 ist zuständig für die Kommunikation zwischen dem Seitenelementspeicher 1013 und dem Rest des Systems, und beinhaltet mehrere Aufbauten, welche als Teil eines RAM 130 implementiert sind. Der Puffer zwischen dem RIP-System beziehungsweise -systemen 1009 und dem Seitenelementspeicher 1013 stellt einen derartigen Aufbau dar. Ein anderes Teil des Cachespeichers 1011 beschäftigt sich mit der Entfernung von Seitenelementen von dem Seitenelementspeicher 1013 zu dem Zusammenführungs-Untersystem 1015 und wird weiter unten beschrieben werden. Der Puffer in dem Elementspeicher 1011 dient einer Verwendung der Bandbreite des Elementspeichers 1013 auf eine effiziente Weise. Die durch ein RIP-Verfahren gerasterten Seitenelemente werden in dem Seitenelement-Cachespeicher 1011 gepuffert und werden nur in dem Seitenelementspeicher 1013 aus dem Puffer in dem Cachespeicher 1011 gespeichert, wenn der Zusammenführungsprozeß in dem Zusammenführungssystem 1015 die Bandbreite des Seitenelementspeichers 1013 nicht benötigt, wie durch das eigentliche Disk- bzw. Plattengerät 146 indiziert, wobei der implementierende Seitenelementspeicher 113 leer ist.
  • Gemäß einem verbesserten Ausführungsbeispiel kann der Benutzer anzeigen, dass einige Seitenelemente lediglich einmal gedruckt werden, so dass diese Objekte nicht in den Elementspeicher 113 geschrieben werden, jedoch in dem Puffer des Seitenelement-Cachespeichers 1011 gelassen werden, zusammen mit einigen Mustern oder anderen Mitteln zum Übertragen davon an das Zusammenführungssystem 1015. Wenn der Teil des Zusammenführungssystems, welcher Daten aus dem Speicher ausliest, ein derartiges Seitenelement sucht, braucht es danach nicht dieses aus dem Seitenelementspeicher 1013 wiedergewinnen beziehungsweise abrufen, wodurch zwei Diskzugriffe bzw. Plattenzugriffe eingespart werden.
  • Die anderen Aspekte des Seitenelement-Cachespeichers 1011 kümmern sich um die Wiedergewinnung durch das Zuführungssystem 1015 der Seitenelemente von dem Seitenelementspeicher 1013. Eine derartige Wiedergewinnung wird durch den Cachespeicher 1011 wie folgt effizienter gestaltet:
    • – die Anzahl der Disksuchen von dem Seitenelementspeicher 1013 wird minimiert, da man das Seitenelement eins nach dem anderen in das Cachespeichermodul 1011 einliest und dieses danach einmal erhältlich in dem Cachespeicher 1011 ist, und da man die Seitenelemente schnell durch das Zusammenführungssystem 1015 von dem Cachespeicher 1011 wiedergewinnt.
    • – die Seitenelemente, welche in einem Buch mehrere male verwendet werden, werden in dem Seitenelement-Cachespeicher 1011 derart gehalten, dass das System diese lediglich einmal aus dem Seitenelementspeicher 1013 auslesen muß.
  • Es sei an dieser Stelle darauf hingewiesen, dass sich der Seitenelementspeicher 1011, obwohl Cachespeichergeräte in dem Stand der Technik bekannt sind, darin unterscheidet, dass er seinen Vorteil in der Tatsache besitzt, dass im voraus gewußt wird, was benötigt wird. Eine detailliertere Beschreibung des Elementcachespeichers 1011 und des Elementspeichers 1013 wird weiter unten in der nachfolgenden Beschreibung gegeben.
  • Das Seitenlayoutskript:
  • Das Seitenlayoutskript wird typischerweise in der Arbeitsstation 1005 erzeugt. Gemäß einem bevorzugten Ausführungsbeispiel ist das Seitenlayoutskript eine Text (ASCII)-Beschreibung, welche eine geordnete Liste von Büchern ist, wobei jedes Buch eine geordnete Liste von Seiten aufweist, wobei jede Seite eine geordnete Liste von Seitenelementen beinhaltet und jedes Seitenelement eine geordnete Liste von Eigenschaften beinhaltet. Die Eigenschaften irgendeines Seitenelementes beinhalten in Reihenfolge den Elementenidentifizierer (eine Zahl), den Elementenfilenamen (einen Filenamen und für mehrseitige Files eine Seitennummer innerhalb des Files des Seitenelementes), die Position (eine horizontale und eine vertikale Position in bezug auf die obere linke Ecke der Seite) und dem Zusammenführungsmodus (Knockout, Überdruck etc.). Obwohl man in ein derartiges Skript unter Verwendung eines Texteditors manuell eintreten kann, kann man auch einen auf der Arbeitsstation 1005 laufenden automatischen Skriptgenerator verwenden, welcher mit einem Datenbanksystem für ein variables Drucken verbunden ist. Egal ob es manuell geschrieben oder mit der Hilfe eines auf einem Computer basierenden Systems geschrieben wurde, wird das Seitenlayoutskript in dem Diskspeicher gespeichert, welcher dieselbe physikalische Einheit wie der Seitenelementspeicher 1003 aufweisen oder nicht aufweisen kann. Das Skript wird vorzugsweise, jedoch nicht notwendigerweise, durch denselben Prozessor 112 ausgeführt, welcher das Programmieren ausführt, welches den Seitenelement-Cachespeicher 1011 und das Zusammenführungssystem 1015 implementiert. Die Reihenfolge der Seitenelemente in der geordneten Liste der Seitenelemente, welche eine vollendete Seite erzeugen, ist wichtig, wenn Seitenelemente überlappen. Im allgemeinen wird ein Seitenelement über alle vorherigen Seitenelemente gedruckt. Die folgende Tabelle faßt die Spezifikationen eines Seitenlayoutskripts für einen einfachen (einseitigen) personalisierten Brief an Kunden zusammen, was hierin als illustratives Beispiel verwendet wird:
  • Figure 00450001
    Tabelle 1
  • Für dieses Beispiel identifiziert der Seitenidentifizierer dieses als die erste Seite (1) mit der Größe von 8,5 mal 11 Inch. Falls keine Größe für irgendeine Seite spezifiziert ist, wird die Seitengröße in dem vorliegenden bevorzugten Ausführungsbeispiel als Einheitsgröße aller Seitenelemente in der Seite angenommen, d. h. als Begrenzungskasten für alle verwendeten Elemente. In einer typischen Ausgestaltung kann dies (muß jedoch nicht notwendigerweise) die Größe des unteren Seitenelementes sein. Der Elementenidentifizierer ist in Form einer Zahl ausgebildet. Der Elementenfilename ist die Filenamenbezeichnung. Somit ist Hintergrund_Bild der Filename des Seitenelementes, welches in dem Beispiel der Hintergrund der Seite ist, während Verkäufer_Unterschrift [25] das vierte (in Reihenfolge) gedruckte Seitenelement ist und sich auf das 25igste Seitenelement in den mehrseitigen File Verkäufer_Unterschrift bezieht, welcher alle unterschiedlichen Unterschriftsbilder für alle verschiedenen Verkäufer speichert. Die horizontalen und vertikalen Positionen für jedes Seitenelement stehen in Beziehung zu der oberen linken Ecke ("Ursprung") der gesamten Seite, Seite 1, und die Abstände werden in Inches gemessen, wobei positive Zahlen in Richtung von links nach rechts für den horizontalen Fall und in Richtung von oben nach unten für den vertikalen Fall indizieren. Das Skript gemäß dem bevorzugten Ausführungsbeispiel erlaubt drei Arten einer Spezifizierung von Abständen. Die erste Art ist ein absoluter Abstand von dem Ursprung. Somit ist der Elementenidentifizierer 2 5 Inches nach rechts und 1,7 Inches nach unten von dem Ursprung angeordnet. Die zweite Art ist eine Ausrichtung, beispielsweise mittig, links ausgerichtet, rechts ausgerichtet, etc.. Die dritte Art ist eine Relativbeziehung zu anderen Objekten, mit der Syntax der Bezeichnung in Klammern, und wobei dem relativen Abstand ein Plus oder ein Minuszeichen zum Indizieren der Richtung vorangestellt wird. Somit ist in diesem Beispiel der Elementenidentifizierer 4 zu der linken Seite der Seite ausgerichtet positioniert (indiziert durch das Wort "links" für die horizontale Position) und vertikal 1,2 Inches unter dem Elementenidentifizierer 3 positioniert (das File Brief_an_Kunden). Eine Präambel in dem Seitenlayoutskript spezifiziert derartige Details, welche Einheiten für Abstandsmessungen verwendet werden. Falls keine Einheiten spezifiziert werden, wird ein Fehler angenommen.
  • Der Zusammenführungsmodus indiziert, wie eine Zusammenführung auftreten wird. In der bevorzugten Implementierung bedeutet Knockout, dass das Seitenelement alle Seitenelemente unterhalb dieser Stelle aussticht. Alle CT-Seitenelemente werden gegenwärtig in dem Knockout-Modus zusammengeführt, obwohl, wie für die Fachleute auf diesem Gebiet offensichtlich ist, verbesserte Ausführungsbeispiele möglich sind, wobei CT-Elemente unterschiedliche Niveaus von Transparenz, etc. unter Verwendung derart bekannter Konzepte wie einen Alphakanal besitzen können. Für JPEG-Daten beispielsweise ist es bekannt, dass das DCT linear ist und diese Linearität kann verwendet werden, um Zusammenführungen mit Alphakanaldaten zu beeinflussen. Der Überdruck-Modus wird lediglich für Linienarbeiten verwendet und sagt aus, dass Trennung für Trennung die Intensität des oberen Objektes verwendet wird, außer falls es transparent weiß ist. Schwarzüberdruck wird ebenfalls nur für Linienarbeit verwendet, typischerweise im Text, und sagt aus, dass feste schwarze Objekte in dem Überdruck-Modus zusammengeführt werden, sogar, falls sie als Knockoutobjekte in dem Auftrag erzeugt werden. Überdruck_von_Auftrag-Modus ist ein Überdruck-Modus, wie er in dem Auftrag selber spezifiziert ist. Das besondere RLE-Linienarbeits-Komprimierungsverfahren, welches in dem bevorzugten Ausführungsbeispiel verwendet wird, beinhaltet die Fähigkeit einer derartigen Knockout-Spezifikation.
  • Ein alternatives Ausführungsbeispiel zur Verwendung der oben beschriebenen ASCII-textgeordneten Listen von geordneten Listen zum Spezifizieren des Seitenlayoutskriptes besteht darin, ein Seitenbeschreibungsskript, wie beispielsweise ein PDF von Adobe Systems, Inc. of Mountain View, Kalifornien, zu verwenden. PDF kann externe Seitenelementbezeichnungen aufweisen. Da PDF über Jahre hinweg verwendet wurde und gut dokumentiert ist, ist es für einen Fachmann auf diesem Gebiet offensichtlich, wie das System zu modifizieren ist, um eine Verwendung von PDF oder anderer Techniken zum Spezifizieren des Seitenlayoutskriptes einarbeiten zu können.
  • Es sei an dieser Stelle darauf hingewiesen, dass keine Beschränkungen des Schutzumfangs der vorliegenden Erfindung durch die besondere Skriptsyntax, welche in dem bevorzugten Ausführungsbeispiel verwendet wird, inbegriffen ist. Beispielsweise können dort, wo komprimierte Bitströme zusammengeführt werden sollten, diese alternativ durch eine Markierung (wenn es das Komprimierungsformat ermöglicht) oder einen Pointer (welcher getrennt von dem Format gehalten wird), oder durch andere Mittel spezifiziert werden. Der rechnerische Aufwand, um solch eine Markierung zu finden, hängt lediglich von den Spezifikationen des Komprimierungsformates ab, um (ausgerichtete oder nichtausgerichtete) Markierungen zu ermöglichen. Für den Fall von Pointern zeigt ein Bit-Pointer das Bit an, von wo aus der Bitstrom zusammengeführt werden sollte. Falls mehr als ein Komprimierungsformat verwendet wird, um das Seitenelement darzustellen, kann dasselbe Verfahren und dieselbe Vorrichtung für jedes Komprimierungsformat separat verwendet werden.
  • Das Zusammenführungssystem 1015:
  • Das Zusammenführungssystem ist als Satz an Computerprogrammen implementiert, welche auf einem Prozessor 112 arbeiten. Insbesondere umfassen die Computerprogramme drei Muster, beziehungsweise Fäden, welche parallel ausgeführt werden und welche miteinander unter Verwendung von Standardzwischenmuster-Kommunikationsverfahren kommunizieren. Die Standard-Zwischenmuster-Kommunikationsverfahren, welche den Fachleuten auf dem Gebiet von Computerprogrammieren bekannt sind, umfassen ein gemeinsames Speichermodul, Mutexe, Signale, Rohre, etc.. In der vorliegenden Implementierung stehen die Fäden bzw. Muster als Source/Drain-Paare mit einem Puffer (oder mehr als einem Puffer) in der Mitte in Verbindung: Der Source-Faden versucht den Puffer zu füllen und sendet ein Signal an seinen zugeordneten Drain-Faden jedesmal dann, wenn Daten geschrieben werden. Wenn der Puffer voll ist, wartet der Source-Faden solange, bis der Drain-Faden die Daten aus dem Puffer entfernt. Parallel dazu versucht der Drain-Faden den Puffer zu leeren, und sendet eine Message zu dem Source-Faden jedesmal dann, wenn er die Daten aus dem Puffer entfernt. Wenn der Puffer leer ist, wartet er auf ein Signal von dem Source-Faden, das neue Daten geschrieben worden sind.
  • Die drei Fäden mit ihren zugeordneten Puffern sind in 11 dargestellt. Die Puffer sind alle in einem RAM implementiert. Der Lese-Faden 1005 liest das Seitenlayoutskript 1103 und den Quellen-Zusammenführungsfaden 1109 über den Seitenelement-Cachespeicher 1011 aus, welcher den Puffer zwischen diesen beiden Fäden darstellt. Der Zusammenführungsfaden 1109, die Drain für den Lesefaden 1105, ist ebenfalls die Quelle für den Ausgabefaden beziehungsweise die Ausgabefäden 1113 über den beziehungsweise die beiden Puffer 1111. Es sei daran gedacht, dass mehr als ein Seitenpuffer und mehr als ein Ausgabefaden dargestellt sind, und dass das System irgendeine Anzahl an jedem Faden von seiner Quelle/Senken aufweisen kann. Der Objektlesefaden 1105 füllt den Seitenelement-Cachespeicher 1111 mit den Seitenelementen, welche auf den nächsten Seiten gebraucht werden. Die Seitenelemente werden von dem Seitenelementspeicher 1013 oder von dem RIP-System beziehungsweise -systemen 1009 ausgelesen. Sobald sich alle Objekte (Seitenelemente) einer Seite in dem Seitenelement-Cachespeicher 1011 befinden, führt der Zusammenführungsfaden 1109 die Linienarbeit, die CT-Auswahlmaske und die CT-Daten, die Farbe Trennung für Trennung zusammen und schreibt das Ergebnis in den beziehungsweise die Seitenpuffer 1111. Aufgrund der Ausgestaltung des Druckkopfes des Xeikon-Druckers weist das Ausführungsbeispiel für das Xeikondrucksystem vier Ausgabepuffer pro Seite einer Seite, wobei ein Puffer pro Trennung vorgesehen ist, und somit vier Ausgabefäden pro Seite einer Seite auf. Somit sind insgesamt acht Ausgabefäden für einen Duplex CMYK-Druckvorgang vorhanden. Schließlich befördert der Ausgabefaden beziehungsweise die Ausgabefäden 1113 die zusammengeführten Daten in den Seitenpuffer 1111 an das Dekomprimierungs- und Screening-System 1117. Für das Xeikonsystem existiert wenigstens ein separates Dekomprimierungs- und Screening-System 1117 für jede Farbtrennung, somit wenigstens vier Ausgabeströme.
  • Es sei an dieser Stelle darauf hingewiesen, dass es in einigen wechselnden Implementierungen, z. B. auf einem Computersystem mit mehreren Prozessoren, vorteilhaft sein kann, eine oder mehrere der von jedem der oben beschriebenen Fäden durchgeführten Aufgaben auf mehrere Fäden aufzuteilen. Ein erstes Beispiel stellt die dargestellten Mehrfachausgabefäden dar. In einem zweiten Beispiel können die Zusammenführungsaufgaben in zwei Zusammenführungsfäden aufgeteilt werden, wobei jeder Faden von derselben Quelle Trennungen annimmt und die Ergebnisse in dieselbe Drain schreibt.
  • Das Dekomprimierungs- und Screening-System 1017:
  • Das Dekomprimierungssystem dekomprimiert die LW- und CT-Daten in separate CT- und LW-Pixelpuffer. Falls erforderlich, werden die CT-Pixel (Auflösung von 300 dpi in der vorliegenden auf dem Xeikon-Gerät basierenden Implementation) auf die Geräteauflösung (600 dpi für das Xeikon-Gerät) durch Wiederholen der Pixel auf einer Linie und durch Wiederholen von Linien aufskaliert. Das System wählt dann Pixel von dem einen oder dem anderen Pixelpuffer, basierend auf der CT-Auswahlmaske für die zusammengeführten Daten, aus. Das resultierende abschließende Rasterbild wird gescreent und danach an die Druckköpfe der Presse 1019 befördert. Das Dekomprimierungs- und Screening-System 1017 reduziert auch die Datentiefe auf die Datentiefe des Ausgabegerätes. In dem abschließenden Schritt explodieren die Datenraten auf die volle Datenrate des Druckgerätes 1019. Aus diesem Grund wurde in dem vorliegenden Ausführungsbeispiel die Implementierung des Dekomprimierungs- und des Screening-Systems 1017 als Hardware für einen speziellen Zweck gewählt. Das Dekomprimieren, das Screenen, das Kombinieren gemäß der CT- Auswahlmaske und das Puffern der Daten zu der Hardware könnte auf ähnliche Weise alternativ auf einem kleinen, schnellen Computer oder auf einem schnellen Mikroprozessor oder auf einem DSP-Gerät implementiert werden. Die vorliegende Erfindung hängt nicht von irgendeinem besonderen Mittel (Hardware und/oder Software) für ein Screenen oder ein Komprimieren ab und es wird angenommen, dass eine derartige Funktionalität vorhanden ist.
  • Jede besondere Implementierung kann variiert werden, um mit den besonderen Druckgeräten umgehen zu können, und eine universelle Implementierung ist ebenfalls möglich. Eine Implementierung ist für das Xeikon-Druckgerät vorgesehen. Dies ist ein Duplex-Druckgerät mit vier Druckköpfen (in Druckreihenfolge Y C M K) auf jeder Seite, wobei die Druckköpfe um 26 cm auf jeder Seite getrennt beziehungsweise voneinander beabstandet sind. Die vorliegende Implementierung für das Xeikon-System weist wenigstens ein Dekomprimierungs- und Screening-System 1017 für jede Farbtrennung für jede Seite einer Seite auf.
  • Das schnelle Zusammenführungssystem im Detail:
  • Obwohl dies nicht die einzige Art der Implementierung dieser Aspekte der vorliegenden Erfindung darstellt, ist das schnelle Zusammenführungssystem gemäß dem bevorzugten Ausführungsbeispiel um einen Hochleistungs-Assemblercomputer herum, wie beispielsweise das System 110 in 1, gebaut und verwendet ein Speicher-RAID-System mit einer hohen Kapazität wie eines der Laufwerke 146 (oder das einzige Laufwerk 146) in dem Filespeichersystem 125. Es besitzt eine Schnittstelle für eine hohe Datenratenausgabe über einen PCI-Bus an das spezielle Hardware-Dekomprimierungs- und Screening-System 1017 und schließlich an einen digitalen Drucker 1019.
  • Das schnelle Zusammenführungssystem wird im folgenden ausführliche unter Zuhilfenahme von 12 beschrieben, welches den Betrieb der drei Fäden in 1 ausführlicher darstellt. Das Zusammenführen wird vornehmlich in einer Software durch das Assembler-Computersystem 110 wie die drei Fäden durchgeführt, und diese Fäden wirken gleichzeitig auf den Prozessor 112 und kooperieren in einer durch eine Hauptleitung verbundenen Art. Der Betriebsfluß wird durch das Seitenlayoutskript gesteuert, welches hierin mit dem Bezugszeichen 1103 bezeichnet ist, welches die gesamte Zusammenführungsaktivität steuert. Für jede Seite enthält das Seitenlayoutskript 1103 eine Seitenbeschreibung, welche im Detail das Layout der Seite auf der Grundlage der Anordnung des Seitenelementes angibt. Insbesondere ist in dem vorliegenden System jede Seitenbeschreibung eine in Reihenfolge geordnete Liste der Seitenelemente. Jedes Seitenelement wiederum ist auch eine geordnete Liste, welche folgendes aufweist: den Seitenelementenidentifizierer, den Filenamen (und die Seite mit dem File) des Seitenelementes (für einen anfänglichen Zugang zu dem Seitenelementspeicher 1013), die horizontale und vertikale Position von dem Ursprung und den Zusammenführungsmodus (Knockout, Überdruck etc.). Die Seitenbeschreibungen werden durch die Zusammenführungsleitung der Fäden hindurchgeführt. Die Fäden arbeiten asynchron und werden durch Reihen getrennt, welche in dem Speichermodul 130 während eines Initialisierungsbetriebes festgesetzt werden. Die Reihen halten somit diejenigen Teile (oder Pointer zu denjenigen Teilen) der Seitenbeschreibungen fest, welche für Zwischenfaden-Kommunikationen notwendig sind, wenn die Seitenbeschreibungen von einem Faden zu einem anderen derart geführt werden, dass jeder Faden die geeigneten Seitenbeschreibungen aufweist, um mit diesen zu arbeiten. Jeder Faden kann auch einige der Parameter der Seitenbeschreibungen vor einem Durchlaufen der Beschreibung zu dem nächsten Faden modifizieren, wann immer die Umstände eine derartige Modifikation gewährleisten. Beispielsweise kann der Filename und/oder die Stelle eines Elementes durch einen Faden geändert werden, um den Zugang zu dem nächsten Faden zu beschleunigen.
  • Interner Aufbau des Seitenlayoutskriptes:
  • Der Initialisierungsschritt baut all die notwendigen Reihen auf. Für eine effiziente Verarbeitung wird das Seitenlayoutskript, welches in dem bevorzugten Ausführungsbeispiel in der Form einer ASCII-Zeichenfolge von Listen oder gemäß einem anderen Ausführungsbeispiel in Form einer PDF-Beschreibung oder einer ähnlichen Beschreibung ausgebildet ist, ebenfalls während der Initialisierung zergliedert und danach in einen Satz an besser geeigneten Datenstrukturen umgewandelt. Dieser Datenstruktursatz ist für ein effizienteres Steuermanagement des Seitenelementes ausgebildet und zu jeder Zeit zugänglich zu allen Fäden. Während dem Zergliedern des Layoutskriptes werden alle relativen nicht absoluten Positionierungsinformationen für irgendein Element, wie beispielsweise "Mitte", "Links", etc., und alle relativen Abstände von anderen Seitenelementen berechnet, und lediglich eine absolute Positionierung wird in dem Datenstruktursatz verwendet. Der besondere in dem bevorzugten Ausführungsbeispiel verwendete Datenstruktursatz ist in 13 dargestellt und beinhaltet ein dreidimensionales Seitenelement-Beispielsfeld 1307 und zwei eindimensionale Felder, welche als Seitenelementfeld 1305 und das Seitenbeschreibungsfeld 1309 bezeichnet werden. Das dreidimensionale Seitenelement-Beispielsfeld 1307 wird zum Festhalten von Beispielen der Seitenelemente verwendet. Ein Beispiel (d. h. ein Feldelement, welches besetzt ist) ist durch das Feldelement dargestellt, welches in 13 kreuzschraffiert ist. Die Abmessungen sind horizontal (Reihen) von links nach rechts, vertikal (Spalten) in Aufwärtsrichtung und in die Tiefe (senkrecht zur Seite und in die Seite hinein, auf welcher 13 gedruckt ist). Somit ist das obere linke vordere Element 1315 besetzt. Es gibt eine Reihe für jedes Seitenelement in dem Buch von Seiten. Somit ist die Anzahl der Reihen in den Spalten des Beispielsfeldes 1307 die Gesamtanzahl der unterschiedlichen Seitenelemente in dem Buch, vier in dem Beispiel aus 13. Jede Spalte beschreibt das Layout einer speziellen Seite. Somit ist die Anzahl der Spalten in dem Beispielsfeld 1307 die Anzahl der Seiten in dem Buch, sechs in dem Beispiel aus 13. Die dritte Dimension handelt den Fall ab, wenn mehrere Beispiele desselben Seitenelementes in irgendeiner besonderen Seite vorhanden sind. Zum Beispiel kommt die Zahl 4 zweimal in der Seite 4 vor, wie durch die kreuzschraffierten Kästchen 1311 und 1313 angedeutet ist, wobei das Beispiel 1311 vor dem Beispiel 1313 auftritt. Somit ist die Gesamttiefe die maximale Anzahl von Beispielen irgendeines zweiten Elementes in irgendeiner Seite des Buches und beträgt 3 für das besondere Beispielsfeld 1307 in 13. Wie offensichtlich ist, sind nicht alle Eingänge in dem Beispielsfeld 1307 besetzt. In der Tat werden typischerweise lediglich ein Paar der Eingänge des Beispielsfeldes 1307 besetzt, d. h. das Beispielsfeld ist dünn beziehungsweise spärlich besetzt. Effektive Speichertechniken sind zum Verringern der Speichermenge 130 bekannt, welche zum Speichern der spärlich besetzten Matrizen, wie beispielsweise des Beispielsfeldes 1307, bekannt, und derartige spärlich besetzte Speichertechniken werden in dem bevorzugten Ausführungsbeispiel verwendet. Jede besetzte Zelle, d. h. jedes Beispiel in dem Beispielsfeld 1307 umfaßt einige Attribute und die Attribute jedes Seitenelementbeispiels sind in Tabelle 2 dargestellt, und beinhalten für dieses Beispiel die Position des Elementes, den Druckmodus, die Druckreihenfolge und die Zahl der Seite, wo sich das Textbeispiel des Elementes befindet. Dieses letzte Feld bezieht sich auf die nächste Seite nach der gegenwärtigen Seite des Beispiels, wo das Seitenelement wiederverwendet wird. Falls das gegenwärtige Beispiel das letzte Beispiel für das Seitenelement ist, wird ein spezieller Wert für das Feld der "nächsten Seite" verwendet, um diese Tatsache anzuzeigen. Die Information in diesem Feld wird durch das Cachespeichersystem verwendet, um zu entscheiden, welche Seitenelemente in dem Seitenelement-Cachespeicher verbleiben müssen, wenn eine Seite zusammengeführt wird.
  • Einige Attribute bzw. Eigenschaften der Seitenelemente selber werden in dem Speichermodul 130 in einem separaten eindimensionalen Feld gespeichert, nämlich dem Seitenelementenfeld 1305. Die Attribute eines Seitenelementes, welches in dem Elementenfeld 1305 gespeichert ist, sind in Tabelle 3 dargestellt und beinhalten den Filenamen des Elementes (und falls anwendbar, die Seite innerhalb des Files), wie er in dem Seitenelementspeicher 1013 verwendet wird, ein Muster, welches anzeigt, ob sich das Seitenelement in dem Seitenelement-Cachespeicher 1011 befindet, die Adresse, an welcher das Seitenelement in dem Seitenelement-Cachespeicher für den Fall gespeichert wird, dass es sich in dem Cachespeicher befindet (d. h. für den Fall, dass das Muster gesetzt ist), die Seitenzahl (oder andere Seitenidentifizierer) der Seite, wo das nächste Beispiel des Elementes verwendet wird, und einen Index der Reihe in dem Elementenbeispielsfeld 1307, welcher dem Seitenelement entspricht. Die Attribute der Seiten in einem Buch werden in dem Speichermodul 130 in der Form eines Seitenbeschreibungsfeldes 1309 gespeichert. Die Attribute einer besonderen Seite in dem Seitenbeschreibungsfeld 1309 sind in Tabelle 4 dargestellt und umfassen die Breite, die Höhe, den Ort der Seite in dem Pufferraum (welcher als Ausgabepuffer bezeichnet wird), welcher den beziehungsweise die Seitenpuffer 1111 umfaßt, in welchem beziehungsweise in welchen das Zusammenführungsergebnis durch den Zusammenführungsfaden 1109 gespeichert wird, und den Index (als eine Identifizierungszahl) der Spalte des Seitenelement-Beispielfeldes 1307, welcher dieser Seite zugeordnet ist.
  • Figure 00570001
    Tabelle 2
  • Figure 00570002
  • Figure 00580001
    Tabelle 3
  • Figure 00580002
    Tabelle 4
  • Der Lesefaden:
  • Bisher wurden die internen Speicherstrukturen des Seitenlayoutskriptes beschrieben, und im folgenden wird ausführlicher der Betrieb der Fäden beschrieben. Zur Erinnerung sei gesagt, dass nach einer Initialisierung des Beispielsfelds 1307 das Seitenelementenfeld 1305 und das Seitenbeschreibungsfeld 1309 zusammen das Seitenlayoutskript enthalten und dass diese Strukturen zu allen Seiten für alle Fäden erhältlich sind. Sobald die Felder 1307, 1305 und 1309 und die benötigten Reihen während der Initialisierung aufgebaut worden sind, wird ein Lesereihenfaden 1203 mit Pointern zu den Seiten geladen, welche bearbeitet werden sollen, in der Reihenfolge des Druckens dieser Seiten.
  • Der erste Auftrag des Lesefadens 1105 ist es, Seitenelemente von dem Seitenelementspeicher 1013 vorzuholen und diese in dem Seitenelement-Cachespeicher 1011 wie notwendig abzulegen. Anfänglich wird die erste Seitenbeschreibung, auf welche durch die Lesereihe 1203 gezeigt wird, verwendet und basiert auf dem Zutritt beziehungsweise Eingang in das Seitenbeschreibungsfeld 1309 für eine bestimmte Seite, wobei die zu ladenden erforderlichen Seitenelemente von dem Beispielsfeld 1307 bestimmt werden. Die erforderliche Information zum Laden der Seitenelemente in den Cachespeicher 1011 wird von dem Seitenelementenfeld 1305 erhalten, wo anfänglich die Seitenelemente durch Filenamen bezeichnet werden. Mit derartigen Informationen weiß der Lesefaden 1105, welche Seitenelemente vorgeholt werden sollen und wo diese in dem Seitenelementspeicher 1013 gespeichert werden sollen. Vor einem Vorholen irgendeines Seitenelementes überprüft der Lesefaden durch Überprüfen des "cachegespeicherten" Kennzeichen in dem Seitenelementenfeld 1305, ob das Seitenelement bereits in dem Seitenelement-Cachespeicher 1011 enthalten ist. Falls dieses Kennzeichen gesetzt ist, wird kein Zugang von dem Seitenelementspeicher 1013 benötigt. Andererseits wird ein Raum in dem Seitenelementspeicher 1011 zugeordnet und das Seitenelement dort gespeichert. Nach dem Holvorgang wird das "cachegespeicherte" Kennzeichen gesetzt und die Adresse des "Ortes in dem Cachespeicher" in das Seitenelementenfeld 1305 geschrieben. Nur das erste Beispiel irgendeines Elementes wird durch den Lesefaden 1105, behandelt, da es lediglich sein Auftrag ist, sicherzustellen, dass die durch irgendeine Seite angeforderten Elemente sich in dem Seitenelement-Cachespeicher 1011 befinden. Die "Tiefen"-Dimension des Beispielfeldes (die sich mit mehreren Beispielen auf einer Seite beschäftigende Dimension) wird nicht behandelt. Sobald alle Seitenelemente in der Seitenbeschreibung einer bestimmten Seite behandelt sind, wird ein Pointer zu dem Seiteninformationseingang in dem Seitenbeschreibungsfeld der vollständigen Seite an eine weitere Reihe geführt, nämlich an die Zusammenführungsreihe 1205, welche ebenfalls in dem Speichermodul 130 während der Initialisierung aufgebaut wird. Dies zeigt dem Zusammenführungsfaden 1109 an, dass die Elemente für diese Seite erhältlich sind. Der Zusammenführungsfaden 1109 kann dann unabhängig von dem Lesefaden 1105 arbeiten. Getrennt davon stellt ein Speichermanagementverfahren, welches im folgenden beschrieben wird, sicher, dass Elemente, welche bisher durch den Zusammenführungsfaden 1109 noch nicht zusammengeführt wurden, nicht von dem Element-Cachespeicher 1011 vor der Zusammenführung entfernt werden. Somit wird eine spezielle Tätigkeit, wie im weiteren Verlauf beschrieben wird, erforderlich, wenn der Seitenelement-Cachespeicher 1011 voll wird.
  • Cachespeichermanagement:
  • Der Seitenelement-Cachespeicher 1011 umfaßt einen Klumpen von Speichern in dem Speichermodul 130. Ein dynamisches Speichermanagersystem verwaltet Anfragen von dem Lesefaden 1105 für einen Block von Speichermodulen einer Größe, welche der Größe des Seitenelementes entspricht. Um einen Bruch des Cachespeichers zu verhindern, wird der Seitenelement-Cachespeicher in Klumpen mit einer festen Größe (Speicherseiten) aufgeteilt und ein Block besteht somit aus einer Anzahl dieser Klumpen. Diese Klumpen sind nicht notwendigerweise in dem Cachespeichermodul benachbart angeordnet. Sobald der Block zugeordnet ist, liest der Lesefaden 1105 das Seitenelement aus dem Seitenelementspeicher 1013 in diesen Block ein. Wenn ein Seitenelement nicht länger für nachfolgende Seiten benötigt wird, wie durch ein geeignetes Kennzeichen in den drei Strukturen der Felddaten angezeigt, wird es durch den dynamischen Cachespeichermanager unter Steuerung des Zusammenführungsfadens 1109 abbeordert. Verschiedene Implementierungen sind möglich und können in der Literatur des Standes der Technik für den dynamischen Speichermanager gefunden werden. Wenn eine Anfrage für einen Block eines Speichers durch den Lesefaden 1105 getätigt wird und der dynamische Speichermanager die Anfrage nicht erfüllen kann, d. h. wenn der Cachespeicher voll ist, wird der Lesefaden 1105 daran gehindert, in den Cachespeicher 1011 zu schreiben, bis der Zusammenführungsfaden 1109 anfängt, die Seitenelemente auf der vorhergehenden Seite oder Seiten zusammenzuführen. Da der Zusammenführungsfaden 1109 vorrückt, während der Lesefaden 1105 blockiert wird, können die Seitenelemente von dem Cachespeicher abbeordert werden, da sie nicht für zukünftige Seiten benötigt werden. Lediglich dann wird dem Lesefaden 1105 ein Signal gegeben, fortzufahren und die Speicheranfrage wird somit erneut versucht. Wenn die Speicheranfrage erfolgreich verläuft, kann der Lesefaden 1105 fortfahren. Wenn der Lesefaden 1105 immer noch blockiert wird, wenn der Zusammenführungsfaden 1109 beginnt, eine Seite zusammenzuführen, bevor der Seitenlesefaden 1105 versucht, Seiten vorzuholen, wird eine Cachespeicher-Ersetzungsstrategie wirksam.
  • Die Cachespeicher-Ersetzungsstrategie:
  • Ein Aspekt der vorliegenden Erfindung behandelt ein Verfahren (eine Strategie) für eine Ersetzung von Seitenelementen in einem Element-Cachespeicher 1011, wenn er voll ist und ein einfaches Warten nicht ausreicht. Dieses Ersetzungsverfahren minimiert Zugriffe auf einen Seitenelementspeicher 1013 und maximiert somit den Durchfluß.
  • Während der Initialisierung wird die Größe des Seitenelement-Cachespeichers 1011 derart dimensioniert, dass alle Seitenelemente von zwei aufeinanderfolgenden Seiten in diesen passen. Auf diese Weise wird die Cachespeicherersetzung niemals steckenbleiben. Das Ersetzungsverfahren umfaßt einen Satz an Aktionen, welche zum Freigeben von bestimmten Elementen aus dem Seitenelement-Cachespeicher 1011 derart ausgeführt werden, dass ausreichend Platz verfügbar wird, um das Speichermodul zuordnen zu können, welche s, zum Laden eines bestimmten Seitenelementes von dem Seitenelementspeicher 1013 benötigt wird. Ein Seitenelement wird freigegeben durch Setzen seines "cacheabgespeicherten" Feldes auf falsch in dem Seitenelementenfeld 1305 und durch Freigeben des Speichermoduls, welcher durch das Seitenelement in dem Seitenelement-Cachespeicher 1011 gemäß dem dynamischen Speichermanager besetzt ist.
  • Ein einfaches Ersetzungsverfahren besteht in einem Scannen durch das Seitenelementenfeld 1305 und Freigeben der Cachegespeicherten Seitenelemente auf eine zufällige Art, wobei die freigegebenen Elemente nicht auf der Seite vorhanden sind, welche augenblicklich durch den Zusammenführungsfaden 1109 betrieben wird (typischerweise die Seite vor der Seite, welche augenblicklich durch den Lesefaden 1105 betrieben wird), und nicht auf der Seite vorhanden sind, welche augenblicklich durch den Lesefaden 1105 betrieben wird. Das Freigeben derartiger Elemente aus dem Cachespeicher wird durch einen Zufallsmodus ausgeführt bis die Nachfrage des Speichermoduls befriedigt werden kann.
  • Ein Nachteil dieses einfachen Ersetzungsverfahrens besteht darin, dass potentielle Seitenelemente aus dem Cachespeicher freigegeben werden, welche bald benötigt werden könnten. Auf ähnliche Weise könnten Seitenelemente, welche lediglich sehr viel später wiederverwendet werden, unnötigerweise in dem Cachespeicher 1011 verbleiben. Das Cachespeicher-Ersetzungsverfahren gemäß einem bevorzugten Ausführungsbeispiel stellt sicher, dass die Seitenelemente aus dem Cachespeicher in umgekehrter Reihenfolge dazu freigegeben werden, wieviele Seiten vorher sie benötigt werden. Dies bedeutet, dass Elemente, welche später benötigt werden, zunächst aus dem Cachespeicher freigegeben werden. Um dies zu erreichen macht das Seitenersetzungsverfahren gemäß dem bevorzugten Ausführungsbeispiel Verwendung von dem Feld "nächste Seite, auf welcher es verwendet wird" des Seitenelementenfeldes 1305. Dieses Feld wird durch den Lesefaden 1105 gefüllt, wenn ein Seitenelement in den Seitenelement-Cachespeicher 1011 gelesen wird, und wird von dem zugeordneten Seitenelement-Beispielsfeld in das Elementen-Beispielsfeld 1307 kopiert. Die spezifische Strategie für die Cachespeicherersetzung untersucht nun dieses Feld "nächste Seite, auf welcher es verwendet wird" und wählt alle Seitenelemente in dem Elementenfeld 1305 aus, welche ein "im Cachespeicher abgespeichertes" Kennzeichen Richtig aufwiesen und welche das Feld "nächste Seite, auf welcher es verwendet wird" mit Seiten aufweisen, nachdem der Seitenlesefaden 1105 Seitenelemente vorgeholt hat. Alle derartig ausgewählten Seitenelemente werden in absteigender Reihenfolge ihrer Felder "nächste Seite, auf welcher es verwendet wird" sortiert. Die bevorzugte Strategie für die Cachespeicherersetzung gibt dann aus dem Cachespeicher die Seitenelemente gemäß der sortierten Reihenfolge frei. Auf diese Weise wird eine optimale Cachespeicherersetzung erreicht.
  • Zusammenführungsfaden 1109 und Ausgabefaden beziehungsweise -fäden 1113:
  • Der Zusammenführungsfaden 1109 ist der Kern des schnellen Zusammenführungssystems 1103. Er läuft auch auf dem Prozessor 112 und führt die Implementierungen des Zusammenführungsverfahrens der vorliegenden Erfindung aus, welche die Zusammenführung im wesentlichen in dem komprimierten Rasterbildbereich ausführen. Die Aktivität des Zusammenführungsfadens 1109 wird durch Informationen gesteuert, welche in den Feldstrukturen 1307, 1309 und 1305 durch die Seitenbeschreibungen bezeichnet werden, auf welche durch die Zusammenführungsreihe 1205 gedeutet wird. Durch Verwendung der bezeichneten Seitenbeschreibungen weiß der Zusammenführungsfaden 1109, wo die Seitenelemente in dem Seitenelement-Cachespeicher 1011 zu finden sind und wo diese Seitenelemente auf der Seite zu plazieren sind. Der Zusammenführungsfaden 1109 erzeugt alle Seitentrennungen in einem komprimierten Format, wie in dem Satz an Datenstrukturen spezifiziert ist. Er führt dies separat für CT-Elemente (in dem bevorzugten CT-Komprimierungsformat JPEG) und für die LW-Elemente (in dem bevorzugten LW-Komprimierungsformat RLE) aus. Typischerweise werden für das letztendliche Drucken auf dem Xeikon-Duplexgerät 16 Zusammenführungsergebnisse für jede abschließende Duplexseite berechnet: für die Vorder- und Rückseiten der Seite gibt es die CMYK-Trennung jeweils sowohl in dem CT-komprimierten Format als auch in dem LW-komprimierten Format. Die Zusammenführungsergebnisse von dem Zusammenführungsfaden 1109 werden als Seitenpuffer 1111 in dem Ausgabepuffer gespeichert, welcher einen Teil des Speichermoduls 130 verwendet und welcher die vorher zusammengeführten Seiten hält, welche an das bzw. die Komprimierungs- und Screeningsystem beziehungsweise -systeme 1017 durch den Ausgabefaden beziehungsweise die Ausgabefäden 1113 ausgegeben werden. Die Anzahl der Seitenpuffer und der Ausgabefäden hängt davon ab, wie die Daten auf dem bestimmten Druckgerät gedruckt werden. Sobald alle Seitenzusammenführungsergebnisse für eine bestimmte Seite berechnet sind, wird das entsprechende Feld "Anordnung in dem Ausgabepuffer" in dem Seitenbeschreibungsfeld 1309 durch den Zusammenführungsfaden 1109 unter Bezugnahme auf die Zusammenführungsergebnisse in dem beziehungsweise den Seitenpuffer 1111 aufgefüllt. Der Pointer zu der Seitenbeschreibung der Seite wird in eine oder mehrere zugeordnete Reihen angeordnet, welche als Ausgabereihen 1209 bezeichnet werden, wobei die Reihe ursprünglich in der Initialisierungsphase aufgebaut wird. Jede Reihe zeigt seinem Ausgabefaden 1113 an, dass die Seitendaten für diese Seite (und diese Trennung für den Fall von separaten Seitenpuffern und Ausgabefäden pro Trennung), wie in dem Seitenbeschreibungsfeld 1309 bezeichnet ist, fertig sind, um durch den Ausgabefaden 1113 bearbeitet zu werden, welcher die Seitenzusammenführungsergebnisse an das passende Dekomprimierungs- und Screeningsystem 1017 ausgibt, in welchem diese dekomprimiert, kombiniert, gescreent und an geeignete Druckköpfe 1019 des Druckgerätes gesendet werden. Es sei an dieser Stelle darauf hingewiesen, dass in den 11 und 12 das Bezugszeichen 1019 abwechselnd für das Druckgerät und/oder die Druckköpfe des Druckgerätes verwendet wird. Die besondere Bedeutung wird dem Leser aus dem Zusammenhang offensichtlich. Das Tempo, mit welchem irgendein Ausgabefaden 1113 arbeitet wird durch die Geschwindigkeit bestimmt, mit welcher der digitale Drucker die Seiten ausgibt. Es sei wiederum darauf hingewiesen, dass für das Drucken auf dem Xeikon-Gerät oder auf anderen Druckgeräten, welche mehrere Druckköpfe aufweisen, welche die Farbtrennungskomponenten auf die Seite in einer leitungsgeführten Art eine nach der anderen auftragen, wo die Ausgabereihe in mehrere parallele Ausgabereihen aufgespalten wird, welche jeden dieser Druckköpfe füttern, der Zusammenführungsfaden 1109 einen geeigneten Seitenbeschreibungspointer in alle diese Reihen stellt, wenn er die Zusammenführungsergebnisse berechnet.
  • Damit das hierin beschriebene Zusammenführungssystem in Echtzeit, wie durch die Geschwindigkeit des digitalen Druckgerätes 1019 diktiert wird, betreibbar ist, ist es notwendig, dass die Lese-, Zusammenführungs- und Ausgabefäden Schritt halten. Der erforderliche Durchfluß (gezählt in Seiten) jedes Fadens bezieht sich direkt auf die Komplexität der Seitenlayoute. Diese Komplexität im allgemeinen ist proportional zu der Zahl der Seitenelemente und ihrer Größe auf einer Seite. Für den Fall, dass der geforderte Durchfluß nicht erreicht werden kann, falls es keine Möglichkeit gibt, das digitale Druckgerät 1019 mit sofortiger Wirkung langsamer zu fahren oder anzuhalten und zu starten, werden einige leere Seiten ausgegeben. Im Falle von Druckgeräten, welche nicht langsamer gefahren werden können, wenn der geforderte Durchfluß nicht erreicht werden kann, werden derartige Druckgeräte gezwungen, mit einer geringeren Geschwindigkeit zu laufen.
  • Gemäß einem weiteren Ausführungsbeispiel kann der Seitenlayoutskript-Generator die Komplexität des Seitenlayouts überprüfen und an den Betreiber Warnungen ausgeben, falls eine bestimmte Seite wahrscheinlich zu komplex ist, um das Zusammenführungssystem zu passieren. Dem Betreiber kann dann eine Auswahl gegeben werden, diese Seiten off-line vorab zusammenzuführen oder teilweise einige der Seitenelemente einer derartigen Seite zusammenzuführen.
  • Die Seitenpuffer (auch als Seitentrennungspuffer bezeichnet) 1111:
  • In dem gegenwärtigen Zusammenhang wird der Speicherbereich, welcher durch eine komprimierte Seite in dem Ausgabepuffer besetzt wird, als ein Seitenpuffer 1111 definiert. Dies geschieht, um dieselbe Terminologie wie in Systemen gemäß dem Stand der Technik zu verwenden, welche nicht komprimierte Seitenpuffer mit einer festen Größe bei einer festen Zuweisung verwenden.
  • Seiten(trennungs)puffer 1011 befindet beziehungsweise befinden sich dort, wo die Zusammenführungsergebnisse gespeichert werden. Jedes Seitenergebnis (eine Trennung in der vorliegenden Implementierung) wird in einem zugeordneten Seitenpuffer gespeichert. Somit ist ein alternativer Name (nur für die vorliegende Implementierung) Seitentrennungspuffer. Ein Seitenpuffer speichert sowohl die CT-Seite als auch die LW-Seite. Für einen Drucker, welcher Seiten fortlaufend ausdruckt, wobei alle Trennungen auf einer Seite vor einem Beginn mit der nächsten Seite gesetzt werden, würde ein Seitenpuffer alle Trennungen für diese Seite speichern. Bei Druckern, welche Trennungen in einer leitungsgeführten Art ausgeben, wobei verschiedene Trennungen von verschiedenen Seiten zur gleichen Zeit ausgegeben werden, würde ein Seitenpuffer 1111 lediglich eine Trennung der Seite speichern und wird somit manchmal als Seitentrennungspuffer bezeichnet. Im letzteren Fall existieren mehrere Ausgabeströme, einer für jede Trennung (und Druckkopf des Druckgerätes), wobei ebenfalls mehrere Seitentrennungspuffer 1111 vorgesehen sind, welche mit den entsprechenden Ausgabereihen 1109 verbunden sind. Für jeden Ausgabestrom kann eine Anzahl an Seiten(trennungs)puffer in einem Speicherbereich von fester Größe zugewiesen werden. Gemäß dem vorliegenden bevorzugten Ausführungsbeispiel kann dieser Speicherbereich wenigstens zwei Seiten(trennungs)puffer 1111 pro Ausgabereihe 1009 speichern. Abhängig von dem Komprimierungsverhältnis der Seiten können gewöhnlich wesentlich mehr Seitenpuffer eingepaßt werden und dies ermöglicht dem System Spitzenlasten zu glätten. Der Zusammenführungsfaden beschreibt die Seiten(trennungs)puffer 1111 einen nach dem anderen in dem Ausgabepufferbereich und befördert ihre Bezeichnung über die Ausgabereihe an den Ausgabefaden. Der Ausgabefaden befördert dann die Seiten(trennungs)puffer an das Dekomprimierungs- und Screening-System 1017.
  • Zwei herkömmliche Verfahren zum Setzen von zusammengeführten Seitenelementen in einen Seitenpuffer sind: 1) Malen der Seitenelemente eines nach dem anderen in den Seitenpuffer entsprechend der Zeichnungsreihenfolge; und 2) Berechnen des Zeichnungsergebnisses des Seitenpuffers Scanlinie für Scanlinie oder Streifen für Streifen. Die zweite Möglichkeit wird oft bevorzugt, wenn nicht komprimierte Daten zusammengeführt werden, weil die Speichermodulanforderungen hoch sind und oft ein vollständiger Speicher für eine zusammengeführte Seite nicht in das Speichermodul paßt. Im vorliegenden Fall befinden sich die Daten, welche in dem Seitenpuffer 1111 gesetzt sind, in dem komprimierten Bereich und die Gesamtheit des Seitenpuffers 1111 (welche wie weiter oben erörtert zum Speichern von zwei Seiten im vorausdesigned ist) verbleibt in dem Speichermodul 130. Nichtsdestotrotz wird die zweite Möglichkeit bevorzugt. Dies liegt daran, dass die erste Möglichkeit einen Speichermanangement-Overhead erfordert. Im Gegensatz zu einer nicht komprimierten Zusammenführung ist es nicht möglich, ein einzelnes Seitenelement in geeignete Zusammenführungsergebnisse an einem geeigneten Platz in dem Seitenpuffer zu zeichnen (zusammenzuführen), weil die Speichergröße einer komprimierten Seite sich ändert, wenn Seitenelemente auf dieser zusammengeführt werden. So muß das System entweder eine Menge Daten verschieben oder es muß mit Referenzpointern arbeiten, um die Daten an einer anderen Speicherstelle zu erneuern, ohne der Möglichkeit, den durch ungültige Daten besetzten Speicher freizugeben. Somit wären viele Speichermanagement-Overheads erforderlich. Die zweite Möglichkeit weist derartige Probleme nicht auf und wird daher in dem vorliegenden Ausführungsbeispiel verwendet.
  • Das Speichermanagement für einen oder mehrere Seitenpuffer 1111 wird im folgenden beschrieben werden. Das Zusammenführungsergebnis wird durch den Zusammenführungsfaden 1109 in Streifen berechnet, welche einer Höhe von 8 CT-Pixel entsprechen (weil eine CT-Zusammenführung vorzugsweise auf 8 × 8 JPEG-Blöcken ausgeführt wird). Das Speichermodul für den Seitenpuffer 1111 wird durch einen Seitenpuffer-Speichermanager zugewiesen beziehungsweise eingeteilt, wenn die Streifen zusammengeführt werden, entsprechend der maximalen Größe, welche ein komprimierter Streifen erreichen kann, basierend auf einer Worst-case-Annahme des niedrigsten Komprimierungsverhältnisses. Der Seitenpuffer-Speichermanager arbeitet typischerweise in einer rundlaufenden Art durch Zuweisen von Puffern und Abbeordern von Puffern in einem reservierten Speicherbereich, welcher groß genug während der Initialisierung dimensioniert wird, um eine ausgewählte Anzahl von komprimierten Seitenpuffern 1111 zu halten (zwei gemäß dem vorliegenden Ausführungsbeispiel). Jeder Seitenpuffer wird als runder Puffer (auch manchmal als Ringpuffer bezeichnet) implementiert. Wenn ein Streifen vollständig zusammengeführt ist, wird das zugewiesene Überschuss-Speichermodul zu dem Seitenpuffer-Speichermanager zurückgesetzt. Auch wenn die zusammengeführten Seiteninhalte eines Seitenpuffers an das Komprimierungs- und Screening-System 117 durch den Ausgabefaden 1113 ausgegeben werden, wird das Speichermodul, welches durch diesen Seitenpuffer besetzt wird, zu dem Seitenpuffer-Speichermanager zurückgesetzt. Wenn alle Seitenpuffer 1111 gefüllt sind, wird der Zusammenführungsfaden 1109 blockiert, bis der Ausgabefaden einen Seitenpuffer freigibt.
  • Der Zusammenführungsfaden 1109:
  • Wenn der Zusammenführungsfaden 1109 eine Seitenbeschreibung nimmt, welche auf dem Pointer in der Zusammenführungsreihe 1205 basiert, beginnt er die Seitenelementbeispiele zusammenzuführen. Genauer gesagt führt der Zusammenführungsfaden 1109 die Seitentrennungen eine nach der anderen in einem der Seitenpuffer 1111 zusammen (unter der Annahme, dass mehr als ein Seitenpuffer vorhanden ist). Die CT-Teile und die LW-Teile (jeweils komprimiert) werden getrennt voneinander für jede Trennung zusammengeführt und in demselben Seiten(trennungs)puffer 1111 gespeichert.
  • Die Zusammenführung wird durch den Zusammenführungsfaden 1109 durchgeführt. Konzeptionell sind die bevorzugten Verfahren zum Zusammenführen des CT-Teils und des LW-Teils eines Seitenelementes darin ähnlich, dass das Zusammenführungsergebnis in Streifen berechnet wird, vorzugsweise 8 CT-Pixel (= 16 LW-Pixel für das Xeikon-Gerät) hoch, welche die Seite horizontal unterteilen. Die Seitenpuffer werden jeder Seite der Trennung durch den Seitenpuffer-Speichermanager zugewiesen, wie oben beschrieben wurde. Der Seitenpuffer wird Streifen für Streifen beschrieben. Dies bedeutet, dass anfänglich die maximal mögliche Speichergröße für einen Streifen zugewiesen wird und, nachdem der Streifen zusammengeführt ist und die eigentliche Größe bekannt ist, wird ein Extraspeichermodul abbeordert. Das Zusammenführungsergebnis für einen Streifen wird Scanlinie für Scanlinie berechnet. Für das JPEG-Format ist die CT-komprimierte Zusammenführung einer Scanlinie ein Streifen, d. h. eine Reihe von 8 × 8 Blöcken, während für das RLE-Format die LW-komprimierte Zusammenführung einer Scanlinie eine LW-Linie ist, so dass 16 Scanlinien pro LW-Streifen vorhanden sind. Sobald alle Streifen in einer Seite zusammengeführt sind, werden die Startadressen der Seiten in den geeigneten Feldern "Anordnung in dem Ausgabepuffer" in dem Seitenbeschreibungsfeld 1309 aufgenommen. Für jede Duplexseite, falls 8 Seitenpuffer vorhanden sind (beispielsweise einer für jeden Druckkopf), würden 16 verschiedene Unterfelder vorhanden sein, welche die Startadressen für die LW-Daten und für die CT-Daten für jeden Kopf anzeigen würden. Es sei an dieser Stelle darauf hingewiesen, dass mehrere alternative Implementierungen für dieses Feld möglich sind. Beispielsweise weist gemäß einem bevorzugten Ausführungsbeispiel das Feld "Anordnung in dem Ausgabepuffer" einen Pointer pro Trennung für den ersten Streifen der LW- (oder CT-) Trennung auf, wobei andere Streifen nacheinander gespeichert werden. Damit dieses funktioniert, werden die Streifen derart gespeichert, dass der Beginn des nächsten Streifens bestimmt werden kann. Ein weiteres Ausführungsbeispiel besteht darin, dass ein Feld von Streifenbeschreibungen mit dem Startplatz und der Größe jedes Streifens in dem Feld verwendet wird. Viele andere Variationen sind möglich, wie für die Fachleute auf diesem Gebiet offensichtlich ist.
  • Somit ist ein weiterer Aspekt der vorliegenden Erfindung ein Verfahren, welches in dem Zusammenführungsfaden 1109 für ein effizientes Erzeugen der komprimierten Seite implementiert ist, wobei mit den komprimierten Seitenelementen begonnen wird, und wobei jegliche Zusammenführung im wesentlichen ohne einer Dekomprimierung der Seitenelemente ausgeführt wird. Das Verfahren zum Zusammenführen von Seitenelementen auf einer Seite in einer komprimierten Form, resultierend in einem einzelnen komprimierten Seitenelement, welches die gesamte Seite darstellt, läuft gemäß dem folgenden Pseudocode ab, welcher für jeden Streifen für jede Trennung arbeitet:
  • Figure 00720001
  • Figure 00730001
  • Der Zusammenführungsprozeß
  • Der Zusammenführungsprozeß, welcher durch den Zusammenführungsfaden 1109 ausgeführt wird, wird im folgenden ausführlicher beschrieben. Obwohl der Betrieb gemäß dem vorliegenden Ausführungsbeispiel alle Elemente sofort, Streifen für Streifen, Trennung für Trennung, zusammenführt, wird die Beschreibung im folgenden für eine einfache Situation, wie in 2(b) dargestellt ist, mit lediglich zwei Elementen gegeben, und wie die für das Zusammenführen von mehreren Elementen Streifen für Streifen notwendigen Details hinzugefügt werden, wird als geradliniges Implementierungsdetail weggelassen. Für das vorliegende Beispiel würde das Seitenlayoutskript spezifizieren, dass die Reihenfolge derart ist, dass das Element 301 unterhalb des Elementes 203 ist, und die Stelle der Zusammenführung des Elementes 203 würde in Bezug zu der Position des Elementes 201 spezifiziert werden. In einem System, welches das Konzept eines nicht-flüchtigen Masters und variabler Komponenten verwendet, kann das Element 201 der nicht-flüchtige Master und das Element 203 eines der variablen Elemente sein. Es sei an dieser Stelle darauf hingewiesen, dass die vorliegende Erfindung im allgemeinen nicht die Konzepte von "Master" und "festen" Elementen aufweist und offensichtlich derart angepaßt wird, dass es derartige Konzepte umfaßt. Die Identifizierer und Positionen der Seitenelemente 201, 203 und 207 in den zusammengeführten Daten 205, welche in den komprimierten zusammengeführten Daten und der Reihenfolge der Zusammenführung enthalten sind, werden spezifiziert und zugänglich für den Zusammenführungsfaden 1109, wie oben beschrieben wurde. Gemäß einem bevorzugten Ausführungsbeispiel stellen die zusammengeführten Daten 205 Daten von den Streifen eines Seitenelementes dar, in welches ein oder mehrere ausgewählte zugeordnete Streifen der Seitenelemente 203 mit einem Seitenelement 201 zusammengeführt werden.
  • Die Daten in dem Element 201 und dem Element 203 weisen Bilder auf, welche eine Linienarbeit und/oder ununterbrochene Ton("CT")-Bilder sein können. Die Linienarbeit, wie sie hierin verwendet wird, beinhaltet Text. Sowohl die Linienarbeit als auch die CT-Bilder werden durch Bildelemente ("Pixel") beschrieben und die Pixelwerte werden von der PDL-Beschreibung durch eine RIP-Rasterung bei der Auflösung passend für den Drucker erzeugt, welcher zum Drucken der zusammengeführten Daten verwendet wird. Wie oben beschrieben wurde, sind die verschiedenen Seitenelemente in einer Form nach einer RIP-Rasterung jedoch vor einem Screenen erhältlich. Dies bedeutet, dass die Seitenelemente ein Raster von Pixeln darstellt, wobei jedes Pixel die Tintenwerte für ein Farbdrucken aufweist, beispielsweise CMYK-Werte, welche die Menge von cyanfarbiger, magentafarbiger, gelber und schwarzer Tinte zum Drucken darstellen. Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die Elemente 201 und 203 zum Zusammenführungsfaden 1109 in komprimierter Form geliefert. Das beschriebene Verfahren und die beschriebene Vorrichtung sind nicht auf ein spezielles Komprimierungsformat beschränkt. Sie können mit irgendeinem Komprimierungsformat verwendet werden, solange das Format ein Einfügen von Bitströmen ermöglicht, welche komprimierte Bilddarstellungen in einen ähnlich formatierten Bitstrom darstellen.
  • Zusammenführung von ununterbrochenen Tondaten:
  • Im ersten vorausgesetzten Fall sind das Seitenelement 201, welches Element "E" genannt wird, und das Seitenelement 203, welches Element "D" genannt wird, beides CT-Bilder. Diese CT-Bilder würden jeweils eine mit ihnen verbundene CT-Gültigkeitsmaske und LW-Daten aufweisen, welche eine CT-Auswahlmaske beinhalten würden. Soweit in der vorliegenden vereinfachten Erörterung der Zusammenführung von CT-Daten nichts anderes angegeben ist, sind es die CT-Daten, wie durch die CT-Gültigkeitsmaske definiert, welche zusammengeführt werden, und die CT-Gültigkeitsmaske definiert die Grenze (den Rahmen) der CT-Daten, welche zusammengeführt werden sollen. Die CT-Auswahlmaske definiert die Grenze der sichtbaren CT-Daten, welche zusammengeführt werden sollen, wenn auch bei der Auflösung der LW-Daten. Wenn die CT-Daten zusammengeführt werden, entfaltet lediglich die CT-Gültigkeitsmaske ihre Wirkung. Nach dem Zusammenführen einer CT-Datenangabe E (z. B. 203) über einer anderen CT-Datenangabe D (z. B. 201) durch die CT-Gültigkeitsmaske von D, wird die CT-Gültigkeitsmaske nicht länger benötigt. Was nach einem Zusammenführen der beiden Seitenelemente mit der CT-Auswahlmaske passiert, ist in dem Abschnitt bezüglich der Zusammenführung von LW-Daten beschrieben. Die CT-Auswahlmaske entfaltet lediglich dann ihre Wirksamkeit, wenn die letztendlich zusammengeführten CT-Daten und die letztendlich zusammengefügten LW-Daten von allen zusammengeführten Seitenelementen miteinander kombiniert werden. Ein wichtiger Unterschied zwischen der CT-Gültigkeitsmaske und der CT-Auswahlmaske besteht darin, dass erstere bei einer CT-Auflösung und letztere bei einer LW-Auflösung liegt. Außerdem kann die CT-Gültigkeitsmaske mehr von den CT-Daten gültig machen, als durch die CT-Auswahlmaske ausgewählt ist, jedoch sollten alle ausgewählten CT-Daten gültig gemacht werden. Ein Beispiel ist in 9 dargestellt, in welchem ein kleiner LW-Text ("T" 907) sich auf dem CT-Bereich 909 in demselben Seitenelement 903 befindet. Der Abschnitt der CT-Daten 911, welcher sich unter dem LW-Text 927 befindet, würde gültig gemacht werden, jedoch nicht ausgewählt werden, wie durch die CT-Gültigkeitsmaske 933 und die CT-Auswahlmaske 943 gezeigt ist. Dieser Aspekt der vorliegenden Erfindung ermöglicht ein schnelleres CT-Zusammenführen und eine Verringerung von Komprimierungsartifakten aufgrund einer geringeren CT-Grenze, welche in dem CT-Zusammenführungsprozeß involviert ist. Gemäß einem bevorzugten Ausführungsbeispiel werden die CT-Elemente in Pixelform (beispielsweise nach einer RIP-Rasterung) unter Verwendung von JPEG komprimiert. Dies bedeutet, dass die CT-Elemente in Blöcke eingeteilt werden, wobei jeder Block einem Rechteck, vorzugsweise 8 × 8 Pixel, zugeordnet ist. In dem vereinfachten in 3 dargestellten illustrativen Beispiel besteht das CT-Seitenelement E, welches jetzt mit dem Bezugszeichen 301 bezeichnet ist, aus 5 × 5 Blöcken; und das CT-Seitenelement D, welches nun mit dem Bezugszeichen 303 bezeichnet ist, besteht aus 2 × 2 Blöcken. Offensichtlich sind die eigentlichen Seitenelemente wesentlich größer. Jedoch ist jeder Streifen lediglich ein Block hoch, wenn die Streifen Streifen für Streifen zusammengeführt werden. Die Blöcke des Seitenelementes E (301) sind mit E1,1 bis E5,5 nummeriert und die Blöcke des Seitenelements D (303) sind mit D1,1 bis D2,2 nummeriert. Die verwendete Form besteht darin, dass der erste Index die Reihennummer des Blockes darstellt und der zweite Index die Spaltennummer des Blockes darstellt. Es sollte für die Fachleute auf diesem Gebiet offensichtlich sein, dass in dem bevorzugten Ausführungsbeispiel lediglich 1-Block hohe Streifen zusammengeführt werden sollen. Die Erörterung im folgenden wird das Zusammenführen von vollständigen zweidimensionalen Seitenelementen im allgemeinen beschreiben.
  • Es sei ebenfalls darauf hingewiesen, dass in dem in 3 dargestellten einfachen Fall das Seitenelement D 303 rechteckig ist, wobei der Teil des Elementes D 303, welcher mit einem Teil des Elementes E 301 zusammengeführt werden soll, aus einer exakten Anzahl an Blöcken besteht, wobei dieser Teil an einer Stelle zusammengeführt wird, welche sich in bezug zu dem Element 301 an exakten Blockgrenzen des Seitenelementes 301 befindet. Dies ist der einfachste Fall. Wenn man den vollständigen Arbeitsfluß im voraus kennt, wird ein Zusammenführen vorzugsweise im voraus angeordnet, um zu garantieren, dass das Zusammenführen innerhalb der Blockgrenzen stattfindet. Gemäß einem weiteren Aspekt der vorliegenden Erfindung sei daran erinnert, dass jedes CT-Element eine zugeordnete CT-Gültigkeitsmaske und eine CT-Auswahlmaske aufweist, welche zusammen definieren, welcher Teil des Bildes sichtbar ist. Diese Masken sind nicht notwendigerweise rechteckig – sie können irgendeine Form annehmen, beispielsweise eine Kreisform. Ebenfalls kann das Seitenelement 203 im allgemeinen an irgendeiner willkürlichen Position 209 angeordnet werden. Somit werden sich die Blöcke des Seitenelements 201 im allgemeinen nicht mit denjenigen anderer Elemente ausrichten.
  • Bei einer JPEG-Komprimierung wird jedes Bild in Blöcke aufgeteilt und die DCT-Koeffizienten für jeden Block werden quantisiert, beispielsweise unter Verwendung einer digitalen Pulscodierungs-Modulation, einer Lauflängencodierung und einer Huffman-Codierung. Die Darstellung der verschiedenen komprimierten Blöcke nach der Huffman-Codierung kann verschiedene Längen (in Byte) aufweisen.
  • Das JPEG-Format ermöglicht jedem codierten Block, dass diesem eine spezielle 16-Bit-Ausrichtung (auch als Neustartmarkierung bezeichnet) vorangestellt werden kann, was als RST bezeichnet wird. Diese 16-Bit-Ausrichtungsmarkierung erleichtert das Suchen über einen Bitstrom; man sucht nach dem speziellen 16-Bit RST-Wert und vergleicht jedes 16-Bit-Wort des Bitstroms. Es wird im folgenden wieder Bezug genommen auf den vereinfachten Fall in 3, wobei jedem codierten Block eine derartige Markierung vorangestellt wird, wobei die Bilder E (301) und D (303) in der Form eines Datenstromes gespeichert werden, welcher eine Abfolge der Blockdarstellungen ist, wobei jeder mit einer RST-Markierung beginnt. Dies ist in 4 dargestellt, in welcher das beispielhafte Seitenelement E 401 (301) RST-Markierungen 403, 405, 407, 409 und 411 vor jedem Block aufweist und in welcher das beispielhafte Seitenelement D 415 (303) so dargestellt ist, dass es RST-Markierungen 417, 419, 421 und 423 vor jedem Block aufweist. Alternativen dazu, dass jedem Block eine RST-Markierung vorangestellt wird, sind auch wünschenswert und werden weiter unten in dieser Druckschrift beschrieben werden.
  • Gemäß einem bevorzugten Ausführungsbeispiel für den Fall von CT-Daten, wenn die Blöcke des darunterliegenden Seitenelementes E 201 sich nicht mit denjenigen des oberen Seitenelementes D 203 ausrichten, was häufig auftreten wird, werden die E- und D-Blöcke von 201 und 203 vor dem Zusammenführen ausgerichtet. Die Blöcke des Seitenelementes D 203 werden zu dem Gitter, welches durch die Blöcke des Seitenelementes E 201 definiert ist, durch Ausführen einer Übertragung des Seitenelementes D 203 über den kleinstmöglichen Abstand zum Ausrichten der D-Blöcke des Elementes 203 ausgerichtet. Dies ist in 5(a) und 5(b) dargestellt. Die Blockgrenzen des (unterhalb liegenden) Seitenelementes E 201 werden mit dem Bezugszeichen 501 bezeichnet und als gepunktete Linien dargestellt, wobei die Blöcke des Seitenelementes D 203 mit dem Bezugszeichen 503 bezeichnet werden und die CT-Gültigkeitsmaske des Seitenelementes D 203 mit dem Bezugszeichen 509 bezeichnet wird. In 5(a) ist die Situation vor der Übertragung dargestellt. Der kürzeste Abstand zum Ausrichten des Seitenelementes D 203 zu den Blockgrenzen 501 besteht darin, das Seitenelement D 203 nach oben und nach links zu übertragen. 5(b) zeigt die nach einer derartigen Übertragung ausgerichteten Bilder. Gemäß einem bevorzugten Ausführungsbeispiel werden die Pixelblöcke 503 des D-Seitenelementes 203 bewegt und die CT-Gültigkeitsmaske 509 wird nicht bewegt. Die Wirkung davon besteht darin, dass sich die Position des Elementes D 203 relativ zu anderen Seitenelementen in der Seite (derartige andere Seitenelemente sind in 5 nicht dargestellt) nicht ändert. Daraus resultierend bleibt die visuelle Ausrichtung mit anderen Seitenelementen erhalten.
  • Für den Fall von 8 × 8 Blöcken in der JPEG-Ausführungsform beträgt die maximale Übertragung 4 Pixel in den vertikalen und/oder horizontalen Richtungen. Bei einer CT-Auflösung von 300 Pixel pro Inch, üblich bei Hochqualitäts-Veröffentlichungen, überträgt sich dies auf eine maximale Verschiebung von ungefähr 1/75 eines Inches oder ungefähr 1/3 mm.
  • Als Ergebnis der Übertragung des Seitenelementes D 203 in bezug auf die CT-Gültigkeitsmaske 509 gelangen einige der Pixel, welche außerhalb der CT-Gültigkeitsmaske 509 waren, ins Innere der CT-Gültigkeitsmaske und werden sichtbar. Falls die CT-Gültigkeitsmaske 509 nahe oder an der Kante des Seitenelementes 203 ist, können Artifakten nach der Übertragung auftreten. Um derartige Artifakten zu verhindern, muß eine Grenze von wenigstens 4 Pixel der Seitenelementdaten D um die CT-Gültigkeitsmaske 509 herum erhältlich sein, um eine Blockausrichtung zu ermöglichen. In einem weiteren Ausführungsbeispiel für das Verfahren der vorliegenden Erfindung wird das Bild, immer wenn die Bild-CT-Gültigkeitsmaske 509 des Seitenelementes 303 nahe der Grenze des Seitenelementes 203 ist, beispielsweise das Grenzkästchen von D für ein rechteckiges Bild, durch einen kleinen Faktor vergrößert, um eine Grenze von 4 Pixeln um die Bild-CT-Gültigkeitsmaske 509 zu bilden. Eine derartige Vergrößerung würde normalerweise während der RIP-Rasterung als Instruktionen durchgeführt werden, das Bild zu vergrößern, wenn sowohl die CT-Gültigkeitsmaske als auch die CT-Daten erhältlich sind. Ein Beispiel einer derartigen Vergrößerung ist in 6 dargestellt. 6(a) zeigt die Bild-CT-Gültigkeitsmaske 509, welche die gleiche Größe wie das Bildelement 203 aufweist. Die Situation nach der Vergrößerung und vor der Verschiebung bzw. Ersetzung ist in 6(b) dargestellt. Das Seitenelement 603 ist eine leicht vergrößerte Version des Seitenelementes 303 mit einer Grenze 604 von 4 Pixeln außerhalb der CT-Gültigkeitsmaske 509.
  • In einer besonderen RIP-Implementierung, welche mit dem bevorzugten Ausführungsbeispiel verwendet wird, weist das RIP gewöhnlich zwei Files für jedes Seitenelement auf: das PS-File selber und einen kleinen Text-File mit RIP-Optionen (Duplex oder nicht, Orientierung, CT-Handhabung etc.). Mit einem derartigen RIP kann das Text-File die RIP informieren, wann ein Objekt, welches RIP-gerastert werden soll, als "variable" Daten verwendet werden wird. Wenn das RIP auf eine CT trifft, untersucht es die augenblickliche CT-Gültigkeitsmaske und die CT-Auswahlmaske. Der Schnittpunkt des Grenzkästchens der CT und des Grenzkästchens der Gültigkeitsmaske und der Clippmaske wird bestimmt. An jeder Seite (oben, unten, links, rechts) sollten wenigstens vier CT-Pixel zwischen diesem Schnittpunkt und der CT-Auswahlmaske und dem Clippmasken-Grenzkästchen vorhanden sein, um einer möglichen Übertragung über ein Maximum von vier Pixeln Rechnung zu tragen. Falls der Abstand weniger als 4 Pixel beträgt, wird die CT skaliert und durch die RIP in einer derartigen Weise umpositioniert, dass eine Grenze von 4 Pixel auf allen Seiten erhältlich ist. Gemäß einem weiteren Ausführungsbeispiel würde die RIP nicht die CT skalieren, jedoch CT-Pixel über die Grenze der CT-Gültigkeitsmaske hinaus duplizieren (oder extrapolieren), um sicherzustellen, dass für willkürlich geformte Gültigkeitsmasken ein Rand von 4 Pixel außerhalb der CT-Gültigkeitsmaske vorhanden ist.
  • Manchmal ist die Position eines Seitenelementes auf der abschließenden Seite im voraus bekannt (relativ beispielsweise zu einigen gewöhnlichen Seitenelementen, welche als "Master" wirken). Falls dies der Fall ist, können die JPEG-Blöcke auf eine derartige Weise (durch das RIP) erzeugt werden, dass sie sich mit dem "Master" ausrichten, wobei die Notwendigkeit einer Ausrichtung während der Zusammenführungsphase ausgeschaltet wird. Falls keine Ausrichtung benötigt wird kann der Schritt zur Vergrößerung der Größe in der RIP weggelassen werden.
  • Falls das PS-File von einem Standard-Vordruck-Anwendungsprogramm direkt an die RIP gesendet wird, unter Verwendung beispielsweise des standardmäßig installierten PostSkript-Treibers, kann man dann noch derartige Optionen einbinden, welche auf einem Druckerdefinitions("ppd")-File basieren, unter Verwendung beispielsweise der "Seiteneinstelleinrichtung"-Optionen. Eine derartige Implementierung ist den Fachleuten auf diesem Gebiet von Vordruckprogrammierungen und PostSkript RIP-Rasterungen bekannt. Eine spezielle Verfahrensoption (festgesetzt durch den Benutzer) informiert das RIP darüber, dass es ein variables Seitenelement bearbeitet.
  • In der Praxis werden viele Bilder oft aus Designgründen abgeschnitten, wobei ein derartiges Abschneiden selbst durch eine Maske definiert wird. In einer derartigen Situation wird die Abschneidemaske als CT-Gültigkeitsmaske 509 verwendet und eine Grenze ist bereits erhältlich, so dass gemäß einem weiteren Ausführungsbeispiel das RIP zum Erzeugen des Seitenelementes 503 nicht die Extraskalierung anwendet.
  • Zur Erinnerung der hierin bereits vorgenommenen Beschreibung ist es selbstverständlich, wann immer ein Zusammenführen des CT-Bildes D 203 beschrieben wird, dass, falls eine Vergrößerung aufgetreten ist, das Zusammenführen der aus dem vergrößerten Seitenelement 603 als aus dem Seitenelement 203 besteht, auch wenn dies nicht explizit ausgedrückt ist.
  • Wie in 5 ersichtlich ist, befinden sich einige Blöcke des Seitenelementes 203, beispielsweise der mit A beschriftete und in 5(b) mit dem Bezugszeichen 511 bezeichnete Block, vollständig im Inneren der CT-Gültigkeitsmaske 509, während andere Blöcke sich lediglich teilweise innerhalb der CT-Gültigkeitsmaske 509 befinden, d. h. dass diese durch die CT-Gültigkeitsmaske 509 geschnitten werden. Die von der CT-Gültigkeitsmaske geschnittenen Blöcke werden als Grenzblöcke bezeichnet und ein derartiger Block ist mit D beschriftet und mit dem Bezugszeichen 513 in 5(b) bezeichnet. Die Grenzblöcke werden mit benachbarten Blöcken des Seitenelementes 201 kombiniert, was in Blöcken in dem zusammengeführten Bild 205 resultiert, welches Pixel von sowohl dem Seitenelement 201 als auch dem Seitenelement 203 umfaßt. Gemäß einem Ausführungsbeispiel werden Grenzblöcke des Seitenelementes D 203, beispielsweise Block 513, unterschiedlich von inneren Blöcken des Seitenelementes D 203, beispielsweise Block 511, zusammengeführt. Es ist somit notwendig, die Grenzblöcke zu identifizieren.
  • Gemäß einem bevorzugten Ausführungsbeispiel, wie bereits erörtert wurde, wird die CT-Gültigkeitsmaske 509 als ein rechteckiges Feld von Byte (eine "Bit"-Map) dargestellt, wobei jedes Bit einem Pixel in dem CT-Bild zugeordnet ist. Falls ein Bit in der Bit-Map der CT-Gültigkeitsmaske 509 festgesetzt wird, ist das zugeordnete Pixel in dem Seitenelement 203 sichtbar. Gemäß einem alternativen Ausführungsbeispiel wird die CT-Gültigkeitsmaske 509 als ein Pfad (ein Satz an Segmenten, welche zusammen eine Form beschreiben) beschrieben. Andere Alternativen sind ebenfalls möglich, wie es für die Fachleuten auf diesem Gebiet eindeutig offensichtlich ist.
  • Gemäß einem bevorzugten Ausführungsbeispiel, in welchem die CT-Gültigkeitsmaske 509 eine Bit-Map ist, stellt ein Grenzblock des Seitenelementes D 203 einen Block dar, für welchen wenigsten ein Bit, jedoch nicht alle Bits, in die Pixel der CT-Gültigkeitsmaske 509 der Bit-Map gesetzt sind, welche dem Block zugeordnet ist. Innere Blöcke des Seitenelementes D 203 haben alle zugeordneten CT-Gültigkeitsmaskenbits in der Bit-Map 509 festgesetzt.
  • Gemäß einem alternativen Ausführungsbeispiel, in welchem die CT-Gültigkeitsmaske 509 als ein Pfad beschrieben wird, wird der Schnittpunkt der CT-Gültigkeitsmaske und des Grenzkästchens eines jeden Blockes des Seitenelementes D 203 bestimmt. Das Grenzkästchen eines Blockes ist der (unsichtbare) rechteckige Pfad, welcher die Grenze des Blocks definiert. Falls der Schnittpunkt gleich dem Grenzkästchen des Blockes ist, ist der Block ein innerer Block des Seitenelementes D 203. Falls der Schnittpunkt nicht frei ist und nicht gleich dem Block ist, dann ist der Block ein Grenzblock des Seitenelementes D 203.
  • Das Zusammenführen von inneren Blöcken von D 203 "in" das Seitenelement 201 wird im folgenden unter Zuhilfenahme von 3 beschrieben, wobei "in" hier verwendet wird, da die Order lautet, dass D über E angeordnet ist. In 3 wird aus Gründen der Einfachheit vorausgesetzt, dass keine Grenzblöcke in dem Bild D vorhanden sind, das hier mit dem Bezugszeichen 303 bezeichnet ist. Das darunterliegende Seitenelement in diesem einfachen Beispiel ist mit dem Bezugszeichen 301 bezeichnet und das gewünschte zusammengeführte Bild mit dem Bezugszeichen 305. In diesem Ausführungsbeispiel wird angenommen, dass diese CT-Bilder unter Verwendung von JPEG komprimiert werden, wie oben beschrieben wurde. Das Bild M 305 wird durch Kopieren dieser Blöcke (komprimiert) von dem Seitenelement E 301, welches in dem Bild M 305 aufbewahrt werden muß, und alle internen Blöcke (komprimiert) des Seitenelementes D 303 aufgebaut, welche in diesem einfachen Fall alle Blöcke des Seitenelementes D 303 darstellen.
  • Die folgende Darstellung wird zur Beschreibung verwendet, wie man die zu kopierenden Grenzblöcke lokalisiert:
    • – (Px, Px) sind jeweils die vertikalen und horizontalen Positionen in Blockkoordinaten der Stelle 307, an welcher das Seitenelement D über das Seitenelement E gedruckt werden soll (im Knockout). Das Beispiel in 3 zeigt das Seitenelement D (303), welches über das Seitenelement E (301) angeordnet werden soll, um ein kombiniertes Bild 305, (Px, Py) = (3, 2) zu liefern;
    • – Ei,j ist die Kennzeichnung eines Blocks in dem Seitenelement E mit 1 ≤ i ≤ E_max_wert und 1 ≤ j ≤_max_hor, wobei E_max_wert und E_max_hor jeweils die maximalen Blockausgestaltungen in den vertikalen und horizontalen Richtungen für das Seitenelement E darstellen; und
    • – Di,j ist die Kennzeichnung eines Blocks in dem Seitenelement D mit 1 ≤ i ≤ D_max_vert und 1 ≤ j ≤ D_max_hor, wobei D_max_vert und D_max_hor jeweils die maximalen Blockausgestaltungen in den vertikalen und horizontalen Richtungen für das Seitenelement D darstellen.
  • Die Blocknummern der zu kopierenden Quellblöcke werden durch den folgenden Pseudocode bestimmt, welcher für ein zweidimensionales Objekt dargestellt ist. Wie für einen Fachmann auf diesem Gebiet offensichtlich ist, können die "Für i = 1 bis E_max_vert" und "nächstes i"-Ausdrücke von dem Pseudocode entfernt werden, wenn lediglich ein 1-Block hoher Streifen von CT-Daten gehandhabt wird.
  • Figure 00860001
  • Es sei darauf hingewiesen, dass in dem Beispiel in 3 E_max_hor gleich 5, E_max_vert gleich 5, D_max_hor gleich 2 und D_max_vert gleich 2 ist. Dies bedeutet, dass die Koordinaten eines ersten Blockes E1,1 des Seitenelementes verglichen werden mit den Koordinaten der Stelle, an welcher das Seitenelement D über dem Seitenelement E angeordnet werden soll. Falls i = 1 < Px = 3 wird der Block E1,1 kopiert. Dasselbe gilt für die Blöcke E1,2 bis E1,5 für E2,2 bis E2,5 und für E3,1. Wenn die Koordinaten des Blockes E3,2 verglichen werden mit den Koordinaten an der Stelle, an welcher das Seitenelement D darüber angeordnet werden soll, so resultiert dieses in i = 3 = Px = 3; i = 3 < Px + D_max_wert = 5; j = 2 = Py = 2; und j = 2 < Py + D_max_hor = 4. Dies bedeutet, dass der Block mit den Koordinaten D(3 – 3 + 1),(2 – 2 + 1) = D1,1 kopiert werden wird. Dieses Verfahren fährt in derselben Weise für die verbleibenden Koordinaten fort.
  • Ein Suchen nach Blockgrenzen wird, wie oben beschrieben wurde, durch Suchen nach speziellen Mustern einer RST-Markierung in dem Datenstrom eines Bildes ermöglicht. Gemäß einem Ausführungsbeispiel wird entweder angenommen, dass die Daten mit RST-Markierungen an geeigneter Stelle komprimiert worden sind oder dass RST-Markierungen in einem bereits komprimierten Datenstrom eingefügt worden sind.
  • Da jeder Block genug Informationen enthält, seinen darstellenden Pixelwert zu erreichen, ist eine Dekomprimierung vor einem Kopieren zu dem Bild M (305) nicht notwendig. Auf diese Weise wird die Zeit zum Dekomprimieren ausgeschaltet bzw. eingespart. Außerdem ist das Bild M (305) immer noch ein komprimiertes Bild, was Speicherplatz spart. Ebenfalls besitzen die Blöcke des Seitenelementes E (201) und die inneren Blöcke des Seitenelementes E (203) keine mittleren nicht komprimierten Darstellungen, was wiederum Speicherplatz und Bandbreite spart.
  • Wenn mehr als zwei Seitenelemente zusammengeführt werden sollen, beispielsweise wenn auch ein Seitenelement 207 zusätzlich zu den Seitenelementen E 201 und D 203 vorhanden ist, kann der komprimierte Zusammenführungsprozeß ausgeführt werden, indem zunächst die Seitenelemente E und D in ein zwischenzusammengeführtes Bild M1 zusammengeführt werden und danach das Zwischenbild M1 mit dem Seitenelement 201 auf die gleiche Weise zusammengeführt wird. Durch Verwendung dieses Verfahrens ist die relative Position der Seitenelemente D und 207 irrelevant. Dies stimmt sogar dann, falls das Seitenelement 207 mit dem Seitenelement D überlappt. Ein alternatives Ausführungsbeispiel, welches besser funktioniert, beinhaltet ein Ausdehnen des obigen (zweidimensionalen Kopierungs-) Pseudocodes, um auch nach Blocknummern zu testen, die durch die Blöcke 209 ersetzt werden müssen.
  • Gemäß einem bevorzugten Ausführungsbeispiel stellen die Bezugszeichen 203 und 207 verschiedene CT-Seitenelemente dar, welche in das abschließende zusammengeführte Bild 205 mitumfaßt werden sollen. Das abschließende zusammengeführte Bild liegt in der Form von komprimierten zusammengeführten CT-Daten vor und kann eine vollständige Seite oder einen Teil einer Seite darstellen.
  • Wenn die Bezugszeichen 203 und 207 verschiedene CT-Seitenelemente darstellen, welche in das abschließende zusammengeführte Bild mit eingeschlossen werden sollen, müssen die CT-Auswahlmasken, welche mit jedem dieser CT-Daten verbunden sind, auch zusammengeführt werden. Diese werden zur gleichen Zeit zusammengeführt, wie die LW-Daten zusammengeführt werden, wie weiter unten beschrieben werden wird.
  • Obwohl das Beispiel, welches oben benutzt wurde, um das Kopieren der inneren Blöcke von D darzustellen, rechteckige Bilder verwendet, ist das Verfahren gemäß der vorliegenden Erfindung nicht auf rechteckige Bilder beschränkt. Wie oben erörtert wurde, kann eine Maske 509 im allgemeinen ein nicht rechteckiges Seitenelement D 203 aufnehmen, um anzuzeigen, ob ein Block einen gültigen Block des Seitenelementes D darstellt oder nicht. In diesem Fall wird der obige (2-D kopierende) Pseudocode lediglich bei inneren Blöcken des Seitenelementes D (203) angewendet.
  • Für das illustrative Beispiel in 3 oder für die inneren Blöcke von D (203) wurde angenommen, dass für den Fall des JPEG-Komprimierungsformates die Bilder E und D unter Verwendung desselben JPEG-Schemas komprimiert werden, wobei dieselben Quantisierungs-Tabellen und Huffman-Tabellen dabei umfaßt sind. Falls dies nicht der Fall ist, wenn später die zusammengeführten Daten dekomprimiert werden, muß das Dekomprimierungsschema zu dem speziellen des kopierten Blockes umgeschaltet werden, wenn auf einen derartigen Block gestoßen wird. Wie dies erreicht wird, wird im folgenden beschrieben. Das Komprimierungsmodul in dem vorliegenden besonderen RIP kennt lediglich eine Huffman-Tabelle und einen begrenzten Satz an Quantisierungs-Tabellen. Dies ist keine Beschränkung der vorliegenden Erfindung, sondern lediglich eine Implementierungswahl. Diese Quantisierungs-Tabellen ermöglichen unterschiedliche Qualitätseinstellungen (hoch, mittel und niedrig). In einer Ausgestaltung mit einem "Master" und einem "variablen" Objekt, falls ein Master mit einer hohen Qualitätstabelle und ein variables Objekt mit einer mittleren Qualitätstabelle komprimiert wird, muß dann die Variable umquantisiert werden. In einem allgemeinen Fall würde dies zusätzliche Rundungsfehler und somit einen zusätzlichen Qualitätsverlust herbeiführen. Um dies zu minimieren, verwendet das besondere Ausführungsbeispiel einen Satz an unterschiedlichen Quantisierungstabellen, beispielsweise dass die Quantisierungskoeffizienten der mittleren Qualitätstabelle doppelt so groß sind wie die entsprechenden Koeffizienten für die hohe Qualitätstabelle. Die Koeffizienten für die niedrige Qualitätstabelle sind dann wiederum doppelt so groß. Der Zusammenführungsfaden 1109 codiert alle Seitenelemente auf die höchste Qualitätseinstellung, welche auf einer Seite verwendet wird, um.
  • Gemäß einem bevorzugten Ausführungsbeispiel werden die Grenzblöcke des Seitenelementes D 203 nicht in einer komprimierten Form zusammengeführt, da jeder resultierende Block in dem zusammengeführten Bild 205 eine Mischung von Pixel aus dem entsprechenden Block in dem Seitenelement E 201 und dem Grenzblock des Seitenelementes D 203 enthält. Somit werden die Grenzblöcke in D und der entsprechende Block in E dekomprimiert, in nicht komprimierter Form zusammengeführt und zum Bilden des entsprechenden Blockes in dem Bild M 205 zurückkomprimiert. Es sei an dieser Stelle darauf hingewiesen, dass das Zusammenführen der Grenzblöcke unter Verwendung herkömmlicher nicht komprimierter Verfahren einen minimalen Einfluß auf die gesamte Verfahrensgeschwindigkeit besitzt. Die gesamte Anzahl von Blöcken in einem CT-Bildelement steigt linear mit dem Bereich des Elementes an – genauer gesagt quadratisch mit der Größe des Elementes, wohingegen die Anzahl der Grenzblöcke mit der Begrenzung des Elementes ansteigt, und somit linear mit der Größe. Für vernünftig große Elemente wird der Bruch der Blöcke, welche Grenzblöcke sind, sehr klein. Somit wird ausgesagt, dass in dem vorliegenden Ausführungsbeispiel für blockkomprimierte CT-Bilder das hierin beschriebene Verfahren ein Zusammenführen von Daten im wesentlichen in komprimierter Form ausführt. Beispielsweise sei angenommen, dass für ein bestimmtes Bild D die Blockgrenzen weniger als 10% der gesamten Blöcke bilden. Somit verhindert unter Verwendung eines Ausführungsbeispiels des Verfahrens der vorliegenden Erfindung ein Zusammenführen von mehr als 90 Prozent der Blöcke die rechnerisch intensiven Schritte einer Dekomprimierung vor dem Zusammenführen und einer Zurückkomprimierung nach dem Zusammenführen. Gemäß einem Beispiel bei einem Drucken mit 300 Pixel pro Inch, üblich für viele Kurzlauf-Farbdrucker, wie beispielsweise Farblaserdrucker, weist ein kleines Seitenelement von einem Quadratinch 1444 8 × 8 JPEG-Blöcke auf und 152 davon liegen auf der Grenze, ungefähr 10,5% von allen. Dieser Prozentsatz geht linear nach unten, wenn sich die Größe vergrößert. Dies bedeutet, dass ein 2 × 2 Inch-Bild ungefähr 5,3% der gesamten JPEG-Blöcke als Grenzblöcke aufweist, während für ein 4 × 4-Inchbild der Prozentsatz auf ungefähr 2,6% fällt. Somit kann, wenn eine wesentliche Mehrheit der Blöcke, welche zusammengeführt werden sollen, in komprimierter Form zusammengeführt werden, ausgesagt werden, dass das Verfahren im wesentlichen in komprimierter Form komprimiert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann die Suchzeit für Blöcke in diesem Verfahren erheblich reduziert werden. Falls bekannt ist, dass ein bestimmter Bereich oder bestimmte Bereiche des Seitenelementes E 201 immer in dem Bild M 205 gehalten werden, ist es dann nicht für die RST-Markierungen notwendig, für jeden Block zu existieren, welcher zu einem derartigen nicht-variierenden Bereich gehört. Somit kann die Menge an Markierungsinformationen reduziert werden. Eine Abfolge von Blöcken kann als ein vollständiger Block behandelt werden, welcher hierin als Superblock bezeichnet wird, mit lediglich einer RST-Markierung. Da das Vorhandensein von RST-Markierungen das Komprimierungsverhältnis in JPEG verringert, bedeutet ein Vorhandensein von wenigeren RST-Markierungen ein höheres Komprimierungsverhältnis für die Bilder. Die Suchzeit für die Blockgrenzen wird ebenfalls verringert.
  • Als vereinfachtes Beispiel wird wiederum auf die Bilder E (301) und D (303) aus 3 verwiesen, wobei E3,2; E3,3; E4,2 und E4,3 die einzigen Bereiche sind, welche mit D in dem Seitenelement E zusammengeführt werden sollen. Normalerweise werden die Daten wie in 4 dargestellt repräsentiert. Jedoch wird bei einer Verwendung der Kenntnis davon, welche Bereiche des Seitenelementes E 301 unverändert verbleiben, gemäß einem weiteren Ausführungsbeispiel des Verfahrens der vorliegenden Erfindung der Datenstrom modifiziert und dargestellt, wie in 7 ersichtlich ist. In dem Seitenelement E (jetzt mit dem Bezugszeichen 701 versehen) wird eine erste RST-Markierung 703 vor dem Block E1,1 angeordnet. Die nächste RST-Markierung 705 wird lediglich vor dem ersten Block angeordnet, der sich ändern kann, um Block E3,2 zu sein.
  • Gemäß einem weiteren Aspekt können auf ähnliche Weise wenigere RST-Markierungen verwendet werden oder falls RST-Markierungen durchwegs vorhanden sind, können die RST-Markierungen aus dem Datenstrom des Seitenelementes D entfernt werden. Das Seitenelement D, welches mit dem Seitenelement E zusammengeführt werden soll, wird in Reihen und Blöcken aufgeteilt. Dies bedeutet, dass die Superblöcke Reihen sind. Zum Beispiel bilden unter Betrachtung des Seitenelementes D (303) in 3 die Blöcke D1,1 und D1,2 eine Reihe; und die Blöcke D2,1 und D2,2 bilden eine zweite Reihe. Der Datenstrom des Seitenelementes D wird jetzt durch Einfügen einer ersten RST-Markierung vor dem Block D1,1 und einer zweiten RST-Markierung vor dem Block D2,1 modifiziert. Die RST-Markierungen sind über das Seitenelement E nur dann ausgebreitet, wenn eine neue Reihe von Blöcken beginnt. Mit einem derartigen Schema ist es oft notwendig, nach einem Block zu suchen, welchem nicht eine Markierung vorangestellt ist. Gemäß diesem Ausführungsbeispiel erfordert eine Suche nach einem derartigen Block eine teilweise Dekomprimierung, und lediglich des Datenstromes, welcher der RST-Markierung folgt, gerade vor der Stelle, an welcher die Blöcke D angeordnet werden sollen (im Knockout). Lediglich eine teilweise Dekomprimierung wird benötigt, weil die eigentlichen Pixelwerte nicht erforderlich sind – es sind lediglich Blockgrenzen notwendig. Für den Fall einer JPEG-Komprimierung könnte diese teilweise Dekomprimierung gerade der Huffman-Dekodierungsschritt der JPEG-Dekomprimierung sein, resultierend in einem festen Längen-Datenstrom für jeden Block. Auf diese Weise kann man die RST-Markierungen verwenden, an die Stelle überzuspringen, jedoch vor die Blockstelle, an welcher die Ersetzung beginnt, und von da an führt man lediglich eine teilweise Dekomprimierung aus, soweit es notwendig ist, um die Blockstelle zu erreichen, an welcher die Ersetzung beginnt, was wesentlich weniger Zeit beansprucht, als eine vollständige Dekomprimierung. Dieses Ausführungsbeispiel beinhaltet somit eine Kombination einer komprimierten Zusammenführung und einer teilweise komprimierten Zusammenführung. Bei der Verwendung dieses Ausführungsbeispiels wird die Anzahl der erforderlichen RST- Markierungen reduziert, wodurch das Komprimierungsverhältnis erhöht wird, jedoch auf Kosten einer Einführung von zusätzlich benötigter Zeit für die teilweise Dekomprimierung.
  • Zusammenführung von Linienarbeitsdaten (die CT-Auswahlmaske umfassend)
  • Ein weiteres Merkmal der vorliegenden Erfindung liegt für den Fall vor, dass sowohl das des Seitenelement 201 als auch das Seitenelement 203 Linienarbeitsdaten beinhalten. Die Linienarbeitsdaten hierin umfassen die CT-Auswahlmaske als auch die Linienarbeit, wie sie üblicherweise in der graphischen Kunst verstanden wird, inklusive Logos, Text und anderen Formen, welche durch scharfe Grenzen gekennzeichnet sind. Gemäß bevorzugter Ausführungsbeispiele wird angenommen, dass die Linienarbeit durch Rasterdaten dargestellt wird, nämlich in dem Pixelbereich. Dies ist zum Beispiel der Fall, wenn alle Seitenelemente nach einer RIP-Rasterung erhältlich sind und vorzugsweise vor einem abschließenden Screening, wobei ein RIP-gerastertes Bild in diesem Fall Pixel aufweist, wobei jedes Pixel vier Farbwerte aufweist, nämlich C M Y und K. Genau so wie bei CT-Daten werden LW-Daten für eine Trennung zu einem Zeitpunkt zusammengeführt.
  • Gemäß einem bevorzugten Ausführungsbeispiel wird die RLE, welche zum Komprimieren der Linienarbeit verwendet wird, durch folgendes gekennzeichnet:
    • – Die Rasterdaten werden Reihe für Reihe, Spalte für Spalte angeordnet.
    • – Für jede Reihe (oder Spalte, in manchen Ausführungsbeispielen) werden benachbarte Pixel mit gleicher Farbe in Läufe gruppiert. Ein Lauf ist eine Datenstruktur, welche die Farbe und die Anzahl der Pixel in dem Lauf von dieser Farbe definiert, wobei diese Anzahl als "Lauflänge" bezeichnet wird.
    • – Eine Reihe (oder Spalte in einem spaltenartigen Ausführungsbeispiel) kann durch anschließendes Erweitern der Läufe wieder aufgebaut werden. Unter Verwendung eines Index i, beginnend mit i = 0, werden für jeden Lauf, der durch ein Paar (c, n) definiert ist, wobei c die Farbe, n die Lauflänge darstellt, n Pixel der Farbe c jeweils bei den Pixeln bei i, i + 1, ..., i + n – 1 erzeugt. Danach wird i um n erhöht und der nächste Lauf wird vergrößert.
  • Wie für den Fall des Zusammmenführens der CT-Daten kann das Seitenelement E irgendeine Form annehmen. Das heißt, das erhältliche Element D kann eine damit in Verbindung stehende Maske aufweisen. Für den Fall von Linienarbeitsdaten gemäß einem bevorzugten Ausführungsbeispiel wird eine spezielle Farbenwert, als "Hintergrund" bezeichnet, definiert. Alle Pixel, welche nicht in der Hintergrundfarbe enthalten sind, sind per Definition sichtbar, und alle Pixel in der Hintergrundfarbe sind unsichtbar.
  • Um eine Zusammenführung der CT-Auswahlmaske zur gleichen Zeit wie die LW-Daten zu ermöglichen, wird die LW-/CT-Auswahlmaske auf eine spezielle Weise in LW codiert. In dem Fall, in welchem ein spezieller Lauf ein Lauf von CT-Daten und nicht ein Lauf mit einer flachen Farbe ist, wird die Lauffarbe mit einem speziellen Wert codiert, um diese Situation anzuzeigen. Wie der spezielle Farbwert für den Hintergrund wird ein anderer spezieller Farbwert reserviert, um CT anzuzeigen.
  • Gemäß einem Ausführungsbeispiel wird einem speziellen Farbenwert ein Extrabit zu der Farbe hinzugefügt, und gemäß einem weiteren Ausführungsbeispiel ist es lediglich eine freie Farbe aus dem Bereich der nicht benutzten Farben. Im Gegensatz zu der Hintergrundfarbe wird die spezielle CT-Anzeigefarbe auf die gleiche Weise behandelt, wie jede andere Farbe. Mit diesem Mechanismus wird die CT-Auswahlmaske wirksam mit RLE komprimiert und die Zusammenführung der CT-Auswahlmaske tritt automatisch mit dem hierin beschriebenen LW-Zusammenführungsverfahren auf.
  • Damit während der Komprimierung der Daten die Zusammenführung auftritt, verwendet man gemäß einem bevorzugten Ausführungsbeispiel ein Verfahren zum Lokalisieren des Laufes, welcher die Pixel an manchen vorgegebenen Stellen beschreibt, welche hierin mit (x, y) bezeichnet sind. Im folgenden wird angenommen, dass die RLE Reihe für Reihe vorgesehen ist, d. h. entlang der x-Achse. Es wird ebenfalls angenommen, dass man schnell die Reihe y in dem Bitstrom lokalisieren kann, z. B. unter Verwendung einer Datenstruktur für den Bitstrom, welche die Position des Beginns der Reihe y in dem Bitstrom umfaßt. In dem besonderen Aufbau, welcher für einen Seitenelementenfile gemäß dem vorliegenden Ausführungsbeispiel verwendet wird, beinhaltet ein Header in dem File ein Feld (eine Nachschlagtabelle) mit dem Byte-Offset der ersten Daten der Linie y an Position y. Unter Verwendung dieses Offsets kann man schnell zu den Daten dieser Linie überspringen.
  • Um den Lauf in Reihe y, welcher das Pixel x aufweist, zu lokalisieren, scannt man schrittweise die Läufe in Reihe y, beginnend mit dem ersten Lauf in Reihe y. Index i wird verwendet, wobei i anfänglich auf 0 gesetzt wird, um mit der augenblicklichen Position innerhalb eines Laufes Schritt zu halten. Bei dem Start des Scannens irgendeines Laufes wird dessen Lauflänge zu i hinzugefügt, bis i > x ist. Wenn i > x ist, enthält der augenblickliche Lauf das Pixel bei (x, y) und dieser Lauf beginnt bei dem vorherigen i-Wert. Es wird keine Dekomprimierung benötigt. Der einzige erforderliche Betrieb besteht in dem ausreichenden Decodieren des Bitstroms, um die Lauflänge zu erhalten.
  • Im folgenden wird der Zusammenführungsschritt für Linienarbeitsdaten beschrieben. Gemäß einem bevorzugten Ausführungsbeispiel wird die Zusammenführung Reihe für Reihe betrieben, somit wird die Zusammenführung für lediglich eine Reihe unter Zuhilfenahme von 8 beschrieben. In 8 ist lediglich ein Teil der Seitenelementreihe E, welche mit dem Bezugszeichen 808 bezeichnet ist, dargestellt. Dies ist der Teil, welcher diejenigen Läufe enthält, welche entweder teilweise oder ganz mit der zugeordneten Reihe des Seitenelementes D überlappen, wobei diese Reihe mit dem Bezugszeichen 805 bezeichnet ist. Die vier Läufe der Reihe 803, welche teilweise oder ganz mit 805 überlappen, sind jeweils mit dem Bezugszeichen 809, 811, 813 und 815 bezeichnet. Alle Läufe einer Seitenelementreihe 805 sind dargestellt. Die Läufe 817, 821 und 829 sind in der Hintergrundfarbe, somit sind sie nicht in dem zusammengeführten Bild sichtbar, während die Läufe 819, 823, 825 und 827, welche schraffiert dargestellt sind, in Reihe 803 von E zusammengeführt werden sollen. Es wird angenommen, dass die Reihe 805 des Seitenelementes D (203) an der horizontalen Position X relativ zu dem Beginn der Reihe 801 des Seitenelementes E (201) ausgerichtet werden soll. Die resultierende zusammengeführte Reihe ist als Reihe 807 in 8 dargestellt. Gemäß einem bevorzugten
  • Ausführungsbeispiel umfaßt der Zusammenführungsbetrieb folgende Schritte:
  • Beginnend von links:
    • – Läufe der Reihe 803 von E vor der ersten Reihe 809 von E, welche teilweise oder ganz mit der Reihe 805 von D überlappen, werden unverändert zu der Ausgabe kopiert.
    • – Die Läufe der Reihe 803 von E, welche teilweise oder ganz mit Reihe 805 von D überlappen, werden zu einem temporären Speicherbereich als eine geordnete Liste kopiert. In 8 sind diese kopierten Reihen die Reihen 809, 811, 813 und 815. Jede Lauflänge in den Elementen der geordneten Liste wird durch die x-Koordinate des ersten Pixels in diesem Lauf ersetzt. Unter Bezugnahme auf 8 wird die x-Koordinate des ersten Laufs 811, wie oben beschrieben, unter Verwendung eines Index i erhalten. Die Koordinaten von nachfolgenden Läufen werden durch Hinzufügen von Lauflängen zu der x-Koordinate des ersten Laufs 811 erhalten, da zusätzliche Läufe kopiert werden. Somit wird eine temporäre Liste bestimmt, wobei die Liste die Koordinate x1 bei der Farbe des Laufs 809, die Koordinate x3 bei der Farbe des Laufs 811, die Koordiante x6 bei der Farbe des Laufs 813 und die Koordinate x10 bei der Farbe des Laufs 815 aufweist. Ein Extraelement wird nun an das Ende der Liste hinzugefügt, wobei die Koordinate in die Koordinate des letzten Pixels des letzten Laufs von E, 815, plus 1 und eine Farbe "egal" eintritt. In 8 ist die x-Koordinate des zusätzlichen Elementes x13 + 1.
    • – Die Reihenläufe von D werden zu einem zweiten temporären Speicherbereich als eine zweite geordnete Liste kopiert und wiederum werden die Lauflängen in jedem Listenelement durch die x-Koordinate des Beginns dieses Laufes ersetzt. Das erste Element als x-Koordinate X(= x2). Wiederum wird ein Extraelement zu der Liste hinzugefügt, wobei die x-Koordinate des Extraelementes die Koordinate des letzten Pixels des letzten Laufes in der Seitenelementreihe 805 plus eins ist, und die Farbe des Extraelementes der Hintergrund ist. Für die in 8 dargestellte Situation weist die angedeutete Liste auf: (Farbe von 817, x3), (Farbe von 819, x4), (Farbe von 821, x5), (Farbe von 823, x7), (Farbe von 827, x8), (Farbe von 827, x9), (Farbe von 829, x11), (Hintergrund, x12 + 1).
    • – Die beiden geordneten Listen werden in eine einzige geordnete Liste zusammengeführt und ein Etikett wird zu jedem Element hinzugefügt, welches den Ursprung dieses Laufes beschreibt. Die drei möglichen Etikettwerte sind: von der Reihe von E, von der Reihe von D in der Hintergrundfarbe oder von der Seitenelementreihe und nicht in der Hintergrundfarbe. Diese drei Fälle sind jeweils durch "f", "vb" und "v" für die in 8 dargestellte Situation bezeichnet, wobei die x-Koordinaten und die Etiketten in der neuen zusammengeführten Liste sind: (Farbe von 809, x1; f), (Hintergrund x2; vb), (Farbe von 811, x3; f), (Farbe von 819, x4; v), (Hintergrund x5; vb), (Farbe von 813, x6; f), (Farbe von 825, x8; v), Farbe von 827, x9; v), Farbe von 815, x10; f), (Hintergrund x11; vb), (egal, x12 + 1; vb), (egal, x13 + 1; f).
    • – Die zusammengeführte Liste wird nun in Reihenfolge gescannt. Für jeden vorkommenden Lauf werden ein oder mehrere Betriebe von sechs möglichen Betrieben ausgeführt, abhängig von dem Etikett auf dem gegenwärtigen Lauf und dem nächsten Lauf. Die möglichen Betriebe sind: Rücke vor: Mache den nächsten Lauf zum gegenwärtigen Lauf Lösche: Lösche den gegenwärtigen Lauf, mache dann den nächsten Lauf zum gegenwärtigen Lauf Lösche den nächsten Lauf: lösche den nächsten Lauf Wähle Farbe: Speicher die Farbe des gegenwärtigen Laufs in einem Register (d. h. als eine gesicherte Variable) Verwende Farbe: Ersetze die Farbe des gegenwärtigen Laufes durch die abgespeicherte Farbe (d. h. durch die Farbe in dem Register)
  • Welche der Betriebe auszuführen ist, wird durch die Tabelle 5 beschrieben.
  • Figure 01000001
  • Figure 01010001
    Tabelle 5
  • Somit werden Elemente von der Liste gelöscht, welche einem Hintergrundlauf folgende Hintergrundlaufbeginne, ein einem E-Lauf folgender Hintergrundlaufbeginn oder ein einem Lauf von D folgender E-Laufbeginn sind. Ferner werden die Farben von einigen Läufen von E gespeichert und diese Farben werden als ausgewählte Hintergrundfarben verwendet.
  • In dem Beispiel gemäß 8 werden die Läufe beginnend als x2, x10 und x12+1 gelöscht. Die Hintergrundfarbe des Laufes beginnend bei x5 wird durch die Farbe von 811 ersetzt, und die Hintergrundfarbe des Laufs beginnend bei x11 wird durch die Farbe des Laufs 815 ersetzt.
  • Der letzte Lauf in der Liste (der Lauf beginnend bei x13 + 1) wird jetzt gelöscht. Zum Beispiel enthält die Liste jetzt die folgenden Läufe:
    ( Farbe von 809, x1), (Farbe von 811, x3), (Farbe von 819, x4), (Farbe von 811, x5), (Farbe von 813, x6), (Farbe von 823, x7), (Farbe von 825, x8), (Farbe von 827, x9), (Farbe von 815, x11).
  • In dieser Stufe werden die x-Positionen in der Liste durch die Lauflängen ersetzt; diese Lauflängen werden von nachfolgenden x-Werten bestimmt. Ferner werden alle Null- Lauflängen von der Liste gelöscht und das Ergebnis wird als zusammengeführte Reihe 807 kopiert.
  • Die verbleibenden Läufe der Reihe des Seitenelementes 201 werden nun zu der Ausgabe kopiert.
  • Somit wird die Linie zusammengeführt. Dies wird für alle Linien ausgeführt. Es sei an dieser Stelle darauf hingewiesen, dass in allen oben erwähnten Schritten niemals eine Dekomprimierung stattfindet. Somit wurde ein Verfahren zum Zusammenführen von komprimierten Linienarbeitsbildern ohne einer Dekomprimierung beschrieben.
  • Gemäß einem weiteren Ausführungsbeispiel wird ein transparentes Überdrucken durch ein Anhängen der Laufinformation möglich gemacht, welche die Lauflänge und die Lauffarbe beinhaltet, mit Lauf Alpha. Der Lauf Alpha ist ein Maß für die Transparenz des Laufes. Beim Zusammenführen von zwei Stücken eines Laufs derselben Länge, wobei sich ein Laufstück mit der Lauffarbe "a" und der Lauf Alpha "t" über einem anderen Laufstück mit Farbe b befinden, wird dann die resultierende Lauffarbe als min((a*t + b*(max_alphat))/max_alpha, max_color) angenommen. Dabei ist "max_alpha" der maximale Wert des Laufs Alpha und max_color ist der maximale Farbintensitätswert. Gemäß einem weiteren Ausführungsbeispiel wird die Farbe des resultierenden Laufs als gerade max (a, b) angenommen. In diesem Zusammenhang besitzen die Farben (CMYK) der steigenden Intensität steigende Farbwerte, d. h. für weiß sind alle Farbtrennungswerte Null.
  • Wenn mehr als ein Seitenelement mit dem Seitenelement 201 zusammengeführt werden soll, ist dort auch z. B. ein Objekt 207 zusätzlich zu dem Element 203 vorgesehen, wobei der komprimierte Zusammenführungsprozeß, genau wie in dem CT-Fall, ausgeführt werden kann, indem zunächst 201 und 203 in ein zusammengeführtes Zwischenbild zusammengeführt werden, und dann 209 in das zusammengeführte Zwischenbild zusammengeführt wird.
  • Alternativen für eine Beschleunigung der Kopierbetriebe:
  • In einigen Anwendungen können eine große Anzahl an kundenorientierten zusammengeführten Seiten basierend auf dem gleichen Seitenelement E erzeugt werden müssen. In einer derartigen Situation müssen die gleichen Blöcke viele Male lokalisiert werden. Der Seitenelement-Cachespeicher 1111 ist bereits beschrieben worden.
  • Gemäß einem alternativen Ausführungsbeispiel des Verfahrens der vorliegenden Erfindung können verschiedene Strukturen für eine Cachespeicherung als weitere Beispiele verwendet werden, um die Suchzeit in einer derartigen Situation zu reduzieren. Zum Beispiel kann ein Block-Cachespeicher (für CT-Bilder) oder ein Lauf-Cachespeicher (für Linienarbeitsbilder) verwendet werden. Der Block-Cachespeicher (oder der Lauf-Cachespeicher für eine Linienarbeit) wird als eine Hash-Tabelle bzw. als eine Tabelle mit einem unerwünschten Speicherinhalt implementiert, welche Schlüsselwertpaare umfaßt. Ein Schlüssel umfaßt vorzugsweise: die Identifikation (eine "ID") des Elementes und die Koordinaten eines Blockes (oder Laufes) in dem Element. Die Ausgabe der Tabelle unter Verwendung irgendeines Schlüsselpaares ist die Bitposition in dem Datenstrom (Bitstrom) des Blockes (oder Laufes) entsprechend dem Schlüssel. Falls während dem Zusammenführungsprozeß ein Block vorkommt, der sich noch nicht in dem Block-Cachespeicher (oder in dem Lauf-Cachespeicher) befindet, wird dieser Block (oder Lauf) zu der Hash-Tabelle des Block-Cachespeichers (oder Lauf-Cachespeichers) hinzugefügt. Vorzugsweise kann die "Least recently used" (bzw. "Am wenigsten neulich verwendet") ("LRU")-Strategie verwendet werden, um alte Elemente aus dem Block-Cachespeicher (oder dem Lauf-Cachespeicher) auszurangieren. Andere Strategien können ebenfalls verwendet werden. Ferner, wie für die Fachleute auf diesem Gebiet offensichtlich, können andere Implementierungen als eine Hash-Tabelle verwendet werden, um einen Block-Cachespeicher (oder Lauf-Cachespeicher) für häufig vorkommende Blöcke (oder Läufe) eines Seitenelementes 201 zu implementieren. Ferner können gemäß einem Ausführungsbeispiel die Block-Cachespeicher- und Lauf-Cachespeicher-Schemata in irgendeine spezielle Cache-Speicher-Hardware programmiert werden, wie beispielsweise ein Cachespeichersystem 149 in dem File-Untersystem 125 des Assemblercomputersystems 110, wie in 1 dargestellt ist.
  • Für Anwendungen, in denen ein "Master"-Seitenelement und ein variables Seitenelement vorhanden ist, welche immer dasselbe Layout besitzen, kann die folgende Implementierung für einen Linien-Cachespeicher implementiert werden. Falls man wiederholend ein Objekt der Größe sx, sy auf die Position px, py über ein Master-Seitenelement mi setzt, muß man dann nach den Endpunkten px + sx der Scanlinie py bis py + sy des Objektes mi suchen. Somit kann man die Byte-Offsets der Läufe cachespeichern, welche diese Endpunkte enthalten. Um diese Indizes absuchen bzw. wiedergewinnen zu können, muß man diesen eine einzigartige id zuweisen, welche auf der Objekt id mi, der Trennung s und der Position x, y basieren kann. Man kann wie bei dem vorher beschriebenen Seitenelement- Cachespeicher 1011 alle Bezüge bzw. Bezeichnungen der Objekte heraussäubern, welche in dem gegenwärtigen Buch nicht weiter benötigt werden.
  • Bei einer Implementierung z. B. auf dem Assemblercomputersystem 110 aus 1 können der Kopierschritt oder die Kopierschritte der komprimierten Zusammenführung sogar unter Verwendung einer sogenannten "Streu-Sammel"-Direkt-Speicherzugriffs("DMA")-Technik noch weiter beschleunigt werden. Eine derartige DMA-Technik wird vorzugsweise durch einen Hardware-DMA-Kontroller implementiert (in 1 mit dem Bezugszeichen 131 bezeichnet), welcher mit einem (Adressen-/Zähl-)Paar eingestellt ist und einen direkten Zugriff auf das Speichermodul 130 besitzt, wobei die Register des Prozessors 122 umgeleitet werden. Der DMA-Kontroller 131 liest die Daten von einer RAM-Adresse durch den Adressenwert in seinem Adresszähler aus, schreibt diese Daten in einem Zielort, inkrementiert seinen Adresswert und dekrementiert seine Zahl. Er macht dies solange, bis sein Zähler die Zahl Null erreicht. Da diese RAM-Zugriffe direkt durch die Hardware auftreten, werden derartige Speicherkopier-Betriebe wesentlich schneller ausgeführt, verglichen mit Speicherkopier-Betrieben, welche durch den Prozessor 112 ausgeführt werden, welcher durch Befehle geführt wird. Typischerweise wird der DMA-Kontroller 131 durch den Prozessor 112 mit einem (Adressen-/Zähl-)Paar eingestellt und gestartet. Wenn der Kopierbetrieb fertig ist, unterbricht der DMA-Kontroller 131 den Prozessor 112. Auf diese Weise ist der Prozessor 112 nur für das Senden jedes (Adressen-/Zähl-)Paares zu dem DMA-Kontroller 131 involviert. Gemäß einem Ausführungsbeispiel besitzt der DMA-Kontroller 131 eine Streu-Sammel-Funktionalität, das bedeutet, dass er auf eine Liste in dem Speichermodul zugreifen kann, welche mehrere, möglicherweise viele (Adressen-/Zähl-)Paare enthält. Der DMA-Kontroller 131 führt dann die Kopierbetriebe für jedes dieser Paare automatisch aus. In diesem Fall ist der Prozessor 112 sogar noch weniger am Beginn zum Bilden einer Liste von Paaren und zum Befördern der Startadresse der Liste an den DMA-Kontroller 131 und an der Beendigung des letzten Paares der Liste involviert.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung werden die (Adressen-/Zähl-)Paare, welche die Stelle und die Menge der Daten darstellen, die von entweder E oder D kopiert werden müssen, wie es der Fall sein kann, in einem Speichermodul eingestellt und in dasselbe geladen, wobei die Startadresse des ersten Paares in den DMA-Kontroller 131 mit einer Streu-Sammel-Fähigkeit geladen wird, und der DMA-Transfer eingeleitet wird. Da der Kopierprozeß unter Verwendung einer Hardware für einen speziellen Zweck auftritt, kann der Zusammenführungsprozeß deutliche beschleunigt werden.
  • Vorrichtung für das Zusammenführen:
  • Eine schematische Darstellung einer Vorrichtung zum Zusammenführung von Seitenelementen in komprimierte zusammengeführte Daten gemäß einem Aspekt der vorliegenden Erfindung ist in 14 dargestellt. Die Vorrichtung umfaßt ein erstes Speichergerät 1401, in welchem Bilder, vorzugsweise Rasterbilder von einzelnen Seitenelementen oder Gruppen von Seitenelementen, in einem komprimierten Format gespeichert werden. In einem zweiten Speichergerät 1402 wird ein Seiten-Zusammenstellungsskript gespeichert. Dieses Seiten-Zusammenstellungsskript spezifiziert die Identifizierer und die Positionen der Seitenelemente oder Gruppen der Seitenelemente, welche auf den komprimierten zusammengeführten Daten enthalten sein sollen, die gebildet werden sollen. Die komprimierten zusammengeführten Daten können eine komplette Seite oder einen Teil einer Seite darstellen. Ruf der Basis davon, was durch das Seiten-Zusammenstellungsskript (welches auch das Seitenzusammenführungsskript und das Seitenlayoutskript genannt wird) spezifiziert ist, erhält das Zusammenführungsmittel 1403 komprimierte Daten von den einzelnen Seitenelementen oder der Gruppen von Seitenelementen, welche in dem ersten Speichergerät 1401 gespeichert sind, und führt diese gemäß dem Seiten-Zusammenstellungsskript in komprimierte zusammengeführte Daten zusammen. Keine Dekomprimierung ist ausgeführt worden, um die komprimierten zusammengeführten Daten zu erhalten.
  • Die Speichergeräte 1401 und 1402 können Teil des File-Speichersystems 125 des Assembler-Computersystems 110 aus 1 sein. Gemäß einem bevorzugten Ausführungsbeispiel ist das Speichergerät 1401 ein RAID-Untersystem in dem File-System 125, und das Speichergerät 1402 ist ein Laufwerk. Gemäß einem alternativen Ausführungsbeispiel kann das Speichergerät 1401 ein großes Puffer-Speichergerät mit einer hohen Geschwindigkeit sein, welches eine große Menge an RAM zum Speichern der Rasterbilder der einzelnen Seitenelemente oder Gruppen von Seitenelementen in einem komprimierten Format umfaßt, so dass diese Daten zur Verarbeitung rasch zur Verfügung stehen.
  • Das Zusammenführungsmittel 1403 kann als auf den Prozessor 112 laufende Software implementiert werden, oder als Teil eines Hardwareschaltkreises, welcher einen separaten Prozessor zum Ausführen dieser Funktion aufweisen kann. Falls das Zusammenführungsmittel 1403 einen Prozessor und ein Speichermodul umfaßt, weist das Speichermodul einen Satz an auf dem Prozessor laufenden Computerbefehlen auf. Dieser Satz an Computerbefehlen gewährleistet, dass der Prozessor das Seiten-Zusammenstellungsskript liest und die Seitenelemente abruft, wie sie in dem Seiten-Zusammenstellungsskript spezifiziert sind. Das Zusammenführungsmittel 1403 kann auch einen DMA-Kontroller mit oder ohne einer Streu-Sammel-Fähigkeit zur Beschleunigung der Zusammenführung aufweisen, wie oben beschrieben wurde.
  • Dekomprimierungsmittel 1404 können auch hinzugefügt werden und als auf den Prozessor 112 laufende Software implementiert werden, oder als ein Teil eines Hardwareschaltkreises, welcher einen separaten Prozessor zum Dekomprimieren der komprimierten zusammengeführten Daten aufweist, um diese ausgedruckt zu bekommen. Falls das Dekomprimierungsmittel 1404 einen Prozessor und ein Speichermodul aufweist, beinhaltet das Speichermodul einen Satz an Computerbefehlen, welche auf dem Prozessor laufen. Dieser Satz an Computerbefehlen gewährleistet, dass der Prozessor die komprimierten zusammengeführten Daten dekomprimiert.
  • In Fällen, in denen unterschiedliche Komprimierungsschemata für Linienarbeits- und Bilddaten verwendet werden, wird gemäß einem Ausführungsbeispiel das Zusammenführungsmittel dupliziert, und gemäß einem weiteren Ausführungsbeispiel besitzt das Zusammenführungsmittel zwei Betriebsmodi, abhängig von dem auftretenden Format.
  • Die bevorzugten Ausführungsbeispiele des Verfahrens und der Vorrichtung der vorliegenden Erfindung wurden unter der beispielhaften Annahme einer JPEG-Komprimierung für CT-Daten und RLE für Linienarbeiten beschrieben. Das beschriebene Verfahren und die beschriebene Vorrichtung sind nicht auf diese besonderen Komprimierungsformate beschränkt. Sie können mit irgendeinem Komprimierungsformat verwendet werden, solange das Format ein Einsetzen von Bitströmen ermöglicht, welche komprimierte Bilddarstellungen in einem ähnlich formatierten Bitstrom darstellen. Wo diese Bitströme eingesetzt werden sollen, kann dann durch eine Markierung (wenn es das Komprimierungsformat erlaubt) oder einen Pointer (welcher getrennt von dem Format gehalten wird) spezifiziert werden.

Claims (44)

  1. Verfahren zum Erzeugen einer Seite für ein Ausgabedruckgerät (1019), wobei das Verfahren den folgenden Schritten aufweist: (a) Vorbereiten einer Vielzahl von Seitenelementen, die auf der Seite kombiniert werden sollen, wobei jedes Seitenelement in Form einer entsprechenden Seitenelementbeschreibung vorliegt; (b) Rastern und Komprimieren der Seitenelementbeschreibung der Seitenelemente, um komprimierte gerasterte Seitenelemente zu bilden; (c) Speichern der komprimierten gerasterten Seitenelemente in einem Seitenelementspeicher (1013); (d) Erzeugen eines Seitenlayoutskripts (1103) durch Spezifizieren der Positionierung und Überdruckreihenfolge des Zusammenführens und der Art des Zusammenführens für die Seitenelemente auf der Seite; (e) Zusammenführen der Seitenelemente gemäß dem Seitenlayoutskript (1103), wobei das Zusammenführen komprimierte Bilddaten erzeugt, die die Seite darstellen, wobei das Zusammenführen im wesentlichen im komprimierten Bereich stattfindet; (f) Dekomprimieren der komprimierten Bilddaten zu Rasterbilddaten; und (g) Drucken der Rasterbilddaten auf dem Ausgabedruckgerät (1019).
  2. Verfahren nach Anspruch 1, wobei eines der Seitenelemente Linienarbeitsdaten enthält.
  3. Verfahren nach Anspruch 1, wobei eines der Seitenelemente Kontondaten (CT-Daten) enthält.
  4. Verfahren nach Anspruch 3, wobei das CT-Daten enthaltende Seitenelement außerdem zugeordnete Maskendaten zum Definieren einer Maske um die CT-Daten enthält.
  5. Verfahren nach Anspruch 4, wobei das CT-Daten enthaltende Seitenelement außerdem Linienarbeitsdaten enthält und wobei der Schritt des Rasterns und Komprimierens der Seitenelementbeschreibung des CT-Daten enthaltenden Seitenelements folgendes umfaßt: (i) Rastern der Seitenelementbeschreibung in Linienarbeits-Rasterdaten (907) und CT-Rasterdaten (909), (ii) Komprimieren der Linienarbeits-Rasterdaten (907) unter Verwendung eines Linienarbeits-Komprimierungsverfahrens, um komprimierte Linienarbeitsdaten zu bilden, und (iii) Komprimieren der CT-Rasterdaten (909) unter Verwendung eines CT-Komprimierungsverfahrens, um komprimierte CT-Daten zu bilden, wobei das aus der Seitenelementbeschreibung des CT-Daten enthaltenden Seitenelements bestimmte komprimierte gerasterte Seitenelement die komprimierten Linienarbeitsdaten, die komprimierten CT-Daten und die Maskendaten enthält.
  6. Verfahren nach Anspruch 5, wobei das aus dem CT-Daten enthaltenden Seitenelement bestimmte komprimierte Seitenelement außerdem eine CT-Auswahlmaske (943) enthält, wobei die CT-Auswahlmaske (943) jedes Pixel in dem Seitenelement als ein Linienarbeitspixel oder ein CT-Pixel identifiziert.
  7. Verfahren nach Anspruch 6, wobei die CT-Auswahlmaske in komprimierter Form in dem komprimierten gerasterten Seitenelement vorliegt, das aus der Seitenelementbeschreibung des CT-Daten enthaltenden Seitenelements bestimmt wurde.
  8. Verfahren nach einem der Ansprüche 5 bis 7, wobei der Schritt (e) des Zusammenführens weiterhin folgendes umfaßt: (i) Zusammenführen der Maskendaten für alle Seitenelemente, die CT-Daten enthalten, um komprimierte Maskendaten zu bilden. (ii) Zusammenführen der komprimierten Linienarbeitsdaten aller Seitenelemente, die Linienarbeitsdaten enthalten, um komprimierte zusammengeführte Linienarbeitsdaten zu bilden, und (iii) Zusammenführen der komprimierten CT-Daten aller Seitenelemente, die CT-Daten enthalten, um komprimierte zusammengeführte CT-Daten zu bilden, wobei das Zusammenführen von Maskendaten, komprimierten Linienarbeitsdaten und komprimierten CT-Daten im wesentlichen im komprimierten Bildbereich stattfindet.
  9. Verfahren nach Anspruch 8, wobei der Schritt (f) des Dekomprimierens folgendes umfaßt: (i) Dekomprimieren der komprimierten zusammengeführten CT-Daten, um dekomprimierte zusammengeführte CT-Daten zu bilden, (ii) Dekomprimieren der komprimierten zusammengeführten Linienarbeitsdaten, um dekomprimierte zusammengeführte Linienarbeitsdaten zu bilden, und (iii) Kombinieren der dekomprimierten zusammengeführten Linienarbeitsdaten und der dekomprimierten zusammengeführten CT-Daten, um die Rasterbilddaten zu bilden.
  10. Verfahren nach Anspruch 6, wobei der Schritt (e) des Zusammenführens weiterhin folgendes umfaßt: (i) Zusammenführen der Maskendaten für alle Seitenelemente, die CT-Daten enthalten, um eine zusammengeführte CT-Auswahlmaske zu bilden, (ii) Zusammenführen der komprimierten Linienarbeitsdaten aller Seitenelemente, die Linienarbeitsdaten enthalten, um komprimierte zusammengeführte Linienarbeitsdaten zu bilden, und (iii) Zusammenführen der komprimierten CT-Daten aller Seitenelemente, die CT-Daten enthalten, um komprimierte zusammengeführte CT-Daten zu bilden, wobei das Zusammenführen von Maskendaten, komprimierten Linienarbeitsdaten und komprimierten CT-Daten im wesentlichen im komprimierten Bildbereich stattfindet; und wobei der Schritt (f) des Dekomprimierens folgendes umfaßt: (i) Dekomprimieren der komprimierten zusammengeführten CT-Daten, um dekomprimierte zusammengeführte CT-Daten zu bilden, (ii) Dekomprimieren der komprimierten zusammengeführten Linienarbeitsdaten, um dekomprimierte zusammengeführte Linienarbeitsdaten zu bilden, und (iii) Kombinieren der dekomprimierten Linienarbeitsdaten und der dekomprimierten CT-Daten, wobei das Kombinieren das Auswählen von Pixeln für den Druckschritt (g) aus den dekomprimierten zusammengeführten Linienarbeitsdaten oder den dekomprimierten zusammengeführten CT-Daten gemäß dem Wert der zusammengeführten CT-Auswahlmaske umfaßt.
  11. Verfahren nach einem der Ansprüche 5 bis 10, wobei das Linienarbeits-Komprimierungsverfahren ein Verfahren der Lauflängencodierung (RLE) ist.
  12. Verfahren nach einem der Ansprüche 4 bis 11, wobei das CT-Komprimierungsverfahren ein auf Blöcken basierendes Verfahren ist.
  13. Verfahren nach Anspruch 12, wobei das auf Blöcken basierende Verfahren JPEG ist.
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei der Schritt (b) des Rasterns und Komprimierens das Hinzufügen von Positionsdaten zu den komprimierten gerasterten Seitenelementen umfaßt, wobei die Positionsdaten ein schnelles Finden einer gewünschten Position in dem komprimierten Seitenelement ermöglichen.
  15. Verfahren nach einem der Ansprüche 11 bis 14, wobei das Komprimieren der Linienarbeitsdaten im Schritt (b) des Rasterns und Komprimierens umfaßt, Linienarbeits-Positionsdaten zu den komprimierten Linienarbeitsdaten hinzuzufügen, um schnell eine gewünschte Position in den komprimierten Linienarbeitsdaten finden zu können, wobei die Linienarbeits-Positionsdaten eine Nachschlagetabelle mit einem Offset zum Anfang jeder Zeile von Linienarbeitsdaten enthalten.
  16. Verfahren nach einem der Ansprüche 13 bis 15, wobei das Komprimieren der CT-Daten im Schritt (b) des Rasterns und Komprimierens umfaßt, CT-Positionsdaten zu den komprimierten CT-Daten hinzuzufügen, um schnell eine gewünschte Position in den komprimierten CT-Daten finden zu können, wobei die CT-Positionsdaten Neustartmarkierungen in den die komprimierten CT-Daten bildenden JPEG-Daten enthalten.
  17. Verfahren nach einem der Ansprüche 12 bis 16, wobei das relative Positionieren von zusammenzuführenden CT-Daten an den Grenzen der Blöcke erfolgt, die durch das CT-Komprimierungsverfahren definiert werden.
  18. Verfahren nach Anspruch 17, wobei der Schritt (e)(iii) des Zusammenführens der CT-Daten eine dergestaltige Umpositionierung der CT-Daten umfaßt, daß das Zusammenführen an CT-Blockgrenzen erfolgt.
  19. Verfahren nach einem der Ansprüche 5 bis 18, wobei die Linienarbeitsdaten eine Linienarbeitsdatenauflösung und die CT-Daten eine CT-Datenauflösung aufweisen, wobei die Linienarbeitsdatenauflösung mit der CT-Datenauflösung übereinstimmt.
  20. Verfahren nach einem der Ansprüche 5 bis 18, wobei die Linienarbeitsdaten eine Linienarbeitsdatenauflösung und die CT-Daten eine CT-Datenauflösung aufweisen, wobei die Linienarbeitsdatenauflösung von der CT-Datenauflösung verschieden ist und mit der Auflösung des Ausgabedruckgeräts übereinstimmt.
  21. Verfahren nach einem der Ansprüche 13 bis 20, wobei das JPEG-Verfahren eine Menge von einer oder mehreren Quantisierungstabellen verwendet, wobei jede Quantisierungstabelle einer entsprechenden Komprimierungsqualität entspricht.
  22. Verfahren nach Anspruch 21, wobei die Menge von Quantisierungstabellen mehrere Kompensationstabellen enthält, die durch eine Menge von Beziehungen miteinander zusammenhängen, die so ausgelegt sind, daß das Umquantisieren rechnerisch effizient wird.
  23. Verfahren nach einem der Ansprüche 4 bis 22, wobei die Maske um die CT-Daten die Gestalt der CT-Daten des Seitenelements definiert.
  24. Verfahren nach Anspruch 23, wobei die Maske eine Bitmap ist.
  25. Verfahren nach Anspruch 23, wobei die Maske ein Clipping-Weg ist.
  26. Vorrichtung zum Zusammenführen mehrerer Seitenelemente zu komprimierten zusammengeführten Bilddaten, umfassend: (a) ein erstes Speichergerät (1401), in dem ein Satz von Seitenelementen, der die Vielzahl von Seitenelementen enthält, in einem komprimierten Format gespeichert wird; (b) ein zweites Speichergerät (1402), in dem ein Seitenlayoutskript gespeichert wird, wobei das Seitenlayoutskript die Positionierung und Überdruckreihenfolge des Zusammenführens und die Art des Zusammenführens für die Seitenelemente auf der Seite spezifiziert; und (c) ein Zusammenführungssystem (1043), das folgendes enthält: (i) eine Einrichtung zum Abrufen der komprimierten Daten der einzelnen Seitenelemente, die in dem ersten Speichergerät gespeichert sind, gemäß dem Seitenlayoutskript, und (ii) eine Einrichtung zum Zusammenführen der abgerufenen Seitenelemente gemäß dem Seitenlayoutskript zu den komprimierten zusammengeführten Daten, wobei das Zusammenführen im wesentlichen im komprimierten Bereich durchgeführt wird, so daß im wesentlichen keine Dekomprimierung stattfindet.
  27. Vorrichtung zum Zusammenführen nach Anspruch 26, wobei das erste Speichergerät (1041) ein RAID-System ist.
  28. Vorrichtung zum Zusammenführen nach Anspruch 26, wobei mindestens eines der Speichergeräte (1041; 1042) ein Speicherbaustein ist und wobei das Zusammenführungssystem (1043) einen oder mehrere Prozessoren und einen Satz von Software-Programmierbefehlen enthält, die, wenn sie auf einem der Prozessoren ausgeführt werden, bewirken, daß der Prozessor das Seitenlayoutskript liest, wobei das Abruf mittel Abruf-Programmierbefehle enthält, die die komprimierten Daten abrufen, wenn sie auf einem der Prozessoren ausgeführt werden, und wobei die Zusammenführungseinrichtung Zusammenführungs-Programmierbefehle enthält, die die komprimierten Daten zusammenführen, wenn sie auf einem der Prozessoren ausgeführt werden.
  29. Vorrichtung zum Zusammenführen nach einem der Ansprüche 26 bis 28, weiterhin umfassend: (d) ein Dekomprimierungsmittel (1404) zum Dekomprimieren der komprimierten zusammengeführten Daten zu Druckdaten, die auf einem Ausgabedruckgerät (1019) ausgedruckt werden können.
  30. Vorrichtung zum Zusammenführen nach einem der Ansprüche 26 bis 29, wobei eines der mehreren Seitenelemente unter Verwendung eines Linienarbeits-Komprimierungsverfahrens komprimierte Linienarbeitsdaten enthält und wobei eines der mehreren Seitenelemente mit einem CT-Komprimierungsverfahren komprimierte Kontondaten (CT-Daten) enthält.
  31. System zum Zusammenführen von Seitenelementen auf einer Seite, um zusammengeführte Seitendaten zu bilden, und zum Ausdrucken der zusammengeführten Daten auf einem Ausgabedruckgerät (1019), wobei das Ausgabedruckgerät mit einer Druckgeschwindigkeit arbeitende Druckköpfe enthält, wobei das System folgendes enthält: (a) einen Rasterbildprozessor (RIP) (1009) zur Bildung komprimierter gerasterter Seitenelementdaten aus Seitenelementdaten; (b) einen Seitenelementspeicher (1013) zum Speichern der komprimierten gerasterten Seitenelementdaten; (c) ein Zusammenführssystem (1015) zum Ausführen eines Seitenlayoutskripts (1103), wobei das Seitenlayoutskript (1103) die Positionierung und Überdruckreihenfolge des Zusammenführens und die Art des Zusammenführens für die Seitenelemente auf jeder eines Satzes von Seiten spezifiziert, mit: (i) einem Lese-Subsystem zum Abrufen komprimierter gerasterter Seitenelementdaten aus dem Seitenelementspeicher gemäß dem Seitenlayoutskript und (ii) einem Zusammenführer zum Zusammenführen der abgerufenen komprimierten Daten gemäß dem Seitenlayoutskript, wobei das Zusammenführen im wesentlichen im komprimierten Bereich durchgeführt wird, und zum Bilden zusammengeführter komprimierter Daten; und (d) einen Dekomprimierer zur Bildung dekomprimierter Seitendaten aus den zusammengeführten komprimierten Daten.
  32. System nach Anspruch 31, wobei die Seitenelementdaten in einer Seitenbeschreibungssprache vorliegen.
  33. System nach einem der Ansprüche 31 oder 32, wobei die komprimierten gerasterten Seitenelementdaten gemäß einem Linienarbeits-Komprimierungsverfahren komprimierte komprimierte Linienarbeitsdaten und gemäß einem CT-Komprimierungsverfahren komprimierte komprimierte Konton-(CT-)Daten enthalten, wobei das Lese-Subsystem komprimierte Linienarbeitsdaten und komprimierte CT-Daten abruft und der Zusammenführer gemäß dem Seitenlayoutskript die abgerufenen komprimierten Linienarbeitsdaten zu zusammengeführten komprimierten Linienarbeitsdaten und die abgerufenen komprimierten CT-Daten zu zusammengeführten komprimierten CT-Daten zusammenführt.
  34. System nach einem der Ansprüche 31 bis 33, wobei der Seitenelementspeicher (1013) ein Direktzugriffsarraysystem unabhängiger Platten (RAID-System) ist.
  35. System nach einem der Ansprüche 33 oder 34, wobei das Lesesystem die komprimierten Linienarbeitsdaten und die komprimierten CT-Daten in einen Seitenelement-Cache-Speicher (1011) abruft und wobei der Zusammenführer die komprimierten Linienarbeitsdaten und die komprimierten CT-Daten so aus dem Seitenelement-Cache-Speicher erhält, wie es das Seitenlayoutskript erfordert.
  36. System nach einem der Ansprüche 33 bis 35, wobei die komprimierten gerasterten Seitenelementdaten ungescreent sind.
  37. System nach einem der Ansprüche 33 bis 35, wobei die komprimierten gerasterten Seitenelementdaten in Druckfarben aufgetrennt werden.
  38. System nach einem der Ansprüche 35 bis 37, wobei der Seitenelement-Cache-Speicher (1011) ein Speicherbaustein ist.
  39. System nach einem der Ansprüche 31 bis 38, wobei das Zusammenführungssystem auf einem oder mehreren Prozessoren ausgeführte Sätze von Programmierbefehlen enthält, wobei jeder Satz von Befehlen als ein Faden wirkt, wobei jeder Faden einen zugeordneten Speicher aufweist, der als ein zugeordneter Eingangspuffer und als ein zugeordneter Ausgangspuffer angeordnet ist, wobei jeder Faden Daten aus seinem zugeordneten Eingangsfaden verwendet und Daten in seinen zugeordneten Ausgangsfaden lädt.
  40. System nach einem der Ansprüche 33 bis 39, wobei der Dekomprimierer die zusammengeführten komprimierten Linienarbeitsdaten zu dekomprimierten Linienarbeitsseitendaten und die zusammengeführten komprimierten CT-Daten zu dekomprimierten CT-Seitendaten dekomprimiert.
  41. System nach Anspruch 40, weiterhin umfassend: (e) einen Kombinierer, der die dekomprimierten Linienarbeitsseitendaten und die dekomprimierten CT-Seitendaten zu Druckdaten kombiniert und die Druckdaten den Druckköpfen des Ausgabedruckgeräts mit der von den Druckköpfen erforderten Druckgeschwindigkeit zuführt.
  42. System nach einem der Ansprüche 36 bis 41, wobei der Dekomprimierer die zusammengeführten komprimierten Linienarbeitsdaten zu dekomprimierten Linienarbeitsseitendaten und die zusammengeführten komprimierten CT-Daten zu dekomprimierten CT-Seitendaten dekomprimiert, wobei das System weiterhin einen Kombinierer/ Screener enthält, der die dekomprimierten Linienarbeitsseitendaten und die dekomprimierten CT-Seitendaten zu Seitendaten kombiniert, die Seitendaten screent und die gescreenten Seitendaten den Druckköpfen des Ausgabedruckgeräts mit der von den Druckköpfen erforderten Druckgeschwindigkeit zuführt.
  43. System nach einem der Ansprüche 33 bis 42, wobei das Linienarbeits-Komprimierungsverfahren ein Lauflängencodierungsverfahren und das CT-Komprimierungsverfahren ein JPEG-Komprimierungsverfahren ist.
  44. System nach einem der Ansprüche 35 bis 43, wobei das Lesesystem eine Menge von Software-Programmierbefehlen enthält, die, wenn sie in einen Prozessorspeicher eines Prozessors geladen und auf dem Prozessor ausgeführt werden, einen Satz von Schritten ausführen, der für jede in dem Seitenlayoutskript spezifizierte Seite folgendes umfaßt – für jedes Seitenelement der spezifizierten Seite: Prüfen, ob sich das Seitenelement bereits in dem Seitenelement-Cache-Speicher befindet, und Laden jedes Seitenelements, das sich noch nicht in dem Seitenelement-Cache-Speicher befindet, in den Seitenelement-Cache-Speicher, wobei das Laden folgendes umfaßt: – Prüfen, ob es genug freien Platz in dem Seitenelement-Cache-Speicher gibt, und wenn nicht, Warten, bis der Zusammenführer Platz freigibt oder bis bei einer bestimmten Anzahl von Seiten alle Seitenelemente befinden sich in dem Seitenelement-Cache-Speicher, – wenn die Anzahl von Seiten, deren Seitenelemente sich in dem Seitenelement-Cache-Speicher befinden, kleiner als die bestimmte Anzahl ist und wenn es immer noch nicht genug freien Platz in dem Seitenelement-Cache-Speicher gibt, Entfernen von Seitenelementen aus dem Seitenelement-Cache-Speicher gemäß einem Entfernungskriterium und – Zuteilen von Platz in dem Seitenelement-Cache-Speicher und Laden des Seitenelements in den Seitenelement-Cache-Speicher.
DE69817029T 1997-11-05 1998-11-05 Mischung von komprimierten rasterbildern in einem drucksystem Expired - Lifetime DE69817029T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US964651 1997-11-05
US08/964,651 US6049390A (en) 1997-11-05 1997-11-05 Compressed merging of raster images for high speed digital printing
PCT/BE1998/000169 WO1999024933A1 (en) 1997-11-05 1998-11-05 Merging of compressed raster images in a printing system

Publications (2)

Publication Number Publication Date
DE69817029D1 DE69817029D1 (de) 2003-09-11
DE69817029T2 true DE69817029T2 (de) 2004-07-08

Family

ID=25508812

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69817029T Expired - Lifetime DE69817029T2 (de) 1997-11-05 1998-11-05 Mischung von komprimierten rasterbildern in einem drucksystem

Country Status (4)

Country Link
US (1) US6049390A (de)
EP (1) EP1057138B1 (de)
DE (1) DE69817029T2 (de)
WO (1) WO1999024933A1 (de)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729665A (en) * 1995-01-18 1998-03-17 Varis Corporation Method of utilizing variable data fields with a page description language
US6952801B2 (en) * 1995-06-07 2005-10-04 R.R. Donnelley Book assembly process and apparatus for variable imaging system
US6310647B1 (en) * 1997-04-15 2001-10-30 Eastman Kodak Company Image format for storing digital images and including multiple application segments
US6295133B1 (en) * 1997-06-04 2001-09-25 Agfa Corporation Method and apparatus for modifying raster data
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6247011B1 (en) * 1997-12-02 2001-06-12 Digital-Net, Inc. Computerized prepress authoring for document creation
AU4644399A (en) 1998-07-06 2000-01-24 Scitex Corporation Ltd. A system and method for efficient printing of variable information documents
US6327050B1 (en) * 1999-04-23 2001-12-04 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
US6930795B1 (en) 1999-04-23 2005-08-16 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
US6256108B1 (en) * 1998-09-10 2001-07-03 Electronics For Imaging, Inc. Method and apparatus for label composition
US7315979B1 (en) * 1998-11-09 2008-01-01 Tesseron Ltd. Method and system for dynamic flowing data to an arbitrary path defined by a page description language
US6249288B1 (en) * 1998-12-14 2001-06-19 Ati International Srl Multi thread display controller
US6471423B1 (en) * 1999-01-05 2002-10-29 Canon Kabushiki Kaisha Print control apparatus and print control method
AUPP996099A0 (en) * 1999-04-23 1999-05-20 Silverbrook Research Pty Ltd A method and apparatus(sprint01)
AU2004205300B2 (en) * 1999-04-23 2005-08-11 Memjet Technology Limited Print control of colour and black data
JP4124910B2 (ja) * 1999-05-18 2008-07-23 キヤノン株式会社 画像データの復号化方法及びその装置
US6856428B1 (en) 1999-06-10 2005-02-15 Electronics For Imaging, Inc. Black text printing from page description languages
US7054015B1 (en) * 1999-07-02 2006-05-30 Electronics For Imaging, Inc. Printer description file format generator
JP3507366B2 (ja) * 1999-07-19 2004-03-15 キヤノン株式会社 記録装置および記録装置の画像データ処理方法
US6753974B1 (en) 1999-07-28 2004-06-22 Adobe Systems Incorporated Compositing pages from page components
US7096238B2 (en) 1999-08-19 2006-08-22 Sun Microsystems, Inc. Dynamic feedback for determining collection-set size
US6633890B1 (en) 1999-09-03 2003-10-14 Timothy A. Laverty Method for washing of graphic image files
US6563960B1 (en) * 1999-09-28 2003-05-13 Hewlett-Packard Company Method for merging images
US6919967B1 (en) 1999-11-18 2005-07-19 Hewlett-Packard Development Company, L.P. Printing performance enhancements for variable data publishing
US7505046B1 (en) * 2000-05-02 2009-03-17 Adobe Systems Incorporated Preserving opaque-like rendering in transparent 2D graphics using knockout groups
US6956667B2 (en) * 1999-12-24 2005-10-18 Agfa Gevaert N. V. Page composing method using stored page elements and apparatus for using the same
EP1111545A1 (de) * 1999-12-24 2001-06-27 Agfa-Gevaert naamloze vennootschap Verfahren und Gerät zur Seitengestaltung mit gespeicherten Seitenelementen
US6771384B1 (en) 2000-01-10 2004-08-03 Kinko's Washington, Inc. Imposition of graphic image files
US6429947B1 (en) * 2000-01-10 2002-08-06 Imagex, Inc. Automated, hosted prepress application
US6362895B1 (en) 2000-01-10 2002-03-26 Imagex, Inc. PDF to PostScript conversion of graphic image files
US6353483B1 (en) 2000-01-10 2002-03-05 Imagex, Inc. Postscript to bitmap conversion of graphic image files
US6556308B1 (en) 2000-01-10 2003-04-29 Imagex, Inc. Color separation of graphic image files
US6559966B1 (en) 2000-01-10 2003-05-06 Imagex, Inc. Trapping of graphic image files
US6381032B1 (en) 2000-01-10 2002-04-30 Imagex, Inc. Postscript to PDF conversion of graphic image files
US6396593B1 (en) 2000-01-10 2002-05-28 Imagex, Inc. Postscript to bitmap conversion of graphic image files
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
WO2001055869A1 (en) 2000-01-25 2001-08-02 Vistaprint Usa, Inc. Managing print jobs
US6950209B1 (en) * 2000-02-07 2005-09-27 Adobe Systems Incorporated Generating knockout marks for objects
US7576730B2 (en) 2000-04-14 2009-08-18 Picsel (Research) Limited User interface systems and methods for viewing and manipulating digital documents
US6781600B2 (en) * 2000-04-14 2004-08-24 Picsel Technologies Limited Shape processor
US7009626B2 (en) * 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US6748520B1 (en) * 2000-05-02 2004-06-08 3Com Corporation System and method for compressing and decompressing a binary code image
US6894796B1 (en) * 2000-05-12 2005-05-17 International Business Machines Corporation Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel
US6850338B1 (en) * 2000-05-12 2005-02-01 International Business Machines Corporation Method, system, program, and data structure for generating raster objects
US6804411B1 (en) * 2000-05-15 2004-10-12 International Business Machines Corporation Method, system, and program for decompressing and aligning line work data from multiple objects
US7167259B2 (en) * 2000-05-16 2007-01-23 International Business Machines Corporation System and method for merging line work objects using tokenization and selective compression
US6825852B1 (en) * 2000-05-16 2004-11-30 Adobe Systems Incorporated Combining images including transparency by selecting color components
JP3924420B2 (ja) * 2000-07-11 2007-06-06 Necエレクトロニクス株式会社 画像圧縮装置及びその方法
JP3601439B2 (ja) * 2000-10-31 2004-12-15 セイコーエプソン株式会社 画像表示装置
US7020837B1 (en) 2000-11-29 2006-03-28 Todd Kueny Method for the efficient compression of graphic content in composite PDF files
US7336380B2 (en) * 2001-02-13 2008-02-26 Heidelberger Druckmaschinen Ag Raster generation system and method of processing raster data
US7298510B2 (en) * 2001-05-10 2007-11-20 Canon Kabushiki Kaisha Image enlargement through poster printing by combining pattern data with image data
US6992789B2 (en) * 2001-06-15 2006-01-31 International Business Machines Corporation Method, system, and program for managing a multi-page document
US7019864B2 (en) * 2001-06-22 2006-03-28 Xeikon International N.V. Page composition in an image reproduction system using segmented page elements
US6981069B2 (en) * 2001-06-25 2005-12-27 International Business Machines Corp. Compressed data transmission over a plurality of transmission paths
US6985249B2 (en) 2001-06-25 2006-01-10 Xerox Corporation Variable data printing with optimized cache
US7327487B2 (en) * 2001-10-23 2008-02-05 Eastman Kodak Company Banded compositor for variable data
JP2003163801A (ja) * 2001-11-26 2003-06-06 Fuji Xerox Co Ltd 画像処理装置および画像処理方法、画像処理プログラム、記憶媒体
US20030160981A1 (en) * 2002-02-25 2003-08-28 Shannon Terrence M. Recognizing the content of device ready bits
US20030160985A1 (en) * 2002-02-25 2003-08-28 Martin Bailey Evaluating the overprint characteristics of a prepress workflow
US7263562B2 (en) * 2002-03-21 2007-08-28 Microsoft Corporation Method and system for describing uploaded files statement regarding federally-sponsored research or development
US7158254B2 (en) * 2002-05-01 2007-01-02 Sharp Laboratories Of America, Inc. Print-job, PDL/RIP-independent data-management method and system
US7143615B2 (en) * 2002-07-31 2006-12-05 Sun Microsystems, Inc. Method, system, and program for discovering components within a network
US7539713B2 (en) 2002-11-05 2009-05-26 Sun Microsystems, Inc. Allocation of likely popular objects in the train algorithm
US7035884B2 (en) * 2002-11-05 2006-04-25 Sun Microsystems, Inc. Placement of allocation trains in the train algorithm
US6999979B2 (en) * 2002-11-05 2006-02-14 Sun Microsystems, Inc. Efficient encoding of references into a collection set
US7188129B2 (en) * 2002-11-15 2007-03-06 Sun Microsystems, Inc. Merging trains in a collector based on the train algorithm
US7069280B2 (en) 2002-12-06 2006-06-27 Sun Microsystems, Inc. Collection-tick mechanism for a collector based on the train algorithm
US7085790B2 (en) * 2002-12-06 2006-08-01 Sun Microsystems, Inc. Advancing cars in trains managed by a collector based on the train algorithm
US7024437B2 (en) * 2002-12-06 2006-04-04 Sun Microsystems, Inc. Better placement of objects reachable from special objects during collection based on the train algorithm
US7031990B2 (en) 2002-12-06 2006-04-18 Sun Microsystems, Inc. Combining external and intragenerational reference-processing in a garbage collector based on the train algorithm
US7143124B2 (en) 2002-12-06 2006-11-28 Sun Microsystems, Inc. Detection of dead regions during incremental collection
US7904432B2 (en) * 2003-01-24 2011-03-08 Hewlett-Packard Development Company, L.P. Compressed data structure for extracted changes to a database and method of generating the data structure
US7146390B2 (en) 2003-02-24 2006-12-05 Sun Microsystems, Inc. Staging the processing of remembered-set entries as part of collection based on the train algorithm
US7069281B2 (en) 2003-02-24 2006-06-27 Sun Microsystems, Inc. Efficient collocation of evacuated objects in a copying garbage collector using variably filled local allocation buffers
US7096329B2 (en) * 2003-02-27 2006-08-22 Sun Microsystems, Inc. Better placement of objects promoted into a generation managed by the train algorithm
US7062519B2 (en) * 2003-02-27 2006-06-13 Sun Microsystems, Inc. Incremental scanning of enormous objects to improve scheduling and pause-time behavior of garbage collection
US20040186863A1 (en) * 2003-03-21 2004-09-23 Garthwaite Alexander T. Elision of write barriers for stores whose values are in close proximity
US7385714B2 (en) * 2003-04-04 2008-06-10 Hewlett-Packard Development Company, L.P. Optimizing raster image processing pipeline data throughput
US8639760B2 (en) * 2003-06-10 2014-01-28 Hewlett-Packard Development Company, L.P. Hard imaging devices, hard imaging systems, articles of manufacture, hard imaging device electronic mail processing methods
US7089272B1 (en) 2003-06-18 2006-08-08 Sun Microsystems, Inc. Specializing write-barriers for objects in a garbage collected heap
US9098475B2 (en) * 2003-08-20 2015-08-04 Xerox Corporation Apparatus and method for generating reusable composite components during dynamic document construction
US7149762B1 (en) 2003-08-20 2006-12-12 Sun Microsystems, Inc. Handling futile collections in the train algorithm through selective extension of the collection set
US20050052663A1 (en) * 2003-09-05 2005-03-10 Sharp Laboratories Of America, Inc. Image source-file DPI printing-scale control
US7404182B1 (en) 2003-10-03 2008-07-22 Sun Microsystems, Inc. Deferring and combining write barriers for a garbage-collected heap
US20050094194A1 (en) * 2003-11-03 2005-05-05 David Dolev Enhanced image processing with shared data storage
DE602004017689D1 (de) * 2003-11-21 2008-12-24 Samsung Electronics Co Ltd Vorrichtung und Methode zur Erzeugung von kodierten Blockanordnungen für ein Alpha-Kanalbild sowie Alpha-Kanalkodierungs und -dekodierungsvorrichtung und -methode.
US8144360B2 (en) * 2003-12-04 2012-03-27 Xerox Corporation System and method for processing portions of documents using variable data
US7433364B2 (en) * 2003-12-24 2008-10-07 Intel Corporation Method for optimizing queuing performance
US7995238B2 (en) * 2004-01-30 2011-08-09 Fuji Xerox Co., Ltd. Image processing that can use both process and spot color plates
US8164785B2 (en) * 2004-06-15 2012-04-24 Sharp Laboratories Of America, Inc. Method and apparatus for selecting printing devices according to resource availability
US7620943B1 (en) 2004-06-30 2009-11-17 Sun Microsystems, Inc. Using class properties to segregate objects in a generation managed by the train algorithm
US8121338B2 (en) * 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion
US7684076B2 (en) * 2004-07-23 2010-03-23 Kabushiki Kaisha Toshiba Method and apparatus for raster image processing
US7672521B2 (en) * 2004-08-30 2010-03-02 Hewlett-Packard Development Company, L.P. System and method for improved page composition
US7676801B1 (en) 2004-08-31 2010-03-09 Sun Microsystems, Inc. Scanning of evacuated objects in a generation managed by the train algorithm
US7821657B2 (en) * 2004-09-14 2010-10-26 Sharp Laboratories Of America, Inc. Continuous raster image processing control across print jobs
US20060112145A1 (en) * 2004-11-22 2006-05-25 Ron Rieger Record transfer system
KR100628572B1 (ko) * 2004-12-10 2006-09-26 삼성전자주식회사 프린트 문서 편집 방법 및 그 장치
US8996486B2 (en) * 2004-12-15 2015-03-31 Applied Invention, Llc Data store with lock-free stateless paging capability
US11321408B2 (en) * 2004-12-15 2022-05-03 Applied Invention, Llc Data store with lock-free stateless paging capacity
US7321909B1 (en) 2004-12-23 2008-01-22 Sun Microsystems, Inc. Method and apparatus for forwarding references to objects concurrently with space-incremental garbage collection
US7817307B2 (en) 2005-01-06 2010-10-19 Zenographics, Inc. Digital image processing without rasterization
US7880750B2 (en) * 2005-01-06 2011-02-01 Zenographics, Inc. Digital image processing with inherent compression
CN100349159C (zh) * 2005-01-18 2007-11-14 北京北大方正电子有限公司 一种在页面光栅化时刻附加标记的方法
US7086792B1 (en) * 2005-09-08 2006-08-08 Xerox Corporation Combining a set of images into a single document image file having a version key and a color plane associated therewith
US8289572B2 (en) * 2005-09-22 2012-10-16 Ricoh Production Print Solutions LLC Estimation of ink/toner coverage when printing
US8266232B2 (en) * 2005-10-15 2012-09-11 International Business Machines Corporation Hardware processing of commands within virtual client computing environment
US8731954B2 (en) 2006-03-27 2014-05-20 A-Life Medical, Llc Auditing the coding and abstracting of documents
US8432563B2 (en) * 2006-04-24 2013-04-30 Xerox Corporation Systems and methods for dynamically re-configuring imager and caching modules to optimize raster image processing performance
AU2006201851A1 (en) * 2006-05-03 2007-11-22 Canon Kabushiki Kaisha Compressing page descriptions while preserving high quality
DE102006021387B4 (de) * 2006-05-08 2008-04-03 OCé PRINTING SYSTEMS GMBH Drucksystem und Verfahren zum Betreiben eines Drucksystems
US7823064B1 (en) * 2007-08-30 2010-10-26 Adobe Systems Incorporated Interleaving compressed archives within a page description language file
CN100424629C (zh) * 2006-09-22 2008-10-08 北京北大方正电子有限公司 一种自动生成拼大版后校样线的方法及系统
JP4831349B2 (ja) * 2007-01-23 2011-12-07 富士ゼロックス株式会社 画像処理装置、画像形成装置、画像形成システム、及びプログラム
US7908552B2 (en) * 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
US8682823B2 (en) 2007-04-13 2014-03-25 A-Life Medical, Llc Multi-magnitudinal vectors with resolution based on source vector features
US7911636B2 (en) 2007-07-25 2011-03-22 Eastman Kodak Company Multi-head press data delivery rate control
US8228540B2 (en) * 2007-07-31 2012-07-24 Esko Ip Nv Rasterizing variable and non-variable data for printing
EP2026250B1 (de) * 2007-07-31 2016-03-09 Esko Software Bvba Rasterung variabler und nichtvariabler Daten zum Drucken
US9946846B2 (en) 2007-08-03 2018-04-17 A-Life Medical, Llc Visualizing the documentation and coding of surgical procedures
US8392529B2 (en) 2007-08-27 2013-03-05 Pme Ip Australia Pty Ltd Fast file server methods and systems
US8184304B2 (en) * 2007-11-19 2012-05-22 Moore Wallace North America, Inc. System and method of operating a raster image processor
US10311541B2 (en) 2007-11-23 2019-06-04 PME IP Pty Ltd Multi-user multi-GPU render server apparatus and methods
WO2009067680A1 (en) 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Automatic image segmentation methods and apparartus
WO2009067675A1 (en) 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Client-server visualization system with hybrid data processing
WO2011065929A1 (en) 2007-11-23 2011-06-03 Mercury Computer Systems, Inc. Multi-user multi-gpu render server apparatus and methods
US9904969B1 (en) 2007-11-23 2018-02-27 PME IP Pty Ltd Multi-user multi-GPU render server apparatus and methods
EP2098994A1 (de) * 2008-03-04 2009-09-09 Agfa HealthCare NV System für die Echtzeit-Volumenleistung auf Thin-Clients über einen Widergabeserver
US20090244622A1 (en) * 2008-03-31 2009-10-01 Markus Maresch Systems and Methods for Rendering Print Data
JP5247603B2 (ja) * 2008-09-04 2013-07-24 キヤノン株式会社 情報処理装置、制御方法、制御プログラム
US8554773B2 (en) * 2008-09-08 2013-10-08 Mobile Imaging In Sweden Ab Method for indexing images and for reading an index of an image
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
JP5434555B2 (ja) * 2009-12-14 2014-03-05 富士ゼロックス株式会社 画像情報処理装置及びプログラム
JP5482238B2 (ja) * 2010-01-29 2014-05-07 コニカミノルタ株式会社 画像処理装置、画像形成装置、画像処理方法、画像形成方法及びプログラム
US20110191784A1 (en) * 2010-02-02 2011-08-04 Microsoft Corporation Processing observable events using join patterns
JP5440222B2 (ja) * 2010-02-03 2014-03-12 富士ゼロックス株式会社 情報処理装置及びプログラム
JP5534867B2 (ja) * 2010-03-02 2014-07-02 キヤノン株式会社 ラスタ画像を生成する装置、ラスタ画像生成方法、およびプログラム
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
US8553977B2 (en) 2010-11-15 2013-10-08 Microsoft Corporation Converting continuous tone images
US8477376B2 (en) * 2010-12-15 2013-07-02 Xerox Corporation System to enable development of clear toner forms
US8767240B1 (en) 2011-01-28 2014-07-01 Marvell International Ltd. Method and apparatus for encoding data to perform real-time rendering
JP5360106B2 (ja) 2011-03-25 2013-12-04 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理方法
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US9171239B2 (en) * 2011-06-22 2015-10-27 Hewlett-Packard Development Company, L.P. Processing image data strips in columnar regions
US9367294B2 (en) * 2011-09-12 2016-06-14 Xerox Corporation Systems and methods for disambiguating dialects in limited syntax languages to reduce system fragility
US9135532B2 (en) 2011-10-07 2015-09-15 Hewlett-Packard Development Company, L.P. Processing image data strips
US8976190B1 (en) 2013-03-15 2015-03-10 Pme Ip Australia Pty Ltd Method and system for rule based display of sets of images
US10540803B2 (en) 2013-03-15 2020-01-21 PME IP Pty Ltd Method and system for rule-based display of sets of images
US11244495B2 (en) 2013-03-15 2022-02-08 PME IP Pty Ltd Method and system for rule based display of sets of images using image content derived parameters
US11183292B2 (en) 2013-03-15 2021-11-23 PME IP Pty Ltd Method and system for rule-based anonymized display and data export
US9509802B1 (en) 2013-03-15 2016-11-29 PME IP Pty Ltd Method and system FPOR transferring data to improve responsiveness when sending large data sets
US10070839B2 (en) 2013-03-15 2018-09-11 PME IP Pty Ltd Apparatus and system for rule based visualization of digital breast tomosynthesis and other volumetric images
JP6183025B2 (ja) 2013-07-23 2017-08-23 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
JP6244876B2 (ja) 2013-12-17 2017-12-13 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
AU2013273768A1 (en) 2013-12-20 2015-07-09 Canon Kabushiki Kaisha Parallel rendering of region-based graphics representations
JP2016110495A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 情報処理システム、情報処理装置、情報処理システムの制御方法、及びコンピュータプログラム
AU2014280960A1 (en) 2014-12-24 2016-07-14 Canon Kabushiki Kaisha Method, apparatus and system for rendering an image
US9984478B2 (en) 2015-07-28 2018-05-29 PME IP Pty Ltd Apparatus and method for visualizing digital breast tomosynthesis and other volumetric images
US11599672B2 (en) 2015-07-31 2023-03-07 PME IP Pty Ltd Method and apparatus for anonymized display and data export
US9671987B2 (en) 2015-09-22 2017-06-06 Xerox Corporation Compatibility of configuration between variable and fixed print job data
WO2018176040A1 (en) * 2017-03-24 2018-09-27 Pti Marketing Technologies Inc. Systems and methods for clipping images
US10909679B2 (en) 2017-09-24 2021-02-02 PME IP Pty Ltd Method and system for rule based display of sets of images using image content derived parameters
US10884662B2 (en) * 2018-08-06 2021-01-05 Silicon Motion, Inc. Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server
US10650576B1 (en) * 2018-11-12 2020-05-12 Adobe Inc. Snapping experience with clipping masks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300206A (en) * 1977-06-30 1981-11-10 International Business Machines Corporation Flexible text and image generator for a raster printer
US4493049A (en) * 1981-06-05 1985-01-08 Xerox Corporation Shared resource clustered printing system
US6020894A (en) * 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
US5239625A (en) * 1991-03-05 1993-08-24 Rampage Systems, Inc. Apparatus and method to merge images rasterized at different resolutions
US5257113A (en) * 1991-09-20 1993-10-26 International Business Machines Corporation Video mixing technique using JPEG compressed data
JPH0686032A (ja) * 1992-05-06 1994-03-25 Xerox Corp プリンタ出力コントローラ
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
US5552898A (en) * 1994-07-06 1996-09-03 Agfa-Gevaert Lossy and lossless compression in raster image processor
EP0703524B1 (de) * 1994-09-13 1997-01-08 Agfa-Gevaert N.V. Veränderliche Datenfelder in einer Seitenbeschreibungssprache
US5796411A (en) * 1995-07-10 1998-08-18 Moore Business Forms, Inc. High resolution real time raster image processing system and method
US5884014A (en) * 1996-05-23 1999-03-16 Xerox Corporation Fontless structured document image representations for efficient rendering
US5828814A (en) * 1996-09-10 1998-10-27 Moore Business Forms, Inc. Reduced cost high resolution real time raster image processing system and method
CA2215094A1 (en) * 1996-10-16 1998-04-16 Brian F. Hern Method for creating complex layouts with variable data for multiple high speed printing systems
US5953007A (en) * 1997-09-15 1999-09-14 International Business Machines Corporation System, method, and program for using animations to show page layout combinations in a user interface for submitting print jobs

Also Published As

Publication number Publication date
WO1999024933A1 (en) 1999-05-20
EP1057138B1 (de) 2003-08-06
DE69817029D1 (de) 2003-09-11
EP1057138A1 (de) 2000-12-06
US6049390A (en) 2000-04-11

Similar Documents

Publication Publication Date Title
DE69817029T2 (de) Mischung von komprimierten rasterbildern in einem drucksystem
DE69831133T2 (de) Konfiguriation einer Datenverarbeitungspipeline
EP0764310B1 (de) Verfahren zur generierung einer contone-map
DE60305573T2 (de) Verfahren zur Darstellung von gemischten Bildrasterinhaltsebenen
DE69730892T2 (de) Verarbeitung von Rückzugspunkten zur Blatterstellung mit Techniken zur Speicherreduktion
DE69738515T2 (de) Vorrichtung und verfahren für hybride kompression von rasterdaten
DE69733054T2 (de) Druckersteuerungsgerät und -verfahren
DE69831385T2 (de) Verfahren und Anordnung zum Mischen von graphischen Objekten mit Planarkarten
DE19602129C2 (de) Verfahren zum Erzeugen eines Farbdokuments
DE60022240T2 (de) Ausgabeverwaltungssystem und -Verfahren
DE69832411T2 (de) Speicherverwaltungssystem für bilddokumenten-datenbank
DE69814988T2 (de) Datenzusammenfügevorrichtung
DE10204751B4 (de) Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache
DE102013203884A1 (de) Bildkomprimierung
DE10295968T5 (de) Verbunddokumentbildkompression unter Verwendung eines Mehrfachregion-Zweischichtformats
DE69632644T2 (de) Bilderzeugung für seitendrucker
DE10158419A1 (de) Verfahren zum digitalen Drucken von zusammengesetzten Dokumenten
EP2092465B1 (de) Verfahren und system zum automatischen aufbereiten von druckdaten für einen druckvorgang
DE10128858A1 (de) Verfahren zur Erzeugung von Überfüllrahmen in einer Druckseite
EP1013070B1 (de) Verfahren und gerät zur elektronischen archivierung eines computer-datenstroms
WO2008062041A1 (de) Verfahren und drucksystem zum trapping von druckdaten
DE69729752T2 (de) Adaptive bildblockkompression
DE102004062841A1 (de) Verfahren, Computerprogramm, Computer und Drucksysteme zum Trapping von Bilddaten
DE69531018T2 (de) Druckersystem und Verfahren um grafische Daten zu drucken
EP0766856B1 (de) Verfahren zur montage von druckbögen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition