DE102005041308A1 - Method for processing RTP packets and processing device for RTP packets - Google Patents

Method for processing RTP packets and processing device for RTP packets Download PDF

Info

Publication number
DE102005041308A1
DE102005041308A1 DE102005041308A DE102005041308A DE102005041308A1 DE 102005041308 A1 DE102005041308 A1 DE 102005041308A1 DE 102005041308 A DE102005041308 A DE 102005041308A DE 102005041308 A DE102005041308 A DE 102005041308A DE 102005041308 A1 DE102005041308 A1 DE 102005041308A1
Authority
DE
Germany
Prior art keywords
timestamp
rtp
memory
bit
data
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.)
Withdrawn
Application number
DE102005041308A
Other languages
German (de)
Inventor
Nicolaus Bär
Fred Matthiesen
Dieter Speiser
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.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102005041308A priority Critical patent/DE102005041308A1/en
Priority to PCT/EP2006/065527 priority patent/WO2007025902A1/en
Publication of DE102005041308A1 publication Critical patent/DE102005041308A1/en
Withdrawn 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/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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Die Erfindung betrifft ein Verfahren bei dem ein RTP Timestamp eines empfangenen RTP Pakets mit einem Plauyout Timestamp verglichen wird, und Pakete, deren RTP Timestamp kleiner als der Playout Timestamp oder größer als die Summe aus Playout Timestamp und einer Speichergröße sind, verworfen werden und aus den verbleibenden Paketen Daten ermittelt und in einem Speicher gespeichert werden. DOLLAR A Zur Adressierung dieses Speichers werden die n niederwertigsten Bit des m Bit aufweisenden RTP Timestamps verwendet.The invention relates to a method in which an RTP timestamp of a received RTP packet is compared with a plauyout timestamp, and packets whose RTP timestamp is less than the playout timestamp or greater than the sum of the playout timestamp and a memory size are discarded and from the remaining packets of data are determined and stored in a memory. DOLLAR A The n least significant bits of the m-bit RTP timestamp are used to address this memory.

Description

Die Erfindung betrifft ein Verfahren nach dem Oberbegriff des Anspruchs 1 und eine Verarbeitungseinrichtung für RTP-Pakete.The The invention relates to a method according to the preamble of the claim 1 and a processing device for RTP packets.

Zur Übertragung von Daten insbesondere von Sprachdaten wird das so genannte Real-Time-Transport-Protocol kurz RTP eingesetzt. In RTP-Paketen werden Daten bzw. Samples von beispielsweise Sprachdaten übertragen. Ferner weisen RTP-Pakete einen so genannten RTP-Timestamp bzw. „Zeitstempel" auf. Dieser umfasst eine Anzahl von m Bit. Häufig besteht der RTP Timestamp aus 32 Bit.For transmission of data, in particular of voice data, the so-called Real-Time-Transport-Protocol short RTP used. In RTP packets, data or samples of for example, transmit voice data. Furthermore, RTP packets have a so-called RTP timestamp or "timestamp", which comprises a number of m bits. Often the RTP timestamp consists of 32 bits.

Der RTP Timestamp entspricht der zeitlichen Lage des ersten Daten-Samples im Paket.Of the RTP timestamp corresponds to the temporal position of the first data sample in the package.

Der RTP Timestamp + 1 entspricht der zeitlichen Lage des zweiten Daten-Samples im Paket.Of the RTP Timestamp + 1 corresponds to the timing of the second data sample in the package.

Der RTP Timestamp + 2 entspricht der zeitlichen Lage des dritten Daten-Samples im Paket, usw.Of the RTP Timestamp + 2 corresponds to the timing of the third data sample in the package, etc.

Von einer Empfangseinrichtung empfangene RTP-Pakete werden üblicherweise direkt in einem Speicher oder Jitter-Buffer gespeichert und anschließend in der korrekten zeitlichen Reihenfolge ausgelesen.From Receive means received RTP packets are usually stored directly in a memory or jitter buffer and then in the correct chronological order.

Um dies zu erreichen verwendet man die ebenfalls mitgelieferte Sequence-Number. Man bildet verkettete Listen, in denen der Speicherplatz und der Timestamp abgelegt sind. Dies ist sehr aufwendig.Around To achieve this one uses the sequence number also supplied. One builds linked lists, in which the storage space and the Timestamp are stored. This is very expensive.

Aufgabe der vorliegenden Erfindung ist es, die Verarbeitung von RTP-Paketen zu verbessern.task The present invention is the processing of RTP packets to improve.

Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 und durch eine Anordnung mit den Merkmalen des Anspruchs 8 gelöst.These The object is achieved by a method having the features of the claim 1 and solved by an arrangement with the features of claim 8.

Erfindungsgemäß wird der RTP Timestamp eines empfangenen RTP Pakets mit einem lokalen Playout Timestamp, der für das Auslesen und die Wiedergabe der (Sprach-)Daten zuständig ist, verglichen. Pakete, deren RTP Timestamp kleiner als der Playout Timestamp ist, d.h. die bezogen auf den Playout Timestamp in der Vergangenheit liegen, was auch als „Late" bezeichnet wird, oder deren RTP Timestamp größer als die Summe aus Playout Timestamp und einer bzw. der vorhandenen Speichergröße sind, d.h. die bezogen auf den Playout Timestamp soweit in der Zukunft liegen, das sie nicht mehr zwischengespeichert werden können, was auch als „Early" bezeichnet wird, werden verworfen, also nicht gespeichert bzw. zwischengespeichert. Von den aus dieser Prüfung verbleibenden Paketen werden die Daten ermittelt bzw. extrahiert, d.h. die Daten werden aus den Paketen entpackt, und die Daten in einem Speicher gespeichert. Üblicherweise werden die Daten-Samples eines Paketes jeweils in einen Speicherplatz eines eine Anzahl von Speicherplätzen aufweisenden Speichers oder Jitter Buffers gespeichert.According to the invention RTP timestamp of a received RTP packet with a local playout Timestamp for reading and playback of the (voice) data is responsible, compared. Packages whose RTP timestamp is smaller than the playout Timestamp is, i. related to the playout timestamp in the Past, which is also referred to as "Late", or their RTP timestamp greater than the sum of playtime timestamp and one or the existing memory size, i.e. the in terms of the playout timestamp so far in the future lie that they can not be cached anymore, which also referred to as "early", are discarded, so not saved or cached. From those from this exam remaining packets, the data is determined or extracted, i.e. the data is extracted from the packages, and the data in stored in a memory. Usually The data samples of a packet are each stored in memory one of a number of memory locations stored memory or jitter buffers.

Der Vorteil der Erfindung besteht darin, dass nur Daten von RTP-Paketen gespeichert werden, die auch wirklich später mittels des Playout Timestamps aus dem Speicher ausgelesen werden. Somit ist eine effektivere Speichernutzung möglich.Of the Advantage of the invention is that only data from RTP packets which are also really saved later by means of the playout timestamp be read from the memory. Thus, a more effective memory usage possible.

Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.advantageous Embodiments of the invention are specified in the subclaims.

In einer vorteilhaften Ausgestaltung der Erfindung werden die Daten eines verbleibenden Paketes in einem Speicher mit 2n Speicherplätzen gespeichert. Hierbei werden die n niederwertigsten Bit des m Bit aufweisenden RTP Timestamps als Adresse bzw. Adressierungswert für den 2n Speicherplätze umfassenden Speicher verwendet, so dass die Daten des RTP Paketes entsprechend den n niederwertigsten Bits seines RTP Timestamp im 2n Speicherplätze umfassenden Speicher gespeichert werden. Somit wird durch den die n Bits repräsentierenden (Binär-) Wert direkt der entsprechende Speicherplatz bzw. die entsprechende Speicherzelle adressiert.In an advantageous embodiment of the invention, the data of a remaining packet is stored in a memory with 2 n memory locations. In this case, the n least significant bits of the m-bit RTP timestamp are used as the address or address value for the memory comprising 2 n memory locations, so that the data of the RTP packet corresponding to the n least significant bits of its RTP timestamp are stored in the memory comprising 2 n memory locations. Thus, by the representing the n bits (binary) value directly the corresponding memory location or the corresponding memory cell is addressed.

Die n niederwertigsten Bit entsprechen hierbei dem Speicherplatz für das erste Daten-Sample aus dem Paket. Die folgenden Speicherplätze ergeben sich durch einfaches Inkrementieren (um 1) der Adresse die durch die n niederwertigsten Bit repräsentiert wird.The n least significant bits correspond to the memory space for the first bit Data sample from the package. The following memory locations result by simply incrementing (by 1) the address by represents the n least significant bits becomes.

Dies hat den Vorteil, dass eine besonders einfache Speicherung der Daten ermöglicht wird. Es entfällt eine Konvertierung der Sequence-Number zu einem Speicherplatz.This has the advantage that a particularly simple storage of the data allows becomes. It is omitted a conversion of the sequence number to a memory location.

In einer weiteren vorteilhaften Ausgestaltung der Erfindung wird anstatt der n niederwertigen Bit der komplette RTP Timestamp verwendet um einen 2m Speicherplätze umfassenden Speicher zu adressieren. Die Daten werden in einem Speicher mit 2m Speicherplätzen gespeichert. Dadurch können die m Bit des RTP Timestamps als direkter Wert für die Adressierung des 2m-ten Speicherplatzes verwendet werden, so dass die Daten des RTP Paketes entsprechend dem m-Bit umfassenden RTP Timestamp im 2m-ten Speicherplatz gespeichert werden. Dies hat den Vorteil, dass eine noch einfachere Speicheradressierung möglich wird.In a further advantageous embodiment of the invention, the complete RTP timestamp is used instead of the n low-order bit to address a memory comprising 2 m memory locations. The data is stored in a memory with 2 m memory locations. Thus, the m bit of the RTP timestamps may be used as a direct value for the addressing of the 2 m th memory space, so that the data of the RTP packet corresponding to the m-bit full RTP timestamp in the 2 m th memory space are saved. This has the advantage that an even simpler memory addressing is possible.

In einer weiteren vorteilhaften Ausgestaltung der Erfindung wird das höchstwertigste Bit des RTP Timestamp eines empfangenen RTP Paketes mit dem höchstwertigen Bit der Playout Timestamp verglichen,

  • a) bei einer Übereinstimmung wird der RTP Timestamp des empfangenen RTP Pakets mit der Playout Timestamp verglichen, und dass Pakete, deren RTP Timestamp kleiner als der Playout Timestamp oder größer als die Summe aus Playout Timestamp und der Speichergröße sind, verworfen werden und dass aus den verbleibenden Paketen die Daten ermittelt und gespeichert werden,
  • b) dass bei fehlender Übereinstimmung das höchstwertigste Bit des RTP Timestamp mit 1 und das höchstwertigste Bit des Playout Timestamp mit 0 verglichen wird,
  • b1) dass im Fall der Übereinstimmung das zweithöchstwertigste Bit des RTP Timestamp mit 1 und das zweithöchstwertigste Bit des Playout Timestamp mit 0 verglichen wird, dass im Fall der Übereinstimmung das Paket verworfen wird und bei fehlender Übereinstimmung der RTP Timestamp des empfangenen RTP Pakets mit dem Playout Timestamp verglichen wird und Pakete, deren RTP Timestamp größer als die Summe aus Playout Timestamp und der Speichergröße sind, verworfen werden und dass aus den verbleibenden Paketen die Daten ermittelt und gespeichert werden,
  • b2) dass im Fall fehlender Übereinstimmung das zweithöchstwertigste Bit der RTP Timestamp mit 0 und das zweithöchstwertigste Bit der Playout Timestamp mit 1 verglichen wird, im Falle fehlender Übereinstimmung das Paket verworfen wird und im Falle der Übereinstimmung ein erster Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der Playout Timestamp von einem zweiten Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der RTP Timestamp subtrahiert wird und der resultierende Integerwert mit der Speichergröße verglichen wird, falls der resultierende Integerwert größer oder gleich der Speichergröße ist, das Paket verworfen wird und im anderen Fall aus dem Paket die Daten ermittelt und gespeichert werden.
In a further advantageous embodiment In accordance with the invention, the most significant bit of the RTP timestamp of a received RTP packet is compared with the most significant bit of the playout timestamp.
  • a) in case of a match, the RTP timestamp of the received RTP packet is compared with the playout timestamp and that packets whose RTP timestamp is less than the playout timestamp or greater than the sum of playout timestamp and the memory size are discarded and that of the remaining packets the data is determined and stored,
  • b) if no match is found, the most significant bit of the RTP timestamp is compared to 1 and the most significant bit of the playout timestamp to 0,
  • b1) that in case of coincidence, the second most significant bit of the RTP timestamp is compared with 1 and the second most significant bit of the playout timestamp is compared with 0, that in the case of coincidence the packet is discarded and if there is no match the RTP timestamp of the received RTP packet with the playout Timestamp and packets whose RTP timestamps are greater than the sum of the playout timestamp and the memory size are discarded, and the data from the remaining packets is determined and stored,
  • b2) that in case of mismatch, the second most significant bit of the RTP timestamp is compared with 0 and the second most significant bit of the playout timestamp is compared with 1, in case of mismatch the packet is discarded and in case of match a first integer formed by bits from the third most significant to the most significant least significant bit of the playout timestamp is subtracted from a second integer formed by bits from the third most significant to the least significant bit of the RTP timestamp and the resulting integer value is compared to the memory size if the resulting integer value is greater than or equal to the memory size, the packet is discarded and Another case from the package, the data is determined and stored.

Dies hat den besonderen Vorteil, dass die besondere Situation, bei der ein „Überschlag" des Timestamp vom Wert, bei dem alle Bit mit 1 belegt sind, auf den Wert, bei dem alle Bit mit 0 belegt sind, berücksichtigt wird. Dies bringt den Vorteil mit sich, dass auch bei einem „Überschlag" eine korrekte Speicherung der Daten der RTP-Pakete durchgeführt wird.This has the particular advantage that the particular situation in which a "rollover" of the timestamp of Value with all bits set to 1, to the value at which all bits are set to 0, taken into account becomes. This has the advantage that even with a "rollover" a correct storage the data of the RTP packets is performed.

In einer weiteren vorteilhaften Ausgestaltung der Erfindung werden die Daten durch Adressierung mit den n niederwertigsten Bit des m Bit umfassenden Playout Timestamp, dessen Bitzahl üblicherweise mit der Bitzahl m des RTP Timestamp identisch ist, also auch meist 32 Bit umfasst, aus den 2n Speicherplätzen des Speichers ausgelesen. Somit erfolgt eine Auslesung der Daten aus dem Speicher in Analogie zum Speichern der Daten. Dies hat den Vorteil, dass ein gleichartiges Verfahren sowohl zum Speichern als auch zum Auslesen verwen det wird.In a further advantageous embodiment of the invention, the data by addressing with the n least significant bit of the m-bit playout timestamp whose bit number is usually identical to the number of bits m of the RTP timestamp, so also mostly 32 bits, from the 2 n memory locations of Memory read out. Thus, a readout of the data from the memory takes place analogously to the storage of the data. This has the advantage that a similar method is used both for storing and for reading out.

In einer anderen vorteilhaften Ausgestaltung der Erfindung, umfasst der Speicher 2m Speicherplätze, so dass die Daten durch Adressierung mit den m Bit umfassenden Playout Timestamp aus den 2m Speicherplätzen ausgelesen werden. Somit ist der Auslesevorgang frei von einer Anpassung oder Auswahl von Bits aus dem Playout Timestamp für den Auslesevorgang.In another advantageous embodiment of the invention, the memory comprises 2 m memory locations, so that the data are read out from the 2 m memory locations by addressing with the m bits playout timestamp. Thus, the read-out process is free of any adaptation or selection of bits from the playout timestamp for the read-out process.

Ein Ausführungsbeispiel der Erfindung wird im Folgenden anhand der Zeichnungen näher erläutert. Dabei zeigtOne embodiment The invention will be explained in more detail below with reference to the drawings. there shows

1 ein erstes Prinzipbild zur Erläuterung der Erfindung, 1 a first schematic diagram for explaining the invention,

2 ein zweites Prinzipbild zur Erläuterung der Erfindung, 2 a second schematic diagram for explaining the invention,

3 einen Ablaufplan zur Erläuterung eines Teils des erfindungsgemäßen Verfahrens. 3 a flowchart for explaining a part of the method according to the invention.

Gemäß 1 werden durch eine Verarbeitungs- oder Empfangseinrichtung empfangene RTP-Pakete einer Prüffunktion CHECK LATE/EARLY zugeführt, die den RTP Timestamp des empfangenen RTP Pakets mit einem lokalen Playout Timestamp, der für das Auslesen und die Wiedergabe der (Sprach-)Daten zuständig ist, verglichen. Pakete, deren RTP Timestamp kleiner als der Playout Timestamp ist, d.h. die bezogen auf den Playout Timestamp in der Vergangenheit liegen, was auch als „Late" bezeichnet wird, oder deren RTP Timestamp größer als die Summe aus Playout Timestamp und einer Speichergröße sind, d.h. die bezogen auf den Playout Timestamp soweit in der Zukunft liegen, das sie nicht mehr zwischengespeichert werden können, was auch als „Early" bezeichnet wird, werden verworfen, also nicht gespeichert bzw. zwischengespeichert. Von den aus dieser Prüfung verbleibenden Paketen werden jeweils die Daten ermittelt bzw. extrahiert, d.h. die Daten werden aus dem Paket entpackt, und die Daten werden an Hand des RTP Timestamp des RTP Paketes in einem Speicher bzw. Jitterbuffer gespeichert. Im Beispiel werden die Daten eines verbleibenden Paketes in einem Speicher mit 2n Speicherplätzen gespeichert, die Bitstellenzahl m des RTP Timestamps ist dabei größer als die Zahl n der verwendeten niederwertigen Bits. Die n niederwertigsten Bit des m Bit aufweisenden RTP Timestamps werden zur Adressierung verwendet, um die Daten in den 2n Speicherplätze umfassenden Speicherplatz zu speichern, wie es schematisch in 2 gezeigt wird. Somit wird durch den die n Bits repräsentierenden (Binär-)Wert direkt der entsprechende Speicherplatz bzw. die entsprechende Speicherzelle adressiert um das erste Daten-Sample abzulegen.According to 1 For example, RTP packets received by a processing or receiving device are sent to a check function CHECK LATE / EARLY, which compares the RTP timestamp of the received RTP packet with a local playout timestamp, which is responsible for reading out and reproducing the (voice) data , Packets whose RTP timestamp is less than the playout timestamp, ie which are in the past relative to the playout timestamp, which is also referred to as "late", or whose RTP timestamps are greater than the sum of the playout timestamp and a memory size, ie which are related to the playout timestamp so far in the future that they can not be cached anymore, which is also referred to as "early" are discarded, so not stored or cached. Of the remaining packets from this test, the data is respectively extracted or extracted, ie the data is unpacked from the packet and the data is stored in a memory or jitter buffer by means of the RTP timestamp of the RTP packet. In the example, the data of a remaining packet is stored in a memory with 2 n memory locations, the bit position number m of the RTP timestamp is greater than the number n of the low-order bits used. The n least significant bits of the m-bit RTP timestamp are used for addressing to store the data in the 2n memory locations, as shown schematically in FIG 2 will be shown. Thus, by means of the (binary) value representing the n bits, the corresponding memory location or the corresponding memory cell is addressed directly in order to store the first data sample.

Weist der Speicher eine Größe von 2m Speicherplätzen auf, erfolgt eine direkte Adressierung mit den m Bit des RTP Timestamps.If the memory has a size of 2 m memory locations, direct addressing takes place with the m bits of the RTP timestamp.

Weist der Jitterbuffer eine Größe auf, die sich nicht durch eine Zweierpotenz darstellen lässt, müssen eine Anzahl Bits der RTP Timestamp für eine Adressierung des Speichers entsprechend konvertiert bzw. transformiert werden.has the jitterbuffer a size up, which can not be represented by a power of two, must have a Number of bits of RTP timestamp for an addressing of the memory converted or transformed accordingly become.

Weist der RTP Timestamp 32 Bit auf und ist die Speichergröße 211 (n = 11), so werden die niederwertigsten 11 Bit des 32 Bit umfassenden RTP Timestamp für die Adressierung des Speichers zur Speicherung der Daten des RTP Paketes verwendet, wie in 2 gezeigt.If the RTP timestamp is 32 bits and the memory size is 2 11 (n = 11), the least significant 11 bits of the 32 bit RTP timestamp are used to address the memory for storing the data of the RTP packet, as in 2 shown.

Das Auslesen bzw. Ausspielen der Daten bzw. Samples aus dem Speicher erfolgt nach dem gleichen Prinzip. Ein bestimmter Playout Timestamp repräsentiert die Lage von jeweils einem Sample im Speicher. D.h. die Daten bzw. Samples werden durch Adressierung mit den n niederwertigsten Bit des m Bit umfassenden Playout Timestamp aus den 2n Speicherplätzen des Speichers ausgelesen. Umfasst der Speicher 2m Speicherplätze, so können die Daten durch direkte Adressierung mit den m Bit umfassenden Playout Timestamp aus den 2m Speicherplätzen ausgelesen werden.The reading out or playing out of the data or samples from the memory takes place according to the same principle. A specific playout timestamp represents the location of one sample in memory. This means that the data or samples are read from the 2 n memory locations of the memory by addressing them with the n least significant bits of the m-bit playout timestamp. If the memory comprises 2 m memory locations, the data can be read out of the 2 m memory locations by direct addressing with the m-bit playout timestamp.

Weiterhin wird besonderes Augenmerk auf die Situation gelegt, wo ein Timestamp einen Überschlag produziert. Hierbei werden die beiden höchstwertigen Bit betrachtet. Ein entsprechender Ablaufplan ist in 3 dargestellt und im Folgenden noch mals aufgeführt. Zunächst wird das höchstwertigste Bit des RTP Timestamp eines empfangenen RTP Paketes mit dem höchstwertigen Bit der Playout Timestamp verglichen,

  • a) bei einer Übereinstimmung wird der RTP Timestamp des empfangenen RTP Pakets mit der Playout Timestamp verglichen, und Pakete, deren RTP Timestamp kleiner als der Playout Timestamp oder größer als die Summe aus Playout Timestamp und der Speichergröße sind, werden verworfen, aus den verbleibenden Paketen werden die Daten ermittelt und gespeichert,
  • b) bei fehlender Übereinstimmung wird das höchstwertigste Bit des RTP Timestamp mit 1 und das höchstwertigste Bit des Playout Timestamp mit 0 verglichen,
  • b1) im Fall der Übereinstimmung wird das zweithöchstwertigste Bit des RTP Timestamp mit 1 und das zweithöchstwertigste Bit des Playout Timestamp mit 0 verglichen, im Fall der Übereinstimmung wird das Paket verworfen und bei fehlender Übereinstimmung der RTP Timestamp des empfangenen RTP Pakets mit dem Playout Timestamp verglichen, Pakete, deren RTP Timestamp größer als die Summe aus Playout Timestamp und der Speichergröße sind, werden verworfen und aus den verbleibenden Paketen werden die Daten ermittelt und gespeichert,
  • b2) im Fall fehlender Übereinstimmung wird das zweithöchstwertigste Bit der RTP Timestamp mit 0 und das zweithöchstwertigste Bit der Playout Timestamp mit 1 verglichen, im Falle fehlender Übereinstimmung wird das Paket verworfen und im Falle der Übereinstimmung wird ein erster Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der Playout Timestamp von einem zweiten Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der RTP Timestamp subtrahiert und der resultierende Integerwert wird mit der Speichergröße verglichen, falls der resultierende Integerwert größer oder gleich der Speichergröße ist, wird das Paket verworfen und im anderen Fall werden aus dem Paket die Daten ermittelt und gespeichert.
Furthermore, special attention is paid to the situation where a timestamp produces a rollover. Here, the two most significant bits are considered. A corresponding schedule is in 3 presented and listed again in the following. First, the most significant bit of the RTP timestamp of a received RTP packet is compared with the most significant bit of the playout timestamp,
  • a) if there is a match, the RTP timestamp of the received RTP packet is compared with the playout timestamp, and packets whose RTP timestamps are less than the playout timestamp or greater than the sum of the playout timestamp and the memory size are discarded from the remaining packets the data are determined and stored,
  • b) if there is no match, the most significant bit of the RTP timestamp is compared to 1 and the most significant bit of the playout timestamp to 0,
  • b1) in the case of coincidence, the second most significant bit of the RTP timestamp is compared with 1 and the second most significant bit of the playout timestamp is compared with 0, in the case of coincidence the packet is discarded and compared in case of mismatch the RTP timestamp of the received RTP packet with the playout timestamp Packets whose RTP timestamps are greater than the sum of the playout timestamp and the size of the memory are discarded and the remaining packets are used to determine and store the data.
  • b2) in case of mismatch, the second most significant bit of the RTP timestamp is compared with 0 and the second most significant bit of the playout timestamp is compared with 1, in case of mismatch the packet is discarded and in case of match a first integer value is formed by bits from the third most significant to the lowest The least significant bit of the playout timestamp is subtracted from a second integer formed by bits from the third most significant to the least significant bit of the RTP timestamp and the resulting integer value is compared to the memory size, if the resulting integer value is greater than or equal to the memory size, the packet is discarded and in the other In the case, the data are determined and stored from the package.

Durch dieses erfindungsgemäße Verfahren werden die RTP-Pakete bzw. deren Daten oder Samples anhand ihrer Timestamps in korrekter Lage in einen Speicher einsortiert und es werden nur Daten bzw. Samples gespeichert, die auch wirklich später ausgelesen und verarbeitet werden. „Late" und „Early" Pakete bzw. deren Daten werden frühzeitig verworfen.By this method according to the invention the RTP packets or their data or samples based on their timestamps in a correct location sorted into a store and it will only Data or samples stored, which are really later read and processed. "Late" and "Early" packages or their Data is discarded early.

Der Vollständigkeit halber sei erwähnt das ein RTP-Paket nur dann als nicht „Early" gilt wenn alle Daten-Samples dieses RTP-Paketes die Prüfung „CHECK LATE/EARLY" bestehen und somit in den Jitterbuffer einsortiert werden können.Of the completeness be mentioned that an RTP packet is not regarded as "Early" unless all the data samples have this RTP package the check "CHECK LATE / EARLY " and thus can be sorted into the jitter buffer.

Die Funktion Check Late/Early kann beispielsweise in Hardware mittels FPGAs oder ASICs realisiert werden. Die Bestimmung, ob die Samples von einem Paket abzuspeichern sind, kann dadurch innerhalb von einem Taktzyklus erfolgen. Das Verfahren kann dadurch in hoch performanten Systemen eingesetzt werden.The Function Check Late / Early, for example, in hardware using FPGAs or ASICs are realized. The determination of whether the samples of a package can be stored within one Clock cycle done. The method can thus be in high performance Systems are used.

Die Adressierung des Jitter-Buffers mittels des Timestamps erlaubt den direkten Zugriff auf einzelne Samples. Es ist nicht erforderlich sich eine Historie bereits empfangener RTP-Pakete anzulegen. Ausreichend ist, sich den Playout-Timestamp zu merken. Entstehen im Speicher Lücken aufgrund von fehlenden RTP-Paketen, so werden diese automatisch gefüllt, wenn die fehlenden RTP-Pakete rechtzeitig vor dem Auslesen bzw. Ausspielen empfangen und gespeichert werden. Eine präventive Berechnung dieser „Lücken" ist nicht erforderlich.Addressing the jitter buffer using the timestamp allows direct access to individual samples. It is not necessary to create a history of already received RTP packets. It is sufficient to remember the playout timestamp. If there are gaps in the memory due to missing RTP packets, these are automatically deleted filled, if the missing RTP packets are received and stored in good time before reading out or playing out. A preventive calculation of these "gaps" is not required.

Durch die Erfindung wird insbesondere das Abspeichern und Auslesen der Daten-Samples in korrekter zeitlicher Reihenfolge vereinfacht.By The invention is particularly the storage and readout of the Data samples in the correct time sequence simplified.

Claims (8)

Verfahren zur Verarbeitung von Real-Time-Transport-Protokoll Paketen respektive RTP Paketen, die einen m Bit langen RTP Timestamp aufweisen und Daten enthalten, dadurch gekennzeichnet, dass der RTP Timestamp eines empfangenen RTP Pakets mit einem Playout Timestamp verglichen wird, dass Pakete, deren RTP Timestamp kleiner als der Playout Timestamp oder größer als die Summe aus Playout Timestamp und einer Speichergröße sind, verworfen werden und dass aus den verbleibenden Paketen die Daten ermittelt und in einem Speicher gespeichert werden.Method for processing real-time transport protocol packets or RTP packets which have an m-bit RTP timestamp and contain data, characterized in that the RTP timestamp of a received RTP packet is compared with a playout timestamp, packets whose RTP timestamp is less than the playout timestamp or greater than the sum of the playout timestamp and a memory size are discarded, and that from the remaining packets, the data is determined and stored in a memory. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten eines verbleibenden Paketes derart in einem Speicher mit 2n Speicherplätzen gespeichert werden, wobei die Bitstellenzahl m des RTP Timestamps größer als die Zahl n der 2n Speicherplätze ist, dass die n niederwertigsten Bit des m Bit aufweisenden RTP Timestamps als Adressierungswert für den 2n Speicherplätze umfassenden Speicher verwendet werden, so dass die Daten des RTP Paketes entsprechend den n niederwertigsten Bits seines RTP Timestamp im 2n Speicherplätze umfassenden Speicher gespeichert werden.Method according to Claim 1, characterized in that the data of a remaining packet are stored in a memory with 2 n memory locations, wherein the bit position number m of the RTP timestamp is greater than the number n of the 2 n memory locations, that the n least significant bits of the m Bit-containing RTP timestamps are used as addressing value for the 2 n memory locations comprehensive memory, so that the data of the RTP packet corresponding to the n least significant bits of its RTP timestamp are stored in 2 n memory space comprehensive memory. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten eines verbleibenden Paketes derart in einem Speicher mit 2m Speicherplätzen gespeichert werden, dass die m Bit als direkter Wert für die Adressierung des 2m Speicherplätze umfasenden Speichers verwendet werden, so dass die Daten des RTP Paketes entsprechend dem m-Bit umfassenden RTP Timestamp im 2m Speicherplätze umfassenden Speicher gespeichert werden.A method according to claim 1, characterized in that the data of a remaining packet are stored in a memory with 2 m memory locations such that the m bits are used as a direct value for addressing the memory comprising 2 m memory locations, such that the data of the RTP Packet corresponding to the m-bit RTP timestamp in the 2 m memory-comprehensive memory. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten der verbleibenden Pakete derart in einem Speicher mit p Speicherplätzen gespeichert werden, dass eine Anzahl von q niederwertigsten Bit des m Bit aufweisenden RTP Timestamps verwendet wird, und die aus den q niederwertigsten Bit gebildeten 2q Speicherplätze auf die p Speicherplätze derart transformiert werden, dass die Daten eines RTP Paketes eineindeutig in einem der p Speicherplätze gespeichert werden.A method according to claim 1, characterized in that the data of the remaining packets are stored in a memory with p memory locations such that a number of q least significant bits of the m-bit RTP timestamp is used, and the q q least significant bits formed 2 q Memory locations are transformed to the p memory locations such that the data of an RTP packet are uniquely stored in one of the p memory locations. Verfahren nach Anspruch 1, 2, 3 oder 4, dadurch gekennzeichnet, dass das höchstwertigste Bit des RTP Timestamp eines empfangenen RTP Paketes mit dem höchstwertigen Bit der Playout Timestamp verglichen wird, a) dass bei Übereinstimmung der RTP Timestamp des empfangenen RTP Pakets mit der Playout Timestamp verglichen wird, dass Pakete, deren RTP Timestamp kleiner als der Playout Timestamp oder größer als die Summe aus Playout Timestamp und der Speichergröße sind, verworfen werden und dass aus den verbleibenden Paketen die Daten ermittelt und gespeichert werden, b) dass bei fehlender Übereinstimmung das höchstwertigste Bit des RTP Timestamp mit 1 und das höchstwertigste Bit des Playout Timestamp mit 0 verglichen wird, b1) dass im Fall der Übereinstimmung das zweithöchstwertigste Bit des RTP Timestamp mit 1 und das zweithöchstwertigste Bit des Playout Timestamp mit 0 verglichen wird, dass im Fall der Übereinstimmung das Paket verworfen wird und bei fehlender Übereinstimmung der RTP Timestamp des empfangenen RTP Pakets mit dem Playout Timestamp verglichen wird und Pakete, deren RTP Timestamp größer als die Sum me aus Playout Timestamp und der Speichergröße sind, verworfen werden und dass aus den verbleibenden Paketen die Daten ermittelt und gespeichert werden, b2) dass im Fall fehlender Übereinstimmung das zweithöchstwertigste Bit der RTP Timestamp mit 0 und das zweithöchstwertigste Bit der Playout Timestamp mit 1 verglichen wird, im Falle fehlender Übereinstimmung das Paket verworfen wird und im Falle der Übereinstimmung ein erster Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der Playout Timestamp von einem zweiten Integerwert gebildet durch Bits vom dritthöchstwertigen bis zum niederwertigsten Bit der RTP Timestamp subtrahiert wird und der resultierende Integerwert mit der Speichergröße verglichen wird, falls der resultierende Integerwert größer oder gleich der Speichergröße ist, das Paket verworfen wird und im anderen Fall aus dem Paket die Daten ermittelt und gespeichert werden.Method according to claim 1, 2, 3 or 4, thereby in that the highest quality Bit of the RTP timestamp of a received RTP packet with the most significant one Bit the playout timestamp is compared, a) that in case of agreement of the RTP timestamp of the received RTP packet with the playout timestamp compared, that packages whose RTP timestamp is less than the playout timestamp or greater than the sum of playtime timestamp and memory size, discarded and that from the remaining packages the data be determined and stored, b) that if there is no match the most significant Bit of the RTP timestamp with 1 and the most significant bit of the playout Timestamp compared with 0, b1) that in the case of conformity the zweithöchstwertigste Bit of the RTP timestamp with 1 and the second highest bit of the playout Timestamp compared with 0 is that in the case of match the package is discarded and in case of mismatch the RTP timestamp of the received RTP packet compared to the playout timestamp will and packages whose RTP timestamp is greater than the sum me out of playout Timestamp and memory size, discarded and that from the remaining packages the data be determined and stored, b2) that in case of mismatch the zweithöchstwertigste Bit the RTP timestamp with 0 and the second most significant bit of the playout Timestamp is compared with 1, in case of mismatch the packet is discarded and, in the case of the match, a first integer value made up of bits from the third-highest until the least significant bit of the playout timestamp from a second one Integer value formed by bits from the third-highest to the lowest-order Bit of the RTP timestamp is subtracted and the resulting integer value compared with the memory size if the resulting integer value is greater than or equal to the memory size, the package is discarded and in the other case from the package the data be determined and stored. Verfahren nach einem der Ansprüche 2 oder 5, dadurch gekennzeichnet, dass die Daten durch Adressierung mit den n niederwertigsten Bit des m Bit umfassenden Playout Timestamp aus den 2n Speicherplätzen des Speichers ausgelesen werden.Method according to one of Claims 2 or 5, characterized in that the data are read from the 2 n memory locations of the memory by addressing with the n least significant bits of the m-bit playout timestamp. Verfahren nach einem der Ansprüche 3 oder 5, dadurch gekennzeichnet, dass die Daten durch Adressierung mit den m Bit umfassenden Playout Timestamp aus den 2m Speicherplätzen des Speichers ausgelesen werden.Method according to one of claims 3 or 5, characterized in that the data by addressing with the m-bit playout timestamp from the 2 m memory locations of the memory be read out. Verarbeitungseinrichtung, insbesondere Empfangseinrichtung, für RTP Pakete umfassend Mittel zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 7.Processing device, in particular receiving device, for RTP Packages comprising means for carrying out the method according to one the claims 1 to 7.
DE102005041308A 2005-08-31 2005-08-31 Method for processing RTP packets and processing device for RTP packets Withdrawn DE102005041308A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005041308A DE102005041308A1 (en) 2005-08-31 2005-08-31 Method for processing RTP packets and processing device for RTP packets
PCT/EP2006/065527 WO2007025902A1 (en) 2005-08-31 2006-08-21 Method and device for processing rtp packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005041308A DE102005041308A1 (en) 2005-08-31 2005-08-31 Method for processing RTP packets and processing device for RTP packets

Publications (1)

Publication Number Publication Date
DE102005041308A1 true DE102005041308A1 (en) 2007-03-15

Family

ID=37242545

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005041308A Withdrawn DE102005041308A1 (en) 2005-08-31 2005-08-31 Method for processing RTP packets and processing device for RTP packets

Country Status (2)

Country Link
DE (1) DE102005041308A1 (en)
WO (1) WO2007025902A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744764B1 (en) * 1999-12-16 2004-06-01 Mapletree Networks, Inc. System for and method of recovering temporal alignment of digitally encoded audio data transmitted over digital data networks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735213B2 (en) * 2001-11-28 2004-05-11 Thinkengine Networks Inc. Processing of telephony samples
US7336678B2 (en) * 2002-07-31 2008-02-26 Intel Corporation State-based jitter buffer and method of operation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744764B1 (en) * 1999-12-16 2004-06-01 Mapletree Networks, Inc. System for and method of recovering temporal alignment of digitally encoded audio data transmitted over digital data networks

Also Published As

Publication number Publication date
WO2007025902A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
DE10012123B4 (en) Method for finding a MAC address in a network switch
WO2012110314A1 (en) Method and apparatus for analysing data packets
DE2918223A1 (en) INTERFACE DEVICE FOR USE BETWEEN A DIGITAL COMPUTER AND A MEMORY
DE102007004044A1 (en) Method and system for optimized transmission of data between a control device and a plurality of field devices
EP0701348A2 (en) Packet transmission system
EP1425885B1 (en) Method and system for transmitting data from a first data network into a second data network
DE2912073A1 (en) STACKED STORAGE ARRANGEMENT FOR THE SHORT-TERM STORAGE OF INFORMATION IN THE EVENT OF NON-SEGPARABLE INFORMATION IN A DATA PROCESSING SYSTEM
DE102008004857B4 (en) Method for transmitting data between at least two clock domains
DE102007006508B4 (en) Microcontroller with memory trace module
DE10317904B4 (en) Vehicle communication device and communication method for receiving from and transmitting to an external device
DE102005041308A1 (en) Method for processing RTP packets and processing device for RTP packets
DE10148109A1 (en) Methods of storing or forwarding data
DE102019130756A1 (en) Control unit diagnostic apparatus and method thereof
AT405588B (en) METHOD FOR REPEATING ERRORLY TRANSMITTED DATA
DE3729494C3 (en) Device for storing video signals
EP1486030B1 (en) Method for the transmission of measured data from a measuring computer to a control computer in a measuring system
EP1374111A2 (en) Method, computer program, and system for carrying out a project
DE68909427T2 (en) Block-by-line television permutation device.
DE102020104098A1 (en) Network device and method for capturing and processing packet information with the network device
DE10132313A1 (en) Program controlled unit
DE102009044936A1 (en) Procedure for exchanging data
DE102004010562B4 (en) Interface device and method for the synchronization of data
DE3782546T2 (en) DATA PACKAGE SHORTENING METHOD AND DEVICE.
DE2702586C3 (en) Circuit arrangement for controlling memory access in a computer
DE4417286A1 (en) ATM buffer circuit data read-out method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

8139 Disposal/non-payment of the annual fee