PatentDe  


Dokumentenidentifikation DE69131370T2 18.11.1999
EP-Veröffentlichungsnummer 0473340
Titel Pipelinestrukturen für vollfarbfähigen Rechnergraphik
Anmelder Canon K.K., Tokio/Tokyo, JP;
Canon Information Systems Research Australia Pty. Ltd., North Ryde, AU
Erfinder Silverbrook, Kia, Woollahra, New South Wales 2025, AU
Vertreter Tiedtke, Bühling, Kinne & Partner, 80336 München
DE-Aktenzeichen 69131370
Vertragsstaaten DE, FR, GB, IT
Sprache des Dokument En
EP-Anmeldetag 15.08.1991
EP-Aktenzeichen 913075636
EP-Offenlegungsdatum 04.03.1992
EP date of grant 23.06.1999
Veröffentlichungstag im Patentblatt 18.11.1999
IPC-Hauptklasse G06T 9/00
IPC-Nebenklasse G06T 17/00   

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf Vollfarben- Desktop-Publishing-(DTP-)Systeme, und offenbart insbesondere verschieden Pipelinestrukturen eines derartigen Systems, die für die Erzeugung und das Drucken von A3-True-Colour-Bildern mit 400 Punkten pro Inch sorgen.

DTP-Systeme wie VENTURA PUBLISHER und PAGEMAKER sind bekannt und dienen zur Dokument- und Bilderzeugung im allgemeinen bei Personal-Computer-Systemen mit der Hilfe einer mausähnlichen Eingabeeinrichtung und eines Halbton-Laser-Druckers (schwarz auf weiß).

Allerdings besteht das Bedürfnis nach DTP-Systemen, die in Vollfarbe arbeiten und eine größere Vielseitigkeit bei der Bilderzeugung und -bearbeitung vorsehen. Vollfarben-DTP- Systeme wurden konsturiert, aber diese bekannten Anordnungen sind bei der Forderung nach hoher Qualität kostspielig.

In einem Artikel von I. Shah et al. mit dem Titel "A Transform Coding Chip Set for Image Compression", (ICASSP90 International Conference on Acoustics, Speech and Signal Processing, Band 2, 3. April 1990, New Mexico, USA, Seiten 961-964) offenbart ein Pipeline-Verarbeitungsverfahren zur Durchführung der verlustlosen Komprimierung oder Dekomprimierung digitaler Bilddaten.

Ein Artikel von R. Wilson mit dem Titel "Inmos takes on image compression with discrete cosine transform processor", (Computer Design, Band 28, Nr. 15, August 1989, OK, USA, Seite 86) offenbart eine Pipeline-Verarbeitungsvorrichtung zur

Durchführung der Komprimierung digitaler Bilddaten unter Verwendung des diskreten Cosinustransformationsverfahrens.

Die US-A-4843632 offenbart eine Pipeline- Verarbeitungsanordnung, bei der komprimierte digitale Bilddaten unter Verwendung eines Lauflängen-Dekodierverfahrens dekomprimiert werden.

Ein Artikel von L. de Sa et al. mit dem Titel "A parallel architecture for real-time video coding", (Microprocessing and Microprogramming Proc, Euromicro 90, Band 30, Nr. 1/5. August 1990, NL, Seiten 439-445) offenbart eine Videokodier- /Dekodier-Einrichtung, bei der jedes Bild in Bereiche horizontaler Streifen eingeteilt wird und jeder Bereich von einzelnen digitalen Signalverarbeitungsmodulen bearbeitet wird.

Der Erfindung liegt die Aufgabe zugrunde, die Nachteile des Standes der Technik durch die Bereitstellung eines DTP- Systems zu beseitigen oder zu verringern, das Pipeline- Strukturen enthält, die eine verbesserte Funktion bei geringem Kostenaufwand liefern.

Erfindungsgemäß ist eine Pipeline-Verarbeitungsvorrichtung für Computergrafiken zur Manipulation komprimierter Bilddaten ausgestaltet, mit einer Datenquelle, einem Datenziel, einer Daten-Komprimierungs-/Expandierungseinrichtung zur Umwandlung von Bild-Bildelementdaten in komprimierte Bilddaten und umgekehrt und einer Bildelementdaten-Manipuliereinrichtung zur Manipulation der Bild-Bildelementdaten in Bildelementform, wobei die Daten-Komprimierungs-/Expandierungseinrichtung sich zwischen der Datenquelle und dem Datenziel zur Modifikation der Form der dem Ziel von der Quelle zugeführten Daten befindet und die Manipuliereinrichtung mit der Komprimierungs- /Expandierungseinrichtung zum Empfang der Bild- Bildelementdaten von dieser und/oder zum Senden der Bild- Bildelementdaten zu dieser verbunden ist.

Nachstehend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beiliegende Zeichnung beschrieben. Es zeigen:

Fig. 1 ein schematisches Blockschaltbild eines das bevorzugte Ausführungsbeispiel beinhaltenden DTP-Systems,

Fig. 2 ein schematisches Blockschaltbild einer Schaltung eines in dem DTP-System in Fig. 1 enthaltenen Grafiksystems,

Fig. 3 ein schematisches Blockschaltbild einer Renderingpipeline der Fig. 1 und 2,

Fig. 4 ein schematisches Blockschaltbild einer Zusammensetzungspipeline der Fig. 1 und 2,

Fig. 5 ein schematisches Blockschaltbild einer Druckpipeline der Fig. 1 und 2,

Fig. 6 ein schematisches Blockschaltbild einer Abtastpipeline der Fig. 1 und 2,

Fig. 7 eine grafische Darstellung eines Seitenbildes,

Fig. 8 ein Grafikbild mit verschiedenen Schichten,

Fig. 9 die Ausbildung der Schichten in Fig. 8 und

Fig. 10 das Band-Rendering des Bildes in Fig. 8.

Das hier angewandte grundlegende Verfahren zum Erreichen der Forderung nach geringen Kosten besteht in der Verwendung komprimierter Bildspeicher. Dadurch wird die Speicherung eines Seitenbildes, das normalerweise um die 100 Mbyte (100 MB) erfordern würde, in nahezu 4 MB ermöglicht. Eine Beschreibung der Entwicklung und Verwendung komprimierter Bildspeicher ist in der australischen Patentanmeldung Nr. PK1784 vom 16. August 1990 und in der EP-A-0 473 341 der Anmelderin gegeben.

Die Verwendung komprimierter Bildspeicher macht die Aufnahme einer Vielzahl von Bildspeichern in einem Halbleiterspeicher praktikabel. Wird keine Komprimierung verwendet, würde die gleiche Funktionalitätsstufe wie die hier beschriebene eine Größenordnung von 200 MB an Halbleiterspeicher erfordern. Die Verwendung einer Komprimierung bedeutet, daß diese auf ungefähr 8 MB verringert werden kann.

Die offenbarte Anordnung erzeugt Grafiken sowohl für ein Seitenbild als auch für ein Bildschirmbild. Das Bildschirmbild ist ein Hochauflösungs-Vollfarben-Arbeitsplatzbildschirm mit Standardkonfiguration, der entweder eine Videoanzeigeeinrichtung oder eine Flüssigkristallanzeigeeinrichtung sein kann. Die Videoanzeigeeinrichtung arbeitet im allgemeinen bei einer Auflösung von 1280 Zeilen · 1024 Bildelemente mit 32 Bits pro Bildelement. Das Seitenbild ist eine Darstellung der gedruckten Seite. Das Seitenbild kann Vollfarben-A3-Seiten mit 400 dpi darstellen. Daraus ergibt sich eine Auflösung von 6480 · 4632 Bildelementen. Die Farbbildhandhabung mit Auflösungen von 1280 · 1024 ist gegenwärtig bei Desktop-Publishing- Systemen üblich. Allerdings können die Implikationen der Bildhandhabung bei Auflösungen, die für Hochqualitäts- Farbseiten erforderlich sind, eventuell nicht so vertraut sein.

Das Bildschirmbild beinhaltet 1310720 Bildelemente. Das Seitenbild beinhaltet 30015360 Bildelemente. Bei Verwendung von 32 Bits pro Bildelement (8 Bits jeweils für rot, grün, blau und durchlässig) betragen die Bildgrößen 5242880 Bytes bzw. 120061440 Bytes. Das Bildschirmbild kann kosteneffektiv unter Verwendung aktueller Videospeicher (VRAMs) ausgebildet werden, allerdings sind die Kosten für den für das Seitenbild erforderlichen Speicher gegenwärtig zu hoch für viele DTP- Anwendungen, wenn sie auf herkömmliche Art und Weise ausgebildet sind. Aus diesem Grund wird bei der offenbarten Anordnung eine Bildkomprimierung bei dem Seitenbild angewendet.

Das DTP-System 100 in den Fig. 1 und 2 verwendet ein Komprimierungssystem, das auf dem CCITT/ISO-JPEG-Standard für Bildkomprimierung beruht und eine sehr hohe Bildqualität bei Komprimierungsverhältnissen von 25 : 1 erzielen kann. Allerdings resultiert die Verwendung der JPEG-Komprimierung mit Farblaserdruckvorgängen wie jenen in dem Canon Colour Laser Copier CLC500 implementierten in einer merklichen Verzerrung bei Text mit kleiner Punktgröße und bei feinen Grafiklinien. Aus diesem Grund verwendet das DTP-System 100 ein Komprimierungssystem, das weitgehend mit dem JPEG-Standard kompatibel ist, aber die Schwarz-Weiß-Textqualität bewahrt. In dieser Beschreibung wird dieses Komprimierungssystem ADCT+ genannt.

Es gibt zwei Unterschiede zwischen dem hier offenbarten ADCT+-Format und dem JPEG-Standard. Zum einen ist zur Verbesserung der Qualität eines rekonstruierten Textes ein Array aus Bits enthalten, die anzeigen, welche 8 · 8- Bildelementzellen Text und welche ein Bild darstellen. Es gibt ein Bit für jede Zelle (468990 Bits bzw. 58623 Bytes für eine A3-Seite).

Zum zweiten wird ein spezieller Modus des JPEG-Standards verwendet, der Markierungskodes am Ende jedes Achtzeilenblocks komprimierter Daten enthält. Das ist für das JPEG-Format optional, aber verpflichtend im ADCT+-Format. Dies dient dazu, der C-Cube-CL550B-JPEG-Prozessoreinrichtung zu ermöglichen, zwischen einem Expandierungs- und einem Komprimierungsmodus in Intervallen von acht Zeilen umzuschalten, wie es in Fig. 2 gezeigt ist.

Obwohl der JPEG-Standard eine sehr hohe Qualität aufrechterhält, ist er nicht verlustlos. Die Unterschiede zwischen einem ursprünglichen und einem rekonstruierten Bild sind normalerweise bei fotografischen Bildern bei einem Komprimierungsverhältnis von 25 : 1 nicht leicht sichtbar, allerdings ist dies nicht der Fall für Text und,Liniengrafiken mit hochfrequentem Inhalt. Das ADCT+-Verfahren kann die Textqualität für einen Text aus "binären" Farben auf "binären" Hintergründen wiederherstellen, verbessert aber die Textqualität in den anderen Fällen nicht über das JPEG-System hinaus. Die Binärfarben sind die Farben, bei denen die rote, grüne und blaue Farbkomponente entweder vollstänig ein- oder vollständig ausgeschaltet ist. Die binären Farben sind schwarz, weiß, rot, grün, blau, zyan, magenta und gelb.

Das DTP-System 100 verwendet manchmal eine Vielzahl von Komprimierungs-/ und Expandierungsdurchläufen zur Zusammensetzung. ADCT+-Zellen (8 · 8 Bildelemente), in denen die Daten während der Zusammensetzung keine Änderung erfahren, werden während der zweiten (oder nachfolgenden) Komprimierung nicht weiter verschlechtert. Wo die ADCT+-Zelle während der Zusammensetzung geändert wird, wird es eine geringe weitere Verschlechterung bei der Komprimierung geben. Diese ist typischerweise wesentlich geringer als die ursprüngliche Verschlechterung.

Das DTP-System 100 wurde zum Zweck einer hohen Leistungsfähigkeit bei hoher Qualität und hoher Funktionalität bei geringen Kosten konfiguriert. Die Darstellung in Fig. 1 zeigt die Hauptfunktionsblöcke im System 100 und den grundlegenden Datenfluß zwischen den verschiedenen Blöcken. Aus Klarheitsgründen sind die Steuerverbindungen nicht gezeigt. Diese sind aber für den Fachmann ersichtlich.

Das DTP-System 100 umfaßt im wesentlichen ein Computersystem 200 und ein Grafiksystem 300, die über einen Systembus 130 zusammengeschlossen sind. Das Computersystem 200 kann ein Universalcomputer wie zum Beispiel eine Sun-Workstation sein.

Das DTP-System 100 weist ferner eine Benutzerschnittstelle 110, die eine Tastatur 112 beinhaltet, die primär für Texteinträge verwendet wird, und einen Digitalisierer 114 auf, der als druckempfindliches Digitalisierungstableau zum Malen, Zeichnen und für Befehlseingaben dient. Die Benutzerschnittstelle 110 ist über serielle Verbindungen 116 mit einem seriellen Anschluß 205 wie einer RS232-Anordnung des Computersystems 200 verbunden. Das DTP-System 100 enthält auch eine Plattenlaufwerkeinrichtung 120, die ein magnetooptisches Plattenlaufwerk (MOD) 122 und ein Standardfestplattenlaufwerk (HDD) 124 enthalten kann. Das Festplattenlaufwerk 124 kann zur Speicherung von Standard-Farb-DTP-Systemdaten verwendet werden. Die Plattenlaufwerkeinrichtung 120 bildet eine Schnittstelle mit dem Computersystem 200 über eine Verbindung 126 mit einem Anschluß 210 wie eine Schnittstelle für Kleincomputer (SCSI) aus.

Das Computersystem 200 weist auch eine Schnittstelleneinrichtung 215 auf, die eine Verbindung 107 mit einem Netzwerkbus 105 wie Ethernet ermöglicht.

Das Computersystem 200 enthält einen Universalprozessor 230 wie einen 68040-Prozessor von Motorola. Der Prozessor 230 enthält verschiedene Softwareschichten, die verschiedene Funktionen in dem DTP-System 100 ausführen. Ein Betriebssystem 235 wie Unix dient als Softwareschicht, die Systemdienstprogramme wie Multitasking-Kern-, Datei- und Einabe- /Augabeverwaltung und Speicherverwaltung bereitstellt.

Eine Arbeitsplatzbildschirm-Verwaltungseinrichtung 240 ist eine für Kommunikations- und Bildschirmverwaltungsfunktionen vorgesehene Softwareschicht. Die Arbeitsplatzbildschirm- Verwaltungseinrichtung 240 kann beispielsweise ein X-Windows- System beinhalten, das für die Bildschirmanzeigeverwaltung einschließlich Windows, Icons, Cursor und Buttons verantwortlich ist. Im Fall von WYSIWYG-Bildern wird mit dem System 100 ein Bildschirmrendering mit einer Renderingpipeline durchgeführt, die Bilddarstellungen auf hohem Niveau in der Form von Anzeigelisten entnimmt und diese in Farbbildelementdaten umwandelt. Die Arbeitsplatzbildschirm-Verwaltungseinrichtung 240 kann auch das MOTIF-System enthalten, was eine Art Benutzerschnittstelle ist, die bei DTP-Anwendungen und beim Betrieb des DTP-Systems 100 nützlich ist.

Eine Anwendungsschicht 245 ist auch vorgesehen, die bestimmte für das Desktop-Publishing erforderliche Anwendungen implementiert. Beispielsweise kann die Anwendungsschicht 245 ein japanisches Sprachen-Farb-DTP-System sowie für das System 100 nützliche Grafikanwendungen enthalten. Andere Anwendungen beinhalten Dokumenterzeugungsanwendungen für die englische Sprache und Filter wie Postskript LEVEL 2 für ein Befehlsschnittstellenfilter, das eine Anwendungssprache in die in dem Computersystem 200 verwendete bestimmte Befehlsschnittstellensprache umwandelt. Vorzugsweise ist das Betriebssystem 235 multitaskingfähig, so daß mehr als eine Anwendung gleichzeitig implementiert sein kann. Die Anwendungsschicht 245 sorgt für die Ausbildung einer Seitenbeschreibungssprache (PDL) von zur Ausbildung eines Seitenbildes verwendeten Objekten. Die Seitenbeschreibungssprache wird zur Ausbildung einer Darstellung auf hohem Niveau des Seitenbildes als Anzeigeliste kompiliert.

Eine Host-Rendering-Schicht 250 bildet einen Teil der Renderingpipeline. Immer wenn ein neues Bild zu rendern (zu erzeugen) ist, übersetzt die Host-Rendering-Schicht 250 Anzeigelisteninformationen von einem Anzeigelistenspeicher 220 in eine Renderingliste 397, die einen Teil des Graphiksystems 300 bildet. Die Host-Rendering-Schicht (RL) 250 beinhaltet beispielsweise folgende Schritte:

a) Berechnen der exakten Position, Größe, Farbe, Mischung und anderer Eigenschaften jedes Textzeichens,

b) Berechnen eines örtlichen Unterteilungsarrays zur Erhöhung der Geschwindigkeit jedes nachfolgenden Renderingvorgangs,

c) Berechnen von Spline-Umrissen für alle objektbasierten Grafikbilder,

d) Aussondern von Objekten und Grafiken, die nicht zu rendern sind, da sie beispielsweise auf einer unterschiedlichen Seite eines mehrseitigen Dokuemnts sind, oder wo lediglich ein Abschnitt einer Seite zu rendern ist, und

e) Routen von komprimierten ADCT+-Dateien zur Expandierung. Der Anzeigelistenspeicher 220 beinhaltet objektbasierte Beschreibungen von farbigen Dokumenten auf hohem Niveau. Die in dem Anzeigelistenspeicher 220 enthaltenen Daten beinhalten Gleitpunkt-Objektdefinitionen, erweiternde ASCII- Textdefinitionen und ADCT+-komprimierte Bildelementbilder. Die Anzeigeliste 220 ist bezüglich der Flexibilität und der Einfachheit einer interaktiven Modifikation optimiert und stellt eine relative kompakte Beschreibung eines jeden beliebigen Bildes dar. Seiten aus Grafik und Text weisen im allgemeinen Datengrößen von weniger als 10 KBytes auf. Eine einzelne Anzeigeliste kann ein Mehrseitendokument definieren.

Das in Fig. 1 gezeigte Grafiksystem 300 ist um einen Zusammensetzungsbus 305 strukturiert, der im allgemeinen 32 Bits breit mit 8 Bits jeweils für rote, grüne, blaue und matte (transparente) (RGBM-) Daten ist.

Das Grafiksystem 300 enthält einen Renderingprozessor 310, der vorzugsweise ein Hochleistungs-32-Bit-Risk-Prozessor wie die Intel i960CA+-Einrichtung mit Hochgeschwindigkeits-DRAM- Speicherschnittstellen und Daten- und Befehlscachespeichern auf einem Chip ist. Der Renderingprozessor 310 enthält auch DMA-Kanäle zum Lesen und Schreiben von ADCT+-komprimierten Daten in und aus in dem DRAM ausgebildeten Speicherbereichen.

Die Hauptfunktion des Renderingprozessors 310 liegt in der Umwandlung von Renderinglistendaten 398 in Grafikeinrichtungsbefehle 312. Dieser Vorgang ist als Band-Rendering bekannt und muß für jeden 8-Zeilenblock eines Seitenbildes durchgeführt werden und bildet einen Teil der Renderingpipeline.

Der Renderingprozessor 310 gibt RGBM-Daten 314 zu einer Grafikeinrichtung 320 aus, die Lauflängen, Vermischungen, Bitmaps und andere Grafikbefehle in einem Zusammensetzungszeilenspeicher 330 zusammensetzt. Die Grafikeinrichtung 320 ist für die hohe Funktionsfähigkeit des DTP-Systems 100 kritisch, da sie Bildelement- und Zeilenniveauoperationen hardwaremäßig durchführt. Im allgemeinen führt die Grafikeinrichtung 320 Operationen bei einer Rate von 13,5 Millionen Bildelementen pro Sekunde durch, selbst wenn komplexe Transparenz- und Farbmischvorgänge für jedes Bildelement auszuführen sind. Die Grafikeinrichtung 320 kann viele Operationen bei einer Rate durchführen, die 100 mal schneller als die gegenwärtig in Softwareimplementationen verfügbare Rate ist. Eine vollständige Beschreibung eines bestimmten Beispiels der Grafikeinrichtung 320 ist in der europäischen Patentanmeldung Nr. 91 306 080.2 der Anmelderin gegeben.

Mit dem Zusammensetzungsbus 305 ist auch ein ADCT+-Prozessor 340 verbunden, der ADCT+-komprimierte Bilder in Bildelementdaten und umgekehrt umwandelt, wie es in der australischen Patentanmeldung Nr. PK1784 mit dem Titel "Compressed Image Stores for High Resolution Computer Graphics" vom 16. August 1990, deren Priorität beansprucht wird, und in der EP-A-0 473 341 beschrieben ist.

Der ADCT+-Prozessor 340 führt adaptive diskrete Cosinustransformationen bei Bildelementdaten zur Ausbildung komprimierter Bilder durch, wie es in dem CCITT/ISO JPEG-Standard beschrieben ist. Der ADCT+-Prozessor beinhaltet Variationen des JPEG- Standards, die Verbesserungen der Qualität des rekonstruierten Textes ermöglichen, und das Einfügen von Markierungskodes am Ende jedes Achtzeilenblocks der komprimierten Daten erlauben. Unter Verwendung des ADCT+-Prozessors 340 kann ein vollständiges A3-Seitenbild mit 400 Punkten pro Inch, das normalerweise eine Größe von 98 MByte des DRAMs belegt, in näherungsweise 4 MByte des Speichers an der Ziel-/Quellenstelle 390 gespeichert werden, die allgemein ungefähr 12 MByte des DRAMs 420 belegt.

Das Grafiksystem 300 enthält eine Vielzahl von festgelegten Speicherstellen, die in dem DRAM ausgebildet sind. Diese Speicherstellen bieten einen Speicherbereich für Huffman- Tabellen 380, komprimierte Bilddateien 385, komprimierte Bilddaten 390 sowohl mit Ziel- 391 als auch Quellenpartitionen 392, einen Puffer 395, die Renderingliste 397 und für Fontdaten 399. Wie es in Fig. 2 gezeigt ist, ist jede dieser festgelegten Speicherstellen innerhalb von 32MBytes des DRAMs 420 ausgebildet.

Die Renderingliste 397 ist eine objektbasierte Beschreibung auf niedrigem Niveau eines auf einem Arbeitplatzbildschirm 140 des Systems 300 zu zeigenden Bildes. Die Renderingliste 397 beinhaltet Daten über einzelne Spline-Definitionen, einzelne Zeichenpositionen, ADCT+-komprimierte Bildelementbilder und ein Ortsunterteilungssystem zur Geschwindigkeitsoptimierung. Die Renderingliste 397 ist bezüglich der Geschwindigkeit optimiert und verglichen mit der Anzeigeliste 220 im allgemeinen groß. Näherungsweise 4 MBytes des Speichers sind für die Renderingliste 397 zugewiesen. Bei sehr komplexen objektbasierten Bildern kann mehr als diese Menge erforderlich sein. In diesen Fällen muß das Bild in mehreren Durchläufen gerendert werden.

Der Fontdatencachespeicher 399 wird zur Speicherung von Fontdaten sowohl im Umrißformat als auch im Bildelementformat verwendet.

Der Dateispeicher 385 enthält eine Bilddatei in ADCT+- komprimierter Form, die typischerweise eine Bilddatei ist, die zu expandieren und mit dem vorhandenen Quellenbild zusammenzusetzen ist. Das Datei-ADCT+-Bild kann mehr als eine komprimierte Bilddatei enthalten. Es bildet auch einen Teil der Renderingpipeline.

Der Quellenseitenbildspeicher 392 ist eine Sektion des DRAMs 420. Er bildet einen Teil der Zusammensetzungspipeline. Für jeden Zusammensetzungsdurchlauf werden Daten in dem Quellenseitenbildspeicher 392 expandiert, mit den Bildern für die Renderingpipeline zusammengesetzt, komprimiert und in den Zielseitenbildspeicher 391 geschrieben, der angrenzende Speicherstellen in dem DRAM 420 belegt. Da die Bildquelle nicht länger erforderlich ist, wenn ein neues Bild erzeugt wird, wird der Quellenseitenbildspeicher 392 durch das Zielseitenbild überschrieben.

Gleichermaßen speichert der Zielseitenbildspeicher 391 das ADCT+-komprimierte Seitenbild nach der Zusammensetzung. Das Zielseitenbild eines Zusammensetzungsdurchlaufs wird typischerweise zu dem Quellenseitenbild für den nächsten Zusammensetzungsdurchlauf. Der Zielseitenbildspeicher 391 bildet auch einen Teil der Zusammensetzungspipeline.

Der Bildpuffer 395 ist eine Sektion des DRAMs 420, der zur vorübergehenden Pufferung eines Achtzeilenblocks des Seitenbildes verwendet wird, so daß es durch den Rendering- Prozessor 310 verarbeitet werden kann. Die typischerweise durchgeführten Verarbeitungsarten beinhalten eine Formatierung in Grafikeinrichtungsbefehle und Software-Antialias- Zoom-Operationen.

Die Huffman-Tabellen 380 bilden eine Sektion des DRAMs 420, der zur Speicherung der Aufbau-("Setup-")Daten für eine JPEG- Komprimierungs-/Dekomprimierungseinrichtung 415 verwendet wird, wie es in Fig. 2 gezeigt ist, die einen Teil des ADCT+- Prozessors 340 bildet. Eine derartige Einrichtung ist der C- Cube-CL550B-Bildkomprimierungsprozessor. Immer wenn die JPEG- Einrichtung 415 vom Komprimierungsmodus zum Expandierungsmodus umgeschaltet wird oder umgekehrt, müssen verschiedene Tabellen und Register geändert werden. Die größte ist die Huffman-Tabelle, allerdings müssen auch Quantisierungstabellen und allgemeine Register geändert werden. In vielen Fällen ändert sich der Modus des Komprimierungsprozessors 415 1620 mal während der Zusammensetzung einer einzelnen A3-Seite. Aus diesem Grund sind die Huffman-Tabellen 380 als separater Hardware-Block zur Unterstützung der schnellen Änderung des Prozessormodus vorgesehen. Diese Hardware besteht aus einem DMA-Kanal und einem Logikblock 490, wie es in Fig. 2 gezeigt ist, der den DMA-Datenstrom in direkte Steuersignale für den JPEG-Chip 415 umwandelt.

Ein Anzeigebildspeicher 370 ist mit dem Zusammensetzungsbus 305 für die Anzeige von Grafikbildern auf dem Arbeitsplatzbildschirm 140 verbunden. Der Anzeigebildspeicher 370 ist ein Bildspeicher mit vorzugsweise 1280 Bildelementen mal 1024 Zeilen mit 32 Bits pro Bildelement. Es gibt 8 Bits jeweils für die rote, grüne, blaue und matte Ebene. Die matte Ebene wird nicht angezeigt, aber für Zusammensetzungsvorgänge unter Verwendung der Grafikeinrichtung 320 verwendet. Der Anzeigebildspeicher 370 enthält auch einen separaten Hardwarecursor 375, wie es in Fig. 2 gezeigt ist. Der Anzeigebildspeicher gibt dementsprechend RGB-Daten zu dem Arbeitsplatzbildschirm 140 aus.

Eine Schwenk-/Zoom-Steuereinrichtung 350 ist mit dem Zusammensetzungsbus 305 sowie dem Anzeigebildspeicher 370 verbun den und wird zur Anzeige eines Abschnitts der vollständigen Seite in einem Fenster des Arbeitsplatzbildschirms 140 verwendet. Die Schwenk-/Zoom-Steuereinrichtung 350 kann ganzzahlige Zoom-Verhältnisse ausführen, wie 1 : 1, 2 : 1, 3 : 1, 4 : 1, usw. Das zur Darstellung eines vollständigen A3-Bildes auf dem Arbeitsplatzbildschirm erforderliche Zoom-Verhältnis beträgt 6 : 1. Geringe Zoom-Verhältnisse sind für nahe Darstellungen eines Abschnitts einer Seite zweckmäßig. Die Schwenk- /Zoom-Steuereinrichtung 350 kann das Bild auch für eine feine detaillierte Arbeit vergrößern. Vergrößerungen von bis zu 1 : 16 sind verfügbar, woraus sich ein einzelnes Seitenbildbildelement als 16 · 16-Bildelementblock des Arbeitsplatzbildschirms 140 ergibt.

Abgesehen von der Anzeige von Bildern auf dem Arbeitsplatzbildschirm 140 ermöglicht das DTP-System 100 unter Verwendung eines Farblaserkopierers 150 die Abtastung von Bilddaten in das System 100 unter Verwendung einer Abtasteinrichtung 152 des Kopierers 150 und das Drucken unter Verwendung eines Druckers 154. Der Farblaserkopierer 150 kann beispielsweise der Canon Colour Laser Kopierer CLC500 oder CLC300 sein. Die Abtasteinrichtung 152 kann eine A3-Seite mit 400 Punkten pro Inch Auflösung abtasten. Die Abtasteinrichtungsausgabe ist in der Form von 8 Bits jeweils für rot, grün und blau, die gleichzeitig auf dem Zusammensetzungsbus 305 gepuffert werden. Der Drucker 154 wird von dem Zusammensetzungsbus 305 über einen RGB-MCYK-Wandler 360 angesteuert. Der Wandler 360 wandelt rote, grüne und blaue Daten in magentafarbene, zyanfarbene, gelbe und schwarze (MCYK) Daten um, die für den Druckvorgang des Druckers 154 verwendet werden.

Der Zusammensetzungszeilenspeicher 330 ist ein statisches Hochgeschwindigkeitsspeicherarray, das 16 Zeilen eines Seitenbildspeichers ausbildet. Der Zusammensetzungszeilenspeicher 330 weist vier 8-Bit-Ebenen für rot, grün, blau und matt auf. Der Zusammensetzungszeilenspeicher 330 wird auf vieler lei Arten verwendet. Zum einen wird der Zeilenspeicher 330 als Zusammensetzungsspeicher für das Seitenbild verwendet. In diesem Fall setzt die Grafikeinrichtung 320 8 Zeilen eines Objekts oder von Bilddaten gleichzeitig zusammen, und das System 300 schreitet zu den nächsten 8 Zeilen des Seitenbildes vor.

Zum zweiten wird der Zeilenspeicher als vorübergehender Speicherpuffer für die expandierten Daten einer komprimierten Bilddatei verwendet.

Schließlich wird der Zeilenspeicher 330 als Neuordnungszeilenpuffer für den ADCT+-Prozessor 340 verwendet. Wenn das DTP-System 100 eine Seite druckt, muß das Seitenbild synchron expandiert werden. Der Zusammensetzungszeilenspeicher 330 wird zur Neuordnung von 8 Zeilen von Bilddaten von den 8 · 8- Bildelement-Blöcken in 8 Zeilen verwendet. Alle 16 Zeilen des Zusammensetzungszeilenspeichers 330 sind in diesem Fall erforderlich, da der ADCT+-Prozessor 340 Bildelementblöcke zur gleichen Zeit schreiben können muß, wie Bildelementzeilen zu dem Drucker 154 gesendet werden. Eine ähnliche Situation besteht für die Abtasteinrichtung 152, allerdings in umgekehrtem Sinn.

Das DTP-System 100 enthält eine Vielzahl von Datentypen, die darin übertragen werden müssen. Wie bereits vorstehend beschrieben, wird der RGBM-Typ auf dem Zusammensetzungsbus 305 übertragen, und RGB-Daten werden zu dem Wandler 360 von der Abtasteinrichtung 152 und zu dem Arbeitsplatzbildschirm 140 übertragen.

Zu dem Anzeigebildspeicher 370 werden auch synchrone 24-Bit- RGB-Bildelementdaten von der Arbeitsplatzbildschirm- Verwaltungseinrichtung 240 über Datenverbindungen 242 und den Systembus 130 übertragen. Derartige synchrone Daten werden normalerweise lediglich von der Benutzerschnittstelle 110 un ter der Steuerung der Arbeitsplatzbildschirm- Verwaltungseinrichtung 240 (wie X-Windows) verwendet und werden normalerweise in den Arbeitsplatzbildschirmspeicher geschrieben oder aus diesem gelesen, der wie in Fig. 2 gezeigt als VRAM 371 ausgebildet ist.

Durch den ADCT+-Prozessor 340 werden komprimierte Bilddaten ausgebildet, und können über den Dateispeicher 385 und den Bildspeicher 390 auf dem Systembus 130 gepuffert werden. Der Systembus 130 trägt zusammen mit dem Netzwerkbus 105 gemischte Datentypen und kann diese Datentypen zu peripheren, mit dem Netzwerk 105 verbundenen Einrichtungen verteilen.

In Fig. 2 ist ein schematisches Blockschaltbild des Grafiksystems 300 gezeigt. Das Grafiksystem 300 beinhaltet vier Hauptbusse, von denen einer der Systembus 130 ist, der bereits beschrieben wurde, und ein anderer der Zusammensetzungsbus 305 ist, der auch beschrieben wurde. Ein Renderingbus 311 verbindet mit der Bilderzeugung und Bearbeitung befaßte Schaltungskomponenten. Mit dem Renderingbus 311 ist der Renderingprozessor 310, ein Boot-EPROM 430, das Steuersoftware auf niedrigem Niveau enthält, die Grafikeinrichtung 320 und der ADCT+-Prozessor 340 verbunden, der die JPEG- Einrichtung 415 und die ADCT-Erweiterung 410 enthält. Das System DRAM 420 ist über zwei Bustreiber 450 und 451 jeweils mit dem Renderingbus 311 und dem Systembus 130 verbunden. Auf diese Weise können Daten in und aus jeder Huffman-Tabelle 380, den komprimierten Dateien 385, dem Bildspeicher 390, dem Puffer 395, der Renderingliste 397 und dem Fontdatenspeicher 399 auf jedem Bus 311 und 130 hinein- und herausgepuffert werden. Ein Logikblock 490 ist für einen direkten Speicherzugriff (DMA) der in dem DRAM 420 gespeicherten Huffman- Tabellen 380 für den JPEG-Chip 415 vorgesehen. Ein Bustreiber 452 ist zum direkten Speicherzugriff zwischen dem Zusammensetzungsspeicher 330 und dem DRAM 420 über die Datenpackeinheit 410 vorgesehen. Ein Bustreiber 452 ermöglicht auch einen direkten Speicherzugriff auf die in dem DRAM 420 gespeicherten JPEG-Erweiterungsdaten für den JPEG-Chip 415 über die ADCT-Erweiterungseinrichtung 410.

Gleichermaßen ist der Anzeigebildspeicher 370 mit dem Zusammensetzungsbus 305 über einen Bustreiber 454 verbunden. Der Bustreiber 454 versorgt ein VRAM 371, das den Mittelpunkt für den Anzeigebildspeicher 370 darstellt. Das VRAM 371 gibt an RAMDACs 372 jeweils für rot, grün und blau aus, die eine Videoausgabe für den Arbeitsplatzbildschirm 140 bereitstellen. Der Anzeigebildspeicher 370 enthält auch einen Oszillator 373, der einen Taktgenerator 374 für die Steuerung der RAM- DACs 372 ansteuert. Eine separate Cursoreinrichtung 375 ist zur Steuerung des Arbeitsplatzbildschirmcursors insbesondere bei Fensteroperationen vorgesehen. Ein Synchronisationsgenerator 376, der eine TMS 34061-Einrichtung sein kann, wird zur Aufrechterhaltung der Steuerung des Arbeitsplatzbildschirms 140 verwendet. Ein Videobus 378 ist vorgesehen, der eine Verbindung zwischen dem Zusammensetzungsbus 305 und dem Systembus 130 ermöglicht. Auf diese Weise können Arbeitsplatzbildschirmdaten von einer Arbeitsplatzbildschirm- Verwaltungseinrichtung 240 direkt auf den Videobus über einen Bustreiber 453 gepuffert werden.

Nach der Beschreibung des allgemeinen Aufbaus des Desktop- Publishing-Systems 100 werden nachstehend bestimmte Operationen und Sequenzen ausführlicher beschrieben.

Das DTP-System 100 verwendet vier Hauptsysteme zur Erzeugung und zum Drucken von Bildern.

Diese sind:

(1) die Renderingpipeline

(2) die Zusammensetzungspipeline

(3) die Druckpipeline und

(4) die Abtastpipeline

Renderingpipeline

Die Renderingpipeline entnimmt Bilddarstellungen auf hohem Niveau in der Form von Anzeigelisten und wandelt diese in Farbbildelementdaten um.

Die Renderingpipeline ist der kritische Abschnitt des DTP- Systems 100, der die schnelle Erzeugung von Hochqualitätsfarbbildern ermöglicht, die Objektgrafiken, Text und ADCT+- komprimierte Bilder kombinieren. Die Renderingpipeline ist in Fig. 3 gezeigt.

Die Renderingpipeline für Objektgrafiken besteht aus den folgenden Schritten:

1. Erzeugung einer Anzeigeliste: Die Anzeigeliste für ein Bild kann lokal durch die Anwendung 245 erzeugt werden, aus einer zuvor erzeugten Datei (beispielsweise auf den Plattenlaufwerken 120) wiedergewonnen oder von einem anderen System über den Netzwerkbus 105 übertragen werden.

2. Speicherung der Anzeigeliste: Die Anzeigeliste wird im Speicher 220 zum Ermöglichen interaktiver Änderungen und einer effektiven Umwandlung in die Renderingliste 397 gespeichert.

3. Eine Umwandlung in die Renderingliste findet auf der Host- Rendering-Stufe 250 statt, wobei die abstrakte Definition auf hohem Niveau des Bildes in eine Beschreibung auf niedrigem Niveau umgewandelt wird, die geschwindigkeitsoptimiert ist. Der Renderinglisten-Umwandlungsvorgang richtet auch ADCT+- komprimierte Bilddateien 385 auf die ADCT+- Expandierungseinrichtung 340. Dieser Vorgang findet einmal pro Bild statt.

4. Speicherung der Renderingliste: Die Renderingliste wird im Speicher 310 gespeichert, da auf sie viele Male beim Rendering eines Bildes zugegriffen werden muß.

5. Umwandlung in Grafikbefehle: Der Renderingprozessor 310 wandelt die Renderingliste 397 in Grafikbefehle 312 für die Grafikeinrichtung 320 um. Dieser Vorgang geschieht einmal alle acht Zeilenblöcke eines Bildes, d. h. 810 mal für eine A3- Seite.

6. Umwandlung in Bildelemente: Die Grafikeinrichtung 320 wandelt die Grafikbefehle 312 in Bildelementdaten um und setzt diese Daten mit den vorhandenen Bildelementdaten in dem Bild zusammen.

Das Textrendering verwendet auch Fontdaten, die vorab in dem Fontdatenspeicher gespeichert wurden.

Bei dem Rendering von ADCT+-Bildern wird eine unterschiedliche Pipeline verwendet:

1. Anzeigelistenerzeugung: Die ADCT+-komprimierten Bilddateien werden zusammen mit der Anzeigeliste gespeichert und übertragen.

2. Anzeigelistenspeicherung: Zeiger auf die ADCT+-Dateien werden in der Anzeigeliste behalten.

3. Eine Renderinglistenumwandlung 250 führt die ADCT+- komprimierten Bilddateien 385 dem ADCT+-Expandierungsspeicher zu.

4. ADCT+-Daten-Speicherung: Die ADCT+-Bilder werden in dem "Datei"-ADCT+-Speicher 385 gespeichert.

5. ADCT+-Expandierung: Diese Daten werden dann in RGBM- Bildelemente durch die Datei-ADCT+-Expandierungseinrichtung 340 expandiert.

6. Datenneuformatierung: Die 8 · 8-Bildelementblöcke von dem ADCT+-Wandler werden in dem Datei-Expandierungsspeicher 395 gespeichert und in 8 Zeilen von Bildelementdaten formatiert.

7. Umwandlung in Grafikbefehle: Der Renderingprozessor 310 formatiert die expandierten ADCT+-Daten in Grafikbefehle 312 für die Grafikeinrichtung 320 um.

8. Zusammensetzung mit dem Bild: Die Grafikeinrichtung 320 setzt diese Daten mit den vorhandenen Bildelementdaten in dem Bild zusammen.

Die Zusammensetzungspipeline

Die in Fig. 4 gezeigte Zusammensetzungspipeline expandiert den Quellen-ADCT+-Bildspeicher, setzt diesen mit Bildelementdaten von der Renderingpipeline oder der Abtasteinrichtung zusammen und komprimiert die Ergebnisse als Ziel-ADCT+- Bildspeicher.

Die Zusammensetzungspipeline besteht aus den folgenden Bildern:

1. Speicherung des Quellen-ADCT+-Bildes 392: Dies ist das vorhandene Seitenbild, mit dem die neuen Informationen zusammengesetzt werden. Es ist im ADCT+-Format gespeichert mit einem typischen Komprimierungsverhältnis von ungefähr 25 : 1, so daß eine A3-Seite typischerweise ungefähr 4 MBytes braucht. Jedesmal wenn die Zusammensetzungspipeline verwendet wird, wird das Quellen-ADCT+-Bild 392 durch das Ziel-ADCT+-Bild 391 ersetzt. Da das komprimierte Zielbild größer als das Quellenbild sein kann, werden die zwei Bilder in einem "rotierenden" Bereich des Speichers gespeichert: Das Zielbild beginnt am Ende des Quellenbildes, überschreibt jedoch den Anfang des Quellenbildes. Das Zielbild eines Zusammensetzungsdurchlaufs wird das Quellenbild des nächsten Zusammensetzungsdurchlaufs.

2. Quellen-ADCT+-Expandierungseinrichtung 340: Diese expandiert 8 Zeilen des Quellen-ADCT+-Bildes 392 und schreibt sie in einen Quellen-8-Zeilen-Speicher 332 des Zusammensetzungszeilenspeichers 330. Dieser Block aus 8 Zeilen gleicht 579 ADCT-Verarbeitungsblöcken für A3- oder A4-Bilder.

3. Quellen-8-Zeilen-Speicher 332: Ist die Zusammensetzung für die vorhergehenden 8 Zeilen abgeschlossen, wird der Quellen- 8-Zeilen-Speicher 332 durch das Schalten von Adressbänken zu einem Zusammensetzungs-8-Zeilen-Speicher 334 übertragen.

4. 8-Zeilen-Zusammensetzungsspeicherung 334: Diese bildet auch einen Teil der Zusammensetzungszeilenspeicher 330. Die Grafikeinrichtung 320 setzt neue Informationen mit dem Inhalt dieses Speichers zusammen. Ist die Zusammensetzung abgeschlossen, wird der 8-Zeilen- Zusammensetzungsspeicher 334 zu einem Ziel-8-Zeilen-Speicher 336 durch das Umschalten von Adressbänken übertragen.

5. Grafikeinrichtung 320: Diese Einrichtung führt die Zusammensetzung neuer Bilddaten von der Renderingpipeline oder von der Abtasteinrichtung 152 mit den Quellenbilddaten durch.

6. Ziel-8-Zeilen-Speicher 336: Die 8 Zeilen des Zielspeichers 336 werden zur Komprimierung durch die Ziel-ADCT+- Komprimierungseinrichtung 340 gelesen. Ist die Zusammensetzung für die nächsten 8 Zeilen abgeschlossen, wird der Ziel- 8-Zeilen-Speicher 336 mit dem Quellen-8-Zeilen-Speicher 332 durch das Umschalten von Adressbänken vertauscht. Diese Informationen werden dann durch den nächsten 8-Zeilen- Quellenblock überschrieben.

7. Ziel-ADCT+-Komprimierungseinrichtung 340: Diese komprimiert die 8 Zeilen des Ziel-8-Zeilen-Speichers 332 und schreibt sie in das Ziel-ADCT+-Bild 391.

8. Ziel-ADCT+-Bildspeicher 391: Dies ist das neue Seitenbild aus der Kombination des Quellenbildes und des durch die Renderingpipeline erzeugten Bildes. Das Ziel-ADCT+-Bild 391 ersetzt das Quellen-ADCT+-Bild 392 während des Rendering- und Zusammensetzungsdurchlaufs und wird das neue Quellen-ADCT+- Bild für den nächsten Rendering- und Zusammensetzungsdurchlauf.

Die Druckpipeline

Die in Fig. 5 gezeigte Druckpipeline expandiert den Quellen- ADCT+-Bildspeicher in RGB-Bilddaten in Echtzeit. Die Bildelemente werden von 8 · 8 Blöcken in 8 Zeilen umgeordnet. Dann werden sie von RGB in C/M/Y/K umgewandelt und gedruckt. Der Expandierungs-, Umwandlungs- und Druckvorgang wird für jede zu druckende Kopie viermal durchgeführt: einmal jeweils für den Zyan-, Magenta-, Gelb- und Schwarzfarbdruckdurchlauf. Bei dem Canan CLC500 werden die Daten mit 13,35 Mbytes pro Sekunde zugeführt.

Die Druckpipeline besteht aus den folgenden Stufen:

1. Druck-ADCT+-Bildspeicher 392: Dieser stellt ein komprimiertes Bild der Seite dar, das zum Drucken bereit ist.

2. Druck-ADCT+-Expandierungseinrichtung 340: Diese expandiert 8 Zeilen des Druck-ADCT+-Bildes 392 und schreibt sie in einen in dem Zusammensetzungszeilenspeicher 330 ausgebildeten Druckexpandierungsspeicher. Dieser Block aus 8 Zeilen gleicht 597 ADCT-Verarbeitungsblöcken für ein A3- oder A4-Bild.

3. Druckexpandierungsspeicher 330: Dieser Speicher formatiert die 579 8 · 8-Bildelementblöcke in 8 Zeilen von Bildelementen um.

4. RGB-MCYK-Wandler 360: Dieser wandelt den Rot-, Grün- und Blaufarbraum, der von dem DTP-System 100 verwendet wird, in den sequentiellen vierstufigen von dem Canon-Farblaser- Druckvorgang verwendeten Magenta-, Zyan-, Gelb- und Schwarzfarbraum um.

5. Drucker 154. Dieser stellt den Farblaserdrucker 154 dar, der einen Teil des Farbkopierers 150 bildet. Der Drucker kann eine A3-Seite mit 400 dpi Auflösung drucken. Die Druckerdaten sind in der Form von 8 Bits jeweils für magenta, zyan, gelb und schwarz (MCYK) und werden sequentiell gesendet. Die MCYK- Sequenz muß für jede Kopie jeder zu druckenden Seite wiederholt werden.

Die Abtastpipeline

Die in Fig. 6 gezeigte Abtastpipeline nimmt die Farbdaten von der Abtasteinrichtung 152 entgegen und komprimiert diese Daten zur Erzeugung des Ziel-ADCT+-Bildes 391.

Die Abtasteinrichtung 152 des Farblaserkopierers 150 gibt synchrone 24-Bit-parelle RGB-Daten aus, die dem Zusammensetzungszeilenspeicher 330 zugeführt werden, der als Puffer dient. Die ADCT+-Komprimierungseinrichtung 340 verwendet dann den direkten Speicherzugriff (DMA) zur Komprimierung von 8 Zeilen der abgetasteten Daten auf einmal. Die komprimierten Daten werden in den Ziel-ADCT+-Bildspeicher 391 geschrieben.

Renderingsoftwareverfahren

Die Ausbildung von Bildelementbilddaten aus den objektbasierten Daten ist im Stand der Technik als Rendering bekannt. Als solches beinhaltet das Rendering undurchlässiger Bilder das Schreiben von Bildelementbilddaten in einen Speicher. Wenn die Bilder allerdings durchlässig sind, ist eine Zusammensetzung erforderlich. Die Zusammensetzung beinhaltet die Kombination von Bildelementbildern im allgemeinen durch Steuerung der Proportion von zwei oder mehr Quellenbildern in einem Ziel- oder zusammgesetzten Bild. Demnach beinhaltet das Rendering transparenter Bilder eine Zusammensetzung neu gerenderter Objekte mit vorhandenen Bildelementbilddaten.

Die Verwendung eines ADCT+-komprimierten Bildspeichers 390 verlangt, daß das Bild in grundlegend der gleichen Reihenfolge berechnet werden muß, wie der Drucker 154 die Ausgabedaten zum Drucken verlangt. Bei dem Canon-Farblaser-Druckvorgang wird das Drucken von unten links nach oben rechts auf einer A3-Seite im Querformat durchgeführt, wie es in Fig. 7 gezeigt ist.

Dieses Erfordernis nach einer Abtastzeilen-geordneten Bilderzeugung unterscheidet sich von dem üblichen Verfahren der Erzeugung zweidimensionaler objektbasierter Grafikbilder.

Die meisten bekannten Systeme einschließlich der meisten Postskript-Interpretierer verwenden den "Painters- Algorithmus", der bewirkt, daß darunterliegende Objekte einfach durch Überschreiben in einem Bildelementabbildungs- (bzw. Bitmap für schwarz und weiß)Bildspeicher verdeckt werden. Zur Erzeugung des in Fig. 8 gezeigten Bildes wird das Bild objektweise in den Seitenbildspeicher geschrieben, wobei jedes Bildelement eines neuen Bildes das bereits vorhandene Bildelement auf die in Fig. 9 gezeigte Weise ersetzt.

Dieses Verfahren weist den Vorteil der Einfachheit auf, da der Bilderzeugungsvorgang lediglich jedes Objekt der Reihe nach berücksichtigen muß. Diese Einfachheit macht das Verfahren relativ einfach für die Optimierung der Geschwindigkeit. Im allgemeinen ist ein vollständiger Bildelementabbildungs bildspeicher erforderlich. Für Vollfarben-A3-Bilder mit 400 dpi ergibt sich daraus eine Speicheranforderung von näherungsweise 96 MByte pro Seite.

Es ist möglich, das gleiche Bild durch die Erzeugung rechteckiger Streifen oder Bänder zu erzeugen. Dies ist als Bandrendering bekannt und in Fig. 10 dargestellt. Dies ist für Systeme zweckmäßig, die keinen Vollseitenspeicher besitzen, wie einige Laserdrucker und Punktmatrixdrucker.

Das Bandrendering weist den Nachteil der Komplexität auf, da alle Objekte für gewöhnlich in einer Anzeigeliste gespeichert werden müssen und der richtige Abschnitt jedes Objekts für jedes Band erzeugt werden muß. Während des Vorgangs der Erzeugung jedes Bandes kann der Painters-Algorithmus zur Überlagerung der sichtbaren Objekte in dem Band verwendet werden. Dies ist für gewöhnlich wesentlich langsamer wie wenn ein vollständiger Seitenspeicher verfügbar ist, da jedes Objekt erzeugt und in jedes Band geschnitten werden muß.

Das bei dem DTP-System 100 verwendete ADCT+- Bildkomprimierungssystem bearbeitet Blöcke aus 8 · 8 Bildelementen. Ein A4-Bild mit 6480 Zeilen · 4632 Bildelementen enthält 810 · 5T9 Bildelementblöcke. Das Renderingsystem im DTP- System 100 rendert Bänder aus 579 Bildelementblöcken (8 vertikale Abtastzeilen) in einem Durchlauf. Dieser Renderingvorgang muß für 810 Bänder zum Rendern eines vollständiges A3- Bildes wiederholt werden.

Das Erfordernis des Renderns von 810 separaten Bändern für jedes Bild knüpft spezielle Anforderungen nach Geschwindigkeit und Effektivität an den Bilderzeugungsvorgang. Wird beispielsweise kein geeigneter Ansatz verwendet, kann das Bildrendering leicht 100 mal langsamer als mit herkömmlichen Verfahren sein. Dieses Problem wird in dem DTP-System 100 durch eine Kombination von Verfahren einschließlich des folgenden gelöst:

- Umwandlung der Anzeigeliste auf hohem Niveau 220 in eine Renderingliste auf niedrigem Niveau 297, die bezüglich der Geschwindigkeit optimiert ist. Obwohl dieser Vorgang komplex und zeitaufwendig ist, wird er für jedes Bild lediglich einmal durchgeführt.

- Erzeugen eines Orts-Unterteilungsarrays, so daß der Renderingprozessor 310 automatisch "weiß", welcher Teil der Renderingliste 397 für jedes Band zu verarbeiten ist.

- Verwenden vertikal abgetasteter Bitmap-Fontdaten 399 und eines Hochgeschwindigkeitsformats für Umrißfontdaten.

- Verwenden eines Renderingprozessors 310 mit äußerst hoher Geschwindigkeit.

- Verwenden spezieller Hardware - der Grafikeinrichtung 320 - zum Beschleunigen von Farb-, Bitmap-, Transparent- und Bereichfüllvorgängen um mehrere Größenordnungen.

- Verwenden einer Hochgeschwindigkeitsbildzusammensetzungshardware.

Die Kombination dieser Verfahren bewirkt, daß das DTP-System 100 mit sehr hoher Geschwindigkeit arbeitet. A3-Bilder können in nur 6 Sekunden erzeugt werden und dauern typischerweise weniger als 20 Sekunden. Das heißt, die Bilderzeugungsgeschwindigkeit des DTP-Systems 100 ist mit der Farbkopiererdruckgeschwindigkeit unter den meisten Umständen vergleichbar.

Die Reihenfolge der Bilderzeugung für das Seitenbild ist durch die Art des Bildkomprimierungsverfahrens und das von dem Farblaserkopierer 150 geforderte Bildrasterformat eingeschränkt. Für den Canon CLC500 muß die Bilderzeugungsreihenfolge von links nach rechts bei einer A3-Seite im Querformat bzw. einer A4-Seite im Porträtformat sein. Horizontale Zusammensetzungsläufe für den 8 Zeilenpuffer für das Seitenbild sind auf 8 Bildelemente beschränkt, so daß lediglich vertikale Lauflängen unterstützt werden. Es ist kein Zugriff auf einzelne Bildelemente des Seitenbildes ohne Expandierung und Komprimierung der gesamten Seite möglich.

Allerdings weist das Bildschirmbild keine derartigen Beschränkungen auf. Das Bild kann in einer beliebigen Reihenfolge ausgebildet werden und Lauflängen können entweder vertikal oder horizontal sein. Einzelne Bildelemente können auch in zufälliger Reihenfolge adressiert werden. Dies erleichtert die Erzeugung interaktiver Benutzerschnittstellen wesentlich.


Anspruch[de]

1. Pipeline-Verarbeitungsvorrichtung für Computergraphiken zur Manipulation komprimierter Bilddaten mit

einer Datenquelle (330, 392, 152, 385),

einem Datenziel (305, 391, 370, 330, 360),

einer Daten-Komprimierungs-/Expandierungseinrichtung (340) zur Umwandlung von Bild-Bildelementdaten in komprimierte Bilddaten und umgekehrt und

einer Bildelementdatenmanipuliereinrichtung (320, 330) zur Manipulation der Bild-Bildelementdaten in Bildelementform,

wobei die Daten-Komprimierungs-/Expandierungseinrichtung sich zwischen der Datenquelle und dem Datenziel zur Modifikation der Form der dem Ziel von der Quelle zugeführten Daten befindet, und

die Manipuliereinrichtung mit der Komprimierungs- /Expandierungseinrichtung zum Empfang der Bild- Bildelementdaten von dieser und/oder zum Senden der Bild- Bildelementdaten zu dieser verbunden ist.

2. Vorrichtung nach Anspruch 1, wobei die Bilddaten ein anzeigbares Bild betreffen, und die Manipuliereinrichtung (330) zum Zurückbehalten eines begrenzten Abschnitts aller Bild-Bildelementdaten, aus denen das anzeigbare Bild gebildet wird, und zum Erlauben einer Manipulation einzelner darin zu rückbehaltener Bild-Bildelementdaten bemessen ist.

3. Vorrichtung nach Anspruch 2, wobei die Bild- Bildelementdaten eine vorbestimmte Anzahl an Bändern aufweisen, die jeweils eine vorbestimmte Anzahl angrenzender Zeilen des Bildes aufweisen, wobei eine ausgewählte Anzahl der Datenbänder den begrenzten Abschnitt umfaßt und durch die Vorrichtung im Pipeline-Verfahren verarbeitet wird.

4. Vorrichtung nach Anspruch 3, wobei die ausgewählte Anzahl der Bänder von der Quelle zum Ziel in einer einzigen Pipeline-Operation durch die Vorrichtung seriell verarbeitet wird.

5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die Manipuliereinrichtung (330) zwischen das Ziel (360, 370) und die Komprimierungs-/Expandierungseinrichtung zum Empfang von Bild-Bildelementdaten von der Komprimierungs- /Expandierungseinrichtung und zum Senden manipulierter Bild- Bildelementdaten zu dem Ziel geschaltet ist, wobei das Ausgangssignal der Komprimierungs-/Expandierungseinrichtung expandierte Bilddaten darstellt, die als komprimierte Bilddaten von der Quelle (385, 390) empfangen werden.

6. Vorrichtung nach Anspruch 5, wobei das Ziel einen Datenbus (305) umfaßt und die Manipuliereinrichtung einen Synchronisierpuffer (330) zum Ermöglichen eines Betriebs des Datenbusses und der Komprimierungs-/Expandierungseinrichtung bei unterschiedlichen Datenraten aufweist.

7. Vorrichtung nach Anspruch 6, wobei eine Umwandlungseinrichtung (360), die RGB-Bilddaten in MCYK-Bilddaten umwan delt, mit dem Datenbus verbunden ist und einer Druckeinrichtung (154) Ausgangssignale zuführt.

8. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die Manipuliereinrichtung (330) zum Empfang von Bild- Bildelementdaten von der Komprimierungs- /Expandierungseinrichtung, zur Manipulation dieser und zum Senden der manipulierten Bild-Bildelementdaten zu der Komprimierungs-/Expandierungseinrichtung verbunden ist.

9. Vorrichtung nach Anspruch 8, wobei die Quelle und das Ziel jeweils komprimierte Bilddaten senden und empfangen.

10. Vorrichtung nach Anspruch 9, wobei die Quelle (392) und das Ziel (391) unterschiedliche Adressorte der gleichen Speichereinrichtung (390) aufweisen.

11. Vorrichtung nach Anspruch 9, wobei die Komprimierungs-/Expandierungseinrichtung komprimierte Bilddaten von der Quelle zur Übertragung zu der Manipuliereinrichtung expandiert und Bild-Bildelementdaten von der Manipuliereinrichtung zur Übertragung zu dem Ziel komprimiert.

12. Vorrichtung nach Anspruch 11, wobei eine Speichereinheit (395) zur Speicherung zumindest eines Bandes an Bildzeilen zwischen der Manipuliereinrichtung (330, 320) und der Komprimierungs-/Expandierungseinrichtung angeordnet ist.

13. Vorrichtung nach Anspruch 11, wobei die Manipuliereinrichtung eine Graphikeinrichtung (320) umfaßt.

14. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die Manipuliereinrichtung zwischen die Quelle und die Komprimierungs-/Expandierungseinrichtung zum Empfang von Bild- Bildelementdaten von der Quelle und zum Senden manipulierter Bild-Bildelementdaten zu der Komprimierungs- /Expandierungseinrichtung geschaltet ist, wobei das Ziel komprimierte Bilddaten von der Komprimierungs- /Expandierungseinrichtung empfängt.

15. Vorrichtung nach Anspruch 14, wobei die Quelle ein Datenbus (305) ist und die Manipuliereinrichtung einen Synchronisationspuffer (330) zur Ermöglichung eines Betriebs des Datenbusses und der Komprimierungs-/Expandierungseinrichtung bei unterschiedlichen Datenraten umfaßt.

16. Vorrichtung nach Anspruch 15, wobei der Datenbus mit einer Bildabtasteinrichtung (152) zum Bereitstellen der Bild- Bildelementdaten verbunden ist.

17. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die Daten-Komprimierungs-/Expandierungseinrichtung adaptive diskrete Cosinustransformationsverfahren zur Komprimierung und Expandierung von Bilddaten verwendet.

18. Vorrichtung nach Anspruch 17, wobei die adaptiven diskreten Cosinustransformationsverfahren entsprechend technischen Spezifizierungen ISO/IEC JTC1/SC2/WGS JPEG implementiert sind.

19. Bildsystem (100) zur Erzeugung von Farbseitenbildern 1 aus einer Seitenbeschreibungssprache mit

einer Berechnungseinrichtung (200) zum Kompilieren einer Anzeigeliste (220) von Objekten eines zu erzeugenden Bildes aus der Seitenbeschreibungssprache und

einer Rendering-Einrichtung (310) zum Rendering von Bändern von Bildelement-Bilddaten des Bildes aus der Anzeigeliste,

dadurch gekennzeichnet, daß

das System eine Pipeline-Verarbeitungsvorrichtung nach einem der Ansprüche 1 bis 18 umfaßt, die zumindest mit der Rendering-Einrichtung verbunden ist.

20. System nach Anspruch 19, dadurch gekennzeichnet, daß die Rendering-Einrichtung einen Rendering-Prozessor (310) mit einem mit der Berechnungseinrichtung verbundenen Eingang (391, 398) zur Umwandlung der Anzeigelistenobjekte in Bildelement-Bilddaten aufweist,

und die Bildelement-Datenmanipuliereinrichtung eine Graphikeinrichtung (320) und einen Zusammensetzungsspeicher (330) aufweist, wobei die Graphikeinrichtung einen mit dem Rendering-Prozessor verbundenen ersten Bildelementdateneingang (314), einen zweiten Bildelementdateneingang (306) und einen Bildelementdatenausgang umfaßt, der über einen Zusammensetzungsbus (305) mit dem Zusammensetzungsspeicher verbunden ist,

wobei die Daten-Komprimierungs-/Expandierungseinrichtung (340) als Kompandereinrichtung ausgebildet ist, wobei die Kompandereinrichtung (415) einen ersten komprimierten Datenanschluß (452), der mit einer als Datenquelle und/oder Datenziel betreibbaren Speichereinrichtung (420) verbunden ist, und einen mit dem Zusammensetzungsbus verbundenen zweiten Bildelementdatenanschluß (410) aufweist, und der Zusammensetzungsbus auch den zweiten Bildelementdateneingang (306) des Rendering-Prozessors verbindet.

21. System nach Anspruch 20, dadurch gekennzeichnet, daß der Zusammensetzungsbus zum Führen roter (R), gründer (G), blauer (B) und matter (M) Bildelement-Bilddaten eingerichtet ist.

22. System nach Anspruch 21, dadurch gekennzeichnet, daß das System eine Bilddichte gleich 400 Punkten pro Inch an allen Stufen der Bildmanipulation und Speicherung aufrechterhält.

23. System nach einem der Ansprüche 20 bis 22, dadurch gekennzeichnet, daß das System ferner zumindest eine Anzeigeeinrichtung (140, 154) aufweist, die mit dem Zusammensetzungsbus verbunden und zur Anzeige von Bändern von Bildelement-Bilddaten in Übereinstimmung eingerichtet ist.

24. System nach Anspruch 23, dadurch gekennzeichnet, daß die Anzeigeeinrichtung eine Druckeinrichtung (154) zur Anzeige der Bänder als Seitenbild umfaßt.

25. System nach Anspruch 24, dadurch gekennzeichnet, daß die Druckeinrichtung Seitenbildgrößen zumindest bis zur internationalen A3-Norm erzeugen kann.

26. System nach Anspruch 24 oder 25, dadurch gekennzeichnet, daß zwischen der Druckeinrichtung und dem Zusammensetzungsbus eine Umwandlungseinrichtung (360) zur Umwandlung roter, grüner und blauer Bildelement-Bilddaten in magentafarbene, zyanfarbene, gelbe und schwarze Bildelement-Bilddaten zum Drucken durch die Druckeinrichtung angeordnet ist.

27. System nach Anspruch 23, dadurch gekennzeichnet, daß die Anzeigeeinrichtung eine elektronische Anzeige (140) mit einem mit dem Zusammensetzungsbus verbundenen Anzeigespeicher (370) zur Anzeige des Seitenbildes umfaßt.

28. System nach Anspruch 27, dadurch gekennzeichnet, daß die elektronische Anzeige aus der Gruppe ausgewählt wird, die aus einer Videoanzeige und einer Flüssigkristallanzeige besteht.

29. System nach Anspruch 27 oder 28, dadurch gekennzeichnet, daß das System ferner eine Schwenk-/Zoom- Einrichtung (350) mit einem mit dem Zusammensetzungsbus verbundenen Eingang und einem mit dem Anzeigespeicher verbundenen Ausgang umfaßt, wobei die Schwenk-/Zoomeinrichtung die Anzeige eines wählbaren Abschnitts des Seitenbildes auf der elektronischen Anzeige ermöglicht.

30. System nach Anspruch 27, 28 oder 29, dadurch gekennzeichnet, daß die Berechnungseinrichtung direkten Zugriff auf die Anzeige zum direkten Schreiben von Bildelementdaten darauf hat, die durch die Berechnungseinrichtung erzeugt wurden.

31. System nach einem der Ansprüche 21 bis 30, dadurch gekennzeichnet, daß das System ferner eine Bildabtasteinrichtung (152) aufweist, die mit dem Zusammensetzungsbus verbunden und zur Ausgabe roter, grüner und blauer Bildelement- Bilddaten entsprechend einem durch sie abgetasteten Seitenbild eingerichtet ist.

32. System nach Anspruch 31, dadurch gekennzeichnet, daß das System ferner eine Druckeinrichtung (154) zur Anzeige der Bänder als Seitenbild umfaßt.

33. System nach Anspruch 32, dadurch gekennzeichnet, daß die Abtasteinrichtung und die Druckeinrichtung jeweils einen Teil eines Farblaserkopierers (150) bilden.

34. System nach einem der Ansprüche 20 bis 33, dadurch gekennzeichnet, daß Huffman-Tabellen (380), die sowohl zur Komprimierung als auch zur Expandierung erforderlich sind, in der Speichereinrichtung (420) gespeichert sind und der Komprimierungs-/Expandierungseinrichtung zugeführt werden, wenn jeweils Komprimierungs- und Expandierungsvorgänge stattfinden.

35. System nach einem der Ansprüche 20 bis 34, dadurch gekennzeichnet, daß die Berechnungseinrichtung aus der Anzeigeliste zumindest eine Rendering-Liste (397) erzeugt, die durch den Rendering-Prozessor zu rendernde Objekte enthält, wobei die Rendering-Liste von der Berechnungseinrichtung über einen Systembus zu der Speichereinrichtung übertragen wird (451), von wo aus der Rendering-Prozessor auf die Rendering- Liste zugreifen kann.

36. System nach Anspruch 35, dadurch gekennzeichnet, daß die Berechnungseinrichtung ferner Font-Daten (399) bereitstellt, die in der Speichereinrichtung gespeichert werden und auf die der Rendering-Prozessor zur Erzeugung von Text- und Graphikbildern zugreifen kann.

37. System nach einem der Ansprüche 19 bis 36, dadurch gekennzeichnet, daß mit der Berechnungseinrichtung Benutzereingabeeinrichtungen (110) verbunden sind, die aus der Gruppe bestehend aus einer Tastatur (112), einem Digitali siertablett (114) und einer Maus ausgewählt werden.

38. System nach einem der Ansprüche 20 bis 37, dadurch gekennzeichnet, daß das System ferner eine nichtflüchtige · Speichereinrichtung (120) aufweist, die mit der Berechnungseinrichtung verbunden ist, von der Bilddaten von und zu der Speichereinrichtung übertragen werden können.

39. System nach einem der Ansprüche 19 bis 38, dadurch gekennzeichnet, daß die Berechnungseinrichtung ferner eine Einrichtung (215) zur Verbindung mit einem Kommunikationsnetz (105) aufweist, zu dem Daten übertragen werden können und umgekehrt.

40. System nach einem der Ansprüche 20 bis 39, dadurch gekennzeichnet, daß, wenn die Bänder der Bildelement- Bilddaten komprimiert werden, Markierungskodes zur Identifikation einzelner Bäner eingefügt werden, wobei die Markierungskodes die Expandierung eines Bands eines komprimierten Seitenbildes durch die Kompandereinrichtung und die Speicherung in dem Zusammensetzungsspeicher ermöglichen, wobei das eine Band in den zweiten Bildelementeingang der Graphikeinrichtung eingegeben wird, die das eine Band mit aus dem Rendering-Prozessor ausgegebenen Daten zur Erzeugung eines editierten Bandes zusammensetzt, das über den Bildelementdatenausgang der Graphikeinrichtung dem Zusammensetzungsspeicher zugeführt wird, wodurch das editierte Band durch die Kompandereinrichtung komprimierbar und in der Speichereinrichtung in Übereinstimmung mit anderen Bändern des komprimierten Seitenbildes speicherbar wird.

41. System nach einem der Ansprüche 20 bis 40, dadurch gekennzeichnet, daß der Zusammensetzungsspeicher eine ganzzahlige Anzahl von Bändern des Bildes speichern kann.

42. System nach Anspruch 41, dadurch gekennzeichnet, daß der Zusammensetzungsspeicher zumindest drei Bänder des Bildes speichern kann.

43. System nach einem der Ansprüche 19 bis 42, dadurch gekennzeichnet, daß die Bänder jeweils acht Zeilen des Seitenbildes umfassen.

44. System nach einem der Ansprüche 20 bis 43, dadurch gekennzeichnet, daß die Speichereinrichtung mehrere komprimierte Seitenbilder speichern kann.

45. System nach Anspruch 44, dadurch gekennzeichnet, daß jedes komprimierte Seitenbild ungefähr 4 MBytes belegt.

46. System nach Anspruch 45, dadurch gekennzeichnet, daß die Speichereinrichtung aus 32 MBytes DRAM besteht.

47. System nach einem der Ansprüche 20 bis 46, dadurch gekennzeichnet, daß die Bildelement-Bilddaten für ein vollständiges Seitenbild ungefähr 96 MBytes belegen, die auf ungefähr 4 MBytes zum Zurückbehalten in der Speichereinrichtung komprimierbar sind.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com