-
Die
vorliegende Erfindung bezieht sich auf ein Inhaltswiedergabeverfahren,
das Inhalte von beispielsweise mit SMIL (synchronisierter Multimedia
integrierter Sprache, Synchronized Multimedia Integrated Language)
beschriebenen Multimediadaten wiedergibt, und eine Inhaltswiedergabevorrichtung.
-
HTML
(Hypertext Markup Language) ist als eine Beschreibungssprache zum
Assoziieren und Anzeigen von digitalisierten Multimediadaten von
Bildern, Sprache, Text, etc. bekannt. Weiterhin sind Szenen-Beschreibungssprachen,
wie etwa SMIL oder BIFS, die zum Anzeigen der in Zeit und Raum miteinander
assoziierten Multimediadaten verwendet werden, beim W3C und durch
ISO/IEC standardisiert.
-
Video
und Standbilder, Sprache, Animation, Text und Text-Streams sind
alle unter Verwendung von SMIL verarbeitbare Multimediaobjektformate. Eine
Animation ist ein Bildformat, das einen kontinuierlichen „Stream" von Standbildern
anzeigt. Ein Textstream ist ein Medienformat zum Durchführen einer Buchstabenstreamsteuerung
und Ermöglichen
vom Textscrollen zum Anzeigen von sich ändernden Zeichenketten. Als
Wege zum Übertragen
von Multimediaobjekten wie etwa Video, Sprache, Standbildern und
Text über
ein Netzwerk werden Download- und Stream-Prozesse verwendet.
-
Beim
Download- oder Herunterlade-Prozess wird eine Wiedergabe nach Abschluss
der Übertragung
von Multimediainformationen von einem Distributionsserver durchgeführt. Im
Stream-Verfahren wird
die Wiedergabe vor Abschluss der Übertragung der Multimediainformationen
von einem Distributionsserver durchgeführt, beispielsweise zu dem
Zeitpunkt, zu dem Daten einer vorgegebenen Puffergröße empfangen
worden sind. Im Download-Übertragungsverfahren
wird das HTTP (Hypertext Transport Protocol) verwendet, während beispielsweise
für den Stream-Übertragungsprozess
RTSP (Real-time Streaming Protocol) verwendet wird.
-
Wenn
die durch Szenen-Beschreibungsinformationen, wie etwa SMIL, beschriebene
Multimediaszene über
ein Netzwerk an ein Client-Terminal (Endgerät) übertragen wird, erfordert es
aufgrund der Verstopfung eines Netzwerks eine lange Zeit, um das vom
Client-Terminal wiederzugebende Multimediaobjekt zu erfassen. Aufgrund
dessen ist es schwierig, die Wiedergabe durchzuführen und das Timing des Multimediaobjekts,
basierend auf der Szenenbeschreibungsinformation, aufrecht zu erhalten.
-
Um
dieses Problem zu vermeiden, wird ein Verfahren erwogen, bei dem
alle in der Szene enthaltenen Multimediaobjekte vorab am Client-Terminal empfangen
werden, bevor die Wiedergabe der Multimediaszene begonnen wird.
Wenn dieses Verfahren angenommen wird, kommt es zu einer großen Verzögerung beim
Starten der Wiedergabe und das Client-Terminal braucht einen großen Pufferbereich.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Inhaltswiedergabeverfahren
und eine Vorrichtung bereitzustellen, die Inhaltsdaten wie erwartet wiedergeben
und eine Verzögerung
durch einen Wiedergabestart und einen Pufferbereich vermindern.
-
Sato
K et al: "Dynamic
multimedia Integration with the WWW" Communications, Computers and Signal
Processing, 1999 IEEE Pacific Rim Conference on Victoria, BC, Canada
22–24
Aug. 1999, Piscataway, NJ, USA, IEEE, US, 22. August 1999 (1999-08-22),
Seiten 448–451,
XP010356608 ISBN: 0-7803-5582-2, offenbart ein Framework zum nahtlosen
Integrieren von kontinuierlichen Medien mit dem World Wide Web.
Der Medienspieler startet das Laden der Mediendateien im Hintergrund,
während
er den Film abspielt.
-
Die
Erfindung stellt ein Wiedergabeverfahren und eine Vorrichtung wie
in den Ansprüchen
1 und 4 definiert, bereit.
-
Die
Erfindung kann aus der nachfolgenden detaillierten Beschreibung
in Verbindung mit den beigefügten
Zeichnungen vollständiger
verstanden werden, in denen:
-
1 ein
Blockdiagramm einer Konfiguration einer Inhaltswiedergabevorrichtung
ist, die sich auf die erste Ausführung
von der vorliegenden Erfindung bezieht;
-
2 eine
Gesamtkonfiguration einer Inhaltswiedergabevorrichtung zeigt, die
sich auf die Ausführungsform
bezieht;
-
3 ein
Diagramm zum Erläutern
einer durch SMIL beschriebenen Szene ist, die mit der Inhaltswiedergabevorrichtung
bearbeitet wird, auf die sich die Ausführungsform bezieht;
-
4A und 4B Diagramme
zum Erläutern
einer Anzeigeposition und einer Anzeigezeit der durch SMIL beschriebenen
Szene sind;
-
5 ein
Diagramm ist, bei dem eine SMIL-Datei als ein DOM-Baum entwickelt
ist;
-
6 ein
Diagramm zum Erläutern
einer in der Inhaltswiedergabevorrichtung der Ausführungsform
verwendeten Bereichstabelle ist;
-
7 einen
Ausgangsstatus eines Timing-Baums zur Steuerung einer Wiedergabezeit
eines in der Inhaltswiedergabevorrichtung der Ausführungsform
verwendeten Multimediaobjekts zeigt;
-
8 einen
Status gerade nach dem Start der Wiedergabe eines Timing-Baums zeigt;
-
9 einen
Teil eines Flussdiagramms zum Erläutern einer Prozessprozedur
einer Übertragungsabwicklervorrichtung
der Ausführungsform zeigt;
-
10 einen
weiteren Teil des Flussdiagramms zum Erläutern der Prozessprozedur des Übertragungsabwicklerabschnitts
der Ausführungsformen
zeigt; und
-
11 ein
Flussdiagramm zum Erläutern
einer Prozessprozedur der Übertragungsabwicklervorrichtung,
basierend auf der zweiten Ausführungsform der
vorliegenden Erfindung, ist.
-
Nunmehr
werden Ausführungsformen
der vorliegenden Erfindung in Verbindung mit den beigefügten Zeichnungen
beschrieben.
-
(Die erste Ausführungsform)
-
1 zeigt
eine Gesamtkonfiguration des Datenübertragungssystems einschließlich einer
Inhaltswiedergabevorrichtung der ersten Ausführungsform der vorliegenden
Erfindung. Das Datenübertragungssystem
enthält
eine Mehrzahl von Servern 201 und 202 als Inhaltsverteilungsvorrichtungen
und ein Client-Terminal 100 als eine Inhaltswiedergabevorrichtung,
die Inhaltsdaten von den Servern 201 und 202 empfängt und
wiedergibt. Die Server 201 und 202 sind mit dem
Client-Terminal 100 über
ein Netzwerk 300 verbunden.
-
Inhaltsdaten
werden von den Servern 201 und 202 durch einen
Download-Prozess und einen Stream-Prozess zum Client-Terminal 100 übertragen.
Der Download-Prozess überträgt Inhaltsdaten, um
Wiedergabe nach Abschluss des Empfangs aller Daten durchzuführen, die
ein das Client-Terminal 100 verwendender Anwender wiedergeben
möchte.
Der Stream-Prozess überträgt Inhaltsdaten,
um die Wiedergabe der Inhaltsdaten zu beginnen, bevor der Empfang
aller Inhaltsdaten, die wiederzugeben sind, abgeschlossen ist.
-
Es
wird angenommen, dass Protokolle zum Übertragen von Daten von den
Servern 201 oder 202 zum Client-Terminal 100 RTSP
(Real-time Streaming Protocol) beim Stream-Prozess und HTTP (Hypertext
Transfer Protocol) beim Download-Prozess verwenden. Beispielsweise
wird angenommen, dass der erste Server 201 Inhaltsdaten
unter Verwendung von HTTP als Übertragungsprotokoll überträgt und der zweite
Server 202 die Inhaltsdaten unter Verwendung von RTSP als Übertragungsprotokoll überträgt. Weiterhin
ist der zweite Server 202 mit einer Flusssteuerungsfunktion
zum Übertragen
von Daten innerhalb eines Bereichs der Bandbreite des Netzwerks 300 versehen,
das vom Client-Terminal 100 angegeben ist. Bei den in 1 gezeigten
Ausführungsformen
sind der erste Server 201 und der zweite Server 202 mit
jeweils durch den Identifizierer foo.com bzw. dem Identifizierer
bar.com gezeigte Computer realisiert. Jedoch können die Server 201 und 202 mit demselben
Identifizierer bezeichnet sein.
-
Der
erste Server 201 speichert beispielsweise die der Szenenbeschreibungsinformation
entsprechende SMIL-Datei und sichert als Inhaltsdaten ein in der
durch diese SMIL-Datei beschriebenen Multimediaszene enthaltenes
Multimediaobjekt vom Download-Typ. Der zweite Server 202 speichert
als Inhaltsdaten ein in der von der SMIL-Datei beschriebenen Multimediaszene
enthaltenes Multimediaobjekt vom Stream-Typ, das durch den ersten
Server 202 gespeichert ist.
-
Die
Multimediaszene repräsentiert
einen Satz von Multimediainformationen einschließlich Video, Sprache und beispielsweise
Multimediainformationen, die einem Programm entsprechen. Das Multimediaobjekt
repräsentiert
ein Bild, Sprache und andere Informationen (Inhaltsdaten).
-
2 zeigt
eine interne Konfiguration des Client-Terminals 100, welches
die von den Servern 201 und 202 übertragenen
Inhaltsdaten empfängt und
Anzeige und Wiedergabe der Daten durchführt. Die Hauptfunktion des
Transceivers 101 ist es, Inhaltsdatenübertragungsanforderungen an
die Server 201 und 202 zu übertragen und SMIL-Dateien
zu empfangen, die der von den Servern 201 und 202 übertragenen
Szenenbeschreibungsinformationen entsprechen, und in den durch SMIL
beschriebenen Multimediaszene enthaltenen Multimediaobjekten. Darüber hinaus
misst in der folgenden Ausführungsform
der Transceiver 101 sowohl die Bandbreite als auch die
verfügbare
Bandbreite des Netzwerks 303.
-
Die
SMIL-Datei und das Multimediaobjekt, das von dem Transceiver 101 empfangen
wird, werden vorübergehend
im Empfangspuffer 102 gespeichert. Ein Syntax-Analysator 103 liest
die durch den Empfangspuffer 102 gespeicherte SMIL-Datei
aus und entwickelt (wandelt) sie zu einem DOM (Document Object Model)-Baum 104 entsprechend
einer Innenexpression der Datei. Eine Interpretationsvorrichtung 105 umfasst
einen Timing-Baum 107, um eine Wiedergabestartzeit der
Multimedien durch Interpretieren des DOM-Baums zu bestimmen und eine
Bereichstabelle 108, um zu bestimmen, wo die Inhalte angezeigt
werden.
-
Der
Timing-Baum 107, der von der Interpretationsvorrichtung 105 erzeugt
wird, wird über
eine Steuerung 109 an die Übertragungsabwicklervorrichtung 106 übertragen.
Die Übertragungsabwicklervorrichtung 106 führt Übertragungsabwicklung
des Multimediaobjekts in der Multimediaszene, basierend auf dem
Timing-Baum 107 unter Steuerung der Steuerung 109,
durch und fordert die Server 201 oder 202 auf,
das Multimediaobjekt über
den Transceiver 101, basierend auf dieser Abwicklung, zu übertragen.
-
Die
Steuerung 109 empfängt
ein Wiedergabestart/Endkommando von einer Wiedergabevorrichtung 110 und
ein Eingabeereignis von einem Anwender und steuert die Interpretationsvorrichtung 105, um
den Timing-Baum 107, basierend auf dem Timing, mit dem
die Steuerung 109 die Kommandos und das Eingabeereignis
empfängt,
zu aktualisieren. Die Steuerung 109 steuert die Übertragungsabwicklervorrichtung 106 und
die Wiedergabevorrichtung 110, basierend auf dem Wiedergabestart/Endkommando
von der Wiedergabevorrichtung 110, dem Eingabereignis vom
Anwender, dem Timing-Baum 107 und der Bereichstabelle 108.
-
Die
Wiedergabevorrichtung 110 liest das im Empfangspuffer 102 gespeicherte
Multimediaobjekt unter der Kontrolle der Steuerung 109 aus
und wählt einen
Decoder 111a bis 111d aus, basierend auf der Art
(Datentyp) des Multimediaobjekts. Wenn das Multimediaobjekt ein
Bewegtbild (Video) ist, das durch MPEG codiert ist oder ein Standbild
(ein Bild), das durch JPEG codiert ist, wird das Multimediaobjekt durch
die Decoder 111a bis 111c decodiert und auf der
Anzeige 112 angezeigt. Wenn das Multimediaobjekt durch
MP3 codierte Sprache ist, wird es durch den Decoder 111d decodiert
und durch den Lautsprecher 113 wiedergegeben.
-
Der
Empfangspuffer 102, der DOM-Baum 104, der Timing-Baum 107 und
die Bereichstabelle 108 können im Hauptspeicher eines
Computers oder einem Speichermedium, wie etwa einem Flash-Speicher oder einer
Festplatte, vorgesehen sein. Die als Szenenbeschreibungsinformation
in der vorliegenden Ausführungsform
beschriebene SMIL-Datei wird beschrieben. 3, 4A und 4B zeigen
ein auf SMIL basierendes Beschreibungsbeispiel der Multimediaszene,
beziehungsweise ein Anzeigebeispiel der Szene.
-
Wie
in 3 gezeigt, beginnt die SMIL-Datei bei <smil> und endet bei </smil>. Zwei Elemente <head> und <body> werden im <smil>-Element vorgesehen
und es werden Information und Natur des Dokumentes in <head> beschrieben. Die Bezeichnung
des anzuzeigenden Medienobjektes oder das Zeitverhalten wird im
Element <body> beschrieben. Die Bezeichnung
des Layouts wird unter Verwendung eines Elementes <layout> im Element <head>, wie in den 3 bis
7 Zeilen von 3 gezeigt, beschrieben.
-
Die
Größe der Szene
wird durch ein <root-layout>-Element spezifiziert
und der Anzeigebereich durch ein <region>-Element. Ein <root-layout>-Element beinhaltet
Breiten- und Höhenattribute, um
die Breite und Höhe
der Szene zu spezifizieren. <region> beinhaltet Breiten-
und Höhenattribute,
um die Breite und Höhe
des Bereichs zu spezifizieren, obere und linke Attribute, um die
Anzeigeposition von oben und links im gesamten Anzeigebereichs zu
spezifizieren, ein id-Attribut, um einen Identifizierer an den Anzeigebereich
anzuhängen
und ein "backgroundColor"-Attribut, um eine
Hintergrundfarbe zu spezifizieren.
-
Die
Synchronisierungssteuerung jedes Medienobjektes wird in einem <body>-Element durchgeführt. Ein <par>-Element ist eine Beschreibung, um
das Durchführen
gleichzeitiger Wiedergabe des Medienobjekts im Element anzuweisen.
Ein <seq>-Element ist eine Beschreibung,
um die Wiedergabe des Medienobjektes im Element sequentiell vom
Anfang der Beschreibung an anzuweisen. Eine Gruppe von mehreren
Medienobjekten, die im Element <par> bis </par> enthalten sind oder
ein einzelnes Medienobjektelement ohne <par>-Element
im Elternelement wird als ein Block bezeichnet. Das Element im Block
beginnt wiedergegeben zu werden, nachdem das Element des vorherigen
Blockes wiedergegeben worden ist. Nachdem das Element im Block wiedergegeben
worden ist, wird die Wiedergabe des Elementes des folgenden Blocks
gestartet.
-
Die
Attribute des Medienobjekts beinhalten "begin" und "end"-Attribute, welche
die Timings spezifizieren, zu denen die Anzeige beginnt und endet, ein "dur"-Attribut, um die
Anzeigedauer zu spezifizieren, ein Bereichsattribut, um den das
Medienobjekt anzeigenden Bereich mit einem Identifizierer des Bereichs
zu spezifizieren und ein "src"-Attribut, um die URL
des Medienobjektes zu zeigen.
-
Im
Fall, in dem das "begin"-Attribut durch einen
Zeitwert vom Medienobjektelement spezifiziert wird, wenn das Elternelement
dieses Objektes im <par>-Element ist, beginnt
die Wiedergabe zu einem Zeitpunkt, wenn die ab der Startzeit des <par>-Elementes spezifizierte
Zeit verstreicht. Wenn das Elternelement ein <seq>-Element
ist, beginnt die Wiedergabe zu einem Zeitpunkt, wenn die ab der
Endzeit des vorherigen Elementes spezifizierte Zeit verstrichen
ist.
-
In
dem Fall, in dem der Zeitwert durch das "end"-Attribut
spezifiziert ist, wenn das Elternelement dieses Elements das <par>-Element ist, endet
die Wiedergabe zu einem Zeitpunkt, wenn die ab der Startzeit des <par>-Elements spezifizierte
Zeit vergangen ist. Wenn das Element das <seq>-Element ist,
endet die Wiedergabe zu einem Zeitpunkt, wenn die ab der Endzeit
des vorherigen Elementes spezifizierte Zeit verstrichen ist.
-
Wenn
ein Ereigniswert durch das "begin"-Attribut oder das "end"-Attribut spezifiziert
ist, beginnt oder endet die Wiedergabe in der Zeit, in der das Ereignis
auftrat. Der Fall, dass das "begin"-Attribut nicht spezifiziert
ist, ist identisch mit dem Fall, dass die Startzeit eines Blocks,
nämlich
begin = "0s" explizit spezifiziert
ist.
-
Wenn
das "end" oder "dur"-Attribut nicht spezifiziert
ist, wird die ursprüngliche
Endzeit der Medien verwendet. Beispielsweise werden die durch die <seq>-Elemente auf den Zeilen
10 bis 20 von 3 eingeschlossenen Elemente
sequentiell wiedergegeben. Anders ausgedrückt, werden die durch die <par>-Elemente in den Zeilen
11 bis 14 der 3 eingeschlossenen Elemente
simultan wiedergegeben. Nachdem die Wiedergabe dieser Elemente endet,
werden die durch die <par>-Elemente in den Zeilen
15 bis 19 eingeschlossenen Elementen simultan wiedergegeben.
-
Der
Anzeigebildschirm der durch "sample1.smil" in 3 beschriebenen
Szene ist in 4A gezeigt. Das äußerste Viereck
von 4A ist ein Bereich der durch das Wurzel-Layout spezifizierten
Gesamtszene. Das obere Rechteck des Bereichs der gesamten Szene
repräsentiert
den Bereich "video", gezeigt in Zeile
5 von 3, und das untere Viereck repräsentiert den Bereich "desc", gezeigt in der
6. Zeile von 3.
-
Gemäß der Beschreibung
im <body>-Element wird das Bildobjekt "image1.jpg" 25 Sekunden lang
auf dem in 4B gezeigten Bereich "desc" wiedergegeben und
nach 5 Sekunden wird das Videoobjekt "video1.mpg" 10 Sekunden lang im Bereich "video" wiedergegeben. Nachdem
die Wiedergabe des Bildobjektes "image1.jpg" endet, beginnt die Wiedergabe
des Videoobjektes "video2.mpg" und des Textobjekts "text1.txt" im Bereich "video" und dem Bereich "desc" gleichzeitig. Nach
5 Sekunden wird die Wiedergabe des Audiosystemobjekts "audio1.mp3" gestartet. Das Textobjekt "text1.txt" wird für 15 Sekunden
wiedergegeben und das Videoobjekt "video2.mpg" und das Audiosystemobjekt "audio1.mp3" werden wiedergegeben,
bis das Medium selbst endet.
-
Wie
vorstehend beschrieben, speichert der erste Server 201 die
SMIL-Datei entsprechend einer Beschreibung der Szene und einem in
der durch die SMIL-Datei beschriebenen Szene beinhaltetes Multimediaobjekt
vom Download-Typ und der zweite Server 202 speichert das
in der durch die SMIL-Datei beschriebenen Szene enthaltene Multimediaobjekt
vom Stream-Typ.
-
Beispielsweise
werden beim Übertragen
der durch die SMIL-Datei in 3 beschriebenen
Multimediaszene die SMIL-Datei "sample1.smil" und das Bildobjekt "image1.jpg" und das Textobjekt "text1.txt", das mit http://
beginnt, welches die Werte der "src"-Attribute der Zeilen
13 und 18 von 3 die Übertragung mit dem Download-Typ
spezifizieren, durch den ersten Server 201 gespeichert.
Wie derart beschrieben, wird das Inhaltsdaten (Objekt), das dafür spezifiziert
ist, mit dem Download-Typ übertragen zu
werden, als Download-Typ-Daten (download type object) bezeichnet.
Anders ausgedrückt,
sind die Download-Typ-Daten (download type object) die Inhaltsdaten
(Objekt), welche die Wiedergabe starten, nachdem alle Daten zur
Konstruktion des Objektes im Prinzip übertragen sind.
-
Der
zweite Server 202 speichert die Videoobjekte "video1.mpg" und "video2.mpg" und das Audioobjekt "audio1.mp3", bei denen die Beschreibung von "src", die in den Zeilen
12, 16 und 17 von 3 angezeigt ist, mit "rtsp://" beginnt, was spezifiziert, dass
die Daten mit dem Stream-Typ zu übertragen sind.
Beispielweise ist die URL der SMIL-Datei im Server 201 "http://foo.com/sample1.smil" und die das Videoobjekt "video1.mpg" im Server 202 zeigende URL
ist "rtsp://bar.com/video1.mpg". Wie derart beschrieben,
werden die Inhaltsdaten (Objekt), die als mit dem Stream-Typ zu übertragen
spezifiziert sind, als Stream-Typ-Daten (Stream-Typ-Objekt) bezeichnet.
Anders ausgedrückt,
sind die Stream-Typ-Daten (Stream-Typ-Objekt) Inhaltsdaten (Objekt),
welche die Wiedergabe starten können,
falls ein Teil der Daten im Prinzip übertragen ist.
-
Nunmehr
wird ein Betrieb des auf die vorliegende Erfindung bezogenen Datenübertragungssystems
beschrieben.
-
Beispielsweise
spezifiziert ein Anwender "http://foo.com/sample1.smil", welches die URL
der SMIL-Datei "sample1.smil" ist, die in 1 gezeigt ist,
oder klickt eine Verknüpfung
für die
URL einer Homepage, die durch die Anzeige 112 angezeigt
ist, um die Übertragung
der Datei "sample1.smil" zu verlangen. Dann
fordert der Transceiver 101 den ersten Server 201,
der in der URL beschrieben ist, auf, die Datei "sample1.smil" zu übertragen.
Als Ergebnis wird die SMIL-Datei "sample1.smil" an das Client-Terminal 100 vom
Server 201 übertragen.
Das Client-Terminal 100 empfängt die Datei "sample1.smil" mit dem Transceiver 101 und
speichert sie im Empfangspuffer 102.
-
Die
im Empfangspuffer 102 gespeicherte SMIL-Datei "sample1.smil" wird vom Syntax-Analysator 103 gelesen
und vom DOM-Baum 104 entwickelt. 5 zeigt
ein Beispiel des DOM-Baums 104. Die SMIL-Datei hat immer
eine Struktur, die End-Tags enthält,
die Anfangs-Tags entsprechen und diese Tags verschachteln. Die Form,
welche eine hierarchische Struktur der Tags als eine Baumstruktur ausdrückt, welche
die Tags als Knoten konstruiert, ist der DOM-Baum 104.
-
Jeder
Knoten des DOM-Baums 104 speichert den Attributwert, den
das von jedem Tag ausgedrückte
Element aufweist. In einem Beispiel von 5 sind Routenknoten "smil" auf Zeilen und 22 von 3 gezeigt
und Kinderknoten sind "head" auf Zeilen 2 und
8 von 3 gezeigt und "body" auf Zeilen 9 und
21 gezeigt. Die Kinderknoten von "head" sind "layout" in Zeilen 3 und
7 von 3 gezeigt und die Kinderknoten von "layout" sind "root-layout", gezeigt in Zeile
4 und "region", gezeigt in Zeilen
5 und 6. Da die Knoten "root-layout" und "region" ein Attribut aufweisen,
wird der Wert des Attributes in jedem Knoten gespeichert. Der Kinderknoten "body" analysiert wiederum
ein Tag auch und wird in eine Hierarchiestruktur entwickelt.
-
Der
DOM-Baum 104 wird von der Interpretationsvorrichtung 105 eingelesen,
um die Bereichstabelle 108 zu erzeugen. 6 zeigt
ein Beispiel der Bereichstabelle 108, die von den Attributen
der "region"-Elemente, welches
die Kinderelemente des "layout"-Elements des DOM-Baums 104 von 5 sind, erzeugt
werden. Die Bereichstabelle 108 umfasst eine Gruppe von
4 Sätzen
von beispielsweise id, das einen Identifikator des Bereichs speichert,
bgcolor, das eine Hintergrundfarbe speichert, eine Position, die
eine Koordinate der oberen linken Ecke des Bereichs speichert und
eine Größe, die
die Breite und Höhe
des Bereichs speichert.
-
Beispielsweise
wird der Wert des id-Attributes in id von 6 aus dem "region"-Element, das in Zeile
5 von 3 gezeigt ist, gespeichert. Die Koordinate der
oberen linken Ecke des rechteckigen Bereichs wird unter "position" in 6,
basierend auf den oben- und links-Attributen gespeichert, und die Breite
und Höhe
des rechtwinkligen Bereiches werden unter "size" von 6,
basierend auf den Breiten- und Höhen-Attributen, gespeichert.
Da das "backgroundColor"-Attribut nicht spezifiziert
ist, wird im "bgcolor" von 6 "-" gespeichert. Das in Zeile 6 gezeigte "region"-Element wird ebenfalls
in der Bereichstabelle 108 von 6 gespeichert.
Auf die Bereichstabelle 108 wird in einer Anzeige des Multimediaobjekts
referiert und eine Anzeigeposition wird basierend auf dieser Anzeige
spezifiziert.
-
Die
Interpretationsvorrichtung 105 erzeugt ebenfalls den Timing-Baum 107. 7 zeigt
den Timing-Baum 107, der durch Analysieren der "par"-Elemente, des "seq"-Elements und der
Multimediaobjektelemente, welche Kindelemente des "body"-Elementes des in 6 gezeigten
DOM-Baums 104 sind, erstellt wird. Jeder Knoten des Timing-Baums 107 speichert
Attributinformationen (begin, end, dur, alt, title, longdesc, fill,
region, src, type) des Multimediaobjektelements, berechnet die effektive
Start- und Endzeit jedes Elementes, basierend auf den Attributinformationen
und liefert das Ergebnis. Die effektive Wiedergabestartzeit und
die effektive Wiedergabeendzeit jedes Elementes werden mit einem
durch SMIL2.0-Spezifikationen beschriebenen Zeitmodell berechnet.
-
Im
Beispiel von 7 wird beispielsweise die effektive
Startzeit des anfänglichen "seq"-Elementes die Zeit
(spielen) sein, wenn die Wiedergabe gestartet wird, und die effektive
Startzeit des ersten Kindselementes "par" des "seq"-Elementes ist eine effektive
Startzeit (parent.begin) des Elternelementes "seq".
Dies ist gleich dem Abspielen. Da weiterhin ein Zeitwert explizit
durch das "begin"-Attribut spezifiziert
ist, werden die effektiven Startzeiten des dem Kindelementes des "par"-Elementes und des "img"-Elementes entsprechenden "video"-Elementes gleich
der durch Addieren des Zeitwertes zur effektiven Startzeit des Elternelements
erhaltenen Zeit. Anders ausgedrückt,
wird die effektive Startzeit des "video"-Elementes "parent.begin+5s" und die effektive Startzeit des "img"-Elementes wird "parent.begin".
-
Allgemein
werden die effektive Wiedergabestartzeit und Wiedergabeendzeit eines
gewissen Elementes durch die Wiedergabestartzeit des Elternelementes
und des vorherigen Elementes bestimmt und die Wiedergabeendzeit
und die Ausbruchzeit eines Ereignisses von einem Anwender. Daher
weist die Steuerung 109 von 1 die Interpretationsvorrichtung 105 an,
den Timing-Baum 107 bei Detektierung des Wiedergabestart/Endkommandos
und des Ereignisses vom Anwender zu aktualisieren.
-
8 zeigt
den Timing-Baum 107, unmittelbar nachdem die Wiedergabe
der Szene durch die SMIL-Datei "sample1.smil" beginnt. Dieser
Timing-Baum 107 wird zu dem Zeitpunkt aktualisiert, zu
dem die Wiedergabe der Szene beginnt. Anders ausgedrückt, detektiert
die Steuerung 109 die Szenenwiedergabestartzeit und sendet
sie an die Interpretationsvorrichtung 105. Die Interpretationsvorrichtung 105 aktualisiert
den Timing-Baum 107 gemäß der Zeit.
In diesem Beispiel sei angenommen, dass die Wiedergabestartzeit
der Szene 16:30:15 am 19. Februar 2001 (2001/2/19 16:30:15::000);
zuerst wird die effektive Startzeit des "seq"-Elementes
um 2001/2/19 16:30:15 aktualisiert. Da die effektive Startzeit des "par"-Elementes des Anfangskindelementes
des "seq"-Elementes festgelegt
ist, wird die Zeit als Ergebnis um 2001/2/19 16:30:15::000 aktualisiert.
So werden die Wiedergabestartzeit und Wiedergabeendzeit des dem
Kindelementes des "par"-Elementes entsprechenden "video"-Elements festgelegt.
Dementsprechend wird die effektive Startzeit des "video"-Elementes, das dem
Kindelement des "par"-Elementes entspricht,
zu 2001/2/19 16:30:20::000 aktualisiert und die effektive Endzeit wird
ebenfalls auf 2001/2/19 16:30:25::000 aktualisiert.
-
Da
die effektive Startzeit und effektive Endzeit des "img"-Elementes auf dieselbe
Weise festgelegt werden, werden diese Zeiten auf 2001/2/19 16.30.15::000
und 2001/2/19 16:30:40::000 aktualisiert.
-
In
Verbindung mit dieser Aktualisierung wird ebenfalls die effektive
Endzeit des "par"-Elementes des Elternelementes
festgelegt. Diese Zeit wird auf max (2001/2/19 16:30:25::000, 2001/2/19 16:30:40::000)
aktualisiert, nämlich
2001/2/19 16:30:40:000. Die effektive Startzeit des dem nächsten Kindelementes
des "seq"-Elementes entsprechenden "par"-Elementes wird ebenfalls
festgelegt, wobei diese Zeit auf 2001/2/19 16:30:40::000 aktualisiert
wird. Die effektiven Startzeiten des "video"-Elementes, des "audio"-Elementes und des "text"-Elementes,
welche das Kindelement des "par"-Elementes sind und
die effektiven Endzeiten des "text"-Elementes werden ähnlich festgelegt
und diese Zeiten werden auf 2001/2/19 16:30:40:000, 2001/2/19 16:30:45:000,
2001/2/19 16:30:4:0000 und 2001/2/19 16:30:55:000 aktualisiert.
-
Wie
beschrieben, aktualisiert die Interpretationsvorrichtung 105 so
das Element, wobei die Wiedergabe-Startzeit oder die Wiedergabeendzeit
des Timing-Baums auf Basis der von einem Ereignis festgelegten Zeit
festgelegt wird.
-
Nunmehr
wird eine Prozessprozedur der Übertragungsabwicklervorrichtung 106 beschrieben, die
eine Übertragungsabwicklung
des Objektes in der Szene, basierend auf der Wiedergabezeit des
in der SMIL-Datei beschriebenen Multimediaobjekts, durchführt, die
sich auf ein in den 9 und 10 gezeigtes
Flussdiagramm bezieht. Eine Charakteristik des Prozesses der Übertragungsabwicklervorrichtung 106 ist
es, mehrere Objekte, die von der SMIL-Datei beschrieben werden,
in einem einzelnen Block (ein einzelnes Mediaobjekt ohne "par"-Element im Elternelement
im Beispiel von 3) oder mehrere gleichzeitig
wiederzugebenden Blöcke
(einen Satz von mehreren Medienobjekten, die zwischen <par> und </par> enthalten sind), wiederzugebenden
Blöcken,
und im Voraus nur ein Objekt zu übertragen, das
für einen
Block zeitlich unmittelbar nach dem Block gehört, zu dem das Objekt während der
Wiedergabezeit gehört.
-
Zuerst
wird ein Block, der ein zuerst wiederzugebendes Objekt enthält, aus
dem Timing-Baum 107 extrahiert (Schritt S801). In dem Fall,
dass das Kindelement aus dem Elementkörper entsprechend einer Route
des Timing-Baums 107 anhand der Tiefenprioritätssuche
gesucht wird, wenn das Multimediaobjektelement detektiert wird,
entspricht das gesuchte Element einem in einem zuerst wiedergegebenen
Block enthaltenen Objekt. Wenn jedoch das "par"-Element
entdeckt wird, entspricht das Objekt allen Multimediaobjektelementen,
die das "par"-Element aufweist.
In einem Fall, der auf der Beschreibung der SMIL-Datei "sample1.smil", die in 3 gezeigt
ist, basiert, werden das Videoobjekt "video1.mpg" und das Bildobjekt "image1.jpg" Objekte, die zuerst wiedergegeben werden.
-
Als
nächstes
wird untersucht, ob das Stream-Typ-Objekt wiedergegeben wird (Schritt S802).
Bevor die Wiedergabe beginnt und wenn kein Stream-Typ-Objekt unter
Wiedergabe existiert, rückt das
Verfahren zu Schritt S814 vor, um zu untersuchen, ob das Download-Typ-Objekt
im nächsten Block
existiert.
-
In
diesem Prozess ist das Videoobjekt "video1.mpg" das Stream-Typ-Objekt, basierend auf der
Beschreibung der URL und das Bildobjekt "image1.jpg" ist das Download-Typ-Objekt, basierend
auf der Beschreibung der URL. Daher rückt das Verfahren von Schritt
S814 zu Schritt S815 vor und das Bildobjekt "image1.jpg" vom Download-Typ-Objekt wird heruntergeladen.
-
Bei
diesem Download wird HTTP als Übertragungsprotokoll
an den Transceiver 101 spezifiziert und eine Übertragungsanforderung
des Bildobjektes ""image1.jpg" wird ihm übersandt.
Der Transceiver 101, der die Instruktion erhalten hat,
fordert den in der URL des Bildobjektes "image1.jpg" beschriebenen Server 201 auf,
das Bildobjekt "image1.jpg" zu übertragen.
Der Server 201, der die Transferaufforderung erhalten hat, überträgt das Bildobjekt "image1.jpg" an das Client-Terminal 100 anhand
des Übertragungsprotokolls
HTTP.
-
Das
an das Client-Terminal 100 übertragene Bildobjekt "image1.jpg" wird vom Transceiver 101 empfangen
und im Empfangspuffer 102 unter Kontrolle der Steuerung 109 gespeichert.
Wenn der Transceiver 101 das vollständige Bildobjekt "image1.jpg" empfangen hat, ist
die Übertragung
vom Server 201 an das Client-Terminal 100 abgeschlossen.
Der Prozess des Erfassens des Download-Typ-Objekts vom Server im
Schritt S815 wird nachfolgend als lediglich Download bezeichnet.
-
Es
wird untersucht, ob das Stream-Typ-Objekt, dessen Pufferung noch
nicht abgeschlossen ist, im zuerst wiederzugebenden Objekt existiert
(Schritt S816). In diesem Prozess ist das Videoobjekt "video1.mpg" ein Stream-Typ-Objekt und die
Pufferung wird nicht durchgeführt.
Somit schreitet der Prozess zu Schritt S817 fort. In diesem Schritt
wird das Videoobjekt "video1.mpg", das dem Stream-Typ-Objekt
entspricht, auf den das SETUP nicht angewendet wird, dem SETUP unterworfen.
Das SETUP steht dafür,
den in der URL des Objektes durch einen Client in RTSP beschriebenen
Server aufzufordern, eine Übertragung
vorzubereiten. Der Server, der diese Anforderung empfing, erzeugt
eine Sitzung und bringt den Status dazu, dass er in der Lage ist,
die Übertragung
des Objektes zu beginnen. Ein konkretes Verfahren wird in Kapitel
10 von RFC2326 des RTSP beschrieben.
-
Als
nächstes
wird bestimmt, ob es das Stream-Typ-Objekt gibt, dessen Pufferung
nicht begonnen hat oder wieder geöffnet ist (Schritt S818). Da
das Videoobjekt "video1.mpg" als ein Stream-Typ-Objekt
existiert, rückt
der Prozess von Schritt S818 zu Schritt S819 vor. Es wird in Schritt S819
untersucht, ob die Bandbreite des Netzwerkes 300 eine Leere
enthält.
-
Die
verfügbare
Bandbreite des Netzwerks 300 wird als ein Wert erhalten,
der durch Subtrahieren einer Bandbreite b, die zum Übertragen
von Daten verwendet wird, von einer Bandbreite B des gesamten Netzwerks 300,
die beispielsweise von der Hardware bereitgestellt wird, subtrahiert
wird. Die zur Datenübertragung
des Netzwerkes 300 verwendete Bandbreite b wird aus der
Menge an Daten, die beispielsweise in einer fixen Zeit erreicht
werden, berechnet. Da in einem Stream-Typ kein übertragenes Objekt existiert,
ist die verfügbare
Bandbreite B.
-
Die
Bandbreite B des Gesamtnetzwerks 300 und die verfügbare Bandbreite
B-b, berechnet basierend auf der Bandbreite B, werden in der vorliegenden
Ausführungsform
vom Transceiver 101 gemessen. Dieses Messergebnis wird
der Übertragungsabwicklervorrichtung 106 übersendet.
Wie beschrieben, muss der Transceiver 101 keine Funktion
zum Messen der verfügbaren
Bandbreite aufweisen. Die Messung der verfügbaren Bandbreite kann an anderen Stellen
durchgeführt
werden.
-
Wie
somit beschrieben, wird, wenn eine verfügbare Bandbreite im Netzwerk 300 existiert,
d.h. B-b > 0, die
Pufferung des Objekts mit dem Minimalwert des "begin"-Attributs unter den Stream-Typ-Objekten,
welches die Pufferung nicht beginnt oder wieder öffnet, gestartet (Schritt S820).
In diesem Prozess ist das Stream-Typ-Objekt nur das Videoobjekt "video1.mpg" und der Wert des "begin"-Attributs ist anhand
seiner Beschreibung 5s. Daher wird eine Anweisung zum Anfordern
der Übertragung
des Videoobjekts "video1.mpg" zum Transceiver 101 gesendet. Der
Transceiver 101 fordert den in der URL des Videoobjekts "video1.mpg" beschriebenen Server 202 auf,
das Videoobjekt "video1.mpg" in Reaktion auf diese
Anweisung zu übertragen.
Das Übertragen
einer in Kapitel 10 von RFC2326 des RTSP beschriebenen PLAY-Anforderung
führt beispielsweise
diese Übertragungsanforderung
durch.
-
Der
Server 202, der die PLAY-Anforderung empfing, die den Übertragungsanforderungen
entspricht, überträgt die Pakete,
in denen das Videoobjekt "video1.mpg" durch RTSP aufgespalten
ist, an das Client-Terminal 100. Das Client-Terminal 100 speichert
die vom Transceiver 101 empfangenen Pakete im Empfangspuffer 102 um
lediglich eine vorgegebene Puffergröße. Wenn die empfangenen Pakete die
Puffergröße erreichen,
wird der Start der Wiedergabe vorübergehend gestoppt, falls die
Menge an empfangenen Daten eines anderen Stream-Typ-Objekts im Block
nicht die Puffergröße der Wiedergabe erreicht
oder der vorherige Block nicht geendet hat. Daher wird beispielsweise
das im 10. Kapitel von RFC2326 des RTSP erwähnte Pausesignal übertragen,
die Übertragung
der Nachricht der Pakete wird vorübergehend unterbrochen und
der Empfang endet. Wenn der Empfang vorübergehend unterbrochen wird,
bevor die empfangenen Daten die Puffergröße erreichen, wird das PAUSE-Signal übertragen und
der Empfang von Daten wird wieder gestartet und das PLAY-Signal
wird übertragen.
-
Auf
diese Weise wird nachfolgend lediglich als eine Pufferung bezeichnet,
die Transferdaten des Stream-Objektes anzufordern und Daten einer
Puffergröße zu empfangen,
die zum Starten der Wiedergabe notwendig ist.
-
Wenn
die Pufferung des Videoobjektes "video1.mpg" beginnt, kehrt der
Prozess zu Schritt S818 zurück.
Jedoch existiert das Objekt, das die Pufferung nicht startet oder
wieder öffnet,
nicht. Somit schreitet der Prozess zu Schritt S821 fort. Wenn bestätigt wird,
dass die Pufferung des Videoobjekts "video1.mpg" beendet ist, schreitet der Prozess
zu Schritt S822 fort, um zu bestätigen,
dass die Wiedergabe des ersten Blocks noch nicht ausgeführt worden
ist. Dann beginnt die Wiedergabe des ersten Blockes (Schritt S823).
-
Ein
das als nächstes
wiederzugebendes Objekt enthaltender Block wird aus dem Timing-Baum 107 eingelesen
(Schritt S823). In dem Fall, dass der Timing-Baum 107 durch
Tiefenprioritätssuche
aus dem nächsten
Kindelement des Elternelementes des Blocks verfolgt wird, der derzeit
wiedergegeben wird, wenn das Multimediaobjektelement detektiert
wird, ist das detektierte Element das im als nächstes wiederzugebenden Block
enthaltene Objekt. Wenn das "par"-Element detektiert
wird, sind alle im "par"-Element enthaltende
Multimediaobjekte die im als nächstes
wiederzugebenden Block enthaltenen Objekte.
-
In
diesem Prozess sind die im als nächstes wiederzugebenden
Block enthaltenen Objekte das Videoobjekt "video2.mpg", das Audiosystemobjekt "audio1.mp3" und das Textobjekt "text1.txt". Daher kehrt der
Prozess von Schritt S823 zu Schritt S802 zurück. Da das Videosystemobjekt "video1.mpg" entsprechend dem
Stream-Typ-Objekt in dieser Zeit wiedergegeben wird, schreitet der
Prozess zu Schritt S803 fort.
-
Das
Videoobjekt "vidceo2.mpg" und das Audioobjekt "audio1.mp3" unter den als nächstes wiederzugebenden
Objekten zeigen den Stream-Typ mittels der Beschreibung der URL
an und das Textobjekt "text1.txt" zeigt das Download-Typ-Objekt
mittels der Beschreibung der URL an. Wie derart beschrieben, da
es das Videosystemobjekt "video2.mpg" und das Audioobjekt "audio1.mp3" entsprechend dem Stream-Typ-Objekt
als das als nächstes
wiederzugebende Objekt gibt, schreitet der Prozess von Schritt S803
zu Schritt S804 fort. Die Werte der "begin"-Attribute des Videosystemobjekts "video1.mpg" und des Audioobjekts "audio1.mp3" werden geprüft und die
SETUP-Anforderung wird in der Reihenfolge durchgeführt, in
der der Wert klein ist (Schritt S804). Bei dieser Ausführungsform,
da das "begin"-Attribut des Videosystemobjekts "video2.mpg" nicht spezifiziert
ist, ist es 0s und das Audioobjekt "audio1.mp3" ist mittels Spezifikation des "begin"-Attributs 5s. Daher
wird zuerst das SETUP des Videosystemobjektes "video2.mpg" im Schritt S804 angefordert und dann wird
das SETUP des Audioobjekts "audio1.mp3" angefordert.
-
Nachfolgend
wird geprüft,
ob die Bandbreite des Netzwerkes 300 eine Leere enthält (Schritt S805).
Der Prozess rückt
zu Schritt S806 zu dem Zeitpunkt vor, an dem das Netzwerk die verfügbare Bandbreite
enthält.
Die Fälle,
in denen die Bandbreite des Netzwerks 300 eine Leere enthält, beinhalten
einen Fall, bei dem die Wiedergabe des gesamten Stream-Typ-Objekts abgeschlossen
ist und einen Fall, bei dem es nicht so ist. Wenn alle Stream-Typ-Objekte
wiedergegeben worden sind, rückt
der Prozess zu Schritt S814 vor. Die von Schritt S814 gefolgten
Prozesse sind wie oben beschrieben. Nunmehr wird ein Fall beschrieben,
in dem die Wiedergabe aller Stream-Typ-Objekte nicht abgeschlossen
ist.
-
In
diesem Fall schreitet der Prozess zu Schritt S807 fort, um zu bestimmen,
ob die Wiedergabeendzeit F des Objektes festgelegt ist. Der Zeitwert, der
im "dur"-Attribut oder dem End-Attribut
explizit ist, um das Timing des Wiedergabeendes zu bestimmen, wird
für beide
Videosystemobjekte video1.mpg und Bildobjekt image1.jpg spezifiziert,
die zu diesem Zeitpunkt wiedergegeben werden. Daher wird die Wiedergabeendzeit
F auf 25 Sekunden ab dem Beginn der in 4B gezeigten
Wiedergabe festgelegt.
-
Wenn
die Wiedergabeendzeit F festgelegt ist, schreitet der Prozess zu
Schritt S808 fort. Bei diesem Schritt werden die Zeiten T(D1) bis
T(Dn), die zum Übertragen
der Menge von Daten D1 bis Dn notwendig sind, die notwendig sind
zum Starten der Wiedergabe des Stream-Typ-Objektes des nächsten Blocks
in der verfügbaren
Bandbreite des Netzwerks 300, erhalten. In diesem Fall
ist zuerst die Information der Menge an Daten Dv und Da, die zum
Starten der Wiedergabe des Videosystemobjekts "video1.mpg"" und
des Bildobjekts "image1.jpg" notwendig ist, erfasst.
Diese Mengen an Daten Dv und Da entsprechen den Puffergrößen, die
zum Starten der Wiedergabe des Videosystemobjekts "video1.mpg" und des Audioobjekts "audio1.mp3" notwendig sind.
Daher wird die zum Übertragen
von Dv und Da entsprechenden Daten notwendige Zeit durch T(Dv) =
Dv/b und T(Da) = Da/b (wobei die verfügbare Bandbreite b ist) repräsentiert.
-
In
der Zeit F-f° (T(D))
= F – (T(Dv)
+ T(Da))) beginnt die Pufferung des Stream-Typ-Objektes sequentiell
ab dem Objekt, bei dem der Wert des "begin"-Attributes klein ist (Schritt S809).
In diesem Fall ist F – f° (T (D))
= F – (T
(Dv) + T (Da))) und die Pufferung des Videosystemobjekts "video2.mpg", bei dem der Wert
des "begin"-Attributes kleiner
ist, beginnt. Wenn diese Pufferung endet, beginnt die Pufferung
des Audioobjektes "audio1.mp3". In diesem Fall überträgt der Server 202 das
Objekt mit einer Übertragungsrate,
die nicht größer ist
als die verfügbare
Bandbreite b des Netzwerks 300 und die Abwicklervorrichtung 106 fügt beispielsweise
Informationen bezüglich
der verfügbaren
Bandbreite b zur Übertragungsanforderung
hinzu und überträgt sie über den Transceiver 101 zum
Server 202. Falls die Bedingung F – f° (T(D)) = < 0 existiert, beginnt die Pufferung
des Stream-Typ-Objektes sofort.
-
Anders
als bei der Ausführungsform
von 3 beginnt die Pufferung des Stream-Typ-Objektes
in Reihenfolge ab dem Objekt, bei dem der Wert des "begin"-Attributes klein
ist, unmittelbar dann, wenn die Wiedergabeendzeit des Objektes unter Wiedergabe
in Schritt S807 (Schritt S810) nicht festgelegt ist. In diesem Fall
beginnt die Pufferung des Videoobjektes "video2.mpg", dessen Wert des "begin"-Attributs klein ist. Wenn diese Pufferung
endet, beginnt die Pufferung des Audioobjektes ""audio1.mp3".
-
Wenn
die Wiedergabe des Videoobjektes "video1.mpg" entsprechend dem Stream-Typ-Objekt unter
Wiedergabe nach 15 Sekunden nach Start der Wiedergabe endet, wie
in 4B gezeigt (Schritt S811), wird detektiert, dass
es ein Stream-Typ-Objekt gibt,
das die Pufferung nicht abschließt (Schritt S812). Wenn die
Pufferung des Videoobjektes "video1.mpg" und des Audioobjekts "audio1.mp3" entsprechend dem
Stream-Typ-Objekt
endet, endet die Pufferung (Schritt S813).
-
Als
nächstes
wird geprüft,
ob ein Download-Typ-Objekt existiert (Schritt S814). Falls ein Download-Typ-Objekt
existiert, wird das Objekt heruntergeladen (Schritt S815). In diesem
Fall existiert ein Textobjekt "text1.txt" als Download-Typ-Objekt und
das Textobjekt "text1.txt" wird herunter geladen.
-
Wenn
im Schritt S814 kein Download-Objekt existiert oder ein Download-Typ-Objekt
existiert und der Download im Schritt S815 abgeschlossen ist, wird
entschieden, ob es ein Stream-Typ-Objekt gibt, welches die Pufferung
nicht komplettiert (Schritt S816). Falls ein Stream-Typ-Objekt existiert,
schreitet das Verfahren zu Schritt S817 fort. Der Wert des "begin"-Attributes des Stream-Typ-Objektes,
der kein SETUP durchführt,
wird geprüft,
um SETUP gemäß einer
Sequenz des kleinen Wertes anzufordern. In diesem Fall, falls die
Pufferung entweder des Videoobjektes "video2.mpg" oder des Audioobjektes "audio1.mp3", die Stream-Typ-Objekte
sind, nicht abgeschlossen ist, schreitet das Verfahren zu Schritt S817
fort. Jedoch ist das SETUP sowohl des Videoobjektes "video1.mpg" als auch des Audioobjektes "audio1.mp3" in dem Verfahren
abgeschlossen. Daher schreitet das Verfahren zu Schritt S818 fort,
ohne in Schritt S817 irgendetwas durchzuführen.
-
Wenn
die Pufferung entweder des Videoobjektes "video2.mpg" oder des Audioobjektes "audio1.mpg" nicht abgeschlossen
ist, wird bestätigt, ob
die Bandbreite des Netzwerks 300 eine Leere hat (Schritt
S819). Falls das Netzwerk 300 die verfügbare Bandbreite aufweist,
beginnt die Pufferung des Objekts mit dem kleinen Wert des "begin"-Attributes unter
den Stream-Typ-Objekten (in diesem Fall des Videoobjektes "video1.mpg") (Schritt S820)
Wenn das Stream-Typ-Objekt, dass die Pufferung nicht beginnt, existiert,
und bestätigt
werden kann, dass das Netzwerk die verfügbare Bandbreite aufweist,
beginnt die Pufferung des Stream-Typ-Objektes.
-
Wenn
die Pufferung sowohl des Videoobjekts "video1.mpg" als auch des Audioobjektes "audio1.mp3" die Stream-Typ-Objekte
sind, abgeschlossen ist (Schritt S821) wird sichergestellt, ob die Wiedergabe
aller Objekte im Block, die derzeit aktuell wiedergegeben werden,
geendet hat (Schritt S822). Falls die Wiedergabe beendet ist, wird
die Wiedergabe des nächsten
Blockes gestartet (Schritt S823). Das als nächstes wiederzugebende Objekt
wird überprüft (Schritt
S824). Falls das als nächstes
wiederzugebende Objekt nicht in diesem Prozess liegt, beendet die Übertragungsabwicklervorrichtung 106 den
Prozess.
-
Die
von der Übertragungsabwicklervorrichtung 106 und
dem Transceiver 101, wie oben beschrieben, erfassten Multimediaobjektdaten,
werden im Empfangspuffer 102 gespeichert und dann an die Wiedergabevorrichtung 110 gesendet.
Die Steuerung 109 weist die Wiedergabevorrichtung 110 an, das
Objekt zu einer geeigneten Zeit und Position, basierend auf dem
Timing-Baum 104 und der Bereichstabelle 108, wiederzugeben.
Die Wiedergabevorrichtung 110 wählt Decoder 111a bis 111d anhand
des Datentyps des Objekts in Reaktion auf die Anweisung aus und
sendet eine Ausgabe des ausgewählten
Decoders an die Anzeigeeinheit 112 und den Lautsprecher 113.
Wenn die Wiedergabevorrichtung 110 die Wiedergabe startet
oder beendet, teilt sie der Steuerung 109 Start oder Ende
der Wiedergabe mit. Die Steuerung 109 empfängt die
Mitteilung und weist die Interpretationsvorrichtung 105 an,
den Timing-Baum 107 zu aktualisieren. Diese Prozesse werden
durchgeführt,
bis die Übertragungsabwicklervorrichtung 106 den
Prozess beendet und die Wiedergabevorrichtung 110 Wiedergabe
und Anzeige beendet.
-
Gemäß der vorliegenden
Ausführungsform fordert
das Terminal die Übertragung
der zum Starten der Wiedergabe des als nächstes wiederzugebenden Multimediaobjekts
unter Verwendung der verfügbaren
Bandbreite des Netzwerkes 300 von den Servern 201 und 202 an,
während
das Client-Terminal 100 die Multimediaszene wiedergibt.
Als Ergebnis kann die bis zum Start der nächsten Wiedergabe notwendige Zeit
verkürzt
werden.
-
Bei
dieser Ausführungsform
wird das als nächstes
wiederzugebende Multimediaobjekt erfasst, während die Client-Terminal 100-id
die Multimediaszene wiedergibt. Daher ist es nicht notwendig, alle
Multimediaobjekte in der Szene zu erfassen, bevor die Wiedergabe
des Multimediaobjektes beginnt. Aus diesem Grund kann die Verzögerung bis
zum Beginn der Wiedergabe und der Pufferbereich des Client-Terminales 100 verkleinert
werden.
-
Weiterhin
erfasst in der vorliegenden Ausführungsform
das Client-Terminal 100 stets alle Multimediaobjekte vom
Download-Typ und Daten der Puffergröße, die zum Starten der Wiedergabe
des Multimediaobjektes des Stream-Typs notwendig ist, vor der Wiedergabe
dieser Objekte. Aufgrund dessen ist es möglich, eine diskontinuierliche
Wiedergabe am Client-Terminal 100 weiterhin
zu verhindern.
-
(Zweite Ausführungsform)
-
Die
zweite Ausführungsform
der vorliegenden Erfindung wird unten beschrieben. Die zweite Ausführungsform
teilt mit der ersten Ausführungsform
die Strukturen der 1 bis 7. Jedoch
sind die Funktionen, in denen die verfügbare Bandbreite des Netzwerks 300 und
die Gesamtbandbreite des Netzwerkes 300 im Transceiver 101 von 1 sichergestellt
werden und die Funktion der Flusssteuerung zur Durchführung der
Datenübertragung
im Bereich der vom Client im Server 202 spezifizierten Bandbreite
von 2 sind nicht immer notwendig.
-
Bei
der vorliegenden Ausführungsform, wenn
die Übertragung
der Multimediaszene von einem Anwender angefordert wird, der beispielsweise "http://foo.com/sample1.smil" (die URL der in 3 gezeigten
SMIL-Datei "sample1.smil") eintippt oder auf
einen Link für
die URL in einer auf der Anzeige 112 angezeigten Homepage
klickt, werden die Prozesse ab dem Empfang der SMIL-Datei "sample1.smil" bis zur Bildung
des Timing-Baums 107, in 7 gezeigt, ähnlich wie
bei der ersten Ausführungsform
durchgeführt.
In der vorliegenden Ausführungsform
unterscheidet sich die durch die Übertragungsabwicklervorrichtung 106 von 1 durchgeführte Verarbeitung
von der der ersten Ausführungsform.
-
Die
Verarbeitung der Übertragungsabwicklervorrichtung 106 in
der vorliegenden Ausführungsform
wird in Verbindung mit dem in 11 gezeigten Flussdiagramm
erläutert.
Ein Merkmal der Übertragungsabwicklervorrichtung 106 der
vorliegenden Ausführungsform
ist es, mehrere von der SMIL-Datei beschriebenen Objekte in Einzelblöcke (ein
einzelnes Mediaobjektelement ohne <par>-Element im Elternelement
in der Ausführungsform
von 3) oder Blöcke
(ein Satz einer Mehrzahl von zwischen <par> und </par>-Elementen in der Ausführungform
von 3 enthaltenden Medienobjekten), die gleichzeitig wiederzugeben
sind, aufzuteilen und den Server aufzufordern, nur ein zum Block
unmittelbar nach dem zu einem Objekt während der Wiedergabe gehörenden Block
gehöriges
Objekt zu übertragen.
-
Beim
Start wird das erste wiederzugebende Objekt durch den Timing-Baum 107 erfasst
(Schritt S901). In den in den 7 und 8 gezeigten
Beispielen sind die durch einen Betrieb ähnlich der ersten Ausführungsform
wiederzugebenden Objekte das Videoobjekt "video1.mpg" und das Bildobjekt "image1.jpg".
-
Als
nächstes
wird untersucht, ob das Stream-Typ-Objekt wiedergegeben wird (Schritt S902).
In diesem Fall, da die Wiedergabe noch nicht ausgeführt wird
und kein Objekt in Wiedergabe existiert, schreitet das Verfahren
zum Schritt S911 fort, wo untersucht wird, ob das Download-Typ-Objekt
im als nächstes
wiederzugebenden Block existiert. Falls das Download-Typ-Objekt
existiert, wird es heruntergeladen (Schritt S912). Das Videoobjekt "video1.mpg" ist ein Stream-Typ-Objekt
durch die Beschreibung der URL und das Bildobjekt "image1.jpg" ist ein Download-Typ-Objekt
durch die Beschreibung der URL. Anders ausgedrückt, wird das Bildobjekt "image1.jpg", das ein Download-Typ-Objekt
ist, heruntergeladen. Das Verfahren des Herunterladens ist ähnlich zu
dem der ersten Ausführungsform
und die Abwicklervorrichtung 106 weist den Transceiver 101 an,
die Übertragung
des Bildobjektes "image1.jpg" anzufordern. Der
Transceiver 101 weist den Server 201, der durch
die URL des Bildobjektes "image1.jpg" beschrieben ist,
an, das Bildobjekt "image1.jpg" herunterzuladen.
-
Wenn
der Download des Download-Typ-Bildobjektes "image1.jpg" auf diese Weise abgeschlossen worden
ist, schreitet das Verfahren zu Schritt S913 fort, um zu untersuchen,
ob es ein nächstes Stream-Typ-Objekt
gibt. In diesem Fall schreitet das Verfahren zu Schritt S914 fort,
da ein Stream-Typ-Videoobjekt ""video1.mpg" existiert. In diesem
Schritt wird der Wert des "begin"-Attributs des Videoobjektes "video1.mpg" untersucht und das
SETUP der Übertragung
des Videoobjektes "video1.mpg" wird angefordert.
Das Verfahren des SETUP ist ähnlich der
ersten Ausführungsform.
Darüber
hinaus weist die Übertragungsabwicklervorrichtung 106 den
Transceiver 101 an, die Übertragung des Videoobjekts "video1.mpg" anzufordern, um
die Pufferung durchzuführen
(Schritt S915). Das Verfahren der Pufferung ist ähnlich dem der ersten Ausführungsform.
-
Das
Verfahren schreitet zu Schritt S916 fort, wenn das Puffern des Videoobjekts "video1.mpg" im Schritt S915
abgeschlossen ist und im Schritt S913 kein Stream-Typ-Objekt existiert.
Falls im Schritt S916 festgestellt wird, dass die Pufferung des
Videoobjektes "video1.mpg" abgeschlossen ist
und die Wiedergabe aller Objekte geendet hat, beginnt die Wiedergabe
des nächsten
Blocks (S917).
-
Das
Verfahren schreitet zu Schritt S918 fort, um zu untersuchen, ob
es einen als nächstes
wiederzugebenden Block gibt. In diesem Fall wird durch einen Vorgang ähnlich der
ersten Ausführungsform
herausgefunden, dass das Videoobjekt "video2.mpg", das Audio-Objekt "audio1.mp3" und das Textobjekt "text1.txt" als der als nächstes wiederzugebende Block
existieren. Wenn ein als nächstens
wiederzugebender Block in Schritt S918 existiert, kehrt das Verfahren
zu Schritt S902 zurück,
um wieder zu untersuchen, ob ein Stream-Typ-Objekt wiedergegeben wird.
-
In
diesem Fall, da ein Stream-Typ-Objekt "video1.mpg" wiedergegeben wird, schreitet das Verfahren
zu Schritt S903 fort, um zu untersuchen, ob ein Stream-Typ-Objekt
im als nächstes
wiederzugebenden Block existiert. Das Videoobjekt "video2.mpg" und das Audioobjekt "audio1.mp3" unter den als nächstes wiederzugebenden
Objekten sind ein Stream-Typ-Objekt durch die Beschreibung der URL
und das Textobjekt ""text1.txt" ist ein Download-Objekt
durch die Beschreibung der URL. Anders ausgedrückt, da das Videoobjekt "video2.mpg" und das Audioobjekt "audio1.mp3", die Stream-Typ-Objekte
sind, existieren, schreitet das Verfahren zu Schritt S904 fort,
um eine Anforderung für
ein SETUP des Stream-Typ-Objektes durchzuführen.
-
Der
Wert des "begin"-Attributs wird in
Schritt S904 untersucht. In diesem Beispiel ist das "begin"-Attribut des Videoobjektes "video2.mpg" 0s mangels Spezifikation,
und dasjenige des Audioobjektes "audio1.mp3" wird aufgrund der
Spezifikation des "begin"-Attributes 5s. Daher
wird zuerst das SETUP des Videoobjektes "video2.mpg" angefordert und dann wird das SETUP
des Audioobjektes "audio1.mp3" angefordert.
-
Wenn
die Wiedergabe des Videoobjekts "video1.mpg" entsprechend dem
Stream-Typ-Objektes nach 15 Sekunden ab dem Start der Wiedergabe endet,
wie in 4B gezeigt (S905), wird untersucht, ob
ein Download-Typ-Objekt in dem als nächstes wiederzugebenden Block
existiert (Schritt S906). Falls ein Download-Typ-Objekt existiert,
wird es heruntergeladen (Schritt S907). In diesem Fall, da ein Download-Typ-Textobjekt "text1.txt" im Objekt des als
nächstes
wiederzugebenden Block existiert, wird das Textobjekt "text1.txt" heruntergeladen.
-
Es
wird untersucht, ob es ein Stream-Typ-Objekt gibt (Schritt S908).
Falls es ein Stream-Typ-Objekt gibt, wird dieses der Pufferung unterworfen
(Schritt S909). In diesem Fall, da das Videoobjekt "video2.mpg" und das Audioobjekt "audio1.mp3" existieren, wird
eine Übertragungsanforderung
vom Videoobjekt "video2.mpg" durchgeführt, dessen
Wert des "begin"-Attributs klein
ist und die Pufferung beginnt. Wenn die Pufferung des Videoobjektes "video2.mpg" abgeschlossen ist,
wird die Übertragung
des Audioobjektes "audio1.mp3" angefordert und
dann wird die Pufferung durchgeführt.
-
Wenn
die Existenz eines Stream-Typ-Objektes in Schritt S908 festgestellt
wird und die Pufferung des Stream-Typ-Videoobjektes "video1.mpg" und des Audioobjektes "audio1.mp3" in Schritt S909
abgeschlossen worden ist, oder wenn in Schritt S908 festgestellt
wird, dass kein Stream-Typ-Objekt existiert, schreitet das Verfahren
zu Schritt S910 fort. Wenn in Schritt S910 festgestellt wird, dass
die Pufferung abgeschlossen ist und dass die Wiedergabe aller Objekte
(Bildobjekt "image1.jpg" in diesem Fall) geendet
hat, beginnt die Wiedergabe des nächsten Blocks (S917). Es wird
in Schritt S918 untersucht, ob der nächste Block existiert. Da in
diesem Verfahren kein nächster
Block existiert, beendet die Übertragungsabwicklervorrichtung 106 das
Verfahren.
-
Der
Prozess von Wiedergabe und Anzeige des durch die Übertragungsabwicklervorrichtung 106 und
den Transceiver 101, wie oben erhaltenen Multimediaobjektdaten,
ist ähnlich
der der ersten Ausführungsform.
-
Gemäß der vorliegenden
Ausführungsform, wenn
nur ein Download-Typ-Objekt bei Wiedergabe der Multimediaszene wiedergegeben
wird, können die
Daten, die zum Starten der Wiedergabe des als nächstes wiederzugebenden Multimediaobjektes notwendig
sind, vorab unter Verwendung des Netzwerks 300 erfasst
werden, das für
die Übertragung des
Multimediaobjektes nicht verwendet wird. Als Ergebnis kann die erforderliche
Zeit bis zum Start der nächsten
Wiedergabe vermindert werden.
-
In
der vorliegenden Ausführungsform
werden Daten des als nächstes
bei Wiedergabe einer Szene erforderlichen Multimediaobjektes jedes
Mal erfasst. Daher ist es nicht nötig, Daten aller Multimediaobjekte
in einer Szene zu erfassen, bevor die Wiedergabe der Multimediaszene
gestartet wird. Aus diesem Grund wird die Verzögerung bis zum Beginn der Wiedergabe
verkürzt
und der Pufferbereich des Client-Terminales 100 kann verkleinert
werden.
-
In
der vorliegenden Ausführungsform
werden alle für
den Beginn der Wiedergabe notwenigen Download-Typ-Objektdaten und
Daten der Puffergröße des Stream-Typ-Objektes
immer vor der Wiedergabe jener Objekte erfasst. Daher wird eine
diskontinuierliche Wiedergabe von Multimediadaten am Client-Terminal 100 weiter
verhindert.
-
In
der zweiten Ausführungsform,
wenn mehrere Stream-Typ-Objekte im selben Block enthalten sind,
wird die SETUP-Anforderung anhand einer Abfolge von kleinen Werten
des "begin"-Attributes durchgeführt. Jedoch
kann SETUP für
das nächste Objekt
angefordert worden, ohne auf den Abschluss der SETUP-Anforderung
des Objektes in der SETUP-Anforderung zu warten.
-
In
der obigen Ausführungsform
wird der Pufferung des Stream-Typ-Objektes in einer Sequenz eines
kleinen Werts des "begin"-Attributes durchgeführt. Jedoch
kann die Pufferung des nächsten
Objektes gestartet werden, ohne auf den Abschluss der Pufferung
des nun gepufferten Objektes zu warten.
-
In
der ersten und zweiten Ausführungsform empfängt das
Client-Terminal 100, d.h. der Inhaltswiedergabeapparat,
die SMIL-Datei, welche die Szenen-deskriptive Information ist, vom
Server 201, der eine Inhaltsverteilungsvorrichtung ist, über das
Netzwerk 300. Jedoch kann die Datei von einem anderen Ort
eingegeben werden.
-
Gemäß der vorliegenden
Erfindung, wie oben diskutiert, werden die den Inhaltsdaten während der
Wiedergabe folgenden Inhaltsdaten vorab erfasst, so dass die Wiedergabe
mit der von der gehaltenen Szenenbeschreibungsinformation spezifizierten
Zeit durchgeführt
werden kann. Nebenbei kann die Verzögerung bis zum Beginn der Wiedergabe
oder zum Beginn der nächsten
Wiedergabe verkürzt
werden und der Pufferbereich kann ebenfalls verkleinert werden.