-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft einen Bilddecodierer und insbesondere
eine Verbesserung der Bildqualität,
die durch einen während
der Bilddatenübertragung
hervorgerufenen Datenfehler oder Datenverlust verschlechtert ist.
-
2. Beschreibung des Standes der Technik
-
Seit
kurzem läuft
die Normung von Bildcodierungsverfahren mit dem Ziel der Verwirklichung
von Bewegtbild-Übertragungssystemen.
Diese Systeme schließen
Bildtelephon, Videokonferenzen und Videoabrufdienste (VOD: Video
an Demand) ein. Die ITU-T-Empfehlung H.263 und MPEG (Moving Picture Experts
Group) sind als internationale Normen wohlbekannt.
-
Beispielsweise
führt das
von der ITU-T-Empfehlung H.263 festgesetzte Codierungsverfahren,
in 2 gezeigt, in regelmäßigen Abständen eine Intrabildcodierung
an zeitlich aufeinanderfolgenden Rahmen (I-Bilder a und i) aus und
führt zu
anderen Zeitpunkten eine Interbildcodierung für jedes der P-Bilder (interbildcodierte
Rahmen b–h,
j–) unter
Bezugnahme auf den unmittelbar vorhergehenden Rahmen aus, um zeitliche
Redundanz zu beseitigen. In der folgenden Diskussion wird ein Rahmen,
der mit dem Intrabildcodierungsverfahren codiert ist, als I-Bild
bezeichnet, während
ein Rahmen, der mit dem Interbildcodierungsverfahren codiert ist,
als P-Bild bezeichnet wird.
-
Diese
Technologie ist von Hiroshi Yasuda in "Standardization of Multimedia Coding", S. 84–97, Maruzen
(1991), beschrieben worden.
-
Das
von der Empfehlung H.263 vorgeschlagene Verfahren, das die Interbildcodierung
jedes Bildes bzw. Rahmens durch Herstellen von Bezügen zu dem
unmittelbar vorhergehenden Rahmen ausführt, erfordert, dass alle Rahmen
in der richtigen Reihenfolge übertragen
werden. Bei einer Telephonleitung oder einer ISDN-Leitung, über welche
Daten übertragen
werden, nachdem eine Verbindung zu einem Partner aufgebaut worden
ist, erreichen die Daten den Partner ohne Verlust und in der richtigen
Reihenfolge.
-
Bei
einem Ethernet-LAN oder einem ATM-Netz, in dem die Daten in kleine Einheiten
(Pakete oder Zellen genannt) eingeteilt werden, bevor sie übertragen
werden, besteht die Möglichkeit,
dass Pakete verloren gehen oder in einer unrichtigen Reihenfolge übertragen
werden.
-
Im
Allgemeinen benutzen Netze ein Protokoll (beispielsweise TCP: Transmission
Control Protocol), bei dem die Sendeeinrichtung Pakete mit zugeordneten
laufenden Nummern sendet und die Empfangseinrichtung die Pakete
in die richtige Reihenfolge umordnet, ihre Ankunft bestätigt und
Anforderungen wiederholter Übertragungen
nicht angekommener Pakete an die Sendeeinrichtung zurückschickt, um
diese Probleme zu bewältigen
und die Netzzuverlässigkeit
zu erhöhen.
-
Wenn
jedoch der Netzbetrieb instabil ist und häufig Pakete verloren gehen,
kann ein wiederholtes Senden unter diesem Protokolltyp die Entstehung von
langen kumulativen Verzögerungen
hervorrufen, was für
eine Echtzeitübertragung
von Bewegtbildern fehl am Platz ist. In einigen Fällen ist
es vorzuziehen, neue Daten anzuzeigen, auch wenn dies das Überspringen
eines Rahmens bedeutet, und eben nicht alte Daten wiederholt zu übertragen,
insbesondere, wenn neue Daten unverzüglich angezeigt werden können.
-
Rundsenden
und Sammelsenden sind Schemata, um an eine Vielzahl von Orten gleichzeitig
Daten zu senden. Wenn jedoch während
der Übertragung
eines Pakets zu einem der Orte ein Paket-Ausfall auftritt, erfordert
das oben genannte Protokoll, dass das gleiche Paket auch an jene
Orte gesendet wird, die es erfolgreich empfangen haben, wodurch sich
die Netzbelastung wesentlich erhöht.
-
Rundsenden
und Sammelsenden werden deshalb unter Verwendung eines Protokolls
ausgeführt,
das ein Paket nicht wiederholt übermittelt,
wie etwa das User Datagram Protocol (UDP); was zur Folge hat, dass
die Wahrscheinlichkeit eines Paket-Verlusts zunimmt.
-
In
Funknetzen ist die Datenfehlerrate oder Datenausfallrate nicht nur
dann hoch, wenn Daten in Paketen gesendet werden, sondern auch,
wenn eine Leitungsverbindung aufgebaut wird, bevor Daten gesendet
werden. Außerdem
wird mitunter, wenn die Fehler über
das Fehlerkorrekturvermögen
der Empfangseinrichtung hinausgehen, eine Folge von Datenelementen
verworfen, um irgendeinen anderen Teil der Daten erfolgreich zu
empfangen. Datenausfälle
in Funknetzen sind deshalb tendenziell umfangreicher als in drahtgebunden
Netzen.
-
Ein
weiteres Problem ist, dass die Verarbeitungsgeschwindigkeit der
Sendeeinrichtung nicht immer jener der Empfangseinrichtung gleich
ist. Beispielsweise würde
ein Decodieren aller Rahmen in einer langsameren Empfangseinrichtung
viele Rahmendaten in den Wartezustand versetzen und dadurch lange
Verzögerungszeiten
hervorrufen. Dies erfordert, dass die Empfangseinrichtung vorsätzlich Rahmen überspringt.
Wenn es jedoch keine Decodierungsdaten für einen Rahmen gibt, der dem
aktuellen Rahmen vorhergeht, kann bei dem Interbildcodierungsverfahren
gemäß dem Stand
der Technik der aktuelle Rahmen nicht decodiert werden, und folglich
ist es nicht möglich,
Rahmen wie beabsichtigt zu überspringen.
-
3 zeigt
ein Beispiel für
einen Rahmenausfall, der während
einer Übertragung
von Rahmen auftreten kann. Wenn der Rahmen e ausfällt oder
wegen einer langsamen Verarbeitung nicht decodiert werden kann,
können
die P-Bilder (f, g, j) erst decodiert werden, wenn das nächste I-Bild,
i, empfangen worden ist.
-
Folglich
ist, um alle Rahmen erfolgreich über ein
Netz zu senden, in welchem häufig
ein Ausfall oder Überspringen
von Rahmen auftritt, eine Intrabildcodierung bei allen Rahmen effizienter.
Die Probleme bei diesem Verfahren, das keine Interbildcodierung
verwendet, bestehen jedoch darin, dass es eine zeitliche Redundanz
gibt und dass sich die Datenübertragungsleistung
verschlechtert.
-
Folglich
gibt es, um Bewegtbild-Daten über ein
Netz zu übertragen,
in welchem häufig
Datenausfälle
vorkommen, seit langem einen Bedarf an einem Bildcodierungssystem,
das eine hohe Codiereffizienz und eine schnelle Wiederherstellung,
falls die Bildqualität
verschlechtert ist, sicherstellt.
-
In
EP 0 763 944 A2 ist
eine Anordnung offenbart, in welcher ein Rahmen ausgewählt wird,
um als Referenzrahmen zu dienen, wenn P-Bilder codiert werden, bei
Empfang einer Bestätigung,
dass der Rahmen von einem Decodierer erfolgreich empfangen worden
ist. Der Referenzrahmen wird dann entweder in eine Referenzrahmen-Speichereinheit
oder zusammen mit anderen empfangenen Rahmen in einen Ringpuffer
gespeichert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem
ersten Aspekt der Erfindung umfasst ein Datendecodierer eine Empfangseinrichtung,
die so konfiguriert ist, dass sie codierte Daten, die durch prädiktive
Codierung codiert sind, und eine Referenzrahmennummer eines Referenzrahmens, der
bei der prädiktiven
Codierung verwendet wird, über
eine Übertragungsleitung
empfängt,
eine Decodierungseinrichtung, die so konfiguriert ist, dass sie die
codierten Daten unter Verwendung von Rahmendaten, die durch die
Referenzrahmennummer angegeben werden, decodiert, wobei die codierten
Daten von der Empfangseinrichtung empfangen worden sind, eine Decodierungsstatussignal-Sendeeinrichtung,
die so konfiguriert ist, dass sie ein Decodierungsstatussignal,
das ein Decodierungsergebnis jedes durch die Decodierungseinrichtung
decodierten Rahmens angibt, und eine dem Rahmen zugeordnete Rahmennummer
an einen Bildcodierer ausgibt, eine Rahmendaten-Speichereinrichtung,
die so beschaffen ist, dass sie mehrere Rahmen, die durch die Decodierungseinrichtung
erfolgreich decodiert wurden, speichert und einen letzten Rahmen
von wenigstens einem Rahmen, der früher als der Referenzrahmen
verwendet wurde und durch die Referenzrahmennummer angeben wird,
als den letzten Referenzrahmen managt, eine Referenzrahmen-Angabeeinrichtung,
die so konfiguriert ist, dass sie angibt, welcher der mehreren in
der Rahmendaten-Speichereinrichtung gespeicherten Rahmen der letzte
Referenzrahmen ist, und eine Referenzrahmenauswahl- und -löscheinrichtung,
die so beschaffen ist, dass sie einen ältesten Rahmen, der von dem
letzten Referenzrahmen verschieden ist, unter Verwendung der Angabe
der Referenzrahmen-Angabeeinrichtung auswählt und den ältesten
Rahmen löscht,
wenn der Bedarf entsteht, aus der Rahmendaten-Speichereinrichtung
Rahmendaten zu löschen.
-
Die
Referenzrahmen-Angabeeinrichtung kann einen Zeiger umfassen, der
so konfiguriert ist, dass er auf den letzten Rahmen unter den mehreren gleichzeitig
im Speicher befindlichen Rahmen zeigt.
-
Dieser
Aspekt schafft außerdem
ein Verfahren zum Decodieren von Daten, das umfasst: Empfangen codierter
Daten, die durch prädiktive
Codierung codiert werden, und einer Referenzrahmennummer eines Referenzrahmens,
der bei der prädiktiven Codierung
verwendet wird, Decodieren der codierten Daten unter Verwendung
von Rahmendaten, die durch die Referenzrahmennummer angegeben werden,
Ausgeben eines Decodierungsstatussignals, das ein Decodierungsergeb nis
eines durch die Decodierungseinrichtung decodierten Rahmens angibt, und
der dem Rahmen zugeordneten Rahmennummer an einen Bildcodierer,
Speichern mehrerer Rahmendatenelemente in einem Datenspeicher, wenn diese
erfolgreich decodiert worden sind, Managen eines letzten Rahmens
von wenigstens einem Rahmen, der früher als der Referenzrahmen
verwendet wurde und durch die Referenzrahmennummer angegeben wird,
als einen letzten Referenzrahmen, einschließlich des Bereitstellens einer
Angabe darüber, welches
der mehreren Elemente, die in dem Datenspeicher gespeichert sind,
der letzte Referenzrahmen ist, und Auswählen eines ältesten Rahmens, der von dem
letzten Referenzrahmen verschieden ist, unter Verwendung dieser
Angabe und Löschen
des ältesten
Rahmens, um zu ermöglichen,
dass weitere erfolgreich decodierte Elemente von Rahmendaten in
den Datenspeicher gespeichert werden.
-
Die
Angabe des letzten Referenzrahmens kann durch einen Zeiger bereitgestellt
werden, der so beschaffen ist, dass er auf den letzten Rahmen unter den
mehreren gleichzeitig im Speicher befindlichen Rahmendatenelementen
zeigt.
-
Gemäß einem
zweiten Aspekt der Erfindung umfasst ein Datendecodierer eine Empfangseinrichtung,
die so konfiguriert ist, dass sie auf einer Blockbasis codierte
Daten, die durch prädiktive
Codierung codiert sind, und eine Referenzrahmennummer eines Referenzrahmens
sowie eine Blocknummer, die bei der prädiktiven Codierung verwendet
werden, über eine Übertragungsleitung
empfängt,
wobei ein Rahmen in mehrere Blöcke
unterteilt ist, eine Decodierungseinrichtung, die so konfiguriert
ist, dass sie die codierten Daten unter Verwendung von Blockdaten, die
durch die Referenzrahmennummer und die Blocknummer angegeben werden,
decodiert, wobei die codierten Daten durch die Empfangseinrichtung empfangen
werden, eine Decodierungsstatussignal-Sendeeinrichtung, die so konfiguriert
ist, dass sie ein Decodierungsstatussignal, das ein Decodierungsergebnis
jedes durch die Decodierungseinrichtung decodierten Datenblocks
angibt, und die Rahmennummer sowie die Blocknummer, die den codierten
Daten zugeordnet sind, an einen Bildcodierer ausgibt, eine Rahmendaten-Speichereinrichtung,
die so beschaffen ist, dass sie mehrere Rahmen, die durch die Decodierungseinrichtung
erfolgreich decodiert worden sind, auf Blockbasis speichert und
einen letzten Rahmen von wenigstens einem Rahmen, der früher als
der Referenzrahmen verwendet wurde und durch die Referenzrahmennummer
angegeben wird, als den letzten Referenzrahmen auf Blockbasis managt,
eine Referenzrahmen-Angabeeinrichtung, die so konfiguriert ist,
dass sie eine Angabe liefert, welcher der meh reren in der Rahmendaten-Speichereinrichtung
gespeicherten Rahmen der letzte Referenzrahmen entsprechend der
Referenzrahmennummer ist, und eine Referenzrahmenauswahl- und -löscheinrichtung,
die so beschaffen ist, dass sie einen ältesten Rahmen, der von dem
letzten Referenzrahmen verschieden ist, unter Verwendung der Angabe der
Referenzrahmen-Angabeeinrichtung auswählt und auf Blockbasis einen
Block des ältesten
Rahmens löscht,
wenn ein Bedarf entsteht, Rahmendaten aus der Rahmendaten-Speichereinrichtung
zu löschen.
-
Die
Referenzrahmen-Angabeeinrichtung kann ein Zeiger sein, der so konfiguriert
ist, dass er auf den letzten Referenzrahmen unter den mehreren Rahmen,
die in der Rahmendaten-Speichereinrichtung gespeichert sind, zeigt.
-
Dieser
Aspekt schafft außerdem
ein Verfahren zum Decodieren von Daten, das umfasst: Empfangen auf
Blockbasis von codierten Daten, die durch prädiktive Codierung codiert werden,
und einer Referenzrahmennummer eines Referenzrahmens und einer Blocknummer,
die bei der prädiktiven
Codierung verwendet werden, wobei ein Rahmen in mehrere Blöcke unterteilt
ist, Decodieren der codierten Daten unter Verwendung von Blockdaten,
die durch die Referenzrahmennummer und die Blocknummer angegeben
werden, Ausgeben eines Decodierungsstatussignals, das ein Decodierungsergebnis
eines durch die Decodierungseinrichtung decodierten Datenblocks
angibt, und der dem Datenblock zugeordneten Rahmennummer, an einen
Bildcodierer, Speichern auf Blockbasis mehrerer Rahmendatenelemente,
wenn sie erfolgreich decodiert wurden, in einem Datenspeicher, Managen
eines letzten Rahmens von wenigstens einem Rahmen, der früher als der
Referenzrahmen verwendet wurde, als einen letzten Referenzrahmen,
einschließlich
des Bereitstellens einer Angabe darüber, welches der mehreren Elemente,
die in dem Datenspeicher gespeichert sind, der letzte Referenzrahmen
ist, Auswählen
eines ältesten
Rahmens, der von dem letzten Referenzrahmen verschieden ist, unter
Verwendung dieser Angabe und Löschen
auf Blockbasis eines Blocks des ältesten
Rahmens, um zu ermöglichen,
dass weitere erfolgreich decodierte Elemente von Rahmendaten in
dem Speicher gespeichert werden.
-
Die
Angabe kann durch einen Zeiger bereitgestellt werden, der so beschaffen
ist, dass er auf den letzten Referenzrahmen unter den mehreren gleichzeitig
im Speicher befindlichen Rahmendatenelementen zeigt.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Die
vorliegende Erfindung wird umfassender verstanden anhand der nachfolgenden
ausführlichen Beschreibung
und beigefügten
Zeichnung bevorzugter Ausführungsformen
der Erfindung.
-
In
der Zeichnung ist:
-
1 ein
Blockdiagramm, das ein Beispiel für eine Schaltungsanordnung
eines Bilddecodierers (Empfangseinrichtung) zeigt, der in einer
ersten Ausführungsform
verwendet wird;
-
2 ein
konzeptuelles Schema, das eine herkömmliche Codierung zeigt;
-
3 ein
konzeptuelles Schema, das ein Beispiel für eine Codierung zeigt, wenn
in einem herkömmlichen
System ein Übertragungsfehler
auftritt;
-
4 ein
konzeptuelles Schema, das ein Beispiel für den Betrieb mit einer Referenzrahmenauswahl-
und -löscheinrichtung
zeigt;
-
5 ein
konzeptuelles Schema (1), das ein Beispiel für den Betrieb zeigt, wenn eine
Referenzrahmenauswahl- und -löscheinrichtung
in der in 1 gezeigten ersten Ausführungsform
verwendet wird;
-
6 ein
konzeptuelles Schema (2), das ein Beispiel für den Betrieb zeigt, wenn eine
Referenzrahmenauswahl- und -löscheinrichtung
in der in 1 gezeigten ersten Ausführungsform
verwendet wird.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
(A) Erste Ausführungsform
-
In
der beigefügten
Zeichnung sind eine Konfiguration, der Betrieb und das Ergebnis
eines Bewegtbild-Decodierers (Empfangseinrichtung) gezeigt, der
in der ersten Ausführungsform
verwendet wird.
-
Der
Bewegtbild-Decodierer gemäß der vorliegenden
Erfindung aktualisiert ein Referenzbild auf Rahmenbasis oder auf
Blockbasis, wobei ein Block ein Teil eines Rahmens ist. Wenn Bilddaten
auf einer Rahmenbasis verarbeitet werden, wird jedes Mal, wenn ein
Rahmen aktualisiert wird, ein Decodierungsstatussignal zurückgeschickt
und das Referenzbild aktualisiert; wenn Bilddaten auf einer Blockbasis
verarbeitet werden, wird jedes Mal, wenn ein Block aktualisiert
wird, das Decodierungsstatussignal zurückgeschickt und das Referenzbild
aktualisiert. Die Verarbeitung und die Konfiguration, die nachstehend
beschrieben sind, finden auf Rahmen und Blöcke Anwendung, obwohl in einigen
Teilen der Beschreibung nur Rahmen erwähnt sind.
-
Der
Bilddecodierer (Empfangseinrichtung) in der ersten Ausführungsform
ist dadurch gekennzeichnet, dass der Decodierer den letzten Rahmen (oder
Block), der als Referenzbild benutzt wird (im Folgenden als letzter
Referenzrahmen bezeichnet), in den Rahmenspeicher speichert.
-
Eine
Schaltungsanordnung des Bewegtbild-Decodierers (Empfangseinrichtung),
der in der ersten Ausführungsform
verwendet wird, ist in 1 gezeigt.
-
Wie
in 1 gezeigt ist, umfasst ein Bewegtbild-Decodierer
(Empfangseinrichtung) 100 ein codierte Daten empfangendes
Modul 101, ein Referenzrahmen-Vergleichsmodul 102, ein Referenzrahmen-Aktualisierungsmodul 103,
ein Referenzrahmen-Speichermodul 104, ein Rahmen-Speichermodul 105,
ein Referenzrahmenauswahl- und -löschmodul 106, ein
Decodierungsmodul 107, ein Bestätigungssignal-Sendemodul 108,
ein Bewegtbild-Ausgabemodul 109 und ein Auffrischsignal-Sendemodul 110.
-
Das
codierte Daten empfangende Modul 101 empfängt codierte
Bewegtbilddaten von dem sendenden Bewegtbild-Codierer. Das Modul
leitet empfangene codierte Daten wie auch Daten, die mit den codierten
Daten multiplexiert sind, wie etwa eine Intra-/Inter-Codierungskennung
und eine Referenzrahmennummer, an das Decodierungsmodul 107 weiter, außerdem sendet
es Sendeeinrichtungsinformationen, gegebenenfalls mit den codierten
Daten multiplexiert, an das Decodierungsmodul 107. Außerdem leitet
das codierte Daten empfangende Modul die Referenzrahmennummer an
das Referenzrahmen-Vergleichsmodul 102 weiter.
-
Das
Referenzrahmen-Vergleichsmodul 102 vergleicht die Referenzrahmennummer,
die in jedem empfangenen Rahmen (oder Block) enthalten ist, mit der
im Referenzrahmen-Speichermodul 104 gespeicherten Referenzrahmennummer.
Wenn zwei Referenzrahmennummern nicht übereinstimmen, sendet das Referenzrahmen-Vergleichsmodul 102 eine
Referenzrahmen-Aktualisierungsanforderung an das Referenzrahmen-Aktualisierungsmodul 103 und übergibt
ihm eine neue Referenzrahmennummer.
-
Das
Referenzrahmen-Aktualisierungsmodul 103 liest bei Empfang
einer Aktualisierungsanforderung von dem Referenzrahmen-Vergleichsmodul 102 Rahmendaten
(oder Blockdaten), die der neuen Referenzrahmennummer zugeordnet
sind, aus dem Rahmen-Speichermodul 105 und schreibt, um
die Aktualisierung durchzuführen,
die Rahmennummer und die Rahmendaten in das Referenzrahmen-Speichermodul 104.
Außerdem
leitet das Referenzrahmen-Aktualisierungsmodul 103 die
Referenzrahmennummer an das Referenzrahmenauswahl- und -löschmodul 106 weiter.
-
Das
Referenzrahmen-Speichermodul 104 ist ein Speichermedium,
das Referenzrahmendaten zur Verwendung bei einer Interbilddecodierung
speichert, wie etwa eine Speicherschaltung. Dieses Modul wird durch
das Referenzrahmen-Aktualisierungsmodul 103 und das Decodierungsmodul 107 aktualisiert.
-
Das
Rahmen-Speichermodul 105 ist ein Medium, das decodierte
Rahmendaten (oder Blockdaten) enthält, wie etwa eine Speicherschaltung.
Von dem Decodierungsmodul 107 decodierte Daten eines Rahmens
(oder Blocks) werden in das Rahmen-Speichermodul 105 geschrieben;
die Daten werden nach Bedarf durch das Referenzrahmenauswahl- und
-löschmodul 106 gelöscht. Außerdem verfolgt
das Rahmen-Speichermodul 105, welcher Rahmen (oder Block)
der letzte Referenzrahmen ist.
-
Das
Referenzrahmenauswahl und -löschmodul 106 rettet
den letzten Referenzrahmen in dem Rahmen-Speichermodul 105.
Das heißt,
das Modul hält
den letzten Referenzrahmen basierend auf der vom Referenzrahmen-Aktualisierungsmodul 103 empfangenen
Referenzrahmennummer und löscht Rahmen
(oder Blöcke),
die dem letzten Referenzrahmen vorhergehen, aus dem Rahmen-Speichermodul 105.
Der letzte Referenzrahmen wird nicht gelöscht, solange er noch nicht
aktualisiert worden ist.
-
Das
Decodierungsmodul 107 decodiert empfangene codierte Daten
und sendet die resultierenden decodierten Daten an das Bewegtbild-Ausgabemodul 109.
Bei einem I-Bild schreibt das Decodierungsmodul 107 decodierte
Daten und die Rahmennummer in das Referenzrahmen-Speichermodul 104 und
das Rahmen-Speichermodul 105, um das Referenzrahmenbild
zu aktualisieren; bei einem P-Bild decodiert das Modul Daten durch
Herstellen von Bezügen
zu Daten, die in dem Referenzrahmen-Speichermodul 104 gespeichert
sind, und schreibt decodierte Daten und die Rahmennummer in das
Rahmen-Speichermodul 105. Wenn mittels einer zyklischen
Blockprüfung
ein Übertragungsfehler
festgestellt wird oder wenn die Bilddaten nicht decodiert werden
können,
weil im Referenzrahmen-Speichermodul 104 kein Referenzrahmen
gespeichert ist, schreibt das Decodierungsmodul 107 keine
Daten in das Referenzrahmen-Speichermodul 104 und das Rahmen-Speichermodul 105.
-
Das
Bestätigungssignal-Sendemodul 108 sendet
das Bestätigungssignal
an den Bewegtbild-Codierer (Sendeeinrichtung), um ihn über den Rahmen
zu informieren, der erfolgreich decodiert worden ist.
-
Das
Bewegtbild-Ausgabemodul 109 gibt vom Decodierungsmodul 107 empfangene,
decodierte Daten an eine Bildschirmeinrichtung aus.
-
Das
Auffrischsignal-Sendemodul 110 sendet bei Empfang einer
Auffrischanforderung von einem Anwender ein Auffrischsignal an den
Bewegtbild-Codierer (Sendeeinrichtung).
-
Als
Nächstes
wird die Funktionsweise des Bilddecodierers (Empfangseinrichtung)
beschrieben, der in der ersten Ausführungsform verwendet wird.
-
4 zeigt
das Referenzrahmen-Aktualisierungsverfahren, das in Reaktion auf
das Bestätigungssignal
(ACK) ausgeführt
wird, wenn das Referenzrahmenauswahl- und -löschmodul 106 nicht
verwendet wird. Es wird angenommen, dass das Rahmen-Speichermodul 105 drei
Rahmen enthält.
-
Erfolgreich
decodierte Rahmen (a, b, c, d) werden in das Rahmen-Speichermodul 105 gespeichert.
Wenn das Rahmen-Speichermodul 105 voll ist, wird der älteste Rahmen
gelöscht,
und dann wird ein neuer Rahmen hinzugefügt. Beispielsweise wird, wenn
der Rahmen d gespeichert wird, der Rahmen a gelöscht. Statt gelöscht zu
werden, kann der Rahmen a direkt mit dem Rahmen d überschrieben
werden.
-
Wenn
ein Übertragungsfehler
oder ein Decodierungsfehler auftritt, wird der Rahmen nicht in das Rahmen-Speichermodul 105 gespeichert.
-
Wenn
das Referenzrahmenauswahl- und -löschmodul 106 nicht
verwendet wird, bereiten kontinuierliche Bestätigungssignalfehler ein Problem. Das
heißt,
wenn die Rahmen f und g erfolgreich decodiert und in das Rahmen-Speichermodul 105 gespeichert
worden sind, aber das Bestätigungssignal (ACK),
das an den Bewegtbild-Codierer zurückgeschickt werden sollte,
nicht kontinuierlich zurückgeschickt
wird, werden die Rahmen f und g nicht als Referenzrahmen verwendet.
-
Der
nächste
Rahmen, h, wird ebenfalls erfolgreich decodiert und in das Rahmen-Speichermodul 105 gespeichert.
Zu diesem Zeitpunkt wird jedoch der Rahmen d gelöscht. Folglich kann der nächste Rahmen,
i, der erfolgreich empfangen wird, nicht decodiert werden, weil
der Referenzrahmen d schon aus dem Rahmen-Speichermodul 105 gelöscht worden
ist.
-
Wie
oben beschrieben ist, können
kontinuierliche Decodierungsstatussignalfehler einen notwendigen
Referenzrahmen löschen,
wodurch sich die Codiereffizienz vermindert.
-
5 zeigt
das Referenzrahmen-Aktualisierungsverfahren, das in Reaktion auf
das Bestätigungssignal
(ACK) ausgeführt
wird, wenn das Referenzrahmenauswahl- und -löschmodul 106 verwendet
wird. Es wird angenommen, dass das Rahmen-Speichermodul 105 drei
Rahmen enthält.
-
Erfolgreich
decodierte Rahmen (a, b, c, d) werden in das Rahmen-Speichermodul 105 gespeichert.
Zu diesem Zeitpunkt wird der letzte Referenzrahmen unter Verwendung
eines Merkers oder eines Zeigers gemanagt. In 5 ist
die Nummer eines Rahmens, der als letzter Referenzrahmen verwendet wird,
umkreist.
-
Wenn
ein neuer Rahmen zu dem Rahmen-Speichermodul 105, das voll
ist, hinzugefügt wird,
wird der älteste
Rahmen, der vom letzten Referenzrahmen verschieden ist, gelöscht, und
dann wird ein neuer Rahmen hinzugefügt. Beispielsweise wird, wenn
der Rahmen d gespeichert wird, der Rahmen a gelöscht. Statt gelöscht zu
werden, kann der Rahmen a auch direkt mit dem Rahmen d überschrieben
werden.
-
Der
Rahmen e, bei dem ein Übertragungsfehler
oder ein Decodierungsfehler auftrat, wird nicht in das Rahmen-Speichermodul 105 gespeichert.
Außerdem
wird, wenn ein Decodierungsfehler auftrat, der letzte Referenzrahmen
vorübergehend
für ungültig erklärt. In 5 wird
ein Kreis zu dem Zeitpunkt gelöscht,
zu dem der Rahmen e verarbeitet wird. Der Grund hierfür ist, dass
dann, wenn ein Decodierungsfehler auftritt, nicht bestimmt werden
kann, ob der letzte Referenzrahmen b im Rahmen-Speichermodul 105 gehalten
werden soll oder nicht. Es ist zu beachten, dass auch dann kein
Problem entstehen wird, wenn der Rahmen b als letzter Referenzrahmen
im Rahmen-Speichermodul 105 gehalten wird.
-
Noch
wird dann ein Problem entstehen, wenn der Bestätigungssignal-(ACK-)Fehler
dauernd auftritt. Die erfolgreich decodierten Rahmen f und g werden
im Rahmen-Speichermodul 105 gespeichert. Sie werden jedoch
nicht als Referenzrahmen verwendet, da das Bestätigungssignal (ACK) wegen eines
Fehlers nicht an den Bewegtbild-Codierer zurückgesendet werden konnte. Während dieses
Zeitabschnitts wird der Rahmen d, der als Referenzrahmen verwendet
wird, im Rahmen-Speichermodul 105 gehalten. Dies ermöglicht,
die Rahmen h und i erfolgreich zu decodieren.
-
6 zeigt
das Referenzrahmen-Aktualisierungsverfahren, das in Reaktion auf
sowohl das Bestätigungssignal
(ACK) als auch das Negativrückmeldungssignal
(NACK) ausgeführt
wird, wenn das Referenzrahmenauswahl- und -löschmodul 106 der ersten
Ausführungsform
verwendet wird. Es wird angenommen, dass das Rahmen-Speichermodul 105 bis zu
drei Rahmen enthalten kann.
-
Die
Rahmen a bis d sowie die Rahmen k und folgende werden in Reaktion
auf das Signal NACK verarbeitet, während die Rahmen e bis j in
Reaktion auf das Signal ACK verarbeitet werden. In 6 geht der
Codierer in den ACK-Modus über,
wenn er das Signal NACK empfängt
oder keines der beiden Signale empfängt, und geht in den NACK-Modus über, wenn
er zwei kontinuierliche ACK-Signale empfängt.
-
Erfolgreich
decodierte Rahmen werden in das Rahmen-Speichermodul 105 gespeichert,
und der letzte Referenzrahmen wird wie in dem Beispiel gemanagt,
in welchem der Codierer eine Verarbeitung in Reaktion auf das Bestätigungssignal
(ACK) ausführt.
Die Rahmen e und h, bei denen ein Übertragungsfehler auftrat,
oder der Rahmen f, der nicht decodiert werden konnte, weil es keinen
im Rahmen- Speichermodul 105 gespeicherten
Referenzrahmen gab, und der letzte Referenzrahmen werden vorübergehend
für ungültig erklärt.
-
Auch
wenn dauernd ein Bestätigungssignal-(ACK-)Fehler
auftritt, entsteht kein Problem. Die erfolgreich decodierten Rahmen
i und j werden in das Rahmen-Speichermodul 105 gespeichert.
Sie werden jedoch nicht als Referenzrahmen verwendet, da das Bestätigungssignal
(ACK) wegen eines Fehlers nicht an den Bewegtbild-Codierer zurückgesendet werden
konnte. Während
dieses Zeitabschnitts wird der Rahmen g, der als letzter Referenzrahmen
verwendet wird, im Rahmen-Speichermodul 105 gehalten. Dies
ermöglicht,
die Rahmen k und l erfolgreich zu decodieren, den NACK-Modus ermöglichend.
-
Wie
oben beschrieben wurde, wird der letzte Referenzrahmen (oder -block)
im Rahmen-Speichermodul 105 gehalten. Folglich gibt es
auch dann, wenn dauernd ein Decodierungsstatussignalfehler auftritt,
eine geringe Wahrscheinlichkeit, dass der notwendige Referenzrahmen
gelöscht
ist, und deshalb ist die Codiereffizienz erhöht.
-
Außerdem speichert
der in dieser Ausführungsform
verwendete Decodierer nur notwendige Rahmen (oder Blöcke) im
Speicher, wodurch die Größe des Referenzrahmen-Speichers
auf einem Minimum gehalten wird.
-
Variationen der ersten Ausführungsform
-
In 1 sind
das Referenzrahmen-Speichermodul 104 und das Rahmen-Speichermodul 105 getrennte
Module. Diese Konfiguration ist nicht immer erforderlich. Die Rahmendaten
können
in einem Speichermodul gespeichert sein, wobei ein Zeiger auf den
Referenzrahmen zeigt. Diese Konfiguration beseitigt die Notwendigkeit,
während
der Referenzrahmenaktualisierung Daten aus dem Rahmen-Speichermodul 105 in
das Referenzrahmen-Speichermodul 104 zu kopieren; dadurch,
dass einfach der Zeiger, der auf den Referenzrahmen zeigt, bewegt
wird, vereinfacht sich die Schaltungsanordnung.
-
(B) Weitere Ausführungsformen
-
- (I) Der Bewegtbild-Decodierer in jeder der
oben angegebenen Ausführungsformen
kann als eine Hardware-Einheit oder als ein Softwareprogramm verwirklicht werden.
- (2) In jeder der oben angegebenen Ausführungsformen sind die Sendedaten
Bewegtbilddaten. Sendedaten können
Sprachdaten oder binäre
Daten sein.
-
Der
Bilddecodierer gemäß der vorliegenden Erfindung
sichert im Speicher einen Rahmen (oder einen Block), der wahrscheinlich
als Referenzrahmen verwendet wird, wodurch die Wahrscheinlichkeit,
dass empfangene codierte Daten nicht decodiert werden können, weil
es kein Referenzbild gibt, verringert und folglich die Codiereffizienz
erhöht
wird.
-
Außerdem wird
durch das Speichern nur der notwendigen Rahmen (oder Blöcke) im
Speicher die Referenzrahmen-Speichergröße des Bilddecodierers minimiert.
-
Der
Bilddecodierer, der den Referenzrahmen-Speicher steuert, verringert
auf wirksame Weise die Wahrscheinlichkeit, dass notwendige Rahmen (oder
Blöcke)
gelöscht
werden, und erhöht
die Codiereffizienz.
-
Obwohl
das beschrieben worden ist, was gegenwärtig als bevorzugte Ausführungsformen
der Erfindung angesehen wird, versteht sich, dass daran verschiedene
Abwandlungen vorgenommen werden können. Deshalb sollen durch
die beigefügten
Ansprüche
alle derartigen Abwandlungen abgedeckt sein, sodass sie in den Schutzumfang
der Erfindung fallen.