DE69424451T2 - Halbtonzitteroptimierungstechniken - Google Patents

Halbtonzitteroptimierungstechniken

Info

Publication number
DE69424451T2
DE69424451T2 DE69424451T DE69424451T DE69424451T2 DE 69424451 T2 DE69424451 T2 DE 69424451T2 DE 69424451 T DE69424451 T DE 69424451T DE 69424451 T DE69424451 T DE 69424451T DE 69424451 T2 DE69424451 T2 DE 69424451T2
Authority
DE
Germany
Prior art keywords
dither matrix
dither
objective function
value
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69424451T
Other languages
English (en)
Other versions
DE69424451D1 (de
Inventor
William Clark Naylor Jr.
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE69424451D1 publication Critical patent/DE69424451D1/de
Publication of DE69424451T2 publication Critical patent/DE69424451T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

    Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet der digitalen Bildverarbeitung und insbesondere ein Verfahren zur digitalen Halbtonverarbeitung von Bildern unter Verwendung großer Dithermatrizen.
  • Hintergrund der Erfindung
  • Der Stand der Technik wird nachstehend unter Bezugnahme auf die folgende Zeichnung beschrieben. Es zeigen:
  • Fig. 1 eine schematische Darstellung eines herkömmlichen einzelnen Bildelements einer Kathodenstrahlröhren-(CRT- )anzeigeeinrichtung,
  • Fig. 2A bis 2E schematische Darstellungen eines 2 · 2- Dithervorgangs,
  • Fig. 3 eine Darstellung des Dithervorgangs und
  • Fig. 4 eine Darstellung einer Artefakterzeugungsmatrix.
  • Farbraster-Grafikanzeigeeinrichtungen sind in der Technik bekannt. Die Anzeige von Farbbildern auf diesen Einrichtungen wird normalerweise mittels einer Bildelementabbildung aus einzelnen Bildelementen erreicht. Diese Bildelemente bestehen wiederum aus einer Ansammlung von Bits, die den Farbwert dieses Bildelements auf der Anzeigeeinrichtung darstellen. Die Anzahl an verschiedenen möglichen Bits in dieser Ansammlung entspricht der Anzahl an verschiedenen Farben, die durch die Anzeigeeinrichtung angezeigt werden können, und somit der Treue, mit der die Einrichtung ein gegebenes Bild anzeigen kann. Übliche Farbsysteme speichern 8 bzw. 24 Bits pro Bildelement, obwohl auch andere Verhältnisse möglich sind.
  • Eine Anzeigeeinrichtung zeigt den entsprechenden Farbwert des Bildelements oft mit hoher Auflösung an. Übliche Bildschirmanzeigen können eine Vielzahl verschiedener Bildelemente im Bereich von 1280 · 1024 Bildelementen anzeigen, wobei jedes Bildelement bis zu 2²&sup4; verschiedene Farbwerte darstellen kann.
  • Farben werden auf einer Computeranzeige oft in Übereinstimmung mit einem bestimmten Modell angezeigt. Das Rot-, Grün-, Blau-(RGB-)Farbmodell ist das bei Kathodenstrahlröhren (CRT) und Farbraster- Anzeigeeinrichtungen übliche Modell. Andere Farbanzeigemodelle enthalten Cyan, Magenta, Gelb (CMY), die oft bei Farbdruckeinrichtungen angewendet werden. Ein Beispiel des RGB-Modells findet sich in der NTSC- Bildanzeigenorm, die üblicherweise bei Computeranzeigen Verwendung findet. In dieser Norm wird jedes Bildelement in drei separate Untergruppierungen unterteilt. Diese separaten Untergruppierungen stellen jeweils den roten, grünen und blauen Abschnitt einer gegebenen Bildelementkomponente dar.
  • Gemäß Fig. 1 besteht die Betrachtungsoberfläche einer Farb-CRT oft aus nahe beabstandeten Bildelementen 20. Jedes Bildelement kann aus einem roten 21, grünen 22, und blauen 23 Phosphorpunkt bzw. Bildelementkomponente bestehen. Diese Punkte sind so klein, dass von den einzelnen Punkten ausgehendes Licht vom Betrachter als Mischung der entsprechenden drei Farben wahrgenommen wird. Somit kann ein großer Bereich unterschiedlicher Farben durch eine Bildelementkomponente durch Veränderung der Stärke erzeugt werden, mit der jeder Phosphorpunkt angeregt wird. Normalerweise ist eine (nicht gezeigte) Umwandlungseinrichtung derart vorgesehen, dass die Stärke der Anregung jedes Phosphorpunkts zu dem Wert jeder vorstehend angeführten Bildelementkomponentenuntergruppe proportional ist. Beispielsweise wird ein Farbanzeigesystem mit 24 Bits pro Bildelement mit 8 Bits für jede der drei Farben rot, grün und blau betrachtet. Dies entspricht 2&sup8; bzw. 256 separaten Intensitätsstufen jeweils für rot, grün und blau, und 2²&sup4; unterschiedlichen Farbwerten. Eine Farbanzeige, die zur Anzeige dieser Menge an Farben fähig ist, kann ein kontinuierlich getöntes Bild mit einem derartigen Grad nähern, dass die Anzeige für alle praktischen Zwecke als kontinuierliche Tonanzeige angesehen werden kann.
  • Viele Anzeigeeinrichtungen können den vollen Farbbereich, der beispielsweise durch ein 24-Bit-Eingangsbildelement gebildet wird, tatsächlich nicht darstellen. Beispielsweise kann eine schwarz-weiß-Rasterbildanzeige lediglich zwei Farben darstellen, d. h. schwarz und weiß, und ist als zweistufige Einrichtung bekannt. Andere Farbanzeigeeinrichtungen können lediglich eine endliche Anzahl diskreter Intensitätsstufen für jede Farbeinheit darstellen. Beispielsweise kann bei einer Farb- Zweistufen-Einrichtung wie einer ferroelektrischen Flüssigkristallanzeigeeinrichtung (FLCD) jeder Punkt auf dem Bildschirm sich nur an zwei Intensitätsstufen befinden, entweder vollständig angeschaltet oder vollständig abgeschaltet.
  • Empfängt die Anzeigeeinrichtung eine Eingabe, die auf der Grundlage erzeugt wurde, dass jedes Bildelement zur Anzeige einer größeren Anzahl von Intensitätsstufen fähig ist, als tatsächlich angezeigt werden können, ergibt sich ein Fehler in der angezeigten Farbe, der den Unterschied zwischen dem anzuzeigenden exakten Bildelementwert und dem tatsächlich angezeigten genäherten Wert darstellt.
  • Verfahren zur Erzeugung von Eingangssignalen für Anzeigeeinrichtungen wurden zur Erhöhung der Anzahl von anzeigbaren Farben auf der diskreten Farbanzeigeeinrichtung wie der zweistufigen Farbanzeige durch Zusammengruppieren von Bildelementen entwickelt. Diese Verfahren sind allgemein als Halbtonverarbeitung bekannt. Für eine Beschreibung der verschiedenen Aspekte der Halbtonverarbeitung wird auf das Buch "Digital Halftoning" von Robert Ulichney, veröffentlicht 1991 durch MIT Press, verwiesen.
  • Die Fig. 2 und 3 zeigen ein derartiges Dither- Verfahren, das zur Erhöhung der Anzahl von Intensitätsstufen angewendet wird. In diesem Beispiel ist die Bildelementanordnung aus Fig. 1 des Anzeigebildschirms in eine 2 · 2-Bildelementfläche 24 zusammengruppiert. Die 2 · 2-Bildelementfläche 24 einer zweistufigen Anzeige wird zur Erzeugung von fünf separaten Intensitätsstufen für jede Primärfarbe durch wahlweises Einschalten eines einzelnen Primärbildelements verwendet. Diese Stufen umfassen eine in Fig. 2(1) gezeigte unterste Stufe, eine erste Helligkeitsstufe in Fig. 2(2), eine zweite Helligkeitsstufe in Fig. 2(3), eine dritte Stufe in Fig. 2(4) und eine vierte Stufe in Fig. 2(5), woraus sich insgesamt fünf Stufen ergeben. Im Allgemeinen kann die Gruppierung von n Bildelementkomponenten maximal n + 1 separate Intensitätsstufen für jede Primärfarbe erzeugen.
  • Zur Erleichterung des Verständnisses bezieht sich die folgende Beschreibung auf eine zweistufige Anzeige, die lediglich eine einzelne Primärfarbe, d. h. schwarz oder weiß, anzeigen kann. Der Fachmann erkennt allerdings, dass das gleiche Prinzip auch bei einer Anzeige mit einer Vielzahl von Primärfarben angewendet werden kann, indem jede Primärfarbe unabhängig von den anderen Primärfarben, die eine gegebene Anzeige verwendet, separat behandelt wird. Die Beschreibung kann ferner auch bei einer Anzeige angewendet werden, bei der jedes einzelne Element eine Vielzahl von Intensitätsstufen durch das Zusammengruppieren von n + 1 separaten Intensitätsstufen hat.
  • Bei dem Verfahren zur Ditherverarbeitung eines Bildes wird die Entscheidung über die Intensivierung eines bestimmten Punkts auf dem Bildschirm O(x, y) von der gewünschten Intensität S(x, y) an dem bestimmten Punkt und von einem bestimmten Dithermatrixwert D(i, j) abhängig gemacht. Zur Anzeige des erforderlichen Punkts an O(x, y) sind folgende Berechnungen erforderlich:
  • i = x Modulo n (Gl. 1)
  • j = y Modulo m (Gl. 2)
  • X und y sind die Bildelementpositionen und n und m sind die gewünschte Länge und Breite der Dithermatrix D. Ist S(x, y) > D(i, j), wird der Punkt an O(x, y) intensiviert, und andererseits nicht. Ein Beispiel dieses Vorgangs ist in Fig. 3 gezeigt. Eine Eingangsmatrix 30 mit S(x, y) und eine Dithermatrix 30 mit Orten D(i, j) 31 werden in Verbindung mit der vorstehend angeführten Anzeigeintensivierungsregel zur Erzeugung von Ausgangsmatrixelementen O(x, y) verwendet, wobei 0 jenen Punkten entspricht, die nicht intensiviert sind, und 1 den Punkten entspricht, die intensiviert sind. Daher wird ein Eingangselement S(0, 0) mit einem Wert 0 mit D(0, 0) mit einem Wert 0 verglichen, wobei die Vergleichsbestimmung nicht erfüllt ist, sodass der Punkt O(0, 0) nicht intensiviert wird. Ein Eingangselement S(2, 3) mit einem Wert 3 passt zu dem Dithermatrixelement D(0, 1), da 2 Modulo 2 = 0 und 3 Modulo 2 = 1 ist. D(0, 1) hat einen Wert 3, sodass das Ausgangselement O(2, 3) erhellt wird, usw.
  • Das vorstehend beschriebene Beispiel stellt eine Musteroperation einer Dithermatrix der Größe 2 · 2 Elemente für eine schwarz-weiß-Anzeige dar. Die Wahl der bestimmten Werte einer Dithermatrix wird durch eine Anzahl wichtiger Faktoren bestimmt, obwohl sie bis zu einem gewissen Grad willkürlich ist:
  • 1. Die Anzeigeeinrichtung, die das Bild anzeigen soll. Einige Einrichtungen, wie Laserdrucker und Filmaufzeichnungseinrichtungen sind schlecht bei der Wiedergabe isolierter "eingeschalteter" Bildelemente, und somit müssen die Dithermatrixelemente derart gewählt werden, dass die Ausgangsmatrixelemente so gut wie möglich geclustert sind. Diese Wahl ist unter dem Namen "Clusterpunkt-geordnete Ditherverarbeitung" ("clustereddot ordered dither") bekannt.
  • 2. Das Erfordernis zur Vermeidung der Einführung visueller Artefakte. Bei einem Ausgangsbild ist die Anzeige von Bereichen gleicher oder sich geringfügig verändernder Intensität einer bestimmten Farbe üblich.
  • Bestimmte Permutationen der Matrixwerte haben Artefakte wie Linien zur Folge, wenn diese Bereiche angezeigt werden. In Fig. 4 ist eine 3 · 3-Dithermatrix 33 gezeigt, die horizontale Linien in einem beliebigen großen Bereich des Bildes erscheinen lässt, der eine Intensität gleich 3 hatte.
  • 3. Die Dithermatrix sollte vorzugsweise alle Werte im Bereich von 0 bis zum maximalen auszugebenden Wert einschließen. Beispielsweise speichern übliche Computersysteme Bilder als 8 Bit-Stufen für jede Primärfarbe. Daher ist eine Dithermatrix mit 256 verschiedenen Werten zur Erhöhung der Körnigkeit anzeigbarer Werte wünschenswert. Außerdem ist es bei großen Matrizen wünschenswert, jeden Wert mehrere Male zu wiederholen.
  • Durch die Erhöhung der Anzahl an miteinander gruppierten Bildelementen zur Verwendung bei einer Dithermatrix ist die Zuordnung von Werten zu der Dithermatrix nicht leicht ersichtlich. Ist beispielsweise die größere Dithermatrix in der Ordnung von 60 · 68 Elementen, gibt es 4.080 mögliche Intensitätswertelemente in der Dithermatrix, die zugeordnet werden müssen.
  • Die US-A-5 214 517 von Sullivan offenbart ein Verfahren zur Halbtonverarbeitung eines Bildes mittels korrelierter mehrstufiger binärer Muster mit minimalem visuellen Rauschen, die durch einen als simuliertes Härten bekannten Vorgang erzeugt werden, und unter Verwendung eines separaten Halbtonbitmusterspeichers für jede mögliche Eingangsstufe, woraus sich eine wesentliche Erhöhung des erforderlichen Musterspeicherplatzes ergibt. Die Erfindung basiert auf der Erzeugung einer Standarddithermatrix anstelle von mehrstufigen Bitmustern zusätzlich zur Offenbarung der Verwendung von Verfahren, die sich von denen bei Sullivan unterscheiden.
  • Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Anzeigeverfahren auszugestalten.
  • Gemäß einer Ausgestaltung der Erfindung ist ein Verfahren zur Bestimmung der Werte einer Dithermatrix wie in Patentanspruch 1 dargelegt offenbart.
  • Gemäß einer weiteren Ausgestaltung der Erfindung ist eine Bilddatenerzeugungseinrichtung nach Patentanspruch 16 offenbart.
  • Kurzbeschreibung der Zeichnung
  • Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die beiliegende Zeichnung näher beschrieben.
  • Es zeigen:
  • Fig. 5 ein Ablaufdiagramm eines simulierten Härtealgorithmus,
  • Fig. 6(1) und 6(2) eine schematische Darstellung des "Wickel"-Entfernungsmessverfahrens, das mit der Erfindung verwendet wird, und
  • Fig. 7 ein schematisches Blockschaltbild mit einer Dithermatrix, die gemäß dem bevorzugten Ausführungsbeispiel der Erfindung aufgebaut ist.
  • Beschreibung des bevorzugten Ausführungsbeispiels und weiterer Ausführungsbeispiele
  • Bei dem bevorzugten Ausführungsbeispiel wird der jeder Dithermatrixzelle zugeordnete Wert unter Verwendung einer allgemeinen Optimierungsprozedur bestimmt, wobei die Einträge der Dithermatrix die Variablen für die Optimierungsprozedur sind, und die zu optimierende Zielfunktion weist eine Metrik auf, die die Qualität der Bilder, die durch die Dithermatrix erzeugt werden, näherungsweise misst. Die Qualität des Optimierungsverfahrens und der Zielfunktion bestimmen die Qualität der endgültigen Dithermatrix. Es ist auch wichtig, dass die Optimierungsprozedur nicht zu lange dauert oder schwer zu bearbeiten ist. Verschiedene Verfahren zur Verringerung der Zeitdauer werden vorgestellt.
  • Das bevorzugte Ausführungsbeispiel verwendet eine "simuliertes Härten" genannte Optimierungsprozedur zur Optimierung der Dithermatrix. Es können auch andere Optimierungsalgorithmen, die dem Fachmann auf dem Gebiet der Computerverfahren zur Optimierung bekannt sind, verwendet werden. Diese beinhalten kontinuierliche Abfallalgorithmen, beispielsweise steilste Abfall- und konjugierte Gradientenalgorithmen, und die sukzessive Näherung durch ein lineares Programmiermodell.
  • Es kann auch ein hybrider Ansatz unter Verwendung einer Vielzahl von Verfahren angewendet werden. Beispielsweise kann das simulierte Härten zur Erzeugung einer Anfangsdithermatrix verwendet werden, und eine sukzessive Näherung durch ein lineares Programmiermodell kann dann zur Verbesserung der Ergebnisse verwendet werden.
  • Die durch diese Optimierungsverfahren erforderliche Zielfunktion ist eine Funktion, die eine Zahl erzeugt, die die Güte oder Qualität eines Systems misst. Im vorliegenden Fall sollte die Zielfunktion ein Maß der Qualität der Ditherbilder sein, die unter Verwendung der Dithermatrix erzeugt werden. Eine weitere wichtige Überlegung bei der Wahl der Zielfunktionen besteht darin, dass diese nicht zu lange berechnet werden müssen.
  • Das bevorzugte Ausführungsbeispiel verwendet eine Zielfunktion, die das Zusammengruppieren von Ausgangsbildelementen durch Maximierung der Entfernung zwischen Bildelementen, die die gleiche Farbe haben, d. h. beide sind eingeschaltet oder ausgeschaltet, zu verhindern versucht. Andere Zielfunktionen sind möglich. Beispielsweise kann eine Zielfunktion auf die Minimierung der Differenz zwischen einem Ursprungsbild, das tiefpassgefiltert wurde, und einem tiefpassgefilterten Ditherbild gerichtet sein.
  • Die Beschreibung des bevorzugten Ausführungsbeispiels bezieht sich auf eine monochromatische Ausgangssituation. Die Vollfarbausgangssituation kann leicht durch das unabhängige Bearbeiten jeder Primärfarbe erhalten werden.
  • Bevorzugtes Verfahren zur Bildung einer Zielfunktion
  • Das bevorzugte Ausführungsbeispiel verwendet eine Zielfunktion, die die Bündelung oder Zusammengruppierung von Bildelementen der gleichen Farbe in dem Ditherbild misst. Die gleiche Farbe heißt, dass bei einer bestimmten Intensitätsstufe zwei separate Ditherzellenwerte in ihren jeweiligen Bildelementen resultieren, die beide ein oder beide aus sind. Es ist wahrscheinlich, dass die benachbarten Bildelemente des Ursprungsbildes die gleichen oder ähnliche Intensitäten aufweisen. Daher wird angenommen, dass das Ursprungsbild überall die exakt gleiche Intensität hat. Bei einer gegebenen Intensität in dem Ursprungsbild führt die Minimierung einer Funktion mit der Form wie in Gleichung 3 zu einem glatt ditherverarbeitenden Muster für diese Intensität.
  • Ziel = Σ f(dist(p1, p2)) (Gl. 3)
  • Alle möglichen Paare der Punkte (p1, p2) mit der gleichen Farbe bei einer gegebenen Intensität p1 ≠ p2
  • Die Funktion f fällt vorzugsweise monoton mit der Entfernung und dist() ist ein Maß für die Entfernung zwischen den Punkten p1 und p2.
  • Das bevorzugte Distanzmaß dist() ist die euklidische Entfernung zwischen den Punkten, da aber die Dithermatrix im Allgemeinen in der vertikalen und horizontalen Richtung wiederholt wird, wird dist() Modulo der Größe der Dithermatrix gemessen. Ein Beispiel dieses Vorgangs ist in den Fig. 6(1) und 6(2) gezeigt. Eine große in Fig. 6(1) gezeigte Matrix 34 weist zwei Bildelemente 35, 36 auf, zwischen denen eine Entfernung gemessen werden soll. Normalerweise würde diese Entfernung d1 sein, aber im Wicklungssinn umwickeln sich die Grenzen der Matrix. Dies ist gleich einer Kopie der Matrix 37, die entlang jeder Achse der Ursprungsmatrix 34 platziert wird. Daher ist die kürzeste Distanz zwischen den zwei Bildelementen 35, 36 d2' anstelle von d1'. Das kann mathematisch wie folgt beschrieben werden:
  • Es sei p1 = (x1, y1)
  • p2 = (x2, y2)
  • zwei willkürliche Zellen in der Dithermatrix an den Positionen x1, y1 und x2, y2, dann ergibt sich für eine n · m-Dithermatrix die bevorzugte Entfernung zu:
  • dist(p1, p2) = [(x1 - x2)mod n]² + [(y1 - y2)mod m]² (Gl. 4)
  • Wobei die Mod-Funktion sich auf negative Zahlen gemäß der folgenden Beziehung für alle x erstreckt:
  • x mod m = (x-m)mod m (Gl. 5)
  • Beispielsweise ist -3 mod 5 = 2 mod 5 = 2.
  • Die Funktion f() wird vorzugsweise wie folgt gewählt:
  • f(dist) = 1/distγ (Gl. 6)
  • Wobei γ ein Dispersionsstärkefaktor ist, der vorzugsweise gleich 1 ist, obwohl andere positive Werte verwendet werden können.
  • Gleichung 3 liefert die Zielfunktion für eine einzelne Intensitätsstufe des ursprünglichen Bildes. Zum Erhalten einer Zielfunktion, die alle möglichen Bildintensitätsstufen richtig berücksichtigt, muss eine Zielfunktion erzeugt werden, die die in Gleichung 3 gezeigte Quantität für alle möglichen Intensitäten wie in Gleichung 7 gezeigt summiert:
  • Wobei w (Intensität) ein Gewichtungsfaktor ist, der der Bildqualität an jeder Intensitätsstufe eine relative Bedeutung zuweist. Zu Beschreibungszwecken wird angenommen, dass jede Intensitätsstufe gleichermaßen behandelt wird, und somit alle w (Intensität)-Werte gleich 1 sind.
  • In einem alternativen Ausführungsbeispiel wird bei der Zuweisung der Gewichte die Augenantwort berücksichtigt. Da die Augenantwort auf die Intensität eine logarithmische Funktion ist, erscheint es vernünftig, den geringeren Intensitätsstufen größere Gewichte zuzuweisen. Die Augenempfindlichkeit auf Rauschen ist proportional zur Neigung der Antwortkurve bei einer gegebenen Intensität. Daraus ergibt sich die folgende alternative Zuordnung der Gewichte:
  • Der Fall einer Intensität von Null kann verworfen werden, da in diesem Fall unabhängig von den Dithermatrixwerten alles schwarz ist.
  • Diese Überlegungen führen zu der endgültigen bevorzugten Zielfunktion:
  • Alternatives Verfahren zur Ausbildung einer Zielfunktion
  • Ein alternativer Ansatz zur Erzeugung einer Zielfunktion besteht in dem Versuch, den Unterschied zwischen einem tiefpassgefilterten ursprünglichen Bild und dem entsprechenden tiefpassgefilterten Ditherbild zu minimieren. Die Effizienz dieses Verfahrens liegt darin, dass das menschliche Auge alles gesehene verwischt. D. h., das Auge legt ein örtliches Tiefpassfilter an alle Bilder an. Die Ditherverarbeitung und andere Halbtonverfahren werden als effektiv angesehen, da das verwischte Ditherbild einer verwischten Version des ursprünglichen Bildes sehr ähnlich ist.
  • Ein Ditherbild kann für jede Intensitätsstufe durch Ditherverarbeitung eines Bildes mit einer konstanten Intensität an jeder vorbestimmten Stufe berechnet werden. Das resultierende Ditherbild wird dann wie nachstehend beschrieben gefiltert, woraus sich so genannte "tiefpassgefilterte Ditherbild" Bilddaten ergeben, die in einem Array in einem Computerspeicher während der Berechnung gespeichert werden können.
  • Das Filterverfahren kann standardmäßig durch Anwenden eines Faltungstiefpassfilters bei dem Bild für jede Intensität ausgeführt werden. Beispielsweise kann bezüglich des ursprünglichen Bildes eine tiefpassgefilterte Version jedes Bildelements wie folgt berechnet werden:
  • Dabei sind Bild (a, b) das Bildelement am Ort a, b des Bildes und wSx, Sy die Gewichtskoeffizienten des Filters. Ein tiefpassgefiltertes Ditherbild wird auf die gleiche Weise durch Anwendung des Filters bei einer Ditherversion des Bildes erzeugt.
  • Bei der hier beschriebenen alternativen Zielfunktion wird ein Versuch zur Modellierung der Verwischung des menschlichen Auges explizit unternommen, und der Unterschied zwischen dem verwischten ursprünglichen Bild und dem verwischten Ditherbild minimiert.
  • Die bevorzugte Differenzmetrik ist eine Metrik aus der Summe der Quadrate, was zu folgender Gleichung für die Zielfunktion zum Dithern eines einzelnen bestimmten Bildes führt:
  • Wie vorstehend in Verbindung mit der bevorzugten Zielfunktion angeführt, ist es am Besten, mit einem Bild an jeder Stufe mit einer konstanten Intensität zu beginnen. Eine Tiefpassfilterung dieses Bildes bewirkt ein Glätten von Unebenheiten in einem Bild, und da das Bild eine einzige Intensität hat, belässt die Tiefpassfilterung eines flachen Bildes dieses unverändert.
  • Für jede mögliche Intensität des Eingangsbildes kann ein Gewicht zugeordnet werden, das durch die relative Signifikanz dieser Stufe bestimmt wird. Daher ergibt sich die endgültige Zielfunktion zu:
  • Optimierung der Zielfunktion
  • Das bevorzugte Ausführungsbeispiel verwendet eine "simuliertes Härten" genannte Optimierungsprozedur zur Optimierung der Zielfunktion. Das simulierte Härten wird bevorzugt, da es teilweise immun gegen lokale Optima ist, da es sehr schnell, leicht auf einem Computer programmierbar und für sehr große Probleme geeignet ist. Es tendiert auch zur Erzeugung ungeordneter Lösungen, was eine erwünschte Eigenschaft darstellt, da sie das Erscheinen regulärer Muster in dem Ditherbild vermeidet, die das Auge sehr gut wahrnimmt.
  • Das simulierte Härten ist ein effizientes Verfahren zum Auffinden des minimalen Werts einer Funktion sehr vieler unabhängiger Variablen. Die üblicherweise Kostenfunktion oder Zielfunktion genannte Funktion stellt ein quantitatives Maß der Güte eines komplexen Systems dar.
  • Der erste Schritt des Verfahrens besteht in der Erzeugung eines Ziels, das einen von einer Gruppe von Variablen x&sub1; bis xm abhängigen Wert aufweist. Die Werte der Variablen x&sub1; bis xm sind einer geringen zufälligen Änderung unterworfen und das Ziel wird neu bewertet und mit dem alten Wert des Ziels verglichen. Die Änderung des Ziels wird als ΔZiel bezeichnet.
  • Ist die Änderung der Variablen in einem geringeren Ziel resultiert, wird der neue Variablensatz immer akzeptiert. Ist die Änderung der Variablen in einem größeren Wert für das Ziel resultiert, kann der neue Variablensatz akzeptiert werden oder nicht. Die Entscheidung zur Akzeptierung des neuen Variablensatzes wird mit einer gegebenen Wahrscheinlichkeit bestimmt, wobei die bevorzugte Akzeptierungswahrscheinlichkeit sich ergibt zu:
  • Wahrsch(ΔZiel) = e -ΔZiel/T (Gl. 13)
  • Wobei T die simulierte Temperatur des Systems ist.
  • Daher resultiert eine hohe Temperatur T für ein gegebenes ΔZiel in einer großen Wahrscheinlichkeit der Akzeptierung der Änderung der Werte von x&sub1; bis xm, wobei bei einer niedrigen Temperatur T lediglich eine geringe Akzeptierungswahrscheinlichkeit vorliegt. Die Temperatur T wird zu Beginn auf eine hohe Temperatur eingestellt und allmählich bei jeder Iteration der Härteschleife verringert. Die Gesamtstruktur eines Computerprogramms in Pseudokode, das den simulierten Härtevorgang implementiert, ergibt sich wie folgt:
  • T = start_Temperatur;
  • variablen = start_variablen
  • wiederhole_bis (Konvergenz oder Temperatur_zu_kalt)
  • {
  • /*Zufallsänderung der Variablen erzeugen*/ neue_variablen = zufällige_kleine_Änderung (variablen);
  • /*Zufallsänderung auswerten*/ ΔZiel = Ziel_Funktion(neue_variablen)- Ziel_Funktion (variablen);
  • wenn (&Delta;Ziel < = 0) /*Verbesserung immer akzeptieren*/ variablen = neue_variablen;
  • }
  • sonst wenn (Zufall_gleitet_zwischen_0_und_1() < exp(-&Delta;Ziel/T))
  • {
  • /*Verschlechterung manchmal akzeptieren*/ variablen = neue_variablen
  • }
  • sonst
  • {
  • /*neuevariablen_verwerfen*/
  • }
  • T allmählich verringern gemäß Härteplan;
  • }
  • }
  • Ein Ablaufdiagramm zur Verwendung bei der Implementierung des vorstehend beschriebenen ist in Fig. 5 gezeigt. Aus dem Ablaufdiagramm und der Vorhergehenden Beschreibung ist ersichtlich, das die Prozedur dem Kühlen erwärmter Atome zur Ausbildung eines Kristalls nicht unähnlich ist. Daher der Ausdruck simuliertes Härten und die Bezugnahme auf die Temperatur als Maß der Unordnung.
  • Zur Verwendung des simulierten Härtens zur Optimierung einer Dithermatrix ist ein Verfahren zur Bestimmung erforderlich, wie eine Zufallsänderung (Mutation) bei einer gegebenen Dithermatrix anzuwenden ist. Das bevorzugte Zufallsmutationsverfahren besteht in der Auswahl zweier (x, y)-Koordinaten der Dithermatrix unter Verwendung eines symmetrischen Zufallszahlengenerators. Die Einträge der Dithermatrix an diesen zwei Orten werden dann vertauscht. Ob diese Vertauschung als neue Lösung akzeptiert oder verworfen und daher nicht ausgeführt wird, wird durch das zuvor beschriebene simulierte Härtekriterium bestimmt.
  • Theoretische Überlegungen zeigen, dass das Härten bei einer Temperatur von Unendlich beginnen sollte. Bei dem bevorzugten Ausführungsbeispiel wird dies durch zufälliges Durcheinanderwerfen der Dithermatrix durch die Durchführung des vorstehend angeführten zufälligen Vertauschungsvorgangs bei einer sehr großen Zahl von Ditherzentren unter Akzeptieren aller Vertauschungen ohne Bewertung der Zielfunktion erreicht.
  • Effektive Verfahren zur Berechnung der Dithermatrix
  • Unvorteilhafterweise ist die zur Berechnung einer mittleren oder großen Dithermatrix erforderliche Zeit unter Verwendung des Algorithmus des bevorzugten Ausführungsbeispiels in seiner vorliegenden Form äußerst hoch. Mehrere Verfahren können zur Reduzierung dieser Zeit angewendet werden und werden nachstehend beschrieben.
  • Für eine n · m-Dithermatrix ergibt sich die Anzahl der Einträge in die Dithermatrix zu:
  • #Einträge = n · m (Gl. 14)
  • Gleichung 7 erfordert, dass jede Bewertung der Zielfunktion in der folgenden zeitlichen Reihenfolge durchgeführt wird:
  • Zeit Pro Auswertung = 0(#Einträge² · #Intensitäten) = 0 (n² · m² · #Intensitäten) (Gl. 15)
  • Damit das simulierte Härten arbeitet, muss jeder Dithermatrixeintrag sehr oft vertauscht werden. Wird eine Epoche als näherungsweise gleich der Anzahl von Vertauschungen definiert, die der Anzahl von Einträgen in dem Array entsprechen (d. h. eine Epoche ist näherungsweise gleich n · m), kann der simulierte Härtevorgang typischerweise mehrere hundert Epochen dauern. Daher beläuft sich die Zeit bis zum Abschluss näherungsweise wie folgt:
  • Zeit Bis Abschluss = #Epochen · #Auswertungen pro Epoche · #Zeit pro Auswertung = O(#Epochen · n³ · m³ · #Intensitäten) (Gl. 16)
  • Für eine 60 · 60-Matrix für ein Eingangsbild mit 256 Intensitätsstufen, das für 500 Epochen gehärtet wird, ergibt sich die Anzahl der Iterationen der inneren Schleife zu:
  • Zeit Bis Abschluss = 500 · 60³ · 60³ · 256 Iterationen = 6,0 · 10¹&sup5; Iterationen (Gl. 17)
  • Typische Arbeitsrechner können gegenwärtig ungefähr 10&sup9; Iterationen pro Stunde durchführen, sodass ein Computer Jahrhunderte zum Abschließen der vorstehend angeführten Aufgabe für die definierte Dithermatrixgröße brauchen würde.
  • Ist D(P) der Dithermatrixwert am Punkt p, ergibt sich die Anzahl der Intensitätsstufen, für die zweite Dithermatrixorte p1 und p2 die gleiche Farbe haben (wie vorstehend definiert), zu:
  • #Intensitäten p1, p2 mit gleicher Farbe = (#Intensitäten - D(p1)-D(p2) ) (Gl. 18)
  • Daher kann Gleichung 9 wie folgt geschrieben werden:
  • Dies beseitigt die Summation über alle Intensitäten der Gleichung 7, woraus sich eine wesentliche Gesamtbeschleunigung ergibt.
  • Die Anzahl der Intensitäten (#Intensitäten) ist eine Konstante, und das Hinzufügen einer Konstanten zu der Zielfunktion ändert die sich aus der Optimierung ergebende Lösung nicht. Daher kann dieser Ausdruck aus der Zielfunktion entfernt werden, woraus sich ergibt:
  • Weitere Beschleunigungen können durch Erkennen erhalten werden, dass der simulierte Härtevorgang lediglich die Berechnung der Änderung der Zielfunktion aufgrund des Vertauschens zweier Dithermatrixeinträge erfordert, und die Berechnung des vollständigen Ziels nicht wirklich erforderlich ist. Die meisten Punkte in Gleichung 20 bleiben unverändert, wenn zwei Dithermatrixeinträge vertauscht werden, und lediglich Paare, die einen der zwei bei der Vertauschung enthaltenen gewählten Punkte beinhalten, ändern ihre Werte.
  • Der Beitrag eines Dithermatrixeintrags Dc an einem Punkt pc (ob_dp) zu Gleichung 20 ist gegeben durch:
  • Daher ist die Änderung der Zielfunktion in Gleichung 20 aufgrund des Vertauschens der Dithermatrixwerte an den Punkten p1 und p2 wie folgt gegeben:
  • &Delta;Ziel = ob_dp(D2, p1) + ob_dp(D1, p2) - ob_dp(D1, p1) - ob_dp(D2, p2) (Gl. 22)
  • Wobei der Dithermatrixwert D1 am Punkt p1 startet und sich zu Punkt p2 bewegt, und der Dithermatrixwert D2 am Punkt p2 startet und sich zum Punkt p1 bewegt.
  • Die Auswertung von Gleichung 22 erfordert das Untersuchen jedes Punkts der Dithermatrix vier Mal, anstelle der Überprüfung jedes Paars der Punkte der Dithermatrix wie in Gleichung 20 erforderlich.
  • Dies führt wiederum zu einer wesentlichen Beschleunigung, und Gleichung 21 und Gleichung 22 werden vorzugsweise bei der Erzeugung kleiner und mittlerer Dithermatrizen verwendet.
  • Die zu Gleichung 21 und Gleichung 22 führende Analyse kann bei der allgemeineren Gleichung 7 angewendet werden, was zu einer allgemeineren Formulierung von Gleichung 21 führt:
  • Die zur Erzeugung einer Dithermatrix unter Verwendung von Gleichung 22 erforderliche Zeit ergibt sich zu:
  • Zeit Bis Abschluss = #Epochen · #Auswertungen pro Epoche · #Zeit pro Auswertung = O(#Epochen · n² · m²) (Gl. 24)
  • Dies ist gut mit Gleichung 16 vergleichbar und ist für kleine und mittlere Dithermatrizen (weniger als 5.000 Einträge) praktisch.
  • Für größere Dithermatrizen ist eine weitere Beschleunigung erforderlich, um das Härten praktikabel zu machen. Dies kann durch die Verwendung einfacher Näherungen erreicht werden.
  • Die in Gleichung 21 enthaltene Berechnung beinhaltet eine inverse Entfernungsbeziehung. Dies betrifft eine große Anzahl von Punkten, die sehr wenig zum Endergebnis beitragen, da sie weit von pc entfernt sind, der den in Frage kommenden Punkt darstellt. Die Näherung beinhaltet die Vernachlässigung des Beitrags dieser Punkte, und es werden lediglich Punkte innerhalb einer kleinen Entfernung von pc verwendet. Dadurch wird ein kreisförmiges Fenster um pc mit einem als Fenster Radius bezeichneten Radius eingeführt.
  • Gleichung 21 kann nun wie folgt genähert werden:
  • Es wurde herausgefunden, dass die Verwendung von Gleichung 25 in der Praxis schlechtere Ergebnisse der Dithermatrizen aufgrund der Diskontinuität an der Entfernung dist() = Fenster_Radius liefert. Diese Diskontinuität wird durch die Verwendung der folgenden Formel stattdessen beseitigt:
  • Was die Diskontinuität beseitigt und bei dem bevorzugten Ausführungsbeispiel verwendet wird, wenn eine größere Dithermatrix erforderlich ist.
  • Die in Gleichung 21 verwendete Funktion ob_dp kann für die allgemeinere Gleichung 23 wie folgt definiert werden:
  • ob_dp(Dc, pc) = - &Sigma; Dc - Dp · f(dist(pc, p)) - f(Fenster_Radius)) alle Punkte p, p &ne; pc (Gl. 27)
  • Die zur Berechnung der Dithermatrizen unter Verwendung von Gleichung 26 oder Gleichung 27 erforderliche Zeit liegt dann in der folgenden Größenordnung:
  • Zeit bis Abschluss = O(#Epochen · n · m Fenster_Radius²) (Gl. 28)
  • Dies wurde als praktisch selbst bei der Erzeugung sehr großer Dithermatrizen befunden. Für den Fensterradius wurden vernünftige Werte zwischen 7 und 9 herausgefunden.
  • Die Größe einer Dithermatrix und die Anzahl der Stufen
  • Die tatsächliche Größe der verwendeten Dithermatrix und die Anzahl der Stufen in der Dithermatrix beinhaltet einen Kompromiss zwischen einer Anzahl sich wiedersprechender Aufgaben:
  • 1) Eine größere Dithermatrix liefert im Allgemeinen verbesserte Ergebnisse,
  • 2) eine kleinere Dithermatrix braucht weniger Speicherplatz bei der Implementierung und weniger Zeit zur Erzeugung.
  • 3) eine quadratische Dithermatrix kann leichter als eine Dithermatrix bearbeitet werden, bei der Länge und Breite nicht gleich sind,
  • 4) die hardwaremäßige Implementierung ist im Allgemeinen einfacher, wenn Breite und Länge der Dithermatrix Potenzen von 2 sind,
  • 5) damit die Dithermatrix die gleiche Durchschnittsintensität in dem Ditherbild wie in dem Eingangsbild liefert, sollte die gleiche Anzahl von Dithermatrixeinträgen jede Stufe aufweisen. Wenn eine exakte Gleichheit unmöglich ist, sollten die Stufen so gleichmäßig wie möglich verteilt sein, und
  • 6) die Anzahl der Dithermatrixstufen sollte folgender Beziehung genügen:
  • #Dither_Matrix_Stufen = #Intensitäten - 1 (Gl. 29)
  • Eine in der Praxis oft verwendete Standardanzahl von Intensitäten ist 256, und daher ist #Dither_Matrix_Stufen = 255.
  • Das einfachste und geradlinigste Verfahren besteht in der Einstellung der Anzahl der Dithermatrixstufen nach Gleichung 29, wobei #Intensitäten die Anzahl der Intensitäten am Eingang darstellt. Wurde die Anzahl der Stufen bestimmt, besteht der nächste Schritt in der Bestimmung der Größe der Dithermatrix.
  • Ein Verfahren zur Bestimmung der Matrixgröße besteht in der Auswahl der Länge und Breite der Dithermatrix derart, dass
  • Länge · Breite = K · #Dither_Matrix_Stufen (Gl. 30)
  • Wobei K eine positive ganze Zahl ist, und dann jede Stufe K Dithermatrixeinträgen zugeordnet wird.
  • Ist beispielsweise #Intensitäten = 256, dann beträgt #Dither_Matrix_Stufen = 255. 255 = 15 · 17. Eine mögliche Dithermatrixgröße ist Länge = 15, Breite = 17, woraus sich K = 1 ergibt. Eine größere Möglichkeit ist Länge = 2 · 15 = 30, Breite = 2 · 17 = 34, K = 4. Eine noch größere Möglichkeit ist Länge = 4 · 15 = 60, Breite = 4 · 17 = 68, K = 16.
  • Obwohl eine quadratische Matrix wünschenswert wäre, bedeutet der Zwang, dass jeder Pegel K Dithermatrixeinträgen zugeordnet werden muss, dass die resultierende Matrix rechteckig sein muss.
  • Ein anderer möglicher Weg zur Einstellung der Größe der Dithermatrix besteht im Aufweichen der Forderung, dass jeder Pegel einer gleichmäßigen Anzahl an Dithermatrixeinträgen zugeordnet werden muss, und in der Zuordnung dieser so gleichmäßig verteilt wie möglich. Die Größe der Dithermatrix sollte zuerst entsprechend Hardwarekostenüberlegungen, gemäß der gewünschten Dithermatrixgröße, usw. festgelegt werden, allerdings unabhängig von #Dither_Matrix_Stufen und #Intensitäten. Gleichung 29 wird dann zur Einstellung der Anzahl der Ditherstufen wie vorstehend angeführt verwendet. Die zugeordneten Stufen der Dithermatrix werden derart zugeordnet, dass die Extra- oder Reststufen so gleichmäßig wie möglich zwischen den minimalen und maximalen möglichen Stufen ausgebreitet werden.
  • Das bevorzugte Zuordnungsverfahren ist eine Variation des vorstehend beschriebenen, das durch die Festlegung der Größe der Dithermatrix allerdings unabhängig von #Dither_Matrix_Stufen und #Intensitäten begonnen wird. Nachdem die Dithermatrixgröße ausgewählt ist, wird die Anzahl der Stufen in der Dithermatrix entsprechend folgender Formel eingestellt:
  • #Dither_Matrix_Stufen = Länge · Breite (Gl. 31)
  • Mit dieser Einstellung wird jedem Dithermatrixeintrag exakt eine Stufe zugeordnet, und die Dithermatrix wird entsprechend den vorstehend beschriebenen Verfahren optimiert. Damit die resultierende Dithermatrix verwendbar ist, müssen ihre Einträge gerundet werden, sodass Gleichung 29 erfüllt ist. Die bevorzugte Rundungsformel, um dies zu erreichen, ergibt sich wie folgt:
  • Durch die Verwendung des simulierten Härtevorgangs wie vorstehend beschrieben kann eine verbesserte Dithermatrix erhalten werden. Die Erzeugung der erforderlichen elektrischen Eingangs- und Ausgangssignale folgt im Wesentlichen den herkömmlichen Verfahren abgesehen von der Anwendung des Dithervorgangs im Verlauf dieser Techniken wie vorstehend beschrieben anstelle herkömmlicher Dithervorgänge.
  • Fig. 7 zeigt ein Blockschaltbild der für die erforderliche Erzeugung der Anzeigedaten verwendeten elektrischen Schaltung. Eine Ditherschaltung 40 ist gezeigt, die ein nicht modifiziertes zusammengesetztes Videosignal 52 empfängt. Das Signal 42 wird in einen Demultiplexer und einen Signalkonditionierer 41 eingegeben, der das Signal in digitale RGB-Daten aufbricht, wobei jede Farbkomponente jeweils auf einer separaten Leitung 42, 43 und 44 ausgegeben wird.
  • Jede Farbkomponente 42, 43 und 44 wird in einen entsprechenden Vergleicher 45, 47, 49 eingegeben, dem auch eine Signaleingabe zugeführt wird, die aus einem entsprechenden Nur-Lese-Speicher (ROM) 46, 48, 50 hergeleitet wird. Jedes ROM enthält eine Nachschlagetabelle entsprechend der Werte der entsprechenden Dithermatrix für diese Farbe. Jeder Vergleicher kann dadurch einen Größenunterschied zwischen den zwei Eingaben bestimmen und ein digitales Ausgangssignal direkt einer FLCD-Einrichtung 51 zur Anzeige zuführen.
  • Vorstehend ist lediglich ein Ausführungsbeispiel der Erfindung beschrieben, und es können für den Fachmann offensichtliche Abwandlungen durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen.
  • Die Erfindung kann beispielsweise bei einer Vielzahl von Farbmodellen ohne signifikante Änderungen durch die Anwendung des vorstehend beschriebenen bei jeder Farbe der Reihe nach angewendet werden, und findet allgemeine Anwendung, wenn eine Halbtonverarbeitung von Bildern erforderlich ist.

Claims (17)

1. Verfahren zur Bestimmung der Werte einer Dither-Matrix, die ein Array von Punkten umfasst,
gekennzeichnet durch die Schritte
Zuordnen von Anfangswerten zu jedem Punkt in der Dither- Matrix,
Bilden einer Zielfunktion beruhend auf der Zuordnung zum Erhalten eines Maßes für die Qualität der Dither-Matrix und
Optimieren der Zielfunktion durch Änderung der Dither- Werte innerhalb eines Bereichs möglicher Intensitätswerte derart, dass die Zielfunktion einen inversen Distanzfaktor zwischen verschiedenen Punkten der gleichen Intensitätsstufe in der Dither-Matrix enthält.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zielfunktion die Form hat:
wobei dist(p1, p2) ein Maß der Distanz zwischen den Dither- Punkten p1 und p2, f() eine Funktion, die mit der Distanz fällt und w(Intensität) ein Gewichtungsfaktor für jede Intensitätsstufe ist.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass
wobei &gamma; ein Dispersionsstärkefaktor positiver Größe ist.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass w(Intensität) sich invers mit der Intensitätsstufe ändert.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zielfunktion gegeben ist durch
wobei w(Intensität) einen Gewichtungsfaktor für jede Intensitätsstufe darstellt und tiefpassgefiltertes Dither- Bild(x, y) der Bildelementwert an der Position x, y eines tiefpassgefilterten Bildes ist, das einer Dither-Verarbeitung unterzogen wurde.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass das tiefpassgefilterte Bild ein Bild einer konstanten Intensitätsstufe gleich der Intensitätsstufe ist, über die summiert wird.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zielfunktion gegeben ist durch:
wobei dist(p1, p2) ein Distanzmaß zwischen p1 und p2 und D(p) der Dither-Matrixwert am Punkt p ist.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Optimierungsschritt ein simuliertes Härten einer Zielfunktion aufweist und das simulierte Härten eine Zufallspermutation der Dither-Matrix mit einem Tauschen zweier Dither-Punktwerte D1, D2 an Positionen p1 und p2 und das Bilden einer &Delta;Zielfunktion umfasst, wobei die &Delta;Zielfunktion wie folgt definiert ist:
&Delta;Ziel = ob_dp(D2, p1) + ob_dp(D1, p2) - ob_dp(D1, p1) - ob_dp(D2, p2)
wobei ob_dp(Dc, pc) wie folgt definiert ist:
wobei Dc der Wert der Dither-Matrix am Punkt c, Dp der Wert der Dither-Matrix am Punkt p und dist(pc, p) ein Distanzmaß zwischen den Punkten pc und p ist.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Optimierungsschritt ein simuliertes Härten einer Zielfunktion aufweist und das simulierte Härten eine Zufallspermutation der Dither-Matrix mit einem Tauschen zweier Dither-Punktwerte D1, D2 an Positionen p1 und p2 und das Bilden einer &Delta;Zielfunktion umfasst, wobei die &Delta;Zielfunktion wie folgt definiert ist:
&Delta;Ziel = ob_dp(D2, p1) + ob_dp(D1, p2) - ob_dp(D1, p1) - ob_dp(D2, p2)
wobei ob_dp(Dc, pc) wie folgt definiert ist:
wobei Dc der Wert der Dither-Matrix am Punkt c, Dp der Wert der Dither-Matrix am Punkt p und dist(pc, p) ein Distanzmaß zwischen den Punkten pc und p und Fenster_Radius ein vorbestimmter Einflussradius ist, bei dem Punkte beim Bestimmen des Ziels berücksichtigt werden.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Optimierungsschritt ein simuliertes Härten einer Zielfunktion aufweist und das simulierte Härten eine Zufallspermutation der Dither-Matrix mit einem Tauschen zweier Dither-Punktwerte D1, D2 an Positionen p1 und p2 und das Bilden einer &Delta;Zielfunktion umfasst, wobei die &Delta;Zielfunktion wie folgt definiert ist:
&Delta;Ziel = ob_dp(D2, p1) + ob_dp(D1, p2) - ob_dp(D1, p1) - ob_dp(D2, p2)
wobei ob_dp(Dc, pc) wie folgt definiert ist:
wobei Dc der Wert der Dither-Matrix am Punkt pc, Dp der Wert der Dither-Matrix am Punkt p und dist(pc, p) ein Distanzmaß zwischen den Punkten pc und p und Fenster_Radius ein vorbestimmter Einflussradius ist, bei dem Punkte beim Bestimmen des Ziels berücksichtigt werden.
11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Optimierungsschritt ein simuliertes Härten des Ziels umfasst.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Optimierungsschritt ein simuliertes Härten des Ziels umfasst und das simulierte Härten einen Zufallspermutationsschritt aufweist und die Zufallspermutation ein Tauschen der Werte einer Vielzahl von Elementen der Dither-Matrix enthält.
13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Größe der Dither-Matrix als ganzzahliges Vielfaches einer vorbestimmten Zahl gewählt wird, wobei die vorbestimmte Zahl um eins geringer als eine vorbestimmte Anzahl an Intensitätsstufen ist, die von der Dither-Matrix einer Dither-Verarbeitung zu unterziehen sind.
14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Dither-Matrix zur Optimierung der Anzeige eines Bildes auf einem Anzeigegerät verwendet wird.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass das Anzeigegerät eine ferroelektrische Flüssigkristallanzeigeeinrichtung ist.
16. Bilddatenerzeugungseinrichtung mit einem Speicher mit Werten einer Dither-Matrix an Orten in dem Speicher, die Orten in der Matrix entsprechen, gekennzeichnet durch
eine Vergleichereinrichtung zum Vergleich jedes Bildelements des anzuzeigenden Bildes mit dem Wert in dem Speicher an dem dem Bildelement entsprechenden Modulo-Ort, wobei ein Ausgangssignal der Vergleichereinrichtung aktiviert wird, wenn der gespeicherte Wert größer als der Bildelementwert ist, und dieses Ausgangssignal auf einer Anzeigeeinrichtung angezeigt wird, und wobei, wenn der gespeicherte Wert kleiner als der Bildelementwert ist, die Anzeigeeinrichtung nicht aktiviert wird,
eine Einrichtung zur Bestimmung einer Zielfunktion zum Erhalten eines Maßes für die Qualität der Dither-Matrix zur Anzeige entsprechender Dither-Bildelemente und
eine Einrichtung zur Optimierung der Zielfunktion zur Verbesserung der Bildqualität durch Ändern der Dither- Bildelemente innerhalb eines Bereichs möglicher Intensitätswerte derart, dass das Ziel einen inversen Distanzfaktor zwischen verschiedenen Punkten gleicher Intensitätsstufe in der Dither-Matrix enthält.
17. Erzeugungseinrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Dither-Matrix durch das Verfahren nach einem der Ansprüche 1 bis 15 bestimmt wird.
DE69424451T 1993-01-11 1994-01-07 Halbtonzitteroptimierungstechniken Expired - Fee Related DE69424451T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPL675493 1993-01-11

Publications (2)

Publication Number Publication Date
DE69424451D1 DE69424451D1 (de) 2000-06-21
DE69424451T2 true DE69424451T2 (de) 2000-10-12

Family

ID=3776645

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69424451T Expired - Fee Related DE69424451T2 (de) 1993-01-11 1994-01-07 Halbtonzitteroptimierungstechniken

Country Status (4)

Country Link
US (1) US5526021A (de)
EP (1) EP0606992B1 (de)
JP (1) JPH06318249A (de)
DE (1) DE69424451T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987219A (en) * 1993-09-01 1999-11-16 Canon Information Systems Research Australia Pty. Ltd. Method of producing a dither matrix by dividing an array into a plurality of regions and altering the borders of each region to have continuous irregular boundaries
AUPM440994A0 (en) * 1994-03-11 1994-04-14 Canon Information Systems Research Australia Pty Ltd A luminance weighted discrete level display
US5579457A (en) * 1994-07-29 1996-11-26 The Harlequin Group Ltd. Image display apparatus and method using irregularly placed curving structures
KR970705285A (ko) 1994-07-29 1997-09-06 할리퀸 그룹 리미티드 균일하게 분포된 농도 클러스터를 사용하는 이미지 디스플레이 방법 및 장치(image display using evenly distributed intensity clusters)
US5832122A (en) * 1995-03-24 1998-11-03 Fuji Photo Film Co., Ltd. Method of processing image data
ES2126482B1 (es) * 1996-04-23 1999-12-01 Univ Valencia Politecnica Procedimiento de calculo del tramado de tipo diffusion o dithering optimo para elaboracion de pantallas de serigrafia.
GB2325556B (en) * 1997-05-20 2001-05-23 Sharp Kk Light modulating devices
US6184527B1 (en) * 1997-08-26 2001-02-06 Raytheon Company Dither correction for infrared detector arrays
US7088473B2 (en) * 2001-02-26 2006-08-08 Sony Corporation System and method for effectively implementing a dither matrix for an electronic printer device
US20040233477A1 (en) * 2003-05-21 2004-11-25 International Business Machines Corporation Digital halftoning
CN100484190C (zh) * 2004-05-28 2009-04-29 瑞昱半导体股份有限公司 半色调化影像的方法、装置和产生递色罩的方法
JP2006005926A (ja) 2004-06-14 2006-01-05 Oce Technol Bv ディザマスクを生成する方法
EP1608146B1 (de) * 2004-06-14 2007-09-19 Océ-Technologies B.V. Verfahren für das Erzeugen einer Zittermatrix
GB2432961A (en) * 2005-12-01 2007-06-06 Screen Technology Ltd A display device with luminance correction means
US7733533B2 (en) * 2006-04-06 2010-06-08 Infoprint Solutions Company Llc Generating threshold values in a dither matrix
US20080024683A1 (en) * 2006-07-31 2008-01-31 Niranjan Damera-Venkata Overlapped multi-projector system with dithering
US20080024469A1 (en) * 2006-07-31 2008-01-31 Niranjan Damera-Venkata Generating sub-frames for projection based on map values generated from at least one training image
JP4757210B2 (ja) * 2007-02-09 2011-08-24 大日本スクリーン製造株式会社 閾値マトリクス生成方法、閾値マトリクス生成装置および閾値マトリクス
US8380653B2 (en) * 2010-01-19 2013-02-19 Xerox Corporation Solving continuous stochastic jump control problems with approximate linear programming
US20120087411A1 (en) * 2010-10-12 2012-04-12 Apple Inc. Internal bit depth increase in deblocking filters and ordered dither
JP5802041B2 (ja) 2011-04-12 2015-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、計算方法、プログラムおよび記録媒体
DE102021001265A1 (de) 2021-03-10 2022-09-15 Bundesrepublik Deutschland, vertr. durch das Bundesministerium der Verteidigung, vertr. durch das Bundesamt für Ausrüstung, Informationstechnik und Nutzung der Bundeswehr Computerimplementiertes Verfahren zur Erzeugung eines Tarnmusters

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920501A (en) * 1988-10-19 1990-04-24 Eastman Kodak Company Digital halftoning with minimum visual modulation patterns
US5164717A (en) * 1989-09-28 1992-11-17 Sun Microsystems, Inc. Method and apparatus for the dithering of antialiased vectors
US5214517A (en) * 1990-02-07 1993-05-25 Eastman Kodak Company Digital halftoning with correlated minimum visual modulation patterns
WO1991012686A1 (en) * 1990-02-07 1991-08-22 Eastman Kodak Company Digital halftoning with correlated minimum visual modulation patterns
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
US5754311A (en) * 1992-03-10 1998-05-19 Eastman Kodak Company Method and apparatus for generating simultaneously derived correlated digital halftone patterns
US5363213A (en) * 1992-06-08 1994-11-08 Xerox Corporation Unquantized resolution conversion of bitmap images using error diffusion
EP0593304B1 (de) * 1992-10-15 1999-04-14 Digital Equipment Corporation Erzeugung von Schablonen mit homogener Verteilung binärer Elemente, anwendbar bei Halbton-Bildwiedergabe

Also Published As

Publication number Publication date
US5526021A (en) 1996-06-11
EP0606992A3 (de) 1994-11-09
EP0606992B1 (de) 2000-05-17
EP0606992A2 (de) 1994-07-20
JPH06318249A (ja) 1994-11-15
DE69424451D1 (de) 2000-06-21

Similar Documents

Publication Publication Date Title
DE69424451T2 (de) Halbtonzitteroptimierungstechniken
DE68928744T2 (de) Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen
DE69937327T2 (de) Benutzerschnittstelle zum Auslösen einer endgültigen Abtastung mittels Verschiebung und Ablagerung
DE69714149T2 (de) Verfahren zum Rastern eines digitalen Mehrkanal-Farbbildes
DE69835408T2 (de) Verfahren und Vorrichtung zur Komposition von Bildfarben unter Speicherbeschränkungen
DE69428061T2 (de) Paralleles Fehlerdiffusionsverfahren und -gerät
DE69938227T2 (de) Verfahren und Gerät zur Bewegungsartefakten- und Geräuschverringerung in Videobildverarbeitung
DE69120748T2 (de) Umsetzung von Farbbildern auf schwarz-weiss texturierten Bildern
DE69415859T2 (de) Halbtongerasterte Bilder mit Verwendung von speziellen Filtern
DE68915232T2 (de) Anzeigegerät mit einem geordneten Zittermuster.
DE69118162T2 (de) Farbgekoppelte Fehlerdiffusion
DE69332152T2 (de) Farbbilderzeugungssystem
DE69018694T2 (de) Vorrichtung zum Drucken eines Videobildes.
DE68914206T2 (de) Verfahren und System zur Verbesserung eines digitalisierten Bildes.
DE69132353T2 (de) Verfahren und gerät zur halbtonwiedergabe von grautonbildern unter verwendung einer maskierung mit blauem rauschen
DE69833531T2 (de) Vollszenen-Antialiasing mit verbesserten Überabtastungstechniken
DE60017600T2 (de) Digitales bilderzeugungsverfahren
DE69620969T2 (de) Bilderstellungssystem und verfahren zur generierung stochastischer regelfelder
DE60225296T2 (de) Allzweckbildverbesserungsalgorithmus, der details in digitalbildern visuell besser erkennbar macht
DE3312273C3 (de) Bildverarbeitungsgerät
DE69310293T2 (de) Umscharte Maske mit Farbtabelle
DE69219981T2 (de) Verfahren zur Abänderung der Farben eines Bildes
DE60122835T2 (de) Anzeigeeinrichtung und -Verfahren, und Datenträger der ein Computerprogramm zur Ansteuerung einer Anzeige mit unterteilten Bildelementen beinhaltet
DE69517855T2 (de) Verfahren zur Erzeugung einer Schwellenmatrix
DE3402251C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee