DE69632391T2 - Verfahren und gerät zur fehlerkontrolle bei der videokompression - Google Patents

Verfahren und gerät zur fehlerkontrolle bei der videokompression Download PDF

Info

Publication number
DE69632391T2
DE69632391T2 DE69632391T DE69632391T DE69632391T2 DE 69632391 T2 DE69632391 T2 DE 69632391T2 DE 69632391 T DE69632391 T DE 69632391T DE 69632391 T DE69632391 T DE 69632391T DE 69632391 T2 DE69632391 T2 DE 69632391T2
Authority
DE
Germany
Prior art keywords
error
frame
packet
macroblock
control information
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
Application number
DE69632391T
Other languages
English (en)
Other versions
DE69632391D1 (de
Inventor
N. Stephen LEVINE
C. James BRAILEAN
R. Mark BANHAM
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE69632391D1 publication Critical patent/DE69632391D1/de
Publication of DE69632391T2 publication Critical patent/DE69632391T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf eine Video-Kompressionsübertragung und im Besonderen auf eine Fehlerüberwachung für eine stabile Übertragung von komprimierten Videosequenzen über fehleranfällige Kanäle.
  • Hintergrund der Erfindung
  • Die Übertragung von komprimierten Video-Bitströmen über fehleranfällige Kanäle ist ein schwieriges Problem, weil das normale Kompressionsverfahren, z. B. die H.261- und MPEG1 Videokompressionsformate, den übertragenen Bitstrom für Bitfehler empfindlicher machen als die Videosequenz vor der Kompression. Zum Beispiel resultiert das normale Verwenden von Entropiecodierung in einem Videokompressionsalgorithmus in variable Längen-Code(VLC)-Sequenzen, in denen der Bitstrom eine Selbstsynchronisierung für die codierten Wortgrenzen enthält. Ein einzelner Bitfehler in einem codierten Bitstrom mit variabler Länge verursacht typischerweise den Verlust der Synchronisation der codierten Wortgrenze und somit den Verlust von Information an den Decodierer.
  • Aktuelle Videokompressionsformate, wie z. B. H.261 und MPEG1, stellen einen sehr begrenzten Fehlerschutz zur Verfügung. Die typische Lösung für eine Neusynchronisation verlorener VLCs besteht darin, einen Rahmen in Scheiben (MPEG1) oder Gruppen von Blöcken (GOB – H.261/H.263) aufzubrechen. In beiden dieser Fälle werden Neusynchronisationswörter, die durch Autokorrelation detektiert werden, an den Anfang von Makroblocksequenzen variabler Länge angeordnet, die an einem beliebigen Punkt in dem Bitstrom auftreten können. Somit werden sehr lange Neusynchronisationswörter benötigt, die von den VLC-Tabellen nicht erzeugt werden können. Vom Standpunkt einer Kompression aus sind diese Neusynchronisationswörter daher ineffizient. Zusätzlich haben sie sehr schlechte Autokorrelationseigenschaften und zeigen daher eine schlechte Leistung unter fehleranfälligen Kanalbedingungen. Andere Verfahren der Fehlerüberwachung in diesen Formaten umfassen das Verwenden des (511, 492) BCH-Codes für H.261. Dieser Pegel von Fehlerschutz reicht für die niedrigen Zufallsbitfehlerraten (BER), die man auf normalen Telefonleitungen oder ISDN-Kanälen findet, aus, kann aber keine ausreichende Fehlerüberwachung über RF-Kanalbedingungen zur Verfügung stellen, die hohe Zufalls-BER-Bedingungen und zusätzlich Fehlerbursts von 20 ms oder länger haben. Solche Bedingungen herrschen in Systemen, wie z. B. zellularen Telefonnetzwerken, vor, wodurch der Bedarf an stabilen Videobitströmen für die Übertragung von Videoinformationen in solchen Umgebungen geweckt wird.
  • Die Erfindung wird durch Anspruch 1 definiert.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine schematische Darstellung der Bitstromsyntax, die für eine Fehlerüberwachung gemäß der vorliegenden Erfindung benötigt wird.
  • 2 ist ein Flussdiagramm einer bevorzugten Ausführungsform von Schritten eines Verfahrens gemäß der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Vorrichtung gemäß der vorliegenden Erfindung.
  • Beschreibung einer bevorzugten Ausführungsform
  • Die vorliegende Erfindung stellt ein zuverlässiges Fehlerüberwachungsverfahren für die Übertragung von komprimierten Videobitströmen über einen fehleranfälligen Kanal zur Verfügung. Das Verfahren ist geeignet, eine Fehlerüberwachung für Videokompressionsschemata zur Verfügung zu stellen, die eine bewegungskompensierte Vorhersage, einen makroblockbasierten Ansatz verwendet und die durch die folgenden Fähigkeiten gekennzeichnet ist:
    • 1. Bereitstellen sowohl eines Zufalls- als auch eines Burstfehlerschutzes.
    • 2. Bereitstellen eines Rahmenverlustschutzes.
    • 3. Begrenzen des Verlustes von VLC-Synchronisation, was erfordert, dass die Fehlerausbreitung über einen Kanalfehlerburst hinaus eingeschränkt wird.
    • 4. Bereitstellen einer Videofehlerdetektion, um so zu ermöglichen, dass Fehlerverbergungsverfahren angewendet werden können.
    • 5. Erreichen der oben genannten Ziele auf sehr effiziente Weise, um so den benötigten Fehlerüberwachungsaufwand zu verringern.
  • Dieses Verfahren stellt ein synchrones (feste Länge) Format zum Übertragen von Paketen von Videodaten zur Verfügung. Dies reduziert die Paketsynchronisationsanforderung auf ein Rahmensynchronisationsproblem. Somit können Paketgrenzen und verknüpfte Steuerinformationen relativ zu Rahmensynchronisationswörtern angeordnet werden, und ein Paket benötigt kein zusätzliches Synchronisationsoverhead. In der vorliegenden Erfindung wird das Verwenden eingebetteter Synchronisationswörter zum Bereitstellen einer VLC-Synchronisation vermieden. Dies ist der Fall, weil ziemlich lange Synchronisationswörter nötig wären, um die Wahrscheinlichkeit einer falschen Detektion von Synchronisationswörtern zu verringern. Solche Wörter würden einen Mindestabstand zu allen mittleren bis langen VLC-Codewörtern benötigen und müssten außerdem bestimmte Autokorrelationskriterien erfüllen. Die GOB- und Scheibensynchronisationswörter der H.261- und MPEG1-Formate erfüllen diese Kriterien nicht und sind zudem sehr ineffizient.
  • In 1, Ziffer 100, wird eine schematische Darstellung einer fehlerstabilen Bitstromsyntax gemäß der vorliegenden Erfindung gezeigt. In (102) werden mehr als zwei N-Bitpakete von Videoinformationen aus einem Rahmen des Videos gezeigt. Bild(Rahmen)-Headerinformationen, die Informationen umfassen, die zum Decodieren des Rahmens und zusätzlich eines Rahmensynchronisationswortes, oder Bildstartcodes, benötigt werden, werden zweimal pro Rahmen, getrennt durch N Bits, übertragen, wobei N eine vorbestimmte ganze Zahl ist, um einen Rahmenverlustschutz zur Verfügung zu stellen. Wenn ein erster Bildheader verloren geht, dann stellt der zweite Header die kritischen Rahmeninformationen zur Verfügung. Die zwei Bildheader werden durch eine Einzelbit-ID am Ende des Bildstartcodes abgegrenzt. Die Anzahl Bits in einem Paket, N, wird entsprechend einem erwünschten Kompromiss zwischen Fehlerüberwachungsaufwand und Fehlerdetektionseigenschaften bestimmt. Zwei repräsentative Werte für N bei den Zielvideoübertragungsraten von 24 Kilobits/sec und 48 Kilobits/sec sind jeweils N = 512 und N = 768.
  • Am Anfang eines jeden Paketes befindet sich die Paketsteuerinformation, die aus vier Steuerwörtern besteht: absolute Zählung (AC), relative Adresse (AD), absoluter Quantisierungsparameter (QP) und absoluter Bewegungsvektor (MV). Die Position dieser Information ist relativ zum Bildheader fest. Nachdem die Rahmensynchronisierung erreicht ist, ist daher die Position aller Paketsteuerinformationen in dem Rahmen bekannt.
  • Die Verwendung eines Paketes mit fester Länge für Videomakroblöcke mit variabler Länge resultiert in einer variablen Anzahl von Videomakroblöcken in einem Paket. Als ein Ergebnis kann der letzte Makroblock eines Paketes in das nächste Paket überfließen. Die relative Adresse (AD) in Bytes von dem Ende des Steuerwortes am Ende des aktuellen Paketes bis zum Start des ersten vollständigen Makroblocks wird in der Paketsteuerinformation zur Verfügung gestellt. Da die relative Adresse bis auf die Byteauflösung gerundet wird, bleiben in einem Paket durchschnittlich 4 Bits als Byterundung übrig. Diese Bits werden in einem Fehlererkennungscodewort mit variabler Länge, CRC, verwendet, das in der Mitte eines Bitpaketes in (104) zu sehen ist. weitere Informationen bezüglich der Verwendung dieses Codewortes werden später zur Verfügung gestellt.
  • Um das Ausbreiten eines VLC-Synchronisationsverlustes zu stoppen, müssen alle Informationen, die benötigt werden, um den Decodierer neu zu synchronisieren, am Start eines jeden Paketes zur Verfügung gestellt werden. Somit müssen alle Informationen, die differentiell codiert sind, mit einem absoluten Wert codiert sein und an Paketgrenzen zur Verfügung gestellt werden. Dieses Verfahren stellt Steuerinformationen für Makroblöcke zur Verfügung, mit denen eine bestimmte Quantisierung verknüpft ist, z. B. die Quantisierung von diskreten Kosinusumwandlungs(DCT)-Koeffizienten in einer Umwandlung des Makroblockes. Der absolute Wert des differentiell codierten Quantisierungsparameters für den letzten Makroblock in einem vorherigen Paket wird als QP codiert. Wenn das vorherige Paket verloren geht, ist der Quantisierungswert für den ersten MB des aktuellen Paketes gleich QP plus dem differentiellen Quantisierungsparameter für diesen ersten MB. Die Zuordnung des QP auf diese Weise stellt zudem einen effizienten Mechanismus zum Zulassen des Auftretens einer umgekehrten Decodierung zur Verfügung, wie unten erklärt. Zusätzlich wird der absolute (nicht vorausgesehene bzw. vorausberechnete) Wert der Bewegungsvektoren an den Paketgrenzen (MV) codiert. Die differentiellen MVs werden ebenso auf normale Art und Weise in den Makroblockdaten codiert, sodass das unten beschriebene Rückwärtslesen von Daten bewerkstelligt werden kann. Schließlich wird die Zählung des ersten Makroblocks (AC), die bei der relativen Adressen(AD)-Position des Paketes beginnt, zur Verfügung gestellt. Dies erlaubt die geeignete Verschiebung der wiedergewonnenen Makroblöcke in dem decodierten Rahmen.
  • Der untere Bitstrom in 1, (104), zeigt die Bitstromsyntax eines einzelnen Paketes. In dieser Abbildung wird eine repräsentative Gruppe von Makroblöcken zu Demonstrationszwecken gezeigt. Diese Makroblöcke sind von 1 bis 7 durchnummeriert. Wie auf der rechten Seite gezeigt, ist der Makroblock 7 (MB7) zwischen dem Ende des aktuellen Paketes und dem Beginn des nächsten aufgeteilt. Ein anderer Aspekt der Syntax ist, dass die Makroblöcke in einem Paket in zwei Teile geteilt und für die vordere Hälfte des Paketes in Vorwärtsrichtung und in der zweiten Hälfte des Paketes rückwärts bitcodiert werden (jeder Makroblock hat umgekehrte Bits). Dies begrenzt den Verlust der VLC-Synchronisationsperiode durch das Bereitstellen zweier Zustände in einem Paket, in dem ein Decodieren initiiert werden kann, weiter. Dies bedeutet, dass die obige Syntax, anstatt die Paketsteuerinformation zum Neuinitiieren des De codierers nach verlorener VLC-Synchronisation nur einmal pro Paket in Vorwärtsrichtung zu verwenden, jeden Paketsteuerpunkt durch Initiieren einer Decodierung sowohl in Vorwärts- als auch in umgekehrter Richtung von der Paketsteuerinformation zweimal verwendet (durch zweimaliges Zurückstellen des Decodierprozesses pro Paketsteuerwort). Wenn ein Kanalfehler einen Verlust der VLC-Synchronisation verursacht, z. B. in dem MB3, dann werden der MB1 und MB2 zurückgewonnen und der Rest des Rahmens geht vorübergehend verloren. Nach dem Neuinitiieren des Decodierers am Ende des Paketes, können die MB5–MB7 von dem bekannten Zustand bei der Paketgrenze durch Decodieren in umgekehrter Bitstromfolge wiedergewonnen werden. Wenn nur konventionelles Vorwärtscodieren jedes Makroblocks verwendet werden würde, dann würden die MB3–MB7 alle verloren gehen.
  • Ein Verlust der VLC-Synchronisation kann durch die Detektion eines ungenauen decodierten Wortes variabler Länge (VLD) bei dem Decodierer oder durch die Detektion eines außerhalb des Bereiches liegenden Parameters zuverlässig bestimmt werden. Die Detektion von außerhalb des Bereiches liegenden Paketsteuerinformationen wird ebenfalls verwendet. Zusätzlich wird am Ende der Makroblockcodierung, bei der Mitte des Paketes, überprüft, ob sowohl die vorwärts- als auch die rückwärtscodierten Ströme richtig zusammentreffen. Um die Paketfehlerdetektion weiter zu verbessern, wird ein zyklisches Redundanzprüfungs-(CRC)-Codewort bei der Mitte des Paketes angeordnet. Das CRC-Wort verwendet die restlichen Bits nach dem Runden der Startadresse des ersten Makroblocks auf eine Byteauflösung und es ist in der Länge variabel. Der Hamming(511, 502)-BCH-Code wird für die Fehlerdetektion verwendet. Das CRC-Wort (b0–b8) wird auf der nach dem Runden auf den nächsten Byte der Position des durch den Adressenwert AD bezeichneten ersten Makroblocks zur Verfügung stehenden Bits in dem N-Bitpaket abgekürzt.
  • Die Konvention zum Auswählen des Mittelpunktes für den Vorwärts-/Rückwärts-Codierungsansatz basiert auf der absoluten Zählung des ersten Makroblocks in dem N-Bitpaket (MB_A) und der absoluten Zählung des letzten Makroblocks in dem Paket (MB_B). In diesem Ansatz ist die Zahl des mittleren Makroblocks (MB_MID) (der der letzte Makroblock in dem in der Vorwärtsrichtung codierten Paketes ist) gegeben durch:
    Figure 00090001
    wobei die Division als ganzzahlig angenommen wird. Ein Beispiel für auf 1, Ziffer 100, basierende Informationsparametersteuerwerte ist:
    AC-erstes Paket = 1
    AC-zweites Paket = 8
    MB_MID = 1 + (7 – 1)/2 = 4
    AD = 5 Bytes
  • Für eine MB7-Überführung in das nächste Paket von 36 Bits sind dann die für das CRC-Wort zusätzlich zur Verfügung stehenden Bits 5 × 8 – 36 = 4 Bits.
  • Das Overhead der obigen Fehlerüberwachung ist 24 + CEIL(log(N/8)) Bits für die Paketsteuerinformation und durchschnittlich 4 Bits für das CRC pro N-Bitpaket. Die Funktion CEIL(log(N/8)) ist die Anzahl Bits, die benötigt wird, um eine relative Adresse in Bytes darzustellen, die ein Maximum von N Bits hat und auf die nächste ganze Zahl gerundet ist. Diese Abbildung ist z. B. für N = 512 6, was zu einem Overhead von 30 Bits für Fehlerüberwachungswörter führt. Ein repräsentatives Beispiel von 38 Bits wird typischerweise für den zweiten Bildstartcode und die Headerinformation (initiale Quantisierungsparameter, zeitliche Referenz, und Bildtypinformation) verwendet, die mit dem Bildheader 2 bei dem Bit 2N gesendet wird. Bei 24 Kilobits/sec, und N = 512, für eine Rahmenrate von 11 Rahmen/Sekunde (fps), was für eine angemessene Bewegungssequenz bei diesem Bitstrom typisch ist, sind das ungefähr 1914 Bits/sec, oder ein 7,9%-Overhead. Zum Vergleich verwendet das H.263-Format eine GOB-Struktur mit variabler Länge mit einem 17 Bit-Blockgruppenstartcode plus 14 Bits von einem anderen Overhead für Makroblockadressierung und Quantisierung. Das H.263-GOB-Schichtoverhead bei 11 fps ist 3069 Bits/sec. oder 12,8%. Dies ist das 1,6 fache des Overheads der vorliegenden Erfindung und umfasst keinerlei CRC-Schutz. Außerdem bietet die durch H.263 bereitgestellte Steuerinformation nicht dieselben potentiellen Neusynchronisationsfähigkeiten, die durch die vorliegende Erfindung zur Verfügung gestellt werden, die Rückwärtsdecodieren und zwei Bildheader pro Rahmen umfasst.
  • 2, Ziffer 200, ist ein Flussdiagramm von einer bevorzugten Ausführungsform eines Verfahrens gemäß der vor liegenden Erfindung. Diese Abbildung zeigt eine chronologische Anordnung von Steuerwörtern in dem komprimierten Bitstrom. Jedes dieser Steuerwörter ist entweder in dem Ausgangsbitstrom gemäß dem Diagramm angeordnet oder wird wie gezeigt umgangen. Die Anordnung dieser Steuerwörter wird durch ein oben genauer beschriebenes Multiplexschema gesteuert. Die Komponenten dieses Fehlerüberwachungsverfahrens umfassen Techniken oder Steuerwörter in dem Codierer, der folgendes umfasst: eine Bitumkehrung, die auf Bits aus den Makroblöcken in der zweiten Hälfte eines Bitpaketes gemäß dem ersten Verfahren (202) angewendet wird; ein Bildheader, die einen ersten Bildstartcode oder einen zweiten Bildstartcode und geeignete Rahmen Headerinformationen (204) umfasst; eine absolute Zählung des ersten Makroblocks des nächsten Bitpaketes in dem komprimierten Bitstrom (206); eine relative Adresse in Bytes von dem Ende der Steuerwörter am Ende des aktuellen Paketes bis zum Start des nächsten vollständigen Makroblocks in dem Bitstrom (208); einen absoluten Quantisierungsparameterwert des letzten Makroblocks in dem momentanen Bitpaket (210); einen absoluten Bewegungsvektorwert des letzten Makrobocks in dem momentanen Paket (212); und ein Fehlerüberwachungsprüfwort, wie z. B. ein CRC-Codewort, zum Detektieren von Fehlern in dem momentanen Paket (214). In dem Decodierer wird ein Demultiplexverfahren gemeinsam mit dem Decodieren des komprimierten Bitstroms angewendet, die sowohl in der Vorwärts- als auch in der Rückwärtsrichtung codiert worden ist, wie oben ausführlicher beschrieben, gefolgt von einem Fehlerdetektionsverfahren (216). Das Ergebnis der Fehlerüberwachungsinformation, die dem Decodierer zur Verfügung gestellt wird, ist die Detektion von Fehlern, die gemäß (218) kategorisiert werden können: Verlust von Entropie-Codier-Synchronisation; fehlerhaftes AC-Codewort; CRC-Fehler; ungültige Codierparameter; und VLD-Fehler. Diese Fehlerflags können an ein geeignetes Fehlerverbergungsschema weitergegeben werden, um die Wiederherstellung der Videodaten vor der Anzeige in dem Decodierer zuzulassen.
  • 3, Ziffer 300, ist ein Blockdiagramm einer bevorzugten Ausführungsform einer Vorrichtung gemäß der vorliegenden Erfindung. In dem Codierer wird die durch diese Vorrichtung verwendete Fehlerüberwachungsinformation durch eine Bitpaketsteuerung (330) berechnet, die mit dem komprimierten Bitstrom, einem blockbasierten Bitumkehrer (316) und einem Multiplexer (314) gekoppelt ist. Die Fehlerüberwachungsinformation wird dem Multiplexer (314) durch Eingänge von der Bitpaketsteuerung zur Verfügung gestellt, die die folgenden Steuerwörter erzeugt: der Bildheader (302); die absolute Zählung, AC, des nächsten Makroblocks in dem Bitstrom (304); die relative Adresse, AD, des nächsten Makroblocks in dem Bitstrom in den Bytes (306); der absolute Quantisierungsparameterwert, QP, des letzten Makroblocks in einem momentanen Paket der Bits (308); der absolute Bewegungsvektor, MV, der mit dem letzten Makroblock in dem momentanen Paket der Bits (310) verknüpft ist; und ein Prüfwort, CRC, das Fehlerdetektionsfähigkeiten für das momentane Paket der Bits (312) zur Verfügung stellt. Der Multiplexer (314) ist mit dem Eingang aus dem komprimierten Bitstrom, der Bitpaketsteuerung (330) und dem Ausgang einer blockbasierten Bitumkehreinheit (316) gekoppelt, die ebenso mit dem komprimierten Bitstrom und der Bitpaketsteuerung zum Umkehren der Reihenfolge der Makroblöcke gekoppelt ist, welche als rückwärts codierte Makroblöcke bezeichnet sind. In dem Decodierer entfernt ein Demultiplexer (318) die geeigneten Bits und überführt sie zu einer anderen blockbasierten Bitumkehreinheit (322), geleitet durch eine Steuereinheit (332), und nachfolgend zu einer Decodiereinheit (324), oder direkt zu einer Decodiereinheit (320). Die Fehlerdetektion wird durch einen Fehlerdetektor (326) durchgeführt, der mit dem Eingang aus dem Demultiplexer (318) und sowohl den Vorwärts- als auch Rückwärtsblockdecodierern (320) und (324) gekoppelt ist. Der Fehlerdetektor (326) verwendet die Steuerinformation und die decodierten Bitströme, um das Vorliegen spezifischer Fehler zu signalisieren. Diese Fehler werden nachfolgend durch eine Fehlermeldeeinheit (328) gemeldet und umfassen: Verlust der Entropiecodierungssynchronisation, Fehler in der AC aufgrund einer abnehmenden Zählung, CRC-Fehler, jeden beliebigen anderen gültigen detektierten Codierungsparameter und verschiedene VLD-Fehler. Diese Informationen können nachfolgend an andere Vorrichtungen zum Zwecke der Fehlerverbergung weitergegeben werden.
  • Das Verfahren und die Vorrichtung können ausgewählt werden, um in mindestens einer der folgenden Vorrichtungen enthalten zu sein: A) einer anwendungsspezifischen integrierten Schaltung; B) einer feldprogrammierbaren Gittermatrix; und C) einem Mikroprozessor; und D) einem computerlesbaren Speicher; angeordnet und konfiguriert, um das erste modifizierte empfangene Signal zu bestimmen, das eine auf ein Minimum gebrachte Verzerrung und Interferenz gemäß dem oben ausführlicher beschriebenen Schema hat.
  • Obwohl oben beispielhafte Ausführungsformen beschrieben werden, ist dem Fachmann auf dem Gebiet klar, dass viele Veränderungen und Modifikationen vorgenommen werden können, ohne von der Erfindung abzuweichen. Entsprechend sollen alle solche Veränderungen und Modifikationen im Umfang der Erfindung, wie in den angefügten Ansprüchen definiert, enthalten sein.

Claims (5)

  1. Verfahren zur Fehlerüberwachung eines makroblockbasierten Videocodecs (Videocodierer/-decodierer), bei dem Makroblöcke durch Verwenden von Entropiecodieren codiert werden, folgendes umfassend: A) Verwenden, in einem Decodierer, von Steuerinformation (102) und einer Vielzahl von Bildheadern an festen Positionen relativ zu einem Beginn eines Rahmens, wobei die Steuerinformation Decodierinformationen zum Decodieren von mindestens einer Vorwärtssequenz von Makroblöcken (MB) zur Verfügung stellt; B) Detektieren von Fehlern in dem Rahmen (216, 218) und Begrenzen der Ausbreitung von Fehlern in dem Rahmen durch Verwenden der Steuerinformation und der Vielzahl von Bildheadern, wobei die Steuerinformation eine Grenze von individuellen Paketen definiert und folgendes umfasst: C) eine absolute Zählung (AC) eines nächsten/vorherigen Makroblocks (MB) in dem Rahmen; und D) absolute Werte (QP, MV) für vorbestimmte differentiell codierte Informationen.
  2. Verfahren gemäß Anspruch 1, bei dem die vorbestimmten differentiell codierten Informationen mindestens eine der folgenden umfassen: A) einen Quantisierungsparameter (QP) eines unmittelbar vorherigen Makroblocks; und B) einen Bewegungsvektorwert (MV) des unmittelbar vorherigen Makroblocks.
  3. Verfahren gemäß Anspruch 1, bei dem das Detektieren eines Fehlers in dem Rahmen das Detektieren eines Fehlers in dem Paket (216) umfasst, bei dem mindestens einer der folgenden Schritte vorgesehen ist: A) Detektieren des Verlustes von Entropiecodierungssynchronisation; B) Bestimmen, ob die absolute Zählung abnimmt; C) Detektieren eines falschen Fehlerdetektionscodes; und D) Bestimmen, ob ungültige Codierparameter vorhanden sind.
  4. Verfahren gemäß Anspruch 1, bei dem mindestens einer der Bildheader verwendet wird, um einen Start des Rahmens zu bestimmen.
  5. Verfahren gemäß Anspruch 1, bei dem das Verfahren ein Prozess ist, dessen Schritte in mindestens einer der folgenden Vorrichtungen ausgeführt werden: A) einer anwendungsspezifischen integrierten Schaltung; B) einer feldprogrammierbaren Gittermatrix; C) einem Mikroprozessor; und D) einem computerlesbaren Speicher; angeordnet und konfiguriert, um das erste modifizierte empfangene Signal zu bestimmen, das eine auf ein Minimum gebrachte Verzerrung und Interferenz gemäß dem Schema von Anspruch 1 hat.
DE69632391T 1995-10-26 1996-08-27 Verfahren und gerät zur fehlerkontrolle bei der videokompression Expired - Lifetime DE69632391T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US548385 1995-10-26
US08/548,385 US5778191A (en) 1995-10-26 1995-10-26 Method and device for error control of a macroblock-based video compression technique
PCT/US1996/014144 WO1997015888A1 (en) 1995-10-26 1996-08-27 Method and device for error control in video compression

Publications (2)

Publication Number Publication Date
DE69632391D1 DE69632391D1 (de) 2004-06-09
DE69632391T2 true DE69632391T2 (de) 2005-05-04

Family

ID=24188634

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69632391T Expired - Lifetime DE69632391T2 (de) 1995-10-26 1996-08-27 Verfahren und gerät zur fehlerkontrolle bei der videokompression

Country Status (12)

Country Link
US (1) US5778191A (de)
EP (1) EP0800678B1 (de)
KR (1) KR100257988B1 (de)
CN (1) CN1167534A (de)
BR (1) BR9607244A (de)
CA (1) CA2208521A1 (de)
DE (1) DE69632391T2 (de)
FI (1) FI972749A (de)
MX (1) MX9704783A (de)
SE (1) SE9702421L (de)
TW (1) TW388170B (de)
WO (1) WO1997015888A1 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324668A (en) * 1997-04-21 1998-10-28 Racal Communications Syst Ltd Error resilient video processing technique
US6026506A (en) * 1997-09-26 2000-02-15 International Business Machines Corporation Concealing errors in transport stream data
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
US6498809B1 (en) * 1998-01-20 2002-12-24 Motorola, Inc. Video bitstream error resilient transcoder, method, video-phone, video-communicator and device
US6418549B1 (en) 1998-10-30 2002-07-09 Merunetworks, Inc. Data transmission using arithmetic coding based continuous error detection
US6356661B1 (en) * 1999-01-07 2002-03-12 M4 Labs, Inc Method and device for robust decoding of header information in macroblock-based compressed video data
US20040028130A1 (en) * 1999-05-24 2004-02-12 May Anthony Richard Video encoder
JP3403683B2 (ja) * 1999-11-26 2003-05-06 沖電気工業株式会社 画像符号化装置および方法
US8284845B1 (en) 2000-01-24 2012-10-09 Ati Technologies Ulc Method and system for handling data
US6763390B1 (en) 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6999424B1 (en) 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US6988238B1 (en) * 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US7366961B1 (en) 2000-01-24 2008-04-29 Ati Technologies, Inc. Method and system for handling errors
US6778533B1 (en) 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US6804266B1 (en) 2000-01-24 2004-10-12 Ati Technologies, Inc. Method and apparatus for handling private data from transport stream packets
US6785336B1 (en) 2000-01-24 2004-08-31 Ati Technologies, Inc. Method and system for retrieving adaptation field data associated with a transport packet
US6631410B1 (en) 2000-03-16 2003-10-07 Sharp Laboratories Of America, Inc. Multimedia wired/wireless content synchronization system and method
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US6674805B1 (en) 2000-05-02 2004-01-06 Ati Technologies, Inc. System for controlling a clock signal for synchronizing a counter to a received value and method thereof
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US7095945B1 (en) 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
US7133455B2 (en) * 2000-12-29 2006-11-07 Intel Corporation Providing error resilience and concealment for video data
AT410874B (de) * 2001-02-22 2003-08-25 Peter Ing Gutwillinger Verfahren zur datenübertragung
WO2002071736A2 (en) * 2001-03-05 2002-09-12 Intervideo, Inc. Systems and methods of error resilience in a video decoder
JP3775265B2 (ja) * 2001-08-16 2006-05-17 ソニー株式会社 信号処理装置および方法、記録再生装置および方法、ならびに、再生装置および方法
US6910175B2 (en) * 2001-09-14 2005-06-21 Koninklijke Philips Electronics N.V. Encoder redundancy selection system and method
US7596277B2 (en) * 2002-04-09 2009-09-29 Senthil Govindaswamy Apparatus and method for detecting error in a digital image
US7809021B2 (en) * 2002-07-10 2010-10-05 Solarflare Communications, Inc. Communication system and encoding method having low overhead
US7116840B2 (en) * 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
US7020207B1 (en) * 2002-12-02 2006-03-28 Hitachi, Ltd. Video error concealment mechanism for block based video decompression
JP4227425B2 (ja) * 2003-01-23 2009-02-18 キヤノン株式会社 情報処理方法及び装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
EP1779648A1 (de) * 2004-07-29 2007-05-02 Océ-Technologies B.V. Verlustlose komprimierung von farbbilddaten unter verwendung von entropiecodierung
EP1638337A1 (de) 2004-09-16 2006-03-22 STMicroelectronics S.r.l. Methode, System und Computerprogramm-Produkt für die mehrfachbeschreibende Codierung
US7397871B2 (en) * 2004-10-01 2008-07-08 L-3 Communications Titan Corporation Estimation of single-to-noise ratio by processing measured error vector magnitude
JP2008529346A (ja) * 2005-01-24 2008-07-31 トムソン ライセンシング Crcパリティコードを利用したビデオエラー検出技術
FR2929787B1 (fr) * 2008-04-04 2010-12-17 Canon Kk Procede et dispositif de traitement d'un flux de donnees
CN104386244B (zh) 2008-06-20 2017-05-24 航空伙伴股份有限公司 具有最优负载的机翼末梢
US9302766B2 (en) * 2008-06-20 2016-04-05 Aviation Partners, Inc. Split blended winglet
US8270389B2 (en) * 2008-08-11 2012-09-18 Marvell International Ltd. Method of synchronization for low power idle
US8363729B1 (en) * 2008-11-06 2013-01-29 Marvell International Ltd. Visual data compression algorithm with parallel processing capability
US8461848B2 (en) 2008-12-10 2013-06-11 Marvell International Ltd. Cable diagnostics for Base-T systems
BR112013012721A2 (pt) 2010-12-14 2016-09-06 Ericsson Telefon Ab L M codificação e decodificação de tile
CA3060797C (en) * 2011-06-09 2021-12-07 Aviation Partners, Inc. The split blended winglet
US8936219B2 (en) 2012-03-30 2015-01-20 The Boeing Company Performance-enhancing winglet system and method
US9568985B2 (en) 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method
EP3269635A1 (de) * 2016-07-12 2018-01-17 The Aircraft Performance Company UG Flugzeugflügel
EP3511243B1 (de) * 2018-01-15 2021-12-29 The Aircraft Performance Company GmbH Flugzeugflügel

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991005439A1 (en) * 1989-09-29 1991-04-18 Alcatel N.V. Adaptive transform coding system
DE69126565T2 (de) * 1990-04-17 1998-01-02 Matsushita Electric Ind Co Ltd Verfahren zur Übertragung von Kodes mit variabler Länge
JP2630085B2 (ja) * 1991-02-26 1997-07-16 松下電器産業株式会社 記録装置と再生装置
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
JP3360844B2 (ja) * 1992-02-04 2003-01-07 ソニー株式会社 ディジタル画像信号の伝送装置およびフレーム化方法
FR2696026B1 (fr) * 1992-09-18 1994-12-30 Sgs Thomson Microelectronics Procédé de masquage d'erreurs de transmission d'image compressée en MPEG.
JPH0787482A (ja) * 1993-09-17 1995-03-31 Fujitsu Ltd 画像データの符号化方法及び復元方法並びに装置
US5532940A (en) * 1993-11-24 1996-07-02 Intel Corporation Process, apparatus and system for selecting quantization levels for encoding video signals
US5493514A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus, and system for encoding and decoding video signals
US5493513A (en) * 1993-11-24 1996-02-20 Intel Corporation Process, apparatus and system for encoding video signals using motion estimation
US5457495A (en) * 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
KR100704373B1 (ko) * 2005-09-20 2007-04-06 삼성전기주식회사 진동형 틸팅장치

Also Published As

Publication number Publication date
US5778191A (en) 1998-07-07
EP0800678A4 (de) 1999-10-06
FI972749A0 (fi) 1997-06-25
EP0800678B1 (de) 2004-05-06
TW388170B (en) 2000-04-21
WO1997015888A1 (en) 1997-05-01
FI972749A (fi) 1997-06-25
CN1167534A (zh) 1997-12-10
SE9702421D0 (sv) 1997-06-25
BR9607244A (pt) 1997-12-30
CA2208521A1 (en) 1997-05-01
SE9702421L (sv) 1997-08-26
EP0800678A1 (de) 1997-10-15
DE69632391D1 (de) 2004-06-09
MX9704783A (es) 1997-10-31
KR100257988B1 (ko) 2000-06-01

Similar Documents

Publication Publication Date Title
DE69632391T2 (de) Verfahren und gerät zur fehlerkontrolle bei der videokompression
DE69726670T2 (de) Bildkoder, Bilddekoder und Bildübertragungssystem
DE69233530T2 (de) Kodierer und Dekodierer
DE69535569T2 (de) Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung
DE60020243T2 (de) Videokodierung
DE69625945T2 (de) Hierarchischer Bildkodierer und -dekodierer
DE4325032B4 (de) Anordnung zur Aufteilung digitaler Fernsehdaten
DE69333741T2 (de) Kodierung von kontinuierlichen Bilddaten
DE19635116C2 (de) Verfahren zur Videokommunikation
DE69633838T2 (de) Kodierung und Dekodierung von Bewegtbildern
DE69932543T2 (de) Verlustfreies Kodierungs- und Dekodierungssystem
EP0752789B1 (de) Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Videodatenstrom
DE69535710T2 (de) Dekodierer variabler Länge für bitgestopfte Daten
DE19801143C2 (de) Verfahren für die Dekodierung von Videodaten
DE2946982C2 (de) Verfahren zum Übertragen eines Faksimile-Signals
DE19952683A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Video-Daten
DE60221807T2 (de) Lauflängenkodierung nichtkodierter makroblöcke
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69834681T2 (de) Verfahren und Vorrichtung zur Dekodierung komprimierter Bewegtbilddaten
EP0430027A2 (de) Verfahren zur Decodierung von codierten Bilddaten
WO1995024770A1 (de) Verfahren zum übertragen von bildern
DE10037525B4 (de) Verfahren zum Codieren und Decodieren eines Bildsignals
EP0834233B1 (de) Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung
EP0802635B1 (de) Verfahren zur Übertragung von codierten Daten
EP0836785B1 (de) Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MOTOROLA MOBILITY, INC. ( N.D. GES. D. STAATES, US