-
Die
vorliegende Erfindung bezieht sich auf das Gebiet zum Codieren von
Digitalbildern. Insbesondere bezieht sich die vorliegende Erfindung
auf die Quantisierung von Pixeln von Digitalbildern.
-
Die
Notwendigkeit, Digitalbilddaten zu komprimieren, gleich ob statische
oder dynamische Bilder (d.h., Videobilder), hat äußerst stark zugenommen. Insbesondere
bilden digitale Videodaten die größten verwendeten Datenmengen.
Beispielsweise besteht ein einziges 24-Bit-Farbbild mit 8,5 × 11 Inch bei
100 Punkten pro Inch aus über
22 Millionen Pixeldaten. Die Datenkompression wird bei Multimedia-Computersystemen
wie bei digitalen Videoeinrichtungen (d.h., digitale Videocamcorder,
DVD-Wiedergabegeräte
und digitale Standbildkameras) verwendet, um Speichererfordernisse
zu reduzieren. Die Popularität
dieser digitalen Einrichtungen hat äußerst stark zugenommen. Außerdem wird
die Kompression verwendet, digitale Übertragungen, beispielsweise
Direktsatellitensendungen und hochauflösendes Fernsehen (HDTV) zu übertragen.
-
Üblicherweise
werden digitale Bilddaten in einem komprimierten Format übertragen
oder gespeichert und vor der Anzeige des Bilds dekomprimiert. Beispiele
von breit verwendeten Kompressionsverfahren sind die, die die Erfordernisse
von MPEG, MPEG-2 (Moving Pictures Experts Group), DV und JPEG (Joint
Photographic Experts Group) erfüllen.
-
Bei
vorgegebenen zu komprimierenden digitalen Bilddaten folgt ein Codierer
einem Befehlssatz von Schritten, der als Codierprozess bezeichnet
wird. Der Codierprozess ist nicht genormt und variiert, da Codierer
unterschiedlicher Komplexitäten
bei unterschiedlichen Anwendungen verwendet werden können. Viele
Codierprozesse (einschließlich
diejenigen, welche MPEG-, MPEG-2-, DV- oder JPEG-Normen erfüllen) nutzen
Quantisierungsprozeduren, um Speichererfordernisse der digitalen
Bilddaten zu reduzieren und regulieren deren Ausgangsbandbreite.
-
Der
Quantisierungsprozess beginnt üblicherweise
mit der Auswahl einer Quantisierungstabelle aus einem Satz von Quantisierungstabellen.
Jede Quantisierungstabelle enthält
einen Satz von Quantisierungsschritten. Der aktuelle Quantisierungsprozess
selbst ist bekannt und wird hier nicht mehr ausführlich erläutert. Als Ergebnis des Quantisierungsprozesses
wird jedoch die Menge der Bilddaten, welche das nichtquantisierte
Bild zeigen, reduziert. Beispielsweise kann außerdem die Menge der quantisierten
Daten gemäß der ausgewählten Quantisierungstabelle
variiert werden. Beispielsweise gilt, dass umso kleiner die Größe der Quantisierungsschritte
der Tabelle ist, desto größer die
Menge der quantisierten Daten ist, die verwendet werden, das nicht
quantisierte digitale Bild zu zeigen. Ähnlich gilt, dass umso größer die
Größe der Quantisierungsschritte
der Tabelle sind, umso kleiner die Menge der quantisierten Daten
ist, die verwendet werden, das nichtquantisierte digitale Bild darzustellen.
Anders ausgedrückt
werden, wenn kleinere Bilddatenmenge erforderlich ist, Quantisierungsschritte
einer größeren Größe verwendet.
Analog gilt, wenn eine größere Bilddatenmenge
gewünscht
wird, Quantisierungsschritte einer kleineren Größe verwendet werden. Zur weiteren
Information siehe Introduction To Data Compression, Sayood, 1996,
Seite 169-254.
-
Eine
Schwierigkeit bei der herkömmlichen Quantisierung
besteht darin, das Tabellenauswahlverfahren zu verwenden, wenn Verzögerungen
durch den Codierer eingebracht werden, wenn eine Quantisierungstabelle
ausgewählt
wird. Beispielsweise kann eine plötzliche Verzögerung eine
Wartezeit verursachen. Weiter kann eine konstante Verzögerung durch
den Codierer verursachen, dass der Codierer es verfehlt, eine Realzeit-Codierung
auszuführen.
-
Eine
Anzahl unterschiedlicher Suchverfahren kann dazu verwendet werden,
eine Quantisierungstabelle zu lokalisieren, einschließlich linearer und
binärer
Suchverfahren. Eine lineare Suche beginnt einfach an einer ersten
Stelle in einer Liste von Quantisierungstabellen und Suchen sequentiell,
bis zum Objekt von Interesse, d.h., eine Quantisierungstabelle lokalisiert
ist. Die Menge an Zeit, um eine lineare Suche durchzuführen, ist
proportional zur Größe einer
Liste. Dagegen wird bei einem binären Suchverfahren angenommen,
dass die Sammlung von Elementen angeordnet wurde. Ein Objekt bei
der Mitte von dem Baum (angedeutet als Wurzelknoten) wird ausgewählt, und
die Beziehung dieses Objekts zum durchsuchenden Objekt wird bestimmt.
Wenn das Objekt dem zu suchenden Objekt vorhergeht oder diesem folgt,
werden die Ergebnisse dazu verwendet, den Suchbereich zu halbieren,
wobei mit Verfahren fortgesetzt wird. Die Menge an Zeit, die erforderlich
ist, die binäre
Suche durchzuführen,
ist proportional zur Höhe
des Baums.
-
Obwohl
alle diese Suchverfahren nützlich sind,
hat jedes Vorteile und Nachteile. Beispielsweise ist ein lineares
Suchverfahren schnell, wenn ein Objekt von Interesse in der Nähe des Startpunkts
in der Liste angeordnet ist, da lediglich eine kleine Anzahl von
Vergleichen durchgeführt
werden muss, um dieses zu lokalisieren. Im schlechtesten Fall jedoch, wenn
das Objekt von Interesse am Ende der Liste ist, muss die gesamte
Liste durchquert werden, bevor das Objekt lokalisiert ist. Obwohl
außerdem
binäre Suchverfahren üblicherweise
ein effizientes Verfahren zum Durchsuchen großer Datenbanken von Objekten
liefern (da jeder Suchraum während
jeder Iteration halbiert wird), sind diese Verfahren nicht allzu wirksam,
wenn das Objekt von Interesse in der Nähe des Startpunkts der Suche
angeordnet ist. Zusammengefasst kann die alleinige Verwendung jedes Suchverfahrens,
um eine Quantisierungstabelle zu lokalisieren, welche Quantisierungsschritte
der gewünschten
Größe hat,
Verzögerungen
bei einer Datenübertragungsrate
einer digitalen Einrichtung mit sich bringen. Aus dem obigen Grund
besteht die Notwendigkeit nach einer Methodik, um schnell eine Quantisierungstabelle
zu lokalisieren, welche Quantisierungsschritte einer gewünschten
Größe enthält.
-
In
der EP-A 0 618 733 ist eine Codemengen-Steuereinrichtung beschrieben,
um eine Codemenge in Einheiten von zweien Blöcken zu steuern, die jeweils
aus mehreren ersten Blöcken
bestehen, die jeweils eine Vielzahl von Abtastwertdaten enthalten,
einschließlich
einer Quantisierungseinheit, um die zweiten Blockdaten mit vorher
festgelegten Quantisierungsparametern zu quantisieren, einer Ermittlungseinheit,
um die Codemenge der zweiten Blockdaten, welche durch die Quantisierungseinheit quantisiert
wurden, zu ermitteln, und einer Steuereinheit, um die Quantisierungsparameter
in Einheiten von ersten Blöcken
gemäß einem
Ausgangssignal von der Ermittlungseinheit zu steuern. Es ist außerdem eine
Codiervorrichtung vorgesehen, welche eine Blockformungseinheit aufweist,
um ein Eingangssignal in Blöcke
zu unterteilen, die jeweils aus mehreren Abtastwerten bestehen,
eine Umsetzungseinheit, um die Eingangssignalblöcke orthogonal umzusetzen,
eine Ermittlungseinheit, um Kenndaten jedes Blocks gemäß orthogonalen
Umsetzungskoeffizienten zu ermitteln, die durch die orthogonale
Umsetzungseinheit erlangt werden, eine Auswahleinheit, um optimale
Quantisierungsparameter auszuwählen,
die einen konstanten Codebetrag realisieren können, der erhalten wird, wenn
die Eingangssignalblöcke
in einer Einheit codiert sind, welche aus mehreren Eingangssignalblöcken besteht,
eine Änderungseinheit,
um die Quantisierungsparameter, welche durch die Auswahleinheit
ausgewählt
werden, gemäß einem
Ausgangssignal von der Ermittlungseinheit zu ändern, und eine Codiereinheit,
um die orthogonalen Umsetzungskoeffizienten von der orthogonalen
Umsetzungseinheit unter Verwendung der Quantisierungsparameter,
welche durch die Änderungseinheit
geändert
wurden, zu codieren.
-
Die
EP-A 0 717 567 bezieht sich auf eine Ratensteuerung für einen
VCR oder dgl., um digitalisierte Bilddaten durch Kompressionscodierverfahren aufzuzeichnen,
so dass die Codemenge der codierten komprimierten Codedaten zu einer
vorher festgelegten Codemenge oder weniger wird. Sogar in dem Fall,
wo eine Verschachtelung unter mehreren Blöcken ausgeführt wird, kann der Vorhersagefehler
der Codemenge nach der Verschachtelung reduziert werden und die
Ratensteuerung kann durch Quantisierung genau durchgeführt werden,
so dass die gleiche Quantisierungstabelle jedem der Verschachtelungsblöcke beim
Vorwärtsabtasten
in einer Vorstufe des Verschachtelungsspeichers zugeordnet ist.
-
Im
Dokument Wen-Tsuen Chen et al, "Image Sequence
Coding Using Adaptive Finite-State Vector Quantization" IEEE Transactions
on Circuits and Systems for Video Technology, Band 2, Nr. 1, März 1992,
Seite 15-24, IEEE, New York, NY, USA, ist ein Verfahren einer adaptiven
Vektorquantisierung offenbart, wo das Codewort, um einen bestimmten
Eingangsvektor zu codieren, zunächst
in einem Zustandcodebuch und danach im Haupt-Codebuch durchsucht wird.
-
Die
US 5 272 529 offenbart ein
Verfahren zur Vektorquantisierung, wo die Suche nach der engsten Übereinstimmung
in Bezug auf den ankommenden Vektor durch eine Binärsuche durchgeführt wird,
was einen Zeiger auf eine bestimmte Vektortabelle, die linear durchsucht
wird, zur Folge hat, um den besten Anpassungsvektor zu liefern.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zum Durchsuchen einer Quantisierungstabelle,
eine Vorrichtung und ein Computerprogramm nach Anspruch 1, 8 und
22 bereitgestellt.
-
Das
offenbarte Verfahren und die Vorrichtung der Erfindung liefern eine
Hybridsuchtechnik, welche die Zeit, die zum Bestimmen einer Quantisierungstabelle,
welche in einem Codierprozess verwendet wird, minimiert.
-
Eine
Umgebung von Tabellen, welche ein Hilfssatz eines Satzes an Quantisierungstabellen
ist, wird definiert. Während
eines Quantisierungstabellen-Suchprozesses wird eine nächste zu
prüfende Tabelle
unter Verwendung einer ersten Suchmethodik ausgewählt, wenn
eine vorher geprüfte
Tabelle in der Nähe
der Nachbarschaft von Tabellen ist, und eine zweite Suchmethodik
wird verwendet, wenn die vorherige geprüfte Tabelle nicht in der Umgebung
der benachbarten Tabellen ist.
-
Bei
einer Ausführungsform
wird die erste Suchmethodik als eine lineare Suchmethodik definiert,
und die zweite Suchmethodik wird als ein binäres Suchverfahren definiert.
-
Weitere
Aufgaben, Gesichtspunkte und Merkmale und Vorteile der Erfindung
werden aus den beiliegenden Zeichnungen und aus der ausführlichen Beschreibung,
die folgt, deutlich.
-
Kurzbeschreibung der Zeichnungen
-
Die
vorliegende Erfindung wird als Beispiel und nichteinschränkend in
den Figuren der beiliegenden Zeichnungen erläutert, in denen gleiche Bezugszeichen ähnliche
Elemente bezeichnen, und in denen:
-
1 ein
Blockdiagramm eines Codierers zeigt, der gemäß der Lehre der vorliegenden
Erfindung arbeitet;
-
2 ein
Blockdiagramm eines Beispiels eines Prozessorsystems zeigt, welches
gemäß der Lehre
der vorliegenden Erfindung arbeitet;
-
3 ein
Organisationsbeispiel eines Quantisierungstabellensatzes zeigt;
-
4 Blöcke in einem
Digitalbild zeigt;
-
5A eine
Ausführungsform
zeigt, bei der Blöcke
in einem Digitalbild "Bereichen" durch einen Transformationscodierprozess
zugeteilt sind;
-
5B einen
Satz an Quantisierungstabellenbeispielen zeigt, welche gemäß den bezeichneten Bereichen
ausgewählt
wurden;
-
6 ein
Flussdiagramm einer Ausführungsform
der Verfahrens nach der Erfindung ist; und
-
7 eine
Tabelle ist, welche Vorteile des zeitlichen Ablaufs der vorliegenden
Erfindung gegenüber
den Tabellenauswahlverfahren der herkömmlichen Quantisierung zeigt.
-
Ausführliche
Beschreibung
-
1 zeigt
ein vereinfachtes Blockdiagramm eines Codierers 100, der
einen Quantisierer 140 aufweist, der gemäß der Lehre
nach der vorliegenden Erfindung arbeitet. Der Codierer 100 weist eine
Logik auf, um Bilddaten 10 zu komprimieren, einschließlich folgendes:
Blockbildungslogik 105, Mischlogik 110, Logik 120 einer
diskreten Kosinus-Transformation (DCT), Quantisierungslogik 140, Logik 150 einer
Variablen Längencodierung
(VLC) und eine Rahmenbildungslogik 160. Es sollte erkannt werden,
dass der in 1 allgemein gezeigte Codierer
ein Beispiel ist und eine Vielzahl von Codierern gemäß der Lehre
der vorliegenden Erfindung konfiguriert sein können.
-
Die
Bilddaten, die empfangen werden, werden durch die Blockbildungslogik 105 abwärts unterteilt.
Bei einer Ausführungsform
werden die Bilddaten 10 in 8 × 8 Blöcke von Bilddaten abwärts unterteilt. Die
Mischlogik 110 mischt oder zeichnet die unterteilten Daten
auf, um die Gleichförmigkeit
der Bildqualität
zu verbessern. Diese Verfahren zum Mischen sind durch den Stand
der Technik bekannt und werden hier nicht weiter erläutert. Eine
diskrete Kosinus-Transformation (DCT) 120 wird in Bezug
auf die umgeordneten Daten angewandt, um diese von einer räumlichen
Domäne
in eine Frequenzdomäne
zu transformieren.
-
Die
transformierten Daten werden in einem Puffer 130 gespeichert.
Ein Aktivitätsklassifizierer 135 ermittelt
den Aktivitätspegel
im Bild. Dieser wird durch den Quantisierer 140 verwendet,
um den Satz an Quantisierungstabellen zur Suche zu identifizieren.
Der Quantisierer 140 wählt
eine Quantisierungstabelle aus, welche einen Satz an Quantisierungsschritten
enthält,
und wendet einen entsprechenden Quantisierungsschritt auf die DCT-Koeffizienten
der transformierten Daten, welche im Puffer 130 gespeichert
sind, an. Die Quantisierungstabelle wird aus dem Satz von Tabellen
ausgewählt,
die über
den Eingangsanschluss 20 zugeführt werden, die durch die Klassifizierungsaktivität identifiziert
wird, welche durch den Aktivitätsklassifizierer 135 bereitgestellt wird.
Die quantisierten Daten werden durch den Codierer 150 variabel-längen-codiert
(VLC). Die aktuelle Bitgröße 40 der
VLC-codierten quantisierten Daten wird zurück zum Quantisierer 140 geliefert.
Die ausgewählte
Tabelle ist die Tabelle, welche die VLC-codierten quantisierten
Daten erzeugt, die am besten die Sollbitrate 30 erfüllen. Eine
Rahmenbildungslogik 160 assembliert die VLC-Daten zu vielen
Videosegmenten.
-
Eine
vergrößerte Effizienz
im Codierer kann durch Verkürzen
der Menge an Zeit realisiert werden, welche durch den Quantisierer
benötigt
wird, um die Quantisierungstabelle zu bestimmen. Das System der
vorliegenden Erfindung umfasst einen neuen Mechanismus, um eine
Quantisierungstabelle schnell auszuwählen.
-
2 zeigt
ein Blockdiagramm ein Beispiel eines Prozessorsystems, welches die
Quantisierung gemäß einer
Ausführungsform
der vorliegenden Erfindung durchführt. Das System weist eine
Eingangsport-Schaltung 205, ein Prozessorsubsystem 210,
einen Speicher 230 und eine Ausgangsport-Schaltung 240 auf.
-
Das
Prozessorsubsystem 210 führt Instruktionen aus, welche
vom Speicher abgerufen werden, beispielsweise dem Speicher 230,
um Schritte durchzuführen,
um eine Quantisierungstabelle auszuwählen, welche Quantisierungsschritte
einer gewünschten
Größe enthält. Vorzugsweise
sind die Quantisierungstabellen in einem Speicher, beispielsweise
einem Speicher 230 gespeichert. Es soll bei dieser Ausführungsform
in betracht gezogen werden, dass der Prozessor 210 alle
oder einen Teil des anschließend
beschriebenen Codierprozesses durchführen wird, um ein codiertes
Bild 250 als Ausgangsbild zu erzeugen.
-
3 zeigt
optisch die Organisation eines Quantisierungssatzes 350 von
Tabellen gemäß der Lehre
der vorliegenden Erfindung. Ein Satz an Quantisierungstabellen 350 ist
verfügbar,
um Bilddaten zu quantisieren. Vorzugsweise sind die Quantisierungstabellen
gemäß der Quantisierungskörnung in
Verbindung mit jeder Tabelle aufgereiht, insbesondere sind die Tabellen
gemäß Relativwerten
der Quantisierungsschritte, die in jeder Tabelle enthalten sind, angeordnet.
-
Innerhalb
des Satzes von Quantisierungstabellen 350 werden eine Anfangstabelle 310 und
eine Umgebung von Tabellen 330 identifiziert. Die Anfangstabelle 310 ist
die erste Tabelle, welche im Tabellenauswahlprozess geprüft wird.
Bei einer Ausführungsform
ist die Anfangstabelle eine vorher spezifizierte Tabelle, beispielsweise
eine Tabelle im Mittelpunkt des Satzes von Tabellen. Außerdem ist
bei der Ausführungsform,
welche 0-15 Tabellen aufweist, die Tabelle 310 als Anfangstabelle
festgelegt. Alternativ kann die Anfangstabelle, die identifiziert
wird, davon abweichen. Beispielsweise kann erwogen werden, dass
die Anfangstabelle auf eine mittlere Tabelle unter den Tabellen,
die ausgewählt
werden, festgelegt ist, um ältere
Bilder oder Bereiche von älteren
Bildern zu quantisieren.
-
Die
Anzahl von Tabellen in einem Satz und die Anzahl von Tabellen in
einer Umgebung können gemäß der Anwendung
davon abweichen. Bei einer Ausführungsform
die Anzahl von Tabellen in einem Satz gleich 16, und die Anzahl
von Tabellen innerhalb einer Umgebung ist 5. Die Kriterien, die
verwendet werden, können
gemäß der Anwendung
ebenfalls davon abweichen. Bei einer Ausführungsform werden die am häufigsten
verwendeten Tabellen empirisch bestimmt, und eine Umgebung wird
auf Basis der Bestimmung ausgewählt.
Es wird weiter in Betracht gezogen, dass die Stelle der Umgebung
nicht fixiert sein muss und im Hinblick auf ausgewählte Tabellen
während
des Codierens von vorherigen Bildern oder Teilen von Bildern davon
abweichen kann. Außerdem
wird die Umgebung von Tabellen üblicherweise
so ausgewählt,
dass sie die Anfangstabelle aufweist. Es soll jedoch in betracht
gezogen werden, dass es nicht erforderlich ist, dass die Anfangstabelle innerhalb
der Umgebung von Tabellen angeordnet ist.
-
4 zeigt
ein Beispiel eines Bild 400, welches in mehrere Blöcke abwärts unterteilt
ist, beispielsweise Blöcke 405, 410, 420, 430 in
einer räumlichen
Domäne.
Obwohl die Größe eines
Blocks davon abweichen kann, ist bei der vorliegenden Ausführungsform
jeder Block eine 8 × 8-Matrix
von Bilddaten. Die Blöcke
werden in die Frequenzdomäne durch
Anwendung einer diskreten Kosinus-Transformation transformiert.
-
Bei
der vorliegenden Ausführungsform
ist jeder transformierte Block "in
Bereiche" unterteilt,
wie in 5A gezeigt ist. Jede Stelle
im transformierten Block, beispielsweise 505, 510,
welche einem DCT-Koeffizienten entspricht, ist mit einer bestimmten
Bereichsidentifikationsnummer verknüpft, beispielsweise Bereich
2 oder Bereich 3. Wie vorher angemerkt, wird das Eingangsbild gemäß dem gemessenen
Aktivitätspegel
klassifiziert. Bei einer Ausführungsform
sind vier Klassen vorgesehen. Jede Klasse identifiziert einen Satz
an Quan tisierungstabellen. 5B zeigt
einen Satz von Quantisierungstabellen in Verbindung mit einer Klasse.
Es sollte erkannt werden, dass die Quantisierungstabellen in einer
Vielzahl von Wegen ausgebildet werden können und die vorliegende Erfindung
nicht auf die Form der verwendeten Quantisierungstabelle beschränkt ist.
-
Bezugnehmend
auf 5B wird jede Tabelle, beispielsweise 565,
durch eine Quantisierungstabellennummer 567 identifiziert
und spezifiziert einen Satz von Quantisierungsschritten 570, 575, 580, 585, die
der Bereichsidentifikationsnummer entsprechen, beispielsweise 590, 592, 594, 596.
Der Quantisierungsschritt, der einer bestimmten Bereichsidentifikationsnummer
entspricht, wird verwendet, diejenigen Bereiche des transformierten
Bilds zu quantisieren, welche durch diese Bereichsidentifikationsnummer
identifiziert werden.
-
Eine
Ausführungsform
der vorliegenden Erfindung betrachtet die Quantisierung von Bilddaten auf
einem Makroblock auf Makroblockbasis, wobei jeder Makroblock (6)
sechs 8 × 8-Blöcke von
Bilddaten enthält.
Es sollte erkannt werden, dass die Bilddaten in einer Vielzahl von
Wegen quantisiert werden können
und die vorliegende Erfindung nicht auf die Größe der verwendeten Kompressionseinheit
begrenzt ist.
-
Eine
Ausführungsform
des Verfahrens nach der vorliegenden Erfindung wird nun mit Hilfe
von 6 beschrieben. Bei der anschließend beschriebenen
Ausführungsform
werden die Bilddaten in einem Makroblock auf Makroblockbasis quantisiert. Der
Prozess nach der vorliegenden Erfindung ist jedoch auf die Verarbeitung
von mehreren Bildern, für ein
Bild, für
einen Block oder für
eine Kompressionseinheit anwendbar. Zusätzlich wird in Betracht gezogen,
dass, obwohl eine Quantisierungstabelle aus Daten bestimmt werden
kann, welche bezüglich
der oben erwähnten
Basis verarbeitet sind, die ausgewählte Tabelle auf die gleiche
Menge oder eine andere Menge von Daten angewandt werden kann. Beispielsweise
kann die Quantisierungstabelle auf Basis eines Makroblocks von Daten
ausgewählt
werden und für
einen Datenrahmen angewandt werden. Alternativ könnte jeder Makroblock eine
andere Quantisierungstabelle verwenden.
-
Im
Schritt 605 werden die Bilddaten empfangen. Im Schritt 610 wird
auf einen ersten Makroblock an Daten bezuggenommen. Eine Anfangsquantisierungstabelle,
die zu prüfen
ist, wird ausgewählt (Schritt 615),
und jedes Datenelement des ersten Makroblocks wird unter Verwendung
der ausgewählten
Quantisierungstabelle quantisiert (Schritt 620). Im Schritt 625 wird
bestimmt, ob die quantisierten Daten die Auswahlkriterien erfüllen. Bei
der vorliegenden Ausführungsform
werden die Auswahlkriterien bestimmt durch: Unterteilen der DCT-Koeffizienten der
transformierten Bilddaten durch einen entsprechenden Quantisie rungsschritt,
was quantisierte Daten zur Folge hat. Die quantisierten Daten werden durch
einen variablen Längencodierer
codiert (Schritt 623), was eine quantisierte Datengröße zur Folge hat;
und, wenn die quantisierte Datengröße die größte quantisierte Datengröße ist,
welche kleiner oder gleich einer vorher festgelegten Solldatengröße ist, sind
die Auswahlkriterien erfüllt.
Es sei jedoch betrachtet, dass, obwohl Auswahlkriterien von Daten bestimmt
werden können,
die aufgrund der oben erwähnten
Basis wirksam sind, können
die Auswahlkriterien auf andere Weise bestimmt werden können. Beispielsweise
können
die Auswahlkriterien eine Solldatengröße sein, die während der
Laufzeit bestimmt wird, oder eine variable Solldatengröße sein.
-
Wenn
die früher
erwähnten
Auswahlkriterien nicht erfüllt
werden, wird im Schritt 625 eine Suche durchgeführt, um
eine nächste
Quantisierungstabelle auszuwählen,
um durch Bestimmung zu prüfen,
ob die aktuelle Quantisierungstabelle in der Umgebung von Tabellen
war (Schritt 630). Wenn dies zutrifft, wird ein lineares
Suchverfahren ausgewählt,
um eine nächste
Quantisierungstabelle zu lokalisieren (Schritt 634). Wenn
bestimmt wird, dass im Schritt 630 die aktuelle Quantisierungstabelle
nicht in der Umgebung war, wird ein Binärsuchverfahren ausgewählt, um
die nächste
Quantisierungstabelle zu lokalisieren (Schritt 632). Der
Prozess läuft
weiter im Schritt 620, wo der Quantisierungsprozess unter
Verwendung der neu ausgewählten
Quantisierungstabelle wiederholt wird.
-
Wenn
im Schritt 625 bestimmt wurde, dass der quantisierte Wert
des Makroblocks die Auswahlkriterien erfüllt, läuft der Codierprozess der Bilddaten weiter
unter Verwendung der aktuell ausgewählten Quantisierungstabelle,
um einen nächsten
Makroblock von Bilddaten zu quantisieren (Schritt 640).
Im Schritt 645 wird bestimmt, ob die zusätzlichen
Makroblöcke
im aktuellen Bildrahmen quantisiert werden sollen; wenn die zusätzlichen
Makroblöcke
zu quantisieren sind, wird im Schritt 650 auf den nächsten Makroblock
des Bilds bezuggenommen. Im Schritt 620 läuft der
Codierprozess wie früher
beschrieben weiter. Die quantisierten Werte werden dann verwendet,
um nachfolgend im Schritt 665 variabel-längen-codiert
(Schritt 655) und gerahmt (Schritt 660) zu werden.
-
Die
oben beschriebenen Ausführungsformen der
vorliegenden Erfindung haben viele Vorteile. Insbesondere werden
bestimmte Vorteile des zeitlichen Ablaufs, wenn der Lehre der vorliegenden
Erfindung gefolgt wird, gegenüber
den herkömmlichen
Quantisierungstabellen-Auswahlverfahren realisiert. 7 zeigt
die Vorteile der Erfindung über
den zeitlichen Ablauf, wo gezeigt ist, dass die Zeit, die benötigt wird, eine
Quantisierungstabelle innerhalb eines Satzes von Quantisierungstabellen
zu lokalisieren, wobei durchgeführt
wird: eine reine lineare Suche; eine reine binäre Suche; und wie bei der Erfindung
betrachtet, eine Hybridsuchtechnik. Wie oben erwähnt wählt das lineare Suchverfahren
die Quantisierungstabelle unmittelbar im Anschluss an die aktuell
ausgewählte Quantisierungstabelle
in einem geordneten Satz von Quantisierungstabellen aus. Das binäre Suchverfahren
wählt die
Quantisierungstabelle auf halben Weg zwischen der aktuell ausgewählten Quantisierungstabelle
und dem Ende des geordneten Satzes von Quantisierungstabellen aus.
Die Richtung der Suche wird durch den Relativwert der quantisierten
Daten und der Auswahlkriterien bestimmt. Wie man unter Bezugnahme
auf 7 sehen kann, zeigt das Hybridsuchverfahren nach
der vorliegenden Erfindung ausgeprägte Zeitersparnis.