DE20222025U1 - Verbesserter Blocktransformationsdecodierer für die Bild- oder Videodecodierung sowie zugehörige Vorrichtungen und Handcomputergeräte - Google Patents
Verbesserter Blocktransformationsdecodierer für die Bild- oder Videodecodierung sowie zugehörige Vorrichtungen und Handcomputergeräte Download PDFInfo
- Publication number
- DE20222025U1 DE20222025U1 DE2002222025 DE20222025U DE20222025U1 DE 20222025 U1 DE20222025 U1 DE 20222025U1 DE 2002222025 DE2002222025 DE 2002222025 DE 20222025 U DE20222025 U DE 20222025U DE 20222025 U1 DE20222025 U1 DE 20222025U1
- Authority
- DE
- Germany
- Prior art keywords
- transform
- block
- inverse
- decoder
- pass
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
Vorrichtung, die einen Blocktransformationsvideodecodierer enthält, der umfasst: einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block; und einen inversen Transformierer, der eingerichtet ist zum inversen Transformieren der dequantisierten Transformationskoeffizienten, wobei die inverse Transformation die folgenden Operationen enthält: u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y;und d' = u – z,wobei der Ausdruck ”>> 1” eine Verschiebung nach rechts um ein Bit angibt, wobei A, B, C und D Werte einer bestimmten Zeile oder Spalte eines gegebenen, invers zu transformierenden Blocks darstellen, wobei u, v, y und z Hilfsvariablen darstellen, und wobei a', b', c' und d' invers transformierte Werte darstellen.
Description
- GEBIET DER ERFINDUNG
- Diese Erfindung bezieht sich im allgemeinen auf Decodierer für Bild- oder Videosignale und insbesondere auf Blocktransformationsdecodierer und zugehörige Vorrichtungen und Handcomputergeräte mit verbesserten Eigenschaften.
- HINTERGRUND DER ERFINDUNG
- Die diskrete Kosinustransformation (DCT) wird allgemein bei der Blocktransformationscodierung von Bildern und Video (Abfolge von Bildern), wie etwa JPEG und MPEG verwendet. Unter anderen Gründen geschieht dies, weil die DCT Zufallssignale (wie etwa jene, die Bilddaten entsprechen) in niederfrequente Teile von größerer Wichtigkeit und hochfrequente Teile geringerer Wichtigkeit im Bezug auf die visuelle Qualität des Bildes trennt, wodurch die Kompression vereinfacht wird.
- H.26L ist beispielsweise eine Bild- und/oder Videocodectechnik, die Frames unter Verwendung von 4×4 Pixelblöcken aufbaut. Im Gegensatz zu MPEG und JPEG, die 8×8 Blöcke verwenden, erzielt H.26L eine Kompression mit relativ hoher Qualität mit 4×4 Pixelblöcken unter Verwendung von Prädiktionsinformationen existierender anderer Blöcke in demselben Frame (d. h. Intra-Frame-Codierung) zusätzlich zu der Schätzung und Bewegungskompensation zwischen den Frames (d. h. Inter-Frame-Codierung). Um die Intra-Frame-Prädiktion zu bewerkstelligen, teilt ein H.26L-Codierer im allgemeinen dem entsprechenden H.26L-Decodierer mit, welcher andere, vorherige Block von Pixeln in dem im Aufbau befindlichen Frame verwendet wird, als Basis für die Vorhersage zusammen damit mit, dass er kennzeichnet, welcher von sechs möglichen Prädiktoren (Formeln) beim Bestimmen der Pixel für den neuen Block (von jenen der vorherigen Intra-Frame-Blöcke) zu verwenden ist. Die führt zu einem Prädiktionsfehler, der auch dem Decodierer bereitgestellt wird, um den neuen Block zu korrigieren. Die Prädiktionsfehler-Informationen werden mit der Blocktransformation (DCT) codiert und codiert zu dem Decodierer gesendet, um die Fehlerinformationen über eine inverse Transformation neu zu berechnen und so den vorhergesagten Block zu korrigieren.
- Das Codieren und Decodieren von Bildern und Video nimmt einen beträchtlichen Umfang von Rechenleistung in Anspruch. Wie bekannt ist, verfügt ein Codierer normalerweise über weitaus mehr Verarbeitungsleistung als dies die meisten der Decodierer tun, die die Daten in Bilder umwandeln, da Decodierer normalerweise in Verbrauchergeräten eingesetzt sind. Die Decodierung von Bildern und Video kann beispielsweise in Fernsehvorschaltgeräten, PDAs (Personal Digital Assistants), PCs in Taschengröße und fortschrittlichen Mobiltelefonen stattfinden.
- Wenn man die Codier- und Decodierverfahren für Bild und Video berücksichtigt, ist es somit von Bedeutung, die Decodierung einfach zu halten, auch wenn dies bedeutet, dass die Codierung berechnungsmäßig aufwendiger gestaltet werden muss. Alles, was die Decodierung vereinfachen kann, ist wünschenswert, vorausgesetzt, dass bei einer Vorgehensweise in dieser Art, die Codier- und Decodiervorgänge bestehende Kompressionsgrade, die abschließende Bildqualität und den Umfang anderer Ressourcen, die in dem Decodierer verwendet werden, nicht wesentlich hinsichtlich bestehender Technik nachteilig beeinflussen.
- ÜBERSICHT ÜBER DIE ERFINDUNG
- Erfindungsgemäß wird eine Vorrichtung bereitgestellt, die einen Blocktransformationsvideodecodierer enthält, der einen Dequantisierer umfasst, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block. Der Blocktransformationsvideodecodierer umfasst ferner einen inversen Transformierer, der eingerichtet ist zum inversen Transformieren der dequantisierten Transformationskoeffizienten, wobei die inverse Transformation die folgenden Operationen enthält:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z. - Hierbei gibt der Ausdruck ”>> 1” eine Verschiebung nach rechts um ein Bit an, wobei A, B, C und D Werte einer bestimmten Zeile oder Spalte eines gegebenen, invers zu transformierenden Blocks darstellen, wobei u, v, y und z Hilfsvariablen darstellen, und wobei a', b', c' und d' invers transformierte Werte darstellen.
- Ferner wird erfindungsgemäß ein Blocktransformationsdecodierer zur Bild- oder Videodecodierung bereitgestellt, der einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten umfasst, wobei der Blocktransformationsdecodierer eingerichtet ist zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten, und wobei der Blocktransformationsdecodierer ferner eingerichtet ist zum Durchführen eines inversen Transformationsprozesses zum Anwenden einer inversen Transformation auf die dequantisierten Transformationskoeffizienten. Der inverse Transformationsprozess schließt die folgenden Operationen ein:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z, - Des Weiteren wird erfindungsgemäß ein Blocktransformationsdecodierer für Bild- oder Videodecodierung bereitgestellt, der einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten umfasst sowie Mittel zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten und Mittel zum Durchführen eines inversen Transformationsprozesses, um eine inverse Transformation auf die dequantisierten Transformationskoeffizienten anzuwenden. Der inverse Transformationsprozess schließt die folgenden Operationen ein:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z, - Darüber hinaus stellt die Erfindung eine Vorrichtung bereit, die einen Blocktransformationsvideodecodierer enthält. Der Blocktransformationsvideodecodierer umfasst einen Entropiedecodierer, der eingerichtet ist zum Entropiedecodieren quantisierter Transformationskoeffizienten für einen gegebenen Block, einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block, und einen zweidimensionalen inversen Transformierer, der eingerichtet ist, um die dequantisierten Transformationskoeffizienten zweidimensional invers zu transformieren, wobei die zweidimensionale inverse Transformation Ergebnisse erzielt, wie sie durch die folgenden Gleichungen angegeben sind:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z. - Hierbei stellen A, B, C und D Werte einer bestimmten Zeile oder Spalte eines gegebenen, invers zu transformierenden Blocks, u, v, y und z Hilfsvariablen und a', b', c' und d' entsprechende invers transformierte Werte dar.
- Darüber hinaus wird erfindungsgemäß auch eine Vorrichtung bereitgestellt, die einen Blocktransformationsvideodecodierer enthält. Der Blocktransformationsvideodecodierer umfasst einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten für einen gegebenen Block, einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block, und einen zweidimensionalen inversen Transformierer, der eingerichtet ist, um die dequantisierten Transformationskoeffizienten basierend auf der folgenden Inverstransformationsmatrix zweidimensional invers zu transformieren:
- Zusätzlich betrifft die Erfindung einen Blocktransformationsdecodierer zur Bild- oder Videodecodierung, der einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten umfasst, wobei der Blocktransformationsdecodierer eingerichtet ist zur Durchführung eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten, und wobei der Blocktransformationsdecodierer eingerichtet ist zum Durchführen eines inversen Transformationsprozesses zur Anwendung einer inversen Transformation auf die dequantisierten Transformationskoeffizienten, wobei der inverse Transformationsprozess Berechnungen anwendet, die auf Werten basieren, die in der folgenden Matrix dargestellt sind:
- Ein weiterer erfindungsgemäßer Blocktransformationsdecodierer zur Bild- oder Videodecodierung umfaßt einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizierten, Mittel zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten, und Mittel zum Durchführen eines inversen Transformationsprozesses zum Anwenden einer inversen Transformation auf die dequantisierten Transformationskoeffizienten, wobei der inverse Transformationsprozess Berechnungen anwendet, die auf Werten basieren, die in der folgenden Matrix dargestellt sind:
- Ferner betrifft die Erfindung Handcomputergeräte, die erfindungsgemäße Blocktransformationsdecodierer umfassen.
- Bevorzugte Ausgestaltungen sind in den Unteransprüchen angegeben.
- Kurz gesagt gibt die vorliegende Erfindung ein verbessertes System und eine verbesserte Blocktransformation an, die die Berechnungskomplexität für Bilder und Video sowohl an dem Codierer als auch an dem Decodierer deutlich vereinfacht. Gleichzeitig werden Kompression, Bild- und Videoqualität sowie andere Ressourcen lediglich vernachlässigbar beeinträchtigt.
- Insbesondere werden eine orthogonale Blocktransformation und eine entsprechende inverse Transformation mit neuen ganzzahligen Näherungen an die diskrete Kosinustransformation (DCT) zusammen mit anderen Berechnungsänderungen angegeben, die die Berechnungskomplexität sowohl an dem Codierer als auch an dem Decodierer deutlich vermindern. Tatsächlich wurde bei einer Anwendung an dem Codierer und dem Decodierer die Anzahl der Transformationsoperationen pro Koeffizient auf vier Additionen und eine Verschiebung in der 16-Bit-Arithmetik (von vier Additionen und drei Multiplikationen in der 32-Bit-Arithmetik, die mit der Transformation nach H.26L erforderlich ist) verringert. Die vorliegende Erfindung transformiert korrekt die Pixelinformationen (z. B. Fehlerkorrekturdaten), da die Quantisierung (Skalieren und Runden auf eine ganze Zahl) während des Codierens und die Dequantisierung während des Decodierens durch die Verwendung von einer aus drei Tabellen, die auf der Basis jeder Position des Koeffizienten gewählt werden, Parameterwerte haben, die bereits Faktoren anderer Transformationsmultiplikationen kompensieren, mit Ausnahme jener, die von der Verschiebeoperation während der Vorgänge der Transformation und der inversen Transformation ausgeführt wird.
- Weiterhin kann während des Decodierens an jedem quantisierten Koeffizienten der Decodierer eine 16-Bit-Multiplikation, um diesen quantisierten Koeffizienten in einen Transformationskoeffizienten zu dequantisieren, anstelle einer 32-Bit-Multiplikation ausführen (wie sie bei H.26L verlangt wird). An vielen Geräten mit typischen Bildern und Video – insbesondere an dem Decodierer – sind somit die Verarbeitungsvorteile der vorliegenden Erfindung im Bezug auf H.26L mit lediglich vernachlässigbaren, wenn überhaupt vorhandenem, Verlust an Qualität und/oder Kompression signifikant.
- Andere Vorzüge und Vorteile werden aus der folgenden detaillierten Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen ersichtlich.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschaltbild, das ein beispielhaftes Computersystem darstellt, in dem die vorliegende Erfindung enthalten sein kann; -
2 ist ein Blockschaltbild; das Komponenten zeigt, die bei der Codierung von Pixeln von Video- oder Bilddaten in codiertes Video und der Decodierung codierten Videos in Pixelinformationen verwendet werden, enthaltend die Transformation, Quantisierung, Dequantisierung und inverse Transformation, gemäß einem Aspekt der vorliegenden Erfindung; -
3 ist eine Darstellung einer Schmetterlingsstruktur, die die verbesserte Transformationsmatrix gemäß einem Aspekt der vorliegenden Erfindung zeigt; und -
4 ist eine Darstellung einer Schmetterlingsstruktur, die die verbesserte inverse Transformationsmatrix gemäß einem Aspekt der vorliegenden Erfindung zeigt. - DETAILLIERTE BESCHREIBUNG
- BEISPIELHAFTE ARBEITSUMGEBUNG
-
1 zeigt ein Beispiel einer geeigneten Arbeitsumgebung120 , in der die Erfindung insbesondere zum Decodieren von Bild- und/oder Videodaten eingesetzt werden kann. Die Arbeitsumgebung120 ist lediglich ein Beispiel einer geeigneten Arbeitsumgebung und soll keine Einschränkung des Umfangs der Verwendung oder Funktionalität der Erfindung darstellen. Andere hinreichend bekannte Berechnungs-Systeme, -Umgebungen und/oder -Konfigurationen, die sich für die Verwendung mit der Erfindung eignen können, jedoch nicht darauf beschränkt sind, beinhalten PCs, Servercomputer, Laptop- oder Handgeräte, Multiprozessorsysteme, mikroprozessorbasierte Systeme, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Großrechner, verteilte Rechenumgebungen, die eines der oben beschriebenen Systeme oder Geräte enthalten, und dergleichen. Es ist beispielsweise wahrscheinlich, dass das Codieren von Bild- und/oder Videobilddaten in vielen Fällen auf einem Computer mit einer größeren Rechenleistung als bei derzeitigen PC-Handgeräten ausgeführt wird, wobei es jedoch keinen Grund gibt, dass die Codierung nicht auf der beispielhaften Vorrichtung oder die Decodierung auf einer leistungsfähigeren Maschine ausgeführt werden kann. - Die Erfindung kann in dem allgemeinen Zusammenhang mit von einem Computer ausführbaren Anweisungen, wie etwa Programmmodulen beschrieben werden, die von wenigstens einem Computer oder anderen Geräten ausgeführt werden. Im allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, die besondere Aufgaben ausführen oder spezielle abstrakte Datentypen einsetzen. Normalerweise kann die Funktionalität der Programmmodule je nach Wunsch in unterschiedlichen Ausführungsformen kombiniert oder verteilt werden. Die Berechnungsvorrichtung
120 enthält normalerweise wenigstens eine bestimmte Form computerlesbarer Medien. Computerlesbare Medien können beliebige verfügbare Medien sein, auf die von der Berechnungsvorrichtung120 zugegriffen werden kann. Als Beispiel und nicht als Einschränkung können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien enthalten flüchtige und nicht flüchtige, entnehmbare und nicht entnehmbare Medien, die in einem beliebigen Verfahren oder einer beliebigen Technik zum Speichern von Informationen, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, eingesetzt werden. Computerspeichermedien umfassen, ohne darauf beschränkt zu sein, einen RAM, ROM, EEPROM, einen Flash-Speicher oder andere Speichertechnik, eine CD-ROM, eine DVD (Digital Versatile Disk) oder anderen optischen Speicher, Magnetkassetten, ein Magnetband, einen magnetischen Plattenspeicher oder andere Magnetspeichervorrichtungen, oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern und auf das von der Berechnungsvorrichtung120 zugegriffen werden kann. Kommunikationsmedien verkörpern normalerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Signal, wie etwa einer Trägerwelle oder einem anderen Transportmechanismus, und enthalten beliebige Informationszustellungsmedien. Der Begriff ”moduliertes Datensignal” bezeichnet ein Signal, bei dem wenigstens eine seiner Eigenschaften derart eingestellt oder geändert werden, dass Informationen in dem Signal codiert werden. Als Beispiel und nicht als Einschränkung umfassen Kommunikationsmedien drahtgebundene Medien, wie etwa ein drahtgebundenes Netzwerk oder eine Kabeldirektverbindung, und drahtlose Medien, wie etwa akustische, hochfrequente, infrarote und andere drahtlose Medien. Kombinationen beliebiger der oben genannten Einrichtungen sollten ebenfalls im Geltungsbereich computerlesbarer Medien enthalten sein. -
1 zeigt Funktionskomponenten eines derartigen Computer-Handgerätes120 , enthaltend einen Prozessor122 , einen Speicher124 , eine Anzeigeeinrichtung126 , und eine Tastatur128 (die eine physikalische oder virtuelle Tastatur sein kann). Der Speicher124 enthält im allgemeinen sowohl einen flüchtigen Speicher (z. B. einen RAM), als auch einen nicht flüchtigen Speicher (wie etwa einen ROM, PCMCIA-Karten und dergleichen). Ein Betriebssystem130 befindet sich in dem Speicher124 und wird auf dem Prozessor122 ausgeführt, wie etwa das Windows® CE Betriebssystem von der Microsoft® Corporation oder ein anderes Betriebssystem. - Wenigstens ein Applikationsprogramm
132 ist in den Speicher124 geladen und läuft auf dem Betriebssystem130 . Beispiele von Applikationen enthalten E-Mail-Programme, Terminplanprogramme, PIM-Programme (PIM – Verwaltung persönlicher Informationen), Textverarbeitungsprogramme, Tabellekalkulationsprogramme, Internetbrowserprogramme und dergleichen. Der Handgeräte-PC120 kann zudem ein Hinweisverwaltungsprogramm134 enthalten, das in den Speicher124 geladen ist und auf dem Prozessor122 ausgeführt wird. Das Hinweisverwaltungsprogramm134 verwaltet Hinweisanfragen etwa von den Applikationsprogrammen132 . - Der Handgeräte-PC
120 hat eine Stromversorgung136 , die als wenigstens eine Batterie ausgeführt ist. Die Stromversorgung136 kann zudem eine externe Stromquelle enthalten, die die eingebauten Batterien umgeht oder wieder auflädt, wie etwa einen Wechselstromadapter oder einen mit Strom versorgten Andockkäfig. - Der beispielhafte Handgeräte-PC
120 , der in1 dargestellt ist, ist mit drei unterschiedlichen Typen externer Hinweismechanismen ausgestattet: mit wenigstens einer Leuchtdiode (LED)140 und einem Tongenerator144 . Diese Vorrichtungen können mit der Stromversorgung136 direkt gekoppelt sein, so dass sie bei Aktivierung für eine Dauer eingeschaltet bleiben, die von einem Hinweismechanismus diktiert wird, selbst wenn sich der Handgeräte-PC-Prozessor122 und andere Komponenten abschalten könnten, um Batteriestrom zu sparen. Die LED140 bleibt vorzugsweise unbestimmt eingeschaltet, bis der Benutzer eine Aktion ausführt. Es wird darauf hingewiesen, das derzeitige Versionen des Tongenerators144 für Batterien heutiger Handgeräte-PCs zu viel Strom verbrauchen, weshalb er so eingerichtet ist, dass er sich, wenn dies der übrige Teil des Systems tut, oder nach einer bestimmten zeitlich begrenzten Zeit, nach der Aktivierung abschaltet. - CODIEREN UND DECODIEREN
- Es sei als Hintergrundinformation angegeben, dass die diskrete Kosinustransformation (DCT) einen Länge-N-Vektor x in einen neuen Vektor X von Transformationskoeffizienten durch eine Lineartransformation X = Hx umwandelt, wobei das Element in der k-ten Zeile und der n-ten Spalte von H definiert ist durch: für k = 0, 1, ..., N – 1, und n = 0, 1, ..., N – 1, mit c0 = √2 und ck = 1 für k > 1. Diese Matrix ist orthogonal, aso dass ihre Inversion gleich ihrer Transposition ist, das heißt: x = H–1X = HTX.
- Ein Nachteil der DCT besteht darin, dass die Einträge H(k, n) irrationale Zahlen sind und somit gannzahlige Eingangsdaten x(n) auf irrationale Transformationskoeffizienten X(k) abgebildet werden. Wenn die direkten und die inversen Transformationen kaskadenartig berechnet werden, stimmen infolgedessen bei digitalen Computern die Ausgangsdaten nicht exakt mit den Eingangsdaten überein. Wenn mit anderen Worten berechnet wird, wie X = Hx, und u = gerundet (HTX), dann gilt für sämtliche n nicht u(n) = x(n). Durch Einsetzen geeigneter Skalierfaktoren α und γ, wie etwa X = γHx und u = gerundet (αHTX), ist u(n) = Gx(n), wobei G eine ganze Zahl ist, für beinahe sämtliche n, wenn α und γ ausreichend groß gewählt sind, wobei dies ein exaktes Ergebnis nicht garantiert.
- Bei einem bewegungskompensierten Videocodierer werden beispielsweise die Daten vergangener decodierter Frames als Referenzinformationen für Prädiktionsinformationen verwendet, die benutzt werden, um den momentanen Frame zu erzeugen. Daher erzeugt der Codierer als Teil der Codierung seine eigenen decodierten Frames, wobei der Codierer die inversen Transformationen berechnen muss. Wird die Formel u = gerundet (αHTX) verwendet, dann führen unterschiedliche Fließkommaformate und Rundungsstrategien in unterschiedlichen Prozessoren zu unterschiedlichen Ergebnissen. Infolgedessen gibt es eine Verschiebung zwischen den decodierten Daten an dem Codierer gegenüber jenen, die von Decodierern (die andere Prozessoren haben) decodiert werden, wobei sich das Bild je Frame zunehmend verschlechtert, da der Codierer seine Prädiktions-/Bewegungsinformationen auf Frames von Blöcken stützt, die in zunehmendem Maße von den Frames von Blöcken abweichen, die der Decodierer erzeugt.
- Einer Lösung des Datenverschiebungsproblems nähert sich die Matrix H mittels einer Matrix, die lediglich ganze Zahlen enthält, wodurch Rundungsfehler beseitigt werden. Wenn die Zeilen von H orthogonal sind und denselben Betrag (Summe der Quadrate) haben, dann folgt daraus, dass u exakt in ganzzahliger Arithmetik für sämtliche ganze Zahlen x berechnet werden kann. Wenn mit anderen Worten die direkte Transformation durch X = Hx und die inverse Transformation durch u = HTX berechnet wird, dann resultiert daraus u = Gx, wobei G eine ganze Zahl gleich dem quadrierten Betrag einer beliebigen der Zeilen in H ist.
- Ein Weg, ganzzahlige Näherungen für die DCT zu erzeugen, besteht in der Verwendung folgender Formel:
Q(k, n) = gerundet(αH(k, n)) -
-
- Mit einem Skalierparameterwert von 26 sind die Zeilen und Spalten von Q0 orthogonal zueinander (d. h. das Skalarprodukt von zwei beliebigen Spalten ist Null), und sämtliche Zeilen und Spalten haben einen Betrag gleich 676. Für Werte bei denen α < 50 ist, liefern tatsächlich lediglich α = 2 oder α = 26 orthogonale Matrizen mit Zeilen gleicher Beträge. Die Lösung mit α = 2 führt jedoch nicht zu einer guten Kompression, und größere Werte von α sind wegen des Anstiegs der Berechnungskomplexität (z. B. Wortlänge), die erforderlich ist, um die Ergebnisse der direkten Transformation X = Q0x zu berechnen, nicht attraktiv. Somit wurde bislang α = 26 bei H.26L gewählt.
- Die inverse Transformation ist durch x' = Q0X derart definiert, dass sie ebenfalls mit ganzzahliger Arithmetik berechnet werden kann. Aus der oben genannten Definition folgt x' = 676x, d. h. die rekonstruierten Daten x' sind gleich den ursprünglichen Daten x, verstärkt mit einem ganzzahligen Gewinn von 676 (der der Betrag einer beliebigen Zeile in Q0 ist).
- Gemäß einem Aspekt der vorliegenden Erfindung wird eine Blocktransformationsmatrix angegeben, die ganzzahlige Näherungen verwendet, die orthogonal sind, aber dennoch unterschiedliche Wert aufweisen, die die Berechnungskomplexität beim Codieren und Decodieren signifikant verringern. Insbesondere wird mit Verwendung von α = 2,5 die folgende Matrix erzeugt:
- Es wird darauf hingewiesen, dass die Zeilen von Q0 orthogonal zueinander sind und, wenngleich ihre Beträge unterschiedlich sind (die Zeilen 0 und 2 haben Beträge gleich 4, während die Zeilen 1 und 3 Beträge gleich 10 haben), dies, wie es unten beschrieben wird, bei der Quantisierung und Dequantisierung in einer Weise gehandhabt wird, die die Berechnungskomplexität nicht wesentlich erhöht.
- Wendet man sich
2 der Zeichnungen zu, so sind dort ein Blocktransformationscodierer200 und ein Blocktransformationsdecodierer222 dargestellt, die über einen bestimmten Typ eines Mediums und/oder Zwischenvorrichtungen220 verbunden werden können. Wie es verständlich ist, muss ein Codierer200 seine Ausgabe für den Decodierer222 nicht direkt verfügbar machen, weshalb die Linie, die mit220 in2 gekennzeichnet ist, nahezu jeden beliebigen Typ von Medium oder Vorrichtung repräsentieren kann, wie etwa ein Netzwerkkabel, ein drahtloses Sendemedium, eine Telefonleitung, eine Speichervorrichtung, einen Router und/oder nahezu jede Kombination aus diesen. - Im allgemeinen arbeitet der Codierer
200 so, dass er jeden Block von N×N Eingangspixeldaten (die beispielsweise Fehlerkorrekturinformationen repräsentieren) über trennbare, zweidimensionale Transformationen204 transformiert. Insbesondere werden erste Zeilen von Pixeldaten innerhalb des Blocks durch einen Zeilentransformationsprozess206 transformiert und anschließend die Ergebnisse der Zeilentransformation (die in2 nicht gesondert dargestellt sind) durch einen Spaltentransformationsprozess208 in die resultierenden Transformationskoeffizienten210 transformiert. Mit anderen Worten führt die zweidimensionale DCT im wesentlichen eine eindimensionale DCT an jeder Zeile eines Blocks von Pixeln aus, gefolgt von einer eindimensionalen DCT an jeder Spalte des Blocks von Pixeln, der durch die eindimensionalen DCTs an den Zeilen erzeugt worden ist. Die Zeilen- und Spaltentransformationen können in umgekehrter Reihenfolge ausgeführt werden, wobei man dasselbe Ergebnis erhält. - Bei H.26L führt die festgelegte Transformationsmatrix zu den folgenden Formeln für die Berechnung des Transformationskoeffizienten:
A = 13a + 13b + 13c + 13d B = 17a + 7b – 7c – 17d C = 13a – 13b – 13c + 13d D = 7a – 17b –+ 17c – 7d - Im Gegensatz zu der durch H.26L festgelegten Matrix, lautet bei Verwendung derselben allgemeinen Formeldarstellung, wie sie oben erläutert wurde, die Blocktransformationsmatrix der folgenden Erfindung wie folgt: was zu den folgenden Formeln zur Berechnung der Transformationskoeffizienten führt:
A = a + b + c + d B = 2a + b – c – 2d C = a – b – c + d D = a - 2b + 2c – d - Ein Teil des Grundes, weshalb diese Formel/Matrix besser arbeitet, besteht darin, dass anstelle der Ausführung einzelner Multiplikationen in der Transformationsstufe, die Multiplikatoren im wesentlichen in der Quantisierphase gehandhabt werden, indem einfach die Werte geändert werden, die bei der Skalierung Verwendung finden. Infolgedessen erfolgt die einzige Multiplikation mit diesen Formeln durch eine Potenz von zwei, was in Prozessoren über eine einfache Linksverschiebeoperation und nicht durch eine tatsächliche Multiplikation erreicht wird. Mit u, v, y und z als Hilfsvariable, wobei ”<< 1” eine Verschiebung nach links um ein Bit ist (äquivalent zu einer Multiplikation mit zwei, jedoch berechnungsmäßig schneller), vereinfachen sich die obigen Formeln auf die folgenden Formeln:
u = a + d; v = b + c; y = b – c; z = a – d; A = u + v; C = u – v; B = y + (z << 1); D = z – (y << 1); - Über die Schmetterlingsstruktur, die in
3 dargestellt ist (wobei eine Linie zwischen zwei Punkten eine Summe kennzeichnet und die Zahlen auf den Linien (die –1, 2 und –2) einen Multiplikationsfaktor kennzeichnen)) verlangt das Ermitteln dieser Transformationskoeffizienten tatsächlich lediglich vier Additionen und eine Verschiebung für jedes gegebene Pixel, wodurch eine äußerst wesentliche Verbesserung der Leitungsfähigkeit gegenüber Faktoren gegeben ist, die gemäß H.26L festgelegt sind. Infolge der geringeren Koeffizientenwerte können darüber hinaus sämtliche Transformationsoperationen in einer 16-Bit-Arithmetik (mit 9-Bit-Pixeldaten) ausgeführt werden. Insbesondere ist bei der Transformationsmatrix QD, die oben definiert ist, nach einer zweidimensionalen 2-D-Transformation die maximale Signalverstärkung 36, wobei die Ausgabekoeffizienten nach der zweidimensionalen Transformation 6 Bits mehr umfassen als die Eingabe. Somit haben bei einer 9-Bit-Eingabe die Ausgabekoeffizienten einen Dynamikbereich von 15 Bits, was bedeutet, dass die zweidimensionale direkte Transformation mit einer 16-Bit-Arithmetik berechnen werden kann. Darüber hinaus wiederholt sich, wie im folgenden erläutert, die Leistungszunahme, die aus weitaus weniger Operationen. resultiert, die jeweils lediglich eine 16-Bit-Arithmetik erfordern, im wesentlichen während Decodieroperationen mit der inversen Transformation, was zu einem deutlichen Anstieg der Codierleistung führt. - Sobald die Transformationskoeffizienten
210 berechnet sind, wird der Block von Koeffizienten210 quantisiert, indem die Werte skaliert und auf ihre nächstgelegenen ganzen Zahlen gerundet werden. Dies ist in2 durch den Quantisiervorgang212 dargestellt, der aus Quantisierwerten von Quantisierparametern214 auswählt, um die Transformationskoeffizienten210 in die quantisierten Koeffizienten216 zu skalieren. Da es, wie es oben erläutert wurde, nicht einen Betrag, sondern in der verbesserten Matrix drei Beträge gibt, enthalten drei Quantisiertabellen Q0, Q1 und Q2 diese Werte, abhängig davon, an welcher Stelle sich der zu quantisierende transformierte Koeffizient in dem Block befindet. - Die Quantisierformel zum Skalieren und Runden lautet wie folgt und sollte mit einer 32-Bit-Präzision berechnet werden:
L = [K × A(QP, r) + fX] >> 20 - Der Index r wählt somit, welche der drei Quantisiertabellen Q0, Q1 oder Q2 zu verwenden ist, um sich an die drei unterschiedlichen Beträge anzupassen, basierend auf dem Koeffizienten K in dem Block:
r = 0 (verwende Q0), sofern der Koeffizient von einer der Positionen {(0, 0), (0, 1), (1, 0), (1, 1) stammt};
r = 1 (verwende Q1), sofern der Koeffizient von einer der Positionen {(0, 2), (0, 3), (1, 2), (1, 3), (2, 0), (2, 1), (3, 0), (3, 1)} stammt;
r = 2 (verwendet Q2), sofern der Koeffizient von einer der Positionen {(2, 2), (2, 3), (3, 2), (3, 3)} stammt. - Nach der Rechtsverschiebung im 20 Bits, passt jedes quantisierte Ergebnis in eine ganze Zahl von 16 Bit.
- Bei einer beispielhaften Anwendung hängt der Quantisierfaktor A(QP, r) von dem Quantisierparameter QP und der Koeffizientenpositionsgruppe r gemäß den folgenden Tabellen ab:
A(QP = 0..31, r = 0) = {104858, 93418, 83226, 74146, 66056, 58849, 52429, 46709, 41613, 37073, 33028, 29425, 26214, 23354, 20806, 18536, 16514, 14712, 13107, 11677, 10403, 9268, 8257, 7356, 6554, 5839, 5202, 4634, 4129, 3678, 3277, 2919};
A(QP = 0..31, r = 1) = {66318, 59082, 52636, 46894, 41778, 37220, 33159, 29541, 26318, 23447, 20889, 18610, 16579, 14771, 13159, 11723, 10444, 9305, 8290, 7385, 6580, 5862, 5222, 4652, 4145, 3693, 3290, 2931, 2611, 2326, 2072, 1846};
A(QP = 0..31, r = 2) = {41943, 37367, 33290, 29658, 26422, 23540, 20972, 18684, 16645, 14829, 13211, 11770, 10486, 9342, 8323, 7415, 6606, 5885, 5243, 4671, 4161, 3707, 3303, 2942, 2621, 2335, 2081, 1854, 1651, 1471, 1311, 1168}. - Die einzelnen obigen Werte waren dazu bestimmt, die Aufbauvorgaben bei H.26L zu erfüllen, dass sich die Quantisierschrittgrößen für jede Erhöhung von sechs in dem Tabellenindex verdoppeln sollen. Für andere Video- oder Standbild-Codierapplikationen können andere Quantisiertabellen im Hinblick auf die gewünschten Verbesserungen der Wiedergabetreue aufgebaut werden. Es wird darauf hingewiesen, dass für die Speicherung der Quantisiertabellen in dem Codierer, ein bestimmter zusätzlicher Tabellenplatz erforderlich ist, um drei Tabellen anstelle von einer zu speichern, wobei dieser Umfang von zusätzlichem Platz lediglich 64 Bytes beträgt und somit vernachlässigbar ist.
- Wendet man sich wieder
2 zu, werden nach dem Quantisiervorgang die quantisierten Koeffizienten216 einem Entropiecodierer218 zugeführt, der im allgemeinen die Anzahl von Bits, die zum Codieren des Blocks erforderlich sind, weiter verringert. Entropiecodierer (und -decodierer) sind bekannt und werden somit hier nicht beschrieben, da die vorliegende Erfindung vor und im wesentlichen unabhängig von der Entropiecodierung und nach sowie im wesentlichen unabhängig von der Entropiedecodierung operiert. - Wendet man sich einer Betrachtung des Decodierens in dem Blocktransformationsdecodierer
222 zu, werden zu einem bestimmten Zeitpunkt, unabhängig davon, wie sie zugestellt wurden, die entropiecodierten Ausgabebits als Eingabebits einem Entropiedecodierer224 zugeführt. Im allgemeinen sind derartige Entropiedecodierer bekannt, und somit ist es unter anderen möglichen Operationen ausreichend zu bemerken, dass der Entropiecodierer224 die quantisierten Koeffizienten226 für einen gegebenen Block reproduziert. Es wird darauf hingewiesen, dass die Codierung und die Decodierung nicht verlustbehaftet sind, d. h. die quantisierten Koeffizienten216 , die dem Entropiecodierer218 zugeführt werden, werden mit den quantisierten Koeffizienten226 identisch sein, die von dem Entropiedecodierer224 erzeugt werden. - Im allgemeinen spiegelt der Blocktransformationsdecodierer
222 die Tätigkeit des Blocktransformationscodierers200 , wenngleich, wie es unten beschrieben wird und der vorliegenden Erfindung entspricht, eine abgeänderte inverse Transformationsmatrix vorgesehen ist, die es ermöglicht, eine 16-Bit-Arithmetik im Verlauf des Decodiervorgangs zu verwenden, wodurch die Berechungskomplexität des Decodierers stark vereinfacht wird. - Sobald die quantisierten Koeffizienten
226 aus dem Entropiedecodierer224 abgerufen sind, wird jeder quantisierte Koeffizient L in einen rekonstruierten (dequantisierten) Wert K' durch einen Dequantisiervorgang228 umgewandelt, der folgende Formel anwendet:K' = L × B(QP, r) 230 durch Wählen eines Parameters aus einer der Tabellen D0, D1 oder D2 bestimmt (um sich an die drei Beträge anzupassen). Es wird darauf hingewiesen, dass r aus der Position des Koeffizienten abgeleitet werden kann, der in dem Block dequantisiert wird, wie es oben im Bezug auf die Quantisierung beschrieben wurde, wenngleich es möglich ist, den r-Wert von dem Codierer zu senden, wodurch die Berechungskomplexität in dem Decodierer möglicherweise verringert, jedoch erfordern würde, wenigstens zwei weitere Bits je Koeffizient zu senden, um r zu identifizieren. - Auf diese Weise hängt der Skalierfaktor B(QP, r) von dem Quantisierparameterindex für QP, der beim Codieren verwendet wird, und der Koeffizientenpositionsgruppe r ab. Bei einer beispielhaften Anwendung ist diese Abhängigkeit gemäß der folgenden Tabellen festgelegt:
B(QP = 0..31, r = 0) = {80, 90, 101, 113, 127, 143, 160, 180, 202, 226, 254, 285, 320, 359, 403, 453, 508, 570, 640, 718, 806, 905, 1016, 1140, 1280, 1437, 1613, 1810, 2032, 2281, 2560, 2874};
B(QP = 0..31, r = 1) = {101, 114, 127, 143, 161, 180, 202, 227, 255, 286, 321, 361, 405, 454, 510, 572, 643, 721, 810, 909, 1020, 1145, 1285, 1443, 1619, 1817, 2040, 2290, 2570, 2885, 3239, 3635};
B(QP = 0..31, r = 2) = {128, 144, 161, 181, 203, 228, 256, 287, 323, 362, 406, 456, 512, 575, 645, 724, 813, 912, 1024, 1149, 1290, 1448, 1625, 1825, 2048, 2299, 2580, 2896, 3252, 3650, 4095, 4596}. - Wie bei den Codiertabellen, wurden die einzelnen Werte oben dazu bestimmt, die Aufbauvorgaben gemäß H.26L zu erfüllen, dass sich die Quantisierschrittgrößen für jede Erhöhung von sechs in dem Tabellenindex verdoppeln sollen. Für andere Video- oder Standbild-Codierapplikationen können andere Quantisiertabellen im Hinblick auf die gewünschten Verbesserungen der Wiedergabetreue aufgebaut werden.
- Es ist zu erkennen, dass die Dequantisierformel die Koeffizienten zurück auf größere Werte skaliert, wenngleich jeder dieser Skalierwerte niedrig genug ist um sicherzustellen, dass lediglich eine 16-Bit-Arithmetik in dem Decodier erforderlich ist. Es wird darauf hingewiesen, dass, da jeder Eintrag in einer Tabelle mathematische Bezüge (basierend auf dem Betrag) zu entsprechenden QP-indizierten Tabelleneinträgen in den anderen beiden Tabellen hat, alternativ die Möglichkeit besteht, lediglich eine Tabelle mit QP-Werten mit einer geeigneten mathematischen Justierung auf der Basis des r-Wertes zur Verfügung zu haben, anstelle über drei Tabellen zu verfügen. Jedoch sind Suchen in kleinen Tabellen relativ effizient, wobei die Anzahl von Bytes, die erforderlich ist, um drei Tabellen mit 32 Einträgen mit zwei Bytes pro Eintrag anstelle einer Tabelle mit 32 Einträgen mit vier Bits pro Eintrag (erforderlich bei der festgelegten H.26L-Transformation) zu speichern, 64 zusätzliche Bytes erfordert, was bei derzeitigen Berechungsvorrichtungen insbesondere dann vernachlässigbar ist, wenn man berücksichtigt, dass die Transformationskoeffizienten, die mit der Dequantisierung erzeugt werden, in 16-Bit-Wörter anstelle von 32-Bit-D-Wörtern passen, wodurch der Gesamtspeicherbedarf verringert wird.
- Sobald, wie es ebenfalls in
2 gezeigt ist, die quantisierten Koeffizienten226 über obige Formel und Tabellen dequantisiert sind, liegt eine 4×4-Matrix rekonstruierter Transformationskoeffizienten232 vor. Aus diesen Transformationskoeffizienten232 werden die rekonstruierten Pixel erzeugt, indem sie einem zweidimensionalen inversen Transformationsprozess234 zugeführt werden, der inverse Spalten- bzw. Zeilentransformationsprozesse236 und238 umfasst. -
- Es wird darauf hingewiesen, dass die Spalten QI zueinander orthogonal, ihre Beträge jedoch unterschiedlich sind. Dies wurde jedoch über den ”r”-Wert beherrscht, der bei der Auswahl der Dequantisierparameter verwendet wurde, wie es oben beschrieben ist. Es wird weiterhin darauf hingewiesen, dass bei der Erzeugung von QI aus QD QD transponiert wurde, wobei die Spalten eins und drei mit 0,5 multipliziert wurden. Wiederum wurden jedoch die QP-Werte, die bereits in den Tabellen D0, D1 und D2 vorhanden sind, darauf im voraus angepasst, wodurch das Erfordernis der Kompensation einer zusätzlichen Berechnungskomplexität fortfällt. Darüber hinaus erfolgt die einzige ”Multiplikation”, die bei der Berechnung der inversen Transformation mit einer derartigen Matrix ausgeführt werden muss, mit 0,5, was tatsächlich durch eine hocheffiziente Operation einer Verschiebung nach rechts bewerkstelligt wird. Es wird darauf hingewiesen, dass der geringe Umfang von Rauschen, der durch eine derart ungenaue Division hervorgerufen wird, im wesentlichen keine Beeinträchtigung auf das Raten-Verzerrungs-Verhalten hat.
- Mit QI, wie oben definiert, ist der maximale Gewinn gleich vier. Somit erweitert der zweidimensionale inverse Transformationsprozess den Dynamikbereich um vier Bits, wodurch eine Berechnung in einer 16-Bit-Arithmetik möglich ist.
- Der inverse Spaltentransformationsvorgang
236 und der inverse Zeilentransformationsvorgang238 (der auf der Basis des Ergebnisses des inversen Spaltentransformationsvorgangs arbeitet), die in2 gezeigt sind, erzeugen die Ausgangspixeldaten240 . Zu diesem Zweck werden unter Verwendung der obigen inversen Transformationsmatrix und Benennen von [A B C D] als spezielle Zeile oder Spalte, die invers zu transformieren sind, die entsprechenden invers transformierten Werte [a' b' c' d'] berechnet mit:u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z; 4 gezeigt ist, diese Gleichungen tatsächlich auf vier Additionsoperationen und eine Verschiebeoperation je Koeffizient vollständig in einer 16-Bit-Arithmetik. Schließlich skaliert der inverse Transformationsvorgang234 (2 ) die rekonstruierten Pixelwerte mit einem Faktor von 2–7 (ausgeführt mit Hilfe der Operation einer Verschiebung nach rechts um 7 Bits). - Die rekonstruierten Pixelwerte nach der 7-Bit-Verschiebung haben einen Umfang von 9 Bits, so dass die inverse Transformation in einer 16-Bit-Arithmetik berechnet werden kann. Die Dequantisiertabellen D0, D1 und D2, die oben beschrieben wurden, sind derart beschaffen, dass die Dequantisiergleichungen nicht überlaufen, wenn sie in einer 16-Bit-Arithmetik berechnet werden. Die folgende Tabelle fasst einige der berechnungsmäßigen Vorteile zusammen, wenn die Transformation und die inverse Transformation der vorliegenden Erfindung verwendet werden, im Gegensatz zu jenen, die gemäß H.26L festgelegt sind:
Transformation Operationen je Pixel,direkte Transformation Quantisierung Dequantisierung Operationen je Pixel, inverse Transformation Festgelegt durch H.26L 4 Additionen, 3 Multiplikationen in 32-Bit-Arithmetik 1 Multiplikation in 32-Bit-Arithmetik 1 Multiplikation in 32-Bit-Arithmetik 4 Additionen, 3 Multiplikationen in 32-Bit-Arithmetik Vorliegende Erfindung 4 Additionen, 1 Verschiebung in 16-Bit-Arithmetik 1 Multiplikation in 32-Bit-Arithmetik 1 Multiplikation in 16-Bit-Arithmetik 4 Additionen, 1 Verschiebung in 16-Bit-Arithmetik - Wie einfach zu erkennen ist, sind derartige Einsparungen insbesondere bei 16-Bit-fähigen Prozessoren signifikant. in der Praxis kann beispielsweise ein typischer 16-Bit-PDA-Prozessor eine Verbesserung bei der Decodierung erkennen oder die Geschwindigkeit mit der vorliegenden Erfindung ungefähr verdoppeln.
- Darüber hinaus wurden die Transformation/inverse Transformation im Bezug auf ihre Auswirkung auf die Qualität und Kompression überprüft. Die Ergebnisse für den Codiergewinn (normalerweise definiert als eine Zunahme des Signalrauschabstandes) zeigen, dass die Anwendung der Transformationen der vorliegenden Erfindung mit Testdaten zu einem Verlust von lediglich etwa 0,01 dB im Vergleich zu den H.26L-Transformationen führt, was vernachlässigbar und tatsächlich wahrscheinlich weitaus geringer ist als jener bei tatsächlichen Videosignalinformationen, wie etwa Pixelprädiktionsfehlern. Weiterhin wurde das Gesamtleistungsvermögen gegenüber den durch H.26L festgelegten Transformationen über jeden der 32 Quantisierparameter geprüft, was zu Differenzen in einem Bereich von plus oder minus 0,5 Prozent führte, mit einem Durchschnitt der sehr nahe Null liegt, was darauf hinweist, dass die Transformation der vorliegenden Erfindung ein ebenso gutes Leistungsverhalten hat wie die Transformation gemäß H.26L.
- Wie aus der vorangegangenen detaillierten Beschreibung hervorgeht, werden verbesserte Matrizen zur Transformation und inversen Transformation für die Codierung bzw. Decodierung von Bild oder Video angegeben, die deutlich die Berechnungskomplexität im Vergleich zu anderen bekannten Transformationen verringern, ohne dabei die Kompression oder Qualität nachteilig zu beeinflussen. Transformationsmultiplikationen werden eliminiert und dennoch korrekte Ergebnisse erzeugt, da die Quantisier- und Dequentisierparameter diese Multiplikationsfaktoren kompensieren, mit Ausnahme eines Faktors, der durch eine Verschiebeoperation während der Transformation und der inversen Transformation ausgeführt wird. Infolge der verwendeten Werte können Transformationsoperationen während des Codierens und eine Dequantisierung sowie Transformationsoperationen während des Decodierens in einer 16-Bit-Arithmetik (für Pixeldaten, die mit höchstens 9 Bits dargestellt sind) ausgeführt werden.
- Wenngleich die Erfindung Gegenstand zahlreicher Abänderungen und alternativer Konstruktionen sein kann, sind bestimmte veranschaulichte Ausführungsformen derselben in den Zeichnungen dargestellt und wurden zuvor im Detail beschrieben. Es versteht sich jedoch, dass keine Absicht besteht, die Erfindung auf die speziellen offenbarten Formen einzuschränken, sondern im Gegensatz dazu beabsichtigt ist, sämtliche Abänderungen, alternative Konstruktionen und Äquivalente abzudecken, die in den Geist und den Geltungsbereich der Erfindung fallen.
Claims (67)
- Vorrichtung, die einen Blocktransformationsvideodecodierer enthält, der umfasst: einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block; und einen inversen Transformierer, der eingerichtet ist zum inversen Transformieren der dequantisierten Transformationskoeffizienten, wobei die inverse Transformation die folgenden Operationen enthält:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z, - Vorrichtung nach Anspruch 1, wobei der inverse Transformierer die inverse Transformation wenigstens teilweise unter Verwendung einer Schmetterlingsstruktur implementiert.
- Vorrichtung nach Anspruch 1, wobei der inverse Transformierer die inverse Transformation ohne Multiplikationsoperationen implementiert.
- Vorrichtung nach Anspruch 1, wobei der inverse Transformierer ein zweidimensionaler inverser Transformierer ist, der eingerichtet ist, Spalten- und Zeilen-Inverstransformationsprozesse so durchzuführen, dass in einem ersten Durchlauf die unter Verwendung der Operationen invers zu transformierenden Werte die dequantisierten Transformationskoeffizienten und die durch A, B, C und D dargestellten Werte Werte einer bestimmten Zeile oder Spalte des gegebenen Blocks sind, und in einem zweiten Durchlauf die invers zu transformierenden Werte, die im ersten Durchlauf invers transformierten Werte sind.
- Vorrichtung nach Anspruch 1, wobei der Dequantisierer eingerichtet ist zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl der Skalierfaktoren auf einer Koeffizientenposition innerhalb eines Blockes und einem Quantisierparameter basiert.
- Vorrichtung nach Anspruch 1, wobei der Dequantisierer eingerichtet ist zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei eine erste Dimension der Tabelle eine Koeffizientenposition der entsprechenden quantisierten Transformationskoeffizienten innerhalb eines Blockes und eine zweite Dimension der zweidimensionalen Tabelle einen Quantisierparameter betreffen.
- Vorrichtung nach Anspruch 1, wobei der Dequantisierer eingerichtet ist zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei dies für einen gegebenen quantisierten Transformationskoeffizienten, der eine Koeffizientenposition innerhalb eines Blockes aufweist, einschließt: Verwenden der Koeffizientenposition und eines Quantisierparameters, um einen gegebenen Skalierfaktor als Eintrag in der zweidimensionalen Tabelle abzurufen; und Multiplizieren des gegebenen quantisierten Transformationskoeffizienten mit dem gegebenen Skalierfaktor.
- Vorrichtung nach Anspruch 1, weiterhin ein Display, eine Energieversorgung, eine Tastatur, einen Prozessor, einen Speicher und ein Speichermedium umfassend, wobei das Speichermedium computerausführbare Instruktionen für Softwareprogramme speichert.
- Vorrichtung nach Anspruch 1, wobei die Softwareprogramme einen Internetbrowser und ein Terminplanprogramm einschließen.
- Vorrichtung nach Anspruch 8, wobei die Softwareprogramme den Blocktransformationsvideodecodierer einschließen und wobei der Blocktransformationsvideodecodierer durch Software implementiert ist, die auf dem Prozessor ausführbar ist.
- Vorrichtung nach Anspruch 1, wobei die dequantisierten Transformationskoeffizienten solche für rekonstruierte Prädiktionsfehlerinformationen für einen 4×4-Block sind.
- Blocktransformationsdecodierer zur Bild- oder Videodecodierung, umfassend: einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten, wobei der Blocktransformationsdecodierer eingerichtet ist zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten, und wobei der Blocktransformationsdecodierer eingerichtet ist zum Durchführen eines inversen Transformationsprozesses zum Anwenden einer inversen Transformation auf die dequantisierten Transformationskoeffizienten, wobei der inverse Transformationsprozess die folgenden Operationen einschließt:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = u – y; d' = u – z, - Blocktransformationsdecodierer nach Anspruch 12, wobei der inverse Transformationsprozess wenigstens einen Teil der inversen Transformation unter Verwendung einer Schmetterlingsstruktur implementiert.
- Blocktransformationsdecodierer nach Anspruch 12, wobei A, B, C und D Einträgen eines Zeilen- oder Spaltenvektors [A, B, C, D] eines 4×4-Blocks entsprechen, der die dequantisierten Transformationskoeffizienten enthält, und wobei a', b', c' und d' einem Zeilen- oder Spaltenvektor [a', b', c', d'] eines transformierten 4×4-Blocks entsprechen.
- Blocktransformationsdecodierer nach Anspruch 14, weiterhin eingerichtet zur Transformation der Spalten des 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses und der Zeilen des transformierten 4×4-Blockes, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf des inversen Transformationsprozesses.
- Blocktransformationsdecodierer nach Anspruch 14, weiterhin eingerichtet zur Transformation der Zeilen eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses und der Spalten des transformierten 4×4-Blocks, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf des inversen Transformationsprozesses.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 16, wobei der inverse Transformationsprozess die inverse Transformation ohne Multiplikationsoperationen implementiert.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 14, wobei der inverse Transformationsprozess Spalten- und Zeileninverstranstormationen so durchführt, dass in einem ersten Durchlauf die invers zu transformierenden Werte die dequantisierten Transformationskoeffizienten und in einem zweiten Durchlauf die invers zu transformierenden Werte die im ersten Durchlauf invers transformierten Werte sind.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 18, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl der Skalierfaktoren auf einer Koeffizientenposition innerhalb eines Blocks und einem Quantisierparameter basiert.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 18, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei eine erste Dimension der Tabelle eine Koeffizientenposition der jeweiligen quantisierten Transformationskoeffizienten innerhalb eines Blockes und eine zweite Dimension der zweidimensionalen Tabelle einen Quantisierparameter betreffen.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 18, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei dies für einen gegebenen quantisierten Transformationskoeffizienten mit einer Koeffizientenposition innerhalb eines Blockes einschließt: Verwenden der Koeffizientenposition und eines Quantisierparameters, um einen gegebenen Skalierfaktor an einem Eintrag in der zweidimensionalen Tabelle nachzuschlagen; und Multiplizieren des gegebenen quantisierten Transformationskoeffizienten mit dem gegebenen Skalierfaktor.
- Blocktransformationsdecodierer für Bild- oder Videodecodierung, umfassend: einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten; Mittel zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten; und Mittel zum Durchführen eines inversen Transformationsprozesses, um eine inverse Transformation auf die dequantisierten Transformationskoeffizienten anzuwenden, wobei der inverse Transformationsprozess die folgenden Operationen einschließt:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a' = u + z; b' = v + y; c' = v – y; d' = u – z, - Blocktransformationsdecodierer nach Anspruch 22, wobei die Mittel zum Durchführen des inversen Transformationsprozesses die inverse Transformation wenigstens teilweise unter Verwendung einer Schmetterlingsstruktur implementieren.
- Blocktransformationsdecodierer nach Anspruch 22, wobei A, B, C und D Einträgen eines Zeilen- oder Spaltenvektors [A, B, C, D] eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, entsprechen, und wobei a', b', c' und d' einem Zeilen- oder Spaltenvektor [a', b', c', d'] eines transformierten 4×4-Blocks entsprechen.
- Blocktransformationsdecodierer nach Anspruch 24, wobei die Mittel zum Durchführen des inversen Transformationsprozesses weiterhin eingerichtet sind zum Transformieren der Spalten eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses und der Zeilen des transformierten 4×4-Blockes, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf des inversen Transformationsprozesses.
- Blocktransformationsdecodierer nach Anspruch 24, wobei die Mittel zum Durchführen des inversen Transformationsprozesses weiterhin eingerichtet sind zum Transformieren der Zeilen eines 4×4-Blockes, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses und der Spalten des transformierten 4×4-Blockes, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf des inversen Transformationsprozesses.
- Blocktransformationsdecodierer nach einem der Ansprüche 22 bis 26, wobei die Mittel zum Durchführen des inversen Transformationsprozesses die inverse Transformation ohne Multiplikationsoperationen implementieren.
- Blocktransformationsdecodierer nach einem der Ansprüche 22 bis 24, wobei die Mittel zum Durchführen des inversen Transformationsprozesses eingerichtet sind zum Durchführen von Spalten- und Zeileninverstransformationen in einer Weise, dass die invers zu transformierenden Werte in einem ersten Durchlauf die dequantisierten Transformationskoeffizienten und in einem zweiten Durchlauf die invers transformierten Werte aus dem ersten Durchlauf sind.
- Blocktransformationsdecodierer nach einem der Ansprüche 22 bis 28, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl der Skalierfaktoren auf einer Koeffizientenposition innerhalb eines Blockes und einem Quantisierparameter basiert.
- Blocktransformationsdecodierer nach einem der Ansprüche 22 bis 28, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei eine erste Dimension der Tabelle eine Koeffizientenposition der jeweiligen quantisierten Transformationskoeffizienten innerhalb eines Blockes und eine zweite Dimension der zweidimensionalen Tabelle einen Quantisierparameter betreffen.
- Blocktransformationsdecodierer nach einem der Ansprüche 22 bis 28, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei dies für einen gegebenen quantisierten Transformationskoeffizienten mit einer Koeffizientenposition innerhalb eines Blockes einschließt: Verwenden der Koeffizientenposition und eines Quantisierparameters, um einen gegebenen Skalierfaktor an einem Eintrag in der zweidimensionalen Tabelle nachzuschlagen; und Multiplizieren des gegebenen quantisierten Transformationskoeffizienten mit dem gegebenen Skalierfaktor.
- Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 31, wobei die dequantisierten Transformationskoeffizienten solche für rekonstruierte Prädiktionsfehlerinformationen für einen 4×4-Block sind.
- Handcomputergerät mit dem Blocktransformationsdecodierer nach einem der Ansprüche 12 bis 32.
- Handcomputergerät nach Anspruch 33, weiterhin ein Display, eine Energieversorgung, eine Tastatur, einen Prozessor, einen Speicher und ein Speichermedium umfassend.
- Handcomputergerät nach Anspruch 34, wobei das Speichermedium eingerichtet ist zum Speichern computerausführbarer Instruktionen für Softwareprogramme.
- Handcomputergerät nach Anspruch 35, wobei die Softwareprogramme einen Internetbrowser, ein Terminplanprogramm und den Blocktransformationsdecodierer einschließen, wobei der Blocktransformationsdecodierer durch Software implementiert ist, die auf dem Prozessor ausführbar ist.
- Vorrichtung, die einen Blocktransformationsvideodecodierer enthält, der umfasst: einen Entropiedecodierer, der eingerichtet ist zum Entropiedecodieren quantisierter Transformationskoeffizienten für einen gegebenen Block; einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block; und einen zweidimensionalen inversen Transformierer, der eingerichtet ist, um die dequantisierten Transformationskoeffizienten zweidimensional invers zu transformieren, wobei die zweidimensionale inverse Transformation Ergebnisse erzielt, wie sie durch die folgenden Gleichungen angegeben sind:
u = A + C; v = A – C; y = (B >> 1) – D; z = (D >> 1) + B; a = u + z; b' = v + y; c' = v – y; d' = u – z, - Vorrichtung, die einen Blocktransformationsvideodecodierer enthält, der umfasst: einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten für einen gegebenen Block; einen Dequantisierer, der eingerichtet ist zum Dequantisieren quantisierter Transformationskoeffizienten für einen gegebenen Block; und einen zweidimensionalen inversen Transformierer, der eingerichtet ist, um die dequantisierten Transformationskoeffizienten basierend auf der folgenden Inverstransformationsmatrix zweidimensional invers zu transformieren:
- Vorrichtung nach Anspruch 37 oder 38, wobei der zweidimensionale inverse Transformierer eingerichtet ist zur Durchführung von Spalten- und Zeileninverstransformationen in einer Weise, dass die invers zu transformierenden Werte in einem ersten Durchlauf die dequantisierten Transformationskoeffizienten und in einem zweiten Durchlauf die invers transformierten Werte aus dem ersten Durchlauf sind.
- Vorrichtung nach Anspruch 37 oder 38, wobei der Dequantisierer eingerichtet ist zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus mehreren Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl auf einer relativen Position eines quantisierten Transformationskoeffizienten innerhalb eines Blockes und einem Quantisierparameter basiert.
- Vorrichtung nach Anspruch 37 oder 38, weiterhin ein Display, eine Energieversorgung, eine Tastatur, einen Prozessor, einen Speicher und ein Speichermedium zum Speichern computerausführbarer Instruktionen für Softwareprogramme umfassend.
- Vorrichtung nach Anspruch 41, wobei die auf dem Speichermedium gespeicherten Softwareprogramme einen Internetbrowser und ein Terminplanprogramm einschließen.
- Vorrichtung nach Anspruch 41, wobei die Softwareprogramme den Blocktransformationsvideodecodierer einschließen und der Blocktransformationsvideodecodierer durch Software implementiert ist, die auf dem Prozessor ausführbar ist.
- Vorrichtung nach Anspruch 37 oder 38, wobei die dequantisierten Transformationskoeffizienten solche für rekonstruierte Prädiktionsfehlerinformationen für einen 4×4-Block sind.
- Vorrichtung nach Anspruch 37 oder 38, wobei die Vorrichtung ein Handcomputergerät, ein Notebookcomputer, ein Personalcomputer, ein Servercomputer, programmierbare Unterhaltungselektronik, ein Minicomputer, ein Mehrprozessorsystem, ein microprozessorbasiertes System, eine verteilte Computerumgebung, ein Netzwerk-PC oder ein Großrechner ist.
- Vorrichtung nach Anspruch 37, wobei der Ausdruck ”>> 1” eine Verschiebeoperation nach rechts um ein Bit oder eine Division um 2 angibt.
- Blocktransformationsdecodierer zur Bild- oder Videodecodierung, umfassend: einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizienten, wobei der Blocktransformationsdecodierer eingerichtet ist zur Durchführung eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten, und wobei der Blocktransformationsdecodierer eingerichtet ist zum Durchführen eines inversen Transformationsprozesses zur Anwendung einer inversen Transformation auf die dequantisierten Transformationskoeffizienten, wobei der inverse Transformationsprozess Berechnungen anwendet, die auf Werten basieren, die in der folgenden Matrix dargestellt sind:
- Blocktransformationsdecodierer nach Anspruch 47, weiterhin eingerichtet zum: Transformieren der Spalten eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses, indem eine Multiplikation der Matrix mit einer Spalte durchgeführt wird; und Transformieren der Zeilen des transformierten 4×4-Blocks, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf, indem eine Multiplikation der transponierten Matrix mit einer Zeile durchgeführt wird.
- Blocktransformationsdecodierer nach Anspruch 47, weiterhin eingerichtet zum: Transformieren der Zeilen eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses, indem eine Multiplikation der transponierten Matrix mit einer Zeile durchgeführt wird; und Transformieren der Spalten des transformierten 4×4-Blocks, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf, indem eine Multiplikation der Matrix mit einer Spalte durchgeführt wird.
- Blocktransformationsdecodierer nach einem der Ansprüche 47 bis 49, wobei der inverse Transformationsprozess die inverse Transformation ohne Multiplikationsoperationen implementiert.
- Blocktransformationsdecodierer nach Anspruch 47, wobei der inverse Transformationsprozess Spalten- und Zeileninverstransformationen in einer Weise durchführt, dass die invers zu transformierenden Werte in einem ersten Durchlauf die dequantisierten Transformationskoeffizienten und in einem zweiten Durchlauf die invers transformierten Werte aus dem ersten Durchlauf sind.
- Blocktransformationsdecodierer nach einem der Ansprüche 47 bis 51, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl der Skalierfaktoren auf einer Koeffizientenposition innerhalb eines Blocks und einem Quantisierparameter beruht.
- Blocktransfomrationsdecodierer nach einem der Ansprüche 47 bis 51, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei eine erste Dimension der Tabelle eine Koeffizientenposition der jeweiligen quantisierten Transformationskoeffizienten innerhalb eines Blocks und eine zweite Dimension der zweidimensionalen Tabelle einen Quantisierparameter betrifft.
- Blocktransformationsdecodierer nach einem der Ansprüche 47 bis 51, wobei der Dequantisierprozess die quantisierten Transformationskoeffizienten mit Skalierfaktoren skaliert, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei dies für einen gegebenen quantisierten Transformationskoeffizienten mit einer Koeffizientenposition innerhalb eines Blockes einschließt: Verwenden der Koeffizientenposition und eines Quantisierparameters, um einen gegebenen Skalierfaktor an einem Eintrag in der zweidimensionalen Tabelle nachzuschlagen; und Multiplizieren des gegebenen quantisierten Transformationskoeffizienten mit dem gegebenen Skalierfaktor.
- Blocktransformationsdecodierer zur Bild- oder Videodecodierung, umfassend: einen Entropiedecodierer zum Entropiedecodieren quantisierter Transformationskoeffizierten; Mittel zum Durchführen eines Dequantisierprozesses zum Dequantisieren der quantisierten Transformationskoeffizienten; und Mittel zum Durchführen eines inversen Transformationsprozesses zum Anwenden einer inversen Transformation auf die dequantisierten Transformationskoeffizienten, wobei der inverse Transformationsprozess Berechnungen anwendet, die auf Werten basieren, die in der folgenden Matrix dargestellt sind:
- Blocktransformationsdecodierer nach Anspruch 55, wobei die Mittel zum Durchführen des inversen Transformationsprozesses weiterhin eingerichtet sind zum: Transformieren der Spalten eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses, indem eine Multiplikation der Matrix mit einer Spalte durchgeführt wird; und Transformieren der Zeilen des transformierten 4×4-Blocks, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf, indem eine Multiplikation der transponierten Matrix mit einer Zeile durchgeführt wird.
- Blocktransformationsdecodierer nach Anspruch 55, wobei die Mittel zum Durchführen des inversen Transformationsprozesses weiterhin eingerichtet sind zum: Transformieren der Zeilen eines 4×4-Blocks, der die dequantisierten Transformationskoeffizienten enthält, in einem ersten Durchlauf des inversen Transformationsprozesses, indem eine Multiplikation der transponierten Matrix mit einer Zeile durchgeführt wird; und Transformieren der Spalten des transformierten 4×4-Blocks, der sich aus dem ersten Durchlauf ergibt, in einem zweiten Durchlauf, indem eine Multiplikation der Matrix mit einer Spalte durchgeführt wird.
- Blocktransformationsdecodierer nach einem der Ansprüche 55 bis 57, wobei die Mittel zum Durchführen des inversen Transformationsprozesses die inverse Transformation ohne Multiplikationsoperationen implementieren.
- Blocktransformationsdecodierer nach Anspruch 55, wobei die Mittel zum Durchführen des inversen Transformationsprozesses eingerichtet sind zum Spalten- und Zeilen-Inverstransformieren in einer Weise, dass die invers zu transformierenden Werte in einem ersten Durchlauf die dequantisierten Transformationskoeffizienten und in einem zweiten Durchlauf die invers transformierten Werte aus dem ersten Durchlauf sind.
- Blocktransformationsdecodierer nach einem der Ansprüche 55 bis 59, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus Gruppen von Skalierfaktoren ausgewählt wurden, wobei die Auswahl der Skalierfaktoren auf einer Koeffizientenposition innerhalb eines Blocks und einem Quantisierparameter basiert.
- Blocktransformationsdecodierer nach einem der Ansprüche 55 bis 59, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei eine erste Dimension der Tabelle einer Koeffizientenposition der jeweiligen quantisierten Transformationskoeffizienten innerhalb eines Blocks und eine zweite Dimension der zweidimensionalen Tabelle einen Quantisierparameter betreffen.
- Blocktransformationsdecodierer nach einem der Ansprüche 55 bis 59, wobei die Mittel zum Durchführen des Dequantisierprozesses eingerichtet sind zum Skalieren der quantisierten Transformationskoeffizienten mit Skalierfaktoren, die aus einer zweidimensionalen Tabelle ausgewählt wurden, wobei dies für einen gegebenen quantisierten Transformationskoeffizienten mit einer Koeffizientenposition innerhalb eines Blocks einschließt: Verwenden der Koeffizientenposition und eines Quantisierparameters, um einen gegebenen Skalierfaktor an einem Eintrag in der zweidimensionalen Tabelle nachzuschlagen; und Multiplizieren des gegebenen quantisierten Transformationskoeffizienten mit dem gegebenen Skalierfaktor.
- Blocktransformationsdecodierer nach einem der Ansprüche 47 bis 62, wobei die dequantisierten Transformationskoeffizienten solche für rekonstruierte Prädiktionsfehlerinformationen für einen 4×4-Block sind.
- Handcomputergerät, das den Blocktransformationsdecodierer nach einem der Ansprüche 47 bis 63 umfasst.
- Handcomputergerät nach Anspruch 64, weiterhin ein Display, eine Energieversorgung, eine Tastatur, einen Prozessor, einen Speicher und ein Speichermedium umfassend.
- Handcomputergerät nach Anspruch 65, wobei das Speichermedium eingerichtet ist zum Speichern computerausführbarer Instruktionen für Softwareprogramme.
- Handcomputergerät nach Anspruch 66, wobei die Softwareprogramme einen Internetbrowser, ein Terminplanprogramm und den Blocktransformationsdecodierer einschließen, wobei der Blocktransformationsdecodierer durch Software implementiert ist, die auf dem Prozessor ausführbar ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/955,577 US6882685B2 (en) | 2001-09-18 | 2001-09-18 | Block transform and quantization for image and video coding |
US955577 | 2001-09-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE20222025U1 true DE20222025U1 (de) | 2012-04-02 |
Family
ID=25497025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002222025 Expired - Lifetime DE20222025U1 (de) | 2001-09-18 | 2002-08-27 | Verbesserter Blocktransformationsdecodierer für die Bild- oder Videodecodierung sowie zugehörige Vorrichtungen und Handcomputergeräte |
Country Status (9)
Country | Link |
---|---|
US (6) | US6882685B2 (de) |
EP (4) | EP1750450B1 (de) |
JP (5) | JP3964765B2 (de) |
KR (4) | KR100839311B1 (de) |
CN (4) | CN100463522C (de) |
DE (1) | DE20222025U1 (de) |
ES (4) | ES2615488T3 (de) |
HK (1) | HK1053033B (de) |
TW (1) | TWI221388B (de) |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100335055B1 (ko) * | 1999-12-08 | 2002-05-02 | 구자홍 | 압축 영상신호의 블럭현상 및 링현상 제거방법 |
US7113646B2 (en) * | 2001-06-29 | 2006-09-26 | Equator Technologies, Inc. | Decoding of predicted AC coefficient without division |
US7068850B2 (en) * | 2001-06-29 | 2006-06-27 | Equator Technologies, Inc. | Decoding of predicted DC coefficient without division |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US7460993B2 (en) * | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
US7920624B2 (en) * | 2002-04-01 | 2011-04-05 | Broadcom Corporation | Inverse quantizer supporting multiple decoding processes |
US7242713B2 (en) * | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US7760950B2 (en) * | 2002-09-26 | 2010-07-20 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
US7471726B2 (en) * | 2003-07-15 | 2008-12-30 | Microsoft Corporation | Spatial-domain lapped transform in digital media compression |
US7813574B2 (en) * | 2003-09-24 | 2010-10-12 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
EP2713619A3 (de) | 2003-11-18 | 2015-01-07 | Mobile Imaging in Sweden AB | Verfahren zum verarbeiten eines digitalen bildes und bildrepräsentationsformat |
US7487193B2 (en) * | 2004-05-14 | 2009-02-03 | Microsoft Corporation | Fast video codec transform implementations |
KR101320260B1 (ko) * | 2004-06-18 | 2013-10-23 | 톰슨 라이센싱 | 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치 |
US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
US7471850B2 (en) * | 2004-12-17 | 2008-12-30 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
CN1282107C (zh) * | 2005-01-07 | 2006-10-25 | 北京北大方正电子有限公司 | 一种对图像进行快速压缩和解压缩的方法 |
US7778327B2 (en) * | 2005-02-08 | 2010-08-17 | Texas Instruments Incorporated | H.264 quantization |
US7546240B2 (en) * | 2005-07-15 | 2009-06-09 | Microsoft Corporation | Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition |
CN101253774B (zh) * | 2005-07-18 | 2011-04-06 | 韩国电子通信研究院 | 使用视角时间参考图像缓冲器的预测编码/解码装置及使用其的方法 |
CN100370834C (zh) * | 2005-08-08 | 2008-02-20 | 北京中星微电子有限公司 | 多模图像编解码芯片中的系数缩放计算模块 |
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8705617B2 (en) * | 2005-09-27 | 2014-04-22 | Qualcomm Incorporated | Multiple layer video encoding |
US7689052B2 (en) * | 2005-10-07 | 2010-03-30 | Microsoft Corporation | Multimedia signal processing using fixed-point approximations of linear transforms |
CN100539704C (zh) * | 2005-12-08 | 2009-09-09 | 香港中文大学 | 视频信号的编码系数的转换装置及其方法 |
US20070199011A1 (en) * | 2006-02-17 | 2007-08-23 | Sony Corporation | System and method for high quality AVC encoding |
US7912129B2 (en) * | 2006-03-16 | 2011-03-22 | Sony Corporation | Uni-modal based fast half-pel and fast quarter-pel refinement for video encoding |
US20070223590A1 (en) * | 2006-03-24 | 2007-09-27 | Mediatek Inc. | System, apparatus, method, and computer program product for processing an integer transform |
US7929608B2 (en) * | 2006-03-28 | 2011-04-19 | Sony Corporation | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder |
US8077769B2 (en) * | 2006-03-28 | 2011-12-13 | Sony Corporation | Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
WO2008019524A1 (en) * | 2006-07-17 | 2008-02-21 | Thomson Licensing | Method and apparatus for encoding video color enhancement data, and method and apparatus for decoding video color enhancement data |
US8179961B2 (en) | 2006-07-17 | 2012-05-15 | Thomson Licensing | Method and apparatus for adapting a default encoding of a digital video signal during a scene change period |
JP4952282B2 (ja) * | 2007-02-14 | 2012-06-13 | パナソニック株式会社 | 画像符号化装置、画像符号化方法、および画像符号化プログラム |
US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
US8019804B2 (en) * | 2007-03-26 | 2011-09-13 | City University Of Hong Kong | Method and apparatus for calculating an SSD and encoding a video signal |
US7761290B2 (en) | 2007-06-15 | 2010-07-20 | Microsoft Corporation | Flexible frequency and time partitioning in perceptual transform coding of audio |
US8819095B2 (en) | 2007-08-28 | 2014-08-26 | Qualcomm Incorporated | Fast computation of products by dyadic fractions with sign-symmetric rounding errors |
US7965900B2 (en) * | 2007-09-26 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Processing an input image to reduce compression-related artifacts |
KR101496324B1 (ko) | 2007-10-17 | 2015-02-26 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
US8369638B2 (en) * | 2008-05-27 | 2013-02-05 | Microsoft Corporation | Reducing DC leakage in HD photo transform |
US8447591B2 (en) * | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
US8275209B2 (en) * | 2008-10-10 | 2012-09-25 | Microsoft Corporation | Reduced DC gain mismatch and DC leakage in overlap transform processing |
WO2010085125A2 (ko) | 2009-01-22 | 2010-07-29 | 삼성전자 주식회사 | 영상의 변환 방법 및 장치, 역변환 방법 및 장치 |
US9110849B2 (en) * | 2009-04-15 | 2015-08-18 | Qualcomm Incorporated | Computing even-sized discrete cosine transforms |
CN101605259B (zh) * | 2009-05-31 | 2012-11-21 | 华亚微电子(上海)有限公司 | 对多媒体数据进行变换编、解码的装置及方法 |
US8762441B2 (en) * | 2009-06-05 | 2014-06-24 | Qualcomm Incorporated | 4X4 transform for media coding |
US9069713B2 (en) * | 2009-06-05 | 2015-06-30 | Qualcomm Incorporated | 4X4 transform for media coding |
US8451904B2 (en) | 2009-06-24 | 2013-05-28 | Qualcomm Incorporated | 8-point transform for media data coding |
US9081733B2 (en) * | 2009-06-24 | 2015-07-14 | Qualcomm Incorporated | 16-point transform for media data coding |
US9075757B2 (en) * | 2009-06-24 | 2015-07-07 | Qualcomm Incorporated | 16-point transform for media data coding |
US9118898B2 (en) * | 2009-06-24 | 2015-08-25 | Qualcomm Incorporated | 8-point transform for media data coding |
JP5670444B2 (ja) | 2010-05-13 | 2015-02-18 | シャープ株式会社 | 符号化装置および復号装置 |
KR101885258B1 (ko) | 2010-05-14 | 2018-08-06 | 삼성전자주식회사 | 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
BR122020016581B1 (pt) | 2010-09-28 | 2022-03-03 | Samsung Electronics Co., Ltd. | Método de decodificação de vídeo, e método de codificação de vídeo |
JP5678593B2 (ja) * | 2010-11-12 | 2015-03-04 | 沖電気工業株式会社 | 符号化支援装置、符号化装置、復号支援装置、復号装置、符号化支援プログラム、及び復号支援プログラム |
US9824066B2 (en) | 2011-01-10 | 2017-11-21 | Qualcomm Incorporated | 32-point transform for media data coding |
HUE046377T2 (hu) | 2011-01-14 | 2020-03-30 | Ge Video Compression Llc | Entrópia kódoló és dekódoló séma |
AU2016219700B2 (en) * | 2011-01-18 | 2018-06-28 | Dolby International Ab | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
US20120183044A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with memory storing |
US20120183048A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with multiple clipping |
US9807395B2 (en) | 2011-01-18 | 2017-10-31 | Dolby International Ab | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
US20120183047A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with inverse transform clipping |
US20120183045A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform including clipping |
KR20120098500A (ko) * | 2011-02-25 | 2012-09-05 | 삼성전자주식회사 | 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치 |
KR101522391B1 (ko) | 2011-03-10 | 2015-05-21 | 니폰덴신뎅와 가부시키가이샤 | 양자화 제어 장치 및 방법, 및 양자화 제어 프로그램 |
US20120307889A1 (en) * | 2011-06-01 | 2012-12-06 | Sharp Laboratories Of America, Inc. | Video decoder with dynamic range adjustments |
US8571099B2 (en) * | 2011-06-01 | 2013-10-29 | Sharp Laboratories Of America, Inc. | Decoder with dynamic range compensation |
JP2013038768A (ja) * | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US20130114685A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
JP6120490B2 (ja) * | 2011-11-07 | 2017-04-26 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9167261B2 (en) | 2011-11-07 | 2015-10-20 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
US9749633B2 (en) | 2012-01-19 | 2017-08-29 | Vid Scale, Inc. | System and method of video coding quantization and dynamic range control |
US9104473B2 (en) * | 2012-03-30 | 2015-08-11 | Altera Corporation | Conversion and compression of floating-point and integer data |
US9277214B2 (en) * | 2013-02-15 | 2016-03-01 | Cisco Technology, Inc. | Sub-picture hierarchical QP coding |
CN110033779B (zh) * | 2014-02-27 | 2023-11-17 | 瑞典爱立信有限公司 | 用于棱椎矢量量化编索引和解索引的方法和装置 |
US9787332B2 (en) * | 2015-09-15 | 2017-10-10 | Intel Corporation | Error-checking compressed streams in heterogeneous compression accelerators |
US10257394B2 (en) | 2016-02-12 | 2019-04-09 | Contrast, Inc. | Combined HDR/LDR video streaming |
US10264196B2 (en) | 2016-02-12 | 2019-04-16 | Contrast, Inc. | Systems and methods for HDR video capture with a mobile device |
WO2018031441A1 (en) | 2016-08-09 | 2018-02-15 | Contrast, Inc. | Real-time hdr video for vehicle control |
CN106341689B (zh) * | 2016-09-07 | 2019-04-23 | 中山大学 | 一种avs2量化模块和反量化模块的优化方法及*** |
JP6822121B2 (ja) * | 2016-12-19 | 2021-01-27 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP7313330B2 (ja) * | 2017-07-05 | 2023-07-24 | レッド.コム,エルエルシー | 電子機器でのビデオ画像データ処理 |
KR102432486B1 (ko) * | 2017-11-22 | 2022-08-12 | 삼성전자주식회사 | 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법 |
US10951888B2 (en) | 2018-06-04 | 2021-03-16 | Contrast, Inc. | Compressed high dynamic range video |
US11303932B2 (en) * | 2018-08-14 | 2022-04-12 | Contrast, Inc. | Image compression |
CN110944177B (zh) * | 2018-09-21 | 2024-03-01 | 华为技术有限公司 | 视频解码方法及视频解码器,视频编码方法及视频编码器 |
GB2578633B (en) * | 2018-11-02 | 2021-10-13 | Advanced Risc Mach Ltd | Encoding data arrays |
US11665368B2 (en) | 2018-12-06 | 2023-05-30 | Lg Electronics Inc. | Method and device for processing video signal by using transform having low complexify |
JP2020098984A (ja) | 2018-12-17 | 2020-06-25 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
US10992960B2 (en) | 2019-02-06 | 2021-04-27 | Jared Michael Cohn | Accelerated video exportation to multiple destinations |
US20220295104A1 (en) * | 2019-09-20 | 2022-09-15 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
US20220237259A1 (en) * | 2021-01-28 | 2022-07-28 | Stmicroelectronics, Inc. | Methods and devices for fast fourier transforms |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06105296B2 (ja) | 1986-09-30 | 1994-12-21 | 株式会社島津製作所 | Ect装置の散乱線補正法 |
JPH0654307B2 (ja) | 1986-10-08 | 1994-07-20 | 動力炉・核燃料開発事業団 | 液体一固体系内の超音波可視化方法及び装置 |
JPS63219066A (ja) | 1987-03-06 | 1988-09-12 | Matsushita Electric Ind Co Ltd | 直交変換装置 |
US4922537A (en) * | 1987-06-02 | 1990-05-01 | Frederiksen & Shu Laboratories, Inc. | Method and apparatus employing audio frequency offset extraction and floating-point conversion for digitally encoding and decoding high-fidelity audio signals |
JPH0645949B2 (ja) | 1988-06-14 | 1994-06-15 | ナショナル住宅産業株式会社 | 小屋組 |
JPH0645948Y2 (ja) | 1988-11-16 | 1994-11-24 | 京セラ株式会社 | カメラの逆入射光防止装置 |
US5357594A (en) * | 1989-01-27 | 1994-10-18 | Dolby Laboratories Licensing Corporation | Encoding and decoding using specially designed pairs of analysis and synthesis windows |
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
US5319724A (en) | 1990-04-19 | 1994-06-07 | Ricoh Corporation | Apparatus and method for compressing still images |
JP2945487B2 (ja) * | 1990-12-26 | 1999-09-06 | 株式会社日立製作所 | 行列乗算器 |
JPH04282988A (ja) | 1991-03-12 | 1992-10-08 | Sony Corp | データ変換装置及び方法 |
US5168375A (en) * | 1991-09-18 | 1992-12-01 | Polaroid Corporation | Image reconstruction by use of discrete cosine and related transforms |
DE4207895A1 (de) * | 1992-03-12 | 1993-09-16 | Vaw Ver Aluminium Werke Ag | Verfahren und anordnung zum vertikalstranggiessen von metall |
KR0150955B1 (ko) * | 1992-05-27 | 1998-10-15 | 강진구 | 비트고정을 위한 영상압축방법과 신장방법 및 그 장치 |
US5394349A (en) * | 1992-07-10 | 1995-02-28 | Xing Technology Corporation | Fast inverse discrete transform using subwords for decompression of information |
JPH0645949A (ja) | 1992-07-27 | 1994-02-18 | Victor Co Of Japan Ltd | 直交変換装置及び逆直交変換装置 |
JPH0645948A (ja) | 1992-07-27 | 1994-02-18 | Victor Co Of Japan Ltd | 直交変換装置及び逆直交変換装置 |
JPH0654307A (ja) | 1992-07-29 | 1994-02-25 | Casio Comput Co Ltd | データ圧縮装置 |
JP3348310B2 (ja) | 1992-09-28 | 2002-11-20 | ソニー株式会社 | 動画像符号化方法および動画像符号化装置 |
JP3069455B2 (ja) * | 1992-12-22 | 2000-07-24 | 富士写真フイルム株式会社 | 画像データ圧縮伸張装置における量子化・逆量子化回路 |
US5995539A (en) * | 1993-03-17 | 1999-11-30 | Miller; William J. | Method and apparatus for signal transmission and reception |
JP3697717B2 (ja) * | 1993-09-24 | 2005-09-21 | ソニー株式会社 | 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置 |
US5587708A (en) * | 1994-01-19 | 1996-12-24 | Industrial Technology Research Institute | Division technique unified quantizer-dequantizer |
US5604502A (en) * | 1994-03-21 | 1997-02-18 | Lucent Technologies Inc. | Motion video compression system with inverse discrete cosine transform mismatch control |
KR0126109B1 (ko) * | 1994-05-12 | 1997-12-19 | 아더 와이.씨. 치아오 | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 |
JPH08214307A (ja) * | 1995-02-02 | 1996-08-20 | Canon Inc | 符号化装置 |
JP3046224B2 (ja) * | 1994-07-26 | 2000-05-29 | 三星電子株式会社 | 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法 |
EP0714212A3 (de) * | 1994-11-21 | 1999-03-31 | SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH | Bilddekodierer mit konkurrierender Verarbeitung und Verteilung von Verarbeitungseinheiten |
US5864637A (en) * | 1995-04-18 | 1999-01-26 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selective reduction of spatial resolution |
US6002801A (en) * | 1995-04-18 | 1999-12-14 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics |
JPH08305684A (ja) * | 1995-04-28 | 1996-11-22 | Matsushita Electric Ind Co Ltd | バタフライ演算装置及び逆離散余弦変換装置 |
CN1154193A (zh) * | 1995-05-15 | 1997-07-09 | 宝丽来公司 | 用于降低图象数据压缩噪声的方法和设备 |
JP2778622B2 (ja) * | 1995-06-06 | 1998-07-23 | 日本電気株式会社 | 2次元dct回路 |
JP2914226B2 (ja) | 1995-06-16 | 1999-06-28 | 日本電気株式会社 | 可逆変換を可能にするディジタル信号の変換符号化方式 |
JP3274593B2 (ja) * | 1995-09-27 | 2002-04-15 | 日本電気株式会社 | 可逆変換可能な変換装置及び逆変換装置 |
US5933535A (en) * | 1995-10-05 | 1999-08-03 | Microsoft Corporation | Object-based video compression process employing arbitrarily-shaped features |
US6085221A (en) * | 1996-01-08 | 2000-07-04 | International Business Machines Corporation | File server for multimedia file distribution |
US6957350B1 (en) * | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
JP3168922B2 (ja) * | 1996-08-27 | 2001-05-21 | 日本ビクター株式会社 | デジタル画像情報の記録再生装置 |
KR100229795B1 (ko) * | 1996-08-30 | 1999-11-15 | 전주범 | 개선된 영상 복호화 시스템 |
JPH1091614A (ja) | 1996-09-13 | 1998-04-10 | Hitachi Ltd | Idctの整数化法 |
JPH10107644A (ja) * | 1996-09-26 | 1998-04-24 | Sony Corp | 量子化装置および方法、並びに、符号化装置および方法 |
SG54383A1 (en) * | 1996-10-31 | 1998-11-16 | Sgs Thomson Microelectronics A | Method and apparatus for decoding multi-channel audio data |
US5883823A (en) | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
DE69805583T2 (de) * | 1997-02-08 | 2003-01-23 | Matsushita Electric Ind Co Ltd | Quantisierungsmatrix für die codierung von stand- und bewegtbildern |
US5974184A (en) * | 1997-03-07 | 1999-10-26 | General Instrument Corporation | Intra-macroblock DC and AC coefficient prediction for interlaced digital video |
US6351570B1 (en) * | 1997-04-01 | 2002-02-26 | Matsushita Electric Industrial Co., Ltd. | Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding |
US6058215A (en) * | 1997-04-30 | 2000-05-02 | Ricoh Company, Ltd. | Reversible DCT for lossless-lossy compression |
US6134270A (en) * | 1997-06-13 | 2000-10-17 | Sun Microsystems, Inc. | Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same |
US6057855A (en) * | 1997-07-02 | 2000-05-02 | Hewlett-Packard Company | Method and apparatus for providing polygon pixel sub-sample information using incremental means |
JPH11122624A (ja) * | 1997-10-16 | 1999-04-30 | Matsushita Electric Ind Co Ltd | ビデオデコーダ処理量を低減する方法および装置 |
US6006179A (en) * | 1997-10-28 | 1999-12-21 | America Online, Inc. | Audio codec using adaptive sparse vector quantization with subband vector classification |
US6137916A (en) * | 1997-11-17 | 2000-10-24 | Sony Electronics, Inc. | Method and system for improved digital video data processing using 8-point discrete cosine transforms |
US6600785B1 (en) * | 1997-12-01 | 2003-07-29 | Matsushita Electric Industrial | Image processor, image data processor and variable length encoder/decoder |
ES2251116T3 (es) * | 1997-12-19 | 2006-04-16 | Infineon Technologies Ag | Dispositivo para la multiplicacion con factores constantes y su utilizacion para la compresion de video (mpeg). |
RU2201654C2 (ru) | 1997-12-23 | 2003-03-27 | Томсон Лайсенсинг С.А. | Способ низкошумового кодирования и декодирования |
EP0926899A3 (de) * | 1997-12-25 | 1999-12-15 | SANYO ELECTRIC Co., Ltd. | Gerät und Verfahren für Bilddekomprimierung |
JP3953183B2 (ja) | 1998-03-27 | 2007-08-08 | パナソニック コミュニケーションズ株式会社 | 画像通信方法および画像通信装置 |
BR9910270A (pt) * | 1998-05-07 | 2001-10-02 | Sarnoff Corp | Método e aparelho para aumentar a utilização de recurso de memória em um decodificador de fluxo de informação |
US6115689A (en) * | 1998-05-27 | 2000-09-05 | Microsoft Corporation | Scalable audio coder and decoder |
US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
US6073153A (en) * | 1998-06-03 | 2000-06-06 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6154762A (en) * | 1998-06-03 | 2000-11-28 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6301304B1 (en) * | 1998-06-17 | 2001-10-09 | Lsi Logic Corporation | Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders |
GB9819648D0 (en) * | 1998-09-10 | 1998-11-04 | Nds Ltd | Determining visually noticeable differences between two images |
US6353808B1 (en) * | 1998-10-22 | 2002-03-05 | Sony Corporation | Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal |
EP1125235B1 (de) * | 1998-10-26 | 2003-04-23 | STMicroelectronics Asia Pacific Pte Ltd. | Digitaler audiokodierer mit verschiedenen genauigkeiten |
US7194138B1 (en) * | 1998-11-04 | 2007-03-20 | International Business Machines Corporation | Reduced-error processing of transformed digital data |
US6421464B1 (en) * | 1998-12-16 | 2002-07-16 | Fastvdo Llc | Fast lapped image transforms using lifting steps |
US6363117B1 (en) * | 1998-12-31 | 2002-03-26 | Sony Corporation | Video compression using fast block motion estimation |
US6473534B1 (en) * | 1999-01-06 | 2002-10-29 | Hewlett-Packard Company | Multiplier-free implementation of DCT used in image and video processing and compression |
US6496795B1 (en) * | 1999-05-05 | 2002-12-17 | Microsoft Corporation | Modulated complex lapped transform for integrated signal enhancement and coding |
US6487574B1 (en) * | 1999-02-26 | 2002-11-26 | Microsoft Corp. | System and method for producing modulated complex lapped transforms |
US6370502B1 (en) * | 1999-05-27 | 2002-04-09 | America Online, Inc. | Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec |
US6574651B1 (en) * | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6507614B1 (en) * | 1999-10-19 | 2003-01-14 | Sony Corporation | Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations |
US7028063B1 (en) * | 1999-10-26 | 2006-04-11 | Velocity Communication, Inc. | Method and apparatus for a DFT/IDFT engine supporting multiple X-DSL protocols |
WO2001040985A2 (en) | 1999-12-06 | 2001-06-07 | Hrl Laboratories, Llc | Method and apparatus for calculating wavelet transform using variable precision |
WO2001052550A1 (en) * | 2000-01-12 | 2001-07-19 | Koninklijke Philips Electronics N.V. | Image data compression |
JP3593944B2 (ja) * | 2000-03-08 | 2004-11-24 | 日本電気株式会社 | 画像データ処理装置及びそれに用いる動き補償処理方法 |
JP4560694B2 (ja) | 2000-04-05 | 2010-10-13 | ソニー株式会社 | 符号化装置及びその方法 |
US6606725B1 (en) * | 2000-04-25 | 2003-08-12 | Mitsubishi Electric Research Laboratories, Inc. | MAP decoding for turbo codes by parallel matrix processing |
SE522261C2 (sv) * | 2000-05-10 | 2004-01-27 | Global Ip Sound Ab | Kodning och avkodning av en digital signal |
US8374237B2 (en) * | 2001-03-02 | 2013-02-12 | Dolby Laboratories Licensing Corporation | High precision encoding and decoding of video images |
JP4063508B2 (ja) * | 2001-07-04 | 2008-03-19 | 日本電気株式会社 | ビットレート変換装置およびビットレート変換方法 |
US20030112873A1 (en) | 2001-07-11 | 2003-06-19 | Demos Gary A. | Motion estimation for video compression systems |
US7123655B2 (en) * | 2001-08-09 | 2006-10-17 | Sharp Laboratories Of America, Inc. | Method for reduced bit-depth quantization |
US7185037B2 (en) * | 2001-08-23 | 2007-02-27 | Texas Instruments Incorporated | Video block transform |
KR100433709B1 (ko) | 2001-08-31 | 2004-05-31 | (주)씨앤에스 테크놀로지 | 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법 |
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US7295609B2 (en) * | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
US7200275B2 (en) * | 2001-12-17 | 2007-04-03 | Microsoft Corporation | Skip macroblock coding |
US7379498B2 (en) * | 2002-03-11 | 2008-05-27 | Broadcom Corporation | Reconstructing a compressed still image by transformation to a compressed moving picture image |
JP2003348598A (ja) | 2002-04-12 | 2003-12-05 | Seiko Epson Corp | メモリ効率のいい圧縮領域ビデオ処理のための且つ因数分解及び整数近似法を用いる高速逆動き補償のための方法並びに装置 |
US7190724B2 (en) * | 2002-04-12 | 2007-03-13 | Seiko Epson Corporation | Method and apparatus for transform domain video processing |
US7242713B2 (en) | 2002-05-02 | 2007-07-10 | Microsoft Corporation | 2-D transforms for image and video coding |
US6944224B2 (en) * | 2002-08-14 | 2005-09-13 | Intervideo, Inc. | Systems and methods for selecting a macroblock mode in a video encoder |
US7197525B2 (en) * | 2002-11-26 | 2007-03-27 | Analog Devices, Inc. | Method and system for fixed point fast fourier transform with improved SNR |
US7075530B2 (en) * | 2003-02-27 | 2006-07-11 | International Business Machines Corporation | Fast lighting processors |
US7330866B2 (en) * | 2003-07-01 | 2008-02-12 | Nvidia Corporation | System for frequency-domain scaling for discrete cosine transform |
JP4617644B2 (ja) | 2003-07-18 | 2011-01-26 | ソニー株式会社 | 符号化装置及び方法 |
US7609763B2 (en) * | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7502415B2 (en) * | 2003-07-18 | 2009-03-10 | Microsoft Corporation | Range reduction |
US7688895B2 (en) * | 2003-07-22 | 2010-03-30 | Lsi Corporation | Method and/or circuit for binary arithmetic decoding decisions before termination |
US8014450B2 (en) * | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
KR100965881B1 (ko) * | 2003-10-10 | 2010-06-24 | 삼성전자주식회사 | 비디오 데이터 인코딩 시스템 및 디코딩 시스템 |
ES2392437T3 (es) | 2004-01-30 | 2012-12-10 | Panasonic Corporation | Procedimiento de decodificación de vídeos que utiliza matrices de cuantificación adaptativas |
US20050213835A1 (en) * | 2004-03-18 | 2005-09-29 | Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. | Integer transform matrix selection method in video coding and related integer transform method |
US20050259729A1 (en) * | 2004-05-21 | 2005-11-24 | Shijun Sun | Video coding with quality scalability |
JP4241517B2 (ja) | 2004-06-15 | 2009-03-18 | キヤノン株式会社 | 画像符号化装置及び画像復号装置 |
JP4074868B2 (ja) * | 2004-12-22 | 2008-04-16 | 株式会社東芝 | 画像符号化制御方法及びその装置 |
JP2008536451A (ja) | 2005-04-14 | 2008-09-04 | トムソン ライセンシング | 空間スケーラブルビデオ符号化及び復号化向けスライス適応型動きベクトル符号化のための方法及び装置 |
BRPI0611672A2 (pt) * | 2005-07-22 | 2009-01-13 | Mitsubishi Electric Corp | codificador e decodificador de imagem, mÉtodo de codificaÇço de imagem, programa de codificaÇço de imagem, meio de gravaÇço legÍvel por computador, mÉtodo de decodificaÇço de imagem, programa de decodificaÇço de imagem, e, corrente de bits codificada por imagem |
CN100539437C (zh) * | 2005-07-29 | 2009-09-09 | 上海杰得微电子有限公司 | 一种音频编解码器的实现方法 |
US8548265B2 (en) * | 2006-01-05 | 2013-10-01 | Fastvdo, Llc | Fast multiplierless integer invertible transforms |
US20070271321A1 (en) * | 2006-01-11 | 2007-11-22 | Qualcomm, Inc. | Transforms with reduce complexity and/or improve precision by means of common factors |
US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
JP5277180B2 (ja) * | 2007-03-23 | 2013-08-28 | トムソン ライセンシング | 符号化ビットストリームの修正 |
BRPI0811626B1 (pt) * | 2007-06-14 | 2019-08-20 | Contentarmor | Método e dispositivo imprimir marca d'água em dados codificados de extensão variável, fluxo contínuo de dados codificados de extensão variável e mídia legível por processador |
US20120014431A1 (en) * | 2010-07-14 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
US9313514B2 (en) * | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
-
2001
- 2001-09-18 US US09/955,577 patent/US6882685B2/en not_active Expired - Lifetime
-
2002
- 2002-08-27 ES ES02019057.5T patent/ES2615488T3/es not_active Expired - Lifetime
- 2002-08-27 EP EP06020298.3A patent/EP1750450B1/de not_active Expired - Lifetime
- 2002-08-27 EP EP06020297.5A patent/EP1768418B1/de not_active Expired - Lifetime
- 2002-08-27 EP EP06020296.7A patent/EP1750449B1/de not_active Expired - Lifetime
- 2002-08-27 ES ES06020298.3T patent/ES2628532T3/es not_active Expired - Lifetime
- 2002-08-27 ES ES06020296.7T patent/ES2628498T3/es not_active Expired - Lifetime
- 2002-08-27 ES ES06020297.5T patent/ES2628527T3/es not_active Expired - Lifetime
- 2002-08-27 DE DE2002222025 patent/DE20222025U1/de not_active Expired - Lifetime
- 2002-08-27 EP EP02019057.5A patent/EP1294198B1/de not_active Expired - Lifetime
- 2002-09-10 KR KR20020054526A patent/KR100839311B1/ko active IP Right Grant
- 2002-09-18 CN CNB2005101192207A patent/CN100463522C/zh not_active Expired - Lifetime
- 2002-09-18 TW TW91121390A patent/TWI221388B/zh not_active IP Right Cessation
- 2002-09-18 CN CNB2005101192211A patent/CN100459712C/zh not_active Expired - Lifetime
- 2002-09-18 CN CNB021432058A patent/CN1231068C/zh not_active Expired - Lifetime
- 2002-09-18 CN CNB2005101192194A patent/CN100484247C/zh not_active Expired - Lifetime
- 2002-09-18 JP JP2002272011A patent/JP3964765B2/ja not_active Expired - Lifetime
-
2003
- 2003-07-22 HK HK03105290.3A patent/HK1053033B/zh not_active IP Right Cessation
-
2005
- 2005-02-25 US US11/067,101 patent/US7881371B2/en not_active Expired - Fee Related
- 2005-04-12 US US11/104,956 patent/US7773671B2/en active Active
- 2005-04-12 US US11/105,216 patent/US7839928B2/en active Active
- 2005-04-12 US US11/104,943 patent/US7106797B2/en not_active Expired - Lifetime
-
2006
- 2006-09-28 KR KR1020060094699A patent/KR100839309B1/ko active IP Right Grant
- 2006-09-28 KR KR1020060094696A patent/KR100839308B1/ko active IP Right Grant
- 2006-09-28 KR KR1020060094777A patent/KR100839310B1/ko active IP Right Grant
- 2006-10-12 JP JP2006279189A patent/JP4560028B2/ja not_active Expired - Lifetime
- 2006-10-12 JP JP2006279188A patent/JP3964925B2/ja not_active Expired - Lifetime
- 2006-10-12 JP JP2006279187A patent/JP4560027B2/ja not_active Expired - Lifetime
- 2006-11-29 JP JP2006322322A patent/JP4560033B2/ja not_active Expired - Lifetime
-
2011
- 2011-01-19 US US13/009,755 patent/US8971405B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE20222025U1 (de) | Verbesserter Blocktransformationsdecodierer für die Bild- oder Videodecodierung sowie zugehörige Vorrichtungen und Handcomputergeräte | |
DE3884802T3 (de) | Verfahren und vorrichtung zur adaptiven blocktransformationscodierung von bildern. | |
DE69722060T2 (de) | Inverser Bewegungsausgleich von schneller DCT | |
DE69637335T2 (de) | Bildsignalkodierungsmethode und -vorrichtung | |
DE60308255T2 (de) | 2D-Transformationen zur Bild- und Videokodierung | |
US7082450B2 (en) | Implementation of a transform and of a subsequent quantization | |
EP2222086A1 (de) | Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation | |
EP0956539B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
EP3434015A1 (de) | Datenkompression mittels adaptiven unterabtastens | |
EP0956703B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
US6640012B1 (en) | Image compression system and method of determining quantization parameters therefor | |
DE69835431T2 (de) | Bildkodier-und-dekodierverfahren und-vorrichtung | |
DE69128054T2 (de) | Bilddatenverarbeitungsverfahren und -gerät | |
DE102006003168A1 (de) | Kodiervorrichtung, Verfahren zum Anpassen einer Dekodierberechnung und Computerprogrammprodukt hierfür | |
DE3545106C2 (de) | ||
DE19618117C1 (de) | Verfahren zur Quantisierung und Verfahren zur inversen Quantisierung von Transformationscodierungskoeffizienten eines Videodatenstorms | |
DE102006049232B4 (de) | Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation | |
EP0241745A1 (de) | Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten | |
EP1869890B1 (de) | Verfahren und vorrichtung zur reduktion eines quantisierungsfehlers | |
EP1121809B1 (de) | Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes | |
DE10007171A1 (de) | Verfahren und Anordnung zur Codierung bzw. zur Codierung und Decodierung einer Zahlenfolge | |
EP0118754B1 (de) | Verfahren und Schaltungsanordnung zur digitalen Übertragung von Fernsehbildern | |
DE4333368C2 (de) | Verfahren zur Aufbereitung von Daten zur Beschreibung von Bildbereichen, sowie Anordnung hierzu | |
JPH07250326A (ja) | 画像符号化方式 | |
DE19544787A1 (de) | Verfahren und Vorrichtung zum Codieren eines Bewegtbildes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R207 | Utility model specification |
Effective date: 20120524 |
|
R152 | Utility model maintained after payment of third maintenance fee after eight years |
Effective date: 20120426 |
|
R071 | Expiry of right | ||
R071 | Expiry of right |