DE60025541T2 - Method and apparatus for channel state based repeating of data packets - Google Patents

Method and apparatus for channel state based repeating of data packets Download PDF

Info

Publication number
DE60025541T2
DE60025541T2 DE2000625541 DE60025541T DE60025541T2 DE 60025541 T2 DE60025541 T2 DE 60025541T2 DE 2000625541 DE2000625541 DE 2000625541 DE 60025541 T DE60025541 T DE 60025541T DE 60025541 T2 DE60025541 T2 DE 60025541T2
Authority
DE
Germany
Prior art keywords
channel
video
retransmission
frame
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE2000625541
Other languages
German (de)
Other versions
DE60025541D1 (en
Inventor
Rolf Hakenberg
Carsten Burmeister
Thomas Wiebke
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority claimed from EP00104388A external-priority patent/EP1130839B1/en
Publication of DE60025541D1 publication Critical patent/DE60025541D1/en
Application granted granted Critical
Publication of DE60025541T2 publication Critical patent/DE60025541T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

Die vorliegende Erfindung betrifft ein Datenübertragungsverfahren und Vorrichtung und insbesondere Video-Streaming-Anwendungen.The The present invention relates to a data transmission method and apparatus and in particular video streaming applications.

Bei der Video- und Multimedia-Kommunikation gibt es viele Anwendungen, bei denen Videoströme über nicht zuverlässige Kanäle geliefert werden. Beispiele solcher Anwendungen sind Personal Computer, TV-Geräte und Computerkarten, MPEG-Decoder und Platinen, Multimedia-Transceiver-Systeme und Set-top-Empfängereinheiten, DVD-Geräte, Videorecorder und CCD-Kameras, Videosignaleinrichtungen, Frame-Grabber und Bilderfassungsplatinen, industrielle und medizinische Abbildungserzeugnisse, Videodrucker und Projektoren oder dergleichen. Man wird daher einsehen, dass sowohl im Verbrauchermarkt als auch in professionellen Anwendungen viele Arten von Video-Streaming-Anwendungen sowohl in Software aus auch in Hardware existieren.at of video and multimedia communication, there are many applications where video streams over not reliable channels to be delivered. Examples of such applications are personal computers, TV sets and computer cards, MPEG decoders and boards, multimedia transceiver systems and Set-top receiver units, DVD devices, video recorders and CCD cameras, video signal devices, frame grabbers and image capture boards, industrial and medical imaging products, video printers and projectors or the like. One will therefore understand that both in the consumer market and in professional applications many types of video streaming applications both in software and in hardware exist.

Ein Videostrom besteht aus einem Fluss von Bitpaketen, genannt Rahmen, die Information über das Videobild selbst sowie einige Meta-Informationen, z.B. Zeitstempel, enthalten. Die Rahmen enthalten die Videoinformation in verschiedenen Formaten, die von der Videokompression abhängen. Einige dieser Rahmen können unabhängig verwendet werden, so genannte intracodierte Rahmen oder I-Rahmen, während andere von dem vorangehenden Rahmen abhängen, so genannte prädiktiv codierte oder P-Rahmen.One Video stream is a stream of bitpacks called frames the information about that Video image itself as well as some meta-information, e.g. Time stamp, contain. The frames contain the video information in different Formats that depend on video compression. Some of these frames can independently used, so-called intra-coded frames or I-frames, while others depend on the previous frame, so-called predictive coded or P-frame.

1 veranschaulicht ein herkömmliches Video-Streaming-System. Ein Video-Server 110 sendet Videodaten über einen Kanal 150 an einen Video-Client 160. Zu diesem Zweck enthält der Video-Server 110 eine Senderpuffereinheit 130, die Videorahmen fast ohne Verzögerung von einer Videoquellen-Anwendung 120 empfängt. Die Bitrate dieser internen Übertragung ist nur durch die Bitrate der Videoquellen-Anwendung begrenzt. In der Senderpuffereinheit 130 erfahren die Rahmen zuerst eine Segmentierung, d.h., Datenpakete werden durch Protokolle tieferer Schichten in kleinere Segmente geteilt, wobei die Zahl von Segmenten von der Länge des Pakets abhängt, die variabel ist und z.B. 200 oder 2,000 Byte betragen kann. Diese Segmentierung bestimmt einen Teil der Übertragungszeit für das jeweilige Paket. 1 illustrates a conventional video streaming system. A video server 110 sends video data over a channel 150 to a video client 160 , For this purpose, the video server contains 110 a transmitter buffer unit 130 video frames with almost no delay from a video source application 120 receives. The bitrate of this internal transfer is limited only by the bitrate of the video source application. In the transmitter buffer unit 130 The frames first undergo segmentation, that is, data packets are divided into smaller segments by lower layer protocols, the number of segments depending on the length of the packet, which is variable and may be, for example, 200 or 2,000 bytes. This segmentation determines a portion of the transmission time for the particular packet.

Sobald die Rahmen die Segmentierung erfahren haben, werden die Segmente auf dem Kanal in definierten Zeitschlitzen entsprechend der verfügbaren Kanalbitrate gesendet. In unzuverlässigen Kanälen treten Bitfehler auf, und die verfügbare Kanalbitrate verändert sich zeitlich, wenn sich mehrere Benutzer in den Kanal teilen. Dies führt zu einer bedeutsamen und veränderlichen Ausbreitungsverzögerung.As soon as the frames have undergone segmentation become the segments on the channel in defined time slots according to the available channel bit rate Posted. In unreliable channels Bit errors occur and the available channel bit rate changes temporally, when several users share in the channel. This leads to a meaningful and changeable Propagation delay.

Zugang zu dem Kanal erhält die Senderpuffereinheit 130 von einer Kanalzugangssteuerung 140. Da die Bitrate des Kanals 150 niedriger ist als die Bitrate des von der Videoquellen-Anwendung 120 empfangenen Videostromes, werden die Segmente, die nicht gesendet werden konnten, durch die Senderpuffereinheit 130 in einer First-in-first-out-(FIFO)-Warteschlangenordnung gepuffert. Die Senderpuffereinheit und die Kanalzugangssteuerung sind getrennte Wesenheiten und völlig unabhängig von der Videoanwendung. Die Videoquellen-Anwendung 120 empfängt somit keinerlei Rückmeldung über den Status der Rahmen dahingehend, ob sie bereits gesendet sind oder ob sie gepuffert sind. Alle Daten werden von der Senderpuffereinheit 130 in der Reihenfolge gesendet, in der sie eingetroffen sind.Access to the channel is received by the transmitter buffer unit 130 from a channel access control 140 , As the bitrate of the channel 150 is lower than the bit rate of the video source application 120 received video streams, the segments that could not be sent through the transmitter buffer unit 130 buffered in a first-in-first-out (FIFO) queue order. The transmitter buffer unit and the channel access controller are separate entities and completely independent of the video application. The video source application 120 thus receives no feedback on the status of the frames as to whether they have already been sent or whether they are buffered. All data is from the sender buffer unit 130 sent in the order in which they arrived.

Die von dem Video-Server 110 gesendeten Segmente oder PDUs (Protokoll-Dateneinheiten) werden von dem Video-Client 160 in einer Empfängerpuffereinheit 170 empfangen. Die Empfängerpuffereinheit 170 enthält einen Puffer zum Speichern der empfangenen Daten und setzt auch die Rahmen wieder aus den Segmenten zusammen. Die Videorahmen werden dann an eine Videoanzeige-Anwendung 180 gesendet, die z.B. ebenfalls eine Speichervorrichtung oder dergleichen sein könnte.The one from the video server 110 Sent segments or PDUs (protocol data units) are received by the video client 160 in a receiver buffer unit 170 receive. The receiver buffer unit 170 contains a buffer for storing the received data and also reassembles the frames from the segments. The video frames are then sent to a video display application 180 sent, which could also be a storage device or the like, for example.

Zwei Hauptprobleme treten bei Videoübertragungen über unzuverlässige Verbindungen auf.Two Major issues with video transmissions are unreliable connections on.

Das erste Problem ist, dass wegen Änderungen in dem Kanalzustand die Bitfehlerrate zunehmen kann, so dass Paketverlust vorkommt. Da komprimierte Videoströme für Paketverlust äußerst anfällig sind, wird die Videoqualität dramatisch verringert. Das zweite Problem kann aus der veränderlichen und manchmal sehr hohen Verzögerung der Videodaten entstehen, was zu Situationen führen könnte, wo die Verzögerungsbedingungen für die Übertragung nicht mehr erfüllt werden und die Videoleistung erneut dramatisch verringert wird.The first problem is that because of changes in the channel state, the bit error rate may increase, causing packet loss occurs. Because compressed video streams are extremely vulnerable to packet loss, will the video quality dramatically reduced. The second problem may be out of the variable and sometimes very high delay of the video data, which could lead to situations where the delay conditions for the transmission not fulfilled anymore and video performance is dramatically reduced again.

Um den Paketverlust zu verringern, existieren im Stand der Technik mehrere Mechanismen. Einer dieser Mechanismen ist ein Verfahren, genannt automatische Wieder holanforderung (ARQ), entsprechend dem der Verlust eines Pakets im Empfänger erfasst und der Sender entsprechend informiert wird. Der Sender wiederholt dann automatisch die Übertragung des verlorenen Pakets, so dass fehlende Videorahmen erneut gesendet werden. Wegen der Verzögerungsanforderungen und/oder der begrenzten Bandbreite des Transportkanals können jedoch nicht alle verlorenen Pakete neu gesendet werden. Außerdem führen solche Systeme des Standes der Technik zu einer höheren Verzögerung, die in keinem Fall hingenommen werden könnte.Around reducing packet loss exists in the prior art several mechanisms. One of these mechanisms is a process called automatic repeat request (ARQ), according to the the loss of a parcel in the recipient and the sender is informed accordingly. The transmitter repeats then automatically the transmission of the lost packet so that missing video frames are sent again become. Because of the delay requirements and / or the limited bandwidth of the transport channel, however not all lost packets are resent. In addition, such lead Systems of the prior art to a higher delay, which in no case could be accepted.

Ein System des Standes der Technik zur Überwindung des zweiten Problems, d.h. das Vorkommen einer veränderlichen und manchmal sehr hohen Kanalverzögerung, wird Echtzeit-Transportprotokoll (RTP) genannt. Um die Anzeigezeiten zu kontrollieren und mit den Echtzeit-Anforderungen fertig zu werden, fügt dieses Protokoll den Videorahmen einige Information hinzu, z.B. Zeitstempel und Sequenznummern, die in RTP-Paketen eingekapselt sind.One Prior art system for overcoming the second problem i.e. the occurrence of a variable and sometimes very high channel delay, will be real-time transport protocol Called (RTP). To control the display times and with the To cope with real-time requirements, this protocol adds some to the video frame Add information, e.g. Timestamps and sequence numbers included in RTP packets are encapsulated.

Diese Information wird benutzt, um die Videorahmen zur rechten Zeit und in richtiger Folge zu senden. Der Empfänger kann einige Messungen durchführen, z.B. das Zittern der Verzögerung, und kann die Quelle über die Ergebnisse mithilfe des RTP-Steuerprotokolls (RTCP) informieren.These Information is used to view the video frames at the right time and to send in the right order. The receiver may take some measurements, e.g. the trembling of the delay, and can the source over the results using the RTP control protocol (RTCP).

Ein Weg, mit beiden Problemen fertig zu werden, d.h. Paketverlust und Kanalverzögerung, besteht darin, die RTP-Technik zu verbessern, so dass nur die I-Rahmen neu gesendet werden und dass vor dem Senden irgendeines Rahmens eine Entscheidung dahin gehend getroffen wird, ob der neu gesendete I-Rahmen rechtzeitig ankommen würde. Eine solche Integration von Neuübertragungs-Mechanismen in die RTP-Technik kann z.B. unter Verwendung von Vielzweck-Bestätigungs-(MACK)Paketen erfolgen, die durch protokollspezifische Felder erweitert werden können. Durch Beschränken des Neuübertragens auf I-Rahmen und Einführen einer Timer-basierten Beurteilung zum Entscheiden, ob ein Rahmen zu senden oder wegzuwerfen ist, werden beide Probleme angesprochen, was zu einer erhöhten Videoqualität führt, weil mehr Rahmen angezeigt werden können. Die Verzögerung wird durch Wegwerfen "alter" Rahmen, d.h. Rahmen, die nach Ablauf ihrer Anzeigezeit empfangen werden würden, in einem angemessenen Bereich gehalten.One Way to deal with both problems, i. Packet loss and Channel delay, is to improve the RTP technique, leaving only the I-frame be resent and that before sending any frame A decision is made as to whether the newly sent I-frame would arrive on time. Such integration of retransmission mechanisms in the RTP technique, e.g. using multipurpose acknowledgment (MACK) packets which are extended by protocol-specific fields can. By limiting retransmitting on I-frame and insertion a timer-based assessment to decide if a frame too send or throw away, both issues are addressed, resulting in an increased video quality leads, because more frames can be displayed. The delay will be by discarding "old" frames, i. Frame, which would be received at the end of their display time, in a reasonable range.

Solche Systeme würden jedoch einen bedeutsamen Grad an Nichtanpassungsfähigkeit aufweisen, weil die Neuübertragungen auf die I-Rahmen begrenzt sind, selbst wenn genug freie Bandbreite verfügbar ist, um alle Rahmen neu zu senden. Unter be stimmten Kanalbedingungen werden viele richtig empfangene P-Rahmen im Video-Client weggeworfen, weil der vorangehende P-Rahmen nicht korrekt empfangen wurde.Such Systems would however, a significant degree of non-adaptability have, because the retransmissions are limited to the I-frames, even if enough free bandwidth is available, to resend all frames. Under certain channel conditions many correctly received P-frames are thrown away in the video client, because the previous P-frame was not received correctly.

Des Weiteren arbeiten solche Techniken dürftig, weil Rahmen gesendet werden, die weggeworfen worden sein sollten, und umgekehrt. Der Grund ist, dass die Beurteilung, ob ein Rahmen zu senden oder wegzuwerfen ist, auf einer festen, geschätzten Übertragungszeit basiert, die zu Beginn der Übertragung für jedes Paket festgelegt wird und, unabhängig von dem Kanalzustand und der jeweiligen Paketlänge, für alle Pakete die gleiche ist. Die feste, geschätzte Übertragungszeit wird benötigt, um die Zeit zu berechnen, zu der der Rahmen empfangen werden würde.Of Further, such techniques work poorly because frames are sent which should have been thrown away, and vice versa. The reason is that judging whether to send a frame or throw it away is, on a fixed, estimated transmission time based, at the beginning of the transfer for each Package is set and, independently of the channel state and the respective packet length is the same for all packets. The fixed, estimated transmission time is required, to calculate the time the frame would be received.

Ein ähnliches Verfahren zum selektiven Neuübertragen fehlender Datenpakete ei nes Datenstromes wird in US 5,918,002 offenbart. Das Neuübertragen wird basierend auf Datentypen der Datenpakete priorisiert. Zum Beispiel wird, da Eltern-I-Rahmen benötigt werden, um abhängige Kind-P-Rahmen zu erzeugen, Datenpaketen, die I-Rahmen enthalten, höhere Priorität zum Übertragen und/oder Neuübertragen vor Datenpaketen gegeben, die nur P-Rahmen enthalten. Des Weiteren ist die Sequenz der Neuübertragungsanforderungen prioritätsabhängig.A similar method for selectively retransmitting missing data packets of a data stream is described in US Pat US 5,918,002 disclosed. The retransmission is prioritized based on data types of the data packets. For example, because Parent I frames are needed to generate dependent child P-frames, data packets containing I-frames are given higher priority for transmission and / or retransmission prior to data packets containing only P-frames. Furthermore, the sequence of retransmission requests is priority-dependent.

Eine andere Technik, die sich mit dem Fortsetzen einer Wiedergabe unter Erwägen der unterschiedlichen Bedeutung von I- und P-Rahmen befasst, wird in US 5,768,527 offenbart.Another technique that deals with resuming playback considering the different meanings of I and P frames is described in US Pat US 5,768,527 disclosed.

In US 5,768,527 wird offenbart, dass nach Erfassen eines verlorenen Pakets die Client-Vorrichtung eine Anzahl mehrfacher Kopien des verlorenen Pakets anfordert, wobei die Anzahl von der Wichtigkeit des verlorenen Rahmens abhängt.In US 5,768,527 discloses that after detecting a lost packet, the client device requests a number of multiple copies of the lost packet, the number depending on the importance of the lost frame.

Die EP-0905976 A1 offenbart ein Verfahren und eine Vorrichtung zum Verarbeiten, Senden und Empfangen von dynamischen Bilddaten. Ein Empfangssteuerabschnitt empfängt Informationen, die Daten umfassen, und seine Sende-Format-Informationen von einem Speicher oder einem Kommunikationskanal. Weiterhin werden die empfangenen Informationen analysiert und separiert und ein Sendeabschnitt sendet Informationen zu einem Speicher oder einem Sendekanal. Ein Steuerabschnitt steuert die Verarbeitung von Videodaten zum Erweitern mindestens eines Videos entsprechend den erweiterten Informationen und ein Ausgabeabschnitt gibt das synthetisierte Ergebnis aus. Diese Anordnung macht es möglich, eine Mehrzahl von Videos gleichzeitig zu synthetisieren und sie einer dynamischen Änderung von Sende-Format-Informationen anzupassen.The EP-0905976 A1 discloses a method and an apparatus for processing, Sending and receiving dynamic image data. A reception control section receives Information that includes data and its send format information from a memory or communication channel. Continue to be the received information is analyzed and separated and a transmission section sends information to a memory or a broadcast channel. One Control section controls the processing of video data for expansion at least one video according to the advanced information and an output section outputs the synthesized result. These Arrangement makes it possible synthesize a plurality of videos simultaneously and they a dynamic change of Adapting broadcast format information.

Der erwähnte Stand der Technik führt jedoch zu den oben beschriebenen Nachteilen, wenn Videodaten über einen unzuverlässigen Kanal übertragen werden, das heißt, eine verringerte Videostromqualität infolge einer eingeschränkten Kapazität, und weil die Techniken des Standes der Technik die Kanalbandbreite ineffizient nutzen.Of the mentioned State of the art leads However, to the disadvantages described above, when video data on a unreliable Channel are transmitted, this means, a reduced video stream quality due to limited capacity, and because the Prior art techniques make the channel bandwidth inefficient use.

Es ist daher eine Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zum Empfangen von Videodaten, die einen Datenstrom bilden, bereitzustellen, die zu erhöhter Videoqualität führen, wenn sie auf einem unzuverlässigen Kanal betrieben werden.It is therefore an object of the invention, a method and an apparatus to provide for receiving video data forming a data stream, the too high video quality to lead, if you are on an unreliable Channel operated.

Diese Aufgabe wird gemäß der Erfindung gelöst, wie sie in den unabhängigen Ansprüchen definiert ist.This object is ge according to the invention solves, as defined in the independent claims.

Gemäß der Erfindung wird ein Rücksenden bzw. erneutes Senden von verlorenen Datenrahmen basierend auf einem Vergleich des Prioritätsniveaus des Rahmens mit einem Schwellwert durchgeführt. Dies geht über die Lehre des Stands der Technik dahingehend hinaus, dass nicht nur I-Rahmen wieder gesendet werden können. Demzufolge ermöglicht, durch Vorsehen eines Prioritätsschwellenwerts, die Erfindung ein Anpassen der Sendefähigkeit an eine Anzahl von Faktoren, die tatsächliche Kanaleigenschaften umfassen. Gemäß einer bevorzugten Ausführungsform wird das Prioritätsniveau irgendeines Datenrahmens, der gesendet werden soll, mit dem Schwellwert verglichen. Mit der Erfindung ist es deshalb möglich, die Videoqualität gerade dann zu erhöhen, wenn der Prioritätsschwellenwert festgelegt ist.According to the invention is a return or resending lost data frames based on a comparison the priority level of the Frame performed with a threshold. This goes over the The prior art teaches that not only I-frame can be sent again. Consequently, through Providing a priority threshold, the invention adapting the transmission capability to a number of Factors, the actual Include channel properties. According to one preferred embodiment becomes the priority level any data frame to be sent with the threshold compared. With the invention, it is therefore possible to just have the video quality then increase if the priority threshold is fixed.

Die Erfindung ist daher besonders vorteilhaft, wenn sie auf komprimierte Video-(z.B. MPEG-4)Streaming-Übertragungen über unzuverlässige (z.B. drahtlose) Strecken angewandt wird.The Invention is therefore particularly advantageous when compressed Video (e.g., MPEG-4) streaming transmissions over unreliable (e.g. wireless) routes is applied.

Das Vergleichen der Prioritätsstufe des fehlenden Datenrahmens mit einem Schwellenwert und Übertragen des Rahmens auf der Basis des Vergleichsergebnisses kann sowohl auf der Server-Seite als auch der Client-Seite vorteilhaft durchgeführt werden. Wenn die Entscheidung im Client getroffen wird, besteht keine Notwendigkeit, Neuübertragungsanforderungen in den Fällen zu senden, wo die Entscheidung verneint wird, aber die Priorität des tatsächlichen Rahmens übertragen werden muss. Dies führt zu einer höchst effizienten Nutzung der Kanalbandbreite in Uplink-Richtung, aber die übertragenen Daten in der Downlink-Richtung werden etwas erhöht. Wenn andererseits die Übertragungsentscheidung auf der Server-Seite getroffen wird, empfängt der Server Rück meldeinformation, die wertvoll sein könnte. Des Weiteren könnte der Client von einem weniger teuren Konstruktionsentwurf sein.The Compare the priority level the missing data frame with a threshold and transmit of the frame on the basis of the comparison result can be both be performed on the server side as well as the client side advantageous. When the decision is made in the client, there is no need retransmission requests in the cases where the decision is denied, but the priority of the actual Transmitted frame must become. this leads to a highest efficient use of channel bandwidth in uplink direction, but the transferred ones Data in the downlink direction is increased slightly. On the other hand, if the transmission decision is on the server side, the server receives feedback information, which could be valuable. Furthermore could the client of a less expensive design design.

Wenn die Übertragungsentscheidung auf der Server-Seite getroffen wird, ist es vorteilhaft, wenn die Neuübertragungsanforderungen des Client die Empfangszeiten und Rahmenlängen von zwei vorangehenden Datenrahmen enthalten. Unter Verwendung dieser Information wäre der Server in der Lage, sein Wissen über den Kanalstatus höchst effizient zu aktualisieren, die Verzögerungsanforderungen einzuhalten und die Kanalbandbreiten zu nutzen.If the transfer decision is taken on the server side, it is beneficial if the retransmission requests client's receive times and frame lengths of two previous ones Data frame included. Using this information would be the server able to transfer his knowledge about the channel status highest to efficiently update the delay requirements and to use the channel bandwidths.

Außerdem, da im Gegensatz zu den Systemen des Standes der Technik die Übertragungszeit der Pakete während des Video-Streamings gemessen wird, wird sie nicht länger als für alle Pakete gleich angenommen. Änderungen in der Übertragungszeit können daher zu einer dynamischen Anpassung der Videostromqualität an wechselnde Kanalbedingungen führen.in addition, because in contrast to the systems of the prior art, the transmission time of Packages during of video streaming, it will not last longer than for all Packages accepted immediately. amendments in the transmission time can therefore to a dynamic adaptation of video stream quality to changing Channel conditions lead.

Unabhängig davon, ob die Übertragungsentscheidung auf der Senderseite oder auf der Empfängerseite vorgenommen wird, werden den Datenrahmen Prioritätsstufen vorzugsweise auf der Basis der logischen Tiefe der Vielfachabhängigkeit zugeteilt. Durch diese Maßnahme wird übrigens in Betracht gezogen, dass die Rahmen, die unabhängig (I-Rahmen) sind, die wichtigsten Rahmen sind, wogegen abhängige Rahmen weniger wichtig sind. Des Weiteren wird im Gegensatz zum Stand der Technik auch die Gruppe von unabhängigen Rahmen in wichtigere und weniger wichtige Rahmen geteilt. Dies erlaubt eine Feinabstimmung des Neuübertragungsverhaltens in einem Ausmaß, das von dem Stand der Technik nicht bekannt ist.Independently of, whether the transfer decision on the transmitter side or on the receiver side, The data frames become priority levels preferably on the basis of the logical depth of the multiple dependency allocated. By this measure by the way Considering that the frames that are independent (I-frames) are the most important frames are, while dependent Frame are less important. Furthermore, in contrast to State of the art also the group of independent framework in more important and shared less important framework. This allows fine tuning retransmission behavior to an extent which is not known from the prior art.

Ein anderer Vorteil der vorliegenden Erfindung ist, dass die Verbesserung der Videoqualität gesteigert werden kann, indem die Übertragungsentscheidung dynamisch getroffen wird. Einer bevorzugten Ausführung der Erfindung entsprechend erfolgt dies durch Berechnen des Prioritäts-Schwellenwertes basierend auf der gemessenen verfügbaren Kanalbandbreite. Der Ausgleich für fehlende Pakete kann folglich nochmals verbessert werden.One Another advantage of the present invention is that the improvement the video quality can be increased by the transmission decision dynamic is taken. A preferred embodiment of the invention accordingly this is done by calculating the priority threshold based on the measured available Channel bandwidth. The compensation for Missing packets can thus be further improved.

Des Weiteren kann die Erfindung mit der Bedingung kombiniert werden, dass ein verlorener Rahmen nur neu übertragen wird, wenn zu erwarten ist, das der neu übertragene Rahmen noch rechtzeitig ankommen wird. Besonders in Fällen, wo die Kanalbandbreite zwischen mehreren Benutzern oder Anwendungen geteilt wird, ist es sehr wichtig, so wenig Daten wie möglich zu übertragen. Dies gilt besonders dann, wenn der Benutzer für die genutzte Bandbreite, d.h. die übertragenen Bits, zu bezahlen hat. Wenn es neu übertragene Videopakete gibt, die den Empfänger wegen der hohen Nutzung des Kanals nicht rechtzeitig erreichen würden, wird Bandbreite verschwendet. Diese Bandbreite könnte entweder für die Neuübertragung von Rahmen, die eine höhere Priorität haben, oder von anderen Benutzern oder Anwendungen benutzt werden.Of Furthermore, the invention can be combined with the condition that a lost frame will only retransmit if expected is that the newly transferred Frame will arrive in time. Especially in cases where the channel bandwidth between multiple users or applications It is very important to transfer as little data as possible. This is especially true if the user is aware of the bandwidth used, i. the transferred ones Bits, has to pay. If there are newly transferred video packets, the the receiver because of the high usage of the channel would not reach on time will Bandwidth wasted. This bandwidth could either be for retransmission of frames that have a higher priority, or used by other users or applications.

Die Erfindung wird nun ausführlicher mit Bezugnahme auf die begleitenden Zeichnungen beschrieben werden.The Invention will now be more detailed with reference to the accompanying drawings.

1 zeigt ein Video-Streaming-System des Standes der Technik. 1 shows a video streaming system of the prior art.

2 zeigt ein Video-Streaming-System nach einer bevorzugten Ausführung der Erfindung. 2 shows a video streaming system according to a preferred embodiment of the invention.

3 ist eine Grafik, die die Prioritätszuteilung an die Rahmen nach der bevorzugten Ausführung der Erfindung veranschaulicht. 3 Figure 13 is a graph illustrating priority allocation to the frames according to the preferred embodiment of the invention.

4 ist ein Flussdiagramm, das den Prozess des Sendens eines Videostromes veranschaulicht. 4 Figure 11 is a flowchart illustrating the process of sending a video stream.

5 ist ein Flussdiagramm das die Neuübertragungsentscheidung in dem Prozess des Sendens eines Videostromes, wie in 4 gezeigt, veranschaulicht. 5 FIG. 13 is a flowchart illustrating the retransmission decision in the process of transmitting a video stream, as in FIG 4 shown, illustrated.

6 ist ein Flussdiagramm, das ein erstes Beispiel der Prioritätsentscheidung veranschaulicht, die Teil der in 5 gezeigten Neuübertragungsentscheidung ist. 6 FIG. 4 is a flow chart illustrating a first example of the priority decision that is part of the in 5 is the retransfer decision shown.

7 ist ein Flussdiagramm, das ein zweites Beispiel der Prioritätsentscheidung veranschaulicht. 7 Fig. 10 is a flowchart illustrating a second example of the priority decision.

8 ist ein Flussdiagramm, das ein drittes Beispiel der Prioritätsentscheidung veranschaulicht. 8th Fig. 10 is a flow chart illustrating a third example of the priority decision.

9 ist ein Flussdiagramm, das den Prozess des Empfangens eines Videostromes veranschaulicht. 9 Figure 11 is a flow chart illustrating the process of receiving a video stream.

Nun auf 2 verweisend enthält der Video-Server 110 eine Videoquellen-Anwendung 120, eine Sendepuffereinheit 130 und eine Kanalzugangssteuerung 140, die im Wesentlichen so arbeiten wie im Kontext des Video-Streaming-Systems des Standes der Technik von 1 beschrieben. Desgleichen enthält der Video-Client 160 eine Empfängerpuffereinheit 170 und eine Videoanzeige-Anwendung 180. Daten werden von dem Video-Server 110 über einen Kanal 150 an den Video-Client gesendet.Now up 2 The video server contains references 110 a video source application 120 , a transmission buffer unit 130 and a channel access controller 140 which operate essentially as in the context of the prior art video streaming system of 1 described. Likewise contains the video client 160 a receiver buffer unit 170 and a video ad application 180 , Data is taken from the video server 110 over a canal 150 sent to the video client.

Der Video-Client 160 umfasst weiter eine Verlusterfassungseinheit 240, die mit der Empfängerpuffereinheit 170 verbunden ist. Sobald die Verlusterfassungseinheit 240 feststellt, dass ein Rahmen fehlt, erzeugt sie eine Neuübertragungsanforderung, die vorzugsweise die Empfangszeiten und Rahmenlängen von zwei vorangehenden Datenrahmen enthält. Zu diesem Zweck speichert die Verlusterfassungseinheit 240 während des normalen Betriebes den Zeitstempel und die Länge der allerletzten zwei Pakete. Sobald die Neuübertragungsanforderung erzeugt ist, die ein Nicht-Bestätigungs-(NACK) oder ein Mehrzweck-Bestätigungs-(MACK)Paket sein kann, erfährt die Anforderung eine Segmentierung durch die Senderpuffereinheit 250 und wird unter Kontrolle der Kanalzugangssteuerung 260 über den Kanal 150 an den Video-Server 110 gesendet.The video client 160 further includes a loss detection unit 240 connected to the receiver buffer unit 170 connected is. Once the loss detection unit 240 determines that a frame is missing, it generates a retransmission request, which preferably contains the reception times and frame lengths of two previous data frames. For this purpose, the loss detection unit stores 240 during normal operation the timestamp and the length of the very last two packets. Once the retransmission request is generated, which may be a non-acknowledgment (NACK) or multi-purpose acknowledgment (MACK) packet, the request undergoes segmentation by the sender buffer unit 250 and is under control of the channel access control 260 over the canal 150 to the video server 110 Posted.

Im Video-Server 110 empfängt die Empfängerpuffereinheit 230 die Daten und setzt die Anforderung wieder zusammen. Die Anforderung wird dann an die Steuereinheit 210 und an den Neuübertragungspuffer 220 übergeben. Der Neuübertragungspuffer 220 puffert die von der Videoquellen-Anwendung 120 an den Senderpuffer 130 gesendeten I- und P-Rahmen für Neuübertragungszwecke.In the video server 110 receives the receiver buffer unit 230 the data and reassemble the request. The request is then sent to the control unit 210 and the retransmission buffer 220 to hand over. The retransmission buffer 220 Buffers from the video source application 120 to the transmitter buffer 130 sent I and P frames for retransmission purposes.

Nach Empfang der Zeit- und Längeninformation der zwei letzten Pakete aktualisiert die Steuereinheit 210 die Prioritätsschwellen. Wenn Videorahmen von der Videoquellen-Anwendung oder dem Neuübertragungspuffer 220 empfangen werden, führt sie die Übertragungsentscheidung auf der Basis der den Datenrahmen zugeteilten Prioritätsstufen durch. Die Zuteilung von Prioritäten zu Rahmen wird ausführlicher in 3 veranschaulicht.Upon receipt of the time and length information of the last two packets, the control unit updates 210 the priority thresholds. If video frames from the video source application or the retransmission buffer 220 is received, it performs the transmission decision on the basis of the priority levels allocated to the data frames. The allocation of priorities to frameworks becomes more detailed in 3 illustrated.

Wie daraus zu ersehen ist, wurde erfindungsgemäß I-Rahmen die höchste Priorität gegeben, da ein I-Rahmen durch die Videoanzeige-Anwendung 180 unabhängig von anderen Rahmen angezeigt werden kann. Der erste P-Rahmen, der dem I-Rahmen am nächsten folgt, hängt nur von dem vorangehenden I-Rahmen ab. Der zweite P-Rahmen hängt von dem ersten P-Rahmen ab, und da der erste P-Rahmen von dem I-Rahmen abhängt, ist der zweite P-Rahmen zweifach abhängig und daher weniger wichtig als der erste P-Rahmen. Dieses Schema kann für die folgenden P-Rahmen angenommen werden, so dass P-Rahmen mit höherer Tiefe der Mehrfachabhängigkeit, d.h. spätere P-Rahmen, noch weniger wichtig sind und daher die niedrigeren Prioritätsstufen erhalten. In der Ausführung von 3 wird die Priorität für den n-ten P-Rahmen auf 1/n gesetzt. Die Fachleute in der Technik werden jedoch erkennen, dass eine andere funktionale Abhängigkeit gewählt werden kann.As can be seen, according to the invention I-frame has been given the highest priority since an I-frame is used by the video display application 180 regardless of other frame can be displayed. The first P-frame that follows the I-frame depends only on the preceding I-frame. The second P-frame depends on the first P-frame, and since the first P-frame depends on the I-frame, the second P-frame is doubly dependent and therefore less important than the first P-frame. This scheme can be adopted for the following P-frames, so that P-frames with higher depth of multiple dependency, ie later P-frames, are even less important and therefore receive the lower priority levels. In the execution of 3 the priority for the nth P-frame is set to 1 / n. However, those skilled in the art will recognize that a different functional dependency can be chosen.

Nun auf 4 verweisend enthält der Prozess des Sendens eines Videostromes den Schritt des Empfangens eines Videorahmens von der Videoquellen-Anwendung 120 (Schritt 410).Now up 4 referring to the process of sending a video stream includes the step of receiving a video frame from the video source application 120 (Step 410 ).

Dann wird in Schritt S420 geprüft, ob eine Neuübertragungsanforderung empfangen wurde.Then is checked in step S420, whether a retransfer request was received.

Wenn keine Neuübertragungsanforderung empfangen wurde, geht der Prozess mit Schritt S440 weiter, andernfalls wird die Information von der Neuübertragungsanforderung benutzt, um zuerst die Kanalschätzung zu aktualisieren (Schritt S430). In Schritt S440 wird die Übertragungsentscheidung getroffen, die in den nächsten Figuren ausführlich beschrieben werden wird.If received no retransmission request otherwise, the process goes to step S440 the information from the retransfer request used to get the channel estimate first to update (step S430). In step S440, the transmission decision becomes taken in the next Figures in detail will be described.

Die Übertragungszeit eines Rahmens besteht aus zwei Teilen. Ein Teil ist unabhängig von der Länge des Rahmens, während der andere Teil längenabhängig ist. Die rahmenlängen-unabhängige Zeit besteht hauptsächlich aus der Netzwerkverzögerung, d.h. der Ausbreitungsverzögerung, und der Pufferungsverzögerung infolge Überfüllung. Im Gegensatz dazu wird die rahmenlängen-abhängige Verzögerung durch die Segmentierung und die verfügbare Bandbreite bestimmt. Die folgende Gleichung beschreibt die Übertragungsverzögerung von Rahmen i: Di = t1 + Ii·t2,wobei Di die Übertragungsverzögerung ist, ii die Rahmenlänge in Bits ist, t1 die rahmenlängen-unabhängige Zeit ist, und t2 die rahmenlängen-abhängige Zeit pro Bit ist.The transmission time of a frame consists of two parts. One part is independent of the length of the frame, while the other part is length-dependent. The frame length independent time consists mainly of the network delay, ie the propagation delay, and the buffering delay due to overfill. In contrast, the frame length dependent delay is determined by the segmentation and available bandwidth. The following equation describes the transmission delay of frame i: D i = t 1 + I i · t 2 . where D i is the transmission delay, i i is the frame length in bits, t 1 is the frame length independent time, and t 2 is the frame length dependent time per bit.

Angenommen, dass die Zeiten t1 und t2 zwischen zwei Paketankünften fast konstant sind, dann kann die Gleichung aufgelöst werden, wenn die Übertragungsverzögerungen D1 und D2 von zwei vorangehenden Rahmen vorher gemessen wurden:Assuming that the times t 1 and t 2 between two packet arrivals are almost constant, then the equation can be resolved if the transmission delays D 1 and D 2 of two previous frames were previously measured:

Figure 00090001
Figure 00090001

Es ist folglich möglich, die Übertragungsverzögerung eines fehlenden Rahmens aus den Zeiten t1 und t2 zu berechnen, die auf der Basis der Übertragungsverzögerungen von zwei vorangehenden Rahmen bewertet werden. Zu diesem Zweck speichert die Verlu sterfassungseinheit 240 die Empfangszeiten und Paketlängen der allerletzten Rahmen. Wenn ein Fehler auftritt, werden diese Werte und die Werte des fehlenden oder fehlerhaft empfangenen Rahmens an den Video-Server 110 gesendet. Dies kann entweder durch Anhängen eines Empfängerreports an das NACK-Paket oder unter Verwendung eines MACK-Pakets erfolgen. Das durch Ergänzen des NACK- oder MACK-Pakets mit solcher zusätzlichen Information hinzugefügte Overhead ist vernachlässigbar klein.It is thus possible to calculate the transmission delay of a missing frame from the times t 1 and t 2 , which are evaluated on the basis of the transmission delays of two preceding frames. For this purpose, the loss recording unit stores 240 the reception times and packet lengths of the very last frames. If an error occurs, these values and the values of the missing or incorrectly received frame are sent to the video server 110 Posted. This can be done either by attaching a recipient report to the NACK packet or using a MACK packet. The overhead added by supplementing the NACK or MACK packet with such additional information is negligibly small.

Wenn in Schritt S440 entschieden wird, dass der Rahmen weggeworfen werden sollte, geht der Prozess zu Schritt S460. Wenn der Rahmen an den Sendepuffer 130 gesendet werden sollte, wird Schritt S450 ausgeführt. Dann wird in Schritt S470 die Sendebitrate aktualisiert, und die Steuereinheit 240 wird auf den nächsten von der Videoquellen-Anwendung 120 oder dem Neuübertragungspuffer 220 zu empfangenden Rahmen warten (Schritt S410).If it is decided in step S440 that the frame should be discarded, the process goes to step S460. If the frame to the send buffer 130 should be sent, step S450 is executed. Then, in step S470, the transmission bit rate is updated, and the control unit 240 will be on the next from the video source application 120 or the retransmission buffer 220 waiting to receive frames (step S410).

Die Übertragungsentscheidung von Schritt S440 wird nun mit Verweis auf 5 ausführlicher beschrieben. Bevor die Priorität mit einem Schwellenwert verglichen wird, wird ein Mechanismus eingeführt, um entsprechend einer geschätzten Ankunftszeit zu entscheiden, ob der Rahmen gesendet oder weggeworfen werden soll, da es nicht nötig ist, Rahmen zu senden, die bereits zu spät sind. Zu diesem Zweck wird die Ankunftszeit des Rahmens geschätzt, d.h. die Übertragungsverzögerung wird in Schritt S510 berechnet.The transmission decision of step S440 will now be referred to 5 described in more detail. Before the priority is compared to a threshold, a mechanism is introduced to decide, according to an estimated time of arrival, whether to send or discard the frame, since it is not necessary to send frames that are already too late. For this purpose, the arrival time of the frame is estimated, ie the transmission delay is calculated in step S510.

Wenn dann in Schritt S520 festgestellt wird, dass die geschätzte Ankunftszeit später als die gewünschte Zeit zum Anzeigen des Videorahmens ist, wird der Rahmen weggeworfen, anstatt übertragen zu werden. Andernfalls bewertet die Steuereinheit 210 die Priorität des fehlenden Rahmens, wie nun ausführlicher erklärt wird.Then, if it is determined in step S520 that the estimated arrival time is later than the desired time for displaying the video frame, the frame is discarded instead of being transmitted. Otherwise, the control unit rates 210 the priority of the missing frame, as will now be explained in more detail.

Nun auf 6 verweisend erlangt die Steuereinheit 210 zuerst die Prioritätsstufe des Rahmens in Schritt S610 und greift dann in Schritt S620 auf den festen Schwellenpegel zu. Es sollte zwei verschiedene Prioritätsstufen geben. Eine für Rahmen, die zum ersten Mal übertragen werden (möglicherweise werden alle Rahmen zum ersten Mal übertragen), und eine für die Wiederübertragungen. Die festen Schwellenpegel sind zum Zeitpunkt der Übertragungseinrichtung entsprechend der Kanalbedingung und Videobitrate zu dieser Zeit definiert worden. Dann wird in Schritt S630 entschieden, ob die Prioritätsstufe des Rahmens den Prioritäts-Schwellenpegel übersteigt. Nur in diesem Fall wird der Rahmen übertragen. Andernfalls wird entschieden, den Rahmen wegzuwerfen.Now up 6 referring acquires the control unit 210 first the priority level of the frame in step S610, and then accesses the fixed threshold level in step S620. There should be two different priority levels. One for frames transmitted for the first time (possibly all frames are transmitted for the first time), and one for retransmissions. The fixed threshold levels have been defined at the time of the transmitter according to the channel condition and video bit rate at that time. Then, in step S630, it is decided whether the priority level of the frame exceeds the priority threshold level. Only in this case the frame is transmitted. Otherwise, it is decided to throw away the frame.

Während dies vorteilhaft nur ein minimales Overhead und Implementierungsaufwand mit sich bringt, kann es verbessert werden, wie aus 7 hervorgeht. Der in 7 veranschaulichte Prozess unterscheidet sich von dem von 6 hauptsächlich dadurch, dass kein fester Schwellenpegel benutz wird, sondern dass die Prioritätsschwelle basierend auf der gemessenen, verfügbaren Kanalbandbreite berechnet wird (Schritte S710, S720). Dieses Schema basiert auf der Vorstellung, dass, wenn nur eine kleine Bandbreite des Kanals verfügbar ist, es besser sein könnte, nur Rahmen mit höherer Priorität zu senden.While this advantageously involves only minimal overhead and implementation effort, it can be improved as expected 7 evident. The in 7 illustrated process is different from that of 6 mainly by not using a fixed threshold level but calculating the priority threshold based on the measured available channel bandwidth (steps S710, S720). This scheme is based on the idea that if only a small bandwidth of the channel is available, it might be better to send only higher priority frames.

Da die verfügbare Bandbreite der Kehrwert von t2 ist, kann die Messung der verfügbaren Kanalbandbreite von der vorerwähnten Messung der Übertragungsverzögerungen Gebrauch machen:Since the available bandwidth is the inverse of t 2 , measuring the available channel bandwidth may make use of the aforementioned transmission delay measurement:

Figure 00110001
Figure 00110001

Die in Schritt S710 gemessene verfügbare Kanalbandbreite Bch wird dann in Schritt S720 benutzt, um den Prioritätsschwellenwert Pth nach der folgenden Gleichung zu berechnen:

Figure 00110002
wo Bv die für die Videoübertragung benötigte Bandbreite ist, wenn überhaupt keine Wiederübertragungen durchgeführt werden, und k ein Faktor ist, um den Mechanismus an das System und die Bitfehlerrate anzupassen, die für die Übertragung als fest angenommen wird.The available channel bandwidth B ch measured in step S710 is then used in step S720 to calculate the priority threshold P th according to the following equation:
Figure 00110002
where B v is the bandwidth needed for video transmission, if no retransmissions are performed at all, and k is a factor to to adapt the mechanism to the system and the bit error rate which is assumed to be fixed for transmission.

Es sollte zwei verschiedene k-Faktoren geben. Einer für erstmalige Übertragungen (möglicherweise sollten alle Rahmen zum ersten Mal übertragen werden) und einer für die Wiederübertragungen.It should give two different k factors. One for first time transfers (possibly all frames should be transmitted for the first time) and one for the Retransmissions.

Noch eine weitere Verbesserung des Prioritätsentscheidungsprozesses kann wie in 8 veranschaulicht erreicht werden, indem in Schritt S810 zusätzlich die Bitrate des gesendeten Rahmens gemessen wird. Diese Verbesserung basiert auf der Entdeckung, dass bei schlechten Kanalbedingungen, d.h. hohen Bitfehlerraten, die Zahl erneut zu übertragender Rahmen zunimmt. Es ist daher vorteilhaft, die Datenmenge, die gesendet wurde, zu überwachen, um sicherzustellen, dass genug Kanalbandbreite reserviert ist, um wenigstens die wichtigen Rahmen zu übertragen. Um die Bitrate gesendeter Rahmen zu schätzen, wird eine mittlere Bitrate über eine Anzahl vorangehender Rahmen, die gesendet wurden, nach der folgenden Gleichung berechnet:Yet another improvement to the priority decision process may be as in 8th can be achieved by additionally measuring the bit rate of the transmitted frame in step S810. This improvement is based on the discovery that under bad channel conditions, ie high bit error rates, the number of frames to be retransmitted increases. It is therefore advantageous to monitor the amount of data that has been sent to ensure that enough channel bandwidth is reserved to transfer at least the important frames. To estimate the bit rate of transmitted frames, an average bit rate over a number of previous frames that were sent is calculated according to the following equation:

Figure 00120001
Figure 00120001

In dieser Gleichung ist Bs die Bitrate der gesendeten Rahmen, p und q bezeichnen die ältesten und die zuallerletzt gesendeten Rahmen, und Ii, tq und tp sind die vorher gespeicherten Längen in Bits und Übertragungszeiten der betreffenden Rahmen.In this equation, B s is the bit rate of the transmitted frames, p and q denote the oldest and the last transmitted frames, and I i , t q and t p are the previously stored lengths in bits and transmission times of the respective frames.

Unter Verwendung der in Schritt S810 gemessenen Bitrate Bs von gesendeten Rahmen wird dann der Prioritätsschwellenwert Pth in Schritt S820, ähnlich der oben beschriebenen Berechnung, berechnet:Using the frame rate B s of transmitted frames measured in step S810, the priority threshold P th is then calculated in step S820, similar to the calculation described above:

Figure 00120002
Figure 00120002

Während die Übertragungsmechanismen auf der Basis einer Prioritätsentscheidung zusammen mit einer Schätzung der Ankunftszeit beschrieben wurden, werden die Fachleute in der Technik erkennen, dass die Mechanismen gleichermaßen unabhängig voneinander verwendet werden können.While the transfer mechanisms are on the basis of a priority decision together with an estimate the time of arrival have been described, the professionals in the Technique recognize that the mechanisms are equally independent of each other can be used.

9 veranschaulicht den Prozess des Empfangens eines Videostromes im Video-Client 160. Nach Erfassen in Schritt S902, dass ein Videorahmen fehlt, wird eine Neuübertragungsanforderung in Schritten S930 und S940 erzeugt und gesendet, wie oben beschrieben. Die Entscheidung, ob ein fehlender Rahmen neu zu übertragen ist, wird an dem Empfänger durchgeführt. Zu diesem Zweck weist der Video-Client 160 eine Steuereinheit (nicht gezeigt), um den Prioritätsschwellenwert zu berechnen und die Prioritätsstufe des fehlenden Rahmens mit dem Schwellenwert zu vergleichen, auf. Nur falls entschieden wird, den fehlenden Rahmen neu zu übertragen, wird eine Neuübertragungsanforderung von dem Video-Client 160 an den Video-Server 110 gesendet. Der in 5 bis 8 gezeigte Neuübertragungs-Entscheidungsschritt S440 wird dann in den Prozess des Empfangens des Videostromes in 9 vor dem Schritt S930 des Erzeugens einer Neuübertragungsanforderung einbezogen. 9 illustrates the process of receiving a video stream in the video client 160 , Upon detecting that a video frame is missing in step S902, a retransmission request is generated and transmitted in steps S930 and S940 as described above. The decision as to whether to re-transmit a missing frame is made to the receiver. For this purpose, the video client instructs 160 a controller (not shown) for calculating the priority threshold and comparing the priority level of the missing frame with the threshold. Only if it is decided to retransmit the missing frame will a retransmission request be made by the video client 160 to the video server 110 Posted. The in 5 to 8th The retransmission decision step S440 shown in FIG. 14 is then involved in the process of receiving the video stream in FIG 9 before step S930 of generating a retransmission request.

Claims (10)

Verfahren zum Empfangen von Datenpaketen von einem Sender, wobei das Verfahren die folgenden Schritte umfasst: Feststellen (S920), dass ein Datenpaket fehlt; Empfangen von Informationen über die Wichtigkeit des fehlenden Datenpaketes; auf Basis von Kanal-Bedingungen und der Wichtigkeit des fehlenden Datenpaketes, Treffen einer Wiederübertragungsentscheidung (S440) dahingehend, ob eine Wiederübertragungsanforderung für das fehlende Datenpaket zu senden ist; Erzeugen (S930) der Wiederübertragungsanforderung an den Sender entsprechend der Wiederübertragungsentscheidung; Senden (S940) der Wiederübertragungsanforderung zu dem Sender; Empfangen (S910) eines durch den Sender in Reaktion auf die Wiederübertragungsanforderung wieder übertragenen Paketes, dadurch gekennzeichnet, dass: ein Schwellenwert auf Basis von Bitraten bereits gesendeter Datenpakete berechnet wird (S810, S820) und die Wiederübertragungsentscheidung getroffen wird (S830), indem die Wichtigkeit des fehlenden Datenpaketes und der Schwellenwert verglichen werden.A method of receiving data packets from a transmitter, the method comprising the steps of: determining (S920) that a data packet is missing; Receiving information about the importance of the missing data packet; based on channel conditions and the importance of the missing data packet, making a retransmission decision (S440) as to whether to send a retransmission request for the missing data packet; Generating (S930) the retransmission request to the sender according to the retransmission decision; Sending (S940) the retransmission request to the sender; Receiving (S910) a packet retransmitted by the transmitter in response to the retransmission request, characterized in that: a threshold is calculated based on bit rates of already transmitted data packets (S810, S820) and the retransmission decision is made (S830) by taking the importance of the missing data packet and the threshold. Verfahren nach Anspruch 1, wobei die Kanal-Bedingungen eine verfügbare Kanal-Bandbreite einschließen.The method of claim 1, wherein the channel conditions an available one Include channel bandwidth. Verfahren nach Anspruch 1, wobei die Kanal-Bedingungen eine Kanal-Übertragungsverzögerung einschließen.The method of claim 1, wherein the channel conditions include a channel transmission delay. Verfahren nach Anspruch 1, wobei die Kanal-Bedingungen eine Kanal-Bitfehler-Rate einschließen.The method of claim 1, wherein the channel conditions a channel bit error rate lock in. Verfahren nach Anspruch 1, wobei die Wiederübertragungsanforderung ein NACK-Paket, ein Paket mit negativer Rückmeldung, ist.The method of claim 1, wherein the retransmission request is a NACK packet, a negative feedback packet. Vorrichtung zum Empfangen von Datenpaketen von einem Sender (110), wobei die Vorrichtung (160) umfasst: eine Verlusterfassungseinheit (240), die feststellt, dass ein Datenpaket fehlt; eine Steuereinheit, die eine Wiederübertragungsentscheidung auf Basis von Kanal-Bedingungen und empfangener Informationen über die Wichtigkeit des fehlenden Datenpaketes dahingehend trifft, ob eine Wiederübertragungsanforderung für das fehlende Datenpaket zu senden ist; eine Sender-Puffer-Einheit (250), die entsprechend einer Wiederübertragungsentscheidung die Wiederübertragungsanforderung an den Sender erzeugt; und Senden (S940) der Wiederübertragungsanforderung zu dem Sender; eine Empfänger-Puffer-Einheit (170), die das durch den Sender in Reaktion auf eine Wiederübertragungsanforderung wieder übertragene Paket empfängt, dadurch gekennzeichnet, dass: die Steuereinheit des Weiteren so eingerichtet ist, dass sie einen Schwellenwert auf Basis von Bit-Raten bereits gesendeter Datenpakete berechnet (S810, S820), und die Wiederübertragungsentscheidung trifft, indem sie die Wichtigkeit des fehlenden Datenpaketes und den Schwellenwert vergleicht (S830).Device for receiving data packets from a transmitter ( 110 ), the device ( 160 ) comprises: a loss detection unit ( 240 ), which determines that a data packet is missing; a controller that makes a retransmission decision based on channel conditions and received information about the importance of the missing data packet as to whether to send a retransmission request for the missing data packet; a transmitter buffer unit ( 250 ) generating the retransmission request to the sender according to a retransmission decision; and sending (S940) the retransmission request to the sender; a receiver buffer unit ( 170 ) that receives the packet retransmitted by the transmitter in response to a retransmission request, characterized in that: the controller is further configured to calculate a threshold based on bit rates of data packets already transmitted (S810, S820), and the retransmission decision is made by comparing the importance of the missing data packet and the threshold (S830). Vorrichtung nach Anspruch 6, wobei die Kanal-Bedingungen eine verfügbare Kanal-Bandbreite einschließen.Apparatus according to claim 6, wherein the channel conditions an available one Include channel bandwidth. Vorrichtung nach Anspruch 6, wobei die Kanal-Bedingungen eine Kanal-Übertragungsverzögerung einschließen.Apparatus according to claim 6, wherein the channel conditions include a channel transmission delay. Vorrichtung nach Anspruch 6, wobei die Kanal-Bedingungen eine Kanal-Bitfehler-Rate einschließen.Apparatus according to claim 6, wherein the channel conditions a channel bit error rate lock in. Vorrichtung nach Anspruch 6, wobei die Wiederübertragungsanforderung ein NACK-Paket, ein Paket mit negativer Rückmeldung, ist.Apparatus according to claim 6, wherein the retransmission request is a NACK packet, a negative feedback packet.
DE2000625541 2000-03-02 2000-03-02 Method and apparatus for channel state based repeating of data packets Expired - Lifetime DE60025541T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00104388A EP1130839B1 (en) 2000-03-02 2000-03-02 Method and apparatus for retransmitting video data frames with priority levels
EP03017902A EP1361690B1 (en) 2000-03-02 2000-03-02 Method and apparatus for retransmitting data packets based on channel conditions

Publications (2)

Publication Number Publication Date
DE60025541D1 DE60025541D1 (en) 2006-04-06
DE60025541T2 true DE60025541T2 (en) 2006-07-27

Family

ID=36062477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000625541 Expired - Lifetime DE60025541T2 (en) 2000-03-02 2000-03-02 Method and apparatus for channel state based repeating of data packets

Country Status (1)

Country Link
DE (1) DE60025541T2 (en)

Also Published As

Publication number Publication date
DE60025541D1 (en) 2006-04-06

Similar Documents

Publication Publication Date Title
DE60020672T2 (en) Method and apparatus for repeating the video data frames with priority levels
DE60211335T2 (en) Real-time packetization and re-transmission in streaming applications
DE69938094T2 (en) Packet retransmission control with priority information
DE60110002T2 (en) System for transmitting streaming data and repeaters therefor
DE60125473T2 (en) Packet retransmission with priority information
DE60109258T2 (en) Data transmission method and device with automatic repeat request
US9306708B2 (en) Method and apparatus for retransmission decision making
DE60304294T2 (en) Selective retransmission method according to packet identifier
DE60308930T2 (en) Transmission system for video information and program and apparatus for transmitting video information
DE10344017B4 (en) Server, client, apparatus and method for streaming multimedia data and network bandwidth measurement techniques
DE60110303T2 (en) Method and apparatus for packet transmission with packet header compression
EP2529528B1 (en) A method and apparatus for parsing a network abstraction-layer for reliable data communication
DE69927339T2 (en) Data transmission method
DE69915201T2 (en) Dejittering and clock recovery technology for real-time audiovisual network applications
DE60131993T2 (en) METHOD AND DEVICE FOR DETERMINING THE TRANSMISSION BITRATE IN A STATISTICAL MULTIPLEXER
US20050036546A1 (en) Video data transmission method and apparatus
DE60016347T2 (en) Gateway and data transmission method for delay jitter reduction
DE602004007399T2 (en) PROVIDING A FEEDBACK USING GENERAL NACK-REPORT-BLOCKS AND LOSS-RLE-REPORT BLOCKS
JP3871661B2 (en) Multimedia content receiving apparatus and multimedia content receiving method
DE60025541T2 (en) Method and apparatus for channel state based repeating of data packets
DE60210414T2 (en) DATA UNIT TREATMENT DEVICE AND METHOD FOR CONTROLLING THEREOF
DE19948599B4 (en) Data retransmission method, video data transmission and retransmission method, and video data encoding and decoding system
DE102018108784B4 (en) Method for sending a digital video signal to a receiving device, processing unit and computer program product
EP1947859A1 (en) Video transmission method and system
CN115834975B (en) Video transmission method, device, equipment and medium

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP