DE102004001238B4 - Bildprozessor - Google Patents

Bildprozessor Download PDF

Info

Publication number
DE102004001238B4
DE102004001238B4 DE102004001238A DE102004001238A DE102004001238B4 DE 102004001238 B4 DE102004001238 B4 DE 102004001238B4 DE 102004001238 A DE102004001238 A DE 102004001238A DE 102004001238 A DE102004001238 A DE 102004001238A DE 102004001238 B4 DE102004001238 B4 DE 102004001238B4
Authority
DE
Germany
Prior art keywords
video
pulse data
data
pipelines
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102004001238A
Other languages
English (en)
Other versions
DE102004001238A1 (de
Inventor
Bradey R. Larson
Rick P. Hoover
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102004001238A1 publication Critical patent/DE102004001238A1/de
Application granted granted Critical
Publication of DE102004001238B4 publication Critical patent/DE102004001238B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00238Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reproducing device as a local output from a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • H04N1/32529Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices of different type, e.g. internal and external devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0091Digital copier; digital 'photocopier'
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0093Facsimile machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

Bildprozessor (100), der folgende Merkmale umfaßt:
eine Mehrzahl von Verarbeitungspipelines (202), die jeweils konfiguriert sind, um Daten zu empfangen, die einem Teil eines Bildes zugeordnet sind, und Pulsdaten auszugeben, die dem Teil zugeordnet sind;
einen Puffer (208), um die Pulsdaten zu speichern; und
eine Logik (210) zum Leiten der Pulsdaten zu einer geeigneten Lasertreibereinheit (212),
wobei jede Verarbeitungspipeline (202) konfiguriert ist, um die Pulsdaten in einer Reihenfolge zu erzeugen, die zu der Reihenfolge unterschiedlich ist, in der die Logik (210) die Pulsdaten weiterleitet.

Description

  • Hochausgabebilderzeugungsvorrichtungen unterscheiden sich von Niederausgabe-Bilderzeugungsvorrichtungen teilweise durch ihre sehr viel höheren Videodatenverbrauchsraten. Um Videodaten bei viel höheren Raten zu liefern, können sehr komplexe und aufwendige Hardwarevideoverarbeitungspipelines implementiert werden. Solche Hardwarepipelines sind in der Lage, Daten bei den Raten zu liefern, die ausreichen, um die höhere Ausgabe der Hochausgabebilderzeugungsvorrichtung aufrechtzuerhalten.
  • Aufgrund der Möglichkeit, daß geringere Anzahlen von Hochausgabedruckvorrichtungen hergestellt und verkauft werden können, können die Kosten der Hardwarevideoverarbeitungspipeline, die in solchen Vorrichtungen enthalten ist, hoch sein. Außerdem kann es sein, daß solche Bilderzeugungsvorrichtungen mit höherer Geschwindigkeit einige der Weiterentwicklungen, die in Videopipelines mit hohem Produktionsvolumen, geringeren Kosten und geringerer Geschwindigkeit eingebaut sind, nicht aufweisen. Das Hinzufügen solcher Weiterentwicklungen zu Hochausgabedruckvorrichtungen ist eventuell nicht kosteneffektiv bezüglich des erwarteten geringen Produktionsvolumens im Zusammenhang mit solchen aufwendigen Vorrichtungen mit höherer Geschwindigkeit. Daher können Videopipelines mit höherer Ausgabe aufgrund ihres geringen erwarteten Produktionsvolumens aufwendiger sein und weniger vollwertig sein.
  • Die Patentveröffentlichung US-6,002,814 A bezieht sich beispielsweise auf eine Einrichtung und ein Verfahren zum Konfigurieren einer Datenverarbeitungspipeline. Die konfigurierbare Datenverarbeitungspipeline zum Verarbeiten von Daten, wie z. B. Druckdaten, soll ermöglichen, dass die Datenverarbeitungsoperationen für die Daten optimiert werden, während eine erhöhte Datenverarbeitungsgeschwindigkeit erreicht wird. Dabei ist die konfigurierbare Datenverarbeitungspipeline als ASIC implementiert. Die konfigurierbare Datenverarbeitungspipeline umfasst Kompressions-/Dekompressions-Module, einen Seitenstreifenmanager, ein Farbraumumwandlungsmodul, ein Mischmodul und ein Halbtonmodul.
  • Es ist die Aufgabe der vorliegenden Erfindung, einen Bildprozessor, eine Bilderzeugungsvorrichtung, ein Verfahren zum Verarbeiten eines Bildes, einen Parallelbildprozessor und ein prozessorlesbares Medium mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch einen Prozessor gemäß Anspruch 1, 7 und 25, eine Vorrichtung gemäß Anspruch 13 und 16, ein Verfahren gemäß Anspruch 19 und 22 sowie ein Medium gemäß Anspruch 28 gelöst.
  • Bei einem Ausführungsbeispiel umfaßt ein Bildprozessor eine Mehrzahl von Verarbeitungspipelines, die jeweils konfiguriert sind, um Daten zu empfangen, die einem Teil eines Bildes zugeordnet sind, und Pulsdaten auszugeben, die diesem Teil des Bildes zugeordnet sind. Ein Puffer ist konfiguriert, um die Pulsdaten zu speichern. Eine Logik ist konfiguriert, um die Pulsdaten zu einer geeigneten Lasertreibereinheit zu leiten.
  • In den Zeichnungen werden gleiche Bezugszeichen verwendet, um gleiche Merkmale und Komponenten zu kennzeichnen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf beiliegende Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Diagramm, das eine Umgebung zeigt, in der beispielhafte Bilderzeugungsvorrichtungen arbeiten können;
  • 2 eine Darstellung einer ersten möglichen Implementierung eines Bildprozessors;
  • 3 eine Darstellung einer zweiten möglichen Implementierung eines Bildprozessors;
  • 4 eine Darstellung einer dritten möglichen Implementierung eines Bildprozessors; und
  • 5 ein Flußdiagramm, das ein beispielhaftes Verfahren beschreibt, durch das ein Bildprozessor betrieben werden kann.
  • 1 zeigt eine Umgebung 100, in der beispielhafte Bilderzeugungsvorrichtungen 108118, die Bilderzeugungsprozessoren aufweisen, die eine Version von Parallelbildverarbeitung umfassen, arbeiten können. Ein Druckserver oder Dateiserver 102 ist konfiguriert, um von jeder von einer Mehrzahl von Workstations 104 oder anderen Inhaltsanbietern einen Druck- oder Anzeigeauftrag zu empfangen. Der Auftrag kann über ein Netzwerk 106 an jeden Typ von Bilderzeugungsvorrichtung gesendet werden, wie z. B. einen Drucker 108, eine Multifunktionsperipherievorrichtung 110, eine Faxmaschine 112, einen Netzwerkkopierer 114, einen Anzeigebildschirm 116 oder eine andere Druck- oder Bilderzeugungsvorrichtung. Obwohl der beispielhafte Anzeigebildschirm 116 so dargestellt ist, daß er Inhalt über das Netzwerk 106 empfängt, könnte derselbe alternativ Inhalt über eine Direktverbindung mit einem Computer 102104 empfangen. Eine Kopiermaschine 118, obwohl dieselbe nicht mit dem Netzwerk 106 verbunden ist, stellt eine weitere Bilderzeugungsvorrichtung dar, die für den Betrieb einer Version von Parallelbildverarbeitung konfiguriert ist.
  • 2 ist eine Darstellung einer ersten möglichen Implementierung eines Parallelbildprozessors 200, der konfiguriert ist, um komprimierte vorrichtungsunabhängige Rasterdaten zu empfangen und Farbpulsdaten auszugeben, um eine Mehrzahl von Lasern zu steuern. Eine Mehrzahl von Video- oder Verarbeitungspipeline 202 empfängt komprimierte vorrichtungsunabhängige Rasterdaten. Insbesondere ist jede Videopipeline 204 einem anderen Band, Bildsegment oder Segment oder Abschnitt eines Bildes zugeordnet. Wo das Bild beispielsweise eine Seite darstellt, die gedruckt werden soll, kann das Band ein horizontales Band darstellen, das ungefähr 2,54 cm (1 Zoll) hoch und 21,59 cm (8,5 Zoll) breit ist. Daher wandelt jede Videopipeline 204 komprimierte vorrichtungsunabhängige Rasterdaten, die einem Band eines Bilds zugeordnet sind, in Ausgangsfarbpulsdaten 206 um, die für die Übertragung zu einer Video- oder Lasereinheit für den Betrieb einer Laser-, Tintenstrahl- oder anderen Ausgabevorrichtung geeignet sind.
  • Ein Puffer 208 empfängt und speichert die Farbpulsdaten 206, die von der Mehrzahl von Videopipelines 202 ausgegeben werden. Die Datenneusortierlogik 210, die in einer ASIC (application specific integrated circuit = anwendungsspezifische integrierte Schaltung) oder einer ähnlichen Vorrichtung konfiguriert ist, liest Farbpulsdaten von dem Puffer 208 und sendet die Farbpulsdaten an eine Mehrzahl von Videoeinheiten 212. Jede Videoeinheit 214 in der Mehrzahl von Videoeinheiten 212 steuert den Betrieb von einer oder mehreren Ausgabevorrichtung. Die Ausgabevorrichtungen können Laserstrahlen 216, Tintenstrahldüsen oder andere Vorrichtungen umfassen, die in der Seiten- oder Medienmarkierungsanordnung von Druckkopiebilderzeugungsvorrichtungen verwendet werden. Gleichartig dazu können die Ausgabevorrichtungen Bildschirmsteuervorrichtungen umfassen, wie z. B. eine Elektronenkanone/einen Elektronenstrahl in einer CRT (cathode ray tube = Kathodenstrahlröhre), oder eine Bildschirmsteuervorrichtung in einem Plasmabildschirm oder einer ähnlichen Bilderzeugungsvorrichtung 470.
  • Die Anzahl von Videopipelines 204 entspricht im allgemeinen der Gesamtrate des Farbpulsdatenverbrauch und der Fähigkeit jeder Videopipeline zum Erzeugen von Daten. Die Anzahl von Videoeinheiten 214, die Laserstrahlen 216 oder Tintenstrahldüsen usw. treiben, basiert auf Leistungsfähigkeitscharakteristika der Markierungsanordnung. Als Folge muß die Anzahl von Videopipelines 204 nicht gleich sein wie die Anzahl von Lasertreibvideoeinheiten 214, und es ist keine spezielle Beziehung zwischen diesen Anzahlen erforderlich.
  • 3 ist eine Darstellung einer zweiten möglichen Implementierung eines Parallelbildprozessors 300. Eine Mehrzahl von Videopipelines 202 empfängt komprimierte vorrichtungsunabhängige Rasterdaten. Die Mehrzahl von Videopipelines 202 kann in einer oder mehreren ASIC organisiert sein. Bei spielsweise kann eine Gruppe 302 von vier Videopipelines 204 in einer ASIC konfiguriert sein. Jede Videopipeline 204 wandelt komprimierte vorrichtungsunabhängige Rasterdaten, die einem Band eines Bildes zugeordnet sind, in Ausgabefarbpulsdaten 206 um, die für die Übertragung zu einer Videoeinheit für den Betrieb eines Lasers geeignet sind. Die Farbpulsdaten 206 werden an ein Gatterarray 304 gesendet, in dem sich eine Spalte 306 von DMAs (DMA = Direct Memory Access) 308 und eine Kreuzschaltlogikvorrichtung 310 befindet. Jeder DMA 308 ist konfiguriert, um die Farbpulsdaten 206 von einer Videopipeline 204 zu empfangen, und um die Übertragung dieser Daten zu der Kreuzschaltlogikvorrichtung 310 zu verwalten. Die Kreuzschaltlogikvorrichtung 310 überträgt Farbpulsdaten zu einer Mehrzahl von Speichervorrichtungen 312, so daß die Daten in den Speichervorrichtungen, für den Laserkanal, der dieselben schließlich verbrauchen wird, eine Warteschlange bilden, oder überträgt die Farbpulsdaten zu einer Speichervorrichtung, die organisiert ist, um eine Mehrzahl von Positionen zu liefern, in denen die Farbpulsdaten gespeichert werden können. Eine Mehrzahl von DMAs 314 verwaltet die Farbpulsdaten, die in der Mehrzahl von Speichervorrichtungen 312 oder äquivalenten Speichervorrichtungen gespeichert sind. Die Mehrzahl von DMAs 314 überträgt Farbpulsdaten zu einer Mehrzahl von Lasern oder Lasertreibereinheiten 316, die die Laserstrahlen 318 verwalten, die durch die Markierungsanordnung verwendet werden.
  • 4 ist eine Darstellung einer dritten möglichen Implementierung eines Bildprozessors 400. Eine Netzwerk-ASIC 402 oder eine ähnliche Netzwerkvorrichtung ist konfiguriert, um komprimierte vorrichtungsunabhängige Rasterdaten von einer Quelle zu empfangen, wie z. B. dem Netzwerk 106. Eine Speichervorrichtung 404 ist konfiguriert, um komprimierte vorrichtungsunabhängige Rasterdaten zu Puffern, die von der ASIC 402 empfangen werden. Beispielsweise kann ein 256-Megabyte-SDRAM einen Zehn-Blatt-Puffer liefern.
  • Die komprimierten vorrichtungsunabhängigen Rasterdaten werden an eine oder mehrere ASICs 406, 408 gesendet, die jeweils konfiguriert sind, um eine Mehrzahl von Videopipelines 410, 412 zu umfassen. Die Videopipelines 410, 412 übersetzen die komprimierten vorrichtungsunabhängigen Rasterdaten in Farbpulsdaten, die durch jede Pipeline 410, 412 bei 414 an eine Datenneusortierlogik in einer Vorrichtung gesendet werden können, wie z. B. einem Gatterarray 416. Die Daten, die durch jede Videopipeline 410, 412 gesendet werden, umfassen Daten, die einem Band des Bildes zugeordnet sind, das durch die Videopipeline verarbeitet wird. Jedes Band enthält eine Mehrzahl von Farbpulsdatenzeilen (d. h. Daten, die einer Pixelzeile in dem Ausgabebild zugeordnet sind). Eine erste Pipeline kann beispielsweise Zeilen verarbeiten, die ein erstes Band des Bildes bilden, während die zweite und möglicherweise zusätzliche Pipelines zweite und möglicherweise zusätzliche Bänder verarbeiten können, die das Bild bilden. Die Datenneusortierlogik 416 puffert die Farbpulsdaten in einer Speichervorrichtung 418, wie z. B. einem 256 MB-DDRAM. Obwohl viele Implementierungen der Datenneusortierlogik 416 möglich sind, erstellt und erhält die Datenneusortierlogik 416 bei einem Ausführungsbeispiel einen Puffer (wie z. B. einen FIFO-Puffer) in der Speichervorrichtung 418, die dem Ausgang von jeder Videopipeline 410, 412 zugeordnet ist. Die Datenneusortierlogik bestimmt dann die Daten- und Zeitgebungsbedürfnisse jeder Videoeinheit 420, 422, während Pixel in einer vorbestimmten Reihenfolge auf das Medium geschrieben werden. Die geeigneten Daten werden dann von dem geeigneten Puffer zum geeigneten Zeitpunkt abgerufen, und an die geeignete Videoeinheit 420, 422 weitergeleitet. Gemäß einer solchen Implementierung wird jede Zeile von Farbpulsdaten durch die Datenneusortierlogik 416 an eine oder mehrere Videoeinheiten 420, 422 gesendet, die konfiguriert sind, um die Laser 424 in der Markierungsanordnung zu treiben. Die Videoeinheiten 420, 422 können in einer oder mehreren ASIC 426, 428 oder in einer diskreten Logik konfiguriert sein, je nach Wunsch.
  • Ein Beispiel dieser Anordnung könnte eine Ausgabevorrichtung 424 umfassen, das 60 Megapixel/Sekunde verbraucht. Drei Videopipelines 410, 412, die konfiguriert sind, um 20 Megapixel/Sekunde zu verarbeiten, könnten verwendet werden, um ausreichend kombinierten Durchsatz zu liefern, um die Systembedürfnisse zu erfüllen.
  • 5 ist ein Flußdiagramm 500, das den Betrieb einer beispielhaften Bilderzeugungsvorrichtung 108118 beschreibt. Die Elemente des Verfahrens können durch jede gewünschte Einrichtung durchgeführt werden, einschließlich dem Betrieb der Hardwarevorrichtungen, wie z. B. ASICs oder durch die Ausführung von prozessorlesbaren Befehlen, die auf einem prozessorlesbaren Medium definiert sind, wie z. B. einer Platte, einem ROM oder einer anderen Speichervorrichtung.
  • Bei Block 502 sind komprimierte vorrichtungsunabhängige Rasterdaten in eine Mehrzahl von Bändern segmentiert, die unter einer Mehrzahl von Videopipelines verteilt sind. Mit Bezugnahme auf 4 liefern beispielsweise die Netzwerk-ASIC 402 und die Speichervorrichtung 404 den Videopipelines 410, 412 in den ASICs 406, 408 komprimierte vorrichtungsunabhängige Rasterdaten.
  • Bei Block 504 ist die Mehrzahl von Bändern auf eine Weise verteilt, auf die jede Videopipeline Daten empfängt, die einem Band eines Bildes zugeordnet sind. Beispielsweise ist jede Videopipeline 410, 412 einem Band eines Bildes zugeordnet, das gedruckt werden soll, wobei jedes Band eine Anzahl von Rasterdatenzeilen umfaßt, oder Daten, die Pixelzeilen in einem Bild zugeordnet sind, das gedruckt werden soll.
  • Bei Block 506 dekomprimiert jede Videopipeline 410, 412 die komprimierten vorrichtungsunabhängigen Rasterdaten und erzeugt Pulsdaten, die für den Betrieb eines Lasers (z. B. Laser 316 in 3) geeignet sind. Die Pulsdaten richten die Zeitgebung, durch die die Laser ein und aus schalten (d. h. „pulsen”). Die Pulsdaten, die jedem Band eines Bildes zugeordnet sind, können für die Speicherung gemäß den Pixelzeilen (d. h. Rasterdatenlinien) segmentiert werden und dadurch werden die Farbpulsdaten nach Rasterzeilen organisiert, für eine spätere Übertragung zu einer geeigneten Videoeinheit. Wie es in Block 508 ersichtlich ist, ist es möglich, daß sich die Anzahl von Videopipelines, die in der Mehrzahl von Videopipelines enthalten, die die Pulsdaten erzeugen, und die Anzahl von Videoeinheiten, die Laser unter Verwendung der Pulsdaten treiben, während der Erzeugung der Farbpulsdaten unterscheiden. Somit gibt es keine Beschränkung für eine Videopipeline, Daten mit der Rate zu erzeugen, mit der dieselben durch eine Videoeinheit verbraucht werden, die einen oder mehrere Laser oder eine andere Ausgabevorrichtung treibt. Die gesammelte Ausgangsrate aller Pipelines zusammen ist entworfen, um größer oder gleich zu sein wie die durchschnittliche Verbrauchsrate der Markierungsvorrichtung als Ganzes.
  • Bei Block 510 werden die Pulsdaten gespeichert, bis dieselben benötigt werden. Typischerweise werden Daten in der Reihenfolge gespeichert, in der dieselben erzeugt werden, nicht in der Reihenfolge, die durch die Laser verwendet wird. Somit können die Daten, die zwei oder mehr Bändern zugeordnet sind, während überlappenden Perioden gespeichert werden, d. h. einige Daten, die einem zweiten Band zugeordnet sind, können zwischen dem Anfang und dem Ende der Speicherung gespeichert werden, die einem ersten Band zugeordnet ist. Als Alternative – insbesondere wo die Anzahl von Pipelines 204 gleich der Anzahl von Lasertreibern 316 ist – kann es vorteilhaft sein, die Daten zu der Speicherung zu leiten, die dem Lasertreiber 316 zugeordnet ist, der die Daten schließlich verarbeiten wird. Bei Block 512, wo die Pulsdaten zu einer geeigneten Videoeinheit (z. B. Videolasertreiber 214) geleitet werden, führt die Neusortierlogik 210, 310 diese Funktion durch. Somit werden Pulsdaten, die einer Rasterzeile oder einer Pixelzeile zugeordnet sind, an eine geeignete Videoeinheit gesendet.
  • Bei Block 514 kann die Ausgabe von Videopipelines 410, 412 in der Mehrzahl von Pipelines 406, 408 an zwei oder mehr Videoeinheiten 420, 422 gesendet werden. Zusätzlich kann die Eingabe in eine Videoeinheit von zwei oder mehr Pipelines kommen. Bei Block 516 können Pulsdaten, die Rasterzeilen zugeordnet sind, an eine geeignete Videoeinheit gesendet werden, in einer Sequenz, die sich von der Reihenfolge unterscheidet, in der die Pulsdaten erzeugt wurden. Genauer gesagt, die Farbpulsdaten werden in einer ersten Reihenfolge erzeugt, die durch den Betrieb der Videopipelines 410, 412 bestimmt ist, und werden in einer zweiten Reihenfolge an die Videoeinheiten 420, 422 gesendet, die durch den Betrieb dieser Videoeinheiten bestimmt wird.
  • Obwohl die Offenbarung in einer Sprache geschrieben wurde, die für strukturelle Merkmale und/oder Methodikschritte spezifisch ist, ist klar, daß die angehängten Ansprüche nicht auf die spezifischen beschriebenen Merkmale oder Schritte beschränkt sind. Statt dessen sind die spezifischen Merkmale und Schritte beispielhafte Formen zum Implementieren dieser Offenbarung. Obwohl beispielsweise mehrere alternativer Implementierungen von Hardwareausführungsbeispielen von Parallelbildverarbeitung dargestellt wurden, können auch noch weitere alternative Entwürfe die gleichen Konzepte verwenden. Und obwohl die erörterten Implementierungen sich auf Farbverarbeitung bezogen haben, könnten bei einem alternativen Ausführungsbeispiel einfarbige oder Grauskalierungsbilder unter Verwendung der erörterten Techniken verarbeitet werden. Obwohl horizontale Bänder, Abschnitte oder Segmente eines Bildes erörtert wurden, könnten zusätzlich vertikale Segmente eines Bildes auf ähnliche Weise verwendet werden. Obwohl die Verwendung einer Lasermarkiervorrichtung in der Anwendung offenbart ist, könnte außerdem die Verwendung einer Tintenstrahldüse, einer Bildschirmsteuervorrichtung oder einer anderen Ausgabevorrichtung eingesetzt werden.
  • Obwohl ein oder mehrere Verfahren durch Flußdiagramme und Text, der den Blöcken zugeordnet ist, offenbart wurden, ist außerdem klar, daß die Blöcke nicht notwendigerweise in der Reihenfolge durchgeführt werden müssen, in der dieselben präsentiert wurden, und daß eine alternative Reihenfolge zu ähnlichen Vorteilen führen kann.

Claims (25)

  1. Bildprozessor (100), der folgende Merkmale umfaßt: eine Mehrzahl von Verarbeitungspipelines (202), die jeweils konfiguriert sind, um Daten zu empfangen, die einem Teil eines Bildes zugeordnet sind, und Pulsdaten auszugeben, die dem Teil zugeordnet sind; einen Puffer (208), um die Pulsdaten zu speichern; und eine Logik (210) zum Leiten der Pulsdaten zu einer geeigneten Lasertreibereinheit (212), wobei jede Verarbeitungspipeline (202) konfiguriert ist, um die Pulsdaten in einer Reihenfolge zu erzeugen, die zu der Reihenfolge unterschiedlich ist, in der die Logik (210) die Pulsdaten weiterleitet.
  2. Bildprozessor gemäß Anspruch 1, der zusätzlich folgende Merkmale umfaßt: einen zweiten Puffer zum Speichern der Daten, die dem Teil zugeordnet sind, in einem komprimierten vorrichtungsunabhängigen Rasterformat; und eine Netzwerkvorrichtung zum Verteilen der Daten, die in dem komprimierten vorrichtungsunabhängigen Rasterformat gespeichert sind, an jede Verarbeitungspipeline, die in der Mehrzahl von Verarbeitungspipelines (202) enthalten ist.
  3. Bildprozessor gemäß Anspruch 1 oder 2, bei dem die Logik (210) konfiguriert ist, um die Pulsdaten zu verteilen, die durch eine Verarbeitungspipeline (204) an zumindest zwei Lasertreibereinheiten (214) ausgegeben werden.
  4. Bildprozessor gemäß einem der Ansprüche 1 bis 3, bei dem die Pulsdaten konfiguriert sind für den Betrieb einer Ausgabevorrichtung (216).
  5. Bildprozessor gemäß einem der Ansprüche 1 bis 4, bei dem die Logik ein Gatterarray (416) umfaßt, das eine Kreuzschaltlogik und einen DMA (314) aufweist, die jeder Verarbeitungspipeline zugeordnet sind.
  6. Bildprozessor gemäß einem der Ansprüche 1 bis 5, bei dem eine Anzahl von Verarbeitungspipelines, die in der Mehrzahl von Verarbeitungspipelines (202) enthalten ist, und eine Anzahl von Lasertreibereinheiten in dem Bildprozessor nicht gleich sind, und bei dem die Logik die Ausgabe von zwei Verarbeitungspipelines an eine Lasertreibereinheit verteilt.
  7. Bildprozessor, der folgende Merkmale umfaßt: eine Mehrzahl von Videopipelines (406, 404), die jeweils konfiguriert sind, um Daten zu empfangen, die einem Band eines Bildes zugeordnet sind, und um Farbpulsdaten auszugeben, die dem Band zugeordnet sind; einen Puffer (404) zum Speichern der Farbpulsdaten; und eine Datenneusortierlogik (416) zum Leiten der Farbpulsdaten an eine geeignete Videoeinheit, wobei jede Videopipeline (406, 404) konfiguriert ist, um die Pulsdaten in einer Reihenfolge zu erzeugen, die zu der Reihenfolge unterschiedlich ist, in der die Datenneusortierlogik (416) die Pulsdaten weiterleitet.
  8. Bildprozessor gemäß Anspruch 7, der zusätzlich folgende Merkmale umfaßt: einen zweiten Puffer (418) zum Speichern der Daten, die dem Band zugeordnet sind, in einem komprimierten vorrichtungsunabhängigen Rasterformat; und eine Netzwerkvorrichtung (402) zum Verteilen der Daten, die in dem komprimierten vorrichtungsunabhängigen Rasterformat gespeichert sind, an jede Pipeline (410), die in der Mehrzahl von Videopipelines (406, 408) enthalten ist.
  9. Bildprozessor gemäß Anspruch 7 oder 8, bei dem die Datenneusortierlogik (416) konfiguriert ist, um die Farbpulsdaten, die durch eine Videopipeline ausgegeben werden, an zumindest zwei Videoeinheiten zu verteilen.
  10. Bildprozessor gemäß einem der Ansprüche 7 bis 9, bei dem die Farbpulsdaten für den Betrieb einer Ausgabevorrichtung konfiguriert sind.
  11. Bildprozessor gemäß einem der Ansprüche 7 bis 10, bei dem die Datenneusortierlogik (416) ein Gatterarray umfaßt, das eine Kreuzschaltlogik und einen DMA aufweist, die jeder Videopipeline zugeordnet sind.
  12. Bildprozessor gemäß einem der Ansprüche 7 bis 11, bei dem eine Anzahl von Videopipelines, die in der Mehrzahl von Videopipelines enthalten sind, und eine Anzahl von Videoeinheiten in dem Bildprozessor nicht gleich sind, und bei dem die Datenneusortierlogik (416) die Ausgabe von zwei Videopipelines an eine Videoeinheit verteilt.
  13. Bilderzeugungsvorrichtung, die folgende Merkmale umfaßt: eine Quelle komprimierter Daten; einen Parallelbildprozessor, der folgende Merkmale umfaßt: eine Mehrzahl von Videopipelines, wobei jede Videopipeline konfiguriert ist, um komprimierte Daten zu empfangen, die einem Band eines Bildes zugeordnet sind, und konfiguriert ist, um Farbpulsdaten auszugeben, die dem Band zugeordnet sind; und eine Datenneusortierlogik zum Leiten der Farbpulsdaten an eine geeignete Videoeinheit; und eine Markierungsanordnung, die eine Mehrzahl von Lasern umfaßt, die durch Videoeinheiten in dem Parallelbildprozessor getrieben werden.
  14. Bilderzeugungsvorrichtung gemäß Anspruch 13, die zusätzlich folgendes Merkmal umfaßt: einen Speicher, der konfiguriert ist, um die Farbpulsdaten zu speichern, wobei die Farbpulsdaten in einer ersten Reihenfolge in den Speicher geschrieben werden, die durch die Herstellung durch die Mehrzahl von Videopipelines vorgegeben ist, und wobei die Farbpulsdaten in einer zweiten Reihenfolge von dem Speicher gelesen werden, die durch den Bedarf der geeigneten Videoeinheit bestimmt wird.
  15. Bilderzeugungsvorrichtung gemäß Anspruch 13 oder 14, die zusätzlich folgende Merkmale umfaßt: einen Puffer zum Speichern der komprimierten Daten; und eine Netzwerkvorrichtung zum Verteilen der komprimierten Daten an jede der Mehrzahl von Videopipelines.
  16. Bilderzeugungsvorrichtung, die folgende Merkmale umfaßt: eine Einrichtung zum Verteilen (502) komprimierter Daten zwischen einer Mehrzahl von Videopipelines (204), wobei jede Videopipeline (204) Daten empfängt, die einem Band eines Bildes zugeordnet sind; eine Einrichtung zum Dekomprimieren (506) von dekomprimierten Daten in jeder Videopipeline (204), um Pulsdaten zu erzeugen, um eine Ausgabevorrichtung (212) zu betreiben; eine Einrichtung zum Speichern (510) der Pulsdaten, bis dieselben benötigt werden; und eine Einrichtung zum Leiten (512) der Pulsdaten an eine geeignete Videoeinheit (214); wobei die Einrichtung zum Dekomprimieren (506) Pulsdaten in einer anderen Reihenfolge erzeugt als die Einrichtung zum Leiten die Pulsdaten sendet.
  17. Bilderzeugungsvorrichtung gemäß Anspruch 16, bei der eine Anzahl von Videopipelines (204), die in der Mehrzahl von Videopipelines (202) enthalten sind, nicht gleich einer Anzahl von Videoeinheiten (214) ist, und bei der die Einrichtung zum Leiten (512) Pulsdaten von einer Videopipeline (204) in der Mehrzahl von Videopipelines (202) an zwei oder mehr Videoeinheiten (214) verteilt.
  18. Verfahren zum Verarbeiten eines Bildes, das folgende Schritte umfaßt: Segmentieren (502) komprimierter Daten, die einem Bild zugeordnet sind, in eine Mehrzahl von Segmenten; Verteilen (504) der Mehrzahl von Segmenten zwischen einer Mehrzahl von Verarbeitungspipelines (202); Dekomprimieren (508) der komprimierten Daten zum Erzeugen von Pulsdaten; Speichern (510) der Pulsdaten; und Leiten (512) der Pulsdaten an eine geeignete Lasertreibereinheit (214); wobei die Pulsdaten nicht in einer Sequenz geleitet werden, in der dieselben dekomprimiert werden.
  19. Verfahren gemäß Anspruch 18, bei dem das Leiten zusätzlich folgende Schritte umfaßt: Segmentieren (502) der Pulsdaten, die jedem Segment zugeordnet sind, in Pulsdaten, die jeder Zeile von Pixeln zugeordnet sind; und Senden (512) der Pulsdaten, die jeder Zeile von Pixeln zugeordnet sind, an die geeignete Lasertreibereinheit (214).
  20. Verfahren zum Verarbeiten eines Bildes, das folgende Schritte umfaßt: Segmentieren (502) komprimierter Daten, die einem Bild zugeordnet sind, in eine Mehrzahl von Bändern; Verteilen (504) der Mehrzahl von Bändern zwischen einer Mehrzahl von Videopipelines; Dekomprimieren (506) der komprimierten Daten in jeder Videopipeline in der Mehrzahl von Videopipelines, wobei Pulsdaten erzeugt werden, die konfiguriert sind, um eine Ausgabevorrichtung zu betreiben; Speichern (510) der Pulsdaten, bis dieselben benötigt werden; und Leiten der Pulsdaten an eine geeignete Videoeinheit; wobei die Pulsdaten nicht in einer Sequenz geleitet werden, in der dieselben dekomprimiert werden.
  21. Verfahren gemäß Anspruch 20, bei dem das Leiten zusätzlich folgende Schritte umfaßt: Segmentieren (502) der Pulsdaten, die jedem Band zugeordnet sind, in Pulsdaten, die Leder Pixelzeile zugeordnet sind; Senden (512) der Pulsdaten, die Leder Pixelzeile zugeordnet sind, an die geeignete Videoeinheit.
  22. Parallelbildprozessor, der folgende Merkmale umfaßt: eine Einrichtung zum Segmentieren komprimierter Daten, die einem Bild zugeordnet sind, in eine Mehrzahl von Bändern; eine Einrichtung zum Verteilen der Mehrzahl von Bändern zwischen einer Mehrzahl von Videopipelines; eine Einrichtung zum Dekomprimieren der komprimierten Daten in Leder Videopipeline in der Mehrzahl von Videopipelines für ein entsprechendes der Mehrzahl von Bändern zum Erzeugen von Pulsdaten; eine Einrichtung zum Speichern der Pulsdaten, bis dieselben benötigt werden; und eine Einrichtung zum Leiten der Pulsdaten an eine geeignete Videoeinheit wobei die Pulsdaten, die den Rasterzeilen zugeordnet sind, nicht in einer Sequenz erzeugt werden, durch die die Pulsdaten, die den Rasterzeilen zugeordnet sind, an die geeignete Videoeinheit geleitet werden.
  23. Parallelbildprozessor gemäß Anspruch 22, bei dem die Einrichtung zum Dekomprimieren Pulsdaten erzeugt, die Rasterzeilen zugeordnet sind, und bei dem die Einrichtung zum Leiten die Pulsdaten, die den Rasterzeilen zugeordnet sind, an die geeignete Videoeinheit sendet.
  24. Prozessorlesbares Medium, das prozessorausführbare Befehle umfaßt, wobei die prozessorausführbaren Befehle Befehle umfassen zum: Verteilen komprimierter Daten, die einer Mehrzahl von Bildsegmenten zugeordnet sind, zwischen einer Mehrzahl von Videopipelines; Dekomprimieren der komprimierten Daten in jeder Videopipeline, um Pulsdaten zu erzeugen, die konfiguriert sind, um eine Ausgabevorrichtung zu betreiben; und Senden der Pulsdaten an die Ausgabevorrichtung; wobei die Befehle dazu führen, daß Pulsdaten, die einer Rasterzeile zugeordnet sind, in einer anderen Reihenfolge geleitet werden als die Pulsdaten, die der Rasterzeile zugeordnet sind, dekomprimiert wurden.
  25. Prozessorlesbares Medium gemäß Anspruch 24 oder 29, das zusätzlich Befehle umfaßt zum Unterteilen der Ausgabe von einer Videopipeline zwischen zwei Videoeinheiten und zum Erhalten einer Eingabe in eine Videoeinheit von zwei Videopipelines.
DE102004001238A 2003-04-14 2004-01-07 Bildprozessor Expired - Fee Related DE102004001238B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/413,275 US7283686B2 (en) 2003-04-14 2003-04-14 Image processor
US10-413,275 2003-04-14

Publications (2)

Publication Number Publication Date
DE102004001238A1 DE102004001238A1 (de) 2004-11-11
DE102004001238B4 true DE102004001238B4 (de) 2010-07-29

Family

ID=33131390

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004001238A Expired - Fee Related DE102004001238B4 (de) 2003-04-14 2004-01-07 Bildprozessor

Country Status (2)

Country Link
US (1) US7283686B2 (de)
DE (1) DE102004001238B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835596B2 (en) * 2003-12-16 2010-11-16 International Business Machines Corporation Componentized application sharing
US20060227370A1 (en) * 2005-04-11 2006-10-12 Ching-Wen Wu Synchronized image transformation processing method for a printer
US9363481B2 (en) * 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8212838B2 (en) * 2005-05-27 2012-07-03 Ati Technologies, Inc. Antialiasing system and method
US9008464B2 (en) * 2009-06-16 2015-04-14 University-Industry Cooperation Group Of Kyung Hee University Media data customization
DE112011105359B4 (de) * 2011-06-22 2018-05-30 Hewlett Packard Development Company, L.P. Verarbeitung von Bilddatenstreifen in Spaltenbereichen
US9515678B1 (en) * 2015-05-11 2016-12-06 Via Alliance Semiconductor Co., Ltd. Hardware data compressor that directly huffman encodes output tokens from LZ77 engine
US9509337B1 (en) 2015-05-11 2016-11-29 Via Alliance Semiconductor Co., Ltd. Hardware data compressor using dynamic hash algorithm based on input block type
US9628111B2 (en) 2015-05-11 2017-04-18 Via Alliance Semiconductor Co., Ltd. Hardware data compressor with multiple string match search hash tables each based on different hash size
US10027346B2 (en) 2015-05-11 2018-07-17 Via Alliance Semiconductor Co., Ltd. Hardware data compressor that maintains sorted symbol list concurrently with input block scanning
US9509336B1 (en) 2015-05-11 2016-11-29 Via Alliance Semiconductor Co., Ltd. Hardware data compressor that pre-huffman encodes to decide whether to huffman encode a matched string or a back pointer thereto
US9509335B1 (en) 2015-05-11 2016-11-29 Via Alliance Semiconductor Co., Ltd. Hardware data compressor that constructs and uses dynamic-prime huffman code tables
US9503122B1 (en) 2015-05-11 2016-11-22 Via Alliance Semiconductor Co., Ltd. Hardware data compressor that sorts hash chains based on node string match probabilities
JP7118611B2 (ja) * 2017-09-11 2022-08-16 キヤノン株式会社 画像処理装置、記録装置、画像処理方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002814A (en) * 1998-04-14 1999-12-14 Hewlett-Packard Company Means and method for configuring a data processing pipeline

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701479A (en) 1993-06-15 1997-12-23 Xerox Corporation Pipelined image processing system for a single application environment
US5655138A (en) 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression
JP3685421B2 (ja) 1996-09-18 2005-08-17 富士写真フイルム株式会社 画像処理装置
US5852742A (en) 1997-06-17 1998-12-22 Hewlett-Packard Company Configurable data processing pipeline
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6471332B1 (en) 2001-01-31 2002-10-29 Hewlett-Packard Company Multiple marker inkjet printing for increased print speed

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002814A (en) * 1998-04-14 1999-12-14 Hewlett-Packard Company Means and method for configuring a data processing pipeline

Also Published As

Publication number Publication date
DE102004001238A1 (de) 2004-11-11
US7283686B2 (en) 2007-10-16
US20040202383A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
DE102004001238B4 (de) Bildprozessor
DE69831133T2 (de) Konfiguriation einer Datenverarbeitungspipeline
DE19525110B4 (de) Verfahren und Vorrichtung zur parallelen Verarbeitung von Bilddokumenten
DE69730385T2 (de) Verfahren und Gerät für einen Tintenstrahldrucker
EP3570530B1 (de) Kompensation von dichteschwankungen
DE102011114819A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren, Tintenstrahldruckvorrichtung, und Tintenstrahldruckverfahren
DE19513105A1 (de) Verfahren zur Generierung einer Contone-Map
DE19711674B4 (de) Verfahren und System zum Drucken rasterisierter Dokumente
DE102012214294A1 (de) Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren
DE69837692T2 (de) Drucksystem und -verfahren
DE60033479T2 (de) Bilderzeugungssystem und -verfahren
DE102005001181B4 (de) Vorrichtung und Verfahren zum Transponieren von Daten
EP1290628B1 (de) Verfahren zum erstellen und ausgeben mindestens einer druckseite
DE102006008768A1 (de) Verfahren und Vorrichtung zum Verarbeiten eines Druckdatenstroms zum Erzeugen mehrfarbiger Druckbilder mit Hilfe eines Hochleistungsdrucksystems
DE60300094T2 (de) Zeilendrucker
DE69729752T2 (de) Adaptive bildblockkompression
DE69737585T2 (de) Bildausgabeverfahren und dieses benutzendes Fotobehandlungssystem
DE10045180B4 (de) Vorrichtung und Verfahren zum Erzeugen einer sichtbaren Ausgabe eines Dokuments aus einem Druckauftrag
DE4116870C2 (de) Bildredigiervorrichtung
DE10001211B4 (de) Verfahren zum Erzeugen von Rasterdaten und Rastererzeugungssystem
DE19506791C1 (de) Vorrichtung zur Steigerung der Druckqualität in Hochgeschwindigkeitsdruck- und -kopiergeräten
EP0766856B1 (de) Verfahren zur montage von druckbögen
DE102006021387B4 (de) Drucksystem und Verfahren zum Betreiben eines Drucksystems
DE10126625A1 (de) Bilddruckvorrichtungen mit AM/FM-Halbtonbildung unter Selbstbestimmung einer Punktgröße und Verfahren zum Implementieren derselben
DE60309816T2 (de) Verfahren zur Steuerung des Druckens, Bilddatenerzeugungsgerät und Daten zur Bilderzeugung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee