-
Technisches Gebiet
-
Die
vorliegende beanspruchte Erfindung bezieht sich auf das Gebiet eines
strömungsmäßigen Übertragens
(Streamens) von Medien. Insbesondere bezieht sich die vorliegende
beanspruchte Erfindung auf ein Liefern von Streaming-Daten an feste
Clients und/oder mobile Clients unter Verwendung von Mehrfachbeschreibungsbitströmen und
verschiedenen Formen einer Diversität (Diversity).
-
Technischer Hintergrund
-
Heutige
Netzwerke, wie beispielsweise das Internet, sind primär zum Liefern
von statischen Daten nicht in Echtzeit zu festen Clients entworfen,
wie beispielsweise Desktop-Computern
und Laptops. Ein Entwickeln eines Systems, das Echtzeit-Streaming-Medien
zu mobilen Clients liefert, stellt auf Grund der Streaming-Beschaffenheit
der Daten und der Mobilität
des Benutzers eine noch größere Reihe von
Herausforderungen dar. Diese Herausforderungen sind intensiviert,
wenn man Themen betrachtet, wie beispielsweise eine Systemskalierbarkeit,
die einen Dienst auf eine größere Anzahl
von Benutzern ausdehnt; und eine Dienstqualitäts- und Fehlertoleranz, die mobile Benutzer
mit kontinuierlichen, ununterbrochenen Streaming-Media-Sitzungen
versieht. Ferner muss diese stabile, ununterbrochene Medienliefersitzung über Bestbemühungsnetzwerke
geliefert werden, die Dienstpegel einer besten Bemühung aber
ohne Garantie liefern. Eine Lösung,
die diese vielen Herausforderungen überwindet, erfordert eine Innovation
durch das ganze End-zu-End-System
hindurch.
-
Gegenwärtig sind
Multimediaanwendungen, wie beispielsweise Video- und Audiokommunikation über das
Internet oder draht lose Verbindungen, durch die begrenzte Bandbreite
und Verluste (z. B. einen Paketverlust oder Bitfehler) behindert,
die diese fehleranfälligen
Umgebungen befallen. Diese Multimediaanwendungen erfordern eine
hohe Kompression und eine hohe Fehlerelastizität, jedoch ist ein simultanes
Erreichen dieser Eigenschaften schwierig, weil diese hauptsächlich im
Konflikt stehende Anforderungen sind.
-
Zwei
wichtige Charakteristika eines Medienkommunikationssystems sind
Zuverlässigkeit
und Effizienz. Für
das Problem eines strömungsmäßigen Übertragens
von Medien von einer verdrahteten Infrastruktur zu einem drahtlosen
Client wird eine Sequenz von Operationen durchgeführt, bei
der jede ein möglicher
Fehlerpunkt ist. Der herkömmliche
Ansatz, eine Zuverlässigkeit
in einem derartigen System zu erreichen, besteht durch ein Duplizieren
von Ressourcen, z. B. „gespiegelte
Server", oder ein
zweimaliges Übertragen
der gleichen Informationen. Dieser Ansatz kann die Wahrscheinlichkeit
bestimmter Ausfälle
durch ein Bereitstellen von Sicherungen reduzieren, jedoch ist derselbe
ineffizient, da derselbe zweimal so viele Ressourcen erfordert und
immer noch für
andere einzelne Fehlerpunkte empfänglich ist.
-
Das
Folgende ist ein spezifischeres Beispiel eines herkömmlichen
Ansatzes für
ein strömungsmäßiges übertragen
von Medien von einer verdrahteten Infrastruktur zu einem drahtlosen
mobilen Client und der Probleme, die demselben zugeordnet sind.
Ein strömungsmäßiges Übertragen
von Medien von einer verdrahteten Infrastruktur zu einem mobilen
Client betrifft einen Betrieb einer Sequenz von Modulen. Falls alle
dieser Module ordnungsgemäß arbeiten, dann
ist die Kommunikation erfolgreich. Falls jedoch irgendeines der
Module fehlerhaft ist, dann ist die gesamte Kommunikation erfolglos.
Eine typische Kommunikation kann beispielsweise einen Server betreffen,
der einen Medienstrom aus einer Speicherung liest, denselben über ein
verdrahtetes Netzwerk zu einer Drahtlosbasisstation sendet, wobei
die Drahtlosbasisstation dann den Strom über den drahtlosen Kanal zu
dem drahtlosen Client überträgt. Dieses Systems
betrifft die Wechselwirkung von zumindest den folgenden Modulen
(1) Speicherung, (2) Server, (3) verdrahtetes Netzwerk, (4) Drahtlosbasisstation, (5)
drahtlose Übertragung
in drahtlosen Zellen. Falls alle der Module ordnungsgemäß arbeiten,
dann ist die Kommunikation erfolgreich, falls jedoch irgendein Modul
fehlerhaft ist, ist die Kommunikation erfolglos. In einer Bemühung, eine
Zuverlässigkeit
zu verbessern, fügen
Systementwickler typischerweise eine Redundanz hinzu, um einen einzigen
Fehlerpunkt zu entfernen. Beispielsweise können zwei Sätze irgendeiner Hardware anstelle
von einem verwendet werden, z. B. zwei Speichermodule oder zwei
Server, die „gespiegelt" sind, um die gleichen
Informationen zu enthalten. Auf ähnliche
Weise können
die gleichen Informationen in dem verdrahteten Netzwerk zweimal übertragen
werden. Zusätzlich
betrifft die drahtlose Übertragung
unter der Annahme von CDMA und einer weichen Übergabe (softhandoff) typischerweise
zwei oder mehr Übertragungen
der gleichen Informationen. Bei jedem dieser herkömmlichen
Ansätze wird
die verbesserte Zuverlässigkeit
durch ein Duplizieren der Informationen und/oder der Ressourcen erreicht.
-
Während diese
herkömmlichen
Duplizierungsverfahren eine Zuverlässigkeit verbessern, sind dieselben
auch ineffizient, weil dieselben zweimal so viele Ressourcen verwenden.
Zusätzlich
kann dieser herkömmliche
Ansatz unwirksam sein, falls ein einziger Ausfall eventuell beide
Duplikate betrifft. Falls beispielsweise beide Speichermodule (und/oder
beide Server) sich bei der gleichen Position befinden, würde ein
Leistungsausfall oder eine Überflutung
beide derselben nutzlos machen. Wenn die gleichen Informationen
in einem verdrahteten Netzwerk zweimal übertragen werden, bewegen sich
die Informationen typischerweise entlang dem gleichen Weg in dem Netzwerk
voran. Falls dieser gleiche Weg verstopft ist oder einen Ausfall
erfährt,
würden
deshalb dann beide Duplikate der Informationen verloren gehen. Um
zusammenzufassen, besteht in einem Versuch, eine Zuverlässigkeit
zu verbessern, der herkömmliche
Ansatz darin, In formationen und Ressourcen zu duplizieren. Dieser
herkömmliche
Ansatz ist ineffizient wegen der Duplizierung und ist ebenfalls
unwirksam, weil es in vielen Fällen
immer noch einzelne Fehlerpunkte geben kann.
-
Obwohl
Teile der oben aufgelisteten Erörterung
die Mängel
von Ansätzen
des Stands der Technik hinsichtlich des strömungsmäßigen Übertragens von Videodaten für eine vereinfachte
Präsentation spezifisch
erwähnen,
sind derartige Mängel
nicht einzig auf das strömungsmäßige Übertragen
von Videodaten beschränkt.
Anstelle dessen überspannen
die Probleme des Stands der Technik verschiedene Typen von Medien,
einschließlich,
aber nicht begrenzt auf audiobasierte Daten, sprachbasierte Daten,
bildbasierte Daten, Graphikdaten, webseitenbasierte Daten und dergleichen.
Zudem verwendet ein strömungsmäßiges Übertragen
von Medien typischerweise die Eigenschaft, dass die Medienströme mit einer
relativen Zeitbeschränkung
geliefert werden müssen,
gemeinschaftlich und verwendet somit die Idee eines Stroms gemeinschaftlich.
-
Somit
hat sich der Bedarf nach einem Verfahren und einem System zum strömungsmäßigen Übertragen
von Medien zu festen Clients und/oder mobilen Clients ergeben. Es
besteht ein weiterer Bedarf nach einem Verfahren und einem System
zum strömungsmäßigen Übertragen
von Medien zu festen Clients und/oder mobilen Clients, wobei das
Verfahren und System eine erhöhte
Zuverlässigkeit
und Effizienz gegenüber
herkömmlichen
Systemen liefern.
-
Apostolopoulos,
J. G. beschreibt in „RELIABLE
VIDEO COMMUNICATION OVER LOSSY PACKET NETWORKS USING MULTIPLE STATE
ENCODING AND PATH DIVERSITY" Proceedings
of the SPIE, SPIE, Bellingham, VA, USA, Bd. 4310, 24. Januar 2001,
S. 392-409, XP008007254, die Übertragung
von Videodaten über
ein verlustreiches Paketnetzwerk von einer Quelle zu einem Client.
Das Video ist in mehrere unabhängige
decodierbare Ströme
codiert, so dass, falls ein Strom verloren geht, der andere Strom
immer noch decodiert wird, um ein nutzbares Video zu erzeugen, wobei
die jeweiligen Ströme
zu dem Client oder der Anwendung über unterschiedliche Wege durch
das verlustreiche Paketnetzwerk hindurch gesendet werden.
-
Die
WO 01 22735 A1 offenbart
ein Videokommunikationssystem, das mehrere Ströme verwendet, um digitales
Video zu tragen. Die Verwendung mehrerer Ströme stellt sicher, dass Fehler
in einem oder mehreren der mehreren Ströme eine Rekonstruktion von
verbleibenden der mehreren Ströme
nicht verhindern. Dies ermöglicht
eine fehlerfreie Anzeige des digitalen Videos mit einer reduzierten Rahmenrate
während
des Verlusts eines Teilsatzes der Ströme. Zusätzlich liefern die mehreren
Ströme vergangene
und zukünftige
Rahmen, die verwendet werden können,
um verlorene Rahmen wiederzugewinnen und dadurch den verlorenen
Strom wiederzugewinnen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Versehen
eines Clients mit einem Zugriff auf Multimediadaten über ein
Netzwerk mit erhöhter
Zuverlässigkeit
und Effizienz zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
-
Offenbarung der Erfindung
-
Die
vorliegende Erfindung sieht ein Verfahren und ein System zum strömungsmäßigen Übertragen
(Streamen) von Medien zu festen Clients und/oder mobilen Clients
vor. Die vorliegende Erfindung sieht ferner ein Verfahren und ein
System zum strömungsmäßigen Übertragen
von Medien zu festen Clients und/oder mobilen Clients vor, wobei
das Verfahren und das System eine erhöhte Zuverlässigkeit und Effizienz gegenüber herkömmlichen
Systemen liefern.
-
Bei
einem Verfahrensausführungsbeispiel nennt
die vorliegende Erfindung genau gesagt ein Codieren von Mediendaten,
die strömungsmäßig zu einem
Client übertragen
werden sollen, in einen ersten Mehrfachbeschreibungsbitstrom und
in einen zweiten Mehrfachbeschreibungsbitstrom. Das vorliegende
Ausführungsbeispiel
nennt dann ein Verteilen des ersten und des zweiten Mehrfachbeschreibungsbitstroms
an eine Mehrzahl von Servern, die bei Zwischenknoten über ein
Netzwerk hinweg platziert sind, derart, dass ein Client mit einem
Zugriff auf die Mediendaten über
eine Mehrzahl von Übertragungswegen
versehen wird.
-
Diese
und andere technische Vorteile der vorliegenden Erfindung werden
ohne Zweifel Durchschnittsfachleuten auf dem Gebiet nach einem Lesen der
folgenden detaillierten Beschreibung der bevorzugten Ausführungsbeispiele
ersichtlich, die in den verschiedenen Zeichnungsfiguren dargestellt
sind.
-
Kurze Beschreibung der Zeichnungen
-
Die
zugehörigen
Zeichnungen, die in diese Beschreibung aufgenommen sind und einen
Teil derselben bilden, stellen Ausführungsbeispiele der Erfindung
dar und dienen zusammen mit der Beschreibung dazu, die Prinzipien
der Erfindung zu erläutern:
-
1 ist
ein schematisches Diagramm eines exemplarischen Computersystems,
das verwendet wird, um Schritte des vorliegenden Verfahrens gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden beanspruchten Erfindung durchzuführen.
-
2 ist
ein schematisches Diagramm, das eine Mehrfachbeschreibungscodierung
von Mediendaten darstellt, wie dasselbe gemäß verschiedenen Ausfüh rungsbeispielen
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
3A ist
ein schematisches Diagramm, das ein Mobil-Client-System darstellt, das gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
3B ist
ein schematisches Diagramm, das ein Fest-Client-System darstellt, das gemäß verschiedenen
Ausführungsbeispielen
der vorliegenden beanspruchten Erfindung eingesetzt wird.
-
4 ist
ein Flussdiagramm von Schritten, die gemäß einem Ausführungsbeispiel
der vorliegenden beanspruchten Erfindung durchgeführt werden.
-
Die
Zeichnungen, auf die in dieser Beschreibung Bezug genommen wird,
sind nicht als maßstabsgetreu
zu verstehen, außer
wenn es spezifisch angegeben ist.
-
Beste Modi zum Ausführen der
Erfindung
-
Nun
wird detailliert auf die bevorzugten Ausführungsbeispiele der Erfindung
Bezug genommen, von denen Beispiele in den zugehörigen Zeichnungen dargestellt
sind. Während
die Erfindung in Verbindung mit den bevorzugten Ausführungsbeispielen beschrieben
wird, ist klar, dass dieselben die Erfindung nicht auf diese Ausführungsbeispiele
begrenzen sollen. Ferner sind in der folgenden detaillierten Beschreibung
der vorliegenden Erfindung zahlreiche spezifische Einzelheiten dargelegt,
um ein gründliches
Verständnis
der vorliegenden Erfindung zu liefern. Einem Durchschnittsfachmann
auf dem Gebiet ist jedoch offensichtlich, dass die vorliegende Erfindung
ohne diese spezifischen Einzelheiten praktiziert werden kann. In
anderen Fällen
wurden gut bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht
detailliert beschrieben, um Aspekte der vorliegenden Erfindung nicht
unnötig
zu verschleiern.
-
Man
sollte jedoch im Gedächtnis
behalten, dass alle dieser Begriffe und ähnliche den geeigneten physikalischen
Größen zugeordnet
sein sollen und lediglich zweckmäßige Etiketten
sind, die auf diese Größen angewandt
sind. Wenn es nicht spezifisch anderweitig angegeben ist, wie es
aus den folgenden Erörterungen
ersichtlich ist, ist klar, dass überall
in der vorliegenden Erfindung Erörterungen,
die Begriffe wie „Codieren", „Übertragen", „Speichern", „Verteilen" oder dergleichen
verwenden, sich auf die Handlungen und Prozesse eines Computersystems
oder einer ähnlichen
elektronischen Rechenvorrichtung beziehen. Das Computersystem oder
die ähnliche elektronische
Rechenvorrichtung manipuliert und transformiert Daten, die als physikalische
(elektronische) Größen innerhalb
der Register und Speicher des Computersystems dargestellt sind,
in andere Daten, die auf ähnliche
Weise als physikalische Größen innerhalb
der Computersystemspeicher oder -register oder anderer derartiger
Informationsspeicher-, Übertragungs-
oder Anzeigevorrichtungen dargestellt sind. Die folgende Erfindung
ist ferner gut für
die Verwendung anderer Computersysteme geeignet, wie beispielsweise
optischer und mechanischer Computer.
-
COMPUTERSYSTEMUMGEBUNG DER
VORLIEGENDEN ERFINDUNG
-
Unter
jetziger Bezugnahme auf 1 sind Teile des vorliegenden
Verfahrens und Systems aus computerlesbaren und computerausführbaren
Anweisungen gebildet, die beispielsweise in computernutzbaren Medien
eines Computersystems resident sind. 1 stellt
ein exemplarisches Computersystem 100 dar, das gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung verwendet wird. Es ist klar, dass das System 100 von 1 lediglich
exemplarisch ist und dass die vorliegende Erfindung an oder innerhalb
einer Anzahl unterschiedlicher Computersysteme wirksam sein kann,
einschließlich vernetzter
Universalcomputersysteme, eingebetteter Computersysteme, Routern,
Schaltern (Switches), Servervorrichtungen, Clientvorrichtungen,
verschiedenen Zwischenvorrichtungen/-knoten, alleinstehenden Computersystemen
und dergleichen. Zusätzlich ist
das Computersystem 100 von 1 gut angepasst
und mit demselben sind computerlesbare Medien gekoppelt, wie beispielsweise
eine Diskette, eine CD (Compact Disc) und dergleichen. Ein derartiges
computerlesbares Medium ist in 1 zu Klarheitszwecken
nicht mit dem Computersystem 100 gekoppelt gezeigt. Zusätzlich sind
Teile des vorliegenden Ausführungsbeispiels
gut für
ein Wirksamsein in Verbindung mit verschiedenen mobilen Clients
geeignet, wie beispielsweise einem Mobiltelefon, einem Personaldigitalassistenten
(PDA = Personal Digital Assistant), einem Laptop-Computer, einer Rufanlage
(Pager) und dergleichen.
-
Das
System 100 von 1 umfasst einen Adress-/Datenbus 102 zum
Kommunizieren von Informationen und eine zentrale Prozessoreinheit 104, die
mit dem Bus 102 gekoppelt ist, zum Verarbeiten von Informationen
und Anweisungen. Die zentrale Prozessoreinheit 104 kann
ein Mikroprozessor der 80 × 86-Familie
sein. Das System 100 umfasst ferner Datenspeichermerkmale,
wie beispielsweise einen computerverwendbaren flüchtigen Speicher 106,
z. B. einen Direktzugriffsspeicher (RAM = Random Access Memory),
der mit dem Bus 102 gekoppelt ist, zum Speichern von Informationen
und Anweisungen für
die zentrale Prozessoreinheit 104, einen computerverwendbaren
nichtflüchtigen
Speicher 108, z. B. einen Nur-Lese-Speicher (ROM = Read
Only Memory), der mit dem Bus 102 gekoppelt ist, zum Speichern
statischer Informationen und Anweisungen für die zentrale Prozessoreinheit 104,
und eine Datenspeichereinheit 110 (z. B. eine magnetische
oder optische Platte und ein Plattenlaufwerk), die mit dem Bus 102 gekoppelt
ist, zum Speichern von Informationen und Anweisungen. Das System 100 der
vorliegenden Erfindung umfasst ferner ein optionales alphanumerisches
Eingabegerät 112,
das alphanumerische und Funktionstasten umfasst, und das mit dem Bus 102 gekoppelt
ist, zum Kommunizieren von Informationen und Befehlsauswahlen zu
der zentralen Prozessoreinheit 104. Das System 100 umfasst
ferner optional eine optionale Cursorsteuervorrichtung 114,
die mit dem Bus 102 gekoppelt ist, zum Kommunizieren von
Benutzereingabeinformationen und Befehlsauswahlen zu der zentralen
Prozessoreinheit 104. Das System 100 des vorliegenden
Ausführungsbeispiels
umfasst ferner eine optionale Anzeigevorrichtung 116, die
mit dem Bus 102 gekoppelt ist, zum Anzeigen von Informationen.
-
Unter
weiterer Bezugnahme auf 1 kann die optionale Anzeigevorrichtung 116 von 1 eine Flüssigkristallvorrichtung,
eine Kathodenstrahlröhre oder
eine andere Anzeigevorrichtung sein, die zum Erzeugen graphischer
Bilder und alphanumerischer Schriftzeichen geeignet ist, die für einen
Benutzer erkennbar sind. Die optionale Cursorsteuervorrichtung 114 ermöglicht,
dass der Computerbenutzer dynamisch die zweidimensionale Bewegung
eines sichtbaren Symbols (Cursor) auf einem Anzeigebildschirm einer
Anzeigevorrichtung 116 signalisieren kann. Viele Implementierungen
einer Cursorsteuervorrichtung 114 sind auf dem Gebiet bekannt,
einschließlich
eines Trackballs, einer Maus, eines Berührungsfelds, eines Joysticks
oder Spezialtasten an dem alphanumerischen Eingabegerät 112,
die zum Signalisieren einer Bewegung einer gegebenen Richtung oder
Verschiebungsart in der Lage sind. Alternativ ist zu erkennen, dass
ein Cursor über
eine Eingabe von dem alphanumerischen Eingabegerät 112 unter Verwendung
von Spezialtasten und Tastensequenzbefehlen gelenkt und/oder aktiviert
werden kann. Die vorliegende Erfindung ist auch gut für ein Lenken
eines Cursors durch eine andere Einrichtung geeignet, wie beispielsweise
Sprachbefehle. Eine detailliertere Erörterung der vorliegenden Erfindung
findet sich unten.
-
ALLGEMEINES VERFAHREN UND SYSTEM ZUM ZUVERLÄSSIGEN UND
EFFIZIENTEN STRÖMUNGSMÄSSIGEN ÜBERTRAGEN
VON MEDIEN ZU FESTEN UND/ODER MOBILEN CLIENTS
-
Als Übersicht
sieht die vorliegende Erfindung ein Verfahren und ein System zum
strömungsmäßigen Übertragen
(Streamen) von Medien zu festen und/oder mobilen Clients vor, wobei
das Verfahren und das System eine verbesserte Effizienz durch ein Verwenden
komplementärer
Informationen erreichen (gegenüber
doppelten Informationen, die bei herkömmlichen Ansätzen eingesetzt
werden). Die vorliegende Erfindung sieht ferner ein Verfahren und
ein System zum strömungsmäßigen Übertragen
von Medien zu festen und/oder mobilen Clients vor, wobei das Verfahren
und das System eine Zuverlässigkeit durch
ein Verwenden verschiedener Formen einer Diversität (Diversity)
verbessern, um einzelne Fehlerpunkte zu verhindern.
-
Zu
Zwecken von Klarheit und Kürze
beschäftigen
sich die folgende Erörterung
und Beispiele spezifisch mit Videodaten. Die vorliegende Erfindung
ist jedoch nicht einzig auf eine Verwendung mit Videodaten begrenzt.
Anstelle dessen ist die vorliegende Erfindung gut für eine Verwendung
mit audiobasierten Daten, sprachbasierten Daten, bildbasierten Daten,
webseitenbasierten Daten, Graphikdaten und dergleichen geeignet.
Natürlich
sind ein Puffern und ein Herunterladen erlaubt und es können verschiedene
Grade eines Pufferns bei diesem System aufgenommen sein; somit unterstützt dieses
System sowohl Live- als auch gepufferte Medienströme. Ferner ist
zu beachten, dass alle diese Medientypen mit den Eigenschaften von
Mehrfachbeschreibungsbitströmen
codiert sein können,
die hierin beschrieben sind.
-
Ein
Ansatz zum zuverlässigen
Liefern von Streaming-Media ist in der
WO 01/22735 A1 mit dem Titel „Video
Communication Using Multiple Streams" offenbart. Ein anderer Ansatz zum zuverlässigen Liefern
von Streaming-Media ist in der ebenfalls anhängigen
US-Patentanmeldung 2002/0114332
A1 der gleichen Anmelderin mit dem Titel „Method
and System for Packet Communication Employing Path Diversity", eingereicht am
19. Januar 2001, an J. G. Apostolopoulos et al. offenbart. Noch
ein anderer Ansatz zum zuverlässigen
Liefern von Streaming-Media ist in der ebenfalls anhängigen
US-Patentanmeldung 2002/0116715 A1 mit
dem Titel „Video
Communication System Employing Multiple State Encoding and Path
Diversity" der gleichen
Anmelderin, eingereicht am 19. Januar 2001, an J. G. Apostolopoulos
offenbart. Diese Patentanmeldungen beziehen sich auf ein System
für eine
zuverlässige
Videokommunikation über
verlustreiche Paketnetzwerke, während
eine hohe Komprimierungseffizienz bewahrt wird. Teile der bekannten
Arbeit waren aus zwei Systemen gebildet: (1) einem Mehrfachbeschreibungsvideocodiersystem
und (2) einem Wegdiversitätsübertragungssystem.
-
Unter
jetziger Bezugnahme auf 2 ist ein schematisches Diagramm
gezeigt, das eine Mehrfachbeschreibungscodierung von Mediendaten
darstellt, wie dieselbe in Verbindung mit verschiedenen Ausführungsbeispielen
der vorliegenden Erfindung eingesetzt wird. Eine Mehrfachbeschreibungscodierung
(MDC = Multiple Description Coding) bezieht sich auf eine Form einer
Komprimierung, bei der das Ziel darin besteht, ein eingehendes Signal
in eine Anzahl getrennter Bitströme
zu codieren, wobei die mehreren Bitströme häufig als mehrfache Beschreibungen
bezeichnet werden. Diese getrennten Bitströme weisen die Eigenschaft auf,
dass dieselben alle unabhängig
voneinander decodierbar sind. Falls genau gesagt ein Decoder irgendeinen
einzigen Bitstrom empfängt,
kann derselbe diesen Bitstrom decodieren, um ein nützliches
Signal zu erzeugen (ohne einen Zugriff auf irgendeinen der anderen
Bitströme
zu benötigen).
Die MDC weist die zusätzliche
Eigenschaft auf, dass die Qualität
des decodierten Signals sich verbessert, wenn mehr Bitströme genau empfangen
werden. Es sei beispielsweise angenommen, dass ein Video mit MDC
in insgesamt N Ströme codiert
ist. Solange ein Decoder irgendeinen dieser N Ströme empfängt, kann
derselbe eine nützliche
Version des Videos decodieren. Falls der De coder zwei Ströme empfängt, kann
derselbe eine verbesserte Version des Videos vergleichen mit dem
Fall nur eines Empfangens eines der Ströme decodieren. Diese Qualitätsverbesserung
hält an,
bis der Empfänger alle
N der Ströme
empfängt,
in welchem Fall derselbe die maximale Qualität rekonstruieren kann. Wie
es in 2 gezeigt ist, codiert ein Mehrfachbeschreibungscodierer 202 ein
ursprüngliches
Signal in zwei Ströme,
die als Strom 1 (stream 1) und Strom 2 (stream 2) bezeichnet werden.
Bei dem Beispiel von 2 gibt es drei Decoder 204, 206 und 208.
Alle Decoder 204, 206 und 208 empfangen
unterschiedliche Bitströme.
Der Decoder 1 204 empfängt
lediglich den Strom 1 und decodiert diesen Strom, um ein nützliches
Video zu erzeugen. Der Decoder 2 206 empfängt lediglich
den Strom 2 und decodiert diesen Strom, um ein nützliches Video zu erzeugen.
Der Decoder 3 208 empfängt
sowohl den Strom 1 als auch den Strom 2 und decodiert beide Ströme, um ein
Video höherer
Qualität
zu erzeugen als entweder der Decoder 1 204 oder der Decoder
2 206.
-
Es
gibt einen entscheidenden Unterschied zwischen dem vorliegenden
mehrfachbeschreibungsbasierten Ansatz für eine Streaming-Media-Lieferung
und bekannten Ansätzen,
wie beispielsweise skalierbaren oder geschichteten Codieransätzen für eine Streaming-Media-Lieferung.
Bei einem skalierbaren oder geschichteten Codieren wird nämlich das
Video ebenfalls in mehrere Bitströme codiert, jedoch ist ein
Bitstrom, der als der Basisschicht-Bitstrom bezeichnet wird, von
entscheidender Bedeutung und muss korrekt empfangen werden, um einen
nutzbaren decodierten Medienstrom zu erzeugen. Bei den herkömmlichen
skalierbaren oder geschichteten Ansätzen für eine Streaming-Media-Lieferung
sind genau gesagt, selbst falls alle Bitströme außer dem Basisschicht-Bitstrom korrekt empfangen
werden, dieselben im Wesentlichen nutzlos, außer der Basisschicht-Bitstrom
wird korrekt empfangen, wobei ein einziger Fehlerpunkt erzeugt ist.
Die vorliegende mehrfachbeschreibungsbasierte Streaming-Media-Lieferung weist dieses
Problem nicht auf, da, solange ir gendein Mehrfachbeschreibungsbitstrom
empfangen wird, derselbe decodiert werden kann, um ein Video von
nutzbarer Qualität
zu erzeugen, und wenn mehrere Mehrfachbeschreibungsbitströme empfangen
werden, erhöht
sich die Qualität
des decodierten Videos.
-
Es
gibt eine Anzahl unterschiedlicher Ansätze, um eine MDC-Codierung von Video
zu erreichen. Ein Ansatz besteht darin, unterschiedliche Rahmen unabhängig zu
unterschiedlichen Strömen
zu codieren. Zum Beispiel kann jeder Rahmen einer Videosequenz als
ein einziger Rahmen (unabhängig
von den anderen Rahmen) unter Verwendung lediglich einer Intrarahmencodierung,
z. B. JPEG, JPEG-2000, oder irgendeinem der Videocodierstandards
(z. B. MPEG-1/2/4, H.261/3) unter Verwendung lediglich einer I-Rahmencodierung
codiert werden. Dann können
unterschiedliche Rahmen in den unterschiedlichen Strömen gesendet
werden. Zum Beispiel können
alle geradzahligen Rahmen in dem Strom 1 gesendet werden und können alle
ungeradzahligen Rahmen in dem Strom 2 gesendet werden. Weil jeder der
Rahmen unabhängig
von anderen Rahmen codierbar ist, ist jeder der Bitströme ebenfalls
unabhängig
von dem anderen Bitstrom decodierbar. Diese einfache Form einer
MDC-Videocodierung weist die oben beschriebenen Eigenschaften auf,
aber ist hinsichtlich einer Komprimierung auf Grund des Fehlens einer
Interrahmencodierung nicht sehr effizient.
-
Ein
bevorzugtes Ausführungsbeispiel
einer MDC-Videocodierung, das die obigen Eigenschaften liefert und
eine hohe Komprimierung erreicht, ist in dem vorigen Patent gegeben.
Dieses MDC-Videocodiersystem erfordert keinen Rückkanal und kann deshalb bei
einer breiten Vielfalt von Anwendungen angewandt werden (z. B. Rundsendung
oder Sammelsendung). Zusätzlich
weist dasselbe die attraktive Eigenschaft auf, dass dasselbe als
eine standardkompatible Verbesserung innerhalb MPEG-4 Version 2
(mit NEWPRED) und H.263 Version 2 (mit RPS) angewandt werden kann.
Deshalb kann irgendein Decoder für
MPEG-4 Version 2 den resultie renden Bitstrom decodieren, während ein
verbesserter Decoder, der entworfen ist, um eine Zustandserholung durchzuführen, wie
es in dem bekannten Patent präsentiert
ist, eine verbesserte Fehlererholung liefern kann. Dieses bevorzugte
Ausführungsbeispiel
einer MDC-Videocodierung wird die folgende Erörterung hindurch angenommen.
Jedoch kann auch ein unterschiedlicher Videokomprimierungsalgorithmus,
der die gleichen MDC-Eigenschaften aufweist, die oben beschrieben
sind, anstelle desselben verwendet werden.
-
Es
folgt eine Erörterung
einer Wegdiversität (Weg-Diversity), wie dieselbe
in Verbindung mit verschiedenen Ausführungsbeispielen der vorliegenden Erfindung
eingesetzt wird. Man betrachte den Fall einer Multimediakommunikation über ein
Paketnetzwerk wie beispielsweise das Internet. Eine Kommunikation über das
Internet ist häufig
durch eine Verstopfung und einen Paketverlust behindert. Eine wichtige Beobachtung
besteht darin, dass, während
ein Knoten oder Weg in dem Netzwerk eventuell verstopft ist, andere
Knoten oder Wege eventuell eine reichliche Bandbreite aufweisen.
Es wäre
vorteilhaft, die momentane Qualität jedes Wegs zu kennen und
diese Informationen zu verwenden, um Pakete entlang dem „besten" Weg zu senden (wie
ein Anhören
eines Verkehrsberichts vor einem Aufbruch zur Arbeit). Dies ist
jedoch aus einer Anzahl von Gründen
sehr schwierig, einschließlich
der Tatsache, dass die verstopften Bereiche ziemlich schnell variieren
können.
-
Während es
eventuell nicht möglich
ist, zu wissen, welche Wege zu irgendeinem Zeitpunkt am besten zu
verwenden sind, kann man durch einen geeigneten Systementwurf immer
noch erhebliche Leistungsfähigkeitsverbesserungen
erreichen. Verschiedene Ausführungsbeispiele
der vorliegenden Erfindung setzen ein Wegdiversitätssystem
ein, das explizit unterschiedliche Teilsätze von Paketen für eine Anwendung über unterschiedliche
Wege sendet, im Gegensatz zu dem vorgegebenen Szenario, bei dem der
Paketstrom sich entlang einem einzigen Weg vorbewegt. Durch ein
Verwenden mehrerer Wege zur gleichen Zeit tritt eine gewisse Größe einer
Mittelung auf und die End-zu-End-Anwendung erfährt im Wesentlichen ein „durchschnittliches" Wegeverhalten. Das
Erfahren dieses durchschnittlichen Wegeverhaltens liefert im Allgemeinen
eine bessere Leistungsfähigkeit
als ein Erfahren des Verhaltens irgendeines zufällig gewählten einzelnen Wegs. Beispielsweise ist
die Wahrscheinlichkeit, dass alle der mehreren Ströme, die
an unterschiedlichen Wegen übertragen werden,
simultan verstopft sind und Verluste aufweisen, viel geringer als
die Wahrscheinlichkeit, dass ein einziger Weg verstopft ist. Die
Vorzüge
einer Wegdiversität
umfassen (1) die Anwendung erfährt
einen praktisch durchschnittlichen Weg, der eine kleinere Veränderlichkeit
einer Kommunikationsqualität
zeigt, als dieselbe über
einen einzelnen Weg existiert, (2) Burstpaketverluste werden zu
isolierten Paketverlusten umgewandelt und (3) die Wahrscheinlichkeit
eines Ausfalls (wobei alle Pakete in dem Paketstrom für die Dauer
des Ausfalls verloren sind) ist stark reduziert. Diese Vorteile
liefern einige wichtige Vorzüge für eine Multimediakommunikationsleistungsfähigkeit unter
einem Paketverlust. Wie es unten detailliert erörtert wird, leiten (routen)
die verschiedenen Ausführungsbeispiele
der vorliegenden Erfindung einen MDC-Verkehr durch semiintelligente
Knoten an strategischen Positionen in dem Internet, wodurch ein Dienst
von verbesserter Zuverlässigkeit
geliefert wird, während
die Infrastruktur des Internets vorteilhaft genutzt wird.
-
Eine
Wegdiversität
kann auch bei drahtlosen Netzwerken existieren. Verschiedene Ausführungsbeispiele
der vorliegenden Erfindung setzen ein System mit weicher Übergabe
ein, bei dem ein mobiler Client simultan mit mehreren Basisstationen
kommunizieren kann. In derartigen Fällen sind die Vorzüge einer
Wegdiversität,
die oben erwähnt
sind, auch in einer drahtlosen Umgebung realisiert.
-
Zusätzlich sind
die MD-Videocodierung und die Wegdiversität, die in Verbindung mit den
verschiedenen Ausführungs beispielen
der vorliegenden Erfindung eingesetzt werden, nützlich, selbst falls dieselben
getrennt verwendet werden. Zum Beispiel kann eine MD-Videocodierung
eine verbesserte Zuverlässigkeit
liefern, selbst wenn dieselbe über
einen einzigen Weg gesendet wird. Auf ähnliche Weise liefert eine
Wegdiversität
einen virtuellen Kanal mit verbesserten Charakteristika, was einen
einfacheren Systementwurf ermöglicht.
Wenn jedoch dieselben zusammen verwendet werden, sind eine MD-Videocodierung
und eine Wegdiversität
komplementär
und verbessern auch bis zu einem gewissen Ausmaß die Fähigkeiten derselben. Eine MD-Videocodierung stellt
mehrere unabhängig
decodierbare Bitströme bereit,
die das Übertragungssystem
explizit über
unterschiedliche Wege sendet, und das Übertragungssystem versieht
den Videodecoder mit einer hohen Wahrscheinlichkeit, dass zumindest
einer der Ströme zu
irgendeinem Zeitpunkt korrekt empfangen wird. Bei einem bevorzugten
Ausführungsbeispiel
einer MD-Videocodierung ermöglicht
dies, dass der Videodecoder eine Zustandserholung durchführen kann, um
einen verfälschten
Strom wiederzugewinnen.
-
Als
Nächstes
unter Bezugnahme auf 3A und das Flussdiagramm 400 von 4 werden
exemplarische Schritte dargestellt, die durch die verschiedenen
Ausführungsbeispiele
der vorliegenden Erfindung verwendet werden. Das Flussdiagramm 400 umfasst
Prozesse der vorliegenden Erfindung, die bei einem Ausführungsbeispiel
durch einen Prozessor unter der Steuerung computerlesbarer und computerausführbarer
Anweisungen ausgeführt
werden. Die computerlesbaren und computerausführbaren Anweisungen sind beispielsweise
in Datenspeichermerkmalen resident, wie beispielsweise einem computerverwendbaren
flüchtigen
Speicher 106, einem computerverwendbaren nichtflüchtigen
Speicher 108 und/oder der Datenspeichervorrichtung 110 von 1.
Die computerlesbaren und computerausführbaren Anweisungen werden
verwendet, um beispielsweise die zentrale Verarbeitungseinheit 104 von 1 zu
steuern oder in Verbindung mit derselben wirksam zu sein.
-
Unter
erneuter Bezugnahme auf 3A ist ein
System 300, das Streaming-Media zu mobilen Clients über verdrahtete/drahtlose
Hybrid-Netzwerke liefert, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Bei einem Ausführungsbeispiel
besteht das System 300 aus einem oder mehreren Servern
(304a–304e),
einer oder mehreren Drahtlosbasisstationen (306a und 306b)
und einem oder mehreren mobilen Clients (z. B. einem Mobiltelefon 302 und/oder
Personaldigitalassistenten (PDAs) 308a und 308b),
wie es in 3A gezeigt ist. Das System der
vorliegenden Erfindung kann eine größere oder kleinere Anzahl von
Komponenten umfassen, als bei dem Ausführungsbeispiel von 3A spezifisch
dargestellt. Als ein Beispiel, obwohl nicht immer erforderlich,
bildet auch ein Inhaltsserver 310 einen Abschnitt des Systems
des Ausführungsbeispiels
von 3A. In der folgenden Erörterung soll bedeutsamerweise
der Begriff „Server" bei verschiedenen
Ausführungsbeispielen
eine Vorrichtung einschließen,
die funktionsmäßig einem
Computer ähnelt
(z. B. eine Rechenfähigkeit,
einen Speicher und/oder eine Konnektivitätsfähigkeit aufweist). Ein typischer
Server gemäß der Definition,
die bei der vorliegenden Erfindung verwendet wird, kann irgendeinen
Computer (z. B. einen Großcomputer,
einen Firmenserver, einen Personal-Computer (PC), einen Laptop,
einen Personaldigitalassistenten (PDA) und dergleichen) umfassen,
aber ist nicht darauf begrenzt. Bei verschiedenen anderen Ausführungsbeispielen
der vorliegenden Erfindung soll der Begriff „Server" eine Vorrichtung einschließen, die
typischerweise nicht als ein Computer betrachtet wird, aber ähnliche
Fähigkeiten
aufweist. Bei einem derartigen Ausführungsbeispiel ist der Server
beispielsweise aus einem hochentwickelten Mobiltelefon gebildet.
-
Bedeutsamerweise
ist zu beachten, dass die Verfahren verschiedener Ausführungsbeispiele
der vorliegenden Erfindung bei festen verdrahteten Clients und/oder
mobilen drahtlosen Clients anwendbar sind. Insbesondere ist der
Fall eines mobilen Clients eine allgemeinere und überaus festgelegte Version des
Falls des festen Clients. Bei dem Fall des mobilen Clients beispielsweise
werden die MD-Bitströme durch
einen Server oder durch Server durch eine oder mehrere Basisstationen
hindurch zu einem mobilen Client geliefert. Im Gegensatz dazu ließe der entsprechende
Fall eines festen (verdrahteten) Clients den Server oder die Server
anstelle dessen die MD-Bitströme
direkt zu dem festen Client liefern, ohne den Bedarf nach einer
Basisstation. Bei der folgenden Erörterung ist deshalb spezifisch
der allgemeinere und überaus
festgelegte Fall eines mobilen Clients erörtert. Zu Zwecken von Kürze und
Klarheit werden hierin redundante Beispiele von Fällen eines festen
Clients nicht präsentiert.
Einem Durchschnittsfachmann auf dem Gebiet ist jedoch ersichtlich,
dass bei einem Beispiel, bei dem MD-Bitströme durch einen Server oder
durch Server durch eine oder mehrere Basisstationen zu einem mobilen
Client geliefert werden, der Server oder die Server bei dem Fall
eines festen Clients anstelle dessen die MD-Bitströme ohne
den Bedarf nach einer Basisstation zu dem festen Client liefern
würden.
Unter jetziger Bezugnahme auf 3B ist
ein System 350, das Streaming-Media zu festen Clients über ein
Netzwerk (z. B. das Internet) liefert, gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Bei einem Ausführungsbeispiel
besteht das System 350 aus einem oder mehreren festen Clients
(z. B. Personal-Computern 352 und 356), einem
oder mehreren Servern (304a–304e), einem Inhaltsserver 310.
Bei dem vorliegenden Ausführungsbeispiel
ist der feste Client 352 über eine verdrahtete Verbindung 354 mit
einem Netzwerk 351 gekoppelt. Auf ähnliche Weise ist der feste
Client 356 über
eine verdrahtete Verbindung 358 mit dem Netzwerk 351 gekoppelt.
Das System der vorliegenden Erfindung kann eine größere oder kleinere
Anzahl von Komponenten umfassen, als es spezifisch in dem Ausführungsbeispiel
von 3B dargestellt ist. Als ein Beispiel, obwohl nicht
immer erforderlich, bildet auch der Inhaltsserver 310 einen Teil
des Systems des Ausführungsbeispiels
von 3B. Wie es oben erwähnt ist, soll in der folgenden
Erörterung
der Begriff „Server" bei verschiedenen
Ausfüh rungsbeispielen
eine Vorrichtung einschließen,
die funktionsmäßig einem
Computer ähnelt
(z. B. eine Rechenfähigkeit,
einen Speicher und/oder eine Konnektivitätsfähigkeit aufweist). Ein typischer
Server gemäß der Definition,
die bei der vorliegenden Erfindung verwendet wird, kann irgendeinen
Computer (z. B. einen Großcomputer,
einen Firmenserver, einen Personal-Computer (PC), einen Laptop,
einen Personaldigitalassistenten (PDA) und dergleichen) umfassen,
aber ist nicht darauf begrenzt. Bei verschiedenen anderen Ausführungsbeispielen
der vorliegenden Erfindung soll der Begriff „Server" eine Vorrichtung einschließen, die
typischerweise nicht als ein Computer betrachtet wird, aber ähnliche
Fähigkeiten
aufweist. Bei einem derartigen Ausführungsbeispiel ist der Server
beispielsweise aus einem hochentwickelten Mobiltelefon gebildet.
-
Ferner
ist zu beachten, dass die vorliegende Erfindung für eine Verwendung
bei irgendeinem von einer Vielfalt verdrahteter und/oder drahtloser
Netzwerke und auch bei den verschiedenen Kombinationen derselben
gut geeignet ist. Zum Beispiel sind Ausführungsbeispiele der vorliegenden
Erfindung gut für
eine Verwendung geeignet bei: verdrahteten und verdrahteten Netzwerken
(z. B. eine verdrahtete Netzwerkinfrastruktur, die auch eine verdrahtete
Verbindung mit dem Client aufweist); verdrahteten und drahtlosen
Netzwerken (z. B. eine verdrahtete Netzwerkinfrastruktur, die eine
drahtlose Verbindung zu dem Client aufweist); drahtlosen und verdrahteten Netzwerken
(z. B. eine drahtlose Netzwerkinfrastruktur, die eine verdrahtete
Verbindung zu dem Client aufweist); und drahtlosen und drahtlosen
Netzwerken (z. B. eine drahtlose Netzwerkinfrastruktur, die auch
eine drahtlose Verbindung zu dem Client aufweist). Genauer gesagt
sind die Verfahren der vorliegenden Erfindung auch anwendbar, falls
alle der Verbindungen drahtlos sind, wie bei dem Fall eines drahtlosen
Ad-hoc-Netzwerks, bei dem einige der Knoten als Server wirken und
andere als Clients. Es ist zu beachten, dass ein Knoten zu der gleichen
Zeit sowohl als ein Server (Informationsquelle) als auch ein Client (Informationssenke)
wirken kann. Ein interessantes Beispiel dieses letzteren Falls besteht, wenn
jeder Knoten ein Laptop oder PDA mit einer drahtlosen Verbindung
ist. Es ist ferner zu beachten, dass jedes Mobiltelefon in einer
Drahtlos/Verdrahtet/Drahtlos-Situation sowohl als ein Sender als
auch ein Empfänger
von MD-Strömen
wirken kann.
-
Unter
jetziger Bezugnahme auf 3A und 3B werden
bei folgenden Erörterungen,
bei denen beispielsweise MD-Bitströme durch
einen Server oder durch Server durch eine oder mehrere Basisstationen
hindurch (wie es in 3A gezeigt ist) zu einem mobilen
Client geliefert werden, ließe
der Server oder die Server anstelle dessen die MD-Bitströme ohne
den Bedarf nach einer Basisstation zu dem festen Client liefern.
Somit ist zu sehen, dass die unten angegebenen mobilclientbasierten
Beispiele und Erörterungen
die vorliegende Erfindung nicht auf eine Anwendbarkeit lediglich
bei Mobilclientsystemen begrenzen sollen. Das heißt, die
folgenden mobilclientbasierten Beispiele und Erörterungen sollen die vorliegende
Erfindung nicht auf eine Anwendbarkeit bei lediglich Mobilclientsystemen
begrenzen.
-
Unter
jetziger Bezugnahme auf das Flussdiagramm 400 von 4 sind
Schritte gezeigt, die gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung durchgeführt werden. Obwohl in dem Flussdiagramm 400 von 4 spezifische
Schritte offenbart sind, sind derartige Schritte exemplarisch. Das
heißt,
die vorliegende Erfindung ist gut zum Durchführen verschiedener anderer
Schritte oder Variationen der Schritte geeignet, die in 4 dargelegt sind.
Bei einem Schritt 402 codiert das vorliegende Ausführungsbeispiel
Daten, die strömungsmäßig zu einem
mobilen Client übertragen
werden sollen, in zwei oder mehr MD-Ströme. Bei einem Ausführungsbeispiel
sind die Daten, die strömungsmäßig übertragen
werden sollen, aus einer Videosequenz gebildet. Wie es oben erwähnt ist,
weisen MD-Ströme
die Eigenschaft auf, dass irgendein Teilsatz derselben zu einem
Medienstrom decodiert werden kann, dessen Qualität von der Anzahl decodierter
Ströme
abhängt. Bei
dem vorliegenden Ausführungsbeispiel
kann diese Codierung in Echtzeit vorgenommen werden oder dieselbe
kann vorab vorgenommen werden, in welchem Fall die vorberechneten
MD-Ströme
auf einem Inhaltsserver (z. B. dem Inhaltsserver 310 von 3) gespeichert sind.
-
Immer
noch unter Bezugnahme auf den Schritt 402 verwendet bei
dem vorliegenden Ausführungsbeispiel
die vorliegende Erfindung speziell entworfene Mehrfachbeschreibungsmedienströme, die komplementäre Informationen
enthalten (im Gegensatz zu einem Duplizieren der Informationen).
Genau gesagt wird der ursprüngliche
Medienstrom unter Verwendung eines Mehrfachbeschreibungsalgorithmus
in eine Anzahl getrennter Beschreibungen oder Bitströme codiert.
Diese Beschreibungen weisen die Eigenschaft auf, dass (1) jeder
Bitstrom unabhängig für den Client
nützlich
ist und (2) jeder Bitstrom komplementäre Informationen enthält. Man
betrachte beispielsweise den Fall einer Mehrfachbeschreibungscodierung
mit zwei Beschreibungen. Solange der Empfänger einen der Bitströme empfängt, kann
derselbe einen verwendbaren Medienstrom decodieren. Falls der Empfänger beide
Bitströme
empfängt,
kann derselbe einen Medienstrom höherer Qualität decodieren,
als wenn derselbe einen Bitstrom allein empfangen hätte. Zusätzlich liefern
die MD-Ströme
diese Eigenschaften, während
dieselben lediglich eine etwas höhere
gesamte Bitrate als diese benötigen,
die durch einen herkömmlichen
Codieralgorithmus benötigt
wird, der diese Eigenschaften nicht liefert. Zusätzlich besteht ein wichtiger
Punkt darin, dass jede Beschreibung oder jeder MD-Bitstrom gleichermaßen wichtig
ist. Dies steht im Gegensatz zu herkömmlichen skalierbaren Schemata,
bei denen der Basisschicht-Bitstrom von entscheidender Bedeutung
ist. Das heißt,
bei herkömmlichen
skalierbaren Schemata ist der andere Bitstrom (sind die anderen
Bitströme)
nutzlos, falls der Basisschicht-Bitstrom verloren geht. Da genau
gesagt jeder MD-Bitstrom bei dem vorliegenden Ausführungsbeispiel
gleichermaßen
wichtig ist, gibt es keinen einzigen Fehler- Punkt in dem Sinne, dass es keinen einzelnen
Bitstrom gibt, der empfangen werden muss.
-
Bei
einem Schritt 404 verteilt das vorliegende Ausführungsbeispiel
dann die MD-Ströme
auf eine Anzahl unterschiedlicher Server (z. B. die Server 304a–304e von 3), die an Zwischenknoten überall in
einem Netzwerk platziert sind. Durch ein geeignetes Verteilen der
MD-Ströme
beseitigt die vorliegende Erfindung die Möglichkeit, dass irgendein einziger
Fehler alle Ströme
nutzlos machen kann. Bei einem Ausführungsbeispiel verwendet die
vorliegende Erfindung Server, die an Zwischenknoten in dem Netzwerk
platziert sind, beispielsweise entlang einem Router oder einem verdrahteten/drahtlosen Netzübergang
(Gateway). Bei dem vorliegenden Ausführungsbeispiel senden die Server 304a–304e die
MD-Ströme
zu nahe gelegenen Drahtlosbasisstationen 306a und 306b,
wenn die mobilen Clients 302, 308a und 308b durch
die Abdeckungsbereiche derselben streifen. Die Drahtlosbasisstationen 306a und 306b empfangen
Daten von dem verdrahteten Netzwerk und übertragen diese Daten drahtlos
an die mobilen Clients 302, 308a und 308b.
Gleichermaßen empfangen
die Drahtlosbasisstationen 306a und 306b Daten
drahtlos von den mobilen Clients 302, 308a und 308b und übertragen
diese Daten an das verdrahtete Netzwerk. Somit können die Drahtlosbasisstationen 306a und 306b als
einen verdrahteten/drahtlosen Netzübergang und einen drahtlosen Sender/Empfänger aufweisend
betrachtet werden. Wie es unten detailliert beschrieben wird, überwinden
ferner die verschiedenen Ausführungsbeispiele der
vorliegenden Erfindung die Beschaffenheit einer nicht garantierten
besten Bemühung
von bestehenden Netzwerken durch ein dynamisches Liefern von MD-Strömen zu mobilen
Benutzern von den zugreifbarsten Servern aus basierend auf einer
Benutzermobilität,
Netzwerkverstopfung und Serverlast.
-
Immer
noch mit Bezug auf den Schritt 404 stellt die vorliegende
Erfindung sicher, dass kein einzelner Fehler den Verlust aller Ströme bewirkt.
In dem Zusammenhang des obigen Beispiels kann ein Videosequenzmedienstrom
in zwei MD-Ströme codiert
werden, die dann bei zwei unterschiedlichen Speichermodulen platziert
werden, die mit zwei unterschiedlichen Servern an zwei unterschiedlichen Positionen
im Netzwerk verbunden sind. Dabei können die zwei MD-Ströme über zwei
unterschiedliche Wege in dem verdrahteten Netzwerk gesendet werden
und zwei unterschiedliche Basisstationen können die zwei MD-Ströme über zwei
unterschiedliche drahtlose Kanäle
zu dem empfangenden Client übertragen.
Auf diese Weise erreicht das vorliegende Ausführungsbeispiel einen Pegel
an Diversität,
der viele mögliche
einzige Fehlerpunkte beseitigt.
-
Unter
jetziger Bezugnahme auf einen Schritt 406 liefert das vorliegende
Ausführungsbeispiel
einen Zugriff auf die MD-codierten
Ströme
für einen mobilen
Client. Das heißt,
die MD-Ströme
sind beispielsweise für
ein anforderndes Mobiltelefon, einen PDA, einen Laptop-Computer
oder einen anderen derartigen mobilen Client zugreifbar.
-
Unter
erneuter Bezugnahme auf die Schritte 402, 404 und 406 ist
unten ein detailliertes Beispiel (unter Verwendung von 3 zu einer Darstellung) des Betriebs des
vorliegenden Ausführungsbeispiels vorgesehen.
Bei dem vorliegenden Beispiel wurde ein Videosequenzmedienstrom
vorhergehend in zwei MD-Ströme
codiert, die dann beide auf dem Inhaltsserver 310 gespeichert
wurden. Der erste der zwei MD-Ströme ist bei einem ersten Speichermodul
platziert, das mit dem Server 304a gekoppelt ist. Der zweite
der zwei MD-Ströme
ist bei einem zweiten Speichermodul platziert, das mit dem Server 304e gekoppelt
ist. Wenn der Videosequenzmedienstrom beispielsweise durch das Mobiltelefon 302 angefordert
wird, wird der erste der zwei MD-Ströme über einen ersten Weg an das
Mobiltelefon 302 gesendet und wird der zweite der zwei
MD-Ströme über einen zweiten
Weg an das Mobiltelefon 302 gesendet. Bei dem vorliegenden
Beispiel weist der erste Weg eine Übertragung über eine verdrahtete Netzwerkverbindung
von dem Server 304a zu letztendlich der Drahtlosbasisstati on 306a und
dann ein drahtloses Übertragen
des ersten MD-Stroms
der angeforderten Videosequenz von der Drahtlosbasisstation 306a zu dem
Mobiltelefon 302 auf. Bei dem vorliegenden Beispiel weist
ferner der zweite Weg eine Übertragung über eine
verdrahtete Netzwerkverbindung von dem Server 304e zu letztendlich
der Drahtlosbasisstation 306b und dann ein drahtloses Übertragen
des zweiten MD-Stroms der angeforderten Videosequenz von der Drahtlosbasisstation 306b zu
dem Mobiltelefon 302 auf. Die MD-Ströme des vorliegenden Ausführungsbeispiels
weisen die Eigenschaft auf, dass irgendeine Anzahl von Strömen zu einer
Sequenz decodiert werden kann, bei der die Qualität der decodierten
Sequenz von der Anzahl von decodierten MD-Strömen abhängt. Genau gesagt kann irgendein MD-Strom
zu Basislinie-Qualität-Daten
decodiert werden; können
irgendwelche zwei MD-Ströme
zu Daten verbesserter Qualität
decodiert werden; und so weiter, bis schließlich alle MD-Ströme zu den
Daten höchster
Qualität
decodiert werden können.
Sollte bei dem vorhergehenden Beispiel einer der Wege ausfallen
(z. B. der zweite Weg), ist somit das Mobiltelefon 302 immer
noch in der Lage, basierend lediglich auf einem Empfangen lediglich
eines der MD-Ströme
die angeforderte Videosequenz zu empfangen und zu nutzen.
-
Obwohl
ein derartiger erster und ein zweiter Weg bei dem vorliegenden Beispiel
genannt sind, ist die vorliegende Erfindung gut für eine Verwendung bei
den zahlreichen Wegen geeignet, die beispielsweise innerhalb des
Netzwerks des Systems 300 aufgebaut sein können. Obwohl
in der vorliegenden Beschreibung zwei MD-Ströme genannt sind, ist die Erfindung
zusätzlich
gut für
eine Verwendung bei mehr als zwei MD-Strömen von Daten geeignet. Somit
liefert das vorliegende Ausführungsbeispiel,
das aus einer Mehrfachbeschreibungscodierung und einer Systemdiversität gebildet
ist, eine verbesserte Systemzuverlässigkeit auf effizientere Weise
als der herkömmliche
Ansatz einer Ressourcenduplizierung. Ferner ermöglicht das vorgeschlagene System
die Beseitigung einer Anzahl von einzelnen Fehlerpunkten, die herkömmliche
Systeme befallen. Wie es oben erwähnt ist, beschäftigen sich
die obige und die folgende Erörterung
und Beispiele eventuell spezifisch mit Videodaten zu Zwecken von
Klarheit und Kürze.
Die vorliegende Erfindung ist jedoch nicht bloß auf eine Verwendung bei Videodaten
begrenzt. Anstelle dessen ist die vorliegende Erfindung gut für eine Verwendung
bei audiobasierten Daten, sprachbasierten Daten, bildbasierten Daten,
Graphikdaten, webseitenbasierten Daten und dergleichen geeignet.
-
Somit
sieht die vorliegende Erfindung ein Verfahren und ein System zum
strömungsmäßigen Übertragen
von Medien zu festen Clients und/oder mobilen Clients vor. Die vorliegende
Erfindung sieht ferner ein Verfahren und ein System zum strömungsmäßigen Übertragen
von Medien zu festen Clients und/oder mobilen Clients vor, wobei
das Verfahren und das System eine erhöhte Zuverlässigkeit und Effizienz gegenüber herkömmlichen
Systemen liefern.
-
Ferner
können
die Mehrfachbeschreibungsbitströme
auf eine Vielfalt von Weisen abhängig
von der spezifischen Situation an Servern platziert werden. Zum
Beispiel speichern eventuell einige Server alle der Beschreibungen,
während
andere Server eventuell lediglich einen Teilsatz der Beschreibungen speichern.
Ein Beispiel des Erstgenannten ist ein zentraler Server, der eine
hohe Konnektivität
mit einer großen
Anzahl von Clients aufweist, derselbe kann alle der Beschreibungen
speichern und adaptiv wählen,
einen spezifischen Teilsatz der Beschreibungen zu jedem spezifischen
Client basierend auf der speziellen Situation des Clients zu übertragen
(z. B. den anderen Servern, mit denen der Client verbunden ist,
und den Beschreibungen, die diese anderen Server liefern können). Es
kann jedoch andere Server geben, für die lediglich ein Teilsatz
der Beschreibungen gespeichert ist, beispielsweise kann lediglich die
erste Beschreibung auf einigen Servern gespeichert sein und kann
die zweite Beschreibung auf anderen Servern gespeichert sein. Die
Strategie zum Verteilen von Beschreibungen an un terschiedliche Server
kann von einer Anzahl von Faktoren abhängen, wie beispielsweise Rechen-
und Speicherfähigkeiten
jedes Servers, einer Konnektivität
desselben, typischer Netzwerkbedingungen, einer Abgetrenntheit von
Wegen und der Beliebtheit der spezifischen Medien, die geliefert
werden sollen.
-
Bei
einem Codieren einer spezifischen Mediensequenz können die
Medien zu mehreren Beschreibungen codiert werden, wobei jede Beschreibung
die gleiche Bitrate benötigt
und näherungsweise
die gleiche Qualität
liefert. Dies kann als eine symmetrische Mehrfachbeschreibungscodierung
bezeichnet werden. Alternativ können
die Medien zu mehreren Beschreibungen codiert werden, wobei jede
Beschreibung eine unterschiedliche Bitrate benötigen kann und eine unterschiedliche
Qualität
liefern kann. Dies kann als eine unsymmetrische Mehrfachbeschreibungscodierung
bezeichnet werden. Ein Codieren eines Mediums in unsymmetrische
Mehrfachbeschreibungen ist in Situationen wichtig, in denen ein
unsymmetrischer Betrieb erforderlich ist, z. B. wenn bei unterschiedlichen
Servern ein unsymmetrischer Speicher verfügbar ist oder unsymmetrische verfügbare Bandbreiten
an unterschiedlichen Wegen. Sowohl für eine symmetrische als auch
eine unsymmetrische Mehrfachbeschreibungscodierung besteht die Schlüsseleigenschaft
darin, dass, solange der Client irgendeinen Teilsatz der Mehrfachbeschreibungen
empfängt,
derselbe einen verwendbaren decodierten Medienstrom erzeugen kann,
und dass, wenn derselbe mehrere Beschreibungen empfängt, die
Qualität
des decodierten Medienstroms sich erhöhen würde.
-
Eine
Mediensequenz kann anfänglich
in symmetrische Mehrfachbeschreibungsbitströme codiert werden, wobei jeder
Bitstrom näherungsweise die
gleiche Bitrate benötigt,
und diese Mehrfachbeschreibungsströme können in geeigneter Weise bei unterschiedlichen
Servern in dem Netzwerk platziert werden. Diese MD-Bitströme können nachfolgend
zu unterschiedlichen niedrigeren Bitraten umcodiert werden, um nä herungsweise
mit den Bandbreiten übereinzustimmen,
die für
einen Client zu irgendeiner speziellen Zeit verfügbar sind. Falls beispielsweise
ein spezifischer Client einen unsymmetrischen Betrieb benötigt, z.
B. falls für
den Client zwei Wege verfügbar
sind und die verfügbare
Bandbreite jedes Wegs unterschiedlich ist, können die Server die Mehrfachbeschreibungsbitströme zu den
geeigneten Bitraten umcodieren, die an jedem Weg verfügbar sind.
Ferner kann die verfügbare
Bitrate entlang einem spezifischen Weg als eine Funktion der Zeit
variieren, und der Server, der für
ein Liefern des Mehrfachbeschreibungsbitstroms entlang diesem Weg
zuständig
ist, kann dann den Bitstrom in geeigneter Weise umcodieren, um mit
der verfügbaren
Bitrate an diesem Weg als eine Funktion der Zeit übereinzustimmen.
Auf diese Weise kann das System die verfügbare Bandbreite effizient
nutzen, um die rekonstruierte Qualität bei dem Client zu maximieren.
-
Die
Verteilung von Mehrfachbeschreibungsbitströmen an unterschiedliche Server,
sowie die Zuweisung unterschiedlicher Server, um unterschiedliche
MD-Bitströme
zu einem spezifischen Client zu übertragen,
hängt von
einer Anzahl von Faktoren ab, einschließlich: einer Nachfrage an jedem
Server, einer verfügbaren
Bandbreite und eines Verlusts entlang dem Weg von jedem Server zu
dem Client, und der Abgetrenntheit der mehreren Wege.
-
Das
Problem einer Abgetrenntheit ergibt sich bei einer bekannten Arbeit
nicht, da herkömmliche Ansätze einen
einzigen Bitstrom entlang einem einzigen Weg übertragen. Bei dem vorgeschlagenen
Ansatz werden explizit mehrere Bitströme entlang mehrerer Wege übertragen,
und es ist erwünscht,
dass diese mehreren Wege so abgetrennt wie möglich sind, um die Wahrscheinlichkeit
zu minimieren, dass ein einzelner Fehler zu dem Verlust aller Mehrfachbeschreibungen
führen
kann. In dem Fall von zwei MD-Bitströmen beispielsweise wird jeder
Strom über einen
getrennten Weg von einem Server zu dem Client gesendet. Jeder dieser
Wege besteht aus einer Sequenz von Verbindungen, und diese zwei
Wege können
eine Anzahl von gemeinschaftlich verwendeten Verbindungen sowie
eine Anzahl von Verbindungen umfassen, die nicht gemeinschaftlich
verwendet sind. Gemeinschaftlich verwendete Verbindungen werden
als gemeinsame Verbindungen bezeichnet und nicht gemeinschaftlich
verwendete Verbindungen werden als abgetrennte Verbindungen bezeichnet.
Idealerweise sind alle Verbindungen an den zwei Wegen abgetrennt.
In der Praxis ist dies jedoch eventuell manchmal nicht möglich. Das
primäre
Ziel besteht darin, die Anzahl von verlustreichen gemeinsamen Verbindungen
zu minimieren. Falls beispielsweise eine näherungsweise verlustfreie Hauptnetzverbindung
(Backbone-Verbindung) verbunden ist oder durch beide Wege gemeinschaftlich
verwendet wird, bewirkt dieselbe nicht die Kommunikationsqualität, da die
Verbindung verlustfrei ist. Eine verlustbehaftete gemeinsame Verbindung
kann jedoch eine schädliche
Wirkung auf die Leistungsfähigkeit
des Systems haben, da irgendwelche Verluste, z. B. durch eine Verstopfung
erzeugt, zu dem Verlust beider Beschreibungen führen können. Einen speziellen Client vorausgesetzt,
wählt deshalb
das System sorgfältig zwei
Server, um die zwei Mehrfachbeschreibungen zu dem Client zu senden,
derart, dass diese Server maximal getrennte Wege zwischen denselben
und dem Client aufweisen. Um MD-Ströme an einem Satz von Servern
zu verteilen, werden ferner die erwartete Position von Clients sowie
die Konnektivität
zwischen jedem Server und den erwarteten Clients berücksichtigt,
um die Verteilung zu bestimmen, die die maximal getrennten Wege
zwischen Servern und erwarteten Clients ermöglichen würde. Natürlich werden bei dieser Optimierung
andere herkömmlichere
Metriken, wie beispielsweise eine verfügbare Bandbreite und Verluste
an jeder Verbindung, ebenfalls berücksichtigt. Diese herkömmlichen
Metriken werden nicht erörtert,
da dieselben auch bei herkömmlichen
Systemen verwendet werden.