PatentDe  


Dokumentenidentifikation DE60220047T2 10.01.2008
EP-Veröffentlichungsnummer 0001396154
Titel VERFAHREN UND EINRICHTUNG ZUM VERBERGEN VON FEHLERN
Anmelder Koninklijke Philips Electronics N.V., Eindhoven, NL
Erfinder VALENTE, Stephane E., NL-5656 AA Eindhoven, NL
Vertreter Volmer, G., Dipl.-Ing., Pat.-Anw., 52066 Aachen
DE-Aktenzeichen 60220047
Vertragsstaaten AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LI, LU, MC, NL, PT, SE, TR
Sprache des Dokument EN
EP-Anmeldetag 28.05.2002
EP-Aktenzeichen 027330471
WO-Anmeldetag 28.05.2002
PCT-Aktenzeichen PCT/IB02/01887
WO-Veröffentlichungsnummer 2002098139
WO-Veröffentlichungsdatum 05.12.2002
EP-Offenlegungsdatum 10.03.2004
EP date of grant 09.05.2007
Veröffentlichungstag im Patentblatt 10.01.2008
IPC-Hauptklasse H04N 7/68(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren zum Maskieren von Fehlern in einem Bildsignal, das in einer Makroblock-komprimierten Form übertragen wird, wobei jeder Makroblock Pixelzeilen und -spalten umfasst, das Verfahren mindestens die Schritte umfasst des:

  • a) Decodierens des übertragenen Bildsignals;
  • b) Erkennens eines fehlerhaften Makroblocks;
  • c) Klassifizierens des fehlerhaften Makroblocks, um eine Klasse zu erhalten, welcher der fehlerhafte Makroblock angehört;
  • d) Korrigierens des fehlerhaften Makroblocks seiner Klasse entsprechend.

Die vorliegende Erfindung betrifft auch eine entsprechende Vorrichtung zum Ausführen solch eines Maskierungsverfahrens.

Die vorliegende Erfindung ist besonders relevant für das Korrigieren von MPEG-komprimierten Videosignalen.

STAND DER TECHNIK

Eines der Ziele einer Videosignalkomprimierung ist eine Übertragung durch Netze wie z.B. Funkkanäle oder das Internet. Übertragungsfehler können der optischen Qualität eines decodierten Stroms schaden, und deshalb sind leistungsfähige Fehlermaskierungsverfahren erforderlich. Eine Fehlermaskierung kann darin bestehen, fehlende Daten aus einer räumlichen Redundanz zu interpolieren, die im decodierten Strom gefunden wird, das heisst, einen Makroblock aus einigen Pixeln um diesen herum zu interpolieren. Mehrere räumliche Maskierungsalgorithmen können vorhanden sein, die verschiedene Eigenschaften aufweisen. Wenn in einem Decoder verschiedene Maskierungsalgorithmen verfügbar sind, scheint es angebracht zu sein, einen Algorithmus zu haben, der in der Lage ist, die Kanteninformation zu bewahren, und einen anderen, der auf die Wiederherstellung von glatten Variationen spezialisiert ist. Das Europäische Patent EP 0782347 beschreibt ein Verfahren zum Klassifizieren eines fehlerhaften Makroblocks in eine monotone Klasse, eine Kantenklasse oder eine Texturklasse, und zum Korrigieren des fehlerhaften Makroblocks solch einer Klassifikation entsprechend. Die Klassifizierung berücksichtigt eine vordefinierte Zahl von gültigen umgebenden Makroblöcken, d.h. (von Makroblöcken), in denen keine Fehler enthalten sind. Sie umfasst:

  • – Das Klassifizieren jedes der gültigen umgebenden Makroblöcke in eine monotone Klasse, einen Kantenklasse oder eine Texturklasse, wobei die monotone Klasse einem Makroblock entspricht, in dem keine Kante enthalten ist, die Kantenklasse einen Makroblock entspricht, in dem eine Kante enthalten ist, und die Texturklasse einem Makroblock entspricht, in dem mehr als eine Kante enthalten ist;
  • – das Klassifizieren des fehlerhaften Makroblocks als die Kantenklasse, wenn nur ein Paar der gültigen umgebenden Makroblöcke, die einander in Bezug auf den fehlerhaften Makroblock gegenüberliegen, der Kantenklasse angehört und eine gleiche Kantenrichtung aufweist, und, andernfalls, entweder als die monotone Klasse oder die Texturklasse, je nach Zahl der umgebenden Makroblöcke, die entweder der monotonen Klasse oder die Texturklasse angehören.

Das vorgeschlagene Verfahren der Klassifizierung jedes der umgebenden Makroblöcke umfasst viele Schritte, einschliesslich einer Varianzberechnung und einer relativ grossen Zahl von Richtungsprojektionen. Deshalb ist dieses Verfahren aufwendig und kann für Echtzeitanwendungen auf Prozessoren mit kleinen Ressourcen, wie z.B. in einem Mobiltelefon, nicht implementiert werden. Darüber hinaus geht das Verfahren der Klassifizierung des fehlerhaften Makroblocks nach den Klassen der gültigen umgebenden Makroblöcke von der Annahme aus, dass ein fehlerhafter Makroblock eine vordefinierte Zahl von umgebenden Makroblöcken hat, was nicht der Fall sein kann, da zum einen Burstfehler mehrere Reihen von Makroblöcken umspannen können, und zum anderen ein fehlerhafter Makroblock am Rand eines Bildes liegen kann.

Eine Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines wirtschaftlichen Fehlermaskierungsverfahrens und einer entsprechenden Vorrichtung.

Zu diesem Zweck ist ein erfindungsgemässes Fehlermaskierungsverfahren, wie im einleitenden Absatz beschrieben, dadurch gekennzeichnet, dass:

  • i) dieser fehlerhafte Makroblock mindestens einen gültigen umgebenden Makroblock aufweist, der keinen Fehler enthält;
  • ii) dieser Klassifizierungsschritt mindestens die folgenden Unterschritte umfasst:
  • – das Berechnen eines Gradienten für jeden gültigen umgebenden Makroblock, für jedes Pixel einer Zeile oder einer Spalte, die an den fehlerhaften Makroblock angrenzt, durch Subtrahieren der Werte zweier aufeinanderfolgender Pixel dieser Zeile oder Spalte;
  • – das Auswerten einer Zahl Cdir von Richtungsänderungen des Gradienten;
  • iii) der fehlerhafte Makroblock als eine Kantenklasse klassifiziert wird, wenn der Absolutwert mindestens eines Gradienten über einem ersten vordefinierten Schwellenwert liegt, als eine Texturklasse, wenn Cdir völlig positiv ist und die Zahl der Absolutwerte von Gradienten, die über einem zweiten vordefinierten Schwellenwert liegen, grösser ist als &agr; multipliziert mit Cdir, wobei &agr; eine programmierbare Menge ist, und, andernfalls, als ein Rauschen oder eine monotone Klasse.

Erfindungsgemäss wird eine Klasse eines fehlerhaften Makroblocks auf sehr wirtschaftliche Weise bestimmt. Tatsächlich werden für solch eine Bestimmung nur die Pixel berücksichtigt, die zum fehlerhaften Makroblock direkt benachbart sind. Das heisst, wenn wir die MPEG-4-Norm in Betracht ziehen, die Makroblöcke aus 16 mal 16 Pixeln verwendet, müssen nur 60 Gradienten berechnet und mit zwei Schwellenwerten verglichen werden, um die Klasse des fehlerhaften Makroblocks zu bestimmen, in einem Fall, wo die vier Makroblöcke, die die fehlerhaften Makroblöcke umgeben, gültig sind, das heisst, keine Fehler enthalten. Zudem kann der Klassifizierungsschritt auf jeden fehlerhaften Makroblock angewandt werden, ungeachtet der Zahl der gültigen umgebenden Makroblöcke, solange dieser fehlerhafte Makroblock mindestens einen gültigen umgebenden Makroblock aufweist. Deshalb können die anderen Makroblöcke mit diesem Maskierungsverfahren auf rekursive Weise maskiert werden, solange in einem Bild ein gültiger Makroblock vorhanden ist.

In einer bevorzugten Ausführungsform verwendet der Korrekturschritt einen Algorithmus, der mit einer vorgegebenen Wahlfolge aus einem Satz Algorithmen gewählt wird, wobei dieser Satz und/oder diese Wahlfolge je nach Klasse des fehlerhaften Makroblocks unterschiedlich ist. Dieser bevorzugten Ausführungsform entsprechend wird ein bester verfügbarer Algorithmus gewählt, um einen Makroblock einer bestimmten Klasse zu korrigieren. Wenn dieser Algorithmus aus irgendeinem Grund nicht fähig ist, den fehlerhaften Makroblock zu maskieren, wird ein anderer Algorithmus versucht, und so weiter.

In einer anderen bevorzugten Ausführungsform ist der erste Algorithmus in der Wahlfolge ein Algorithmus Medge, der in der Lage ist, die Kanteninformation zu bewahren, wenn der fehlerhafte Makroblock der Kantenklasse oder der Texturklasse angehört, und ein Algorithmus Msmooth, der auf die Wiederherstellung von glatten Variationen spezialisiert ist, wenn der fehlerhafte Makroblock der Rauschklasse oder der monotonen Klasse angehört.

In einer Ausführungsform ist Medge eine quadrilineare Interpolation.

In einer anderen Ausführungsform ist Msmooth eine möglichst glatte Interpolation.

Die vorliegende Erfindung betrifft auch ein Computerprogramm, umfassend einen Satz Anweisungen, die, wenn sie in einen Prozessor oder Computer geladen werden, den Prozessor oder Computer veranlassen, das nachstehend beschriebene Maskierungsverfahren auszuführen.

Diese und andere Aspekte der Erfindung gehen aus den Ausführungsformen hervor, die im folgenden beschrieben werden.

Die Erfindung wird nun beispielhaft Bezug nehmend auf die beiliegenden Zeichnungen ausführlich beschrieben, wobei:

1 ein Blockdiagramm eines erfindungsgemässen Verfahrens zeigt;

2a eine Berechnung von Gradienten veranschaulicht;

2b eine Klassifikation auf der Basis von berechneten Gradienten zeigt;

3a ein erfindungsgemässes Verfahren zeigt, das auf einen Makroblock der Kantenklasse angewandt wird;

3b ein erfindungsgemässes Verfahren zeigt, das auf einen Makroblock der Texturklasse angewandt wird;

4a ein erfindungsgemässes Verfahren zeigt, das auf einen Makroblock der Rauschklasse angewandt wird;

4b ein erfindungsgemässes Verfahren zeigt, das auf einen Makroblock der monotonen Klasse angewandt wird;

5 eine Tabelle ist, die einen Satz Algorithmen und ein Wahlfolge für jede Klasse angibt.

Ein erfindungsgemässes Maskierungsverfahren wird in 1 dargestellt. Solch ein Verfahren umfasst mindestens einen Decodierschritt 102, der auf ein übertragenes Bildsignal 101 angewandt wird, einen Erkennungsschritt 103, einen Gradientenberechnungsschritt 104, einen ersten Vergleichsschritt 105, einen zweiten Vergleichsschritt 106, einen Auswertungsschritt 107, einen Klassifizierungsschritt 108 und einen Korrekturschritt 109.

Im folgenden ist das übertragene Bildsignal 101 ein MPEG-4-Videosignal, das mit 16·16 Makroblöcken codiert wurde, die jeweils Pixel mit einem Chrominanz- oder einem Luminanzwert oder beides davon enthalten (im folgenden bezeichnet der Begriff „Wert" entweder die Chrominanz oder die Luminanz). Für den Fachmann ist zu ersehen, dass das erfindungsgemässe Maskierungsverfahren dazu bestimmt ist, mit jeden Signal verwendet zu werden, das durch eine blockbasierte Verarbeitung codiert wurde.

Im Erkennungsschritt 103 wird ein Makroblock analysiert, um zu bestimmen, ob er fehlerhaft ist oder nicht. Solch eine Bestimmung ist einem Fachmann wohlbekannt und ist zum Beispiel im US-Patent 5.455.629 zu finden, das am 12. Februar 1993 unter dem Titel „Apparatus for concealing errors in a digital video processing system" angemeldet wurde. Wenn dieser Makroblock fehlerhaft ist, werden Gradienten zwischen zwei aufeinanderfolgenden Pixeln der angrenzenden Zeilen und Spalten aller gültigen umgebenden Makroblöcken im Gradientenberechnungsschritt 104 berechnet. Solch eine Berechnung wird in 2 ausführlich beschrieben. Im ersten Vergleichsschritt 105 werden Absolutwerte der berechneten Gradienten mit einem ersten Schwellenwert verglichen, und die Zahl N1 von Gradienten im Absolutwert über dem ersten Schwellenwert wird bestimmt. Im zweiten Vergleichsschritt 106 werden Absolutwerte der berechneten Gradienten mit einem zweiten Schwellenwert verglichen, und die Zahl N2 von Gradienten im Absolutwert über dem zweiten Schwellenwert wird bestimmt. Im Auswertungsschritt 107 wird eine Zahl Cdir von Richtungsänderungen des Gradienten bestimmt. Im Klassifizierungsschritt 108 wird eine Klasse des fehlerhaften Makroblocks den Werten von N1, N2 und Cdir entsprechend bestimmt. Im Korrekturschritt 109 wird der fehlerhafte Makroblock seiner Klasse entsprechend korrigiert.

2a veranschaulicht eine Berechnung von Gradienten. Dieses Diagramm zeigt einen fehlerhaften 8·8 Makroblock, der vier gültige umgebende Makroblöcke aufweist. Die Pixel des fehlerhaften Makroblocks sind durch unterbrochene Linien dargestellt. Nur die zwei angrenzenden Zeilen der oberen und unteren umgebenden Makroblöcke und die zwei Spalten der linken und rechten umgebenden Makroblöcke werden für die Berechnung des Gradienten berücksichtigt. Die folgende Tabelle gibt an, wie ein Gradient berechnet wird, und wie eine Richtungsänderung des Gradienten bestimmt wird. In diesem Beispiel werden vier Pixel 201 bis 204 in Betracht gezogen; die Berechnung ist für alle Pixel der zwei angrenzenden Zeilen und Spalten die gleiche, insbesondere für die Pixel 205 bis 207.

  • – Grad xxx gibt den Gradienten für ein Pixel xxx an
  • – Val xxx gibt den Wert eines Pixels xxx an

Wenn eine Pixelposition durch eine Zeilennummer i und eine Spaltennummer j dargestellt wird, (gilt):

  • – Für ein Pixel einer angrenzenden Zeile an Position (i, j), Grad (i, j) = Val(i, j + 1) – Val(i, j)
  • – Für ein Pixel einer angrenzenden Spalte an Position (i, j), Grad (i, j) = Val(0 + 1, j) – Val(i, j)
Grad 201 Grad 202 Grad 203 Cdir Wert Val 202 – Val 201 Val 203 – Val 202 Val 204 – Val 203 Vorzeichen > 0 > 0 > 0 0 Vorzeichen > 0 > 0 > 0 1 Vorzeichen > 0 0 < 0 1 Vorzeichen > 0 < 0 > 0 2

2b veranschaulicht eine Klassifikation auf der Basis von berechneten Gradienten. In Schritt 208 bestimmt der Klassifizierungsschritt 108, ob N1 völlig positiv ist oder nicht. Da der erste Schwellenwert relativ hoch ist, zeigt die Tatsache, dass N1 völlig positiv ist, an, dass mindestens eine starke Kante in den gültigen umgebenden Makroblöcken vorhanden ist. Wenn N1 völlig positiv ist, wird der fehlerhafte Makroblock daher in Schritt 209 als Kantenklasse klassifiziert. Wenn N1 gleich null ist, bestimmt der Klassifizierungsschritt 108, ob N2 grösser oder gleich einer Menge &agr;·Cdir ist, wobei &agr; eine programmierbare Menge ist. Da der zweite Schwellenwert relativ hoch, aber kleiner ist als der erste Schwellenwert, zeigt ein Gradient über dem zweiten Schwellenwert eine signifikante Kante an. Wenn für ein gegebenes Pixel eine Richtungsänderung eines Gradienten ohne jede starke oder signifikante Kante auftritt, zeigt dies allgemein Rauschen an. Wenn Cdir völlig positiv ist und N2 grösser oder gleich der Menge &agr;·Cdir ist, wird der fehlerhafte Makroblock daher in Schritt 211 als Texturklasse klassifiziert, was bedeutet, dass dieser Makroblock eine strukturierte Textur ist, mit signifikanten Kanten, die optisch zu erkennen sein können. Wenn Cdir gleich null ist oder N2 kleiner als die Menge &agr;·Cdir ist, bedeutet dies, dass die Gradienten um den fehlerhaften Makroblock herum monoton sind, oder dass im fehlerhaften Makroblock viel mehr Rauschen als signifikante Kanten vorhanden ist, und der fehlerhafte Makroblock wird in Schritt 212 als die monotone Klasse oder Rauschklasse klassifiziert.

In 3a bis 4b sind fehlerhafte Makroblöcke dargestellt, mit ihren zwei angrenzenden Zeilen und Spalten von gültigen umgebenden Makroblöcken. Luminanzwerte der umgebenden Pixel sind angegeben, zwischen 0 und 255. In diesen Beispielen ist der erste Schwellenwert gleich 40, der zweite Schwellenwert ist gleich 10, und die programmierbare Menge &agr; ist gleich 1,2. Für den Fachmann ist zu ersehen, dass diese Werte leicht modifiziert werden können, um die bestmöglichen Ergebnisse zu erhalten.

3a veranschaulicht ein erfindungsgemässes Verfahren, das auf einen Makroblock der Kantenklasse angewandt wird. Die Berechnung der Gradienten zeigt an, dass zwei Gradienten im Absolutwert über dem ersten Schwellenwert vorhanden sind, was einer starken Kante entspricht. Daher wird dieser fehlerhafte Makroblock als die Kantenklasse klassifiziert.

3b veranschaulicht ein erfindungsgemässes Verfahren, das auf einen Makroblock der Texturklasse angewandt wird. Die Berechnung der Gradienten zeigt an, dass:

  • – N1 = 0 N2 = 28 Cdir = 21

Die Zahl N2 der signifikanten Kanten ist grösser als die programmierbare Menge &agr; der Zahl der Richtungsänderungen Cdir, und der fehlerhafte Makroblock wird daher als die Texturklasse klassifiziert.

4a veranschaulicht ein erfindungsgemässes Verfahren, das auf einen Makroblock der Rauschklasse angewandt wird. Die Berechnung der Gradienten zeigt an, dass:

  • – N1 = 0 N2 = 1 Cdir = 25

Die Zahl N2 der signifikanten Kanten ist kleiner als die programmierbare Menge &agr; der Zahl der Richtungsänderungen Cdir, und der fehlerhafte Makroblock wird daher als die Rauschklasse klassifiziert.

4b veranschaulicht ein erfindungsgemässes Verfahren, das auf einen Makroblock der monotonen Klasse angewandt wird. Die Berechnung der Gradienten zeigt an, dass:

  • N1 = 0 N2 = 0 Cdir = 0

Der fehlerhafte Makroblock wird daher als die monotone Klasse klassifiziert.

5 ist eine Tabelle, die einen Satz Algorithmen und eine Wahlfolge für jede Klasse angibt. In einem bestimmten System kann es sein, dass ein bestimmter Algorithmus nicht verwendet werden kann, zum Beispiel weil:

  • – der fehlerhafte Makroblock nicht ausreichend gültige umgebende Makroblöcke hat; im System nicht genug Speicherressourcen vorhanden sind, um einen bestimmten Algorithmus zu verwenden;
  • – zeitliche Begrenzungen es unmöglich machen, einen bestimmten Algorithmus zu verwenden.

Deshalb ist für jede Klasse von fehlerhaften Makroblöcken ein Satz Algorithmen im System verfügbar, mit einer Wahlfolge. Zuerst versucht das System, einen bestimmten fehlerhaften Makroblock mit Hilfe des ersten Algorithmus in der Wahlfolge zu maskieren. Wenn dieser Algorithmus für diesen fehlerhaften Makroblock nicht verwendet werden kann, versucht das System, den Makroblock mit Hilfe des zweiten Algorithmus in der Wahlfolge zu maskieren, und so weiter. Selbst, wenn eine Maskierungsqualität mit dem zweiten Algorithmus weniger gut sein kann als mit dem ersten Algorithmus, ist ein Vorteil der Verwendung solch eines Satzes Algorithmen darin, dass er fast immer die Maskierung eines fehlerhaften Makroblocks erlaubt.

Bei einem fehlerhaften Makroblock der Kanten- oder der Texturklasse ist der erste Algorithmus in der Wahlfolge eine quadrilineare Interpolation. Dieser Algorithmus besteht darin, der Wert eines fehlerhaften Pixels aus den diesen umgebenden nächstgelegenen gültigen oberen, linken, unteren und rechten Pixeln zu interpolieren. Ein Beispiel einer quadrilinearen Interpolation wird im Dokument mit dem Titel „Temporal and Spatial Error Concealment Techniques for Hierarchical MPEG-2 Video Codec" von Susanna Aign und Khaled Fazel beschrieben, veröffentlicht in Proc. Globelcom 95, SS. 1778–1783. Dieser Algorithmus ist dafür bekannt, dass er gut darin ist, die Kanteninformation in einem fehlerhaften Makroblock zu bewahren. Der zweite Algorithmus in der Wahlfolge ist eine möglichst glatte Interpolation. Ein Beispiel einer möglichst glatten Interpolation wird im Dokument mit dem Titel „Maximally Smooth Image Recovering in Transform Coding" von Yao Wang, Qun-Fan Zhu und Leonard Shaw beschrieben, veröffentlicht in 'IEEE Transanctions on Communications, Vol. 41, Nr. 10, Oktober 1993'. Dieser Algorithmus ist dafür bekannt, dass er gut darin ist, glatte Variationen wiederherzustellen. Ein dritter Algorithmus in der Wahlfolge ist eine einfache Interpolation, die zum Beispiel darin besteht, einen fehlerhaften Makroblock durch einen Mittelwert von gültigen umgebenden Makroblöcken zu ersetzen. Solch eine einfache Interpolation soll in der Lage sein, die meisten der fehlerhaften Makroblöcke zu maskieren, selbst wenn die Maskierungsqualität nicht die bestmögliche ist.

Bei einem fehlerhaften Makroblock der Rauschklasse oder der monotonen Klasse ist der erste Algorithmus in der Wahlfolge eine möglichst glatte Interpolation, der zweite Algorithmus ist eine quadrilineare Interpolation und der dritte Algorithmus ist eine einfache Interpolation.

Die Zeichnungen und ihre vorstehende Beschreibung veranschaulichen vielmehr die Erfindung, statt diese zu einzuschränken. Die folgenden abschließenden Bemerkungen sind in diesem Sinne zu verstehen.

Es gibt diverse Methoden, um einen fehlerhaften Makroblock zu maskieren, sobald er klassifiziert worden ist. 5 sieht für jede Klasse einen Satz Algorithmen vor, der verwendet werden kann, um einen fehlerhaften Makroblock dieser Klasse zu maskieren. Für den Fachmann ist zu ersehen, dass andere Algorithmen angewandt werden können, ohne vom Umfang der Erfindung abzuweichen.

Das erfindungsgemässe Maskierungsverfahren kann in einer integrierten Schaltung implementiert werden, die zum Einbau in eine Settop-Box oder in einen Fernsehempfänger bestimmt ist. Ein Satz Anweisungen, der in einen Programmspeicher geladen wird, veranlasst die integrierte Schaltung, das Maskierungsverfahren auszuführen. Der Satz Anweisungen kann auf einem Datenträger wie z.B. einer Festplatte gespeichert sein. Der Satz Anweisungen kann vom Datenträger gelesen werden, um in den Programmspeicher der integrierten Schaltung geladen zu werden, der dann seine Aufgabe erfüllt.

Fig. 1
101
Übertragenes Bildsignal
102
Decodierung
103
Fehlererkennung
104
Gradient
105
Schwellenwert 1
106
Schwellenwert 2
107
Richtungsänderung
108
Klassifizierung
109
Korrektur
Fig. 2b
209
Kante
211
Textur
212
Rauschen oder monoton

5 KANTE TEXTUR RAUSCHEN-MONOTON QUADRILINEAR QUADRILINEAR GLATT GLATT GLATT QUADRILINEAR EINFACH EINFACH EINFACH


Anspruch[de]
Verfahren zum Maskieren von Fehlern in einem Bildsignal, das in einer Makroblock-komprimierten Form übertragen wird, wobei jeder Makroblock Pixelzeilen und -spalten umfasst, das Verfahren mindestens die Schritte umfasst des:

a) Decodierens (102) des übertragenen Bildsignals;

b) Erkennens (103) eines fehlerhaften Makroblocks;

c) Klassifizierens (108) des fehlerhaften Makroblocks, um eine Klasse zu erhalten, welcher der fehlerhafte Makroblock angehört;

d) Korrigierens (109) des fehlerhaften Makroblocks seiner Klasse entsprechend; wobei dieses Verfahren außerdem dadurch gekennzeichnet ist, dass:

i) dieser fehlerhafte Makroblock mindestens einen gültigen umgebenden Makroblock aufweist, der keinen Fehler enthält;

ii) dieser Klassifizierungsschritt (108) mindestens die folgenden Unterschritte umfasst:

– das Berechnen eines Gradienten (104) für jeden gültigen umgebenden Makroblock, für jedes Pixel einer Zeile oder einer Spalte, das zum fehlerhaften Makroblock benachbart ist, durch Subtrahieren der Werte zweier aufeinanderfolgender Pixel dieser Zeile oder Spalte;

– das Auswerten (107) einer Zahl Cdir von Richtungsänderungen des Gradienten;

iii) der fehlerhafte Makroblock als eine Kantenklasse klassifiziert wird, wenn der Absolutwert mindestens eines Gradienten über einem ersten vordefinierten Schwellenwert liegt, als eine Texturklasse, wenn Cdir völlig positiv ist und die Zahl der Absolutwerte von Gradienten, die über einem zweiten vordefinierten Schwellenwert liegen, grösser ist als &agr; multipliziert mit Cdir, wobei &agr; eine programmierbare Menge ist, und, andernfalls, als ein Rauschen oder eine monotone Klasse.
Maskierungsverfahren nach Anspruch 1, wobei dieser Korrekturschritt einen Algorithmus verwendet, der aus einem Satz Algorithmen mit einer vorgegebenen Wahlfolge gewählt wird, wobei dieser Satz und/oder diese Wahlfolge je nach Klasse des fehlerhaften Makroblocks unterschiedlich ist. Maskierungsverfahren nach Anspruch 2, wobei der erste Algorithmus in der Wahlfolge ein Algorithmus Medge ist, der in der Lage ist, die Kanteninformation zu bewahren, wenn der fehlerhafte Makroblock der Kantenklasse oder der Texturklasse angehört, und ein Algorithmus Msmooth, der auf die Wiederherstellung von glatten Variationen spezialisiert ist, wenn der fehlerhafte Makroblock der Rauschklasse oder der monotonen Klasse angehört. Maskierungsverfahren nach Anspruch 3, wobei der Algorithmus Medge eine quadrilineare Interpolation ist. Maskierungsverfahren nach Anspruch 3, wobei der Algorithmus Msmooth eine möglichst glatte Interpolation ist. Vorrichtung zum Maskieren von Fehlern in einen Bildsignal, das in einer Makroblock-komprimierten Form übertragen wird, wobei jeder Makroblock Pixelzeilen und -spalten umfasst, diese Maskierungsvorrichtung mindestens umfasst:

a) Mittel zum Decodieren (102) des übertragenen Bildsignals;

b) Mittel zum Erkennen (103) eines fehlerhaften Makroblocks;

c) Mittel zum Klassifizieren (108) des fehlerhaften Makroblocks, um eine Klasse zu erhalten, welcher der fehlerhafte Makroblock angehört;

d) Mittel zum Korrigieren (109) des fehlerhaften Makroblocks seiner Klasse entsprechend; wobei diese Vorrichtung außerdem dadurch gekennzeichnet ist, dass:

i) dieser fehlerhafte Makroblock mindestens einen gültigen umgebenden Makroblock aufweist, der keinen Fehler enthält;

ii) diese Mittel zum Klassifizieren (108) mindestens umfassen:

– Mittel zum Berechnen eines Gradienten (104) für jeden gültigen umgebenden Makroblock, für jedes Pixel einer Zeile oder einer Spalte benachbart zum fehlerhaften Makroblock, durch Subtrahieren der Werte zweier aufeinanderfolgender Pixel dieser Zeile oder Spalte;

– Mittel zum Auswerten (107) einer Zahl Cdir von Richtungsänderungen des Gradienten;

iii) der fehlerhafte Makroblock als eine Kantenklasse klassifiziert wird, wenn der Absolutwert mindestens eines Gradienten über einem ersten vordefinierten Schwellenwert liegt, als eine Texturklasse, wenn Cdir völlig positiv ist und die Zahl der Absolutwerte von Gradienten, die über einem zweiten vordefinierten Schwellenwert liegen, grösser ist als &agr; multipliziert mit Cdir, wobei &agr; eine programmierbare Menge ist, und, andernfalls, als ein Rauschen oder eine monotone Klasse.
Maskierungsvorrichtung nach Anspruch 6, wobei die Korrekturmittel einen Algorithmus verwenden, der aus einem Satz Algorithmen mit einer vorgegebenen Wahlfolge gewählt wird, wobei dieser Satz und/oder diese Wahlfolge je nach Klasse des fehlerhaften Makroblocks unterschiedlich ist. Maskierungsvorrichtung nach Anspruch 7, wobei der erste Algorithmus in der Wahlfolge ein Algorithmus Medge ist, der in der Lage ist, die Kanteninformation zu bewahren, wenn der fehlerhafte Makroblock der Kantenklasse oder der Texturklasse angehört, und ein Algorithmus Msmooth, der auf die Wiederherstellung von glatten Variationen spezialisiert ist, wenn der fehlerhafte Makroblock der Rauschklasse oder der monotonen Klasse angehört. Maskierungsvorrichtung nach Anspruch 8, wobei der Algorithmus Medge eine quadrilineare Interpolation ist. Maskierungsvorrichtung nach Anspruch 8, wobei der Algorithmus Msmooth eine möglichst glatte Interpolation ist. Computerprogramm, umfassend einen Satz Anweisungen, die, wenn sie in einen Prozessor oder Computer geladen werden, den Prozessor oder Computer veranlassen, das Maskierungsverfahren nach Anspruch 1 auszuführen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com