DE602004010081T2 - Verfahren, vorrichtung und system zum codieren und decodieren von seiteninformationen für die multimedia-übertragung - Google Patents

Verfahren, vorrichtung und system zum codieren und decodieren von seiteninformationen für die multimedia-übertragung Download PDF

Info

Publication number
DE602004010081T2
DE602004010081T2 DE602004010081T DE602004010081T DE602004010081T2 DE 602004010081 T2 DE602004010081 T2 DE 602004010081T2 DE 602004010081 T DE602004010081 T DE 602004010081T DE 602004010081 T DE602004010081 T DE 602004010081T DE 602004010081 T2 DE602004010081 T2 DE 602004010081T2
Authority
DE
Germany
Prior art keywords
data
input data
channel
encoded
generate
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
DE602004010081T
Other languages
English (en)
Other versions
DE602004010081D1 (de
Inventor
Harinath San Diego GARUDADRI
Kannan El Cerrito RAMCHANDRAN
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of DE602004010081D1 publication Critical patent/DE602004010081D1/de
Application granted granted Critical
Publication of DE602004010081T2 publication Critical patent/DE602004010081T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • GEBIET
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf die Gebiete der Datenverarbeitung und Datenkommunikation, und im Speziellen auf ein Verfahren, Vorrichtung und System zum Codieren und Decodieren von Side- bzw. Nebeninformation für Multimedia-Übertragung.
  • HINTERGRUND
  • Mit dem Fortschreiten von Technologie und dem kontinuierlich schnelleren Anstieg hinsichtlich des Bedarfs von Video- und Audio-Signalverarbeitung sind effektive und effiziente Techniken zur Signalverarbeitung und Datenübertragung immer wichtiger für Systemkonstruktion und Implementierung geworden. Verschiedene Standards oder Spezifikationen für Multimedia-Verarbeitung und Übertragung inklusive der Video-Signalverarbeitung wurden über die Jahre hinweg entwickelt, um verschiedene Codierungsschemata bezüglich von Multimedia-Signalverarbeitung zu standardisieren und zu ermöglichen. Insbesondere eine Gruppe, die als die Moving Pictures Expert Group (MPEG) bekannt ist, wurde eingerichtet, um ein Standard oder eine Spezifikation für die codierte Darstellung von bewegten Bildern und zugeordneten Audio, gespeichert auf einem digitalen Speichermedium zu entwickeln. Im Ergebnis wurde ein Standard entwickelt, der bekannt ist als ISO/IEC 14496-2 (Teil 2 – Visual) CODING OF AUDIO-VISUAL OBJECTS (auch im Folgenden als MPEG-4-Standard oder MPEG-4-Spezifikation bezeichnet), veröffentlicht im Dezember 1999, der verschiedene Codierungsschemata für visuelle Objekte oder Videosignale standardisiert. ISO steht für International Organisation for Standardization bzw. IEC steht für International Electronical Commission. Im Allgemeinen standardisiert die MPEG-Spezifikation nicht den Codierer, sondern vielmehr den Informationstyp, den ein Codierer benötigt, um einen MPEG-kompatiblen Bitstrom zu erzeugen und zu schreiben sowohl als auch die Art und Weise, wie der Decodierer diese Information analysieren (parse), dekomprimieren und resynthetisieren muss, um das codierte Signal wieder zu gewinnen. [Q1] Andere Codierungsstandards beinhalten, z. B., ITU-T Recommendation H.263 „Video Coding for Low Bitrate Communication" H.264, etc.
  • Ein typisches Videoverarbeitungssystem 100 ist in 1 dargestellt, was einen Video-Codierer 110 und einen Video-Decodierer 130 beinhaltet. In dieser Konfiguration könnte der Video-Codierer 110 und der Video-Decodierer 130 gemäß einem bestehenden Standard oder Spezifikation operieren. Z. B. könnte der Video-Codierer 110 und der Video-Decodierer 130 gemäß dem MPEG-4-Standard operieren. Somit kann auf den Video-Codierer 110 als MPEG-4-Codierer und auf den Video-Decodierer 130 als ein MPEG-4-Decodierer Bezug genommen werden. In der Systemkonfiguration, die in der 1 dargestellt wird, empfängt, auf der Sendeseite der Video-Codierer 110 Video-Eingangsdaten und codiert die Video-Eingangsdaten, um codierten Video-Daten zu generieren oder zu produzieren, die zu dem Video-Decodierer 130 über einen Kanal 120 gesendet werden. Der Kanal 120 kann ein drahtloser oder drahtgebundener Kanal sein und auf ihn wird auch als der Hauptkanal oder Hauptstrom Bezug genommen. An dem Empfangsende empfängt der Video-Decodierer 130 die codierten Video-Daten, decodiert die codierten Video-Daten, um Video-Ausgabe-Daten zu generieren oder zu produzieren. Während des Übertragungsprozesses über den Kanal 120 können Fehler aufgrund verschiedener Faktoren inklusive Rauschen, Signalinterferenz, Schwund oder Verbindungsverlust, etc. eingeführt werden. Solche Fehler werden negativ die Performance des Video-Decodierers 130 beeinflussen und somit wird die Qualität der Video-Ausgabe-Daten verschlechtert. Verschiedene herkömmliche Fehler-Codierungs-Techniken, wie z. B. Fehlerdetektierungscodierung, Vorwärts-Fehlerkorrektur bzw. Forward Error Correction (FEC) oder Schemata für automatisches Wiederholen/erneutes Senden-Anfragen (ARQ = automatic repeat/retransmission request) können verwendet werden, um die Fehlerrate auf einem akzeptablen Pegel zu halten. Solche herkömmlichen Techniken können jedoch in einer signifikanten Ineffizienz resultieren, aufgrund der Datenredundanz und/oder längeren Latenzzeiten. Video-Komprimierungsstandards sehen außerdem zusätzliche Mechanismen vor, um die nachteiligen Effekte von Fehlern, die bei der Übertragung einge führt wurden, zu bekämpfen. Dies sind Resynchronisations-Markierer, Daten-Partionierung, reversible variable Längen-Codierung (RVLC = reversible variable length coding), etc. Diese Fehlerwiderstands-Hilfsmittel erhöhen die Komplexität des Codierers/Decodierers und erhöhen die Datenrate, die benötigt wird zum Senden von Video-Informationen. Weiterhin können diese Hilfsmittel nicht einen adäquaten Schutz gegenüber burst-artigen bzw. stossweisen Fehlern vorsehen, die typischerweise in einem Spreiz-Spektrums-Kommunikationskanal, wie z. B. einem CDMA-Netzwerk zu beobachten sind.
  • Demgemäß besteht ein Bedarf nach einem Verfahren, einer Vorrichtung und einem System zum Verbessern der Qualität von Multimedia-Informationen, wie z. B. Video-Daten in Multimedia-Verarbeitungssystemen ohne dabei eine signifikante Verarbeitungsineffizienz auftreten zu lassen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist durch die Ansprüche definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene Aspekte und Merkmale der vorliegenden Erfindung sind in der folgenden detaillierten und unter Bezugnahme auf die beigefügten Zeichnungen offenbart, wobei in den Zeichnungen Folgendes gezeigt ist:
  • 1 ist ein Blockdiagramm, das ein typisches Video-Verarbeitungssystem darstellt;
  • 2A ist ein Blockdiagramm, das ein Verarbeitungssystem darstellt, in dem beide Codierer- und Decodierer-Einheiten, Zugriff auf Nebeninformation besitzen;
  • 2B ist ein Blockdiagramm, das ein Verarbeitungssystem darstellt, in dem nur die Decodierer-Einheit Zugriff auf Nebeninformation besitzt;
  • 3 ist ein Blockdiagramm, eines beispielhaften Verarbeitungssystems gemäß einem Ausführungsbeispiel der Erfindung;
  • 4 ist ein Blockdiagramm eines Nebeninformations-Codierers gemäß einem Ausführungsbeispiel der Erfindung;
  • 5 ist ein Diagramm, das einen quantisierten Codewort-Satz und die Partitionen des quantisierten Codewort-Raumes darstellt;
  • 6 ist ein Diagramm, das eine Mode-4-Benennung des Raumes der quantisierten Codeworte darstellt:
  • 7 ist ein Blockdiagramm eines Decodierungs-Untersystems, das einen Seiten-Informations-Decodierer gemäß einem Ausführungsbeispiel der Erfindung beinhaltet; und
  • 8 ist ein Flussdiagramm eines Verfahrens gemäß einem Ausführungsbeispiel der Erfindung.
  • Detaillierte Beschreibung
  • In der nachfolgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt. Es sei jedoch anzumerken, dass verschiedene Ausführungsbeispiele der Erfindung ohne diese spezifischen Details ausgeführt werden können. Der Fachmann wird erkennen und verstehen, dass verschiedene Ausführungsbeispiele der Erfindung, die unten beschrieben sind, beispielhaft sind und zur Darstellung der Erfindung, aber nicht zu deren Einschränkung, dienen.
  • Wie unten kurz im Detail dargestellt wird, wird gemäß einem Ausführungsbeispiel der Erfindung ein Verfahren- und System-Framework vorgesehen zum Codieren von einem Extra-Digital-Strom zusätzlich zu einem Hauptstrom, der einen Multimedia-Bitstrom trägt. Der Extra-Digital-Strom wird im Folgenden auch als Side- bzw. Nebenkanal oder Hint- bzw. Hinweis-Kanal bezeichnet.
  • Solch ein Extra-Digital-Kanal kann verwendet werden zum Vorsehen einer Fehlerwiderstandsfähigkeit für den Multimedia-Bitstrom, der über den Hauptkanal gesendet wird, wodurch die Qualität der Multimedia-Information (z. B. Videodaten), die an dem Empfangsende generiert wird (z. B. die Videodaten, die durch einen Video-Decodierer generiert werden), verbessert wird. Zusätz lich kann gemäß einem Ausführungsbeispiel der Erfindung, das unten in größerem Detail beschrieben wird, die Menge bzw. der Betrag der Hinweis- oder Nebenkanalinformation, die über den Nebenkanal gesendet wird, angepasst werden oder dynamisch angepasst werden, basierend auf verschiedenen Faktoren inklusive Kanalbedingungen, den Schutzbetrag, den der Nebenkanal vorsehen soll, etc.
  • Die folgende Diskussion sieht Erläuterungen und Darstellungen für ein Verfahrens- und System-Framework vor, das Codierung mit Nebeninformation verwendet. Das Framework des Codierens mit Nebeninformation wurde diskutiert von S. S. Pradhan und K. Ramchandran in einem technischen Aufsatz betitelt: „Distributed Source Coding Using Syndromes (DISCUS): Design and Construction", in den Proceedings of the Data Compression Conference (DCC), März 1999. Bezugnehmend auf 2A und 2B werden Verarbeitungssysteme 200A und 2008 dargestellt. Verarbeitungssystem 200A beinhaltet einen Codierer 210A, der Daten zu einem Decodierer 230A über Kanal 220A sendet. Ebenfalls beinhaltet Verarbeitungssystem 2008 einen Codierer 2108, der Daten zu einem Decodierer 2308 über Kanal 2208 sendet.
  • Wie in 2A und 2B gezeigt, wird angenommen, dass X und Y 3-Bit lange binäre Daten sind, die mit gleicher Wahrscheinlichkeit einen jeden der acht möglichen binären 3-Tupfe annehmen können. X und Y sind jedoch korrelierte Zufallsvariablen. Die Korrelation zwischen ihnen ist so, dass der Hamming-Abstand zwischen X und Y höchstens 1 ist. D. h., bei einem gegebenen Wert von Y (z. B. Y = [0 1 0]), ist der Wert von X entweder derselbe, wie der Wert von Y (d. h. X = [0 1 0]) oder er unterscheidet sich in einem Bit bezüglich zu dem Wert von Y. Z. B. kann sich der Wert von X in dem ersten Bit (X = [1 1 0]) oder in dem mittleren Bit (X = [0 0 0]) oder in dem letzten Bit (X = [0 1 1]) unterscheiden.
  • Die folgende Diskussion wird zeigen, dass X effizient in den zwei in der 1 dargestellten Szenarios codiert werden kann, so dass X bei dem Decodierer korrekt rekonstruiert werden kann.
    • Szenario 1: In dem ersten in der 2A gezeigten Szenario ist Y bei beiden, dem Codierer 210A und dem Decodierer 230A, vorhanden. In diesem Szenario kann X von Y vorhergesagt werden. Der Rest (X ⊕ Y), was auch mit Restdaten oder Restinformation bezeichnet, oder das Fehlermuster von X bezüglich Y kann 4 von einander unterschiedliche Werte annehmen und kann somit mit 2 Bits codiert werden. Dies kann als die kleinstmögliche (beste) Rate, die zum Codieren von X benötigt wird bezeichnet werden. An dem Empfangsende, kann der Decodierer den Rest Y kombinieren um X zu erhalten. In diesem Fall, wie es in größerem Detail beschrieben wird, ist X analog zu der momentanen Multimedia-Codiereinheit, die über den Hinweis-Kanal gesendet werden muss. Y ist analog zu der Rekonstruktion der momentanen Multimedia-Codiereinheit basierend auf dem Hauptkanal. Dieses Verfahren, wo der Rest für den Hinweiskanal codiert wird, entspricht prädiktivem Codieren.
    • Szenario 2: In dem zweiten Szenario, das in 2B gezeigt wird, hat der Codierer für X (Codierer 210B) nicht Zugriff auf Y. Die Performance dieses Szenarios ist somit begrenzt durch die Performance des ersten Szenarios. Der Codierer für X kennt jedoch die Korrelationsstruktur zwischen X und Y und weiß außerdem, dass der Decodierer-Zugriff auf Y besitzt. In diesem scheinbar schlechteren Szenario kann nachfolgend gezeigt werden, dass dieselbe Performance wie in dem ersten Szenario erreicht werden kann. D. h. in dem zweiten Szenario kann X ebenfalls mit 2 Bits codiert werden.
  • Dies kann erreicht werden unter Verwendung des folgenden Ansatzes. In diesem Ansatz kann der Raum von Codewörtern von X in 4 Sätze partitioniert werden und wobei jeder 2 Codewörter enthält, und zwar wie folgt:
    Cosatz bzw. Coset 1, der ([000] und [1 1 1]) enthält;
    Cosatz 2, der ([0 0 1] und [1 1 0]) enthält;
    Cosatz 3, der ([0 1 0] und [1 0 1]) enthält; und
    Cosatz 4, der ([1 0 0] und [0 1 1]) enthält;
  • In diesem Beispiel, kann der Codierer für X den Satz identifizieren, der das Codewort für X enthält, und kann den Index für den jeweiligen Satz anstelle von dem einzelnen Codewort senden. Da es 4 Sätze in dem Raum von Codewörtern für X gibt, können sie mit 2 Bits indexiert werden. Der Decodierer, beim Empfang des Cosatz-Indexes, kann Y verwenden, um eine Mehrdeutigkeit zu beheben oder um das korrekte X aus dem Satz zu erhalten, und zwar durch Anzeigen oder Bekanntgeben, dass das Codewort, das am nächsten zu Y ist, die Antwort darstellt. Wie oben erwähnt, sei angemerkt, dass der Abstand zwischen X und Y höchstens 1 ist und der Abstand zwischen den zwei Codewörtern in einem beliebigen Satz 3 ist. Somit kann das Decodieren von X in dem zweiten Szenario korrekt ausgeführt werden, basierend auf dem Cosatz-Index und Y. Wenn z. B. Y gleich [0 0 1] ist und X gleich [0 1 1] ist, dann sendet der Codierer 210B anstelle eines Sendens des individuellen Codeworts für X den Index für den entsprechenden Satz, der den Wert von X enthält, was Cosatz 4 für diesen Fall ist. Demgemäß berechnet der Decodierer 230B beim Empfangen dieses Indexes von dem Codierer 2108 den Abstand zwischen Y [0 0 1] und einem der Codewörter in dem Cosatz 4 ([1 0 0]), was gleich 2 ist und zwischen Y ([0 0 1]) und dem anderen Codewort ([0 1 1]) was gleich 1 ist. Da der Decodierer 210B weiß, dass der Abstand zwischen X und Y höchstens 1 ist, wird [0 1 1] als das beobachtete Codewort für X decodiert, was der korrekte Wert für X in diesem Beispiel ist. Dieser Codiermodus, bei dem der Decodierer Zugriff auf korrelierte Neben-Information besitzt, ist als Neben-Informations-Codierung bekannt. Die Performance eines Systems, das Codierung mit Neben-Information verwendet, kann übereinstimmen mit der Performance mit einem System basierend auf prädiktiver Codierung, wenn Codelängen groß werden. Im Allgemeinen kann die Korrelation zwischen X und Y dabei helfen, die Übertragungsrate zu reduzieren. Basierend auf der vorhergehenden Diskussion werden die folgenden Beobachtungen gemacht:
    Es sei angemerkt, dass der Cosatz 1 ein Wiederholungskanal-Code von Abstand 3 und die anderen Sätze Cosätze dieses Codes in dem Codewort-Raum von X sind. In diesem Fall haben wir einen Kanal-Code verwendet, der „über einstimmt" (matched) mit dem Korrelationsabstand (z. B. Rauschen) zwischen X und Y, um den Quell-Codewort-Raum von X zu partitionieren. Dies resultiert in einem Neben-Informations-Codiersystem, das eine hohe Kompressions-Performance liefert, die identisch oder vergleichbar ist mit einem prädiktiven Codierungssystem.
  • In der Praxis kann die Partitionierung des Quell-Codewort-Raums und die Index-Benennung der resultierenden Cosätze (Index-Benennungen für Cosätze, auch als Syndrome hierin bezeichnet) auf sehr recheneffiziente Art und Weise in dem Framework von Cosatz-Codes ausgeführt werden. Somit verursacht der Codierer in einem Neben-Informations-Codiersystem eine geringe Codier-Komplexität.
  • Es sei angemerkt, dass die Partitionierung von X, wie oben diskutiert, auch universell bzw. allgemein gültig ist. D. h. dieselbe Partitionierung von X funktioniert für alle Y unabhängig von dem Wert von Y, so lange beide X und Y die Korrelationsstruktur erfüllen. Wenn X z. B. gleich [0 1 0] ist, dann wird dieselbe Codierung für X (z. B. Index von Co-Satz 3) für alle Fälle von Y (z. B. [0 1 0], [1 1 0], [0 0 0] und [0 1 1]) anwendbar sein. Somit gibt es, im Gegensatz zu einem prädiktiven Codierungsansatz keine Abhängigkeit zwischen der Codierung von X und dem Wert der korrelierten Information Y, was somit eine Allgemeingültigkeit vorsieht. Daher wird die hier dargestellte Erfindung ebenso anwendbar sein auf alle prädiktiven Codierungstechniken, wie z. B. MPEG-4, H.263, H.264 etc.
  • Nun bezugnehmend auf 3, wird ein beispielhaftes Multimedia-Verarbeitungssystem 300 dargestellt, das einen Neben-Informations-Codierungsansatz verwendet, und zwar gemäß einem Ausführungsbeispiel der Erfindung. Wie in 3 gezeigt, beinhaltet das System 300 ein Codierungs-Untersystem oder Codierungs-Komponente 310 und ein Decodierungs-Untersystem oder Decodierungs-Komponente 330. In einem Ausführungsbeispiel, beinhaltet das Codierungs-Untersystem 310 einen Codierer 312, der gemäß einem bestehenden Standard, wie z. B. dem MPEG-4-Standard oder H.263-Standard operiert. Der Codierer 312 wird hierin auch als ein herkömmlicher Codierer bezeichnet. Das Codierungs-Untersystem 310 beinhaltet weiterhin einen weiteren Codierer 316 (der hierin auch Neben-Informations-Codierer oder Hinweis-Informations-Codierer bezeichnet wird), der an den Video-Codierer 312 gekoppelt ist. Der Codierer 312 empfängt und codiert Eingangsdaten, (z. B. Videodaten), um codierte Daten zu generieren, die zu dem Decodierungs-Untersystem 330 über einen Hauptkanal 320 gesendet werden. Der Hauptkanal 320 kann ein drahtloser oder ein drahtgebundener Kanal sein. Der Codierer 316 ist gekoppelt, um Eingangdaten zu empfangen und eine Rekonstruktion der Eingangsdaten von dem Codierer 312 und generiert codierte Neben- oder Hinweis-Information, die zu dem Decodierungs-Untersystem 330 über einen separaten Kanal 325 gesendet wird, der ein drahtloser oder ein drahtgebundener Kanal sein kann. Der Kanal 325 wird hierin auch als Neben-Kanal oder Hinweis-Kanal bezeichnet. In einem Ausführungsbeispiel wird die Differenz zwischen den Eingangsdaten und der Rekonstruktion der Eingangsdaten als Restdaten bezeichnet, die Prädiktions-Fehlerinformation, die von dem Codierer 312 generiert wird, enthalten kann. Die Struktur und der Betrieb des Codierers 316 werden in größerem Detail unten beschrieben.
  • In einem Ausführungsbeispiel, wie in 3 gezeigt, beinhaltet das Decodierungs-Untersystem 330 einen Decodierer 332, der gemäß einem bestehenden Standard, wie z. B. in dem MPEG-4-Standard oder dem H.263-Standard betrieben wird. Der Decodierer 332 wird hierin auch als ein herkömmlicher Decodierer bezeichnet. Das Decodierungs-Untersystem 330 beinhaltet weiterhin einen Decodierer 336 für das Decodieren von Neben-Information, empfangen über den Nebenkanal 325. Die Information oder Daten, generiert durch den Decodierer 332 und Decodierer 336 werden kombiniert, um die Ausgabedaten (z. B. Ausgabe-Videodaten) zu generieren. Die Struktur und der Betrieb des Decodierungs-Untersystems 330 und des Decodierers 316 werden im Folgenden in größerem Detail beschrieben.
  • 4 stellt ein detailliertes Blockdiagramm des Codierers 316 dar, der in 3 oben gezeigt ist, und zwar gemäß einem Ausführungsbeispiel der Erfindung. Wie in 4 gezeigt, beinhaltet der Codierer 316 (hierin auch als Neben-Informations-Codierer oder einfach Neben-Codierer bezeichnet) eine Klassifizierungseinheit 410, eine Basis-Skalar-Quantisierungseinheit 420, eine Syndrome-Codierungseinheit 430, eine Verfeinerungs-Quantisierungseinheit 440 und eine Fehlerdetektierungs-/Schutzeinheit 450. Diese verschiedenen Einheiten oder Komponenten des Codierers 316 werden unten in größerem Detail beschrieben. Es sei angemerkt, dass die Konfiguration oder Struktur des Codierers 316, die in 4 gezeigt ist, lediglich ein Ausführungsbeispiel oder eine Implementierung gemäß der Lehren der Erfindung zeigt. Andere Konfigurationen, Strukturen oder Variationen können, basierend auf verschiedenen Anwendungen der Erfindung und/oder verschiedene Systemumgebungen implementiert werden. Z. B. kann die Klassifizierung- und Syndrome-Codewahl abgestimmt werden auf die gegenwärtige Kanalbedingung.
  • Es sei angemerkt, dass in Abhängigkeit von der erlaubten Übertragungsrate auf dem Neben-(Hinweis)-Kanal 325 einige der Funktionen oder Prozesse, die von dem Codierer 316 ausgeführt werden, modifiziert oder übersprungen werden können. Z. B. kann die Basis-Skalar-Quantisierung modifiziert werden, in Abhängigkeit von den Statistiken von N und der zur Verfügung stehende Bit-Rate für Neben-Information. Ähnlich kann der Verfeinerungs-Quantisierungsprozess oder -Funktion modifiziert oder ausgelassen werden. Zum Zwecke der Erläuterungen und Darstellung bezeichnet X den momentanen Block, den es zu codieren gilt, Y eine Rekonstruktion des momentanen Blocks auf dem Hauptkanal und es sei angenommen, dass Y = X + N, wobei N die Differenz zwischen X und Y darstellt und kann z. B. den Prädiktionsfehler in der Codierung von X, Rauschen und/oder Verzerrung eingeführt in den Codierungs- und Sendeprozess etc. entsprechen.
  • In der folgenden Diskussion sei angenommen, dass der Video-Rahmen, den es zu codieren gilt, unterteilt ist in nicht-überlappende räumliche Blöcke von Pixeln (z. B. 16×16, 8×8 etc.). Es ist ersichtlich und verständlich für einen Fachmann, dass die Lehren der vorliegenden Erfindung nicht auf eine bestimmte Unterteilung oder Partitionierung von Video-Rahmen, die es zu codieren gilt, beschränkt ist. Der Codierungsprozess wird im Detail unten beschrieben, und kann auf einer Block-zu-Block-Basis voranschreiten.
  • Klassifikation:
  • In einem Ausführungsbeispiel führt die Klassifizierungseinheit 410 die Klassifizierungsfunktion oder -Prozess wie folgt aus. Um den Kanal-Code an die Blöcke anzupassen, werden die Blöcke klassifiziert, basierend auf deren Korrelation mit der Haupt-Kanal-Rekonstruktion des Momentan-Rahmens. Die Statistiken von N entsprechend zu der bestimmten Klasse werden dann verwendet, um die geeignete Partitionierungs-Strategie zu bestimmen oder vorzuschreiben. In einem Ausführungsbeispiel kann die Energie in den Blockrahmen-Differenzen (z. B. eine einfache mittlere Quadrat-Fehler-Abweichung zwischen dem momentanen Block und einem rekonstruierten Block auf dem Hauptkanal in derselben Position) als ein Hinweis bzw. Stichwort für die Klassifizierung des momentanen Blocks verwendet werden. Eine Anzahl von Codier-Modi oder -Klassen können mit jedem verwendet werden, und zwar entsprechend zu einem unterschiedlichen Grad der Korrelation. Ein Extrem ist z. B. ein Modus bezeichnet als der SKIP-Modus, bei dem die Korrelation so stark ist, dass der Block überhaupt nicht codiert wird. Das andere Extrem ist ein Modus, der als INTRA-Modus bezeichnet wird, bei dem die Korrelation so schwach ist, dass ein INTRA- bzw. Zwischen-Codieren angebracht ist. Demgemäß kann es unterschiedliche Syndrome-Codier-Modi zwischen diesen zwei Extremen geben.
  • Basis-Skalar-Quantisierung:
  • Wie in der 4 gezeigt ist, beinhaltet die Codier-Einheit 316 eine Basis-Skalar-Quantisierungseinheit 420, um Quantisierung auf den Pixel-Werten auszuführen. In einem Ausführungsbeispiel müssen die Eingabedaten (z. B. Pixel-Werte) quantisiert werden vor dem Codieren. Für die Quantisierung kann die Wahl der Schrittgröße begrenzt sein durch die Statistiken von N. Wenn z. B. eine sehr genaue bzw. feine Schrittgröße zum Codieren von X gewählt wird, dann können Decodierungs-Fehler auftreten, da die Codewörter zu „eng" zu einander liegen, so dass die rekonstruierte Information Y diese nicht korrekt von einander unterscheiden kann.
  • Dies ist in einem Diagramm dargestellt, was in 5 gezeigt ist. Wie in der 5 gezeigt, zeigt die obere Linie den quantisierten Codewort-Satz für X und die zwei unteren Linien zeigen die zwei Partitionierungen des Raumes der quantisierten Codewörter für X. Die rechteckige Box zeigt das beobachte te Codewort, das in der ersten Partitionierung liegt. In diesem Beispiel, da der Betrag von N größer ist als die Quantisierungsschrittgröße, verwendet der Decodierer die rekonstruierte Information Y, um das inkorrekte (eingekreiste) Codewort zu decodieren. Somit wird jedes der Elemente von X mit einer Schrittgröße proportional zu der Standardabweichung des entsprechenden Elements in N quantisiert.
  • Syndrome-Codierung:
  • Wiederum Bezug nehmend auf 4, führt die Syndrome-Codier-Einheit 430 Syndrome-Codierung bezüglich der Daten, die von der Basis-Skalar-Quantisierungs-Einheit 420 generiert wurden, aus. In diesem Ausführungsbeispiel kann der Raum von quantisiertern Codewörtern, der passend generiert wurde unter Verwendung der Statistiken von N partitioniert werden, unter Verwendung eines Kanal-Codes mit guten Abstandseigenschaften (z. B. Euclidian Raum-Trellis-Kanal-Codes, Turbo-Codes, Niedrig-Dichte-Paritäts-Prüf-Codes bzw. LDPC-Codes (LDPC = Low Density Parity Check) oder andere Kanal-Codes, die auf dem Fachgebiet bekannt sind, etc.). Dies ist analog zu dem Wiederholungskanal-Code, der verwendet wurde, um den Quell-Code-Raum, wie oben diskutiert zu partitionieren.
  • In einem Ausführungsbeispiel könnte ein Raten-1/2-Trellis-Code zu diesem Zweck verwendet werden. Ein Rate-1/2-Trellis-Code mit Blocklänge N ist ein Unter-Raum von {0, 1, 2, 3}N (z. B. der Wiederholungskanal-Code von Blocklänge 3 ([0 0 0] und [1 1 1]) ist ein Unter-Raum von {0, 1}3). Somit kann er verwendet werden, um den Raum {0, 1, 2, 3}N zu partitionieren. Aus diesem Grund muss der Raum von quantisierten Codewörtern konvertiert werden in {0, 1, 2, 3}N. In einem Ausführungsbeispiel kann dies geschehen, unter Verwendung einer Mod-4-Benennung des Quantisierungs-Gitters (lattice), wie gezeigt in 6.
  • In einem Ausführungsbeispiel ist die Sende- oder Cosatz-Index-Rate, die in diesem Fall veranlasst wird, 1 Bit/Sample. In diesem Beispiel hat ein Rate-1/2-Trellis-Code mit Blocklänge N, was einen Unter-Raum von {0, 1, 2, 3}N ist zwei N-Codewörter in dem Raum, der Größe 4 N. Somit gibt es 4 N/2 N = 2 N Co-Sätze, die diesem zugeordnet sind, was durch N Bits indexiert werden kann, was somit einer Rate von 1 Bit/Sample entspricht.
  • Die Generierung des Cosatz-Index (Syndrome) der jedem Codewort zugeordnet ist, kann erreicht werden auf eine recheneffiziente Art und Weise durch die eine einfache Faltungsoperation (convolution Operation) (linear in der Anzahl von Koeffizienten) zwischen dem quantisierten Codewort und der Paritäts-Prüfmatrix des Trellis-Codes.
  • Verfeinerungs-Quantisierung:
  • Wie in 4 gezeigt, können die Daten, die von der Syndrome-Codierungseinheit 430 generiert werden, weiter verfeinert werden durch die Verfeinerungs-Quantisierungs-Einheit 440. Im Allgemeinen entspricht eine Ziel-Rekonstruktionsqualität einer bestimmten Quantisierungsschrittgröße. (Z. B. entspricht eine höhere gewünschte Qualität einer feineren Quantisierungsschrittgröße und eine niederigere Qualität entspricht einer gröberen Quantisierungsschrittgröße). Die Qualität wird typischerweise in PSNR (Peak Signal-to-Noise.Ratio bzw. Spitzensignal-zu-Rausch-Verhältnis) (dB) gemessen, wobei PSNR = log10 (2552/MSE), wobei MSE den Mean Squared Error bzw. das mittlere Fehlerquadrat zwischen dem Originalblock und dem codierten Block geteilt durch die Anzahl von Pixeln in dem Block bezeichnet.
  • Für die Pixel-Werte, die Syndrome-codiert werden, ist die Wahl der Basis-Quantisierungsschrittgröße begrenzt durch N. Dies geschieht, um die Wahrscheinlichkeit von Decodierungsfehlern zu minimieren. Somit, unter der Annahme, dass das Baiss-Quantisierungs-Intervall korrekt mit hoher Genauigkeit an den Decodierer übermittelt werden kann, kann sie weiter verfeinert werden auf die Ziel-Quantisierungsschrittgröße. In einem Ausführungsbeispiel kann die Verfeinerungsoperation so einfach sein, wie ein fortschreitendes Unterteilen des Basis-Quantisierungsintervalls in Intervalle einer Größe, die gleich ist zu der Ziel-Quantisierungsschrittgröße. In diesem Fall wird der Index des Verfeinerungsintervalls innerhalb des Basisintervalls zu dem Decodierer gesendet.
  • Der Fachmann wird erkennen, dass das Ausführen von Syndrome-Codieren und die Verfeinerungsquantisierung nur eine mögliche Art der Implementierung und Realisierung der Codierungsgewinne mit Neben-Information ist. Wie oben erwähnt, können andere Konfigurationen Variationen oder Kombinationen der verschiedenen Verarbeitungsstufen, die hierin beschrieben werden, implementiert werden, in Abhängigkeit der verschiedenen Anwendungen der vorliegenden Erfindung. Z. B. kann die Verfeinerungsquantisierungsstufe oder -Prozess weggelassen oder übersprungen werden, wenn sie nicht in bestimmten Anwendungen oder bestimmten Systemumgebungen benötigt wird.
  • Es sei hier angemerkt, dass die Basis-Quantisierungs- und die Verfeinerungs-Quantisierungs-Pegel eingestellt oder angepasst werden können, basierend auf verschiedenen Faktoren, um ein geeignetes Gleichgewicht zwischen Qualität und Effizienz beizubehalten. Diese verschiedenen Faktoren können beinhalten (sind jedoch nicht hierauf beschränkt): Verfügbare Bitrate für die Neben-Information, die Kanalbedingungen und der Schutzbetrag, den der Neben-Kanal vorsehen soll, um einen gewünschten Qualitätspegel zu erreichen, etc.
  • Decodierungs-Fehlerdetektierung/Schutz:
  • Wie in 4 dargestellt, kann der Codierer 316 eine Fehlerdetektier/Schutzeinheit 450 beinhalten. Es sei angemerkt, dass bei dem Codierer-Untersystem Neben-Informations-Codierung im Prinzip ausgeführt wird bezüglich der Statistiken der Fehler zwischen dem Block X, der zu codieren ist und der „besten" Vorhersage Y für diesen Block in dem Hauptkanal-Rahmenspeicher. Da der Codierungsprozess statistisch ist, kann es Decodierungsfehler geben, die detektiert werden müssen. Dies kann erreicht werden durch einen Fehlerschutz-Code, wie z. B. durch einen zyklischen Redundanz-Prüf-Code bzw. CRC-Code (CRC = cyclic redundancy check). In diesem Ausführungsbeispiel sendet der Codierer 316 somit nicht nur das Syndrom bzw. Syndrome für die Neben- Informations-codierten Koeffizienten, sondern auch eine CRC-Prüfung mit ausreichender Stärke der quantisierten Sequenz von Codewörtern. Diese CRC-Prüfung bzw. Prüfsumme kann als eine „Signatur" der quantisierten Codewort-Sequenz dienen. Im Gegensatz zu einem herkömmlichen Codierungs/Decodierungs-Paradigma, ist es die Aufgabe des Decodierers eine Bewegungssuche in dem hier diskutieren neuen Ansatz auszuführen. In einem Ausführungsbeispiel sucht der Decodierer über den Raum von Kandidaten-Vorhersagen, und zwar einem nach dem anderen, um eine Sequenz aus dem Satz benannt durch das Syndrome zu decodieren. Wenn die decodierte Sequenz mit der CRC-Prüfung übereinstimmt, wird eine Decodierung als erfolgreich bekannt gegeben. Es sei angemerkt, dass die CRC ausreichend stark sein muss, um als eine zuverlässige Signatur für die Codewort-Sequenz zu fungieren.
  • Nun bezugnehmend auf 7 wird ein detaillierteres Blockdiagramm des Decodierungs-Untersystems 330 dargestellt. Wie in der 7 gezeigt, kann das Decodierungs-Untersystem 330 die Decodierer-Einheit 332, die Decodierer-Einheit 336 und eine Schätz- und Rekonstruktionseinheit 730 beinhalten. In einem Ausführungsbeispiel kann der Decodierer 336 (der auch als Neben-Informations-Decodierer oder einfach Neben-Decodierer hierin bezeichnet wird) eine Bewegungssucheinheit 710 und eine Syndrome-Decodierungs-Einheit 720 beinhalten. Die Operationen und Funktionen der verschiedenen Einheiten, die in dem Decodierungs-Untersystem 330 enthalten sind, werden in größerem Detail unten beschrieben.
  • Bewegungssuche:
  • In einem Ausführungsbeispiel führt die Bewegungssuch-Einheit 710 eine Bewegungssuche aus, um Kandidaten-Vorhersagen bzw. -Prädiktoren zu generieren, um die Sequenz von quantisierten Codewörtern aus dem Satz, angezeigt durch das empfangene Syndrome zu decodieren. Eine exhaustive bzw. erschöpfende Halb-PixelBewegungssuche kann verwendet werden, um verschiedene Kandidaten-Prädiktoren zu erhalten, was ebenfalls auf der Codierseite in Standard-Video-Algorithmen getan wird. Es sei angemerkt, dass die Verfahren und das System-Framework, das hier diskutiert wird, angewendet werden kann, um irgendwelche anderen ausgereiften Bewegungsschätzprozeduren aufzunehmen, wie z. B. Multi-Frame-Prädiktion, optischer Fluss, Steuergitter-Interpolation (control grid interpolation), etc.
  • In einem Ausführungsbeispiel wird eine Bewegungssuche nicht ausgeführt, wenn der Hauptkanal keine Fehler besitzt oder wenn Bewegungsvektoren nicht Fehler behaftet sind. Es sei angemerkt hier, dass Bewegungssuchoperationen zeitaufwändig und rechenintensiv sein können. Daher, wenn die Bewegungsvektoren ohne Fehler in dem Hauptstrom ankommen, müssen Bewegungssuchoperationen nicht ausgeführt werden.
  • Syndrome-Decodierung:
  • Um mit der vorliegenden Diskussion fortzufahren, wird Syndrome-Decodierung durch die Syndrome-Decodierungs-Einheit 720 ausgeführt. In einem Ausführungsbeispiel wird jeder der Kandidaten-Prädiktoren, die von der Bewegungssucheinheit 710 generiert werden, verwendet, um eine Sequenz von quantisierten Codewörtern aus dem Satz, angezeigt durch das Syndrome zu decodieren. Für den Fall der Trellis-Codes kann diese Decodierung erreicht werden unter Verwendung des Viterbi-Algorithmus. Hierbei wird der Satz von allen Sequenzen, benannt durch das empfangene Syndrome auf einer Trellis dargestellt. Der Viterbi-Algorithmus kann dann verwendet werden, um die Sequenz in diesem Satz, die am „nächsten" zu dem Kandidaten-Prädiktor ist, zu identifizieren. Für andere Codes (z. B. Turbo-Codes) kann der entsprechende Decodierungs-Algorithmus (z. B. iteratives Decodieren) verwendet werden. Wenn diese decodierte Sequenz mit der CRC-Prüfung übereinstimmt bzw. diese erfüllt, dann wird die Decodierung als erfolgreich erklärt. Anderenfalls wird unter Verwendung des Bewegungssuchmoduls der nächste Kandidaten-Prädiktor erhalten und dann wird die Prozedur wiederholt.
  • Schätzung und Rekonstruktion:
  • Sobald die quantisierte Codewort-Sequenz durch die Syndrome-Decodierungs-Einheit 720 wieder gewonnen wurde, wird die wieder gewonnene Codewort-Sequenz an die Schätz- und Rekonstruktions-Einheit 730 (auch als Kombinationseinheit hierin bezeichnet) vorgesehen. Die wieder gewonnene Codewort-Sequenz wird zusammen mit dem Prädiktor, der von dem Hauptkanal zur Verfügung steht, verwendet, um die beste Rekonstruktion der Quelldaten zu erhalten. Wenn X, Y und N als Gauss-Zufalls-Variablen modelliert werden, könnte die beste lineare Schätzung von dem Prädiktor und das quantisierte Codewort verwendet werden, um die Quell-Rekonstruktion zu erhalten. Ein beliebiger fortschrittlicher Signalverarbeitungs-Algorithmus (z. B. räumlich-zeitliche Interpolation) oder Nachverarbeitungsmechanismen kann in dem vorliegenden Framework eingesetzt werden und solche können dazu dienen, die Gesamtperformance des Verarbeitungssystems zu verbessern.
  • Mit anderen Worten, wie in der 7 dargestellt, werden die rekonstruierten Hauptstrom-Daten und die rekonstruierten Nebenstrom-Daten durch die Kombinationseinheit 730 kombiniert, um die Ausgabedaten (z. B. Video-Ausgabedaten) zu generieren. Verschiedene Techniken können verwendet werden, um die rekonstruierten Hauptstrom-Daten und die rekonstruierten Nebenstrom-Daten zu kombinieren, um die Ausgabedaten zu generieren. Z. B. kann eine lineare Gewichtung (basierend auf einer linearen Schätzung) oder beliebige andere nicht-lineare Blendungs- bzw. Mischtechniken, die auf dem Fachgebiet bekannt sind, verwendet werden, um die rekonstruierten Hauptstromdaten und die rekonstruierten Nebenstromdaten zu kombinieren.
  • 8 stellt ein Flussdiagramm eines Verfahrens zum Verarbeiten von Informationen z. B. Videodaten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. Bei Block 810 werden Eingabedaten (z. B. Eingabe-Videodaten) empfangen. Bei Block 820 werden die Eingabe-Videodaten codiert gemäß einem bestehenden Standard (z. B. MPEG-4- oder H.263-Standard), um codierte Daten zu generieren. Bei Block 830 werden die Eingabedaten codiert, basierend auf einer Rekonstruktion der Eingabedaten, um codierte Neben-Information (auch als Hinweis-Information bezeichnet) zu generieren. Bei Block 840 werden die codierten Daten, die bei Block 820 generiert wurden, zu einem Ziel (z. B. einem Decodierungs-Untersystem) über einen ersten Kanal (auch als Hauptkanal bezeichnet) gesendet und die codierte Neben-Information wird zu dem Ziel (d. h. dem Decodierungs-Untersystem) über einen zweiten Kanal (auch als der Neben-Kanal oder Hinweiskanal bezeichnet). Wie zuvor hierin diskutiert wurde, wird der Informationsstrom, der über den Hauptkanal gesendet wird, auch als Hauptstrom bezeichnet, wobei der Informationsstrom, der über den Neben-Kanal gesendet wird, auch als Nebenstrom bezeichnet wird. Bei Block 850 werden bei Empfang der codierten Daten von dem Hauptkanal und der codierten Neben-Information von dem Seitenkanal die empfangenen codierten Daten und die empfangene Neben-Information decodiert, um Ausgabedaten (z. B. Ausgabe-Videodaten) zu generieren.
  • Wie oben beschrieben, ist ersichtlich, das die Verfahren und das System-Framework gemäß verschiedener Ausführungsbeispiele der Erfindung in verschiedenen Systemkonfigurationen, Anwendungen und verschiedene Typen von korrelierten Daten, inklusive Video- und Audio-Daten angewendet und implementiert werden kann. Es ist ersichtlich aus der obigen Beschreibung, dass in einem Verarbeitungssystem, das Neben-Informations-Codierungs/Decodierung verwendet, wie das in der 3 dargestellte System die Systemperformance und die Qualität der Ausgabedaten, die von dem Decodierungs-Untersystem generiert werden, verbessert wird im Vergleich zu dem eines herkömmlichen Systems. Mit anderen Worten, die auf Neben-Information basierte Hinweiskanal-Verfahren/Lösung, wie sie hierin offenbart ist, ist überlegen im Vergleich zu herkömmlichen FEC-basierten Fehlerwiderstandsverfahren/Lösungen, und zwar mindestens hinsichtlich zweier Punkte: (1) Das Neben-Informations-basierte Verfahren/Lösung der vorliegenden Erfindung bewirkt eine viel niedrigere Latenzzeit als FEC-basierte Lösungen bei derselben Performancekurve, da der Hinweiskanal ein gemeinsamer Quell-Kanalcode (joint-source-channel code) ist, der effizient auf einer Makroblock-Basis betrieben werden kann, im Gegensatz zu FEC-Lösungen, die auf einer Rahmen- oder GOP-Basis operieren und somit eine signifikant erhöhte Latenzzeit bewirken; und (2) selbst dann, wenn keine Fehler auf dem Hauptkanal angetroffen werden, kann der Informations-basierte Ansatz der vorliegenden Erfindung in einer verbesserten Qualität resultieren, aufgrund des „Blending" bzw. „Ineinanderführens" von zwei Informationsströmen, wie es oben beschrieben wurde, wohingegen Standard-FEC-basierte Lösungen die Qualität in diesem Fall nicht verbessern können.
  • Während die vorliegende Erfindung beschrieben wurde, mit Bezugnahme auf bestimmte Ausführungsbeispiele und spezifische Beispiele, sei anzumerken und anzuerkennen durch den Fachmann, dass diese Ausführungsbeispiele und Beispiele darstellend sind und dass der Umfang der Erfindung nicht durch diese Ausführungsbeispiele begrenzt ist. Viele Variationen, Modifikationen, Zusätze und Verbesserungen zu diesen beschriebenen Ausführungsbeispielen sind möglich. Es ist beabsichtigt, dass diese Variationen, Modifikationen, Zusätze und Verbesserungen innerhalb des Umfangs der Erfindung, wie er innerhalb der nachfolgenden Ansprüche detailliert dargelegt ist, fallen.

Claims (34)

  1. Ein Verfahren, das Folgendes aufweist: Codieren von Eingangsdaten gemäß einem ersten Codierungsstandard, um codierte Daten zu generieren; Codieren der Eingabedaten basierend auf einer Rekonstruktion der Eingabedaten von den codierten Daten, um codierte Side- bzw. Nebendaten zu generieren, wobei das Codieren der Eingabedaten basierend auf der Rekonstruktion der Eingabedaten Folgendes aufweist: Klassifizieren von Blöcken der Eingabedaten basierend auf deren Korrelation mit einer Rekonstruktion eines momentanen Rahmens der Eingabedaten; und Senden der codierten Daten über einen ersten Kanal und der codierten Nebendaten über einen zweiten Kanal zu einem Ziel.
  2. Verfahren nach Anspruch 1, wobei der erste Codierungsstandard ein Standard, kompatibel mit dem MPEG-4-Standard ist.
  3. Verfahren nach Anspruch 1, wobei der erste Codierungsstandard ein Standard kompatibel mit dem H.263-Standard ist.
  4. Verfahren nach Anspruch 1, wobei die Eingabedaten Videodaten aufweisen.
  5. Verfahren nach Anspruch 4, wobei jeder Rahmen der Eingabedaten, die es zu codieren gilt, aufgeteilt wird in nicht überlappende räumliche Blöcke von Pixeln.
  6. Verfahren nach Anspruch 1, wobei ein Block klassifiziert wird, basierend auf einer Energiedifferenz zwischen dem jeweiligen Block und einem rekonstruierten Block an derselben Stelle.
  7. Verfahren nach Anspruch 1, wobei eine bestimmte Klasse einem bestimmten Grad von Korrelation entspricht.
  8. Verfahren nach Anspruch 1, das weiterhin Folgendes aufweist: Quantisieren der Eingabedaten, um einen Satz von quantisierten Codewörtern entsprechend zu den Eingabedaten zu generieren.
  9. Verfahren nach Anspruch 8, wobei ein Quantisierungsparameter, der verwendet wird zum Quantisieren der Eingabedaten bestimmt wird, basierend auf Statistiken von Restdaten entsprechend zu einer Differenz zwischen den Eingabedaten und der Rekonstruktion der Eingabedaten.
  10. Verfahren nach Anspruch 9, wobei die Restdaten Prädiktionsfehlerinformation generiert von der Codierung der Eingabedaten aufweist.
  11. Verfahren nach Anspruch 8, das weiterhin Folgendes aufweist: Ausführen eines Syndrome-Codierungsprozesses bezüglich der quantisierten Codewörter, um codierte Nebendaten zu generieren.
  12. Verfahren nach Anspruch 11, wobei die generierten, codierten Nebendaten weiterhin durch einen Verfeinerungsquantisierungs-Prozess verfeinert werden.
  13. Verfahren nach Anspruch 11, das weiterhin Folgendes aufweist: Addieren eines Fehlerschutzcodes zu den codierten Nebendaten.
  14. Verfahren nach Anspruch 1, das weiterhin Folgendes aufweist: Decodieren der codierten Daten bei dem Ziel, um rekonstruierte Daten zu generieren; Decodieren der decodierten Nebendaten bei dem Ziel, um rekonstruierte Nebendaten zu generieren.
  15. Verfahren nach Anspruch 14, das weiterhin Folgendes aufweist: Kombinieren der rekonstruierten Daten und der rekonstruierten Nebendaten, um Ausgabedaten zu generieren.
  16. Verfahren nach Anspruch 14, wobei das Decodieren der codierten Nebendaten Folgendes aufweist: Ausführen eines Bewegungssuchprozesses, wenn Bewegungsinformation, die auf dem ersten Kanal empfangen wird, Fehler enthält.
  17. Verfahren nach Anspruch 14, wobei das Decodieren der codierten Nebendaten Folgendes aufweist: Ausführen eines Syndrome-Decodierungsprozesses, um quantisierte Codewörter wieder zu erlangen, die den codierten Nebendaten, empfangen von dem zweiten Kanal entsprechen.
  18. Eine Vorrichtung, die Folgendes aufweist: einen ersten Codierer (312) zum Empfangen von Eingabedaten und zum Codieren der Eingabedaten gemäß einem ersten Codierungsstandard, um codierte Daten zur Sendung bzw. Übertragung über einen ersten Kanal zu generieren; einen zweiten Codierer (316) zum Empfangen der Eingabedaten und einer Rekonstruktion der Eingabedaten von dem ersten Codierer, wobei der zweite Codierer Folgendes aufweist: eine Klassifizierungseinheit (410) zum Klassifizieren von Blöcken der Eingabedaten basierend auf deren Korrelation mit einer Rekonstruktion von einem momentanen Rahmen der Eingabedaten und Mittel (420) zum Codieren der Eingabedaten, basierend zumindest teilweise, auf der Rekonstruktion der Eingabedaten zum Generieren von codierten Nebendaten für die Übertragung über einen zweiten Kanal.
  19. Vorrichtung nach Anspruch 18, wobei der erste Codierungsstandard kompatibel ist mit dem MPEG-4-Standard.
  20. Vorrichtung nach Anspruch 18, wobei der erste Codierungsstandard kompatibel ist mit dem H.263-Standard.
  21. Vorrichtung nach Anspruch 18, wobei die Eingabedaten Videodaten aufweisen.
  22. Vorrichtung nach Anspruch 21, wobei jeder Rahmen der Eingabedaten, die zu codieren sind, aufgeteilt wird in nicht überlappende räumliche Blöcke von Pixeln.
  23. Vorrichtung nach Anspruch 18, wobei ein Block der Eingabedaten klassifiziert wird, basierend auf Energiedifferenzen zwischen dem jeweiligen Block und einem rekonstruierten Block an derselben Stelle.
  24. Vorrichtung nach Anspruch 18, wobei eine bestimmte Klasse einem bestimmten Grad der Korrelation entspricht.
  25. Vorrichtung Anspruch 18, die weiterhin Folgendes aufweist: eine Quantisierungseinheit zum Quantisieren der Eingabedaten, um einen Satz von quantisierten Codewörtern entsprechend zu den Eingabedaten zu generieren.
  26. Vorrichtung nach Anspruch 25, wobei ein Quantisierungsparameter, der zum Quantisieren der Eingabedaten verwendet wird, bestimmt wird, basierend auf Statistiken von Restdaten entsprechend zu einer Differenz zwischen den Eingabedaten und der Rekonstruktion der Eingabedaten.
  27. Vorrichtung nach Anspruch 26 wobei die Restdaten Prädiktionsfehlerinformation aufweisen, die von der Codierung der Eingabedaten generiert wird.
  28. Vorrichtung nach Anspruch 25, die weiterhin Folgendes aufweist: eine Syndrome-Codierungseinheit zum Ausführen von Syndrome-Codierung bezüglich der quantisierten Codewörter, um codierte Nebendaten zu generieren.
  29. Vorrichtung nach Anspruch 28, wobei die codierten Nebendaten, die generiert wurden, weiterhin verfeinert werden durch einen Verfeinerungsquantisierungsprozess.
  30. Vorrichtung nach Anspruch 28, die weiterhin Folgendes aufweist: eine Fehlerschutzeinheit zum Addieren eines Fehlerschutzcodes zu den codierten Nebendaten.
  31. Vorrichtung nach Anspruch 18, die weiterhin Folgendes aufweist: eine Kombinierungseinheit zum Kombinieren der Daten, generiert von dem ersten Codierer und Daten generiert von dem zweiten Decodierer, um Ausgabedaten zu generieren.
  32. Vorrichtung nach Anspruch 31, die weiterhin Folgendes aufweist: eine Bewegungssucheinheit zum Ausführen von Bewegungssuchoperationen, wenn Bewegungsinformation, die auf dem ersten Kanal empfangen wird, Fehler enthält.
  33. Vorrichtung nach Anspruch 31, wobei der zweite Decodierer Folgendes aufweist: eine Syndrome-Decodierungseinheit zum Wiedererlangen von quantisierten Codewörtern entsprechend zu den codierten Nebendaten, empfangen auf dem zweiten Kanal.
  34. Ein maschinenlesbares Medium, das Instruktionen aufweist, die, wenn sie durch eine Maschine ausgeführt werden, bewirken, dass die Maschine Operationen gemäß einem der Ansprüche 1 bis 17 ausführt.
DE602004010081T 2003-03-24 2004-03-23 Verfahren, vorrichtung und system zum codieren und decodieren von seiteninformationen für die multimedia-übertragung Expired - Lifetime DE602004010081T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US396982 2003-03-24
US10/396,982 US7643558B2 (en) 2003-03-24 2003-03-24 Method, apparatus, and system for encoding and decoding side information for multimedia transmission
PCT/US2004/008950 WO2004086631A2 (en) 2003-03-24 2004-03-23 Method, apparatus and system for encoding and decoding side information for multimedia transmission

Publications (2)

Publication Number Publication Date
DE602004010081D1 DE602004010081D1 (de) 2007-12-27
DE602004010081T2 true DE602004010081T2 (de) 2008-09-11

Family

ID=32988908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004010081T Expired - Lifetime DE602004010081T2 (de) 2003-03-24 2004-03-23 Verfahren, vorrichtung und system zum codieren und decodieren von seiteninformationen für die multimedia-übertragung

Country Status (15)

Country Link
US (1) US7643558B2 (de)
EP (1) EP1606953B1 (de)
JP (1) JP4814081B2 (de)
KR (1) KR100967322B1 (de)
CN (1) CN1795679B (de)
AT (1) ATE378780T1 (de)
AU (1) AU2004223383A1 (de)
BR (1) BRPI0408708A (de)
CA (1) CA2520098A1 (de)
DE (1) DE602004010081T2 (de)
ES (1) ES2295895T3 (de)
MX (1) MXPA05010251A (de)
RU (1) RU2005132605A (de)
TW (1) TW200507465A (de)
WO (1) WO2004086631A2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117423B2 (en) * 2002-04-24 2006-10-03 Georgia Tech Research Corp. Methods and systems for multiple substream unequal error protection and error concealment
US8331445B2 (en) * 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US7860158B2 (en) * 2004-08-27 2010-12-28 Mitsubishi Electric Research Laboratories Inc. Coding correlated images using syndrome bits
US7653869B2 (en) * 2005-02-18 2010-01-26 Sony Corporation System and method for error correction in high definition TV signal
JP4445012B2 (ja) * 2005-03-25 2010-04-07 富士通株式会社 パケットの配信帯域制御方法、配信装置及び映像配信システム
US8239766B2 (en) 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
JP4515378B2 (ja) * 2005-11-14 2010-07-28 日本電信電話株式会社 画像復号装置及びプログラム及びコンピュータ読み取り可能な記録媒体
US8605797B2 (en) * 2006-02-15 2013-12-10 Samsung Electronics Co., Ltd. Method and system for partitioning and encoding of uncompressed video for transmission over wireless medium
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
EP2036360B1 (de) * 2006-06-30 2019-11-13 Telecom Italia S.p.A. Verfahren, vorrichtung und system zur robusten videoübertragung mit zusätzlichem informationskanal
CN100466749C (zh) * 2006-12-30 2009-03-04 清华大学 一种基于分布式信源编码的抗误码图像编解码方法
DE102007003187A1 (de) * 2007-01-22 2008-10-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines zu sendenden Signals oder eines decodierten Signals
US20080225780A1 (en) * 2007-03-13 2008-09-18 Nortel Networks Limited Use of distributed hashtables for wireless access mobility management
WO2008126059A2 (en) * 2007-04-17 2008-10-23 Nokia Corporation Feedback based scalable video coding
US8842739B2 (en) * 2007-07-20 2014-09-23 Samsung Electronics Co., Ltd. Method and system for communication of uncompressed video information in wireless systems
US8418032B2 (en) * 2007-12-10 2013-04-09 France Telecom Processing of bit errors in a digital audio bit frame
US20090310786A1 (en) * 2008-06-11 2009-12-17 Quintic Holdings Systems for Channel Coordination of Audio and Data Transmission in a Broadcast Band
US8111755B2 (en) * 2008-06-25 2012-02-07 International Business Machines Corporation Method and system for low-complexity Slepian-Wolf rate estimation in Wyner-Ziv video encoding
JP5016561B2 (ja) * 2008-06-25 2012-09-05 シャープ株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法
US20100111181A1 (en) * 2008-11-06 2010-05-06 Mediatek Inc. Video processing apparatus and methods
US20100166057A1 (en) * 2008-12-29 2010-07-01 Gregory Huchet Differential Data Representation for Distributed Video Coding
JP5071413B2 (ja) * 2009-03-02 2012-11-14 沖電気工業株式会社 動画像符号化装置、方法及びプログラム、並びに、動画像符号化システム
US8824571B1 (en) * 2009-03-06 2014-09-02 Comtech Ef Data Corp. Telecommunication block code
US9369759B2 (en) * 2009-04-15 2016-06-14 Samsung Electronics Co., Ltd. Method and system for progressive rate adaptation for uncompressed video communication in wireless systems
US20110052087A1 (en) * 2009-08-27 2011-03-03 Debargha Mukherjee Method and system for coding images
TWI815295B (zh) 2010-04-13 2023-09-11 美商Ge影像壓縮有限公司 樣本區域合併技術
BR112012026391B1 (pt) 2010-04-13 2020-12-15 Ge Video Compression, Llc Herança em amostra de arranjo em subdivisão multitree
CN106412608B (zh) 2010-04-13 2019-10-08 Ge视频压缩有限责任公司 用于解码、生成数据流的方法和解码器
CN106358045B (zh) 2010-04-13 2019-07-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
WO2013134244A2 (en) 2012-03-06 2013-09-12 Antares Pharma, Inc. Prefilled syringe with breakaway force feature
WO2013147775A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Reconstructing codewords using a side channel
RU2541851C2 (ru) * 2013-05-29 2015-02-20 Открытое акционерное общество "Головное системное конструкторское бюро Концерна ПВО "Алмаз-Антей" имени академика А.А. Расплетина" (ОАО "ГСКБ "Алмаз-Антей") Устройство защиты от ошибок
EP3637620A1 (de) 2013-11-07 2020-04-15 Telefonaktiebolaget LM Ericsson (publ) Verfahren und vorrichtungen zur vektorsegmentierung zur codierung
US9986260B2 (en) * 2014-11-14 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Census transform data compression methods and systems
KR102409113B1 (ko) * 2017-08-17 2022-06-15 삼성전자주식회사 무선 통신 시스템에서 주파수 격자 변조를 위한 장치 및 방법
US10708596B2 (en) * 2017-11-20 2020-07-07 Ati Technologies Ulc Forcing real static images
JP6523498B1 (ja) * 2018-01-19 2019-06-05 ヤフー株式会社 学習装置、学習方法および学習プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4191970A (en) * 1978-05-15 1980-03-04 Bell Telephone Laboratories, Incorporated Interframe coder for video signals
US6674802B2 (en) * 1996-07-15 2004-01-06 Snell & Wilcox Limited Video process where part of compressed version of video signal accompanies video signal itself
US6078616A (en) 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6353629B1 (en) * 1997-05-12 2002-03-05 Texas Instruments Incorporated Poly-path time domain equalization
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
US6293142B1 (en) * 1998-08-14 2001-09-25 Mts Systems Corporation Electromagnetic method of liquid level monitoring
CN1110205C (zh) 1998-12-15 2003-05-28 国家科学技术委员会高技术研究发展中心 并行解码的数字信源解码器
KR100327412B1 (ko) * 1999-08-02 2002-03-13 서평원 에러 정정을 위한 영상 부호화 및 복호화 방법
TW540248B (en) * 2000-07-19 2003-07-01 Koninkl Philips Electronics Nv Method and device for generating a multiplexed MPEG signal
JP3664381B2 (ja) * 2000-09-29 2005-06-22 Kddi株式会社 ビデオ分割符号化伝送装置
US6888888B1 (en) * 2001-06-26 2005-05-03 Microsoft Corporation Simultaneous tuning of multiple channels using intermediate frequency sub-sampling

Also Published As

Publication number Publication date
CN1795679B (zh) 2010-11-24
MXPA05010251A (es) 2005-12-14
WO2004086631A2 (en) 2004-10-07
BRPI0408708A (pt) 2006-03-07
KR20050113665A (ko) 2005-12-02
RU2005132605A (ru) 2006-05-10
JP4814081B2 (ja) 2011-11-09
KR100967322B1 (ko) 2010-07-05
TW200507465A (en) 2005-02-16
CA2520098A1 (en) 2004-10-07
ATE378780T1 (de) 2007-11-15
EP1606953B1 (de) 2007-11-14
JP2006521759A (ja) 2006-09-21
ES2295895T3 (es) 2008-04-16
DE602004010081D1 (de) 2007-12-27
CN1795679A (zh) 2006-06-28
WO2004086631A3 (en) 2005-06-23
US7643558B2 (en) 2010-01-05
US20040194008A1 (en) 2004-09-30
EP1606953A2 (de) 2005-12-21
AU2004223383A1 (en) 2004-10-07

Similar Documents

Publication Publication Date Title
DE602004010081T2 (de) Verfahren, vorrichtung und system zum codieren und decodieren von seiteninformationen für die multimedia-übertragung
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69625945T2 (de) Hierarchischer Bildkodierer und -dekodierer
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE69636150T2 (de) System zur Kodierung von bewegten Bildern, und System zur variablen Längenkodierung
DE69632391T2 (de) Verfahren und gerät zur fehlerkontrolle bei der videokompression
DE60109423T2 (de) Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs)
EP2614647B1 (de) Kompression und dekompression von referenzbildern in einem videokoder
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE69726670T2 (de) Bildkoder, Bilddekoder und Bildübertragungssystem
DE69434668T2 (de) Adaptives Codierungs- und Decodierungsverfahren mit variabler Länge für Bilddaten
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69635369T2 (de) Videokodierungsvorrichtung
DE69916027T2 (de) Videokompressionssystem welches auch codierungsentscheidungsdaten komprimiert
EP0752789B1 (de) Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Videodatenstrom
DE10253418A1 (de) Verfahren zum Codieren/Decodieren eines Bildsignals
DE10022331A1 (de) Verfahren zur Transformationscodierung von Bewegtbildsequenzen
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE19644510A1 (de) Verfahren zum Festlegen von Codiertyp und Codiermethode zur Objektformcodierung
DE10022520A1 (de) Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
DE60210757T2 (de) Vorrichtung zur videokodierung und -aufzeichnung
WO2001086958A1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
DE10219640A1 (de) Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt

Legal Events

Date Code Title Description
8364 No opposition during term of opposition