DE19641157A1 - Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung - Google Patents
Verfahren zur Überprüfung der Konvergenz bei der fraktalen BildcodierungInfo
- Publication number
- DE19641157A1 DE19641157A1 DE19641157A DE19641157A DE19641157A1 DE 19641157 A1 DE19641157 A1 DE 19641157A1 DE 19641157 A DE19641157 A DE 19641157A DE 19641157 A DE19641157 A DE 19641157A DE 19641157 A1 DE19641157 A1 DE 19641157A1
- Authority
- DE
- Germany
- Prior art keywords
- matrix
- transformation
- blocks
- domain
- range
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Überprüfung der
Konvergenz bei der fraktalen Bildcodierung.
Die Erfindung geht aus von einem Verfahren zur Überprüfung
der Konvergenz bei der fraktalen Bildcodierung nach der
Gattung des unabhängigen Anspruchs 1. Es ist schon ein
Verfahren zur Überprüfung der Konvergenz bei der fraktalen
Bildcodierung aus dem Artikel von P. Siepen und
Prof. G. Dickopp "Zur Konvergenz bei der fraktalen
Bildcodierung", Proceedings of the 6. Dortmunder
Fernsehseminar, p.p. 133 bis 138, Oktober 1995, bekannt.
Darin wird vorgeschlagen, die hochdimensionale
Transformationsmatrix nach einem vorgeschlagenen
Reduktionsverfahren in ihrer Dimension zu reduzieren und
statt der originalen Transformationsmatrix die reduzierte
Transformationsmatrix auf Konvergenz zu überprüfen. Aus der
Mathematik ergibt sich, daß zur Überprüfung der Konvergenz
der Transformationsmatrix oder in diesem Fall der
reduzierten Transformationsmatrix die Eigenwerte der zu
überprüfenden Matrix ermittelt werden müssen. Konvergenz
liegt dann vor, wenn alle Eigenwerte der zu überprüfenden
Matrix innerhalb des Einheitskreises der komplexen Ebene
liegen. Die Berechnung der Eigenwerte der reduzierten
Matrix führt immer noch zu einem immensen Rechenaufwand, da
die reduzierte Matrix immer noch sehr hochdimensional ist.
Es ist Aufgabe der Erfindung, das Verfahren zur Überprüfung
auf Konvergenz bei der fraktalen Bildcodierung weiter zu
vereinfachen, so daß die Berechnung der Eigenwerte
zumindest näherungsweise mit deutlich weniger Rechenaufwand
möglich wird.
Das erfindungsgemäße Konvergenzüberprüfungsverfahren hat
den Vorteil, daß quasi ein hierarchisches
Konvergenzüberprüfungsverfahren geschaffen ist, mit dem es
relativ einfach möglich ist, die betragsmäßig größten
Eigenwerte der zu überprüfenden Transformationsmatrix mit
gewünschter Genauigkeit abzuschätzen. In einem ersten
Schritt entsprechend Anspruch 1 wird die Zeilensummennorm
der reduzierten Matrix überprüft. Dadurch wird schon eine
erste Aussage getroffen, welche Domainblöcke bzw. die darin
enthaltenen Rangeblöcke für einen zu großen Eigenwert
wesentlich verantwortlich sind.
Will man eine genauere Aussage über die Größe der größten
Eigenwerte erhalten, so sind in den Ansprüchen 2 bis 5
weitere Maßnahmen angegeben, die eine genauere Abschätzung
der größten Eigenwerte ermöglichen. Dabei ist aber zu
berücksichtigen, daß jede zusätzliche Maßnahme den
Rechenaufwand in die Höhe treibt. Die Entscheidung, wie
genau die größten Eigenwerte bestimmt werden sollen, kann
je nach zur Verfügung stehender Rechenleistung sowie je
nach Anwendung flexibel gewählt werden. Da bei den
zusätzlichen Überprüfungsschritten immer größere
Untermatrizen der reduzierten Transformationsmatrix auf
ihre größten Eigenwerte hin überprüft werden, wird
schließlich auch die Lokalisierung der für die Divergenz
hauptsächlich verantwortlichen Rangeblöcke immer
schlechter. Deshalb empfiehlt es sich, die größten
Eigenwerte nur mit bestimmter Genauigkeit zu berechnen und
bei relativ großen Eigenwerten eine neue Zuordnung von
Domainblöcken zu Rangeblöcken zu wählen bzw. die
Transformationsparameter für die Abbildung von
Domainblöcken auf die betroffenen Rangeblöcke anzupassen
und so Konvergenz der Transformationsmatrix zu erreichen.
Ausführungsbeispiele der Erfindung sind in den Zeichnungen
dargestellt und werden in der nachfolgenden Beschreibung
näher erläutert.
Es zeigen:
Fig. 1 die Häufigkeitsverteilung der
Transformationskoeffizienten a für ein codiertes
Bild;
Fig. 2 eine Darstellung eines zu codierenden Bildes mit
dargestellten Rangeblöcken und einigen
Domainblöcken;
Fig. 3 eine vorteilhafte Einteilung eines zu codierenden
Bildes in Rangeblöcke und zugehörige Domainblöcke;
Fig. 4 ein grobes Blockschaltbild für eine
Codiervorrichtung zur fraktalen Bildcodierung und
Fig. 5 ein Ablaufdiagramm für ein Verfahren zur
Konvergenzkontrolle.
Nachfolgend wird zuerst die mathematische Theorie, die
hinter dem erfindungsgemäßen Verfahren zur Überprüfung der
Konvergenz bei der fraktalen Bildcodierung steht,
detailliert erläutert. Eine gute Einführung zu dem Thema
der fraktalen Bildcodierung ist in dem Artikel von A. E.
Jacquin, "Image coding based on fractal theory of iterated
contractive image transformations", IEEE Trans. on image
processing Vol. 1, pp. 18-30, Januar 1992, gegeben.
Bei der fraktalen Bildcodierung wird ein Originalbild in
nicht überlappende sogenannte Rangeblöcke eingeteilt.
Außerdem wird das Bild in eine Anzahl von größeren
Domainblöcken eingeteilt. Dabei ist es bei den
Domainblöcken erlaubt, daß diese gegenseitig überlappen
dürfen. Die Anzahl der Bildelemente (Pixels) der
Domainblöcke ist Ns-mal größer als die Anzahl von Pixeln
der Rangeblöcke. Fig. 2 zeigt beispielhaft ein
quadratisches Bild mit einer Einteilung des Bildes in
Rangeblöcke 10 sowie einige wenige Domainblöcke 11, 12 und
13, die gestrichelt dargestellt sind. Die Bildelemente
(Pixels) sind mit der Bezugszahl 14 versehen.
Während des Codiervorgangs sucht die Encodiervorrichtung
nach geeigneten Domainblöcken Dk für jeden Rangeblock Ri.
Der geeignete Domainblock wird dann, wenn nötig,
transformiert mit der Transformation τi so daß der
transformierte Domainblock Dk eine möglichst gute Näherung
für den zugehörigen Rangeblock Ri ist:
τi(Dk) = 1i[gi(Dk)] = i ≈ Ri [1]
Die Transformation τi besteht aus einem geometrischen
Anteil gi und einem Luminanztransformationsanteil li. Die
geometrische Transformation gi reduziert die Größe des
Domainblocks Dk auf die Größe des Rangeblocks Ri und kann
zusätzlich eine geometrische Manipulation der Art einer
Verschiebung bewirken. Die Luminanztransformation li führt
eine affine Transformation der Luminanzwerte L des
Domainblocks durch:
L' = a . L + b [2].
Wenn jeder einzelne approximierte Rangeblock i des Bildes
durch eine Transformation eines Domainblocks dargestellt
werden kann, dann handelt es sich um eine Transformation
für das komplette zu codierende Bild. Es wird daher eine
Transformation W definiert, die das komplette Bild in ein
anderes Bild transformiert, wobei KR die Anzahl der
Rangeblöcke angibt:
Wenn W eine kontraktive Transformation ist, kann eine
Decodiervorrichtung einen sogenannten Fixpunkt
konstruieren, und zwar gänzlich aufgrund der Kenntnis von
der Transformation W. Der Fixpunkt ist praktisch das
decodierte Bild. Das ist aufgrund des Banach'schen
Fixpunkt-Theorems sichergestellt. Dieses Theorem gibt an,
daß die Sequenz der Iterationen {xk} mit xk+1 = W(xk) für
alle beliebigen Anfangsbilder x0 zu dem einen Fixpunkt xf
von W konvergiert.
Im allgemeinen ist es möglich nur eine Transformation W zu
finden, die einen Fixpunkt xf aufweist, der eine gute
Näherung des Originalbildes x ist. Aber für einen
vorgegebenen Näherungsfehler d(x,W(x)) gibt das sogenannte
Collage-Theorem eine obere Grenze für den rekonstruierten
Fehler d(x, xf).
Es ist die Aufgabe der Encodiervorrichtung, diejenige
Transformation W zu finden, die den Näherungsfehler
möglichst minimiert. Wenn diese gefundene Transformation W
durch weniger Bits dargestellt werden kann als das zu
codierende Bild selbst, ist das Ziel der Datenkompression
erreicht. Deshalb wird die Transformation W auch als
fraktaler Code bezeichnet. Aufgrund der Tatsache, daß ein
Rangeblock und dessen korrespondierender Domainblock
gewöhnlicherweise in verschiedenen Teilen des Bildes
lokalisiert sind, wird im Gegensatz zu DCT-basierten
Codierungsverfahren in der fraktalen Codierung die
Korrelation zwischen voneinander entfernt liegenden
Bildteilen zur Redundanzreduktion ausgenutzt. Diese
Korrelation zwischen voneinander entfernt liegenden
Bildteilen wird auch als Selbstähnlichkeit bezeichnet. Die
wichtigste Frage bezüglich der Transformation W ist, ob W
eine kontraktive Transformation ist oder nicht. In vielen
praktischen Codierungsschemata wird das
Kontraktivitätskriterium angewendet, das die Größe aller
Transformationskoeffizienten (Parameter) ai der einzelnen
Transformationen τi die Bedingung ai < 1 erfüllen müssen.
Es hat sich jedoch gezeigt, daß, läßt man auch Werte von
ai < 1 zu, das decodierte Bild eine höhere Qualität
aufweist.
Läßt man beispielsweise für die Transformationskoef
fizienten bei der Luminanztransformation Werte im Intervall
von 0 bis 2 zu, so zeigt Bild 1 eine mögliche Verteilung
der Koeffizienten ai für ein gewöhnliches Beispielbild. An
diesem Bild ist deutlich erkennbar, daß eine große Anzahl
von Koeffizienten Werte größer als 1 aufweist. Somit wird
deutliche, daß eine Beschränkung der Koeffizienten ai zu
Werten unterhalb 1 in einer großen Anzahl von nicht
optimalen Teiltransformationen τi führt. Somit wird dadurch
aber auch die Qualität des rekonstruierten Bildes
verschlechtert. Es sollten daher möglichst auch
Transformationen τi zugelassen werden mit Koeffizienten ai
< 1 um eine höhere Qualität des rekonstruierten Bildes zu
erreichen. Wenn dies gemacht wird, müssen jedoch verstärkte
Anstrengungen unternommen werden, um die Konvergenz der
Transformation auf der Decoderseite sicherzustellen. Es
wird also ein geeignetes Konvergenzkriterium gesucht, mit
dem die Kontraktivität der Transformation W einfach und
schnell überprüft werden kann.
Ein Bild, bestehend aus R.C Bildelementen wird
nachfolgend als ein Vektor in einem N = RC-dimensionalen
Raum angesehen:
x = (x1, x2,. . ., xM ) T [4]
Mit dem Originalbild, dargestellt durch einen Vektor, kann
dann die Transformation W als affine Transformation
geschrieben werden:
= W(x) = A . z + b [5]
In der Sprache dieser Gleichung kann die Matrix A zusammen
mit dem Vektor b als eine andere Repräsentation des
fraktalen Codes angesehen werden. Wenn die Sequenz der
Bilder {zk} ausgedrückt durch die Formel
xk+1 = A . xk + b [6]
zu einem Fixpunkt xf konvergiert, dann kann xf als das
decodierte Bild angesehen werden.
Nachfolgend wird ein Kontraktivitätskriterium für die
Matrix A entwickelt.
Eine notwendige und hinreichende Bedingung dafür, daß die
Gleichung [6] konvergiert ist, das alle Eigenwerte λi von A
innerhalb des Einheitskreises der komplexen Ebene liegen:
Die Berechnung der größten Eigenwerte direkt von dieser
N×N Matrix A ist in einem geeigneten Zeitrahmen praktisch
unmöglich, da N die Anzahl der Pixels des Originalbildes
darstellt, und deshalb die Matrix eine gewaltige Größe
besitzt, z. B. bei einem Fernsehbild nach dem PAL-Standard
würde sich eine Größe von 720 . 576 = 414.720-dimensionale
Matrix ergeben. Mit folgenden beiden Methoden kann das
Problem gelöst werden:
Man kann entweder anhand von allgemeinen Überlegungen Regeln für die Parameter (Koeffizienten) der affinen Transformation [2] bestimmen, oder die Matrix A so zu einer kleineren Matrix reduzieren, daß sie weiterhin den betragsgrößten Eigenwert λmax enthält. Bei der ersten Methode werden vielfach sehr strenge Einschränkungen bezüglich des zu erlaubenden fraktalen Codierschemas gemacht. Zum Beispiel führt das gerade eben zu der Einschränkung, daß die Koeffizienten ai die Bedingung erfüllen müssen ai < 1. Dies kann abgeleitet werden aus der Tatsache, daß die Norm
Man kann entweder anhand von allgemeinen Überlegungen Regeln für die Parameter (Koeffizienten) der affinen Transformation [2] bestimmen, oder die Matrix A so zu einer kleineren Matrix reduzieren, daß sie weiterhin den betragsgrößten Eigenwert λmax enthält. Bei der ersten Methode werden vielfach sehr strenge Einschränkungen bezüglich des zu erlaubenden fraktalen Codierschemas gemacht. Zum Beispiel führt das gerade eben zu der Einschränkung, daß die Koeffizienten ai die Bedingung erfüllen müssen ai < 1. Dies kann abgeleitet werden aus der Tatsache, daß die Norm
der Matrix A eine obere Grenze für seine Eigenwerte ist.
Als nächstes wird genauer auf die Struktur der Matrix A
eingegangen. Um zu dem gewünschten Reduktionsverfahren zu
gelangen, muß die Struktur der Matrix A näher erläutert
werden. Dabei müssen auch einige Restriktionen für das
zugrundezulegende fraktale Codierschema gemacht werden.
Aber diese Restriktionen sind weniger restriktiv als
diejenigen, die bei der zuerst erwähnten Methode
erforderlich wären. Beispielsweise kann das
Reduktionsverfahren, was hier erläutert werden wird, auch
bei fraktalen Codierschemata benutzt werden, die auch ein
Überlappen der Domainblöcke gestatten.
Die KS verschiedenen und linear unabhängigen Vektoren si
beschreiben die Abbildung von NS verschiedenen Pixel eines
Domainblocks auf ein Pixel eines Rangeblocks:
Die si werden als Skalierungsblöcke bezeichnet und die
Zeilenvektoren von A bestehen aus diesen Vektoren si
multipliziert mit einem Faktor. Die KR verschiedenen und
linear unabhängigen Vektoren ri beschreiben die Rangeblöcke
bestehend aus NR Bildelementen:
Die Vektoren ri können daher als Summe von MR verschiedenen
Vektoren si beschrieben werden, wobei MR die Anzahl der
Skalierungsblöcke pro Rangeblock angibt. Die KD
verschiedenen und linear unabhängigen Vektoren di
beschreiben die Domainblöcke bestehend aus ND
Bildelementen. Die Domainblöcke wiederum können beschrieben
werden als eine Summe von NS Rangeblöcken:
Wenn man dies berücksichtigt, kann die Matrix A ausgedrückt
werden als eine Kombination von KR verschiedenen NR×N
Untermatrizen Ri. Jede dieser Matrizen Ri beschreibt die
Abbildung eines Domainblockes auf einen Rangeblock.
Die KD verschiedenen Matrizen Di bestehen aus NR
verschiedenen Vektoren si. Die Summe dieser Vektoren ergibt
einen Vektor di. Somit ergeben alle Skalierungsblöcke eines
Domainblockes zusammen einen Domainblock:
Die xk,j aus der Gleichung [12] müssen die folgenden
Bedingungen erfüllen, wenn ein fraktales Codierschema mit
mR ≧ 2 betrachtet wird:
Diese Formel beschränkt die Anordnung der Skalierungsblöcke
innerhalb eines Domainblockes.
Die Struktur der Matrix A führt zu einigen Einschränkungen
bezüglich der Wahl von Range- und Domainblöcken. Aufgrund
der Gleichung [9] wird gefordert, daß nur Rangeblöcke mit
einer konstanten Größe erlaubt sind. Aus den Gleichungen
[10] und [11] folgt, daß überlappende Domainblöcke erlaubt
sind, jedoch mit der Einschränkung, daß die überlappenden
Gebiete von 2 benachbarten Domainblöcken jeweils das
n-fache der Größe eines Rangeblockes betragen müssen mit n
∈ der natürlichen Zahlen. Die geometrischen
Transformationen (Isometrien) in Gleichung [1] sind
beschränkt durch die Gleichung [13].
Die im Vorhergehenden beschriebene Matrix A hat eine große
Anzahl von Eigenwerten λi = 0 und nur eine geringe Anzahl von
Eigenwerten mit λi ≠ 0. Es ist daher sinnvoll, ein
Reduktionsverfahren zu entwickeln, das die Dimension der
Matrix A reduziert ohne die Eigenwerte λi ≠ 0 zu verändern.
Ein derartiges Reduktionsverfahren wird nachfolgend näher
erläutert.
Zuerst wird ein allgemeines Reduktionsverfahren entwickelt.
Deshalb wird zuerst von einer N×N Matrix C ausgegangen.
Wenn wir die Ähnlichkeitstransformation
C' = T . C . T-1 [14]
mit einer nicht-singulären Matrix T auf die Matrix C
anwenden, dann wird die resultierende Matrix C' dasselbe
charakteristische Polynom haben wie die Matrix C. Damit
sind dann aber auch die Eigenwerte von C und C' identisch.
Diese Eigenschaft einer Ähnlichkeitstransformation kann
ausgenutzt werden, um die Dimension der Matrix zu
reduzieren ohne daß die Eigenwerte λi ≠ 0 beeinflußt werden.
Die Transformationsmatrix T besteht aus N linear
unabhängigen Zeilenvektoren ti:
T = (t1, . . ., ti, . . ., tN)T with ti = (ti,1, . . ., ti,j, . . ., ti,N)T [15]
Alternativ besteht die Matrix T aus N linear unabhängigen
Spaltenvektoren ui:
T = (u1, . . ., uj, . . ., uN) with uj = (t1,j, . . ., ti,j, . . . , tN,j)T [16]
T ist eine nicht-singuläre Matrix und die inverse Matrix
T-1 existiert mit:
Wenn man jetzt die N×N Matrix C der speziellen Form:
C = (c1.tk(1), . . ., ci.tk(i), . . ., cN.tk(N) T
mit k(i) ε {1, . . .M} und M < N [18]
betrachtet, wobei k(i) den Index des Zeilenvektors der
Transformationsmatrix T angibt, kann das Produkt der
Matrizen C und T-1 geschrieben werden als:
C.T-1 = (y1, . . ., yi, . . ., yN) [19]
Es ist zu beachten, daß nur die ersten M Zeilenvektoren von
der Matrix T benutzt werden. Von Gleichung [17] wird für
die yi erhalten:
Somit erhält man für die Matrix C' resultierend aus der
Ähnlichkeitstransformation nach Gleichung [14], daß sie in
Termen von ihren Spaltenvektoren geschrieben werden kann:
C' = T.C.T-1 = (c'1, . . ., c'j, . . ., c'N) with c'j = (c'1,j, . . ., c'i,j, . . ., c'N,j) T [21]
Von Gleichungen [18] und [20] folgt:
c'j = 0 mit j < M [22]
Für die Spaltenvektoren c'j von C' mit j ≦ M ist das
Ergebnis:
Damit kann C' in der folgenden Form geschrieben werden:
Und das charakteristische Polynom von C' ergibt sich zu
det(C - λ.I) = det(C'red - λ.I).λN-M = 0 [25]
Damit zeigt sich, daß die reduzierte M×M Matrix C'red
alle Eigenwerte λi ≠ 0 besitzt wie die Originalmatrix C.
Im nachfolgenden Abschnitt wird das allgemeine
Reduktionsschema angewendet auf die Matrix A0 = A aus
Gleichung [10]. A0 besteht aus N Zeilenvektoren:
Die korrespondierende Transformationsmatrix T wird so
gewählt, daß die ersten KS Zeilen aus den verschiedenen
linear unabhängigen Vektoren si bestehen. Die verbleibenden
N - KS Zeilen von T sind beliebige Zeilenvektoren wi, die
sicherstellen, daß die resultierende Transformationsmatrix
eine nicht singuläre Matrix ist:
T = (s1, . . ., sKs, w1, . . ., wN-Ks)T [27]
Wendet man das vorhergehend beschriebene allgemeine
Reduktionsschema an, erhält man eine KS×KS Matrix A1:
A1 = (αi,j) with i,j ε {1, . . ., KS [28]
Die Elemente αi,j haben die folgende Struktur:
Die Matrix A1, resultierend aus dem allgemeinen
Reduktionsschema, angewendet auf die Matrix A0 kann als der
lineare Teil der affinen Transformation nach Gleichung [5]
interpretiert werden mit einem um den Faktor NS
unterabgetasteten Bild. Wenn man das allgemeine
Reduktionsschema (mR = logNs)-fach auf die Matrix A0
anwendet, erhält man die KR×KR Matrix A' = AmR als
Resultat des ersten Reduktionsschrittes.
Nachfolgend wird der zweite Reduktionsschritt beschrieben.
Die Matrix A', erhalten nach dem ersten Reduktionsschritt,
hat ein einfachere Struktur verglichen zu der
Originalmatrix A0. Für diese reduzierte Matrix können
ebenfalls Vektoren angegeben werden, die die Range- und
Domainblöcke beschreiben. Die KR verschiedenen linear
unabhängigen ri sind von der folgenden Form:
Die KD verschiedenen linear unabhängigen di können als
Summe von NS verschiedenen ri geschrieben werden:
Damit kann dann die Matrix A' geschrieben werden als:
A'=(αi.f,, . . ., αi.fi, . . ., αKR.fKR)T with fi ε {d1, . . ., dKD} [32]
Die Transformationsmatrix T', die in dem allgemeinen
Reduktionsschema benutzt wird, besteht aus den linear
unabhängigen Vektoren di und einigen Vektoren wi. Die
Vektoren wi sind beliebige Vektoren. Die einzige Bedingung,
die die Vektoren wi erfüllen müssen, ist, daß die
resultierende Matrix T' nicht singulär ist.
T' = (d1, . . ., dKD, w1, . . ., wKA-KD)T [33]
Die Anwendung des allgemeinen Reduktionsschemas führt zu
der KD×KD Matrix A":
A'' = (αi,j) with i,j = 1, . . ., KD [34]
mit den folgenden Elementen
Damit ergibt sich, daß das hier vorgestellte
Reduktionsschema von der Originalen N×N Matrix A zu der
reduzierten ND×ND Matrix A'' führt, die ebenfalls alle
Eigenwerte λi ≠ 0 der Matrix A besitzt, wobei N die Anzahl
der Bildelemente des Originalbildes ist und ND die Anzahl
der Domainblöcke angibt.
Im nachhinein betrachtet mit den Ergebnissen der
vorhergehenden Abschnitte drängt sich ein Weg auf, um die
Konvergenz der Originalmatrix A zu überprüfen, bei dem
zuerst die Originalmatrix A aufgestellt wird und dann das
vorhergehend beschriebene Reduktionsschema angewendet wird,
um die reduzierte Matrix A'' zu erhalten. Aber aufgrund der
großen Dimension der Originalmatrix A kann trotzdem noch
ein sehr hoher Rechenaufwand für die Bestimmung der
Eigenwerte der reduzierten Matrix nötig sein.
Wenn man die Einträge der resultierenden Matrix A'' näher
betrachtet, wird deutlich, daß diese Matrix aufgestellt
werden kann ohne zuerst die Originalmatrix aufstellen zu
müssen. Die folgenden Regeln können angewendet werden, um
die reduzierte Matrix A'' aufzustellen:
- - Die Dimension der reduzierten Matrix A'' ist gleich der Anzahl der Domainblöcke ND des fraktalen Codierschemas.
- - Die Einträge αi,j der reduzierten Matrix A'' bestehen aus der Summe der Faktoren ak, die die Abbildung des j-ten Domainblockes auf Rangeblöcke, die innerhalb des i-ten Domainblockes liegen, beschreiben.
Mit diesen Regeln ergibt sich ein einfacheres Schema, um
die resultierende Matrix A'' zu erzeugen. Aufgrund der
drastisch reduzierten Dimension der reduzierten Matrix ist
es natürlich viel einfacher, die reduzierte Matrix
auszuwerten als die Originalmatrix A. Da die reduzierte
Matrix A'' ebenfalls alle Eigenwerte λi ≠ 0 der Originalmatrix
A besitzt, kann die reduzierte Matrix A'' anstelle der
Originalmatrix A benutzt werden, um die Kontraktivität zu
überprüfen.
Obwohl eine drastische Reduzierung des Rechenaufwandes für
die Konvergenzkontrolle erreicht ist, kann immer noch ein
hoher Aufwand für die Eigenwerteberechnung der reduzierten
Matrix A'' erforderlich sein. Ein weiterer Nachteil ist, daß
die Berechnung der größten Eigenwerte lediglich eine
Information darüber liefert, ob das fraktale Codierschema
konvergent ist oder nicht. Man erhält aber keine
Information darüber, welcher Rangeblock das
Konvergenzproblem verursacht.
Um diese Nachteile zu überwinden, wird nachfolgend ein
hierarchisches Konvergenzkontrollverfahren vorgestellt. Mit
diesem Schema ist es dann möglich, eine einfache
Überprüfung der größten Eigenwerte vorzunehmen, die eine
obere Grenze für die größten Eigenwerte angibt. Diese obere
Grenze kann Schritt für Schritt genauer berechnet werden.
Zu berücksichtigen ist aber, daß durch jeden zusätzlichen
Schritt ein erhöhter Rechenaufwand erforderlich wird.
Zusätzlich wird aber die Information erhalten, mit der
diejenigen Rangeblöcke lokalisiert werden können, die das
Konvergenzproblem verursachen.
Das Verfahren wird nachfolgend näher beschrieben. In diesem
Abschnitt wird eine n×n Matrix A betrachtet, die bereits
eine reduzierte Matrix darstellt.
Nach dem Theorem von Gershgorin existieren n Scheiben in
der komplexen Ebene, wobei jede davon zentriert ist um ein
Diagonalelement ai,i von A und den folgenden Radius
aufweist:
Das Theorem gibt an, daß alle Eigenwerte der Matrix A
innerhalb der Vereinigungsmenge dieser n Scheiben liegen.
Wenn man die Matrix A auf die folgende Weise modifiziert,
erhält man die modifizierte Matrix Ã
mit
und
Durch diese Modifikation wird das fraktale Codierschema in
zwei separate Teile aufgeteilt. Diese Teile sind die
Domainblöcke 1, . . ., m und die Domainblöcke m+1, . . ., n.
Durch diese Operation bewegen sich die Mittelpunkte der
Gershgorin-Scheiben in die äußeren Regionen der komplexen
Ebene und ihre Radien schrumpfen. Zusammen mit
ist es plausibel, daß die Eigenwerte der Matrix Ã
kritischer sind als die der Matrix A.
Die Eigenwerte der zwei Untermatrizen
und
können unabhängig voneinander berechnet werden.
Weil die Eigenwerte einer Matrix nicht verändert werden,
wenn zwei Reihen k und 1 mit den Spalten k und 1 vertauscht
werden, ist es möglich
verschiedene Matrizen B1
aufzustellen. Wenn alle Eigenwerte von diesen verschiedenen
Matrizen B1 das Kontraktivitätskriterium erfüllen, dann
erfüllt die komplette Matrix A dieses Kriterium ebenfalls.
Wenn m klein ist, wird die Überprüfung des Kontraktivitäts
kriteriums nur grob durchgeführt und die Abschätzung für
die größten Eigenwerte gibt eine grobe obere Grenze an. Je
größer der Wert m ist, um so besser wird die Abschätzung
für die größten Eigenwerte. Der Rechenaufwand steigt
natürlich je größer der Wert m wird. Mit m=1 entspricht das
Konvergenzkriterium der Zeilennorm der Matrix A:
Die Ergebnisse der vorhergehenden Abschnitte können dazu
benutzt werden um das folgende herarchiesche
Konvergenzkontrollschema anzugeben:
Zuerst wird die Zeilennorm (m=1) überprüft. Dies wird dadurch gemacht, daß alle Kontrastfaktoren a von allen Rangeblöcken, die innerhalb eines Domainblocks liegen, aufsummiert werden. Das ist äquivalent mit der Zeilensumme der Matrix A. Wenn diese Summe kleiner als NS ist, ist das Konvergenzkriterium für diesen Domainblock automatisch erfüllt. Das muß für jeden Domainblock überprüft werden. Wenn das Konvergenzkriterium für ein Domainblock nicht erfüllt wird, können entweder die Transformationskoeffizienten der Rangeblöcke, die innerhalb des Domainblocks liegen angepaßt werden oder es wird mit dem zweiten Schritt fortgefahren der nachfolgend erläutert wird.
Zuerst wird die Zeilennorm (m=1) überprüft. Dies wird dadurch gemacht, daß alle Kontrastfaktoren a von allen Rangeblöcken, die innerhalb eines Domainblocks liegen, aufsummiert werden. Das ist äquivalent mit der Zeilensumme der Matrix A. Wenn diese Summe kleiner als NS ist, ist das Konvergenzkriterium für diesen Domainblock automatisch erfüllt. Das muß für jeden Domainblock überprüft werden. Wenn das Konvergenzkriterium für ein Domainblock nicht erfüllt wird, können entweder die Transformationskoeffizienten der Rangeblöcke, die innerhalb des Domainblocks liegen angepaßt werden oder es wird mit dem zweiten Schritt fortgefahren der nachfolgend erläutert wird.
Jede (m-1)×(m-1) Matrix B1, die das Konvergenzkriterium
nicht erfüllt, wird dann kombiniert mit jeder Zeile der
verbleibenden n-m+1 Zeilen der Matrix A. Auf diese Weise
werden n-m+1 verschiedene Matrizen B'1 der Dimension m
erhalten. Es müssen dann all diese Matrizen separat
überprüft werden. Wenn einige dieser Matrizen ebenfalls
nicht das Konvergenzkriterium erfüllen, werden entweder die
Transformationskoeffizienten angepaßt oder es werden die
nächst größeren Matrizen mit dieser Matrix aufgestellt und
es wird überprüft, ob diese Matrizen das Kriterium
erfüllen. Da der Rechenaufwand mit jeder zusätzlichen
Dimension der zu überprüfenden Matrix schnell ansteigt, ist
es sinnvoll, ein Schema zu verwenden bei dem ab einem
bestimmten Dimensionswert m eine Anpassung der
Transformationskoeffizienten von allen Rangeblöcken, die
innerhalb des kritischen Domainblocks liegen vorgenommen
wird. Der Anwender kann mit dem hier vorgestellten Schema
flexibel entscheiden wieviel Rechenaufwand er für die
Konvergenzkontrolle spendieren will.
Nachfolgend wird das Konvergenzkontrollverfahren anhand der
Abb. 3 bis 5 näher erläutert. In Fig. 3 ist im
oberen Teil der Figur die Einteilung eines zu codierenden
Originalbildes in Rangeblöcke Ri, Ri+1, . . . dargestellt. Es
ist nur ein kleines Bild als Beispiel angenommen worden,
das quadratisches Format aufweist und in 16 Rangeblöcke
eingeteilt ist. Weiterhin sind in Fig. 3 zwei Domainblöcke
Dj und Dk dargestellt. Es ist deutlich erkennbar das beide
Domainblöcke Dj und Dk sich gegenseitig überlappen. Die
Aufteilung des Bildes in Domainblöcke ist dabei an die
Bedingung geknöpft, das erstens die Domainblöcke die
vierfache Größe von Rangeblöcken aufweisen müssen und
zweitens das die Position der Domainblöcke immer nur so
gewählt werden darf, daß ein Domainblock vier vollständige
Rangeblöcke beinhaltet. Mit diesen Einschränkungen sind
sieben Domainblöcke in dem dargestellten Bild in Fig. 3
aufstellbar. In Fig. 3 ist auf der rechten Seite des Bildes
das rekonstruierte Bild dargestellt. Dieses ist ebenfalls
wieder in Rangeblöcke R'i, Ri+1, etc. Durch Pfeile ist
angedeutet, daß der Domainblock Dj den Rangeblock R'i
abbildet und der Domainblock Dk den Rangeblock R'i+1
abbildet. Im unteren Teil der Fig. 3 ist die Transformation
eines Domainblocks Dj schematisch dargestellt. In einem
ersten Schritt, angedeutet durch den ersten Übergangspfeil
wird die Größe des Domainblocks auf die Größe eines
Rangeblocks verkleinert. Dazu ist die geometrische
Transformation gi erforderlich. Vier Bildelementen des
Domainblocks Dj wird ein Bildelement des verkleinerten
Domainblocks di zugeordnet. Dabei kann z. B. eine
Mitteilung der Luminanzwerte der Bildelemente erfolgen. Im
zweiten Schritt werden die Luminanzwerte des verkleinerten
Domainblocks transformiert. Die zugehörige
Transformationsformel ist unterhalb des zweiten
Übergangspfeils dargestellt. Die Zahlen ai stellen den
Kontrastfaktor dar, mit dem alle Luminanzwerte in dem
verkleinerten Domainblock multipliziert werden. Die Zahl bi
gibt die Zahl an, die zu jedem Luminanzwert innerhalb des
verkleinerten Domainblocks di hinzuaddiert wird. Als
Resultat wird so der neue Rangeblock R'i erhalten.
Der Aufbau einer Kodiervorrichtung zur fraktalen
Bildkodierung wird nachfolgend anhand der Fig. 4 näher
erläutert. Mit der Bezugszahl 20 ist eine Speichereinheit
für ein Originalbild bezeichnet. Die Bezugszahl 21
bezeichnet eine Verarbeitungseinheit die das Originalbild
in geeignete Rangeblöcke einteilt. Es kann hier z. B. fest
vorgegeben sein, daß jeder Rangeblock eine Größe von z. B.
4×4 Bildelementen aufweist. Mit der Bezugszahl 22 ist eine
Verarbeitungseinheit bezeichnet die das Originalbild in
eine Anzahl von Domainblöcken einteilt. Hier kann z. B.
fest vorgegeben sein, daß jeder Domainblock die vierfache
Größe eines Rangeblockes aufweisen muß, d. h. ein
Domainblock besteht aus 8×8 Bildelementen. Die Einteilung
des Bildes in Domainblöcke ist nicht völlig frei, sondern
an die Randbedingungen geknüpft, wie bei dem vorhergehenden
Bild 3 erläutert.
Mit der Bezugszahl 23 ist eine Rangeblocktabelle
bezeichnet. In dieser Tabelle sind die zugehörigen
Bildelementwerte zu einem Rangeblock abgespeichert sowie
auch die Information welche Position der Rangeblock
innerhalb des Originalbildes aufweist. Das kann aber
implizit durch die Position des jeweiligen Rangeblocks
innerhalb der Tabelle vorgegeben sein.
Die Bezugszahl 25 bezeichnet dementsprechend eine
Domainblocktabelle. Hierin sind in entsprechender Weise die
Bildelementwerte der jeweiligen Domainblöcke geordnet
abgelegt.
Mit der Bezugszahl 24 ist eine Transformationsoperationen
aufweisende Tabelle bezeichnet. Zur möglichst guten
Nachbildung eines Rangeblocks durch einen Domainblock kann
der Domainblock bestimmten Veränderung unterworfen werden.
Dazu gehören Drehungen, Spiegelungen, Multiplikationen der
Luminanzen (oder Luminanzsignalwerte) der Pixel mit einem
Faktor a (Kontrastfaktor) sowie die Verschiebung der
Luminanzen (oder Luminanzsignalwerte der Pixel um einen
Wert b). Diese Transformationsoperationen sind in der
Tabelle 24 abgespeichert.
Mit der Bezugszahl 26 ist eine Auswahleinheit bezeichnet,
die einen Rangeblock innerhalb der Rangeblocktabelle
auswählen kann.
Mit der Bezugszahl 27 ist eine Auswahl- und
Transformationseinheit bezeichnet.
Die Bezugszahl 28 bezeichnet eine weitere Auswahl- und
Transformationseinheit für die Domainblocktabelle. Durch
die vorgegebene Auswahl eines Rangeblocks von Seiten der
Auswahleinheit 26 werden die Luminanzwerte der zugehörigen
Pixel sowie der Auswahl und Transformationseinheit 27 als
auch der Auswahl- und Transformationseinheit 28 zur
Verfügung gestellt. Die Auswahl- und Transformationseinheit
28 sucht aufgrund des ihm zur Verfügung gestellten
Rangeblocks einen ähnlichen Domainblock aus seiner
Domainblocktabelle 25 aus. Dabei wird sukzessive jeder
Domainblock in der Domainblocktabelle 25 auf
Rangeblockgröße verkleinert und dann die entstandenen
Dominanzwerte mit denjenigen des ausgewählten Rangeblocks
verglichen. Wenn auf diese Art und Weise schon ein
geeigneter Domainblock gefunden wird, der die Luminanzwerte
des ausgewählten Rangeblocks innerhalb erlaubter Toleranzen
sehr gut nachbildet, wird dieser Domainblock als
zugehöriger Domainblock zu dem ausgewählten Rangeblock
festgelegt. In diesem Fall braucht keine weitere
Transformation für den Domainblock durchgeführt werden um
den ausgewählten Rangeblock abzubilden. Dies wird dann über
die Verbindung zwischen der Auswahl- und
Transformationseinheit 27 und der Auswahl- und
Transformationseinheit 28 mitgeteilt. Häufig wird auf diese
Art und Weise jedoch kein geeigneter Domainblock gefunden
werden. In diesem Fall muß bei den in Frage kommenden
Domainblocken noch eine Transformation durchgeführt werden.
Dazu gehören die schon erwähnten Drehungen, Spiegelungen,
Multiplikationen der Luminanzen sowie die Verschiebung der
Luminanzen. Die Durchführung dieser Transformation wird von
der Auswahl- und Transformationseinheit 27 vorgenommen. Die
zugehörigen Luminanzwerte des ausgewählen, und
verkleinerten Domainblocks werden dabei der Auswahl und
Transformationseinheit 27 über die Verbindung von der
Auswahl- und Transformationseinheit 28 zur Verfügung
gestellt. Die Suche eines geeigneten Domainblocks zu einem
Rangeblock ist vom Prinzip her aus dem Stand der Technik
bereits bekannt. Eine gute Übersicht über die zur Verfügung
stehenden Suchverfahren findet sich in der Literaturstelle:
Dietmar Saupe, Raouf Hamzaoui; Complexity reduction method
for fractal image compression; E.M.A. Conference
proceedings on image processing; Mathematical methods and
applications, September 1994, editor J. M. Blockledge,
Oxford University Press 1995.
Am Ausgang der Auswahl und Transformationseinheit 27 wird
dann die Information bezüglich der nötigen
Transformationsoperationen zu der Summationsstelle 29
geliefert. Von der Auswahl und Verkleinerungseinheit 28
wird die Information geliefert, welcher Domainblock zu dem
ausgewählten Rangeblock zugehörig ist. Welcher Rangeblock
ausgewählt wurde, wird ebenfalls zur Summationsstelle 29
von der Auswahleinheit 26 übertragen. All diese
Informationen werden in die Transformationstabelle 30
übertragen. Dabei wird durch die Auswahleinheit 32
vorgegeben, auf welchem Platz der Tabelle die Informationen
abgespeichert werden. Die in der Transformationstabelle 30
abgespeicherten Informationen stellen einen vorläufigen
fraktalen Code dar. Der erhaltene vorläufige fraktale Code
wird in der Konvergenzkontrolleinheit 31 auf Konvergenz
überprüft. Die Arbeitsweise der Konvergenzkontrolleinheit
31 wird nachfolgend noch anhand der Fig. 5 erläutert. Mit
der Bezugszahl 33 ist eine Anpaßeinheit bezeichnet. Die
Konvergenzkontrolleinheit 31 ermittelt die Information,
welche Rangeblöcke die Konvergenzprobleme des vorläufigen
fraktalen Codes bewirken. Die Anpaßeinheit 33 sorgt dann
dafür, daß die zugehörigen Transformationsparameter für
diese Rangeblöcke verändert werden, so daß das
Konvergenzkriterium erfüllt wird. Der so gewonnene fraktale
Code wird in der Kodiereinheit 34 Entropie-codiert. Es
entsteht der fertige fraktale Code, der in der
Speichereinheit 35 abgespeichert wird. Dieser kann dann
beispielsweise über eine Sendestation ausgesendet werden
und dann von einer Empfangsstation wiederum decodiert
werden.
Die Arbeitsweise der Konvergenzkontrolleinheit 31 wird
jetzt anhand des Ablaufdiagramms in Fig. 5 näher erläutert.
Mit der Bezugszahl 40 ist der Programmstart bezeichnet. Im
Programmschritt 41 wird mit den gewonnenen Informationen
hinsichtlich der Range-Domainblockzuordnung und der
zugehörigen Transformationskoeffizienten die reduzierte
Matrix A'' aufgestellt. Dies geschieht nach der bereits
angegebenen Regel, das für einen Eintrag der reduzierten
Matrix αi,j die Summe der Faktoren ak berechnet wird, die
die Abbildung des "j-ten" Domainblocks auf Rangeblöcke
beschreiben, welche innerhalb des I-ten-Domainblocks
liegen. Sehr häufig werden die Faktoren ak den Wert Null
aufweisen, da zu einem Rangeblock jeweils nur ein einziger
zugehöriger Domainblock bestimmt worden ist. Im nächsten
Programmschritt 42 wird die Zeilensummennorm ZSNi für jede
Zeile der reduzierten Matrix A'' berechnet. Diese so
gewonnenen Zeilensummennormen werden dann in
Programmschritt 43 daraufhin überprüft, ob sie einen Wert
größer als 1 besitzen. Wenn das für keine der
Zeilensummennormen der Fall ist, ist der gewonnene fraktale
Code konvergent und das Programm wird im Programmschritt 53
beendet. Für diejenigen Zeilen bei denen die
Zeilensummennormen größer als 1 erkannt wurden, wird dann
mit Programmschritt 44 fortgefahren. In diesem
Programmschritt wird die betreffende Zeile jeweils mit
allen verbleibenden Zeilen zu einer 2×ND-Matrix
kombiniert. Damit ergeben sich dann ND-1 verschiedene
2×N2-Matrizen. Für jede dieser Matrizen wird dann im
Programmschritt 45 eine 2×2-Matrix aufgestellt. Dies geht
wie folgt von statten:
Wenn die 2×ND-Matrix aus den Zeilen k und 1 der reduzierten Matrix entstanden ist, so bildet man aus der 2×ND-Matrix eine 2×2-Matrix, indem man nur die Spalten k und 1 beibehält. Die Summe der Beträge aller so verloren gegangenen Elemente einer Zeile werden dann dem dieser Zeile zugehörigen Hauptdiagonalenelement der 2×2-Matrix aufaddiert, wenn dieses Hauptdiagonalelement größer oder gleich Null ist bzw. von diesem Hauptdiagonalelement subtrahiert, wenn das Hauptdiagonalelement kleiner als Null ist. Somit werden alle Elemente der 2×ND-Matrix berücksichtigt. Von der jeweiligen so entstandenen 2×2-Matrix wird dann im Programmschritt 46, z. B. nach dem aus der Mathematik bekannten von Mises-Verfahren der betragsgrößte Eigenwert λ|max| bestimmt. Im Programmschritt 47 wird dann überprüft, ob der Betrag des betragsgrößten Eigenwertes größer als 1 ist. Wenn das nicht der Fall ist, dann wird diese 2×2-Matrix nicht weiter betrachtet. Ist der Betrag dieses Eigenwertes größer als 1, so wird im Programmschritt 48 ausgehend von der 2×ND-Matrix eine 3×ND-Matrix aufgestellt. Dabei werden die betreffenden zwei Zeilen, aus denen die betrachtete 2×2-Matrix entstanden ist, mit jeder der verbleibenden ND-2-Zeilen kombiniert. Somit entstehen ND-2 verschiedene 3×ND- Matrizen. Jede dieser Matrizen wird dann mit Hilfe der folgenden Methode zu einer 3×3-Matrix umgewandelt: Das geschieht wie folgt:
Für die beteiligten 3 Zeilen der Matrix werden die zugeordneten Spalten der 3×ND-Matrix in die neue Matrix übernommen. Die Summe der Beträge der nicht übernommenen Spaltenelemente einer Zeile werden zu dem Hauptdiagonalenelement der entsprechenden Zeile hinzuaddiert, wenn dieses größer oder gleich Null ist oder subtrahiert, wenn es kleiner als Null ist. Von jeder dieser 3×3-Matrizen wird jetzt im Programmschritt 50 der betragsgrößte Eigenwert λ|max| bestimmt. Wenn in diesem Fall dann der Betrag kleiner als 1 ist, so muß die betreffende Matrix nicht weiter betrachtet werden, in diesem Fall würde das Programm wiederum im Programmschritt 53 beendet werden. Die Überprüfung des betragsgrößten Eigenwertes wird im Programmschritt 51 durchgeführt. Für den Fall, daß der Betrag des größten Eigenwertes größer als 1 ist, wird in diesem Ausführungsbeispiel im Programmschritt 52 eine Adaption der Transformationsparameter ak durchgeführt. Im Fall der 3×3-Matrix sind 3 Domainblöcke, entsprechend 12 Rangeblöcke, beteiligt, so daß die zugehörigen Transformationsparameter angepaßt werden müssen. Das kann z. B. dadurch geschehen, daß alle beteiligten Parameter ak gemeinsam mit einem Faktor k < 1 multipliziert werden, so daß das entsprechende Eigenwert-Kriterium erfüllt ist. Für die beteiligten Rangeblöcke muß dann jeweils der zugehörige Faktor b neu bestimmt werden, was jedoch auf die Konvergenz des fraktalen Codes keinen Einfluß hat. Diese konkrete Möglichkeit bietet sich dann an, wenn das entsprechende Kriterium den Wert 1 nur wenig überschreitet.
Wenn die 2×ND-Matrix aus den Zeilen k und 1 der reduzierten Matrix entstanden ist, so bildet man aus der 2×ND-Matrix eine 2×2-Matrix, indem man nur die Spalten k und 1 beibehält. Die Summe der Beträge aller so verloren gegangenen Elemente einer Zeile werden dann dem dieser Zeile zugehörigen Hauptdiagonalenelement der 2×2-Matrix aufaddiert, wenn dieses Hauptdiagonalelement größer oder gleich Null ist bzw. von diesem Hauptdiagonalelement subtrahiert, wenn das Hauptdiagonalelement kleiner als Null ist. Somit werden alle Elemente der 2×ND-Matrix berücksichtigt. Von der jeweiligen so entstandenen 2×2-Matrix wird dann im Programmschritt 46, z. B. nach dem aus der Mathematik bekannten von Mises-Verfahren der betragsgrößte Eigenwert λ|max| bestimmt. Im Programmschritt 47 wird dann überprüft, ob der Betrag des betragsgrößten Eigenwertes größer als 1 ist. Wenn das nicht der Fall ist, dann wird diese 2×2-Matrix nicht weiter betrachtet. Ist der Betrag dieses Eigenwertes größer als 1, so wird im Programmschritt 48 ausgehend von der 2×ND-Matrix eine 3×ND-Matrix aufgestellt. Dabei werden die betreffenden zwei Zeilen, aus denen die betrachtete 2×2-Matrix entstanden ist, mit jeder der verbleibenden ND-2-Zeilen kombiniert. Somit entstehen ND-2 verschiedene 3×ND- Matrizen. Jede dieser Matrizen wird dann mit Hilfe der folgenden Methode zu einer 3×3-Matrix umgewandelt: Das geschieht wie folgt:
Für die beteiligten 3 Zeilen der Matrix werden die zugeordneten Spalten der 3×ND-Matrix in die neue Matrix übernommen. Die Summe der Beträge der nicht übernommenen Spaltenelemente einer Zeile werden zu dem Hauptdiagonalenelement der entsprechenden Zeile hinzuaddiert, wenn dieses größer oder gleich Null ist oder subtrahiert, wenn es kleiner als Null ist. Von jeder dieser 3×3-Matrizen wird jetzt im Programmschritt 50 der betragsgrößte Eigenwert λ|max| bestimmt. Wenn in diesem Fall dann der Betrag kleiner als 1 ist, so muß die betreffende Matrix nicht weiter betrachtet werden, in diesem Fall würde das Programm wiederum im Programmschritt 53 beendet werden. Die Überprüfung des betragsgrößten Eigenwertes wird im Programmschritt 51 durchgeführt. Für den Fall, daß der Betrag des größten Eigenwertes größer als 1 ist, wird in diesem Ausführungsbeispiel im Programmschritt 52 eine Adaption der Transformationsparameter ak durchgeführt. Im Fall der 3×3-Matrix sind 3 Domainblöcke, entsprechend 12 Rangeblöcke, beteiligt, so daß die zugehörigen Transformationsparameter angepaßt werden müssen. Das kann z. B. dadurch geschehen, daß alle beteiligten Parameter ak gemeinsam mit einem Faktor k < 1 multipliziert werden, so daß das entsprechende Eigenwert-Kriterium erfüllt ist. Für die beteiligten Rangeblöcke muß dann jeweils der zugehörige Faktor b neu bestimmt werden, was jedoch auf die Konvergenz des fraktalen Codes keinen Einfluß hat. Diese konkrete Möglichkeit bietet sich dann an, wenn das entsprechende Kriterium den Wert 1 nur wenig überschreitet.
Alternativ zu dieser Möglichkeit können für die beteiligten
Rangeblöcke komplett neue Domainblöcke und neue
Transformationsvorschriften in dem Programmschritt 52
bestimmt werden. An diese Transformationsvorschriften
können zusätzlich geeignete Randbedingungen gestellt
werden. Diese Randbedingungen sind dann so geartet, daß sie
dazu führen, daß die resultierenden Transformationen
bezüglich der Konvergenz weniger kritisch sind als die
ursprünglich gewählten Transformationen. Ein hierfür
geeignetes Kriterium ist zum Beispiel, daß die
Kontrastfaktoren ak kleiner als 1 gewählt werden. Nach der
Anpassung der Transformationsparameter endet das Programm
ebenfalls im Programmschritt 53. Das Programm wird dann neu
gestartet und die Konvergenz des angepaßten fraktalen Codes
wird nochmals neu überprüft. Die Konvergenzüberprüfung ist
beendet, wenn die Überprüfung aller zu untersuchenden
Kriterien einen Wert kleiner als 1 ergeben hat.
In Fig. 5 deuten die gestrichelten Pfeile an, daß auch
bereits nach den Abfrageschritten 43 und 47 zum
Anpaßschritt 52 übergegangen werden kann, wenn nicht so
viel Rechenaufwand für die Konvergenzkontrolle zur
Verfügung steht. Es bleibt jedoch zu beachten, daß die
Abschätzung der größten Eigenwerte nur dann relativ genau
ist, wenn zum Beispiel die 3×3-Matrizen überprüft worden
sind. Wenn die Ermittlung des größten Eigenwertes der
reduzierten Matrix noch genauer geschehen soll, können
beispielsweise nach dem gleichen Schema auch die
zugehörigen 4×4-Matrizen aufgestellt werden bzw. noch
höher-dimensionale Matrizen. Natürlich steigt hier dann der
Rechenaufwand für die Bestimmung der Eigenwerte
beträchtlich.
Alternativ zur Überprüfung der Zeilensummennorm könnte z. B.
auch die Spaltensummennorm überprüft werden. Das liegt auch
noch im Schutzbereich der Erfindung.
Das beschriebene Konvergenzkontrollverfahren kann
beispielsweise auch in einer Decodiervorrichtung eingesetzt
werden. In diesem Fall würde die Konvergenzkontrolle
beispielsweise auch zum Zweck der Fehlererkennung
durchgeführt werden. Wenn anhand des übertragenen fraktalen
Codes direkt erkennbar ist, daß hier keine Konvergenz
vorliegt, kann dann das Decodiergerät eine entsprechende
Fehlerreaktion durchführen wie zum Beispiel nochmalige
Darstellung des zuvor dargestellten Bildes oder auch die
Ausgabe einer Fehlerbotschaft.
Mögliche Anwendungen der Erfindung sind zum Beispiel im
Bereich des Bildtelefons, des digitalen Videorecorders, des
digitalen Camcorders, der digitalen Bildplatte, etc. zu
sehen.
Claims (11)
1. Verfahren zur Überprüfung der Konvergenz bei der
fraktalen Bildcodierung, bei dem ein digitalisiertes
Bild in eine Anzahl von Rangeblöcken (Ri) und in eine
Anzahl von Domainblöcken (Dj) eingeteilt wird, wobei
zu jedem Rangeblock (Ri) ein ähnlicher Domainblock
(Dj) bestimmt wird, wobei zumindest zum Teil eine
Transformation eines Domainblocks (Dj) vorgenommen
wird, um einen Domainblock (Dj) auf einen Rangeblock
(R'i) abzubilden, wobei die Zuordnung von Domainblock
zu Rangeblock inklusive der Transformationsparameter
den fraktalen Code darstellen, wobei zur Überprüfung
der Konvergenz des fraktalen Codes eine reduzierte
Transformationsmatrix aufgestellt wird, dadurch
gekennzeichnet, daß die Überprüfung der Konvergenz des
fraktalen Codes durch näherungsweise Bestimmung des
betragsgrößten Eigenwertes der reduzierten
Transformationsmatrix durchgeführt wird, wobei in
einem ersten Schritt wenigstens die Zeilensummennorm
(ZSNi) der Zeilen der reduzierten
Transformationsmatrix überprüft wird.
2. Verfahren nach Anspruch 1, wobei in dem Fall, daß die
Zeilensummennorm (ZSNi) einer Zeile größer als ein
vorbestimmter Wert ist, die betreffende Zeile jeweils
mit den verbleibenden Zeilen der reduzierten
Transformationsmatrix zu einer 2×ND-Matrix
kombiniert wird, wobei ND die Anzahl der Domainblöcke
angibt, und daß die 2×ND-Matrix durch Auswahl
derjenigen Spalten, die mit den Zeilennummern der
reduzierten Transformationsmatrix korrespondieren, die
für die 2×ND-Matrix ausgewählt wurden, in eine
2×2-Matrix umgewandelt wird, wobei die Summe der Beträge
der gestrichenen Elemente einer Zeile zu dem
Hauptdiagonalenelement, das zu der Zeile gehört,
aufaddiert wird, wenn dieses Hauptdiagonalenelement
größer als Null ist und von dem Hauptdiagonalenelement
subtrahiert wird, wenn dieses Hauptdiagonalenelement
kleiner als Null ist und daß zumindest der
betragsgrößte Eigenwert der 2×2-Matrix bestimmt
wird.
3. Verfahren nach Anspruch 2, wobei der betragsgrößte
Eigenwert der 2×2-Matrix nach dem von
Mises-Verfahren bestimmt wird.
4. Verfahren nach Anspruch 2 oder 3, wobei, wenn der
Betrag des betragsgrößten Eigenwertes einer
2×2-Matrix größer als ein vorbestimmter Wert ist, als
nächstes alle zugehörigen 3×3-Matrizen aufgestellt
werden, wobei die 3×3-Matrizen dadurch entstehen,
daß die Zeilen der reduzierten Transformationsmatrix,
aus denen die 2×ND-Matrix hervorgegangen ist, mit
jeder der verbleibenden Zeilen der reduzierten
Transformationsmatrix zu 3×ND-Matrizen kombiniert
werden und durch Weglassen der Spaltenelemente, die
nicht mit den beteiligten Zeilen korrespondieren, in
eine 3×3-Matrix überführt werden, wobei die Summe
der Beträge der nicht übernommenen Spaltenelemente
einer Zeile jeweils wieder zu dem
Hauptdiagonalenelement der entsprechenden Zeile
hinzuaddiert werden, wenn das Hauptdiagonalenelement
größer oder gleich Null ist und von dem
Hauptdiagonalenelement subtrahiert werden, wenn das
Hauptdiagonalenelement kleiner als Null ist und daß
zumindest der betragsgrößte Eigenwert der jeweiligen
3×3-Matrix bestimmt wird.
5. Verfahren nach Anspruch 4, wobei, wenn der Betrag des
betragsgrößten Eigenwertes einer 3×3-Matrix größer
als ein vorbestimmter Wert ist, als nächstes die
zugehörigen nächst höher-dimensionalen quadratischen
Matrizen in entsprechender Weise aufgestellt werden
und daß deren betragsgrößter Eigenwert überprüft wird.
6. Verfahren nach Anspruch 1, wobei in dem Fall, daß die
Zeilensummennorm einer Zeile der reduzierten
Transformationsmatrix größer als ein vorbestimmter
Wert ist, die Transformationsparameter für die
beteiligten Rangeblöcke angepaßt werden, um die
Zeilensummennorm unter den vorbestimmten Wert zu
drücken.
7. Verfahren nach Anspruch 2, wobei in dem Fall, daß der
betragsgrößte Eigenwert der 2×2-Matrix größer als
ein vorbestimmter Wert ist, die
Transformationsparameter (ai) der an der 2×2-Matrix
beteiligten Rangeblöcke angepaßt werden, um den
betragsgrößten Eigenwert unter den vorbestimmten Wert
zu drücken.
8. Verfahren nach Anspruch 4, wobei in dem Fall, daß der
betragsgrößte Eigenwert der 3×3-Matrix größer als
ein vorbestimmter Wert ist, die
Transformationsparameter der an der 3×3-Matrix
beteiligten Rangeblöcke angepaßt werden, um den
betragsgrößten Eigenwert unter den vorbestimmten Wert
zu drücken.
9. Verfahren nach einem der Ansprüche 1 bis 5, wobei bei
Feststellung, daß eines der Konvergenzkriterien nicht
erfüllt wird, eine neue Zuordnung von Domainblöcken
(Dj) wenigstens für die beteiligten Rangeblöcke (Ri)
gemacht wird und neue zugehörige
Transformationsparameter bestimmt werden, um den
betragsgrößten Eigenwert der reduzierten
Transformationsmatrix unter den vorbestimmten Wert zu
drücken.
10. Verfahren nach einem der vorhergehenden Ansprüche,
wobei es in einer Vorrichtung zur fraktalen
Bildcodierung verwendet wird.
11. Verfahren nach einem der Ansprüche 1 bis 9, wobei es
in einer Vorrichtung zur Decodierung eines fraktalen
Codes für ein Bild verwendet wird.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19641157A DE19641157A1 (de) | 1996-10-07 | 1996-10-07 | Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung |
EP97116708A EP0834833A3 (de) | 1996-10-07 | 1997-09-25 | Verfahren zur Konvergenzprüfung in fraktaler Bildkodierung |
US08/938,090 US5978516A (en) | 1996-10-07 | 1997-09-26 | Method for checking convergence in fractal image coding |
JP9271412A JPH10155092A (ja) | 1996-10-07 | 1997-10-03 | フラクタル画像符号化における収束性検査方法 |
CN97120087.4A CN1183598A (zh) | 1996-10-07 | 1997-10-06 | 检验分数维图像编码收敛性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19641157A DE19641157A1 (de) | 1996-10-07 | 1996-10-07 | Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19641157A1 true DE19641157A1 (de) | 1998-04-16 |
Family
ID=7807981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19641157A Withdrawn DE19641157A1 (de) | 1996-10-07 | 1996-10-07 | Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5978516A (de) |
EP (1) | EP0834833A3 (de) |
JP (1) | JPH10155092A (de) |
CN (1) | CN1183598A (de) |
DE (1) | DE19641157A1 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE46310E1 (en) | 1991-12-23 | 2017-02-14 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
USRE47908E1 (en) | 1991-12-23 | 2020-03-17 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
USRE48056E1 (en) | 1991-12-23 | 2020-06-16 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5903454A (en) | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
CN100361534C (zh) * | 2004-06-14 | 2008-01-09 | 厦门华侨电子股份有限公司 | 视频编码解码系统中用于去除块效应的方法及装置 |
CN103530684A (zh) * | 2013-10-30 | 2014-01-22 | 武汉华大清源物联有限公司 | 基于rfid的多重防伪机制 |
CN109391818B (zh) * | 2018-11-30 | 2021-12-10 | 昆明理工大学 | 一种基于dct变换的快速搜索分形图像压缩方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995008161A1 (en) * | 1993-09-17 | 1995-03-23 | Imperial College Of Science, Technology & Medicine | Power domain algorithms for fractal image decompression |
-
1996
- 1996-10-07 DE DE19641157A patent/DE19641157A1/de not_active Withdrawn
-
1997
- 1997-09-25 EP EP97116708A patent/EP0834833A3/de not_active Ceased
- 1997-09-26 US US08/938,090 patent/US5978516A/en not_active Expired - Fee Related
- 1997-10-03 JP JP9271412A patent/JPH10155092A/ja active Pending
- 1997-10-06 CN CN97120087.4A patent/CN1183598A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995008161A1 (en) * | 1993-09-17 | 1995-03-23 | Imperial College Of Science, Technology & Medicine | Power domain algorithms for fractal image decompression |
Non-Patent Citations (5)
Title |
---|
FISHER, Yuval: Fractal Image Compression, Springer-Verlag, New York, Berlin, 1995, S.48-53,214-228 * |
HÜRTGEN,B.: Contractivity of fractaltransforms for image coding. In: Electronics Letters, 30.Sept. 1993, Vol.29, No.20, S.1749,1750 * |
JACQUIN,Arnaud E.: Fractal Image Coding: A Review. In: Proceedings of the IEEE, Vol.81, No. 10, Oct. 1993, S.1451-1465 * |
JAGGARD,Dwight,L.: Special Section on Fractals in Electrical Engineering. In: Proceedings of the IEEE, Vol. 81, No.10, Oct. 1993, S.1423- S.1427 * |
OHM,Jens-Rainer: Digitale Bildcodierung: Repräsentation, Kompression und Übertragung von Bildsignalen, Springer-Verlag, Berlin, Heidelber, New York, S.303-310 * |
Also Published As
Publication number | Publication date |
---|---|
EP0834833A3 (de) | 1998-06-17 |
EP0834833A2 (de) | 1998-04-08 |
JPH10155092A (ja) | 1998-06-09 |
US5978516A (en) | 1999-11-02 |
CN1183598A (zh) | 1998-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69623342T2 (de) | Videokodierer und -dekodierer mit bewegungsbasierter bildsegmentierung und bildzusammenfügung | |
DE69722060T2 (de) | Inverser Bewegungsausgleich von schneller DCT | |
DE69020564T2 (de) | Verfahren und vorrichtung zur behandlung von numerischen daten. | |
DE19704439C2 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien | |
DE69511119T2 (de) | Kodierung eines feldes von bewegungsvektoren | |
DE69732865T2 (de) | Kodierer mit Mitteln zur Ergänzung eines digitalen Bildes mit Bildelementen | |
DE69618759T2 (de) | Verfahren und system zur kodierung einer sequenz von segmentierten bildern , kodiertes signal und speichermedium, verfahren und system zur dekodierung des kodierten signals | |
DE19743202B4 (de) | Verfahren zum Codieren eines Bewegungsvektors | |
EP1648174A1 (de) | Verfahren und Anordnung zur Reduktion von Codierungsartefakten von blockbasierten Bildcodierungsverfahren und objektbasierten Bildcodierungsverfahren | |
DE19609859C1 (de) | Verfahren zur Bildung einer Bild-Transformationsmatrix für ein beliebig geformtes Bildsegment eines digitalen Bildes, durch einen Rechner | |
DE69728757T2 (de) | Verfahren und Vorrichtung zum Kodieren eines Objektes unter Verwendung einer Konturbewegungsschätztechnik | |
DE4442643B4 (de) | Verfahren zum Abschätzen der Bewegung in einem Bewegtbild | |
DE602005000425T2 (de) | Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden | |
DE19641157A1 (de) | Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung | |
DE68914331T2 (de) | Vorrichtung zum Wiedergeben von digitalisierten Videobildern. | |
DE69737711T2 (de) | Verfahren und Vorrichtung zur Kodierung einer Objektkontur unter Verwendung ihrer Zeitkorrelation | |
EP0897247A2 (de) | Verfahren zur Berechnung von Bewegungsvektoren | |
DE19711670A1 (de) | Verfahren und Vorrichtung zum Codieren des Umrisses eines Gegenstandes unter Verwendung des Flächenschwerpunktes | |
DE60001563T2 (de) | Verfahren zur kodierung/dekodierung von bildern | |
EP0908056B1 (de) | Verfahren und vorrichtung zur bearbeitung von bildpunkten eines bildsegments durch einen rechner | |
EP0929975B1 (de) | Verfahren und anordnung zur vektorquantisierung und zur inversen vektorquantisierung eines digitalisierten bildes | |
DE19746255A1 (de) | Verfahren zur Durchführung der inversen, diskreten Kosinustransformation | |
DE19749655B4 (de) | Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors | |
EP0981910B1 (de) | Verfahren und vorrichtung zur codierung eines digitalisierten bildes | |
WO2005104559A1 (de) | Prädiktionsverfahren, sowie zugehöriges verfahren zur decodierung eines prädiktionsverfahrens, zugehörige encodiervorrichtung und decodiervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8120 | Willingness to grant licences paragraph 23 | ||
8139 | Disposal/non-payment of the annual fee |