DE19603808C1 - Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern - Google Patents
Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten BildernInfo
- Publication number
- DE19603808C1 DE19603808C1 DE19603808A DE19603808A DE19603808C1 DE 19603808 C1 DE19603808 C1 DE 19603808C1 DE 19603808 A DE19603808 A DE 19603808A DE 19603808 A DE19603808 A DE 19603808A DE 19603808 C1 DE19603808 C1 DE 19603808C1
- Authority
- DE
- Germany
- Prior art keywords
- macroblock
- uncoded
- image
- block
- carried out
- 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
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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Die Erfindung betrifft ein Verfahren, das im Rahmen der Bewe
gungskompensation bei blockbasierten Codierungsverfahren ein
gesetzt wird. Bei diesen Verfahren der Bildverarbeitung wird
ein Bild in Makroblöcke aufgeteilt, die eine vorgebbare An
zahl von Bildblöcken aufweist. Bei der Codierung werden die
Bildbereiche der Makroblöcke bzw. Bildblöcke üblicherweise
einer Codierungstransformation, beispielsweise einer Diskre
ten Cosinus Transformation (DCT) unterzogen. Die dadurch ge
bildeten Transformationskoeffizienten werden anschließend in
einer Quantisierungsstufe quantisiert und einem Scan Verfah
ren unterzogen, beispielsweise dem sogenannten Zig-Zag-Scan-
Verfahren oder auch dem sogenannten Alternate Scan-Verfahren.
Weiterhin wird nach dem Scan-Verfahren eine Run Length Codie
rung (RLC) durchgeführt und anschließend eine Variable Length
Codierung (VLC).
Eine in keinster Weise abschließend zu verstehende Aufzählung
von blockbasierten Codierungsverfahren ist:
- - MPEG 1, beschrieben in [1]
- - MPEG 2, beschrieben in [2],
- - H.261-Standard und
- - JPEG, beschrieben in [3].
Ein System zur Videodatenkompression mit einer Vorverarbei
tungsstufe, einem Encoder und einer Nachverarbeitungsstufe ist
z. B. aus dem Dokument US 5 367 629 bekannt.
Üblicherweise werden bei der Codierung ein es Bildes Bild
blöcke vorgesehen, die sowohl Luminanzinformation
(Luminanzblöcke) als auch Chrominanzinformation
(Chrominanzblöcke) über den codierten Bildbereich aufweisen.
Die nunmehr codierten Koeffizienten müssen zur Rekonstruktion
des jeweils codierten Bildes den zu den vorigen Codierungs
schritten inversen Verfahrensschritten unterzogen werden.
Dies bedeutet die Anwendung einer Variable Length Decodierung
(VLD) auf die codierten Koeffizienten und einer anschließen
den sogenannten Run Length Decodierung (RLD).
Nach der Durchführung eines zu dem zur Codierung verwendeten
Scan-Verfahren inversen Scan-Verfahren (15) wird eine zu der
zur Codierung verwendeten Quantisierung inverse Quantisierung
sowie eine inverse Codierungstransformation (IDCT) durchge
führt.
Um eine Einsparung benötigter Übertragungskapazität zu errei
chen, wird bei den oben genannten Verfahren das Prinzip der
Prädiktion und eine sogenannte Bewegungskompensation und Be
wegungsschätzung angewendet. Hierbei wird bei der Codierung
eines Bildes nicht immer die gesamte Bildinformation codiert,
sondern teilweise nur noch die Differenzinformation.
Bilder, deren Bildinformation komplett codiert wird, werden
als Stützbilder (I-Bilder) bezeichnet.
Zwischen solchen I-Bildern werden sogenannte Prädiktionsbil
der (P-Bilder) codiert, wobei jeweils nur die Differenzinfor
mation zu dem zeitlich vorangegangenen codierten Bild codiert
wird, welches in der Codiereinheit rekonstruiert wird.
Weiterhin werden auch sogenannte Interpolationsbilder (B-
Bilder), die bidirektional aus zeitlich vorangegangenen Bil
dern und zeitlich folgenden Bildern prädiziert werden, bei
diesen Verfahren codiert.
Das Verfahren ist in seiner Anwendung in keinster Weise auf
eine bestimmte Codierungstransformation, beispielsweise der
Diskreten Cosinus Transformation (DCT), oder auf bestimmte
spezielle Verfahren in den weiteren oberen beschriebenen Ver
fahrensschritten, beschränkt.
Bei der Codierung kommt es vor, daß ganze Makroblöcke, denen
jeweils eine Adresse zugeordnet wird, an der sich der Makkro
block innerhalb des codierten Bildes befindet, oder auch nur
einzelne Bildblöcke nicht codiert werden. Diese uncodierten
Makroblöcke (skipped macroblocks) erkennt die Decodiereinheit
üblicherweise, indem sie die Differenz der Adresse des aktu
ellen Makroblocks und dem vorangegangenen Makroblock ermit
telt. Ist diese Differenz größer als Null, so liegt eine der
Differenz entsprechende Anzahl uncodierter Makroblöcke zwi
schen dem aktuellen Makroblock und dem vorangegangenen Makro
block.
Je nach verwendetem blockbasierten Codierungsverfahren werden
die uncodierten Makroblöcke unterschiedlich behandelt.
Beispielsweise werden bei dem MPEG 1 Verfahren sowie dem
MPEG 2 Verfahren in P-Bildern den Bewegungsvektoren, die den
uncodierten Makroblöcken zugeordnet werden, der Wert Null zu
gewiesen. Bei dem H.261-Standard wird jedoch dem Bewegungs
vektor des dem uncodierten Makroblock vorangegangenen Makro
blocks der Wert Null zugewiesen und darauf aufbauend wird die
Prädiktion durchgeführt.
Bei B-Bildern wird bei dem MPEG 1 Verfahren sowie dem MPEG 2
Verfahren die Art der Prädiktion von dem vorangegangenen Ma
kroblock übernommen. Dabei wird bei dem MPEG 1 Verfahren der
sogenannte Differenzbewegungsvektor auf den Wert Null ge
setzt. Bei dem MPEG 2 Verfahren wird der Wert des Bewegungs
vektors aus dem Wert eines Parameters "predictor", der den
Bewegungsvektorwert des letzten codierten Makroblock, prädi
ziert.
Bei den bekannten Verfahren werden bei der Rekonstruktion der
Bilder, also bei der Decodierung eine Folge von Makroblöcken
der Variable Length Decodierung (VLD) zugeführt. Existieren
in der Folge keine uncodierten Makroblöcke, so wird sowohl
die inverse Quantisierung (IQ) und die inverse Codie
rungstransformation (IDCT) als auch die Bewegungskompensation
(MC) der Reihe nach verarbeitet. Weist die Folge jedoch einen
uncodierten Makroblock auf, so wird bei der Bewegungskompen
sation der uncodierte Makroblock wie codierte Makroblöcke
verarbeitet. Dies bedeutet, daß ein Null-Block zu dem Refe
renzblock hinzuaddiert wird.
Ein Nachteil in dieser Vorgehensweise ist darin zu sehen, daß
diese unnötigen Additionen unnötige Verlustleistung kostet.
Ein weiterer Nachteil liegt darin, daß diese Vorgehensweise
erheblich längere Zeit dauert als das erfindungsgemäße Ver
fahren, wie im weiteren noch beschrieben wird.
Der Erfindung liegt das Problem zugrunde, eine Anordnung und
ein Verfahren zur Codierung und Decodierung bei einem block
basierten Codierungsverfahren anzugeben, das die im vorigen
beschriebenen Nachteile des bekannten Verfahrens vermeidet.
Das Problem wird durch die Anordnungen gemäß Patentanspruch 1
und Patentanspruch 2 sowie die Verfahren gemäß Patentanspruch
3 und Patentanspruch 4 gelöst.
Bei dem Verfahren gemäß Patentanspruch 3 wird geprüft, ob der
aktuelle Makroblock codiert oder uncodiert ist. Ist er co
diert, so wird die übliche Vorgehensweise zur Rekonstruktion
des Makroblocks durchgeführt. Ist der Makroblock jedoch unco
diert, wird bin Referenzmakroblock, darunter ist der entspre
chende Makroblock des zeitlich vorangegangenen Bildes zu ver
stehen, einfach als aktueller Makroblock übernommen, indem
der Referenzmakroblock an die entsprechende Stelle des vorge
sehenen Bildspeichers kopiert wird. Dies kann parallel zu der
Bearbeitung codierter Makroblöcke erfolgen, womit eine erheb
liche Zeiteinsparung gegenüber dem bekannten Verfahren er
reicht wird.
Diese Zeiteinsparung bei der Decodierung ist von besonderer
Bedeutung, da für die Decodierung eines Bildes zur Gewährlei
stung bestimmter Echtzeitbedingungen nur eine vorgegebene
Zeit zur Verfügung steht.
Für den Fall, daß am Anfang eines Bildes einige Makroblöcke
verarbeitet werden und dann eine Reihe von Makroblöcken, die
zur Decodierung der Makroblöcke erhöhten Aufwand benötigen,
bleibt möglicherweise bei dem bekannten Verfahren, der se
quentiellen Verarbeitung alle Makroblöcke, nicht mehr genü
gend Zeit zur Decodierung der für die Bildrekonstruktion we
sentlichen Makroblöcke. Dies führt zu einem erheblichen In
formationsverlust, der durch das bekannte Verfahren verur
sacht wird. Zur Vermeidung dieses Problems wäre eine erheb
lich teurere und aufwendigere Hardware nötig, um die Echt
zeitbedingung zu gewährleisten, daß kein Informationsverlust
auftritt. Durch das neue Verfahren bzw. die neue Anordnung
wird das Problem des Timings bei der Decodierung der Bilder
entschärft.
Weiterhin werden die zusätzlichen unnötigen Additionen ver
mieden und eine erhebliche Einsparung benötigter Verlustlei
stung zur Durchführung des Verfahrens erreicht.
Weiterhin wird die Dimensionierung der Decodiereinheit bzw.
der Codiereinheit wesentlich verbessert. Die Decodiereinheit
bzw. die Codiereinheit kann beispielsweise auf die Verarbei
tung einer Makroblockzeile dimensioniert werden oder auch auf
die Verarbeitung eines ganzen Bildes oder eines Halbbildes.
Eine Dimensionierung der Decodiereinheit bzw. der Codierein
heit auf die Verarbeitung eines ganzen Bildes hat einen ge
ringeren Designaufwand für die Decodiereinheit bzw. die Co
diereinheit zur Folge. Dadurch werden auch die Kosten für die
zur Durchführung des Verfahrens benötigte Decodiereinheit
bzw. Codiereinheit reduziert. Dies wird erreicht durch die
durch das erfindungsgemäße Verfahren erzielte Zeiteinsparung
und die dadurch geringeren Anforderungen, die an die Hardware
der Decodiereinheit bzw. der Codiereinheit gestellt werden.
Diese Vorteile gelten ebenso für das Verfahren gemäß Patent
anspruch 4.
Hierbei wird wiederum geprüft, ob der aktuelle Makroblock co
diert oder uncodiert ist. Ist er codiert, so wird die übliche
Vorgehensweise zur Rekonstruktion des Makroblocks durchge
führt. Ist der Makroblock jedoch uncodiert, so wird der Ma
kroblock als uncodiert gekennzeichnet. Die eigentliche Verar
beitung, also das Kopieren des Referenzblocks in den
Bildspeicher erfolgt erst nach der Bearbeitung einer vorgeb
baren Anzahl von Makroblöcken.
Für die Anordnungen gemäß Patentanspruch 1 und gemäß Patent
anspruch 2 gelten ebenfalls die oben beschriebenen Vorteile
der Verfahren.
Vorteilhafte Weiterbildungen ergeben sich aus den abhängigen
Ansprüchen.
Weitere Zeiteinsparung sowie Einsparung benötigter Verlust
leistung wird durch die Weiterbildung des Verfahrens er
reicht, bei der auch innerhalb jedes Makroblocks für jeden
Bildblock des Makroblocks geprüft wird, ob der Bildblock co
diert oder uncodiert ist. Für einen uncodierten Bildblock
wird eine Kopie des Referenzbildblocks des uncodierten Bild
blocks in dem Bildspeicher abgelegt.
Zwei Ausführungsbeispiele darstellende Zeichnungen werden im
folgenden näher erläutert.
Es zeigen
Fig. 1 eine Skizze, in der das bekannte Verfahren des
Standes der Technik dargestellt ist;
Fig. 2 eine Skizze, in der das Prinzip der erfindungsge
mäßen Verfahren beschrieben ist;
Fig. 3 eine Anordnung, die zur Durchführung der Verfahren
eingesetzt wird;
Fig. 4 eine Skizze, in der detailliert Verfahrensschritte
beschrieben sind, die in dem Kopiermodul durch
geführt werden;
Fig. 5 eine Skizze, in der eine Anordnung beschrieben ist,
die zur Durchführung des Verfahrens gemäß Patentan
spruch 2 verwendet wird;
Fig. 6 ein Ablaufdiagramm, in dem die einzelnen Verfah
rensschritte des Verfahrens gemäß Patentanspruch 1
dargestellt sind;
Fig. 7 ein Ablaufdiagramm, in dem die einzelnen Verfah
rensschritte des Verfahrens gemäß Patentanspruch 2
dargestellt sind;
Fig. 8 ein Ablaufdiagramm, in dem die Weiterbildung der
Verfahren beschrieben ist, bei dem zusätzlich
geprüft wird, ob die Bildblöcke des aktuellen
Makroblocks codiert oder uncodiert sind;
Fig. 9 eine Skizze, in der zwei Rechner dargestellt sind,
wobei in einem ersten Rechner Bilder codiert werden
und zu einem zweiten Rechner übertragen werden, wo
sie decodiert werden.
Anhand der Fig. 1 bis 9 werden die erfindungsgemäßen Ver
fahren weiter erläutert.
In Fig. 1 ist anhand einer Skizze das bekannte Verfahren
dargestellt.
Hierbei ist ein zu codierendes bzw. zu decodierendes Bild
eingeteilt in Makroblöcke MB, die eine vorgebbare Anzahl
Bildblöcke BB aufweisen.
Die erfindungsgemäßen Verfahren werden notwendigerweise von
einem Rechner oder einer speziellen Hardware durchgeführt,
mit der eine Codiereinheit bzw. eine Decodiereinheit reali
siert werden.
In den zwei Ausführungsbeispielen werden zwei Arten von Bild
blöcken unterschieden, Luminanzbildblöcke Yn m und Chrominanz
bildblöcke Cr m, Cb m. Hierbei bezeichnet eine Makroblockkenn
zeichnung m, die eine natürliche Zahl ist, jeden Makroblock
MB einer Folge von Makroblöcken MB eindeutig. Es werden ab
hängig von dem verwendeten blockbasierten Verfahren unter
schiedliche Formate verwendet. Eine natürliche Zahl n kenn
zeichnet jeden Luminanzbildblock Yn m innerhalb eines Makro
blocks eindeutig.
Dies bedeutet eine unterschiedliche Aufteilung von Bildblöc
ken BB innerhalb eines Makroblocks MB.
In den Ausführungsbeispielen wird zur einfacheren Darstellung
von einer Folge von drei Makroblöcken MB ausgegangen, einem
ersten Makroblock, einem zweiten Makroblock und einem dritten
Makroblock.
Dies schränkt jedoch die Allgemeingültigkeit in keinster
Weise ein.
In einer Codiereinheit werden Bildbereiche der zu codierenden
Bilder zu Bildblöcken und mehrere Bildblöcke zu Makroblöcken
zusammengefaßt. Die Bildblöcke weisen mehrere Bildpunkte des
Bildes auf, deren Information, beispielsweise Luminanzinfor
mation oder Farbinformation (Chrominanzinformation), codiert
wird. Ein Bildblock weist beispielsweise eine Größe von 8 × 8
oder 16×16 Bildpunkten auf.
Auf die einzelnen Makroblöcke MB wird eine Codierungstrans
formation DCT angewendet, beispielsweise eine Diskrete Cosi
nus Transformation (DCT). Die daraus resultierenden Transfor
mationskoeffizienten werden in einer Quantisierungsstufe Q
quantisiert. Die quantisierten Transformationskoeffizienten
werden einem Scan-Verfahren SV unterzogen, beispielsweise dem
sogenannten Zig-Zag-Scan-Verfahren oder dem sogenannten Al
ternate Scan-Verfahren. Anschließend wird auf die gescannten
Transformationskoeffizienten eine Run Length Codierung und
eine Variable Length Codierung durchgeführt.
Die codierten Transformationskoeffizienten und somit die co
dierten Bildblöcke BB bzw. Makroblöcke MB werden zu einer De
codiereinheit über einen Kanal übertragen, wo die Makroblöcke
decodiert werden und das codierte Bild rekonstruiert wird. Es
ist aber auch eine Rekonstruktion in der Codiereinheit selbst
vorgesehen, da nur Differenzinformation codiert wird. Hierzu
ist es notwendig, auch in der Codiereinheit das codierte Bild
zu rekonstruieren.
Hieraus wird deutlich, daß die erfindungsgemäßen Verfahren
sowohl in der Codiereinheit als auch in der Decodiereinheit
eingesetzt werden kann.
Es werden bei der Decodierung die Luminanzbildblöcke Yn m so
wie die Chrominanzbildblöcke Cr m, Cb m der Decodiereinheit
zugeführt. In der Decodiereinheit werden nun Verfahrensschritte
durchgeführt, die zu den Verfahrensschritten der Codierung
invers sind.
Es wird bei der Decodierung eine Variable Length Decodierung
VLD, eine Run Length Decodierung RLD, ein inverses Scan-
Verfahren IS, eine inverse Quantisierung IQ und eine inverse
Codierungstransformation IDCT durchgeführt. Weiterhin wird
zur Rekonstruktion des codierten Bildes eine Bewegungskompen
sation MC unter Verwendung eines Bildspeichers FM durchge
führt.
Bei der Rekonstruktion der codierten Bilder in einem Rück
wärtspfad in der Codiereinheit werden ebenfalls die im vori
gen beschriebenen Verfahrensschritte zur Decodierung durchge
führt, bis auf die Variable Length Decodierung VLD und die
Run Length Decodierung RLD.
Die Luminanzbildblöcke Yn m sowie die Chrominanzbildblöcke
Cr m, Cb m werden bei dem bekannten Verfahren sequentiell
bearbeitet. Dies hat zur Folge, daß für den Fall, daß die Folge von
Makroblöcken MB einen uncodierten Makroblock UMB oder auch
einen uncodierten Bildblock UBB aufweist, die codierten Ma
kroblöcke in der inversen Codierungstransformation IDCT be
reits bearbeitet werden, obwohl bei der Bewegungskompensation
MC zunächst noch die uncodierten Makroblöcke UMB bearbeitet
werden. Diese Beschränkung bedeutet, daß die inverse Codie
rungstransformation IDCT erst mit der Verarbeitung eines dem
uncodierten Makroblock UMB folgenden codierten Makroblocks
begonnen wird, wenn bei der Bewegungskompensation MC die je
weils aktuellen Daten aus der inversen Codierungstransforma
tion IDCT auch verarbeitet werden können. Infolgedessen wird
bei Auftreten eines uncodierten Makroblocks UMB oder einem
uncodierten Bildblock UBB die inverse Codierungstransformati
on IDCT unterbrochen, damit die Bewegungskompensation MC für
den uncodierten Makroblock UMB oder den uncodierten Bildblock
UBB durchgeführt werden kann.
In jedem senkrechten Zeitschlitz ti wird jeweils ein Bild
block BB einem in Fig. 1 dargestellten Mittel zur Durchfüh
rung der im vorigen beschriebenen Verfahrensschritte zuge
führt sowie ebenso ein Bildblock BB abgeführt. Während jedes
Zeitschlitzes ti wird jeweils in diesem Ausführungsbeispiel
in der Einheit zur Durchführung der Variable Length Decodie
rung maximal ein Bildblock BB, in der Einheit zur Durchfüh
rung der inversen Quantisierung IQ und inversen Codie
rungstransformation IDCT zwei Bildblöcke BB und in der Ein
heit zur Durchführung der Bewegungskompensation MC sechs
Bildblöcke BB verarbeitet.
Die Verarbeitung ist jedoch abhängig von der Implementierung,
die jedem Fachmann geläufig ist.
In dem Ausführungsbeispiel wird angenommen, daß der zweite
Makroblock uncodiert UMB ist und daß ein zweiter Luminanz
block Y₁³ ein uncodierter Bildblock UBB ist.
Wartezeitschritte Wti sind in Fig. 1 für in der Einheit zur
Durchführung der inversen Quantisierung IQ und inversen Co
dierungstransformation IDCT dargestellt.
In Fig. 2 ist das Lösungsprinzip der erfindungsgemäßen Ver
fahren skizziert. Hierbei ist ein zusätzliches Kopiermodul
KM vorgesehen. Mit Hilfe des Kopiermoduls KM werden bei unco
dierten Makroblöcken UMB bzw. uncodierten Bildblöcken UBB
einfach Referenzmakroblöcke RMB bzw. Referenzbildblöcke RBB
aus dem zeitlich vorangegangenen Bild, die in dem Bildspei
cher FM gespeichert sind, kopiert. Durch dieses Kopieren und
somit das Weglassen der expliziten Berechnung der "neuen"
Bildblöcke BB, das parallel zur Decodierung codierter Makro
blöcke MB bzw. Bildblöcke BB durchgeführt wird, werden die
Wartezeitschritte Wti, die in Fig. 1 dargestellt sind, ver
mieden.
In Fig. 3 ist dargestellt, anhand welcher Information über
prüft wird, ob ein Makroblock MB codiert oder uncodiert ist
sowie anhand welcher Information die Bildblöcke BB rekonstru
iert werden. Diese Parameter P sind für jeden Bildblock BB
bzw. Makroblock MB enthalten und werden mit diesem zusammen
übertragen. Somit können diese Parameter P direkt bei der De
codierung verwertet werden. Die Parameter P sind beispiels
weise ein sogenannter Coded_Block_Pattern CBP, eine Makro
blockadresse ADR, ein Bildtyp TYP, sowie Bewegungsinformation
MI. Mit dem Coded_Block_Pattern CBP wird angegeben ob der je
weilige Bildblock BB bzw. Makroblock MB codiert oder unco
diert ist. Die Makroblockadresse ADR gibt die Adresse des Ma
kroblocks MB innerhalb des Bildes an. Mit dem Bildtyp TYP
wird angegeben, ob es sich bei dem codierten Bild um ein I-
Bild, ein P-Bild oder ein B-Bild handelt.
Nachdem die Makroblöcke MB also empfangen wurden (bei Verwen
dung der Verfahren in der Decodiereinheit) bzw. direkt nach
dem sie der Variable Length Codierung VLC unterzogen wurden
600, werden die Makroblöcke MB der Variable Length Decodie
rung VLD zugeführt 601 (vgl. Fig. 6).
Anschließend wird beispielsweise anhand einer Adressendiffe
renz, die gebildet wird zwischen den Makroblockadressen zwei
er aufeinanderfolgenden codierten Makroblöcken MB oder auch
anhand des Coded_Block_Pattern CBP oder anhand eines anderen
Parameters P mit ähnlichem Informationsgehalt, je nach verwen
deten Verfahren, überprüft, ob es sich bei dem Makroblock MB
um einen uncodierten Makroblock UMB oder um einen codierten
Makroblock handelt 602.
Ist der Makroblock MB codiert, so wird der Makroblock MB den
im vorigen beschriebenen Verfahrensschritten zur Decodierung
des Makroblocks MB unterzogen: der Run Length Decodierung RLD
603, dem inversen Scan-Verfahren IS 604, der inversen Quanti
sierung IQ 605, der inversen Codierungstransformation IDCT
606 und der Bewegungskompensation MC 607.
Ist der Makroblock MB jedoch uncodiert, so wird die benötigte
Adresseninformation des Referenzmakroblocks RMB des vorange
gangenen Bildes dem Kopiermodul KM zugeführt 608, in dem der
Referenzmakroblock RMB aus dem Bildspeicher FM kopiert wird
wiederum in den Bildspeicher RMB, diesmal jedoch als der ak
tuelle Makroblock MB. Dies kann parallel zu der Bearbeitung
der codierten Makroblöcke erfolgen.
Anhand der decodierten Makroblöcke MB und der kopierten Ma
kroblöcke wird in einem letzten Schritt 609 das zu decodie
rende Bild rekonstruiert.
Diese im vorigen beschriebene Vorgehensweise ist in Fig. 4
für das MPEG 1 Verfahrens dargestellt.
Bei dem MPEG 1 Verfahren ist jedem Makroblock MB ein Bewe
gungsvektor MV zugewiesen, der in dem Kopf (Header) des je
weiligen Makroblocks MB angegeben ist.
Einem uncodierten Makroblock UMB wird dem Bewegungsvektor MV
der Wert Null zugewiesen. Es werden daher für den uncodierten
Makroblock UMB keine Codierungstransformationskoeffizienten
gebildet und übertragen. Die Anzahl direkt aufeinanderfolgen
der uncodierter Makroblöcke UMB wird durch die Differenz in
den Adressen zweier aufeinanderfolgender codierter Makroblöcke
festgelegt.
In einer Kopfauswertung HA wird der Bewegungsvektor MV für
den aktuellen Makroblock MB ermittelt. Dies erfolgt auf eine
für den Fachmann bekannte Weise.
Der Wert des Bewegungsvektors MV wird beispielsweise in einem
Vektor-FIFO-Speicher MVS abgespeichert. Dem Wert des Bewe
gungsvektors MV wird in einem Adreß-FIFO-Speicher AS die
Adresse des Makroblocks MB gespeichert, die innerhalb des
Bildes die Nummer des aktuellen Makroblocks MB angibt. Die
Adresse des jeweiligen Makroblocks MB und der Wert des Bewe
gungsvektors MV werden eindeutig einander zugeordnet.
Anhand einer Adressenliste AL der Makroblöcke MB wird in ei
nem Adressen-Generator AG die physikalische Adresse des Ma
kroblocks MB in dem Bildspeicher FM gebildet, abhängig vom
Bild-Typ, also abhängig davon, ob es sich bei dem zu decodie
renden Bild um ein I-Bild, ein P-Bild oder ein B-Bild handelt.
Handelt es sich um ein I-Bild, so ermittelt der Adressen-
Generator AG die Adresse des Makroblocks MB in dem neuen
(aktuellen) Bild, da bei diesem Bild-Typ die gesamte Bildin
formation codiert wurde.
Handelt es sich um ein P-Bild, so ermittelt der Adressen-
Generator AG die Adresse des Makroblocks MB des Referenzma
kroblocks RMB in dem zeitlich vorangegangenen Bild, da bei
diesem Bild-Typ die Differenzinformation übertragen wird.
Handelt es sich um ein B-Bild, so wird in einer Zwischenstufe
ZS abhängig von den Werten der Bewegungsvektoren MV der ent
sprechenden Referenzblöcke RMB zweier aufeinanderfolgender I-
Bilder bzw. P-Bilder, die zur Rekonstruktion des B-Bildes
verwendet werden, der Bewegungsvektor des Makroblocks MB des
B-Bildes durch Interpolation bestimmt. Weiterhin wird die Pi
xelinformation (Luminanz und Chrominanz des jeweiligen Pi
xels) ebenso interpoliert.
Das detaillierte Vorgehen hierbei ist wiederum abhängig von
dem verwendeten Codierungsverfahren und ist dem Fachmann aus
dem jeweiligen bekannten Codierungsverfahren bekannt.
Für die Fälle, daß entweder ein P-Bild oder ein B-Bild deco
diert wird, werden die Referenzmakroblöcke RMB, die unter der
ermittelten Adresse in dem Bildspeicher FM gespeichert sind,
in einen Zwischenspeicher kopiert und eventuell einer Halb-
Pixel-Filterung unterzogen. Anschließend werden die nun er
mittelten Daten des aktuellen Makroblocks MB in dem Bildspei
cher FM gespeichert an der Adresse des aktuellen Makroblocks
MB.
Dies ist für ein I-Bild nicht notwendig, da in diesem Fall
die von dem Adressen-Generator AG ermittelte Adresse schon
die Adresse des aktuellen Makroblocks MB darstellt.
Ein zweites Ausführungsbeispiel ist in den Fig. 5 und 7
dargestellt.
Hierbei werden die Kopieraktionen nicht parallel zur Decodie
rung der codierten Makroblöcke MB durchgeführt. Die uncodier
ten Makroblöcke UMB werden markiert 701 und Rekonstruktions
daten der uncodierten Makroblöcke UMB werden in einem Rekon
struktionsspeicher RS gespeichert.
Hierbei wird der Wert des Bewegungsvektors MV beispielsweise
in dem Vektor-FIFO-Speicher MVS abgespeichert. Dies erfolgt
jedoch nur bei zu decodierenden B-Bildern. Dem Wert des Bewe
gungsvektors MV wird in einem Adreß-FIFO-Speicher AS die
Adresse des Makroblocks MB gespeichert, die innerhalb des
Bildes die Nummer des aktuellen Makroblocks MB angibt. Die
Adresse des jeweiligen Makroblocks MB und der Wert des Bewe
gungsvektors MV werden bei B-Bildern eindeutig einander zuge
ordnet.
Erst nachdem die codierten Makroblöcke MB decodiert wurden,
werden die als nicht codiert gekennzeichneten Makroblöcke UMB
bearbeitet. Die Bearbeitung selbst erfolgt wiederum in dem
Kopiermodul KM 608 auf die im vorigen beschriebene Weise.
Der der seriellen Verarbeitung kann das Kopieren der Refe
renzmakroblöcke RMB auch in dem Mittel zur Bewegungsschätzung
MC durchgeführt werden.
Die restlichen Verfahrensschritte entsprechen den Schritten
des ersten Ausführungsbeispiels.
Mischformen zwischen diesen zwei "Extremfällen" der paralle
len Bearbeitung und der streng getrennten Bearbeitung der co
dierten Makroblöcke MB und der uncodierten Makroblöcke UMB
sind in Varianten des erfindungsgemäßen Verfahrens vorgese
hen.
Eine Weiterbildung der Verfahren ist in Fig. 8 am Beispiel
des ersten Ausführungsbeipiels dargestellt. Dabei wird in ei
nem weiteren Schritt für codierte Makroblöcke MB überprüft,
ob einzelne Bildblöcke des aktuellen Makroblocks MB nicht co
diert sind 801. Existieren uncodierte Bildblöcke UBB, so wer
den die Bildblöcke für die uncodierten Bildblöcke UBB ebenso
wie im vorigen die uncodierten Makroblöcke UMB in dem Kopier
modul KM aus dem entsprechenden Referenzbildblock RBB des
vorangegangenen Bildes gebildet.
In Fig. 9 ist eine Anordnung dargestellt, in der die Verfah
ren eingesetzt werden. In einem ersten Rechner R1, der Co
diereinheit, wird ein Bild auf die im vorigen beschriebene
Weise codiert. Das Bild wird beispielsweise von einer Kamera
K aufgenommen.
Der erste Rechner R1 ist mit einem zweiten Rechner R2 gekop
pelt. Der erste Rechner R1 überträgt das codierte Bild an den
zweiten Rechner R2, wo das Bild decodiert wird. Das decodier
te Bild wird nun beispielsweise auf einem Bildschirm BS2 des
zweiten Rechners R2 einem zweiten Betrachter B2 dargestellt.
Es ist ebenso vorgesehen, daß das codierte Bild nicht nur
übertragene sondern auch in dem ersten Rechner R1 decodiert
wird, was bei den blockbasierten Verfahren ohnehin nötig ist
zur Ermittlung der eigentlich übertragenen Differenzinforma
tion, und auf einem Bildschirm BS1 des ersten Rechners R1 ei
nem ersten Betrachter dargestellt wird.
In diesem Dokument wurden folgende Veröffentlichungen zi
tiert:
[1] D. Le Gall, MPEG:A Video Compression Standard for Multime dia Applications, Communications of the ACM, Vol. 34, No. 4, S. 47-58, April 1991, 1991);
[2] Ming Liou, Overview of the px64 kbit/s Video Coding Standard, Communications of the ACM, Vol. 34, No. 4, S. 60-63, April 1991, 1991;
[3] G. K. Wallace, The JPEG Still Picture Compression Standard, Communications of the ACM, Vol. 34, No. 4, S. 31-44, April 1991, 1991.
[1] D. Le Gall, MPEG:A Video Compression Standard for Multime dia Applications, Communications of the ACM, Vol. 34, No. 4, S. 47-58, April 1991, 1991);
[2] Ming Liou, Overview of the px64 kbit/s Video Coding Standard, Communications of the ACM, Vol. 34, No. 4, S. 60-63, April 1991, 1991;
[3] G. K. Wallace, The JPEG Still Picture Compression Standard, Communications of the ACM, Vol. 34, No. 4, S. 31-44, April 1991, 1991.
Claims (5)
1. Decodierer zur Decodierung von mit einem blockbasierten
Codierungsverfahren codierten Bildern,
- - bei dem ein erstes Mittel vorgesehen ist zur Durchführung einer Variable Length Decodierung (VLD) eines Makroblocks (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bild blöcken (BB) aufweist,
- - bei dem ein Steuermittel (HA) vorgesehen ist zur Prüfung, ob der Makroblock (MB) uncodiert (UMB) ist,
- - bei dem ein Kopiermodul (KM) vorgesehen ist,
- - bei dem ein zweites Mittel vorgesehen ist zur Durchführung einer Run Length Decodierung (RLD),
- - bei dem ein drittes Mittel vorgesehen ist zur Durchführung eines inversen Scan-Verfahrens (IS),
- - bei dem ein viertes Mittel vorgesehen ist zur Durchführung einer inversen Quantisierung (IQ),
- - bei dem ein fünftes Mittel vorgesehen ist zur Durchführung einer inversen Codierungstransformation (IDCT),
- - bei dem ein sechstes Mittel vorgesehen ist zur Durchführung einer Bewegungskompensation (MC), und
- - bei dem ein Bildspeicher (FM) vorgesehen ist.
2. Codierer zur Decodierung von mit einem blockbasierten Co
dierungsverfahren codierten Bildern,
- - bei dem eine Transformationseinheit vorgesehen ist zur Durchführung einer Codierungstransformation (DCT),
- - bei dem eine Quantisierungseinheit vorgesehen ist zur Durchführung einer Quantisierung (Q),
- - bei dem eine Scaneinheit vorgesehen ist zur Durchführung eines Scan-Verfahrens (SV),
- - bei dem ein Steuermittel (HA) vorgesehen ist zur Prüfung, ob der Makroblock (MB) uncodiert (UMB) ist,
- - bei dem ein Kopiermodul (KM) vorgesehen ist,
- - bei dem ein Mittel vorgesehen ist zur Durchführung eines inversen Scan-Verfahrens (IS),
- - bei dem ein Mittel vorgesehen ist zur Durchführung einer inversen Quantisierung (IQ),
- - bei dem ein Mittel vorgesehen ist zur Durchführung einer inversen Codierungstransformation (IDCT),
- - bei dem ein Mittel vorgesehen ist zur Durchführung einer Bewegungskompensation (MC), und
- - bei dem ein Bildspeicher (FM) vorgesehen ist.
3. Verfahren zur Decodierung von mit einem blockbasierten Co
dierungsverfahren codierten Bildern,
- - bei dem für einen Makroblock (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bildblöcken (BB) aufweist, eine Variable Length Decodierung durchgeführt (VLD) (601) wird,
- - bei dem geprüft wird, ob der Makroblock (MB) uncodiert (SMB) ist (602)
- - bei dem für den Fall, daß der Makroblock (MB) codiert ist,
folgende Schritte vorgesehen werden:
- - für den Makroblock (MB) wird eine Run Length Decodierung (RLD) durchgeführt (603),
- - für den Makroblock (MB) wird ein inverses Scan-Verfahren (IS) durchgeführt (604),
- - für den Makroblock (MB) wird eine inverse Quantisierung (IQ) durchgeführt (605),
- - für den Makroblock (MB) wird eine inverse Codierungstrans formation (IDCT) durchgeführt (606),
- - für den Makroblock (MB) wird eine Bewegungskompensation (MC) durchgeführt (607),
- - bei dem der Makroblock (MB) gespeichert wird, und
- - bei dem für den Fall, daß der Makroblock (MB) uncodiert ist, eine Kopie eines Referenzmakroblocks (RM) des uncodier ten Makroblocks (MB) in einem Bildspeicher (FM) gespeichert wird (608), und
- - bei dem der decodierte Makroblock (MB) oder die Kopie des Referenzmakroblocks (RM) einen rekonstruierten Makroblock (RMB) darstellen (609).
4. Verfahren zur Decodierung von mit einem blockbasierten Co
dierungsverfahren codierten Bildern,
- - bei dem für einen Makroblock (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bildblöcken (BB) aufweist, eine Variable Length Decodierung durchgeführt (VLD) (601) wird,
- - bei dem geprüft wird, ob der Makroblock (MB) uncodiert (SMB) ist (602),
- - bei dem für den Fall, daß der Makroblock (MB) codiert ist,
folgende Schritte vorgesehen werden:
- - für den Makroblock (MB) wird eine Run Length Decodierung (RLD) durchgeführt (603),
- - für den Makroblock (MB) wird ein inverses Scan-Verfahren (IS) durchgeführt (604),
- - für den Makroblock (MB) wird eine inverse Quantisierung (IQ) durchgeführt (605),
- - für den Makroblock (MB) wird eine inverse Codierungstrans formation (IDCT) durchgeführt (606),
- - für den Makroblock (MB) wird eine Bewegungskompensation (MC) durchgeführt (607),
- - bei dem der Makroblock (MB) gespeichert wird, und
- - bei dem für den Fall, daß der Makroblock (MB) uncodiert ist, der Makroblock (MB) als uncodiert gekennzeichnet wird (701) f
- - bei dem nach der Decodierung einer vorgebbaren Anzahl von Makroblöcken (MB) für die als uncodiert gekennzeichneten Ma kroblöcke, (MB) jeweils eine Kopie eines Referenzmakroblocks (RM) des jeweiligen uncodierten Makroblocks (MB) in einem Bildspeicher (FM) gespeichert wird (608), und
- - bei dem der decodierte Makroblock (MB) oder die Kopie des Referenzmakroblocks (RM) einen rekonstruierten Makroblock (RMB) darstellen (609).
5. Verfahren nach Anspruch 3 oder 4,
- - bei dem für jeden Bildblock (BB) des Makroblocks (MB) ge prüft wird, ob ein Bildblock (BB) uncodiert ist, und
- - bei dem für den Fall, daß der Bildblock (BB) uncodiert ist, eine Kopie eines Referenzbildblocks (RB) des uncodierten Bildblocks (BB) in dem Bildspeicher (FM) gespeichert wird.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19603808A DE19603808C1 (de) | 1996-02-02 | 1996-02-02 | Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern |
PCT/DE1996/002464 WO1997028651A1 (de) | 1996-02-02 | 1996-12-19 | Anordnung und verfahren zur codierung und decodierung von mit einem blockbasierten codierungsverfahren codierten bildern |
TW086100069A TW346610B (en) | 1996-02-02 | 1997-01-06 | Arrangement and method for coding and decoding pictures which have been coded using a block-based coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19603808A DE19603808C1 (de) | 1996-02-02 | 1996-02-02 | Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19603808C1 true DE19603808C1 (de) | 1997-04-17 |
Family
ID=7784366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19603808A Expired - Fee Related DE19603808C1 (de) | 1996-02-02 | 1996-02-02 | Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE19603808C1 (de) |
TW (1) | TW346610B (de) |
WO (1) | WO1997028651A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1306823C (zh) * | 2004-07-30 | 2007-03-21 | 联合信源数字音视频技术(北京)有限公司 | 一种并行处理行程解码、反扫描和反量化的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367629A (en) * | 1992-12-18 | 1994-11-22 | Sharevision Technology, Inc. | Digital video compression system utilizing vector adaptive transform |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2599577B1 (fr) * | 1986-05-29 | 1988-08-05 | Guichard Jacques | Procede de codage par transformation pour la transmission de signaux d'image. |
EP0290085B1 (de) * | 1987-05-06 | 1996-03-20 | Philips Patentverwaltung GmbH | System zur Übertragung von Videobildern |
DE69133177T2 (de) * | 1990-03-16 | 2003-04-17 | Fujitsu Ltd | Bilddatenbearbeitungssystem |
EP0469855B1 (de) * | 1990-07-31 | 1999-12-01 | Fujitsu Limited | Verfahren und Gerät zur Bilddatenverarbeitung |
US5455629A (en) * | 1991-02-27 | 1995-10-03 | Rca Thomson Licensing Corporation | Apparatus for concealing errors in a digital video processing system |
JPH05268482A (ja) * | 1991-10-15 | 1993-10-15 | Internatl Business Mach Corp <Ibm> | 画像情報を圧縮解除する方法およびその装置 |
JPH06153180A (ja) * | 1992-09-16 | 1994-05-31 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
ATE204691T1 (de) * | 1993-03-24 | 2001-09-15 | Sony Corp | Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen |
US5442400A (en) * | 1993-04-29 | 1995-08-15 | Rca Thomson Licensing Corporation | Error concealment apparatus for MPEG-like video data |
-
1996
- 1996-02-02 DE DE19603808A patent/DE19603808C1/de not_active Expired - Fee Related
- 1996-12-19 WO PCT/DE1996/002464 patent/WO1997028651A1/de active Application Filing
-
1997
- 1997-01-06 TW TW086100069A patent/TW346610B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367629A (en) * | 1992-12-18 | 1994-11-22 | Sharevision Technology, Inc. | Digital video compression system utilizing vector adaptive transform |
Non-Patent Citations (1)
Title |
---|
Communications of the ACM, Vol. 34, No. 4, S. 31-44, 47-58, 60-63, April 1991 * |
Also Published As
Publication number | Publication date |
---|---|
TW346610B (en) | 1998-12-01 |
WO1997028651A1 (de) | 1997-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60220106T2 (de) | Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung | |
DE69920429T2 (de) | Bewegungsschätzungssystem und -verfahren | |
DE69031045T2 (de) | Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals | |
DE69738264T2 (de) | Videokodierungs- und Videodekodierungsvorrichtung | |
DE69830979T2 (de) | Verfahren und vorrichtung zur videocodierung mit variabler bitrate | |
DE69824554T2 (de) | Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung | |
DE19704439C2 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien | |
DE19541457C1 (de) | Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz | |
DE60029828T2 (de) | Verfahren und vorrichtung zur dekodierung von videosignalen mittels eines multiprozessorsystems | |
EP0956539B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
DE102016125604A1 (de) | Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung | |
EP0776574A1 (de) | Verfahren zur decodierung komprimierter video-daten mit reduziertem speicherbedarf | |
EP0956703B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
EP0836785B1 (de) | Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf | |
DE19603808C1 (de) | Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern | |
DE19524872C1 (de) | Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms | |
EP0821531A2 (de) | Codierung und Decodierung von Trickfilmen | |
EP1110407B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors | |
DE102005051091A1 (de) | Verfahren und Vorrichtungen zur Bestimmung und Rekonstruktion eines prädizierten Bildbereichs | |
EP0981910B1 (de) | Verfahren und vorrichtung zur codierung eines digitalisierten bildes | |
WO2001080569A1 (de) | Verfahren und vorrichtung zum speichern und bearbeiten von bildinformationen zeitlich aufeinanderfolgender bilder | |
EP0981909B1 (de) | Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes | |
WO2001049038A1 (de) | Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes | |
EP1121809B1 (de) | Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes | |
DE10007171A1 (de) | Verfahren und Anordnung zur Codierung bzw. zur Codierung und Decodierung einer Zahlenfolge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |