-
Die
vorliegende Erfindung betrifft den Bereich der mobilen Telekommunikation.
-
Die
vorliegende Erfindung betrifft insbesondere ein Verfahren für die Übertragung
eines Digitaldatenflusses mit schneller Übertragungsrate zwischen einem
mobilen Telekommunikationsnetz, in dem die Anschlüsse begrenzte
Raten aufweisen. Die Erfindung wird angewendet im Rahmen der Fernüberwachung
von mobilen Orten (gepanzerte Fahrzeuge, Polizeiwagen) mit fester
Erdverbindung und bei bestimmten Ereignissen, bei denen keine schwere
Anlage eingesetzt werden kann (Konzerte, Messen, Demonstrationen).
-
1 zeigt
ein Architekturbeispiel gemäß dem Stand
der Technik, bei dem die vorliegende Erfindung zur Anwendung gelangt.
-
Eine
Videoaufnahmevorrichtung des Typs Kamera USB ist einem Laptop zugeordnet.
Der Anschluß zwischen
der Kamera und dem Computer erfolgt über ein Kabel USB. Die Kamera
wird über
das Kabel USB versorgt; nur der Computer benötigt eine Versorgung (Betriebsdauer
an Batterie). Der PC enthält
eine Video-Komprimierungssoftware in Echtzeit, die einen digitalen
Videofluss liefert. Das codierte Video ist an einen Streaming-Server
(Sendung) angebunden, der den Videofluss an die Kunden versendet.
Mehrere Benutzer-Besitzer
eines iPDA (Handelsname) oder eines mobilen Terminals – können somit
direkt auf den von dem mobilen Ort gesendeten Videoinhalt zugreifen.
-
Mobiltelefone
können
jedoch mit einem Modem des Typs GPRS (General Packet Radio Service) oder
EDGE (Enhanced Data (Rates) for Global Evolution) ausgestattet sein,
die bestimmte technische Grenzen aufweisen. Die bedeutendste bezieht
sich auf die in Aufwärtsrichtung
verfügbare
Bandbreite (uplink) von etwa 20 kbps, die für den Verkehr vom Codierer
zum Server sehr einschränkend
ist und demnach die Qualität
des transportierten Videos verringert. Denn der Kanal GPRS oder
EDGE und die Modems GPRS oder EDGE der mobilen Ausrüstungen
ermöglichen,
Datenflüsse
(beispielsweise ein Video) zu einem Terminal (downlink) mit einer
Bandbreite von 40 kbps zu senden.
-
Aus
dem Stand der Technik ist über
den europäischen
Patentantrag
EP 1 126 717 (Lucent)
bereits ein Video-Übertragungssystem
in Echtzeit auf einem Telekommunikationsnetz bekannt. Ein System GPRS,
EDGE oder UMTS (Universal Mobile Telecommunications System) liefert
einen Videodienst in Echtzeit, indem es einen unter einer kleinen
Anzahl, beispielsweise vier, vorbestimmter für Video gültiger Kanalcodierungsraten
auswählt.
Die Rate wird auf die Videodaten im Bereich der Applikationsschicht angewendet,
und die Daten werden über
die Funkschnittstelle an ein mobiles System übertragen, an dem sie angeschlossen
ist. Für
jedes Paket gibt eine Titelzeile die gewählte Codierrate an. Die kurze
Titelzeile ermöglicht,
die Video-Lastkapazität zu vergrößern.
-
Aus
dem amerikanischen Patent
US
6 578 082 (NORTEL NETWORKS) ist ebenfalls ein System und
ein Steuerverfahren von gesendeten Flüssen für GPRS-Netze bekannt. Das Verfahren
ermöglicht, den
Datenfluss zwischen zahlreichen Quellen und einer einzigen Destination
innerhalb eines GPRS-Netzes zu steuern und zu regulieren. Das System
und das Verfahren gewährleisten
die Übereinstimmung des
von allen Quellen gesendeten Verkehrs mit den Voraussetzungen für eine mittlere
und Spitzenrate, die von der BSS/PCU (Packet Control Unit) festgelegt
wurden. Ein Fluss-Steuerungsmechanismus
per Faß ohne
Boden (leacky bucket) wird jeweils verwendet bei jeder der mehreren
Quellen, um den Datenfluss zwischen der jeweiligen Quelle und der
einzigen Destination zu steuern. Eine maximale Größe des Pufferspeichers
des Fasses ohne Boden und eine Entleerungsgeschwindigkeit des Pufferspeichers werden
für jeden
der Fluss-Steuermechanismen per Faß ohne Boden definiert. Ein
Multiplikator wird geschätzt
und bestimmt für
jede der Quellen, auf der Basis der Empfangsverhalten der neuesten
Daten der mehreren Quellen. Die gemäß dem Stand der Technik vorgeschlagenen
Lösungen
ermöglichen nicht
die Übertragung
eines Videoflusses mit einer höheren
Rate als diejenige des Transportkanals der in dem mobilen Telekommunikationsnetz
hergestellten Anschlüsse.
-
Aus
den Anträgen
US-2004/0093420 und
WO-00/67435 sind ebenfalls
dem Oberbegriff des Anspruchs 1 oder 9 entsprechende Systeme und Verfahren
bekannt.
-
Das
Ziel der vorliegenden Erfindung ist, die Nachteile des Stands der
Technik zu beseitigen, indem sie ein Verfahren für die Übertragung eines Video-Datenflusses
mit im Vergleich zu den im mobilen Telekommunikationsnetz zur Verfügung stehenden Raten
hoher Rate vorschlägt.
Dieses Verfahren verwendet Mechanismen, die u. a. ein inverses Multiplexing
des Videoflusses mit hoher Übertragungsrate durchführen, um
dieses in eine Mehrzahl von Flüssen mit
kleinerer Übertragungsraten
zu unterteilen.
-
Um
die in 1 dargestellte und oben erwähnte Asymmetrie wettzumachen,
schlägt
die vorliegende Erfindung vor, den Videofluss von 40 kbps in zwei
verschiedene Flüsse
von jeweils 20 kbps zu teilen und diese beiden Flüsse auf
zwei verschiedenen Anschlüssen
GPRS oder EDGE an den Server zu versenden. Die beiden Flüsse werden
dann wieder in dem Netz vereint und man erhält einen ablaufenden Fluß von 40
kbps von gleicher Qualität
wie man ihn per GPRS empfangen kann.
-
Das
erfindungsgemässe
Verfahren kommt insbesondere der Entwicklung der mobilen Telefondienste
entgegen mit insbesondere dem Erscheinen des Videos.
-
Hierfür betrifft
die Erfindung im allgemeinen Sinn ein Verfahren für die Übertragung
eines Digitaldatenflusses zwischen einem Anwendungsprogramm einer
Sendeausrüstung
und einem Anwendungsprogramm einer Empfangsausrüstung eines mobilen Telekommunikationsnetzes,
gemäß Anspruch
1.
-
Die
vorliegende Erfindung betrifft ebenfalls ein System für die Übertragung
eines Digitaldatenflusses für
den Einsatz des Verfahrens, gemäß Anspruch
9.
-
Die
vorliegende Erfindung betrifft ferner ein System für die Videoüberwachung,
das Mittel für
die Videoerfassung zusammen mit Codierungsmittels eines Codierers
umfaßt,
ein System für
die Übertragung
eines Digitaldatenflusses für
den Einsatz des Verfahrens zwischen dem besagten Codierer und einem
Sendeserver (streaming) und mobilen Terminals, die durch das besagte
mobile Telekommunikationsnetz an den besagten Sendeserver angeschlossen
sind, gemäß Anspruch
17.
-
Die
Erfindung wird besser verstanden anhand der nachfolgenden, rein
erläuternden
Beschreibung einer Ausführungsform
der Erfindung unter Bezugnahme auf die beigefügten Figuren:
-
1 zeigt
eine Netzarchitektur gemäß dem Stand
der Technik, auf die sich die Erfindung bezieht;
-
2 zeigt
die Architektur einer Ausführungsform
der vorliegenden Erfindung;
-
3 zeigt
eine Systemarchitektur zwischen einen Kunden „Sender" und einem Server „Empfänger";
-
4 zeigt
die Austausche bei dem Initialisierungsschritt einer Kommunikation;
-
5 zeigt
die Austausche bei der Übertragung
der Daten;
-
6 zeigt
die Indexierung der Datenpakete;
-
7 zeigt
die Struktur einer verketteten Liste, die beim Empfang der Pakete
in der vorliegenden Erfindung verwendet wird;
-
8 zeigt
die Einfügung
eines Elements (empfangenen Pakets) in die verkettete Liste; und
-
9 zeigt
die verschiedenen, in der vorliegenden Erfindung eingesetzten Anschlüsse gemäß dem Schichtenmodell
OSI.
-
Die
vorliegende Erfindung setzt ein Verfahren um für die Übertragung eines Digitaldatenflusses mit
im Vergleich zu den zur Verfügung
stehenden Raten hoher Rate für
einen Anschluß an
einem Telekommunikationsnetz. Die Erfindung ist besonders vorteilhaft
für die Übertragung
von Hochgeschwindigkeitsvideo auf Telekommunikationsnetzen des Typs GPRS,
EDGE oder auch UMTS.
-
Zum
besseren Verständnis
der nachfolgenden Beschreibung verdeutlichen wir hier einige Begriffe
aus dem Bereich der Mobilnetze.
-
GPRS
sowie EDGE, verbesserte Version des GPRS, beruhen auf der GSM-Infrastruktur
und verwenden insbesondere denselben Funkkanal (physikalischer Kanal)
wie GSM. In einem GPRS- oder EDGE-Netz
wird ein logischer Anschluß zwischen
einem Terminal und dem Netz hergestellt über Kontexte PDP (Packet Data
Protocol), der dem Terminal eine IP-Adresse liefert. Dann wird ein
logischer Anschluß des
Typs IP zwischen zwei zu verbindenden Terminals hergestellt. Dieser
logische Anschluß des Typs
IP ist im Allgemeinen ein TCP-Anschluss. Im Rahmen der Erfindung
wird dieser Anschluß im TCP-Modus
hergestellt, jedoch im UDP-Modus verwendet (d. h. bei der Versendung
von Datenpaketen).
-
Im
Fall von GPRS, selbst wenn der Funkkanal höhere Übertragungsraten als 100 kbit/s
ermöglicht,
gestatten die Grenzen der Modems und Terminals nicht, die 20 kbit/s
nach oben und die 40 kbit/s nach unten zu überschreiten.
-
UMTS
verwendet eine andere Architektur als diejenige des GSM, die auf
einem spezifischen physikalischen Transportkanal beruht und Dienste
sowie eine Dienstqualität
garantiert, insbesondere bezüglich
der Zuweisung von Kanälen
im Kreismodus von 64 kbit/s und von Kanälen im Paketmodus von 384 kbit/s.
-
In
der nachfolgenden Beschreibung versteht man unter Transportkanal
den physikalischen Kanal, auf dem die Daten übertragen werden. Bei einem
logischen TCP-Anschluss zwischen zwei Terminals kann die Übertragungsrate
des Übertragungskanal unveränderlich
(garantiert) oder veränderlich
(beispielsweise im Paketmodus) sein.
-
Gemäß 2 ermöglichen
zwei Anschlüsse zwischen
der Erfassungsausrüstung
und dem Netz den Videofluss mit schneller Übertragungsrate aufzuholen.
Selbstverständlich
kann man eine größere Anzahl
von Anschlüssen
verwenden, ohne dadurch den Rahmen der vorliegenden Erfindung zu
verlassen. Der Streaming-Server ist ein Server, der die Daten mit
Videoinhalten wieder miteinander verbindet und speichert, die auf
den beiden, den beiden GPRS-Anschlüssen zugeordneten Transportkanälen gesendet wurden,
bevor sie auf dem Übertragungsnetz
versendet werden. Er ist hier außerhalb des Codierers vorgesehen
und ab dem Internet zugänglich.
Demnach besteht hier keine Begrenzung der Bandbreite zwischen Server
und Kunden, sondern zwischen Codierer und Server. Das Sende- und das Übertragungsnetz
sind hier unterschiedlich. Bei einer besonderen Ausführungsform
gehört
das Sendenetz einem anderen Operator als das Übertragungsnetz. Das ist insbesondere
der Fall, wenn nur ein Operator an der Stelle des Codierers des
Videoinhalts zur Verfügung steht.
-
Um
dieses Begrenzungsproblem der Bandbreite zu beheben, schlägt die Erfindung
eine „inverse
Multiplexing-Anwendung" vor,
die eine Vergrößerung (Verdoppelung)
der Bandbreite in aufsteigender Richtung ermöglicht. In diesem Fall muß der Laptop, an
dem die Kamera angeschlossen ist, zwei GPRS-Karten der Klasse 10 besitzen, um einen
codierten Videofluss auf zwei Transportkanälen versenden zu können. Diese
Lösung
scheint gut geeignet zu sein für
die Videoüberwachung
von einem mobilen Ort aus.
-
Die
Anwendung des inversen Multiplexing von Paketen ist abhängig von
dem gewählten
Paar Codierer/Streaming-Server und besteht ebenfalls aus zwei Teilen;
einem den Fluß versendenden
Kunden, MuxClient, und einem Empfangsserver, MuxServer, die jeweils
Geräten
angehören,
in denen jeweils der Codierer und der Streaming-Server laufen. 3 verdeutlicht
einen Einsatz des Codierers und des Servers.
-
Die
Multiplexing-Anwendung ist transparent für das Paar Codierer/Server:
der ausgetauschte Datenfluss bleibt unverändert. Jedoch muss man dem Codierer
des Videoinhalts als Empfänger
die lokale IP-Adresse („localhost") und nicht die aus
dem Servergerät
ausgelagerte IP-Adresse mitteilen. Denn es ist die Anwendung MuxClient,
die den codierten Videofluss empfängt und ihn an den Server des
Videoinhalts über
den MuxServer übermittelt.
-
Unter
Bezugnahme auf 3 besitzt das Kundengerät („Codierer"), auf dem der Codierer
des Videoinhalts läuft,
zwei GPRS-Karten, d. h. 2 öffentliche
IP-Adressen, IP Nr. 1 und IP Nr. 2. Was das Servergerät anbetrifft,
so besitzt es eine einzige IP-Adresse (IP Nr. 3) und sammelt die
beiden von IP Nr. 1 und Nr. 2 kommenden Datenflüsse auf dem gleichen Port.
Nach der Herstellung der logischen GPRS-Anschlüsse der beiden Karten an dem
Telekommunikationsnetz werden zwei weitere logische Anschlüsse zwischen
den Adressen IP Nr. 1 und IP Nr. 3 sowie IP Nr. 2 und IP Nr. 3 hergestellt,
durch die Erstellung eines socket auf jeder Karte. Im weiteren Verlauf
der Beschreibung werden wir diese beiden (oder mehr) logischen Anschlüsse zwischen
den verschiedenen, miteinander kommunizierenden IP-Adressen mit „Anschluß" bezeichnen. Dieser
Anschluß unterscheidet
sich von dem logischen GPRS-Anschluss und dem TPC-Anschluss dadurch, dass
er zwei IP-Adressen über
sockets verbindet. 9 zeigt einen vereinfachten
Stapel der Schichten gemäß dem Modell
OSI: der Transportkanal entspricht der physikalischen Schicht; der
logische GPRS-Anschluss ist niedriger als der logische Anschluß zwischen
den Adressen über
sockets, und der logische TCP-Anschluss ist dadurch höher, dass
er die beiden endseitigen Anwendungsprogramme miteinander in Verbindung
setzt. Bezüglich
der Datenübertragung
zwischen der Sendeausrüstung
(MuxClient) und der Empfangsausrüstung
(MuxServer) ist das gewählte
Protokoll der Schicht „Transport" (Schicht 4 im OSI-Modell)
das UDP (User Datagram Protocol), aber ein TCP-Dialog (Transfer
Control Protocol) stellt sich zuvor zwischen dem Codierer und dem
Server ein, für
die Initialisierung des logischen TCP-Anschlusses zwischen den beiden
Geräten.
Die Verwendung des UDP-Protokolls ermöglicht, sich eines Teils der
von einem Protokoll wie TCP gelieferten Dienstqualität zu entledigen.
Denn UDP verlangt keine Quittierung der Pakete beim Empfang: es
erfolgt keine Kontrolle des Flusses. Das Video ist nicht besonders
anfällig
für den
Verlust von Paketen (im Gegenteil dazu können Daten wie eine Informatikdatei nicht
verwendet werden, wenn ein einziges Paket verloren geht), daher
die Verwendung dieses Protokolls.
-
Während dieser
ersten, in 4 dargestellten Initialisierungsphase übermittelt
MuxClient nur die von dem Codierer zum MuxServer gesendeten TCP-Pakete,
der die Pakete wiederum an den Streaming-Server übermittelt. Bei dieser ersten
Phase ist nur einer der beiden logischen GPRS-Anschlüsse nützlich.
-
Bei
diesem Dialog überträgt der Server
des Videoinhalts an den Codierer die Nummer eines Ports, auf dem
er die UDP-Pakete
(ebenfalls Datagramme genannte) des codierten Videoflusses empfangen
möchte.
Diese Port-Nummer wird dann in diesen UDP-Paketen vom MuxServer
identifiziert und dem MuxClient mitteilt. Dieser wird ihm diese
gleiche Port-Nummer öffnen auf
dem Gerät,
auf dem der Codierer des Videoinhalts läuft, und so den von der Codierung
gesendeten Fluß umleiten.
-
Nachdem
die Eröffnung
der TCP-Session vom Server des Videoinhalts akzeptiert wurde, beginnt
der Codierer des Videoinhalts mit dem UDP-Transfer des codierten
Videoflusses an den P0-Port des gleichen Geräts.
-
Unter
Bezugnahme auf 5 empfängt MuxClient, der diesen Port
im Hörmodus
geöffnet hat,
die UDP-Pakete und teilt ihnen eine Nummer zu, bevor er sie gleichermaßen – je nach
ihrer Parität – abwechselnd
auf jeden der beiden Anschlüsse
verteilt, um sie an das ausgelagerte Servergerät zu senden. Bei einer Ausführungsform
mit N Anschlüssen kann
eine Verteilung der Pakete in ähnlicher
Weise abwechselnd ein Paket auf dem ersten und dann auf dem nächsten Anschluß verteilen,
bis zum Nten vor der Rückkehr
zum ersten. Die Abwechslung kann jedoch ebenfalls unorganisiert
(dritter Anschluß,
dann Nter, dann erster, ...) oder auch der Übertragungsrate der Transportkanäle der Anschlüsse angepaßt sein, wenn
einer von ihnen andere Merkmale aufweist, beispielsweise mehr Pakete
zu übertragen.
-
Demnach
werden zwei UDP-Paketflüsse vom
MuxServer empfangen, auf zwei anderen Anschlüssen als dem P0-Port, der zuvor
vom Server des Videoinhalts verlangt wurde. MuxServer nimmt eine
Einstufung nach aufsteigendem Index der geradzahlingen und nicht
geradzahligen Pakete vor, unter Berücksichtigung der eventuellen
Verluste. Die Sequenz der sortierten Pakete wird auf den Empfangsport
des Servers des Videoinhalts gesendet, gemäß einem „Faß ohne Boden" Verfahrens, das
die Verwaltung der ausgehenden Übertragungsrate
ermöglicht,
je nach im Codierer gewünschter Übertragungsrate.
-
Bei
einer Variante verfügt
der MuxClient über zwei
beispielsweise kreisförmige
Pufferspeicher, in die er die Pakete leitet, bevor sie auf dem einen
oder anderen Anschluß verteilt
werden. Die Pufferspeicher werden dann je nach Übertragungsgeschwindigkeit
eines jeden Anschlusses gefüllt
(Geschwindigkeit entsprechend der auf den den Anschlüssen zugeordneten
Transportkanälen
zur Verfügung
stehenden Übertragungsrate):
die Pakete werden an den am besten verfügbaren Pufferspeicher gesendet (derjenige,
der am schnellsten leer ist). Das ermöglicht insbesondere den effektivsten
(schnellsten) Anschluß zu
begünstigen
und die Gesamtrate zu optimieren, unabhängig von den Ratenschwankungen auf
dem einen oder anderen Anschluß.
-
Bei
einer verbesserten Variante werden ebenfalls Redundanzpakete des
Typs FEC (Forward Error Correction) und Reed-Salomon gesendet, um einem
eventuellen Paketverlust vorzubeugen.
-
Bei
einer in 6 dargestellten Ausführungsform
der vorliegenden Erfindung haben die von dem Codierer gesendeten
Datagramme eine variable Größe von bis
zu 1460 Bytes. Die Markierung der Pakete durch MuxClient verwendet
5 Bytes für
eine Zeitangabe oder eine zyklische Numerierung von „00000" bis „99999". Diese Nummer wird
dem Anfang des Pakets hinzugefügt
und vergrößert es
demnach um 5 Bytes. MuxServer extrahiert dann diese Nummer für die Einordnungsprozedur
und verleiht dem Paket wieder seine ursprüngliche Größe vor seiner Übertragung
an den Streaming-Server.
-
Der
Sortierungsalgorithmus beruht auf dem Prinzip der „einfachen
verketteten Listen" gemäß 7.
Bei jeder Ankunft eines Pakets wird ein Element PaqElement erstellt,
das den Inhalt des Pakets in hexadezimalen Zeichen, seine Größe, eine
Sequenznummer und einen Zeiger auf das nachfolgende PaqElement enthält.
-
Der
Algorithmus stuft die eingehenden Pakete nach ihrer Sequenznummer
ein: er geht die Liste vom ersten Paket bis dem Paket durch, dessen
Nummer gleich darunter liegt. Diese Taktik ermöglicht, nicht auf die eventuell
verlorenen Pakete zu warten. Unter Bezugnahme auf 8,
wenn das darunter liegende Element gefunden wurde, wird das neu
empfangene Paket in die gekettete Liste eingefügt.
-
Um
den Fluß der
zufällig
bei dem MuxServer eingehenden Pakete zu regulieren, verwendet man einen „Faß ohne Boden" Algorithmus (in
englisch „leaky
bucket") mit Hilfe
eines Pufferspeichers (bucket) und eines Reglers. Der Pufferspeicher
muß groß genug
sein, um sich nicht zu leeren, aber auch klein genug, um einerseits
nicht zu viel dynamischen Speicher zu verbrauchen und andererseits
nicht eine zu lange Liste bei der Einstufung der Pakete in aufsteigender
Reihenfolge zu lesen. Diese Methode ermöglicht, die Pakete gemäß einer
vorgegebenen Rate zu übermitteln,
die je nach der für
die Codierung angegebenen Rate berechnet wird. Der Server des Videoinhalts
empfängt
dann die Pakete in regelmäßigen Abständen, wodurch
Bildeinfrierungen oder ruckartige Videoeffekte vermieden werden.
Im Rahmen des Patents kann man selbstverständlich auch andere Arten von
Algorithmen für
die Korrektur der Abwesenheit von Videopaketen einsetzen.
-
Die
vorliegende Erfindung fügt
sich perfekt in den Rahmen neuer Mobiltelefondienste wie die Video-Übertragung
ein. Unter den Anwendungen, die das Video als Kommunikationsmedium
benutzen, sind die Beobachtungsanwendungen von Standorten interessant,
sowohl für
berufliche als auch für
persönliche
Zwecke. Als Beispiel kann man Überwachungsanwendungen
von empfindlichen Standorten (Innenraum eines Geldtransporters,
Umgebung eines Überwachungsfahrzeugs,
eines Polizeiwagens) sowie Anwendungen des Typs Beobachtung eines
Raums des Hauses (Überwachung
eines Babys) nennen.