-
Die Erfindung betrifft allgemein Videodaten-Sendedienste spezieller ein Datenwiedersendeverfahren und ein Sende- und Wiedersendeverfahren für Videodaten, zum selektiven Rücksenden eines Videodatenpakets unter Verwendung eines CONTRAXPAND TM-Puffers.
-
Innerhalb der internationalen Standards für Mobilkommunikationstechniken, die sich auf eine Technik mit breitbandigem Codemultiplexzugriff (W-CDMA = wideband code division multiplexing access) stützen, wurde in jüngerer Zeit entsprechend einer Empfehlung von ITU-T (International Telecommunications Union Telecommunications Standard) ein Videodaten-Mobilkommunikationsstandard für eine Fernsehübertragungsleitung und eine Audioübertragungsleitung vorgeschlagen.
-
Bei derartigen internationalen Standards wird für Videodaten-Mobilkommunikation allgemein eine Videodaten-Puffertechnik verwendet. Der Videopuffer speichert die mit variabler Rate kompressionscodierten Videodaten für eine vorbestimmte Zeitperiode vor dem Ausgeben mit einer Rate, die an den Kommunikationskanal angepasst ist. Wenn ein Kommunikationskanal vom Typ mit variabler Bitrate ist, bei dem Daten und entsprechend einer Variation der Rate komprimierter Videodaten verarbeitet werden, ist kein Puffern erforderlich. Jedoch verfügen bei den meisten leistungsgebundenen/drahtlosen digitalen Kommunikationsverfahren die Kommunikationskanäle über eine konstante Bitrate. Im Ergebnis ist eine Videopufferungstechnik erforderlich, die Videodaten variabler Rate in Anpassung an einen Kommunikationskanal mit konstanter Bitrate steuern kann.
-
Selbst dann, wenn ein Kommunikationskanal vom Typ mit variabler Bitrate ist, wird beim Eingeben von Videodaten mit einer Rate über der maximal verfügbaren Rate des Kommunikationskanals ein Netzwerk überlastet. Um eine derartige Überlastung zu verhindern, ist eine Videopufferungstechnik erforderlich, die die Rate von Videodaten begrenzt, oder eine dazu ähnliche Steuerungstechnik für die Rate.
-
Darüber hinaus werden entsprechend den internationalen Standards zu Videodaten-Mobilkommunikation verschiedene Fehlerkontrolltechniken verwendet, um die Flexibilität hinsichtlich einer Erzeugung von Bitfehlern in kompressionscodierten Videodaten variabler Rate in einem Übertragungskanal zu erhöhen. Insbesondere werden Fehlerkontrolltechniken wie Neusynchronisierung, Datenunterteilung und reversibles Codieren mit variabler Länge gemäß MPEG-4 (MPEG = Moving Picture Experts Group) angewandt. Diese Fehlerkontrolltechniken sorgen für Verbesserungen der Bildqualität in der Größenordnung von 2–3 dB.
-
Zumindest ein Einzelpunkt internationaler Standards betreffend das Rücksenden von Mobilvideodaten ist ein Protokoll zum Aktivieren des Rücksendens komprimierter Videodaten. Dieses Protokoll enthält eine Adaptionsschicht 3 (nachfolgend als ”AL3” bezeichnet), die gesondert für die Videodaten definiert ist. Die AL3 ist eine Schicht zum Mitteilen einer speziellen Paketadresse zum Rücksenden eines beschädigten Videopakets. Demgemäß wird ein der speziellen Paketadresse entsprechendes vorab gespeichertes Paket zurückgesendet.
-
1 ist ein Blockdiagramm, das eine herkömmliche Videodaten-Kompressionsvorrichtung zeigt. Diese Vorrichtung ist ein Grundmodell, wie es in einem internationalen Standard für Videokompressionscodierung definiert ist, z. B. in ITU-T H.263, MPEG-1, MPEG-2 und MPEG-4. Wie es in 1 dargestellt ist, verfügt die Videodaten-Kompressionsvorrichtung über eine Einheit 1 für diskrete Cosinustransformation (nachfolgend als ”DCT” bezeichnet), die Videodaten mit Makroblockeinheit vor der Kompression aufnimmt, einen Quantisierer 2, einen Inversquantisierer 3, eine Einheit 4 für inverse diskrete Cosinustransformation (nachfolgend als ”IDCT” bezeichnet) sowie einen Rahmenspeicher 5 zur Videodatenspeicherung. Diese Vorrichtung verfügt ferner über einen Codierer 6 für variable Länge (nachfolgend als ”VLC” bezeichnet), der durch den Quantisierer 2 quantisierte Videodaten in Daten variabler Länge umsetzt, einen Videomultiplexer 7 und einen die komprimierten Videodaten ausgebenden Puffer 8.
-
Der Puffer 8 wirkt als Einzelport zum Aufnehmen/Ausgeben von Videodaten. Er verfügt über eine Belegung, die periodisch auf Grundlage einer Adressendifferenz zwischen einem Lesezeiger und einem Schreibzeiger überwacht wird. Auch teilt der Puffer 8 einer mit dem Quantisierer 2 verbundenen Videoratensteuerung 9 die überwachte Belegung mit. Der Puffer 8 bildet eine Rückkopplungsschleife mit der Videoratensteuerung 9.
-
Die Videoratensteuerung 9 beurteilt die Belegung O(k) des Puffers 8 und überträgt entsprechend dem Beurteilungsergebnis einen geeigneten Quantisierungskoeffizienten Q(k) an den Quantisierer 2.
-
Der Quantisierungskoeffizient Q(k) ist eine Quantisierungsschrittgröße, die einer der ganzen Zahlen von 1 bis 31 entspricht. Wenn der Quantisierungskoeffizient Q(k) groß ist, wird die Ausgabemenge von Daten aus dem Quantisierer 2 verringert. Wenn der Quantisierungskoeffizient Q(k) klein ist, wird die Menge von Ausgangsdaten vom Quantisierer 2 erhöht.
-
Videodaten variabler Rate und variabler Länge, die vom Quantisierer 2, vom VLC 6 und vom Videomultiplexer 7 kompressionscodiert werden, werden seriell in den Puffer 8 eingegeben. Aus dem Puffer 8 werden die Daten seriell als Videodaten konstanter Rate und variabler Länge mit der Eingabereihenfolge ausgegeben.
-
Bei tatsächlichen Kommunikationssystemen wird als Puffer 8 häufig eine FIFO-Einheit verwendet, die einem Steuerungsvorgang für serielle Eingabe/Ausgabe unterzogen wird, wobei kein Direktzugriffsbetrieb möglich ist. Diese FIFO-Einheit verfügt über einen Funktionsstift, der dazu verwendbar ist, den Zustand mit voller oder leerer Belegung anzuzeigen. 2a und 2b veranschaulichen herkömmliche Sende- und Rücksendeprozesse für Videodaten.
-
2 ist ein Blockdiagramm zum Veranschaulichen eines Sendeprozesses für Videodaten auf Grundlage des Standards ITU-T H.223, und es zeigt eine Systemmultiplexschicht, die vorhanden ist, um den Sendeprozess für Videodaten auszuführen. Die Systemmultiplexschicht verfügt über einen Sender mit einem AL3-Sendeprozessor 10 und einem Multiplexer 20 sowie einen Empfänger mit einem Demultiplexer 30 und einem AL3-Empfangsprozessor 40.
-
Die sendende AL3 beinhaltet ferner einen Sendepuffer Bs 13 zum Rücksenden eines zu sendenden Pakets und einer Sendeabfolgenummer V(S) 12 eines zu sendenden Datenwerts I-PDU. Die Sendeabfolgenummer V(S) 12 des Datenwerts I-PDU wird immer dann um eins inkrementiert, wenn dieser Datenwert gesendet wird. Der zuletzt gesendete Datenwert I-PDU wird in den Sendepuffer Bs 13 eingespeichert. Die minimale Größe des Sendepuffers Bs 13, wie vom sendenden AL3-Prozessor 10 benötigt, ist im Standard ITU-T H.324 definiert, und die tatsächliche Puffergröße wird über einen offenen logischen Kanal auf Grundlage des Standards ITU-T H.245 an den Empfänger übertragen.
-
Als Abfolgenummer eines durch den Sender gesendeten Datenwerts I-PDU wird ein Wert N(S) definiert, der einer Abfolgenummer N(R) eines Datenwerts I-PDU gleich wird, der vom Empfänger zu empfangen ist. Wenn die Sendeabfolgenummer N(S) des anschließend zu empfangenden Datenwerts I-PDU einem Bereitschaftszustand entspricht und der Empfangsabfolgenummer N(R) gleich wird, erkennt der Empfänger, dass der Datenwert I-PDU normal gesendet wurde. Immer dann, wenn der Datenwert I-PDU normal empfangen wird, wird eine Empfangsabfolgenummer V(R) 42 um eins inkrementiert.
-
2b ist ein Flussdiagramm zum Veranschaulichen eines Videodaten-Rücksendeprozesses auf Grundlage des Standards ITU-T H.245. Der Sender kann auf eine Rücksendeanforderung vom Empfänger zwei Reaktionen zeigen. Die eine Reaktion besteht darin, einen angeforderten Datenwert I-PDU unmittelbar durchzuleiten, und die andere Reaktion besteht darin, die Rücksendeanforderung zurückzuweisen, wenn der Rücksendevorgang ungültig ist.
-
Das Rücksenden des angeforderten Datenwerts I-PDU erfordert im Wesentlichen einen umgekehrten logischen Kanal, der im Standard ITU-T H.245 definiert ist. Ein ”umgekehrter logischer Kanal” ist ein spezieller Steuerungskanal, der zum Steuern und Aufrechterhalten der Konfiguration eines Anrufs verwendet wird. Dieser umgekehrte logische Kanal verwaltet einen Anruf zwischen dem Sender und dem Empfänger gemeinsam mit einem in Vorwärtsrichtung arbeitenden logischen Kanal.
-
Diese zwei Steuerungskanäle wechseln verschiedene charakteristische Information für die Endstellen aus, bevor ein Anruf konfiguriert wird. Während des Kommunikationsvorgangs erfassen die Steuerungskanäle den Verbindungszustand des Anrufs, und sie führen Vorgänge entsprechend dem erkannten Verbindungszustand aus. Auch zeigen die Steuerungskanäle beim Auftreten eines Problems dasselbe an und kontrollieren es. Darüber hinaus senden die Steuerungskanäle im Prozess des Sendens des angeforderten Datenwerts I-PDU eine Rücksendeanforderungsnachricht SREJ PDU an den Sender, und sie warten auf Antwort.
-
In 2b prüft eine AL3-Empfangseinheit 60, wenn eine AL3-Sendeeinheit 50 eine Abfolgenummer V(S) eines zu sendenden Datenwerts I-PDU anhängt und den sich ergebenden Datenwert I-PDU sendet, ob die Abfolgenummer N(S) des aktuell gesendeten Datenwerts I-PDU der Abfolgenummer V(R) eines zu empfangenden Datenwerts I-PDU entspricht (Schritt S10). Wenn die zwei Abfolgenummern gleich sind, führt die AL3-Empfangseinheit 60 normalerweise einen Empfangsvorgang für den anschließenden Datenwert I-PDU aus.
-
Wenn jedoch die Abfolgenummer N(S) des gesendeten Datenwerts I-PDU nicht mit der Abfolgenummer V(R) des empfangenen Datenwerts I-PDU übereinstimmt, sendet die AL3-Empfangseinheit 60 eine Rücksendeanforderungsnachricht SREJ PDU an die AL3-Sendeeinheit 50 (Schritt S20). Bei Empfang der Rücksendeanforderungsnachricht SREJ PDU von der AL3-Empfangseinheit 60 prüft die AL3-Sendeeinheit 50, ob die I-PDU mit der entsprechenden Abfolgenummer immer noch im Sendepuffer Bs 13 enthalten ist, und sie sendet den entsprechenden Datenwert I-PDU entsprechend dem Prüfergebnis (Schritt S30).
-
Wenn der entsprechende Datenwert I-PDU im Sendepuffer Bs 13 nicht vorhanden ist, sendet die AL3-Sendeeinheit 50 eine Wiedersendesperrnachricht DRTX PDU an die AL3-Empfangseinheit 60 (Schritt S40). Die AL3-Empfangseinheit 60 stoppt ihren Timer entweder im Wiedersendefreigabezustand oder im Wiedersendesperrzustand, und sie empfängt den folgenden Datenwert I-PDU. Im Ergebnis wird der Wiedersendevorgang beendet.
-
Bei herkömmlichen Sende- und Wiedersendeprozessen für Videodaten muss der normale Sendevorgang einmal verschoben werden, wenn der Wiedersendevorgang eingeleitet wird. Demgemäß sind die herkömmlichen Sende- und Wiedersendeprozesse für Videodaten nachteilig, da dann, wenn der normale Videodaten-Sendevorgang häufig für lange Zeit für den Videodaten-Wiedersendevorgang aufgehoben wird, der nachfolgende Prozess für die anschließenden Videodaten durch den Sender ebenfalls angehalten werden muss.
-
Darüber hinaus kann das anschließende Senden der folgenden Videodaten selbst dann nicht angehalten werden, wenn die Videodaten-Wiedersendeanforderung vom Empfänger erzeugt wird. In diesem Fall fließen Daten in den Puffer in der Videodaten-Kompressionsvorrichtung über, was zu einer Unterbrechung des Kommunikationsvorgangs für normales Senden von Videodaten führt.
-
Ferner werden beim herkömmlichen Videodaten-Wiedersendeprozess die bereits paketierten Videodaten als Grundeinheit für den Sendevorgang verarbeitet. Im Ergebnis müssen, wenn ein lokaler Schaden eines Videodatenpakets auftritt, alle Videodatenteile des Videodatenpakets erneut gesendet werden, anstatt dass nur der zugehörige Videodatenteil erneut gesendet werden müsste. Demgemäß kann, wenn ein Wiedersendevorgang nur für eine spezielle Position in einem Bild erforderlich ist, die spezielle Position nicht gesondert verarbeitet werden.
-
Andererseits wird in einer Video-Sende/Empfangs-Schicht in 2a ein Fehler durch einen Videodecodierer auf Grundlage der Standards ITU-T H.263 und MPEG erkannt und verarbeitet. Die Erzeugung eines Bitfehlers kann abhängig davon, wie der Videodecodierer konzipiert ist, unterschiedlich beurteilt werden. In den meisten leitungsgebundenen Kommunikationsumgebungen verfügt der Videodecodierer über keine gesonderte Fehlerkorrektureinrichtung. Im Ergebnis muss der Videodecodierer, wenn ein Fehler entsteht, einen Kopfabschnittscode GOB oder einen Bildstartcode, der den Start eines Bilds anzeigt, für Wiedersynchronisationszwecke heraussuchen. Da jedoch zur Wiedersynchronisation nicht alle Information bis zu einer Bitposition wiederhergestellt werden kann, erscheint auf dem Schirm ein gestörtes Bild oder das vorige Bild.
-
Es können verschiedene Vorgehensweisen zum Erkennen einer Fehlerentstehung durch den Videodecodierer beim Wiederherstellen von Videodaten erdacht werden. Erstens wird, im Fall eines Codes fester Länge, ein Fehler dann erkannt, wenn ein Fehlerwert fester Länge kein vorbestimmter Wert ist oder das verarbeitete Ergebnis kein definierter Wert ist. In einem derartigen Fall ist es möglich, die anschließend gelieferten Bitströme kontinuierlich zu decodieren.
-
Wenn ein Fehler in einem Code mit variabler Länge erzeugt wird, ist es unmöglich, die anschließend gesendeten Bitströme kontinuierlich zu decodieren. Wenn ein Fehler auftritt und ein Fehlerwert variabler Länge nicht aus einer definierten Tabelle abgerufen werden kann oder ein fehlerhafter Wert aus einer definierten Tabelle abgerufen wird, liegt das Verarbeitungsergebnis nicht in einem definierten Bereich. Im Ergebnis gibt der Videodecodierer alle anschließenden Daten auf und kehrt zu einem Vorgang zurück, in dem er einen Abtastvorgang nach einer Bitposition für die nächste Synchronisierung ausführt.
-
Auf diese Weise kann Fehlerentstehung leicht erkannt werden, da unmittelbar nach der Fehlerentstehung eine anormale Decodierung mit variabler Länge auftritt. Jedoch liegt, mit Ausnahme von Codes fester Länge zur Synchronisierung, wie bei einem Kopfabschnitt, ein wesentliches Problem in der Entstehung eines Fehlers in Daten fester Länge. Diese Fehlerentstehung kann nicht unmittelbar erkannt werden, oder es ist möglich, dass sie überhaupt nicht erkannt wird, was zu einer Aufhäufung von Bildstörungen führt.
-
Beim Erkennen eines Fehlers verarbeitet der Videodecodierer den Fehler im Allgemeinen mittels eines Fehlerverdeckungsalgorithmus, durch den Videoinformation an der entsprechenden Position durch Information aus der Bildumgebung oder durch Videoinformation an derselben Position im vorigen Bild ersetzt wird.
-
Zusammengefasst gesagt, kann, wenn eine Wiedersendeanforderung hinsichtlich eines vom Videodecodierer in 2a erkannten Fehlers gesendet wird, die Anforderung von der Systemmultiplexschicht und vom Videocodierer nicht geeignet verarbeitet werden. Ferner zeigt die Systemmultiplexschicht den Nachteil, dass sie Daten nur in Paketeinheit erkennt und wiedersendet, da sie Videoinformation in einem Paket nicht individuell erkennen kann. Außerdem kann ein mit einem herkömmlichen Videocodierer verbundener Puffer in ihm enthaltene Videodaten nicht gesondert senden.
-
Die
US 5,768,533 A zeigt ein Video-Codierverfahren, welches segmentierte Frames verwendet und im Fall eines Fehlers eine Wiedersendeanforderungsnachricht verwendet. Ein Sender sendet eine Reihe von Videodatenpaketen zu einem Empfänger, wobei die Videodatenpakete eine Sequenz von Frames darstellen, die ein bewegtes Bild bilden. Der Empfänger empfängt die Videodatenpakete und überprüft diese Pakete auf Fehler. Wenn ein Paket ohne Fehler empfangen wurde, wird in einem Videostatusspeicher ein Eintrag gesetzt, der anzeigt, dass ein Paket für einen speziellen Bereich eines Frames bereit ist. Wenn der Empfänger jedoch einen Fehler empfängt, sendet er eine Wiedersendeanforderungsnachricht an den Sender, dass dieser das gesamte Paket mit dem Fehler wiederholt sendet. Dabei fügt der Sender auf die Wiedersendeanforderungsnachricht hin das erneut zu übertragene Videodatenpaket in die Reihe von Paketen ein, die an den Empfänger übertragen werden. Die Reihe von Datenpaketen kann Videodaten aus unterschiedlichen Frames enthalten, wobei der Videostatusspeicher im Empfänger Einträge für die einzelnen Frames enthält, um die Datenpakete für die verschiedenen Frames zu erkennen.
-
Die
US 5,537,416 A zeigt ein Verfahren zur Speicherung von wiederholt zu sendenden Informationsblocks, insbesondere für die Videoübertragung. Im Falle eines Fehler bei einer Übertragung werden Daten aus einem Speicher gelesen, wobei deren Adresse sich aus Parametern des zuletzt empfangenen Informationsblocks ergeben. Daraus werden die aktuellen Adressen der Parameter berechnet. Der entsprechende Datenblock wird aus dem Speicher gelesen wird und noch einmal gespeichert wird, jedoch diesmal an einer Adresse des Informationsblocks, in der er erneut übertragen wird. Der erneut zu sendende Datenblock wird an einer neuen Sendeadresse gespeichert, sodass er für eine weitere Übertragung zur Verfügung steht, auch wenn der Informationsblock selbst beschädigt ist.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein System zum Kodieren und Dekodieren von Videodaten und Videodatenwiedersendeverfahren zum Ausführeneines Wiedersendeprozesses hinsichtlich eines lokalen Bitfehlers in Videodaten unter Verwendung eines CONTRAXPANDTM-Puffers zu schaffen, bei dem eine Verzögerung hinsichtlich der Videosendezeit verringert werden kann, die sich aus dem Wiedersenden von Videodaten ergibt.
-
Die Aufgabe wird hinsichtlich der Verfahren und des Systems durch die Merkmale der unabhängigen Ansprüche gelöst.
-
Zusätzliche Merkmale und Aufgaben der Erfindung werden in der folgenden Beschreibung dargelegt und gehen teilweise aus dieser hervor, ergeben sich aber andererseits auch beim Ausüben der Erfindung. Die Aufgaben und andere Vorteile der Erfindung werden durch die Maßnahmen erzielt, wie sie speziell in der Beschreibung, den Ansprüchen und den beigefügten Zeichnungen dargelegt sind.
-
Es ist zu beachten, dass sowohl die vorstehende allgemeine Beschreibung als auch die folgende detaillierte Beschreibung beispielhaft und erläuternd für die beanspruchte Erfindung sind.
-
Die Zeichnungen, die beigefügt sind, um das Verständnis der Erfindung zu fördern, veranschaulichen Ausführungsbeispiele der Erfindung und dienen zusammen mit der Beschreibung dazu, deren Prinzipien zu erläutern.
-
1 ist ein Blockdiagramm, das eine herkömmliche Videodaten-Kompressionsvorrichtung zeigt;
-
2a und 2b veranschaulichen herkömmliche Prozesse zum Senden und Wiedersenden von Videodaten;
-
3a ist eine Ansicht, die einen CONTRAXPANDTM-Puffer zeigt, wie er zum Senden und Wiedersenden zwischen einem Videocodierer und einem Videodecodierer gemäß der Erfindung verwendet wird;
-
3b ist eine schematische Ansicht zum Veranschaulichen der Verbindung zwischen mehreren CONTRAXPANDTM-Puffern; und
-
4 ist ein Flussdiagramm zum Veranschaulichen eines Wiedersendeprozesses zwischen einem Videocodierer und einem Videodecodierer gemäß der Erfindung.
-
3a zeigt den Aufbau eines CONTRAXPANDTM-Puffers, der zum Senden und Wiedersenden von Daten zwischen einem Videocodierer und einem Videodecodierer gemäß der Erfindung verwendet wird. Bei der Erfindung wird der CONTRAXPANDTM-Puffer als Puffer 8 in 1 verwendet.
-
Gemäß 3a ist der CONTRAXPANDTM-Puffer gemäß Codes Variabler Länge unterteilt. D. h., dass es möglich ist, da Speicherbereiche entsprechend den Codes variabler Länge unterteilt sind, im CONTRAXPANDTM-Puffer individuellen Zugriff in der Einheit der Codes variabler Länge zu erlangen. Der CONTRAXPANDTM-Puffer ist auch entsprechend Blöcken B1-B396 unterteilt, von denen jeder Codeeinheit-Speicherbereich QDC, QAC1, QAC2, ..., QACn variabler Länge beinhaltet. Die quantisierten und mit variabler Länge codierten DCT-Koeffizienten werden in jeden der Codeeinheit-Speicherbereiche variabler Länge eingespeichert.
-
Jeweils sechs der Blöcke B1-B396 bilden einen entsprechenden von Makroblöcken MBA-MB66. Das System liefert Blockeinheit-Kopfcodes und Makroblockeinheit-Makrokopfcodes an den CONTRAXPANDTM-Puffer. Auch beinhaltet jeder der Blöcke B1-B396 Codebereiche zum Einspeichern der Codes variabler Länge entsprechend Gleichstrom- und Wechselstromkomponenten QDC und QAC, Längenbereiche zum Anzeigen von Bitlängen der Codebereiche sowie Laufbereiche zum Anzeigen der Ausführung der Gleichstrom- oder Wechselstromkomponenten QDC oder QAC des entsprechenden Blocks. 3b ist eine schematische Ansicht zum Veranschaulichen der Verbindung zwischen mehreren CONTRAXPANDTM-Puffern.
-
Gemäß 3b verfügt das System über mehrere CONTRAXPANDTM-Puffer zum Erhöhen der gesamten Pufferkapazität. Durch Erhöhen der Pufferkapazität wird ein Datenschreibvorgang hinsichtlich eines Puffers ausgeführt, während ein Datenlesevorgang hinsichtlich anderer Puffer ausgeführt wird. Der Wert TR ist ein einer Zeitmarkierung entsprechender Zeitbezugswert, der einen ganzzahligen Wert im Bereich von 1 bis 255 einnimmt.
-
4 ist ein Flussdiagramm zum Veranschaulichen eines Wiedersendeprozesses zwischen einem Videocodierer und einem Videodecodierer gemäß der Erfindung. Der Videocodierer und der Videodecodierer sind durch die Systemmultiplexschicht verbunden. Wenn ein normaler Sendeprozess hinsichtlich aller Videodaten eines Bilds ausgeführt wird, speichert der CONTRAXPANDTM-Puffer die Videodaten entsprechend einer umlaufenden Adressierweise in Blockeinheiten, die Codes variabler Länge beinhalten.
-
Wie es bereits unter Bezugnahme auf 3 ausgeführt wurde, enthält jeder Block Gleichstrom- und Wechselstromkomponenten QDC bzw. QAC mit Codes variabler Länge. Anders gesagt, ist der CONTRAXPANDTM-Puffer ein gesonderter Speicher mit einer Kombination aus quantisierten Gleichstromkomponenten (nachfolgend als ”QDCs” bezeichnet) und quantisierten Wechselstromkomponenten (nachfolgend als ”QACs” bezeichnet), die jeweils in den Speicherzellen untergebracht werden.
-
Jeder Block beinhaltet einen Wiedersendespeicherbereich QDC-R mit derselben Größe wie der des Bereichs QDC. Auch beinhaltet jeder Block die QACs an den Speicherstellen 1 bis 63 sowie Wiedersendespeicherbereiche QAC1-R bis QAC63-R (siehe 3b). Wenn z. B. für den normalen Sendeprozess ein CONTRAXPANDTM-Puffer TRi+1 verwendet wird, speichert ein CONTRAXPANDTM-Puffer TRi Videodaten QDC-R(*) und QAC-R(*), wie sie vor TRi+1 gesendet wurden, um einen selektiven Wiedersendeprozess zu ermöglichen.
-
Der Puffer TRi+1 und der Puffer TRi arbeiten im Verlauf der Zeit auf komplementäre Weise und mit abwechselnder Speicherfunktion. Die zusätzlichen Speicherbereiche werden dazu verwendet, quantisierte Codes variabler Länge zu speichern, die zum Wiedersenden erforderlich sind, so dass sie bei der Erzeugung einer Wiedersendeanforderung verfügbar sind.
-
Die Wiedesendeanforderung wird vom Videodecodierer erzeugt und die Position der wiederzusendenden Information wird entsprechend dem Typ eines Steuerungskanals auf Grundlage des Standards ITU-T H.245 übertragen. Demgemäss werden die Wiedersendeanforderung und die Antwort durch das Protokoll H.245 gestützt, und der tatsächliche Wiedersendevorgang wird zwischen dem Videocodierer und dem Videodecodierer aufgebaut.
-
Wenn der CONTRAXPAND TM-Puffer keine Wiedersendeanforderung von der AL3-Empfangseinheit 200 empfängt, verwendet er die Speicherbereiche QDC-R/QAC-R nicht, sondern er führt einen normalen Videodaten-Sendevorgang aus (Schritt S100). Nachdem alle Videodaten eines Bilds verarbeitet sind, d. h. nachdem die Videodaten mit einer Abfolgenummer V(S) für einen beliebigen Satz QDC(*)/QAC(*) gemultiplext und entmultiplext sind und an die AL3-Empfangseinheit 200 gesendet wurden (Schritt S100), wird der Wiedersendevorgang hinsichtlich der entsprechenden Videodaten gestartet, wenn über den H.245-Kanal eine Wiedersendeanforderung übertragen wird.
-
Die AL3-Empfangseinheit 200 sendet eine Wiedersendeanforderungsnachricht an die AL3-Sendeeinheit 100 (Schritt 200). Diese Wiedersendeanforderungsnachricht enthält Werte TR und K, die die Speicheradresse und den Bereich des entsprechenden Satzes QDC-R/QAC-R anzeigen. Die wiederzusendenden Videodaten QDC-R/QAC-R (TR, K) werden auf Grundlage der in der Wiedesendeanforderungsnachricht enthaltenen Werte TR und K abgetastet, mit den aktuell zu sendenden Videodaten gemultiplext und an die AL3-Empfangseinheit 200 gesendet (Schritte S300 und S400).
-
Die AL3-Empfangseinheit 200 verarbeitet sowohl die normal gesendeten Videodaten als auch die wiedergesendeten Videodaten zur Bilddecodierung und -wiederherstellung. Die AL3-Empfangseinheit 200 prüft, ob die Werte TR und K der wiedergesendeten Videodaten QDC-R/QAC-R (TR, K) den in der Wiedersendeanforderungsnachricht enthaltenen Werten TR und K entsprechen. Wenn diese Werte gleich sind, beendet die AL3-Empfangseinheit 200 den Wiedersendeprozess.
-
Während der Wiedersendevorgang ausgeführt wird, ist die tatsächliche Senderate um ein Ausmaß verringert, das der Wiedersenderate entspricht. Jedoch wird die Rate nur dann verringert, wenn die Wiedersendezeit die Gesamtkapazität des CONTRAXPANDTM-Puffers überschreitet. Auch ist in den meisten Fällen die Wiedersendezeit sehr kurz und bewirkt nur eine unwesentliche Verringerung der Senderate, falls überhaupt.
-
Wie es aus der obigen Beschreibung ersichtlich ist, werden gemäß der Erfindung die wiederzusendenden Videodaten zusammen mit Videodaten paketiert, die aktuell zu senden sind. Danach werden beide Daten gesendet, um sowohl eine Zeitverzögerung zu überwinden, als auch das Erfordernis zu beseitigen, den Sendevorgang wegen des Wiedersendens von Videodaten zu unterbrechen. Ferner kann der Wiedersendeprozess hinsichtlich eines lokalen Bitfehlers in Videodaten unter Verwendung eines CONTRAXPANDTM-Puffers ausgeführt werden, der Videodaten im Adressenraum eines Bilds unterteilen und speichern kann. Daher kann die Erfindung eine verzerrende Fehlerausbreitung in benachbarte Videodaten aufgrund eines lokalen Bitfehlers genau verhindern.