-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verarbeitungsverfahren
und insbesondere auf ein Bilddatenverarbeitungsverfahren, das Eingangsbilddaten
empfängt,
die in elementare Einheiten von Informationen unterteilt sind, die
bei eingebetteten Anwendungen verwendet werden sollen.
-
Ferner
bezieht sich die vorliegende Erfindung auf eine Bilddatenverarbeitungsvorrichtung,
die ein derartiges Bilddatenverarbeitungsverfahren implementiert.
-
Stand der
Technik
-
Wie
man auf dem technischen Gebiet der Bildverarbeitung weiß, wird
ein Bild während
seiner Lebensdauer durch eine Mehrzahl elektronischer Vorrichtungen
bearbeitet, die das Bild selbst erzeugen, erfassen, anzeigen, speichern,
lesen und schreiben.
-
Die
Bilddatenverarbeitungsvorrichtung und das entsprechende Verarbeitungsverfahren
beschäftigen sich
mit einem Bild, das mittels einer Bilderfassungsvorrichtung, z.B.
eines Scanners, erfasst wird.
-
Die
auf diese Weise erhaltenen Bilddaten werden üblicherweise zu einem Raster
von Pixeln organisiert, wobei jedes Pixel elementare Bildinformationen
liefert.
-
Mit
anderen Worten sind Bilder auf der elementarsten Ebene Arrays von
digitalen Werten, wobei ein Wert eine Sammlung von Zahlen ist, die
die Attribute eines Pixels in dem Bild beschreiben. In Bitabbildungen sind
die oben erwähnten
Werte beispielsweise einzelne binäre Ziffern.
-
Oft
sind diese Zahlen Festkommadarstellungen einer Bandbreite von echten
Zahlen; beispielsweise werden die Ganzzahlen 0 bis 255 oft verwendet,
um die Zahlen von 0,0 bis 1,0 darzustellen. Ferner stellen diese
Zahlen die Intensität
an einem Punkt des Bildes (Grauskala) oder die Intensität einer
Farbkomponente an diesem Punkt dar.
-
Bei
den zu verarbeitenden Bildern muss eine wichtige Unterscheidung
zwischen achromatischen und farbigen Bildern gemacht werden.
-
In
der Tat weist achromatisches Licht lediglich ein Attribut auf, und
das ist die Quantität
des Lichts. Dieses Attribut kann im physikalischen Sinne in Bezug
auf Energie erörtert
werden, wobei in diesem Fall die Begriffe Intensität und Luminanz
verwendet werden, oder es kann im psychologischen Sinn einer wahrgenommenen
Intensität
erörtert
werden, wobei in diesem Fall der Begriff Helligkeit verwendet wird.
-
Es
ist nützlich,
einer Skala unterschiedliche Intensitätsniveaus zuzuordnen, wobei
zum Beispiel 0 als Schwarz und 1 als Weiß definiert wird Intensitätsniveaus
zwischen 0 und 1 stellen verschiedene Graupegel dar.
-
Die
durch farbiges Licht verursachten visuellen Empfindungen sind viel
umfassender als diejenigen, die durch achromatisches Licht verursacht
werden. Eine Diskussion der Farbwahrnehmung beinhaltet üblicherweise
drei Quantitäten,
die als Farbton, Sättigung
und Leuchtdichte bekannt sind.
- 1. Farbton unterscheidet
zwischen Farben wie z.B. Rot, Grün,
Purpur und Gelb.
- 2. Sättigung
bezieht sich darauf, wie weit eine Farbe von einem Grau einer gleichen
Intensität
entfernt ist. Rot ist stark gesättigt;
Rosa ist relativ ungesättigt;
Königsblau
ist stark gesättigt;
Himmelblau ist relativ ungesättigt.
Pastellfarben sind relativ ungesättigt;
ungesättigte
Farben umfassen mehr weißes
Licht als die lebendigen, gesättigten
Farben.
- 3. Leuchtdichte verkörpert
die achromatische Vorstellung einer wahrgenommenen Intensität eines
reflektierenden Objekts.
-
Ein
vierter Begriff, Helligkeit, wird statt des Begriffs der Leuchtdichte
verwendet, um auf die wahrgenommene Intensität eines selbstleuchtenden Objekts
(d.h. eines Objekts, das Licht emittiert, statt es zu reflektieren),
z.B. einer Glühbirne,
der Sonne oder einer CRT (Kathodenstrahlröhre), Bezug zu nehmen.
-
Die
oben erwähnten
Merkmale von Farben scheinen subjektiv zu sein: sie hängen von
der Einschätzung
wahrnehmender Personen ab. In Wirklichkeit liefert der als Kolorimetrie
bekannte Zweig der Physik eine objektive und quantitative Art und
Weise, Farben zu spezifizieren, die auf die obige Wahrnehmungsklassifizierung
bezogen werden kann.
-
Eine
Farbe kann mittels ihrer dominanten Wellenlänge dargestellt werden, was
dem Wahrnehmungsbegriff in Bezug auf Farbton entspricht; die Anregungsreinheit
bzw. spektrale Farbdichte entspricht der Sättigung der Farbe; Luminanz
ist die Lichtmenge oder -intensität. Die Anregungsreinheit von
farbigem Licht ist der zum Definieren der Farbe benötigte Anteil
an reinem Licht der dominanten Wellenlänge und an weißem Licht.
-
Eine
vollständig
reine Farbe ist zu 100% gesättigt
und enthält
somit kein weißes
Licht, wohingegen Mischungen einer reinen Farbe und weißen Lichts
Sättigungen
im Bereich zwischen 0 und 100% aufweisen. Weißes Licht und somit Grau sind
zu 0% gesättigt,
enthalten keine Farbe einer dominanten Wellenlänge.
-
Ferner
ist Licht im 400–700
nm umfassenden Wellenlängenbereich
des Spektrums im Grunde genommen elektromagnetische Energie, wobei
dieser Bereich als Farben von Violett bis Indigo, Blau, Grün, Gelb
und Orange bis Rot wahrgenommen wird. Die bei jeder Wellenlänge vorhandene
Energiemenge wird durch eine Spektralenergieverteilung P(λ) dargestellt,
wie in 1 gezeigt ist.
-
Der
visuelle Effekt jeglicher spektralen Verteilung kann anhand dreier
Werte beschrieben werden, d.h. der dominanten Wellenlänge, der
Anregungsreinheit bzw. spektralen Farbdichte und der Luminanz. 2 zeigt
die spektrale Verteilung der 1, wobei
diese drei Werte veranschaulicht sind. Insbesondere ist zu beachten,
dass bei der dominanten Wellenlänge
eine Energiespitze des Pegels e2 vorliegt. Weißes Licht, die gleichmäßige Verteilung
des Energiepegels e1, ist ebenfalls vorhanden.
-
Die
Anregungsreinheit bzw. spektrale Farbdichte hängt von der Beziehung zwischen
e1 und e2 ab: wenn e1 = e2, beträgt
die Anregungsreinheit 0%; wenn e1 = 0, beträgt die Anregungsreinheit 100%.
-
Die
Luminanz, die proportional zu dem Integral des Bereichs unter einer
derartigen Kurve ist, hängt sowohl
von e1 als auch von e2 ab.
-
Ein
Farbmodell ist eine Spezifikation eines 3D-Farbkoordinatensystems und ein sichtbarer
Teilsatz in dem Koordinatensystem, in dem alle Farben in einer bestimmten
Bandbreite liegen. Beispielsweise ist das RGB-Farbmodell (RGB =
Rot, Grün,
Blau) der Elementarwürfelteilsatz
eines kartesischen 3D-Koordinatensystems, wie in 3 gezeigt
ist.
-
Im
Einzelnen sind drei Hardware-orientierte Farbmodelle RGB, das bei
CRT-Farbmonitoren verwendet wird, YIQ, d.h. das Rundfunk-TV-Farbsystem,
das eine Umcodierung der RGB-Übertragungseffizienz
ist, und zum Zweck einer Abwärtskompatibilität mit Schwarz/Weiß-Fernsehen
dient, und CMY (Cyan, Magenta, Gelb) für manche Farbdruckvorrichtungen.
Ungünstigerweise
ist keines dieser Modelle besonders einfach zu verwenden, da sie
sich nicht direkt auf intuitive Farbbegriffe von Farbton, Sättigung
und Helligkeit beziehen. Somit wurde eine andere Klasse von Modellen
mit dem Ziel einer problemlosen Verwendung entwickelt, z.B. HSV-Modelle
(HSV = Farbton, Sättigung,
Wert) – das
manchmal als HSB (Farbton, Sättigung,
Helligkeit), HLS-Modelle (HLS = Farbton, Leuchtdichte, Sättigung)
und HVC-Modelle (HVC = Farbton, Wert, Chroma) bezeichnet werden.
-
Mit
jedem Modell wird auch ein Mittel zum Umwandeln in eine andere Spezifikation
geliefert.
-
Wie
oben erwähnt
wurde, verwendet das RGB-Farbmodell, das bei CRT-Farbmonitoren und
Farbrastergraphiken verwendet wird, ein kartesisches Koordinatensystem.
Die RGB-Primärfarben
sind additive Primärfarben;
das heißt,
dass die einzelnen Beiträge
jeder Primärfarbe
zusammenaddiert werden, um das Ergebnis zu erzielen. Die Hauptdiagonale
des Würfels,
mit gleichen Mengen jeder Primärfarbe,
stellt die Graupegel dar: Schwarz ist (0,0,0); Weiß ist (1,1,1).
-
Ein
Verfolgen einer solchen grauen Linie impliziert die gleichzeitige Änderung
der drei kartesischen Werte R, G und B, wie bei einer aus Strichpunkten
bestehenden Linie in 4A gezeigt ist; diese Situation gewichtet
die Rechenladung der Bildverarbeitungsschritte, die die Individuation
von Grauregionen erfordern.
-
Das
RGB-Modell ist Hardware-orientiert. Im Gegensatz dazu ist das HSV-Modell
(ebenso wie das HSB- oder das HLC-Modell) benutzerorientiert, da es auf
der intuitiven Wir kung der Farbgebung, Schattierung und des Tons
des Künstlers
beruht. Das Koordinatensystem ist zylindrisch, wie in 4B gezeigt
ist.
-
Das
HSV-Modell (wie auch das HLC-Modell) ist einfach zu verwenden. Die
Grautöne
weisen allesamt S = 0 auf, und sie können mittels eines zylindrischen
Filters in der Nähe
der V-Achsen von einem Bilddatenraster entfernt werden, wie in 5 gezeigt
ist; überdies
liegen die maximal gesättigten
Farbtöne
bei S = 1, L = 0,5.
-
Das
HLS-Farbmodell ist ein aus dem zylindrischen HSV-Modell erhaltenes
reduziertes Modell, wie in 6 gezeigt
ist; die Reduktion des Farbraums ist auf die Tatsache zurückzuführen, dass
manche Farben nicht gesättigt
werden können.
Ein derartiger Raumteilsatz ist als Hexakonus oder sechsseitige
Pyramide definiert, wie in 7 gezeigt
ist. Der oberste Teil des Hexakonus entspricht V = 1, was die relativ
leuchtenden Farben enthält.
Die Farben der Ebene V = 1 weisen jedoch nicht alle dieselbe wahrgenommene
Helligkeit auf.
-
Der
Farbton bzw. H (engl.: hue) wird durch den Winkel um die vertikale
Achse gemessen, wobei Rot bei 0°,
Grün bei
120° liegt
und so weiter (siehe 7). Komplementäre Farben
in dem HSV-Hexakonus liegen einander um 180° gegenüber. Der Wert von S ist ein
Verhältnis,
das zwischen 0 auf der Mittellinie (V-Achse) und 1 an den Rechtecksseiten
des Hexakonus liegt.
-
Der
Hexakonus ist bezüglich
V eine Einheit hoch, wobei der Scheitelpunkt am Ursprung liegt.
Der Punkt am Scheitelpunkt ist schwarz und weist eine V-Koordinate
von 0 auf. An diesem Punkt sind die Werte von H und S irrelevant.
Der Punkt S = 0, V = 1 ist weiß.
Zwischenwerte von V oder S = 0 (auf der Mittellinie) sind die Grautöne. Somit
leuchtet die Einfachheit der Verwendung des HSV- oder äquivalenten
Farbraums, um die Grauregionen zu erhalten, unmittelbar ein.
-
Das
Hinzufügen
eines weißen
Pigments entspricht einem Verringern von S (ohne V zu verändern). Schattierungen
werden erzeugt, indem S = 1 beibehalten und V verringert wird. Töne werden
erzeugt, indem sowohl S als auch V verringert werden. Selbstverständlich entspricht
ein Verändern
von H einem Auswählen des
reinen Pigments, mit dem begonnen werden soll. Somit entsprechen
H, S und V Konzepten von dem Wahrnehmungsfarbsystem.
-
Der
oberste Teil des HSV-Hexakonus entspricht der Projektion, die man
sieht, indem man an der Hauptdiagonale des RGB-Farbwürfels von Weiß nach Schwarz
entlangblickt, wie in 8 gezeigt ist.
-
In 9 ist
das HLS-Farbmodell gezeigt, das in einem Doppel-Hexakonus-Teilsatz
des zylindrischen Raums definiert ist. Der Farbton ist der Winkel
um die vertikale Achse des Doppel-Hexakonus, wobei Rot bei 0° liegt. Die
Farben treten um den Umfang herum auf: Rot, Gelb, Grün, Cyan,
Blau und Magenta. Der HLS-Raum kann als Verformung des HSV-Raums
angesehen werden, wobei Weiß nach
oben gezogen wird, um aus der Ebene V = 1 den oberen Hexakonus zu
bilden. Wie bei dem Modell des Einfach-Hexakonus ist das Komplement
jeglichen Farbtons 180° weiter
um den Doppel-Hexakonus herum angeordnet, und die Sättigung wird
von der vertikalen Achse von 0 auf der Achse bis zu 1 auf der Oberfläche radial
gemessen. Die Leuchtdichte beträgt
0 für Schwarz
(an der unteren Spitze des Doppel-Hexakonus) bis 1 für Weiß (an der
oberen Spitze).
-
Auf
dem technischen Gebiet der elektronischen Bildverarbeitung sind
derzeit viele Hardware- und Softwarepakete erhältlich, die Bilddatenverarbeitungsverfahren
und entsprechende Vorrichtungen liefern. Jedoch sollte man beachten,
dass die Anmelderin kein Paket kennt, das in der Lage wäre, sowohl
auf dem Gebiet von Personal-Computern/Arbeitsplatzrechnern
als auch auf dem Gebiet eingebetteter Vorrichtungen zu arbeiten.
-
In
der Tat weisen die eingebetteten Vorrichtungen eine Mehrzahl von
Erfordernissen auf, die zu strengen Einschränkungen für die Bildverarbeitungsvorrichtungen
selbst werden. Insbesondere zielt die Bildverarbeitung in einer
eingebetteten Umgebung darauf ab,
- – die Größe der Bilddaten
zu verringern, um die durch die Bilddatenverarbeitungsvorrichtungen
verwendete Speicherfläche
einzuschränken;
- – den
Umfang jegliches Textabschnitts, der in einem Dokument enthalten
ist, das in der Lage ist, einer optischen Schriftzeichenerkennung
(OCR – optical
character recognition) unterzogen zu werden, zu erhöhen, d.h.
es sollte möglich
sein, einen derartigen Abschnitt mittels eines optischen Schriftzeichenerkenners (OCR – optical
character recognitor) zu erfassen und zu verstehen;
- – als
Endergebnis der Bilddatenverarbeitungsvorrichtung ein betrachtbares
und druckbares Bild zu erhalten, das dem ursprünglichen erfassten Bild nahe
kommt.
-
Bekannte
Dokumentenanalysen, die versuchten, den obigen Anforderungen zu
entsprechen, weisen das Problem auf, dass sie rechentechnisch sehr
aufwändig
sind und für
eingebettete Anwendungen, bei denen die Verarbeitungsleistung und
die Speicheranforderungen streng und wichtig sind, nicht geeignet
sind.
-
Somit
gilt, dass diese Lösungen,
auch wenn sie eine akzeptable Analyse des Dokuments durchführen mögen, nicht
in einer eingebetteten Umgebung anwendbar sind.
-
Der
Hauptzweck der bekannten Dokumentenanalyse sind die Extraktion von
Merkmalen und die Klassifizierung von Text und Bildern in den analysierten
Dokumenten. Beispiele einer A nalyse, die auf diesem technischen
Gebiet verwendet wird, kennt man aus der Veröffentlichung „Document
Image Analysis" an
L. O'Gorman und
R. Kasturi, IEEE Computer Society Press, die eine Sammlung aller
Schriften ist, die bezüglich
der Dokumentanalyse am relevantesten sind.
-
Alle
bekannten Lösungsansätze beschäftigen sich
mit der Erkennung unterschiedlicher Arten von Bereichen auf einer
Seite. Die Bereiche sind normalerweise in Text-, Photo- und Linienzeichnungsregionen
klassifiziert. Dann wird die Seite in diese unterschiedlichen Bereiche
unterteilt (normalerweise auf eine gegenseitig ausschließliche Art
und Weise), und jeder Bereich wird anders behandelt. Mit anderen
Worten handelt die bekannte Dokumentanalyse davon, die „Art" von Informationen,
die sich auf der Seite befinden, zu verstehen.
-
Diese
Lösungen
tendieren dazu, die Seite in sich gegenseitig ausschließende Regionen
zu unterteilen, die unterschiedliche Arten von Informationen enthalten.
-
Andere
bekannte Vorrichtungen beschäftigen
sich mit zerlegten Dokumenten, d.h. Dokumenten, die in eine Mehrzahl
von elementaren Bildinformationen, die als Pixel bezeichnet werden, übersetzt
werden. Derartige Vorrichtungen liefern eine Behandlung des zerlegten
Dokuments als Ganzes oder sind zumindest in der Lage, die Informationen,
die sie benötigen,
aus dem Eingangsdokumentformat zu rekonstruieren.
-
Ein
veranschaulichendes und nicht-einschränkendes Beispiel ist ein BW-Faxgerät. Wenn
eine derartige Vorrichtung nur mit BW-Daten umgehen kann und das
Dokument ein Gemisch aus spärlichen
Farb- und BW-Daten enthält,
muss die Faxgerät-Bildverarbeitungsvorrichtung
in der Lage sein, eine einzelne BW-Seite aus den Stücken des
zerlegten ursprünglichen
Dokuments zu rekonstruieren.
-
Eine
bekannte Art und Weise, die Anforderungen der eingebetteten Umgebung
zu erfüllen,
führt zu Peripheriegeräten, die
lediglich die festgelegten Merkmale eines bestimmten Produkts unterstützen; auf
diese Weise wird Kosten und Leistungsfähigkeit entsprochen.
-
Ein
Verfahren zum Definieren einer dreidimensionalen Nachbarschaft in
einem CMY-Farbraum ist aus der US-Patentschrift Nr. 5,502,642 an Dichter,
die am 26. März
1996 erteilt wurde, bekannt. Insbesondere beschreibt dieses Dokument
eine Technik zum Manipulieren von Farbe bei der Digitalbildverarbeitung,
wobei Farbbilder an einer Ausgabevorrichtung, z.B. einem Videomonitor,
oder durch ein Wiedergabegerät
oder einen Drucker auf einer aufgezeichneten oder gedruckten Ausgabe
visuell angezeigt werden, wobei die auf die Bilder angewendete Manipulation
für alle
Ausgabevorrichtungen dieselbe ist.
-
Ferner
ist aus der US-Patentschrift Nr. 5,530,798 an Chu et al. (United
Microelectronics Corp.), die am 25. Juni 1996 erteilt wurde, eine
kaskadierte Vorrichtung von graphischen Prozessoren zum Anwenden
einer Gruppe von atomaren Vorgängen
in einer feststehenden Abfolge, die keine Endausgabevorrichtung
berücksichtigt,
bekannt.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, zu lehren, wie
in das System die notwendige Architektur einzubauen ist, die eine
Bildverarbeitungsfunktionalität
ermöglicht,
die nicht von vorneherein festgelegt oder vorbestimmt ist. Auf diese
Weise ist die Funktionalität
nicht statisch und kann ebenso wie ein Programm, das auf einem Personal-Computer
oder auf einem Arbeitsplatzrechner läuft, abgeändert werden.
-
Ausgehend
von den Grundanforderungen an Bildverarbeitungsvorrichtungen schlagen
mehrere bekannte Lösungspakete
eine „Plug-And-Play"-Fähigkeit
von Komponenten vor. Ungünstigerweise
liefern diese bekannten Lösungen
nicht die Geschwin digkeit oder Flexibilität, um in einer eingebetteten
Umgebung zu arbeiten.
-
Überdies
weisen all die bekannten Verarbeitungsvorrichtungen eine große Ausführungsstandfläche, große Speichererfordernisse
und einen Codedatenraum, der die Vorgaben der eingebetteten Anwendung überschreitet,
auf.
-
Somit
besteht eine weitere Aufgabe der vorliegenden Erfindung darin, herauszufinden,
wie dasselbe Niveau an Benutzerkonfigurierbarkeit und Anpassung
an Kundenwünsche
bereitgestellt werden kann, ohne die strengen Anforderungen des
eingebetteten Marktes zu verletzen.
-
Zusammenfassung
der Erfindung
-
Das
Lösungskonzept,
das hinter dieser Erfindung steht, besteht darin, die Einrichtungen,
auf denen Daten in dem System transportiert werden, zu trennen.
-
Insbesondere
beschreibt die vorliegende Erfindung eine dynamische Bilddatenverarbeitungspipeline, die
auf transparente Weise verteilt ist, wobei unter Verwendung der
Verarbeitungsvorrichtung gemäß der vorliegenden
Erfindung keine andere Komponente in dem System beeinflusst wird.
-
Man
sollte beachten, dass die vorliegende Lösung im Gegensatz zu einer
Reihe von Steckerkomponenten oder einer Reihe von kleinen Ausführelementen,
die miteinander verkettet sind, um die Pipeline zu bilden, unabhängig von
jeglichem Kontext ist.
-
Gemäß diesem
Lösungskonzept
bezieht sich die Erfindung auf ein Bilddatenverarbeitungsverfahren, das
in dem beiliegenden Patentanspruch 1 definiert ist.
-
Die
Erfindung bezieht sich ferner auf eine ein derartiges Verfahren
implementierende Bilddatenverarbeitungsvorrichtung, wie sie in dem
beiliegenden Patentanspruch 12 definiert ist.
-
Die
Merkmale und Vorteile des Bildverarbeitungsverfahrens und der Bilddatenverarbeitungsvorrichtung
gemäß der Erfindung
werden durch die folgende Beschreibung eines bevorzugten Ausführungsbeispiels, die
anhand nicht-einschränkender
Beispiele unter Bezugnahme auf die beigefügten Zeichnungen gegeben wird,
verständlich.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein Beispiel einer spektralen Energieverteilung einer Farbe;
-
2 zeigt
die spektrale Verteilung der 1, wobei
die dominante Wellenlänge,
die Anregungsreinheit und die Luminanz veranschaulicht werden.
-
3 zeigt
die kartesische 3D-Darstellung des RGB-Farbraums mit den Grundfarben;
-
4A zeigt
den RGB-Farbraum der 3 und die graue Linie in demselben;
-
4B zeigt
die zylindrische Darstellung des HSV-/HLC-Farbraums;
-
5 zeigt
einen Graufilter für
den HSV/HLC-Farbraum;
-
6 zeigt
den HLS-Farbraum;
-
7 zeigt
die Einfach-Hexakonus-Darstellung des HSV-Farbraums;
-
8 zeigt
einen Abschnitt der 7;
-
9 zeigt
die Doppel-Hexakonus-Darstellung des HSV-Farbraums;
-
10 zeigt
schematisch das Bildverarbeitungsverfahren gemäß der vorliegenden Erfindung;
-
11 zeigt
schematisch Beispiele eines Pfades für das Verfahren gemäß der vorliegenden
Erfindung;
-
12A, 12B und 12C zeigen ein Beispiel eines atomaren Vorgangs,
der bei dem Verfahren gemäß der vorliegenden
Erfindung verwendet wird, und seine Implementierung;
-
13A, 13B und 13C zeigen ein weiteres Beispiel eines atomaren
Vorgangs, der bei dem Verfahren gemäß der vorliegenden Erfindung
verwendet wird, und sein Ergebnis;
-
14A, 14B und 14C zeigen ein weiteres Beispiel eines atomaren
Vorgangs, der bei dem Verfahren der vorliegenden Erfindung verwendet
wird, und seine Implementierung;
-
15 zeigt
ein jeweiliges Ergebnis für
den atomaren Vorgang der 14A, 14B und 14C;
-
16 zeigt
ein weiteres Beispiel eines atomaren Vorgangs, der bei dem Verfahren
gemäß der vorliegenden
Erfindung verwendet wird;
-
17 zeigt
ein weiteres Beispiel eines atomaren Vorgangs, der bei dem Verfahren
gemäß der vorliegenden
Erfindung verwendet wird;
-
18A und 18B zeigen
ein weiteres Beispiel eines atomaren Vorgangs, der bei dem Verfahren gemäß der vorliegenden
Erfindung verwendet wird, und seine Implementierung;
-
19A zeigt auf schematische und funktionelle Weise
eine Bilddatenverarbeitungsvorrichtung gemäß der vorliegenden Erfindung;
-
19B zeigt eine Einzelheit der 19A noch genauer.
-
20 zeigt
eine PDF-Anwendung des Verfahrens gemäß der vorliegenden Erfindung
noch genauer.
-
Ausführliche
Beschreibung
-
Die
Grundidee, die der vorliegenden Anmeldung zu Grunde liegt, besteht
darin, ein Verarbeitungsverfahren zu liefern, das die Komplexität der Bildverarbeitung
auf unbestimmte Weise verringert. Die Idee sieht auch eine Implementierung
einer entsprechenden konfigurierbaren Plug-And-Play-fähigen eingebetteten Firmwarelösung vor.
-
Das
Bilddatenverarbeitungsverfahren gemäß der vorliegenden Erfindung
umfasst die folgenden Schritte:
- 1. Identifizierung
einer Endvorrichtung, die die Ausgangsdaten empfängt, in Bezug auf ihre Anforderungen.
- 2. Erhalten von Farbbildeingangsdaten in einem Pixelrasterformat.
- 3. Auswählen
einer Gruppe von Basisvorgängen,
die an den Bilddaten auszuführen
sind.
- 4. Erzeugen einer Sequenz, die die Basisvorgänge verknüpft und anordnet.
- 5. Anwenden der obigen vorbestimmten Sequenz auf die Eingangsbilddaten.
- 6. Erzeugen einer Mehrzahl von Schichten von organisierten Metaebene-Daten.
- 7. Zusammenstellen zumindest einer Ausgangsschicht, die für die identifizierte
Vorrichtung optimal ist.
- 8. Senden jeder zusammengestellten Ausgangsschicht an die identifizierte
Vorrichtung.
-
Beispiele
von Endvorrichtungen können
Drucker, Kopierer, Bildsysteme, Büroanwendungen (z.B. Textverarbeitungsvorrichtungen,
Tabellenkalkulation, ...), Faxgeräte, OCR-Anwendungen, PDF-Anwendungen oder dergleichen
sein.
-
Jede
dieser Endvorrichtungen weist spezifische Anforderungen auf. Beispielsweise
sind zum Durchführen
einer OCR-Funktion
Hochauflösungsdaten
erforderlich, die keine Farbinformationen aufweisen; statt dessen
sollten derartige Farbinformationen in Ausgangsbilddaten für einen
Farbdrucker enthalten sein. Man sollte beachten, dass bei den obigen
Schritten 3 bis 5 jede Sequenz ein eindeutiges Ergebnis ergibt. Überdies legen
die Schritte 6 und 7 für
jede Schicht fest, welche Art Daten zu verarbeiten ist und wie diese
Daten zu verarbeiten sind. Schließlich erzeugt Schritt 9 eine
Ausgangsschicht in dem durch die identifizierte Vorrichtung benötigten spezifischen
Format.
-
Mit
anderen Worten liefert das Verarbeitungsverfahren gemäß der vorliegenden
Erfindung eine Mehrzahl von grundlegenden Funktionen für die Digitalbildpixel
und die Kombination zwischen derartigen Funktionen, um die gewünschte Schicht,
wie sie in 10 gezeigt ist, zu erhalten.
-
Gemäß dieser
Figur werden Eingangsdaten 1, die beispielsweise die Form
eines Rasters von Pixeln aufweisen, gemäß einer ersten Funktion f1
verarbeitet, um eine Mehrzahl von Schichten 2 zu erhalten,
entsprechend unterschiedlicher Darstellungen der verarbeiteten Bilddaten.
-
Überdies
umfasst das Verfahren gemäß der vorliegenden
Erfindung eine zweite Funktion f2, die das gewünschte Format für die Ausgangsdaten 3 auswählt/erzeugt.
-
11 zeigt
schematisch Beispiele von Bilddatenpfaden gemäß dem vorgeschlagenen Bilddatenverarbeitungsverfahren.
Insbesondere ist das Verfahren gemäß der vorliegenden Erfindung
in 11 anhand von Pipelines 4, d.h. anhand
von „Pfaden" von atomaren Vorgängen, gezeigt,
die an den Eingangsdaten 1 auszuführen sind, um ein jeweiliges
Ausgangsformat 3 zu erhalten. Insbesondere zeigt 11 zwei
unterschiedliche Ausgangsdarstellungen, SCHICHT1 und SCHICHT2, die
mittels eines ersten Datenpfades PFAD1 und eines zweiten Datenpfades
PFAD2 erhalten werden.
-
Eine
bildbasierte Segmentierung und Analyse beinhaltet die Klassifizierung
von eindeutigen Datenmerkmalen in Eingangsdaten. Diese Daten werden
als separate Entitäten
betrachtet und verarbeitet, ohne dass eine Beziehung zwischen den
Merkmalen und dem Eingangsbild aufrechterhalten wird, Die vorliegende Erfindung
erstreckt sich auf den traditionellen Verarbeitungsgesichtspunkt
der Bildsegmentierung durch die Einführung einer Metaebene-Darstellung,
die der Beziehung zwischen Schichten entspricht. Schichten werden zu
einem logischen Metaebene-Sichttor oder Fenster zu den Eingangsdaten.
-
Beispielsweise
enthält
eine einzelne Eingangsdatenquelle den gesamten Inhalt für das Bild,
trägt jedoch
keine Metaebene-Informationen bezüglich dessen, wie diese Daten
extrahiert, betrachtet oder manipuliert werden können. Wenn das Eingangsbild
beispielsweise für
einen OCR-fähigen
Inhalt angefordert wird, ist das Basislinienbild nicht in der Lage,
die für
die OCR-Maschine notwendigen Daten zu liefern. Wenn das Eingangsbild
für einen
Farbbilddateninhalt angefordert wird, ist das Basislinieneingangsbild
nicht in der Lage, die notwendigen Informationen, die nur den Bildinhalt übermitteln,
zu extrahieren. Dieses Wissen wird traditionell in den Algorithmen
oder in einer festcodierten Anwendung aufrechterhalten; es ist nicht
flexibel und ist von der Anwendung selbst unabhängig.
-
In
der Tat tragen Schichten ein kognitives bzw. Metaebene-Wissen, das ermöglicht,
dass der notwendige Abbildungsmechanismus die von jeder Schicht
benötigte
richtige Dateneinsicht erstellt und erzeugt. Dieses Konzept bewegt
sich von einer einzelnen Flachrasteransicht zu einer umfassenden
Mehrschichtansicht, bei der jede Schicht eine andere Perspektive
bezüglich
der zu Grunde liegenden Basislinienschicht aufweist und unabhängig oder
abhängig
von anderen Schichten verarbeitet werden kann. Diese Schichten können so definiert
werden, dass sie eine Ausgabe verarbeiten, die optimal für eine Zielortvorrichtung
ist, wenn dieselbe derart entworfen und spezifiziert ist.
-
Man
nehme beispielsweise den Prozess des Erstellens zweier überlappender
Bilder aus einer einzelnen Flachrasterstruktur. Man könnte sich
eine Anforderung vorstellen, bei der ein Bildinhalt, der monochrom ist,
bei gegenseitiger Ausschließlichkeit
in Bezug auf einen Bildinhalt, der Farbe ist, verarbeitet werden
soll. Ferner sollen die zwei verschiedenen Bilder mit verschiedenen
Auflösungen,
einer unterschiedlichen Pixelbittiefe, unterschiedlichen Komprimierungsverfahren,
um nur wenige zu nennen, verarbeitet werden. Traditionelle Verfahren
trennen die zwei Prozesse, wobei unterschiedliche Zwischenwerte
erzeugt werden und wobei später ermittelt
wird, wie die Zwischenwerte in Bezug auf einen Zielort oder einen
anderen Zweck zu einem einzigen Artefakt kombiniert und verwoben
werden sollen.
-
Bei
Schichten kann man sich eine Metaebene-Ansicht vorstellen, die das
flache Eingangsrasterbild einer der Komponenten einer 5-Schicht-Darstellung
sieht. Die erste Schicht ist das Basislinien-Eingangsquellenbild.
Die zweite Schicht ist das Wissen, das notwendig ist, um die Perspektive
lediglich eines monochromen Inhalts zu erzeugen. Die dritte Schicht
sind die Metaebene-Informationen, die notwendig sind, um die Ansicht für einen
Farbdateninhalt zu erzeugen. Die vierte Schicht enthält das Wissen
für die
Beziehung zwischen den Schichten 2 und 3 und wie
sie auf gegenseitig ausschließliche
Weise verwandt sind. Die letzte Schicht erfasst die Perspektive
dessen, wie die Daten aus jeder entsprechenden Schicht extrahiert
werden, um die für
die Ausgabevorrichtung optimale endgültige Darstellung zu erzeugen.
-
Dies
unterschiedet sich von traditionellen Mitteln, die die Quelldaten
als flache Struktur betrachten, und bei denen die Beziehung zwischen
Daten in der Anwendung erfasst oder in einen spezifischen Algorithmus
festcodiert wird. Wenn Schichten in die Basislinie-Flachbildquelldaten
gegeben sind, kann man jeglichen gegebenen Teil einer Schicht extrahieren.
Aus Schichten kann man einen sinnvollen Inhalt erhalten, der eine Ähnlichkeit
mit der ursprünglichen
Quelle aufweisen kann, aber nicht muss, der jedoch eine Metaebene-Verbindung
zwischen den Schichten aufweist, die die endgültige Perspektive in Bezug
darauf erzeugen, wie diese Daten auf flexible Weise verarbeitet
und an dem Ausgabezielort dargestellt werden sollen.
-
Die
Pipelines oder Pfade definieren die Sequenz von atomaren Vorgängen, die
an den Eingangsbilddaten 1 auszuführen sind. Derartige atomare
Vorgänge,
die auf dem Gebiet der Bilddatenverarbeitung individuell bekannt
sind, können
zusammengruppiert werden, um eine Mehrzahl von IP-Hilfsmitteln (IP
= image processing, Bildverarbeitung) zu erzeugen.
-
Die
IP-Hilfsmittel umfassen:
- – eine Umwandlung eines Bildpixels
von dem RGB-Format in ein anderes Bildraumformat, beispielsweise das
HLS-Format (oder
das HLN-Format, wobei HLN für
Farbton, Leuchtdichte, Chromaindikator N steht);
- – eine
Gruppierungsfunktion, die eine elementare Einheit von Informationen
zuordnet, um eine zu verarbeitende eindeutige Informationsgruppe
zu erhalten, als Blobbing-Technik;
- – skalare
Prozesse, die die Bildabmessungen verändern;
- – eine
Abwärtsabtastungsfunktion;
- – eine
Schwellwertbestimmungsfunktion;
- – eine
Daten-Aufteilen-Und-Zusammenfügen-Funktion;
- – Codierfunktionen;
- – eine
UND/ODER- und andere Datenextraktionsfunktion;
- – Komprimierungsfunktionen
(z.B. das G4- oder JPEG-Komprimierungsverfahren);
- – eine
Halbtonannäherung;
- – Datenformat-Lese-
und -Schreibvorrichtungen;
- – eine
Neuabbildungs- oder Streckfunktion;
- – eine
Filterfunktion.
-
In 12A ist der Bildprozess einer Neuabbildung gezeigt,
was auf dem Gebiet der Photoverarbeitung sehr häufig ver wendet wird. Da der
Dateninhalt eines Bildhistogramms üblicherweise ca. in dem Abschnitt der
ersten 60% eines derartigen Bildhistogramms konzentriert ist, werden
die in diesem Abschnitt enthaltenen Informationen über den
gesamten Bilddatenraum verteilt oder neu skaliert, um die nützlichen
Informationsdaten zu erhöhen.
-
12B zeigt schematisch eine Implementierung des
obigen Neuabbildungsprozesses, die als Neuabbildungsarchitektur 5 bezeichnet
wird. Die Neuabbildungsarchitektur 5 umfasst einen RGB-Zu-HLS-Wandler 6 auf,
der mittels einer Serie eines HLS-Filters 7 und eines Streckblocks 8 mit
einem HLS-Zu-RGB-Wandler 9 verbunden
ist.
-
Genauer
gesagt beschäftigt
sich der Neuabbildungsprozess lediglich mit dem L-Kanal, d.h. den Leuchtdichteinformationen,
wie in 12C gezeigt ist, in der eine
Neuabbildungsarchitektur 5' einen RGB-Zu-HLS-Wandler 6' umfasst, der
einen H-, L- und S-Ausgangskanal aufweist. Der L-Kanal ist mit einer Serie
aus einem HLS-Filter 7' und
einem Streckblock 8' verbunden.
Die Neuabbildungsarchitektur 5' weist ferner einen HLS-Zu-RGB-Wandler 9' auf, der den
Hund den S-Kanal, wie sie von dem RGB-Zu-HLS-Wandler 6' ausgegeben
werden, und den L-Kanal, wie er mittels des HLS-Filters 7 und des Streckblocks 8 verarbeitet
wurde, empfängt.
-
Die
Halbtonannäherung
ist in 13A bis 13C gezeigt.
Es wird darauf hingewiesen, dass viele Anzeigen und Druckkopievorrichtungen
zwei Pegel umfassen – sie
erzeugen lediglich zwei Intensitätspegel – und dass
sogar 2- oder 3-Bit-Pro-Pixel-Rasteranzeigen
weniger Intensitätspegel
erzeugen als gewünscht.
Die Bandbreite von verfügbaren
Intensitäten
kann auf der Basis der räumlichen
Integration, die das menschliche Auge leistet, erweitert werden.
Wenn jemand einen sehr kleinen Bereich aus einer ausreichend großen Betrachtungsentfernung
betrachtet, mitteln seine Augen feine Einzelheiten in dem kleinen
Bereich und zeichnen lediglich die Gesamtintensität des Bereichs
auf.
-
Dieses
Phänomen
wird beim Drucken von Schwarz-Weiß-Photographien in Zeitungen, Zeitschriften und
Büchern
mit der als Halbtongebung bezeichneten Technik (die in der Computergraphik
auch als „Cluster-Punkt-Geordnetes-Dither" bezeichnet wird)
genutzt. Jede kleine Auflösungseinheit
wird mit einem Kreis schwarzer Tinte bedruckt, dessen Fläche proportional
zu der Schwärze
1-I (wobei I die Intensität
ist) des Bereichs in der ursprünglichen
Photographie ist. 13A zeigt stark vergrößert einen
Teil eines Halbtonmusters. Man beachte, dass das Muster einen 45°-Winkel mit
der Horizontalen bildet, der als Rasterwinkel bezeichnet wird.
-
Graphikausgabevorrichtungen
können
sich den Variable-Fläche-Kreise
einer Halbtonreproduktion annähern.
Beispielsweise kann ein 2·2-Pixelbereich
einer Zweipegel-Anzeige
dazu verwendet werden, zu dem Preis, dass die räumliche Auflösung entlang
jeder Achse halbiert werden muss, fünf verschiedene Intensitätspegel
zu erzeugen. Die in 13B gezeigten Muster können dazu
verwendet werden, die 2·2-Bereiche mit der
Anzahl von EIN-Pixeln, die proportional zu der gewünschten
Intensität
ist, zu füllen. 13C zeigt eine Seite, die als 351·351-Bildarray
digitalisiert ist und mit 2·2-Mustern
angezeigt wird.
-
Eine
weitere Bilddatenverarbeitung umfasst ein Abwärtsabtasten und ein Schwellwertbestimmen
bezüglich
der Daten. Wie in 14A gezeigt ist, werden die
Bilddaten insbesondere dann abwärts
abgetastet, nachdem die Färbung
jedes Pixels berechnet und aus den Eingangsdaten (FORMAT 1) extrahiert
wurde.
-
Der
Abwärtsabtastalgorithmus
kann auf verschiedene Arten und Weisen durchgeführt werden, die jeweils eine
unterschiedliche Wirkung auf die Leistungsfähigkeit des Algo rithmus aufweisen.
Wenn eine Abwärtsabtastung
verwendet wird, bei der der Durchschnittswert in einer Nachbarschaft
genommen wird, kann viel Dokumentenrauschen (kleine Farbregionen
auf Grund des Druckprozesses für
z.B.) und Scannerrauschen (Jitter auf dem RGB-Signal) eliminiert
werden.
-
Allgemeiner
kann ein Aufwärts-/Abwärtsabtastalgorithmus
verwendet werden, der die Bildabmessungen erhöht/reduziert.
-
Die
abwärts
abgetasteten Bilddaten werden anschließend mittels einer Schwelle
ausgewählt,
wodurch ein Bild erhalten wird, das ein Pixelformat ohne das Spike-Rauschen
aufweist (FORMAT 2). In der Tat werden die Ausgangsdaten als EIN
betrachtet, wenn die Färbung
der Eingangsbilddaten über
der Schwelle liegt, und als AUS, wenn sie niedriger ist als die
Schwelle.
-
Der
einfachste Fall besteht darin, eine feststehende Schwelle anzuwenden.
Die Ausgabe dieser Stufe ist eine abwärts abgetastete Version des
ursprünglichen
Bildes, das in denjenigen Regionen, in denen der Farbgehalt des
ursprünglichen
Bildes über
der Farbschwelle lag, EIN-Pixel aufweist. Überdies kann eine Regel für den Färbungsindikator
in Betracht gezogen werden. Beispielsweise kann bezüglich eines
Auswertens des EIN-/AUS-Zustandes eines bestimmten Pixels PX sowie
des rechten Pixels RP als auch des linken Pixels LP die folgende
Regel angewandt werden:
-
-
Überdies
können
unter Bezugnahme auf verschiedene Endvorrichtungen verschiedene
Schwellwerte in Betracht gezogen werden.
-
Beispielsweise
muss eine Anzeige mit niedriger Auflösung nicht 16 Milliarden Farbbilddaten
empfangen, da eine derartige Vorrichtung keine Möglichkeit hat, diese Art komplexer
Bilddaten genau darzulegen und anzuzeigen. Bilddaten, die an eine
Anzeige mit niedriger Auflösung
weitergeleitet werden, können
mittels bestimmter Schwellwertbestimmungswerte erhalten werden,
indem die Anzahl verfügbarer
Farben begrenzt wird, z.B. indem blasse Farben gefiltert und anschließend in
Weiß umgewandelt
werden oder indem verschiedene Arten von „Rottönen" „geclustert" bzw. gruppiert werden,
um nur einen „Rotton" zu haben.
-
Ein
Beispiel eines akzeptablen Bereichs für die Schwellwerte liegt bei
0 bis 30 für
Eingangsbilddaten von 0 bis 255.
-
Bei
dem komplizierteren Fall wird ein Histogramm des Farbgehalts der
Seite akkumuliert, und unter Verwendung einer Heuristik wird entschieden,
was die beste Schwelle für
die Seite ist.
-
Die
Farbinformationen einzelner kleiner Gruppen von Pixeln können unter
Verwendung bekannter einfacher Gruppierungstechniken weiter zusammengruppiert
werden. Der Gruppierungsschritt wird an Daten verbundener Komponenten
durchgeführt,
wie in 14A gezeigt ist (FORMAT 3).
Dies weist den Vorteil auf, dass Regionen von Pixeln, die als farbig
erachtet werden, zu größeren Gruppen
gruppiert werden. Auf diese Weise muss nicht jedes Pixel einzeln
komprimiert werden, wenn die Regionen farbiger Pixel komprimiert
werden (auf einer späteren
Stufe). Die Komprimierung einer größeren Gruppe von Pixeln ist
effizienter als die einzelne Komprimierung jeder einzelnen farbigen
Region.
-
Das
Gruppieren von Pixeln weist ferner den Vorteil auf, die Eliminierung
kleiner Gruppen von Pixeln zu ermöglichen, von denen man immer
noch annimmt, dass sie auf ein Rauschen zurückgehen, oder dass sie jedenfalls
eine unbedeutende Größe aufweisen.
-
Die
gesamte Vorgehensweise, die dargestellt wurde, kann auch auf einer
Streifenbasis an dem gesamten ursprünglichen Bild durchgeführt werden – ohne jegliche
Modifikation, wie in 14B gezeigt ist. Eine streifenbasierte
Analyse erzeugt einen begrüßenswerten
Nebeneffekt bezüglich
der Gruppierung von Pixeln. Wenn die Gruppierung von Pixeln auf
einer Streifenbasis durchgeführt
wird, ermöglicht
die Gruppierung von Pixeln in der Tat eine Annäherung der Kontur von farbigen
Regionen, wie in 15 gezeigt ist.
-
14C zeigt eine Abwärtsabtast-/Schwellwertbestimmungs-/Gruppierungsvorrichtung 10.
Die erste Komponente ist ein RGB-Zu-Chroma-Raumwandler 11.
Pixel um Pixel wandelt er die Farbdarstellung jedes Eingangspixels
in eine andere Farbraumdarstellung um.
-
Wenn
das Ziel darin besteht, Entscheidungen bezüglich der Färbung eines Pixels zu treffen,
ist es wichtig, die richtige Farbraumdarstellung zu verwenden.
-
Es
stellte sich heraus, dass der RGB-Farbraum für diese Art Analyse nicht sehr
zweckmäßig ist.
Der verwendete Farbraum sollte eine Angabe der Färbung des spezifischen Pixels
aufweisen. Der HLN-Farbraum (HLN = Farbton/Leuchtdichte/N??) erwies
sich als besonders zweckmäßig und
wird bei der aktuellen Verwirklichung verwendet.
-
Die
Angabe von Chroma bei diesem HLN-Farbraum ist direkt der Inhalt
des N-Kanals, wobei N = max (R, G, B) – min (R, G, B).
-
Die
Abwärtsabtast-/Schwellwertbestimmungs-/Gruppierungsvorrichtung 10 umfasst
ferner einen Abwärtsabtaster 12,
der den N-Kanal abwärts
abtastet, und eine Schwellwertbestimmungsvorrichtung 13,
die wiederum einen Schwellwertselektor 14 und eine Nachschlagtabelle
LUT 15 aufweist, die eine Schwelle an die abwärts abgetasteten
Daten anlegen.
-
Die
Ausgangsdaten werden als EIN betrachtet, wenn die Färbung des
Eingangsbildpixels über
der Schwelle liegt, und als AUS, wenn sie geringer ist als die Schwelle.
-
Überdies
können
die Farbinformationen einzelner kleiner Gruppen von Pixeln mittels
eines Gruppierungsblocks 16 unter Verwendung bekannter
einfacher Gruppierungstechniken bei Daten verbundener Komponenten
weiter zusammengruppiert werden, um die Komprimierung der Bilddaten
zu verbessern und kleine Gruppen von Pixeln zu eliminieren, von
denen man immer noch annimmt, dass sie auf ein Rauschen zurückgehen,
oder dass sie jedenfalls eine unbedeutende Größe aufweisen.
-
Man
sollte beachten, dass ein (in 14C nicht
gezeigter) HLS-Zu-RGB-Wandler ebenfalls zu der Abwärtsabtast-/Schwellwertbestimmungs-/Gruppierungs-vorrichtung 10 hinzugefügt werden
kann, um RGB-Ausgangsdaten zu erhalten.
-
Eine
als Blobbing bezeichnete einfache Gruppierungsprozedur kann verwendet
werden, um die Bilder aus einem Dokument zu extrahieren, wie in 16 gezeigt
ist, wobei die klümpchenförmigen bzw.
geblobbten Regionen den Bildern des Dokuments entsprechen sollten.
-
Ein
weiterer nützlicher
atomarer Vorgang bei Bilddaten ist die UND-Funktion, die in 17 schematisch
gezeigt ist. Insbesondere können
die singulären
Bilder in dem verarbeiteten Dokument nach der Erkennung des Färbungsgehalts
jedes Pixels und des Blobbens der Bilddaten mittels einer UND-Funktion derartiger Daten
und einer Maske, die vorschriftsgemäß auf der Basis der folgenden
Beziehungen erstellt wird, getrennt werden:
RGB UND WEISS =
RGB
RGB UND SCHWARZ = SCHWARZ.
-
BILD1
und BILD2 können
als Regionen beschrieben werden, die mittels Koordinaten und Abmessungen
identifiziert werden.
-
Jeder
Region kann eine Teilmaske zugeordnet werden, um bedeutende und
unbedeutende Daten zu filtern, wie schematisch in den gestrichelten
Linien in 16 gezeigt ist.
-
Schließlich ist
ein weiterer bekannter atomarer Vorgang, der bei dem HLS-Raum (oder
einem Äquivalent)
verwendet werden kann, das Filtern achromatischer Abschnitte, wie
in 18A gezeigt ist, mittels eines Teilzylinderabschnitts
(ACHROMATISCH) des HLS-Farbraums.
-
18B zeigt schematisch ein Filter 17 gemäß der obigen
Filterfunktion. Das Filter 17 umfasst einen RGB-Zu-HLS-Wandler 18,
der mit einem HLS-Graufilter 19 und mit einem HLS-Zu-RGB-Wandler 20 verbunden
ist.
-
Gemäß der vorliegenden
Erfindung wird ausgehend von einem „flachen" Datenblatt (dem Raster der Pixel) eine
Mehrschichtdarstellung erhalten. Überdies werden unter Verwendung
einer dynamischen Pipeline, d.h. der Sammlung elementarer Funktionen
und ihrer Verknüpfungen,
wie sie oben definiert wurden, Ausgangsdaten erhalten, die eine
beliebige Art von Format aufweisen.
-
Eine
konfigurierbare Bildverarbeitungsvorrichtung 21 gemäß der vorliegenden
Erfindung umfasst drei wichtige Teilsysteme:
- 1.
die als „Transformationen" bezeichnete Verarbeitungseinheit;
- 2. die als „Pakete" bezeichnete Arbeitseinheit;
- 3. die als „Tore" bezeichnete Transporteinheit.
-
Bei
diesen drei Komponenten sieht die Vorrichtung Transformationen von
Bilddaten, Verbindungen zwischen den Transformationseinheiten und
eine unabhängige
Datendarstellung vor.
-
Insbesondere
verarbeiten Transformationen Daten auf eine kontextunabhängige Weise,
so dass keine implizierte Kenntnis, die zwischen Transformationen
gekoppelt ist und die die Einrichtung zum Verarbeiten von Daten
beeinflusst, vorhanden ist. Überdies
unterstützen
Transformationen mehrere Eingangs- und Ausgangsfähigkeiten durch einen Tormechanismus.
-
Mit
anderen Worten führen
Transformationen atomare Vorgänge
an den Daten durch, die durch einen Paketmechanismus präsentiert
werden.
-
Überdies
liefern Tore ein Kommunikationsprotokoll zwischen Verarbeitungseinheiten.
Das tatsächliche Torprotokoll
reicht von einem Direktfunktionsrufaufruf über Betriebssystem-Nachrichtenwarteschlange-/-Mailbox-Protokolle
bis zu Fern-Prozeduraufrufen sowie http-Verknüpfungen.
-
Schließlich liefern
Pakete die Verkapselung von Daten. Daten können tatsächliche Bilddaten in einer Vielzahl
unterschiedlicher Formate, Histogramminformationen, Komprimierungsdaten,
lokale Gruppierungen von Daten darstellen, ohne eine Wirkung auf
andere Komponenten zu erfordern. Dadurch, dass die Daten in den
Paketmechanismus getrennt werden, können Daten zu Transport- oder
Transformationszwecken auf höchst
effiziente Weise dargestellt werden, ohne sich entweder auf die
Transformationseinheiten oder die Einrichtung des Datentransports
auszuwirken.
-
Die
konfigurierbare Bildverarbeitungsvorrichtung 21 und ihre
drei wichtigsten Hauptsysteme trennen die Einrichtungen, mittels
derer Daten in dem System umhertransportiert werden. Dadurch wird
eine Bilddatenverarbeitungspipeline auf transparente Weise verteilt,
wobei keine andere Komponente in dem Bildverarbeitungssystem beeinflusst
wird.
-
In
der Tat wählt
die konfigurierbare Bildverarbeitungsvorrichtung 21 gemäß der vorliegenden
Erfindung eine bestimmte Gruppe von atomaren Vorgängen aus,
die auf der Basis dessen durchzuführen sind, dass die Endvorrichtung
die Ausgangsdaten empfängt.
Dadurch „erzeugt" die Vorrichtung
eine spezifische Pipeline, die die erforderliche Datentransformation
liefert.
-
Eine
funktionelle und schematische Darstellung der konfigurierbaren Bildverarbeitungsvorrichtung 21 ist
in 19A gezeigt. Die Vorrichtung 21 umfasst
einen Selektor 22 der jeweiligen Gruppe atomarer Vorgänge für eine Endvorrichtung
und eine Pipeline 23, die die Ordnung und Verknüpfungen
zwischen derartigen atomaren Vorgängen herstellt.
-
In 19A ist ferner ein abschließender Rekonstruktionsblock 24 gezeigt,
der die Ergebnisse des Selektors 22 und der Pipeline 23 verarbeitet,
um die gewünschte
Ausgangsschicht von Daten zu erhalten.
-
Zu
erwähnen
ist, dass die Pipeline 23 bei einer immer komplizierteren
Struktur auch Teilpipelines umfassen kann, wie in 19B gezeigt ist.
-
Vorteilhafterweise
erzeugt jede Pipeline gemäß der vorliegenden
Erfindung eine Schicht, d.h. eine spezifische Datenorganisation.
Auf diese Weise werden Pipelines durch eine Metadaten-Kenntnisebene
erzeugt. Da eine Pipeline selbst eine unabhängige Struktur verschiedener
atomarer Vorgänge
und ihrer Verknüpfungen
ist, beinhalten die Hardwarekomponenten der Bilddatenverarbeitungsvorrichtung
keine inhärente Kenntnis,
um die Bedeutung/den Kontext dessen, wie die Pipeline angewendet
werden soll, zu vermitteln.
-
Mit
anderen Worten wird die Wirkung der Pipeline dadurch erfasst, wie
die atomaren Komponenten durch Tore verbunden sind und wie die Daten
transportiert und transformiert werden. Diese Kontext-Metaebene
liegt außerhalb
des Kontexts, der implizit durch die Komponenten selbst geliefert
wird; diese Aufgabe wird der Anwendung überlassen, die die dynamische
Pipeline definiert und antreibt.
-
Gemäß der dynamischen
Pipeline, wie sie oben definiert wurde, liegt vorteilhafterweise
zu keinem gegebenen Zeitpunkt jemals eine statische Definition der
Bedeutung der Pipeline selbst vor. Der Kontext wird in einer Metaebene-Definition
dargestellt, die während
einer Laufzeit-Ausführung
geändert
werden kann und während
der Lebensdauer des Produkts, sogar nachdem das Produkt gefrorene „Bits" aufweist und auf
dem Markt eingeführt
wurde, umkonfiguriert/umverdrahtet werden kann.
-
Schließlich wird
darauf hingewiesen, dass eine von einer dynamischen Pipeline gemäß der vorliegenden
Erfindung erhaltene, besonders nützliche
Anwendung mit zwei bestimmten Schichten von Ausgangsdaten, d.h.
der BW- und der Farbschicht, die bei der zunehmend verwendeten PDF-Darstellung
benötigt
werden, befasst ist.
-
In 20 sind
ein Datenprozessor 24 zum Erhalten verarbeiteter Farb-
und BW-Schichten genauer gezeigt.
-
Der
Datenprozessor 24 weist einen Eingang EIN auf, der die
Rasterbilddaten, z.B. im RGB-Format, empfängt, und mit einer Dualpfadschichterzeugerkomponente 25 verbunden
ist, die wiederum eine erste und eine zweite Schicht ausgibt, wobei
diese Schichten eine unterschiedliche Datenkomprimierungsrate aufweisen.
-
Die
erste Schicht wird in einen BW-Pfad 26 eingegeben, der
eine verarbeitete BW-Schicht ausgibt. Auf ähnliche Weise wird die zweite
Schicht in einen Farbpfad 27 eingegeben, der eine verarbeitete
Farbschicht ausgibt. Die verarbeitete BW- und Farbschicht werden
schließlich
in eine PDF-Vorrichtung 28 eingegeben.
-
Insbesondere
umfasst der BW-Pfad 26 bei dem in 20 gezeigten
Beispiel einen Schwellenblock 29, der mit einer Komprimierungsvorrichtung 30 in
Serie geschaltet ist. Eine G4-Komprimierung wird auf dem Gebiet
der BW-Bilddatenverarbeitung
oft verwendet.
-
Ebenfalls
in 20 umfasst der Farbpfad 27 überdies
einen RGB-Zu-HLN-Wandler 31, bei dem der Ausgangs-N-Kanal
mit einer Serie einer Abwärtsskalierungsvorrichtung 32,
eines Histogramm- und Schwellwertselektors 33, einer Nachschlagtabelle 34,
eines Blobanalyseblocks 35, eines Fülle-Regionen-Blocks 36 und einer
Komprimierungsvorrichtung 37 verbunden ist. Auf dem Gebiet
der Farbbilddatenverarbeitung wird oft eine JPEG-Komprimierung verwendet.
-
Obwohl
die konfigurierbare Bildverarbeitungsvorrichtung gemäß der vorliegenden
Erfindung für
eingebettete Scanneranwendungen entworfen wurde, ist sie plattformunabhängig, da
sie auch mit einem Personal-Computer oder in einer Arbeitsplatzrechner-Umgebung
arbeiten kann.
-
Das
Bilddatenverarbeitungsverfahren und die Bilddatenverarbeitungsvorrichtung
gemäß der vorliegenden
Erfindung weisen mehrere Vorteile auf:
- 1. Die
durch das Verarbeitungsverfahren und die Verarbeitungsvorrichtung
verwendete Metaebene-Kontextkenntnis ist nicht fest in die physische
Implementierung der dynamischen Pipeline codiert.
- 2. Die einzelnen Verarbeitungseinheiten/-Transformationen gemäß der obigen
Definition können
in Hardware-, Firmware- oder Softwarekomponenten verwirklicht werden,
um die Fähigkeit
der Vorrichtung zu nutzen.
- 3. Der Transport von Daten ist entkoppelt und für die Absicht/den
Zweck der Pipeline selbst inhärent
transparent.
- 4. Die dynamische Pipeline ist vollkommen in sich abgeschlossen,
und ihre Darstellung kann als Ganzes oder teilweise gesichert werden,
so dass ein Kontext/Zustand gesichert/wiedergegeben werden kann.
- 5. Das Verarbeitungsverfahren führt zu parallelen, verteilten
Lösungen über jegliche
Anzahl von Plattformkombinationen.
- 6. Es können
neue Transformationen durch eine spezielle Codeerweiterungsapplet-Transformation
hinzugefügt
werden, nachdem das Produkt versendet wurde.
- 7. Die Datendarstellungen können
auf mehreren lokalen Kopien von Speicherstrukturen gemeinsam verwendet
werden.