DE69937462T2 - Effiziente macroblockheaderkodierung zur videokompression - Google Patents
Effiziente macroblockheaderkodierung zur videokompression Download PDFInfo
- Publication number
- DE69937462T2 DE69937462T2 DE69937462T DE69937462T DE69937462T2 DE 69937462 T2 DE69937462 T2 DE 69937462T2 DE 69937462 T DE69937462 T DE 69937462T DE 69937462 T DE69937462 T DE 69937462T DE 69937462 T2 DE69937462 T2 DE 69937462T2
- Authority
- DE
- Germany
- Prior art keywords
- macroblock
- blocks
- block pattern
- many
- coded block
- 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
Classifications
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Description
- TECHNISCHES GEBIET
- Die Erfindung bezieht sich auf Videocodierung (das Videocodieren), und im Speziellen auf ein verbessertes Verfahren zum Codieren von Blockparametern, die bei rahmenbasierten und objektbasierten Videocodierungsformaten verwendet werden.
- HINTERGRUND
- Anzeigegeräte für bewegte Bilder (full-motion video displays), die auf analogen Videosignalen basieren, sind schon lange in der Form von Fernsehgeräten verfügbar gewesen. Mit den kürzlich gemachten Fortschritten bei den Fähigkeiten der Computerverarbeitung und deren Erschwinglichkeit werden Anzeigegeräte für bewegte Bilder, basierend auf digitalen Videosignalen, weitreichender verfügbar. Digitale Videosysteme können signifikante Verbesserungen gegenüber konventionellen analogen Videosystemen beim Erzeugen, Modifizieren, Übertragen, Speichern und Abspielen von Bewegtbildsequenzen (full-motion video sequences) bieten.
- Digitale Videoanzeigegeräte schließen eine große Anzahl von Bild-Frames (Bildrahmen) ein, die bei Frequenzen zwischen 30 und 75 Hz nacheinander abgespielt oder gerendert (wiedergegeben/sichtbar gemacht) werden. Jeder Bild-Frame ist ein Standbild, das von einem Bereich an Pixeln basierend auf der Auflösung des Anzeigegerätes eines bestimmten Systems gebildet wird. Als Beispiele haben VHS-basierte Systeme Anzeigeauflösungen von 320×480 Pixel, NTSC-basierte Systeme Anzeigeauflösungen von 720×486 Pixel und High-Definition-Fernsehsysteme (HDTV-Systeme), die in der Entwicklung stecken, Anzeigeauflösungen von 1360×1024 Pixel.
- Die Mengen an rohen Digitalinformationen, die in Videosequenzen enthalten sind, sind massiv. Die Speicherung und Übertragung dieser Menge an Videoinformation ist mit konventioneller Personalcomputerausrüstung nicht durchführbar. Wenn man sich z.B. vorstellt, dass eine digitalisierte Form eines VHS-Bildformats mit einer relativ geringen Auflösung eine Auflösung von 320×480 Pixel aufweist. Ein Film in voller Länge mit einer Dauer von 2 Stun den entspricht bei dieser Auflösung 100 Gigabytes digitaler Videoinformation. Als Vergleich haben konventionelle optische Kompaktdisks eine Kapazität von ungefähr 0,6 Gigabytes, magnetische Festplatten eine Kapazität von 1 bis 2 Gigabytes und optische Kompaktdisks, die gerade entwickelt werden, Kapazitäten von bis zu 8 Gigabytes.
- Um sich mit den Einschränkungen beim Speichern oder Übertragen solch massiver Mengen an digitalen Informationen zu befassen, sind verschiedene Videokomprimierungsstandards oder Prozesse entwickelt worden, einschließlich MPEG-1, MPEG-2 und H.26X. Diese Videokomprimierungstechniken nutzen Ähnlichkeiten zwischen nachfolgenden Bild-Frames aus, die als zeitliche oder Inter-Frame-Korrelation (Zusammenhänge) bezeichnet werden, um eine Inter-Frame-Komprimierung bereitzustellen, in der Bewegungsdaten und Fehlersignale verwendet werden, um die Veränderungen zwischen Frames zu codieren.
- Zusätzlich nutzen die konventionellen Videokomprimierungstechniken Ähnlichkeiten zwischen Bild-Frames, die als räumliche oder Intra-Frame-Korrelation bezeichnet werden, um eine Intra-Frame-Komprimierung bereitzustellen, in der die Bild-Sample innerhalb eines Bild-Frames komprimiert werden. Intra-Frame-Komprimierung basiert auf konventionellen Prozessen zum Komprimieren von Standbildern, wie z.B. dem Codieren mit diskreter Kosinustransformation (DCT). Dieser Typ des Codierens wird manchmal auch als "Textur"- oder "Transformations"-Codierung bezeichnet. Eine "Textur" bezieht sich im Allgemeinen auf ein zweidimensionales Gebiet (array) mit Bild-Sample-Werten, wie z.B. ein Bereich mit Chrominanz- und Helligkeitswerten (luminance values) oder ein Gebiet mit α-Werten (Opazitäts-Werten). Der Begriff "Transformation" bezieht sich in diesem Kontext darauf, wie die Bild-Sample in räumliche Frequenzkomponenten während des Codierungsprozesses transformiert werden. Diese Verwendung des Begriffes "Transformation" sollte von einer geometrischen Transformation unterschieden werden, die zum Abschätzen von Szenenveränderungen in manchen Inter-Frame-Komprimierungsverfahren verwendet wird.
- Inter-Frame-Komprimierung nutzt üblicherweise Bewegungsabschätzung und -kompensation, um Szenenveränderungen zwischen Frames zu codieren. Bewegungsabschätzung (motion estimation) ist ein Prozess zum Abschätzen der Bewegung eines Bild-Samples (z.B. Pixeln) zwischen Frames. Wenn Bewegungsabschätzung verwendet wird, versucht der Codierer Blöcke mit Pixeln in einem Frame mit entsprechenden Pixeln in einem anderen Frame in Übereinstimmung zu bringen. Nachdem der ähnlichste Block in einem gegebenen Suchgebiet gefunden worden ist, wird die Positionsveränderung der Pixelorte der entsprechen den Pixel angenähert und als Bewegungsdaten, wie z.B. einem Bewegungsvektor, dargestellt. Bewegungskompensation ist ein Prozess zum Ermitteln eines vorhergesagten Bildes und zum Berechnen des Fehlers zwischen dem vorhergesagten Bild und dem echten Bild. Wenn Bewegungskompensation verwendet wird, wendet der Codierer die Bewegungsdaten auf ein Bild an und berechnet ein vorhergesagtes Bild. Der Unterschied zwischen dem vorhergesagten Bild und dem eingegebenen Bild wird als das Fehlersignal bezeichnet. Weil das Fehlersignal nur ein Array mit Werten ist, die den Unterschied zwischen Bild-Sample-Werten darstellen, kann es unter Verwendung desselben Textur-Codierungsverfahrens komprimiert werden, wie es für das Intra-Frame-Codieren von Bild-Samplen verwendet wurde.
- Obwohl sie sich in bestimmten Implementationen unterscheiden, sind die Videokomprimierungsstandards MPEG-1, MPEG-2 und H.26X in vielerlei Hinsicht ähnlich. Die nachfolgende Beschreibung des MPEG-2-Videokomprimierungsstandards ist im Allgemeinen auf die anderen anwendbar.
- MPEG-2 stellt Inter-Frame-Komprimierung und Intra-Frame-Komprimierung, basierend auf quadratischen Blöcken oder Arrays mit Pixeln in Videobildern, bereit. Ein Videobild wird in Bild-Sample-Blöcke geteilt, so genannte Makroblöcke, die eine Größenordnung von 16×16 Pixeln aufweisen. In MPEG-2 umfasst ein Makroblock vier Helligkeitsblöcke (luminance blocks) (wobei jeder Block 8×8 Sample der Helligkeit (Y) hat) und zwei Chrominanzblöcke (jeweils einen 8×8-Sample-Block für Cb und Cr).
- In MPEG-2 wird Inter-Frame-Codierung auf Makroblöcken durchgeführt. Ein MPEG-2-Codierer führt Bewegungsabschätzung und -Kompensation durch, um Bewegungsvektoren und Blockfehlersignale zu berechnen. für jeden Block MN in einem Bild-Frame N wird eine Suche über das Bild eines nächsten nachfolgenden Video-Frames N + 1 oder eines direkt vorangehenden Bild-Frames N – 1 (d.h. bidirektional) durchgeführt, um die entsprechenden ähnlichsten Blöcke MN+1 oder MN-1 zu identifizieren. Der Ort des ähnlichsten Blocks relativ zu dem Block MN wird mit einem Bewegungsvektor (DX, DY) codiert. Der Bewegungsvektor wird anschließend verwendet, um einen Block mit vorhergesagten Sample-Werten zu berechnen. Diese vorhergesagten Sample-Werte werden mit dem Block MN verglichen, um das Blockfehlersignal zu ermitteln. Das Fehlersignal wird unter Verwendung eines Textur-Codierungsverfahrens komprimiert, wie z.B. dem Codieren mit diskreter Kosinustransformation (DCT).
- Objekt-basierte Videocodierungstechniken sind als eine Verbesserung bezüglich der konventionellen Frame-basierten Codierungsstandards vorgestellt worden. Beim Objekt-basierten Codieren werden willkürlich geformte Bildmerkmale von den Frames in der Videosequenz unter Verwendung eines Verfahrens, das als "Segmentierung" bezeichnet wird, getrennt. Die Videoobjekte oder "Segmente" werden unabhängig voneinander codiert. Objekt-basiertes Codieren kann die Komprimierungsrate verbessern, weil es die Inter-Frame-Korrelation zwischen Videoobjekten in aufeinanderfolgenden Frames erhöht. Es ist ebenso für eine Vielfalt von Anwendungen vorteilhaft, die einen Zugriff auf und das Verfolgen von Objekten in einer Videosequenz benötigen.
- In den Objekt-basierten Videocodierungsverfahren, die für den MPEG-4-Standard vorgeschlagen wurden, werden die Form, Bewegung und Textur von Videoobjekten unabhängig codiert. Die Form (Gestalt) von einem Objekt wird durch eine binäre oder α-Maske (numerische Maske) dargestellt, die den Rand des beliebig geformten Objekts in einem Video-Frame definiert. Die Bewegung eines Objektes ist ähnlich zu den Bewegungsdaten aus MPEG-2, mit der Ausnahme, dass sie auf ein beliebig geformtes Bild des Objektes angewandt wird, das aus einem rechteckigen Frame segmentiert worden ist. Bewegungsabschätzung und -kompensation wird eher auf Blöcken einer "Videoobjektebene" durchgeführt, als auf dem gesamten Frame. Die Videoobjektebene ist der Name für das geformte Bild eines Objekts in einem einzelnen Frame.
- Die Textur eines Videoobjekts ist die Bild-Sample-Information in einer Videoobjektebene, die in die Form des Objekts fällt. Texturcodierung der Bild-Sample und Fehlersignale eines Objekts wird unter Verwendung ähnlicher Texturcodierungsverfahren durchgeführt, wie bei dem Frame-basierten Codieren. Zum Beispiel kann ein segmentiertes Bild in ein umfassendes (umgrenzendes) Rechteck, das aus Makroblocks gebildet wurde, eingepasst werden. Das rechteckige Bild, das durch das umfassende Rechteck gebildet wird, kann einfach wie ein rechteckiger Frame komprimiert werden, mit der Ausnahme, dass transparente Makroblöcke nicht codiert werden müssen. Teilweise transparente Blöcke werden codiert, nachdem die Teile des Blocks, die aus der Formgrenze des Objekts fallen, mit Sample-Werten nach einer Technik, die "Auffüllen" (padding) genannt wird, aufgefüllt werden.
- Frame-basierte Codierungstechniken, wie z.B. MPEG-2 und H.26X, und Objekt-basierte Codierungstechniken, die für MPEG-4 vorgeschlagen wurden, sind sich dadurch ähnlich, dass sie Intra-Frame- und Inter-Frame-Codierung auf Makroblöcken durchführen. Jeder Makroblock schließt eine Reihe von Overhead-Parametern ein, die Informationen über den Makroblock bereitstellen. Als ein Beispiel zeigt
1 Makroblockparameter, die in dem Header (Kopf, Kopfdaten) von einem Inter-Frame-Makroblock verwendet werden. Der COD-Parameter (10 ) ist ein einzelnes Bit, das anzeigt, ob der Inter-Frame-Makroblock codiert ist. Im Wesentlichen zeigt dieses Bit an, ob der codierte Makroblock Bewegungsdaten und Textur-codierte Fehlerdaten einschließt, oder nicht. In den Fällen, wo Bewegungs- und Fehlersignaldaten gleich null sind, reduziert das COD-Bit die Information, die benötigt wird, um den Makroblock zu codieren, weil nur ein einzelnes Bit gesendet wird, anstatt zusätzliche Bits, die anzeigen, dass der Bewegungsvektor und die Texturdaten nicht codiert sind. - Zusätzlich zu dem COD-Bit schließt die Codierungssyntax für Makroblöcke codierte Blockparameter (CBP) ein, die anzeigen, ob die codierten Transformationskoeffizienten für Chrominanz und Helligkeit für den Makroblock übermittelt wurden. Wenn die Transformationskoeffizienten für einen Block alle null sind, dann gibt es keinen Grund, Texturdaten für den Block zu senden. Die codierten Blockparameter für Chrominanz (CBPC) sind zwei Bits, die anzeigen, ob codierte Texturdaten für jeden der zwei Chrominanzblöcke übermittelt wurden, oder nicht.
- Die CBPC-Bits werden zusammen mit einem anderen Flag (Bitschalter), der Informationen über den Typ der Quantisierung für den Makroblock bereitstellt, codiert. Diese Flags werden kombiniert, um einen Parameter zu bilden, der MCBPC (
12 ) genannt wird, und wobei MCBPC Entropie-codiert ist, wobei ein Entropie-Codierungsverfahren, wie z.B. nach Huffman oder ein arithmetisches Codieren verwendet wird. - Der Parameter, der als AC_Pred_flag (
14 ) bezeichnet wird, ist ein Flag, das anzeigt, ob eine AC-Vorhersage in dem Makroblock verwendet wurde. - Das codierte Blockmuster (Coded Block Pattern) für Helligkeit (CBPY) (
16 ) umfasst vier Bits, die anzeigen, ob codierte Texturdaten für jeden der vier Helligkeitsblöcke übermittelt wurden, oder nicht. Wie der MCBPC-Parameter, sind die CBPY-Flags ebenso Entropie-codiert, wobei entweder Huffman- oder arithmetische Codierung verwendet wird. - Nach dem CBPY-Parameter schließt der Makroblock codierte Bewegungsvektordaten ein (als Element
18 in1 gezeigt). Den Bewegungsvektordaten folgend stellen die "Blockdaten" die codierten Texturdaten für den Makroblock dar (als Blockdaten20 in1 gezeigt). - Eine Beeinträchtigung des Codierungsansatzes, der in
1 dargestellt ist, ist, dass er CBPC- und CBPY-Flags getrennt voneinander codiert, und deshalb die Korrelation zwischen diesen Parametern nicht ausnutzt, um den Makroblock-Overhead zu reduzieren. Zusätzlich zieht er keine Vorteile aus der örtlichen Abhängigkeit der codierten Blockparameter. -
US-A-5 400 075 bezieht sich auf einen adaptiven Codierer/Decodierer für variable Längen (variable length encoder/decoder) für das Codieren mit variabler Länge eines komprimierten Videosignals. - KURZFASSUNG
- Es ist die Aufgabe der Erfindung, ein verbessertes Verfahren und System zum Codieren in einer Videocodierungsanwendung bereitzustellen.
- Diese Aufgabe wird durch die Erfindung, wie in den unabhängigen Ansprüchen beansprucht, gelöst.
- Bevorzugte Ausführungsformen werden durch die abhängigen Ansprüche definiert.
- Die Erfindung stellt ein verbessertes Verfahren zum Codieren der Makroblock-Header-Parameter in Videocodierungsanwendungen bereit. Ein Aspekt der Erfindung ist ein Codierungsverfahren, das die Korrelation zwischen den codierten Blockparametern durch gemeinsames Codieren aller codierter Blockparameter mit einem einzelnen Code variabler Länge (variable length code) ausnutzt. Ein anderer Aspekt der Erfindung ist ein Codierungsverfahren, das die Vorteile aus der räumlichen Abhängigkeit zwischen den codierten Blockparametern von benachbarten Blöcken zieht.
- In einer Implementierung der Erfindung werden die codierten Blockparameter für Helligkeit und Chrominanz eines Makroblocks in einem einzelnen, kombinierten Parameter für den Makroblock gebildet. Der kombinierte Parameter wird einem Code variabler Länge aus einer Tabelle mit Codes variabler Länge zugewiesen. Die Codierungstabelle wird basierend auf einer Zielbitrate (z.B. Internetanwendungen mit geringer Bitrate) und einer Zielklasse eines Videoinhalts (z.B. Video mit einem sprechenden Kopf) trainiert. Durch das gemeinsame Codieren der Helligkeits- und Chrominanzwerte nutzt der Codierer die Korrelation zwischen diesen Parametern in dem Makroblock aus.
- Um die Codierungseffizienz weiter zu verbessern, verwendet die Implementierung eine Vorhersage, um den Vorteil aus der räumlichen Abhängigkeit der codierten Blockparameter von benachbarten Blöcken zu ziehen. Bevor der Code variabler Länge dem Blockparameter zugewiesen wird, werden manche der codierten Blockparameter, ausgehend von benachbarten Blöcken, vorhergesagt. Für Intra-Frame-Makroblöcke, z.B., berechnet der Codierer einen räumlich vorhergesagten Wert für jeden codierten Blockparameter für die Helligkeit. Dieser räumlich vorhergesagte Parameter bildet einen Teil des kombinierten Parameters für den Makroblock.
- Zusätzliche Merkmale und Vorteile der Erfindung werden besser von der folgenden detaillierten Beschreibung und den anhängigen Zeichnungen einer Implementierung der Erfindung ersichtlich.
- KURZE BESCHREIBUNG DER FIGUREN
-
1 ist ein Diagramm, das ein Beispiel eines Makroblock-Header, der in einem Standard-Videocodierungsprozess verwendet wurde, darstellt. -
2 ist ein Blockdiagramm eines Videocodierers. -
3 ist ein Blockdiagramm eines Videodecodierers. -
4 ist ein Diagramm, das ein Beispiel eines verbesserten Makroblock-Header darstellt, in dem die codierten Blockparameter für Chrominanz und Helligkeit gemeinsam mit einem einzelnen Code variabler Länge codiert wurden. -
5 ist ein Ablaufdiagramm, das darstellt, wie eine Implementierung der Erfindung einen einzelnen Code variabler Länge für die codierten Blockparameter von I- und P-Frame-Makroblöcken berechnet. -
6 ist ein Diagramm, das vier Makroblöcke und ihre entsprechenden Helligkeits-(Y)-Blöcke darstellt. -
7 ist ein Diagramm, das ein Beispiel für die vertikalen und horizontalen Gradienten von codierten Blockparameterwerten für ausgewählte Helligkeitsblöcke in6 zeigt. -
8 ist ein Ablaufdiagramm, das ein Verfahren zum Berechnen eines Vorhersagemoduls (Prädiktor) für codierte Blockparameter darstellt. -
9 ist ein Diagramm eines Computersystems, das als eine Arbeitsumgebung für eine Softwareimplementierung der Erfindung dient. - DETAILLIERTE BESCHREIBUNG
- Einführung
- Der erste Teil unterhalb bietet eine Beschreibung eines Videocodierers und -decodierers. Anschließende Teile beschreiben, wie das Codieren von Makroblock-Header-Parametern durch das Ausnutzen der Korrelation zwischen CBPC- und CBPY-Parametern und durch das Ziehen des Vorteils aus der räumlichen Abhängigkeit von codierten Blockparametern von benachbarten Blöcken verbessert wird.
- Sowohl für Frame-basiertes als auch Objekt-basiertes Videocodieren nützlich, verbessert die Erfindung das Codieren von Makroblockparametern, ob die Makroblöcke Komponenten von beliebigen Videoobjekten, die aus einer Sequenz von Frames segmentiert wurden, sind oder von rechteckig geformten Bild-Frames sind. Objekt-basiertes Codieren verwendet Codierungsmodule für ähnliche Bewegung und Textur, wie sie auch im Frame-basierten Codieren verwendet werden. Zusätzlich schließen Objekt-basierte Codierer ebenso Formcodierungsmodule ein. Die Blocksyntax, die für die Erfindung relevant ist, ist sowohl in Frame-basiertem als auch Objekt-basiertem Codieren ähnlich. Während der Codierer und Decoder in dem nächsten Abschnitt als Objekt-basiert beschrieben werden, bieten sie eine ausreichende Basis zum Erläutern, wie die Erfindung sowohl in Frame-basierten als auch Objekt-basierten Codierungsschematas implementiert wird.
- Beschreibung eines Beispiel-Codierers und -Decodierers
-
2 ist ein Blockdiagramm, das eine Implementierung eines Objekt-basierten Videocodierers darstellt. Die Eingabe30 in den Codierer schließt eine Reihe von Objekten, deren Form-(Gestalt-)Information und umgrenzende Rechtecke ein. Die Form-Information ist daher verfügbar, bevor der Codierer Textur- oder Bewegungsdaten codiert. Frame-basiertes Codieren unterscheidet sich dadurch, dass der gesamte Frame ohne Form-Information codiert wird. - Das Formcodierungsmodul
32 empfängt die Definition eines Objektes, einschließlich seines umgrenzenden Rechtecks und erweitert das umgrenzende Rechteck zu einem ganzzahligen Vielfachen von Makroblöcken. Die Form-Information für ein Objekt umfasst eine Maske oder "α-Ebene". Das Formcodierungsmodul32 liest diese Maske und komprimiert sie unter Verwendung eines, z.B., konventionellen Verkettungscodierungsverfahrens (chain coding method), um die Kontur des Objektes zu codieren. - Bewegungsabschätzungsmodul
34 liest ein Objekt einschließlich seines umgrenzenden Rechteckes und eines vorher rekonstruierten Bildes36 und berechnet Bewegungsschätzdaten, die verwendet werden, um die Bewegung des Objektes von einem Frame zum anderen vorherzusagen. Nach dem Identifizieren der Makroblöcke in dem aktuellen Objektbild sucht das Bewegungsschätzmodul34 nach dem ähnlichsten Makroblock in dem rekonstruierten Bild für jeden Makroblock in dem aktuellen Objektbild, um die Bewegungsdaten für jeden Makroblock zu berechnen. Das bestimmte Format der Bewegungsdaten von dem Bewegungsschätzmodul34 kann abhängig von dem Bewegungsabschätzungsverfahren, das verwendet wird, variieren. Die Implementierung, die unterhalb beschrieben ist, berechnet einen Bewegungsvektor für jeden Makroblock, welcher mit derzeitigen MPEG- und H26X-Formaten konsistent ist. - Das Bewegungskompensationsmodul
38 liest die Bewegungsvektoren, die durch das Bewegungsabschätzungsmodul berechnet wurde, und das vorher rekonstruierte Bild36 ein, und berechnet ein vorhergesagtes Bild für den aktuellen Frame. Der Codierer findet den Unterschied zwischen den Bild-Sample-Werten in dem eingegebenen Bildblock, wie er in der Eingabe30 spezifiziert ist, und den entsprechenden Sample-Werten in dem vorhergesagten Bildblock, wie er durch das Bewegungskompensationsmodul38 berechnet wurde, um das Fehlersignal für den Makroblock zu ermitteln. - Das Texturcodierungsmodul
40 komprimiert dieses Fehlersignal für Inter-Frame codierte Objekte und komprimiert Bild-Sample-Werte für das Objekt von dem eingegebenen Datenstrom30 für Intra-Frame codierte Objekte. Der Feedback-Pfad42 von dem Texturcodierungsmodul40 stellt das decodierte Fehlersignal dar. Der Codierer verwendet die Fehlersignal-Makroblöcke zusammen mit den vorhergesagten Bild-Makroblöcken von dem Bewegungskompensationsmodul, um das vorher rekonstruierte Bild36 zu berechnen. - Das Texturcodierungsmodul
40 codiert Blöcke von Intra-Frame- und Fehlersignaldaten für ein Objekt unter Verwendung irgendeiner von einer Vielfalt von Standbild-Komprimierungstechniken. Beispiel-Komprimierungstechniken schließen Transformations-basierte Techniken, wie z.B. DCT, und Wavelet-Codierung, sowie andere konventionelle Bildkomprimierungsverfahren ein, wie z.B. LaPlacian-Pyramiden-Codierung. - Der Bitstrom mit komprimierten Videosequenzen schließt die Form-, Bewegungs- und Textur-codierten Informationen von den Modulen für Form-Codierung, Bewegungsabschätzung und Texturcodierung ein. Der Multiplexer
44 kombiniert und formatiert diese Daten in einer geeigneten Syntax und gibt sie in den Puffer46 aus. - Während der Codierer in Hardware oder Software implementiert werden kann, wird er höchstwahrscheinlich in Software implementiert. In einer Softwareimplementierung stellen die Module in dem Encoder Softwareinstruktionen, die in dem Speicher eines Computers gespeichert sind, und im Prozessor ausgeführt werden, und die Videodaten, die im Speicher gespeichert sind, dar. Ein Software-Encoder kann auf einer Vielfalt von konventionellen computerlesbaren Datenträgern gespeichert und verteilt werden. In Hardwareimplementierungen sind die Encodermodule in einer digitalen Logik implementiert, vorzugsweise in einem integrierten Schaltkreis. Manche der Codiererfunktionen können in einem Spezialzweckgerät mit digitaler Logik in einer Computerperipherie optimiert werden, um einem Host-Computer die Verarbeitungslast abzunehmen.
-
3 ist ein Blockdiagramm, das einen Decoder für ein Objekt-basiertes Videocodierungsverfahren darstellt. Ein Demultiplexer60 empfängt einen Bitstrom62 , der eine komprimierte Videosequenz und separate Form-, Bewegungs- und Textur-codierte Daten auf einer Objekt-nach-Objekt-Basis darstellt. Um dies zu erreichen, setzt er einen Formdecoder ein, der die Umkehrung des Formcodierungsverfahrens, das von dem Encoder aus2 verwendet wurde, implementiert. Die resultierenden Formdaten sind eine Maske, wie z.B. eine binäre α-Ebene oder Graustufen-α-Ebene, die die Form des Objektes darstellen. - Das Bewegungsdecodierungsmodul
66 codiert die Bewegungsinformation in dem Bit-Datenstrom. Die decodierte Bewegungsinformation schließt Bewegungsdaten ein, wie z.B. Bewegungsvektoren für Blöcke in Makroblöcken oder geometrische Transformationskoeffizienten, abhängig von dem Typ des in dem Codierer verwendeten Abschätzungsverfahrens. Das Bewegungsdecodierungsmodul66 stellt diese Bewegungsinformation an das Bewe gungskompensationsmodul68 bereit, und das Bewegungskompensationsmodul68 wendet die Bewegungsdaten auf vorher rekonstruierte Objektdaten70 an. - Das Texturdecodierungsmodul
74 decodiert Fehlersignale für Inter-Frame codierte Texturdaten und ein Array mit Farbwerten für Intra-Frame-Texturdaten und gibt diese Information an ein Modul72 zur Berechnung und Akkumulation des rekonstruierten Bildes weiter. Für Inter-Frame-codierte Objekte wendet dieses Modul72 die Fehlersignaldaten auf die vorhergesagte Bildausgabe von dem Bewegungskompensationsmodul an, um das rekonstruierte Objekt für den aktuellen Frame zu berechnen. Für Intra-Frame-codierte Objekte decodiert das Texturdecodierungsmodul74 die Bild-Sample-Werte für das Objekt und platziert das rekonstruierte Objekt in dem Modul72 für rekonstruierte Objekte. Bereits vorher rekonstruierte Objekte werden temporär in dem Objektspeicher70 gespeichert und werden verwendet, um das Objekt für andere Frames zu konstruieren. - Wie der Codierer, so kann der Decodierer in Hardware, Software oder einer Kombination von beidem implementiert sein. In Softwareimplementationen sind die Module in dem Decoder Softwareinstruktionen, die in einem Speicher eines Computers gespeichert sind und durch den Prozessor ausgeführt werden, und Videodaten, die in dem Speicher gespeichert sind. Ein Softwaredecodierer kann auf einer Vielfalt von konventionellen computerlesbaren Datenträgern gespeichert und verteilt werden. In Hardwareimplementierungen sind die Decodierermodule in einer digitalen Logik, vorzugsweise einem integrierten Schaltkreis, implementiert. Manche der Decodierungsfunktionen können in Geräten mit digitaler Logik für einen speziellen Zweck in einem Computerperipheriegerät optimiert werden, um die Arbeitslast von einem Host-Computer zu nehmen.
- Verbessertes Codieren des Makroblock-Overhead
- Die Erfindung schließt Innovationen ein, die das Codieren von Makroblock-Header-Parametern verbessern. Eine Innovation ist ein Verfahren zum Codieren der codierten Blockparameter, um die Korrelation zwischen CBPC und CBPY auszunutzen. Diese Innovation wird durch das gemeinsame Codieren eines kombinierten CBPC- und CBPY-Parameters mit einem einzelnen Code variabler Länge implementiert. Eine andere Innovation verbessert des Weiteren die Codierungseffizienz der Header-Parameter durch das Ausnutzen der räumlichen Abhängigkeiten der codierten Blockparameter. Im Wesentlichen werden codierte Blockparameter durch das Vorhersagen dieser von dem Parameter der Nachbarblöcke effizienter komprimiert.
-
4 ist ein Diagramm, das die Header-Blockparameter darstellt, die durch eine Implementierung dieser Erfindung berechnet wurden. Wie die Header-Information, die in1 gezeigt ist, schließt dieser Header-Block einen COD-Parameter80 , ein AC_Pred_flag82 , Bewegungsvektordaten (motion vector data – MV84 ) und Blockdaten86 ein. Im Gegensatz zu dem Header in1 sind die MCBPC- und CBPY-Parameter gemeinsam mit einem einzelnen Code variabler Länge codiert, und wird MBCBPCY88 genannt. Dieser Code kombiniert codierte Blockparameter für Chrominanz und Helligkeit, sowie das Flag für den Makroblocktyp. -
5 ist ein Ablaufdiagramm, das darstellt, wie die Implementation einen Code variabler Länge für Intra-(I)-Frames und vorhergesagte (predicted) (P)-Frames erzeugt. In dieser bestimmten Implementation werden die Header-Blöcke für I- und P-Frames unterschiedlich codiert. Für I-Frames führt der Encoder den zusätzlichen Schritt des Vorhersagens der codierten Blockparameter für Helligkeit durch, bevor ein Code variabler Länge ausgewählt wird. Es ist ebenso möglich, eine Vorhersage für P-Frames zu verwenden. Jedoch verbessert eine Vorhersage die Codierungseffizienz in P-Frames nicht signifikant, und in manchen Fällen kann die Codierungseffizienz sogar verschlechtert werden. - Das Ziel der Verwendung einer Vorhersage für codierte Blockparameter ist es, so viele Null-Werte für diese Parameter zu erzeugen, wie möglich. Durch das Erzeugen möglichst vieler Null-Werte reduziert der Encoder die Varianz der codierten Blockparameter. Der Prozess des Trainierens der Tabelle für Codes mit variabler Länge kann anschließend den Null-Wert favorisieren, was die Codierungseffizienz verbessert. In P-Frames, besonders bei Anwendungen mit geringer Bitrate, sind die codierten Blockparameter meist vor der Vorhersage null. Als solches tendiert die Vorhersage nicht dazu, die Anzahl der Null-Werte zu erhöhen, und manchmal senkt sie sogar die Anzahl der Null-Werte. Deshalb verwendet die Implementation, die in
5 gezeigt ist, keine Vorhersage für P-Frames. - Für P-Frames beginnt der Codierer mit dem Finden der codierten Blockparameter für Helligkeit und Chrominanz, wie es in Schritt
100 gezeigt ist. Diese Blockparameter sind jeweils ein einzelnes Bit, das anzeigt, ob ein entsprechender Block Textur-codiert ist. Die codierten Blockparameter werden in dem Texturcodierungsmodul (40 in2 ) berechnet, welches ein Flag für einen codierten Block für jeden Block setzt, der eine Anzahl codierter Texturwerte ungleich null hat. Im umgekehrten Fall ist der Wert des codierten Blockparameters für einen Block, in dem die Texturwerte alle null sind (oder so nahe an null, dass es vernachlässigbar ist), null. - Weil es zwei Blöcke für die Chrominanz (je einen für die U- und V-Blöcke mit 8×8 Pixeln) und vier Blöcke für die Helligkeit (je einen für die vier 8×8 Blöcke) in dem Makroblock gibt, hat der kombinierte Parameter für das codierte Blockmuster insgesamt 6 Bits. Durch das Kombinieren dieser 6-Bit-Nummer mit dem einzelnen Bit für den Makroblocktyp, bildet der Codierer eine 7-Bit-Nummer, wie es in Schritt
102 gezeigt ist. Der Makroblocktyp zeigt an, ob der Makroblock für einen I- oder P-Frame ist. - Sobald der kombinierte MBCBPCY gebildet wurde, wird der kombinierte Parameter in einer Codierungstabelle mit Codes variabler Länge nachgesehen, um einen entsprechenden Code variabler Länge, zugehörig zu dem Parameter zu finden, wie es in Schritt
104 gezeigt ist. Der Codierer weist dem kombinierten Parameter MBCBPCY einen einzelnen Code variabler Länge zu. - Die Codierungstabelle in der Implementationstabelle ist eine Huffman-Codierungstabelle. Die Tabelle wird vorzugsweise basierend auf der Zielrate und des Zielszenarios trainiert. Tabelle 1 unterhalb ist eine Codierungstabelle mit Codes variabler Länge (Variable Length Coding (VLC) table), die für ein Szenario mit einem "sprechenden Kopf" und geringer Bitrate erlangt wurde. Für jeden Makroblock in einem P-Frame wird die kombinierte MBCBPCY-Information unter Verwendung des Code-Wortes für den entsprechenden Eintrag in dieser Tabelle codiert. Tabelle 1: VLC-Tabelle für codierte Blockmuster der Chrominanz und der Helligkeit für P-Bilder
Index MB type CBPCY Y (1234) UV Number of bits Code 0 I 000000 7 1000000 1 I 000001 13 1001111001001 2 I 000010 12 100111111101 3 I 000011 15 000000111111100 4 I 000100 12 100111111100 5 I 000101 18 000000101010000011 6 I 000110 17 10010110100110100 7 I 000111 16 1000001110111100 Index MB type CBPCY Y (1234) UV Number of bits Code 8 I 001000 12 100000111010 9 I 001001 17 00000011111111000 10 I 001010 16 0000001111111101 11 I 001011 16 0000001111111111 12 I 001100 13 0000001111001 13 I 001101 18 000000101010000010 14 I 001110 16 1001011010011101 15 I 001111 16 0000001010100100 16 I 010000 12 100101111000 17 I 010001 17 00000010101000011 18 I 010010 15 100000111011111 19 I 010011 17 00000011111111001 20 I 010100 13 1001011110011 21 I 010101 18 100101101001101011 22 I 010110 18 100101111011111001 23 I 010111 16 0000001111111010 24 I 011000 14 10000011101110 25 I 011001 20 10010110100110101011 26 I 011010 16 1001011010011100 27 I 011011 18 100101111011111000 28 I 011100 13 1001011010010 29 I 011101 18 000000101010000101 30 I 011110 16 1001011010011110 31 I 011111 15 100101111001000 32 I 100000 12 000000111101 33 I 100001 17 10010111101111111 34 I 100010 16 0000001010100010 35 I 100011 16 1001011010011111 36 I 100100 14 10010111101110 37 I 100101 21 100101101001101010101 38 I 100110 17 10010111101111101 39 I 100111 17 10010111101111110 40 I 101000 12 100111100101 41 I 101001 18 000000101010000001 42 I 101010 19 1001011010011010100 43 I 101011 16 1000001110111101 44 I 101100 13 0000001111000 45 I 101101 16 1001011010011011 46 I 101110 16 0000001111111110 47 I 101111 16 0000001010100101 48 I 110000 13 0000001111110 49 I 110001 18 000000101010000000 50 I 110010 16 0000001010100011 51 I 110011 16 0000001111111011 52 I 110100 13 1000001110110 53 I 110101 18 000000101010000100 Index MB type CBPCY Y (1234) UV Number of bits Code 54 I 110110 15 000000101010011 55 I 110111 15 100101111001001 56 I 111000 13 0000001010101 57 I 111001 21 100101101001101010100 58 I 111010 15 100101111011110 59 I 111011 14 10010111100101 60 I 111100 10 1001011011 61 I 111101 15 100101101001100 62 I 111110 12 100101101011 63 I 111111 12 100101101010 64 P 000000 2 01 65 P 000001 7 0000000 66 P 000010 6 100110 67 P 000011 9 100101011 68 P 000100 3 111 69 P 000101 10 1000001111 70 P 000110 9 000000100 71 P 000111 12 000000101000 72 P 001000 3 110 73 P 001001 10 1000001010 74 P 001010 9 100101000 75 P 001011 12 000000101011 76 P 001100 5 10001 77 P 001101 11 00000011011 78 P 001110 9 100111010 79 P 001111 11 10011111111 80 P 010000 4 0011 81 P 010001 10 1001110111 82 P 010010 9 100000110 83 P 010011 12 100000111001 84 P 010100 4 1011 85 P 010101 10 1001111011 86 P 010110 9 100101100 87 P 010111 11 10010111111 88 P 011000 6 001001 89 P 011001 12 000000110101 90 P 011010 10 1001111110 91 P 011011 13 1001111001000 92 P 011100 6 000001 93 P 011101 11 10010101010 94 P 011110 10 1000001000 95 P 011111 12 000000101001 96 P 100000 4 0001 97 P 100001 10 1001010100 98 P 100010 9 100101110 99 P 100011 12 100000111000 Index MB type CBPCY Y (1234) UV Number of bits Code 100 P 100100 6 100100 101 P 100101 11 10011110011 102 P 100110 10 1001110110 103 P 100111 13 1001011110110 104 P 101000 5 00001 105 P 101001 10 1001111010 106 P 101010 9 100111110 107 P 101011 12 000000111110 108 P 101100 6 001000 109 P 101101 11 10000010011 110 P 101110 10 0000001100 111 P 101111 11 10010111110 112 P 110000 5 10100 113 P 110001 11 10000010010 114 P 110010 10 1001010011 115 P 110011 12 100101111010 116 P 110100 6 100001 117 P 110101 11 10010101011 118 P 110110 10 1000001011 119 P 110111 12 000000110100 120 P 111000 5 10101 121 P 111001 10 1001111000 122 P 111010 10 1001010010 123 P 111011 12 100101101000 124 P 111100 5 00101 125 P 111101 10 0000001011 126 P 111110 8 10011100 127 P 111111 10 0000001110 - In der Implementierung, die in
5 gezeigt ist, werden I-Frames unterschiedlich codiert als P-Frames, indem der Codierer eine Vorhersage verwendet, um die räumliche Abhängigkeit der codierten Blockparameter auszunutzen. Für jeden Makroblock beginnt der Encoder damit, die codierten Blockparameter für Chrominanz und Helligkeit zu erlangen, wie es in Schritt106 gezeigt ist. - Als Nächstes berechnet der Codierer den Prädiktor der codierten Blockparameter für Hellig keit. In dieser bestimmten Implementierung verwendet der Codierer nur eine Vorhersage für die CBPY-Parameter. Jedoch könnte dieselbe Vorhersage auch verwendet werden, um die codierten Blockparameter für Chrominanz vorherzusagen. In dem Fall der Chrominanz wird die Vorhersage eher basierend auf 8×8 Pixel-Chrominanzblöcken in Nachbar-Makroblöcken berechnet als auf benachbarten 8×8 Pixel-Helligkeitsblöcken, welche in demselben Makroblock oder einem benachbarten Makroblock sein können. Weil jeder Makroblock vier Helligkeitsblöcke hat, können die Nachbarblöcke für einen gegebenen Helligkeitsblock von demselben oder einem Nachbar-Makroblock sein. Für die Vorhersage, die Chrominanzblöcke involviert, kommen die Nachbarblöcke von Nachbar-Makroblöcken.
- Der Codierer führt eine räumliche Vorhersage auf codierte Blockparameter durch. Als Erstes schaut er bei den codierten Blockparametern für Nachbarblöcke nach, um zu ermitteln, ob sich, was wahrscheinlich ist, der Wert des Blockparameters von einem benachbarten Block zu dem aktuellen Block verändert. Wenn der Ort eines Blocks, der die kleinste Veränderung in dem codierten Blockparameter repräsentiert, identifiziert werden kann (d.h. der geringste räumliche Gradient in den codierten Blockparametern), dann wird an diesem Ort der codierte Blockparameter für den Block als der Prädiktor verwendet. Andernfalls macht es keinen Unterschied, welcher Nachbar als Prädiktor gewählt wird und es wird lediglich irgendeiner ausgewählt. Ein bestimmtes Beispiel zum Auswählen des Prädiktors wird unterhalb mit Bezug auf die
6 bis8 detaillierter beschrieben und illustriert. - Im nächsten Schritt
110 berechnet der Codierer einen vorhergesagten Wert für die codierten Blockparameter. Der vorhergesagte Wert stellt die Veränderung in dem codierten Blockparameter für den Prädiktor-Block und den aktuellen Block dar. Um den vorhergesagten Wert zu berechnen, führt der Codierer eine bitweise exklusive ODER-Funktion (XOR) auf dem vorhergesagten Wert und einem aktuellen Blockwert durch. Der resultierende Vektor, der als CBPCY XOR bezeichnet wird, wird anschließend einem Code variabler Länge von einer Huffman-Tabelle zugewiesen. Der Codierer schaut den Eintrag für CBPCY XOR in der Tabelle nach und findet den entsprechenden Code variabler Länge. Tabelle 2 unterhalb zeigt die verwendete VLC-Tabelle, um vorhergesagte CBPCY-Werte für I-Frames in der Implementierung zu codieren. Tabelle 2: VLC-Tabelle für codierte Blockmuster der Chrominanz und der Helligkeit für I-BilderIndex CBPCY_XOR (1234) UV Number of bits Code 0 000000 1 1 1 000001 6 010111 2 000010 5 01001 3 000011 5 00101 Index CBPCY_XOR (1234) UV Number of bits Code 4 000100 5 00110 5 000101 9 001000111 6 000110 7 0100000 7 000111 7 0010000 8 001000 5 00010 9 001001 9 001111100 10 001010 7 0111010 11 001011 7 0011101 12 001100 6 000010 13 001101 9 011101100 14 001110 8 01110111 15 001111 8 00000000 16 010000 5 00011 17 010001 9 010110111 18 010010 7 0101100 19 010011 7 0010011 20 010100 6 000001 21 010101 10 0101101000 22 010110 8 01000110 23 010111 8 00111111 24 011000 6 011110 25 011001 13 0011100010010 26 011010 9 010110101 27 011011 8 01000010 28 011100 7 0100010 29 011101 11 00111000101 30 011110 10 0100011110 31 011111 9 010000111 32 100000 4 0110 33 100001 9 000000011 34 100010 7 0011110 35 100011 6 011100 36 100100 7 0010010 37 100101 12 001110001000 38 100110 9 001000100 39 100111 9 001110000 40 101000 6 011111 41 101001 11 01000111110 42 101010 8 00111001 43 101011 9 010001110 44 101100 7 0000001 45 101101 11 00111000110 Index CBPCY_XOR (1234) UV Number of bits Code 46 101110 9 010110110 47 101111 9 001000101 48 110000 6 010100 49 110001 11 01000111111 50 110010 9 001111101 51 110011 9 000011000 52 110100 7 0000111 53 110101 11 00111000111 54 110110 9 010000110 55 110111 9 000011001 56 111000 6 010101 57 111001 10 0111011011 58 111010 9 000000010 59 111011 9 001000110 60 111100 8 00001101 61 111101 13 0011100010011 62 111110 10 0111011010 63 111111 10 0101101001 -
6 bis8 stellen die räumliche Vorhersage detaillierter dar, die von dem Codierer durchgeführt wird.6 ist ein Diagramm, das vier benachbarte Makroblöcke zeigt (oben links120 , oben rechts122 , unten links124 und unten rechts126 ). Das folgende Beispiel konzentriert sich auf den Block unten rechts, welcher mit einem Kreis versehen ist. Jeder der Makroblöcke schließt vier 8×8-Pixel-Blöcke für Helligkeit ein, die mit Y1, Y2, Y3 und Y4 bezeichnet sind. - Als ein Beispiel kann man sich den Helligkeitsblock links oben Y1 für den Makroblock
126 vorstellen. Die Blöcke, die verwendet werden, um den Prädiktor zu berechnen, sind von einer gestrichelten Linie128 umgeben. Der Block, auf dem das Interesse liegt, ist Y1 (als Block130a gekennzeichnet), und die Blöcke, die verwendet werden, um den Prädiktor zu berechnen, sind die benachbarten Blöcke, die als132a ,134a und136a gekennzeichnet sind. - Um ein spezifisches Beispiel zu geben, zeigt
7 Werte der codierten Blockmusterparameter für jeden der Blöcke innerhalb der gestrichelten Linie aus6 . Die Bezugsnummern130b ,132b ,134b und136b entsprechen den Blöcken130a ,132a ,134a bzw.136a aus6 . Die räumlichen Gradienten der benachbarten codierten Blockparameter werden verwendet, um den Prädiktor auszuwählen. Im Wesentlichen wird der vertikale Gradient von den codierten Blockparametern der benachbarten Blöcke oben links und links (136a ,132a , und umkreist dargestellt140 in7 ) berechnet. Der horizontale Gradient wird von den codierten Blockparametern der benachbarten Blöcke links oben und oben (136a ,130a , und umkreist gezeigt142 in7 ) berechnet. -
8 ist ein Ablaufdiagramm, das die Schritte zum Finden des Prädiktors darstellt. Als Erstes findet der Codierer die vertikalen und horizontalen Gradienten. Jeder wird mit der exklusiven ODER-Funktion mit den codierten Blockparametern berechnet, die umkreist in7 gezeigt werden (140 ist der vertikale Gradient und142 ist der horizontale Gradient). Als Nächstes vergleicht der Codierer die Gradientenwerte. Wenn die Gradienten nicht dieselben sind, wählt der Codierer den Prädiktor als den Wert aus, der dem Block in der Richtung mit dem geringeren Gradient zugewiesen ist. In dem Beispiel, das in7 gezeigt ist, ist der vertikale Gradient null, während der horizontale Gradient 1 ist. Deshalb geht die Richtung des geringeren Gradienten nach oben. Als solches wird der Wert des codierten Blockparameters für Block134a als der Prädiktor verwendet, weil er in der Richtung "nach oben" relativ zu dem Block, der von Interesse ist, liegt. - Ob eine Vorhersage verwendet wird, um die codierten Blockparameter zu modifizieren, oder nicht, das Endergebnis ist ein einzelner Code variabler Länge, der alle codierten Blockparameter für den Makroblock darstellt. Weil I- und P-Frames unterschiedlich in der Implementierung codiert werden, behandelt der Decodierer die Makroblöcke für dieselben Frames unterschiedlich. Für P-Frames verwendet der Decodierer die VLC-Tabelle 1, um den einzelnen Code variabler Länge nachzusehen und den entsprechenden Eintrag zu finden, der die kombinierten Parameter speichert, die die codierten Blockparameter für Helligkeit und Chrominanz darstellen. Für I-Frames verwendet der Decodierer die VLC-Tabelle 2, um den einzelnen Code variabler Länge nachzusehen und den entsprechenden Eintrag zu finden, der den kombinierten Parameter speichert, der die codierten Blockparameter für Helligkeit und Chrominanz darstellt. Sowohl bei I- als auch P-Frames verwendet das Texturdecodierungsmodul (Block
74 in3 ) die codierten Blockparameter, um zu ermitteln, ob die Texturdaten für den entsprechenden Block decodiert werden müssen. Der Decodierer überspringt Texturdecodieren für Blöcke, die einen codierten Blockparameter von null haben. - In den Fällen, wo die codierten Blockparameter ebenso vorhergesagt werden, verwendet der Decodierer die vorher decodierten Blockparameter von den Nachbarblöcken, um den codierten Blockparameter für den aktuellen Block, der von Interesse ist, zu berechnen. Als Erstes berechnet der Decodierer den Ort des Prädiktorblocks, basierend auf den räumlichen Gradienten in derselben Art und Weise, wie der Codierer. Als Nächstes berechnet er den Wert des codierten Blockparameters für den aktuellen Block durch das Berechnen der exklusiven ODER-Funktion von dem decodierten Wert und dem codierten Blockparameter des Prädiktorblocks (der exklusive ODER-Operator hat die folgende Eigenschaft: X XOR Y = Z; Z XOR X = Y). Nach dieser umgekehrten Vorhersagestufe verwendet der Texturdecodierer anschließend den codierten Blockparameter, um zu ermitteln, ob das Decodieren der Textur für den Block übersprungen wird.
- Kurzer Überblick über ein Computersystem
-
9 und die folgende Diskussion sind gedacht, um eine kurze, allgemeine Beschreibung einer geeigneten Computerumgebung bereitzustellen, in der die Erfindung implementiert werden kann. Obwohl die Erfindung und Aspekte davon in einem Hardwaregerät implementiert werden können, sind die oben beschriebenen Encoder und Decoder in computerausführbaren Instruktionen, die in Programmmodulen organisiert sind, implementiert. Die Programmmodule schließen die Routinen, Programme, Objekte, Komponenten und Datenstrukturen ein, die die Aufgaben durchführen und die Datentypen, die oberhalb beschrieben wurden, implementieren. - Während
9 eine typische Konfiguration eines Desktop-Computers zeigt, kann die Erfindung in anderen Computersystemkonfigurationen implementiert werden, einschließlich tragbaren Geräten, Multiprozessorsystemen, Mikroprozessor-basierter oder programmierbarer Unterhaltungselektronik, Minicomputer, Mainframe-Computer und Ähnliches. Die Erfindung kann ebenso in verteilten Computerumgebungen verwendet werden, wo Aufgaben durch Remote-Verarbeitungsgeräte durchgeführt werden, die durch ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Computerumgebung können Programmmodule sowohl lokal als auch auf Remote-Datenspeichergeräten liegen. -
9 stellt ein Beispiel eines Computersystems dar, das als eine Arbeitsumgebung für die Erfindung dient. Das Computersystem schließt einen Personalcomputer920 ein, einschließlich einer Prozessoreinheit921 , einem Systemspeicher922 und einem Systembus923 , der verschiedene Systemkomponenten einschließlich des Systemspeichers mit der Prozessoreinheit921 verbindet. Der Systembus kann irgendeinen von verschiedenen Busstrukturtypen umfassen, einschließlich eines Speicherbusses oder Speichercontrollers, eines Peripheriebusses, und eines lokalen Busses, der eine Busarchitektur, wie z.B. PCI, VESA, Microchannel (MCA), ISA und EISA, um ein paar zu nennen, verwendet. Der Systemspeicher schließt nur Lesespeicher (read only memory – ROM)924 und Arbeitsspeicher (random access memory – RAM)925 ein. Ein Basic-Input/Output-System (BIOS)926 , das die Basisroutinen enthält, die helfen, Informationen zwischen Elementen in dem Personalcomputer920 zu übertragen, z.B. während des Hochfahrens, ist in dem ROM924 gespeichert. Der Personalcomputer920 enthält des Weiteren ein Festplattenlaufwerk927 , ein magnetisches Disklaufwerk928 , z.B. um von/zu einer entfernbaren Disk929 zu lesen oder zu schreiben, und ein optisches Disklaufwerk930 , z.B. zum Lesen von einer CD-ROM-Disk931 oder zum Lesen oder Schreiben von/zu eines anderen optischen Datenträgers. Das Festplattenlaufwerk927 , magnetische Disklaufwerk928 und optische Disklaufwerk930 sind mit dem Systembus923 über eine Festplattenlaufwerksschnittstelle932 , eine Schnittstelle933 für magnetische Disklaufwerke bzw. eine Schnittstelle934 für optische Laufwerke verbunden. Die Laufwerke und ihre zugehörigen computerlesbaren Datenträger stellen nicht-flüchtigen Speicher für Daten, Datenstrukturen, computerausführbare Instruktionen (Programmcode, wie z.B. dynamisch verknüpfte Bibliotheken und ausführbare Dateien) etc., für den Personalcomputer920 bereit. Obwohl die Beschreibung von computerlesbaren Datenträgern sich oberhalb auf eine Festplatte, eine entfernbare magnetische Disk und eine CD bezieht, können sie ebenso andere Typen von Datenträgern einschließen, die von einem Computer lesbar sind, wie z.B. magnetische Kassetten, Flash-Memory-Karten, Digital-Video-Disks, Bernoulli-Kartuschen und Ähnliches. - Eine Anzahl von Programmmodulen kann in den Laufwerken und dem RAM
925 gespeichert werden, einschließlich eines Betriebssystems935 , eines oder mehrerer Anwendungsprogramme936 , anderer Programmmodule937 und Programmdaten938 . Ein Benutzer kann Befehle und Informationen in den Personalcomputer920 durch eine Tastatur940 und Zeigergerät, wie z.B. eine Maus942 , eingeben. Andere Eingabegeräte (nicht gezeigt) können ein Mikrofon, Joystick, Gamepad, Satellitenschüssel, Scanner oder Ähnliches einschließen. Diese und andere Eingabegeräte sind oft mit der Prozessoreinheit921 durch eine serielle Anschlussschnittstelle946 verbunden, die mit dem Systembus gekoppelt ist, aber können auch durch andere Schnittstellen verbunden sein, wie z.B. einen Parallelan schluss, Gameport oder einen Universal-Serial-Bus (USB). Ein Monitor947 oder anderer Typ an Anzeigegerät ist ebenso mit dem Systembus923 über eine Schnittstelle, wie z.B. einen Anzeigecontroller oder Video-Adapter948 , verbunden. Zusätzlich zu dem Monitor schließen Personalcomputer üblicherweise andere periphere Ausgabegeräte (nicht gezeigt) ein, wie z.B. Lautsprecher und Drucker. - Der Personalcomputer
920 kann in einer Netzwerkumgebung unter Verwendung logischer Verbindungen zu einem oder mehreren Remotecomputern, wie z.B. einem Remotecomputer949 , arbeiten. Der Remotecomputer949 kann ein Server, Router, Peer-Gerät oder anderer bekannter Netzwerkknoten sein und enthält üblicherweise viele oder alle der oben mit Bezug auf den Personalcomputer920 beschriebenen Elemente, obwohl nur ein Datenspeichergerät950 in9 dargestellt worden ist. Die logischen Verbindungen, die in9 gezeigt sind, schließen ein local area network (LAN)951 und ein wide area network (WAN)952 ein. Solche Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet alltäglich. - Wenn er in einer LAN-Netzwerkumgebung verwendet wird, ist der Personalcomputer
920 mit dem lokalen Netzwerk951 durch eine Netzwerkschnittstelle oder -adapter953 verbunden. Wenn er in einer WAN-Netzwerkumgebung verwendet wird, enthält der Personalcomputer920 üblicherweise ein Modem954 oder andere Mittel zum Herstellen von Datenübertragungen über das wide area network952 , wie z.B. das Internet. Das Modem954 , welches intern oder extern sein kann, ist mit dem Systembus923 über eine serielle Anschlussschnittstelle946 verbunden. In einer Netzwerkumgebung können Programmmodule, die relativ zum Personalcomputer920 gezeigt sind, oder Teile davon, in dem Remote-Datenspeichergerät gespeichert sein. Die gezeigten Netzwerkverbindungen sind lediglich Beispiele, und andere Mittel zum Herstellen einer Datenübertragungsverbindung zwischen den Computern können verwendet werden. - Ergebnis
- Während die Erfindung unter der Verwendung spezifischer Implementationen als ein Beispiel dargestellt worden ist, ist der Umfang der Erfindung nicht auf die spezifische Implementierung beschränkt. Zum Beispiel ist es möglich, eine räumliche Vorhersage sowohl für Chrominanz- als auch Helligkeitsblöcke unter Verwendung ähnlicher Techniken zu verwenden. Zusätzlich kann eine räumliche Vorhersage zum Codieren der codierten Blockparame ter sowohl für Intra- als auch vorhergesagte Frames verwendet werden. Die Implementierung verwendet Huffman-Tabellen, um Codes variabler Länge zu generieren. Tatsächlich kann eine Vielfalt von Entropie-Codierungsverfahren verwendet werden, um einen Code variabler Länge für jeden kombinierten codierten Blockparameter zu generieren. Zum Beispiel können verschiedene Formen der Arithmetik und/oder von Laufstreckencodierung (run length encoding) verwendet werden. Jedes dieser Codierungsverfahren weist Eingangssignalen, die weniger häufig auftreten, längere Codes zu, während häufigeren Eingangssignalen kürzere Codes zugewiesen werden. Wie es oben erwähnt wurde, können die Codierungsverfahren zum Verbessern der Effizienz der Makroblock-Header auf Frame-basierte und objektbasierte Codierungsverfahren angewandt werden.
Claims (17)
- Verfahren zum Rekonstruieren eines oder mehrerer Videobilder in einer Videosequenz während des Videodecodierens in einem Computersystem, wobei das Verfahren charakterisiert ist durch: für jeden Makroblock von vielen Makroblöcken: das Empfangen eines Codes mit variabler Länge in einem Bitstream, wobei ein codiertes Blockmuster erste codierte Blocksmusterinformation für viele Helligkeitsblöcke (luminance blocks) des Makroblocks einschließt, wobei die codierten Blockmuster zweite codierte Blockmusterinformation für viele Chrominanzblöcke des Makroblocks einschließt, wobei der empfangene Code mit variabler Länge einen Codetabelleneintrag in einer Codetabelle kennzeichnet, wobei der Codetabelleneintrag einen kombinierten Parameter spezifiziert, der die erste codierte Blockmusterinformation und die zweite codierte Blockmusterinformation des codierten Blockmusters für den Makroblock repräsentiert, wobei das codierte Blockmuster angibt, welche der vielen Helligkeitsblöcke und der vielen Chrominanzblöcke entsprechende Transformationskoeffizientendaten (
86 ) in dem Bitdatenstrom haben, und wobei der Makroblock einen Makroblocktyp aufweist; das Abrufen des codierten Blocksmusters für den Makroblock, zumindest teilweise basierend auf dem empfangenen Code variabler Länge, wobei das Abrufen das Nachschlagen des Codetabelleneintrags in der Codetabelle einschließt, und wobei der Makroblocktyp für mindestens einen der vielen Makroblöcke, für die codierte Blockmuster abgerufen wurden, Intra ist; und das Verwenden des codierten Blocksmusters für den Makroblock während der Rekonstruktion des einen oder der mehreren Videobilder. - Verfahren nach Anspruch 1, wobei jeder Makroblock der vielen Makroblöcke aus vier Helligkeitsblöcken und zwei Chrominanzblöcken besteht.
- Verfahren nach Anspruch 1, wobei jeder Makroblock der vielen Makroblöcke ein 16×16-Array (16×16-Bereich) aus Pixeln einschließt, und wobei jeder Block der vielen Helligkeitsblöcke und der vielen Chrominanzblöcke ein 8×8-Array aus Pixeln einschließt.
- Verfahren nach Anspruch 1, wobei das Abrufen des codierten Blockmusters des Weiteren zumindest teilweise auf decodierten Daten von einem oder mehreren anderen Makroblöcken basiert.
- Verfahren nach Anspruch 4, wobei die decodierten Daten von dem einen oder den mehreren Makroblöcken decodierte codierte Blockmusterinformationen umfassen.
- Verfahren nach Anspruch 1, wobei der empfangene Code variabler Länge unterschiedlich ist, abhängig davon, ob der Makroblocktyp des Makroblocks Intra ist.
- Verfahren nach Anspruch 1, wobei das codierte Blockmuster für jeden Makroblock der vielen Makroblöcke aus sechs Bits besteht.
- Verfahren nach Anspruch 7, wobei vier der sechs Bits angeben, welche Blöcke der vielen Helligkeitsblöcke entsprechend Transformationskoeffizientendaten in dem Bitdatenstrom aufweisen.
- Verfahren zum Codieren eines oder mehrerer Videobilder einer Videosequenz in einem Computersystem, wobei das Verfahren charakterisiert ist durch: das Empfangen eines oder mehrerer Videobilder einer Videosequenz; und für jeden Makroblock von vielen Makroblöcken des einen oder der mehreren Videobilder: Ermitteln eines Codes variabler Länge für ein codiertes Blockmuster des Makroblocks, wobei das codierte Blockmuster erste codierte Blockmusterinformation (
100 ,106 "CBPY") für viele Helligkeitsblöcke (luminance blocks) des Makroblocks einschließt, wobei das codierte Blockmuster zweite codierte Blockmusterinformation (100 ,106 "CBPC") für viele Chrominanzblöcke des Makroblocks einschließt, wobei der Code variabler Länge einen Codetabelleneintrag in einer Codetabelle kennzeichnet, wobei der Codetabelleneintrag einen kombinierten Parameter spezifiziert, der die erste codierte Blockmusterinformation und die zweite codierte Blockmusterinformation des codierten Blockmusters für den Makroblock repräsentiert, wobei das codierte Blockmuster angibt, welche der vielen Helligkeitsblöcke und der vielen Chromi nanzblöcke entsprechende Transformationskoeffizientendaten (86 ) in einem Bitdatenstrom haben, wobei der Makroblock einen Makroblocktyp aufweist, und wobei der Markoblocktyp für mindestens einen der vielen Makroblöcke, für die Codes variabler Länge für codierte Blockmuster ermittelt wurden, Intra ist; und Ausgeben des Codes variabler Länge in den Bitdatenstrom, wobei ein Videodecoder, der den Code variabler Länge empfängt, das codierte Blockmuster für den Makroblock zumindest teilweise basierend auf dem Nachschlagen des Codetabelleneintrags in der Codetabelle ermittelt. - Verfahren nach Anspruch 9, wobei jeder Makroblock der vielen Makroblöcke aus vier Helligkeitsblöcken und zwei Chrominanzblöcken besteht.
- Verfahren nach Anspruch 9, wobei jeder Makroblock der vielen Makroblöcke ein 16×16-Array (16×16-Bereich) aus Pixeln einschließt, und wobei jeder Block der vielen Helligkeitsblöcke und der vielen Chrominanzblöcke ein 8×8-Array aus Pixeln einschließt.
- Verfahren nach Anspruch 9, wobei das Ermitteln des Codes variabler Länge des Weiteren zumindest teilweise auf Daten von einem oder mehreren anderen Markoblöcken basiert.
- Verfahren nach Anspruch 12, wobei die Daten von dem einen oder mehreren anderen Makroblöcken codierte Blockmusterinformation umfasst.
- Verfahren nach Anspruch 9, wobei der Code variabler Länge unterschiedlich ist, abhängig davon, ob der Makroblocktyp des Makroblocks Intra ist.
- Verfahren nach Anspruch 9, wobei das codierte Blockmuster für jeden Makroblock der vielen Makroblöcke aus sechs Bits besteht.
- Verfahren nach Anspruch 15, wobei vier von den sechs Bits angeben, welche Blöcke der vielen Helligkeitsblöcke entsprechend Transformationskoeffizientendaten in dem Bitdatenstrom aufweisen.
- Ein computerlesbarer Datenträger, der computerausführbare Instruktionen speichert, die dazu dienen, das Computersystem zu veranlassen, das Verfahren von irgendeinem der Ansprüche 1 bis 16 durchzuführen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201272 | 1980-11-04 | ||
US09/201,272 US6563953B2 (en) | 1998-11-30 | 1998-11-30 | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
PCT/US1999/028276 WO2000033583A1 (en) | 1998-11-30 | 1999-11-30 | Efficient macroblock header coding for video compression |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69937462D1 DE69937462D1 (de) | 2007-12-13 |
DE69937462T2 true DE69937462T2 (de) | 2008-02-07 |
Family
ID=22745185
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69941964T Expired - Lifetime DE69941964D1 (de) | 1998-11-30 | 1999-11-30 | Dekodierung von Makroblock- und kodierten Blockmuster-Informationen |
DE69941965T Expired - Lifetime DE69941965D1 (de) | 1998-11-30 | 1999-11-30 | Kodierung und Dekodierung kodierter Blockmuster mit räumlicher Prädiktion |
DE69937462T Expired - Lifetime DE69937462T2 (de) | 1998-11-30 | 1999-11-30 | Effiziente macroblockheaderkodierung zur videokompression |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69941964T Expired - Lifetime DE69941964D1 (de) | 1998-11-30 | 1999-11-30 | Dekodierung von Makroblock- und kodierten Blockmuster-Informationen |
DE69941965T Expired - Lifetime DE69941965D1 (de) | 1998-11-30 | 1999-11-30 | Kodierung und Dekodierung kodierter Blockmuster mit räumlicher Prädiktion |
Country Status (10)
Country | Link |
---|---|
US (7) | US6563953B2 (de) |
EP (3) | EP1135934B1 (de) |
JP (4) | JP3778798B2 (de) |
AT (3) | ATE456254T1 (de) |
DE (3) | DE69941964D1 (de) |
DK (3) | DK1853069T3 (de) |
ES (3) | ES2337611T3 (de) |
HK (2) | HK1115256A1 (de) |
PT (3) | PT1135934E (de) |
WO (1) | WO2000033583A1 (de) |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215910B1 (en) | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
FI116819B (fi) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Menetelmä kuvien lähettämiseksi ja kuvakooderi |
GB2359209A (en) * | 2000-02-09 | 2001-08-15 | Motorola Ltd | Apparatus and methods for video distribution via networks |
US20020191698A1 (en) * | 2001-06-15 | 2002-12-19 | Solidstreaming, Inc. | Video data CODEC system with low computational complexity |
WO2003003745A1 (en) * | 2001-06-29 | 2003-01-09 | Ntt Docomo, Inc. | Image encoder, image decoder, image encoding method, and image decoding method |
CN100380983C (zh) * | 2001-08-02 | 2008-04-09 | 皇家飞利浦电子股份有限公司 | 视频编码方法 |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
WO2003053066A1 (en) | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
WO2003084241A2 (en) * | 2002-03-22 | 2003-10-09 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
TW560179B (en) * | 2002-04-16 | 2003-11-01 | Pixart Imaging Inc | Moving correction and compensation method |
US20030205538A1 (en) | 2002-05-03 | 2003-11-06 | Randel Dorian | Methods and apparatus for isolating platelets from blood |
US7832566B2 (en) | 2002-05-24 | 2010-11-16 | Biomet Biologics, Llc | Method and apparatus for separating and concentrating a component from a multi-component material including macroparticles |
US20060278588A1 (en) | 2002-05-24 | 2006-12-14 | Woodell-May Jennifer E | Apparatus and method for separating and concentrating fluids containing multiple components |
US7845499B2 (en) | 2002-05-24 | 2010-12-07 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
US7236524B2 (en) | 2002-05-28 | 2007-06-26 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode communication |
CN101087423B (zh) * | 2002-05-28 | 2010-06-09 | 夏普株式会社 | 对数字视频进行编码或解码的估计象素内预测模式的方法和系统 |
CN101489136B (zh) * | 2002-05-28 | 2014-07-16 | 夏普株式会社 | 图像内预测模式估计、通信和组织的方法和系统 |
US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
KR100994295B1 (ko) * | 2002-07-19 | 2010-11-12 | 소니 주식회사 | 정보 신호 처리 장치, 정보 신호 처리 방법, 보정 데이터의 생성 장치 및 생성 방법, 계수 데이터의 생성 장치 및 생성 방법, 및 각 방법을 실행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 매체 |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
US7130350B1 (en) * | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
US7424493B2 (en) * | 2003-04-21 | 2008-09-09 | Microsoft Corporation | Replication-based propagation mechanism for pipelines |
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 |
US7738554B2 (en) * | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7426308B2 (en) * | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7830963B2 (en) | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
US7269288B2 (en) * | 2003-07-30 | 2007-09-11 | Mediatek Inc. | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US7567617B2 (en) * | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US8014450B2 (en) | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7912291B2 (en) * | 2003-11-10 | 2011-03-22 | Ricoh Co., Ltd | Features for retrieval and similarity matching of documents from the JPEG 2000-compressed domain |
US7627037B2 (en) * | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
US7580461B2 (en) * | 2004-02-27 | 2009-08-25 | Microsoft Corporation | Barbell lifting for wavelet coding |
US7649539B2 (en) * | 2004-03-10 | 2010-01-19 | Microsoft Corporation | Image formats for video capture, processing and display |
US7586647B2 (en) * | 2004-07-29 | 2009-09-08 | Canon Kabushiki Kaisha | Halftone detection and removal |
CN100359953C (zh) * | 2004-09-08 | 2008-01-02 | 华为技术有限公司 | 基于帧内编码的图像色度预测方法 |
CN100461867C (zh) * | 2004-12-02 | 2009-02-11 | 中国科学院计算技术研究所 | 一种帧内图像预测编码方法 |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
KR100682912B1 (ko) * | 2005-01-05 | 2007-02-15 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
EP2666494B1 (de) | 2005-02-07 | 2018-01-17 | Hanuman LLC | Vorrichtung und Verfahren für blutplättchenreiches Plasmakonzentrat |
US7866485B2 (en) | 2005-02-07 | 2011-01-11 | Hanuman, Llc | Apparatus and method for preparing platelet rich plasma and concentrates thereof |
US7708152B2 (en) | 2005-02-07 | 2010-05-04 | Hanuman Llc | Method and apparatus for preparing platelet rich plasma and concentrates thereof |
JP4683374B2 (ja) * | 2005-03-14 | 2011-05-18 | 富士ゼロックス株式会社 | 符号化装置、符号化方法及びプログラム |
JP4301193B2 (ja) * | 2005-03-31 | 2009-07-22 | ソニー株式会社 | 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体 |
US8619860B2 (en) * | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
KR101261525B1 (ko) | 2005-07-15 | 2013-05-06 | 삼성전자주식회사 | 영상 부호화 및 복호화 방법과 장치 |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US7860327B2 (en) * | 2005-10-06 | 2010-12-28 | Sony Corporation | Systems and methods for enhanced coding gain |
KR100763196B1 (ko) * | 2005-10-19 | 2007-10-04 | 삼성전자주식회사 | 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치 |
TW200746655A (en) | 2005-11-18 | 2007-12-16 | Sony Corp | Encoding device and method, decoding device and method, and transmission system |
KR100791295B1 (ko) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치 |
US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
KR100745765B1 (ko) * | 2006-04-13 | 2007-08-02 | 삼성전자주식회사 | 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법 |
US8880571B2 (en) * | 2006-05-05 | 2014-11-04 | Microsoft Corporation | High dynamic range data format conversions for digital media |
US8567609B2 (en) | 2006-05-25 | 2013-10-29 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
KR100809298B1 (ko) * | 2006-06-22 | 2008-03-04 | 삼성전자주식회사 | 플래그 인코딩 방법, 플래그 디코딩 방법, 및 상기 방법을이용한 장치 |
CA2665182A1 (en) | 2006-10-10 | 2008-04-17 | Nippon Telegraph And Telephone Corporation | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for recording the programs |
US8054886B2 (en) * | 2007-02-21 | 2011-11-08 | Microsoft Corporation | Signaling and use of chroma sample positioning information |
US8189676B2 (en) * | 2007-04-05 | 2012-05-29 | Hong Kong University Of Science & Technology | Advance macro-block entropy coding for advanced video standards |
US8328024B2 (en) | 2007-04-12 | 2012-12-11 | Hanuman, Llc | Buoy suspension fractionation system |
EP2146794B1 (de) | 2007-04-12 | 2016-10-19 | Biomet Biologics, LLC | Fraktionierungssystem für suspensionen mit trennungsschwimmer |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
NO20074463A (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
NO328295B1 (no) * | 2007-12-20 | 2010-01-25 | Tandberg Telecom As | VLC-fremgangsmate og -innretning |
EP2567692B1 (de) | 2008-02-27 | 2016-04-06 | Biomet Biologics, LLC | Verwendung einer Vorrichtung zur Erzeugung Interleukin-1-rezeptorantagonistreicher Lösungen |
EP2254991B1 (de) | 2008-02-29 | 2018-08-22 | Biomet Manufacturing, LLC | System und verfahren zur trennung eines materials |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US8012077B2 (en) | 2008-05-23 | 2011-09-06 | Biomet Biologics, Llc | Blood separating device |
US8879637B2 (en) * | 2008-10-06 | 2014-11-04 | Lg Electronics Inc. | Method and an apparatus for processing a video signal by which coding efficiency of a video signal can be raised by using a mixed prediction mode in predicting different macroblock sizes |
CN101742301B (zh) * | 2008-11-24 | 2017-04-19 | 北京中星微电子有限公司 | 一种块模式编码方法及装置 |
CN101742329B (zh) * | 2008-11-24 | 2013-02-13 | 北京中星微电子有限公司 | 一种图像编码方法及装置 |
FR2940736B1 (fr) * | 2008-12-30 | 2011-04-08 | Sagem Comm | Systeme et procede de codage video |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8187475B2 (en) | 2009-03-06 | 2012-05-29 | Biomet Biologics, Llc | Method and apparatus for producing autologous thrombin |
US8313954B2 (en) | 2009-04-03 | 2012-11-20 | Biomet Biologics, Llc | All-in-one means of separating blood components |
US9113168B2 (en) | 2009-05-12 | 2015-08-18 | Lg Electronics Inc. | Method and apparatus of processing a video signal |
US9011800B2 (en) | 2009-07-16 | 2015-04-21 | Biomet Biologics, Llc | Method and apparatus for separating biological materials |
US8942282B2 (en) | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
US8591391B2 (en) | 2010-04-12 | 2013-11-26 | Biomet Biologics, Llc | Method and apparatus for separating a material |
EP2375751A1 (de) | 2010-04-12 | 2011-10-12 | Panasonic Corporation | Komplexitätsverringerung von auf Randerkennung basierter räumlicher Interpolation |
WO2011128366A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Sample region merging |
RS62794B1 (sr) | 2010-04-13 | 2022-02-28 | Ge Video Compression Llc | Nasleđivanje u podeli sa više stabala na nizu uzoraka |
CN106412606B (zh) | 2010-04-13 | 2020-03-27 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法 |
HUE045693T2 (hu) | 2010-04-13 | 2020-01-28 | Ge Video Compression Llc | Videó kódolás képek multi-fa struktúrájú alosztásainak használatával |
CN105933716B (zh) * | 2010-04-13 | 2019-05-28 | Ge视频压缩有限责任公司 | 跨平面预测 |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
US9319880B2 (en) | 2010-09-15 | 2016-04-19 | Intel Corporation | Reformatting data to decrease bandwidth between a video encoder and a buffer |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
JP5878295B2 (ja) * | 2011-01-13 | 2016-03-08 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
BR112013033707A2 (pt) | 2011-06-28 | 2017-06-27 | Samsung Electronics Co Ltd | método e aparelho de predição para componente de croma de imagem usando componente de luma de imagem |
KR101889101B1 (ko) * | 2011-09-14 | 2018-08-17 | 세종대학교산학협력단 | 메모리 복사를 이용하여 영상을 복원하는 방법 및 장치 |
WO2013039363A2 (ko) * | 2011-09-16 | 2013-03-21 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 그 장치 |
RU2602834C2 (ru) | 2011-10-19 | 2016-11-20 | Кт Корпорейшен | Способ и устройство для кодирования/декодирования видеоданных |
US8615138B2 (en) * | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
JP6168365B2 (ja) * | 2012-06-12 | 2017-07-26 | サン パテント トラスト | 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 |
US9642956B2 (en) | 2012-08-27 | 2017-05-09 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
CN103096090B (zh) * | 2013-02-20 | 2015-12-02 | 广州柯维新数码科技有限公司 | 一种用于视频压缩中的编码块划分的方法 |
US9895418B2 (en) | 2013-03-15 | 2018-02-20 | Biomet Biologics, Llc | Treatment of peripheral vascular disease using protein solutions |
US9950035B2 (en) | 2013-03-15 | 2018-04-24 | Biomet Biologics, Llc | Methods and non-immunogenic compositions for treating inflammatory disorders |
US10143725B2 (en) | 2013-03-15 | 2018-12-04 | Biomet Biologics, Llc | Treatment of pain using protein solutions |
US10208095B2 (en) | 2013-03-15 | 2019-02-19 | Biomet Manufacturing, Llc | Methods for making cytokine compositions from tissues using non-centrifugal methods |
US20140271589A1 (en) | 2013-03-15 | 2014-09-18 | Biomet Biologics, Llc | Treatment of collagen defects using protein solutions |
JP2015095733A (ja) * | 2013-11-11 | 2015-05-18 | キヤノン株式会社 | 画像伝送装置、画像伝送方法、及びプログラム |
US10067951B2 (en) * | 2014-02-19 | 2018-09-04 | Samsung Electronics Co, Ltd | Method for creating binary code and electronic device thereof |
KR102269590B1 (ko) * | 2014-02-19 | 2021-06-24 | 삼성전자주식회사 | 바이너리 생성 방법 및 그 전자 장치 |
US9713810B2 (en) | 2015-03-30 | 2017-07-25 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US9757721B2 (en) | 2015-05-11 | 2017-09-12 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
US10027968B2 (en) * | 2015-06-12 | 2018-07-17 | Sony Corporation | Data-charge phase data compression tool |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
CN108464005A (zh) | 2015-12-22 | 2018-08-28 | 真实网络公司 | 视频编码中的残差变换及逆向变换系统和方法 |
CN109788290A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 影像处理装置及利用帧内预测的无损影像压缩方法 |
CN111010572A (zh) * | 2018-12-04 | 2020-04-14 | 北京达佳互联信息技术有限公司 | 一种视频编码方法和装置及设备 |
AU2020400536A1 (en) * | 2019-12-11 | 2022-06-16 | Sony Group Corporation | Image processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method |
CN115280769A (zh) * | 2020-03-12 | 2022-11-01 | 交互数字Vc控股法国公司 | 用于视频编码和解码的方法和设备 |
Family Cites Families (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56128070A (en) * | 1980-03-13 | 1981-10-07 | Fuji Photo Film Co Ltd | Band compressing equipment of variable density picture |
JPS61205086A (ja) | 1985-03-08 | 1986-09-11 | Mitsubishi Electric Corp | 画像符号化復号化装置 |
EP0207774B1 (de) * | 1985-07-02 | 1992-03-04 | Matsushita Electric Industrial Co., Ltd. | Vorrichtung zur Blockkodierung |
FR2599577B1 (fr) * | 1986-05-29 | 1988-08-05 | Guichard Jacques | Procede de codage par transformation pour la transmission de signaux d'image. |
US4800432A (en) * | 1986-10-24 | 1989-01-24 | The Grass Valley Group, Inc. | Video Difference key generator |
DE3704777C1 (de) | 1987-02-16 | 1988-04-07 | Ant Nachrichtentech | Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen |
NL8700565A (nl) * | 1987-03-10 | 1988-10-03 | Philips Nv | Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation. |
EP0290085B1 (de) * | 1987-05-06 | 1996-03-20 | Philips Patentverwaltung GmbH | System zur Übertragung von Videobildern |
FR2648254B2 (fr) * | 1988-09-23 | 1991-08-30 | Thomson Csf | Procede et dispositif d'estimation de mouvement dans une sequence d'images animees |
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
JPH07109990B2 (ja) * | 1989-04-27 | 1995-11-22 | 日本ビクター株式会社 | 適応型フレーム間予測符号化方法及び復号方法 |
JP2562499B2 (ja) | 1989-05-29 | 1996-12-11 | 日本電信電話株式会社 | 高能率画像符号化装置およびその復号化装置 |
JPH0822064B2 (ja) | 1990-02-15 | 1996-03-04 | 三菱電機株式会社 | 変換符号化方式 |
EP0424026B1 (de) * | 1989-10-14 | 1997-07-23 | Sony Corporation | Anordnung und Verfahren zum Übertragen eines Videosignals |
JPH082107B2 (ja) | 1990-03-02 | 1996-01-10 | 国際電信電話株式会社 | 動画像のハイブリッド符号化方法及びその装置 |
JPH03265290A (ja) * | 1990-03-14 | 1991-11-26 | Toshiba Corp | テレビジョン信号走査線変換器 |
US5091782A (en) * | 1990-04-09 | 1992-02-25 | General Instrument Corporation | Apparatus and method for adaptively compressing successive blocks of digital video |
US4999705A (en) | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
US5155594A (en) | 1990-05-11 | 1992-10-13 | Picturetel Corporation | Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences |
US5068724A (en) * | 1990-06-15 | 1991-11-26 | General Instrument Corporation | Adaptive motion compensation for digital television |
JP3037383B2 (ja) | 1990-09-03 | 2000-04-24 | キヤノン株式会社 | 画像処理システム及びその方法 |
US5193004A (en) * | 1990-12-03 | 1993-03-09 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
US5111292A (en) * | 1991-02-27 | 1992-05-05 | General Electric Company | Priority selection apparatus as for a video signal processor |
JPH0630280A (ja) * | 1991-03-19 | 1994-02-04 | Nec Eng Ltd | 2値画像データのブロック別選択型符号化前処理方式 |
DE4113505A1 (de) * | 1991-04-25 | 1992-10-29 | Thomson Brandt Gmbh | Verfahren zur bildsignalcodierung |
JPH04334188A (ja) | 1991-05-08 | 1992-11-20 | Nec Corp | 動画像信号の符号化方式 |
SK399892A3 (en) | 1991-05-24 | 1993-07-07 | British Broadcasting Corp | Video image processing |
US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
JP2977104B2 (ja) * | 1991-07-26 | 1999-11-10 | ソニー株式会社 | 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置 |
US5539466A (en) * | 1991-07-30 | 1996-07-23 | Sony Corporation | Efficient coding apparatus for picture signal and decoding apparatus therefor |
JP3001688B2 (ja) | 1991-08-05 | 2000-01-24 | 株式会社大一商会 | パチンコ球の循環制御装置 |
JP2991833B2 (ja) * | 1991-10-11 | 1999-12-20 | 松下電器産業株式会社 | インターレス走査ディジタルビデオ信号の符号化装置及びその方法 |
JP3134424B2 (ja) | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
JP2962012B2 (ja) * | 1991-11-08 | 1999-10-12 | 日本ビクター株式会社 | 動画像符号化装置及びその復号装置 |
US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5510840A (en) * | 1991-12-27 | 1996-04-23 | Sony Corporation | Methods and devices for encoding and decoding frame signals and recording medium therefor |
US5287420A (en) * | 1992-04-08 | 1994-02-15 | Supermac Technology | Method for image compression on a personal computer |
KR0166716B1 (ko) * | 1992-06-18 | 1999-03-20 | 강진구 | 블럭 dpcm을 이용한 부호화/복호화방법 및 장치 |
US6226327B1 (en) * | 1992-06-29 | 2001-05-01 | Sony Corporation | Video coding method and apparatus which select between frame-based and field-based predictive modes |
US6101313A (en) * | 1992-06-29 | 2000-08-08 | Sony Corporation | High efficiency encoding and decoding of picture signals and recording medium containing same |
US5412435A (en) * | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
JP2510456B2 (ja) | 1992-08-27 | 1996-06-26 | 三菱電機株式会社 | 画像符号化装置 |
JPH06153180A (ja) | 1992-09-16 | 1994-05-31 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
JPH06113287A (ja) | 1992-09-30 | 1994-04-22 | Matsushita Electric Ind Co Ltd | 画像符号化装置と画像復号化装置 |
US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
KR0166722B1 (ko) * | 1992-11-30 | 1999-03-20 | 윤종용 | 부호화 및 복호화방법 및 그 장치 |
US5400075A (en) | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US5491516A (en) * | 1993-01-14 | 1996-02-13 | Rca Thomson Licensing Corporation | Field elimination apparatus for a video compression/decompression system |
US5544286A (en) * | 1993-01-29 | 1996-08-06 | Microsoft Corporation | Digital video data compression technique |
US5592228A (en) | 1993-03-04 | 1997-01-07 | Kabushiki Kaisha Toshiba | Video encoder using global motion estimation and polygonal patch motion estimation |
US5376968A (en) * | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
JP3312417B2 (ja) * | 1993-03-18 | 2002-08-05 | ソニー株式会社 | 画像信号符号化装置及び画像信号復号化装置 |
JPH06276481A (ja) | 1993-03-18 | 1994-09-30 | Sony Corp | 画像信号符号化及び復号化方法、並びに記録媒体 |
EP2334083B1 (de) * | 1993-03-24 | 2013-08-28 | Sony Corporation | Verfahren und Vorrichtung zur Kodierung/Dekodierung von Bewegungsvektoren, und Verfahren und Vorrichtung zur Kodierung/Dekodierung von Bildsignalen |
DE69416717T2 (de) | 1993-05-21 | 1999-10-07 | Nippon Telegraph & Telephone | Bewegtbildkoder und -dekoder |
US5448297A (en) | 1993-06-16 | 1995-09-05 | Intel Corporation | Method and system for encoding images using skip blocks |
US5517327A (en) | 1993-06-30 | 1996-05-14 | Minolta Camera Kabushiki Kaisha | Data processor for image data using orthogonal transformation |
US5477272A (en) | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
US5453799A (en) * | 1993-11-05 | 1995-09-26 | Comsat Corporation | Unified motion estimation architecture |
US5465118A (en) | 1993-12-17 | 1995-11-07 | International Business Machines Corporation | Luminance transition coding method for software motion video compression/decompression |
EP0675652B1 (de) * | 1994-03-30 | 2009-05-13 | Nxp B.V. | Verfahren und Schaltung zur Bewegungsschätzung zwischen Bildern mit zwei Zeilensprunghalbbildern, und Vorrichtung zur digitalen Signalkodierung mit einer solchen Schaltung |
US5550541A (en) | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
US5767898A (en) * | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
US5594504A (en) | 1994-07-06 | 1997-01-14 | Lucent Technologies Inc. | Predictive video coding using a motion vector updating routine |
JP3474005B2 (ja) * | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | 動画像符号化方法及び動画像復号方法 |
US5552832A (en) | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
JPH08140099A (ja) | 1994-11-11 | 1996-05-31 | Canon Inc | 符号化装置及び方法 |
KR0164411B1 (ko) * | 1994-12-28 | 1999-01-15 | 윤종용 | 원격안전 관리시스템의 유지보수를 위한 경보처리방법 및 장치 |
JP2951861B2 (ja) | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
US5619281A (en) | 1994-12-30 | 1997-04-08 | Daewoo Electronics Co., Ltd | Method and apparatus for detecting motion vectors in a frame decimating video encoder |
EP0721287A1 (de) | 1995-01-09 | 1996-07-10 | Daewoo Electronics Co., Ltd | Verfahren und Vorrichtung zur Kodierung eines Videosignals |
JP3732867B2 (ja) * | 1995-03-09 | 2006-01-11 | 株式会社ルネサステクノロジ | 画像伸張装置 |
EP0731614B1 (de) | 1995-03-10 | 2002-02-06 | Kabushiki Kaisha Toshiba | Bildkodierungs-/-dekodierungsvorrichtung |
KR0171118B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 비디오신호 부호화 장치 |
KR0171143B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
KR0181027B1 (ko) | 1995-03-20 | 1999-05-01 | 배순훈 | 화소 단위 움직임 추정을 이용하는 영상처리 시스템 |
KR0181063B1 (ko) | 1995-04-29 | 1999-05-01 | 배순훈 | 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치 |
US5654771A (en) | 1995-05-23 | 1997-08-05 | The University Of Rochester | Video compression system using a dense motion vector field and a triangular patch mesh overlay model |
JP3903496B2 (ja) * | 1995-06-05 | 2007-04-11 | ソニー株式会社 | 画像符号化方法、符号化装置、復号方法および復号装置 |
US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US6208761B1 (en) * | 1995-07-11 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Video coding |
US5687097A (en) | 1995-07-13 | 1997-11-11 | Zapex Technologies, Inc. | Method and apparatus for efficiently determining a frame motion vector in a video encoder |
US5668608A (en) | 1995-07-26 | 1997-09-16 | Daewoo Electronics Co., Ltd. | Motion vector estimation method and apparatus for use in an image signal encoding system |
US5825830A (en) | 1995-08-17 | 1998-10-20 | Kopf; David A. | Method and apparatus for the compression of audio, video or other data |
US5883678A (en) * | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
US6307967B1 (en) * | 1995-09-29 | 2001-10-23 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus |
US5959673A (en) | 1995-10-05 | 1999-09-28 | Microsoft Corporation | Transform coding of dense motion vector fields for frame and object based video coding applications |
KR100211917B1 (ko) | 1995-10-26 | 1999-08-02 | 김영환 | 물체 모양정보 부호화 방법 |
US5692063A (en) | 1996-01-19 | 1997-11-25 | Microsoft Corporation | Method and system for unrestricted motion estimation for video |
US5831559A (en) | 1996-01-24 | 1998-11-03 | Intel Corporation | Encoding/decoding video signals using multiple run-val mapping tables |
US5982438A (en) | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
JP3371191B2 (ja) | 1996-03-22 | 2003-01-27 | ソニー株式会社 | 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置 |
KR100403077B1 (ko) * | 1996-05-28 | 2003-10-30 | 마쯔시다덴기산교 가부시키가이샤 | 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치 및 그 방법 |
DE19637522A1 (de) | 1996-09-13 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Reduzierung von Daten in Videosignalen |
JP4049280B2 (ja) * | 1996-09-24 | 2008-02-20 | 株式会社ハイニックスセミコンダクター | グレースケール形状情報符号化/復号化装置及び方法 |
KR100303685B1 (ko) * | 1996-09-30 | 2001-09-24 | 송문섭 | 영상 예측부호화 장치 및 그 방법 |
JP4034380B2 (ja) * | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
US5748789A (en) * | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
JPH10145779A (ja) * | 1996-11-06 | 1998-05-29 | Sony Corp | フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法 |
EP0786907A3 (de) | 1997-01-24 | 2001-06-13 | Texas Instruments Incorporated | Videokodierer |
KR100322515B1 (ko) | 1997-02-14 | 2002-02-07 | 미야즈 준이치로 | 동화상의 예측 부호화 방법 및 복호 방법 |
US6005980A (en) * | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
US6404813B1 (en) * | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
JP4001969B2 (ja) * | 1997-03-31 | 2007-10-31 | ソニー株式会社 | 符号化装置および方法、並びに復号装置および方法 |
US6064771A (en) * | 1997-06-23 | 2000-05-16 | Real-Time Geometry Corp. | System and method for asynchronous, adaptive moving picture compression, and decompression |
US6351563B1 (en) * | 1997-07-09 | 2002-02-26 | Hyundai Electronics Ind. Co., Ltd. | Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers |
US6148033A (en) * | 1997-11-20 | 2000-11-14 | Hitachi America, Ltd. | Methods and apparatus for improving picture quality in reduced resolution video decoders |
EP0921683B1 (de) * | 1997-12-02 | 2010-09-08 | Daewoo Electronics Corporation | Verfahren und Vorrichtung zur Kodierung von Modussignalen in einem Binärformkodierer |
US5973743A (en) * | 1997-12-02 | 1999-10-26 | Daewoo Electronics Co., Ltd. | Mode coding method and apparatus for use in an interlaced shape coder |
JP3740813B2 (ja) * | 1997-12-12 | 2006-02-01 | ソニー株式会社 | 画像符号化方法および画像符号化装置 |
US5946043A (en) | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
KR100281462B1 (ko) * | 1998-03-30 | 2001-02-01 | 전주범 | 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법 |
US6408029B1 (en) * | 1998-04-02 | 2002-06-18 | Intel Corporation | Method and apparatus for simplifying real-time data encoding |
JP3888597B2 (ja) * | 1998-06-24 | 2007-03-07 | 日本ビクター株式会社 | 動き補償符号化装置、及び動き補償符号化復号化方法 |
EP0969656B1 (de) * | 1998-06-29 | 2007-01-24 | Xerox Corporation | Kompression von Grenzen zwischen Bildern |
US6275531B1 (en) * | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
BR0004370A (pt) * | 1999-02-05 | 2000-12-19 | Sony Corp | Aparelhos e processos de codificação e de decodificação e sistema e método de codificação |
JP3778721B2 (ja) * | 1999-03-18 | 2006-05-24 | 富士通株式会社 | 動画像符号化方法および装置 |
JP2001036908A (ja) | 1999-07-15 | 2001-02-09 | Oki Electric Ind Co Ltd | 動画像圧縮装置 |
FR2802048B1 (fr) | 1999-12-01 | 2002-01-18 | France Telecom | Procede de diffusion de television numerique, signal numerique et equipement associes |
KR100739281B1 (ko) * | 2000-02-21 | 2007-07-12 | 주식회사 팬택앤큐리텔 | 움직임 추정 방법 및 장치 |
CN1322759C (zh) | 2000-04-27 | 2007-06-20 | 三菱电机株式会社 | 编码装置和编码方法 |
KR100341063B1 (ko) * | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US7133451B2 (en) | 2001-03-05 | 2006-11-07 | Intervideo, Inc. | Systems and methods for refreshing macroblocks |
US6677868B2 (en) * | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
EP1445956A4 (de) * | 2001-11-16 | 2009-09-02 | Ntt Docomo Inc | Bildcodierungsverfahren, bilddecodierungsverfahren, bildcodierer, bilddecodierer, programm, computerdatensignal und bildübertragungssystem |
WO2003053066A1 (en) | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6870578B2 (en) | 2001-12-19 | 2005-03-22 | Thomson Licensing Sa. | Apparatus and method for sharing signal control lines |
EP1347649A1 (de) * | 2002-03-18 | 2003-09-24 | Lg Electronics Inc. | Verfahren und Anordnung zur Festellung des B-Bild Modus in einem System zur Kodierung von Video |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4151374B2 (ja) * | 2002-03-29 | 2008-09-17 | セイコーエプソン株式会社 | 動画像符号化装置および動画像符号化方法 |
EP1422946A4 (de) * | 2002-07-26 | 2008-04-02 | Matsushita Electric Ind Co Ltd | Codierungsverfahren für bewegliche bilder, decodierungsverfahren für bewegliche bilder und aufzeichnungsmedium |
US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
US20040136457A1 (en) | 2002-10-23 | 2004-07-15 | John Funnell | Method and system for supercompression of compressed digital video |
US20060257000A1 (en) * | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US8107531B2 (en) * | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US7620106B2 (en) * | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
KR20050061762A (ko) | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
-
1998
- 1998-11-30 US US09/201,272 patent/US6563953B2/en not_active Expired - Lifetime
-
1999
- 1999-11-30 AT AT07014891T patent/ATE456254T1/de active
- 1999-11-30 AT AT99965061T patent/ATE377327T1/de active
- 1999-11-30 ES ES07014891T patent/ES2337611T3/es not_active Expired - Lifetime
- 1999-11-30 DK DK07014891.1T patent/DK1853069T3/da active
- 1999-11-30 DE DE69941964T patent/DE69941964D1/de not_active Expired - Lifetime
- 1999-11-30 EP EP99965061A patent/EP1135934B1/de not_active Expired - Lifetime
- 1999-11-30 DK DK07014945.5T patent/DK1863295T3/da active
- 1999-11-30 PT PT99965061T patent/PT1135934E/pt unknown
- 1999-11-30 ES ES99965061T patent/ES2296415T3/es not_active Expired - Lifetime
- 1999-11-30 PT PT07014891T patent/PT1853069E/pt unknown
- 1999-11-30 DE DE69941965T patent/DE69941965D1/de not_active Expired - Lifetime
- 1999-11-30 EP EP07014945A patent/EP1863295B1/de not_active Expired - Lifetime
- 1999-11-30 PT PT07014945T patent/PT1863295E/pt unknown
- 1999-11-30 JP JP2000586108A patent/JP3778798B2/ja not_active Expired - Lifetime
- 1999-11-30 ES ES07014945T patent/ES2337612T3/es not_active Expired - Lifetime
- 1999-11-30 AT AT07014945T patent/ATE456255T1/de active
- 1999-11-30 DE DE69937462T patent/DE69937462T2/de not_active Expired - Lifetime
- 1999-11-30 EP EP07014891A patent/EP1853069B1/de not_active Expired - Lifetime
- 1999-11-30 DK DK99965061T patent/DK1135934T3/da active
- 1999-11-30 WO PCT/US1999/028276 patent/WO2000033583A1/en active IP Right Grant
-
2003
- 2003-03-19 US US10/393,458 patent/US6735345B2/en not_active Expired - Lifetime
- 2003-12-11 US US10/733,223 patent/US7054494B2/en not_active Expired - Lifetime
-
2005
- 2005-12-30 US US11/323,034 patent/US7127114B2/en not_active Expired - Lifetime
-
2006
- 2006-01-23 JP JP2006014154A patent/JP4673758B2/ja not_active Expired - Lifetime
- 2006-01-23 JP JP2006014153A patent/JP4625411B2/ja not_active Expired - Lifetime
- 2006-07-27 US US11/495,355 patent/US7289673B2/en not_active Expired - Fee Related
-
2007
- 2007-09-20 US US11/903,222 patent/US8290288B2/en not_active Expired - Fee Related
-
2008
- 2008-05-07 HK HK08105160.5A patent/HK1115256A1/xx unknown
- 2008-06-05 HK HK08106309.5A patent/HK1115966A1/xx not_active IP Right Cessation
- 2008-12-01 JP JP2008306851A patent/JP4558827B2/ja not_active Expired - Lifetime
-
2012
- 2012-10-15 US US13/652,405 patent/US8582903B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69937462T2 (de) | Effiziente macroblockheaderkodierung zur videokompression | |
DE69839100T2 (de) | Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke | |
DE69923232T2 (de) | Verbesserte bewegungsschätzung und blockübereinstimmungsmuster | |
DE69817460T2 (de) | Bildsequenzdekodierungsverfahren | |
DE60305325T2 (de) | System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption | |
DE69738494T2 (de) | Videokodierungs- und Videodekodierungsvorrichtung | |
DE60220106T2 (de) | Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung | |
DE602004008763T2 (de) | Videotranskodierung | |
DE19704439C2 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien | |
DE10300048A1 (de) | Verfahren und Vorrichtung zur Bildcodierung und -decodierung | |
JPH05252507A (ja) | 適応的ビット割振り及び量子化を用いたモーション・ビデオ圧縮システム | |
DE19743202A1 (de) | Verfahren und Vorrichtung zum Codieren eines Bewegungsvektors | |
DE102016125604A1 (de) | Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung | |
Zhu et al. | Spatial and temporal models for texture-based video coding | |
EP1083751A1 (de) | Messung der Videobildaktivität im DCT-Bereich | |
DE19702728A1 (de) | Verfahren und Gerät zum Bilden symmetrischer Suchfenster zur zweiseitig gerichteten Bewegungsabschätzung von Halbpixeln | |
DE19715075B4 (de) | Verfahren zum Kodieren eines von einer Pixelmatrix gebildeten Bildes | |
DE19719383A1 (de) | Verfahren und Vorrichtung zur Codierung und Decodierung eines digitalisierten Bildes | |
EP1085761A1 (de) | Bewegungsschätzung in einem objektorientierten Videokodierer | |
Murching et al. | Adaptive color subsampling of images | |
DE19903859A1 (de) | Verfahren und Anordnung zur Transformation eines Bildbereichs | |
DE19906830A1 (de) | Verfahren und Anordnung zum Abspeichern von mindestens einem Bild durch einen Rechner | |
DE19957685A1 (de) | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |