-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf Komprimierung von digitalen Videosignalen und genauer auf ein Verfahren und eine Vorrichtung zum Einsetzen alternativer Block-Abtastreihenfolgen, um die Effizienz der Komprimierung zu verbessern.
-
HINTERGRUND DER ERFINDUNG
-
Kürzliche Entwicklungen in Kommunikationssystemen und Signalkomprimierungstechnologie haben Punkt-zu-Punkt-Videokommunikation zu einer technischen Möglichkeit gemacht. Die verschiedenen Anwendungen von Punkt-zu-Punkt-Videokommunikation können nach dem Umfang von Bandbreite, der zur Übertragung der Videosignale verfügbar ist, klassifiziert werden. Zum Beispiel haben kommerziell verfügbare Videokonferenzsysteme, die dedizierte Leitungen verwenden, einige hundert kbps (Kilobit pro Sekunde) an Bandbreite zur Signalübertragung verfügbar. Im Gegensatz dazu hat eine persönliche Kommunikationsvorrichtung, wie etwa ein Videotelefon unter Verwendung gewöhnlicher Telefonleitungen oder drahtloser Kanäle nur ungefähr 20 kbps an Bandbreite verfügbar. Deshalb ist eine gewisse Komprimierung der Videosignale zur Übertragung unter Verwendung derartiger persönlicher Kommunikationsvorrichtungen notwendig.
-
Im allgemeinen bezieht sich Videosignalkomprimierung auf die Technik von mehr oder weniger transparentem Minimieren des Umfangs an Bandbreite, die erforderlich ist, um die Information in dem Videosignal zu übertragen. Komprimierung wird auf Grund eines hohen Grades an Redundanz sowohl innerhalb jedes Bildrahmens als auch zwischen aufeinanderfolgenden Bildrahmen des Videosignals möglich gemacht. Mit anderen Worten, ein Bildrahmen kann sich nur leicht von dem (den) vorangehenden Bildrahmen unterscheiden, oder ein Abschnitt eines Bildrahmens kann sich nur leicht von einem anderen Abschnitt des gleichen Bildrahmens unterscheiden. Die Redundanz erlaubt gewissen Abschnitten eines Bildrahmens, basierend auf den vorangehenden Bildrahmen oder den vorangehenden Abschnitten innerhalb des gleichen Bildrahmens extrapoliert oder vorhergesagt zu werden. Folglich kann der Umfang an Information in dem Videosignal, die tatsächlich übertragen werden muss, wesentlich verringert werden.
-
Eine Anzahl von Kodierungsstandards, wie etwa ITU-T Empfehlung H.263 und ISO-Standard MPEG-4, wurden entwickelt um zu helfen, die Übertragung von Videosignalen über Medien mit geringer Bandbreite zu standardisieren. Unter derartigen Standards wird jeder Rahmen des Videosignals in kleinere Regionen unterteilt, die Makroblöcke genannt werden. Bezugnehmend z. B. auf 1 ist jeder Rahmen 10 eines QCIF-(Quarter Common Interface Format)-Bildes in 9×11-Makroblöcke 12 unterteilt, wobei jeder aus 16×16 = 256 Pixeln besteht. In gegenwärtigen Standards ist jeder Makroblock in Einheiten von 8×8 Pixelblöcken oder 4×8 Pixelblöcken in gewissen verschränkten Modi kodiert. Die Blockgröße wird normalerweise aus der Größe einer Transformation bestimmt, die in den meisten Fällen eine 8×8-DCT (Discrete Cosine Transform, diskrete Cosinus-Transformation) ist. In der Arbeit in Richtung zukünftiger Standards jedoch wurde die Verwendung von kleineren Blöcken wie 4×4-Pixeln oder anderer Transformationen wie 4×4-Hadamard-Transformation vorgeschlagen. Da die Wirkung von unterschiedlichen Block-Abtastreihenfolgen unter Verwendung von 4×4-Pixelblöcken besser visualisiert wird, wird dieser Fall als ein Beispiel in 1 verwendet, wo gezeigt wird, dass jeder Makroblock 12 einen Bereich von 4×4-Blöcken 14 definiert, wobei jeder Block aus 4×4 = 16 Pixeln 16 besteht.
-
In den meisten Kodierungsschemata werden die Makroblöcke 12 ein Makroblock nach dem anderen beginnend von links nach rechts innerhalb jedes Bildrahmens 10 kodiert. Ähnlich werden die Blöcke 14 ein Block nach dem anderen beginnend von links nach rechts innerhalb jedes Makroblocks 12 kodiert. Der Klarheit wegen wird die Kodier- oder Abtastreihenfolge der Blöcke 14 in dem Makroblock 12 von 1–16 in aufsteigender Reihenfolge nummeriert.
-
Diese Block-Abtastreihenfolge berücksichtigt jedoch nicht die Verfügbarkeit (oder deren Fehlen) von benachbarten Makroblöcken für Vorhersagezwecke. Wie zuvor erwähnt erlaubt der hohe Grad von Inhaltsredundanz innerhalb eines Bildrahmens und zwischen aufeinanderfolgenden Bildrahmen einem Block, basierend auf den umgebenden oder benachbarten Blöcken extrapoliert oder vorhergesagt zu werden. Spezieller ermöglicht die Redundanz eine Vorhersage von Pixeln oder von DCT-Koeffizienten oder anderen Transformationskoeffizienten, die in dem Kodierungsschema verwendet werden, die Farbe und Leuchtkraft der Pixel in den Blöcken darzustellen. Die Bewegung der Pixel kann auch basierend auf dieser Redundanz vorhergesagt werden. Je größer der Umfang von Information ist, die zur Vorhersage verwendet werden kann, desto genauer wird im allgemeinen die Vorhersage der Pixel in einem Block sein und deshalb wird der Rest-Vorhersagefehler kleiner und billiger zu kodieren sein, was zu einem höheren Komprimierungsverhältnis und höherer Qualität des übertragenen Video führt.
-
Bei Inter-Kodierungsschemata basiert eine Vorhersage auf den gesamten zuvor kodierten Bildrahmen. Bei Intra-Kodierungsschemata jedoch sind nur die zuvor kodierten Makroblöcke innerhalb des gleichen Bildrahmens oder innerhalb des gleichen Segments eines segmentierten Bildrahmens verfügbar, z. B. jene Makroblöcke, die sich oberhalb oder links von der gleichen Zeile des Makroblocks befinden, der gegenwärtig kodiert wird. Nicht alle Makroblöcke haben jedoch die gleiche Anzahl von benachbarten Makroblöcken. In der Tat sind in einigen Fällen keine Blöcke oberhalb oder links vom gerade kodierten Makroblock verfügbar. Deshalb ist es für diese Makroblöcke wünschenswert, die Block-Abtastreihenfolge abstimmen zu können, um den Vorhersagenutzen von beliebigen zuvor kodierten Makroblöcken, die verfügbar sein können, zu maximieren.
-
Einige Verfahren des Stands der Technik, wie etwa das, das erscheint, um im europäischen Patent Nr.
EP-836328 offengelegt zu werden, adaptieren die Abtastreihenfolge der DCT-Koeffizienten nach Erfassen der Bildkanten innerhalb des Bildes. Andere Verfahren des Stands der Technik, wie etwa das, das erscheint, um im
US-Patent Nr. 4,951,157 und im
japanischen Patent Nr. 01177786 offengelegt zu werden, versuchen die Blockgrenzeffekte durch Verwendung bestimmter symmetrischer Abtastreihenfolgen zu reduzieren.
-
Noch andere Verfahren des Stands der Technik, wie etwa das, was in einem vorgeschlagenen zusätzlichen Anhang V von ITU-T Empfehlung H.263 beschrieben wird, verwenden eine feste modifizierte Abtastreihenfolge für Bewegungsvektoren für alle Blöcke, wenn ein bestimmter datenpartitionierter Scheibenmodus verwendet wird.
-
Der Literaturhinweis
EP 0 833 521 legt ein Verfahren und eine Vorrichtung zum Durchführen einer Grenzblockzusammenführung von Makroblöcken eines Bildes offen, wobei somit mindestens ein Grenzblock in einen externen Block konvertiert wird. Der Literaturhinweis lehrt ferner, dass der konvertierte Block vorbestimmte Werte der AC/DC-Koeffizienten hat und nicht kodiert ist, wie es konventionell geschieht. Der Literaturhinweis lehrt ferner, dass das Kodieren in einem Zickzack-Abtastmuster angewendet wird.
-
Der Literaturhinweis
EP 0 633 703 legt eine Kodierung von Videosignalen durch Unterteilen eines Videosignals in Blöcke, Kombinieren einer Anzahl von Blöcken, um Makroblöcke zu bilden, Verwürfeln der Makroblöcke und Kodieren der verwürfelten Makroblöcke Block für Block offen. Das Verwürfeln wird durch erneutes Anordnen der Blöcke oder durch Ändern des Mischungsmusters der Makroblöcke durchgeführt.
-
Schließlich ist aus der
US 5,638,068 A ein Verarbeitungsschema für Bilder bekannt, welches sich zweidimensionaler Vorwärtstransformationen bedient. Im Einzelnen wird dort gelehrt, dass eine Mehrzahl von Makroblöcken als Teil eines Rahmens gemäß einer sog. bevorzugten Sequenz aneinandergereiht werden. Diese bevorzugte Sequenz berücksichtigt jedoch nur statisch eine Position eines entsprechenden Makroblocks innerhalb eines Rahmens, und weder eine dynamische noch eine der jeweiligen Situation entsprechend angepasste Abtastreihenfolge.
-
Diese Verfahren des Stands der Technik versagen jedoch insgesamt, den Vorhersagenutzen beliebiger zuvor kodierter Blöcke, die verfügbar sein können, durch Abstimmen der Abtastreihenfolge der Blöcke zu maximieren.
-
Eine vollständigere Einschätzung der vorliegenden Erfindung und deren Bereichs kann aus den begleitenden Zeichnungen (die nachstehend kurz zusammengefasst werden), der folgenden detaillierten Beschreibung der gegenwärtig bevorzugten Ausführungsformen der Erfindung und den angefügten Ansprüchen erhalten werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die vorliegende Erfindung richtet sich auf ein Verfahren oder eine Vorrichtung zum Maximieren des Vorhersagenutzens von zuvor kodierten Makroblöcken durch Abstimmen der Abtastreihenfolge der Blöcke innerhalb eines zu kodierenden Makroblocks. Wo keine zuvor kodierten Blöcke oberhalb des gerade kodierten Makroblocks verfügbar sind, berücksichtigen die alternativen Abtastreihenfolgen einen maximalen Nutzen von zuvor kodierten Blöcken, die sich links vom gerade kodierten Makroblock befinden. Wo keine zuvor kodierte Blöcke entweder oberhalb oder links vom gerade kodierten Makroblock verfügbar sind, berücksichtigen die alternativen Abtastreihenfolgen einen maximalen Nutzen von Information von Blöcken, die gegenwärtig in dem gleichen Makroblock kodiert werden. Die verwendete bestimmte Abtastreihenfolge kann basierend auf dem Standort des gerade kodierten Makroblocks implizit signalisiert werden oder sie kann durch Kodeworte innerhalb des Bitstroms, der die kodierte Blockinformation enthält, explizit signalisiert werden. In dem Fall, wo die Abtastreihenfolge explizit durch ein Kodewort zu signalisieren ist, kann die optimale Abtastreihenfolge von unter einer oder mehr Abtastreihenfolgen für ein beliebiges bestimmtes Bild oder Makroblock gewählt werden.
-
In einer vorteilhaften Ausgestaltung bezieht sich die Erfindung auf ein Verfahren zum Verbessern von Kodierungseffizienz in einem Videosignal-Kodierungsprotokoll. Das Verfahren umfasst ein Unterteilen eines Videosignals in eine Vielzahl von zu kodierenden Makroblöcken, wobei jeder Makroblock eine Vielzahl von Blöcken in Zeilen und Spalten enthält; ein Auswählen einer Block-Abtastreihenfolge für jeden der zu kodierenden Makroblöcke, sodass die Blöcke spaltenweise aneinandergereiht werden, wenn über der ersten Zeile von Blöcken in dem Makroblock keine benachbarten Blöcke verfügbar sind, die Blöcke zeilenweise aneinandergereiht werden, wenn links neben der ersten Spalte von Blöcken in dem Makroblock keine benachbarten Blöcke verfügbar sind, oder, wenn weder über der ersten Zeile noch links neben der ersten Spalte benachbarten Blöcke verfügbar sind, die Blöcke entweder spaltenweise für die ersten zwei Zeilen und dann zeilenweise oder zeilenweise für die ersten zwei Spalten und dann spaltenweise aneinnandergereiht werden, und ein Kodieren der Vielzahl von Makroblöcken in Übereinstimmung mit der gewählten Block-Abtastreihenfolge.
-
In einer vorteilhaften Ausgestaltung anderen bezieht sich die Erfindung auf ein System zum Kodieren eines Videosignals. Das System umfasst einen Block-Wandler, eingerichtet zum Unterteilen eines Videosignals in eine Vielzahl von zu kodierenden Makroblöcken, wobei jeder Makroblock eine Vielzahl von Blöcken in Zeilen und Spalten enthält; eine Block-Abtastvorrichtung, eingerichtet zum Auswählen einer Block-Abtastreihenfolge für jeden der zu kodierenden Makroblöcke, sodass die Blöcke spaltenweise aneinandergereiht werden, wenn über der ersten Zeile von Blöcken in dem Makroblock keine benachbarten Blöcke verfügbar sind, die Blöcke zeilenweise aneinandergereiht werden, wenn links neben der ersten Spalte von Blöcken in dem Makroblock keine benachbarten Blöcke verfügbar sind, oder, wenn weder über der ersten Zeile noch links neben der ersten Spalte benachbarten Blöcke verfügbar sind, die Blöcke entweder spaltenweise für die ersten zwei Zeilen und dann zeilenweise oder zeilenweise für die ersten zwei Spalten und dann spaltenweise aneinandergereiht werden, und eine Kodiervorrichtung, eingerichtet zum Kodieren der Vielzahl von Makroblöcken in Übereinstimmung mit der gewählten Block-Abtastreihenfolge.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Ein vollständigeres Verstehen des Verfahrens und der Vorrichtung der vorliegenden Erfindung kann durch Bezug auf die folgende detaillierte Beschreibung erhalten werden, wenn sie in Verbindung mit den begleitenden Zeichnungen genommen wird, wobei:
-
1 ein Format für einen Videobildrahmen des Stands der Technik darstellt;
-
2 eine beispielhafte Block-Abtastreihenfolge gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
-
3 eine andere beispielhafte Block-Abtastreihenfolge gemäß einer anderen Ausführungsform der vorliegenden Erfindung darstellt;
-
4 noch eine andere beispielhafte Block-Abtastreihenfolge gemäß noch einer anderen Ausführungsform der vorliegenden Erfindung darstellt;
-
5 ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung darstellt;
-
6 ein Funktionsblockdiagramm einer Videosignal-Komprimierungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
-
7 ein Funktionsblockdiagramm einer Videosignal-Dekomprimierungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
DETAILLIERTE BESCHREIBUNG DER GEGENWÄRTIG BEVORZUGTEN BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
-
Die vorliegende Erfindung wird nun hierin nachstehend mit Bezug auf die begleitenden Zeichnungen, in denen bevorzugte Ausführungsformen der Erfindung gezeigt werden, vollständiger beschrieben.
-
Wie zuvor erwähnt sind bei Intra-Kodierungsschemata nur die zuvor kodierten Makroblöcke, die sich innerhalb des gleichen Bildrahmens befinden, verfügbar, um für eine Vorhersage verwendet zu werden. Einer der Gründe zur Verwendung von Intra-Kodierung ist es, zu verhindern, dass sich Vorhersageungenauigkeiten in einem Bildrahmen zu einem anderen Bildrahmen ausbreiten. Andere Gründe zur Verwendung von Intra-Kodierung sind einem Durchschnittsfachmann wohlbekannt und werden hier nicht dokumentiert.
-
Bezugnehmend auf 2 wird nun ein Makroblock 20 gezeigt, der eine Region von zu kodierenden 4×4-Blöcken 22 definiert. Oberhalb des Makroblocks 20 befinden sich zuvor kodierte Blöcke A, B, C und D (schattierter Bereich) von einem benachbarten Makroblock innerhalb des gleichen Bildrahmens und ein zuvor kodierter Block I von einem anderen benachbarten Makroblock innerhalb des gleichen Bildrahmens. Links von dem Makroblock 20 sind keine Makroblöcke für Vorhersagezwecke verfügbar, da er entlang der linken Kante des Bildrahmens oder Bildsegments liegt. Rechts und unterhalb vom Makroblock 20 befinden sich Blöcke von mehreren noch zu kodierenden benachbarten Makroblöcken innerhalb des gleichen Bildrahmens.
-
Die bestimmte Block-Abtastreihenfolge des Makroblocks 20 in dieser beispielhaften Ausführungsform ist von links nach rechts und von oben nach unten, wie durch die Zahlen 1–16 in ansteigender Reihenfolge angezeigt. Mit anderen Worten werden die Blöcke 22 einer nach dem anderen von links nach rechts gehend kodiert und die Zeilen von Blöcken 22 werden Zeile für Zeile von oben nach unten gehend kodiert. Dies ist die Vorgabeabtastreihenfolge für die meisten gegenwärtig verfügbaren Video-Kodierungsschemata. Wie gesehen werden kann, ist diese Vorgabeabtastreihenfolge auch die beste Abtastreihenfolge für diesen bestimmten Makroblock 20, da sie den Nutzen der zuvor kodierten Blöcken maximiert, die für Vorhersagezwecke verfügbar sind. Jeder Block in dem Makroblock 20 hat oder wird mindestens zwei zuvor kodierte benachbarte Blöcke haben, auf denen Vorhersagen basiert sein können. Zum Beispiel hat der Block, der die Zahl 1 trägt, zuvor kodierte Blöcke A und B als benachbarte Blöcke, von denen Vorhersagen gemacht werden können.
-
Bezugnehmend auf 3 wird nun ein anderer Makroblock 30 gezeigt, der einen Bereich von zu kodierenden 4×4-Blöcken 32 definiert. Der Makroblock 30 ist dem Makroblock 20 in 2 ähnlich mit der Ausnahme, dass er sich entlang der oberen Kante des Bildrahmens oder in der ersten Zeile eines Bildsegments innerhalb des Bildrahmens befindet. Deshalb sind oberhalb des Makroblocks 30 keine Blöcke verfügbar, um für Vorhersagezwecke verwendet zu werden. Links von dem Makroblock 30 befinden sich jedoch zuvor kodierte Blöcke E, F, G und H (schattierter Bereich) von einem benachbarten Makroblock innerhalb des gleichen Bildrahmens. Wie gesehen werden kann, würde die Vorgabeabtastreihenfolge von links nach rechts und von oben nach unten nicht die beste Abtastreihenfolge zur Verwendung für den Makroblock 30 sein. Während z. B. der erste Block in der ersten Zeile zuvor kodierte verfügbare benachbarte Blöcke E und F hat, von denen Vorhersagen gemacht werden können, würde der zweite Block in der ersten Zeile nur einen verfügbaren zuvor kodierten benachbarten Block haben, nämlich den ersten Block in der ersten Zeile. Entsprechend wird eine alternative Block-Abtastreihenfolge benötigt, um den Nutzen der zuvor kodierten Blöcken E, F, G und H, die verfügbar sind, zu maximieren.
-
In einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung kann eine alternative Abtastreihenfolge für den Makroblock 30, die die verfügbare zuvor kodierte Information für Vorhersagezwecke maximieren wird, von oben nach unten und von links nach rechts sein, wie durch die Zahlen 1–16 in aufsteigender Reihenfolge angezeigt. Mit anderen Worten werden die Blöcke 32 einer nach dem anderen von oben nach unten gehend kodiert, und die Spalten von Blöcken 32 werden Spalte für Spalte von links nach rechts gehend kodiert. Unter dieser Anordnung wird jeder Block 32 innerhalb des Makroblocks 30 mindestens zwei zuvor kodierte Blöcke haben, die verfügbar sind, um für Vorhersagezwecke verwendet zu werden.
-
Bezugnehmend auf 4 wird nun noch ein anderer Makroblock 40 gezeigt, der einen Bereich von zu kodierenden 4×4-Blöcken 42 definiert. Der Makroblock 40 ist dem Makroblock 20 und dem Makroblock 30, die in 2 bzw. 3 gezeigt werden, ähnlich, mit der Ausnahme, dass er keine Blöcke hat, die sich oberhalb oder links von ihm befinden, die für Vorhersagezwecke verfügbar sind. Ein derartiger Umstand kann z. B. an der oberen linken Ecke eines Bildrahmens oder wenn das Bild in Segmente unterteilt wird auftreten. Makroblöcke, die unmittelbar nach einer Segmentmarkierung positioniert sind, könnten beliebige benachbarte Makroblöcke, die sich oberhalb oder links davon befinden, für Vorhersagezwecke nicht haben. In einem derartigen Fall wird von keiner der Block-Abtastreihenfolgen der Ausführungsformen in 2 oder 3 geglaubt, die beste Abtastreihenfolge zu sein, da beide Abtastreihenfolgen dazu führen werden, dass mindestens ein Block 42 keine zuvor kodierten Blöcke hat und drei Blöcke 42 nur einen zuvor kodierten Block haben, der zur Vorhersage verfügbar ist. Entsprechend wird noch eine andere Block-Abtastreihenfolge benötigt, um den Nutzen von beliebigen zuvor kodierten Blöcken, der verfügbar werden kann, zu maximieren.
-
In einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung ist eine alternative Abtastreihenfolge, die den Nutzen von beliebigen zuvor kodierten Blöcken, der verfügbar werden kann, maximiert, für die Blöcke 42 in der oberen Hälfte des Makroblocks 40 von oben nach unten für jeden Block und von links nach rechts für jede Spalte von Blöcken, dann für die Blöcke 42 in der unteren Hälfte des Makroblocks 40 von links nach rechts für jeden Block und von oben nach unten für jede Zeile von Blöcken, wie durch wie Zahlen 1–16 in aufsteigender Reihenfolge angezeigt. Unter dieser Anordnung wird ein Block 42 keine zuvor kodierten benachbarten Blöcke haben und ein Block 42 wird einen einzelnen zuvor kodierten benachbarten Block haben, aber jeder der verbleibenden Blöcke 42 wird mindestens zwei zuvor kodierte benachbarte Blöcke haben.
-
Obwohl nicht ausdrücklich gezeigt, ist eine andere Abtastreihenfolge, die im wesentlichen die gleichen Ergebnisse für den Makroblock 40 erzeugen wird, für die Blöcke 42 in der linken Hälfte des Makroblocks 40 von links nach rechts für jeden Block und von oben nach unten für jede Zeile von Blöcken, dann für die Blöcke 42 in der rechten Hälfte des Makroblocks 40 von oben nach unten für jeden Block und von links nach rechts für jede Spalte von Blöcken.
-
Es sollte festgehalten werden, dass obwohl die oben beschriebene Abtastreihenfolge für den Fall eines Makroblocks war, der 4×4-Blöcke enthält, wobei jeder Block 4×4 Pixel hat, die Erfindung auch auf andere Makroblöcke mit z. B. 2×2-Blöcken, wobei jeder Block 8×8 Pixel hat, angewendet werden kann.
-
Eine Auswahl der Block-Abtastreihenfolge kann mit Bezug auf das in 5 dargestellte beispielhafte Flussdiagramm besser verstanden werden. Beim Empfangen des zu kodierenden Makroblocks bei einem Schritt 500 wird bei Schritt 502 bestimmt, ob beliebige Blöcke oberhalb für Vorhersagezwecke verfügbar sind. Wenn ja, dann ist die Abtastreihenfolge, die bei Schritt 504 ausgewählt wird, die Vorgabeabtastreihenfolge von links nach rechts und von oben nach unten. Wenn keine Blöcke oberhalb verfügbar sind, wird dann bei Schritt 506 bestimmt, ob es beliebige Blöcke gibt, die für Vorhersagezwecke von links verfügbar sind. Wenn ja, dann ist die Abtastreihenfolge, die bei Schritt 508 ausgewählt wird, von oben nach unten und von links nach rechts. Wenn es keine Blöcke gibt, die von links verfügbar sind, dann ist die Abtastreihenfolge, die bei Schritt 510 ausgewählt wird, von oben nach unteren und von links nach rechts für die ersten beiden Zeilen, dann von links nach rechts und von oben nach unten für die nächsten beiden Zeilen bei Schritt 512. Sobald die Block-Abtastreihenfolge bestimmt wurde, wird dann der Auswahlprozess bei Schritt 514 beendet.
-
6 stellt ein Funktionsblockdiagramm einer Videosignal-Komprimierungsvorrichtung 60 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung dar. Die Komprimierungsvorrichtung 60 umfasst einen Analog-Digital-Wandler 62, der das empfangene Videosignal von analog nach digital wandelt. Das digitalisierte Videosignal wird dann durch einen Block-Wandler 64 in einen Bildrahmen mit Makroblöcken und Blöcken gewandelt. Der so in Makroblöcke und Blöcke partitionierte Bildrahmen wird durch eine Block-Abtastvorrichtung 66 bearbeitet, um die beste Block-Abtastreihenfolge zu bestimmen, die mit einem bestimmten Makroblock zu verwenden ist. In einer bevorzugten Ausführungsform verwendet die Block-Abtastvorrichtung 66 den Block-Abtastreihenfolgen-Auswahlprozess, der zuvor in Verbindung mit 5 beschrieben wird. Eine Kodiervorrichtung 68 kodiert dann den Bildrahmen basierend teilweise auf den Vorhersagen, die für jeden Makroblock gemacht werden, in Übereinstimmung mit der gewählten Block-Abtastreihenfolge.
-
In einer anderen beispielhaften Ausführungsform kann die Block-Abtastvorrichtung 66 an Stelle einer Verwendung des in 5 gezeigten Auswahlprozesses die Block-Abtastreihenfolge basierend auf anderen Faktoren, wie etwa Blockgrößen (wenn mehrere Größen verfügbar sind) und Makroblock-Typen (z. B. Inter- und Intra-Makroblöcke), auswählen.
-
In noch einer anderen Ausführungsform legt die Block-Abtastvorrichtung 66 zwei oder mehr mögliche Abtastreihenfolgen für einen bestimmten zu kodierenden Makroblock vor. Danach wählt die Kodiervorrichtung 68 die Abtastreihenfolge, die sie als die bestimmt, die die höchste Vorhersagegenauigkeit vorsieht, basierend auf dem spezifischen Bildinhalt von den Bildrahmen und/oder Makroblöcken darin aus. Die Kodiervorrichtung 68 nimmt dann die gewählte Abtastreihenfolge als ein explizites Kodewort in den resultierenden Bitstrom auf.
-
Bezugnehmend auf 7 wird nun ein Funktionsblockdiagramm der Dekomprimierungsvorrichtung 70 gezeigt. Die Dekomprimierungsvorrichtung 70 umfasst eine Invers-Block-Abtastvorrichtung 72, die den Bitstrom empfängt, der durch die Komprimierungsvorrichtung 60 erzeugt wird. In einer bevorzugten Ausführungsform sagt die Invers-Block-Abtastvorrichtung 72, welche Block-Abtastreihenfolge zu verwenden ist, basierend auf dem Standort und der Umgebung des zu kodierenden Makroblocks innerhalb eines Bildrahmens vorher. Es ist zu beachten, das die Dekomprimierungsvorrichtung 70 auf die gleiche Information in Bezug auf den Makroblock-Standort und Umgebungen wie die Komprimierungsvorrichtung 60 Zugriff haben wird und sie verwenden können wird. In einer alternativen Ausführungsform bestimmt die Invers-Block-Abtastvorrichtung 72, welche Block-Abtastreihenfolge mit einem bestimmten Makroblock basierend auf Kodeworten, die explizit in dem Bitstrom enthalten sind, zu verwenden ist. Eine Dekodiervorrichtung 74 wandelt den Bitstrom in Bildrahmen basierend teilweise auf den Vorhersagen, die für jeden Makroblock gemacht werden, in Übereinstimmung mit der gewählten Block-Abtastreihenfolge. Ein Invers-Block-Wandler 76 wandelt die Bildrahmen von Blöcken und Makroblöcken in ein digitalisiertes Videosignal. Schließlich wandelt ein Digital-Analog-Wandler 78 das digitalisierte Videosignal zurück in seine ursprüngliche Form.