DE19635116C2 - Verfahren zur Videokommunikation - Google Patents
Verfahren zur VideokommunikationInfo
- Publication number
- DE19635116C2 DE19635116C2 DE19635116A DE19635116A DE19635116C2 DE 19635116 C2 DE19635116 C2 DE 19635116C2 DE 19635116 A DE19635116 A DE 19635116A DE 19635116 A DE19635116 A DE 19635116A DE 19635116 C2 DE19635116 C2 DE 19635116C2
- Authority
- DE
- Germany
- Prior art keywords
- frame
- receiver
- frame segment
- frames
- buffer
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/148—Interfacing a video terminal to a particular transmission medium, e.g. ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Videokommunikation nach dem
Oberbegriff des Anspruchs 1 sowie einen Videokodierer nach dem Oberbegriff des
Anspruchs 11.
Digitale mobile Funktelephone verwenden mobile Funkkanäle für die
Übertragung von die Sprache repräsentierenden digitalen Signalen. Solche
Signale haben normalerweise die Form von Paketen. Ein Sender sendet ein ein
Paket von digitalen Audiodaten repräsentierendes Signal, bei dem jedes Paket
30 ms Sprache repräsentiert, und ein Empfänger deko
diert alle 30 ms ein Paket, um einen kontinuierlichen akustischen Aus
gang aufrechtzuerhalten. Störbedingte Fehler im Kanal oder in der Über
tragung können jedoch mit einem Bit pro 1000 oder sogar pro 100 auftre
ten, welche Fehler den Dekodierprozeß beeinträchtigen. Solche Kanalfeh
ler treten bei Mobilfunk-Fernsprechkanälen typischerweise geballt auf,
das heißt in Gruppen. Sie können etwa dadurch hervorgerufen werden, daß
zeitweilig ein Gegenstand den Empfänger gegen den Sender abschattet. Um
Kanalfehler zu korrigieren, enthalten die Pakete Fehlerkorrekturkodes,
mit denen empfängerseitig versucht wird, die Fehler zu berichtigen.
Bei anderen Arten von Datenübertragungssystemen fordert ein
Empfänger, der Fehler in einem Datenpaket feststellt, den Sender auf,
das Datenpaket erneut zu senden. Beispiele solcher Systeme sind in
"Error Control Coding: Fundamentals and Applications", von Shu Lin und
Daniel J. Costello Jr., Verlag Prentice-Hall Inc. 1983 beschrieben. Eine
solche Neuübertragung wird bei mobilen Funktelephonen nicht angewandt,
da sie eine nicht hinnehmbare verzögerungsbedingte Phasenrauschstörung
hervorruft. Beispielsweise muß ein Empfänger 30 ms Sprache repräsentie
rende Signale einmal alle 30 ms empfangen, da sonst Fehlstellen und
Unterbrechungen in dem Sprachsignal auftreten. Puffern oder Zwischen
speichern von Datenpaketen im Empfänger ermöglichen zwar eine gewisse
Flexibilität, doch entsteht dadurch eine verzögerte Wiedergabe, und wenn
die Verzögerung zu lang ist, wird sie merkbar und verändert den Charak
ter des Telephongesprächs. Ist die Verzögerung hinreichend kurz, um un
merkbar zu sein, genügt die Zeit nicht, daß der Empfänger eine Neuüber
tragung anfordert und ein neuübertragenes Datenpaket empfängt, bevor
diese Daten für die Wiedergabe benötigt werden. Das gilt jedenfalls
dann, wenn eine mehrmalige Neuübertragung erfolgen muß, ehe ein Daten
paket fehlerfrei empfangen ist. Bei digitalen Mobiltelephonen setzt man
deshalb Techniken wie algebraische Fehlersteuer-Kodierung, um Kanal
fehler zu korrigieren, und Gleich/Ungleich-Fehlerschutz-Kodierung ein,
um für kritische Daten eine bessere Korrektur zu erzielen. Dabei ist
keine Neuübertragung erforderlich. Mit solchen Kodes nicht behebbare
Fehler ergeben ein Knackgeräusch, das für die meisten Sprachverbindungen
tolerierbar ist.
In jüngerer Zeit wurden Systeme für digitale Mobilfunktelephone
vorgeschlagen, bei denen ein Sender Signale überträgt, die sowohl Sprache als
auch Bilder repräsentieren. Dabei wurde für die Bildsignale eine
Fehlerkorrekturkodierung ähnlich der bei Mobiltelephonen angewandt. Fehler in
Videodaten, die nicht durch algebraische Fehlerkorrektur behoben werden
können, führen zu einer Bildwiedergabe mit verfälschten Flächenbereichen, die
unrichtige Farben und/oder Intensitäten enthalten. Diese verfälschten
Flächenbereiche können sehr merkbar und sehr störend sein. Hinzu kommt, daß
viele der effizienten Videokompressionsverfahren eine üblicherweise als
"Interkodierung" bezeichnete Kodierung verwenden. Dabei werden Änderungen
zwischen aufeinanderfolgenden Einzelbildern oder Rahmen eines bewegten
Bildes kodiert, und der Empfänger addiert die empfangenen interkodierten Daten
zu denen eines vorhergehenden Rahmens, um den laufenden Rahmen eines
bewegten Bildes zu bestimmen. Bei Interkodierung bauen aber leider neue
interkodierte Daten neue Rahmen auf fehlerbehafteten Rahmen auf, und der
Empfänger kann durch einen nicht behebbaren Fehler hervorgerufene
Bildstörungen konservieren und wiederholen. Weitere unbehebbare Fehler können
aus mehreren Rahmen akkumuliert werden und zu einer schlechten
Wiedergabequalität führen. Verzichtet man auf Interkodierung, kann zwar die
Akkumulation von Bildstörungen vermieden werden, doch wird dann
typischerweise die Kompressionseffizienz herabgesetzt, was die maximale
Rahmenkadenz und/oder die Bildqualität verringert.
Aus der US 5 128 776 ist ein Verfahren zur Videokommunikation bekannt,
das unter Verwendung eines Kodierprozesses eine Überprüfung empfangener
Digitalkodes auf Fehler sowie gegebenenfalls die Anforderung einer erneuten
Übertragung umfaßt.
Aus der GB 2 278 752 A ist ein Verfahren zur Videokommunikation unter
Verwendung zweier Kodierverfahren, der Intrakodierung und der Interkodierung,
bekannt, wobei die Umschaltung zwischen den beiden Verfahren durchgeführt
wird, wenn in den in einem Empfangspuffer empfangenen Daten ein Fehler
festgestellt wurde. Aus der GB 2 278 752 A ist ferner ein Videokodierer mit einer
Kodierschaltung zum Auswählen von Interkodierung oder Intrakodierung als
Kodierprozeß und zum Anwenden des ausgewählten Kodierprozesses auf ein Bild
zum Erzeugen eines Digitalkodes für das betreffende Bild bekannt.
Aus der DE 44 43 910 A1 ist ein Verfahren zur Videokommunikation
bekannt, bei welchem eine Sequenz von Rahmen eines beweglichen Bildes
erzeugt, das bewegliche Bild in einen Satz von Untersequenzen, von denen jede
eine Serie von Rahmensegmenten enthält, die Abschnitte der Rahmen sind,
räumlich unterteilt, und jedes Rahmensegment als Digitalkode kodiert wird, wobei
jeder Digitalkode unabhängig von dem Inhalt von Untersequenzen ist, welche
nicht das mit dem Digitalkode kodierte Rahmensegment enthalten, und wobei der
Digitalkode an einen Empfänger übertragen wird.
Aufgabe der Erfindung ist es, ein Video-Kommunikationsverfahren nach
dem Oberbegriff des Anspruchs 1 und einen Videokodierer nach dem Oberbegriff
des Anspruchs 11 zu schaffen, bei denen Interkodierung zulässig ist und
fehlerbehaftete Flächenbereiche der Wiedergabe eliminiert werden können.
Diese Aufgabe wird entsprechend den kennzeichnenden Merkmalen des
Anspruchs 1 bzw. 11 gelöst.
Durch die Aufteilung der Rahmen in Rahmensegmente, bei der homologe
Segmente jeweils eine Untersequenz bilden, ergeben sich relativ kompakte zu
übertragende Datenpakete. Da, wie oben erwähnt, Übertragungsstörungen
typischerweise geballt auftreten, werden von ihnen jeweils nur ein Datenpaket
oder einige wenige Datenpakete betroffen sein,
wobei ein Datenpaket ein vollständiges Rahmensegment oder nur einen Teil
desselben repräsentieren kann. Für gestörte Datenpakete kann dann eine
Neuübertragung angefordert werden, so daß schließlich nur fehlerfrei
empfangene Datenpakete dekodiert und zur Wiedergabe gebracht werden.
Gemäß einer Ausführungsform der Erfindung umfaßt ein Kommuni
kationssystem einen Sender, der eine Serie von Videodatenpaketen zu
einem Empfänger sendet. Die Pakete repräsentieren eine Sequenz von Rah
men, die ein bewegliches Bild bilden. Der Empfänger sammelt die Pakete
von dem Sender und überprüft die Pakete auf Fehler. Wenn ein fehler
freies Paket empfangen wird, setzt der Empfänger eine Eingabe in einem
Videostatuspuffer zur Anzeige dafür, daß ein Paket für einen bestimmten
Abschnitt eines Rahmens fertig ist. Wenn der Empfänger einen Fehler
erkennt, fordert er den Sender auf, das Paket, welches den Fehler ent
hielt, erneut zu übertragen.
Der Sender setzt in Reaktion auf eine Neusendeanforderung
unmittelbar das neuausgesandte Videodatenpaket in die Serie von Paketen
ein, die zu dem Empfänger übertragen wird. Demgemäß kann eine Serie von
Datenpaketen Videodaten von unterschiedlichen Rahmen mischen, und der
Videostatuspuffer im Empfänger enthält Eingaben für mehrere Rahmen, um
die Datenpakete für die verschiedenen Rahmen zu verfolgen. Wenn Eingaben
in dem Videostatuspuffer anzeigen, daß alle für einen Rahmen benötigten
Daten ohne Fehler empfangen worden sind, ist dieser Rahmen "wiedergeb
bar", das heißt bereit, um dekodiert und/oder wiedergegeben zu werden.
Der Empfänger überprüft periodisch den Videostatuspuffer um festzustel
len, ob irgendwelche Rahmen wiedergebbar sind. Wenn einer oder mehrere
wiedergebbar ist/sind, dekodiert der Empfänger den neuesten der wieder
gebbaren Rahmen und bringt diesen zur Wiedergabe.
Generell werden die Rahmen ohne Fehler wiedergegeben, weil
jedes Datenpaket, das für jeden wiedergegebenen Rahmen benötigt wird,
ohne feststellbaren Fehler ist. Demgemäß werden fehlerhafte Bereiche in
dem wiedergegebenen beweglichen Bild vermieden. Darüber hinaus kann
Interkodierung verwendet werden, ohne daß sich Fehler in einem wieder
gegebenen Bild akkumulieren. Die Videodatenpakete sind relativ klein im
Vergleich mit den Daten, die benötigt werden, um einen vollständigen
Rahmen zu repräsentieren, und gewöhnlich wird ein neu übermitteltes
Paket rechtzeitig empfangen, um einen Rahmen ohne eine Verzögerung oder
eine Änderung in der Rahmenkadenz wiederzugeben. Gelegentlich kann die
Wiedergabe eines Rahmens ausfallen oder verzögert werden, was die Rah
menkadenz des wiedergegebenen beweglichen Bildes verringert oder Zittern
bewirkt. Die Änderung in der Rahmenkadenz ermöglicht jedoch immer noch
ein für die meisten Videophonanwendungen akzeptables bewegliches Bild,
wo schnelle Bewegungen und eine hohe Rahmenkadenz nicht erforderlich
sind. Zusätzlich kann die Anwendung von Interkodierung die Videokompres
sionseffizienz verbessern und eine höhere maximale Rahmenkadenz zulassen
als mögliche Systeme, die eine weniger effiziente Videokompression an
wenden. Die höhere maximale Rahmenrate kompensiert zumindest teilweise
den Verlust an Rahmen.
Weitere Ausgestaltungen der Erfindung sind den Unteransprüchen
und der nachfolgenden Beschreibung zu entnehmen.
Die Erfindung wird nachstehend anhand eines in den beigefügten
Zeichnungen dargestellten Ausführungsbeispiels im einzelnen erläutert.
Fig. 1 zeigt ein Kommunikationssystem gemäß einer Ausführungs
form der Erfindung.
Fig. 2 illustriert ein Laufbild mit einer Bildfläche, die ge
mäß einer Ausführungsform der Erfindung unterteilt ist.
Fig. 3 zeigt Rahmensegmente in Rahmen eines Laufbildes.
Fig. 1 zeigt ein Blockdiagramm eines Senders 150 und eines
Empfängers 100, die über einen Kanal 145 kommunizieren. Gemäß einer Aus
führungsform ist einer von Sender 150 und Empfänger 100 in einem beweg
lichen Funkvideophon, und der andere von Empfänger 100 und Sender 150
befindet sich in einem öffentlichen geschalteten Telefonnetz-Videophon.
Beide Sender und Empfänger können aber auch bewegliche Funkvideophone
sein oder sich beide an einem öffentlichen Telefonnetz befinden. Fig. 1
zeigt die Teile der beiden Videophone, die für Einwegvideoübertragung
benötigt werden. Um eine Zweiwegvideoübertragung über Kanal 145 zu er
möglichen, würde jedes Videophon einen Sendeabschnitt ähnlich oder iden
tisch mit Sender 150 und einen Empfangsabschnitt ähnlich oder identisch
mit Empfänger 100 enthalten.
Der Sender 150 empfängt ein Eingangsvideosignal von einer Vi
deoquelle 155. Das Eingangsvideosignal repräsentiert eine Sequenz von
Rahmen, wobei jeder Rahmen ein Stehbild ist. Ein Zeitindex ordnet die
Rahmen, und wenn sie in Sequenz wiedergegeben werden, bewirken die Rah
men die Illusion eines Bildes, das sich bewegende Objekte enthält. Dem
gemäß wird die Sequenz von Rahmen hier als bewegliches Bild bezeichnet.
Der Sender 150 kodiert das bewegliche Bild und überträgt über Kanal 145
ein Signal, welches das bewegliche Bild repräsentiert.
In einem beweglichen Funkvideophon oder einem solchen, ange
schlossen an ein öffentliches Telefonnetz, enthält die Videoquelle 155
eine Videokamera und einen Analog/Digital-Umsetzer, der in der Lage ist,
ein das bewegliche Bild repräsentierendes Digitalsignal zu erzeugen. Ein
Eingangspuffer 160 speichert Daten, welche das Digitalsignal von der Vi
deoquelle 155 repräsentieren. Die das Video repräsentierenden Daten kön
nen eine Vielzahl von Formaten haben. Jeder Rahmen in dem beweglichen
Bild kann durch eine oder mehrere zweidimensionale Matrizen von Pixel
werten repräsentiert werden, die im Eingangspuffer 160 gespeichert wer
den. Jeder Pixelwert in einer zweidimensionalen Matrix repräsentiert ei
ne Intensität, eine Farbe oder Farbkomponente für eine kleine Fläche
oder ein Bildelement mit einer Position in einem Rahmen entsprechend der
Position des Pixelwertes in der zweidimensionalen Matrix. Beispielsweise
kann ein Rahmen durch eine einzelne zweidimensionale Matrix von Pixel
werten repräsentiert werden, wobei jeder Pixelwert einen Satz von drei
Farbkomponenten repräsentiert, die eine Farbe für ein entsprechendes
Bildelement identifizieren. Alternativ kann ein Rahmen durch drei Matri
zen repräsentiert werden, wobei jede einer von drei Farbkomponenten ent
spricht.
Fig. 2 repräsentiert eine Bildfläche 200 für ein bewegliches
Bild. Die Bildfläche 200 enthält eine zweidimensionale Matrix von Bild
elementen (oder Pixeln), die durch eine zweidimensionale Matrix von ent
sprechenden Pixelwerten repräsentiert werden. Beispielsweise wird in ei
nem Format, das unter der Bezeichnung QCIF bekannt ist, die Bildfläche
200 in 176 × 144 Pixel unterteilt entsprechend x-Koordinaten von 0 bis
175 und y-Koordinaten von 0 bis 143.
Ein Zeitindex t ordnet die Rahmen eines beweglichen Bildes in
eine Sequenz, wie in Fig. 3 gezeigt. Für eine konventionelle Videokamera
beträgt die Einzelbild- oder Rahmenkadenz eines beweglichen Bildes 30
Rahmen pro Sekunde. Für Videophone jedoch, bei denen die verfügbare
Bandbreite für die Übertragung relativ klein ist, wird typischerweise
eine niedrigere Rahmenkadenz von etwa 7 Rahmen pro Sekunde eingesetzt.
Da die Wiedergabe schneller Bewegung üblicherweise für Videophone nicht
benötigt wird, liefern 7 Rahmen pro Sekunde ein bewegliches Bild mit
vernünftig weicher Bewegung. Der Sender 150 wählt aus dem Eingangsvideo
signal (oder aus dem Eingangspuffer 160) genug Rahmen, um ein bewegli
ches Bild mit einer gewünschten Rahmenkadenz zu schaffen. Wenn bei
spielsweise die Videoquelle 155 30 Rahmen pro Sekunde liefert, kodiert
ein Videokodierer 170 jeden vierten Rahmen zum Bereitstellen einer Rah
menkadenz von 7,5 Rahmen pro Sekunde.
Ein bewegliches Bild kann in Untersequenzen durch Aufteilen
der Bildfläche des beweglichen Bildes in Segmente unterteilt sein. Fig.
2 zeigt ein Beispiel, bei dem die Bildfläche 200 in neun Segmente 210
bis 218 unterteilt ist, und die Abschnitte des beweglichen Bildes ent
sprechend den Segmenten 210 bis 218 sind die Untersequenzen des bewegli
chen Bildes. In dem Beispiel ist jedes Segment 210 bis 218 ein Streifen,
der in x-Richtung ebenso lang ist wie die Bildfläche 200 und in y-Rich
tung ein Neuntel der Höhe der Fläche 200 aufweist, so daß für das QCIF-
Format jeder Bereich 176 × 16 Pixel umfaßt. Alternativ kann irgendeine
Anzahl oder Form für die Segmente verwendet werden, um ein bewegliches
Bild in Untersequenzen zu zerlegen. Fig. 3 zeigt Rahmen 300 bis 304,
welche Rahmensegmente 310 bis 314 enthalten, die Teile einer Unterse
quenz sind.
Der Videokodierer 170 erzeugt separate digitale Kodes für je
des Rahmensegment. Der Kodierprozeß kodiert die Rahmensegmente separat
voneinander, um die Dekodierung jeder Untersequenz ohne Verwendung von
Information aus anderen Untersequenzen zu ermöglichen. Jede Untersequenz
ist nämlich ein separates bewegliches Bild, für das irgendein gewünsch
ter Videokompressionsprozeß eingesetzt werden kann. In einer Ausfüh
rungsform verwendet der Videokodierer 170 ein Standard-Videokodierproto
koll, das unter der Bezeichnung H.263 bekannt und in dem Entwurf ITU-T
Recommendation H.263, betitelt "Video Coding For Low Bitrate Communi
cation", 5. Juli 1995 beschrieben ist.
Beim Kodieren eines Rahmensegmentes überprüft der Videokodie
rer 170 den Statuszähler 165, um zu bestimmen, ob das Rahmensegment
"intra"- kodiert werden sollte. Die Zähler 165 stehen in eins-zu-eins-
Korrespondenz mit den Bereichen, welche die Untersequenzen und die
Rahmensegmente definieren. Wenn ein Zählstand in einem Zähler hoch ist,
bedeutet dies, daß ein entsprechendes Rahmensegment intrakodiert werden
sollte um sicherzustellen, daß der Empfänger 100 nicht auf fehlerenthal
tenden Daten aufbaut. Außerdem ist jedem Zähler in den Zählern 165 ein
Satz von Statusfeldern zugeordnet, welche die Art der Kodierung angeben,
die für die zuletzt kodierten Rahmensegmente verwendet wurde.
Für die Intrakodierung eines Rahmensegmentes verwendet der
Videokodierer 170 einen Standbild-Kodierprozeß zum Erzeugen eines Digi
talkodes, der das Rahmensegment repräsentiert. In dem Beispiel unter
teilt der Videokodierer 170 das Rahmensegment in Makroblöcke, wobei
jeder Makroblock dieselbe Größe hat, wie 8 × 8 oder 16 × 16 Pixel, und
komprimiert dann den Makroblock. Beispielsweise ergibt eine diskrete
Kosinustransformation der Pixelwerte für einen Makroblock, gefolgt von
einer Quantisierung und einer Lauflängenkodierung, typischerweise eine
Bitfolge, die weniger Bandbreite für die Übertragung benötigt, als alle
Pixelwerte in dem Makroblock benötigen würden. Komprimierte Daten von
den Makroblöcken werden entsprechend einer Kodiersyntax zur Bildung
eines Digitalkodes für das Rahmensegment kodiert. Der Digitalkode für
ein intrakodiertes Rahmensegment repräsentiert die Gesamtheit der Infor
mation, die für die Dekodierung jenes Rahmensegmentes benötigt wird.
Demgemäß frischt der Digitalkode für ein intrakodiertes Rahmensegment
die Daten auf, die vom Empfänger 100 für eine Untersequenz verwendet
werden, und irgendwelche Kanalfehler in vorhergehenden Rahmen beeinflus
sen die nachfolgende Dekodierung nicht.
Interkodierung ergibt typischerweise eine bessere Kompression
als Intrakodierung. Für das Interkodieren eines Rahmensegments unter
teilt der Videokodierer 170 das Rahmensegment in Makroblöcke und führt
dann eine Bewegungsabschätzung bei jedem Makroblock aus. Die Bewegungs
abschätzung für einen Makroblock findet einen Bewegungsvektor, der von
einer Stelle des Makroblocks zu einer Stelle eines bestpassenden Blocks
weist, der sich innerhalb des entsprechenden Rahmensegments des vorher
gehenden Rahmens befindet. Um Bewegungsvektoren und bestpassende Blöcke
zu ermöglichen, die sich außerhalb der Begrenzungen einer Untersequenz
erstrecken, werden Pixelwerte für Pixel an dem Rand des vorhergehenden
Rahmensegments wiederholt, um einen Flächenbereich eines bestpassenden
Blocks zu füllen, der außerhalb eines Rahmens oder in einer anderen
Untersequenz ist. Demgemäß enthält der bestpassende Block nur Daten von
einer einzigen Untersequenz, und Daten von anderen Untersequenzen werden
in dem Bewegungsabschätzprozeß nicht benutzt.
Wenn ein guter bestpassender Block gefunden ist, werden Pixel
werte in dem bestpassenden Block von entsprechenden Pixelwerten in dem
Makroblock zum Erzeugen eines Differenzblocks subtrahiert. Der Diffe
renzblock wird dann komprimiert, beispielsweise durch eine diskrete
Kosinustransformation, gefolgt von Quantisierung und Lauflängenkodie
rung. Ein resultierender Digitalkode für das Rahmensegment zeigt den
Bewegungsvektor für den Makroblock und die Information von dem Diffe
renzblock. Wenn ein guter bestpassender Block für einen Makroblock nicht
gefunden wird, wird der betreffende Makroblock in derselben Weise wie
die Makroblöcke in einem intrakodierten Rahmensegment intrakodiert.
Demgemäß können interkodierte Rahmensegmente interkodierte Makroblöcke
und intrakodierte Makroblöcke enthalten. Wenn alle Makroblöcke in einem
Rahmensegment intrakodiert sind, wird das Rahmensegment intrakodiert.
Jedesmal, wenn ein Rahmensegment interkodiert wird, inkremen
tiert der Videokodierer 170 denjenigen der Zähler 165, welcher dem be
treffenden Rahmensegment entspricht, um eine Größe gleich der Differenz
in Zeitindizes aufeinanderfolgender kodierter Rahmen. Wenn beispiels
weise jeder vierte Rahmen von der Videoquelle 155 kodiert wird, wird
einer der Zähler 165 um vier jedesmal dann inkrementiert, wenn ein Rah
mensegment interkodiert wird. Der Videokodierer 170 setzt den entspre
chenden Zähler jedesmal dann zurück, wenn ein Rahmensegment intrakodiert
wird. Wenn ein Zählstand entsprechend einer Untersequenz eine Schwelle
TINTRA übersteigt, sollte das nächste Rahmensegment für die Untersequenz
intrakodiert werden, um die von dem Empfänger 100 verwendeten Daten auf
zufrischen. Das Inkrementieren um eine Größe proportional den Differenz
zeitindizes kodierter Rahmen stellt sicher, daß die Auffrischung in re
gulären Intervallen selbst dann erfolgt, wenn der Sender 150 die Rahmen
rate verändert.
Typischerweise verringert Intrakodierung die Videokompres
sionseffizienz; und wenn mehrere Rahmensegmente in einem Rahmen intra
kodiert werden, kann die Wiedergabe des Rahmens verzögert werden, weil
die Übertragung eines Bitstromes, welcher den Rahmen repräsentiert, län
ger braucht als zulässig. Wenn demgemäß mehrere Rahmensegmente eines
Rahmens intrakodiert werden sollten, kann der Videokodierer 170 einen
oder einige wenige der Rahmensegmente für die Intrakodierung auswählen.
Andere Rahmensegmente können in dem nächsten Rahmen intrakodiert werden.
Der Digitalkode, der ein Rahmensegment repräsentiert, ist Teil
des Bitstromes, der zu dem Empfänger 100 übertragen wird. Der Videoko
dierer 170 zählt Bits, die während jeder Kodierung erzeugt werden, und
bricht den Bitstrom für ein Rahmensegment in Datenpakete auf, die kürzer
sind als eine Schwellenlänge TPAKET. Die Paketlänge beeinflußt die
Chance, daß ein Kanalfehler während einer Übertragung auftreten wird,
und in einer Ausführungsform der Erfindung wird die Schwellenpaketlänge
TPAKET dynamisch entsprechend einer Fehlerrate auf Kanal 145 gewählt.
Wenn die Fehlerrate hoch ist, wird die Schwellenlänge TPAKET verringert,
so daß die Chance eines Pakets, ohne Fehler übertragen zu werden, hoch
bleibt, und die Ausgangsvideorahmenkadenz am Empfänger 100 bleibt über
dem Minimalpegel (etwa 3 Rahmen/Sekunde) mit einer Rahmenverzögerung von
weniger als einigen hundert Millisekunden. Wenn die Fehlerrate niedrig
ist, wird die Schwellenlänge TPAKET vergrößert bis zu einer Grenze, bei
der es ein Videodatenpaket pro Rahmensegment gibt.
Der Abschnitt eines Rahmensegments, repräsentiert durch ein
einzelnes Datenpaket, wird nachstehend als ein Untersegment bezeichnet.
Typischerweise enthält jedes Untersegment eine ganzzahlige Anzahl von
Makroblöcken. Die Anwendung einer ganzzahligen Zahl von Makroblöcken pro
Datenpaket setzt die Datenpakete mit definierten Bildflächenabschnitten
in Beziehung und ermöglicht dem Empfänger 100, die Datenpakete zu ver
folgen, die korrekt empfangen worden sind. Die Zahl von Makroblöcken
ändert sich von Untersegment zu Untersegment, und die Flächenbereiche
eines beweglichen Bildes, repräsentiert durch die Untersegmente, ändern
sich von Rahmen zu Rahmen.
Der Videokodierer 170 addiert einen Videokopfabschnitt und
einen zyklischen Redundanzkode (CRC) zu jedem Datenpaket. Der Kopfab
schnitt identifiziert den Rahmen, die Untersequenz und das Untersegment,
welche von dem Paket beschrieben werden. In dem Beispiel enthält der
Videokopfabschnitt: ein Startfeld, das ein nur einmal vergebenes Muster
enthält, welches den Start eines Datenpakets markiert; ein Zeitindexfeld
(4 Bits), das einen Rahmen identifiziert; ein Sequenzzahlfeld (4 Bits),
das eine Untersequenz identifiziert, so daß die Kombination des Zeit
index und des Sequenzzahlfeldes ein Rahmensegment identifizieren; ein
Untersegmentstart- und -endfeld (8 Bits), welche ein Untersegment durch
die Zahlen des ersten und letzten Makroblocks, beschrieben von dem Da
tenpaket, identifiziert; und ein Kodierprozeßfeld (1 Bit), das anzeigt,
wie das Rahmensegment kodiert war (intra- oder interkodiert). Zusätzlich
zu dem Videokopfabschnitt kann ein Tx-Kopfabschnitt für die Übertragung
auf Kanal 145 addiert werden, und Information, die in sowohl dem Video
kopfabschnitt als auch dem Tx-Kopfabschnitt enthalten ist, kann von dem
Videokopfabschnitt gestrichen werden. Nach dem Videokopfabschnitt er
scheint der Digitalkode, den der Videokodierer 170 erzeugt, um das durch
den Videokopfabschnitt identifizierte Untersegment zu beschreiben. Der
CRC, den der Empfänger 100 verwendet, um Kanalfehler in den Videodaten
paketen zu erkennen, wird aus dem Digitalkode erzeugt. Zusätzlich zu dem
CRC kann ein Fehlerkorrekturkode jedem Datenpaket addiert werden, um den
Empfänger 100 mit Fehlererkennungs- und Fehlerkorrekturfähigkeiten aus
zustatten.
Datenpakete vom Videokodierer 170 werden in einen Übertra
gungspuffer 180 und in einen FIFO-Puffer 190 eingeschrieben. Wenn der
FIFO-Puffer 190 voll ist, werden die ältesten Datenpakete im FIFO-Puffer
190 ausgeschoben, um Platz für neukodierte Datenpakete zu schaffen. Wie
unten beschrieben, bestimmt eine Neusendesteuereinheit 185, ob der Über
tragungspuffer 180 oder der FIFO-Puffer 190 Daten für den Bitstrom lie
fert, der zu dem Empfänger 100 über Kanal 145 übertragen wird. Der Kanal
145 ist ein Zweiwegekanal einschließlich eines Unterkanals 145B für
Datenfluß vom Sender 150 zum Empfänger 100 und einem Unterkanal 145A für
den Datenfluß vom Empfänger 100 zum Sender 150. In der dargestellten
Ausführungsform ist der Kanal 145 ein Mobilfunkkanal, und die Unterkanä
le 145A und 145B werden zeitmultiplexiert für Video- und Audiodaten.
Viele Systeme sind kommerziell verfügbar, die Mobilfunkkanäle erzeugen
können, wie DECT, GSM, TETRA und PDC, welche für die digitale Videoüber
tragung geeignet sind. Ausführungen der Erfindung können jedoch irgend
einen Typ von Kommunikationskanal benutzen und sind nicht auf Mobilfunk
kanäle beschränkt.
Der Empfänger 100 enthält einen Empfangspuffer 130, der Daten
pakete vom Sender 150 hält und das CRC der Datenpakete überprüft, um
Fehler festzustellen. Die Ergebnisse der CRC-Überprüfung werden zu einer
Anforderungssteuereinheit 125 und zu einem Statuspuffer 115 übertragen.
Ein Fehler kann auch in den Datenpaketen erkannt werden, wenn ein Video
dekoder 120 die Gesamtheit oder einen Teil des Datenpaketes dekodiert,
um Syntax-Fehler zu identifizieren. Wenn ein Syntax-Fehler auftritt,
setzt der Videodekoder 120 eine Eingabe im Statuspuffer 115, welche dann
zu der Anforderungssteuereinheit 125 gelangt. In dem dargestellten Aus
führungsbeispiel sendet die Steuereinheit 125 eine Neusendeanforderung
zum Sender 150 nur dann, wenn ein Datenpaket einen Fehler enthält, und
sendet keinerlei Nachricht oder Bestätigung zum Sender 150, wenn ein
Datenpaket ohne Fehler empfangen wurde. Diese Rücksendestrategie wird
üblicherweise als Negativbestätigung (negative acknowledgments = NAK)
bezeichnet. In anderen Ausführungsformen der Erfindung können kompli
ziertere Rücksendestrategien verwendet werden, wie automatische Hybrid-
Wiederholungsanforderungen.
Vor Aussendung einer Neuübertragungsanforderung überprüft die
Anforderungssteuereinheit 125 den Statuspuffer 115 um festzustellen, ob
das den Fehler enthaltende Datenpaket benötigt wird. Ein Datenpaket mit
einem Zeitindex vor dem Zeitindex eines wiedergebbaren Rahmens ent
spricht einem Rahmen, der verworfen worden ist, und wird deshalb nicht
benötigt. Ein Datenpaket mit einem Zeitindex vor dem Zeitindex eines
intrakodierten Rahmensegments, ob korrekt empfangen oder nicht, wird
nicht benötigt, weil dann, wenn das intrakodierte Rahmensegment korrekt
empfangen wurde, die Untersequenz aufgefrischt wird und die vorhergehen
den Datenpakete nicht benötigt werden. Die Anforderungssteuereinheit 125
tut nichts, wenn das Datenpaket nicht benötigt wird. Im anderen Falle
überträgt die Steuereinheit 125 eine Anforderung für Neuübertragung des
Datenpakets zum Sender 150.
Die Neusendeanforderung identifiziert den Rahmen, die Unter
sequenz und das Untersegment, das von dem den Fehler enthaltenden Daten
paket beschrieben wurde, und kann beispielsweise dieselbe Form haben wie
der Videokopfabschnitt für das den Fehler enthaltende Datenpaket. Wie
oben angegeben, ist typischerweise der Unterkanal 145A zeitmultiplexiert
für Video- und Audiodaten, und die Anforderungssteuereinheit 125 steht
im Wettbewerb mit einem (nicht dargestellten) Audiosystem und einem
Videosender (nicht dargestellt) für den Zugang zum Kanal 145A. Neusende
anforderungen erhalten Priorität gegenüber Videodatenpaketen, die auf
die Übertragung warten.
Wenn der Sender 150 eine Neuübertragungsanforderung empfängt,
sucht die Neusendesteuereinheit 145 den FIFO-Puffer 190 nach dem ange
forderten Datenpaket ab. Wenn das angeforderte Datenpaket gefunden ist,
überprüft dann die Neuübertragungssteuereinheit 185 die Statusfelder für
die Untersequenz, die von dem Datenpaket beschrieben wird um festzu
stellen, ob ein Rahmensegment in der Untersequenz, nach Aussendung des
den Fehler enthaltenden Datenpakets, intrakodiert wurde. Ist dies der
Fall, ignoriert die Neuübertragungssteuereinheit 185 die Anforderung. Im
anderen Falle wird das angeforderte Datenpaket erneut vom FIFO-Puffer
190 zum Empfänger 100 übertragen. Das neuübertragene Datenpaket hat
Priorität gegenüber frisch kodierten Datenpaketen vom Übertragungspuffer
180, so daß die Übertragung unmittelbar nach dem Ende eines laufenden
übertragenen Datenpakets beginnt. Die Neuübertragungssteuereinheit 185
setzt auch eine Statusflagge in den Statuszählern 165 zur Anzeige dafür,
daß das angeforderte Datenpaket erneut übertragen worden ist. Wenn die
Neuübertragungssteuereinheit 185 feststellt, daß die Neuübertragung
nicht die erste für das angeforderte Datenpaket ist, verlangt die Neu
übertragungssteuereinheit 185, daß der Videokodierer 170 das nächste
Rahmensegment der Untersequenz, repräsentiert durch das angeforderte
Datenpaket, intrakodiert. Wenn das angeforderte Datenpaket im FIFO-
Puffer 190 nicht verfügbar ist, tritt keine weitere Neuübertragung jenes
Datenpaketes ein. Die Neuübertragungssteuereinheit 185 fordert eine
Intrakodierung des nächsten Rahmensegments der Untersequenz, repräsen
tiert durch das angeforderte Datenpaket.
Eine Umlaufverzögerung zwischen Anforderung und Empfang eines
erneut übertragenen Datenpakets besteht aus Verarbeitungsverzögerungen,
Einreihverzögerungen, Übertragungsverzögerungen und Ausbreitungsverzöge
rungen. Die maximale Einreihverzögerung am Empfänger 100 ist etwa gleich
der Zeit, die erforderlich ist, um die Übertragung eines Paketes zu
beenden, die begann, bevor die Neuübertragung angefordert wurde. In
ähnlicher Weise ist die maximale Einreihverzögerung am Sender 150 etwa
gleich der Übertragungszeit für ein Datenpaket, begonnen vor der ange
forderten Neuübertragung. Die Übertragungsverzögerung eines angeforder
ten Datenpakets ist außerdem etwa gleich der Zeit, erforderlich für das
Senden eines Datenpakets. Andere Verzögerungen wie Verarbeitungsverzöge
rungen, Übertragungsverzögerungen für eine Neuübertragungsanforderung
(die Dauer der Neuübertragungsanforderung) und Ausbreitungsverzögerungen
(die Zeit für die Signale, um sich längs Kanal 145 auszubreiten) sind
klein im Vergleich mit der Übertragungszeit eines Datenpakets. Demgemäß
ist die maximale Umlaufverzögerung etwa das Dreifache der Übertragungs
zeit für ein Datenpaket. Wenn die maximale Länge eines Datenpakets 300
Bit beträgt, und der Kanal 145 eine Übertragungsrate von 32.000 Bit/
Sekunde hat, beträgt die maximale Verzögerung etwa 28 ms. Für eine maxi
male Datenpaketlänge von 800 Bit und eine Übertragungsrate von 32.000
Bit/Sekunde beträgt die maximale Verzögerung etwa 75 ms. Zum Vergleich
beträgt bei 7 Rahmen pro Sekunde das Intervall zwischen Rahmen etwa 143
ms; und bei 10 Rahmen pro Sekunde beträgt das Intervall zwischen Rahmen
etwa 100 ms. Demgemäß ist in dem gegebenen Beispiel die Umlauf Verzöge
rung vergleichbar mit dem Intervall zwischen Rahmen.
Die Anforderungssteuereinheit 125 setzt eine Eingabe im Sta
tuspuffer 115 zur Anzeige dafür, daß ein Datenpaket fehlerlos empfangen
worden ist. Der Statuspuffer 115 ist logisch in Zeilen und Spalten von
Eingaben für Rahmensegmente organisiert. Jede Zeile enthält Eingaben
entsprechend den Rahmensegmenten in einem Rahmen, das heißt entsprechend
einem Zeitindex in dem beweglichen Bild. Jede Spalte enthält Eingaben
entsprechend den Rahmensegmenten in einer Untersequenz des beweglichen
Bildes. In dem Beispiel enthält der Statuspuffer 115 vier Zeilen für
vier Rahmen und neun Spalten für neun Untersequenzen.
Jede einzelne Eingabe enthält ein Segmentstatusfeld mit vier
möglichen Werten, (1) nichts für dieses Rahmensegment empfangen, (2)
alle Pakete korrekt empfangen, und das Rahmensegment ist intrakodiert,
(3) alle Pakete korrekt empfangen, und das Rahmensegment ist interko
diert, und (4) alle anderen Fälle. Jede Eingabe kann auch Paketstatus
felder enthalten zur Anzeige, welches Datenpaket oder welche Makroblöcke
korrekt empfangen worden sind und welche noch benötigt werden. Wenn bei
spielsweise das Segmentstatusfeld den Wert (4) hat, haben die Paket
statusfelder für empfangene Datenpakete Werte "kein Fehler", "Fehler",
"Neuübertragung angefordert". Wenn alle Paketstatusfelder für ein Rah
mensegment Fehlerfreiheit anzeigen, wird das Segmentstatusfeld auf den
Wert (2) oder (3) gesetzt.
Ein Rahmensegment ist wiedergebbar, wenn entweder die Eingabe
entsprechend dem Rahmensegment den Segmentstatuswert (3) hat oder wenn
die Eingabe entsprechend dem Rahmensegment den Segmentstatuswert (2) hat
und die Eingabe entsprechend einem Rahmensegment in derselben Unter
sequenz, jedoch in dem vorhergehenden Rahmen wiedergebbar ist. Ein Rah
men ist wiedergebbar, wenn alle Rahmensegmente in dem Rahmen wiedergeb
bar sind. Der Videodekoder 120 überprüft periodisch den Statuspuffer 115
um festzustellen, ob irgendwelche Rahmen neuerlich wiedergebbar sind.
Wenn ein oder mehrere Rahmen wiedergebbar geworden sind, seit der Video
dekoder 120 zum letztenmal den Statuspuffer 115 überprüft hat, dekodiert
der Videodekoder 120 den neuesten wiedergebbaren Rahmen zum Erzeugen
einer Matrix von Pixelwerten, die einen laufenden Rahmen repräsentieren.
Das Dekodieren benötigt Datenpakte vom Empfangspuffer 130 und kann frü
here Daten benötigen, die entweder in einem Ausgangspuffer 110 oder
Empfangspuffer 130 gespeichert sind.
Beim Dekodieren eines Rahmens überprüft der Videodekoder 120
jedes Rahmensegment in dem Rahmen um zu bestimmen, ob das Rahmensegment
intra- oder interkodiert ist. Intrakodierte Rahmensegmente werden aus
den Datenpaketen entsprechend dem Zeitindex des laufenden Rahmens deko
diert. Interkodierte Rahmensegmente werden aus den vorhergehenden Daten
und Datenpaketen entsprechend den Zeitindizes dekodiert, von dem Zeit
index nach den vorhergehenden Daten bis zum Zeitindex des laufenden
Rahmens reichend.
Zum Dekodieren eines interkodierten Rahmensegments überprüft
der Videodekoder 120 die Statuseingaben entsprechend der Untersequenz,
welche das Rahmensegment enthält. Wenn eine Eingabe für einen Zeitindex
zwischen dem Zeitindex des laufenden Rahmens und dem Zeitindex vorher
gehender Daten anzeigt, daß das Videosegment intrakodiert war, dekodiert
der Dekoder das intrakodierte Rahmensegment und dekodiert dann nachein
ander Änderungen in der Untersequenz für die Zeitindizes zwischen der
Intrakodierung des Rahmensegments und dem Zeitindex des laufenden Rah
mens. Wenn alle Eingaben entsprechend einer Untersequenz Interkodierung
für Rahmensegmente anzeigen, dann beginnt der Videodekoder 120 mit den
vorhergehenden Daten für die Untersequenz und dekodiert dann nacheinan
der Änderungen in der Untersequenz aus den Datenpaketen entsprechend den
Zeitindizes zwischen dem Zeitindex der vorhergehenden Daten und dem
Zeitindex des laufenden Rahmens. Üblicherweise sind die vorhergehenden
Daten eine zweidimensionale Matrix aus Pixelwerten, die im Ausgangspuf
fer 110 gespeichert ist und den vorhergehenden dekodierten Rahmen re
präsentiert. Die Ergebnisse der Dekodierung werden im Ausgangspuffer 110
gespeichert und repräsentieren den laufenden Rahmen.
Wenn irgendein Datenpaket für einen neuen Rahmen empfangen
wird, werden Segmentstatusfelder in der Zeile von Statuspuffer 115 ent
sprechend dem ältesten Rahmen freigemacht, das heißt auf Status (1) ge
setzt, und diese Zeile wird für den neuen Rahmen verwendet. Ein poten
tieller Verlust an Information ergibt sich, wenn der älteste Rahmen eine
oder mehrere Untersequenzen enthält, für die zumindest ein Datenpaket
niemals korrekt empfangen worden war und keiner der nachfolgenden Rahmen
mit Eingaben im Statuspuffer 115 wiedergebbar ist. Der gelöschte Rahmen
kann nicht zum Erzeugen eines laufenden Rahmens dekodiert werden, weil
zumindest ein Rahmensegment in dem Rahmen nicht wiedergebbar ist. Wenn
die Datenpakete für den Rahmen verworfen werden, wenn die Statuseingaben
gelöscht werden, kann Information verlorengehen, die für interkodierte
Rahmensegmente in nachfolgenden Rahmen benötigt wird. Um einen Daten
verlust zu vermeiden, können die Datenpakete für die wiedergebbaren
Rahmensegmente des ältesten Rahmens im Empfangspuffer 130 beibehalten
werden, bis ein Rahmen mit einem Zeitindex dekodiert wird, der größer
ist als jener des Datenpakets.
Alternativ können die Datenpakete für den ältesten Rahmen, der
nicht mehr im Statuspuffer 115 repräsentiert ist, zum Erzeugen von Zwi
schendaten für die wiedergebbaren Rahmensegmente des ältesten Rahmens
dekodiert werden. Die Zwischendaten werden nicht über den Videoumsetzer
105 ausgegeben, sondern das nachfolgende Dekodieren von interkodierten
Rahmensegmenten kann mit den Zwischendaten anstelle von Daten eines
vorhergehenden Rahmens beginnen. Die Rahmensegmente in derselben Unter
sequenz wie die Rahmensegmente, die nicht in dem ältesten Rahmen wieder
gebbar waren, können nicht korrekt interdekodiert werden, weil notwen
dige Daten niemals korrekt empfangen wurden. Im Ausführungsbeispiel
jedoch bewirkt eine zweite Anforderung für die Neuübertragung eines
Datenpakets, daß ein Rahmensegment in einer Untersequenz, repräsentiert
durch das fehlende Datenpaket, intrakodiert wird. Das intrakodierte
Rahmensegment ist wiedergebbar, weil es ohne Daten von entweder dem
vorhergehenden Rahmen oder den Zwischendaten dekodiert werden kann.
Demgemäß kann der Rahmen, der das intrakodierte Rahmensegment enthält,
zur Bildung einer Matrix aus Pixelwerten, welche den laufenden Rahmen
repräsentieren, dekodiert werden.
Die dekodierte Matrix aus Pixelwerten, die den laufenden Rah
men repräsentieren, wird im Ausgangspuffer 110 gespeichert, von wo ein
Videoausgangsumsetzer 105 die Matrix aus Pixelwerten in eine brauchbare
Form umsetzt. In einem Videophon setzt der Videoumsetzer 105 die Matrix
in ein Signal um, das eine Wiedergabeeinrichtung ansteuert, wie eine
Kathodenstrahlröhre oder eine Flüssigkristallanzeige.
Die Puffersteuereinheit 175 im Sender 150 überwacht die Neu
übertragungsanforderungen vom Empfänger 100 und stellt Parameter im
Sender 150 für das laufende Fehlermuster auf Kanal 145 ein. Drei Para
meter, die dynamisch gesteuert werden, sind die maximale Paketlänge
TPAKET, die Rahmenkadenz durch den Videokodierer 170 und die Quantisie
rungsschrittgröße, die der Videokodierer 170 anwendet, um die Koeffi
zienten der diskreten Kosinustransformation zu quantisieren. Wenn die
Fehlerrate hoch ist, kann die maximale Paketlänge TPAKET reduziert
werden, um die Chance zu erhöhen, daß ein Datenpaket fehlerfrei ankommt,
die Quantisierungsschrittgröße kann erhöht werden zum Vergrößern der
Kompressionseffizienz (auf Kosten der Bildqualität), und die Rahmekadenz
kann herabgesetzt werden, um sie an die Verringerung der verwertbaren
Kapazität des Kanals 145 anzupassen. Wenn beispielsweise die Videoquelle
150 30 Rahmen/Sekunde liefert, kann der Videokodierer 170 von der Kodie
rung jedes siebenten Rahmens (7,5 Rahmen pro Sekunde) auf die Kodierung
jedes fünften Rahmens (6 Rahmen pro Sekunde) umschalten. Wenn die Feh
lerrate niedrig ist, kann die maximale Paketlänge TPAKET zum Verringern
des Überhangs für die Datenübertragung vergrößert werden, die Quanti
sierungsschrittgröße kann verkleinert werden zum Verbessern der Bildqua
lität und die Rahmenrate kann erhöht werden. Beispielsweise kann der
Videokodierer 170 von der Kodierung jedes vierten Rahmens (7,5 Rahmen
pro Sekunde) auf die Kodierung jedes dritten Rahmens (10 Rahmen pro
Sekunde) umschalten.
In früheren Systemen, die algebraische Fehlerkorrektur anwen
den, erzeugen gruppenweise auftretende Fehler, die bei mobilen Funkkanä
len ziemlich häufig sind, unkorrigierbare Fehler und ergeben fehlerhafte
Bildwiedergabe. Für das System nach Fig. 1 konzentrieren gruppenweise
auftretende Fehler diese in einigen wenigen Datenpaketen, so daß relativ
wenige Neuübertragungen bei relativ hohen Fehlerraten angefordert wer
den. Demgemäß kann sich das System der Fig. 1 ohne weiteres gruppenweise
auftretenden Fehlern anpassen.
Die Funktionsblöcke, die in Fig. 1 gezeigt sind, können in
einer Vielzahl von Wegen realisiert werden, je nach der bestimmten An
wendung der Erfindung. In einem alleinstehenden Videophon können der
Empfänger 100 und der Sender 150 unter Verwendung diskreter oder inte
grierter Komponenten hergestellt werden. In einer Ausführungsform reali
sieren einer oder mehrere anwendungsspezifische integrierte Schaltkreise
(ASIC) die Funktionsblöcke, die unter Bezugnahme auf Fig. 1 beschrieben
wurden. Alternativ können Funktionsblöcke wie Videodekoder 120 und
Videokodierer 170 unter Anwendung eines digitalen Signalprozessors (DSP)
realisiert werden, der die Kodier- und Dekodier-Software abarbeitet.
Ein Videophon kann auch als Teil eines Personalcomputers
realisiert werden, der eine Eingangsschnittstelle für Videoempfang von
der Videoquelle 155 aufweist wie auch eine Ausgangsschnittstelle für die
Übertragung über Kanal 145. Solche Schnittstellen können auf einer Karte
vorgesehen werden, die sich in einen Schlitz eines lokalen Busses des
Personalcomputers einfügt. Für ein in einem Personalcomputer implemen
tiertes Videophon können Funktionsblöcke wie Videodekoder 120, Anforde
rungssteuereinheit 125, Videokodierer 170, Puffersteuereinheit 175 und
Neuübertragungssteuereinheit 185 als Software implementiert werden, die
von der zentralen Hauptverarbeitungseinheit des Computers abgearbeitet
wird; und Funktionsblöcke wie Ausgangspuffer 110, Statuspuffer 115,
Empfangspuffer 130, Eingangspuffer 160, Statuszähler 165, Übertragungs
puffer 180 und FIFO-Puffer 190 können im Hauptspeicher des Rechners aus
gebildet werden. Alternativ können die Eingangs- und/oder Ausgangs
schnittstelle einige oder alle Funktionsblöcke im Empfänger 100 und/oder
Sender 150 bilden.
Claims (14)
1. Verfahren zur Videokommunikation, bei dem eine Sequenz von
Rahmen (300, 301, . . ., 304) eines beweglichen Bildes erzeugt, das bewegliche
Bild in einen Satz von Untersequenzen (210, . . ., 218), von denen jede eine Serie
von Rahmensegmenten (310, . . ., 314) enthält, die Abschnitte der Rahmen sind,
räumlich unterteilt, und jedes Rahmensegment (310, . . ., 314) als Digitalkode
kodiert wird, wobei jeder Digitalkode unabhängig von dem Inhalt von
Untersequenzen (210, . . ., 218) ist, welche nicht das mit dem Digitalkode kodierte
Rahmensegment (310, . . ., 314) enthalten, und der Digitalkode an einen
Empfänger (100) übertragen wird, dadurch gekennzeichnet, daß jeder vom
Empfänger (100) empfangene Digitalkode auf Fehler hin überprüft und bei einem
fehlerhaften Abschnitt ein erneutes Übertragen angefordert wird und wobei bei
fehlerfrei empfangenen Digitalkodes Eingaben in einen Statuspuffer (115) gesetzt
werden und bei jedem Kodieren eines Rahmensegmentes (310, . . ., 314) anhand
des Zählerstandes eines jedem Rahmensegment (310, . . . 314) zugeordneten
Statuszählers (165) bestimmt wird, ob das Rahmensegment (310, . . ., 314) intra-
oder interkodiert ist.
2. Verfahren nach Anspruch 1, gekennzeichnet durch Überprüfen der
Eingaben im Statuspuffer (115) zum Identifizieren eines Rahmens (300, 301, . . .,
304), bei dem alle für die Dekodierung des identifizierten Rahmens (300, 301, . . .,
304) erforderlichen Digitalkodes vom Empfänger (100) fehlerfrei empfangen
wurden, und Dekodieren des identifizierten Rahmens.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das
Überprüfen der Eingaben das Feststellen, ob die dem identifizierten Rahmen (300,
301, . . . 304) entsprechenden Eingaben fehlerfrei empfangen wurden, und - für
jede dem identifizierten Rahmen (300, 301, . . ., 304) entsprechende Eingabe, die
eine Interkodierung für den der Eingabe entsprechenden Digitalkode festlegt -,
das Feststellen, ob der Empfänger (100) alle für das Dekodieren eines
Rahmensegments (310, . . ., 314) in einem vorhergehenden Rahmen (300, 301, . . .,
304) und in derselben Untersequenz (210, . . , 218) wie das der Eingabe
entsprechende Rahmensegment (310, . . ., 314) empfangen hat, umfaßt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß die Übertragung des die Digitalkodes repräsentierenden
Signals das Aufteilen jedes Digitalkodes in Teile und das Bilden von die Teile
repräsentierenden Datenpaketen mit einer Länge umfaßt, die kürzer ist als eine
Schwellenlänge, und daß das Signal die Datenpakete repräsentiert.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß bei der Übertragung des die Digitalkodes repräsentierenden
Signals ein zyklischer Redundanzkode (CRC) für jeden Teil der Digitalkodes
erzeugt und für jeden Teil in dem ihn repräsentierenden Datenpaket eingefügt
wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß das
Überprüfen jedes Digitalkodes das Überprüfen des zyklischen Redundanzkodes
(CRC) in jedem von dem Empfänger (100) empfangenen Datenpaket umfaßt.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß das Überprüfen jedes Digitalkodes ein Analysieren der
Syntax des Digitalkodes zum Erkennen von Syntaxfehlern umfaßt.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch
gekennzeichnet, daß eine Schwellenlänge (TPAKET) für auf einem einen Sender
(150) mit einem Empfänger (100) verbindenden Kanal (145) übertragene
Datenpakete bestimmt wird, daß die Schwellenlänge (TPAKET) abhängig von
Übertragungsfehlern des Kanals (145) gewährt wird, daß eine erste Sequenz von
Rahmen (300, . . ., 304) eines beweglichen Bildes erzeugt wird, daß jeder Rahmen
(300, . . ., 304) als eine Serie von Digitalwerten kodiert wird, daß das über den
Kanal (145) übertragene Signal Sätze von einem Rahmen (300, . . ., 304)
entsprechenden und Digitalwerte aus der Serie für den entsprechenden Rahmen
enthaltenden Paketen repräsentiert, deren Länge kürzer als die Schwellenlänge
(TPAKET) ist, daß festgestellt wird, ob eines der übertragenen Datenpakete vom
Empfänger (100) fehlerbehaftet empfangen wird, und wenn ja, daß vom
Empfänger (100) zum Sender (150) eine Anforderung für erneute Übertragung
dieses Datenpakets übertragen wird, daß die erneute Übertragung des Pakets
vom Sender (150) zum Empfänger (100) vorgenommen wird, und daß von dem
Empfänger (100) fehlerfrei empfangene Datenpakete in eine zweite Sequenz von
Rahmen (300, . . ., 304) repräsentierende Digitalwerte umgesetzt werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die
Schwellenlänge (TPAKET) verkürzt wird, wenn der Empfänger (100) häufig eine
erneute Übertragung von Datenpaketen anfordert.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, daß
beim Umsetzen von Datenpaketen solche verworfen werden, die einem Rahmen
(300, . . , 304) entsprechen, der in der ersten Sequenz ist und teilweise durch ein
vom Empfänger (100) fehlerhaft empfangenes Datenpaket repräsentiert ist.
11. Videokodierer mit einer Kodierschaltung (170), die zum Aufteilen von
Rahmen (300, . . ., 304) eines beweglichen Bildes in eine Serie von
Rahmensegmenten (310, . . ., 314), die Abschnitte der Rahmen sind, zum
Auswählen von Interkodierung oder Intrakodierung als Kodierprozeß für jedes
Rahmensegment (310, . . ., 314), und zum Anwenden des ausgewählten
Kodierprozesses für ein Rahmensegment (310, . . ., 314) zum Erzeugen eines
Digitalkodes für das betreffende Rahmensegment (310, . . ., 314) ausgebildet ist,
gekennzeichnet durch Zähler (165), die jeweils einem Rahmensegment (310, . . .
314) des bewegten Bildes zugeordnet sind, wobei die Kodierschaltung zum
Auswählen des Kodierprozesses entsprechend dem Zählstand in dem dem
betreffenden Rahmensegment (310, . . ., 314) zugeordneten Zähler ausgebildet ist.
12. Videokodierer nach Anspruch 11, dadurch gekennzeichnet, daß die
Kodierschaltung (170) Mittel für das Inkrementieren eines Zählstandes jedesmal
dann, wenn das betreffende Rahmensegment (310, . . ., 314) interkodiert wird, und
für das Rücksetzen des Zählstandes jedesmal dann, wenn das betreffende
Rahmensegment (310, . . ., 314) intrakodiert wird, umfaßt.
13. Videokodierer nach Anspruch 11 oder 12, gekennzeichnet durch
einen an die Kodierschaltung (170) gekoppelten Puffer (180, 190) zum Speichern
von Digitalkodes repräsentierenden Datenpaketen und durch eine an den Puffer
(180, 190) gekoppelte Neuübertragungs-Steuereinheit (185), um aus dem Puffer
(180, 190) entweder ein laufendes Datenpaket für die Übertragung oder ein früher
übertragenes Datenpaket für die Neuübertragung auszuwählen.
14. Videokodierer nach Anspruch 13, dadurch gekennzeichnet, daß der
Puffer (180, 190) einen Übertragungspuffer (180) und einen
Neuübertragungspuffer (190) umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/522,688 US5768533A (en) | 1995-09-01 | 1995-09-01 | Video coding using segmented frames and retransmission to overcome channel errors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19635116A1 DE19635116A1 (de) | 1997-03-06 |
DE19635116C2 true DE19635116C2 (de) | 2001-05-10 |
Family
ID=24081911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19635116A Expired - Fee Related DE19635116C2 (de) | 1995-09-01 | 1996-08-30 | Verfahren zur Videokommunikation |
Country Status (3)
Country | Link |
---|---|
US (1) | US5768533A (de) |
KR (1) | KR100552343B1 (de) |
DE (1) | DE19635116C2 (de) |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6404923B1 (en) | 1996-03-29 | 2002-06-11 | Microsoft Corporation | Table-based low-level image classification and compression system |
US6014706A (en) * | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
JP3653569B2 (ja) | 1997-01-30 | 2005-05-25 | マイクロソフト コーポレーション | ビデオをオン・デマンドでレンダリングするvcrに似た機能 |
US6639945B2 (en) | 1997-03-14 | 2003-10-28 | Microsoft Corporation | Method and apparatus for implementing motion detection in video compression |
US6173317B1 (en) | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6728775B1 (en) | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US7321783B2 (en) | 1997-04-25 | 2008-01-22 | Minerva Industries, Inc. | Mobile entertainment and communication device |
US6178448B1 (en) | 1997-06-18 | 2001-01-23 | International Business Machines Corporation | Optimal link scheduling for multiple links by obtaining and utilizing link quality information |
GB2328125B (en) * | 1997-08-08 | 2002-04-10 | Ericsson Telefon Ab L M | Network control system |
US6546405B2 (en) | 1997-10-23 | 2003-04-08 | Microsoft Corporation | Annotating temporally-dimensioned multimedia content |
US7184426B2 (en) * | 2002-12-12 | 2007-02-27 | Qualcomm, Incorporated | Method and apparatus for burst pilot for a time division multiplex system |
US9118387B2 (en) * | 1997-11-03 | 2015-08-25 | Qualcomm Incorporated | Pilot reference transmission for a wireless communication system |
DE69938025T2 (de) * | 1998-09-01 | 2009-01-15 | Alcatel Lucent | Verfahren zur Fehlerschätzung in Informationsdatenübertragung |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6415326B1 (en) | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6304295B1 (en) * | 1998-09-18 | 2001-10-16 | Sarnoff Corporation | Region-based refresh strategy for video compression |
KR100418875B1 (ko) * | 1998-10-10 | 2004-04-17 | 엘지전자 주식회사 | 영상데이터재전송방법 |
KR100418874B1 (ko) * | 1998-10-10 | 2004-04-17 | 엘지전자 주식회사 | 영상압축시스템에서영상데이터버퍼링방법 |
KR100363162B1 (ko) * | 1998-11-02 | 2003-01-24 | 삼성전자 주식회사 | 영상신호의전송/복원방법및장치 |
US6629318B1 (en) * | 1998-11-18 | 2003-09-30 | Koninklijke Philips Electronics N.V. | Decoder buffer for streaming video receiver and method of operation |
DE69938094T2 (de) | 1998-11-30 | 2009-02-05 | Matsushita Electric Industries Co. Ltd., Kadoma | Paketwiederübertragungskontrolle mit Prioritätsinformationen |
GB2347038A (en) * | 1999-02-18 | 2000-08-23 | Nokia Mobile Phones Ltd | A video codec using re-transmission |
US6345375B1 (en) * | 1999-02-24 | 2002-02-05 | California Amplifier, Inc. | Packet-based communication methods and systems having improved data throughput |
US6973069B1 (en) * | 1999-03-23 | 2005-12-06 | Motorola, Inc. | Method for transporting multimedia information in a communication system |
US6574795B1 (en) * | 1999-05-28 | 2003-06-03 | Intel Corporation | Reliable communication of data by supplementing a unidirectional communications protocol |
KR100580158B1 (ko) * | 1999-06-12 | 2006-05-15 | 삼성전자주식회사 | 화상 패킷 전송을 위한 무선통신 시스템 |
US7313808B1 (en) | 1999-07-08 | 2007-12-25 | Microsoft Corporation | Browsing continuous multimedia content |
US7293280B1 (en) * | 1999-07-08 | 2007-11-06 | Microsoft Corporation | Skimming continuous multimedia content |
US6400724B1 (en) * | 1999-07-16 | 2002-06-04 | Qualcomm Inc. | Method and apparatus for efficient data transmission in a voice-over-data communication system |
US6792148B1 (en) * | 1999-10-18 | 2004-09-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for providing a camera accessory with compression |
US6683986B1 (en) * | 1999-10-28 | 2004-01-27 | Sharp Laboratories Of America, Inc. | Efficient transmission of quarter-VGA images using DVC codecs |
JP3403683B2 (ja) * | 1999-11-26 | 2003-05-06 | 沖電気工業株式会社 | 画像符号化装置および方法 |
US6928655B1 (en) * | 1999-12-16 | 2005-08-09 | Microsoft Corporation | Live presentation searching |
US7149359B1 (en) | 1999-12-16 | 2006-12-12 | Microsoft Corporation | Searching and recording media streams |
US6868440B1 (en) * | 2000-02-04 | 2005-03-15 | Microsoft Corporation | Multi-level skimming of multimedia content using playlists |
US6414938B1 (en) * | 2000-02-14 | 2002-07-02 | Motorola, Inc. | Method and system for retransmitting data packets in a communication system having variable data rates |
DE60020672T2 (de) * | 2000-03-02 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren und Vorrichtung zur Wiederholung der Videodatenrahmen mit Prioritätsstufen |
US7237254B1 (en) | 2000-03-29 | 2007-06-26 | Microsoft Corporation | Seamless switching between different playback speeds of time-scale modified data streams |
US6985966B1 (en) | 2000-03-29 | 2006-01-10 | Microsoft Corporation | Resynchronizing globally unsynchronized multimedia streams |
US6581183B1 (en) * | 2000-03-30 | 2003-06-17 | International Business Machines Corporation | System and method for resynchronization of transmit and receive compression dictionaries |
US7302490B1 (en) * | 2000-05-03 | 2007-11-27 | Microsoft Corporation | Media file format to support switching between multiple timeline-altered media streams |
US7079582B2 (en) * | 2000-07-07 | 2006-07-18 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus and image coding method |
JP2002027463A (ja) * | 2000-07-07 | 2002-01-25 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び方法 |
JP2002034021A (ja) * | 2000-07-14 | 2002-01-31 | Mitsubishi Electric Corp | 画像信号蓄積再生装置および画像信号送信装置 |
EP1323308B1 (de) * | 2000-08-15 | 2014-08-20 | Polycom Israel Ltd. | Verzögerungsreduktion zur übertragung und verarbeitung von videodaten |
JP3590949B2 (ja) * | 2000-08-17 | 2004-11-17 | 松下電器産業株式会社 | データ伝送装置およびデータ伝送方法 |
US7224702B2 (en) * | 2000-08-30 | 2007-05-29 | The Chinese University Of Hong Kong | System and method for error-control for multicast video distribution |
US7013346B1 (en) * | 2000-10-06 | 2006-03-14 | Apple Computer, Inc. | Connectionless protocol |
US7185257B2 (en) * | 2000-10-21 | 2007-02-27 | Samsung Electronics Co., Ltd. | Data transmitting/receiving method in HARQ data communication system |
US7068683B1 (en) | 2000-10-25 | 2006-06-27 | Qualcomm, Incorporated | Method and apparatus for high rate packet data and low delay data transmissions |
US6973098B1 (en) | 2000-10-25 | 2005-12-06 | Qualcomm, Incorporated | Method and apparatus for determining a data rate in a high rate packet data wireless communications system |
KR20040028648A (ko) * | 2000-11-29 | 2004-04-03 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 휴대용 통신 장치 |
EP1211899A1 (de) * | 2000-11-29 | 2002-06-05 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Tragbares Übertragungsgerät |
US7024609B2 (en) * | 2001-04-20 | 2006-04-04 | Kencast, Inc. | System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files |
US7164680B2 (en) * | 2001-06-04 | 2007-01-16 | Koninklijke Philips Electronics N.V. | Scheme for supporting real-time packetization and retransmission in rate-based streaming applications |
WO2003013004A2 (en) * | 2001-07-27 | 2003-02-13 | Koninklijke Philips Electronics N.V. | Signal coding |
US6693910B2 (en) * | 2002-06-28 | 2004-02-17 | Interdigital Technology Corporation | System and method for avoiding stall of an H-ARQ reordering buffer in a receiver |
GB0218961D0 (en) * | 2002-08-15 | 2002-09-25 | Koninkl Philips Electronics Nv | Transmission method and system |
US7397768B1 (en) | 2002-09-11 | 2008-07-08 | Qlogic, Corporation | Zone management in a multi-module fibre channel switch |
US20040252761A1 (en) * | 2003-06-16 | 2004-12-16 | Dilithium Networks Pty Limited (An Australian Corporation) | Method and apparatus for handling video communication errors |
US20050013589A1 (en) * | 2003-07-14 | 2005-01-20 | Microsoft Corporation | Adding recording functionality to a media player |
US7471635B2 (en) | 2003-07-16 | 2008-12-30 | Qlogic, Corporation | Method and apparatus for test pattern generation |
US7525910B2 (en) | 2003-07-16 | 2009-04-28 | Qlogic, Corporation | Method and system for non-disruptive data capture in networks |
US7463646B2 (en) | 2003-07-16 | 2008-12-09 | Qlogic Corporation | Method and system for fibre channel arbitrated loop acceleration |
US7453802B2 (en) | 2003-07-16 | 2008-11-18 | Qlogic, Corporation | Method and apparatus for detecting and removing orphaned primitives in a fibre channel network |
US7620059B2 (en) | 2003-07-16 | 2009-11-17 | Qlogic, Corporation | Method and apparatus for accelerating receive-modify-send frames in a fibre channel network |
US7573909B2 (en) | 2003-07-21 | 2009-08-11 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7447224B2 (en) | 2003-07-21 | 2008-11-04 | Qlogic, Corporation | Method and system for routing fibre channel frames |
US7430175B2 (en) * | 2003-07-21 | 2008-09-30 | Qlogic, Corporation | Method and system for managing traffic in fibre channel systems |
US7646767B2 (en) | 2003-07-21 | 2010-01-12 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7580354B2 (en) * | 2003-07-21 | 2009-08-25 | Qlogic, Corporation | Multi-speed cut through operation in fibre channel switches |
US7512067B2 (en) | 2003-07-21 | 2009-03-31 | Qlogic, Corporation | Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch |
US7466700B2 (en) | 2003-07-21 | 2008-12-16 | Qlogic, Corporation | LUN based hard zoning in fibre channel switches |
US7525983B2 (en) | 2003-07-21 | 2009-04-28 | Qlogic, Corporation | Method and system for selecting virtual lanes in fibre channel switches |
US7477655B2 (en) | 2003-07-21 | 2009-01-13 | Qlogic, Corporation | Method and system for power control of fibre channel switches |
US7630384B2 (en) | 2003-07-21 | 2009-12-08 | Qlogic, Corporation | Method and system for distributing credit in fibre channel systems |
US7792115B2 (en) | 2003-07-21 | 2010-09-07 | Qlogic, Corporation | Method and system for routing and filtering network data packets in fibre channel systems |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7558281B2 (en) | 2003-07-21 | 2009-07-07 | Qlogic, Corporation | Method and system for configuring fibre channel ports |
US7583597B2 (en) | 2003-07-21 | 2009-09-01 | Qlogic Corporation | Method and system for improving bandwidth and reducing idles in fibre channel switches |
US7522522B2 (en) | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for reducing latency and congestion in fibre channel switches |
US7420982B2 (en) * | 2003-07-21 | 2008-09-02 | Qlogic, Corporation | Method and system for keeping a fibre channel arbitrated loop open during frame gaps |
US7894348B2 (en) | 2003-07-21 | 2011-02-22 | Qlogic, Corporation | Method and system for congestion control in a fibre channel switch |
US7406092B2 (en) * | 2003-07-21 | 2008-07-29 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
US7522529B2 (en) | 2003-07-21 | 2009-04-21 | Qlogic, Corporation | Method and system for detecting congestion and over subscription in a fibre channel network |
US7796499B2 (en) * | 2003-12-05 | 2010-09-14 | Telefonaktiebolaget L M Ericsson (Publ) | Method of and system for video fast update |
US7480293B2 (en) | 2004-02-05 | 2009-01-20 | Qlogic, Corporation | Method and system for preventing deadlock in fibre channel fabrics using frame priorities |
US7564789B2 (en) | 2004-02-05 | 2009-07-21 | Qlogic, Corporation | Method and system for reducing deadlock in fibre channel fabrics using virtual lanes |
US7930377B2 (en) | 2004-04-23 | 2011-04-19 | Qlogic, Corporation | Method and system for using boot servers in networks |
US7340167B2 (en) | 2004-04-23 | 2008-03-04 | Qlogic, Corporation | Fibre channel transparent switch for mixed switch fabrics |
US7271749B2 (en) * | 2004-09-14 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Context-based denoiser that simultaneously updates probabilities for multiple contexts |
US7498961B2 (en) * | 2004-09-14 | 2009-03-03 | Hewlett-Packard Development Company, L.P. | Context identification using a denoised signal |
US8259565B2 (en) * | 2004-09-16 | 2012-09-04 | Qualcomm Inc. | Call setup in a video telephony network |
US7533324B2 (en) * | 2004-09-22 | 2009-05-12 | Kencast, Inc. | System, method and apparatus for FEC encoding and decoding |
US8295299B2 (en) | 2004-10-01 | 2012-10-23 | Qlogic, Corporation | High speed fibre channel switch element |
US7411958B2 (en) | 2004-10-01 | 2008-08-12 | Qlogic, Corporation | Method and system for transferring data directly between storage devices in a storage area network |
US7593997B2 (en) | 2004-10-01 | 2009-09-22 | Qlogic, Corporation | Method and system for LUN remapping in fibre channel networks |
CN100393133C (zh) * | 2004-12-30 | 2008-06-04 | 中兴通讯股份有限公司 | 一种视频序列中运动物体的分割方法 |
US7519058B2 (en) | 2005-01-18 | 2009-04-14 | Qlogic, Corporation | Address translation in fibre channel switches |
US7739580B1 (en) * | 2005-02-17 | 2010-06-15 | Kencast, Inc. | System, method and apparatus for reducing blockage losses on information distribution networks |
US9237347B2 (en) * | 2005-03-21 | 2016-01-12 | The Regents Of The University Of California | Systems and methods for video compression for low bit rate and low latency video communications |
US8560753B1 (en) | 2005-03-30 | 2013-10-15 | Teradici Corporation | Method and apparatus for remote input/output in a computer system |
US7516255B1 (en) | 2005-03-30 | 2009-04-07 | Teradici Corporation | Method and apparatus for providing a low-latency connection between a data processor and a remote graphical user interface over a network |
KR100686157B1 (ko) * | 2005-05-04 | 2007-02-26 | 엘지전자 주식회사 | 디지털 멀티미디어 데이터 녹화기능을 갖는 이동 단말기 및 이를 이용한 디지털 멀티미디어 데이터 녹화방법 |
US7592936B2 (en) * | 2005-07-12 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Input distribution determination for denoising |
US7747921B2 (en) * | 2005-08-05 | 2010-06-29 | Sony Corporation | Systems and methods for transmitting data over lossy networks |
US8223643B1 (en) | 2005-09-06 | 2012-07-17 | Kencast, Inc. | Method for packet-level FEC encoding a stream of source packets using shifted interleaving |
KR100640487B1 (ko) * | 2005-09-08 | 2006-11-01 | 삼성전자주식회사 | 이동 통신 단말기의 화상 통화 서비스 수행 방법 |
US8102878B2 (en) * | 2005-09-29 | 2012-01-24 | Qualcomm Incorporated | Video packet shaping for video telephony |
US8514711B2 (en) * | 2005-10-21 | 2013-08-20 | Qualcomm Incorporated | Reverse link lower layer assisted video error control |
US8842555B2 (en) * | 2005-10-21 | 2014-09-23 | Qualcomm Incorporated | Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems |
US8548048B2 (en) * | 2005-10-27 | 2013-10-01 | Qualcomm Incorporated | Video source rate control for video telephony |
US8406309B2 (en) * | 2005-10-21 | 2013-03-26 | Qualcomm Incorporated | Video rate adaptation to reverse link conditions |
US7548560B1 (en) | 2006-02-27 | 2009-06-16 | Qlogic, Corporation | Method and system for checking frame-length in fibre channel frames |
US7656410B2 (en) * | 2006-03-31 | 2010-02-02 | Intel Corporation | Image buffering techniques |
EP2039107A1 (de) * | 2006-06-29 | 2009-03-25 | Telecom Italia S.p.A. | Verfahren und vorrichtung zur verbesserung der bandbreitennutzung bei der echtzeit-audio/video-kommunikation |
US8707139B2 (en) | 2006-10-18 | 2014-04-22 | Kencast, Inc. | Systems, methods, apparatus, and computer program products for providing forward error correction with low latency |
CN101578842B (zh) * | 2007-01-10 | 2014-03-05 | 高通股份有限公司 | 用于多媒体电话的依赖于内容和链路的编码自适应 |
US8553757B2 (en) * | 2007-02-14 | 2013-10-08 | Microsoft Corporation | Forward error correction for media transmission |
US7949778B2 (en) * | 2007-03-27 | 2011-05-24 | Kencast, Inc. | Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP) |
US8055779B1 (en) | 2007-05-10 | 2011-11-08 | Adobe Systems Incorporated | System and method using data keyframes |
US9979931B2 (en) * | 2007-05-30 | 2018-05-22 | Adobe Systems Incorporated | Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device |
JP2008311831A (ja) * | 2007-06-13 | 2008-12-25 | Panasonic Corp | 動画像通信装置、動画像通信システムおよび動画像通信用の半導体集積回路 |
CN101689959A (zh) * | 2007-07-10 | 2010-03-31 | 三菱电机株式会社 | 发送装置及通信系统 |
KR101221915B1 (ko) * | 2007-08-14 | 2013-01-15 | 엘지전자 주식회사 | 데이터 전송방법 |
KR101531503B1 (ko) * | 2007-09-10 | 2015-06-26 | 엘지전자 주식회사 | 다중 harq를 이용한 신호 전송 방법 |
US8797850B2 (en) * | 2008-01-10 | 2014-08-05 | Qualcomm Incorporated | System and method to adapt to network congestion |
US8418034B2 (en) * | 2008-02-08 | 2013-04-09 | Kencast, Inc. | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
JP5207895B2 (ja) * | 2008-09-17 | 2013-06-12 | キヤノン株式会社 | 送信装置、受信装置、及び方法、プログラム |
EP2247154B1 (de) * | 2009-04-27 | 2012-05-16 | Telefonaktiebolaget L M Ericsson (PUBL) | Verfahren zur koordinierten RLC- und PDCP-Verarbeitung |
ATE540498T1 (de) * | 2009-04-27 | 2012-01-15 | Ericsson Telefon Ab L M | Verfahren zur durchführung einer schicht 2 verarbeitung unter verwendung einer verteilten speicherarchitektur |
US8811200B2 (en) | 2009-09-22 | 2014-08-19 | Qualcomm Incorporated | Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems |
KR101345098B1 (ko) * | 2009-12-18 | 2013-12-26 | 한국전자통신연구원 | 실시간 영상품질 측정 장치 및 방법 |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
KR20130058962A (ko) * | 2011-11-28 | 2013-06-05 | 한국전자통신연구원 | 지그비 네트워크 표준 프로토콜 기반의 무선 영상 통신 장치 및 방법 |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US9369724B2 (en) * | 2014-03-31 | 2016-06-14 | Microsoft Technology Licensing, Llc | Decoding and synthesizing frames for incomplete video data |
CN106105219A (zh) * | 2014-04-01 | 2016-11-09 | 美国莱迪思半导体公司 | 用于在串行视频接口中进行检错与纠错的正交数据组织 |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
WO2016114788A1 (en) * | 2015-01-16 | 2016-07-21 | Hewlett Packard Enterprise Development Lp | Video encoder |
CN105141876B (zh) * | 2015-09-24 | 2019-02-22 | 京东方科技集团股份有限公司 | 视频信号转换方法、视频信号转换装置以及显示系统 |
FR3041850B1 (fr) * | 2015-09-30 | 2018-05-25 | Vogo | Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop) |
US10841621B2 (en) * | 2017-03-01 | 2020-11-17 | Wyse Technology L.L.C. | Fault recovery of video bitstream in remote sessions |
US11252429B2 (en) | 2018-04-27 | 2022-02-15 | Ati Technologies Ulc | Low-latency consumption of an encoded video bitstream |
US11843772B2 (en) | 2019-12-06 | 2023-12-12 | Ati Technologies Ulc | Video encode pre-analysis bit budgeting based on context and features |
US11070829B2 (en) | 2019-12-16 | 2021-07-20 | Ati Technologies Ulc | Reducing latency in wireless virtual and augmented reality systems |
CN115314157B (zh) * | 2022-07-19 | 2023-10-24 | 烽火通信科技股份有限公司 | 一种以太网成帧方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128776A (en) * | 1989-06-16 | 1992-07-07 | Harris Corporation | Prioritized image transmission system and method |
GB2278752A (en) * | 1993-05-31 | 1994-12-07 | Samsung Electronics Co Ltd | Image recovery over a video telephone system |
DE4443910A1 (de) * | 1993-12-10 | 1995-06-14 | Ricoh Kk | Verfahren zum Steuern von TV-Konferenz-Kommunikationseinrichtungen und TV-Konferenz-Kommunikationseinrichtung |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE31182E (en) * | 1976-11-10 | 1983-03-15 | International Telephone And Telegraph Corporation | Packet-switched data communication system |
CN86101893A (zh) * | 1985-02-28 | 1986-11-05 | 佳能株式会社 | 数据通信设备 |
US4774587A (en) * | 1987-06-02 | 1988-09-27 | Eastman Kodak Company | Still video transceiver processor |
US4908828A (en) * | 1987-12-29 | 1990-03-13 | Indesys, Inc. | Method for error free message reception |
DE3900633C2 (de) * | 1988-01-11 | 2000-01-20 | Ricoh Kk | Faxgerät |
US5105423A (en) * | 1988-05-17 | 1992-04-14 | Ricoh Company, Ltd. | Digital transmission device having an error correction mode and method for shifting down a data transmission rate |
JPH03135182A (ja) * | 1989-10-20 | 1991-06-10 | Hitachi Ltd | 映像伝送方式 |
US5481566A (en) * | 1993-12-29 | 1996-01-02 | At&T Corp. | Method and apparatus to increase efficiency of systematic codes |
-
1995
- 1995-09-01 US US08/522,688 patent/US5768533A/en not_active Expired - Fee Related
-
1996
- 1996-08-30 DE DE19635116A patent/DE19635116C2/de not_active Expired - Fee Related
- 1996-08-31 KR KR1019960037397A patent/KR100552343B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128776A (en) * | 1989-06-16 | 1992-07-07 | Harris Corporation | Prioritized image transmission system and method |
GB2278752A (en) * | 1993-05-31 | 1994-12-07 | Samsung Electronics Co Ltd | Image recovery over a video telephone system |
DE4443910A1 (de) * | 1993-12-10 | 1995-06-14 | Ricoh Kk | Verfahren zum Steuern von TV-Konferenz-Kommunikationseinrichtungen und TV-Konferenz-Kommunikationseinrichtung |
Non-Patent Citations (1)
Title |
---|
SHU LIN, DANIEL J. COSTELLO, JR.: "ERROR CONTROL CODING", Fundamentals and Applications, 1983 Org. Prentice-Hall, Inc., ISBN 0-13-283796-X, S. 85-124 * |
Also Published As
Publication number | Publication date |
---|---|
DE19635116A1 (de) | 1997-03-06 |
KR970019219A (ko) | 1997-04-30 |
US5768533A (en) | 1998-06-16 |
KR100552343B1 (ko) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19635116C2 (de) | Verfahren zur Videokommunikation | |
DE60020243T2 (de) | Videokodierung | |
DE60304294T2 (de) | Verfahren zur selektiven Übertragungswiederholung gemäß Paket-Kennzeichen | |
DE69630173T2 (de) | Übertragungssystem und -einrichtung für sich bewegende Bilder | |
DE69907689T2 (de) | Adaptives digitales video-codec für drahtlose übertragung | |
DE69434607T2 (de) | Faksimiledatenübertragungssystem und -Verfahren | |
EP2198610B1 (de) | Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung | |
DE19801143C2 (de) | Verfahren für die Dekodierung von Videodaten | |
DE10043188A1 (de) | Fehlerkorrekturverfahren für Videokompressionskodierung unter Verwendung von mehreren Referenzpuffern und einem Nachrichtenkanal | |
DE4443910C2 (de) | Verfahren zum Steuern von TV-Konferenz-Kommunikationseinrichtungen und TV-Konferenz-Kommunikationseinrichtung | |
DE69738176T2 (de) | Videodekodierer | |
DE69930574T2 (de) | Fehlererkennung in einer niedrigen Bitrate Videoübertragung | |
EP1147613A1 (de) | Verfahren zur übertragung quellencodierter digitaler signale | |
WO2011137919A9 (de) | Verfahren und vorrichtung zur modifikation eines kodierten datenstroms | |
DE10105888B4 (de) | Verfahren zum Steuern der Ziel-Bitfehlerrate für jedes Paket in leitungsgebundenen und drahtlosen Videokommunikationssystemen | |
DE4408163A1 (de) | Verfahren zum Übertragen von Daten | |
DE10296787B4 (de) | Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks | |
DE60221807T2 (de) | Lauflängenkodierung nichtkodierter makroblöcke | |
EP0802635B1 (de) | Verfahren zur Übertragung von codierten Daten | |
WO1997001247A1 (de) | Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung | |
EP0533675B1 (de) | Übertragungssystem | |
WO2002084929A1 (de) | Verfahren und vorrichtung zur übertragung von digitalen signalen | |
DE19948599B4 (de) | Datenwiedersendeverfahren, Sende- und Wiedersendeverfahren für Videodaten sowie System zum Codieren und Decodieren von Videodaten | |
DE69726417T2 (de) | Verfahren und Vorrichtung zur Kodierung von Bewegtbildern | |
DE60129083T2 (de) | Verfahren zur Videoübertragung über ein Netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |