System zur Decoder-unabhängigen Reduktion von Blockartefakten
System zur Decoder-unabhängigen Reduktion von Blockartefakten
System zur Decoder-unabhängigen Reduktion von Blockartefakten
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
nerseits die Entscheidung, ob Blockartefakte vorliegen<br />
und eine Filterung durchgeführt werden sollte,<br />
und andererseits die Auswahl eines <strong>von</strong> zwei an den<br />
Bildinhalt (homogen/nicht homogen) angepasster Filter.<br />
Input<br />
Berechnung<br />
Hauptgrad<br />
Berechnung<br />
Nebengrad<br />
Lokale Bildanalyse<br />
Blocking-Detekt./<br />
Bypass Steuerung<br />
Aktivitätsdetekt./<br />
Filterauswahl<br />
Filter für<br />
homogene<br />
Bereiche<br />
Filter für<br />
detaillierte<br />
Bereiche<br />
Output<br />
Bild 1: Artefaktreduktion mit lokaler Bildanalyse<br />
Zentrale Bestandteile der lokalen Bildanalyse sind die<br />
Ermittlung <strong>von</strong> so genannten Haupt- und Nebengradienten.<br />
Diese basieren auf der Summe absoluter Pixeldifferenzen<br />
im Bereich <strong>von</strong> Blockgrenzen. Dazu<br />
müssen Lage und Größe <strong>von</strong> Blöcken bekannt sein,<br />
was bei gängigen Videokompressionsverfahren der<br />
Fall ist.<br />
Zur Berechnung der lokalen Hauptgradientensumme<br />
werden die absoluten Pixelintensitätsdifferenzen<br />
zwischen den direkten Blockgrenzpixeln aufaddiert.<br />
Die Hauptgradientensumme ergibt sich beispielsweise<br />
für eine horizontal verlaufende Blockgrenze mit dem<br />
oberen linken Pixel des unteren betroffenen Blockes<br />
im Bild s an den Koordinaten (x 0 ,y 0 ) zu<br />
7<br />
∑<br />
HG = abssx (( + ny , −1) − sx ( + ny , )).<br />
x0, y0<br />
0 0 0 0<br />
n=<br />
0<br />
Die entsprechende lokale Nebengradientensumme,<br />
die sich aus Pixelintensitätsdifferenzen innerhalb der<br />
beiden betroffenen Blöcke ergibt, lässt sich durch<br />
7<br />
⎛<br />
⎞<br />
NGx0, y<br />
= 0,5 ⋅<br />
0 ⎜∑abssx ( (<br />
0<br />
+ ny ,<br />
0<br />
−2) − sx (<br />
0<br />
+ ny ,<br />
0<br />
−1))<br />
⎟<br />
⎝ n=<br />
0<br />
⎠<br />
7<br />
⎛<br />
⎞<br />
+ 0,5 ⋅ ⎜∑abs( s( x0 + n, y0) − s( x0 + n, y0<br />
+ 1)) ⎟<br />
⎝ n=<br />
0<br />
⎠<br />
berechnen.<br />
Auf Basis der Nebengradientensumme erfolgt, wie in<br />
Bild 1 dargestellt, direkt eine Aktivitätsdetektion. Mit<br />
Hilfe eines Schwellwertvergleichs wird entschieden,<br />
ob der untersuchte Bildbereich homogen ist (niedrige<br />
Aktivität) oder nicht (höhere Aktivität). Die Aktivitätsdetektion<br />
dient der Umschaltung zwischen zwei<br />
Filtern <strong>zur</strong> Blocking-<strong>Reduktion</strong>. Da die nachfolgenden<br />
Filterungen im direkten Blockgrenzbereich erfolgen,<br />
erstreckt sich die Aktivitätsdetektion zweckmäßigerweise<br />
auf denselben Bildbereich, was auch die<br />
notwendigen Zeilenspeicher minimiert.<br />
Die im Verfahren vorgesehene Blocking-Detektion<br />
basiert auf dem Verhältnis <strong>von</strong> Hauptgradientensumme<br />
zu Nebengradientensumme. In natürlichen unkomprimierten<br />
Bildern ist dieses Verhältnis etwa Eins,<br />
da Haupt- und Nebengradienten im Schnitt gleich<br />
groß sind. Folgen einer Bildkompression sind eine<br />
Vergrößerung der Hauptgradienten durch Diskontinuitäten<br />
an Blockgrenzen und eine Verkleinerung der<br />
Nebengradienten durch Informationsverlust innerhalb<br />
<strong>von</strong> Blöcken. Dies führt mit steigender Kompression<br />
zu einer Vergrößerung des Verhältnisses, das somit als<br />
lokales Blocking-Maß dient. Durch einen Schwellwertvergleich<br />
kann nun entschieden werden, ob eine<br />
Filterung durchgeführt wird, oder nicht.<br />
Die Zuverlässigkeit des lokalen Blocking-Maßes kann<br />
durch einige Erweiterungen und Behandlung <strong>von</strong><br />
Sonderfällen noch gesteigert werden, worauf hier<br />
nicht näher eingegangen werden soll.<br />
Für homogene Bildbereiche wird ein Filter mit einer<br />
Wirkungsbreite <strong>von</strong> 6 Pixeln eingesetzt, das in Bild 2<br />
dargestellt ist.<br />
Bild 2: Filter für homogene Bildbereiche<br />
Für jede Blockgrenzposition wird die Höhe des Signalsprungs<br />
über die Blockgrenze gemessen. Die Ausgangspixelintensitäten<br />
des Filters ergeben sich nun<br />
durch Addition bzw. Subtraktion des mit festen Faktoren<br />
gewichteten Signalsprungs zu bzw. <strong>von</strong> den Intensitäten<br />
der Originalpixel. Die ungewollte Filterung<br />
kontrastreicher „echter“ Kanten, die sich durch einen<br />
großen Intensitätssprung äußern, kann durch einen<br />
weiteren Schwellwertvergleich vermieden werden.<br />
In detaillierten Bildbereichen wird ein Filter mit kleiner<br />
Wirkungsbreite eingesetzt, da möglichst viele Details<br />
erhalten werden sollen. Dazu wird an den Blockgrenzpositionen<br />
eine 4-Punkt-DCT senkrecht <strong>zur</strong><br />
Blockgrenze durchgeführt. In Bild 3 ist exemplarisch<br />
dargestellt, auf welche Pixel zugegriffen werden<br />
muss.<br />
DCT<br />
Bild 3: Filter für detaillierte Bildbereiche<br />
Der errechnete hochfrequente antisymmetrische DCT-<br />
Koeffizient ist hauptsächlich für das Auftreten <strong>von</strong><br />
<strong>Blockartefakten</strong> verantwortlich (siehe [2]). Dieser<br />
Koeffizient wird um einen festen Faktor vermindert,<br />
bevor eine unvollständige IDCT durchgeführt wird,<br />
die nur die beiden inneren Pixel neu berechnet. Die<br />
Intensitätsänderung der beiden Blockgrenzpixel darf<br />
nicht größer als die halbe Signalsprunghöhe an der<br />
Blockgrenze ausfallen.<br />
Es sei an dieser Stelle erwähnt, dass die mit einfachen<br />
Operationen implementierbare lokale Bildanalyse für<br />
eine Unabhängigkeit <strong>von</strong> sämtlichen Seiteninformationen<br />
wie Quantisierungsparametern sorgt und somit<br />
eine decoder-unabhängige <strong>Reduktion</strong> <strong>von</strong> <strong>Blockartefakten</strong><br />
ermöglicht.