DE10152612A1 - Verfahren zur Komprimierung und Dekomprimierung von Bilddaten - Google Patents
Verfahren zur Komprimierung und Dekomprimierung von BilddatenInfo
- Publication number
- DE10152612A1 DE10152612A1 DE10152612A DE10152612A DE10152612A1 DE 10152612 A1 DE10152612 A1 DE 10152612A1 DE 10152612 A DE10152612 A DE 10152612A DE 10152612 A DE10152612 A DE 10152612A DE 10152612 A1 DE10152612 A1 DE 10152612A1
- Authority
- DE
- Germany
- Prior art keywords
- pixel
- image
- pixels
- value
- pixel groups
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012913 prioritisation Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000404236 Zizina otis Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Komprimierung und Dekomprimierung von Pixel-basierten Bilddaten. Für jedes Pixel wird zunächst der Pixelwert ermittelt. Anschließend wird für jeden Pixel, aus einer zuvor festgelegten Menge von benachbarten Pixeln ein Pixeldifferenzwert berechnet, der sich aus der Differenz des Pixelwerts eines betrachteten Pixels zu dem seiner betrachteten Nachbarpixel ergibt. Anschließend werden die Pixeldifferenzwerte der einzelnen Pixel absteigend sortiert. Die für die Berechnung eines Pixeldifferenzwerts hinzugezogenen Pixel werden jeweils zu einer Pixelgruppe zusammengefasst. Die so gewonnenen Pixelgruppen werden entsprechend der absteigenden Sortierung der Pixeldifferenzwerte abgespeichert. DOLLAR A Zur Wiederherstellung des Bildes werden zunächst die Pixelgruppen mit den höchsten Pixeldifferenzwerten geladen. Aus jeweils drei sich am nächsten liegenden Pixelgruppen wird jeweils ein Dreieck gebildet. Die Fläche der jeweiligen Dreiecke wird durch einen Farbverlauf ausgefüllt, der aus den Farbwerten der jeweils drei die Ecken des Dreiecks bildenden Pixelgruppen berechnet wird. Je mehr Pixelgruppen geladen werden, je kleiner werden die Dreiecke und je genauer kann das Bild rekonstruiert werden.
Description
Die Erfindung betrifft ein Verfahren zur Komprimierung und Dekomprimierung
von Bilddaten.
Zur Abspeicherung von Bildern gibt es heute eine Vielzahl von Techniken und
Komprimierungsverfahren. Die verwendeten Techniken lassen sich im
wesentlichen auf Pixel-basierte und Vektor-basierte Verfahren zurückführen.
Bei den Pixel-basierten Techniken wird über das Bild ein Raster gelegt. Jeder
Rasterpunkt entspricht einem Pixel. Ein Pixelwert wird mit einem Bit (z. B.
WBMP → Schwarz-Weiß) oder mehreren Bits (z. B. BMP → True-Color) kodiert.
Um die Größe der Bilddateien zu reduzieren, können verschiedene
Komprimierungsverfahren angewendet werden. Ein effektives Verfahren
besteht in der Reduzierung der Bits pro Pixel. Des weiteren können Verfahren
angewendet werden, bei denen Pixel zu Gruppen zusammengefasst werden.
Dies sind in der Regel quadratische Bereiche, die dann mit Hilfe der DCT
(Diskreten Cosinus Transformation) in den Frequenzbereich transformiert
werden. Die bei der Transformation entstandenen hohen Frequenzanteile
können ohne merkliche Qualitätsverluste vernachlässigt werden. Dieses
Verfahren wird z. B. bei JPEG Bildern angewendet. Bei sehr hohen JPEG
Kompressionen kann es zu störenden, rechteckig-verschachtelten Bildflecken -
sogenannten "Artefakten" - führen.
Bei den Vektor basierten Verfahren wird das Bild mit Hilfe von geometrischen
Formen (z. B. Rechtecke, Kreise) eindeutig beschrieben. Ein bekanntes
Verfahren ist das sogenannte SVG (Scalable Vector Graphics). Dieses
Verfahren ist bei technischen Zeichnungen hervorragend einsetzbar, da so
erstellte Bilder sehr gut skalierbar sind. Die entsprechenden Dateien sind
deutlich kleiner als bei herkömmlichen binären Bitmap-Formaten. Diese
Verfahren eignen sich jedoch weniger um Photos abzuspeichern.
Neben den herkömmlichen Fotoapparaten die auf einem Film belichten, gibt es
immer mehr Fotoapparate, die die Fotos anstelle auf einen Film digital auf
Speichermedien abspeichern. Da diese Speichermedien nur eine begrenzte
Kapazität besitzen, können nur eine kleine Anzahl hochauflösender Fotos, oder
viele Bilder mit geringerer Auflösung abgespeichert werden. Eine flexible
Skalierung ist zur Zeit nicht möglich.
Die Aufgabe der Erfindung liegt in der Schaffung eines Verfahrens zur
Komprimierung und Dekomprimierung von Bilddaten, welches eine einfache
und flexible Anpassung an Speichergröße, unterschiedliche Bildauflösungen
und Displaygrößen erlaubt.
Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind in den
Unteransprüchen angegeben.
Die Erfindung beruht auf einer Kombination der Pixel-basierten und Vektor-
basierten Technik. Als erstes wird das Bild mit einem Raster belegt. Für jedes
Pixel des Rasters wird zunächst der Pixelwert, d. h. Farbwert bzw.
Helligkeitswert, ermittelt. Anschließend wird für jeden Pixel, aus einer zuvor
festgelegten Menge von benachbarten Pixeln, ein weiterer Wert, im folgenden
Pixeldifferenzwert genannt, berechnet. Der Pixeldifferenzwert ergibt sich aus
der Differenz des Pixelwerts eines betrachteten Pixels zu jedem seiner
betrachteten Nachbarpixel. Dieser Wert ist umso höher, je größer die Differenz
des Pixelwertes zu seinen benachbarten Pixeln ist. Anschließend werden die
Pixeldifferenzwerte der einzelnen Pixel des Bildes absteigend sortiert. Die für
die Berechnung eines Pixeldifferenzwerts hinzugezogenen Pixel werden jeweils
zu einer Pixelgruppe zusammengefasst. Die so gewonnenen Pixelgruppen
werden entsprechend der absteigenden Sortierung der Pixeldifferenzwerte,
d. h. entsprechend ihrer durch den Pixeldifferenzwert bestimmten Priorität,
abgespeichert.
Es ergibt sich einen Prioritätenliste, wobei zuoberst auf der Liste diejenigen
Pixelgruppen erscheinen, deren Pixeldifferenzwert und damit Priorität am
größten ist.
Die Pixelwerte der Pixelgruppen können durch Lauflängencodierung oder
andere bekannte Komprimierungsmethoden, z. B. Zip-Verfahren, weiter
komprimiert werden.
Zur Wiederherstellung des Bildes werden zunächst die Pixelgruppen mit den
höchsten Pixeldifferenzwerten (Prioritäten) geladen. Aus jeweils drei sich am
nächsten liegenden Pixelgruppen wird jeweils ein Dreieck gebildet. Dreiecke
sind in ihrer Größe skalierbar, und können so an unterschiedliche Auflösungen
angepasst werden. Sollen bestimmte Bildbereiche besonders genau
wiedergegeben werden, können die Pixelgruppen dieser Bereiche mit einer
höheren Priorität versehen werden. Die Fläche der jeweiligen Dreiecke wird
durch einen Farbverlauf, der aus den Farbwerten der jeweils drei die Ecken des
Dreiecks bildenden Pixelgruppen berechnet wird, ausgefüllt.
Bei Schwarz-Weiß Bildern wird anstelle der Farbwerte der jeweilige
Helligkeitswert der Pixel bzw. Pixelgruppen betrachtet und ein entsprechender
Helligkeitsverlauf berechnet.
Je mehr Pixelgruppen dargestellt werden, je kleiner werden die Dreiecke und je
genauer kann das Bild rekonstruiert werden.
Die Vorteile des erfindungsgemäßen Verfahrens liegen in der hohen
Skalierbarkeit durch einfache Anpassung an unterschiedliche Displaygrößen
und der Möglichkeit einer erhöhten Auflösung von interessanten Bereichen
eines Bildes durch Priorisierung bestimmter Bildbereiche.
Das Verfahren ermöglicht es den Hersteller bzw. Bildverarbeitungsprofis, durch
unterschiedliche Priorisierungen der Pixelgruppen herstellerspezifische
Optimierungsroutinen verwenden. Da jedoch immer die Quellpixelwerte
übertragen werden, kann das Bild aber auch ohne Verwendung der
herstellerspezifischen Optimierungsroutinen wieder erzeugt werden.
Ferner ist eine Erhöhung der Auflösung von Details durch Nachfaden der
interessanten Bildbereiche, anstelle des Nachladens eines komplett neuen
Bildes mit einer anderen Auflösung möglich.
Das Verfahren ist sehr fehlertolerant, da das Bild auch bei Übertragungsfehlern
einzelner Pixelgruppen wieder erzeugt werden kann.
Ein Ausführungsbeispiel der Erfindung wird anhand der Zeichnungsfiguren
näher erläutert. Aus den Zeichnungen und deren Beschreibung ergeben sich
weitere Merkmale, Vorteile und Anwendungsmöglichkeiten der Erfindung. Es
zeigt:
Fig. 1 Darstellung eines Bildarrays aus 20 × 21 Pixeln;
Fig. 2 Darstellung verschiedener Formen von Pixelgruppen;
Fig. 3 neu generiertes Bildarray mit eingefügten Pixelgruppen in der
Bildecke;
Fig. 4 ausfüllen der Flächen zwischen den bereits eingefügten
Pixelgruppen;
Fig. 5 einfügen weitere Pixelgruppen und Ausfüllen der
dazwischenliegenden Flächen.
Nachfolgend wird anhand eines exemplarischen Beispiels eine Komprimierung
und Dekomprimierung einer 2 dimensionalen Bilddatei (Bildarray) beschrieben.
Folgende Annahmen werden getroffen:
Die Bildquelle liegt als Bitmap, d. h. als Bildarray, vor.
Jedes Pixel des Bildarrays wird durch einen 32 Bit Wert (Pixelwert) repräsentiert. Die 32 Bit sind z. B. in 4 Werte (Transparent, Rot, Grün, Blau) mit jeweils 8 Bit aufgeteilt.
Die Bildquelle liegt als Bitmap, d. h. als Bildarray, vor.
Jedes Pixel des Bildarrays wird durch einen 32 Bit Wert (Pixelwert) repräsentiert. Die 32 Bit sind z. B. in 4 Werte (Transparent, Rot, Grün, Blau) mit jeweils 8 Bit aufgeteilt.
Das beispielhaft dargestellte Bildarray ist ein Bild mit der Bildbreite von 20
Pixeln und einer Bildhöhe von 21 Pixeln. Die Position der Pixel ist durch eine
Integer Zahl festgelegt. Das Bildarray wird in der in Fig. 1 gezeigten Weise
von 0 bis 419 durchgezählt. Die Zahl innerhalb jedes Kastens entspricht der
Position des zugehörigen Pixels.
Die Komprimierung des Bildes erfolgt folgendermaßen:
Ein Bild wird in das in Fig. 1 gezeigte 20 × 21 Pixel große Bildarray
eingelesen. Jedes Pixel ist durch seine Position (0 bis 419) und seinen
Pixelwert (Farb- bzw. Helligkeitswert) definiert.
Als Nächstes wird festgelegt, welche benachbarten Pixel eine Pixelgruppe
bilden. Mit p0 ist dabei dasjenige Pixel bezeichnet, das die Position der
Pixelgruppe angibt. Die relative Position der übrigen Pixel, z. B. p1-p4, einer
Pixelgruppe zum Bezugspixel p0 ergibt sich aus der verwendeten Art (Form)
der Pixelgruppe. In Fig. 2 sind exemplarisch einige mögliche Formen von
Pixelgruppen dargestellt. Es können sowohl zum Bezugspixel p0 symmetrische
als auch unsymmetrische Pixelgruppen gebildet werden. Welche Art von
Pixelgruppe verwendet wird, ist u. a. von der Art des Bildmaterials und der
angestrebten Kompressionsrate abhängig. In der Regel ist der zu erreichende
Kompressionsfaktor umso größer, je mehr Pixel eine Pixelgruppe umfasst. Zum
kodieren und dekodieren, d. h. komprimieren und dekomprimieren des Bildes
muss die gleiche Form von Pixelgruppen verwendet werden.
In der weiteren Beschreibung des Verfahrens wird mit der Form der in Fig. 2
dick umrandeten Pixelgruppe (links unten) weitergearbeitet.
Für jedes Pixel p0 einer Pixelgruppe wird nun die Priorität in Bezug auf dessen
Pixelgruppe berechnet. Dabei wird jedes Pixel 0-419 des Bildes einmal zum
Bezugspixel p0.
Die Pixel am Bildrand können eine besondere Behandlung erfahren, z. B. durch
Auswahl einer bestimmten Pixelgruppenform im Randbereich oder
Verkleinerung der zu betrachteten Fläche (Abschneiden der Randbereiche).
Zur Berechnung der Priorität kann es verschiedene Rechenmethoden geben.
Exemplarisch wird hier eine lineare Methode verwendet.
Dazu werden die einzelnen Pixelwerte P0, P1, P2, P3 und P4 einer Pixelgruppe
in ihre Farbanteile Rot, Grün und Blau zerlegt. Jeder dieser Farbwerte wird
durch 8 Bit repräsentiert. Für jede Farbe eines jeden Pixels P1-P4 wird nun ein
Farbdifferenzwert in Bezug auf P0 ermittelt,
z. B. P0_rot - P1_rot, P0_rot - P2_rot, ..., P0_blau - P4_blau. Die absoluten
Farbdifferenzwerte werden addiert und durch die Anzahl der Farben und Anzahl
der betrachteten Pixel geteilt. Das Ergebnis ist ein Prioritätswert für die
betrachtete Pixelgruppe. Dieser Prioritätswert ist umso höher, je
unterschiedlicher die Farbwerte der einzelnen Pixel der Pixelgruppe sind.
Weitere Methoden zur Ermittlung des Prioritätswert sind die Benutzung von
Grauwerten oder der Maximalwert einer Farbdifferenz einer Farbe. Da der
Prioritätswert später selbst nicht übertragen, bzw. abgespeichert wird, hat das
Verfahren zur Ermittlung des Prioritätswert keinen direkten Einfluss auf die
Dekodierung.
Durch diese Priorisierung wird erreicht, dass Bildbereiche, die einen großen
Farb- oder Kontrastwechsel aufweisen, wie z. B. Kanten, eine hohe Priorität
erhalten, und relativ gleichbleibende Bildinhalte, wie z. B. blauer Himmel, eine
Niedrige.
In diesem Schritt werden die Prioritätswerte der Größe nach absteigend
sortiert. In Abhängigkeit der Implementierung kann eine Sortierung nach
Ermittlung jedes neuen Prioritätswertes oder im nachhinein durchgeführt
werden.
In Abhängigkeit der verfügbaren Ressourcen können neben der reinen
Priorisierung durch die Farbwerte benachbarter Pixel auch Abhängigkeiten der
Lage der priorisierten Pixelgruppen herangezogen werden.
Ein Anwendungsfall soll dies verdeutlichen. Betrachtet man auf See einen
Horizont, erscheint dieser wie eine waagerechte Linie. Es ist zu erwarten, dass
die Prioritätswerte jeder Pixelgruppe entlang diesem Horizont in etwa gleich
sind. In diesem Fall besitzen die am weitesten auseinander liegenden Punkte
der Horizontlinie die größte Aussagekraft. Durch Übertragung der äußersten
linken und äußersten rechten Pixelgruppen des Horizonts ist es schon möglich,
diesen wieder zu rekonstruieren.
Eine weitere Möglichkeit der Priorisierung liegt in der Höherbewertung
bestimmter Bildbereiche: Ein solcher Bildbereich können zum Beispiel
Gesichter auf Fotos sein. Obwohl Gesichter auf Urlaubsfotos manchmal nur
einen prozentual kleinen Bereich des gesamten Bildes ausmachen, stehen sie
beim Betrachten meist im Mittelpunkt. Ein solches menschliches Sehverhalten
kann durch entsprechende Priorisierung der Pixelgruppen dieser Bildbereiche
(Gesichtsbereiche) berücksichtigt werden. Ebenso können die Pixelgruppen im
Zentrum des Bildes eine entsprechend höhere Priorisierung erfahren.
Eine weitere Möglichkeit der Optimierung besteht in der Tatsache, dass sich
benachbarte Pixelgruppen gegenseitig überlagern. Durch geschickte Auswahl
der Pixelgruppen kann vermieden werden, dass sich überlagernde Pixelwerte
benachbarten Pixelgruppen wiederholt übertragen werden.
Wird das zu komprimierende Bild direkt mit einer CCD Kamera oder einem
Scanner aufgenommen, besteht prinzipiell die Möglichkeit, aus dem in der
Kamera/dem Scanner vorhandenen, bildbearbeitenden Mikrochip direkt ein
nach Prioritäten sortiertes Array zu erhalten. Somit wird beim komprimieren ein
wesentlicher Teil des Rechenaufwandes eingespart.
Zunächst werden einige Kenngrößen des Bildes abgespeichert. Exemplarisch
aufgeführt sind das:
- - Bildbreite (in Pixel)
- - Bildhöhe (in Pixel)
- - Verwendete Form der Pixelgruppe (nicht notwendig wenn nur eine Form standardisiert ist)
- - die 4 Pixelgruppen der Bildecken.
Anschließend werden die einzelnen Pixelgruppen entsprechend ihrer Priorität
abgespeichert, d. h. Pixelgruppen mit hoher Priorität werden zuerst gespeichert
(und später auch zuerst ausgelesen).
Dazu wird zunächst der Positionswert des Bezugspixels p0 der Pixelgruppe
abgespeichert. Anschließend werden die Pixelwerte P0, P1, P2, P3, P4
abgespeichert.
Positionswert P0, Pixelwerte P0, P1, P2, P3, P4; nächster Positionswert P0 (mit
gleicher oder niedrigerer Priorität), Pixelwerte P1, P2, P3, P4, . . ., nächster
Positionswert P0 (mit geringster Priorität), Pixelwerte P0, P1, P2, P3, P4.
Das Abspeichern kann durch verschiedene Methoden, die hier nur
exemplarisch angesprochen werden, optimiert werden.
Es kann eine Lauflängencodierung der Pixelgruppen vorgenommen werden.
Z. B. wenn in einem Bildbereich keine Rotanteile vorkommen, kann dies
anstelle von 8 Bit (rot) nur mit z. B. 2 Bit übertragen werden, oder es kann die
Anzahl der führenden Nullen ausgenutzt werden.
Ferner können allgemein übliche Komprimierungsmethoden, z. B. Zip-Format,
verwendet werden.
Durch Festlegung eines Grenzwertes für die Priorisierung kann eine bestimmte
Qualität gewährleistet werden. Z. B. kann ein Grenzwert für die
Pixeldifferenzwerte festgelegt werden unterhalb dessen die zugeordnete
Pixelgruppe immer den niedrigsten Prioritätswert bekommt.
Bei einer Festlegung einer maximalen Dateigröße ist durch die Priorisierung
sichergestellt, dass die wesentlichsten Bildinformationen zuerst abgespeichert
werden.
Zur Generierung eines neuen Bildes werden zunächst die Kenngrößen des
Bildes eingelesen und ausgewertet.
Exemplarisch sind dies Bildbreite, Bildhöhe und Form der Pixelgruppe. Aus
diesen Werten wird dann ein zunächst leeres Bildarray vergleichbar mit der
Darstellung in Fig. 1 erzeugt. Stimmen die Bildhöhe und Bildbreite zwischen
dem Ursprungsbild und der nun gewünschten Darstellung (z. B. begrenztes
PDA Display oder hochauflösender Bildschirm) nicht überein, muss
entsprechend skaliert werden. Dazu werden zunächst Umrechnungsfaktoren
ermittelt (Bildbreite_Orginal/Bildbreite_Display und Bildhöhe_Orginal/
Bildhöhe_Display). Diese Faktoren können benutzt werden um den
Positionswert von dem Originalbild in den Positionswert des neuen Displays
umzurechnen.
Wie in Fig. 3 dargestellt ist, werden entsprechend der Reihenfolge der
priorisierten Pixelgruppen diese nun eingelesen. Zunächst werden die 4
Pixelgruppen der Ecken in das neu generierte Bildarray eingetragen. Die
Position (p0) der jeweiligen Pixelgruppe ist durch die schwarz unterlegten
Felder 21, 38, 381 bzw. 398 bestimmt. Dieser Positionswert (p0) liegt als
Integerwert in der abgespeicherten Datei vor. Anschließend können die zur
jeweiligen Pixelgruppe gehörenden, dunkelgrau grau unterlegten Pixelwerte
(p1-p4) in das neue Bildarray eingetragen werden. Die dazwischen liegenden,
hellgrau markierten Pixelwerte lassen sich dann aus den dunkelgrau und
schwarz markierten Feldern berechnen. Zur Berechnung werden zunächst die
bekannten Pixelwerte in ihre Bestandteile Rot, Grün und Blau zerlegt.
Anschließend wird der Mittelwert jeder Farbe berechnet, z. B. Pixel(22) =
(Pixel(2) + Pixel(21) + Pixel(42))/3).
Nun werden die vorhandenen Pixelgruppen durch Linien miteinander
verbunden. Es ergeben sich Dreiecke, dessen Ecken durch die entsprechenden
Pixelgruppen definiert sind. Exemplarisch soll dies an der Linie zwischen
Pixelposition 2 und Pixelposition 17 verdeutlicht werden. Der Farbverlauf der
Linie wird anhand der Farbwerte der Pixel 2 und 17 berechnet. Zunächst wird
die Anzahl der Pixel zwischen diesen beiden Positionen ermittelt, im Beispiel
14. Anschließend wird für jede Farbe (Rot, Grün, Blau) die Farbdifferenz
ermittelt, z. B. Farbwert an Position 2 = 2; Farbwert an Position 17 = 30 ergibt
Farbdifferenz von 28). Eine Farbwertsteigerung pro Pixel - vom Pixel 2 zum
Pixel 17 - errechnet sich dann aus Farbdifferenz/Anzahl (Im Beispiel 28/14 =
2).
Die noch übrigen Flächen werden durch Zeichnen von horizontalen Linien
ausgefüllt, z. B. von Position 63 nach Position 74, von Position 82 nach
Position 93, usw. Auch hier wird ein vorläufiger Farbverlauf zwischen den
Punkten wie oben angegeben berechnet.
Wie Fig. 5 zeigt, ergibt jede weitere hinzufügte Pixelgruppe weitere Dreiecke
die entsprechend ausgefüllt werden können. Nachdem zunächst die gesamte
Fläche durch Nutzung der 4 Eckpunkte (21, 38, 398, 381) ausgefüllt wurde,
kann nun mit jeder weiteren Pixelgruppe die Auflösung verfeinert werden. Das
Hinzufügen der Pixelgruppe 87 führt zu 4 Dreiecken mit den Bezugspunkten
(21, 38, 87), (21, 87, 381), (381, 87, 398), (398, 78, 38). Wird nun innerhalb
eines solchen Dreieckes, z. B. 87, 381, 398, eine weitere Pixelgruppe (247)
eingefügt entstehen 3 neue Dreiecke (247, 381, 398), (247, 87, 381) und
(247, 87, 398). Jede neue Pixelgruppe erzeugt somit 3 neue Dreiecke, die
ausgefüllt werden können. Je mehr Pixelgruppen eingefügt sind, d. h. je mehr
Dreiecke gebildet werden, desto näher kommt der berechnete Farbverlauf dem
tatsächlichen Farbverlauf des Bildes. Da ab nun immer nur neue Dreiecke
entstehen, können für die Berechnungen optimierte Verfahren verwendet
werden. Ferner können die jeweils 3 neu entstehenden Dreiecke parallel
berechnet werden, um die Bearbeitungsgeschwindigkeit zu steigern.
Zusätzliche Möglichkeit der Parallelisierung entsteht dadurch, wenn neue
Pixelgruppen in unterschiedlichen Regionen des Bildes hinzugefügt werden.
Claims (10)
1. Verfahren zur Komprimierung von Bilddaten, die aus einem Array einzelner
Bildpunkte (Pixel) bestehen, wobei jedes Pixel (0-419) einen Pixelwert
aufweist, der Farb- oder Helligkeitsinformation des Pixels beschreibt,
gekennzeichnet durch die Schritte:
- a) Ermitteln eines Prioritätswertes für jedes Pixel des Arrays durch Berechnen eines Pixeldifferenzwertes anhand des jeweiligen Pixelwerts des Pixels in Bezug auf die Pixelwerte einer zuvor festgelegten Gruppe von benachbarten Pixeln;
- b) Zusammenfassen der für die Berechnung des Prioritätswertes hinzugezogenen Pixel zu einer Pixelgruppe (P0-P4),
- c) Sortieren der Pixelgruppen des Bildarrays anhand ihres Prioritätswertes; und
- d) Abspeichern und/oder Übertragen der Pixelgruppen entsprechend ihrer Priorität.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der
Pixeldifferenzwert sich aus der Differenz des Pixelwerts eines betrachteten
Pixels zum Pixelwert jedes seiner betrachteten Nachbarpixel der
Pixelgruppe ergibt.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass als erstes die Kenngrößen des Bildes, wie Bildbreite
in Pixel, Bildhöhe in Pixel, Form der verwendeten Pixelgruppe und die Eck-
Pixelgruppen der vier Bildecken abgespeichert und/oder übertragen
werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass für jede Pixelgruppe die Position eines Bezugspixels
(P0), dessen Pixelwert, sowie der Pixelwert der übrigen Pixel (P1-P4) der
Pixelgruppe abgespeichert oder übertragen wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass Pixelgruppen bestimmter Bildbereiche eine erhöhte
Priorität zugeordnet wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass die Pixelwerte der Pixelgruppen durch
Lauflängencodierung oder andere Kompressionsverfahren weiter
komprimiert werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass die Ermittlung und Ausgabe der nach Prioritäten
sortierten Pixelgruppen bereits durch ein verwendetes bildaufnehmendes
System, wie z. B. Scanner, CCD-Kamera, erfolgt.
8. Verfahren zur Dekomprimierung von Bilddaten, die mit dem Verfahren
gemäß den Ansprüchen 1 bis 7 komprimiert wurden,
gekennzeichnet durch die Schritte:
- a) Generieren eines leeren Bildarrays aus den eingelesenen Kenngrößen des komprimierten Bildes,
- b) Einlesen der Eck-Pixelgruppen und Einfügen an den vier Bildecken des Bildarrays,
- c) Bilden von Dreiecken durch Verbinden von jeweils drei unmittelbar benachbarter Pixelgruppen durch mindestens eine Linie,
- d) Ausfüllen der die Fläche der Dreiecke bildenden Pixel durch einen aus den das Dreieck bildenden Pixelgruppen berechneten Farb- und/oder Helligkeitsverlauf,
- e) Einlesen und Einfügen der nächsten Pixelgruppe in das Bildarray;
- f) Wiederholen der Schritte c) bis f).
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Schritte c)
bis f) so lange wiederholt werden, bis alle oder eine gewünschte Anzahl von
Bilddaten eingelesen und verarbeitet wurden.
10. Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass die
Dreiecke in ihrer Größe skalierbar und an unterschiedliche Bildauflösungen
anpassbar sind.
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10152612A DE10152612B4 (de) | 2001-03-21 | 2001-10-25 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
DE50206898T DE50206898D1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von bilddaten |
AT02727252T ATE327636T1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von bilddaten |
PT02727252T PT1374559E (pt) | 2001-03-21 | 2002-03-19 | Metodo para compressao e descompressao de dados de imagem |
EP02727252A EP1374559B1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von bilddaten |
CNB028069269A CN1233146C (zh) | 2001-03-21 | 2002-03-19 | 图像数据压缩和解压缩的方法 |
ES02727252T ES2265500T3 (es) | 2001-03-21 | 2002-03-19 | Procedimiento para la compresion y descompresion de datos de imagenes. |
CZ20032890A CZ20032890A3 (cs) | 2001-03-21 | 2002-03-19 | Způsob komprimování a dekomprimování obrazových dat |
RU2003130966/09A RU2279189C2 (ru) | 2001-03-21 | 2002-03-19 | Способ уплотнения и распаковки данных изображения |
PCT/DE2002/000995 WO2002078322A1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von bilddaten |
JP2002576416A JP3887664B2 (ja) | 2001-03-21 | 2002-03-19 | 画像データの圧縮及び伸張方法 |
CA2441372A CA2441372C (en) | 2001-03-21 | 2002-03-19 | Method for compression and decompression of image data |
US10/472,288 US7359560B2 (en) | 2001-03-21 | 2002-03-19 | Method for compression and decompression of image data with use of priority values |
DE10229975.7A DE10229975B4 (de) | 2001-10-25 | 2002-07-03 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
DE10230810A DE10230810B4 (de) | 2001-10-25 | 2002-07-08 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10113881.4 | 2001-03-21 | ||
DE10113881 | 2001-03-21 | ||
DE10152612A DE10152612B4 (de) | 2001-03-21 | 2001-10-25 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
DE10230810A DE10230810B4 (de) | 2001-10-25 | 2002-07-08 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10152612A1 true DE10152612A1 (de) | 2002-10-02 |
DE10152612B4 DE10152612B4 (de) | 2006-02-23 |
Family
ID=26008858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10152612A Expired - Lifetime DE10152612B4 (de) | 2001-03-21 | 2001-10-25 | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10152612B4 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004006583A1 (de) | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von zusätzlichen informationen bei verwendung eines verfahrens zur komprimierung von daten mittels einer priorisierenden pixelübertragung |
WO2004006224A1 (de) * | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von audiosignalen nach dem verfahren der priorisierenden pixelübertragung |
US7515757B2 (en) | 2002-07-02 | 2009-04-07 | T-Mobile Deutschland Gmbh | Method for managing storage space in a storage medium of a digital terminal for data storage according to a prioritized pixel transfer method |
-
2001
- 2001-10-25 DE DE10152612A patent/DE10152612B4/de not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515757B2 (en) | 2002-07-02 | 2009-04-07 | T-Mobile Deutschland Gmbh | Method for managing storage space in a storage medium of a digital terminal for data storage according to a prioritized pixel transfer method |
WO2004006583A1 (de) | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von zusätzlichen informationen bei verwendung eines verfahrens zur komprimierung von daten mittels einer priorisierenden pixelübertragung |
WO2004006224A1 (de) * | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von audiosignalen nach dem verfahren der priorisierenden pixelübertragung |
DE10230809B4 (de) * | 2002-07-08 | 2008-09-11 | T-Mobile Deutschland Gmbh | Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung |
US7583843B2 (en) | 2002-07-08 | 2009-09-01 | T-Mobile Deutschland Gmbh | Method for the transmission of additional information when using a method for compressing data by means of prioritizing pixel transmission |
Also Published As
Publication number | Publication date |
---|---|
DE10152612B4 (de) | 2006-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69937785T2 (de) | Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung | |
DE3005775C2 (de) | Kodierverfahren für ein Farbbild | |
DE69333288T2 (de) | Verbesserte vektorquantisierung | |
DE69434862T2 (de) | Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild | |
DE69332584T2 (de) | Verbesserte vorverarbeitung und nachverarbeitung von vektorquantifizierung | |
DE69520411T2 (de) | Iterative Kompression digitaler Bilder | |
DE19531004C2 (de) | Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten | |
DE69926469T2 (de) | Filterung von Bilddaten bei der Verarbeitung zusammengesetzter Dokumente | |
DE102016207230A1 (de) | Wahrnehmbare Farbumwandlungen für Videokodierung mit einem breiten Farbumfang | |
EP1371229B1 (de) | Verfahren zur komprimierung und dekomprimierung von videodaten | |
EP1374559B1 (de) | Verfahren zur komprimierung und dekomprimierung von bilddaten | |
EP1404113A1 (de) | Verfahren zur automatischen Bearbeitung digitaler Bilddaten | |
DE19623318C2 (de) | Teilpixelcodierungs- und Decodierungsverfahren | |
DE60033716T2 (de) | Verfahren und Vorrichtung zur Bilddatenkompression | |
DE112018002432T5 (de) | Verfahren und Vorrichtung zum Reduzieren von Artefakten in einem projektionsbasierten Rahmen | |
DE3642492A1 (de) | Verfahren und schaltungsanordnung zur reduktion der datenrate digitalisierter bilder | |
DE69934385T2 (de) | Bilddatenkompression für Verarbeitung zusammengesetzter Dokumente | |
DE69513841T2 (de) | Paketiertes yuv9 format zur verschachtelten speicherung und effizienten bearbeitung von digitalen videodaten | |
DE102018110383A1 (de) | Verfahren und Vorrichtung zum Kodieren von Bilddaten | |
DE10152612B4 (de) | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten | |
DE2460654A1 (de) | Verfahren und einrichtung zum codieren eines gegebenen informationssignals | |
EP2294825B1 (de) | Vorrichtung und verfahren zum codieren und decodieren einer mehrzahl von fliesskommawerten | |
DE69934774T2 (de) | Videoverarbeitung in pc verwendet statistisch abgestimmte farbwürfel | |
DE19944213C1 (de) | Verfahren zum Komprimieren eines digitalen Bildes mit mehreren Bit-Ebenen | |
EP1034511B1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AG | Has addition no. |
Ref document number: 10230810 Country of ref document: DE |
|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |