DE102004001238A1 - Bildprozessor - Google Patents
Bildprozessor Download PDFInfo
- Publication number
- DE102004001238A1 DE102004001238A1 DE102004001238A DE102004001238A DE102004001238A1 DE 102004001238 A1 DE102004001238 A1 DE 102004001238A1 DE 102004001238 A DE102004001238 A DE 102004001238A DE 102004001238 A DE102004001238 A DE 102004001238A DE 102004001238 A1 DE102004001238 A1 DE 102004001238A1
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection 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/00204—Connection 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/00236—Connection 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/00238—Connection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection 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/00204—Connection 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/00236—Connection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32502—Circuits 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/32523—Circuits 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/32529—Circuits 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
- H04N2201/0034—Details of the connection, e.g. connector, interface
- H04N2201/0037—Topological details of the connection
- H04N2201/0039—Connection via a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0082—Image hardcopy reproducer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0091—Digital copier; digital 'photocopier'
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0093—Facsimile machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0094—Multifunctional 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
Bei einem Ausführungsbeispiel umfaßt ein Bildprozessor eine Mehrzahl von Verarbeitungspipelines, die jede konfiguriert sind, um Daten zu empfangen, die einem Teil eines Bildes zugeordnet sind, und um 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 an eine geeignete Lasertreibereinheit zu leiten.
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.
- 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 Umgebung100 , in der beispielhafte Bilderzeugungsvorrichtungen108 –118 , die Bilderzeugungsprozessoren aufweisen, die eine Version von Parallelbildverarbeitung umfassen, arbeiten können. Ein Druckserver oder Dateiserver102 ist konfiguriert, um von jeder von einer Mehrzahl von Workstations104 oder anderen Inhaltsanbietern einen Druck- oder Anzeigeauftrag zu empfangen. Der Auftrag kann über ein Netzwerk106 an jeden Typ von Bilderzeugungsvorrichtung gesendet werden, wie z. B. einen Drucker108 , eine Multifunktionsperipherievorrichtung110 , eine Faxmaschine112 , einen Netzwerkkopierer114 , einen Anzeigebildschirm116 oder eine andere Druck- oder Bilderzeugungsvorrichtung. Obwohl der beispielhafte Anzeigebildschirm116 so dargestellt ist, daß er Inhalt über das Netzwerk106 empfängt, könnte derselbe alternativ Inhalt über eine Direktverbindung mit einem Computer102 –104 empfangen. Eine Kopiermaschine118 , obwohl dieselbe nicht mit dem Netzwerk106 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 Parallelbildprozessors200 , 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 Verarbeitungspipeline202 empfängt komprimierte vorrichtungsunabhängige Rasterdaten. Insbesondere ist jede Videopipeline204 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 Videopipeline204 komprimierte vorrichtungsunabhängige Rasterdaten, die einem Band eines Bilds zugeordnet sind, in Ausgangsfarbpulsdaten206 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 Farbpulsdaten206 , die von der Mehrzahl von Videopipelines202 ausgegeben werden. Die Datenneusortierlogik210 , die in einer ASIC (application specific integrated circuit = anwendungsspezifische integrierte Schaltung) oder einer ähnlichen Vorrichtung konfiguriert ist, liest Farbpulsdaten von dem Puffer208 und sendet die Farbpulsdaten an eine Mehrzahl von Videoeinheiten212 . Jede Videoeinheit214 in der Mehrzahl von Videoeinheiten212 steuert den Betrieb von einer oder mehreren Ausgabevorrichtung. Die Ausgabevorrichtungen können Laserstrahlen216 , 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 Bilderzeugungsvorrichtung470 . - 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 Videoeinheiten214 , die Laserstrahlen216 oder Tintenstrahldüsen usw. treiben, basiert auf Leistungsfähigkeitscharakteristika der Markierungsanordnung. Als Folge muß die Anzahl von Videopipelines204 nicht gleich sein wie die Anzahl von Lasertreibvideoeinheiten214 , und es ist keine spezielle Beziehung zwischen diesen Anzahlen erforderlich. -
3 ist eine Darstellung einer zweiten möglichen Implementierung eines Parallelbildprozessors300 . Eine Mehrzahl von Videopipelines202 empfängt komprimierte vorrichtungsunabhängige Rasterdaten. Die Mehrzahl von Videopipelines202 kann in einer oder mehreren ASIC organisiert sein. Bei spielsweise kann eine Gruppe302 von vier Videopipelines204 in einer ASIC konfiguriert sein. Jede Videopipeline204 wandelt komprimierte vorrichtungsunabhängige Rasterdaten, die einem Band eines Bildes zugeordnet sind, in Ausgabefarbpulsdaten206 um, die für die Übertragung zu einer Videoeinheit für den Betrieb eines Lasers geeignet sind. Die Farbpulsdaten206 werden an ein Gatterarray304 gesendet, in dem sich eine Spalte306 von DMAs (DMA = Direct Memory Access)308 und eine Kreuzschaltlogikvorrichtung310 befindet. Jeder DMA308 ist konfiguriert, um die Farbpulsdaten206 von einer Videopipeline204 zu empfangen, und um die Übertragung dieser Daten zu der Kreuzschaltlogikvorrichtung310 zu verwalten. Die Kreuzschaltlogikvorrichtung310 überträgt Farbpulsdaten zu einer Mehrzahl von Speichervorrichtungen312 , 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 DMAs314 verwaltet die Farbpulsdaten, die in der Mehrzahl von Speichervorrichtungen312 oder äquivalenten Speichervorrichtungen gespeichert sind. Die Mehrzahl von DMAs314 überträgt Farbpulsdaten zu einer Mehrzahl von Lasern oder Lasertreibereinheiten316 , die die Laserstrahlen318 verwalten, die durch die Markierungsanordnung verwendet werden. -
4 ist eine Darstellung einer dritten möglichen Implementierung eines Bildprozessors400 . Eine Netzwerk-ASIC402 oder eine ähnliche Netzwerkvorrichtung ist konfiguriert, um komprimierte vorrichtungsunabhängige Rasterdaten von einer Quelle zu empfangen, wie z. B. dem Netzwerk106 . Eine Speichervorrichtung404 ist konfiguriert, um komprimierte vorrichtungsunabhängige Rasterdaten zu Puffern, die von der ASIC402 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 Videopipelines410 ,412 zu umfassen. Die Videopipelines410 ,412 übersetzen die komprimierten vorrichtungsunabhängigen Rasterdaten in Farbpulsdaten, die durch jede Pipeline410 ,412 bei 414 an eine Datenneusortierlogik in einer Vorrichtung gesendet werden können, wie z. B. einem Gatterarray416 . Die Daten, die durch jede Videopipeline410 ,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 Datenneusortierlogik416 puffert die Farbpulsdaten in einer Speichervorrichtung418 , wie z. B. einem 256 MB-DDRAM. Obwohl viele Implementierungen der Datenneusortierlogik416 möglich sind, erstellt und erhält die Datenneusortierlogik416 bei einem Ausführungsbeispiel einen Puffer (wie z. B. einen FIFO-Puffer) in der Speichervorrichtung418 , die dem Ausgang von jeder Videopipeline410 ,412 zugeordnet ist. Die Datenneusortierlogik bestimmt dann die Daten- und Zeitgebungsbedürfnisse jeder Videoeinheit420 ,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 Videoeinheit420 ,422 weitergeleitet. Gemäß einer solchen Implementierung wird jede Zeile von Farbpulsdaten durch die Datenneusortierlogik416 an eine oder mehrere Videoeinheiten420 ,422 gesendet, die konfiguriert sind, um die Laser424 in der Markierungsanordnung zu treiben. Die Videoeinheiten420 ,422 können in einer oder mehreren ASIC426 ,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 Videopipelines410 ,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ßdiagramm500 , das den Betrieb einer beispielhaften Bilderzeugungsvorrichtung108 –118 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 auf4 liefern beispielsweise die Netzwerk-ASIC402 und die Speichervorrichtung404 den Videopipelines410 ,412 in den ASICs406 ,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 Videopipeline410 ,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 Videopipeline410 ,412 die komprimierten vorrichtungsunabhängigen Rasterdaten und erzeugt Pulsdaten, die für den Betrieb eines Lasers (z. B. Laser316 in3 ) 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 Block508 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 Pipelines204 gleich der Anzahl von Lasertreibern316 ist – kann es vorteilhaft sein, die Daten zu der Speicherung zu leiten, die dem Lasertreiber316 zugeordnet ist, der die Daten schließlich verarbeiten wird. Bei Block512 , wo die Pulsdaten zu einer geeigneten Videoeinheit (z. B. Videolasertreiber214 ) geleitet werden, führt die Neusortierlogik210 ,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 Videopipelines410 ,412 in der Mehrzahl von Pipelines406 ,408 an zwei oder mehr Videoeinheiten420 ,422 gesendet werden. Zusätzlich kann die Eingabe in eine Videoeinheit von zwei oder mehr Pipelines kommen. Bei Block516 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 Videopipelines410 ,412 bestimmt ist, und werden in einer zweiten Reihenfolge an die Videoeinheiten420 ,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 (30)
- 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 ). - 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. - 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. - Bildprozessor gemäß einem der Ansprüche 1 bis 3, bei dem die Pulsdaten konfiguriert sind für den Betrieb einer Ausgabevorrichtung (
216 ), die aus einer Gruppe ausgewählt ist, die einen Laser, eine Tintenstrahldüse und eine Bildschirmsteuervorrichtung umfaßt. - 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. - 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. - 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. - 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. - 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. - Bildprozessor gemäß einem der Ansprüche 7 bis 9, bei dem die Farbpulsdaten für den Betrieb einer Ausgabevorrichtung konfiguriert sind, die aus einer Gruppe ausgewählt ist, die aus einem Laser, einer Tintenstrahldüse und einer Bildschirmsteuervorrichtung besteht.
- 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. - 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. - 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.
- 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.
- 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.
- 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 ). - 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. - Bilderzeugungsvorrichtung gemäß Anspruch 16 oder 17, bei der die Einrichtung zum Dekomprimieren (
506 ) Pulsdaten in einer anderen Reihenfolge erzeugt als die Einrichtung zum Leiten die Pulsdaten sendet. - 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 ). - Verfahren gemäß Anspruch 19, 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 ). - Verfahren gemäß Anspruch 19 oder 20, bei dem die Pulsdaten nicht in einer Sequenz geleitet werden, in der dieselben dekomprimiert werden.
- 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; Leiten der Pulsdaten an eine geeignete Videoeinheit. - Verfahren gemäß Anspruch 22, bei dem das Leiten zusätzlich folgende Schritte umfaßt: Segmentieren (
502 ) der Pulsdaten, die jedem Band zugeordnet sind, in Pulsdaten, die jeder Pixelzeile zugeordnet sind; Senden (512 ) der Pulsdaten, die jeder Pixelzeile zugeordnet sind, an die geeignete Videoeinheit. - Verfahren gemäß Anspruch 22 oder 23, bei dem die Pulsdaten nicht in einer Sequenz geleitet werden, in der dieselben dekomprimiert werden.
- 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 jeder 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.
- Parallelbildprozessor gemäß Anspruch 25, 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.
- Parallelbildprozessor gemäß Anspruch 25 oder 26, bei dem 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.
- 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.
- Prozessorlesbares Medium gemäß Anspruch 28, bei dem 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.
- Prozessorlesbares Medium gemäß Anspruch 28 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.
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 true DE102004001238A1 (de) | 2004-11-11 |
DE102004001238B4 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)
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 | キヤノン株式会社 | 画像処理装置、記録装置、画像処理方法、及びプログラム |
Family Cites Families (7)
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 |
US6002814A (en) | 1998-04-14 | 1999-12-14 | Hewlett-Packard Company | Means and method for configuring a 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 |
-
2003
- 2003-04-14 US US10/413,275 patent/US7283686B2/en not_active Expired - Fee Related
-
2004
- 2004-01-07 DE DE102004001238A patent/DE102004001238B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE102004001238B4 (de) | 2010-07-29 |
US7283686B2 (en) | 2007-10-16 |
US20040202383A1 (en) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10085017B4 (de) | Datenpfad für Hochleistungs-Mustergenerator | |
DE102004001238B4 (de) | Bildprozessor | |
DE69832223T2 (de) | Verfahren und Vorrichtung zur Komprimierung von scheibenorientierten Bitmaps | |
DE102009051197B4 (de) | Verfahren, Vorrichtung und Computerprogramm zur Korrektur eines durch Verformung des Aufzeichnungsträgers bedingten Registerfehlers in einem Druckprozess | |
DE19513105A1 (de) | Verfahren zur Generierung einer Contone-Map | |
DE102018207728A1 (de) | Kompensation von Dichteschwankungen | |
DE19711674B4 (de) | Verfahren und System zum Drucken rasterisierter Dokumente | |
DE102012214294A1 (de) | Bildverarbeitungsvorrichtung und bildverarbeitungsverfahren | |
DE2825321C3 (de) | Rasterdrucker | |
EP0132456A1 (de) | Verfahren und Vorrichtung zur Prüfung der Satzqualität von Druckerzeugnissen, insbesondere Zeitungen | |
DE60033479T2 (de) | Bilderzeugungssystem und -verfahren | |
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 | |
DE69632644T2 (de) | Bilderzeugung für seitendrucker | |
DE60300094T2 (de) | Zeilendrucker | |
DE10311045A1 (de) | System und Verfahren zum Drucken kopiergeschützter Dokumente | |
DE69729752T2 (de) | Adaptive bildblockkompression | |
DE69825680T2 (de) | Drucker mit prozedur zur muster-feldeinteilung und -skalierung | |
DE69724183T2 (de) | Verfahren und Vorrichtung zum Drucken von digitalen Halbtonbildern | |
DE10045180B4 (de) | Vorrichtung und Verfahren zum Erzeugen einer sichtbaren Ausgabe eines Dokuments aus einem Druckauftrag | |
DE60303646T2 (de) | Druckvorrichtung mit Ausgabe eines Probedrucks | |
DE10201918B4 (de) | Verfahren zur Bestimmung der Flächendeckung von Druckplatten | |
DE60307186T2 (de) | Druckvorrichtung und Steuerungsverfahren dafür | |
EP0766856B1 (de) | Verfahren zur montage von druckbögen | |
DE10001211B4 (de) | Verfahren zum Erzeugen von Rasterdaten und Rastererzeugungssystem |
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 |