-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft Übertragungstechniken,
und sie wurde insbesondere im Hinblick auf ihre mögliche Anwendung
in audiovisuellen oder multimedialen Kommunikationssystemen entwickelt.
-
Die
Erfindung strebt eine Lösung
des Problems der möglichen
Zuteilung von Datenströmen, wie
etwa von Audio- oder Videoströmen,
welche dem empfangenden Terminal auf synchronisierte Weise zu präsentieren
sind, auf mehreren Kommunikationskanälen an. Die Erfindung zielt
besonders darauf ab, den Erfordernissen des Übertragens von Informationsströmen dieser
Art auf einer gewissen Anzahl von Kommunikationskanälen eines
Kommunikationsnetzes (wie etwa eines paketvermittelten Netzes und/oder
eines mobilen Kommunikationsnetzes) gerecht zu werden, unter Bedingungen,
in welchen es, wenn die Übertragungskapazität des einzelnen
Kommunikationskanals nicht ausreicht, um den Übertragungserfordernissen gerecht
zu werden, notwendig ist, ein Übertragen über mehrere
Kommunikationskanäle
vorzusehen, unter Bedingungen, in welchen die Anzahl der vorgenannten
Kommunikationskanäle auch
entsprechend den Übertragungserfordernissen in
der Zeit variieren kann.
-
ALLGEMEINER
STAND DER TECHNIK
-
Gemäß dem Stand
der Technik sind Verfahren bekannt, welche es ermöglichen,
jedem Paket, das Multimedia-Daten transportiert, Information zuzuordnen:
Bezug genommen werden kann zum Beispiels auf den RTP-Header (IETF
RFC 1889), auf den Header PES (ISO/IEC 13818-1), oder auch auf den
Header SL (ISO/IEC 14496-1). Insbesondere läßt der letztgenannte Header
einen hohen Grad am Konfigurierbarkeit zu und bietet so die Möglichkeit, Bitverbrauch
in den verschiedenen Fällen
zu optimieren.
-
Ebenfalls
bekannt sind Lösungen,
welche ein Multiplexen unterschiedlicher Datenströme ermöglichen:
Erneut kann, um ein Beispiel zu nennen, Bezug genommen werden auf
die Lösung,
die als MPEG-4 Flexmux (ISO/IEC 14496-1) bekannt ist, welche einen
Header verwendet, der acht Bits zum Identifizieren des Datenstroms
und acht Bits zum Anzeigen der Länge
des Pakets enthält.
-
Weitere, übliche und
verbreitet verwendete Lösungen
sind bekannt, zum Beispiel aus der US-Patentschrift 5,598,415 und aus SARGINSON
P. A.: "MPEG-2:
A TUTORIAL INTRODUCTION TO THE SYSTEMS LAYER", IEE COLLOQUIUM ON MPEG WHAT IT ISN'T, IEE, LONDON, GB,
1995, Seiten 4/1-4/13.
-
Die
obigen Lösungen
offenbaren insbesondere Verfahren zum Bündeln von Audio-, Video-, Dateninformation
und zugeordneter Metainformation in einem einzigen Bitstrom und Übertragen
des einzigen Bitstroms über
einen einzigen Kommunikationskanal.
-
Keines
der obigen Dokumente lehrt, den einzigen Bitstrom über mehrere
Kommunikationskanäle zu übertragen.
-
Schließlich sind,
wenigstens für
besondere Anwendungen, Lösungen
bekannt, welche ermöglichen,
eine Folge von Paketen über
mehrere Kommunikationskanäle
zuzuteilen: Eine Technik dieser Art wird in einigen Fällen zum
Verwalten des Übertragens
auf zwei ISDN-B-Kanälen verwendet.
-
Die
direkte Anwendung derartiger Lösungen in
dem oben dargelegten Kontext kann allerdings schwerlich vorgeschlagen
werden: die Menge an Steuerinformation, die erforderlich wäre, um das
korrekte Bündeln
des Informationsstroms beim Übertragen
und ein entsprechend exaktes Entbündeln beim Empfangen zu sichern
(die Begriffe "Bündeln" und "Entbündeln" sind hier in ihrer
allgemeinsten Bedeutung verwendet), würde letztlich einen wesentlichen Prozentanteil
relativ zu der nützlichen
Information (Nutzinformation), die übertragen wird, ausmachen. All
das bei einer extrem ineffizienten Verwendung verfügbarer Übertragungsressourcen,
welche, in Anbetracht der zu übertragenden
Ströme,
ohnehin reduziert wären.
-
OFFENBARUNG
DER ERFINDUNG
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte
Lösung,
bezogen auf die Lösungen
gemäß dem Stand
der Technik, vorzulegen, besonders, was das Ausnutzen der zum Übertragen
verfügbaren
Bandbreite angeht.
-
Gemäß der vorliegenden
Erfindung wird diese Aufgabe dank eines Verfahrens zum Übertragen erfüllt, welches
die Merkmale, die in den folgenden Ansprüchen konkret dargelegt sind,
aufweist. Die Erfindung betrifft auch das verwandte System, den Sender
und den Empfänger,
welche demselben entsprechen, sowie das entsprechende Computererzeugnis,
d.h. das Erzeugnis, das direkt in den Speicher eines Rechners geladen
werden kann und Abschnitte von Softwarecode umfaßt, die ein Implementieren
des erfindungsgemäßen Verfahrens,
wenn das vorgenannte Erzeugnis auf einem Rechner ausgeführt wird,
ermöglichen.
-
Die
erfindungsgemäße Lösung ermöglicht es,
die Information, welche die Beschreibung der übertragenen Daten, den Mechanismus
zum Multiplexen der unterschiedlichen Flüsse und den Mechanismus zum
Zuteilen an mehrere Übertragungs-
oder Kommunikationskanäle
betrifft, in Gruppen zu bringen und adäquat abzusichern, alles bei
Minimieren der Bitmengen, die zusätzlich zu dem übertragenen nützlichen
Strom (der übertragenen
Nutzinformation) erforderlich sind.
-
Die
Erfindung kann in besonders vorteilhafter Weise verwendet werden,
um in Echtzeit Audio- und/oder
Videosignale (möglicherweise
gemeinsam mit Datensignalen) über
Telefonleitungen, wie etwa Leitungen eines mobilen Telekommunikationsnetzes, wie
etwa eines Mobilfunknetzes, zu übertragen.
-
Die
Bezugnahme auf den Anwendungszusammenhang ist jedenfalls nicht dahin
gehend auszulegen, das Gebiet möglicher
Anwendungen der Erfindung, welches ein ziemlich umfassendes ist,
einschränken.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Erfindung wird an dieser Stelle, ausschließlich um ein nicht einschränkendes
Beispiel zu geben, mit Bezug auf die beiliegenden Zeichnungen, beschrieben,
dabei zeigen:
-
1,
in der Form eines Funktionsdiagramms, das Funktionieren eines Systems
gemäß der Erfindung,
von der Übertragungsseite
aus betrachtet, und
-
2,
in der Form eines Funktionsdiagramms, das Funktionieren eines Systems
gemäß der Erfindung,
von der Empfangsseite aus betrachtet.
-
BESTE AUSFÜHRUNGSFORM
DER ERFINDUNG
-
In
dem Diagramm der 1 bezeichnet das Bezugszeichen
SC im Allgemeinen eine Quelle von Video- V, Audio- A und/oder Dateninformationsströmen D, von
denen vorausgesetzt wird, daß sie
in Zugriffseinheiten variabler Größe zusammengesetzt werden,
wobei jede einer bestimmten entsprechenden Metainformation zugeordnet
ist.
-
Die
Metainformation umfaßt,
insbesondere, einen sogenannten "Zeitstempel", welcher den Zeitpunkt
anzeigt, auf welchen die Zugriffseinheit bezogen ist (zum Beispiel
den Zeitpunkt, zu dem ein Videoframe festgehalten wird), gemessen
in Beziehung zu einem Zeitbezugssystem, von dem angenommen wird,
daß es
sowohl der Quelle S als auch dem Benutzer oder Empfänger U (2)
der genannten Ströme
bekannt ist.
-
Zum
Beispiel sind, im linken oberen Teil der 1 die verschiedenen
Zugriffseinheiten, welche das Videosignal V umfassen, bezeichnet
mit Vt1, Vt2, ..., Vtn. In ähnlicher
Weise sind die Zugriffseinheiten des Audiostroms A bezeichnet mit
At1, At2, ..., Atn, während
die homologen Einheiten der Datenflüsse D mit Dt1, Dt2, ..., Dtn
bezeichnet sind. Die Buchstaben V, A und D identifizieren die Art
des einzelnen Informationsstroms (Video, Audio, Daten), während tn
(n = 1, .. n) die Zeit des Festhaltens der entsprechenden Zugriffseinheit
bezeichnet.
-
Die
Figuren der Zeichnungen beziehen sich auf das Vorhandensein von
drei Informationsströmen V,
A und D. Dennoch ist offensichtlich, daß die vorliegende Erfindung
ebenso vorteilhaft in Kontexten angewendet werden kann, in welchen
zum Beispiel:
- – nur einige der im vorigen
erörterten
Ströme
V, A, D vorhanden sind, und/oder
- – mehrere
Ströme
desselben Typs vorhanden sind, d.h. zum Beispiel mehrere Videoströme, mehrere
Audioströme
usw.
-
Alles
in jeder möglichen
Kombination.
-
Die
verschiedenen Zugriffseinheiten Vtn, Atn, Dtn werden jeweils für Paketiermodule
P bereitgestellt, die (nach Kriterien, die an sich bekannt sind) den
Strom von Zugriffseinheiten in Pakete von geeigneter Dimensionierung,
in Anbetracht des Übertragens,
ordnen.
-
Jedes
Paket enthält
wenigstens ein Segment einer Zugriffseinheit, d.h. ein Segment einer
Zugriffseinheit, eine ganze Zugriffseinheit, oder aber wiederum
eine gewisse Anzahl ganzer Zugriffseinheiten.
-
Jedes
Paket ist zusammengesetzt aus einer Nutzinformation sowie jeweils
aus einem Header.
-
Alles
in Anbetracht des Bündelns
der verschiedenen Informationsströme V, A, D in einem Gesamtbündelstrom,
welcher aus der Bündelaktion
entsteht, die von einem Modul M mit Multiplexer-(Mux)funktion durchgeführt wird.
Der Bündelstrom
wird danach auf eine gewisse Anzahl von Kommunikationskanälen Cj (wobei
j = 1, ..., n: der Kommunikationskanal kann also – wenigstens
unter gewissen Bedingungen – nur
einer sein) eines Übertragungsnetzes
N, wie etwa eines zellularen Mobilfunknetzes, verteilt.
-
Die
Zuordnungsoperation wird mittels eines Aufteil- oder Splittermoduls
S ausgeführt,
das entsprechend den konkreten Übertragungserfordernissen
(zum Beispiel entsprechend der Anzahl von Kommunikationskanälen, die
zu dem Zeitpunkt für das Übertragen
verwendet werden) arbeitet.
-
Die
Funktionskriterien des Multiplexermoduls M und des Splittermoduls
S sollen als im Fach hinlänglich
bekannt, und eine detaillierten Erörterung an dieser Stelle soll
daher als überflüssig erachtet werden,
auch deswegen, weil derartige Kriterien an sich zum Zwecke des Verstehens
und Implementierens der vorliegenden Erfindung nicht relevant sind.
-
Wie
besser gezeigt im rechten oberen Teil der 1, bringt
der einzelne Header, der den verschiedenen Zugriffseinheiten der
Ströme
V, A und D zugeordnet ist, zwei Typen von Feldern in Gruppen.
-
Eine
erste Gruppe von Feldern des Headers H (Gruppe bezeichnet mit HS)
befördert
Information, welche für
den einzelnen Strom konkret konfiguriert ist, und welche die Meatinformation,
die den übertragenen
Daten zugeordnet ist, darstellt.
-
Eine
zweite Gruppe von Feldern des Headers H (Gruppe bezeichnet mit HG)
umfaßt
dagegen allgemeine Gültigkeitsfelder,
welche nicht von dem einzelnen Strom abhängen, einschließlich wenigstens
eines Paritätsbits
(Prüfsumme).
-
Es
ist zu bemerken, daß,
zu Zwecken illustrativen Vereinfachens, die vorgenannten Gruppen von
Feldern HS und HG in den Figuren aneinander angrenzend dargestellt
sind. Tatsächlich
sind die Felder der beiden genannten Gruppen gewöhnlich miteinander "vermischt", wobei die Lösung tatsächlich bevorzugt
wird, zum Beispiel aufgrund von Parsingerfordernissen beim Empfangen.
-
Der
Fachmann wird zu schätzen
wissen, daß die
Technik zum Darstellen der Metainformation, die der einzelnen Zugriffseinheit
zugeordnet ist, aus der Spezifikation des SL-Headers (ISO/IEC 14496-1) stammt,
denn die Spezifikation ermöglicht
es, Bitverbrauch in jedem Header zu minimieren, und gleichzeitig
bietet sie Konfigurierbarkeit, wodurch sie einen beträchtlichen
Grad an Flexibilität
zuläßt.
-
Die
Spezifikation ISO/IEC 14496-1 sieht einen präzisen Mechanismus zum Konfigurieren
des Headers SL vor: Dieser Mechanismus besteht in dem Vorabübertragen
einer Struktur mit Namen SLConfigDescriptor, welche zum Beispiel
festlegt, wie viele Bits zum Darstellen eines Zeitstempels verwendet werden
sollen, und in welcher Skala.
-
In
der erfindungsgemäßen Lösung kann
eine Struktur wie SLConfigDescriptor vorab übertragen werden, aber auch
vorab an den Terminals gesetzt. In jedem Fall werden dem SLConfigDescriptor
zusätzliche
Konfigurationsparameter hinzugefügt,
um mit dem Fall mehrerer Zugriffseinheiten in einem Paket umzugehen.
-
Die
Technik, die in diesem Fall verwendet wird, ist ähnlich der, welche für das Paketieren
von MPEG-4-Strömen
auf RTP definiert ist. (Aktueller Bezug: IETF draft-gentric-avt-mpeg4-multiSL-04.txt).
-
Insgesamt
macht die Gruppe von Feldern, die zum Befördern der Metainformation der
Zugriffseinheit in den Header H verwendet wird, den Headerteil aus,
welcher hier mit HS benannt ist. Jeder einzelne Strom benötigt im
Allgemeinen seine eigene Konfiguration bezogen auf den Header HS,
da die Konfigurationsparameter für
jeden Strom unterschiedlich sein können.
-
Wie
bereits ausgeführt,
enthält
der Header, zusätzlich
zu den Feldern der Gruppe HS, weitere Information, global bezeichnet
mit HG, welche dazu bestimmt ist, das Aufteilen des transportierten
Stroms auf die unterschiedlichen Kommunikationskanäle oder
Leitungen und das korrekte Neuzusammensetzen beim Empfänger zu
ermöglichen.
-
Insbesondere
umfaßt,
in der hier gezeigten Ausführungsform,
die Gruppe zusätzlicher
Information HG die folgenden Felder:
- – PN: Nummer
des Pakets in der Reihenfolge, in der es auf dem Übertragungssystem
gesendet wurde,
- – CH:
Kanal- oder Stromidentifizierung; jeder Kanal befördert einen
bestimmten Strom (Video, Audio oder Daten),
- – L:
Länge des
Datenpakets,
- – CK:
Prüfsumme
zum Absichern für
alle Daten des Headers (also sowohl die des HS-Teils als auch die
des HG-Teils), außer
CK selbst.
-
Bevorzugterweise
steht das Feld CH mit der Kanal- oder Stromidentifikation in einer
vorderen Position des Headers H, um der Gruppe HS voranzugehen,
aufgrund offensichtlicher Parsingerfordernisse beim Empfangen.
-
Die
für die
verschiedenen Felder des Headers HG verwendete Größe (Bitanzahl)
wird derart bestimmt, daß der
beste Kompromiß zwischen
dem Reduzieren des Overhead, der vom Erzeugen des Headers herbeigeführt ist,
und der Leistung, die von dem System gefordert ist, erreicht wird.
-
Die
Konfiguration des Headerteils HG kann nicht zur Laufzeit festgelegt
werden (wie für
den Teil HS hypothetisch angenommen werden kann), sondern sie stellt
vielmehr eine Beschränkung
für das Sender-Empfänger-System
dar.
-
Das
Zuweisen zusätzlicher
verfügbarer
Kanal- oder Stromidentifikationen an die verschiedenen Video-, Audio-
und Datenströme
kann vorab gesetzt oder zur Laufzeit festgelegt werden; im letzteren
Fall ist es allerdings notwendig, eine Kanalidentifikation für das Zuweisen
zu reservieren.
-
Bei
der Definition der Daten, welche die beiden Gruppen von Feldern
des Headers H umfassen, ist es notwendig, einige interne Faktoren,
welche mit den allgemeinen Charakteristika des Übertragungssystems zusammenhängen, zu
berücksichtigen.
-
Zum
Beispiel bestimmt die Länge
des Zeitstempelfelds in HS die Ablaufzeit des Zeitstempels.
-
In ähnlicher
Weise bestimmt der maximale Wert des Feldes PN in HG den maximalen
Unterschied in der Übertragungszeit,
der zwischen verfügbaren
Leitungen oder Kommunikationskanälen
zulässig
ist.
-
Die
Länge des
Feldes CH bestimmt die maximale Anzahl von Strömen, die zur gleichen Zeit übernommen
werden können,
und in ähnlicher
Weise entspricht der maximale Wert von L der maximalen Länge des
Pakets.
-
Schließlich bestimmt
die Länge
des Feldes CK die Fehler-Erkenn-/Korrigierkapazität für die Header.
-
Pakete
werden mit variabler Länge
erzeugt, insbesondere mit einer maximalen Größe, die es ermöglicht,
mit einer gewissen Präzision
die Verteilung der Daten auf die Mehrzahl verfügbarer Kommunikationskanäle auszugleichen.
Die so erzeugten Pakete werden durch das Splittermodul S auf die
verschiedenen Kommunikationskanäle
C1, ..., Cj verteilt, wobei ein Kriterium homogenen Verteilens der
Last auf die unterschiedlichen Kommunikationskanäle oder Leitungen eingehalten
wird.
-
Jedes
erzeugte Paket wird auf einem bestimmten Kommunikationskanal oder
einer bestimmten Leitung gesendet. Außerordentlich lange Pakete könnten ein
Ungleichgewicht in der Last auf den Kommunikationskanälen oder
Leitungen erzeugen; daher werden die Zugriffseinheiten, deren Länge die maximale
Paketgröße überschreitet,
auf mehrere Pakete fragmentiert.
-
Das
Feld CH wird während
der Empfangsphase für
die Rekonstruktion der verschiedenen Ströme von Zugriffseinheiten V,
A und D verwendet.
-
Das
Paketnummernfeld PN ist dazu bestimmt, während der Empfangsphase zu
ermöglichen,
die korrekte Folge der Pakete zu rekonstruieren, wobei der mögliche Unterschied
in der Übertragungszeit über das Übertragungsnetz
N, welchen es zwischen unterschiedlichen Übertragungskanälen geben
kann, überwunden
wird.
-
Das
Zeitstempelfeld und die unterschiedlichen anderen Felder der Gruppe
HS sind dazu bestimmt, während
der Empfangsphase zu ermöglichen,
die exakten Konturen der Zugriffseinheiten und der denselben zugeordneten
Metainformation zu rekonstruieren, wobei ihr korrektes Verwalten
ermöglicht
wird (zum Beispiel die synchronisierte Wiedergabe von Audio und
Video).
-
Bei
Untersuchen der Struktur des Empfängers, wie gezeigt in 2,
ist zu bemerken, daß die paketierten
Daten, welche aus dem Netz N auf den verschiedenen Kommunikationskanälen Cj,
..., C(j+1) eingehen, einer Reihe von Analyse-, Umorganisations-
und Pufferoperationen unterzogen werden, welche dazu bestimmt sind,
die Folge der ursprünglich übertragenen
Zugiffseinheiten zu rekonstruieren, wobei die Metainformation, welche
sie charakterisiert, beibehalten wird.
-
Die
Daten, die auf jedem einzelnen Kommunikationskanal empfangen werden,
zeigen beim Empfangen nicht die Grenzen der einzelnen übertragenen
Pakete, sondern bilden einen kontinuierlichen Bytestrom.
-
Der
erste Schritt, der in dem Empfänger
ausgeführt
wird, besteht daher darin, den eingehenden Bytestrom zu analysieren
und die Grenzen der unterschiedlichen Pakete zu identifizieren.
-
Das
geschieht durch Module PS, welche die Pakete durchsuchen, indem
sie den auf jedem Kommunikationskanal eingehenden Bytestrom analysieren,
wobei sie nach einer Folge von wenigstens zwei syntaktisch korrekten
Headern suchen.
-
Insbesondere
versuchen die Module PS, einen Header (H1) zu decodieren, wobei
sie von einem bestimmten Byte im Strom ausgehen, und zu überprüfen, ob
die Prüfsumme
CK korrekt ist. Wenn das so ist, analysieren die Module PS danach
den nächsten
Header (H2), welcher sich in einem Abstand L (welcher eben von dem
entsprechenden Feld des Teils HG von H1 erhalten wurde) befinden
sollte. Wenn ebenfalls befunden wird, daß H2 eine korrekte Prüfsumme CK
aufweist, überprüfen die
Module PS die nachfolgenden Header H3, H4 usw.
-
Die
Anzahl der zu prüfenden
Header kann wahlweise gesetzt werden.
-
Wenn
die Prüfung
negativ ist, wiederholen die Module Ps dieselbe Art von Berechnung,
wobei sie von dem Byte ausgehen, welches unmittelbar auf das bereits
gewählte
folgt, und so weiter, bis der Rahmen der Pakete identifiziert ist.
-
Die
Module PS führen
eine Parsingfunktion aus, welche auf das Interpretieren und Wiedererkennen
der verschiedenen Felder der Header H gerichtet ist.
-
Die
Pakete, welche so von den Modulen PS identifiziert sind, werden
zu einem Modul PR gesendet, welches die Pakete, die von den unterschiedlichen
Kommunikationskanälen
kommen, neu sortiert, wobei es die beförderte Information der Felder
PN verwendet.
-
Das
findet aufgrund eines Vergleichs zwischen den Kopfpaketen in den
verschiedenen Warteschlangen statt, die aktiv sind. Die korrekte
Folge der Pakete wird also in einer Weise rekonstruiert, welche von
der Übertragungszeit,
welche die verschiedenen Pakete während des Zulieferns durchlaufen
haben können,
unabhängig
ist.
-
Der
dritte Verarbeitungsschritt, welcher innerhalb des Empfängers durchgeführt wird,
sieht vor, daß ein
Demultiplexermodul DM (entsprechend dem Inhalt der Felder CH) das
gesamte empfangene Bündel
oder den Informationsstrom in mehrere Ströme zuteilt, welche zu einer Reihe
von Depaketiermodulen DP weitergeleitet werden, wobei jedes die
Aufgabe hat, jeweils einen Informationsstrom zu depaketieren.
-
Jeder
der Depaketierer DP extrahiert aus jedem neu sortierten Paket des
jeweiligen Informationsstroms (V, A oder D) die tatsächliche
Nutzinformation und die derselben zugeordnete Metainformation (befördert durch
den Headerteil HS). Jedes Modul Ps erzeugt daher an seinem Ausgang
die Folge der Video (Vtn)-, Audio (Atn)- oder Daten (Dtn)-Zugriffseinheiten,
an welchen es Kenntnis hat. Alles in Anbetracht des nachfolgenden
Verarbeitens der jeweiligen Daten, welches entsprechend bekannten Kriterien
durchgeführt
wird.
-
Selbstverständlich können, wenn
das Funktionsprinzip bestehen bleibt, die Konstruktionsdetails und
die Ausführungsformen,
bezogen auf das, was in dieser Schrift beschrieben und illustriert
ist, weitgehend variiert werden, ohne daß dadurch der Rahmen der vorliegenden
Erfindung verlassen würde.