DE10296360T5 - Video-Bitstrom-Reiniger - Google Patents

Video-Bitstrom-Reiniger Download PDF

Info

Publication number
DE10296360T5
DE10296360T5 DE10296360T DE10296360T DE10296360T5 DE 10296360 T5 DE10296360 T5 DE 10296360T5 DE 10296360 T DE10296360 T DE 10296360T DE 10296360 T DE10296360 T DE 10296360T DE 10296360 T5 DE10296360 T5 DE 10296360T5
Authority
DE
Germany
Prior art keywords
video
error
bit stream
network
destroyed
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.)
Withdrawn
Application number
DE10296360T
Other languages
English (en)
Inventor
Göran Roth
Harald Brusewitz
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE10296360T5 publication Critical patent/DE10296360T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Vorrichtung zum Korrigieren eines Video-Bitstroms, der durch Fehler zerstört worden ist, wobei die Vorrichtung folgendes aufweist:
einen Empfänger zum Empfangen eines zerstörten Video-Bitstroms, wobei der zerstörte Video-Bitstrom wenigstens einen Fehler darin hat; und
einen Video-Bitstrom-Reiniger in Kommunikation mit dem Empfänger zum Erzeugen eines syntaktisch richtigen Video-Bitstroms aus dem zerstörten Videostrom.

Description

  • HINTERGRUND DER ERFINDUNG Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft die Korrektur und Verbergung von Fehlern in einem Video-Bitstrom.
  • Hintergrund und Aufgaben der vorliegenden Erfindung
  • Aufgrund des Aufkommens von Mobilfunk-Netzwerken, IP-Netzwerken und anderen solchen Kommunikationsnetzwerken hat sich ein Wunsch nach der Übertragung von Videosequenzen über diese Netzwerke entwickelt. Unglücklicherweise besetzt die Übertragung von nicht komprimiertem Video ein untragbar großes Ausmaß an Bandbreite für die meisten Netzwerke, um zum Handeln fähig zu sein. Beispielsweise erfordert ein Video für hochauflösendes Fernsehen (HDTV = High Definition Television) in unkomprimierter digitaler Form etwa eine Bandbreite von 1 Gbps.
  • Als Ergebnis sind Schemen und Standards für die Kompression von Videosequenzen entwickelt worden, so dass sie über Bitströme übertragen werden können, die beschränkte Bandbreiten haben.
  • Videocodierschemen sind von verschiedenen Gruppen, einschließlich des Internationalen Telekommunikationsvereinigungs-Telekommunikationsstandardisierungssektors (ITU-T) erdacht worden, der die H-Serie von Standards erzeugt, und der Bewegtbild-Expertengruppe (MPEG = Moving Pictures Experts Group), die die MPEG-Serie von Standards erzeugt.
  • Beispielsweise wurde H.261 für Videokonferenz- und Videotelefon-Anwendungen über ISDN-Telefonleitungen etwa in den Jahren 1988–1990 entwickelt, die die Übertragung von Video über ISDN-Leitungen mit einer Datenrate von 63–384 kbps mit relativ niedriger Videoqualität zulassen. MPEG-1 wurde 1992 mit dem Ziel eines Erzeugens von Videos mit VHS-Qualität zur Speicherung auf einer CD-ROM genehmigt, einschließlich von Audios für ein Abspielen mit einer Rate von etwa 1,5 Mbps. MPEG-2, welches 1994 genehmigt wurde, wurde primär für Anwendungen hoher Qualität im Bereich von 4 Mbps bis 80 Mbps mit einer Qualität entwickelt, die von einer Verbraucherbandqualität zu einer Filmproduktionsqualität reicht. MPEG-2 unterstützt ein Codieren bei einer HDTV-Qualität bei etwa 60 Mbps und bildet die Basis für viele Kabel-TV- und Satellitenvideo-Übertragungen, sowie für eine Speicherung auf vielseitigen, digitalen Platten (DVD = Digital Versatile Disc). H.263 und MPEG-4 sind vor kurzem mit dem Ziel eines Bereitstellens von Video mit guter Qualität bei sehr niedrigen Bitraten entwickelt worden, obwohl es genauso gut auf höhere Bitraten angewendet werden kann.
  • Ein Nachteil bei der Verwendung von Videokompression besteht darin, dass Fehler im Bitstrom in einer stark verschlechterten Bildqualität und möglicherweise einer nicht decodierbaren Videosequenz resultieren können. Dieses Problem wird sogar noch größer, wenn komprimiertes Video über fehleranfällige Netzwerke und Übertragungspfade übertragen wird.
  • Aufgrund der Entwicklung von solchen Vorrichtungen, wie beispielsweise Funktelefonen mit Videoanzeigefähigkeiten und Vorrichtungen für ein Netzwerk-Videorundsenden, ist die Übertragung von Video über fehleranfällige Netzwerke, z.B. Mobilfunk-Netzwerke und Internetprotokoll-(IP-)Netzwerke mit Paketverlust, erwünscht. Jedoch sind viele Endanwender-Endgeräte nicht für solche Netzwerke entworfen oder gut geeignet. Somit gibt es eine Notwendigkeit für Vorrichtungen, die decodierbare Bitströme aus fehlerbehafteten, manchmal nicht decodierbaren, Bitströmen zur Verwendung durch solche Endanwender-Endgeräte erzeugen können.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist auf ein Verfahren, ein System und eine Vorrichtung zum Korrigieren eines zerstörten Video-Bitstroms unter Verwendung eines Video-Bitstrom-Reinigers gerichtet. Der Video-Bitstrom-Reiniger der vorliegenden Erfindung empfängt einen zerstörten Video-Bitstrom und erzeugt einen syntaktisch richtigen Video-Bitstrom als Ausgabe durch eine Korrektur und ein Verbergen der Fehler im Video-Bitstrom. Bei einem Ausführungsbeispiel der vorliegenden Erfindung kann der Video-Bitstrom-Reiniger in einem Netzwerk platziert sein, um einen zerstörten Video-Bitstrom von einem fehleranfälligen Netzwerk zu empfangen und um einen syntaktisch richtigen Video-Bitstroms zu einem fehlerfreien Netzwerk bereitzustellen. Bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung kann der Video-Bitstrom-Reiniger einen zerstörten Video-Bitstrom von einem fehleranfälligen Netzwerk empfangen und einen syntaktischen richtigen Video-Bitstrom zu einem Videodecodierer bereitstellen. Bei einem anderen Ausführungsbeispiel kann die vorliegende Erfindung als integrierter Video-Bitstrom-Reiniger und Videodecodierer zum Empfangen eines zerstörten Video-Bitstroms von einem fehleranfälligen Netzwerk und zum Bereitstellen eines decodierten Bildes verwendet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein vollständigeres Verstehen des Systems, des Verfahrens und der Vorrichtung der vorliegenden Erfindung kann unter Bezugnahme auf die folgende detaillierte Beschreibung erhalten werden, wenn sie in Zusammenhang mit den beigefügten Zeichnungen genommen wird, wobei:
  • 1 ein beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung darstellt;
  • 2 ein weiteres beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung darstellt;
  • 3 ein weiteres beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung darstellt;
  • 4 einen beispielhaften Decodierprozess der vorliegenden Erfindung darstellt;
  • 5A und 5B ein beispielhaftes Verfahren einer Innen-DC-Verbergung der vorliegenden Erfindung darstellen;
  • 6A und 6B ein beispielhaftes Verfahren einer Innen-AC-Verbergung der vorliegenden Erfindung darstellen; und
  • 7 eine beispielhafte syntaktische Struktur eines Videopakets gemäß einem MPEG-4-Standard darstellt.
  • DETAILLIERTE BESCHREIBUNG DER GEGENWÄRTIG BEVORZUGTEN BEISPIELHAFTEN AUSFÜHRUNGSBEISPIELE
  • Die vorliegende Erfindung wird nun hierin nachfolgend vollständiger unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden, in welchen bevorzugte Ausführungsbeispiele der Erfindung gezeigt sind. Diese Erfindung kann jedoch in vielen unterschiedlichen Formen verkörpert sein, und sollte nicht als auf die hierin aufgezeigten Ausführungsbeispiele beschränkt angesehen werden; vielmehr sind diese Ausführungsbeispiele so zur Verfügung gestellt, dass diese Offenbarung sorgfältig und vollständig sein wird und den Schutzumfang der Erfindung Fachleuten auf dem Gebiet vollständig übermitteln wird.
  • Die vorliegende Erfindung ist auf einen Video-Bitstrom-Reiniger gerichtet. Wie es zuvor beschrieben ist, ist eine Videoübertragung über fehleranfällige Netzwerke, wie beispielsweise Mobilfunk-Netzwerke und IP-Netzwerke mit Paketverlust, erwünscht. Viele Endanwender-Endgeräte sind jedoch nicht für solche Netzwerke entwickelt. Als Ergebnis gibt es eine Notwendigkeit für Netzwerkvorrichtungen, die decodierbare Bitströme aus fehlerhaften Bitströmen erzeugen können, die normalerweise von Anwender-Endgeräten nicht decodiert werden konnten. Beispielsweise verwenden viele Endanwender-Endgeräte überhaupt keine Fehlerabfederung, während einige nur einfache Programmierwerkzeuge bzw. Tools für eine Fehlerabfederung verwenden. Zusätzlich erfassen einige Internetprotokoll-(IP)-Netzwerke fehlerhafte Daten und werfen sie weg, so dass keine Fehlerabfederung durchgeführt werden kann. Als Ergebnis erzeugt das Endanwender-Endgerät, das das übertragene Video empfängt, ein Bild niedriger Qualität oder überhaupt kein Bild.
  • Die vorliegende Erfindung löst dieses Problem durch die Verwendung eines Video-Bitstrom-Reinigers, der im Netzwerk platziert ist, wie beispielsweise bei einem Medien-Gateway, und der den fehlerhaften, nicht wunschgemäßen Bitstrom in einen richtigen und decodierbaren Bitstrom umwandelt. Gegensätzlich zu einer einfachen Fehlerkorrektur implementiert die Erfindung eine Fehlerentspannung bzw. -abfederung im Netzwerk, die sonst im Anwenderendgerät implementiert werden müsste. Nichts desto weniger sollte es verstanden werden, dass die Erfindung auch auf der Seite des Endgeräts verwendet werden könnte. Somit lässt der Video-Bitstrom-Reiniger der vorliegenden Erfindung eine Videoübertragung über fehleranfällige Netzwerke zu, was einen nützlichen und wertvollen Dienst bietet.
  • Gemäß 1 ist ein beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung dargestellt. Bei diesem Beispiel ist der Video-Bitstrom-Reiniger 130 zwischen einem im Wesentlichen fehleranfälligen Netzwerk 110 und einem im Wesentlichen fehlerfreien Netzwerk 150 platziert. Ein zerstörter Bitstrom 120 wird von dem fehleranfälligen Netzwerk 110 durch den Video-Bitstrom-Reiniger 130 empfangen, der einen korrigierten Bitstrom 140 zum fehlerfreien Netzwerk 150 ausgibt. Der korrigierte Bitstrom 140 kann dann durch ein Endanwender-Endgerät zum Decodieren des Video-Bitstroms verwendet werden. Beispiele für fehlerbehaftete bzw. fehleranfällige Netzwerke, die einen zerstörten Bitstrom erzeugen könnten, enthalten ein drahtloses Netzwerk und ein IP-Netzwerk. Beispiele für relativ fehlerfreie Netzwerke enthalten ein lokales landgebundenes Netzwerk und ein Kabelnetzwerk.
  • Nimmt man nun Bezug auf 2, ist dort ein weiteres beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung dargestellt. Bei diesem Beispiel ist der Video-Bitstrom-Reiniger 230 zwischen einem fehleranfälligen Netzwerk 210 und einem Decodierer 250 platziert. Ein zerstörter Bitstrom 220 wird von dem fehleranfälligen Netzwerk 210 durch den Video-Bitstrom-Reiniger 230 empfangen, welcher einen korrigierten Bitstrom 240 zum Decodierer 250 ausgibt. Als Ergebnis ist der Decodierer 250 zum Ausgeben eines decodierten Bildes 260 fähig. Ein Beispiel eines Systems, bei welchem diese Konfiguration nützlich ist, ist eine Vorstufe zu einer Fernseh-Set-Top-Box, die allgemein mit dem Bezugszeichen 270 bezeichnet ist. Es sollte verstanden werden, dass das fehleranfällige Netzwerk bei diesem Ausführungsbeispiel beispielsweise ein Satellitennetzwerk oder ein IP-Netzwerk enthalten könnte. Wie es angezeigt ist, empfängt der Video-Bitstrom-Reiniger 230 den zerstörten Bitstrom und stellt einen korrigierten Bitstrom zum Decodierer 250 in der Set-Top-Box 270 zur Verfügung. Als Ergebnis kann die Set-Top-Box 270 ein decodiertes und fehlerkorrigiertes Bild oder eine Videosequenz zu einem Fernsehgerät liefern.
  • 3 der Zeichnungen stellt ein weiteres beispielhaftes Ausführungsbeispiel des Video-Bitstrom-Reinigers der vorliegenden Erfindung dar. Bei diesem Beispiel sind der Video-Bitstrom-Reiniger und der Decodierer in eine Kombination 330 aus Bitstrom-Reiniger und Decodierer integriert. Wie es in 3 gezeigt ist, empfängt die Kombination 330 aus Video-Bitstrom-Reiniger und Decodierer einen zerstörten Bitstrom 320 von einem fehleranfälligen Netzwerk 310 und gibt ein decodiertes Bild 340 aus, wie bei dem Ausführungsbeispiel, das in Zusammenhang mit 2 gezeigt und beschrieben ist.
  • Weil eine Videoübertragung ein großes Ausmaß an Bandbreite besetzen kann, ist oft eine Videocodierung und -kompression erwünscht. Wie es diskutiert ist, sind Videocodierschemen von verschiedenen Gruppen erdacht worden, einschließlich des Internationalen Telekommunikationsvereinigungs-Telekommunikationsstandardisierungssektors (ITU-T), der die H-Serie von Standards erzeugt, und der Bewegtbild- Expertengruppe (MPEG), die die MPEG-Serie von Standards erzeugt. Für beispielhafte Zwecke wird nachfolgend der MPEG-4-Standard detailliert diskutiert. Es sollte jedoch verstanden werden, dass die vorliegende Erfindung auf irgendeines einer Anzahl von Videokompressionsschemen angewendet werden kann, einschließlich MPEG-1, MPEG-2, H.261, H.263 und zugehörige Standards.
  • Bei einem typischen Videocodierschema, wie beispielsweise MPEG-4, sind Pixel eines Bildes durch einen Luminanzwert (Y) und zwei Chrominanzwerte (Cb, Cr) dargestellt. Wie es im Stand der Technik verstanden wird, stellt der Luminanzwert (Y) eine Grauskalendarstellung zur Verfügung, während die zwei Chrominanzwerte Farbinformation zur Verfügung stellen. Weil eine Luminanz-Chrominanz-Darstellung eine geringere Korrelation als eine Rot-Grün-Blau-Darstellung hat, ist es einfacher, das Signal effizienter zu codieren. Eine diskrete Kosinustransformation (DCT) wird zum Transformieren der Pixelwerte im räumlichen Bereich in eine codierte Darstellung im spektralen Bereich oder Frequenzbereich verwendet. Wie es im Stand der Technik verstanden wird, erzeugt eine diskrete Kosinustransformation (DCT) einen DC-Koeffizienten und eine Anzahl von AC-Koeffizienten. Der DC-Koeffizient stellt einen Durchschnitt der Gesamtgröße der transformierten Eingangsdaten dar und enthält eine Frequenzkomponente von Null. Jedoch können die AC-Koeffizienten sinusförmige Frequenzkomponenten von nicht Null enthalten, die den höheren Frequenzgehalt der Pixeldaten bilden. Diese DCT-Koeffizienten werden quantisiert und einer Codierung variabler Länge (VLC = variable-length coding) unterzogen. Weil das menschliche Auge empfindlicher gegenüber niedrigen Frequenzen als gegenüber hohen Frequenzen ist, wird den niedrigen Frequenzen bei der Quantisierung und Codierung des Bildes eine größere Wichtigkeit zugeteilt. Weil viele Hochfrequenzkoeffizienten der DCT nach einer Quantisierung Null sind, wird VLC durch eine Lauflängencodierung erreicht, die die Koeffizienten unter Verwendung einer Zick-Zack-Abtastung in eine eindimensionale Matrix anordnet bzw. aufreiht, die Niederfrequenzkoeffizienten vor Hochfrequenzkoeffizienten anordnet. Auf diese Weise kann es eine Anzahl von aufeinanderfolgenden Null-Koeffizienten geben, was zu einer effizienteren Quantisierung führt.
  • Die DCT-Transformation wird an einem spezifizierten Block von Pixeln im Bild durchgeführt. Die aus der DCT-Transformation erhaltenen DCT-Koeffizienten werden oft "Texturinformation" des Bildes genannt. Beispielsweise resultiert eine DCT-Transformation eines 8 × 8-Pixelblocks in einem DC-Koeffizienten und 63 AC-Koeffizienten. Eine getrennte DCT-Transformation wird für jeden der Luminanz und der zwei Chrominanz-Pixelblöcke durchgeführt. Weil die Luminanzkomponente wahrnehmungsmäßig wichtiger als die Chrominanzkomponenten ist, werden die Chrominanz-DCT-Transformationen bei einem Viertel der räumlichen Auflösung der Luminanztransformation durchgeführt, um eine niedrigere Bandbreite des komprimierten Videos zur Verfügung zu stellen.
  • Ein Makroblock (MB), der bei einer Videocodierung verwendet wird, besteht typischerweise aus vier Luminanzblöcken und zwei Chrominanzblöcken. Eine Anzahl von Makroblöcken bildet ein Videopaket (VP) oder eine Scheibe. Eine Anzahl von VPs oder Scheiben bildet einen Frame eines Bildes. Die Größe und die Form der VPs oder Scheiben können unter verschiedenen Codierschemen variieren und müssen nicht notwendigerweise innerhalb desselben Bildes einheitlich sein. Beispielsweise lässt MPEG-4 die Codierung von beliebig geformten Videoobjekten zu, einschließlich einer beliebigen Anzahl von Makroblöcken innerhalb eines Bildes. Eine Frame eines solchen Videoobjekts wird Videoobjektebene (VOP = video object plane) genannt.
  • Räumliche und temporäre Redundanzen, die in Videoobjekten oder Frames auftreten können, können zum Reduzieren der Bitrate von übertragenem Video verwendet werden. Eine räumliche Redundanz wird nur verwendet, wenn Frames unabhängig codiert werden. Dies wird Intraframe-Codierung genannt, welches zum Codieren des ersten Frames in einer Videosequenz verwendet wird, sowie dafür, dass sie über die gesamte Videosequenz periodisch eingefügt wird. Eine zusätzliche Kompression kann durch Ziehen eines Vorteils aus der Tatsache erreicht werden, dass aufeinanderfolge Frames eines Videos oft nahezu identisch sind. Bei dem, was "Interframe-Codierung" genannt wird, wird die Differenz bzw. der Unterschied zwischen zwei aufeinanderfolgenden Frames als die Differenz bzw. der Unterschied zwischen dem aktuellen Frame und einem vorherigen Frame codiert. Weitere Codiergewinne können durch Berücksichtigen einer Szenenbewegung erreicht werden. Anstelle eines Nehmens der Differenz zwischen einem aktuellen Makroblock und einem zuvor codierten Makroblock bei derselben räumlichen Position kann ein versetzter zuvor codierter Makroblock verwendet werden. Dieser Versatz wird durch einen Bewegungsvektor (MV) dargestellt. Als Ergebnis kann der aktuelle Makroblock basierend auf dem Bewegungsvektor und einem vorherigen Makroblock vorhergesagt werden.
  • Ein MPEG-4-Datenstrom enthält drei Haupttypen von Videoobjektebenen (VOPs). Der erste Typ I-VOPS besteht aus selbstenthaltenden intracodierten Objekten. P-VOPS sind in Bezug auf zuvor codierte VOPs vorhersagecodiert. Ein dritter Typ B-VOPs ist unter Verwendung von Differenzen zwischen sowohl den vorherigen als auch den nächsten codierten VOPs bidirektional codiert. Bei diesem dritten Typ von VOP sind zwei Bewegungsvektoren einem jeweiligen B-VOP zugeordnet.
  • Zum weiteren Verstehen der vorliegenden Erfindung ist es nützlich, ein Beispiel der syntaktischen Struktur eines Pakets in MPEG-4 zu diskutieren. Wie es im Stand der Technik verstanden wird, können MPEG-4-Pakete in entweder einem Datenaufteilungsmode oder einem Nichtdatenaufteilungsmode gesendet werden. Eine beispielhafte syntaktische Struktur eines MPEG-4-Pakets mit einer Datenaufteilung ist in 7 gezeigt. Wie es dargestellt ist, ist ein Markierer für eine erneute Synchronisierung (RM = resynchronization marker) 710, der ein eindeutiges Bitmuster ist, am Anfang eines neuen Videopakets platziert, um eine Signalerfassung zu ermöglichen. In dem Fall des Beginns eines neuen Bildes wird ein Bild-Synchronisationswort (PIC sync), das einen Bildanfangsblock (PIC-Anfangsblock) enthält, anstelle des Markierers für eine erneute Synchronisation 710 verwendet. Als nächstes ist eine Makroblockadresse (MB) 720, die die Adresse des ersten Makroblocks im Videopaket enthält, zusammen mit Quantisierungsinformation 730, die zum Decodieren des ersten Makroblocks nötig ist, enthalten.
  • Der Quantisierungsinformation 730 folgt der Anfangsblockerweiterungscode (HEC = header extension code) und der Anfangsblock 740. Der HEC ist ein einziges Bit, das anzeigt, ob zusätzliche VOP-Ebeneninformation im Anfangsblock verfügbar sein wird. Die zusätzliche VOP-Ebeneninformation kann Zeitgabeinformation, eine temporäre Referenz, einen VOP-Vorhersagetyp zusammen mit anderer Information enthalten. Hinter dem HEC und Anfangsblock 740 ist ein Bewegungsvektorfeld 740 enthalten, das die Bewegungsvektor(MV-)Information enthält, und ein Bewegungsmarkiererfeld (MM) 760, das das Ende der Bewegungsvektorinformation innerhalb des Pakets anzeigt. Es sollte verstanden werden, dass der Bewegungsmarkierer 760 als sekundärer Markierer für eine erneute Synchronisation wirkt. Dem Bewegungsmarkierer 760 folgt ein Textur-(DCT-)Informationsfeld 770. Schließlich beginnt ein neues Videopaket mit dem nächsten Markierer für eine erneute Synchronisation 780.
  • Es sollte verstanden werden, dass das in einem Nichtdatenaufteilungsmode die Bewegungsvektorinformation und Texturinformation nicht durch einen Bewegungsmarkierer getrennt ist. Eine Datenaufteilung, die für eine bessere Fehlerentspannung verwendet wird, lässt die Verwendung der Bewegungskompensationsdaten und eines zuvor decodierten VOP zum Verbergen von Textinformation zu, die im aktuellen VOP verloren worden sein kann.
  • Eine Anzahl von zusätzlichen Unterfeldern existiert innerhalb eines MPEG-4-Pakets, von welchen drei weiter diskutiert werden. Ein codiertes Blockmuster (CBP = coded block pattern) existiert innerhalb der Makroblock-Daten, um anzuzeigen, welche Blöcke im Makroblock codiert sind und welche Nullwert-Koeffizienten enthalten. Ebenso existiert in intracodierten Videoframes ein DC-Markierer innerhalb der DCT-Information, um DC-Koeffizienten von den AC-Koeffizienten der DCT zu trennen. Schließlich existiert auch ein Bildtypfeld (pic type) innerhalb des Pakets zum Anzeigen des Typs von VOP, der innerhalb des Pakets existiert.
  • Synchronisation
  • Die Existenz von Synchronisations-Codeworten innerhalb des Bitstroms ist ein wichtiger Beitrag für die Unverwüstlichkeit des Videopakets. Diese Codeworte werden durch Bitmuster dargestellt, die nicht irgendwo anders in fehlerfreien Daten erscheinen können. Die Synchronisations-Codeworte können aus entweder einem PIC-Synchronisationsmarkierer oder einem Markierer für eine erneute Synchronisation (RM) bestehen. Weil MPEG-4 RMs bei beliebigen Makroblockstellen zulässt, hat jedes Bild eine PIC-Synchronisation und eine unbekannte Anzahl von RMs. Zum Durchführen einer Synchronisation sucht der Decodierer zuerst nach den zwei aufeinanderfolgenden Synchronisationspositionen (entweder PIC-sync oder RM) innerhalb des Bitstroms. Die Bits zwischen zwei Synchronisationspositionen werden als Paket bezeichnet. Die Anzahl von Bits in einem Paket ist als Packet Bits bezeichnet. Die Bildposition (Adressen) für die zwei Synchronisationsworte werden decodiert und sind als mb1 und mb2 bezeichnet. Die Anzahl von Makroblöcken in einem Paket ist mit kmb bezeichnet.
  • Decodierprozess
  • Ein beispielhafter Decodierprozess gemäß der vorliegenden Erfindung ist in 4 dargestellt, einschließlich der Schritte einer Bitzerlegung 420 eines Bitstroms 410, einer Verbergung 450 und einer Signalverarbeitung 460 zum Erzeugen einer Ausgabe 470. Wenn ein "seltsames Ereignis" erfasst wird (das allgemein mit dem Bezugszeichen "430" bezeichnet ist), und zwar während einer Bitzerlegung 420, wird eine Verbergung durchgeführt, d.h. ein Durchgang zwischen der Bitzerlegung 420 und der Verbergung 440 wird veranlasst. Sonst wird der Verbergungsschritt 440 umgangen (wie es allgemein durch das Bezugszeichen 440 bezeichnet ist). Ein seltsames Ereignis ist als das erfasste Auftreten innerhalb des Bitstroms von einem Fehler oder von anderen Daten, die nicht gemäß dem erwarteten syntaktischen Inhalt des Bitstroms sind, definiert.
  • Bei einem Beispiel des Decodierprozesses setzt ein Bitzerleger ein Wort (Bitmuster) einer Codierung spezifischer Variablenlänge (VLC) in einen DCT-Komponentenwert um. Ein Signalprozessor nimmt einen Block von DCT-Komponentenwerten und führt eine inverse diskrete Kosinustransformation (IDCT) zum Erzeugen von Pixelwerten durch. Wenn gedacht wird, dass der Bit-Zerleger unrichtige DCT-Koomponentenwerte aufgrund eines Übertragungsfehlers ausgegeben hat, kann ein Verberger bzw. eine Verbergungseinheit 450 die DCT-Komponenten auf Werte einstellen, von denen gedacht wird, dass sie die bestmögliche Bildqualität ergeben. Wenn jedoch kein Fehler während einer Bitzerlegung gefunden wird, wird keine Verbergung durchgeführt, und die Verbergungseinheit 450 wird umgangen 440, und eine Signalverarbeitung 460 wird fortgeführt. Wenn ein Fehler gefunden wird, was anzeigt, dass ein seltsames Ereignis aufgetreten ist, der aber korrigiert werden kann, wird keine Verbergung 450 durchgeführt, und eine Signalverarbeitung wird folgen. Schließlich wird dann, wenn ein Fehler gefunden wird, der anzeigt, dass ein seltsames Ereignis aufgetreten ist, welches nicht korrigiert werden kann, eine Verbergung 450 vor einer Signalverarbeitung 460 durchgeführt.
  • Einige Beispiele für allgemeine seltsame Ereignisse, die in einem Videobitstrom auftreten können, sind in Tabelle 1 angegeben. Das seltsame Ereignis 1 kann auftreten, wenn in den empfangenen Daten die Bedingung 0 < mb2 < mb1 erfüllt ist, d.h. möglich Ursachen für dieses seltsame Ereignis einen Bitfehler in mb1 (der mb1-Wert ist zu groß), einen Bitfehler in mb2 (der mb2-Wert ist zu klein) oder einen zerstörten PIC-Anfangsblock. Seltsame Ereignisse 2 und 3 können auftreten, wenn ein nicht definiertes Codewort empfangen wird oder eine nicht definierte semantische Bedeutung eines richtigen Codeworts existiert, d.h. das Codewort keinen syntaktischen Sinn in dem Zusammenhang macht, in welchem es auftritt. Eine mögliche Ursache für diese Ereignisse kann einen Bitfehler in dem Paket enthalten. Es sollte verstanden werden, dass andere allgemeine seltsame Ereignisse, die Fachleuten auf dem Gebiet bekannt sein würden, auftreten können.
  • Figure 00140001
    Tabelle 1
  • Beispiele von seltsamen Ereignissen, die in einem Nichtdatenaufteilungsmode auftreten können, sind in Tabelle 2 angegeben. Ein seltsames Ereignis 4 kann dann auftreten, wenn die kmb Makroblöcke decodiert worden sind, bevor Packet Bits decodiert worden sind. Mögliche Ursachen für dieses Ereignis enthalten einen Bitfehler in mb2 (der mb2-Wert ist zu klein) oder einen Bitfehler im Paket. Ein seltsames Ereignis 5 kann dann auftreten, wenn kmb Makroblöcke noch nicht zu der Zeit decodiert worden sind, zu welcher Packet Bits decodiert worden sind. Mögliche Ursachen für dieses seltsame Ereignis enthalten einen Bitfehler in mb2, einen verlorenen zweiten Markierer für eine erneute Synchronisation (RM2) oder einen Fehlerfehler im Paket. Es sollte verstanden werden, dass andere seltsame Ereignisse, die Fachleuten auf dem Gebiet bekannt sein würden, in einem Nichtdatenaufteilungsmode auftreten können.
  • Figure 00150001
    Tabelle 2
  • Beispiele für seltsame Ereignisse, die in einem Datenaufteilungsmode auftreten können, sind in Tabelle 3 angegeben. Ein seltsames Ereignis 6 kann dann auftreten, wenn ein Bewegungsmarkierer in einem P-VOP-Paket nicht existiert. Mögliche Ursachen für dieses seltsame Ereignis enthalten einen Bitfehler im Bewegungsmarkierer, einen emulierten Markierer für eine erneute Synchronisation (RM) vor dem Bewegungsmarkierer oder einen Fehler in pic_type. Ein seltsames Ereignis 7 kann dann auftreten, wenn ein DC-Markierer (DCM) nicht innerhalb eines I-VOP-Pakets existiert.
  • Mögliche Ursachen für dieses seltsame Ereignis enthalten einen Bitfehler im DC-Markierer, einen emulierten Markierer für eine erneute Synchronisation vor dem DC-Markierer oder einen Fehler in pic type. Ein seltsames Ereignis 8 kann dann auftreten, wenn kmb Bewegungsvektoren decodiert werden, bevor ein Bewegungsmarkierer decodiert wird. Mögliche Ursachen für dieses Ereignis enthalten einen Bitfehler im Bewegungsmarkierer, einen Bitfehler in mb2 (der mb2-Wert ist zu klein) oder einen Bitfehler im Packet vor dem Bewegungsmarkierer. Ein seltsames Ereignis 9 kann dann auftreten, wenn kmb Bewegungsvektoren nicht decodiert werden, durch die Zeit, zu welcher der Bewegungsmarkierer decodiert wird. Mögliche Ursachen für dieses seltsame Ereignis enthalten einen Bitfehler in mb2, einen verlorenen RM2, einen Bitfehler im Paket vor dem Bewegungsmarkierer oder einen emulierten Bewegungsmarkierer. Ein seltsames Ereignis 10 kann dann auftreten, wenn kmb2 CBPs nicht zu der Zeit decodiert worden sind, zu welcher RM2 decodiert ist. Eine mögliche Ursache für dieses seltsame Ereignis kann einen Bitfehler im Paket enthalten. Ein seltsames Ereignis 11 kann dann auftreten, wenn kmb Koeffizienten innerhalb des Makroblocks nicht zu der Zeit decodiert werden, zu welcher RM2 decodiert wird. Eine mögliche Ursache für dieses seltsame Ereignis enthält einen Bitfehler im Paket. Als letztes Beispiel kann ein seltsames Ereignis 12 dann auftreten, wenn kmb Koeffizienten innerhalb des Makroblocks vor RM2 decodiert werden. Eine mögliche Ursache für dieses seltsame Ereignis kann einen Bitfehler im Paket enthalten. Es sollte verstanden werden, dass andere seltsame Ereignisse, die Fachleuten auf dem Gebiet bekannt sein würden, in einem Datenaufteilungsmode auftreten können.
  • Figure 00170001
    Tabelle 3
  • Es sollte verstanden werden, dass es bei der Erfassung von vielen seltsamen Ereignissen möglich ist, den zugrundeliegenden Fehler zu lokalisieren und zu korrigieren. Verfahren zur Korrektur dieser Fehler sind Fachleuten auf dem Gebiet wohlbekannt. In den Fällen, in welchen ein Fehler eines seltsamen Ereignisses nicht korrigiert werden kann, werden einige übertragene Daten ignoriert werden, und eine Verbergung wird verwendet werden. Mehrere Beispiele für Fehler eines seltsamen Ereignisses sind dargestellt, die nicht gemäß geeigneten Aktionen korrigiert werden können, die durchgeführt werden können. Beispielsweise können für ein nicht korrigierbares seltsames Ereignis in einem Nichtdatenaufteilungspaket alle Daten im Paket ignoriert werden. Für einen nicht korrigierbaren Fehler eines seltsamen Ereignisses vor dem DC-Markierer in einem I-VOP oder vor dem Bewegungsmarkierer in einem P-VOP können alle Daten im Paket ignoriert werden. Für ein nicht korrigierbares seltsames Ereignis nach einem DC-Markierer in einem I-VOP können CBP- und AC-Komponenten ignoriert werden. Für ein nicht korrigierbares seltsames Ereignis nach einem Bewegungsmarkierer in einem P-VOP können CBP und DCT-Komponenten ignoriert werden, während Bewegungsvektoren verwendet werden können. Als schließliches Beispiel für den Fall, in welchem eine Intra-DC in einem I-VOP außerhalb eines Bereichs ist, kann die Intra-DC ignoriert werden. Es sollte verstanden werden, dass andere Verfahren einer Verbergung, die Fachleuten auf dem Gebiet bekannt sein würden, verwendet werden können.
  • Verbergung
  • Drei Beispiele von Verbergungsverfahren werden diskutiert. Beim ersten Verbergungsverfahren werden alle DCT-Komponenten in einem P-VOP auf Null gesetzt. Bei dem zweiten Verbergungsverfahren wird ein Bewegungsvektor von einem richtig decodierten Bewegungsvektor in einem benachbarten Makroblock kopiert. Wenn kein solcher richtig decodierter Bewegungsvektor existiert, wird der Bewegungsvektor auf Null gesetzt. Bei einem dritten Verbergungsverfahren werden I-VOP-DCT-Komponenten von umgebenden richtig decodierten Makroblöcken abgeleitet. Wenn keine solchen Makroblöcke existieren, werden bereits verborgene Daten verwendet.
  • Während einer Verbergung eines Bewegungsvektors werden die vier umgebenden Bewegungsvektoren geprüft. Wenn wenigstens einer von ihnen ohne eine Fehlererfassung übertragen wird, wird er im verborgenen Makroblock verwendet. Wenn kein richtig decodierter Bewegungsvektor gefunden wird, wird der verborgene Bewegungsvektor auf Null gesetzt. Wenn der aktuelle Makroblock nicht richtig decodiert ist, können andere Makroblöcke im selben Paket auch nicht richtig decodiert sein. In diesem Fall ist es höchstwahrscheinlich, dass der Makroblock oberhalb oder unterhalb einen Bewegungsvektor enthält, der zur Verbergung verwendet werden kann.
  • Während einer Intra-DC-Verbergung werden die vier umgebenden Makroblöcke verwendet. Diejenigen Makroblöcke, die richtig decodiert worden sind, sind als "nützlich" bezeichnet und werden zur Verbergung des aktuellen Makroblocks verwendet. Alle nützlichen DC-Komponenten werden in der Verbergungsprozedur interpoliert. Nimmt man nun Bezug auf die 5A und 5B sind dort verschiedene DC-Komponenten dargestellt, die beteiligt sind. Wie es gezeigt ist, werden die Luminanz-DC-Komponenten in 5A von höchstens zwei umgebenden Werten interpoliert, während die Chrominanzkomponenten in 5B von vier umgebenden Werten interpoliert werden. Demgemäß wird dann, wenn ein bestimmter Luminanz-DC-Wert nicht verborgen werden kann, weil seine beiden entsprechenden Nachbarwerte nicht richtig decodiert sind, er stattdessen von den zwei benachbarten DC-Werten innerhalb des Makroblocks verborgen, die bereits verborgen sind. In dem Fall, in welchem alle vier umgebenden Makroblöcke nicht richtig decodiert sind, wird eine Verbergung des aktuellen Makroblocks mit verborgenen Werten in benachbarten Makroblöcken durchgeführt.
  • Nimmt man nun Bezug auf die 6A und 6B, sind dort die verschiedenen Intra-AC-Komponenten dargestellt, die auf gleiche Weise wie DC-Werten von umgebenden richtig decodierten Makroblöcken verborgen werden. Nur rein horizontale und rein vertikale AC-Komponenten werden verborgen. Wie es in 6A dargestellt ist, werden für eine Luminanz die Werte von einem benachbarten Makroblock blockiert. Für eine Chrominanz werden jedoch die Werte von zwei umgebenden Makroblöcken interpoliert, wie es in 6B dargestellt ist. Horizontale AC-Komponenten werden von oben und von unten aus kopiert oder interpoliert. Vertikale AC-Komponenten werden von links und rechts aus kopiert oder interpoliert. Wenn ein benachbarter Makroblock nicht nützlich ist, wird die entsprechende Verbergung nicht durchgeführt.
  • Es sollte verstanden werden, dass andere Verfahren einer Verbergung, die Fachleuten auf dem Gebiet bekannt sein würden, bei der vorliegenden Erfindung verwendet werden können.
  • Obwohl verschiedene Ausführungsbeispiele des Verfahrens, des Systems und der Vorrichtung der vorliegenden Erfindung in den beigefügten Zeichnungen dargestellt und in der vorangehenden detaillierten Beschreibung beschrieben worden sind, wird es verstanden werden, dass die Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt ist, sondern zu zahlreichen erneuten Anordnungen, Modifikationen und Substitutionen fähig ist, ohne vom Schutzumfang der Erfindung abzuweichen, wie er durch die folgenden Ansprüche aufgezeigt und definiert ist.
  • Zusammenfassung
  • Ein System, ein Verfahren und eine Vorrichtung zum Korrigieren eines zerstörten Video-Bitstroms (120, 220, 320) unter Verwendung eines Video-Bitstrom-Reinigers (130, 230, 330) sind offenbart. Der Video-Bitstrom-Reiniger der vorliegenden Erfindung empfängt einen zerstörten Video-Bitstrom und erzeugt einen syntaktisch richtigen Video-Bitstrom (140, 240, 340) als Ausgabe unter Verwendung einer Korrektur und einer Verbergung der Fehler im Video-Bitstrom. Der Video-Bitstrom-Reiniger kann in einem Netzwerk zum Empfangen eines zerstörten Video-Bitstroms von einem fehlerbehafteten bzw. fehleranfälligen Netzwerk (110, 210, 310) und zum Liefern eines richtigen Video-Bitstroms zu einem fehlerfreien Netzwerk (150) platziert werden, welches einen richtigen Video-Bitstrom zu einem Videodecodierer (250) liefert, oder als integrierter Bitstrom-Reiniger und Videodecodierer (330).
  • (1)

Claims (32)

  1. Vorrichtung zum Korrigieren eines Video-Bitstroms, der durch Fehler zerstört worden ist, wobei die Vorrichtung folgendes aufweist: einen Empfänger zum Empfangen eines zerstörten Video-Bitstroms, wobei der zerstörte Video-Bitstrom wenigstens einen Fehler darin hat; und einen Video-Bitstrom-Reiniger in Kommunikation mit dem Empfänger zum Erzeugen eines syntaktisch richtigen Video-Bitstroms aus dem zerstörten Videostrom.
  2. Vorrichtung nach Anspruch 1, wobei der zerstörte Video-Bitstrom von einem im Wesentlichen fehleranfälligen Netzwerk empfangen wird.
  3. Vorrichtung nach Anspruch 2, wobei das im Wesentlichen fehleranfällige Netzwerk ein Mobilfunk-Netzwerk aufweist.
  4. Vorrichtung nach Anspruch 2, wobei das im Wesentlichen fehleranfällige Netzwerk ein Satellitennetzwerk aufweist.
  5. Vorrichtung nach Anspruch 2, wobei des im Wesentlichen fehleranfällige Netzwerk ein IP-Netzwerk aufweist.
  6. Vorrichtung nach Anspruch 1, wobei der syntaktisch richtige Bitstrom durch ein im Wesentlichen fehlerfreies Netzwerk empfangen wird.
  7. Vorrichtung nach Anspruch 6, wobei das im Wesentlichen fehlerfreie Netzwerk ein landgebundenes Netzwerk aufweist.
  8. Vorrichtung nach Anspruch 1, wobei die Vorrichtung weiterhin folgendes aufweist: einen Videodecodierer in Kommunikation mit dem Video-Bitstrom-Reiniger zum Empfangen des syntaktisch richtigen Video-Bitstroms und zum Erzeugen eines decodierten Video-Bildsignals daraus.
  9. Vorrichtung nach Anspruch 8, wobei der Videodecodierer ein Endanwender-Endgerät aufweist.
  10. Vorrichtung nach Anspruch 9, wobei das Endanwender-Endgerät ein Funktelefon aufweist.
  11. Vorrichtung nach Anspruch 9, wobei das Endanwender-Endgerät eine Fernseh-Set-Top-Box aufweist.
  12. Vorrichtung nach Anspruch 1, wobei der syntaktisch richtige Video-Bitstrom einen komprimierten Video-Bitstrom aufweist.
  13. Vorrichtung nach Anspruch 12, wobei der komprimierte Video-Bitstrom einen auf MPEG-basierenden Video-Bitstrom aufweist.
  14. Vorrichtung nach Anspruch 12, wobei der komprimierte Video-Bitstrom aus der Gruppe ausgewählt ist, die aus einem MPEG-1-Bitstrom, einem MPEG-2-Bitstrom und einem MPEG-4-Bitstrom, einem H.261-Bitstrom, einem H.263-Bitstrom und Kombinationen daraus besteht.
  15. Fehlerabfedernder Videodecodierer zum Korrigieren eines Video-Bitstroms, der durch Fehler zerstört worden ist, wobei der fehlerabfedernde Videodecodierer folgendes aufweist: einen Empfänger zum Empfangen eines zerstörten Video-Bitstroms, wobei der zerstörte Video-Bitstrom wenigstens einen Fehler darin hat; einen Video-Bitstrom-Reiniger in Kommunikation mit dem Empfänger zum Erzeugen eines syntaktisch richtigen Video-Bitstroms aus dem zerstörten Videostrom; und einen Videodecodierer in Kommunikation mit dem Video-Bitstrom-Reiniger zum Empfangen des syntaktisch richtigen Video-Bitstroms und zum Erzeugen eines decodierten Videobildsignals daraus.
  16. Fehlerabfedernder Videodecodierer nach Anspruch 15, wobei der zerstörte Video-Bitstrom von einem im Wesentlichen fehleranfälligen Netzwerk empfangen wird.
  17. Fehlerabfedernder Videodecodierer nach Anspruch 15, wobei der fehlerabfedernde Videodecodierer ein Endanwender-Endgerät aufweist.
  18. Fehlerabfedernder Videodecodierer nach Anspruch 17, wobei das Endanwender-Endgerät ein Funktelefon aufweist.
  19. Fehlerabfedernder Videodecodierer nach Anspruch 17, wobei das Endanwender-Endgerät eine Fernseh-Set-Top-Box aufweist.
  20. Fehlerabfedernder Videodecodierer nach Anspruch 15, wobei der syntaktisch richtige Video-Bitstrom einen komprimierten Video-Bitstrom aufweist.
  21. Verfahren zum Modifizieren eines Video-Bitstroms, der durch Fehler zerstört worden ist, wobei das Verfahren die folgenden Schritte aufweist: Empfangen eines zerstörten Video-Bitstroms, wobei der zerstörte Video-Bitstrom wenigstens einen Fehler darin hat; wenn der wenigstens eine Fehler korrigierbar ist, Korrigieren des wenigstens einen Fehlers in dem zerstörten Video-Bitstrom, und wenn der wenigstens eine Fehler nicht korrigierbar ist, Verbergen des wenigstens einen Fehlers in dem zerstörten Video-Bitstrom, wodurch ein syntaktisch richtiger Video-Bitstrom aus dem zerstörten Video-Bitstrom erzeugt wird.
  22. Verfahren nach Anspruch 21, wobei der Empfangsschritt weiterhin die folgenden Schritte aufweist: Erfassen aufeinanderfolgender Synchronisationsmarkierer in dem zerstörten Video-Bitstrom, um ein Videopaket zu bestimmen; Bestimmen der Bildadressen von jedem der aufeinanderfolgenden Synchronisationsmarkierer; und Berechnen der Anzahl von Makroblöcken innerhalb des Pakets.
  23. Verfahren nach Anspruch 21, wobei der Empfangsschritt weiterhin den folgenden Schritt aufweist: Zerlegen der Bits des zerstörten Video-Bitstroms, um den wenigstens einen Fehler zu erfassen.
  24. Verfahren nach Anspruch 21, wobei der Verbergungsschritt weiterhin die folgenden Schritte aufweist: Erfassen eines Fehlers in Bewegungsvektordaten in einem Makroblock des zerstörten Video-Bitstroms; und Ersetzen der Bewegungsvektordaten unter Verwendung von benachbarten fehlerfreien Makroblock-Bewegungsvektordaten.
  25. Verfahren nach Anspruch 21, wobei der Verbergungsschritt weiterhin die folgenden Schritte aufweist: Erfassen eines Fehlers in Koeffizienten für eine diskrete Kosinustransformation (DCT) in einem Makroblock des zerstörten Video-Bitstroms; und Ersetzen der Koeffizienten für eine diskrete Kosinustransformation mit Daten von interpolierten benachbarten Koeffizienten für eine diskrete Kosinustransformation.
  26. Verfahren nach Anspruch 21, wobei das Verfahren weiterhin den folgenden Schritt aufweist: Liefern des syntaktisch richtigen Video-Bitstroms zu einem im Wesentlichen fehlerfreien Netzwerk.
  27. Verfahren nach Anspruch 21, wobei das Verfahren weiterhin die folgenden Schritte aufweist: Decodieren des syntaktisch richtigen Video-Bitstroms zum Erzeugen eines decodierten Video-Bitstroms; und Erzeugen von wenigstens einem Videobildsignal aus dem decodierten Video-Bitstrom.
  28. System zum Reinigen der Bits eines Video-Bitstroms zwischen einem ersten Netzwerk und einem zweiten Netzwerk, wobei das erste Netzwerk im Wesentlichen fehleranfällig ist, wobei das zweite Netzwerk im Wesentlichen fehlerfrei ist, wobei das System folgendes aufweist: einen Eingang zum Empfangen eines zerstörten Video-Bitstroms von dem ersten Netzwerk, wobei der zerstörte Video-Bitstrom wenigstens einen Fehler darin hat; einen Video-Bitstrom-Reiniger in Kommunikation mit dem Eingang zum Erzeugen eines syntaktisch richtigen Video-Bitstroms aus dem zerstörten Video-Bitstrom; und einen Ausgang in Kommunikation mit dem Video-Bitstrom-Reiniger zum Liefern des syntaktisch richtigen Video-Bitstroms zu dem zweiten Netzwerk.
  29. System nach Anspruch 28, wobei das erste Netzwerk ein drahtloses Netzwerk aufweist.
  30. System nach Anspruch 29, wobei das drahtlose Netzwerk ein Funktelefon-Netzwerk aufweist.
  31. System nach Anspruch 28, wobei das erste Netzwerk ein IP-Netzwerk aufweist.
  32. System nach Anspruch 28, wobei das zweite Netzwerk ein drahtgebundenes Netzwerk aufweist.
