DE3733038C2 - Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale - Google Patents
Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale FernsehsignaleInfo
- Publication number
- DE3733038C2 DE3733038C2 DE3733038A DE3733038A DE3733038C2 DE 3733038 C2 DE3733038 C2 DE 3733038C2 DE 3733038 A DE3733038 A DE 3733038A DE 3733038 A DE3733038 A DE 3733038A DE 3733038 C2 DE3733038 C2 DE 3733038C2
- Authority
- DE
- Germany
- Prior art keywords
- image
- shows
- coding
- qsdpcm
- quadtree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000009467 reduction Effects 0.000 title claims description 4
- 230000033001 locomotion Effects 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 11
- 230000002123 temporal effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000013144 data compression Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 238000000354 decomposition reaction Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur
Bilddatenreduktion für digitale Fernsehsignale, wobei in einer
Vorverarbeitung eine Differenzbildung zwischen einem Signal,
das zu einem Zeitpunkt t-1 erzeugt und in einem Bildspeicher
abgelegt wurde, und einem Signal, das zu einem Zeitpunkt t
entsteht, durchgeführt wird, so daß durch diese Vorverarbeitung
ein Bild-zu-Bild-Prädiktionsfehlersignal gebildet wird,
wobei das derart gebildete Bild-zu-Bild-Prädiktionsfehlersignal
in Form eines Fehlerbildes zu dessen Übertragung zu
codieren ist.
In künftigen Bildtelefonnetzen im Rahmen des Schmalband ISDN
wird es erforderlich sein, Videosignale (Sprecherszenen mit
eingeschränktem Bewegtanteil) bei einer vorgegebenen Kanalrate
von nur 64 kbit/s zu übertragen. Dies entspricht einer Datenkompression
um etwa den Faktor 110, was extreme Anforderungen
an den zu verwendenden Bildsignal-Codec stellt.
Die auf dem Markt erhältlichen Codecs, welche den genannten
Anforderungen genügen, haben etwa die mechanischen Abmessungen
einer sog. MICROVAX, eine Leistungsaufnahme von 1 kW und einen
Preis von mehreren zehntausend Dollar.
Die geplanten Bildtelefonnetze mit den zugehörigen Endgeräten
werden sich jedoch nur dann in breitem Rahmen durchsetzen und
wirtschaftlich interessant sein, wenn es gelingt, mechanische
Abmessungen, Leistungsaufnahme und Preis der neuen Endgeräte
mit den zugehörigen Bildsignal-Codecs im Rahmen der heute
gebräuchlichen Fernsprech-Endgeräte zu halten. Betrachtet man
den Realisierungsaufwand für die bekannten Verfahren zur Bilddatenkompression,
so ist abzusehen, daß dieses Ziel selbst bei
höchst optimistischer Einschätzung der Entwicklung zukünftiger
Integrationsdichten im Falle des benötigten Bildsignal-Codecs
nicht erreicht werden kann.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein
neues Verfahren und eine Schaltungsanordnung zur Bilddatenkompression
zu schaffen, dessen Funktionsprinzip eine Verbesserung
der Bildqualität gegenüber bekannten Verfahren und
Schaltungsanordnungen ermöglichen soll.
Diese Aufgabe wird durch ein Verfahren mit
Merkmalen nach Anspruch 1 gelöst.
Im folgenden wird die Erfindung anhand mehrerer Figuren im
einzelnen beschrieben.
Fig. 1 zeigt ein Prinzipschaltbild eines Szenencodierers mit
bewegungskompensierter zeitlicher DPCM.
Fig. 2 zeigt ein aktuelles Bild aus einer Testszene "SIMPLE".
Fig. 3 zeigt das zeitliche Vorgängerbild zum Bild gemäß
Fig. 2.
Fig. 4 zeigt ein bewegungskompensiertes Differenzbild.
Fig. 5 zeigt eine schematische Darstellung mit einer Objektrandkurve
mit beschreibendem "Quadtree".
Fig. 6 zeigt schematisch ein Grundelement (Hauptquadrat) eines
"Quadtree" mit den vier Unterquadraten I, II, III, IV.
Fig. 7 zeigt ein Blockschaltbild eines QSDPCM-Coders.
Fig. 8 zeigt ein Blockschaltbild eines QSDPCM-Decoders.
Fig. 9 zeigt eine Darstellung verschiedener Architektur-Grundelemente.
Fig. 10 zeigt ein Blockschaltbild eines sog. Mean-Prozessors.
Fig. 11 zeigt ein Blockschaltbild einer QSDPCM-CPU.
Fig. 12 zeigt eine schematische Darstellung des sukzessiven
Zusammenfassens von Teilgebieten durch die QSDPCM-EPU
Fig. 11.
Fig. 13 zeigt schematisch einen Quantisierer und dessen
Quantisiererkennlinie.
Fig. 14 zeigt das Blockschaltbild einer Bitabzähl-Logik.
Fig. 15 zeigt schematisch die Organisation eines Bildspeichers.
Fig. 16 zeigt ein Zeitdiagramm für eine variable Codierzeit.
Fig. 17 zeigt ein Diagramm des Pufferfüllstandes eines Pufferspeichers
für das in Fig. 16 gezeigte Beispiel.
Fig. 18 zeigt ein Diagramm betreffend die Anzahl von fortgelassenen
Bildern über den übertragenen Bildern für die
Sequenz "SIMPLE".
Fig. 19 zeigt ein Diagramm über den Verlauf des "MSE" über den
übertragenen Bildern für die Sequenz "SIMPLE".
Fig. 20 zeigt ein Diagramm betreffend die Anzahl der fortgelassenen
Bilder über den übertragenen Bildern für eine
Sequenz "MISS AMERICA".
Fig. 21 zeigt diagrammartig den Verlauf des "MSE" über den
übertragenen Bildern für die Sequenz "MISS AMERICA".
Fig. 22 zeigt ein aktuelles Bild aus der Sequenz "SIMPLE"
(codiert).
Fig. 23 zeigt das Vorgängerbild zu dem Bild gemäß Fig. 22 aus
der Sequenz "SIMPLE" (codiert).
Fig. 24 zeigt eine bildhafte Darstellung einer codierten
Interframe-Information (4-fach verstärkt).
Fig. 25 zeigt eine Quadtree-Struktur der Interframe-Information.
Fig. 26 zeigt ein aktuelles Bild aus der Sequenz "MISS AMERICA"
(codiert).
Fig. 27 zeigt das Vorgängerbild zu dem Bild gemäß Fig. 26
(codiert).
Fig. 28 zeigt eine Darstellung der codierten Interframe-Information
(4-fach verstärkt).
Fig. 29 zeigt die Quadtree-Struktur der Interframe-Information.
Fig. 30 zeigt eine Koeffizientenmaske mit Koeffizienten A 1,
A 2, A 3, A 4, A 5, A 6.
Fig. 31 zeigt eine spiralförmige Adreßsequenz für eine
y-x-Verschiebung.
Die vorliegende Erfindung geht von einer sog. Quadtree-Struktur
aus. Die Quadtree-Datenstruktur erlaubt die Segmentierung
eines zweidimensionalen, ortsdiskreten Gebietes in
reguläre (quadratische) Suchgebiete variabler Blockgröße, deren
Inhalt jeweils durch gemeinsame Eigenschaften charakterisiert
werden kann. Quadtrees ermöglichen somit auch die Beschreibung
komplizierter Objektrandkurven, vergl. Fig. 5.
Als Grundelement der Quadtree-Struktur gilt ein Quadrat
mit der Kantenlänge k, welches in vier gleichgroße Quadranten
I, II, III, IV unterteilt sein kann oder als Einheit verbleibt,
vergl. Fig. 6.
Ein Quadtree läßt sich grundsätzlich auf zwei unterschiedliche
Arten konstruieren:
1. Top Down-
Der Quadtree entsteht durch hierarchische Unterteilung von Hauptquadraten in jeweils vier Unterquadrate, welche im nächsten Schritt wieder als Hauptquadrate behandelt werden.
2. Bottom Up-
Der Quadtree entsteht durch hierarchisches Zusammfassen von vier Unterquadraten zu jeweils einem gemeisamen Hauptquadrat, welches im nächsten Schritt wieder als Unterquadrat behandelt wird.
Der Quadtree entsteht durch hierarchische Unterteilung von Hauptquadraten in jeweils vier Unterquadrate, welche im nächsten Schritt wieder als Hauptquadrate behandelt werden.
2. Bottom Up-
Der Quadtree entsteht durch hierarchisches Zusammfassen von vier Unterquadraten zu jeweils einem gemeisamen Hauptquadrat, welches im nächsten Schritt wieder als Unterquadrat behandelt wird.
Die Entscheidung, ob zusammgefaßt (Bottom Up-Methode) oder
unterteilt (Top Down-Methode) werden soll, fällt bei beiden
Entwurfsmethoden durch folgenden Hypothesentest:
Hypothese 1:
Die vier Unterquadrate I, II, III und IV verhalten sich gleich im Sinne einer vorgegebenen Eigenschaft.
Die vier Unterquadrate I, II, III und IV verhalten sich gleich im Sinne einer vorgegebenen Eigenschaft.
Hypothese 2:
Die vier Unterquadrate verhalten sich unterschiedlich im Sinne derselben Eigenschaft.
Die vier Unterquadrate verhalten sich unterschiedlich im Sinne derselben Eigenschaft.
Ist die Hypothese 2 erfüllt, so bleiben die vier Unterquadrate
erhalten, andernfalls verschmelzen die vier Unterquadrate zu
einem Hauptquadrat.
Die Einzelbildcodierung mit Quadtrees wird bereits seit
längerer Zeit verfolgt, vergl. z. B. C. H. Shaffer and H. Samet,
"Optimal quadtree constructions algorithms", Comp. Vision,
Graphics and Image Processing, Vol. 37, pp. 402-419, 1987;
L. L. Jones and S. S. Iyengar, "Space and time efficient virtual
quadtrees", IEEE Trans. on Pattern Analysis and Machine
Intelligence, Vol. PAMI-6, No. 2, pp. 244-247, 1984; A. Klinger
and C. R. Dyer, "Experiments on picture representation using
regular decomposition", Computer Graphics and Image Processing,
Vol. 25, pp. 68-105, 1976; Y. Cohen, M. S. Landy and M. M. Pavel,
"Hierarchical coding of binary images", IEEE Trans. on Pattern
Analysis and Machine Intelligence, Vol. PAMI-7, No. 3, pp.
284-298, 1985; D. S. Scott and S. S. Iyengar, "A new data
structure for efficient storing of images", Pattern Recognition
Letters, Vol. 3, pp. 211-214, 1985; D. J. Vaisey and A. Gersho,
"Variable block-size image coding", Proc. Int. Conf. on ASSP,
pp. 1051-1054, Dallas, 1987.
Weiterhin ist aus der WO 86/04757 ein
Verfahren zur Datenreduktion für Videosignale bestehend aus einer
zeitlichen Folge digitaler
Bilder auf der Grundlage der Differenz-
Puls-Code-Modulation bekannt, wobei
dort auch Differenzbilder als Quadtree-Strukturen codiert
werden.
Im folgenden soll auf eine Methode eingegangen werden, bei der
der Mittelwert aller Pixel in einem Block zur Konstruktion der
Quadtrees herangezogen wird.
Sei
der Mittelwert des Bildsignals {s} im Hauptquadrat, welches
durch die Indexmenge
i, j ε {m} (3.2)
bestimmt ist. Ferner hat man noch die Mittelwerte der Unterquadrate
MI, MII, MIII und MIV zur Verfügung. Nun erhalten die
Hypothesen folgende Gestalt:
Für den Fall
(|M/4-MI|<σ) ∨ (|M/4-MII|<σ) ∨ (|M/4-MIII|<σ) ∨ (|M/4-MIV|<σ)=.true. (3.3)
entscheidet man sich für Hypothese 2 (Unterquadrate bleiben
erhalten), andernfalls fällt die Entscheidung zu Gunsten der
Hypothese 1, wobei σ eine vorgegebene Schwelle ist. Dieses Verfahren
verdient die Bezeichnung "Gleichanteilsdekomposition"
da das Bild in Gleichanteile verschiedener Flächengröße zerlegt
wird. Das Bild läßt sich beliebig genau approximieren, wenn nur
die Schwelle σ genügend klein gewählt wird. Das Verfahren erreicht
eine hohe Datenkompression in homogenen Bereichen,
während detailreiche Gebiete auf feine Quadtrees, und damit auf
eine geringe Datenkompression führen. Das Verfahren eignet sich
besonders für die Codierung von Bildern mit linienartigen
Strukturen, zwischen denen sich weite homogene Flächen
erstrecken.
Ein weiterer interessanter Effekt bei diesem Verfahren ist der
geringe Rechenaufwand zur Berechnung der Quadtrees. Wählt man
die Bottom Up-Realisierung, so können die benötigten
Mittelwerte in jeder Hierarchiestufe des Verfahrens über die
Formel
M = MI + MII + MIII + MIV (3.4)
rekursiv berechnet werden. Der erforderliche Rechenaufwand zur
Konstruktion des Quadtrees beträgt daher unabhängig vom Datenmaterial
in jedem Fall nur eine Addition pro Pixel, zuzüglich der
Entscheidungsoperationen aus Formel (3.3).
Im vorstehenden wurde die reguläre Gleichanteilsdekomposition
als ein mögliches Verfahren zur Einzelbildcodierung betrachtet.
Nun stellt sich die Frage, inwieweit sich dieses Prinzip auf
die Szenencodierung erweitern läßt und insbesondere, inwieweit
die besonderen Eigenschaften der quadtreebasierten Gleichanteilsdekomposition
(z. B. hohe Datenkompression bei Linienbildern)
vorteilhaft in der Szenencodierung genutzt werden
können.
Es ist zunächst festzustellen, daß einzelne Bilder aus einer
Szene in hohem Maße statistisch abhängig sind, d. h. nur
geringe Anteile eines aktuellen Bildes weisen Veränderungen
verglichen mit seinem zeitlichen Vorgängerbild auf. Diese Veränderungen
müssen codiert werden (Interframecodierung). Sie
sind meist nur die Folge einer Bewegung der aktiven Objekte der
Szene. Wenn es nun gelingt, diese Objektbewegungen in zeitlich
aufeinanderfolgenden Bildern wenigstens annähernd zu kompensieren,
so erhält man ein Differenzbild, welches nur an den
Objekträndern signifikante Amplituden aufweist. Zwischen diesen
Randlinien erstrecken sich weitgehend homogene Flächen. Es sei
an dieser Stelle an die besonders günstigen Datenkompressionseigenschaften
der Gleichanteilsdekomposition bei so gearteten
Bildern erinnert.
Die Formeln für die Gleichanteilsdekomposition im Szenenfall
(Interframemodus) lauten also:
wobei {st} und {st-1} die zeitlich aufeinanderfolgenden Bilder
und
z = [x, y]T (4.2)
der Bewegungsvektor ist, welcher für ein Gebiet {m} gilt. Die
Entscheidungen zur Konstruktion des Quadtrees erhält man nach
wie vor durch Anwendung der Beziehung (3.3) mit anschließendem
Test.
Das bis jetzt geschilderte Vorgehen würde zunächst ein eigenes
Verfahren für die Bewegungskompensation mit anschließender
Gleichanteilsdekomposition (z. B. an Stelle einer Transformation)
erfordern. Es ist jedoch ersichtlich, daß eine Bewegungskompensation
auf einen umso "einfacheren" Quadtree führt, je
vollkommener sie ausgeführt wurde. Im Grenzfall, d. h. bei
einer perfekten Bewegungskompensation würden die bewegten
Bereiche in aufeinanderfolgenden Bildern exakt zur Deckung
gebracht, wodurch das Differenzbild überall den Wert Null
annimmt. Von den beschreibenden Quadtree bliebe dann nur noch
das große Hauptquadrat übrig.
Die Definition der "Einfachheit" eines Quadtree ist also
zunächst zweckmäßigerweise die Anzahl seiner Subgebiete.
Da zu erkennen ist, daß eine gute Bewegungskompensation auf
einen einfachen Quadtree führen muß, ist es folgerichtig, zu
untersuchen, inwieweit sich dieser Schluß auch umkehren läßt.
Es stellt sich die Frage, ob es demzufolge auch möglich ist,
den optimalen Bewegungsvektor (d. h. die optimale Verschiebung
des Bildausschnitts im Vorgängerbild) dadurch zu ermitteln, daß
man die Gleichanteilsdekompensation für alle möglichen
Verschiebungen x und y eines Suchbereiches durchführt und
schließlich diejenige Verschiebung als die geschätzte Bewegung
einsetzt, für die die Anzahl der Subgebiete des zugehörigen
Quadtree ein Minimum annimmt. In der Tat zeigte sich im
Experiment, daß dieses Vorgehen sehr gute Ergebnisse liefert.
Die Bewegungen in der rekonstruierten Szene behalten ihren
natürlichen Charakter, während die Anzahl der Subgebiete in den
Quadtrees durchschnittlich 30% geringer war als bei Anwendung
der eingangs erwähnten "Hybridkonzepts" mit Blockmatching und
anschließender Gleichanteilsdekompensation. Dies ist eine
bedeutende Aussgage, denn schließlich ist die Anzahl der
Subgebiete wenigstens annähernd ein Maß für die Anzahl der
Bits, welche für die Codierung der Interframe-Information
benötigt werden. Diese neue Methode der "Quadtree Structured
Difference Pulse Code Modulation" (QSDPCM) ist auch vom Aufwand
her zu rechtfertigen. So benötigt man für die Berechnung
sämtlicher möglicher Quadtrees in einem Suchbereich nach der
Bottom Up-Methode nur n² Festkommaaddition, wenn der
Suchbereich n×n Pixelverschiebungen umfaßt. So ergibt sich
beispielsweise bei einem Suchbereich von 11×11 ein Rechenaufwand
von nur 121 Festkommaadditionen pro Pixel für das
QSDPCM-Verfahren.
Nachdem nun mit der Minimierung der Anzahl der Subgebiete
eines Quadtrees schon ein sehr gutes (im Sinne einer hohen
Datenkompression) neues Fehlermaß für die (implizite)
Bewegungsschätzung eingeführt ist, müßte es nun auch möglich sein,
in einem letzten Schritt denjenigen Quadtree und
zugehörigen Bewegungsvektor zu ermitteln, welcher tatsächlich
auf ein Minimum der Anzahl der zu übertragenden Bits führt. Ein
solches Verfahren müßte - verglichen mit herkömmlichen Methoden
der Bewegungsschätzung - gute Datenkompressionseigenschaften
aufweisen, denn es wird ja direkt die Update-Information (in
Bits) minimiert. Tatsächlich ist es von der Minimierung der
Subgebiete eines Quadtrees nur noch ein weiterer Schritt bis zu
einem Verfahren, welches den Quadtree mit zugehörigem Bewegungsvektor
so entwirft, daß die zu übertragende Update(interframe-)Information
(in Bits) minimal wird. Dazu wird zunächst das
QSDPCM-Verfahren mit der Minimierung der Subgebiete als
Fehlermaß an einer typischen Szene durchgeführt. Die sich
ergebenden Mittelwerte in den Subgebieten, die Quadtreecodes
und auch die geschätzten Bewegungsvektoren werden gespeichert
und schließlich optimal (Huffman) codiert. Die sich ergebenden
Codetabellen werden schließlich in das Verfahren eingesetzt. Im
endgültigen Betrieb kann das Verfahren nun für jede Verschiebung
die gesamte Interframe-Information berechnen, indem nicht
die Anzahl der Subgebiete, sondern die Anzahl der Bits, welche
für die Codierung des jeweiligen Mittelwertes in einem
Subgebiet (durch Nachschauen in den Huffmantabellen)
akkumuliert wird, zuzüglich der Anzahl der Bits für den
Quadtreecode und die Anzahl der Bits zur Codierung des entsprechenden
Bewegungsvektors.
Es hat sich herausgestellt, daß durch diese direkte Minimierung
der Interframe-Information, wie vorgehend geschildert, noch
einmal eine Einsparung an Bits von ca. 20% erreicht werden
konnte. Dies erklärt sich daraus, daß nun auch die Statistik
der Mittelwerte in den einzelnen Subgebieten optimal im Sinne
einer minimalen Datenrate ausgenutzt wird. Der dafür erforderliche
Zusatzaufwand besteht nur in einer Adressierungsoperation
(Nachschauen in den - sehr kleinen - Huffmantabellen mit
Entnahme der Anzahl der Bits für das Codewort und entspechende
Aufakkumulation in einem Bitzähler). Dies ist sehr einfach zu
realisieren und bedeutet einen praktisch vernachlässigbaren
Zusatzaufwand. Tatsächlich können neben den Huffman Codetabellen
für den vorgenannten Zweck auch Tabellen gelegt werden,
welche die Anzahl der Bits/Codewort enthalten. Bemerkenswert
ist noch, daß die Mittelwerte für unterschiedlich große Subgebiete
eine unterschiedliche Amplitudenstatistik aufweisen. In
kleinen Blöcken ist die Streuung sehr groß, während die
Streuung bei wachsender Blockgröße stark abnimmt. Deshalb wird
für jede Blockgröße eine eigene Huffmantabelle eingesetzt. Die
Huffmantabellen sind sehr kurz. So ergibt sich bei einer Blockgröße
von 16×16 beispielsweise nur noch eine Huffmantabelle mit
3 Einträgen. Bemerkenswert ist auch, daß die Statistik der
Mittelwerte weitgehend unabhängig vom Szenenmaterial ist, d. h.
wurden die Huffman-Tabellen für Szene A entworfen, so sind sie
auch für Szene B annähernd optimal. Versuche haben ergeben, daß
eine Codeanpassung auf eine neue Szene nur eine Verbesserung
von ca. 2% bringt.
Nachdem im Vorstehenden das QSDPCM-Verfahren bereits
hergeleitet und erläutert wurde, wird nun seine Anwendung in
einem Szenencodec erläutert, der in der Simulation erprobt
wurde. Zunächst sei jedoch das zugrundeliegende QSDPCM-
Verfahren nochmals in einem Grobflußdiagramm zusammengefaßt.
Der QSDPCM-Codec, welcher in Fig. 7 gezeigt ist, hat einen
Gesamtrealisierungsaufwand von nur ca. 300 Millionen Festkommaadditionen
pro Sekunde zuzüglich der Entscheidungsoperationen und
Vergleiche und eignet sich aufgrund seiner regelmäßigen
Struktur hervorragend für eine VLSI Realisierung auf einem
Chip.
Grobflußdiagramm des QSDPCM-Verfahrens
Nachfolgend wird ein detaillierter Architekturvorschlag für das
QSDPCM-Verfahren aufgezeigt. Dies ermöglicht einerseits ein
besseres Verfahren des QSDPCM-Verfahrens und andererseits
eine genauere Abschätzung des Realisierungsaufwandes für den
gesamten auf dem QSDPCM-Verfahren basierenden Codec. Die im
folgenden erläuterte Architektur repräsentiert den aktuellen
Stand der Simulation und entspricht in allen Details dem
Verfahren, mit dem Statistiken und Simulationsergebnisse
errechnet wurden.
Fig. 7 zeigt den QSDPCM-Coder, Fig. 8 zeigt den zugehörigen
Decoder. Die Funktion der darin enthaltenen Blöcke wird im
folgenden im einzelnen erläutert. Dazu sind zunächst verschiedene
Architektur-Grundelemente (Basiszellen) erforderlich,
die in Fig. 9 gezeigt und definiert sind. Fig. 10 zeigt die
Detailschaltung des 2*2 Mean Prozessors. Dieser Prozessor
generiert für einen 16*16 Block die 2*2 Mittelwerte der
Bilddifferenzen zwischen dem zu codierenden Bild und dem
Bildspeicherinhalt und schreibt das Ergebnis dieser Operation
in einem Fast RAM Zwischenpuffer der Größe 64*8 Bit. Diese
Operation muß für jede Verschiebung im Suchbereich durchgeführt
werden. Die Operation benötigt bei dieser Architektur insgesamt
16 Taktzyklen.
Die weitere Verarbeitung dieser Mittelwerte erfolgt nun in der
QSDPCM Central Processing Unit, vergl. Fig. 11.
Schritthaltend mit dem Mean-Prozessor müssen hier die in einem
Fast RAM bereitgestellten Daten auf weitere Zusammenfaßbarkeit
entsprechend dem QSDPCM-Verfahren (vergl. das vorstehende
Grobflußdiagramm) überprüft und gegebenenfalls zu größeren
durch ihre Mittelwerte hinreichend genau beschreibbaren Gebieten
zusammengefaßt werden. Fig. 12 verdeutlicht nochmals
die Funktion des QSDPCM-Verfahrens. Im Schritt 1 werden
zunächst die 2*2 Blöcke auf weitere Zusammenfaßbarkeit
überprüft (16 Taktzyklen). In Schritt 2 werden die 4*4 Blöcke
auf Zusammenfaßbarkeit überprüft (4 Taktzyklen) und schließlich
wird im 3. Schritt noch die Zusammenfaßbarkeit der 8*8 Blöcke
zu einem 16*16 Block (1 Taktzyklus) geprüft. Im Gegensatz zum
Mean-Prozessor, welcher mit nur 16 Taktzyklen auskommt,
benötigt man bei der QSDPCM-CPU eine Gesamtrechenzeit von
14+4+1=21 Taktzyklen pro verschobenem 16*16 Block. Die
Rechenzeit der QSDPCM-CPU ist also bestimmend, da Mean-Prozessor
und QSDPCM-Prozessor zeitlich überlappt arbeiten. Das Fast
RAM ist doppelt (als Wechselpuffer) ausgelegt. Der Mean-Prozessor
hat 21-16=5 Wait-Zyklen. Dazu sei hier noch besonders
darauf hingewiesen, daß während der schnellen Suchprozedur kein
Rückschreiben von Ergebnissen aus dem Fast RAM in den
Bildspeicher erforderlich ist.
Nun bietet sich ein gutes Zusammenspiel zwischen dem
maximal berechenbaren Suchbereich und dem Bildinkrement an,
wenn man berücksichtigt, daß stark bewegte Bilder immer auf ein
höheres Bildinkrement führen. Der Prozessor hat in solchen
Fällen sehr viel mehr Zeit und kann größere Suchgebiete
abarbeiten. Es ist aber auch zweckmäßig, bei höherem
Bildinkrement den Suchbereich zu vergrößern, da sich die
Objekte ja dann bereits weiter bewegt haben können. Diese
Eigenschaft erhält man bei der vorgeschlagenen Architektur
ohne Zusatzaufwand wie folgt: Zunächst muß dafür gesorgt
werden, der Motion Vector Generator (Displacement Adressgenerator)
einen "Spiralscan" ausgibt, vergl. Fig. 31.
Legt man nun ein Bildformat von 352*288 Pixel (Luminanz)+
176*288 Pixel (Chrominanz) mit 25 Hz Bildwechselfrequenz zugrunde
und wählt man eine synchrone Taktrate von 25 MHz für
den Prozessor, so können pro Originalbild für jeden 16*16 Block
80 Verschiebepositionen abgearbeitet werden. Für diese
Berechnung wurde eine Anzahl von 594 16*16 Blöcken (CIF
inklusive Chrominanz, wie oben bereits angegeben) und eine
Bildwechselfrequenz von 25 Hz angenommen. Damit ergeben sich
also in Abhängigkeit vom Bildinkrement die folgenden
Suchbereiche:
Es fällt auf, daß für jedes Bildinkrement die Anzahl der
möglichen Suchschritte nicht direkt mit der erforderlichen
Anzahl von Suchschritten für einen entsprechenden Suchbereich
übereinstimmt. Der äußere "Ring" des Suchbereichs ist also in
jedem Fall nicht vollständig besetzt. Hier ist es zweckmäßiger,
anstelle des einfachen Spiralscan einen "Lawinenscan"
einzusetzen, bei dem die Adressgenerierung in einer Weise
vorgenommen wird, daß die noch möglichen Suchpositionen am
äußeren Ring des Suchbereichs in etwa äquidistant besetzt sind.
Die Realisierung des "Lawinenscan" ist nicht aufwendiger als
die des einfachen Spiralscan, da die Adressenfolge
zweckmäßigerweise aus einem linear über einen Zähler
adressierten PROM abgerufen wird.
Die beiden Blöcke Mean Prozessor (Fig. 10) und QSDPCM-CPU (Fig. 11)
beinhalten bereits den gesamten Aufwand an arithmetischen
Operationen zur Ausführung des QSDPCM-Verfahrens. Fig. 12
erläutert die Funktion der Quadtree Construction Logic. Der
Quadtree wird standardmäßig mit einem Code mit variabler
Wortlänge codiert (vergl. ebenfalls Fig. 12).
Fig. 14 zeigt die Bitcount Logik und den Huffman-Coder. Der
Huffman-Coder enthält 4 Codetabellen (jeweils 65 Einträge) für
die zu codierenden Differenzbildmittelwerte in den 2*2, 4*4
und 16*16 Blöcken, sowie die Huffman-Tabelle für die Codierung
der Bewegungsvektoren mit 400 Einträgen. Es wird nur ein
Huffman-Coder benötigt, der auf die (langsamen) Tabellen
zugreift. Jeder Huffman-Codetabelle ist nun noch eine ebenso
große Tabelle zugeordnet, welche als Eintrag die Anzahl der
Bits für das entsprechende Codewort enthält. Auf diese Tabellen
muß während des Full Search-Suchvorganges schnell zugegriffen
werden. Für jeden Verschiebungsvorschlag (Vektorhypothese) im
Suchbereich kann somit die Anzahl der Bits, die sich für die
Codierung der Interframe-Information ergeben würde, berechnet
werden, ohne daß jedoch tatsächlich codiert wird. Die Codierung
erfolgt nur für die optimale Verschiebung, d. h. für jene Verschiebung,
für die die gesamte Interframe-Information ein
Minimum annimmt. Dies ist ein wesentliches Merkmal des QSDPCM-
Verfahrens. Der Code für die Interframe-Information eines 16*16
Blocks wird schließlich im Multiplex an den Ausgangspuffer
weitergeleitet.
Nach so erfolgter Codierung wird der bearbeitete 16*16 Block im
Bildspeicher aktualisiert. Dabei ist es wichtig zu beachten,
daß das aktualisierte Bild im Bildspeicher wiederum nur durch
seine 2*2 Mittelwerte repräsentiert werden darf. Die
Mittelwertbildung muß unbedingt mit dem vom Mean Prozessor auf
das Eingangsbild angewendeten Blockraster übereinstimmen, da
nur so das Anwachsen von hochfrequenten Störungen im
Bildspeicher verhindert wird.
Fig. 15 zeigt die Organisation des Bildspeichers. Beim
CIF-Format gilt: NSPA=352, NZEI=288.
Fig. 13 zeigt die Ausführung des Quantisierers für die
Blockdifferenzen. Es wird nur eine Aussteuerung von +/-96
zugelassen. Darüber hinausgehende Werte werden begrenzt. Dies
ist ein völlig ausreichender Wertebereich, wie Versuche gezeigt
haben. Dieser beschränkte Wertebereich wird auch in den
Prozessoren bereits genutzt. Hier wird die Pixeldifferenz nicht
mit 9 Bit, sondern nur mit 8 Bit dargestellt (Begrenzung
bereits in den 4-Input-Addern).
Die konstante Kanalrate am Ausgang des Coders erreicht man über
einen Puffer mit variabler Frame-Rate, d. h. der Coder hält die
Bildqualität fest und regelt die Datenrate durch Weglassen
einer variablen Anzahl von Eingangsbildern. Dieses Konzept
führt auf einen äußerst einfachen Pufferregler. Der Pufferspeicher
faßt maximal 25 codierte Bilder (1 Sekunde). Dies wird
jedoch nur beim Bildaufbau erreicht. Da der Pufferspeicher als
echtes FIFO arbeitet, ist die Verzögerung abhängig von der
Anzahl der weggelassenen Eingangsbilder und beträgt im
günstigsten Fall nur 1/25 Sekunde. Dieser Fall (kein Bild
weggelassen) wird beispielsweise bei der Testsequenz "SIMPLE"
mehrmals erreicht.
Abschließend werden einige Simulationsergebnisse aufgezeigt.
Fig. 20 zeigt die Anzahl der ausgelassenen Bilder pro
übertragenem Bild für die beiden Testsequenzen "SIMPLE" und
"MISS AMERICA". In Fig. 19 sind die zugehörigen Verläufe des
Mean Squared Error (MSE) dargestellt. Es fällt auf, daß bei der
Sequenz "MISS AMERICA" mehr Bilder ausgelassen werden müssen
als im Falle von "SIMPLE". Ursachen hierfür sind die völlig
unterschiedlichen Eigenschaften der beiden Testsequenzen.
"SIMPLE" weist einen sehr viel höheren Detailgehalt und auch
wesentlich detailreichere bewegte Objekte auf als
"MISS AMERICA". Andererseits hat "MISS AMERICA" einen höheren
Bewegtanteil verursacht durch ein großes, detailarmes Objekt,
das sich zudem kaum vom Hintergrund abhebt. Die bewegungskompensierten
Differenzbilder, welche letztendlich die zu
codierende Interframe-Information darstellen, weisen im Falle
von "SIMPLE" annähernd ideale, sehr hochfrequente
Linienstrukturen an den Rändern der bewegten Objekte und an den
bewegten Strukturkomponenten auf. Die Testsequenz "SIMPLE"
eignet sich deshalb sehr gut für die Codierung mit dem neuen
QSDPCM-Verfahren. Weniger gute Ergebnisse wurden bei der
Sequenz "MISS AMERICA" erzielt. Da sich hier das bewegte Objekt
kaum sichtbar vom Hintergrund abhebt, und auch sonst keine
detailreichen bewegten Strukturen auftreten, ist auch das
bewegungskompensierte Differenzsignal wesentlich weniger
hochfrequent und wesentlich höher örtlich korreliert als im
Falle von "SIMPLE". Trotz des niedrigen MSE zeigt das
QSDPCM-Verfahren im Falle von "MISS AMERICA" eine schlechtere
subjektive Bildqualität in den detail- und kontrastarmen
bewegten Gebieten, während Gesicht und Augen der Testperson
sehr scharf und natürlich dargestellt werden.
Die vorliegende Erfindung ist nicht allein zur Codierung von
digitalen Fernsehsignalen geeignet, sondern beispielsweise
auch anwendbar auf die Detektion bewegte Objekte, beispielsweise
für Intrusionsschutzanlagen.
Claims (1)
- Verfahren zur Datenreduktion für Videosignale bestehend aus einer zeitlichen Folge digitaler Bilder auf der Grundlage der Differenz- Puls-Code-Modulation mit Bewegungskompensation, wobei
- a) Differenzbilder als Quadtree-Strukturen codiert werden,
- b) Bewegungsvektoren dadurch bestimmt werden, daß in einem der Bilder für die Differenzbilder Gebietsverschiebungen durchgeführt werden, die Kodierung für jede Gebietsverschiebung vollständig durchgeführt wird, die Zahl der Bits bestimmt wird, die nach der Kodierung entstanden ist und als Bewegungsvektor für eine Gebietsverschiebung derjenige bestimmt wird, für den die Zahl der Bits nach der jeweiligen Kodierung minimal ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3733038A DE3733038C2 (de) | 1987-09-30 | 1987-09-30 | Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale |
JP63091239A JPH01165282A (ja) | 1987-09-30 | 1988-04-12 | デイジタルテレビ信号に対する像データ整理方法および回路装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE3733038A DE3733038C2 (de) | 1987-09-30 | 1987-09-30 | Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3733038A1 DE3733038A1 (de) | 1989-04-20 |
DE3733038C2 true DE3733038C2 (de) | 1994-01-05 |
Family
ID=6337293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3733038A Expired - Fee Related DE3733038C2 (de) | 1987-09-30 | 1987-09-30 | Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH01165282A (de) |
DE (1) | DE3733038C2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7023916B1 (en) | 1998-08-07 | 2006-04-04 | Infineon Technologies Ag | Method and device for estimating motion in a digitized image with pixels |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134477A (en) * | 1990-12-11 | 1992-07-28 | At&T Bell Laboratories | Hdtv receiver |
DE69217150T2 (de) * | 1991-09-30 | 1997-07-17 | Philips Electronics Nv | Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung |
FR2769454A1 (fr) * | 1997-10-06 | 1999-04-09 | Canon Kk | Procede et dispositif de codage et decodage de donnees, notamment de sequences d'images numeriques |
EP0905982A3 (de) * | 1997-09-30 | 1999-07-07 | Canon Kabushiki Kaisha | Verfahren und Vorrichtung zur Kodierung und Dekodierung von Daten, insbesondere Digitalbildfolgen |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8502924D0 (en) * | 1985-02-05 | 1985-03-06 | British Telecomm | Image encoding |
JPS62206981A (ja) * | 1986-03-07 | 1987-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 符号化処理方式 |
-
1987
- 1987-09-30 DE DE3733038A patent/DE3733038C2/de not_active Expired - Fee Related
-
1988
- 1988-04-12 JP JP63091239A patent/JPH01165282A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7023916B1 (en) | 1998-08-07 | 2006-04-04 | Infineon Technologies Ag | Method and device for estimating motion in a digitized image with pixels |
Also Published As
Publication number | Publication date |
---|---|
DE3733038A1 (de) | 1989-04-20 |
JPH01165282A (ja) | 1989-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69722637T2 (de) | Bewegungsschätzungssystem und -verfahren für einen videokodierer | |
DE69519462T2 (de) | Bildübertragungssystem und Verfahren zur Datenreduktion von Farbbildern mittels Farbtabellen und Zusammenfassung von Bildbereichen | |
EP0817496B1 (de) | Verfahren und Anordnung zur Reduktion von Blockartefakten in codierten Bildern | |
DE69330620T2 (de) | Verfahren und Einrichtung zur Bildkodierung | |
EP0309669B1 (de) | Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale | |
DE69028160T2 (de) | Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes | |
DE69801209T2 (de) | Hierarchischer rekursiver Bewegungsschätzer für Bewegtbildkodierer | |
DE69618759T2 (de) | Verfahren und system zur kodierung einer sequenz von segmentierten bildern , kodiertes signal und speichermedium, verfahren und system zur dekodierung des kodierten signals | |
DE69405740T2 (de) | Verfahren und anordnung für bewegungskompensierende interpolation | |
DE69715136T2 (de) | Bilddatenkompression für interaktive anwendungen | |
EP0285902A2 (de) | Verfahren zur Datenreduktion digitaler Bildsequenzen | |
DE69629715T2 (de) | Datenkomprimierung | |
DE19743202B4 (de) | Verfahren zum Codieren eines Bewegungsvektors | |
DE19825042A1 (de) | Verfahren zur Bewegungsvektorcodierung bei MPEG-4 | |
DE19704439A1 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien | |
DE69521873T2 (de) | Verfahren zum Auswählen von Bewegungsvektoren und Bildverarbeitungsvorrichtung zur Durchführung des Verfahrens | |
DE69729438T2 (de) | Verfahren und Gerät zur prädiktiven Kodierung der Objektinformation von Videosignalen | |
DE69802269T2 (de) | Vorrichtung und verfahren zum vergleichen von pixelblöcken | |
DE69916662T2 (de) | Verfahren und vorrichtung zur bewegungskompensation in einem texturabbildungssystem | |
DE60207756T2 (de) | Bilddatenzugriff | |
DE3733038C2 (de) | Verfahren und Schaltungsanordnung zur Bilddatenreduktion für digitale Fernsehsignale | |
DE69609931T2 (de) | Verfahren zur Datenverarbeitung in matrixförmigen Netzwerken in einem Bewegungsschätzungssystem | |
DE69425720T2 (de) | Bildverarbeitungsgerät | |
DE69738363T2 (de) | Codierverfahren für Digitalinformationen | |
DE60001563T2 (de) | Verfahren zur kodierung/dekodierung von bildern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |