PatentDe  


Dokumentenidentifikation DE602004006716T2 27.12.2007
EP-Veröffentlichungsnummer 0001584195
Titel VERARBEITUNG VON BILDERN UNTER VERWENDUNG EINER BEGRENZTEN ANZAHL VON BITS
Anmelder Nokia Corp., Espoo, FI
Erfinder KALEVO, Ossi, 37800 Toijala, FI
Vertreter COHAUSZ & FLORACK, 40211 Düsseldorf
DE-Aktenzeichen 602004006716
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 09.01.2004
EP-Aktenzeichen 047010251
WO-Anmeldetag 09.01.2004
PCT-Aktenzeichen PCT/FI2004/000008
WO-Veröffentlichungsnummer 2004064402
WO-Veröffentlichungsdatum 29.07.2004
EP-Offenlegungsdatum 12.10.2005
EP date of grant 30.05.2007
Veröffentlichungstag im Patentblatt 27.12.2007
IPC-Hauptklasse H04N 7/26(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren zur Bildverarbeitung, bei dem die Anzahl von Bits pro Pixel begrenzt ist, wobei das Pixel mit der begrenzten Anzahl von Bits kodiert wird. Die vorliegende Erfindung betrifft außerdem ein System zur Bildverarbeitung, wobei das System zum Verarbeiten des Bilds unter Verwendung einer begrenzten Anzahl von Bits in der Bitfolge pro Pixel eingerichtet ist, wobei das System außerdem Mittel zum Kodieren des Pixels zu der begrenzten Anzahl von Bits umfasst. Die Erfindung betrifft außerdem ein Rechnersoftwareprodukt zur Bildverarbeitung. Die Erfindung betrifft außerdem ein Kameramodul und eine Schaltung, die einen Kodierer und einen Dekodierer umfassen. Ferner betrifft die Erfindung eine Vorrichtung zur Bildverarbeitung, wobei die Vorrichtung einen Dekodierer umfasst.

ALLGEMEINER STAND DER TECHNIK

Digitalkameras umfassen Halbleiterzellen, wie etwa CCD-(Charge Coupled Device-) oder CMOS-(Complementary Metal-Oxide Semiconductor-) Zellen, die einen lichtempfindlichen Sensor umfassen. Der Betrieb des Sensors in der Zelle gründet auf dem Prinzip, dass sie stets aufgeladen wird, wenn Licht auf sie auftrifft. Die Zelle umfasst dicht angeordnete, parallele Pixel, die Licht in elektrische Signale umwandeln. Zur Farberkennung sind die Pixel der Zelle mit einem Filter überdeckt, der an bestimmten Pixeln nur rote Farbe, nur grüne Farbe bzw. nur blaue Farbe durchlässt, wodurch eine Farbfilteranordnung ausgebildet ist. Es besteht eine vorgegebene Anzahl (N) von Bits pro jedem Pixel. Wenn die Bildverarbeitungseinheit imstande ist, Bilder von M Bits zu verarbeiten, und wenn N > M, ist eine Umformung des Bilds in eine kleinere Größe erforderlich, was eine Reduzierung der Anzahl von Bits pro Pixel bedeutet.

Normalerweise ist die Anzahl von Bits pro Pixel 8 Bits, es gibt jedoch Fälle, in denen eine größere Anzahl benutzt wird, z.B. 10 Bits pro Pixel. Normalerweise besteht in einer Datenverarbeitungsvorrichtung ein Byte aus 8 Bits; daher ist es notwendig, ein Bild von 10 Bits zu komprimieren.

Zudem ist die Komprimierung des Bilds notwendig, weil die digitale Wiedergabe oder Verarbeitung von Bildern nicht länger auf Rechner beschränkt ist, sondern Bilder in zunehmendem Maße mit kleineren Vorrichtungen, wie etwa beispielsweise mobilen Kommunikationsvorrichtungen, erzeugt und angezeigt werden können. Bei mobilen Kommunikationsvorrichtungen ähnelt die Benutzung von Bildern weitgehend der Benutzung in Rechnern. Bilder werden in der Vorrichtung gespeichert, und sie werden über ein gebräuchliches Kommunikationsnetz an eine andere Vorrichtung übertragen. Die Übertragung von Bildern in dem Kommunikationsnetz, wie etwa einem mobilen Telefonnetz, ist wegen der großen Informationsmenge problematisch. Da der verfügbare Kommunikationskanal langsam ist, muss das Bildmaterial komprimiert werden, sodass die Übertragung eines einzigen Bilds nicht mehrere Minuten dauert.

DPCM (different pulse code modulation) ist ein bekanntes Verfahren, durch das ein Pixel auf der Grundlage des vorangehenden Pixels kodiert/übertragen wird. Das Verfahren wird für die Umwandlung eines analogen Signals in ein digitales Signal verwendet, wobei die Differenz zwischen einem Abtastwert des analogen Signals und seinem vorhergesagten Wert quantisiert und in digitalem Format kodiert wird. Durch das DPCM-Verfahren gebildete Kodewörter stellen Differenzen zwischen Werten dar.

Durch Differenzieren der PCM-Kodewörter wird eine DPCM-Kodewortfolge mit variabler Länge erhalten, die normalerweise die gegebenen Daten zu einem Format komprimieren, das für die Übertragung geeignet ist. Da die Kodewörter normalerweise eine variable Länge aufweisen, liegt das Ergebnis nicht immer notwendigerweise unter der vorgegebenen Bitanzahl (M), da das längste Kodewort länger als die ursprüngliche Anzahl (N) von Bits ist. Um zu gewährleisten, dass das Kodewort kürzer als der Grenzwert (M) ist, müssen die DPCM-Kodewörter quantisiert werden, wonach das Kompressionsverfahren verlustreich wird.

Die Schrift US-A-4 734 768 offenbart ein Verfahren zum Übertragen von DPCM-Werten, das es ermöglicht, mehrere aufeinander folgende DPCM-Werte in Datenwörter von identischer optimal-minimaler Länge umzuwandeln und die DPCM-Werte mit einer Präambel zu kombinieren, die die Wortlänge kennzeichnet. In der Schrift wird darauf abgezielt, ein oder mehrere Datenwörter – unter Verwendung verschiedener Verfahren (4·DPCM oder 3·DPCM oder 2·DPCM oder DPCM oder PCM oder RL) – in einen Datenblock mit einer Länge von 10 bis 20 Bit und mit stets derselben Länge einzufügen. In der Schrift müssen die Werte dekodiert werden, um das Datenwort aufzufinden.

Die Schrift US-A-5 790 705 offenbart ein Verfahren zum Komprimieren von digitalen Bildern von mehr als einer vorgegebenen Anzahl in die erste vorgegebene Anzahl von Bits auf im Wesentlichen verlustfreie Art und Weise. In der Schrift werden mehrere Bereiche, unter die Eingabebilddaten fallen, ermittelt und die laufenden Bilddaten mit den mehreren Bereichen verglichen. In der Schrift werden die PCM-Kodes durch Ausführen von nicht linearem, stückweise linearem Mapping zwischen den ursprünglichen Daten und den resultierenden Daten quantisiert.

Dieses Problem wird in der Schrift DE 4210246 A1 besprochen, die einen mit PCM-Technologie ergänzten DPCM-Bildcodec offenbart. Zum Reduzieren der Datenmenge in einem digitalen Bild wird ein fragwürdiges Verfahren benutzt. Bei dem Verfahren wird der Vorgang des Kodierens von digitalen Daten zum Umwandeln der Daten mit M Bits pro Pixel in ein Kodewort von N Bits benutzt, wenn N < M. Die Wahl zwischen dem PCM- und DPCM-Verfahren wird bezüglich der Differenzwerte in der Graustufe getroffen. Der Dekodiervorgang wird zur Gewährleistung benutzt, dass die Länge des erzeugten Kodeworts geringer als 9 Bits ist, aber diese Kodewortlänge ist nicht festgelegt, sondern variiert gemäß den Graustufenänderungen in dem Bild. Das Verfahren, das in der Schrift dargestellt ist, basiert auf einem Zustandsautomaten, der Steuersignale zum Betrieb benötigt. Das Dekodieren der Pixel mit variierender Länge hängt daher stark von anderen Pixeln ab. Ein anderes Problem beim Dekodieren von Pixeln mit variierender Länge gemäß dem Stand der Technik ist, dass es nicht leicht ist, aus dem Kodestrom zu ermitteln, welche Pixel jeder Kode darstellt.

KURZDARSTELLUNG DER ERFINDUNG

Es ist das Ziel der vorliegenden Erfindung, ein verbessertes Verfahren zum Komprimieren von Bilddaten bereitzustellen, bei dem der Standort jeden kodierten Pixels unabhängig ermittelt werden kann. Dies ist dadurch möglich, dass die Kodewörter eine festgelegte Länge aufweisen, wobei keine separaten Signale zum Anzeigen des Anfangspunkts des nächsten Kodeworts erforderlich sind. Durch das Verfahren der Erfindung kann außerdem jede Bildzeile unabhängig kodiert und dekodiert werden. Dies ist möglich, weil kein Pixel Information über andere Pixel in einer anderen Zeile benötigt. Mithilfe der Erfindung ist Kompression mit hoher Qualität für Rohdaten von N Bits zu ihrer Übertragung an ein Bildverarbeitungsmodul von M Bits (M < N) erzielt. Mithilfe der Erfindung können Pixel in einem Bild schnell und mit geringer Speicherkapazität kodiert werden, ohne die Qualität des Bilds spürbar zu beeinträchtigen.

Die oben angegebenen Ziele werden durch die Erfindung gemäß den beiliegenden Ansprüchen erreicht.

Bei der Erfindung werden geringere Änderungen zwischen Pixeln mit einem differentiellem Pulskode kodiert, während größere Änderungen zwischen Pixeln mit einem Pulskode kodiert werden. Bei dem Verfahren gemäß der Erfindung werden zum Auswählen des Verfahrens zum Dekodieren der Pixel keine Steuersignale benötigt, wodurch jedes Pixel unabhängig dekodiert werden kann. Dies wird dadurch erreicht, dass das Bitformat am Anfang der Bitfolge das Dekodierverfahren anzeigt, das benutzt werden soll. Das Kodiersystem ist derart gebildet, dass die Bitauflösung fortschreitend langsamer abnimmt, als die Anzahl von Farben in jeder Kodieralternative zunimmt. Die Qualität des Bilds wird bei dem Verfahren nicht beeinträchtigt, weil das Bitformat, das das letzte Kodierverfahren angibt, das kürzeste von allen ist, wodurch mehr Bits zum Kodieren des Farbwerts verbleiben als bei den anderen Alternativen. Im Verhältnis zu der Anzahl von Farben liegen jedoch weniger Bits vor.

Durch die vorliegende Erfindung wird der Vorgang zum Kodieren von Pixeln schneller, und zudem erfordert das Verfahren der Erfindung weniger Speicherkapazität als Verfahren des Stands der Technik. Das gemäß der Erfindung erzeugte Bild weist eine bessere Qualität als Bilder auf, die durch die verlustreichen Verfahren des Stands der Technik erzeugt werden. Bei dem Verfahren werden festgelegte Kodewörter gebildet, die leichter zu dekodieren sind und eine Ausgabe gewährleisten, die zur Übertragung geeignet ist. Der Codec gemäß der Erfindung ist einfach zu implementieren und erfordert keine großen Zwischenspeicher, da weniger Zwischenspeichern in Verbindung mit festgelegten Kodewörtern benutzt werden kann oder überhaupt keine Zwischenspeicherung erforderlich ist.

BESCHREIBUNG DER ZEICHNUNGEN

Im Folgenden wird die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen detaillierter beschrieben.

Es zeigen:

1 ein vorteilhaftes Beispiels eines Kodierers/Dekodierers gemäß der Erfindung, der eine 10-8-10-Bit-Umwandlung implementiert,

2 ein anderes vorteilhaftes Beispiel eines Kodierers/Dekodieres gemäß der Erfindung, der eine 10-7-10-Bit-Umwandlung implementiert,

3 eine Vorrichtung, die das Kodieren und/oder Dekodieren eines Bilds gemäß einer besonders vorteilhaften Ausführungsform der Erfindung ausführt,

4 ein Ablaufdiagramm des Betriebs des Kodierers gemäß einer besonders vorteilhaften Ausführungsform der Erfindung.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNG

In der detaillierteren Beschreibung der Erfindung sind folgende Variablen benutzt: Xorig zum Ermitteln des ursprünglichen Pixelwerts (z.B. 10 Bits), Xpred zum Ermitteln des vorhergesagten Pixelwerts, Xdiff zum Ermitteln der Differenz zwischen dem ursprünglichen und vorhergesagten Wert (Xorig – Xpred), Xenco zum Ermitteln des kodierten Pixelwerts (z.B. 8 Bits) und Xdeco zum Ermitteln des dekodierten Pixelwerts.

Der Grundgedanke der Erfindung ist, dass, wenn die Vorhersage gut genug ist, d.h. die Differenz zwischen dem ursprünglichen und vorhergesagten Pixelwert kleiner als ein vorgegebener Grenzwert (abs(Xdiff < Lim) ist, der Differenzwert in quantisiertem Format an den DPCM-Codec übertragen wird. Sonst wird der ursprüngliche Wert in quantisiertem Format an den DPCM-Codec übertragen. Information über den ausgewählten Codec wird außerdem in Verbindung mit den Werten übertragen. Bei beiden Verfahren wird eine festgelegte Anzahl (M) von Bits zur Darstellung eines Pixels verwendet. Die Bitanzahl M wird der Kapazität, die benutzt werden soll, ermittelt.

In einer vorteilhaften Ausführungsform der Erfindung wird ein Beispiel eines 10-Bit-Farbbilds verarbeitet, das für die Dauer der Bildübertragung und -verarbeitung auf 8 Bits komprimiert wird. 1 zeigt eine vorteilhafte Ausführungsform eines Kodierers/Dekodierers, der das Verfahren implementiert. Zudem zeigt Tabelle 1 unten das Kodieren eines Pixels als Beispiel. In der Tabelle sind vierzehn Pixel einer Zufallspixelzeile erfasst, die durch das Verfahren gemäß der Erfindung kodiert werden. Die Tabelle zeigt das ursprüngliche Pixel (Xorig), das Vorhersagepixel (Xpred), das dem ursprünglichen entspricht, die Differenz (Xdiff) zwischen dem ursprünglichen Pixel und dem Vorhersagewert, die kodierte Bitfolge (Xenco) des Pixels und das dekodierte Pixel (Xdeco). In dem Beispiel in der Tabelle besteht das ursprüngliche Pixel (Xorig) aus 10 Bits und wird zu einem Pixel von acht Bits (Xenco) kodiert. Die kodierte Bitfolge (Xenco) wird ferner durch das Verfahren gemäß der Erfindung zu 10 Bits dekodiert. Natürlich sind die dargestellten Werte nur Beispiele und sollen nicht als die Erfindung einschränkend ausgelegt werden.

Tabelle 1.

In einer vorteilhaften Ausführungsform der Erfindung wird ein Pixel zur Vorhersage benutzt, wobei der Wert auf der linken Seite des Pixels als Vorhersagewert (Xpred) benutzt wird. Wenn kein Vorhersagewert verfügbar ist, d.h. in einer Situation, in der die zwei ersten Pixel einer Bildzeile verarbeitet werden, wird das ursprüngliche Pixel von N Bits zu M Bits quantisiert und an den PCM-Codec übertragen. In einer zweiten vorteilhaften Ausführungsform der Vorhersage können mehr Pixel benutzt werden, beispielsweise drei Pixel, wobei der Vorhersagewert aus drei einem Pixel benachbarten Pixeln (oberes, linkes, oberes linkes Pixel) geschätzt wird. Die Drei-Pixel-Vorhersage wird vorzugsweise derart implementiert, wie in der Patentveröffentlichung WO-A-01/54416 des Anmelders dargestellt. Diese Vorhersageart ergibt ein besseres Endergebnis in der Erfindung, erfordert jedoch mehr Speicherkapazität als die Vorhersage durch ein Pixel und schließt die Möglichkeit aus, jede Bildzeile unabhängig zu kodieren und dekodieren. Aus diesem Grund konzentriert sich die detailliertere Beschreibung der Erfindung auf die Vorhersage unter Benutzung eines Pixels.

Das Bild wird derart kodiert, dass dasselbe Zeilenverfahren zum Kodieren jeder Zeile in dem Bild verwendet wird. Das Kodierprinzip gemäß der Erfindung für eine Zeile ist in dem Ablaufdiagramm von 4 dargestellt. Aus dem Bayer-Matrixbild, die die allgemein bekannteste Form der Farbmatrix (CFA) ist, ist bekannt, dass die Daten eines Farbbilds derart dargestellt sind, dass zwischen zwei identischen Farbkomponenten in derselben Zeile eine andere Farbkomponente ist (z.B. GRGRGR oder BGBGBG, wobei Rot R, Grün G und Blau B ist). Auf der Grundlage dieser Information kann die Vorhersage derart implementiert werden, dass bei der Vorhersage eines Pixels X(n) das vorausgehende dekodierte Pixel derselben Farbe benutzt wird, wobei anders gesagt das Pixel X(n – 2), das dem vorausgehenden Pixel vorausgeht, benutzt wird, das folglich dieselbe Farbe wie das Pixel X(n) aufweist. Natürlich gibt es keinen vorausgehenden Wert (zur Verwendung bei der Vorhersage) für die ersten zwei Pixel am Anfang einer Bildzeile, womit der ursprüngliche Wert quantisiert wird.

Xenco(0) = Xorig(0)/4

Der Grund für die Benutzung der Zahl 4 als Quantisierer ist, dass der Wert in dem Beispiel von 10-Bit-Daten zu 8-Bit-Daten komprimiert werden soll (1024/256 = 4). Wenn Xenco(0) = 0, wird der Wert 1 (00000001) übertragen, um das Kodewort „0" (00000000) zu vermeiden. Das dekodierte Wort kann folgendermaßen gebildet werden:

Xdeco(0) = 4 × Xenco(0) + 2, wobei die Zahl Zwei zum Runden addiert wird.

Das zweite Pixel Xorig(1) wird entsprechend verarbeitet (Xenco(1) = Xorig(1)/4), weil es eine andere Farbe als das Pixel Xorig(0) aufweist.

Zum Kodieren des dritten Pixels (n = 2) wird eine Vorhersage benötigt, für die der dekodierte Wert derselben Farbe, der dem betreffenden Pixel vorangeht, benutzt wird, um den Vorhersagewert für das dritte Pixel Xpred(2) = Xdeco(2 – 2) zu erhalten. In dem allgemeinen Format wird der Vorhersagewert erhalten Xpred(n) = Xdeco(n – 2), wenn n den Standort des Pixels anzeigt. Die Änderung (Differenz) in dem Pixel kann durch das Berechnen von Xdiff(n) = Xorig(n) – Xpred(n) ermittelt werden. Wenn der Absolutwert der Änderung zwischen dem betreffenden Pixel und dem vorhergesagten Wert klein genug (< 128) ist, wird das DPCM-Codec beim Kodieren benutzt. Wenn der Absolutwert der Änderung zwischen dem betreffenden Pixel und dem Vorhersagewert hoch ist (> 127), wir der PCM-Codec beim Kodieren benutzt (unten in Abschnitt (1) detaillierter beschrieben).

Die kodierte Bitfolge umfasst zu Beginn ein Kodewort, aus dem die Größe der Änderung erfasst wird (00, 010, 011; <32, 32 bis 63 bzw. 64 bis 127). Die Länge des Kodeworts entspricht den Längen von Huffman-Kodewörtern, die 1, 2, 3 und 3 betragen. Das Kodewort mit der Länge von eins ist für das Zeichen reserviert, das das die Flucht vor dem Kodierverfahren anzeigt, das entweder „0" oder „1" sein sollte. Vorzugsweise ist das Kodewort für das Fluchtzeichen „1", weil daher das zweitkleinste Kodewort mit einer Länge von 2 als „00" ausgewählt werden kann. Als Grund für diese Wahl kann die Tatsache angeführt werden, dass es somit möglich ist, das komplette Kodewort „00000000" zu vermeiden, wenn die Differenz null als der Wert -0 übertragen wird, d.h. „00 1 00000". Dadurch muss das komplette Kodewort „00000000" nicht andernorts vermieden werden, da die anderen Kodewörter zumindest eine „1" enthalten. Wenn das zweite Kodewort als „00" ausgewählt wird, muss das Kodewort mit der Länge eins „1" sein, um das Dekodieren eindeutig zu machen. Wegen der eindeutigen Dekodierung sind die anderen zwei Kodewörter daher „010" und „011". Wenn die Benutzung des kompletten Kodeworts „00000000" nicht vermieden werden müsste, könnten die Kodewörter natürlich auch beispielsweise „0", „10", „110" und „111" sein. Es ist zu beachten, dass zuweilen außerdem ein Erfordernis bestehen kann, andere komplette Kodewörter zu vermeiden, wie etwa beispielsweise „11111111", wobei ein Erfordernis bestehen kann, die Kodewörter zu ändern. Folglich ist die Wahl der Kodewörter nicht auf die in der Beschreibung genannten Kodewörter beschränkt.

Nach dem Kodewort wird ein Bit für das Vorzeichen reserviert, da die Änderung zwischen den Pixeln negativ sein kann. Die restlichen Bits geben den Änderungswert in einer binären Darstellung an. Im Dekodiervorgang erkennt der Dekodierer entsprechend das Kodewort am Anfang der Bitfolge, um das Verfahren auszuwählen, das zum Dekodieren benutzt werden soll. Beim Dekodieren wird der Pixelwert unter Benutzung des vorhergehenden Werts derselben Farbe, bereits dekodiert, (Xpred(n) = Xdeco(n – 2) sowie die Änderung, die zwischen dem ursprünglichen Pixel und dem vorhergehenden Pixel derselben Farbe (Wert Xdiff = Xorig(n) – Xpred(n)) ermittelt. Der Pseudocode unten stellt einen Codec dar, der den Kodier/Dekodierprozess für jeden Änderungsbereich darstellt:

DPCM1:
wobei 00 das Kodewort ist, s das Vorzeichen darstellt und „xxxxx" in fünf Bits den Wert = abs(Xdiff(n))/1 angibt, wobei der Quantisierer 1 ist. Wenn z.B. X(diff(n)) = -9, ist der kodierte Wert Xenco(n) = „00 1 01001".
DPCM2:
wobei 010 das Kodewort ist, s das Vorzeichen darstellt und „xxxx" in vier Bits den Wert = abs(Xdiff(n)) – 32)/2 angibt, wobei der Quantisierer 2 ist. Wenn z.B. X(diff(n)) = 54 oder 55, ist der kodierte Wert Xenco(n) = 010 0 1011.
DPCM3:
wobei 011 den Anfang des Kodeworts darstellt, s das Vorzeichen darstellt und „xxxx" in vier Bits den Wert = abs(Xdiff(n)) – 64)/4 angibt, wobei der Quantisierer 4 ist. Wenn z.B. X(diff(n)) = -123, -122, -121 oder -120, ist der kodierte Wert Xenco(n) = 011 1 1011.

Es ist ersichtlich, dass im letzten Absatz die Zahl eins zu dem decodierten Wert addiert wurde, was auf dem Runden beruht. Wenn der Quantisierer vier ist, folgt daraus, dass vier verschiedene Werte im selben Übertragungswert quantisiert werden. Diese Werte sind (X), (X + 1), (X + 2) und (X + 3), wobei X eine durch vier teilbare ganze Zahl ist. Zum Minimieren des Rundungsfehlers sollte der ausgewählte Rückgabewert (X + 1,5) sein. Dies ist jedoch nicht möglich, weil der Rückgabewert eine ganze Zahl sein muss. Infolgedessen ist die beste Wahl (X + 1) und (X + 2). Der Wahrscheinlichkeit nach treten die niedrigeren Zahlen (X) und (X + 1) etwas häufiger auf als die höheren Zahlen (X + 2) und (X + 3), weil die Anzahl des Auftretens stets etwas verringert ist, wenn die Differenz erhöht ist, infolge erfolgreicher Operation des Prediktors. Aufgrund dieses Arguments wurde (X + 1) als Rückgabewert ausgewählt.

Wenn die Änderung größer als der höchste der Grenzwerte (> 127) ist, wird der PCM-Codec in der vorteilhaften Ausführungsform der Erfindung benutzt (Fall 1). Daher wird der kodierte Wert nicht aus dem vorhergehenden Wert vorhergesagt, sondern aus dem ursprünglichen Pixelwert gebildet. Die Änderung des Kodierverfahrens wird durch ein spezielles Kodewort angezeigt, ein Fluchtzeichen, das oben in Verbindung mit der Bildung der Kodewörter eingeführt wurde.

FALL 1: ERSTE AUSFÜHRUNGSFORM PCM
wobei 1 das Kodewort ist, das eine Änderung anzeigt, „xxxxxxx" in sieben Bits den Wert = (Xorig(n)/8) angibt, wobei der Quantisierer 8 ist. Wenn beispielsweise Xdiff(n) = 520–527, dann ist die kodierte Bitfolge „1 1000001".

Die kodierte Bitfolge umfasst das PCM-Verfahren anwendend als erstes Bit das Fluchtzeichenkodewort 1, das derart ausgewählt wurde, dass mehr Bits zum Kodieren des Farbwerts benutzt werden können als bei DPCM-Verfahren. Durch diese Einrichtung ist es möglich, die Bildqualität zu gewährleisten, da die Bitauflösung fortschreitend langsamer abnimmt, als die Anzahl von Farben bei den verschiedenen Kodieralternativen zunimmt.

Die Pixel der Bildzeile werden auf entsprechende Art und Weise zum Ende der Zeile (EOR) durch Kodieren kleinerer Änderungen mit dem DPCM-Verfahren und größerer Änderungen mit dem PCM-Verfahren kodiert. Entsprechend wird der Rest der Zeilen zum Ende des Bilds unabhängig auf dieselbe Art und Weise wie die vorhergehende Pixelzeile verarbeitet, wodurch das ganze Bild komprimiert werden kann.

Die Überlegenheit der Kombination der DPCM- und PCM-Codecs zum DPCM-Codec allein ist im Vergleich der Kombination mit dem Gebrauch des DPCM-Codecs alleine wohlfundiert. Als Beispiel wird eine Situation (Fall 2) dargestellt, in dem der DPCM-Codec zum Kodieren von kleineren wie auch größeren Änderungen benutzt wird. Mithilfe dieses Beispiels sind die Vorteile, die durch Kombinieren des DPCM-Verfahrens mit dem PCM-Verfahren auf die der Erfindung entsprechenden Art und Weise erzielt sind, für den Fachmann besser verständlich. Es ist zu beachten, dass dieses Beispiel nur zur Veranschaulichung der Vorteile der Erfindung dient; es ist für die Umsetzung der Erfindung nicht erheblich.

FALL 2: ZWEITE AUSFÜHRUNGSFORM
wobei 1 das Kodewort anzeigt, s, das Vorzeichen darstellt und „xxxxxx" in sechs Bits den Wert = (abs(Xdiff(n))/16) angibt, wobei der Quantisierer 16 ist. Wenn beispielsweise Xdiff(n) = 528–543, dann ist die kodierte Bitfolge „1 0 100001".

Es ist ersichtlich, dass sich das Zeichen „s" ein Bit des zu quantisierenden Werts „nimmt", wobei der Fehler mit dem DPCM-Codec größer als mit dem PCM-Codec ist, weil die Quantisierung größer sein muss. Dies ist so, weil die Werte, die an die PCM- und DPCM-Codecs übertragen werden sollen, in den Bereichen [0,1023] (10 Bits) bzw. [-1023, 1023] (11 Bits) liegen.

In einer vorteilhaften Ausführungsform der Erfindung ist das benutzte Fluchtzeichen das kürzeste Kodewort „1", wie oben dargestellt. Obwohl das Fluchtzeichen nicht das wahrscheinlichste Zeichen ist, würde seine Wahl zu einer Situation führen, in der der Quantisierungsfehler so groß ist, dass die Kodewortlänge nicht weiter zunehmen kann. Die Beeinträchtigung der Qualität, die durch das längere Fluchtzeichenkodewort bewirkt ist, kann nicht länger durch Reduzieren der Kodewörter der anderen Zeichen und z.B. durch Erweitern des nicht quantisierten Bereichs der wahrscheinlicheren Zeichen wiederhergestellt werden. Zudem lohnt es nicht, die Verarbeitung einer größeren Änderung im DPCM-Codes umzusetzen, da dies zur selben Situation führen würde, als wenn die Länge des Fluchtzeichens in der ursprünglichen Lösung erweitert wäre.

Es ist außerdem zu beachten, dass die anderen Zeichen als die Fluchtzeichen der wirklichen Wahrscheinlichkeit der Zeichen folgen. Dies gilt außerdem, wenn der Quantisierer für größere Änderungen größer ist. Die Länge der Kodewörter basiert folgendermaßen auf der Quantität der Änderung: 1 = Änderung [128-1023], 2 = [0-31], 3 = [32-63], 3 = [64-127]. Die Längen basieren auf der Form der Änderungsverteilung nach der Beseitigung des Quantisierungsfehlers. Die Anzahl von in dem DPCM-Codec benötigter Zeichen ist geringer oder gleich N – (M – 1) (z.B. 10 – (8 – 1) = 3). Bei der DPCM-Kodierung gemäß der Erfindung werden vorzugsweise alle drei davon benutzt. Bei der Berechnung der Höchstanzahl von DPCM-Zeichen basiert die Gleichung auf der Länge des Werts des Fluchtzeichens, die M – 1 (8 – 1 = 7) Bits beträgt. Für die Zeichen des DPCM-Codec besteht daher kein wesentliches Erfordernis, größere oder gleiche Quantisierung wie in Verbindung mit dem PCM-Codec zu benutzen. Ferner ist es nicht notwendig, zwei verschiedene Kodewörter für denselben Quantisierer zu benutzen, da die Kodewortreihenfolge somit geändert sein kann oder zwei Wörter kombiniert sein können.

Durch die Nutzung des Verfahrens der Erfindung ist die Ausgabe im schlimmsten Falle in 7 bis 10 Bits kodiert. In einer entsprechenden Situation führt die Benutzung des DPCM-Codec allein zu einer Ausgabe, die in 6 bis 10 Bits kodiert ist. Durch die Nutzung des Verfahrens gemäß der Erfindung befindet sich das Signal-Rausch-Verhältnis PSNR (Peak Signal Noise Ratio), das zum Messen der Bildqualität benutzt wird, im Bereich von 67,48 dB und 78,01 dB. Wenn der PCM-Codec durch den DPCM-Codec ersetzt wird, fällt die entsprechende Ziffer auf einen Bereich von 63,67 bis 74,48 dB.

Die durch die Einrichtung gemäß der vorhergehenden Ausführungsformen der Erfindung erzielte Bildqualität kann außerdem unter Benutzung eines intelligenten DPCM-Codec (Fall 3) erzielt sein, wobei dies jedoch die Komplexität des Codec erhöhen würde, was ein erhebliches Hindernis für die Nutzung dieser Ausführungsform der Erfindung in einigen Umgebungen sein könnte. In dieser Ausführungsform der Erfindung wurde herausgefunden, dass selbst wenn sich die Werte, die kodiert werden sollen, im Bereich von -1023 bis 1023 befinden, es nur 1024 verschiedene Werte für die Vorhersage gibt. Durch die anderen Werte wird ein Xdeco-Wert erhalten, der kleiner als 0 oder größer als 1023 ist. Diese Werte treten in dem ursprünglichen Bild niemals auf. Infolgedessen kann in Verbindung mit größeren Änderungen der DPCM-Codec auf intelligente Art und Weise folgendermaßen benutzt werden:

Fall 3: dritte Ausführungsform
wobei 1 den Anfang des Kodeworts anzeigt, s das Vorzeichen darstellt und „xxxxxx" in sechs Bits den Wert = (abs(Xdiff(n))/8 anzeigt, wobei der Quantisierer 8 ist.

Diese hohen Absolutwerte sollten unter Benutzung von Werten kodiert werden, die sonst bei der Vorhersagekodierung nicht benutzt werden. Das Beispiel unten stellt erst die Änderung des Bereichs und der Kodierung dar:

Beim Dekodieren werden folgende Schritte ausgeführt:

1 zeigt ein vorteilhaftes Beispiel des Kodierers und des entsprechenden Dekodierers, die das Verfahren der Erfindung umsetzen. Der Kodierer implementiert die Bitumwandlung von 10 Bits zu acht Bits, und der Dekodierer implementiert entsprechend die Bitumwandlung von acht zu zehn Bits. Der Kodierer (Enc) umfasst einen Selektor (Sel/Enc), der den Codec gemäß der Größenordnung der betreffenden Änderung ändert. DPCM1 ist in Benutzung, wenn Xdiff < 32, DPCM2 wenn Xdiff < 64, DPCM3 wenn Xdiff < 128, und sonst PCM. Der Kodierer umfasst außerdem einen internen Dekodierer (Dec) zum Implementieren des Zeichens für Vorhersage (Pred). Zu diesem Zweck sind die zwei Zeichen, die dem Zeichen, das dekodiert werden soll, vorangehen, in dekodierter Form in einem Speicher (MEM) gespeichert. Ein ähnlicher Dekodierprozess wird außerdem von dem eigentlichen Dekodierer (Dec 8 – 10) ausgeführt.

2 zeigt ein vorteilhaftes Beispiel des Kodierers und Dekodierers gemäß der Erfindung, die zum Ausführen der Bitumwandlung von 10 zu sieben Bits und zurück zu zehn Bits eingerichtet sind. Bei der Vorhersage benutzt der Prediktor von 2 alle die Farbwerte in der Zeile (zwei Farben pro Zeile in der Bayer-Matrix). Das erste Pixel wird ohne Vorhersage kodiert. Das zweite Pixel wird unter Verwendung des vorhergehenden dekodierten Werts als Vorhersagewert benutzt: Xpred(n) = Xdeco(n-1). Das dritte Pixel wird unter Verwendung des vorhergehenden dekodierten Werts derselben Farbe als Vorhersagewert benutzt: Xpred(n) = Xdeco(n-2). Das vierte Pixel wird unter Anwendung folgender Gleichung vorhergesagt:

Die anderen Pixel in der Zeile werden unter Anwendung folgender Gleichung vorhergesagt:

Da der Kodierer gemäß dem Beispiel von 2 vorhergehende Pixel bei der Vorhersage benutzt, ist der Speicher (Mem) entsprechend für vier Pixel eingerichtet.

In Verbindung mit dieser Bitumwandlung (10 – 7 – 10) wird das Kodieren/Dekodieren auf eine der Umwandlung von 10 Bits zu acht Bits ähnliche Art und Weise ausgeführt. Es ist jedoch zu beachten, dass die benutzten Kodewörter und die ihnen entsprechenden Bereiche folgender Definition folgen:

Wie aus dem Obigen ersichtlich werden fünf Kodewörter in Verbindung mit der Bitumwandlung der beschriebenen Art benötigt, während vier Kodewörter in Verbindung mit der Bitumwandlung (10 – 8 – 10) benötigt werden.

3 zeigt eine sehr reduzierte Ansicht eines Systems, das eine vorteilhafte Ausführungsform der Erfindung umsetzt. Das System umfasst vorzugsweise Gerät A und B, die jeweils die Kodierung (Enc)/Dekodierung (Dec) gemäß der Erfindung implementieren. Die Geräte A, B können physisch separat in dem System angeordnet sein. Die Geräte A, B können außerdem als einzige, physische Einheit implementiert sein. Einrichtungen der beschriebenen Art, die DPCM- und PCM-Modulation kombinieren oder intelligente DPCM-Modulation nutzen, können daher als Teil des elektronischen Geräts umgesetzt sein, beispielsweise in einer digitalen Verarbeitungseinheit (DPS) in einer Kamera oder dergleichen. Typischerweise umfasst das elektronische Gerät außerdem andere Funktionen, wie etwa Mittel zum Anzeigen von Bildinformation für den Benutzer und einen Prozessor zum Steuern des elektronischen Geräts. Eine digitale Kamera (C), die ein Bildverarbeitungssystem gemäß der Erfindung umfasst, kann vorzugsweise in Verbindung mit einem Mobilgerät umgesetzt sein, entweder als separate Einheit oder in das Gerät integriert, wobei das Mobilgerät außerdem Mittel zur Mobilkommunikation umfasst. Ferner kann die digitale Kamera, die das Bildverarbeitungssystem gemäß der Erfindung umfasst, außerdem an ein Kommunikationsnetz (z.B. Internet) verbunden sein, wie etwa als Webcam. Die gesamte Erfindung kann unter Benutzung von Hardwareeinrichtungen, einem mikrokodierbarem Prozessor oder alternativ durch Rechnersoftware allein umgesetzt sein. Alle Kombinationen aller dieser sind außerdem möglich. Folglich kann die Erfindung typischerweise außerdem als Teil einer größeren Software benutzt sein, kann als Teil einer separaten Kodierschaltung gebaut sein oder kann in Verbindung mit einem Kameramodul zum separaten Verkauf im Einzelhandel umgesetzt sein.


Anspruch[de]
Verfahren zur Bildverarbeitung, bei dem die Anzahl von Bits in einer kodierten Bitfolge fixiert ist, wobei ein Pixel in die Bitfolge kodiert wird, dadurch gekennzeichnet, dass im Verfahren

– am Zeilenanfang, wenn ein Vorhersagewert für das Pixel nicht verfügbar ist, ein quantisierter Pixelwert in die Bitfolge kodiert wird, und

– wenn der Vorhersagewert für das Pixel verfügbar ist,

eine Differenz zwischen dem Pixelwert und dem Vorhersagewert ermittelt und die Differenz verwendet wird, um unter mehr als zwei Kodierverfahren ein Kodierverfahren auszuwählen, um das Pixel in die Bitfolge zu kodieren, wobei jedes Kodierverfahren eine bestimmte Schrittgrösse für die Quantisierung des Wertes besitzt und die bestimmte Schrittgrösse in jedem Kodierverfahren eine andere ist, worin

ein Kodewort, mit dem das ausgewählte Kodierverfahren und die Quantisiererschrittgrösse anzeigt werden, sowie

der quantisierte Wert in die Bitfolge kodiert werden,

– und im Verfahren die Bitfolge für jedes kodierte Pixel im Bild eine festgelegte Länge besitzt, die geringer als die Länge des ursprünglich digitalisierten Pixels ist.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Kodewort, mit dem das ausgewählte Kodierverfahren angezeigt wird, von variabler Länge ist. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass Quantisierung im Verfahren zur Kodierung der Bitfolge verwendet wird, wobei zuerst ein Grenzwert ermittelt wird, die Differenz mit dem Grenzwert in der Weise verglichen wird, dass der quantisierte Wert durch Quantisierung der Differenz bestimmt wird, wenn die Differenz kleiner ist, der quantisierte Wert aber durch Quantisierung des ursprünglichen digitalisierten Pixelwertes bestimmt wird, wenn die Differenz grösser ist. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Kodewort auf der Grundlage der ursprünglichen und der begrenzten Anzahl von Bits im Pixel in der Weise bestimmt wird, dass die Kodewortlänge N – (M – 1) nicht übersteigt, wenn M der begrenzten Anzahl von Bits und N der ursprünglichen Anzahl von Bits entspricht. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Kodewort auf der Grundlage der ursprünglichen und der begrenzten Anzahl von Bits im Pixel in der Weise bestimmt wird, dass die Kodewortlänge zwei beträgt, wenn der Absolutwert der Differenz kleiner als 32 ist, aber die Kodewortlänge drei beträgt, wenn der Absolutwert der Differenz grösser als 31 und kleiner als 128 ist, wobei die Kodewortlänge zu eins gewählt wird, wenn der Absolutwert der Differenz 128 übersteigt, wobei das Kodierverfahren gewechselt wird. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Kodierverfahren DPCM ist, wenn die Kodewortlängen grösser als ein Bit sind. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Kodierverfahren PCM-Kodierung ist, wenn die Kodewortlänge ein Bit beträgt. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Kodierverfahren DPCM-Kodierung mit Werten ist, die in der Vorhersagekodierung sonst nicht verwendet werden, wenn die Kodewortlänge ein Bit beträgt. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Vorhersagewert der Wert eines kodierten Pixelwertes oder der Durchschnitt mehrerer kodierter Pixelwerte ist. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Pixel für die Übertragung zwischen einem Kameramodul und einer elektronischen Vorrichtung kodiert wird. Vorrichtung zur Bildverarbeitung, wobei die Vorrichtung zur Verarbeitung eines Bildes konfiguriert ist und Mittel umfasst, ein Pixel zu einer kodierten Bitfolge zu kodieren, in der die Anzahl von Bits fixiert ist, dadurch gekennzeichnet, dass

– am Zeilenanfang, wenn ein Vorhersagewert für das Pixel nicht verfügbar ist,

die Vorrichtung in der Lage ist, einen quantisierten Pixelwert zur Bitfolge zu kodieren, und

– wenn der Vorhersagewert verfügbar ist, die Vorrichtung konfiguriert wird, um

eine Differenz zwischen dem Pixelwert und dem Vorhersagewert zu ermitteln, und die Differenz verwendet wird, um unter mehr als zwei Kodierverfahren ein Kodierverfahren auszuwählen, um das Pixel in die Bitfolge zu kodieren, wobei jedes Kodierverfahren eine bestimmte Schrittgrösse für die Quantisierung des Wertes besitzt und die bestimmte Schrittgrösse in jedem Kodierverfahren eine andere ist, und

ein Kodewort zur Bitfolge zu kodieren, mit dem das ausgewählte Kodierverfahren und die Quantisiererschrittgrösse angezeigt werden, sowie

den quantisierten Wert zur Bitfolge zu kodieren,

– und in der Vorrichtung die Bitfolge für jedes kodierte Pixel im Bild eine festgelegte Länge besitzt, die geringer als die Länge des ursprünglich digitalisierten Pixels ist.
Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die Vorrichtung auch Mittel umfasst, um einen Grenzwert zu ermitteln, und worin die Vorrichtung weiter so eingerichtet ist, die Differenz mit dem Grenzwert in der Weise zu vergleichen, dass die Vorrichtung dafür eingerichtet wird, den quantisierten Wert durch Quantisierung der Differenz zu bestimmen, wenn die Differenz kleiner ist, die Vorrichtung aber dafür eingerichtet wird, den quantisierten Wert durch Quantisierung des ursprünglichen Pixelwertes zu bestimmen, wenn die Differenz grösser ist. Vorrichtung nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die Vorrichtung auch Mittel umfasst, die Bitfolge in der durch das Kodewort angezeigten Weise zu dekodieren. Vorrichtung nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass die Vorrichtung auch Mittel umfasst, Mobilkommunikation auszuführen. Bildverarbeitungssystem mit der Vorrichtung von Anspruch 11. System nach Anspruch 15, dadurch gekennzeichnet, dass das System auch Mittel umfasst, um einen Grenzwert zu ermitteln, und worin das System weiter so eingerichtet ist, die Differenz mit dem Grenzwert in der Weise zu vergleichen, dass das System dafür eingerichtet wird, den quantisierten Wert durch Quantisierung der Differenz zu bestimmen, wenn die Differenz kleiner ist, das System aber dafür eingerichtet wird, den quantisierten Wert durch Quantisierung des ursprünglichen digitalisierten Pixelwertes zu bestimmen, wenn die Differenz grösser ist. System nach Anspruch 15 oder 16, dadurch gekennzeichnet, dass das System dafür eingerichtet ist, das Kodewort auf der Grundlage der ursprünglichen und der begrenzten Anzahl von Bits im Pixel in der Weise zu bestimmen, dass die Kodewortlänge N – (M – 1) nicht übersteigt, wenn M der begrenzten Anzahl von Bits und N der ursprünglichen Anzahl von Bits entspricht. System nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, dass das System auch Mittel umfasst, um die Länge des Kodewortes auf der Grundlage der ursprünglichen und der begrenzten Anzahl von Bits im Pixel in der Weise zu bilden, dass die Kodewortlänge zwei Bits beträgt, wenn der Absolutwert der Differenz kleiner als 32 ist, aber die Kodewortlänge drei Bits beträgt, wenn der Absolutwert der Differenz grösser als 31 und kleiner als 128 ist, wobei die Kodewortlänge ein Bit beträgt, wenn der Absolutwert der Differenz 128 übersteigt, um das Kodierverfahren zu wechseln. System nach einem der Ansprüche 15 bis 18, gekennzeichnet durch einen DPCM-Codec, den das System zu verwenden eingerichtet ist, wenn die Kodewortlängen grösser als ein Bit sind. System nach einem der Ansprüche 15 bis 18, gekennzeichnet durch einen PCM-Codec, den das System zu verwenden eingerichtet ist, wenn die Kodewortlänge ein Bit beträgt. System nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, das das System dafür eingerichtet ist, einen DPCM-Codec mit Werten zu verwenden, die sonst nicht in der Vorhersagekodierung verwendet werden, wenn die Kodewortlänge ein Bit beträgt. System nach einem der Ansprüche 15 bis 21, dadurch gekennzeichnet, dass der Vorhersagewert der Wert eines kodierten Pixelwertes oder der Durchschnitt mehrerer kodierter Pixelwerte ist. System nach einem der Ansprüche 15 bis 22, dadurch gekennzeichnet, dass das System auch Mittel umfasst, die Bitfolge zu dekodieren. System nach einem der Ansprüche 15 bis 23, dadurch gekennzeichnet, dass das System auch einen Kameramodul und eine elektronische Vorrichtung umfasst. System nach Anspruch 24, dadurch gekennzeichnet, dass die elektronische Vorrichtung Mittel umfasst, Mobilkommunikation auszuführen. Rechnersoftwareprodukt für eine Bildverarbeitung, das Speichermittel umfasst, die Rechnersoftwarebefehle enthalten, um das Verfahren von Anspruch 1 auszuführen. Kameramodul mit der Vorrichtung nach Anspruch 11. Bildverarbeitungssystem nach Anspruch 15 mit einem Dekoder. System nach Anspruch 28, dadurch gekennzeichnet, dass das zu verwendende Kodierverfahren DPCM- oder PCM-Kodierung ist. System nach Anspruch 28, dadurch gekennzeichnet, dass das zu verwendende Kodierverfahren DPCM-Kodierung ist, die in der Lage ist, Werte zu verwenden, die in der Vorhersagekodierung sonst nicht verwendet werden.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com