-
Die vorliegende Erfindung betrifft die Kodierung, die
Übertragung und die Dekodierung von digital kodierten
Videobildern. Sie betrifft insbesondere ein Verfahren zum
Überdecken von Fehistellen bei der Übertragung von
Fernsehbildsequenzen, bei denen eine Kette von Bildern
abwechselnd ein insgesamt in sich kodiertes Bild (Intra-Bild)
und relativ in Bezug zu vorhergehenden und/oder folgenden
Bildern kodierte Bilder (Inter-Bilder) enthält.
-
Ein Beispiel einer solchen übertragungsart von abwechselnden
Bildern betrifft eine MPEG-Kodierung, die beschrieben ist in
"MPEG: a Video Compression Standard for Multimedia
Applications", Didier Le Gall, Communications of the ACM, April
1991, Band 34, No. 4.
-
Figur 1 stellt sehr schematisch ein System für die Bildaufnahme
und Bildübertragung dar. Dieses System weist zunächst eine
Vorrichtung zur Bildaufnahme 1, gefolgt von einem Kodierer 2
auf, der eine Bildkompression und Bildkodierung bewirkt. Das
kodierte und komprimierte Bild wird über eine
übertragungseinrichtung 3 (die ein Kabelsystem, eine
Radioverbindung, eine optische Verbindung etc. sein kann), die
mit logischen Schaltungen ausgerüstet ist, zu einem Empfänger
übertragen, der einen Dekodierer und einen Dekomprimierer 4
aufweist, der komplementär zum Kodierer 2 ist und Bildsequenzen
liefert, die auf einem Schirm 5 angezeigt werden.
-
Die vorerwähnte MPEG-Norm ist insbesondere dadurch
gekennzeichnet, daß eine zu übertragende Bildsequenz in
Bildgruppen unterteilt wird. Eine Gruppe umfaßt jeweils eine
Bildfolge, wobei das erste Bild ein sog. Intra-Bild ist und die
nachfolgenden Bilder sog. Inter-Bilder sind. Figur 2 stellt
eine solche Sequenz dar mit einer ersten Gruppe aus einem
ersten Intra-Bild 10, gefolgt von Inter-Bildern 11,12,13... und
einer zweiten Gruppe mit einem ersten Intra-Bild 20, gefolgt
von mehreren Inter-Bildern 21,22 ... .
-
Das erste Bild einer Gruppe ist als Intra-Bild kodiert, d.h.,
nach einer festen Bildkompression, die auf einer diskreten
Kosinustransformation (DCT) basiert. Somit wird das Bild 10
oder das Bild 20 in sich kodiert durch eine Aufteilung des
Bildes in Blöcke, durch eine Kosinustransformation jedes
Blockes, durch eine Quantifizierung der Kosinus-
Transformationskoeffizienten und durch eine Entropiekodierung
der quantifizierten Koeffizienten. Ein Beispiel für eine
derartige Kodierungsweise und eine Vorrichtung für eine
Umsetzung findet sich in dern Artikel von Milt Leonard,
Electronic Design, 23. Mai 1991, Seiten 49-53.
-
Die folgenden Bilder (11,12,13.. .21,22...) werden als Inter-
Bilder kodiert, d.h. in einer Art abhängig von vorhergehenden
und/oder folgenden Bildern. Tatsächlich gibt es in einer
Bildszene, die durch eine Fernsehkamera aufgenommen wird, bei
nahe beieinander liegenden Translationsbewegungen nur geringe
Unterschiede zwischen einem Bild und unmittelbar vorhergehenden
und folgenden Bildern. Zum Beispiel kann der Hintergrund
(Landschaft) sich durch eine Translationsbewegung aufgrund
einer Verschwenkung der Kamera ändern, und verschiedene
Bildelemente können selbst durch eine Translationsbewegung in
Bezug zu dem Hintergrund verändert werden (z.B. eine
Personengruppe oder ein Automobil).
-
Die Figuren 3A und 3B geben ein Beispiel einer solchen
Situation. Die Figur 3A zeigt ein Beispiel eines in Blöcke Bij
unterteiltenteilbildes, und die Figur 3B zeigt einen gleichen
Bereich eines Referenz-Teilbildes, das in Blöcke B'ij
unterteilt ist. Wenn man die beiden Bilder vergleicht, nimmt
man wahr, daß der Block B13 der Figur 3A zum Beispiel dem Block
B12 ähnelt, und daß er aus diesem Block B'12 mit Hilfe eines
Verschiebevektors V13 und Daten hergeleitet werden kann, die
die geringen Differenzen zwischen den Blöcken B'12 und B13
charakterisieren. In gleicher Weise entspricht der Block B26
einem Bildbereich, der in den Blöcken B'23, B'24, B'33 und B'34
enthalten ist, und läßt sich daraus durch einen
Verschiebevektor V26 und durch Differenzdaten herleiten. Man
sieht zudem, daß ganz allgemein unmittelbar benachbarte Blöcke
mit hoher Wahrscheinlichkeit mit im wesentlichen identischen
Verschiebevektoren verbunden sind. Die Kodierung eines Inter-
Bildes weist die folgenden Etappen auf:
-
Unterteilung in Blöcke,
-
Abschätzen der Bewegung im Vergleich zu benachbarten
Bildern, um einen oder mehrere Verschiebevektoren im Hinblick
auf jedes dieser Bilder zu liefern,
-
Extraktion eines Vorhersageblockes in einem oder
mehreren der benachbarten Bilder,
-
Kosinustransformation der Unterschiede zwischen jedem
Block und dem jeweiligen Vorhersageblock,
-
Quantifizieren der Transformationskoeffizienten,
Entropiekodierung der Verschiebung des Vorhersageblockes in
Bezug zu dem Block und dem quantisierten Koeffizienten.
-
Eine Beschreibung eines Verfahrens zur Inter-Kodierung und
einer Einrichtung zu deren Realisierung findet sich in dem
Artikel von Milt Leonard, Electronic Design, 02. April 1992, S.
45-54.
-
Das Übertragungssystem 3 erhält eine durch den Kodierer
erzeugte Bit-Kette und unterteilt diese in Informationspakete.
Wie in Figur 4 dargestellt, fügt dieses Übertragungssystem
jedem Paket P1, P2, P3 ... Identifizierungscodes und einen Code
hinsichtlich der Detektion und der Korrektur von Fehlern bei.
Danach werden die Informationspakete übertragen und beim
Empfang wieder hergestellt, wobei der Code zur Detektion und
Korrektur von Fehlern analysiert wird und deren Inhalt an den
Dekodierer geliefert wird.
-
Wenn bei dem Empfang eines Paketes das Übertragungssystem einen
oder mehrere Übertragungsfehler bei dem Paket detektiert,
können entweder diese Fehler korrigiert werden und dieses
Verfahren automatisch ohne Einschaltung des Dekodierers
realisiert werden, oder die Kapazität zur Fehlerkorrektur des
Übertragungssystemes wird überschritten und es wird an den
Dekodierer ein Signal geliefert, daß das Informationspaket
verloren ist. Es ist damit nicht mehr möglich, den Fehler zu
korrigieren, jedoch können Bestrebungen unternommen werden, die
Fehlstellen in Bildfolgen zu überdecken (es sei angemerkt, daß
ein Übertagungspaket allgemein mehreren Blöcken entspricht, die
auf der Unterteilung der oben genannten Blöcke beruhen).
-
Im Falle eines kodierten Intra-Bildes besteht eine Lösung
darin, fehlende Blöcke durch Blöcke eines vorhergehenden Bildes
zu ersetzen, die an der gleichen Position gelegen sind. Jedoch
kann diese Überdeckung bzw. Maskierung von Fehlstellen dann
unglücklich sein, wenn eine Bildzone mit schneller Bewegung in
Bezug zu einem vorhergehenden Bild betroffenist.
-
Im Falle eines kodierten Inter-Bildes, für das
Verschiebevektoren von benachbarten Blöcken für Fehlblöcke
vorliegen, kann man eine Schätzung von Verschiebevektoren und
den entsprechenden Differenzkoeffizienten der Fehlstellenblöcke
vornehmen, z.B. durch eine Mittelung von Verschiebevektoren und
Differenzkoeffizienten benachbarter Blöcke, und so eine
Ersetzung von fehlenden Blöcken durch Blöcke eines
vorhergehenden Bildes durch Verschiebevektoren und
entsprechende geschätzte Differenzkoeffizienten bewirken.
-
Man erreicht somit eine schlechtere Überdeckung von fehlenden
Blöcken im Falle eines Intra-Bildes als im Falle eines Inter-
Bildes. Dies ist von besonderem Nachteil, da die Fehler bei
einem Intra-Bild sich wesentlich stärker auswirken als die
Fehler bei einem Inter-Bild, da sie sich von Schritt zu Schritt
auf die folgenden Inter-Bilder auswirken, deren Kodierung aus
diesen Intra-Bildern ermittelt wird.
-
Es sei bemerkt, daß die allgemeine Idee der Überdeckung von
Fehlstellen durch Ersatz von fehlerhaften Blöcken durch Blöcke
eines vorhergehenden Bildes in dern Artikel von F.C. Jeng et al
beschrieben ist, der in International Conference on
Communications, ICC'91, Band 1/3, 23. Juni 1991, S. 496-500
erschienen ist.
-
In dern Stand der Technik wurden daher verstärkt Systeme zur
Korrektur von Fehlern durch Intra-Bilder gefördert, jedoch
führte dieses an Grenzen, da es eine Erhöhung der Anzahl von
Bits, die für die Fehlerdetektion bzw. Fehlerkorrektur in jedem
Informationspaket des Übermittelungsystemes verwendet werden,
und eine beachtliche Komplexität der Schaltungssysteme für die
Behandlung von Fehlern erzwingt.
-
Somit ist es eine Aufgabe der vorliegenden Erfindung, ein
Verfahren zum Überdecken von Fehlstellen in einem Intra-Bild in
einem Übertragungssystem anzugeben, welches abwechselnd Intra-
Bilder und Inter-Bilder enthält.
-
Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein
solches Verfahren zum Überdecken von Fehlern anzugeben, das
keine bemerkenswerte Erhöhung von zu übermittelnden Daten
notwendig macht.
-
Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein
derartiges System zum Überdecken von Fehlstellen anzugeben, das
keine komplizierten Maßnahmen für die Kodierung und Dekodierung
erfordert.
-
Zur Lösung dieser Aufgabe wird gemäß der vorliegenden Erfindung
ein Verfahren zum Überdecken von Fehlstellen entsprechend den
charakteristischen Merkmalen des Anspruches 1 vorgesehen.
-
Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung
werden die Daten, die den Verschiebevektor eines Blockes eines
Intra-Bildes angeben, zeitverschoben im Hinblick auf die Daten
dieses intra-kodierten Blockes übertragen.
-
Diese und weitere Aufgaben, Merkmale und Vorteile der
vorliegenden Erfindung werden in der folgenden Beschreibung von
Ausführungsbeispielen in Verbindung mit den Figuren
beschrieben. In diesen stellen dar:
-
Fig. 1, die schon vorweg beschrieben wurde, ein
Blockschaltdiagramm einer Bildübertragungskette;
-
Fig. 2 schematisch eine Kodierung von aufeinanderfolgenden
Bildern bei einem Verfahren nach Art des MPEG-
Prozesses;
-
Fig. 3A und 3B schematisch ein Verfahren zur Inter-Kodierung und zum
Erhalt von Verschiebevektoren;
-
Fig. 4 schematisch Datenpakete, die über ein Übertagungssystem
übertragen werden; und
-
Fig. 5 schematisch als Blockschaltdiagramm ein System zum
Überdecken von Fehlstellen bei einer Durchführung der
vorliegenden Erfindung.
-
Anstatt das System zur Detektion und Korrektur von Fehlern bei
der Übertragung eines Intra-Bildes zu komplizieren, wird mit
der vorliegenden Erfindung vorgeschlagen, bei der Intra-
Kodierung eines jeden Blockes eines Intra-Bildes die Angabe
eines Verschiebevektors hinzuzufügen, der wie im Falle eines
Inter-Bildes erhalten wird. Dieser redundante Verschiebevektor
wird im Falle des Verlustes eines Paketes verwendet, um jeden
fehlenden Block durch den Bereich eines Bildes zu ersetzen, aus
dern der Verschiebevektor erhalten wurde. Es wird angemerkt, daß
bei der vorliegenden Erfindung für die Kodierung eines Bildes
die vollständige Überlagerung einer Intra-Kodierung und einer
Inter-Kodierung nicht erforderlich ist. Tatsächlich wird den
Informationen der Intra-Kodierung eines jeden Blockes die
alleinige Information des Verschiebevektors dieses Blockes
hinzugefügt und nicht die Differenzinformation zwischen dern
anfänglichen und dern abschließenden Block oder nur ein sehr
reduzierter Teil dieser Informationen.
-
Im Falle eines Systemes, in dern die sequentielle Übertragung
von Intra- und Inter-Bildern vorgesehen ist, kann man die Art
der Inter-Kodierung verwenden, um diesen Verschiebevektor zu
liefern, ohne die Schaltungsstruktur des Kodierungssystemes zu
komplizieren.
-
Man kann ebenfalls beispielhaft zeigen, daß das Hinzufügen
eines Verschiebevektors zu einem intra-kodierten Bildblock nur
eine vernachlässigbare Erhöhung der zu übertragenden
Informationsmenge nach sich zieht.
-
Es sei beipielhaft ein Fernsehbild herangezogen mit einer Größe
von 720 x 576 Pixel, das in Blöcke von 16 x 16 Pixel unterteilt
ist (d.h., daß ein Bild 1620 Blöcke aufweist). Um einen
Verschiebevektor zu kodieren, benötigt man daher bei
herkömmlichen Systemen eine Bit-Anzahl von weniger als 16.
Infolgedessen benötigt man für ein vollständiges Bild 1620 x 16
zusätzliche Bits, d.h. etwa 26 000 Bits für die Bereitstellung
von redundanten Verschiebevektoren. Im Falle, daß jeweils ein
Intra-Bild für eine Gruppe von 16 Bildern vorgesehen ist, bei
denen diese anderen Bilder Inter-Bilder sind, ist beispielhaft
die Anzahl von zu übertragenden Bits für die Kodierung einer
Bildgruppe ungefähr gleich 3,6 Megabits. Somit stellt die
Kodierung der redundanten Vektoren typisch weniger als 0,7 %
der Gesamtanzahl der übertragenen Bits dar. Dieser Wert steigt
bis auf etwa 1,4 %, wenn ein Intra-Bild für eine Gruppe von 8
folgenden Bildern vorliegt.
-
Wenn einmal ein Intra-Bild kodiert ist, in dem Daten eines
jeden Blockes mit einer Kodierung eines redundanten Vektors
verbunden werden, gibt es mehrere Möglichkeiten zur Übertragung
und zur Verwendung der ebenso übertragenen Informationen im
Falle eines Fehlers.
-
Bei einer ersten Ausführungsform werden die Daten eines jeden
Blockes und die Bits des redundanten Verschiebevektors
entsprechend der Folge sequentiell übertragen. In diesem Fall
ist die Wahrscheinlichkeit groß, daß im Falle des Verlustes
eines Informationspaketes gleichzeitig die Informationen im
Hinblick auf einen Block und einen damit verbundenen
redundanten Verschiebevektor verlorengehen. Man könnte somit
das System zum Uberdecken von Fehlerstellen heranziehen, das
klassisch im Fall von Inter-Fehlern verwendet wird, und das
darin besteht, die Verschiebevektoren von fehlenden Blöcken
durch geschätzte Verschiebevektoren zu ersetzen, und zwar
ausgehend von Verschiebevektoren benachbarter Blöcke.
Tatsächlich entspricht dann ein über das Übertragungssystem
geschicktes Datenpaket den Daten aus mehreren Blöcken.
-
Eine andere bevorzugte Ausführungsform der vorliegenden
Erfindung besteht darin, bei der Kodierung und der
Zusammensetzung zu Paketen jedem Block den Verschiebevektor
eines vorhergehenden oder folgenden Blockes hinzuzufügen, der
um eine bestimmte Anzahl von Blöcken verschoben ist, wobei
diese bestimmte Anzahl höher als die maximale Anzahl von
Blöcken in einem Paket gewählt ist. Geht dann ein Paket
verloren, findet sich die Information über den Verschiebevektor
der verlorenen Blöcke in einem der folgenden oder
vorhergehenden Pakete, und man kann jedem verlorenen Block
seinen exakten Verschiebevektor zuteilen, ohne daß man auf eine
Schätzung zurückgreifen muß.
-
In Figur 5 ist ein Blockdiagramm eines Systems gemäß der
vorliegenden Erfindung dargestellt. Dieses System erlaubt das
Überdecken von Inter-Fehlern nach herkömmlicher Art und
gleichzeitig das Überdecken von Intra-Fehlern gemäß der
vorliegenden Erfindung.
-
Jeder herkömmliche Dekodierer enthält ein System zum Überdecken
von Fehlstellen, der ein Modul für eine Entropiedekodierung
umfaßt, das an einem ersten Eingang 31 die Bits eines
ausgesendeten Paketes und an einem zweiten Eingang 32 eine
Information über den möglichen Verlust eines Paketes empfängt.
Dieser Dekodierer liefert an einem ersten Ausgang 33 eine
Information der Art, daß die empfangenen Daten entweder einem
Inter-Bild oder einem Intra-Bild entsprechen, an einem zweiten
Ausgang 34 Informationen entsprechend den Koeffizienten der
diskreten Kosinustransformation (DCT) und an einem dritten
Ausgang 35 Informationen entsprechend den Verschiebevektoren.
-
Üblicherweise werden im Falle des Empfanges eines Inter-Bildes
die Ausgänge 34 und 35 verwendet, im Falle des Empfanges eines
Intra-Bildes nur der Ausgang 34. Mit der vorliegenden Erfindung
wird vorgeschlagen, mit dem Ausgang 35 einen Speicher 36 nach
Art eines First-in/First-out-(FIFO)-Speichers zu verbinden, in
dern die den aufeinanderfolgenden Vektoren entsprechenden Daten
gespeichert sind. Wenn ein Signal über den Verlust eines
Paketes am Eingang 32 während des Rahmens eines Intra-Bildes
ankommt, schaltet der Dekodierer in den Inter-Modus und liefert
ein Signal 39, das einen Schalter 40 betätigt, um das
Ausgangssignal des FIFO-Speichers 36 früher als das direkte
Ausgangssignal des Vektors 35 zu liefern. Infolgedessen
verwendet man für fehlende Blöcke für das Intra-Bild anstatt
der verfügbaren, jedoch fehlerhaften Koeffizienten der DCT die
Vektorinformation, um das Bild ausgehend von einem
vorhergehenden Block wieder herzustellen. Der Pufferspeicher 36
wird, wie dieses oben angegeben wurde, verwendet, um
Verschiebevektoren eines Intra-Blockes wiederzufinden, die mit
einem vorhergehenden (oder nachfolgenden) Informationspaket
übertragen wurden.
-
Somit ist ein Vorteil der vorliegenden Erfindung, daß sie
bereits existierende Systeme zum Überdecken von Fehlern für
Inter-Bilder verwendet und diese auch im Falle von Intra-
Bildern anwenden kann. Außerdem sind die diversen Systeme für
die Kodierung der redundanten Vektoren nicht zwingend mit einer
Komplizierung des Systemes verbunden, wie vorstehend
aufgezeigt, da in jedem Falle die Einrichtungen zum Schätzen
der Verschiebevektoren existieren und während der normalen
Kodierung eines Intra-Bildes nicht verwendet werden.