-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein Intra-Prädiktionsverfahren in einem Video-Kodierer und in einem Video-Dekodierer, insbesondere auf ein Verfahren zur Ableitung eines Wertes eines spezifischen Rand-Samples eines prädizierten Blocks eines aktuellen Blocks und ein Gerät zur Benutzung des Verfahrens.
-
Stand der Technik
-
In den letzten Jahren sind die Anforderungen an ein hochauflösendes und hochqualitatives Video in vielen Anwendungsbereichen gestiegen. Jedoch steigt die Anzahl der Daten des Videos an mit zunehmender Auflösung und höherer Qualität.
-
Wenn ein hochauflösendes und hochqualitatives Video mit einer großen Datenmenge transportiert wird unter Verwendung von Medien, wie die existierenden leitungsgebundenen oder drahtlosen Breitbandverbindungen oder gespeichert ist in verfügbaren Speichermedien, steigen die Transportkosten und die Speicherkosten an. Daher können hocheffiziente Video-Kompressionstechnologien angewandt werden, um effektiv hochauflösende und hochqualitative Videos zu transportieren, speichern und zu reproduzieren.
-
Um die Video-Kompressionseffizienz zu erhöhen können Inter-Prädiktionsverfahren und Intra-Prädiktionsverfahren angewandt werden.
-
In der Inter-Prädiktion werden Pixelwerte eines aktuellen Bildes prädiziert von zeitlich vorhergehenden und nachfolgenden Bildern. In der Intra-Prädiktion werden Pixelwerte eines aktuellen Bildes prädiziert unter Verwendung von Beziehungen zwischen den Pixeln eines gleichen Bildes. In der Intra-Prädiktion werden Pixelwerte eines aktuellen Bildes prädiziert unter Verwendung von Pixelinformation des aktuellen Bildes.
-
Zusätzlich zur Inter-Prädiktion und zur Intra-Prädiktion kann die gewichtete Prädiktion verwendet werden zur Verhinderung von Qualitätsverschlechterungen verursacht durch Veränderungen der Beleuchtung oder dergleichen, Entropie-Kodierung um einen kurzen Code einem Symbol zuzuweisen, das eine hohe Auftrittswahrscheinlichkeit hat und einen langen Code einem Symbol zuzuweisen, das eine geringe Auftrittswahrscheinlichkeit hat, und dergleichen.
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Es ist eine Aufgabe der Erfindung, eine effektive Video-Kompressions-Technologie bereitzustellen und ein Gerät zur Verwendung derselben.
-
Es ist eine weitere Aufgabe der Erfindung, ein Intra-Prädiktionsverfahren bereitzustellen, das die Prädiktions-Effizienz erhöhen kann und ein Gerät zur Verwendung desselben.
-
Es ist eine weitere Aufgabe der Erfindung, ein Verfahren bereitzustellen zur Ableitung eines Wertes eines spezifischen Rand-Samples eines prädizierten Blocks eines aktuellen Blocks und ein Gerät zur Verwendung des Verfahrens.
-
Lösung der Aufgabe
-
Gemäß einem Aspekt der Erfindung wird ein Intra-Prädiktionsverfahren bereitgestellt. Das Intra-Prädiktionsverfahren weist die Schritte auf: Ableiten eines Prädiktions-Modus eines aktuellen Blocks und Konstruieren eines prädizierten Blocks des aktuellen Blocks auf der Basis des Prädiktionsmodus. Wenn der Prädiktionsmodus ein gerichteter Intra-Prädiktionsmodus (Intra_Angular prediction mode) ist, wird ein Wert eines Rand-Samples, welches nicht lokalisiert ist in der Prädiktionsrichtung des intra-gerichteten Prädiktions-Modus (Intra_Angular prediction mode), von einem Sample des linken Randes und einem Sample des oberen Randes des prädizierten Blocks, abgeleitet auf der Basis eines Referenz-Samples, welches lokalisiert ist in der Prädiktionsrichtung und eines Referenz-Samples angrenzend zum Rand-Sample.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) eine vertikaler Prädiktionsmodus ist, kann ein Wert des Samples des linken Randes abgeleitet werden auf Basis eines oberen Referenz-Samples des Samples des linken Randes und eines Referenz-Samples angrenzend zum Sample des linken Randes. Ein Wert eines prädizierten Samples, welches unterschiedlich ist zum Sample des linken Randes kann abgeleitet werden als ein Wert des oberen Referenz-Samples des prädizierten Samples.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein vertikaler Prädiktionsmodus ist, kann ein Wert des Samples des linken Randes abgeleitet werden auf der Basis eines oberen Referenz-Samples des Samples des linken Randes, eines Referenz-Samples angrenzend zum Sample des linken Randes, und eines Referenz-Samples benachbart zur linken oberen Ecke des aktuellen Blocks.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein horizontaler Prädiktionsmodus ist, kann ein Wert des Samples des oberen Randes abgeleitet werden auf der Basis eines linken Referenz-Samples des Samples des oberen Randes und eines Referenz-Samples angrenzend zum Sample des oberen Randes. Ein Wert eines prädizierten Samples, welches unterschiedlich ist zum Sample des oberen Randes kann abgeleitet werden als ein Wert eines linken Referenz-Samples des prädizierten Samples.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein horizontaler Prädiktionsmodus ist, kann ein Wert des Samples des oberen Randes abgeleitet werden auf der Basis eines linken Referenz-Samples des Samples des oberen Randes, eines Referenz-Samples angrenzend zum Sample des oberen Randes, und eines Referenz-Samples benachbart zur linken oberen Ecke des aktuellen Blocks.
-
Wenn die Prädiktionsrichtung eine oben-rechts-Richtung ist, kann ein Wert des Samples des linken Randes abgeleitet werden auf der Basis eines Referenz-Samples, welches lokalisiert ist in der Prädiktionsrichtung und eines Referenz-Samples, welches angrenzend ist zum Sample des linken Randes.
-
Wenn die Prädiktionsrichtung eine links-unten-Richtung ist, kann ein Wert des Samples des oberen Randes abgeleitet werden auf der Basis eines Referenz-Samples, welches lokalisiert ist in der Prädiktionsrichtung und eines Referenz-Samples angrenzend zum Sample des oberen Randes.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Video-Kodierer bereitgestellt. Der Video-Kodierer umfasst: ein Prädiktions-Modul, das einen prädizierten Block eines aktuellen Blocks konstruiert auf der Basis eines Prädiktionsmodus des aktuellen Blocks; und ein Entropiekodier-Modul, welches Information kodiert auf dem prädizierten Block. Wenn der Prädiktionsmodus ein gerichteter Intra-Prädiktionsmodus (Intra_Angular prediction mode) ist, wird vom Prädiktions-Modul ein Wert eines Samples eines Randes, welches nicht lokalisiert ist in der Prädiktionsrichtung des gerichteten Intra-Prädiktionsmodus (Intra_Angular prediction mode), von einem Sample des linken Randes und einem Sample des oberen Randes des prädizierten Blocks, abgeleitet auf der Basis eines Referenz-Samples, welches lokalisiert ist in der Prädiktionsrichtung und eines Referenz-Samples angrenzend zum Sample des Randes.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein Video-Dekodierer bereitgestellt. Der Video-Dekodierer umfasst: ein Entropiedekodier-Modul, das Information entropiedekodiert, welche empfangen ist von einem Kodierer; und ein Prädiktions-Modul, welches einen prädizierten Block eines aktuellen Blocks konstruiert auf der Basis der Entropiedekodierten Information. Wenn der Prädiktionsmodus des aktuellen Blocks ein gerichteter Intra-Prädiktions-Modus (Intra_Angular prediction mode) ist, wird von dem Prädiktions-Modul ein Wert eines Sample eines Randes, welches nicht lokalisiert ist in der Prädiktions-Richtung des gerichteten intra-Prädiktionsmodus (Intra_Angular prediction mode), von einem Sample des linken Randes und einem Sample des oberen Randes des prädizierten Blocks, abgeleitet auf der Basis eines Referenz-Samples, welches lokalisiert ist in der Prädiktions-Richtung und eines Referenz-Samples angrenzend zum Sample des Randes.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein vertikaler Prädiktions-Modus ist, kann das Prädiktions-Modul einen Wert des Samples des linken Randes ableiten auf der Basis eines oberen Referenz-Samples des Samples des linken Randes und eines Referenz-Samples angrenzend zum Sample des linken Randes.
-
Wenn der intra-gerichtete Prädiktions-Modus (Intra_Angular prediction mode) ein vertikaler Prädiktionsmodus ist, kann das Prädiktions-Modul einen Wert Samples des linken Randes ableiten auf der Basis eines oberen Referenz-Samples des Samples des linken Randes, eines Referenz-Samples angrenzend zum Sample des linken Randes, und eines Referenz-Samples benachbart zur linken oberen Ecke des aktuellen Blocks.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein horizontaler Prädiktionsmodus ist, kann das Prädiktions-Modul einen Wert des Samples des oberen Randes ableiten auf der Basis eines linken Referenz-Samples des Samples des oberen Randes und eines Referenz-Samples angrenzend zum Sample des oberen Randes.
-
Wenn der gerichtete Intra-Prädiktionsmodus (Intra_Angular prediction mode) ein horizontaler Prädiktionsmodus ist, kann das Prädiktions-Modul einen Wert des Samples des oberen Randes ableiten auf der Basis eines linken Referenz-Samples des Samples des oberen Randes, eines Referenz-Samples angrenzend zum Sample des oberen Randes, und eines Referenz-Samples benachbart zur oberen linken Ecke des aktuellen Blocks.
-
Vorteilhafte Effekte
-
Gemäß der Erfindung ist es möglich, die Effizienz der Intra-Prädiktion zu erhöhen und die Leistung der Video-Komprimierung zu verbessern.
-
Gemäß der Erfindung ist es möglich, die Genauigkeit eines Wertes eines prädizierten Samples, welches angrenzend zu einem Referenz-Sample lokalisiert ist, zu erhöhen.
-
Kurze Beschreibung der Figuren
-
1 ist ein Blockdiagramm, welches einen Video-Kodierer illustriert, entsprechend einer Ausführungsform der Erfindung.
-
2 ist ein Blockdiagramm, welches einen Video-Dekodierer illustriert, entsprechend einer Ausführungsform der Erfindung.
-
3 ist ein Flussdiagramm, welches schematisch ein Intra-Prädiktionsverfahren in dem Video-Dekodierer illustriert.
-
4 ist ein Diagramm, welches Prädiktions-Richtungen eines Intra-Prädiktionsmodus illustriert.
-
5 ist ein Diagramm, welches ein Beispiel illustriert, in welchem ein aktueller Block kodiert wird in einem Intra_DC Prädiktions-Modus.
-
6 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung vertikal ist in einem Intra-Prädiktionsmodus entsprechend einer Ausführungsform der Erfindung.
-
7 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung horizontal ist in einem Intra-Prädiktionsmodus entsprechend einer Ausführungsform der Erfindung.
-
8 ist ein Diagramm, welches ein Beispiel illustriert, in welchem der Intra-Prädiktionsmodus klassifiziert ist abhängig von der Prädiktionsrichtung.
-
9 ist ein Diagramm welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eine oben-rechts-Richtung in einem Intra-Prädiktionsmodus entsprechend einer Ausführungsform der Erfindung ist.
-
10 ist ein Diagramm welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eine links-unten-Richtung in einem Intra-Prädiktionsmodus entsprechend einer Ausführungsform der Erfindung ist.
-
11 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung vertikal ist in einem Intra-Prädiktionsmodus entsprechend einer weiteren Ausführungsform der Erfindung.
-
12 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung horizontal ist in einem Intra-Prädiktionsmodus, entsprechend einer weiteren Ausführungsform der Erfindung.
-
13 ist ein Diagramm, welches schematisch Operationen eines Kodierers illustriert in einem System gemäß der Erfindung.
-
14 ist ein Diagramm, welches schematisch Operationen eines Dekodierers illustriert in einem System gemäß der Erfindung.
-
Beschreibung exemplarischer Ausführungsformen
-
Die Erfindung kann verschiedene Ausführungsformen haben und spezifische Ausführungsformen davon werden beschrieben im Detail mit Bezug auf die beiliegenden Zeichnungen. Jedoch ist die Erfindung nicht limitiert auf die spezifischen Ausführungsformen und kann modifiziert werden in verschiedenen Formen ohne vom technischen Bereich der Erfindung abzurücken.
-
Begriffe, welche in der nachfolgenden Beschreibung verwendet werden, werden nur verwendet, um spezifische Ausführungsformen zu beschreiben und dienen nicht zur Beschränkung des technischen Sinngehalts der Erfindung. Ein Ausdruck im Singular schließt einen Ausdruck im Plural ein, solange es sich nicht klar im anderen Sinne liest.
-
Auf der anderen Seite sind Elemente in den Figuren, welche in der Erfindung beschrieben sind, getrennt erstellt zum Zweck einer einfachen Erklärung unterschiedlicher spezifischer Funktionen in einem Video-Kodierer-Dekodierer und soll nicht bedeuten, dass die jeweiligen Elemente durch unabhängige Hardware oder unabhängige Software verkörpert wird. Beispielsweise können zwei oder mehrere Elemente kombiniert werden zu einem einzigen Element oder ein Element kann aufgeteilt werden in mehrere Elemente. Die Ausführungsformen, in welchen die Elemente kombiniert und/oder aufgeteilt werden, gehören zum Bereich der Erfindung ohne vom Konzept der Erfindung abzuweichen.
-
Im nachfolgenden werden exemplarische Ausführungsformen der Erfindung im Detail beschrieben mit Bezug auf die beiliegenden Zeichnungen. Ähnliche Bestandteile in den Zeichnungen werden mit ähnlichen Bezugszeichen versehen und werden nicht erneut beschrieben.
-
1 ist ein Blockdiagramm, welches schematisch einen Video-Kodierer illustriert, gemäß einer Ausführungsform der Erfindung. Wie in der 1 dargestellt ist, umfasst ein Video-Kodierer 100 ein Bildaufteilungs-Modul 105, ein Prädiktions-Modul 110, ein Transformations-Modul 115, ein Quantisierungs-Modul 120, ein Umordnungs-Modul 125, ein Entropiekodierungs-Modul 139, ein Dequantisierungs-Modul 135, ein Invers-Transformations-Modul 140, ein Filter-Modul 145, und einen Speicher 150.
-
Das Bildaufteilungs-Modul 105 kann ein Eingabebild in ein oder mehrere Prozesseinheiten zerteilen. Die Prozesseinheit kann hier eine Prädiktions-Einheit (”PU”), eine Transformations-Einheit (”TU”), oder eine Kodierungs-Einheit (”CU”) sein.
-
Das Prädiktions-Modul 110 umfasst ein Inter-Prädiktions-Modul, das einen Inter-Prädiktionsprozess ausführt und ein Intra-Prädiktions-Modul, das einen Intra-Prädiktionsprozess ausführt. Das Prädiktions-Modul 110 führt einen Prädiktionsprozess auf den Prozesseinheiten eines Bildes aus, welches durch das Bildaufteilungs-Modul 105 aufgeteilt wurde, um einen prädizierten Block zu konstruieren. Die Prozesseinheit eines Bildes kann hier ein CU, TU, oder ein PU sein. Das Prädiktions-Modul 110 bestimmt, ob die Inter-Prädiktion oder die Intra-Prädiktion auf der entsprechenden Prozesseinheit ausgeführt wird und führt einen Prädiktionsprozess aus unter Verwendung des bestimmten Prädiktionsverfahrens. Die Prozesseinheit, welche dem Prädiktionsprozess unterworfen wird, kann unterschiedlich von der Prozesseinheit sein, von welcher das Prädiktionsverfahren bestimmt wird. Beispielsweise kann das Prädiktionsverfahren bestimmt werden in den Einheiten von PU und der Prädiktionsprozess kann durchgeführt werden in den Einheiten der TU.
-
In der Inter-Prädiktion wird der Prädiktionsprozess ausgeführt auf Basis von Information von zumindest einem von einem vorhergehenden Bild und/oder einem nachfolgenden Bild eines aktuellen Bildes um einen prädizierten Block zu konstruieren. In der Intra-Prädiktion wird der Prädiktionsprozess ausgeführt auf der Basis von Pixelinformation eines aktuellen Bildes, um einen prädizierten Block zu konstruieren.
-
In der Inter-Prädiktion wird ein Referenz-Bild ausgewählt für einen aktuellen Block und ein Referenz-Block mit der gleichen Größe, wie der aktuelle, wird ausgewählt in den Einheiten von Inter-Pixel-Samples. Nachfolgend wird ein prädizierter Block konstruiert, in welchem ein Restwert vom aktuellen Block minimiert ist und der Betrag des Bewegungsvektors minimiert ist. In der Inter-Prädiktion kann ein Skip-Modus, ein Merge-Modus, ein MVP(Motion Vector Prediction)-Modus und dergleichen angewandt werden. Der prädizierte Block kann konstruiert werden in der Einheit von Pixel-Samples, wie beispielsweise ein 1/2 Pixel-Sample und 1/4 Pixel-Sample weniger als ein ganzzahliger Pixel. Der Bewegungsvektor kann hier auch ausgedrückt werden in der Einheit von Pixel-Samples weniger als ein ganzzahliger Pixel. Beispielsweise können Luma-Komponenten ausgedrückt werden in der Einheit von 1/4 Pixel und Chroma-Komponenten können ausgedrückt werden in der Einheit von 1/8 Pixel. Die Information, wie ein Index eines Referenz-Bildes, welches durch die Inter-Prädiktion ausgewählt wurde, ein Bewegungsvektor und ein Restsignal wird entropiekodiert und zum Dekoder übermittelt.
-
In der Intra-Prädiktion wird der Prädiktions-Modus bestimmt durch Prädiktions-Einheiten und der Prädiktionsprozess kann ausgeführt werden durch Prädiktions-Einheiten oder Transformations-Einheiten. In der Intra-Prädiktion können 33 gerichtete Prädiktionsmoden und zumindest zwei nicht-gerichtete Moden unterstützt sein. Die nicht-gerichteten Prädiktions-Moden können hier umfassen einen DC Prädiktions-Modus und einen ”planaren” Prädiktions-Modus.
-
Auf der anderen Seite bedeutet es, wenn ein Sample benutzt wird in dieser Beschreibung, dass Information des Samples, beispielsweise ein Pixelwert, verwendet wird. Zum Zweck der Vereinfachung. der Erklärung wird ein Ausdruck ”Sample-Information wird verwendet” oder ”ein Pixelwert wird verwendet” einfach ausgedrückt durch ”ein Sample wird verwendet”.
-
Eine Prädiktions-Einheit kann unterschiedliche Größen/Formen haben. Beispielsweise kann im Fall von Inter-Prädiktion die Prädiktions-Einheit Größen haben wie beispielsweise 2N × 2N, 2N × N, N × 2N, und N × N. Im Fall von Intra-Prädiktion kann die Prädiktions-Einheit Größen haben wie beispielsweise 2N × N, und N × N. Die Prädiktions-Einheit, welche eine Größe von N × N hat, kann dazu bestimmt sein, nur für einen bestimmten Fall verwendet zu werden. Beispielsweise kann die Prädiktions-Einheit, welche eine Größe von N × N hat, dazu bestimmt sein, nur für eine Kodierungseinheit verwendet zu werden, welche die kleinste Größe aufweist oder kann dazu bestimmt sein, nur für die Intra-Prädiktion verwendet zu werden. Zusätzlich zu den Prädiktions-Einheiten, welche die oben angegebenen Größen aufweisen, können die Prädiktions-Einheiten Größen haben, wie N × mN, mN × N, 2N × mN, und mN × 2N (wobei m < 1) können zusätzlich definiert und verwendet werden.
-
Ein Restblock zwischen dem konstruierten präzidierten Block und dem ursprünglichen Block wird in das Transformations-Modul 115 eingegeben. Information, wie beispielsweise der Prädiktionsmodus, die Prädiktions-Einheit, und der Bewegungsvektor, welche für die Prädiktion verwendet werden, wird Entropiekodiert durch das Entropie-Kodierungs-Modul 130 und an den Dekodierer übertragen.
-
Das Transformations-Modul 115 führt einen Transformationsprozess auf dem Restblock durch und erzeugt Transformationskoeffizienten. Die Prozesseinheit im Transformations-Modul 115 kann eine Transformations-Einheit sein und kann eine Quadtree-Struktur aufweisen. Die Größe der Transformations-Einheit kann bestimmt werden aus einem vorbestimmten Bereich der größten und kleinsten Größen. Das Transformations-Modul 115 kann den Restblock transformieren unter Verwendung einer DCT (Diskrete Kosinus-Transformation) und/oder eine DST (Diskrete Sinus-Transformation).
-
Das Quantisierungs-Modul 120 quantisiert die Transformationskoeffizienten, welche durch das Transformations-Modul erzeugt wurden und erzeugt Quantisierungs-Koeffizienten. Die Quantisierungs-Koeffizienten, welche erzeugt wurden durch das Quantisierungs-Modul 120, werden in das Umordnungs-Modul 125 und das Dequantisierungs-Modul 135 eingegeben.
-
Das Umordnungs-Modul 125 kann die Quantisierungs-Koeffizienten umordnen, welche vom Quantisierungs-Modul 120 bereitgestellt wurden. Durch Umordnen der Quantisierungs-Koeffizienten ist es möglich, die Kodierungseffizienz im Entropiekodierungs-Modul 130 zu erhöhen. Das Umordnungs-Modul 125 ordnet die Quantisierungs-Koeffizienten, in der Form eines zwei-dimensionalen Blocks, um in eine Form eines ein-dimensionalen Vektors durch die Verwendung eines Koeffizienten-Scanning-Verfahrens. Das Umordnungs-Modul 125 kann die Entropiekodierungs-Effizienz im Entropiekodierungs-Modul 130 erhöhen durch Verändern der Anordnung des Koeffizienten-Scannings auf Basis von stochastischer Statistik der Quantisierungs-Koeffizienten, welche vom Quantisierungs-Modul 120 bereitgestellt werden.
-
Das Entropiekodierungs-Modul 130 führt einen Entropiekodierungs-Prozess aus auf den Quantisierungs-Koeffizienten, welche durch das Umordnungs-Modul 125 umgeordnet wurden. Die Kodierungsverfahren, wie beispielsweise ein exponentielles Golomb-Verfahren und ein CABAC(Context-Adaptive Binary Arithmetic Coding)-Verfahren können hier verwendet werden. Das Entropiekodierungs-Modul 130 kodiert eine Vielzahl von Information, wie eine Block-Typ-Information, ein Prädiktions-Modus-Information, Divisionseinheits-Information, Prädiktions-Einheits-Information, Transfereinheits-Information, Bewegungsvektor-Information, Referenzbild-Information, Block-Interpolations-Information, und Filterungs-Information, übermittelt vom Prädiktions-Modul 110.
-
Das Entropiekodierungs-Modul 130 kann eine vorbestimmte Veränderung an einem gesetzten Parameter bewirken oder an einer zu übermittelnden Syntax, wenn notwendig.
-
Das Dequantisierungs-Modul 135 dequantisiert die Werte, welche durch das Quantisierungs-Modul 120 quantisiert wurden. Das Invers-Transformations-Modul 140 führt eine inverse Transformation der durch das Dequantisierungs-Modul 135 dequantisierten Werte durch. Der Restblock, der durch das Dequantisierungs-Modul 135 und das Invers-Transformations-Modul 140 rekonstruiert wird, wird zum prädizierten Block addiert, welcher durch das Prädiktions-Modul 110 konstruiert wurde, um einen rekonstruierten Block zu konstruieren.
-
Das Filter-Modul 145 wendet einen Deblocking-Filter, einen ALF (Adaptive Loop Filter), einen SAO (Sample Adaptive Offest) oder dergleichen auf das rekonstruierte Bild an.
-
Der Deblocking-Filter entfernt eine Blockverzerrung, welche an dem Rand zwischen Blocks im rekonstruierten Bild erzeugt wird. Der ALF führt einen Filterprozess aus auf der Basis der resultierenden Werte eines Vergleiches des Originalbildes mit dem rekonstruierten Bild gefiltert durch den Deblocking-Filter. Der ALF kann angewandt werden, beispielsweise nur wenn eine hohe Effizienz erforderlich ist. Der SAO rekonstruiert Offset-Differenzen zwischen dem Restblock, auf welchen der Deblocking-Filter angewandt wurde, und dem Originalbild in Einheiten von Pixeln und wird angewandt in der Form eines ”Band Offset”, eines ”Edge Offset”, oder dergleichen.
-
Auf der anderen Seite kann ein rekonstruierter Block, welcher für die Inter-Prädiktion verwendet wird, auch nicht einem Filterprozess unterworfen werden.
-
Der Speicher 150 speichert den rekonstruierten Block oder das rekonstruierte Bild. Der rekonstruierte Block oder das rekonstruierte Bild, welches im Speicher 150 gespeichert ist, wird dem Prädiktions-Modul 110 bereitgestellt, welches die Inter-Prädiktion durchführt.
-
2 ist ein Blockdiagramm, welches schematisch einen Video-Dekodierer illustriert, entsprechend einer Ausführungsform der Erfindung. Wie in der 2 dargesttellt ist, umfasst ein Video-Dekodierer 200 ein Entropiedekodierungs-Modul 210, ein Umordnungs-Modul 215, ein Dequantisierungs-Modul 220, ein Invers-Transformations-Modul 225, ein Prädiktions-Modul 230, ein Filter-Modul 235, und ein Speicher 240.
-
Wenn ein Video-Bitstream vom Kodierer eingegeben wird, kann der eingegebene Bitstream dekodiert werden auf Basis der Ordnung, in welcher Video-Information durch den Video-Kodierer verarbeitet wird.
-
Wenn zum Beispiel der Video-Kodierer ein CAVLC verwendet, um den Entropiekodierungs-Prozess auszuführen, führt das Entropiedekodierungs-Modul 210 den Entropiedekodierungs-Prozess unter Verwendung des CABAC aus, um dazu zu korrespondieren.
-
Das Restsignal, welches durch das Entropie-Dekodierungs-Modul 210 dntropiedekodiert wurde, wird dem Umordnungs-Modul 215 bereitgesetellt, und Information zur Konstruktion eines prädizierten Blocks aus der Information, welche wurde durch das Entropie-Dekodierungs-Modul 210 entropiedekodiert wird dem Prädiktions-Modul 230 bereitgestellt.
-
Das Umordnungs-Modul 215 ordnet den Bitstream, welcher entropiedekodiert wurde durch das Entropiedekodierungs-Modul 210, um auf der Basis der Umordnungsmethode, welche im Video-Kodierer verwendet wird. Dem Umordnungs-Modul 215 wird mit der Information versorgt, welche verknüpft ist mit dem Koeffizienten-Scanning, welches durch den Kodierer ausgeführt wird und rekonstruiert und ordnet die Koeffizienten um, welche in der Form eines ein-dimensionalen Vektors ausgedrückt sind zu den Koeffizienten in der Form eines zwei-dimensionalen Blocks durch ein inverses Ausführen des Scannens auf der Basis der Scan-Ordnung, in welcher das Scannen durch den Dekodierer ausgeführt wird.
-
Das Dequantisierungs-Modul 220 führt eine Dequantisierung auf der Basis des Quantisierungs-Parameters aus, welcher vom Kodierer bereitgestellt wird und den ungeordneten Koeffizientenwerten des Blocks.
-
Das Invers-Transformations-Modul 225 führt die inverse Transformation derjenigen Transformation aus, welche durch das Transformations-Modul des Kodierers ausgeführt wird. Die inverse Transformation kann ausgeführt werden auf der Basis einer Transfer-Einheit oder einer Divisions-Einheit, welche vom Kodierer bestimmt wird. Das Transformations-Modul des Kodierers kann selektiv die DCT und DST ausführen, abhängig von einer Vielzahl an Information, wie die Prädiktions-Methode, die Größe des aktuellen Blocks, und die Prädiktionsrichtung, und das Invers-Transformations-Modul 225 des Dekodierers kann die inverse Transformation ausführen auf der Basis der Transformations-Information der Transformation, welche vom Transformations-Modul des Kodierers ausgeführt wird.
-
Das Prädiktions-Modul 230 konstruiert einen prädizierten Block auf Basis von Informationen der Konstruktion des prädizierten Blocks, bereitgestellt von dem Entropiedekodierungs-Modul 210 und von Informationen des vorhergehend dekodierten Blocks und/oder Bildes, welche vom Speicher 240 bereitgestellt werden. Der rekonstruierte Block ist konstruiert auf der Basis des prädizierten Blocks, welcher durch das Prädiktions-Modul 230 konstruiert wurde und des Restblocks, welcher bereitgestellt wird vom Invers-Transformations-Modul 225. Wenn zum Beispiel ein aktueller Block kodiert ist in einem Inter-Prädiktionsmodus wird die Inter-Prädiktion ausgeführt auf der aktuellen Prädiktions-Einheit auf der Basis von Information, welche von zumindest einem von einem vorhergehenden Bild und einem nachfolgenden Bild des aktuellen Bildes umfasst wird. Bewegungsinformation, welche hier notwendig ist für die Inter-Prädiktion, wie der Bewegungsvektor und ein Referenzbild-Index, kann abgeleitet werden von einem Skip-Flag, einem Merge-Flag und dergleichen, welche vom Kodierer bereitgestellt werden.
-
Der rekonstruierte Block und/oder das rekonstruierte Bild kann dem Filter-Modul 235 zugeführt werden. Das Filter-Modul 235 führt einen Deblocking-Filter-Prozess, einen SAO(Sample Adaptive Offest)-Prozess und/oder einen Adaptive-Loop-Filter-Prozess aus auf dem rekonstruierten Block und/oder Bild.
-
Das rekonstruierte Bild und/oder der rekonstruierte Block kann gespeichert werden im Speicher 240, um als Referenz-Bild oder als Referenz-Block verwendet zu werden und kann in einem Ausgabe-Modul (nicht gezeigt) zugeführt werden.
-
Auf der anderen Seite kodiert der Kodierer einen Encoding-Target-Block unter Verwendung des effizientesten Kodierungsverfahren auf der Basis von Video-Information des Encoding-Target-Blocks, und der Dekodierer bestimmt das Dekodierungsverfahren, auf Basis des Kodierungsverfahrens, welches vom Kodierer angewandt wird. Das Kodierungsverfahren, welches vom Kodierer angewandt wird, kann abgeleitet werden vom Bitstream, welcher vom Kodierer übertragen wird oder auf der Basis der Information eines Decoding-Target-Blocks. Wenn ein aktueller Block kodiert wird in einem Intra-Prädiktionsmodus, wird die Intra-Prädiktion der Konstruktion eines prädizierten Blocks ausgeführt auf der Basis von Pixel-Information des aktuellen Bildes.
-
3 ist ein Flussdiagramm, das schematisch ein Intra-Prädiktionsverfahren in einem Video-Dekodierer illustriert.
-
Der Dekodierer leitet einen Prädiktions-Modus eines aktuellen Blocks ab (S310).
-
Ein Intra-Prädiktionsmodus kann eine Prädiktionsrichtung haben, abhängig von den Positionen von Referenz-Samples, welche für die Prädiktion verwendet werden. Der Intra-Prädiktionsmodus, welcher eine Prädiktionsrichtung aufweist, wird als ein gerichterter Intra-Prädiktionsmodus (Intra_Angular prediction mode) bezeichnet. Im Gegensatz hierzu haben Beispiele eines Intra-Prädiktionsmodus, welche keine Prädiktionsrichtung aufweisen, umfassen einen Intra_Planar prediction mode, einen Intra_DC prediction mode und einen Intra_Fromlum prediction mode.
-
4 illustriert Prädiktionsrichtungen in den Intra-Prädiktionsmodi und Tabelle 1 zeigt Werte der Modi, Werte der Intra-Prädiktionsmodi, welche in
4 dargestellt sind. Tabelle 1
Intra-Prädiktionsmodus | Dazugehörige Bezeichnungen |
0 | Intra_Planar |
1 | Intra_DC |
2...34 | Intra_Angular |
35 | Intra_FromLima |
-
In der Intra-Prädiktion wird ein Prädiktionsprozess ausgeführt auf einem aktuellen Block auf Basis des abgeleiteten Prädiktions-Modus. Die Referenz-Samples und das spezifische Prädiktions-Verfahren, welches für die Prädiktion verwendet wird, variieren abhängig von den Prädiktionsmodi. Daher, wenn der aktuelle Block in einem Intra-Prädiktionsmodus kodiert wird, leitet der Dekodierer den Prädiktionsmodus des aktuellen Blocks ab, um die Prädiktion auszuführen.
-
Der Dekodierer kann überprüfen, ob benachbarte Samples des aktuellen Blocks verwendet werden können zur Prädiktion, und kann Referenz-Samples konstruieren, um diese für die Prädiktion zu verwenden (S320). In der Intra-Prädiktion, bedeutet benachbarte Samples des aktuellen Blocks Samples mit einer Länge von 2·nS angrenzend zum linken Rand und zur linken unteren Ecke des aktuellen Blocks, welcher eine Größe von nS × nS, und Samples mit einer Länge von 2·nS benachbart zum oberen Rand und zur oberen rechten Ecke des aktuellen Blocks. Jedoch können einige der benachbarten Samples des aktuellen Blocks noch nicht dekodiert werden oder stehen noch nicht zur Verfügung. In diesem Fall kann der Dekodierer Referenz-Samples konstruieren, um diese für die Prädiktion zu verwenden durch Substituieren der nicht-verfügbaren Samples mit den verfügbaren Samples.
-
Der Dekodierer kann eine Filterung ausführen auf den Referenz-Samples auf der Basis des Prädiktions-Modus (S330). Der Dekodierer kann einen Filterprozess ausführen auf den Referenz-Samples, bevor die Prädiktion ausgeführt wird. Ob die Referenz-Samples dem Filterprozess unterzogen werden sollen, wird bestimmt abhängig von dem Prädiktions-Modus des aktuellen Blocks. Die Filterung, welche ausgeführt wird in Anpassung an die Referenz-Samples abhängig vom Prädiktions-Modus, wird. als MDIS (Mode Dependent Intra Smoothing) bezeichnet, oder vereinfacht als Glättungs-Filterung, bezeichnet.
-
Tabelle 2 zeigt ein Beispiel, in welchem bestimmt wird, ob die Referenz-Samples einer Filterung unterzogen werden sollen auf Basis des Prädiktionsmodus. Tabelle 2
IntraPredMode | IntraFilterType für nS = 4 | IntraFilterType für nS = 8 | IntraFilterType für nS = 16 | IntraFilterType für nS = 32 | IntraFilterType für nS = 64 |
Intra_Planar | 0 | 1 | 1 | 1 | 0 |
Intra_DC | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 1 | 1 | 1 | 0 |
3–8 | 0 | 0 | 1 | 1 | 0 |
9 | 0 | 0 | 0 | 1 | 0 |
Intra_Horizontal | 0 | 0 | 0 | 0 | 0 |
11 | 0 | 0 | 0 | 1 | 0 |
12–17 | 0 | 0 | 1 | 1 | 0 |
18 | 0 | 1 | 1 | 1 | 0 |
19–24 | 0 | 0 | 1 | 1 | 0 |
25 | 0 | 0 | 0 | 1 | 0 |
Intra_Vertikal | 0 | 0 | 0 | 0 | 0 |
27 | 0 | 0 | 0 | 1 | 0 |
28–33 | 0 | 0 | 1 | 1 | 0 |
34 | 0 | 1 | 1 | 1 | 0 |
Intra_FromLuma | 0 | 1 | 1 | 1 | 0 |
-
Wenn der intraFilterType in Tabelle 2 den Wert 1 aufweist, wird die Glättungs-Filterung ausgeführt. Beispielsweise kann, wenn der intraPredMode ein Intra_Planar mode ist, und nS = 8 ermittelt wird, die Glättungs-Filterung ausführt werden. Zu diesem Zeitpunkt können Glättungsfilter angewandt werden, welche unterschiedliche Filterungskoeffizienten aufweisen. Beispielsweise kann eine Glättungs-Filterung angewandt werden, welche einen Koeffizienten von [1 2 1] aufweist.
-
Der Dekodierer konstruiert einen prädizierten Block des aktuellen Blocks auf der Basis des Prädiktions-Modus und des Referenz-Samples (S340). Der Dekodierer konstruiert den prädizierten Block des aktuellen Blocks auf der Basis des Prädiktions-Modus, welcher in dem Prädiktions-Modus-Ableitungs-Schritt (S310) abgeleitet wird und den Referenz-Samples, welche in dem Referenz-Sample-Filterungs-Schritt (S330) gewonnen werden.
-
Im Prädizierten-Block-Konstruierungs-Schritt (S340), wenn der aktuelle Block kodiert wird in der Intra_DC-Prädiktion, können die Samples des linken Randes und die Samples des oberen Randes des prädizierten Blocks einer 2-Tap-Filterung unterzogen werden, um die Diskontinuität des Blockrandes zu minimieren. Hierbei bedeuten die Samples des Randes solche Samples, welche lokalisiert sind im prädizierten Block, und welche angrenzend sind zum Rand des prädizierten Blocks.
-
5 ist ein Diagramm, welches ein Beispiel illustriert, in welchem ein aktueller Block im Intra_DC-Prädiktions-Modus kodiert wird.
-
Wie in der 5 gezeigt ist, wenn ein aktueller Block 500 kodiert wird im Intra_DC-Prädiktionsmodus, können Samples 522 des linken Randes und Samples 521 des oberen Randes des aktuellen Blocks 500 sehr ähnlich sein zu den linken Referenz-Samples 530, bzw. den oberen Referenz-Samples 510, und daher kann ein Glättungs-Filter angewandt werden, wie in der 5 illustriert ist. In der Figur repräsentiert der schraffierte Bereich 505 die Fläche, welche vom Filter bearbeitet wird.
-
In einigen Moden des gerichteten Intra-Prädiktionsmodus kann die 2-Tap-Filterung angewandt werden auf die Samples des linken Randes und die Samples des oberen Randes, ähnlich wie im Intra_DC-Prädiktionsmodus. Hierbei wird die 2-Tap-Filterung nicht sowohl auf die Samples des linken Randes, als auch auf die Samples des oberen Randes angewandt, sondern angepasst angewandt auf die Samples des linken Randes oder die Samples des oberen Randes abhängig von der Prädiktionsrichtung. Das heißt, dass die 2-Tap-Filterung nur angewandt wird auf diejenigen Samples des Randes, welche angrenzend sind zu denjenigen Referenz-Samples, welche nicht verwendet werden für die gerichtete Prädiktion.
-
Insbesondere können im Prädizierten-Block-Konstruktions-Schritt (S340), wenn der aktuelle Block kodiert wird in einem gerichteten Intra-Prädiktionsmodus, die Werte der prädizierten Samples abgeleitet werden vom Referenz-Sample, welches in der Prädiktionsrichtung angeordnet ist. Hierbei werden in einigen Modi des gerichteten Intra-Prädiktionsmodus die Samples des Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, angrenzend sein zu Referenz-Samples, welche nicht verwendet werden für die Prädiktion. Das heißt, die Distanz zu den Referenz-Samples, welche nicht verwendet werden für die Prädiktion, kann viel geringer sein, als die Distanz zu den Referenz-Samples, welche für die Prädiktion verwendet werden. Da es eine hohe Wahrscheinlichkeit gibt, dass die Werte der prädizierten Samples ähnlich sind zu den Referenz-Samples, welche eine geringere Distanz haben, wird die Filterung angewandt auf die Referenz-Samples, welche angrenzend sind zu denjenigen Randsamples, welche nicht angeordnet sind in der Prädiktionsrichtung von den Samples des linken Randes und den Samples des oberen Randes in der Erfindung, um die Leistungsfähigkeit der Prädiktion und die Effizienz der Kodierung zu erhöhen.
-
Zum Zweck der Vereinfachung der Erklärung, wird das Verfahren des Ableitens der Werte der prädizierten Samples in den gerichteten Intra-Prädiktionsmodi beschrieben in zwei Schritten, eines Schritts des Ableitens der Werte der Referenz-Samples lokalisiert in der Prädiktions-Richtung als die Werte der prädizierten Samples, und eines Schritts des Filterns und Modifizierens der Samples des Randes, welche nicht angeordnet sind in der Prädiktionsrichtung, von den Samples des linken Randes und den Samples des rechten Randes des prädizierten Blocks. [x, y]-Koordinaten, von welchen die Koordinatenwerte sich erhöhen in der rechts-unten-Richtung werden gesetzt bezüglich zum linken oberen Sample des aktuellen Blocks und des prädizierten Blocks. Die Größe des aktuellen Blocks und des prädizierten Blocks ist definiert als nS. Beispielsweise hat der Sample des Randes links oben des prädizierten Blocks eine Position von [0, 0], die Samples des linken Randes haben Positionen von [0, 0..nS – 1] und die Samples des oberen Randes haben Positionen von [0..nS – 1,0].
-
Als erstes werden die Werte der prädizierten Samples abgeleitet auf der Basis der Referenz-Samples, welche in der Prädiktionsrichtung angeordnet sind.
-
Beispielsweise werden, wenn der aktuelle Block in einem vertikalen Prädiktionsmodus kodiert ist, die Werte der prädizierten Samples abgeleitet als die Werte der Samples, welche die gleiche x-Koordinate aufweisen von den Referenz-Samples welche benachbart sind zu den Samples des oberen Randes des aktuellen Blocks. Das heißt, dass die Werte predSamples[x, y] der prädizierten Samples abgeleitet werden durch Gleichung 1. predSamples[x, y] = p[x, –1], mit x, y = 0..nS – 1 Gleichung 1
-
Herbei repräsentiert p[a, b] den Wert eines Samples, welche eine Position von [a, b] aufweist.
-
Wenn beispielsweise der aktuelle Block in einem horizontalen Prädiktionsmodus kodiert wird, werden die Werte der prädizierten Samples abgeleitet als die Werte der Samples, welche die gleiche y-Koordinate aufweisen von den Referenz-Samples welche benachbart sind zu den Samples des linken Randes des aktuellen Blocks. Das heißt, dass die Werte predSample[x, y] der prädizierten Samples abgeleitet werden durch Gleichung 2. predSamples[x, y] = p[–1, y], mit x, y = 0..nS – 1 Gleichung 2
-
Beispielsweise, wenn der aktuelle Block kodiert wird in einem gerichteten Intra-Prädiktionsmodus der Prädiktionsrichtung, welche eine oben-rechts-Richtung ist, werden die Werte der prädizierten Samples abgeleitet als die Werte der Referenz-Sample, welche lokalisiert sind in der Prädiktionsrichtung von den Referenz-Samples, welche angrenzend sind zum oberen Rand des aktuellen Blocks und dem Referenz-Sample, welches lokalisiert ist in der oberen rechten Ecke.
-
Beispielsweise, wenn der aktuelle Block kodiert wird in einem gerichteten Intra-Prädiktionsmodus einer Prädiktionsrichtung, welche eine links-unten-Richtung ist, werden die Werte der prädizierten Samples abgeleitet als die Werte der Referenz-Samples, welche in der Prädiktionsrichtung angeordnet sind von den Referenz-Samples angrenzend zum linken Rand des aktuellen Blocks, und dem Referenz-Sample, welcher lokalisiert ist an der linken unteren Ecke.
-
Durch das Ableiten der Werte des prädizierten Samples auf der Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktionsrichtung und das anschließende Filtern der Samples des Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung, von den Samples des linken Randes und den Samples des obren Randes des prädizierten Blocks, auf der Basis der angrenzenden Referenz-Samples, ist es möglich, die Werte der entsprechenden Samples des Randes zu modifizieren. Das Verfahren der Filterung der Samples des Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, unter Verwendung der Referenz-Samples, welche nicht lokalisiert sind in der Prädiktionsrichtung, wird weiter unten im Detail beschrieben mit Bezug auf die 5 bis 13.
-
6 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eines Intra-Prädiktionsmodus, entsprechend einer Ausführungsform der Erfindung, vertikal ist.
-
Wie in der 6 zu sehen ist, im Fall eines vertikalen Prädiktionsmodus (Intra-Vertical prediction mode) kann ein Glättungsfilter angewandt werden auf die linken Rand-Samples 620.
-
Wie oben beschrieben ist, wenn ein aktueller Block 600 kodiert wird im vertikalen Prädiktionsmodus, werden die Werte der prädizierten Samples abgeleitet als die Werte der oberen Referenz-Samples. Die Referenz-Samples, welche benachbart zum linken Rand des aktuellen Blocks 600 sind, werden nicht verwendet für die gerichtete Prädiktion, sie sind aber angrenzend zu den Samples des linken Randes des aktuellen Blocks 600. Das heißt, bei den Samples 620 des linken Randes ist die Distanz zu den linken Referenz-Samples 630, welche Referenz-Samples sind, welche nicht für die Prädiktion verwendet werden, geringer als die Distanz zu den oberen Referenz-Samples 610, welche Referenz-Samples sind, welche für die Prädiktion verwendet werden. Die Referenz-Samples 610 bedeuten hierbei Samples [x, –1], welche benachbart sind zu dem oberen Rand des aktuellen Blocks und welche die gleiche x-Koordinate haben. Die linken Referenz-Samples 630 bedeuten Samples [–1, y], welche benachbart sind zum linken Rand des aktuellen Blocks und welche die gleiche y-Koordinate haben. Folglich, da es eine hohe Wahrscheinlichkeit gibt, dass die Werte der Samples 620 des linken Randes ähnlich sind zu den Werten der linken Referenz-Samples 630, kann der Glättungsfilter angewandt werden auf die Samples 620 des linken Randes, wie es in der 6 dargestellt ist. Der schraffierte Bereich 605 in der Zeichnung repräsentiert die durch die Filterung bearbeitete Fläche.
-
Wenn beispielsweise ein Glättungsfilter angewandt wird, welcher einen Koeffizienten von [1 1]/2 aufweist, können die modifizierten Werte predSamples[x, y] der Samples 620 des linken Randes abgeleitet werden durch Gleichung 3. predSamples[x, y] = (p[x, –1] + p[–1, y])/2, mit x = 0, y = 0..nS – 1 Gleichung 3
-
Der Koeffizient des Filters ist nicht beschränkt auf [1 1]/2, sondern Filter, welche Koeffizienten aufweisen, wie beispielsweise [1 3]/4 und [1 7]/8 können angewandt werden. Der Koeffizient des Filters kann angepasst bestimmt werden abhängig von der Größe des aktuellen Blocks.
-
Auf der anderen Seite kann ferner Information von benachbarten Blöcken berücksichtigt werden bei der Durchführung der Filterung auf den linken Referenz-Samples. Beispielsweise können die modifizierten Werte der Samples 620 des linken Randes abgeleitet werden, wie dies durch die Gleichung 4 ausgedrückt ist, unter Berücksichtigung von Variationen der Samplewerte abhängig von den y-Koordinatenwerten der Samples 620 des linken Randes relativ zum linken oberen Referenz-Sample 640. predSamples[x, y] = p[x, –1] + (p[–1, y] – p[–1, –1]), mit x = 0, y = 0..nS – 1 Gleichung 4
-
Wenn die Werte der Samples 620 des linken Randes abgeleitet werden unter Verwendung des oben angegebenen Verfahrens, können die Werte des prädizierten Samples eine definierte Bittiefe übersteigen. Daher können die Werte des prädizierten Samples limitiert werden auf die definierte Bittiefe oder eine Gewichtung kann zur Differenz dazwischen gegeben werden. Beispielsweise können im Fall von prädizierten Samples von Luma-Komponenten die modifizierten Werte der Samples 620 des linken Randes abgeleitet werden durch Gleichung 5. predSamples[x, y] = Clip1Y(p[x, –1] + ((p[–1, y] – p[–1, –1])/2)) mit x = 0, y = 0..nS – 1 Gleichung 5
-
7 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktions-Richtung eines Intra-Prädiktionsmodus, entsprechend einer Ausführungsform der Erfindung, horizontal ist.
-
Bezugnehmend auf 7, im Fall eines horizontalen Prädiktionsmodus (Intra-Horizontal prediction mode), kann ein Glättungsfilter angewandt werden auf die Samples 720 des oberen Randes.
-
Wie oben beschrieben wurde, wenn ein aktueller Block 700 im vertikalen Prädiktions-Modus kodiert wird, werden die Werte der prädizierten Samples abgeleitet als die Werte der linken Referenz-Samples. Die Referenz-Samples, welche benachbart sind zum oberen Rand des aktuellen Blocks 700 werden hierbei nicht verwendet für die gerichtete Prädiktion, sondern sind benachbart zu den Samples des oberen Randes des aktuellen Blocks 700. Das heißt, bei den Samples 720 des oberen Randes ist die Distanz zu den oberen Referenz-Samples 710, welche Referenz-Samples sind, welche nicht für die Prädiktion verwendet werden, geringer als die Distanz zu den linken Referenz-Samples 730, welche Referenz-Samples sind, welche für die Prädiktion verwendet werden. Die oberen Referenz-Samples 710 bezeichnen hierbei Samples [x, –1], welche benachbart sind zu dem oberen Rand des aktuellen Blocks, und welche die gleiche x-Koordinate haben. Die linken Referenz-Samples 730 bezeichnen Samples [–1, y], welche benachbart sind zu dem linken Rand des aktuellen Blocks, und welche die gleiche y-Koordinate haben. Folglich, da es eine hohe Wahrscheinlichkeit gibt, dass die Werte der Samples 720 des oberen Randes ähnlich sind zu den Werten der oberen Referenz-Samples 710, kann der Glättungsfilter angewandt werden auf die Samples 720 des oberen Randes, wie es in der 7 illustriert ist. Der schraffierte Bereich 705 in der Zeichnung repräsentiert die vom Filter bearbeitete Fläche.
-
Wenn beispielsweise ein Glättungsfilter angewandt wird, welcher einen Koeffizienten von [1 1]/2 hat, können die modifizierten Werte predSamples[x, y] der Samples 720 des oberen Randes abgeleitet werden durch Gleichung 6. predSamples[x, y] = (p[–1, y] + p[x, –1])/2, mit x = 0..nS – 1, y = 0 Gleichung 6
-
Der Koeffizient des Filters ist nicht beschränkt auf [1 1]/2, sondern es können Filter angewandt werden, welche Koeffizienten haben, wie [1 3]/4 und [1 7]/8. Der Koeffizient des Filters kann angepasst bestimmt werden abhängig von der Größe des aktuellen Blocks.
-
Auf der anderen Seite kann des Weiteren Information von benachbarten Blöcken berücksichtigt werden bei der Durchführung der Filterung auf den oberen Referenz-Samples. Beispielsweise können die modifizierten Werte der Samples 720 des oberen Randes abgeleitet werden, wie ausgedrückt durch Gleichung 7, unter Berücksichtigung der Variation von Samplewerten abhängig von den x-Koordinatenwerten der Samples 720 des oberen Randes relativ zu dem linken oberen Referenz-Sample 740. predSamples[x, y] = p[–1, y] + (p[x, –1] – p[–1, –1], mit x = 0..nS – 1, y = 0 Gleichung 7
-
Wenn die Werte der Samples 720 des oberen Randes abgeleitet werden unter Verwendung des oben angegebenen Verfahrens, können die Werte des prädizierten Samples eine definierte Bittiefe übersteigen. Daher können die Werte der prädizierten Samples beschränkt sein auf die definierte Bittiefe, oder eine Gewichtung kann gegeben werden zur Differenz dazwischen. Beispielsweise kann im Fall von prädizierten Samples von Luma-Komponenten, die modifizierten Werte der Samples 720 des oberen Randes abgeleitet werden durch Gleichung 8. predSamples[x, y] = Clip1Y(p[–1, y] + ((p[x, –1] – p[–1, –1])/2)) mit x = 0..nS – 1, y = 0 Gleichung 8
-
Auf der anderen Seite, kann das Verfahren des Anwendens des Glättungsfilters auf Samples des linken Randes oder die Samples des oberen Randes auf Basis des Prädiktionsmodus des aktuellen Blocks angewandt werden auf andere gerichteten Intra-Prädiktionsmodi zusätzlich zum vertikalen Prädiktions-Modus und/oder zum horizontalen Prädiktions-Modus.
-
Beispielsweise können die gerichteten Intra-Prädiktionsmodi klassifiziert werden abhängig von der Prädiktionsrichtung und die Filterung kann angepasst ausgeführt werden abhängig von den Gruppen zu welcher der entsprechende Modus gehört.
-
8 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Intra-Prädiktionsmodi klassifiziert sind abhängig von der Prädiktionsrichtung.
-
Wenn die Prädiktionsrichtung eines Intra-Prädiktionsmodus eine oben-rechts-Richtung 810 ist, kann der Glättungsfilter angewandt werden auf die Samples des linken Randes, ähnlich wie im vertikalen Prädiktionsmodus. Wenn die Prädiktionsrichtung eines Intra-Prädiktionsmodus eine links-unten-Richtung 820 ist, kann der Glättungsfilter angewandt werden auf die Samples des oberen Randes, ähnlich zum horizontalen Prädiktionsmodus.
-
9 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eines Intra-Prädiktionsmodus die oben-rechts-Richtung entsprechend einer Ausführungsform der Erfindung ist.
-
Wie es oben beschrieben wurde, wenn ein aktueller Block 900 kodiert wird in einem gerichteten Intra-Prädiktionsmodus, in welchem die Prädiktionsrichtung die oben-rechts Richtung ist, werden die Werte der prädizierten Bildpunkte abgeleitet als Werte von Referenz-Bildpunkten 910, welche in der Prädiktionsrichtung lokalisiert sind von den Referenz-Samples, welche benachbart sind zum rechten Rand des aktuellen Blocks und ein Referenz-Sample 910 lokalisiert an der oberen rechten Ecke. Die Referenz-Samples, welche benachbart sind zu dem linken Rand des aktuellen Blocks 900 werden hierbei nicht benutzt, sondern sind benachbart zu den linken Samples des linken Randes. Das heißt, die Samples 920 des linken Randes haben eine Distanz zu den linken Referenz-Samples 930, die geringer ist als die Distanz zu den Referenz-Samples 910, welche lokalisiert sind in der Prädiktionsrichtung. Die linken Referenz-Samples 930 bezeichnen Samples [–1, y], welche benachbart sind zu dem linken Rand des aktuellen Blocks, und welche die gleiche y-Koordinate aufweisen. Folglich, da es eine hohe Wahrscheinlichkeit gibt, dass die Werte der Samples 920 des linken Randes ähnlich sind zu den Werten der angrenzenden linken Referenz-Samplee 930, kann der Glättungsfilter angewandt werden zu den Samples 920 des linken Randes, wie in der 9 illustriert. Der schraffierte Bereich 905 in der Zeichnung repräsentiert den Bereich, welcher vom Filter bearbeitet wird.
-
10 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eines Intra-Prädiktionsmodus die links-unten-Richtung ist, entsprechend einer Ausführungsform der Erfindung.
-
Wie oben beschrieben wurde, wenn ein aktueller Block 1000 kodiert wird in einem gerichteten Intra-Prädiktionsmodus, in welchem die Prädiktionsrichtung die links-unten Richtung ist, werden die Werte der prädizierten Samples abgeleitet als die Werte der Referenz-Samples 1030, welche lokalisiert sind in der Prädiktions-Richtung von den Referenz-Samples, welche benachbart sind zu dem linken Rand des aktuellen Blocks und ein Referenz-Sample, welches lokalisiert ist an der linken unteren Ecke. Die Referenz-Samples, welche benachbart sind zum oberen Rand des aktuellen Blocks 1000, werden hierbei nicht verwendet sondern sind benachbart zu den Samples des oberen Randes. Das heißt, dass die Samples 1020 des oberen Randes eine Distanz zu den oberen Referenz-Samples 1010 aufweisen, welche geringer ist als die Distanz zu den Referenz-Samples 1030, welche in der Prädiktions-Richtung lokalisiert sind. Die oberen Referenz-Samples 1010 bezeichnen Samples [x, –1], welche benachbart sind zu dem oberen Rand des aktuellen Blocks und welche die gleiche x-Koordinate aufweisen. Folglich, da es eine hohe Wahrscheinlichkeit gibt, dass die Werte der Samples 1020 des oberen Randes ähnlich sind zu den Werten der angrenzenden oberen Referenz-Samples 1030, kann der Glättungsfilter angewandt werden auf die Samples 1020 des oberen Randes, wie in der 10 illustriert ist. Der schraffierte Bereich 1005 in der Zeichnung repräsentiert die durch den Filter bearbeitete Fläche.
-
Auf der anderen Seite, wie oben beschrieben wurde, die Prozedur des Ableitens der Werte der prädizierten Samples wurde beschrieben in zwei Schritten, des Schritts des Ableitens der Werte der Referenz-Samples, welche in der Prädiktionsrichtung lokalisiert sind als die Werte der prädizierten Samples, und des Schritts des Filterns und Modifizierens Samples des Randes, welche nicht lokalisiert sind in der Prädiktions-Richtung, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks zum Zweck der Vereinfachung der Klärung. Jedoch kann die Prozedur des Ableitens der Werte der prädizierten Samples auch nicht unterteilt werden in mehrere Schritte, sondern kann ausgeführt werden in einem einzigen Schritt. Beispielsweise kann in der Prozedur des Ableitens der Werte der Samples des Randes, welche nicht lokalisiert sind in der Prädiktions-Richtung, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, der Schritt der Filterung kann beispielsweise nicht ausgeführt werden als ein unabhängiger Schritt sondern ausgeführt werden als ein vereinigter Schritt mit dem Schritt des Ableitens der Werte der prädizierten Samples als die Werte der Referenz-Samples, welcher lokalisiert sind in der Prädiktionsrichtung.
-
Beispielsweise können in dem Beispiel, welches in der 6 illustriert ist, die Werte der Samples 620 des linken Randes abgeleitet werden auf Basis der oberen Referenz-Samples 610 und den Referenz-Samples 630, welche angrenzend sind zu den Samples des linken Randes, wie durch die Gleichungen 3 bis 5 ausgedrückt ist.
-
Beispielsweise können in dem Beispiel, welches in der 7 illustriert ist, die Werte der Samples 720 des oberen Randes abgeleitet werden auf Basis der linken Referenz-Samples 730 und der Referenz-Samples 710, welche angrenzend sind zu den Samples des oberen Randes, wie ausgedrückt ist durch die Gleichungen 6 bis 8.
-
Beispielsweise können in dem Beispiel, welches in der 9 illustriert ist, die Werte Samples 920 des linken Randes abgeleitet werden auf Basis der Referenz-Samples 910, welche lokalisiert sind in der Prädiktionsrichtung und den Referenz-Samples 930, welche angrenzend sind zu den Samples des linken Randes.
-
Beispielsweise können in dem Beispiel, welches in der 10 illustriert ist, die Werte der Samples 1020 des oberen Randes abgeleitet werden auf Basis der Referenz-Samples 1030, welche lokalisiert sind in der Prädiktionsrichtung und den Referenz-Samples 1010, welche angrenzend sind zu den Samples des oberen Randes.
-
Auf der anderen Seite, da der Glättungsfilter nicht angewandt wird auf die prädizierten Samples, welche unterschiedlich sind zu den Samples es Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, sind die Werte der prädizierten Samples abgeleitet als die Werte der Referenz-Samples in der Prädiktionsrichtung.
-
Wenn beispielsweise ein aktueller Block kodiert wird im vertikalen Prädiktionsmodus, werden Werte von prädizierten Samples, welche unterschiedlich sind zu den Samples des linken Randes, abgeleitet wie durch die Gleichung 9 ausgedrückt. predSamples[x, y] = p[x, –1], mit x = 1..nS – 1, y = 0..nS – 1 Gleichung 9
-
Wenn beispielsweise ein aktueller Block kodiert wird im horizontalen Prädiktionsmodus werden die Werte der prädizierten Samples, welche unterschiedlich sind zu den Samples des oberen Randes, abgeleitet, wie durch Gleichung 10 ausgedrückt. predSamples[x, y] = p[–1, y], mit x = 0..nS – 1, y = 1..nS – 1 Gleichung 10
-
Auf der anderen Seite, kann beispielsweise das Verfahren des Anwendens des Glättungsfilters auf die linken Randsamplee oder die oberen Randsamplee auf Basis des Prädiktions-Modus des aktuellen Blocks nicht angewandt werden auf alle prädizierten Samples der Samples des Randes sondern nur angewandt werden auf einigen davon.
-
Wenn die Distanz zu den Referenz-Samples, welche für die gerichtete Prädiktion verwendet werden, gering ist, kann der Fehler des prädizierten Samples nicht groß sein. In diesem Fall ist es eher korrekt, den Glättungsfilter nicht anzuwenden, das heißt nicht andere Sample-Information zu verwenden. Daher kann abhängig von den Positionen der Samples des Randes im Block bestimmt werden, ob die Filterung durchgeführt werden soll auf den angrenzenden Referenz-Samples.
-
Beispielsweise kann der Glättungsfilter angewandt werden lediglich auf einigen der Samples des linken Randes im vertikalen Prädiktionsmodus oder der Glättungsfilter kann angewandt werden nur auf einige der Samples des obere Randes im horizontalen Prädiktionsmodus.
-
11 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eines Intra-Prädiktionsmodus vertikal ist, gemäß einer weiteren Ausführungsform der Erfindung. Wie in der 11 gezeigt ist, kann beispielsweise der Glättungsfilter angewandt werden nur auf einige der Samples des linken Randes. Das heißt, je größer die Distanz zu den Referenz-Samples wird, welche für die Prädiktion verwendet werden, desto geringer wird die Prädiktions-Genauigkeit. Daher wird der Glättungsfilter beispielsweise angewandt nur auf die Samples in dem Bereich, welcher eine geringe Genauigkeit hat.
-
Beispielsweise kann der Glättungsfilter angewandt werden lediglich auf die Samples 1020 des linken Randes von den Samples des linken Randes bezüglich zur Hälfte der Höhe des aktuellen Blocks 1100, welche beabstandet angeordnet sind von den oberen Referenz-Samples 1010. Der schraffierte Bereich 1105 in der Zeichnung repräsentiert den durch den Filter bearbeiteten Bereich.
-
Auch wenn der Prädiktionsmodus des aktuellen Blocks der horizontale Prädiktionsmodus ist, kann bestimmt werden, ob die Filterung angewandt werden soll auf die angrenzenden Referenz-Sampes abhängig von der Position der Samples des oberen Randes im Block.
-
12 ist ein Diagramm, welches ein Beispiel illustriert, in welchem die Prädiktionsrichtung eines Intra-Prädiktionsmodus horizontal ist entsprechend einer weiteren Ausführungsform der Erfindung. Wie in der 12 gezeigt ist, kann der Glättungsfilter beispielsweise angewandt werden lediglich auf einige der Samples des oberen Randes.
-
Beispielsweise kann der Glättungsfilter angewandt werden lediglich auf die oberen Samples 1220 des oberen Randes von den Samples des oberen Randes bezüglich der Hälfte der Länge des aktuellen Blocks 1200, welche beabstandet sind von den linken Referenz-Samples 1230. Der schraffierten Bereich 1205 in der Zeichnung repräsentiert den durch den Filter bearbeiteten Bereich.
-
Auf der anderen Seite ist der Bereich, auf welchen der Glättungsfilter angewandt wird, nicht beschränkt auf die Hälfte der Höhe oder Länge des aktuellen Blocks. Das heißt, der Bereich kann gesetzt werden, so dass er eine Größe hat von 1/4 oder 3/4 davon oder kann angepasst bestimmt werden auf Basis der Distanz zu den Samples, welche für die Prädiktion verwendet werden, abhängig von dem Intra-Prädiktionsmodus. In diesem Fall kann der Bereich, auf welchen der Glättungsfilter angewandt wird, definiert werden in einer Lookup-Tabelle, um einen rechnerischen Aufwand des Kodierers oder Dekodierers zu verringern.
-
Auf der anderen Seite kann der technische Gehalt der Erfindung nicht nur angewandt werden sowohl auf die Luma-Komponente als auch wie auf die Chroma-Komponente sondern kann angewandt werden auf lediglich die Luma-Komponente und nicht angewandt werden auf die Chroma-Komponente. Damit der technische Gehalt der Erfindung lediglich angewandt wird auf die Luma-Komponente, werden die Werte der prädizierten Samples der Chroma-Komponente abgeleitet unter Verwendung des gleichen Verfahrens wie in einem generellen Intra-Prädiktionsmodus.
-
13 ist ein Diagramm, welches schematisch die Arbeitsweise eines Kodierers in einem System gemäß der Erfindung illustriert.
-
Der Kodierer führt einen Prädiktionsprozess auf einem aktuellen Block aus (S1310). Der Kodierer konstruiert einen prädizierten Block des aktuellen Blocks auf der Basis des Prädiktionsmodus des aktuellen Blocks. Die benachbarten Samples des aktuellen Blocks können hierbei verwendet werden als Referenz-Sampls, um die Werte des prädizierten Samples abzuleiten.
-
Wenn der Prädiktionsmodus des aktuellen Blocks ein gerichteter Intra-Prädiktionsmodus ist, kann der Kodierer die Werte der Samples des Randes, welche nicht lokalisiert sind in der Prädiktions-Richtung des gerichteten Intra-Prädiktionsmodus, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, abgeleitet werden auf Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktionsrichtung und den Referenz-Samples, welche angrenzend sind zu den Samples des Randes. Die Samples des Randes bedeuten hierbei Samples, welche lokalisiert sind in dem prädizierten Block und welche benachbart sind zu dem Rand des prädizierten Blocks.
-
Wenn der gerichtete Intra-Prädiktionsmodus beispielsweise der vertikale Prädiktionsmodus ist, kann der Dekodierer die Werte der Samples des linken Randes ableiten auf Basis der oberen Referenz-Samples der Samples des linken Randes und die Referenz-Samples, welche angrenzend zu den Samples des linken Randes sind. Die oberen Referenz-Samples bezeichnen hierbei Samples, welche benachbart sind zu dem oberen Rand des aktuellen Blocks und welche die gleiche x-Koordinate aufweisen.
-
Beispielsweise kann, wenn der gerichtete Intra-Prädiktionsmodus der vertikale Prädiktionsmodus ist, der Kodierer die Werte der Samples des linken Randes ableiten auf der Basis der oberen Referenz-Samples der Samples des linken Randes, der Referenz-Samples, welche angrenzend zu den Samples des linken Randes sind und dem Referenz-Sample, welcher benachbart ist zu der linken oberen Ecke des aktuellen Blocks.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktionsmodus der horizontale Prädiktionsmodus ist, kann der Dekodierer die Werte der Samples des oberen Randes ableiten auf Basis der linken Referenz-Samples der Samples des oberen Randes und der Referenz-Samples, welche angrenzend sind zu den Samples des oberen Randes. Die linken Referenz-Samplee bedeuten hierbei Samples, welche benachbart sind zu dem linken Rand des aktuellen Blocks und welche eine gleiche y-Koordinate aufweisen.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktions-Modus der horizontale Prädiktionsmodus ist, kann der Dekodierer die Werte der Samples des Oberen Randes ableiten auf der Basis der linken Referenz-Samples der Samples oberen Randes, der Referenz-Samples, welche angrenzend sind zu den Samples des oberen Randes und dem Referenz-Sample, welches benachbart ist zu der linken oberen Ecke des aktuellen Blocks.
-
Beispielsweise, wenn die Prädiktionsrichtung des Prädiktionsmodus eine oben-rechts-Richtung ist, kann der Dekodierer die Werte der Samples des linken Randes ableiten auf Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktions-Richtung und den Referenz-Samples, welche benachbart sind zu den Samples des linken Randes.
-
Beispielsweise, wenn die Prädiktionsrichtung des Prädiktionsmodus eine links-unten-Richtung ist, kann der Decoder die Werte der Samples des oberen Randes ableiten auf der Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktions-Richtung und den Referenz-Samples, welche angrenzend sind zu den Samples des oberen Randes.
-
Auf der anderen Seite, kann der Kodierer die Werte der prädizierten Samples, welche unterschiedlich sind zu den Randsamples, welche nicht lokalisiert sind in der Prädiktions-Richtung des gerichteten Intra-Prädiktionsmodus, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, ableiten als die Werte der Referenz-Datenwerte, welche in der Prädiktions-Richtung lokalisiert sind.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktionsmodus der vertikale Prädiktionsmodus ist, kann der Dekodierer die Werte der prädizierten Samples ableiten als die Werte der oberen Referenz-Samples der prädizierten Samples.
-
Beispielsweise, wenn der intra-gerichtete Prädiktionsmodus der horizontale Prädiktionsmodus ist, kann der Kodierer die Werte des prädizierten Samples ableiten als die Werte der linken Referenz-Samples der prädizierten Samples.
-
Der Kodierer Entropiekodiert Information des prädizierten Blocks, welcher konstruiert wurde im Prädiktions-Schritt S1310 (S1320). Wie oben beschrieben wurde, können Kodierungsverfahren wie exponentielle Golomb-Kodierung und CABAC verwendet werden zur Entropiekodierung und Codewörter können zugewiesen werden unter Berücksichtigung einer Auftrittshäufigkeit eines Prädiktionsmodus oder eines Prädktions-Typs.
-
Der Kodierer signalisiert Information, welche im Entropiekodierungs-Schritt S1320 kodiert wurde (S1330). Beispielsweise kann der Kodierer eine Prädiktionsmodus-Information signalisieren und das Restsignal zwischen dem prädizierten Block und dem Originalblock. Wenn der Glättungsfilter angewandt ist auf die Prozedur des Ausführens der Intra-Prädiktion, kann die Information über die Koeffizienten des Glättungsfilters signalisiert werden.
-
14 ist ein Diagramm, welches schematisch die Arbeitsweise eines Dekodierers in einem System gemäß der Erfindung illustriert.
-
Der Dekodierer empfängt Information von einem Kodierer (S1410). Die Information, welche vom Kodierer empfangen wird, kann bereitgestellt werden mit einem Bitstream, welchem die Information aufgeladen wurde.
-
Der Dekodierer Entropiedekodiert die Information, welche im Informations-Empfangs-Schritt (S1410) empfangen wurde (S1420). Der Kodierer kann Information gewinnen für die Prädiktion des aktuellen Blocks, wie beispielsweise die Prädiktionsverfahren (Inter-Prädiktion/Intra-Prädiktion) des aktuellen Blocks, ein Bewegungsvektor (Inter-Prädiktion), ein Prädiktions-Modus (Intra-Prädiktion) und ein Restsignal, in dem Entropiedekodierungs-Schritt S1420.
-
Der Dekodierer führt einen Prädiktionsprozess aus auf dem aktuellen Block auf Basis der Information, welche in dem Entropiedekodierungs-Schritt S1420 gewonnen wurde (S430). Der Dekodierer konstruiert einen prädizierten Block des aktuellen Blocks auf der Basis des Prädiktionsmodus des aktuellen Blocks. Die benachbarten Samplewerte des aktuellen Blocks können hierbei verwendet werden als Referenz-Samples um die Werte des prädizierten Samples abzuleiten.
-
Das Prädiktions-Verfahren, welches im Dekodierer ausgeführt wird, ist identisch oder ähnlich zum Prädiktions-Verfahren, welches im Kodierer ausgeführt wird.
-
Das heißt, wenn der Prädiktionsmodus des aktuellen Blocks ein gerichteter Intra-Prädiktionsmodus ist, kann der Dekodierer die Werte der Sample des Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung des intra-gerichteten Prädiktions-Modus, von den Samples des linken Randes und den Samples des oberen Randes des prädizierten Blocks, ableiten auf Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktions-Richtung und den Referenz-Samples, welche angrenzend sind zu den entsprechenden Samples des Randes.
-
Beispielsweise wenn der intra-gerichtete Prädiktions-Modus der vertikale Prädiktions-Modus ist kann der Dekodierer die Werte der linken Randsamplee ableiten auf Basis der oberen Referenz-Samplee und der linken Randsamplee und den Referenz-Sampleen, welche angrenzend sind zu den linken Randsampleen.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktionsmodus der vertikale Prädiktionsmodus ist, kann der Dekodierer die Werte Samples des linken Randes ableiten auf Basis der oberen Referenz-Samples der Samples des linken Randes, der Referenz-Samples angrenzend zu den Samples des liken Randes, und dem Referenz-Sample, welcher benachbart ist zu der linken oberen Ecke des aktuellen Blocks.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktionsmodus der horizontale Prädiktionsmodus ist, kann der Dekodierer die Werte Samples des oberen Randes ableiten auf der Basis der linken Referenz-Samples der Samples des oberen Randes und der Referenz-Samples, welche benachbart sind zu den Samples des oberen Randes.
-
Beispielsweise kann der Dekodierer, wenn der gerichtete Intra-Prädiktionsmodus der horizontale Prädiktionsmodus ist, die Werte der Samples des oberen Randes ableiten auf der Basis der linken Referenz-Samples der Samples des oberen Randes, der Referenz-Samples, welche angrenzend sind zu den Samples des oberen Randes und dem Referenz-Sample angrenzend zu der linken oberen Ecke des aktuellen Blocks.
-
Beispielsweise, wenn die Prädiktionsrichtung des Prädiktionsmodus eine oben-rechts-Richtung ist, kann der Dekodierer die Werte der Samples des linken Randes ableiten auf der Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktions-Richtung und der Referenz-Samples, welche angrenzend sind zu den Samples des linken Randes.
-
Beispielsweise, wenn die Prädiktionsrichtung des Prädiktionsmodus eine links-unten-Richtung ist, kann der Kodierer die Werte der Samples des oberen Randes ableiten auf der Basis der Referenz-Samples, welche lokalisiert sind in der Prädiktionsrichtung und den Referenz-Samples, welche benachbart zu den Samples des oberen Randes sind.
-
Der Dekodierer kann die Werte der prädizierten Samples, welche unterschiedlich sind zu den Samples des Randes, welche nicht lokalisiert sind in der Prädiktionsrichtung des gerichteten Intra-Prädiktionsmodus von den Samples des linken Randes und den Samples des rechen Randes, ableiten als die Werte der Referenz-Samples, welche lokalisiert sind in der Prädiktions-Richtung.
-
Beispielsweise, wenn der gerichtete Intra-Prädiktionsmodus der vertikale Prädiktionsmodus ist, kann der Dekodierer die Werte der prädizierten Samples ableiten als die Werte der oberen Referenz-Samples der prädizierten Samples.
-
Beispielsweise, wenn der intra-gerichtete Prädiktions-Modus der horizontale Prädiktionsmodus ist, kann der Dekodierer die Werte der prädizierten Samples ableiten als die Werte der linken Referenz-Samples der prädizierten Samples.
-
Der Dekodierer rekonstruiert ein Bild auf der Basis des prädizierten Blocks, welcher im Prädiktions-Schritt S1430 konstruiert wurde (S1440).
-
Während die Verfahren in dem oben angegebenen exemplarischen System beschrieben wurden auf Basis von Flussdiagrammen, welche eine Serie von Schritten oder Blöcken umfasst, ist die Erfindung nicht beschränkt auf die Anordnung der Schritte, und ein bestimmter Schritt kann ausgeführt werden in einem Schritt oder eine Anordnung, welche unterschiedlich ist zu der oben beschriebenen oder zur gleichen Zeit, wie oben beschrieben. Die oben beschriebenen Ausführungsformen können verschiedene Beispiele umfassen. Daher umfasst die Erfindung alle Substitutionen, Korrekturen und Modifikationen, welche zu den beiliegenden Ansprüchen gehören.
-
Wenn es erwähnt ist, dass ein Element ”verbunden ist mit” oder ”gekoppelt ist mit” einem anderen Element, so sollte darunter verstanden werden, dass immer noch ein anderes Element dazwischen eingefügt sein kann, genauso wie dass das Element direkt verbunden oder gekoppelt ist mit dem anderen Element. Auf der anderen Seite, wenn es erwähnt ist, dass ein Element ”direkt verbunden ist mit” oder ”direkt gekoppelt ist mit” einem anderen Element, sollte darunter verstanden werden, dass dennoch ein anderes Element nicht mehr dazwischen angeordnet ist.