DE10296360T 2001-02-23 2002-02-19 Video-Bitstrom-Reiniger Withdrawn DE10296360T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/791,988 2001-02-23
US09/791,988 US20020163971A1 (en) 2001-02-23 2001-02-23 Video bitstream washer
PCT/SE2002/000294 WO2002067591A2 (en) 2001-02-23 2002-02-19 Video bitstream washer

Publications (1)

Publication Number Publication Date
DE10296360T5 true DE10296360T5 (de) 2004-04-22

Family

ID=25155452

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10296360T Withdrawn DE10296360T5 (de) 2001-02-23 2002-02-19 Video-Bitstrom-Reiniger

Country Status (6)

Country Link
US (1) US20020163971A1 (de)
JP (1) JP2004524744A (de)
AU (1) AU2002233856A1 (de)
DE (1) DE10296360T5 (de)
GB (1) GB2388283B (de)
WO (1) WO2002067591A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006060813A (ja) * 2004-08-20 2006-03-02 Polycom Inc ビデオデコーダにおける誤り隠蔽
JP4823621B2 (ja) * 2005-09-13 2011-11-24 オリンパス株式会社 受信装置、送信装置及び送受信システム
US20090076352A1 (en) 2005-08-29 2009-03-19 Olympus Corporation Receiving Apparatus
KR101086435B1 (ko) * 2007-03-29 2011-11-25 삼성전자주식회사 영상 데이터 스트림의 에러 검출 방법 및 그 장치
JP2009105986A (ja) * 2009-02-16 2009-05-14 Toshiba Corp 復号器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243428A (en) * 1991-01-29 1993-09-07 North American Philips Corporation Method and apparatus for concealing errors in a digital television
KR0125581B1 (ko) * 1991-07-24 1998-07-01 구자홍 디지탈 영상신호의 에러수정 시스템
US5737022A (en) * 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
US5815636A (en) * 1993-03-29 1998-09-29 Canon Kabushiki Kaisha Image reproducing apparatus
US5742623A (en) * 1995-08-04 1998-04-21 General Instrument Corporation Of Delaware Error detection and recovery for high rate isochronous data in MPEG-2 data streams
US5886735A (en) * 1997-01-14 1999-03-23 Bullister; Edward T Video telephone headset
JP3564961B2 (ja) * 1997-08-21 2004-09-15 株式会社日立製作所 ディジタル放送受信装置
US6025888A (en) * 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
US6498809B1 (en) * 1998-01-20 2002-12-24 Motorola, Inc. Video bitstream error resilient transcoder, method, video-phone, video-communicator and device
US6522352B1 (en) * 1998-06-22 2003-02-18 Motorola, Inc. Self-contained wireless camera device, wireless camera system and method
JP2001157204A (ja) * 1999-11-25 2001-06-08 Nec Corp 動画像復号化方法及び装置

Also Published As

Publication number Publication date
GB2388283B (en) 2004-08-18
US20020163971A1 (en) 2002-11-07
WO2002067591A3 (en) 2003-01-30
GB0316678D0 (en) 2003-08-20
AU2002233856A1 (en) 2002-09-04
GB2388283A (en) 2003-11-05
WO2002067591A2 (en) 2002-08-29
JP2004524744A (ja) 2004-08-12

Similar Documents

Publication Publication Date Title
DE60114812T2 (de) Videoformat konvertierung und transkodierung von mpeg-2 in mpeg-4
DE60020243T2 (de) Videokodierung
Talluri Error-resilient video coding in the ISO MPEG-4 standard
DE60028942T2 (de) Videokodierung
DE4205898B4 (de) Anordnung zum Rekombinieren von gemäß einer Rangordnung aufgeteilten Fernsehdaten
EP0682454B1 (de) Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
DE4305578B4 (de) Fehlerverdeckung in decodierten Videosignalen
DE69817137T2 (de) Bildverarbeitung für elektronisches Wasserzeichensetzen
EP2198610B1 (de) Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE112011103365B4 (de) Tonwertumsetzung von Videosignalen mit hohem Dynamikumfang
US7408991B2 (en) Error detection in low bit-rate video transmission
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE10033110A1 (de) Verfahren, und System zur Übertragung digitalisierter Bewegtbilder von einem Sender zu einem Empfänger und zugehöriger Decoder
DE60221807T2 (de) Lauflängenkodierung nichtkodierter makroblöcke
DE60008016T2 (de) Mpeg-4 videospezifisches kontrollpaket zur lieferung von personalisierten kodierungswerkzeugen
DE112007001773T5 (de) Videocodierung
DE10296360T5 (de) Video-Bitstrom-Reiniger
DE19652362A1 (de) Verfahren und Vorrichtung zur Kompensation der durch die Verarbeitung von Chrominanz-Signalen entstehenden Luminanzdefekte
DE19749604A1 (de) Verfahren zum Kodieren eines Modus beim Kodieren binärer Formen
EP1285537A1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
DE69923725T2 (de) Verfahren und Gerät für die Herausziehung von Farbkonturinformation aus Videohalbbildern
DE10219640A1 (de) Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt
WO2001028252A1 (de) Progressive fehlertolerante codierung bzw. decodierung einer folge von bildern
DE19944300C2 (de) Verfahren, Anordnung und Computerprogrammerzeugnis zur Bewegungsschätzung bei der Codierung von einem Bildobjekt in einem Bild

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee