DE19635116C2 - Verfahren zur Videokommunikation - Google Patents

Verfahren zur Videokommunikation

Info

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
Application number
DE19635116A
Other languages
English (en)
Other versions
DE19635116A1 (de
Inventor
Xiaonong Ran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Semiconductor Corp
Original Assignee
National Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Semiconductor Corp filed Critical National Semiconductor Corp
Publication of DE19635116A1 publication Critical patent/DE19635116A1/de
Application granted granted Critical
Publication of DE19635116C2 publication Critical patent/DE19635116C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data 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.
DE19635116A 1995-09-01 1996-08-30 Verfahren zur Videokommunikation Expired - Fee Related DE19635116C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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