DE69634040T2 - Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern - Google Patents

Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern Download PDF

Info

Publication number
DE69634040T2
DE69634040T2 DE69634040T DE69634040T DE69634040T2 DE 69634040 T2 DE69634040 T2 DE 69634040T2 DE 69634040 T DE69634040 T DE 69634040T DE 69634040 T DE69634040 T DE 69634040T DE 69634040 T2 DE69634040 T2 DE 69634040T2
Authority
DE
Germany
Prior art keywords
pixel
pixels
image data
original
coded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69634040T
Other languages
English (en)
Other versions
DE69634040D1 (de
Inventor
Yigal Accad
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics for Imaging Inc
Original Assignee
Electronics for Imaging Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics for Imaging Inc filed Critical Electronics for Imaging Inc
Publication of DE69634040D1 publication Critical patent/DE69634040D1/de
Application granted granted Critical
Publication of DE69634040T2 publication Critical patent/DE69634040T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/648Transmitting or storing the primary (additive or subtractive) colour signals; Compression thereof
    • 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/40Picture signal circuits
    • H04N1/407Control or modification of tonal gradation or of extreme levels, e.g. background level

Description

  • Hintergrund der vorliegenden Erfindung
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung, um unter Verwendung von Schwellwertfeldern Bit-Ratenreduktion und Rekonstruktion von Bilddaten bereitzustellen.
  • 2. Stand der Technik
  • Weil die Rechnerleistung zunimmt und Computerbenutzer anspruchsvoller werden, verbreitet sich die Verwendung von Farbbildern in Computersystemen und computerbasierten Veröffentlichungssystemen zunehmend. Die Verwendung von Farbbildern ist nicht länger auf Fachleute, die High-End-Computer verwenden, begrenzt. Statt dessen wird die Reproduktion von Farbbildern schnell ein Standardleistungsmerkmal von Personalcomputern, welche von Computerbenutzern aller Stufen verwendet werden.
  • Halbton-(continuous tone) und Rasterdruck (half tone print
  • Einige Ausgabeaufbereitungsgeräte, wie zum Beispiel einige Anzeigen und einige Laserdrucker, sind in der Lage, Halbtonfarb- oder Graustufenbilder direkt zu reproduzieren. Der Ausdruck Halbton, wie hier verwendet, umfasst sowohl digitale als auch analoge Darstellungen von Halbtonbildern.
  • Digitale Darstellungen werden einfach als digitale Bilder bezeichnet und bestehen aus Bildelementen, Pixel genannt, welche einen von mehreren verschiedenen Bildwerten bei jedem Pixel annehmen können. Monotone (schwarz-weiß, Grau-Stufe) digitale Bilder belegen eine spezielle Zahl an Bits bei jedem Pixel für die Grau-Stufe. Farbbilder sind mit mehreren Grau-Stufen-Bildern äquivalent, darin bestehend, dass man bei jedem Pixel eine spezielle Zahl an Bits für jede der das Farbbild bildenden Farbkomponente belegt. Zum Drucken werden wenigstens drei Farbkomponenten verwendet, und am meisten verbreitet die vier Farbkomponenten C, M, Y und K, welche die Mengen von zyanfarbenem, magentafarbenem, gelbem und schwarzem Farbstoff anzeigen, welche zum Reproduzieren des Bildes auf einem speziellen Ausgabedrucker erforderlich sind. Ein Beispiel ist der von Canon Inc. von Japan gefertigte CLC 500-Farblaserkopierer. Der Aufbereiter ist in diesem Fall ein Laserdruckmodul, der vier Farben, C, M, Y und K, bei acht Bits pro Farbe für insgesamt 32 Bits pro Bildelement, bei einer Auflösung von 400 Bildelementen pro 2,54 cm (1 Inch) (auch als "Dots per Inch" oder "dpi" bezeichnet) druckt. Es wurde auf dem Canon CLC und ähnlichen Druckern beobachtet, dass nicht alle 256 Tintenpegel (8 Bits) pro Kanal wahrnehmbar oder messbar unterscheidbar sind, was anzeigt, dass die Anzahl von Bits pro Bildelement reduzierende Verfahren wahrscheinlich Bilder mit ausreichend hoher Qualität produzieren können.
  • Rahmenpuffer und Druckersteuerungen
  • Oft werden digitale Bilder in Rahmenpuffern, auch als Seitenpuffer bezeichnet, gespeichert. Ein großer Speicherumfang kann erforderlich sein, um ein vollständiges Bild zu speichern. Zum Beispiel erfordert es, ein Halbtondigitalbild von typischerweise 27,94 mal 21,59 cm (11 mal 8,5 Inch) Seitengröße bei einer Auflösung von 400 Pixel pro 2,54 cm (1 Inch), mit vier Farbkomponenten pro Pixel und einem Byte (8 Bits) pro Komponente zu speichern, 59.840.000 Bytes. Es wäre daher wünschenswert, den zum Speichern für solch ein Bild erforderlichen Speicherumfang zu reduzieren, ohne einen wahrnehmbaren Umfang an Bildqualität zu verlieren. Ein notwendiger Teil von jeglichem Verfahren, die Speicheranforderung zu reduzieren, ist ein entsprechendes Verfahren, um ein Vollauflösungsbild von dem reduzierten Speicherbild zu rekonstruieren. Den zum Speichern eines Bildes erforderlichen Speicher zu reduzieren wird als Bit-Ratenreduktion bezeichnet, weil die durchschnittliche Zahl von Bits pro Pixel (die Bit-Rate) reduziert wird.
  • Eine Anwendung von Rahmenpuffern und Bit-Ratenreduktion liegt vor, wenn ein Rahmenpuffer als Zwischenspeicher vor dem Drucken auf einen Halbton-Digitaldrucker verwendet wird. Die Druckersteuerung in dem Fiery®-Druckserver, der von dem Anmelder der vorliegenden Erfindung gefertigt ist, arbeitet auf diese Weise. Die Fiery®-Druckersteuerung umfasst einen Rahmenpuffer, einen Prozessor um eine Eingabebildbeschreibungs-Datei zu empfangen und das der Eingabebildbeschreibungs-Datei entsprechende Digitalbild zu generieren und in dem Rahmenpuffer zu speichern, und ein Rasterleser (auch als Videoprozessor bezeichnet), um die Bilddaten von dem Rahmenpuffer auszulesen und die Daten zu einem Aufbereiter zu senden, typischerweise einem Laserdruckmodul, wie zum Beispiel dem Canon CLC 500, bei der Rate, die erforderlich ist, um der Geschwindigkeit des Druckmoduls zu entsprechen. Typischerweise findet die Bildgenerierung und das Füllen des Rahmenpuffers bei einer sehr viel geringeren Rate statt, als für das Auslesen erforderlich ist. Ebenso tritt typischerweise die Bilderzeugung und das Füllen des Rahmenpuffers nicht in dem von dem Druckmodul erforderten sequenziellen Rasterformat auf. Daher tritt das Auslesen erst auf, nachdem der Rahmenpuffer gefüllt ist.
  • Die Eingabebildbeschreibungs-Datei kann aus einem Programm in einer Seitenbeschreibungssprache, wie zum Beispiel PostScript® bestehen, einem Produkt von Adobe Systems Incorporated von Mountain View, Kalifornien. Erzeugen und Speichern des der Eingabebildbeschreibungs-Datei entsprechenden Digitalbildes ist als RIPpen (RIPping) bekannt. Eine Vorrichtung, die diese Funktion ausführt, wird als RIP oder RIP-Modul bezeichnet. Die Herkunft von RIP ist "Rasterbildprozessor oder Rasterbildverarbeitung" (raster image processor).
  • Eine der Hauptkosten einer Druckersteuerung, wie beispielsweise der Fiery®, ist der große Umfang an Speicher, der für einen hinreichend großen Rahmenpuffer erforderlich ist, um ein großes gerastetes Bild zu speichern. Es ist wünschenswert, Verfahren zu verwenden, die den Umfang von gefordertem Rahmenpufferspeicher reduzieren. Dies erfordert ein Verfahren, Daten von dem Reduziertspeicherformat auf die Anzahl der von dem Drucker geforderten Daten-Bits zu rekonstruieren. Auslesen kann bei einer extrem schnellen Rate erfolgen. Beispielsweise beträgt die durchschnittliche Datenrate für einen 30-Seiten-pro Minuten-Drucker mehr als 230 Mbit pro Sekunde. Signalfolgeraten können sehr viel höher sein. Daher ist es für jedes Speicherreduktionsverfahren, die in Druckersteuerungen verwendbar sein soll, notwendig, dass das entsprechende Rekonstruktionsverfahren bei einer hohen Rate mit wenig Hardware funktioniert (damit die Kosten der Hardware nicht höher werden als die Kosten des gesparten Speichers).
  • Raster-Techniken
  • Die meisten Druckvorrichtungen sind nicht in der Lage, Halbtonfarbbilder (oder Halbtongraustufenbilder) exakt zu reproduzieren, weil ihre Ausgabe binär ist, weil die Vorrichtungen in der Lage sind, entweder einen festen Betrag von Farbmittel, wie zum Beispiel Tinte, an einem speziellen Punkt abzulagern, oder gar kein Farbmittel an den Punkt abzulagern. Als Rastern werden die Verfahren zum Umwandeln von Halbtonbildern in binäre Darstellungen (auch Rasterdarstellung genannt) bezeichnet. Solche Verfahren werden gewöhnlich in Bildsetzern (Imagesetters), Tintenstrahldruckern, Laserdruckern, Kopierern, Faxgeräten, Flüssigkristallanzeigen und anderen Reproduktions- oder Anzeigevorrichtungen verwendet. Diese Verfahren umfassen Bündelrasterung (clustered screening), Nachbarrastern (neighborhood halftoning) und Schwellwertrastern (dithering).
  • Bündelrasterung ist das Überlagern eines Gitters von Punkten auf den Ausgabebildbereich, und an jedem Punkt in dem Gitter einen Rasterpunkt (dot) von vorbestimmter Form zu definieren, dessen Größe entsprechend dem Wert des Eingabebildes an dem Ort variiert. Typischerweise ist jeder Rasterpunkt des Bündelrasters aus einer Mehrzahl von Druckerbildelementen zusammengesetzt. Bündelrasterungstechniken, welche klassisch fotografisches Kontaktrastern, wie es beim Drucken vor dem elektronischen Zeitalter verwendet wurde, simuliert, sind bekannt. Solche Simulationen umfassen das Spezifizieren einer Rasterlinienfrequenz, eines Drehwinkels und einer Rasterpunktform.
  • Nachbarrastertechniken wie zum Beispiel Fehlerdiffusion beziehen typischerweise die Bestimmung eines Pixels in dem Ausgabebild unter Verwendung der Werte bei mehreren Pixeln des Eingabebildes ein. Daher erfordern Nachbarrastertechniken eine große Zahl an Berechnungen und sind gewöhnlich langsam und prozessorintensiv.
  • Schwellwertrastern bezieht das Durchführen von Punkt-für-Punkt-Vergleichen von jedem Pixel in dem Eingabebild mit dem entsprechenden Pixel in einem gleichgroßen Vergleichsfeld ein, welches typischerweise aus Wiederholungen eines kleineren Feldes, sowohl in vertikalen als auch in horizontalen Richtungen besteht. Das Verfahren ist auf diese Weise durch das kleinere Feld definiert, welches gleichbedeutend als "Ditherfeld", "Dithermatrix" und "Schwellwertfeld" bekannt ist. Die Ausdrücke "Ditherfeld", "Dithermatrix" und "Schwellwertfeld" werden in der vorliegenden Erfindung verwendet, um sich sowohl auf das kleine Kernfeld als auch auf das größere periodische Vergleichsfeld zu beziehen. Die beabsichtigte Bedeutung wird dem Fachmann aus dem Kontext klar sein. Ein Ausgabepixel ist eingeschaltet (zum Beispiel, den Wert 1 anzunehmen, um ein Aufbringen eines Farbmittels beim Drucken darzustellen), falls der wert des entsprechenden Eingabepixels größer ist als der Wert des entsprechenden Pixels des Ditherfeldes. Andererseits wird das Ausgabepixel ausgeschaltet (zum Beispiel durch Annehmen des Wertes 0, um das Aufbringen von keinem Farbstoff beim Drucken darzustellen). Dithern ist ein relativ schnelles Verfahren.
  • Anforderungen für Bitraten-Reduktion
  • Wie oben beschrieben, ist es wünschenswert, in der Lage zu sein, die Bild-Bit-Rate zu reduzieren, so dass weniger Speicher zum Speichern eines Bildes in einem Rahmenpuffer erforderlich ist. Ein Bit-Ratenreduktionsverfahren sollte für Bilder funktionieren, die natürliche fotografische Szenen, computergenerierte Grafik und Text sowie synthetische Szenen beinhalten. Bei Druckersteuerungsanwendungen sollten Bit-Ratenreduktionsverfahren die Rate des Aufbereitens (Druckens) des Farbbildes nicht wahrnehmbar verlangsamen, und sollten in der Lage sein, einen Rasterdrucker oder einen Binärdrucker aufzunehmen. Weiterhin ist es wünschenswert, dass Extrembildwerte erhalten bleiben. Jegliche Bereiche auf dem Bild, die ohne Bitraten-Reduktion zu 0% oder 100% Farbmittelwerten in dem Bild aufbereitet würden, werden weiterhin jeweils Farbmittelwerten von 0% oder 100% aufbereitet. Das heißt, es ist wünschenswert, dass extreme Bildwerte exakt rekonstruiert und gedruckt werden. Dieses Attribut wird als die Extrempunktebedingung bezeichnet.
  • Falls das Bit-Ratenreduktionsverfahren in einer Druckersteuerung, wie zum Beispiel Fiery®, benutzt werden soll, ist es wünschenswert, dass das Verfahren schnell ist. Ein Weg, schnelle Techniken sicherzustellen, ist, die Techniken bildunabhängig zu machen, insofern, dass unabhängig vom Bildinhalt diese selbe Technik verwendet wird. Zum Beispiel würde dieselbe Technik für ein Bild eines Gesichtes, ein Bild einer Bergszene, Text sowie eine Bildanzeige, die Text und verschiedene fotografische Szenen enthält, verwendet werden.
  • Zusätzlich ist es, wie bereits oben besprochen, für eine Anwendung in einer Druckersteuerung wie zum Beispiel Fiery®, notwendig für das entsprechende Rekonstruktionsverfahren, bei einer schnellen Rate unter Verwendung von lediglich einem geringen Einsatz von Hardware zu arbeiten. Ein Weg, sowohl eine schnelle Bit-Ratenreduktion als auch eine schnelle Rekonstruktion sicherzustellen, ist, die Reduktionstechniken auf solche einzuschränken, die auf einer Einzelpixelbasis, genannt Punktverarbeitungstechniken, arbeiten. Dies schließt Techniken aus, die räumliches Verarbeiten einbeziehen, wie beispielsweise die vielen bekannten Bildkompressionstechniken, die Vorteile aus räumlicher Redundanz in den Bildern ziehen. Man ist auch auf Punktverarbeitung eingeschränkt, falls die Druckersteuerung einen RIP für eine Seitenbeschreibungssprache wie zum Beispiel PostScript® enthält. Dies ist, weil viele Seitenbeschreibungsprozessoren, wie oben beschrieben, zum Beispiel PostScript®-Interpreter, Bilddaten in einem ungeordneten und unvorhersehbaren Raummuster erzeugen.
  • Außerdem ist es, falls die Druckersteuerung ein RIP für eine Seitenbeschreibungssprache, wie zum Beispiel PostScript® enthält wünschenswert, über Techniken zu verfügen, die einige der Operationen verwenden, die in der Seitenbeschreibungssprache eingebaut sind.
  • Verfahren gemäß dem Stand der Technik
  • In der folgenden Diskussion von Verfahren des Standes der Technik, werden Beispiele beschrieben, die die Verfahren auf den Fall eines 32-Bit-CMYK-Farbbildes mit 8 Bits pro Farbkomponente anwenden. Die Verfahren werden für die Anwendung auf eine der Farbkomponenten beschrieben. Dies ist identisch für den Fall eines Schwarz-Weißbildes mit 8 Bits pro Pixel. In diesen Beispielen wird für jede Farbe jedes 8-Bit-Pixel auf ein 4-Bit-Pixel reduziert. Dem Fachmann wird klar sein, wie jedes Verfahren für andere Farb- und Schwarz-Weißbilder, mit unterschiedlichen Anzahlen von Bits pro Farbe und pro Pixel angewandt werden kann, und wie jedes Verfahren zum Erzielen eines anderen Kompressionsbetrages als 2 : 1, wie im Beispiel gezeigt, angewandt werden kann.
  • Ein bekanntes Verfahren, die Bild-Bit-Rate zu reduzieren, ist eine Pixel-für-Pixel-Gleichmäßig-Quantisierung auf den Originalbilddaten auszuführen. Unter Verwendung dieses Verfahrens werden die vier höchstwertigen Bits von jedem 8-Bit-Bildkomponentenwert als komprimierte Bildwerte zum Speichern ausgewählt, zum Beispiel in dem Rahmenpuffer für die Druckersteuerungsanwendung. Mit anderen Worten, wird Code "C", wobei C in dem Bereich 0 ≤ C ≤ 15 liegt, allen Eingabewerten zugewiesen, die in dem Intervall [16*C, 16*C + 15] liegen. In der Druckersteuerungsanwendung werden die rekonstruierten Werte zu (16*C + 8) bei (beinahe) dem Mittelpunkt von jedem Codierintervall gesetzt, wenn die gespeicherten codierten Bildwerte für die Aufbereitung rekonstruiert werden. Jeder Code stellt daher 16 Eingabewerte dar. Beispielsweise ist der Code "3" dem Intervall [48, 63] zugewiesen und wird für ein Drucken als 56 rekonstruiert. Obwohl dieses bekannte Schema die Bild-Bit-Rate reduziert, hat es den Nachteil ausgeprägter Konturartefakte des rekonstruierten Bildes und erfüllt nicht die Extrempunktebedingung.
  • In einem veränderten Gleichmäßig-Quantisierungsschema sind die Bilddaten in den Intervallen [17*C – 8, 17*C + 8] quantisiert, wobei C in dem Bereich 1 ≤ C ≤ 14 liegt, quantisiert. Codes "0" und "15" sind für die Endintervalle [0, 8] und [247, 255] reserviert. Dieses Verfahren verwendende Rekonstruktionsbildwerte werden als 17*C, für 0 ≤ C ≤ 15, berechnet. Obwohl die Extrempunktebedingung durch dieses modifizierte Schema erfüllt ist, werden Konturartefakte in dem Ausgabebild geringfügig verstärkt.
  • Ein anderes bekanntes Schema, Wahrnehmungs-Gleichmäßig-Quantisierung (perceptually uniform quantization), versucht Konturartefakte für eine gegebene Zahl an optimierten Rekonstruktionsniveaus (16 im Beispiel) zu minimieren, während weiterhin die Extrempunktebedingung aufrecht erhalten wird. Diese Technik berücksichtigt, dass das menschliche Auge gegenüber Fehlern, die in den hellen Gebieten eines Bildes auftreten, empfindlicher ist als gegenüber Fehlern, die in den dunklen Bereichen eines Bildes auftreten. Daher sind Fehler, die während der Bit-Ratenreduktion und dem Rekonstruktionsprozess erzeugt werden, sogar dann nicht wahrnehmungsausgeglichen, wenn sie gleichmäßig über die Intensitätswerte des Bildes verteilt sind. Ein Weg, diese Empfindlichkeit des menschlichen Auges zu kompensieren, ist, das Bild vor der Bit-Ratenreduktion und nach der Bildrekonstruktion zu transformieren. Die Transformation ist eine Pixel-für-Pixel-nicht-lineare Abbildung und ist so entworfen, dass ein kleiner absoluter Fehler in der Intensität des Bildes annähernd gleich für jedes Intensitätslevel wahrgenommen wird.
  • Jedoch sind Wahrnehmungs-Gleichmäßig-Quantisierungsschemata für die Druckersteuerungsanwendung hochgradig abhängig von der Aufbereitungsvorrichtung. Beispielsweise können bei manchen tintenbasierten Druckern größere Intervalle bei hohen Tintenniveaus toleriert werden, aber feinere Intervalle sind für geringe Tintenniveaus erforderlich.
  • Weiterhin sind Rekonstruktionswerte nicht notwendig bei den Mittelpunkten der Intervalle. Die Anzahl der Rekonstruktionsniveaus und zugeordneter Intervalle können entweder identisch für die vier Tinten sein oder können tintenspezifisch sein. Wenn nx die Anzahl der Niveaus für die Tinte X ist, wobei X für C, M, Y oder K steht, dann ist es in dem Beispiel – der Fall, dass die Gesamtzahl an Bits pro Pixel von 32 auf 16 reduziert wird – erforderlich, dass nc*nm*ny*nk ≤ 65536 (= 216) ist. Konturartefakte sind bei Verwendung dieser Methode immer noch wahrnehmbar obwohl diese Artefakte gleichmäßig verteilt sind.
  • Es ist möglich, dieselben Prinzipien wie für Wahrnehmungs-Gleichmäßig-Quantisierung für jedes Codierungs- und Decodierungsschema anzuwenden, indem die Bilddaten zuerst nicht-linear transformiert werden und später die inverse Transformation auf jedes rekonstruierte Pixel angewandt wird. Dem Fachmann wird klar sein, dass jede der hierin diskutierten Techniken auf diese Weise verändert werden kann. Die Anwendung der nicht-linearen Transformation ist bekannt als Gammakorrektur.
  • Ein anderes bekanntes Verfahren für Bild-Bit-Ratenreduktion verwendet pseudozufälliges Rauschen. Diese Technik verwendet die Beobachtung, dass in Bildern Zufallsrauschen akzeptabler ist als Quantisierungsstufen (konturerzeugend) in dem Ausgabebild. Entsprechend dem Pseudozufallsrauschen-Verfahren wird für jede Farbe (8 Bits in dem Beispiel) eine "Zufalls"-größe, welche beispielsweise von einem Pseudozufallszahlengenerator gesteuert wird, zu dem Eingabebild addiert, bevor Gleichmäßig-Quantisierung angewandt wird. Für die Rekonstruktion wird beispielsweise dieselbe "Zufalls"-größe, welche von einem Pseudozufallszahlengenerator gesteuert wird, der mit dem Pseudozufallszahlengenerator der Codierseite synchronisiert ist, von der de-gleichmäßig-quantisierten (de-uniformquantized) Größe abgezogen, um einen rekonstruierten Bildwert in der gleichen Pixelordnung zu generieren, in welcher die Größe addiert war. Ein Beispiel von Bit-Ratenreduktion und Rekonstruktion unter Verwendung von Pseudozufallsrauschen ist von L. G. Roberts in einer Schrift "Picture Coding Using Pseudo-random Noise", IRE Transactions on Information Theory, IT-8, Nr. 2, pp. 145–154, Februar 1962, offengelegt. Bilder, die unter Verwendung dieses Schemas codiert sind, enthalten kleine Rauschartefakte und geringen Verlust von Details in hellen Farbbereichen (zum Beispiel Fleischtöne), ebenso wie verschwommene Konturen in glatt wechselnden Rampen.
  • Die Anwendung des Pseudozufallsrauschverfahrens auf die Druckersteuerungsanwendung führt zu Schwierigkeiten. Bei einigen RIPs, wie zum Beispiel dem PostScript®-Interpreter, sind die Bilddaten, die bit-ratenreduziert werden sollen, entsprechend einer beliebigen Pixelordnung generiert, welche durch die Ordnung, mit der Elemente in der Bildbeschreibungsdatei definiert sind, sowie durch den Interpreter vorgegeben ist. Bilddecodierung erfordert üblicherweise, von dem Rasterleser in einer Abtastzeilenordnung ausgeführt zu werden, was die Synchronisierung der beiden Pseudozufallsgeneratoren schwierig macht. Es ist möglich, die Ausgabe des Pseudozufallszahlengenerators vorzuspeichern, aber dann müssten soviel Daten gespeichert werden, wie für das gesamte Bild gebraucht würden, und würde daher keinen Speicher sparen. Alternativ kann das herkömmliche Decodieren verwendet werden, als wenn Gleichmäßig-Quantisierung verwendet wurde. In diesem Fall erscheint das rekonstruierte Bild als mit einem zu starken Rauschen behaftet.
  • Jedes Rasterverfahren kann als der Codierteil eines Bit-Ratenreduktionsverfahrens auf ein Bit pro Pixel pro Farbe angesehen werden. Jedoch ist eine Rekonstruktion von Ein-Bit-Daten schwierig. Codieren/Decodieren auf Ein-Bit-Daten erfordert üblicherweise räumliche Verarbeitung und ist daher nicht einfach auf die Druckersteuerungsanwendung anwendbar.
  • Jede Rastertechnik kann mit einem Gleichmäßig-Quantisierungsschema (oder Wahrnehmungs-Gleichmäßig-Quantisierungschema) kombiniert werden. In solch einem kombinierten Schema ist der Bildamplitudenbereich zuerst in eine kleine Zahl von Amplitudenintervallen unterteilt (entsprechend der Anwendung eines Quantisierungsschemas), dann wird Rastern auf jeden Amplitudenbereich angewandt, um den Bereich auf lediglich ein Bit zu reduzieren. Das Endergebnis ist Bit-Ratenreduktion auf die Anzahl von erforderlichen Bits, um die Anzahl von Intervallen zu definieren. Die Quantisierungs- und Rasterschritte können in ein zusammengesetztes Verfahren kombiniert werden. Wenn Ditherfelder verwendet werden, ist dieses bekannte Verfahren in der von Adobe Systems Incorporated definierten PostScript® Level-2-Sprache aufgenommen, wobei der Ausdruck Schwellwertfeld für Ditherfeld verwendet wird. PostScript® ermöglicht auch, dass dies mit einer nicht-linearen Transformation kombiniert wird, wie zum Beispiel für eine Wahrnehmungs-Gleichmäßig-Quantisierung (gammakorrigierte Gleichmäßig-Quantisierung) oder anderen Anwendungen, wobei der Ausdruck Übertragungsfunktion für die nicht-lineare Transformation verwendet wird.
  • In der vorliegenden Erfindung wird das kombinierte Raster-/Gleichmäßig-Quantisierungs-Bit-Ratenreduktionsverfahren als das Ditherfeldverfahren bezeichnet, wobei der Kontext klar macht, ob nur eine Rastertechnik oder die kombinierte Raster-/Gleichmäßig-Quantisierungs-Bit-Ratenreduktionstechnik gemeint ist. Anwendung der Ditherfeldtechnik auf eine Druckersteuerung für einen Halbtonaufbereiter und Anwenden der bekannten "geordneten Ditherfelder", wie von B. E. Bayer in "An optimum method for two-level rendition of continuous-tone pictures", Proceedings of the IEEE 1973 International Communications Conference (ICC '73), pp. 26.11–26.15, 1973, definiert, und Verwendung einer Direktrekonstruktion resultiert in beträchtlicher Reduktion von Kontureffekten, hauptsächlich in glatt variierenden Bereichen. Jedoch sind Musterartefakte (aufgrund des geordneten Dither) in bestimmten Gleichmäßig-Tintengraden wahrnehmbar.
  • Andere Techniken zur Erzeugung von Ditherfeldern sind bekannt. Siehe zum Beispiel das Buch von Robert Ulichney, Digital Halftoning, The MIT Press, Cambridge, 1987, die Veröffentlichung von Robert Ulichney "The void-and-cluster method for dither array generation", Proceedings of the SPIE, Vol. 1913, pp. 332–343, 1993 und die hierin offenbarten Referenzen. All diese Verfahren sind auf Bit-Ratenreduktion unter Verwendung von Ditherfeldern anwendbar.
  • Es ist daher wünschenswert, bildunabhängige Bit-Ratenreduktion und -Rekonstruktion von Halbtonfarb- oder Schwarz-Weißbildern zu haben. Insbesondere ist es wünschenswert, die Bild-Bit-Rate zu dem Rahmenpuffer um wenigstens einen Faktor von zwei zu reduzieren, um, in dem Beispiel von 32 Bits pro Pixel, Bilddaten 16 Bits pro Pixel, entsprechend 4 Bits pro Pixel pro Komponente zu generieren. Weiterhin ist es auch wünschenswert, Bit-Ratenreduktion auf einer Einzelpixelbasis durchzuführen, unter Auslassen von räumlicher Kompression. Es ist auch wünschenswert, verbesserte Rekonstruktionsverfahren zu haben, die auf dem reduzierten Bit-Ratenbild arbeiten, unter Beibehaltung der vollen Intensitätsauflösung des Originalbildes, während die zum Erzeugen von Bilddaten für die Aufbereitung erforderliche Zeit signifikant reduziert wird, und die auf eine Druckersteuerung anwendbar sind. Es ist auch wünschenswert verbesserte Bit-Ratenreduktionstechniken unter Verwendung von Ditherfeldern zu haben. Es ist auch wünschenswert verbesserte Bit-Ratenreduktionstechniken unter Verwendung von Ditherarrays zu haben, die in einem RIP für eine Seitenbeschreibungssprache, wie zum Beispiel PostScript®, implementiert werden können, unter Verwendung der in dem Spracheninterpreter eingebauten Funktionalität. Es ist auch wünschenswert verbesserte Rekonstruktionsmethoden zu haben, um diese in Bit-Ratenreduktionsverfahren aufzunehmen, die Ditherfelder verwenden oder die Pseudozufallsrauschen-Quantisierung verwenden.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt eine Vorrichtung und ein Verfahren für die Bereitstellung von Bit-Ratenreduktion und Rekonstruktion von Bilddaten bereit. In einer bevorzugten Ausführungsform wird Bit-Ratenreduktion (Codierung) von 32-Bit-CMYK-Kombinationen in entweder 16-Bit-Codeworte (oder 8-Bit-Codeworte) auf einer Pixel-für-Pixel-Basis durch schrittweise Berechnungen oder in einer alternativen Ausführungsform unter Verwendung von Nachschlagetabellen (LUTs) durchgeführt. Bit-Ratenreduktion findet während einer PostScript®-Interpretation statt, wo die Ausgabebildpixel in einer möglicherweise beliebigen Ordnung erzeugt werden. Bit-Expansion (Decodierung) von den 16-Bit-(oder 8-Bit)-Codeworten in 32-Bit-Daten für 8 Bits pro Komponente der CMYK-Bildwerte wird während Echtzeitdrucken vorzugsweise durch direktes Nachschlagen in einer Tabelle durchgeführt.
  • Während Bit-Ratenreduktion können die Bilddaten nicht-linear korrigiert werden, um Wahrnehmungsungleichmäßigkeiten sowie Nichtlinearitäten in der Eingabe-/Ausgabebeziehung des Reproduktionsgerätes zu kompensieren. Quantisierung und Codierung werden vorzugsweise durch Schwellwertoperationen auf den nicht-linearen korrigierten Bilddaten mittels Werten von einem Ditherfeld durchgeführt. Das codierte Bild wird in dem Rahmenpuffer gespeichert und anschließend, vor dem Drucken, abgerufen, de-dithert, de-quantisiert und für die Wahrnehmungsnichtlinearität invers transformiert.
  • In einer alternativen Ausführungsform wird adaptives räumliches Filtern zum Decodieren der Bilddaten angewandt. Dieses Verfahren ist mit der geordneten Dithercodierungstechnik oder in einer weiteren alternativen Ausführungsform mit Pseudozufallsrauschen-Quantisierung kombiniert.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Illustration, die das Bildfeld einer erfindungsgemäßen Ausführungsform zeigt.
  • 2 ist eine Illustration, die eine mögliche nicht-lineare Eingabe-/Ausgabebeziehung und die entsprechende Inverse für die Gammakorrektur zeigt.
  • 3 ist eine Illustration, die das Konzept von Quantisierung und Normalisierung zeigt.
  • 4 ist ein Blockdiagramm, das ein Computersystem zur Implementation der vorliegenden Erfindung zeigt.
  • 5 ist eine Illustration, die das Schwellwertfeld in einer erfindungsgemäßen Ausführungsform zeigt.
  • 6 ist eine Illustration, die die Rekonstruktionsnachschlagetabelle für eine erfindungsgemäße Ausführungsform zeigt.
  • 7 ist ein Flussdiagramm, das das Verfahren einer erfindungsgemäßen Ausführungsform zeigt.
  • Detaillierte Beschreibung der Erfindung
  • Ein Verfahren und eine Vorrichtung zum Bereitstellen von Bit-Ratenreduktion und Rekonstruktion von Bilddaten unter Verwendung eines Ditherfeldes wird beschrieben. In der folgenden Beschreibung werden mehrere spezifische Details detailliert dargestellt, um ein besseres Verständnis der vorliegenden Erfindung bereit zu stellen. Dem Fachmann jedoch wird offensichtlich sein, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeübt werden kann. In anderen Beispielen wurden bekannte Leistungsmerkmale nicht im Detail beschrieben, damit die vorliegende Erfindung nicht verschleiert wird.
  • Übersicht
  • Unter Verwendung der vorliegenden Erfindung ist für den monochromen Fall ein N-Bit-Bild (zum Beispiel 8 Bit) für eine Reproduktion ausgewählt und in dem Farbfall ein N-Bit pro Komponente, zum Beispiel ein CMYK-4-Komponenten-Farbbild mit 8 Bits für jedes von C, M, Y und K für insgesamt 32 Bits pro Pixel ausgewählt. Das Bild wird umgewandelt, um es mit Bezug auf die Vorrichtung, auf welcher das Bild aufbereitet werden soll, angenähert wahrnehmungsgleichmäßig herzustellen, zum Beispiel durch Anwendung einer nicht-linearen Transformation auf die Bilddaten. Angenähert wahrnehmungsgleichmäßig in diesem Zusammenhang ist die Eigenschaft, dass eine kleine absolute Differenz in der Intensität des Bildes als angenähert dieselbe für jedes Intensitätsniveau wahrgenommen wird. Die umgewandelten Bilddaten werden dann pixelweise unter Verwendung eines Ditherfeldes Schwellwertoperationen unterzogen, so dass die Bilddaten auf eine geringere Zahl an Bits pro Pixel pro Komponente reduziert werden, zum Beispiel auf 4 oder 2 Bits pro Pixel pro Komponente. Die reduzierte Information wird in einem Rahmenpuffer gespeichert. In einer Ausführungsform werden die Umwandlung und die Schwellwertoperationen der Bilddaten in einer Druckersteuerung durch den Prozessor einer Seitenbeschreibungssprache, wie zum Beispiel einem PostScript®-Interpretierer durchgeführt.
  • In einer Ausführungsform wird der Inhalt des Rahmenpuffers Zeile für Zeile von einem Rasterleser abgetastet, sobald die reduzierten Bilddaten für das gesamte Bild, beispielsweise eine ganze Seite, in dem Rahmenpuffer gespeichert ist. Weil jedes Pixel ausgelesen wird, wird eine Nachschlagetabelle verwendet um die Bildinformation zu de-dithern, zu de-quantisieren und invers zu transformieren, um N' Bits pro Pixel pro Komponente von rekonstruierten Bilddaten zu produzieren, wobei N' die Anzahl von Bits ist, die von der Aufbereitungsvorrichtung zum Aufbereiten der Daten gefordert ist (zum Beispiel für den Canon CLC 500 gilt N' = N = 8 Bits pro Pixel pro Komponente für ein zu druckendes 32 Bit rekonstruiertes Bild).
  • Computer-System
  • Die vorliegende Erfindung kann auf jedem herkömmlichen oder Mehrzweckcomputersystem oder computerbasiertem Veröffentlichungssystem implementiert werden. Ein Beispiel einer Ausführungsform eines Computersystems, um diese Erfindung zu implementieren, ist in 4 illustriert. Die zentralen Komponenten sind Hauptspeicher 415, Zentralprozessor (CPU) 413 und Steuerungschipsatz 405. Die CPU 413 ist mit dem Steuerungschipsatz 405 über einen bidirektionalen Adress-/Datenbus 402 gekoppelt. Der Steuerungschipsatz 405 sendet Steuer- und Adressinformation an den Hauptspeicher 415 über Adress- und Steuerleitungen 407. Ein bidirektionaler Datenbus 409 wird verwendet, um Daten zwischen dem Hauptspeicher 415 und dem Steuerungschipsatz 405 zu übertragen. Der Steuerungschipsatz 405 funktioniert als das Steuerzentrum für das Computersystem und umfasst eine DMA-Steuerung 406 für direkten Speicherzugriff auf den Hauptspeicher 415 durch den bidirektionalen Datenbus 409. Jede Eingabe- oder Ausgabevorrichtung ist mit dem Steuerungschipsatz 405 über einen bidirektionalen I/O-Bus 418 gekoppelt. Eine optionale Tastatur 410, optionale Maus 411, und eine optionale Videosteuerung 414 sind als an den bidirektionalen I/O-Bus 418 gekoppelt dargestellt. Tastatur 410 und Maus 411 sind ebenfalls als an den bidirektionalen I/O-Bus 418 gekoppelt dargestellt und werden verwendet, um Benutzerkommandos an das Computersystem zu kommunizieren. Die optionale Videosteuerung ist mit einem begleitenden, und damit ebenso optionalen Kathodenstrahlröhren-(CRT)-Rastermonitor 417 verbunden. In der bevorzugten Ausführungsform als eine Druckersteuerung ist die Videosteuerung-414/CRT 417-Kombination zur Anzeige von, unter anderem, Druckzeitplan und Statusdaten, wie auch den zu druckenden Bilddaten verwendet. Monitor 417 ist ein Typ von Monitor, der für die Anzeige von Grafikbildern geeignet ist. Ein Massenspeicher 412 ist mit dem bidirektionalen I/O-Bus 418 verbunden und kann sowohl feste als auch entfernbare Medien umfassen, wie zum Beispiel magnetische, optische oder magnetooptische Speichersysteme oder jegliches andere verfügbare Massenspeicherverfahren. Der Massenspeicher kann auf einem Netzwerk geteilt sein oder es kann ein zugeordneter Massenspeicher sein.
  • In einer erfindungsgemäßen Ausführungsform ist die CPU 413 ein 32-Bit- oder 64-Bit-Mikroprozessor. Jedoch kann jeder andere passende Mikroprozessor oder Mikrocomputer verwendet werden. Der Hauptspeicher 415 umfasst einen dynamischen Schreib-Lese-Speicher (DRAM) und umfasst in der bevorzugten Ausführungsform dieser Erfindung als Druckersteuerung den Speicher für einen Rahmenpuffer. Wenigstens 32 Mbytes Speicher werden in der bevorzugten Ausführungsform verwendet. Mehr oder weniger Speicher kann verwendet werden, ohne von dem Bereich der Erfindung abzuweichen.
  • In einer bevorzugten erfindungsgemäßen Ausführungsform als eine Druckersteuerung ist der Steuerungschipsatz 405 gegenüber einem Standardsteuerungschipsatz modifiziert, so dass er, zusätzlich zu dem I/O-Bus 418 einen Rasterausgabebus 408 umfasst. In der bevorzugten Ausführungsform ist der Rasterbildprozessor der Druckersteuerung die CPU 413, auf der ein Interpretiererprogramm für eine Seitenbeschreibungssprache wie zum Beispiel PostScript®, veröffentlicht von Adobe Systems Incorporated, abläuft, und ein Seiten- oder Rahmenpuffer 422 ist Teil von dem Hauptspeicher 415. Andere Interpretiererprogramme, wie zum Beispiel die für die von Hewlett-Packard, Inc., Palo Alto, Kalifornien, definierte PCL5-Druckersteuerungssprache, kann ebenso verwendet werden. Der Hauptspeicher 415 umfasst 32 Mbytes Speicher, was ausreichend ist, eine vollständige Seite von lettersize (27,94 mal 21,59 cm (11 mal 8,5 Inch)) von 4-Farb-32-Bits-pro-Pixel-Bildinformation in dem Rahmenpuffer 422 unter Verwendung einer 2 : 1-Bit-Ratenreduktion zu speichern. Mehr oder weniger Speicher kann verwendet werden. Sobald die CPU 413 ein Kommando ausgibt, dass sie für das Rasterlesen bereit ist, wobei sie beispielsweise anzeigt, dass der RIP das Laden einer Seite in den Rahmenpuffer 422 abgeschlossen hat und, dass ein mit dem Rasterausgabebus 408 verbundener Aufbereiter bereit ist, Daten zu empfangen, wird der Speicher, unter Verwendung von DMA, zu dem Rasterausgabebus 408 in dem geforderten sequenziellen Rasterformat ausgelesen. Zu derselben Zeit ist der Prozessor CPU 413 frei, das nächste Bild zu verarbeiten (RIP), weil DMA eingesetzt wird. Es ist Stand der Technik, wie solch eine DMA-Vorrichtung zu programmieren ist, um solch eine Datenübertragung zu erzielen. In einer alternativen Ausführungsform wird keine DMA-Steuerung verwendet. Statt dessen wird die CPU 413 verwendet, um Daten über den Steuerungschipsatz 405 in dem geforderten sequenziellen Rasterformat von dem Speicher zu lesen. In dieser alternativen Ausführungsform ist die CPU 413 so programmiert, dass sie erkennt, ob Daten, die sie liest, von dem Teil des Hauptspeichers 415 sind, welche sich in dem Rahmenpuffer 422 befinden. Falls die CPU Daten von dem Rahmenpuffer 422 liest, werden sie an den Rasterausgabebus 408 gesandt. Es ist Stand der Technik, wie die CPU 413 programmiert werden muss, um solche Datenübertragung zu erzielen.
  • Der Rasterausgabebus 408 kann dann mit einer Aufbereitungsvorrichtung 426 verbunden werden. Die Aufbereitungsvorrichtung 426 kann ein Drucker, Kopierer, Faxgerät oder eine andere Vorrichtung sein, die in der Lage ist Bilder zu reproduzieren.
  • Das oben beschriebene Computersystem dient lediglich als Beispiel. Die vorliegende Erfindung kann in jeder Computersystemverarbeitungsumgebung oder auf jeder Hardware oder Kombination von Hardware, Software und Computersystem implementiert werden.
  • Bilddaten
  • Die Erfindung wird im Detail für lediglich eine Farbkomponente beschrieben. Dem Fachmann ist klar, dass Farbbilder aus wenigstens drei Farbkomponenten bestehen, so dass die Erfindung auf jede Farbkomponente angewandt werden kann. Dem Fachmann ist auch klar, dass die Erfindung auf jede Farbkomponente unterschiedlich angewandt werden kann, um unterschiedliche Beträge an Bit-Ratenreduktion für jede Komponente zu erreichen und das Verwenden verschiedener nicht-linearer Transformationen. Dem Fachmann ist ebenso klar, dass monochrome Bilder aus einer Farbkomponente bestehen.
  • Ein Beispiel von in einem Feld gespeicherten originalen Bilddaten ist in 1 gezeigt. Das Bildfeld 101 umfasst m-Reihen 102 und n-Spalten 103 von Pixeln 104. Jedes der m*n-Pixel 104 kann eindeutig durch seine Reihen- und Spaltenzahl referenziert werden: I(i, j), wobei i, mit 0 ≤ i ≤ (m – 1), die Reihennummer des Pixels darstellt, und j, mit 0 ≤ j ≤ (n – 1), die Spaltenzahl des Pixels darstellt.
  • Das originale Bild wird mit I bezeichnet und die Bilddaten mit I(i, j) für jedes Pixel, das jede Zahl von vorbestimmten Bildniveaus darstellen kann, wobei 0 ≤ i ≤ (m – 1) und 0 ≤ j ≤ (n – 1) gilt. In einem Binärwertbild würde I(i, j) einen von nur zwei Werten annehmen; I(i, j) würde gleich null oder eins sein, was darstellt, dass das Pixel entweder aus (off) oder an (on) ist. Im Allgemeinen kann in einem originalen N-Bit-Bild jedes Pixel eines von 2N verschiedenen Intensitätsniveaus darstellen, indem es einen Wert von I(i, j) annimmt, mit 0 ≤ I(i, j) ≤ (2N – 1). Beispielsweise kann, wenn die originalen Bilddaten 8-Bit-Graustufenbilddaten sind, jedes Pixel I(i, j) gleich einem der 256 diskreten Niveaus zwischen 0 und 255 gesetzt sein. In einem 32-Bit, Vier-Komponenten-CMYK-Farbbild, umfasst jedes Pixel I(i, j) 8-Bit-Daten (eines von 256 Niveaus von Farbmittel) für jede der vier Komponenten C, M, Y und K.
  • In der folgenden Beschreibung werden viele Werte als in den Bereich von 0 und 1 normiert gezeigt. Es ist einzusehen, dass solch eine Normalisierung nur der Einfachheit der Beschreibung dient, um alle Beschreibungen der Operation klarzustellen, durch Auslassen von Details, die keinen Bezug zum Verständnis der Operationen selber haben. Beispielsweise kann eine Größe, die als normalisiert zwischen 0 und 1 angezeigt ist, in der Praxis Werte zwischen 0 und 255 annehmen. Wie Beschreibungen von Verfahren verändert werden müssen, um nicht normalisierte Werte zu verwenden, wird vom Fachmann verstanden. Weiterhin ist der codierende Teil in einer bevorzugten erfindungsgemäßen Ausführungsform durch Bereitstellen von geeigneten Parametern und Instruktionen an einen PostScript®-Interpretierer implementiert, so dass, wie verstanden wird, die speziellen Details, wie der PostScript-Interpretierer die unten beschriebenen Operationen ausführt, differieren können. Es ist einzusehen, dass dies auf keinen Fall als Einschränkung des Bereiches der vorliegenden Erfindung anzusehen ist.
  • Gammakorrektur
  • Wie oben beschrieben, ist in bestimmten Ausgabevorrichtungen wie zum Beispiel Monitoren und Druckern, die Beziehung zwischen dem Eingabesignal und der resultierenden Ausgabe wahrnehmungsungleichmäßig. Beispielsweise ist in vielen CRT-Vorrichtungen die Beziehung zwischen der Eingabespannung und der Ausgabeschirmintensität nicht-linear: Darin bestehend, dass eine Änderung der Eingabespannung von beispielsweise 10% sich die Ausgabeintensität nicht entsprechend um 10% ändert. Entsprechend ändert bei Halbtondruckern die Änderung des Wertes eines Eingabepixels um 10% nicht entsprechend die Ausgabedruckdichte (oder Reflektanz) um 10%.
  • Die Kompensation von Wahrnehmungsungleichmäßigkeit zwischen Eingabe- und Ausgabeniveaus kann durch Verwendung einer nicht-linearen Transformation erreicht werden, welche hier Gammakorrektur genannt wird. Dem Fachmann wird bekannt sein, dass der Ausdruck Gammakorrektur aus der Fotografie kommt, wo in dem sogenannten linearen Bereich (in einer logarithmischen Skala) die Beziehung zwischen Filmdichte und Belichtung einem Potenzgesetz (in einer linearen Skala) genügt, und, dass in einer mathematischen Notation der Potenz gewöhnlich das griechische Symbol Gamma gegeben wird. Jedoch ist in der Beschreibung der vorliegenden Erfindung der Ausdruck Gammakorrektur für jede auf Eingabedaten angewandte nicht-lineare Transformation verwendet. Die Prinzipien solcher Gammakorrektur zur Kompensation von Wahrnehmungsungleichmäßigkeiten sind in dem Gebiet der Farbreproduktion gut bekannt. 2 illustriert eine mögliche nicht-lineare Beziehung zwischen nicht korrigierten Eingabe- und wahrgenommenen Ausgabesignalen. Die horizontale Achse 201 stellt das Eingabesignal dar, das hier als einen der diskreten Quantisierungswerte annehmend dargestellt ist, welcher, unter der Annahme einer Normalisierung, zwischen 0 und 1 liegt. Für ein 8-Bit-Bild nimmt das Eingabesignal der Achse 201 einen von 256 diskreten Werten gleichen Abstandes ein. Die vertikale Achse 202 stellt die Intensität der resultierenden Ausgabe, wie sie visuell wahrgenommen wird, dar. Die Eingabe-Ausgabebeziehung, gezeigt von der Kurve 203, kann durch y = xγ approximiert werden, wobei für gewöhnlich gilt 0,5 ≤ γ ≤ 4. Eine Korrektur dieser nicht-linearen Beziehung kann durch Anwendung einer nicht-linearen Transformation auf die Eingabebilddaten vor der Durchführung einer Bit-Ratenreduktion auf den Bilddaten erreicht werden. In dem Kontext der PostScript®-Seitenbeschreibungssprache kann solch eine Gammakorrekturtransformation als eine PostScript-Übertragungsfunktion implementiert werden. Eine mögliche Gammakorrektur ist durch die Kurve 204 gezeigt und ist durch y = x(1/γ) dargestellt.
  • In einer erfindungsgemäßen Ausführungsform, wo die Ausgabevorrichtung ein Halbton-CMYK-farbtintenbasierter Drucker ist, wird ein neues Gammakorrekturverfahren vorgestellt, welches das Obige verallgemeinert. Dieses Verfahren verwendet zwei Werte für Gamma anstelle von einem. Die vorcodierende Inverse der nicht-linearen Transformation ist, wobei x und x' die normalisierten Werte von I(i, j) und I'(i, j) bezeichnen: x – {x'}(1–x')γ0+x'γ1wobei vorzugsweise γ0 = 0,65 und γ1 = 0,25 gilt. Alternativ können andere Gammakorrekturen verwendet werden, beinhaltend mehrere Gammas oder überhaupt keine Korrektur, ohne von dem Bereich der Erfindung abzuweichen.
  • Codierintervalle
  • Sobald die originalen Bilddaten gammakorrigiert sind, werden sie gleichmäßig-quantisiert und dann unter Verwendung eines Ditherfeldes Ditheroperationen unterzogen (Schwellwertfeld in dem Kontext von PostScript®), um die Anzahl von Bits in den Bilddaten vor dem Speichern in dem Rahmenpuffer zu reduzieren. Gleichmäßig-Quantisierung ist das gleiche wie den Bereich von den Amplituden gammakorrigierten Bilddaten in D – 1 separate Codierintervalle zu unterteilen, wobei D ≥ 2 gilt. Für jedes gammakorrigierte Pixel wird bestimmt, in welchem Intervall sich das Pixel befindet sowie der Offset innerhalb des Intervalls. Auf den Offset wird eine Schwellwertoperation angewandt und in Abhängigkeit von dem Ergebnis der Schwellwertoperation wird dem Pixel ein Code zugeordnet, der dem oberen oder unteren Übergangsniveau für das Intervall entspricht. Auf diese Weise sind die Codierintervalle "indiziert"; das heißt, jedem ist ein eindeutiges Kennzeichen zugeordnet, welches Index genannt wird. In Abhängigkeit von den Ergebnissen der Intervallbestimmung und der Schwellwertoperation, wird dem Pixel ein Code zugeordnet, der dem Index entspricht, in welchem sich das Pixel befindet, oder der nächsthöhere Code. In der bevorzugten Ausführungsform sind die Intervalle mit 0, 1, ..., D – 2 indiziert, wobei D ≥ 2 ist, und damit ist der letzte Code für ein Pixel eine Zahl zwischen und D – 1. Auf diese Weise ist jedes Pixel in log2D-Bits codiert, wobei angenommen ist, dass D eine Potenz von zwei ist. Falls D nicht eine Potenz von zwei ist, werden die Daten gemäß log2D' codiert, wobei D' die kleinste Potenz von zwei ist, so dass D < D' ist. 3 illustriert eine mögliche Zuordnung von Codierintervallen. Für die Zwecke der Illustration sei angenommen, dass die Codierung zu 2 Bits pro Pixel ist, was einer vierfachen Reduktion an Speicherbedarf für 8 Bit Bilddaten entspricht. Weil 1og2D = 2, gilt D = 4. Der Amplitudenbereich für die Bilddaten ist in D = 4 Abstandsübergangsniveaus gleichen Abstandes 301, 302, 303 und 304 separiert. Dies entspricht drei Intervallen, die jeweils als 0, 1 und 2 indiziert sind. Die Indexwerte 0, 1 und 2 entsprechen jeweils Codierniveaus 0, 1 und 2. Im Allgemeinen ist für ein N-Bit-Bild die Größe des Intervalls zwischen zwei aufeinanderfolgender Übergangsniveaus (2N – 1)/(D – 1)-Niveaus des Originalbilddatenamplitudenbereiches. Indizieren der Übergangsniveaus durch eine ganze Zahl d, wobei 0 ≤ d ≤ D – 2 und Bezeichnen der Übergangsniveaus als t(0), t(1), ..., t(D – 1) ergibt t(d) = (2N – 1)*d/(D – 1), mit d = 0, 1, ..., D – 1. In dem in 3 gezeigten Beispiel gilt für Bilddaten in dem Bereich von 0 bis 255: Übergangsniveau 301 stellt das Level t(0) = ((28 – 1)*0)/(4 – 1) = 0 dar, Übergangslevel 302 stellt das Level t(1) = 255*1/3 = 85 dar, Übergangsniveau 303 stellt Level t(2) = 255*2/3 = 170 dar und Übergangsniveau 304 stellt Level t(3) = 255*3/3 = 255 dar.
  • Die gammakorrigierten Bilddatenpixel werden mit I'(i, j) bezeichnet, wobei 0 ≤ i ≤ m – 1 und 0 ≤ j ≤ n – 1. Wenn es keine Gammakorrektur gibt, gilt I'(i, j) = I(i, j). Sobald die Codierintervalle bestimmt sind, wird jedes Pixel I'(i, j) der gammakorrigierten Bilddaten auf einer Pixel-für-Pixel-Basis gelesen und sein angemessenes Codierintervall [t(d), t(d + 1)], bezeichnet durch den Index d, bestimmt, so dass t(d) ≤ I'(i, j) ≤ t(d + 1) für einen Index d, wobei 0 ≤ d ≤ D – 2 gilt. Zum Beispiel, falls das 8-Bit-Niveau der Bilddaten I'(i, j) = 110 ist, wie in 3 gezeigt, wäre das entsprechende Codierintervall bei D = 4 das Codierintervall [t(1), t(2)]. Der Index d (und damit das untere Übergangsniveau) des entsprechenden Codierintervalls kann unter Verwendung von Division und Abschneiden ermittelt werden, weil d = int{I'(i, j)/[(2N – 1)/(D – 1)]}, wobei int{} die Abschneideoperation ist, welche den ganzzahligen Teil des Operanden liefert. In dem Beispiel ist d = int{110/(255/3)} = int(1,2941) = 1. Daher ist das angemessene Codierintervall für das gammakorrigierte Bildpixel I'(i, j) = 110 zwischen dem Codierlevel t(1) und Codierlevel t(2) und ist durch den Index 1 identifiziert.
  • Normalisierung
  • Zusätzlich zum Bestimmen des entsprechenden Codierintervalls [t(d), t(d + 1)], welches für jedes I'(i, j) durch den Index d identifiziert ist, wird auch der normalisierte Offset für das Pixel in dem Codierintervall von Index d für die korrigierte Bildamplitude I'(i, j) bestimmt. Das Symbol I''(i, j) wird verwendet, um den normalisierten Offset für Bilddaten I'(i, j) in dem Codierintervall von Index d zu bezeichnen, so dass für ein Pixel im Intervallindex d, unter Berücksichtigung, dass I'(i, j) normalisiert ist, I'(i, j) = [d + I''(i, j)]/(D – 1) gilt. Umwandlung der Bilddaten I'(i, j) in den Intervallindex d sowie normalisierte Offsetdaten I''(i, j) kann durch d = int{I'(i, j)/[(2N – 1)/(D – 1)]}und I''(i, j) = {I'(i, j) – (2N – 1)*d/(D–1)}/{(2N – 1)*/(D – 1)}erreicht werden, wobei N, d und D wie zuvor definiert sind, was wie für die Normalisierung für den Offset gefordert, in 0 ≤ I''(i, j) ≤ 1 resultiert. In dem in 3 gezeigten Beispiel würde Pixelwert I'(i, j) = 110 angenähert auf I''(i, j) = [110 – 255*1/3]/[255*/3] = 0,2941 normalisiert werden. Wie für den Fachmann klar ist, dient die Normalisierung des Offsets nur der Einfachheit und, um das Verfahren auf allgemeine Weise für jede Bild- und Bildoffsetdaten mit jeder Zahl von Bits zu beschreiben. Die Implementation der vorliegenden Erfindung umfasst nicht notwendigerweise Normalisierung oder Normalisierung auf ein Intervall der Größe 1.
  • Rasterung
  • Sobald die Bilddaten für ein individuelles Bildpixel intervallcodiert sind und der Offset normalisiert ist, ist der normalisierte Offset-Wert für das Pixel innerhalb des Intervalls des Pixels unter Verwendung eines Rasterverfahrens in einen Binärwert konvertiert. Das heißt, dass jedes Pixel in dem Intervall d, was dem (unnormalisierten) Bereich [t(d), t(d + 1)] entspricht so codiert ist, dass es entweder auf den Codewert d oder den Codewert (d + 1) codiert wird, wobei ein Rasterverfahren für den (unnormalisierten) Bereich [0, t(d + 1) – t(d)] verwendet wird, welcher der Einfachheit halber auf den Bereich [0, 1] normalisiert ist. Mit anderen Worten wird einem Pixel in dem Intervall von dem Index d ein Code gleich d zugewiesen, welches der Index von dem Intervall ist, in welchem es sich befindet, oder (d + 1), welches der um 1 inkrementierte Index von dem Intervall, in welchem es sich befindet ist, wobei die Zuweisung von dem Ergebnis des Rasterverfahrens abhängt.
  • In einer bevorzugten Ausführungsform wird der PostScript®-Sprachinterpretierer verwendet, um den Rasterprozess zu implementieren. Die PostScript®-(Level 2)-Sprache stellt Rastern und ein hohes Niveau an Kontrolle über Details des Rasterprozesses bereit. Beispielsweise gestattet die Sprache, den Typ des Rasterns zu definieren und für diesen Typ von Rastern unabhängige Rasterparameter für jedes von einer spezifizierten Zahl von Farbkomponenten zu spezifizieren, zum Beispiel drei oder vier Farbkomponenten für jeweils CMY- oder CMYK-Drucken.
  • Zwei Typen von Rasterfunktionen werden von der PostScript®-Sprache unterstützt, eine auf der Grundlage von Bündelrasterung, indem explizit ein Rasterton durch Zeilenfrequenz, Drehwinkel und Rasterpunkt-Formfunktion definiert sind, und die zweite auf der Grundlage der Verwendung von Dither(Schwellwert)feldern. Zusätzlich unterstützt PostScript® die Verwendung von Übertragungsfunktionen vor dem Rastern. In der bevorzugten Ausführungsform, welche den PostScript®-Interpretierer für die Codierung verwendet, das heißt für Gammakorrektur, Quantisierung und Rasterung, werden Schwellwertfelder für das Rastern verwendet. In einer anderen bevorzugten Ausführungsform werden all die Codierschritte explizit ausgeführt statt durch einen Seitenbeschreibungssprach-Interpretierer.
  • Ein verallgemeinertes Schwellwertfeld ist in 5 illustriert. Ein Schwellwertfeld 501 hat K-Reihen 502 und L-Spalten 503 und umfasst individuelle Pixel 504, welche als T(k, l) bezeichnet sind, wobei k mit 0 ≤ k ≤ (K – 1) die Reihennummer des Pixels darstellt und 1 mit 0 ≤ 1 ≤ (L – 1) die Spaltennummer des Pixels darstellt. Für den Vergleich mit normalisierten Daten ist der Wert von jedem Pixel T(k, l) normalisiert gezeigt, so dass 0 ≤ T(k, l) < 1 gilt.
  • In der vorliegenden Erfindung wird, sobald die normalisierten Offset-Daten I''(i, j), berechnet sind, mit dem entsprechenden Schwellwertfeld Pixel T(k, l) verglichen, wobei k und l jetzt Funktionen von i und j sind. Speziell gilt k = (i)mod(K) und l = (j)mod(L). Falls I''(i, j) < T(k, l), gilt, dass der codierte oder geditherte Wert C(i, j) = d ist, dem Index des ausgewählten Codierintervalls. Andernfalls ist C(i, j) = (d + 1). In dem in 5 gezeigten Beispiel sei angenommen, dass das Schwellwertfeld ein 64 mal 64-Feld ist und das Originalbild aus 2541 Zeilen mit 2036 Pixeln in jeder Zeile besteht. Der I''-Offset bei (500, 314) in einem Bild wird mit dem Schwellwertfeldpixelinhalt T(k, l) verglichen, mit k = (500)mod(64) = 52 und 1 = (314)mod(64) = 58. Falls der normalisierte Offset-Wert I'' bei dem Pixel (500, 314) kleiner ist als T(52, 58) gilt C(500, 314) = d, dem unteren Intervallwert. Andernfalls ist C(500, 314) = (d + 1), der höhere Intervallwert.
  • In bevorzugten Ausführungsformen ohne PostScript® kann ein modifiziertes Schwellwertfeld T'(k, l), um die Schwellwertoperation I'' < T zu beschleunigen, vorberechnet werden, wobei T'(k, l) = 1 – T(k, l) ist und k und l wie zuvor definiert sind. Die Vergleichsoperation zum Prüfen, ob I'' < T ist, wird nun zur Überprüfung, ob I'' < 1 – T' ist, was identisch zur Überprüfung, ob I'' + T' < 1 ist. Wenn in dem Intervall von Index d, falls int(I'' + T'), der ganzzahlige Anteil von I'' + T', betrachtet wird, dann sollte, falls int(I'' + T') = 0, das heißt I'' < T, der anzeigende Code d verwendet werden, und falls int(I'' + T') ≠ 0 ist, das heißt I'' ≥ T, der indizierende Code (d + 1) verwendet werden. Daher gilt in dem Intervall vom Index d für jedes Pixel (i, j), C(i, j) = d + int{I''(i, j) + T'(k, l)}, wobei k = (i)mod(K) und l = (j)mod(L). Daher ist eine Vergleichs- und Verzweigungsoperation, welche in den meisten CPUs eine relativ zeitaufwendige Operation ist, in Additionen umgewandelt, um direkt den Codewert zu berechnen.
  • In einer weiteren alternativen Ausführungsform, falls eine PostScript®-Implementation nicht möglich oder nicht bevorzugt ist, können, um die Schwellwertoperation I'' < T zu beschleunigen, alle Codewerte C für alle möglichen Intensitätswerte von I''(i, j) und k und l vorberechnet und in einer Nachschlagetabelle vorgespeichert werden. Die Codierung ist dann auf eine Tabellennachschlageoperation reduziert. Die Adresse solch einer Tabelle benötigt nur (N + log2K + log2L)-Bits, weil die Abhängigkeit von (i, j) in dem Code für I(i, j) durch das Nachschlagen an dem Ort (i, j) in dem Schwellwertfeld kommt, welcher wiederum von k = (i)mod(K) und l = (j)mod(L) abhängt; k und l können jeweils in log2K- und log2L-Bits gespeichert werden und sind die log2K- und log2L niederwertigst signifikanten Bits der Ganzzahlen i und j, wenn K und L Potenzen von Z sind. Der Inhalt jedes Ortes in der Nachschlagetabelle ist der Code für das spezielle I(i, j). Zum Beispiel ist, für den Fall einer Codierung von 8 Bits per Pixel auf 4 Bits per Pixel, unter Verwendung von 64 mal 64 Schwellwertfeldern, weil 64 = 26 ist, eine Nachschlagetabelle von 2(8+6+6) = 220 Einträgen erforderlich, mit jedem Eintrag 4 Bits (ein halbes Byte lang). Dies erfordert 512 KBytes Speicher.
  • Der exakte Inhalt der Schwellwertpixel in dem Schwellwertfeld kann auf der Grundlage einer großen Zahl von Ditheringverfahren berechnet werden. Diese umfassen geordnete Dithertechniken (nach Bayer), Pseudozufallsrausch-Verfahren, Void-and-Cluster-Verfahren (siehe Ulichney), "blaues Rauschen"-Muster (siehe Parker et. al., siehe US-Patent 5,111,310 und 5,341,228) oder durch Fehlerdiffusion. Das Schwellwertfeld sollte in einer Weise produziert sein, dass es ein von Artefakten freies Muster generiert.
  • In einer bevorzugten Ausführungsform wird das geordnete Ditherfeld nach Bayer verwendet. Für den Fall einer Reduktion auf 4 Bits pro Farbe wird ein Ditherfeld mit K = L = 4 verwendet, wobei das Schwellwert(Dither)feld T(k, l) mit 0 ≤ k, l < 4 definiert ist als:
    Figure 00330001
    während für den Fall einer Reduktion auf 2 Bits pro Farbe ein Ditherfeld mit K = L = 8 verwendet wird, wobei das Schwellwertfeld T(k, l), mit 0 ≤ k, l < 8 definiert ist als:
  • Figure 00340001
  • Für Schwellwertfelder, die mit anderen Verfahren generiert werden (Void-and-Cluster, blaues Rauschen, Fehlerdiffusion oder Kombinationen von diesen), ist es wünschenswert, ein so großes Schwellwertfeld zu verwenden, wie es die zugeordnete Hardware gestattet. In einigen erfindungsgemäßen bevorzugten Ausführungsformen wird, falls das Codieren auf 4 Bits pro Pixel pro Farbkomponente für Vierfarbdrucken verwendet wird, ein 64 mal 64 Ditherfeld verwendet, während, falls eine Codierung auf 2 Bits pro Pixel pro Farbe verwendet wird, ein 128 mal 128 Ditherfeld verwendet. Wie unten beschrieben wird, ermöglicht die Wahl dieser Größen für die Schwellwertfelder eine Rekonstruktion mit einer Nachschlagetabelle von lediglich 64 KBytes.
  • Rahmenpuffer
  • Jedes Pixel in dem normalisierten Bild wird auf einer Pixel-für-Pixel-Basis einer Schwellwertoperation unterzogen oder gedithert und das resultierende codierte bitratenreduzierte Bild wird in dem Rahmenpuffer gespeichert. Die vorliegende Erfindung reduziert die Speicheranforderung an den Rahmenpuffer um jeden Faktor bis zum Reduzieren auf 2 Bits pro Pixel pro Farbkomponente. Beispielsweise ist die Bitrate, wenn das Originalbild aus 32-Bit CMYK- Farbbildinformation (8 Bits pro Farbkomponente) besteht, unter Verwendung von 16 quantisierten Niveaus (D = 16) die Bit-Rate auf 4 Bits pro Komponente reduziert, oder 16 Bits an Farbinformation pro Pixel insgesamt für das Speichern in den Rahmenpuffer für eine Speicherreduktion um den Faktor zwei. Ähnlich wiederun ist, wenn das Originalbild aus 32-Bit CMYK-Farbbildinformation (8 Bits pro Farbkomponente) besteht, falls die Anzahl der quantisierten Niveaus als vier (D = 4) gewählt ist, die Bit-Rate auf 2 Bits pro Komponente oder 8 Bits von totaler Farbinformation pro Pixel reduziert, eine vierfache Reduktion. Diese Reduktion an Bild-Bit-Raten reduziert die Speicheranforderung an den Rahmenpuffer.
  • Bildrekonstruktion
  • Sobald eine vollständige Seite von N-Bit-Bildinformation gammakorrigiert und gedithert wurde, und auf diese Weise auf ein codiertes Bild geringer Bit-Rate reduziert wurde und in dem Rahmenpuffer gespeichert wurde, wird es von dem Rasterleser an einen Ausgabeprozessor für die Rekonstruktion in ein Vollauflösungsbild für eine Ausgabe an den Aufbereiter geschickt, beispielsweise an einen Drucker oder an den Druckerteil eines Kopierers, wie zum Beispiel den Canon CLC 500. In dem Fall eines 32 Bit Original-CMYK-Bildes können die codierten 2 oder 4 Bit pro Komponentenbild in ein 32 Bit Farbbild rekonstruiert werden.
  • Rekonstruktion bei Verwendung von Korrektur, wenn Schwellwertfelder verwendet werden Das codierte Bild C(i, j) wird üblicherweise durch den Rasterleser von dem Rahmenpuffer Rasterzeile für Rasterzeile ausgelesen, wobei jedes Pixel in sequenzieller Reihenfolge gelesen wird. Die vorliegende Erfindung umfasst ein neues Verfahren für ein Rekonstruieren bitratenreduzierter Bilder, wenn unter Verwendung von Schwellwertfeldern kodiert wird. Wenn ein Schwellwertfeld T(k, l) verwendet wird, wird ein Korrekturwert R''(k, l) für jeden codierten Bildwert C(i, j) an der Position (i, j) berechnet zu R''(k, l) = T(k, l) – 0,5, wobei k = (i)mod(K) und l = (j)mod(L) ist. Dieser Korrekturwert wird auf jeden codierten Bildwert C(i, j) angewandt, so dass ein dequantisiertes Bildfeld R'(i, j) erzeugt wird, wobei R'(i, j) = {C(i, j) + R''(k, l)}*(2N – 1)/(D – 1) gilt. Beispielsweise, wenn N = 8 und D = 4, falls C(i, j) = 1 und T(k, l) = 0,7, dann ist der Korrekturwert R'' = T – 0,5 = 0,2 und der rekonstruierte Wert ist R' = (C + R'')*255/3 = (1 + 0,2)*85 = 102,0.
  • Weil das dequantisierte R' auf den Bereich 0 ≤ R' ≤ (2N – 1) eingeschränkt ist, sind alle korrigierten Werte für R', welche außerhalb dieses Bereiches liegen, auf den Minimum- oder Maximumwert abgeschnitten. Beispielsweise, bei N = 8 und D = 4, falls C(i, j) = 3 und T(k, l) = 0,8, dann ist der Korrekturwert R'' = T – 0,5 = 0,3 und der rekonstruierte Wert R' = (C + R'')*255/3 = (3 + 0,3)*85 = 280,5, was das Höchste für einen 8-Bit-Farbraum verfügbare Niveau (255) überschreitet. In diesem Falle würde der korrigierte (aber unquantisierte) Wert (C + R'') von 3,3 auf 3 abgeschnitten, so dass R' = 255 ist. Ein ähnlicher Vorgang tritt auf, falls (C + R'') < 0 gilt.
  • Extrempunktebedingung
  • In einer Option kann man sicherstellen, dass die Extremwerte in dem Originalbild immer als Extremwerte rekonstruiert werden, zum Beispiel dass die 0% und 100% Farbmittelniveaus erhalten bleiben. Dies wird als Extrempunktebedingung bezeichnet. Um die Extrempunktebedingung zu erfüllen, wird keine Korrektur auf codierte Bildwerte C(i, j) angewandt, welche 0 sind oder (D – 1) sind. Statt dessen werden diese Werte in das dequantisierte Bildfeld unkorrigiert als 0 oder (2N – 1) für den Fall von jeweils C(i, j) = 0 oder (D – 1) transformiert.
  • Als ein Beispiel, wenn N = 8 und D = 4, wird ein Originalbildwert den höchsten Wert 3 annehmen, unabhängig von dem Wert T(k, l) des Schwellwertfeldes an der betrachteten Position (i, j). Für den Fall wenn die Option des Erhaltens der Extrempunktebedingung nicht gewählt ist, ergibt, falls T(k, l) = 0,2 ist, die Korrektur R''(i, j) = T(k, l) – 0,5 = –0,3, was in einen rekonstruierten Wert R'(i, j) = (3 – 0,3)*255/3 = 229,5 resultiert. Sogar nach der inversen Gammakorrektur würde das Ergebnis R(i, j) höchstwahrscheinlich kleiner als 255 sein. Wählt man, die Extrempunktebedingung aufrecht zu erhalten, wird, falls C(i, j) = 3 ist, R(i, j) auf den Wert von 255 gezwungen.
  • Wenn die Extrempunktebedingungsoption gewählt ist, dann ist, wenn C(i, j) = 0, R'(i, j) = 0 ist und falls C(i, j) = (D – 1) ist, R'(i, j) = (2N – 1), der Schritt des Abschneidens um sicher zu stellen, dass R' in dem Bereich 0 ≤ R' ≤ (2N – 1) nicht notwendig. In dem Beispiel von N = 8 und D = 4, falls C(i, j) = 3 und T(k, l) = 0,8, dann gilt, unter Anwendung der Extrempunktebedingung, R'(i, j) = 255.
  • Inverse Gammakorrektur
  • Falls Gammakorrektur auf die originalen Bilddaten angewandt wird, dann kann das rekonstruierte Bildfeld R(i, j) durch Anwenden der Inversen der nicht-linearen Transformation auf jeden Wert in dem dequantisierten Bildfeld aus R'(i, j) erhalten werden. Mit anderen Worten, falls I'(i, j) = f{I(i, j)} die angewandte Gammakorrektur ist, dann gilt R(i, j) = g{R'(i, j)}, wobei die Funktion g das Inverse der Funktion f ist.
  • Rekonstruktion über Nachschlagetabelle
  • Um den Rekonstruktionsprozess zu beschleunigen, wird eine Nachschlagetabelle (Lookup table LUT) konstruiert, um die Deditheringkorrektur, Dequantisierung, inverse Transformation, und falls als Option gewählt, Sicherstellen, dass die Extrempunktebedingung erfüllt ist, durchzuführen. In einer bevorzugten Ausführungsform beispielsweise, wenn eine Codierung auf 4 Bits pro Pixel pro Farbkomponente stattfindet, wird ein 64 mal 64 Ditherfeld verwendet, und ein LUT mit 16-Bit-Adressierung kann konstruiert werden. Entsprechend wird, wenn Codierung auf 2 Bits pro Pixel pro Farbkomponente stattfindet, ein 128 mal 128 Ditherfeld verwendet, und ein LUT mit 16-Bit-Adressierung kann konstruiert werden. Für eine 8 Bit pro Pixel pro Farbkomponente Aufbereitungsvorrichtung ist der Inhalt von jedem LUT-Eintrag ein Byte, so dass für die obigen Fälle eine Nachschlagetabelle in 64 KBytes Speicher passen kann. Die Struktur von solch einem LUT ist in 6 illustriert. Ein Byte 602 in dem LUT 601 ist unter Verwendung einer 16-Bit-Adresse 603 adressierbar. Jedes 8-Bit Byte 602 in dem Speicher stellt einen vollständig rekonstruierten Bilddatenwert R(i, j) dar. Sich erinnernd, dass für jeden möglichen codierten Bildwert C von einem bekannten Pixelort (i, j), wobei 0 ≤ C ≤ (D – 1) gilt, der Eintrag R unter Verwendung von R(i, j) = g{[C(i, j) + (T(k, l) – 0,5)]*(2N – 1)/(D – 1)}berechnet werden muss, mit k = (i)mod(K) und l = (j)mod(L), bemerkt man, dass man zusätzlich zu C lediglich die log2K niederwertigst signifikanten Bits in der Computerdarstellung von der Ganzzahl i (dies ergibt k) und den log2L niederwertigst signifikanten Bits der Computerdarstellung von der Ganzzahl j (dies ergibt l) wissen muss. Auf diese Weise kann eine Adresse zu der LUT durch den Code C, den log2K niederwertigst signifikanten Bits in der Computerdarstellung von der Ganzzahl i und den log2L niederwertigst signifikanten Bits in der Computerdarstellung von der Ganzzahl j gebildet werden. In der das LUT verwendenden bevorzugten Ausführungsform, für den Fall von 8 Bits per Pixel per Farbkomponente, werden Ditherfelder mit K = L = 64 = 26 für Bit-Raten-Reduktion um einen Faktor von zwei verwendet, um 4-Bit-Codeworte zu ergeben, und werden Ditherfelder mit K = L = 128 = 27 werden für eine Bit-Ratenreduktion um einen Faktor von vier verwendet, um 2-Bit-Codeworte zu ergeben. In jedem Falle sind 16 Bits ausreichend, eine LUT 601 zu adressieren.
  • Die 216 8-Bit-Einträge, die jeder 16-Bit-Adresse 603 entsprechen, werden wie folgt berechnet: Für jeden möglichen codierten Bildwert C von einem bekannten Pixelort (i, j) wird die Adresse unter Verwendung von C, und den log2K und log2L niederwertigst signifikanten Bits von i und j. Für diese Adresse wird Eintrag R unter Verwendung von R(i, j) = g{[C(i, j) + (T(k, l) – 0,5)]*(2N – 1)/(D – 1)} berechnet, wobei k = (i)mod(K) und l = (j)mod(L). Falls das Aufrechterhalten der Extrempunktebedingung nicht gewählt ist, dann ist, falls R nicht in den Bereich 0 ≤ R(i, j) ≤ (2N – 1) liegt, R(i, j) auf einen der Endpunkte dieses Bereiches abgeschnitten. Falls das Aufrechterhalten der Extrempunktebedingung gewählt ist, sind an den Orten, wo C(i, j) = 0 oder (D – 1) ist, die Eingabewerte nicht korrigiert, um die Extrempunktebedingung aufrecht zu erhalten.
  • Für dem Fall des Codierens von 8 Bits pro Pixel auf 4 Bits pro Pixel unter Verwendung eines 64 mal 64 Schwellwertfeldes, ist jedes berechnete 8-Bit-Byte R(i, j) 602 an einer 16-Bit-Adresse 603 gespeichert, welche durch Konkatenieren der 4-Bit-C(i, j)-Datenwerte 604 mit den 6 niederwertigst signifikanten Bits 605 der Zahl i und den 6 niederwertigst signifikanten Bits 606 der Zahl j erhalten werden. Zum Beispiel, falls C(123, 458) = 12, dann würde der letzte rekonstruierte Bildwert R(123, 458) an einer Adresse 1100 111011 001010 gespeichert werden, wobei 1100 die binäre Darstellung von C = 12 ist und 111011 und 001010 die 6 niederwertigst signifikanten Bits der binären Darstellungen jeweils der spezifischen Indizes 123 und 458 sind. Für den Fall von Codierung von 8 Bits pro Pixel auf 2 Bits pro Pixel unter Verwendung eines 128 mal 128 Schwellwertfeldes, ist jedes berechnete 8-Bit-Byte R(i, j) 602 an einer 16-Bit-Adresse 603 gespeichert, welche durch Konkatenieren der 2-Bit-C(i, j)-Datenwerte mit den 7 niederwertigst signifikanten Bits der Zahl i und den 7 niederwertigst signifikanten Bits der Zahl j erhalten werden.
  • Die Erfindung kann mit LUT-Speichern die größer als 64 KBytes sind betrieben werden oder mit Schwellwertfeldern von beliebiger Form oder Größe, ohne von dem Geist oder dem Bereich der Erfindung abzuweichen.
  • Erwartete Leistungsverbesserung durch Verwendung eines Korrekturverfahrens Es ist bekannt, dass ein Maß der relativen Leistung eines Bit-Ratenreduktions- und -Rekonstruktionsschemas das mittlere Fehlerquadrat ist (RMS, Root mean square). Der RMS-Fehler hängt von den Charakteristiken der Bilddaten sowie auch von der auf den Prozess angewandten Übertragungsfunktion ab. Für eine beliebige Verteilung von Pixelwerten in einem digitalen Bild und wenn keine Übertragungsfunktion in dem Prozess angewandt wird ist der RMS-Fehler der Rekonstruktion mit der erfindungsgemäßen Korrekturmethode um einen Faktor von Wurzel (2) (ungefähr 1,4) reduziert im Vergleich zu dem RMS-Fehler in dem Prozess mit einer Geradeausrekonstruktion, eher als die Rekonstruktion mit der erfindungsgemäßen Korrekturmethode. Der RMS-Fehler ist ein wenig erhöht wenn die Extrempunktebedingung aufrechterhalten ist. Jedoch können unakzeptale Artefakte erzeugt werden, wenn die Extrempunktebedingung nicht eingehalten ist.
  • Rekonstruktion durch räumliches Filtern
  • In einer alternativen erfindungsgemäßen Ausführungsform wird räumliches Filtern in der Decodierphase verwendet. Entsprechend dieses modifizierten Rekonstruktionsverfahrens, welches adaptiv gefiltertes Dither genannt wird, für die Endrekonstruktion, wird jedes rekonstruierte Pixel durch einen Durchschnitt der rekonstruierten Werte in einer kleinen Nachbarschaft (3 mal 3 Pixel in der bevorzugten Ausführungsform), welche bei dem Pixel zentriert sind, ersetzt, wobei die rekonstruierten Werte der unveränderten Rekonstruktion mit dem erfindungsgemäßen Korrekturverfahren entsprechen. Um das Verwischen von scharfen Kanten, wie zum Beispiel schwarzem Text auf unbedrucktem Papier zu verhindern, wird Filtern nur angewandt, wenn die relevante Nachbarschaft nur durch zwei aufeinanderfolgender Übergangswerte codiert ist. Das heißt, dass Filtern nur auf ansonsten rauschbehaftet rekonstruierte Bereiche in dem Bild angewandt wird.
  • Ein Vorteil des veränderten Rekonstruktionsschemas ist, dass es auf eine weite Vielzahl von Codierschemen angewandt werden kann, zum Beispiel für die Pseudozufallsrauschcodierung. Man mag sich erinnern, dass in dem Pseudozufallsverfahren ein Betrag von Pseudozufallsrauschen während der Codierung addiert wird und ein identischer Betrag von einer identischen und synchronisierten Quelle von Pseudozufallsrauschen während des Decodierens subtrahiert wird. In der Druckersteuerungsanwendung ist dies häufig unmöglich, weil der RIP-Pixel zum Codieren bei einer Ordnung generiert, welche unterschiedlich von der Sequenziellrasterordnung ist, welche für das Auslesen zu dem Aufbereiter erfordert ist, wodurch das Synchronisieren von Pseudozufallsrauschquellen ausgeschlossen ist. Daher kann nur die Codierung ohne das Subtrahieren von Pseudozufallsrauschen verwendet werden, was für gewöhnlich zu verrauschten Bildern führt. Das erfindungsgemäße adaptive Filterrekonstruktionsverfahren ist in dieser Situation anwendbar.
  • Details der bevorzugten Ausführungsform der adaptiven gefilterten Rekonstruktionsmethode sind wie folgt. Wenn ein Bildwert an einem Pixelort (i, j) rekonstruiert wird, untersucht man die 3-mal-3-Nachbarschaft um dieses Pixel herum. Wenn man definiert, Cmin = Minimum {C(i', j'), i – 1 ≤ i' ≤ i + 1, j – 1 ≤ j' ≤ j + 1} und Cmax = Maximum {C(i', j'), i – 1 ≤ i' ≤ i + 1, j – 1 ≤ j' ≤ j + 1}, dann ist Durchschnittsbildung in der Nachbarschaft in Abhängigkeit von der Größe (Cmax – Cmin) angewandt, welches die Verbreitung von Werten in der Nachbarschaft beschreibt. Falls (Cmax – Cmin) ≠ 1, dann gilt R(i, j) = t(C(i, j)), ansonsten gilt R(i, j) = Durchschnitt {t(c(i', j')} in dem Bereich i – 1 ≤ i' ≤ i + 1, j – 1 ≤ j' ≤ j + 1.
  • Die Implementierung des adaptiv filternden Rekonstruktionsverfahrens (adaptive filtered reconstruction method) in einer Druckersteuerung erfordert das Hinzufügen eines Drei-Raster-Zeilenpuffers zu dem Rasterleser, um die Bestimmung von (Cmax – Cmin) und dem Durchschnitt zu ermöglichen.
  • Codierung von Farbbildern
  • Wenn Farbbilder codiert werden (zum Beispiel CMY, CMYK oder RGB), wird jede Komponente für gewöhnlich unabhängig mit einem Schwellwertfeld verglichen. Es gibt eine Vielzahl von Wegen, eine Mehrzahl von Schwellwertfeldern auf eine Mehrzahl von Komponenten anzuwenden.
    • 1. Das selbe Schwellwertfeld könnte auf alle Komponenten angewandt werden:
    • 2. Das Schwellwertfeld für jede Komponente könnte um eine beliebige Zahl von Pixeln entweder horizontal, vertikal oder sowohl horizontal als auch vertikal relativ zu jedem anderen für jede der Komponenten geschoben werden.
    • 3. Für bis zu vier Komponenten können die Schwellwertfelder für die verschiedenen Komponenten um Vielfache von 90 Grad relativ zueinander gedreht werden. Für CMYK-Bilder gilt, falls das originale Ditherfeld T(k, l) für Zyan verwendet wird, um 90 Grad gedrehtes T(k, l) wird für Magenta verwendet, um 180 Grad gedrehtes T(k, l) wird für Gelb verwendet und um 270 Grad = –90 Grad gedrehtes T(k, l) wird für Schwarz verwendet. Für RGB-Bilder gilt, falls das originale Ditherfeld T(k, l) für Rot verwendet wird, dass um 90 Grad rotiertes T(k, l) und um 180 Grad rotiertes T(k, l) jeweils für die grünen und die blauen Komponenten verwendet wird.
    • 4. Die Schwellwertfeldadressen können für die verschiedenen Farbkomponenten in Bezug zueinander umgedreht werden. Für CMYK-Bilder werden, für den Fall, dass Ditherfelddimensionen K und L beide Potenzen von 2 sind, ist, falls das originale Ditherfeld T(k, l) für Zyan verwendet wird, T(nicht(k), l), T(k, nicht(l)) und T(nicht(k), nicht(l)) entsprechend für die Magenta-, Gelb- und Schwarzkomponenten verwendet. Falls die Ditherfelddimensionen K und L nicht Potenzen von 2 sind, dann ersetzt man in der obigen Anordnung [K – (k + 1)] für nicht(k) und [L – (l + 1)] für nicht(l).
    • 5. Ein unabhängiges Schwellwertfeld kann für jede Komponente generiert werden.
  • Es ist nicht notwendig, die Bit-Rate jeder Farbkomponente auf dieselbe Zahl von Bits pro Pixel zu reduzieren. In einer verbesserten erfindungsgemäßen Ausführungsform sind Farben, von denen bekannt ist dass sie weniger zu der Wahrnehmung von Farben beitragen, um mehr als die signifikanteren Farben reduziert. Für CMY- und CMYK-Bilder ist bekannt, dass das Auge empfindlicher gegenüber Variationen in Magenta ist als gegenüber Variationen in Zyan und empfindlicher gegenüber Variationen in Zyan ist als gegenüber Variationen in Gelb. Entsprechend ist bekannt, dass das Auge empfindlicher gegenüber Variationen in Grün ist als gegenüber Variationen in Rot und empfindlicher gegenüber Variationen in Rot als Variationen in Blau. In einer verbesserten erfindungsgemäßen Ausführungsform für 24-Bit-CMY-Daten, wurde Zyan auf 4 Bits pro Pixel reduziert, Magenta auf 5 Bits pro Pixel und Gelb auf 3 Bits pro Pixel für eine gesamte Reduktion auf 12-Bit-Daten.
  • Flowchart einer erfindungsgemäßen Ausführungsform
  • Eine Flowchart die das Verfahren für eine erfindungsgemäße Ausführungsform illustriert, ist in 7 für eine Farbkomponente gezeigt. Bei Schritt 701 ist ein Pixel der Komponente des zu druckenden Bildes ausgewählt. Bei Schritt 702 ist, falls gewünscht, eine nicht-lineare Transformation auf den Pixelwert von der Komponente angewandt, um Gammakorrektur für das Bild bereitzustellen. Bei Schritt 703 ist das richtige Codierintervall, definiert durch Index d, für den Pixel des Bildes bestimmt.
  • Sobald ein Codierintervall d bestimmt ist, ist der Pixelwert I(i, j) (oder I'(i, j) falls gammakorrigiert), in das Codierintervall bei Schritt 704 quantisiert und der Offset I''(i, j) ist bei Schritt 705 innerhalb des Codierintervalls normalisiert, so dass 0 ≤ I''(i, j) ≤ 1 gilt. Bei Schritt 706 ist der normalisierte Pixel-Offset-Wert I''(i, j) einer Schwellwertoperation gegen einen entsprechenden Wert eines Schwellwertfeldes unterzogen, und der Pixelwert wird bei einem Schritt 707 in entweder den Intervallindex d oder (d + 1), dem um Eins inkrementierten Intervallindex, codiert.
  • Sobald jedes Pixel codiert ist, ist es in den Rahmenpuffer bei Schritt 708 gespeichert. Bei Schritt 709 geht die Steuerung zurück zu Schritt 701, falls zusätzliche Bildpixel übrig bleiben, um codiert zu werden. Schritte 701 bis 708 werden wiederholt bis alle Pixel auf diese Weise codiert wurden.
  • Die obigen Schritte sind in dieser Ausführung als Pixel-für-Pixel ausgeführt angezeigt, weil bei einigen RIPs, wie beispielsweise bei einem RIP, der einen PostScript®-Interpretierer enthält, die Pixel in einer nicht-sequenziellen Ordnung verfügbar sind.
  • Sobald eine volle Seite von codierten Pixelwerten in dem Rahmenpuffer gespeichert ist, was dem Ende des RIPping entspricht, wird bei Schritt 710 das codierte Bild durch den Rasterleserausgabeprozessor von dem Rahmenpuffer, typischerweise Zeile für Zeile, gelesen. Sobald diese codierte Information gelesen wird, wird sie bei Schritt 711 rekonstruiert. Schritt 711 kann unter Verwendung einer Nachschlagetabelle ausgeführt werden. Die Nachschlagetabelle kann vorberechnet werden, so dass die Rekonstruktionsschritte des Deditherns, Dequantisierens und Ausführens der nicht-linearen inversen Transformation in einem Nachschlageschritt ausgeführt werden kann. In Alternativ kann die Steuerung von Schritt 710 nach Schritt 711A voranschreiten, wo der Korrekturwert R''(k, l) berechnet wird, dann zu Schritt 711B, wo der codierte Wert unter Verwendung des korrigierten Werts dequantisiert wird, und dann zu Schritt 711C, wo, falls bei Schritt 702 eine nicht-lineare Transformation durchgeführt wurde, eine inverse Übertragungsfunktion angewandt werden kann, um die Ausgabekomponente zu transformieren.
  • Nachdem Schritt 711 (oder, äquivalent, Schritte 711AC) abgeschlossen ist, wird das rekonstruierte Bild bei Schritt 712 an die Aufbereitungsvorrichtung, wie zum Beispiel einen Drucker oder einen Kopierer, ausgegeben.
  • In einer alternativen erfindungsgemäßen Ausführungsform werden Schritt 711 oder Schritte 711A, B und C durch adaptives räumliches Filtern ersetzt, was mit dem Anwenden einer inversen Transformation kombiniert werden kann, falls eine nicht-lineare inverse Transformation bei Schritt 702 angewandt wurde.
  • Auf diese Weise ist ein Verfahren und eine Vorrichtung zur Durchführung von Bit-Ratenreduktion und Rekonstruktion von Bilddaten unter Verwendung eines Ditherfeldes offenbart.

Claims (25)

  1. Verfahren, um die Bitrate von Originalbilddaten in kodierte Bilddaten zu reduzieren und um die kodierten Bilddaten in Ausgabebilddaten zu rekonstruieren, wobei die Originalbilddaten eine Originalfarbkomponente umfassen, welche eine erste Mehrzahl von N-Bit Originalpixeln umfasst, wobei die kodierten Bilddaten eine kodierte Farbkomponente umfassen, welche eine zweite Mehrzahl von M-Bit kodierten Pixeln umfasst, wobei die Ausgabebilddaten eine Ausgabefarbkomponente umfassen, welche eine dritte Mehrzahl von N'-Bit Ausgabepixeln umfasst, wobei der mögliche Bereich von jedem der N-Bit Inputpixel aus einer Mehrzahl von gleich großen zusammenhängenden Intervallen besteht, wobei die Zahl der Intervalle durch M bestimmt ist, wobei das Verfahren die Schritte umfasst: a) Speichern eines Schwellwertfeldes in einem ersten Speicher, wobei das Schwellwertfeld eine vierte Mehrzahl von Schwellwertpixeln umfasst; b) pixelweises Generieren eines entsprechenden kodierten Pixels in der zweiten Mehrzahl für jedes Originalpixel in der ersten Mehrzahl bis die zweite Mehrzahl bestimmt ist, wobei der Schritt des Generierens des kodierten Pixels für das Originalpixel die Schritte umfasst: i) Bestimmen eines Intervalls in der Mehrzahl von Intervallen und einen Versatz in dem Intervall für das Originalpixel und ii) Erzeugen des kodierten Pixels für das Originalpixel, wobei das kodierte Pixel durch das Intervall und durch den Versatz und durch den Wert eines Schwellwertpixels in der vierten Mehrzahl bestimmt ist, wobei der Ort des Schwellwertpixels in der vierten Mehrzahl durch den Ort des Originalpixels in der ersten Mehrzahl bestimmt ist; c) Wählen eines kodierten Pixels in der zweiten Mehrzahl; d) Berechnen eines Korrekturwertes für das ausgewählte kodierte Pixel, wobei der Korrekturwert durch den Code des ausgewählten kodierten Pixels und durch den Wert eines entsprechenden Schwellwertpixels der vierten Mehrzahl bestimmt wird, wobei der Ort des entsprechenden Schwellwertpixels durch den Ort des ausgewählten kodierten Pixels in der zweiten Mehrzahl bestimmt wird; und e) Anwenden des Korrekturwertes auf das ausgewählte kodierte Pixel, um ein Ausgabepixel der dritten Mehrzahl zu berechnen.
  2. Verfahren nach Anspruch 1 weiterhin umfassend die Schritte: Im Schritt b), vor den Schritten i) und ii) Durchführung einer Gammakorrektur des Originalpixels durch Ausführen einer ersten nicht-linearen Transformation auf den Wert des Originalpixels, um ein kompensiertes Pixel zu produzieren, wobei die Schritte i) und ii) auf das kompensierte Pixel angewandt werden anstatt auf das Originalpixel; Im Schritt e), Anwenden des Korrekturwertes auf das ausgewählte kodierte Pixel, um ein dequantisiertes Pixel anstelle eines Ausgabepixels zu produzieren; und f) Ausführen einer inversen Gammakorrektur auf das dequantisierte Pixel durch Ausführen einer zweiten nicht-linearen Transformation auf den Wert des dequantisierten Pixels, um ein Ausgabepixel der dritten Mehrzahl zu produzieren.
  3. Verfahren nach Anspruch 2, wobei der Schritt b) weiterhin den Schritt des Speicherns des kodierten Pixels in einen Seitenpuffer nach dem Schritt des Generierens des kodierten Pixels umfasst und worin Schritt c) des Auswählens eines kodierten Pixels weiterhin das Wiederherstellen des ausgewählten kodierten Pixels vom Seitenpuffer umfasst.
  4. Verfahren nach Anspruch 3, worin die zweite Mehrzahl von kodierten Pixeln in dem Seitenpuffer entsprechend einem Rasterformat gespeichert sind und worin die Schritte c), d), e) und f) pixelweise auf alle Pixel in einer Rasterlinie des Rasterformats ausgeführt werden.
  5. Verfahren nach Anspruch 2, worin die erste nichtlineare Transformation eine Kompensation für Wahrnehmungsungleichmäßigkeiten in den Originalbilddaten umfasst und worin die zweite nicht-lineare Transformation ein Inverses dieser Kompensation umfasst.
  6. Verfahren nach Anspruch 2, worin das Inverse der Kompensation die Form x = {x'}(1–x)γ 0 + x'γ 1 aufweist.
  7. Verfahren nach Anspruch 2, worin der Versatz auf einen fixen Bereich normalisiert ist und die Schwellwertpixel der vierten Mehrzahl auf diesen fixierten Bereich normalisiert sind.
  8. Verfahren nach Anspruch 3, worin der Schritt b) durch einen RIP Rasterbildprozessor ausgeführt wird, wobei der RIP einen Interpretierer einer Seitenbeschreibungssprache umfasst, wobei die Originalbilddaten in einer Originaldatei aufgenommen sind, wobei die Originaldatei eine Mehrzahl von Kommandos in der Seitenbeschreibungssprache umfasst.
  9. Verfahren nach Anspruch 8, worin der Schritt b) von dem Interpretierer ausgeführt wird.
  10. Verfahren nach Anspruch 9, worin die Seitenbeschreibungssprache PostScript® ist.
  11. Verfahren nach Anspruch 3, worin die Schritte d), e) und f) von einer Nachschlageoperation in einer Dekodierernachschlagetabelle ausgeführt werden, wobei die Dekodierernachschlagetabelle in einem zweiten Speicher gespeichert ist.
  12. Verfahren nach Anspruch 1, worin die Originalbilddaten weiterhin eine Mehrzahl der Originalfarbkomponenten umfassen, wobei die kodierten Bilddaten weiterhin eine Mehrzahl der entsprechenden kodierten Farbkomponenten umfassen und die Ausgabebilddaten weiterhin eine Mehrzahl von entsprechenden der Ausgabefarbkomponenten umfassen, wobei jede Originalfarbkomponente mit einem entsprechenden Schwellwertfeld in einer Mehrzahl von Schwellwertfeldern versehen ist, wobei Schritt b) auf jede Originalfarbkomponente angewandt wird, wobei die Schritte c), d) und e) auf jede entsprechende kodierte Farbkomponente angewandt werden.
  13. Vorrichtung, um die Bitrate von Originalbilddaten in kodierte Bilddaten zu reduzieren und um die kodierten Bilddaten in Ausgabebilddaten zu rekonstruieren, wobei die Originalbilddaten eine Originalfarbkomponente umfassen, welche eine erste Mehrzahl von N-Bit Originalpixeln umfasst, wobei die kodierten Bilddaten eine kodierte Farbkomponente umfassen, die eine zweite Mehrzahl von M-Bit kodierten Pixeln umfasst, wobei die Ausgabebilddaten eine Ausgabefarbkomponente umfassen, welche eine dritte Mehrzahl von N'-Bit Ausgabepixeln umfasst, wobei der mögliche Bereich von jeden der N-Bit Inputpixeln aus einer Mehrzahl von gleich großen zusammenhängenden Intervallen besteht, wobei die Zahl der Intervalle durch M bestimmt ist, wobei die Vorrichtung umfasst: Einen ersten Speicher, um die Originalbilddaten zu speichern; einen zweiten Speicher, um ein Schwellwertfeld zu speichern, wobei das Schwellwertfeld eine vierte Mehrzahl von Schwellwertpixeln umfasst; einen Prozessor, der mit dem ersten und dem zweiten Speicher und einem dritten Speicher verbunden ist, wobei der Prozessor ein korrespondierendes kodiertes Pixel in der zweiten Mehrzahl für jedes Originalpixel in der ersten Mehrzahl pixelweise generiert bis die zweite Mehrzahl bestimmt ist, wobei die pixelweise Generierung die Schritte umfasst: i) Bestimmen eines Intervalls in der Mehrzahl von Intervallen und eines Versatzes in diesem Intervall für das Originalpixel; und ii) Generieren des kodierten Pixels für das Originalpixel, wobei das kodierte Pixel durch das Intervall und durch den Versatz und den Wert eines Schwellwertpixels in der vierten Mehrzahl bestimmt ist, wobei der Ort des Schwellwertpixels in der vierten Mehrzahl durch den Ort des Originalpixels in der ersten Mehrzahl bestimmt ist; wobei der dritte Speicher ein Feld der zweiten Mehrzahl der kodierten Pixel speichert; einen Selektor, der mit dem dritten Speicher verbunden ist, wobei der Selektor zum Selektieren eines kodierten Pixels von dem Feld der zweiten Mehrzahl von kodierten Pixeln vorgesehen ist; einen Rekonstruktor, der mit dem Selektor und dem zweiten Speicher verbunden ist, wobei der Rekonstruktor einen Korrekturwert für das ausgewählte kodierte Pixel generiert, wobei der Korrekturwert durch den Code des ausgewählten kodierten Pixels und durch den wert eines entsprechenden Schwellwertpixels der vierten Mehrzahl bestimmt ist, wobei der Ort des entsprechenden Schwellwertpixels durch den Ort des ausgewählten kodierten Pixels in dem Schwellwertfeld bestimmt ist, wobei der Rekonstruktor weiterhin den Korrekturwert auf das ausgewählte kodierte Pixel anwendet, um ein Ausgabepixel der dritten Mehrzahl zu produzieren.
  14. Vorrichtung, um die Bitrate von Originalbilddaten in kodierte Bilddaten zu reduzieren und die kodierten Bilddaten in Ausgabebilddaten zu rekonstruieren, wobei die Originalbilddaten eine Originalfarbkomponente umfassen, welche eine erste Mehrzahl von N-Bit Originalpixeln umfasst, wobei die kodierten Bilddaten eine kodierte Farbkomponente umfassen, welche eine zweite Mehrzahl von M-Bit kodierten Pixeln umfasst, wobei die Ausgabebilddaten eine Ausgabefarb komponente umfassen, welche eine dritte Mehrzahl von N'-Bit Ausgabepixeln umfasst, wobei der mögliche Bereich von jedem der N-Bit Eingabepixel aus einer Mehrzahl von gleich großen zusammenhängenden Intervallen besteht, wobei die Anzahl der Intervalle durch M bestimmt ist, wobei die Vorrichtung umfasst Einen ersten Speicher zum Speichern der Originalbilddaten; einen zweiten Speicher zum Speichern eines Schwellwertfeldes, wobei das Schwellwertfeld eine vierte Mehrzahl von Schwellwertpixeln umfasst; einen Prozessor, der mit dem ersten und dem zweiten Speicher und einem dritten Speicher verbunden ist, wobei der Prozessor dazu vorgesehen ist, entsprechende kodierte Pixel in der zweiten Mehrzahl für jedes Originalpixel in der ersten Mehrzahl pixelweise zu generieren bis die zweite Mehrzahl bestimmt ist, wobei die pixelweise Generierung die Schritte umfasst: i) Durchführen einer Gammakorrektur des Originalpixels durch Ausführen einer ersten nicht-linearen Transformation auf den Wert des Originalpixels, um ein kompensiertes Pixel zu produzieren; ii) Bestimmen eines Intervalls in der Mehrzahl von Intervallen und eines Versatzes in dem Intervall für das kompensierte Pixel; und iii) Erzeugen des kodierten Pixels für das kompensierte Pixel, wobei das kodierte Pixel durch das Intervall und durch den Versatz und den Wert eines Schwellwertpixels in der vierten Mehrzahl bestimmt ist, wobei der Ort des Schwellwertpixels in der vierten Mehrzahl durch den Ort des kompensierten Pixels in der ersten Mehrzahl bestimmt ist; wobei der dritte Speicher ein Feld von der zweiten Mehrzahl der kodierten Pixel speichert; einen Selektor, der mit dem dritten Speicher verbunden ist, wobei der Selektor dazu vorgesehen ist, ein kodiertes Pixel von dem Feld der zweiten Mehrzahl der kodierten Pixel auszuwählen; einen Rekonstruktor, der mit dem Selektor und dem zweiten Speicher verbunden ist, wobei der Rekonstruktor dazu vorgesehen ist, einen Korrekturwert für das ausgewählte kodierte Pixel zu generieren, wobei der Korrekturwert durch den Code des ausgewählten kodierten Pixels und durch den Wert eines entsprechenden Schwellwertpixels der vierten Mehrzahl bestimmt ist, wobei der Ort des entsprechenden Schwellwertpixels durch den Ort des ausgewählten kodierten Pixels in dem Schwellwertfeld bestimmt ist, wobei der Rekonstruktor weiterhin dazu vorgesehen ist, den Korrekturwert auf das ausgewählte kodierte Pixel zum Produzieren eines dequantisierten Pixels der dritten Mehrzahl anzuwenden, wobei der Rekonstruktor weiterhin dazu vorgesehen ist, eine inverse Gammakorrektur auf das dequantisierte Pixel auszuführen, indem er eine zweite nicht-lineare Tranformation auf den Wert des dequantisierten Pixels ausführt, um ein Ausgabepixel der dritten Mehrzahl zu produzieren.
  15. Vorrichtung nach Anspruch 14, worin der dritte Speicher ein Seitenpuffer ist.
  16. Vorrichtung nach Anspruch 15, worin das Feld der zweiten Mehrzahl von kodierten Pixeln in einem Seitenpuffer entsprechend einem Rasterformat gespeichert ist.
  17. Vorrichtung nach Anspruch 14, worin die erste nichtlineare Transformation eine Kompensation für Wahrnehmungsungleichmäßigkeiten in den Originalbilddaten umfasst und worin die zweite nicht-lineare Transformation ein Inverses dieser Kompensation umfasst.
  18. Vorrichtung nach Anspruch 14, worin das Inverse der Kompensation die Form x = {x'}(1–x')γ 0 + x'γ 1 aufweist.
  19. Vorrichtung nach Anspruch 14, worin das Inverse der Transformation die Form x = {x'}[Ax'γ 0 + Bx'γ 1 + Cx'γ 2 + D] aufweist.
  20. Vorrichtung nach Anspruch 14, worin der Versatz auf einen fixierten Bereich normalisiert ist und die Schwellwertpixel der vierten Mehrzahl auf diesen fixierten Bereich normalisiert sind.
  21. Vorrichtung nach Anspruch 15, worin die pixelweise Generierung durch einen RIP Rasterbildprozessor ausgeführt wird, wobei der RIP einen Interpretierer einer Seitenbeschreibungssprache beinhaltet, wobei die Originalbilddaten in einer Originaldatei aufgenommen sind, wobei die Originaldatei eine Mehrzahl von Kommandos in der Seitenbeschreibungssprache umfasst.
  22. Vorrichtung nach Anspruch 21, worin die pixelweise Generierung durch den Interpretierer ausgeführt wird.
  23. Vorrichtung nach Anspruch 22, worin die Seitenbeschreibungssprache PostScript® ist.
  24. Vorrichtung nach Anspruch 15, worin der Rekonstruktor eine Decodiernachschlagetabelle umfasst, wobei der Rekonstruktor den Korrekturwert generiert und den Korrekturwert auf das ausgewählte kodierte Pixel anwendet und eine inverse Gammakorrektur auf das dequantisierte Pixel durch eine Nachschlageoperation in der Decodiernachschlagetabelle ausführt.
  25. Vorrichtung nach Anspruch 13, worin die Originalbilddaten weiterhin eine Mehrzahl von Originalfarbkomponenten umfassen, wobei die kodierten Bilddaten weiterhin eine Mehrzahl von entsprechenden kodierten Farbkomponenten umfassen und die Ausgabebilddaten weiterhin eine Mehrzahl von entsprechenden Ausgabefarbkomponenten umfassen, wobei jede Originalfarbkomponente ein entsprechendes Schwellwertfeld in einer Mehrzahl von Schwellwertfeldern aufweist, wobei die pixelweise Generierung auf jede Originalfarbkomponente angewandt wird und wobei die Auswahl der kodierten Pixel, die Generierung eines Korrekturwertes für das ausgewählte kodierte Pixel und die Anwendung des Korrekturwertes auf das ausgewählte kodierte Pixel alle auf jede entsprechende kodierte Farbkomponente angewandt werden.
DE69634040T 1995-03-03 1996-03-01 Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern Expired - Lifetime DE69634040T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US398369 1982-07-14
US08/398,369 US5553200A (en) 1995-03-03 1995-03-03 Method and apparatus for providing bit-rate reduction and reconstruction of image data using dither arrays
PCT/US1996/002760 WO1996027261A1 (en) 1995-03-01 1996-03-01 Method and apparatus for providing bit-rate reduction and reconstruction of image data using dither arrays

Publications (2)

Publication Number Publication Date
DE69634040D1 DE69634040D1 (de) 2005-01-20
DE69634040T2 true DE69634040T2 (de) 2005-12-08

Family

ID=23575126

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69634040T Expired - Lifetime DE69634040T2 (de) 1995-03-03 1996-03-01 Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern

Country Status (6)

Country Link
US (1) US5553200A (de)
EP (1) EP0840978B1 (de)
JP (1) JP3093276B2 (de)
AT (1) ATE285154T1 (de)
DE (1) DE69634040T2 (de)
WO (1) WO1996027261A1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690389B2 (en) * 1995-04-25 2004-02-10 Compaq Computer Corporation Tone modifying dithering system
CA2226125A1 (en) * 1995-07-03 1997-01-23 Luis Trabb Pardo Processor/memory non-intensive rendering for page printers
GB9622725D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics A method and circuitry for compressing and decompressing digital data
US5982937A (en) 1996-12-24 1999-11-09 Electronics For Imaging, Inc. Apparatus and method for hybrid compression of raster data
US6088016A (en) * 1996-12-30 2000-07-11 S3 Incorporated Dithering method and apparatus using ramp probability logic
US6081252A (en) * 1997-07-11 2000-06-27 National Semiconductor Corporation Dispersion-based technique for performing spacial dithering for a digital display system
US6175355B1 (en) 1997-07-11 2001-01-16 National Semiconductor Corporation Dispersion-based technique for modulating pixels of a digital display panel
US5915077A (en) * 1997-07-28 1999-06-22 Canon Kabushiki Kaisha Image compression using adjacent pixels and predetermined colors
US6700587B1 (en) 1997-08-28 2004-03-02 Canon Kabushiki Kaisha Picture display apparatus
US6697167B1 (en) * 1997-08-29 2004-02-24 Canon Kabushiki Kaisha Image processing apparatus and method
US6191868B1 (en) * 1997-09-08 2001-02-20 Hitachi, Ltd. Distributed PWM halftoning unit and printer
JPH11187264A (ja) * 1997-12-17 1999-07-09 Oki Data Corp 画像処理方法および装置
US6208431B1 (en) * 1998-03-31 2001-03-27 International Business Machines Corporation Method of eliminating artifacts in display devices
AUPP340998A0 (en) * 1998-05-07 1998-05-28 Canon Kabushiki Kaisha A method of halftoning an image on a video display having limited characteristics
US6213579B1 (en) 1998-11-24 2001-04-10 Lexmark International, Inc. Method of compensation for the effects of thermally-induced droplet size variations in ink drop printers
US6211970B1 (en) 1998-11-24 2001-04-03 Lexmark International, Inc. Binary printer with halftone printing temperature correction
US6172692B1 (en) 1999-02-11 2001-01-09 Lexmark International, Inc. Multilevel ink mixing device and method using diluted and saturated color inks for inkjet printers
JP3982979B2 (ja) * 1999-08-19 2007-09-26 株式会社リコー 画像形成装置
JP3844180B2 (ja) * 1999-09-27 2006-11-08 リコープリンティングシステムズ株式会社 分割分散pwm階調処理装置及びこれを備えたレーザプリンタ
US6731822B1 (en) * 1999-10-28 2004-05-04 Hewlett-Packard Development Company, L.P. Method and apparatus for filtering images having insufficient tonal precision
US6512597B1 (en) 1999-11-17 2003-01-28 Lexmark International, Inc. Method and apparatus for correcting unadjusted threshold arrays for halftoning by use of parameterized transfer functions that generate adjusted threshold arrays at run time
US7119760B2 (en) * 2000-03-31 2006-10-10 Kodak Graphic Communications Canada Company Color image display accuracy using green-limited gamma estimate
US20030091229A1 (en) * 2000-03-31 2003-05-15 Imation Corp. Color image display accuracy using comparison of complex shapes to reference background
US20040227769A9 (en) * 2000-03-31 2004-11-18 Imation Corp. Color image display accuracy using comparison of colored objects to dithered background
US6909435B2 (en) * 2000-12-20 2005-06-21 Thomson Licensing S.A. Reduction of gamma correction contouring in liquid crystal on silicon (LCOS) displays
JP2002264442A (ja) * 2001-03-12 2002-09-18 Ricoh Co Ltd 画像処理装置
JP3620521B2 (ja) * 2001-09-14 2005-02-16 日本電気株式会社 画像処理装置、画像伝送装置、画像受信装置及び画像処理方法
TW588546B (en) * 2002-10-25 2004-05-21 Veutron Corp Method for reducing image noise
US7038688B2 (en) * 2003-12-29 2006-05-02 Intel Corporation Filter mechanism
US7656561B2 (en) * 2004-05-31 2010-02-02 Phase One A/S Image compression for rapid high-quality imaging
US7206001B1 (en) * 2004-06-22 2007-04-17 Apple Computer, Inc. Fractal-dithering technique for image display
US7751475B1 (en) * 2004-06-22 2010-07-06 Apple Inc. Arbitrary-resolution, extreme-quality video codec
JP4179255B2 (ja) * 2004-09-17 2008-11-12 日本電気株式会社 画像処理装置、画像伝送装置、表示装置、画像処理方法及び画像伝送方法
US7433080B2 (en) 2004-09-28 2008-10-07 Toshiba Corporation System and method for conversion of duotone images for display
US7869094B2 (en) * 2005-01-07 2011-01-11 Mitcham Global Investments Ltd. Selective dithering
US20070253009A1 (en) * 2006-04-28 2007-11-01 Xerox Corporation User generated tonal reproduction curve (trc) control for monochrome printers
GB0823701D0 (en) * 2008-12-31 2009-02-04 Symbian Software Ltd Fast data entry
US8396119B1 (en) 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
DE102010010736A1 (de) * 2010-03-09 2011-09-15 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression von Bilddaten
US20120106835A1 (en) * 2010-10-29 2012-05-03 Xerox Corporation Hybrid vector halftone screening and error diffusion
US8786899B2 (en) 2011-01-28 2014-07-22 Ricoh Production Print Solutions LLC Conversion arrays for print image data transformation
CN103292734B (zh) * 2013-05-27 2015-10-28 华中科技大学 相位测量系统中伽玛值标定方法
EP3108451A4 (de) * 2014-02-20 2017-07-05 Konica Minolta Laboratory U.S.A., Inc. Bildverarbeitung zur beibehaltung kleiner farb-/grauunterschiede
US9542130B2 (en) * 2015-04-02 2017-01-10 Xerox Corporation Mask based toner reduction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3244808A (en) * 1962-01-12 1966-04-05 Massachusetts Inst Technology Pulse code modulation with few amplitude steps
JPH069375B2 (ja) * 1984-04-27 1994-02-02 株式会社東芝 中間調画情報の符号化伝送方式
JPS62195982A (ja) * 1986-02-24 1987-08-29 Konishiroku Photo Ind Co Ltd カラ−画像デ−タの圧縮方法及びその再生方法
GB8813487D0 (en) * 1988-06-08 1988-07-13 Crosfield Electronics Ltd Improvements relating to image processing
US5111310A (en) * 1990-12-04 1992-05-05 Research Technologies Corporation, Inc. Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
US5323247A (en) * 1990-12-04 1994-06-21 Research Corporation Technologies Method and apparatus for halftoning and inverse halftoning and the transmission of such images
US5341228A (en) * 1990-12-04 1994-08-23 Research Corporation Technologies Method and apparatus for halftone rendering of a gray scale image using a blue noise mask

Also Published As

Publication number Publication date
JPH10506767A (ja) 1998-06-30
WO1996027261A1 (en) 1996-09-06
US5553200A (en) 1996-09-03
ATE285154T1 (de) 2005-01-15
JP3093276B2 (ja) 2000-10-03
DE69634040D1 (de) 2005-01-20
EP0840978A1 (de) 1998-05-13
EP0840978B1 (de) 2004-12-15
EP0840978A4 (de) 1999-10-13

Similar Documents

Publication Publication Date Title
DE69634040T2 (de) Verfahren und Gerät zur Bitratenreduktion und Rekonstruktion von Bilddaten mittels Ditherfeldern
DE69532016T2 (de) Bildverarbeitungsgerät und -verfahren
CA2133558C (en) Method and apparatus for halftoning and inverse halftoning and the transmission of such images
DE69819608T2 (de) Mehrpegelige Halbtonrasterung mit Rändern verringerter Textur und Deckungssteuerung
JP4100782B2 (ja) 誤差拡散値の処理方法
DE69837462T2 (de) System und Verfahren zur dynamischen Auswahl vom Rauschprofil für die Bildverarbeitung mittels hybrider Fehlerdiffusion
DE10137164A1 (de) Graustufen-Halbton-Bearbeitung
DE60216028T2 (de) Farbverarbeitung-Architektur und -Algorithmen für Farblaserdrucker
DE19623318C2 (de) Teilpixelcodierungs- und Decodierungsverfahren
DE69731258T2 (de) Randverbesserte Fehlerdiffusion
DE60313664T2 (de) Digitale bildkompression durch ausnutzung übereinstimmender msb
EP0759248A1 (de) Verfahren und einrichtung zur erzeugung eines grau-composite-proofs
DE60313115T2 (de) Kolorimetrisches Verfahren zur Reduktion des Tintenverbrauchs für Drucker
DE69937390T2 (de) Verfahren und Vorrichtung zum Drehen von Bildern mit hoher Adressierbarkeit
DE3020455C2 (de)
AU753852B2 (en) Dithered image compression system
DE69728918T2 (de) Verfahren und Gerät zur wirkungsvollen Bildinterpolation
DE60027187T2 (de) System und verfahren zur verarbeitung mehrerer pegel mit pegelbeschraenkung
DE60304268T2 (de) Bitmapdekomprimierung
DE602005002494T2 (de) Verfahren zum Erzeugen einer Dithermatrix
DE69931128T2 (de) Farbkorrekturverfahren mit Multipegelhalbtonrasterung
DE19958242A1 (de) Bildverarbeitungsapparat
EP0539397B1 (de) Verfahren zur generierung und speicherung von digitalisierten dichte-schwellwerten zur rasterung einer halbton-bildvorlage
EP0872119B1 (de) Bildsignalverarbeitungseinrichtung und verfahren zur verarbeitung digitaler datensignale
DE10012521C2 (de) Verfahren zur Komprimierung von Druckdaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition