-
Technisches
Gebiet der Erfindung
-
Die Erfindung betrifft Informations-Kommunikationen
in interaktiven Multimediasystemen und insbesondere eine Vorrichtung
und ein Verfahren zur Ausführung
von interaktiven Fernsehanwendungen auf Set Top Einheiten.
-
Stand der Technik
-
Der Austausch von Informationen gemäß einem
Gebiet von interaktiven Multimediageräten verwendet wenigstens einen
Sender und mehrere Multimediaterminals, die über ein Kommunikationsnetz
mit dem Sender verbunden sind.
-
Das Interesse, das der Verbrauchermarkt
in diesem technischen Gebiet zeigt, nimmt zu. Jedoch sind zwei Gesichtspunkte
kritisch für
den Erfolg des interaktiven Fernsehgeschäfts: hochqualitative interaktive
Anwendungen und die Verfügbarkeit
leistungsfähiger
Geräte
für die
Erzeugung dieses Anwendungen.
-
Die Herstellungsgeräte sollten
durch Designer ohne Kenntnis der Herunterlade- und Decoder-Anforderungen
anwendbar sein. Sie sollten für
die Fernsehproduktion gut geeignet sein, die Verwaltung von sogenannten
Life-Sendungen ermöglichen
und die Sendeanforderungen berücksichtigen.
-
Das Dokument WO 98/31116 (DIVA SYSTEMS
CORP) beschreibt ein Verfahren und eine Vorrichtung zur Bildung
einer interaktiven Menüstruktur
in einem interaktiven Informationsverteilsystem. Jede Menüstruktur enthält ein in
herunterladbaren Applets enthaltenes Menü, die auf Anforderung von der
Anlage des Serviceanbieters zu dem Set Top Terminal für die Wiedergabe übertragen
werden.
-
Das Dokument "OpenAuthor", veröffentlicht
durch OpenTV, betrifft die Erstellung von interaktiven Anwendungen.
Die Anwendungen werden in einem kompakten, optioptimierten kompilierten
Code geliefert, der direkt auf der virtuellen Anordnung eines Fernsehempfängers läuft.
-
Das Dokument
US 5 673 401 (ROBIN) beschreibt ein
objektorientiertes System für
die Erzeugung und die Wiedergabe von Steuerwvörtern, die es den Benutzern
eines interaktiven Netzes ermöglichen, über eine graphische
Benutzerschnittstelle Steuerfunktionen zu erkennen und zu wählen. Die
Steuerwörter,
die sichtbar oder hörbar
sein können,
gehören
zu Steuerobjekten. Steuerobjekte sind in einer Hierarchie angeordnet
und können
ein oder mehrere Kindersteuerobjekte (child control objects) enthalten.
-
Die Designer für interaktive Fernsehanwendungen
(ITVA) müssen
die Tatsache berücksichtigen,
dass die Anforderung der Verbraucher anders sind als die Anforderungen
von Benutzern für
Computerstationen. Ein anderer Punkt ist der, dass aufgrund der
unterschiedlichen Merkmale des Fernsehnetzes die Audio/Video-Medien
in die Lösung
integriert werden müssen.
Schließlich
haben die spezifischen Anforderungen an die interaktive Decoder
und Merkmale wie der begrenzte Speicher, die CPU, die Wiedergabeeinheit
und die IR-Fernbedienung Konsequenzen auf das Design von INA und
den tiefer liegenden Ausführungsvorgang.
-
Das OpenTV Operating System, verfügbar von
OpenTV, Inc. Mountainview CA, das eine OS Stütze bildet, Zugrifffunktionen
zu graphischen Schichten und Netzen auf Decodern sind gut geeignet
für interaktive Decoder,
da eine große
Anstrengung auf die Ressourcenkonservierung und die Verfügbarkeit
für den
Benutzer getroffen wurde.
-
Es bildet außerdem grundlegende und effiziente
Funktionen, die verhindern, dass die Anwendung hinsichtlich der
Graphik, des Netzes und der CPU von der Hardware abhängig ist.
OpenTV unterstützt
das Laden und die Ausführung
der ITVA in der Form von Programm und Daten. Jedoch muß der ITVA-Entwickler
seine eigenen Anwendungen unter Anwendung einer Ausstattung in einer
C-Sprache entwickeln, wenngleich Authorensysteme dieses in der Zukunft
leichter durchführen
können.
-
Eine andere Unzulänglichkeit bei der Portabilität ist die,
dass die Umsetzung einer in C geschriebenen Anwendung in ein anderes
System ein mühsamer
Vorgang ist. Der Grund ist der, dass die Struktur der Anwendung
in dem Code enthalten oder vergraben ist.
-
Außerdem erfordert der Zusatz
jedes Merkmals in eine existierende Anwendung oder die Modifikation des
Darstellungsstils ein Neuschreiben des Codes und die Regenerierung
der Anwendung.
-
Und schließlich muß ein allgemeines Merkmal wie
die Verwaltung des Speichers für
eine Anwendung in jeder Anwendung durchgeführt werden. OpenTV bildet einen
grundlegenden Mechanismus dafür,
jedoch muß der
Entwickler nach wie vor die Verwaltung programmieren. Diese Verwaltung
kann Teil einer Bibliothek sein, jedoch muß eine Laufzeiteinheit sie
verarbeiten. Es sei bemerkt, dass der Interpreter mit Mitteln monoverwickelt
ist, d. h., dass nur eine Anwendung zur Zeit laufen kann.
-
Die Geräte oder Hilfsmittel, die bei
Personal Computern verfügbar
sind, sind im allgemeinen leistungsfähig und leicht zu benutzen.
Die Möglichkeit,
wie sie Echtzeit-AudioVideo-Material
verarbeiten, paßt
nicht sehr gut für
das Sendegebiet, da das Material als besondere Hypermedia-Objekte
verarbeitet wird. Wenig Aufmerksamkeit wird der Speichererhaltung
und der Netzverwaltung gwidmet. Die zugehörigen Herausgeber oder Initiatoren
sind WYSIWYG und intuitiv. Das führt
zu einer Ansicht und einem Gefühl,
dass das fest mit der Navigationsstruktur der Anwendung verbunden
ist.
-
MHEG5 (ISO/IEC Multi- and Hyper-Media
Coding Expert Group), das seine Existenz der zunehmenden Konvergenz
von Sende- und interaktiven Technologien verdankt, ist ein aus MHEG1
abgeleitetes Modell. Letzteres hat sich als ziemlich kompliziert
erwiesen, während
MHEG5 ein Format ist, das die Beschreibung von interaktiven Anwendungen
in Form von Kombinationen von interaktiven Hypermedia-Objekten ermöglicht. MHEG-5
zeigt eine Anwendung eines Satzes von mit "Szenen" bezeichneten
Objekten, die andere Objekte enthalten. Typische Objekte, die durch
MHEG5 verarbeitet werden und in Szenen enthalten sind, sind Tasten, Video,
Ton usw.. MHEG5 befaßt
sich mit den Problemen der Übertragung
der Anwendung zu einem Terminal durch Bildung eines Codierschemas
aufgrund von ASN1 (Abstract Syntax Notation 1). Ein auf dem Terminal (oder
Decoder) laufender Interpreter lädt
die Szenen und stellt sie dar.
-
Ein sehr einfaches Reaktionsverhalten
kann auch angegeben werden (z. B. wenn eine Taste gedrückt wird,
startet ein Video). Dieses Merkmal basiert auf einem Satz von elementaren,
auf die Objekte anwendbaren Aktionen. Um ein spezifischeres Verhalten
zu bekommen, muß man
sich auf MHEG3 verlassen, das definiert, wie externe Anwendungen
mit dem MHEG5-Interpreter verbunden werden können.
-
Jedoch muß in dieser Lösung der
Designer mit der Liste von MHEG5-Objekten zurechtkommen. Es kann
kein anderes Objekt erstellt werden, und das Problem der Verbindung
einer MHEG5-Anwendung mit einem spezifischen Code kann schwierig
oder knifflig sein.
-
HTML (HyperText Markup Language)
ist ein Format, das für
die Übertragung
von Hypertext-Dokumenten über
das Internet geschaffen wurde. HTML wurde verbessert, um Bilder
und neue Objekte wie Ton oder Video zu enthalten, es bildet jedoch
keine reale interaktive Anwendung. Die HTML-Seiten enthalten Text
und andere Hypermedia-Objekte und es kann eine Navigationsverknüpfung zwischen
diesen Objekten und anderen Seiten bestehen.
-
Java wurde in die HTML aufgenommen,
um die zusätzliche
Möglichkeit
zu schaffen, Programme zusammen mit HTML-Dokumenten zu übertragen.
Sie kommen mit einer Graphik und einer Kommunikationsbibliothek.
In diesem System wird die Darstellung einer interaktiven Anwendung
durch eine HTML- und Java-Datenstruktur gestützt, die zu einem bestimmten
Maß von
Inkonsistenz führen
kann. Außerdem
kann Java zur Zeit nur in dem Internet-Netz durchgeführt werden.
-
Die Ressourcen, die wahrscheinlich
auf den für
die Fernsehaktivität
bestimmten Decodern verfügbar sind,
werden in naher Zukunft ziemlich klein sein. Dieses Problem kann
noch schwerwiegender werden, wenn die interaktiven Anwendungen ihre
Ressourcen mit anderen Anwendungen teilen müssen, wie dem elektronischen
Pro grammführer
(EPG = Electronic Program Guide) und dem System für einen
bedingten Zugriff (Conditional Access system).
-
Mit der Auslösung aufeinanderfolgender Einheiten,
mit der Leistungszunahme, können
die zum Laden eines ITVA in einem Land geeigneten Decoder verschiedene
Möglichkeiten
wiedergeben. OpenTV bewirkt die Unabhängigkeit von der CPU. Jedoch
können
andere Funktionen entwickelt werden, wie die Eingabeverwaltung oder
die verfügbare
Graphikauflösung.
Es muß dieselbe
ITVA auf jedem Decoder laufen.
-
Ein anderes Problem der Steuerung
des Decoders muß berücksichtigt
werden. In der Praxis wird der laufende Decoder durch eine Infrarot-Fernbedienung
mit wenigen Tasten gesteuert. Zum Beispiel muß der Benutzer eine Navigation
mit den 4 Pfeiltasten durchführen.
-
Zusammenfassung
der Erfindung
-
Das Navigationsgerät (NE),
das in den Decodern oder den Set Top Einheiten benutzt werden soll,
befaßt
sich mit dem Problem der Verarbeitung der navigationsorientierten
interaktiven Fernsehanwendung bei den Decodern. Es beabsichtigt,
die oben genannten Punkte durch Darstellung der ITVA in einem spezifischen Format
zu lösen,
bezeichnet mit "Interactive Application Description" (IAD), das
zu einem Ausfall in der genannten Interactive Application Description
gemäß seiner
Navigationsstruktur führt.
Dieser Ausfall enthält
das Audio/Video-Material.
-
Es ist eine Hauptaufgabe der vorliegenden
Erfindung, ein Instrument für
die Ausführung
interaktiver Fernsehanwendungen auf heterogenen Set Top Einheiten
zu bilden.
-
Es ist eine weitere Aufgabe der Erfindung,
die interaktive Fernsehanwendung durch Benutzung eines hochwertigen
Formats wie der genannten Interaktive Application Description darzustellen.
Dieser Abstraktionswert macht es leichter, die ITVA zwischen den
verschiedenen Decodertypen und somit den verschiedenen Anwendungsanbietern
aufzuteilen.
-
Es ist eine weitere Aufgabe der Erfindung,
die ITVA unter Anwendung dieser IAD-Disziplin zu dem Decoder zu übertragen.
Auf diese Weise erlangt das Navigationsgerät (Navigation Engine) den Vorteil
dieser hochwertigen Darstellung über
ihre Speicher-Verwaltungsstrategie und über die Navigationsunterstützung, die sie
bilden kann.
-
Das vorliegende Modell trennt die
Navigationsstruktur der mit Interactive Application Description
bezeichneten Anwendung von dem Weg, den sie bei der Wiedergabe ausführt. Diese
erfolgt durch sogenannte Metaphor Elements (ME). Tatsächlich befassen
sich die MEs nicht nur mit der Schirmverwaltung, sondern verwalten
außerdem
die Benutzereingabe und bestimmen auf diese Weise das Aussehen und
das Gefühl
der Anwendung.
-
Gemäß der vorliegenden Erfindung
muß das
Navigationsgerät,
das auf dem Decoder läuft,
die folgenden drei Hauptfunktionen durchführen:
-
- – Laden
der interaktiven Fernsehanwendung auf den Decodern,
- – Zuordnung
der "Interactive Application Description"-Elemente zu den besonderen
Metaphor Elements, und
- – Veranlassung,
dass sie zusammen arbeiten.
-
Das Verfahren zur Ausführung mehrerer
interaktiver Multimediaanwendungen, die von einer Quelle für interaktive
Multimediaanwendungen zu Verarbeitungsmitteln übertragen werden, enthält folgende
Schritte:
-
- (a) Laden der mehreren interaktiven Multimediaanwendungen
in Verarbeitungsmittel, wobei die mehreren interaktiven Multimediaanwendungen
auf mehreren Knoten für
die Datendarstellung und mehreren Strecken agieren, die die Knoten
für eine
dynamische Darstellung miteinander verbinden,
- (b) Erstellung der interaktiven graphischen Darstellung mit
einer hierarchischen Struktur aus interaktiven Elementen, so dass
die interaktiven Elemente eine Schnittstelle zwischen den Knoten
und einem Anwender darstellen,
- (c) Abbildung der interaktiven graphischen Darstellung für die interaktiven
Elemente, um zu ermöglichen, dass
der Benutzer durch Zuordnung jedes Knotens zu jedem interaktiven
Element mit den interaktiven Multimediaanwendungen zusammenwirkt,
und
- (d) Ausführung
der mehreren interaktiven Multimediaanwendungen in den Verarbeitungsmitteln
aufgrund der Befehle des Benutzers.
-
Die entsprechende Vorrichtung enthält:
-
- – Mittel
zum Laden der mehreren interaktiven Multimediaanwendungen in die
Verarbeitungsmittel, wobei die mehreren interaktiven Multimediaanwendungen
für eine
Datenerstellung auf mehreren Knoten basieren und mehreren Verknüpfungen,
die die Knoten für
die dynamische Darstellung miteinander verbinden,
- – Mittel
zur Erstellung einer interaktiven graphischen Darstellung mit einer
hierarchischen Struktur aus interaktiven Elementen, so dass die
interaktiven Elemente eine Schnittstelle zwischen den Knoten und
einem Benutzer darstellen, und
- – Mittel
zur Abbildung einer interaktiven graphischen Darstellung zu den
mehreren interaktiven Multimediaanwendungen, um so jeden Knoten
jedem interaktiven Element zuzuordnen.
-
Gemäß der vorliegenden Erfindung
enthält
ein zugehöriges
Verfahren für
die Abbildung der mehreren interaktiven Multimediaanwendungen die
folgenden Schritte:
-
- (a) Wahl von Sätzen von Knoten (410, 420,...),
die die zuletzt am wenigsten benutzten Knoten sind,
- (b) graduelle Verwertung der Knoten, die am unteren Ende der
Hierarchie liegen aus der örtlichen
Datenspeicherung unter den gewählten
Sätzen
von Knoten,
- (c) Laden des benötigten
Satzes von Knoten in die Verarbeitungsmittel (130) aufgrund
von Benutzerbefehlen.
-
Umgekehrt enthält eine zugehörige Vorrichtung
für die
Verwaltung der interaktiven Multimediaanwendungen:
-
- – Mittel
zur Wahl von Sätzen
von Knoten (410, 420,...), die die zuletzt am
wenigsten benutzten Knoten sind,
- – Mittel
zum graduellen Verwerfen derjenigen Knoten, die am unteren Ende
der Hierarchie liegen, aus der örtlichen
Datenspeicherung unter den gewählten
Sätzen
von Knoten und
- – Mittel
zum Laden eines nützlichen
Satzes von Knoten in die Verarbeitungsmittel (130) aufgrund
von Benutzerbefehlen.
-
Durch Ausführung des Systems gemäß der vorliegenden
Erfindung werden die folgenden Vorteile erreicht:
-
- – Da
es eine klare und gut definierte Schnittstelle zwischen der Interactive
Application Description und den Metaphor Elements gibt, kann eine
Bibliothek von MEs in dem Decoder gespeichert werden, wodurch Bandbreite
und RAM eingespart werden. Daher können diese Metaphor Elements
für einen
bestimmten Decoder kundenspezifisch angepaßt werden.
- – Außerdem kann
das "Aussehen und Fühlen"
(look and feel) der Anwendung durch Ladung eines neuen Satzes von
Metaphor Elements dynamisch geändert
werden.
- – Das
Navigationsgerät
kann wählen,
welcher Typ von Metaphor Elements bei jedem besonderem Decoder abhängig von
den Hardware- und Software-Anforderungen
dieser MEs benutzt werden sollte,
- – Das
Navigationsgerät
bearbeitet die Tiefenstruktur der Anwendung. Auf diese Weise ist
es in einer Lage, eine Navigationshilfe und einen generischen Mecha nismus
zu bilden, sehr ähnlich
den Merkmalen, die beim Web Browser verfügbar sind, wie die Verwaltung
von Markierungen und Zurückverfolgung
(backtrack).
- – Das
Navigationsgerät
ist aufgrund seiner IAD-Struktur in der Lage, eine intelligente
Speicherverwaltung zu bilden. Außerdem kann die interaktive
Anwendungsbeschreibung (Interactive Application Description = IAD)
unter Anwendung einer virtuellen Speicheranordnung verwaltet werden,
wo der Sendebitstrom als ein virtueller Speicher dient.
- – Das
dynamische Verhalten der Verknüpfungen
benutzenden IAD kann durch eine örtliche
Ausführung
von Teilen des zu der Anwendung gehörenden Codes gewonnen werden,
- – Das
Navigationsgerät
ist in der Lage, zu wissen, welcher Teil (d. h. welcher Satz von
Knoten) der interaktiven Anwendungsbeschreibung zu einer bestimmten
Zeit benötigt
wird, und zwar aufgrund der Seiten, die der Benutzer ansieht. Es
kann somit entscheiden, die Erstellung der Metaphor Elements zu
verschieben oder andere zu beseitigen, um Platz für ein neues
zu schaffen.
-
Kurzbeschreibung
der Zeichnung
-
1 zeigt
ein Anwendungsgebiet der vorliegenden Erfindung mit den verschiedenen
Quellen für
eine Interactive Application Description. 2 zeigt innere Komponenten einer Set
Top Einheit. 3 zeigt
eine Struktur einer Interactive Application Description. 4 zeigt ein Modell einer
Hierarchie innerhalb eines Navigationsgeräts. 5 zeigt eine Datenübertragung zwischen den Navigationsgerät-Modulen,
den Aktoren und dem Navigationsgerät. 6 ist ein Graph einer Interactive Application
entsprechend der im Anhang 2 angegebenen Interactive Application
Description.
-
Außerdem enthält diese Beschreibung drei
Anhänge:
Anhang
1 ist ein Beispiel einer Interactive Application Description.
Anhang
2 ist ein Beispiel eines Codes eines Aktors.
-
Detaillierte
Beschreibung der Erfindung
-
In 1 ist
das Navigationsgerät
(NE = Navigation Engine) ein Teil der auf den Set Top Einheiten
oder Decodern (130) laufenden Software, in denen vorzugsweise
das OpenTV-Betriebssystem durchgeführt wird. Das NE lädt und verarbeitet
von einem interaktiven Anwendungssender (150) empfangene
interaktive Fernsehanwendungen (Interactive TV applications). Die
interaktiven Fernsehanwendungen werden in einem spezifischen Format
beschrieben, bezeichnet mit "Interactive Application Description
oder IAD". Der Decoder (130) ist mit einem Fernsehgerät (110)
verbunden und kommuniziert mit einem Benutzer (120) über eine
Fernbedienung (134).
-
Gemäß der vorliegenden Erfindung
wird eine Lösung
für einen
Gerätetyp
benutzt, in der die IAD-Struktur mit hochwertigen Objekten arbeitet,
die Teile der Anwendungen bilden. Das NE definiert eine Liste von
mit Aktoren bezeichneten grundlegenden interaktiven Elementen, die
zu diesen Objekten gehören.
-
Die IAD wird zu dem Decoder durch
ein Protokoll übertragen,
das auf NE-Nachrichten
basiert. Diese NE-Nachrichten können
durch verschiedene geringwertige Transportprotokolle übertragen
werden. Das IAD-Format und die NE-Nachrichten ermöglichen
eine Änderung
der laufenden Anwendungen. Das bildet eine Stütze für die Verwaltung von Life-Ereignissen.
-
Die IAD bildet auch Vorkehrungen
für eine
AudioVideo-Verwaltung. Zu diesem Zweck werden die IAD und der Code
der Aktoren zusammen mit dem Audio/VideoMaterial auf den Decoder
heruntergeladen. Die IAD und die Aktoren können auch durch den Decoder über einen
bidirektionalen Rückkanal
(131) von einem IAD-Server
mit einer on-line-Anwendung (160) geladen oder von einer
Speichereinheit (140) zurückgewonnen werden, wie eine
CD-ROM, DVD, Festplatte oder ein statischer Speicher.
-
Wenn ein Teil einer IAD geladen ist,
wird er als örtlicher
Navigations-Graph oder "LNG" (Local Navigation Graph) bezeichnet.
Ein LNG ist ein Satz von einem minimale interaktive Anwendung bildenden
Knoten, der zum Beispiel eine interaktive Seite ist. Diese Seite
ermöglicht
dem Fernsehzuschauer den Zugriff zu anderen Seiten. Der Satz aller
dieser Seiten oder Objekte bildet die interaktive Anwendung.
-
Das Modell gemäß der vorliegenden Erfindung
trennt die Navigationsstruktur der Anwendung von der Möglichkeit,
wie sie auf dem Schirm der Metaphor Elements (MEs) wiedergegeben
wird. Tatsächlich
berücksichtigen
die MEs, die besondere Aktoren sind, nicht nur die Wiedergabeverwaltung,
sondern auch die Verwaltung der Benutzereingabe, d. h. das Aussehen
und das Gefühl
(look and feel).
-
Die Darstellung der ITVA unter Anwendung
eines hochwertigen Formats wie der IAD macht es leichter, die ITVA
zwischen verschiedenen Instrumenten und somit verschiedenen Anwendungsanbietern
(Applications Providers) aufzuteilen. Somit werden die ITVAs unter
Anwendung dieser IAD-Disziplin zu dem Decoder übertragen. Von nun an profitiert
das NE selbst von dem Vorteil dieser hochwertigen Darstellung durch
seine Speicher-Verwaltungs-Strategie und durch die Navigationsunterstützung, die
es bieten kann.
-
Einige für diesen Zweck ausgebildete
MEs können
zur Bildung eines Metaphor zusammen gruppiert sein. Es hat sich
gezeigt, dass diese Idee zur Bildung von erfolgreichen sogenannten
"Man Machine Interfaces (MMI)" benötigt wird. Das vorliegende
System unterstützt
die Anwendung von Videotheken von Metaphor Elements. Das führt zu dem
Aufbau von wiederverwendbaren Bibliotheken mit MEs hoher Qualität, die für den Verbrauchermarkt
gut geeignet sind. Außerdem
wird die Wahl des ME für
eine bestimmte ITVA (teilweise) dem NE überlassen. Es kann die verfügbaren Decoder-Ressourcen,
das Benutzerprofil oder das Land berücksichtigen, wo es läuft, um
das richtige ME für
ein bestimmtes ITVA zu wählen.
-
Wie oben erwähnt, basiert das Navigationsgerät (Navigation
Engine) gemäß der vorliegenden
Erfindung auf einer hochwertigen Beschreibung der interaktiven Anwendungsbeschreibung
(Interactive Application Description). Die beteiligte Datenstruktur
beschreibt die Tiefenstruktur der Anwendungen in einer solchen Weise,
dass die tatsächliche
Darstellung der Anwendungen durch die Metaphor Elements behandelt
wird.
-
Das Navigationsgerät läuft ständig auf
den Decodern. Wenn eine IAD den Decoder über den Sendestrom (133)
oder das Netz (131) von Ende zu Ende erreicht, lädt das NE
diese IAD, erstellt die interaktiven Objekte und liefert Mittel,
damit sie zusammen arbeiten.
-
Somit führt gemäß der vorliegenden Erfindung
das Navigationsgerät,
das auf der Oberseite des OpenTV aufgebaut wird, die folgenden Hauptvorgänge durch:
-
- – Laden
der Anwendung in der Form einer IAD,
- – Erstellung
und Anwendung der Metaphor Elements auf die IAD,
- – Aktivierung
und Benachrichtigung der Links (Verknüpfungen) und Metaphor Elements
und
- – Verwaltung
der Navigation durch die IAD.
-
2 beschreibt
den Aufbau des Navigationsgerätes,
in dem die IAD zu dem NE (230) in dem Decoder über ein
Protokoll übertragen
wird (251), das "NE-Nachrichten"
(NEMessages) (250) benutzt. Umgekehrt werden die Benutzereingaben
(240) zu dem NE übertragen
(241).
-
Das NE ist ein interaktives Programm
dessen detaillierte Aufgaben folgende sind:
-
- – Erhaltung
von IADs von den verschiedenen Kanälen (d. h. den Sendekanälen, dem
Rückweg).
Wenn eine IAD geladen worden ist, werden die Knoten in dem Graph
den interaktiven Elementen, den Aktoren zugeordnet. Spezielle (jedoch
sehr allgemein benutzte) Aktoren enthalten eine graphische Darstellung.
Sie werden mit Metaphor Elements (ME) bezeichnet. Der Vorgang der
Zuordnung eines Aktors zu einem Knoten des LNG wird auch als "Mapping"
des Knoten bezeichnet.
- – Erhaltung
von Nachrichten von dem Sendekanal (133) oder über andere
Mittel zur Aktualisierung des laufenden LNG,
- – Reagieren
auf die Benutzereingaben (240). Das kann enthalten Mitnahmeteile
(catching parts) der IAD, die noch nicht in dem Decoder sind, das
sogenannte Mapping oder Unmapping bereits geladener Knoten, usw.
- – Verwaltung
der Kommunikationen zwischen Aktoren.
-
Das NE trennt, wie es durch die Pfeile
(231, 232) dargestellt ist, die Navigationsstruktur
der durch die IAD (210) dargestellten Anwendung von den
Metaphor Elements (220), deren Zusammensetzung später beschrieben
wird. Es sollte in der Lage sein, für die Ladung der Interactive
Application Description und der Metaphor Elements, die das Netzwerk
von Ende zu Ende enthalten, mit jedem Netz abzudecken (cope).
-
Während
des Betriebs des NE können
zwei Arten von Nachrichten auftreten:
-
- – Die
NE-Nachrichten (250) sind OpenTV-Nachrichten, die Systemereignisse
wie eine Benutzereingabe (240), Ankunft eines OpenTV-Moduls
und beliebige andere asynchrone Ereignisse anzeigen.
- – Die
NE-Ereignisse sind intern zu dem NE. Sie dienen zum Austausch von
Informationen zwischen den Aktoren und dem NE in einer asynchronen
Weise. Diese Informationen enthalten Navigations- oder Abbildungs-
(Mapping)-Anforderungen.
-
Die IAD-Struktur basiert auf den
Knoten (Nodes) und den Verknüpfungen
(Links). Die Knoten und die Verknüpfungen bilden jeweils eine
Datendarstellung und eine dynamische Darstellung.
-
3 benutzt
die als OMT (Object Modeling Technique) bekannte Objekt-Modelling-Lösung, die
eine für
die Beschreibung der Softwaresysteme gewidmete, objektorientierte
Methodenlehre (methodology) der Beschreibung der Softwaresysteme
ist. Sie beschreibt die Struktur der IAD (210), wobei jeder
LNG (310) einer laufenden Anwendung entspricht. Cluster
(320) bestehen aus mehreren Knoten, von denen einer (330)
in 3 dargestellt ist.
-
Die Knoten (330) sind über strukturelle
Verknüpfungen
miteinander verbunden. Die eigenen Attribute (350), die
ihre Eigenart kennzeichnen, z. B. das Etikett oder Label einer Taste
oder die Identifikation oder den Titel eines AudioVideo-Bitstroms.
Die Navigationsverknüpfung
ist der Darstellung der Navigation in der IAD gewidmet, die auch
durch die Verknüpfung
(360) durchgeführt
werden kann.
-
Diese Struktur wird zu dem NE übertragen,
wobei die Knoten den Aktoren (340) zugeordnet werden, die
die Schnittstelle zwischen den Knoten und dem Benutzer verarbeiten.
Die Struktur, die durch das NE von den übertragenen IAD aufgebaut ist,
ist das lokale Navigationsgerät
(LNG = Local Navigation Engine).
-
Die Knoten sind miteinander verbunden
und bilden ein Graph, und sie besitzen eine Liste von Attributen.
Diese Attribute haben einen Namen und einen Wert. Letzterer kann
sich während
der Anwendungsausführung ändern. Die
Knoten sind miteinander durch zwei Typen von Verknüpfungen
verbunden: Strukturelle Verknüpfungen
und Navigationsverknüpfungen.
Strukturelle Verknüpfungen
dienen zur Unterstützung
der Organisation in Schirmen der interaktiven Anwendungen oder der
auf Systemobjekte bezogenen Struktur (Video, Rückkanal). Die Navigationsverknüpfungen
dienen dem Zweck der Navigation zwischen den Knoten.
-
Wie 3 zeigt,
sind Cluster Sätze
von über
strukturelle Verknüpfungen
verbundenen Knoten. Die Cluster bilden die Einheit der Speicherverwaltung
für das
NE: alle Knoten in einem Cluster werden zusammen geladen und entladen.
Die Cluster sollten nicht zu groß sein, damit sie in den verfügbaren Decoderspeicher hineinpassen.
-
Strukturelle Verknüpfungen
bestehen nur innerhalb der Cluster. Sie müssen keine Schleifen bilden. Navigationsverknüpfungen
entstehen in und zwischen den Clustern. Sie können von willkürlichen
oder arbiträren
Graphs kommen. Die Navigationsverknüpfungen können durch die Aktoren oder
durch die Verknüpfungen
aktiviert werden. Nach der Aktivierung dieser Verknüpfungen
sollte das NE das Cluster, auf das sie zeigen, laden und abbilden,
wenn sie auf einen Knoten zeigen, der nicht Teil des laufenden Clusters
ist.
-
Da alle Knoten in einem Cluster zusammen
geladen werden, dienen die Cluster zur Darstellung unsichtbarer
Teile der Anwendungen wie Schirmen oder Teilen von Schirmen.
-
4 zeigt
eine Darstellung der Cluster und ihrer Hierarchie in der interaktiven
Anwendungsbeschreibung des Navigationsgeräts.
-
Die Cluster (410, 420, 430, 440, 450)
einer interaktiven Anwendung bilden einen Baum. Dieser Baum definiert
eine Hierarchie unter den Clustern. Diese Hierarchie ist durch dicke
Pfeile (411, 412, 421, 422)
dargestellt. Das NE bewirkt, dass dann, wenn ein Cluster geladen
wird, alle Cluster auf dem Weg von der Wurzel zu dem Baum zu diesem
Cluster ebenfalls geladen werden. Daher sollten zwei Clustern gemeinsame
Objekte (Aktoren, Variable) in dem Cluster geladen werden, das über diesen
beiden Clustern liegt. Das obere Cluster (410) einer Anwendung
gruppiert die Teile der Anwendung, die der gesamten Anwendung gemeinsam
sind.
-
Die Navigationsverknüpfungen
zwischen den Clustern, die durch einfache Pfeile (413, 423, 431, 441, 451, 452)
dargestellt sind, definieren die Möglichkeiten der Bewegung innerhalb
der IAD. Diese Bewegungen können
von einem Cluster zu einem anderen erfolgen. Sie können die
Abbildung (Mapping) von zusätzlichen Aktoren
oder die Ladung von fehlenden Teilen des LNG benötigen. Das NE verwaltet automatisch
den Speicher durch Weglassen oder Verwerten unnützer Teile des LNG oder durch
Weglassen bestimmter nutzloser Aktoren.
-
Die Werte der Attribute können durch
Ausdrücke
dargestellt werden, die Datenstrukturen sind. Diese Ausdrücke sind
zum Beispiel eine ganze Zahl, eine Reihe oder ein String von Zeichen,
eine fließende
Punktnummer, ein Boolean oder Boolesch usw... oder eine Liste von
vorangehenden Typen oder eine Liste von Listen.
-
Eine Anwendungs-programmierbare Schnittstelle
(API = Application Programmable Interface) ermöglicht, Ausdrücke zu erstellen,
zu lesen und zu ändern.
Ein Codierschema ermöglicht,
Ausdrücke
zu speichern und von dem Speicher zurückzugewinnen.
-
Beim Laden und Verarbeiten der die
IAD beschreibenden Nachrichten decodiert das NE außerdem die Werte
der Ausdrücke.
Da diese Werte relativ große
Datenstrukturen darstellen können
(z. B. Text), ist es nicht erwünscht,
diese Daten von einem Speicherplatz zu einem anderen in dem Decoder
zu verschieben oder zu kopieren, sondern vielmehr sich soweit wie
möglich
an der Datendarstellung zu beteiligen. Insbesondere sollten bestimmte
Aktoren, wie Texte darstellende Aktoren, es vermeiden, den Wert
des Ausdrucks zu kopieren. Das ist möglich, wenn das betroffene
Attribut einen konstanten Wert hat.
-
Die interaktive
Anwendungsbeschreibung
-
Die IAD ist die zentrale Datenstruktur
des Navigationsgeräts.
Ihr Zweck ist, die interaktiven Anwendungen darzustellen. Dieser
Datenteil wird durch den Decoder heruntergeladen und durch das Navigationsgerät analysiert
und geladen. Es kann durch beliebige Anwendungen gesendet oder übertragen
werden.
-
Die IAD ist daten-(objekt)-orientiert
und nicht programmorientiert, weil die Möglichkeit, Datenwörter mit demselben
Muster oder einem gemeinsamen Generator zu finden, in einer interaktiven
Anwendung gering ist, verglichen mit den Reihen von Datenverbindungs-Primzahlen
oder einer Datei, die Aufzeichnungen enthält, die eine gemeinsame Software
implizieren. Die typische interaktive Anwendung würde indessen
Daten ohne Ähnlichkeit
zwischen ihnen enthalten.
-
Die IAD besteht aus Knoten (211, 212, 213,
..., 218), wie 2 zeigt.
Die Knoten sind miteinander verknüpft und bilden eine Graph-ähnliche
Struktur. Die Knoten besitzen einen Satz von Attributen, die einen
Namen tragen und Daten jeder Art (Text, Zahlen) übertragen, wie in dem vorangehenden
Abschnitt dargestellt. Bei einer Ladung durch das NE sind die Knoten
interaktiven Elementen zugeordnet, die das tatsächliche "Aussehen und Gefühl" (look
and feel) bilden.
-
Die IAD enthält außerdem kleine Programme, die
die Knoten miteinander verknüpfen,
um die dynamischen Zusammenhänge
zwischen ihnen zu definieren. Diese Navigationsverknüpfungen
definieren das dynamische Verhalten der IAD's. Navigationsverknüpfungen
sind in der Lage, den Wert eines bestimmten Attributs immer dann
zu ändern,
wenn ein bestimmter Zustand angetroffen wird. Dieser Zustand wird
aus den anderen Attributen berechnet.
-
Bis hierher modelliert die IAD den
Weg, in dem eine ITVA in den Decoder heruntergeladen wird. Die Struktur
der IAD ermöglicht,
die Anwendung Teil für
Teil zu laden. Das Laden der IAD in den Speicher durch das NE beinhaltet
das Laden von drei Typen von Daten:
-
- – Die
IAD mit ihrer Knotenstruktur, Verknüpfungscode und Daten,
- – die
Beschreibung und den Code der Aktoren (wenn die Aktoren nicht bereits
in dem Decoderspeicher liegen) und
- – spezifische
Daten, die für
die Aktoren benötigt
werden, die nicht direkt in der IAD enthalten sein können.
-
Knoten, Verknüpfungen,
Cluster
-
Die IAD wird über drei Typen von NE-Nachrichten übertragen:
-
- – Erstellungsnachrichten.
Diese Nachrichten geben die Struktur der Knoten (Unterknoten, Attribute)
und die Beschreibung der Verknüpfungen
an. Eine Erstellungsnachricht entspricht einem vollständigen Cluster,
- – Änderungsnachrichten
und Vernichtungsnachrichten und
- – Code
der Verknüpfungen.
-
Jeder Knoten oder jede Verknüpfung besitzt
einen einzigen ID, die einen globalen Namen darstellt, der durch
die folgende Modifikations- oder Abbruchnachrichten benutzt wird.
Im Gegensatz dazu erhalten Cluster außerdem einen ID für Speicherverwaltungszwecke.
-
Aktortyp-Beschreibung
-
Neue Typen von Aktoren können in
die Decoder heruntergeladen werden. Ein Aktortyp wird durch seinen
Code und bestimmte Informationen beschrieben, die es dem NE ermöglichen,
diesen Aktor für
die Zuordnung zu einem bestimmten Knoten zu wählen.
-
Der Code ist dynamisch mit dem NE
verknüpft.
Da dieser Knoten unabhängig
gebildet werden kann, muß eine
definierte API folgen. OpenTV bildet einen dieses Laden ermöglichenden
Mechanismus.
-
Die Liste von Funktionen entspricht
einer Erstellung einer neuen Instanz, Abbruch der Instanz, Vorbereitung,
Mitteilung eines Ereignisses zu der Instanz des Aktors, eine Timer-Mitteilung
oder ein Test der Compliance mit dem Decoder.
-
Die Informationen für den Aktortyp
sind:
-
- – Der
Name des Aktortyps und
- – Der
Aktortyp ermöglicht,
dass derselbe IAD-Knoten durch verschiedene Typen von Aktoren auf
verschiedenen Decodern dargestellt werden kann.
-
Laden der Daten
-
Der Mechanismus des Ladens der Daten
macht es möglich,
Aktoren mit Daten zu versehen, die von dem Bitstrom oder von dem
Rückweg
kommen, wobei diese Daten nicht direkt in der IAD-Struktur übertragen werden.
Das macht es möglich,
die Daten erst dann zu laden oder das Laden der Daten aufzuschieben,
bis sie benötigt
werden. Der Sender kann entscheiden, diese Daten einzufügen, da
er weiß,
welchen Typ von Aktoren er mit dem LNG sendet.
-
Diese Teile von Daten unterscheiden
sich von dem LNG, da sie spezifisch für einen bestimmten Satz von
Aktoren sein können.
Diese Datenteile werden mit NEModule bezeichnet. Sie können auch
in dem ROM gespeichert werden. Die NEModule sind Teile von Daten
einer beliebigen Länge,
deren Struktur nur dem Empfänger
bekannt ist. Das NE sieht diese Daten als eine Folge von Byte. In
einem später
angegebenen Beispiel können
derartige Daten zum Beispiel ein bestimmtes Bitmap-Bild für den Aktor
darstellen.
-
5 zeigt
die verschiedenen Vorgänge
der NEModule, die in dem Navigationsgerät (520) auftreten, wobei
jeder NEModul (510) einen NAMEN, eine LÄNGE hat und einen Puffer für LÄNGEN-Byte
enthält.
-
Das NEModul (510) API bildet
Mittel für:
-
- – Registrierung
(512) eines Aktors (340), der benachrichtigt werden
möchte
(518), wenn das nächste
NEModul eines bestimmten Namens ankommt.
-
Die Registrierung ist gültig, bis
der Aktor beseitigt wird oder bis der Aktor sie für NE-Module diesen Namens
löscht.
Das bedeutet, dass ein Aktor jedes Mal erneut benachrichtigt wird,
wenn ein NEModul des bestimmten Namens den Decoder erreicht. Die
Registrierung kann aus verschiedenen Gründen scheitern: zum Beispiel
Speicherentleerung oder ungültiger
Name. Zwei Aktoren (340) können für denselben Namen registriert
(512) werden.
-
- – Die
Löschung
der Registrierung kann durch einen Aktor erfolgen. Wenn zwei Aktoren
denselben Namen registrieren und einer von ihnen seine Registrierung
löscht,
bleibt der andere registriert, da die Registrierung unabhängig Aktor
für Aktor
erfolgt.
- – Lesen
(514) eines Puffers nach einer Benachrichtigung (518),
so dass ein Aktor den Puffer für
ein gerade empfangenes NEModul lesen kann. Wenn in der Zwischenzeit
ein neues NEModul mit demselben Namen ankommt, liest der Aktor den
den letzten NEModul-Inhalt.
-
Was die Benachrichtigung (518)
betrifft, tut das NE das Beste entsprechend den Ressourcen, die
es besitzt. Es können
einige NEModule verlorengehen, wenn zu viele NEModule in einer kurzen
Zeit ankommen.
-
Die Struktur der in einem NEModul
enthaltenen Daten ist nicht spezifiziert. Sie kann wie Ausdrücke strukturiert
sein, in welchem Fall die Ausdrucksverwaltungs-API verfügbar ist.
-
Verknüpfungen
-
Die Verknüpfungen ermöglichen, das dynamische Verhalten
einer IAD unabhängig
von den Aktoren zu spezifizieren. Sie arbeiten auf den Attributen
der Knoten, und sie bestehen aus einem Codeteil, der einen Test
und eine Affektation der Werte auf Att ributen durchführen kann.
Die Verknüpfungen
bestehen aus einem Auslöseausdruck
und einer Aktionsfunktion. Der Auslöseausdruck ist eine Funktion
einer Anzahl von Attributen. Der Wert des Ausdrucks wird durch das
NE jedesmal geprüft,
wenn die relevanten Attribute geändert
werden. Wenn der Ausdruck einen wahren Zustand ermittelt, wird die
Aktion durchgeführt.
-
Es sind Standard-Steuerstrukturen
für die
Codierung der Aktion zusammen mit den Standard-Operatoren verfügbar. Die
durch die Verknüpfungen
bearbeiteten Werte sind die Ausdrücke. Die Ausdrücke werden durch
Anwendung konstanten und variablen Attributen aufgebaut.
-
Primitive, in den Aktionen verfügbare Aktionen
sind folgende:
-
- – Beeinflussung
eines neuen Wertes für
ein Attribut,
- – Warten <delay>-und bei <date> do (Suspendiert die
Ausführung
der Verknüpfung
durch die spezifizierte Verzögerung).
- – Ausgabe-(Ausgaben
von einer Anwendung)
- – navigate <node>-(Navigieren zu einem
Knoten, spezifiziert durch seine ID).
- – Rückwärts, Vorwärts, Nächster,
Vorangehender, Aufwärts,
Abwärts – (Ausdrücke für die durch
das NE angebotene Navigationsfunktion).
-
Eine Verknüpfung gehört zu einem Cluster. Sie kann
Zugriff haben zu Attributen eines Knotens in dem Cluster selbst
oder zu den Knoten der Cluster über
ihm bis zu den hochwertigen (lop-level) Clustern.
-
Die Metaphor
Elements
-
Die Metaphor Elements (ME) verarbeiten
die graphische Darstellung der IAD. Um auf dem Schirm wiedergegeben
zu werden und dem Benutzer eine Möglichkeit zu bieten, damit
zusammenzuarbeiten, muß ein Knoten
abgebildet (mapped) werden, d. h. einer bestimmten ME zugeordnet
werden. Das NE hat die Aufgabe dieser Zuordnung.
-
Die Metaphor Elements werden in einer
objektorientierten Weise verwaltet. Ein Satz von Klassen von Metaphor
Elements wird durch das NE verwaltet. Neue Klassen können dynamisch
hinzugefügt
werden. Diese Klassen von Metaphor Elements beschreiben die Fähigkeiten
des ME. Das NE benutzt diese Datenstruktur, wenn ein ME für die Abbildung
eines Teils einer IAD gewählt
wird.
-
Die MEs basieren auf OpenTV-Geräten (gadgets).
Der Code des ME (graphische Funktionen) wird durch einen OpenTV
O-Code-Interpretierer codiert. Die Metaphor Elements können zusammen
mit der IAD heruntergeladen werden, sie können jedoch auch in einem Nur-Lese-Speicher,
einem sogenannten ROM, des Decoders gespeichert werden.
-
Es wird ein Satz von grundlegenden
MEs definiert. Diese MEs sollten es ermöglichen, die meisten interaktiven
Anwendungen durchfzuführen.
Die grundlegenden MEs enthalten Schirm, Taste, Label oder Etikett, Text.
Ihre Spezifikation enthält
nicht das Aussehen und das Gefühl,
sondern konzentriert sich nur auf grundlegende Funktionen. Das ermöglicht die
Bildung von verschiedenen Sätzen
von MEs mit verfeinerten oder hochentwickelten graphischen Merkmalen,
die die Compliance mit dem Basissatz erhalten und daher noch für die ursprüngliche
interaktive Anwendung nützlich
sind.
-
Aktorklassen-Verwaltung
-
Ein Äquivalenzschema wird zwischen
den Aktoren definiert: dieses Schema ermöglicht, dass dieselbe interaktive
Anwendung bei jedem Decoder mit dem bestmöglichen Ergebnis mit einem
unterschiedlichen Aussehen und Gefühl geboten wird. Auf einem
Decoder werden die MEs in Abhängigkeit
von den Fähigkeiten
des Decoders gewählt.
Im allgemeinen sollten die Auswahlkriterien, jedoch nicht darauf
beschränkt,
die Bildschirmauflösung,
die Anzahl der wiedergebbaren Farben und die Decoder-Verarbeitungsleistung
und den Speicher, Landinformationen und spezifische Senderwünsche für das Aussehen
auf dem Bildschirm der Anwendungen enthalten, die er verwaltet.
Die Werte der Kriterien werden mit jedem Satz von MEs übertragen.
-
Ein ME enthält den Code der Aktoren des
Satzes und eine Funktion, die prüft,
ob die enthaltenen Aktoren aufgrund der obigen Kriterien auf dem
Decoder laufen könne,
so dass das NE in der Lage ist, den für den bestimmten Decoder geeigneten
Aktorsatz zu wählen.
Jeder Aktor gehört
zu einer Klasse, die durch die Funktion des Aktors definiert ist.
Als Beispiel definiert ein Kippschalter oder sogenannter Toggle-Schalter (toggle
switch) eine Klasse von Aktoren. Wenn das NE einen Knoten abbilden
muß, der
anzeigt, dass er einem Toggle-Schalter zugeordnet werden muß, wählt das
NE einen geeigneten verfügbaren
Aktor der Toggleschalterklasse (toggle switch class).
-
Der zu jedem ME gehörende Code
erfüllt
eine gut-definierte API. Es wird angenommen, dass dieser Code bei
einer Laufzeit in dem Decoder heruntergeladen und dynamisch verknüpft wird.
-
Zu einer bestimmten Zeit wird einem
Aktor ein Knoten zugeordnet (der Knoten ist' der, der abgebildet werden
soll).
-
Die Aktoren und die MEs beteiligen
sich an einigen grundlegenden Funktionen:
-
- – Erstellung/Abbruch,
- – Vorbereitung,
- – Assoziation/Dissoziation
mit bzw. von einem Knoten. Das macht es möglich, nacheinander einen Aktor mit
mehreren Knoten zu verbinden,
- – Aktivierung/Deaktivierung – Ein Aktor
ist sichtbar oder nicht, abhängig
von seinem Aktivierungsstatus,
- – Benachrichtigung.
Ein Aktor wird immer benachrichtigt, wenn eines der Attribute, an
denen er interessiert ist, einen neuen Wert annimmt oder wenn sich
die Knotenstruktur ändert.
Eine Benachrichtigung erfolgt auch mit einer Timerleerung oder wenn
Daten ankommen.
-
Verwaltung der
Metaphor Elements
-
Wie bereits erwähnt, sind Metaphor Elements
eine spezielle Art von für
graphische Benutzerschnittstellen gewidmete Aktoren. Diese Aktoren
können
mit einer engen Zusammenarbeit zwischen ihnen arbeiten, und so muß eine spezifische
Verwaltung gebildet werden. Wenn ein Bereich oder eine Scheibe (Pane)
(z. B. ein Fenster) Unteraktoren (z. B. Tasten) verwaltet ist, das
Problem, dass diese Unteraktoren so deutlich wie möglich wiedergegeben
werden. In dem Fall der Scheiben (Pane)-Verwaltung eines Satzes von Tasten ist
die Folge der Ereignisse folgende:
-
- 1. Das Pane wird erstellt
- 2. Die Taste wird erstellt
- 3. Das Pane bestimmt die tatsächliche Lage der Taste
- 4. Das Pane wird mit seinem Unteraktor dargestellt
-
Die taste wird nur dann wiedergegeben,
wenn ihre endgültige
Lage eingestellt ist.
-
Implementierung
-
Die Aktor-Implementierung beruht
auf den OpenTV-UIMS-Geräten
(Benutzerschnittstellen-Vennraltungssystem), um so den Vorteil der
Verwaltung der graphischen Objekte auszunutzen.
-
Um die MEs zu verarbeiten, wird eine
API definiert. Diese API enthält
verschiedene Funktionen für
die Geometrie. Da die MEs auf Geräten (gadgets) beruhen, müssen sie
den OpenTV-UIMS-Regeln entsprechen, insbesondere für die Verarbeitung
einiger Nachrichten (NEW, ACTIVATE, FOCUSED, ...).
-
Insbesondere erwartet das NE, dass
die MEs die DELETE- und ACTIVATE-Nachrichten
verarbeitet. Das NE fügt
außerdem
die folgenden Nachrichten hinzu:
-
- – PREPARE
- – TIMER
- – NAVIGATE
-
Um den Regeln des OpenTV zu folgen,
werden die Aktoren über
dieselbe, die Nachricht verarbeitende Funktion benachrichtigt, wie:
-
- – Erstellung
- – Abbruch
- – Aktivierung
- – Fokus
- – Vorbereitung
- – Konfiguration
- – Benachrichtigung
(Timer, Attribut, Navigation)
-
Grundlegende
Metaphor Elements
-
Es wird ein Satz von grundlegenden
MEs definiert, um so den minimalen Satz von MEs zu bilden, den ein
Metaphor bildet. Sie haben ein grundlegendes Verhalten, das durch
einige Attribute geändert
werden kann. Die Benutzer-Metaphore können die grundlegenden MEs
außer
Kraft setzen, um ein verbessertes oder verfeinertes "Aussehen und
Gefühl"
zu bilden. Die grundlegenden MEs benutzen Attribute, um ihr Aussehen
und Gefühl
und ihre graphischen Parameter zu bestimmen. Es gibt gemeinsame
Attribute und spezifische Attribute.
-
Ein Satz von ME könnte in dem ROM des Decoders
mit den gemeinsamen Attributen gespeichert werden, die die folgenden
sind:
-
Gemeinsame Attribute
-
Einige Attribute werden durch alle
MEs gemeinsam benutzt, und ihre Wirkungen sind dieselben:
– Map (Boolean): | ist
das wiederzugebende oder nicht wiederzugebende ME |
– X, Y (ganze
Zahlen): | zeigt
die Lage des ME in dem Schirm an |
– Breite,
Höhe (ganze
Zahlen): | kann
Nur-Lesen sein: der Aktor kann sie berücksichtigen oder nicht. |
– Schriftart
(font) (ganze Zahl): | zur
Wiedergabe des Textes, ein Index in der Schriftart-Tabelle |
– Empfindlichkeit
(Boolean): | ob
das ME die Benutzereingaben akzeptiert |
– Vordergrund | Index
in der Farbdarstellung |
– Hintergrund | Index
in der Farbdarstellung |
– Rand (border) | |
– Bild | ist
in Bitmap OpenTV-Standard |
– Aktivierung | sollte
beim Drücken
der Taste Enter ausgelöst werden. |
-
Die zusammen gesetzten Aktoren erhalten
die durch ihren Unteraktor nicht verbrauchten Schlüsselereignisse.
– FocusCirculation | beschreibt,
wie der Fokus unter den Aktoren verteilt werden sollte |
– Shortcut
(Tastaturbefehl) | gibt
die Liste der Tasten an, die der Aktor als Shortcuts für seine
Aktivierung bilden möchte. |
-
Viele Attribute haben ihre Werte
entweder direkt in dem zugehörigen
Ausdruck oder in einem NEModul gespeichert, dessen Name in dem Ausdruck
angegeben wird.
-
Das Folgende ist eine Liste der möglichen
Aktoren:
-
Audio
-
Der Audioaktor verwaltet Audioströme, die
von einem Netz wie einem Sende- oder Rückkanal kommen können, oder
sie können
in dem Speicher gespeichert sein. Der Rahmen ist die grundlegende
Zeiteinheit.
-
Video
-
Der Videoaktor verwaltet Videoströme, die
von einem Netz wie dem Rundfunk oder dem Rückkanal kommen können, oder
sie können
in dem Speicher gespeichert sein.
-
Hintergrundbilder
-
Dieser Hintergrundbilder-Aktor gibt
ein Bild in dem Hintergrund wieder.
-
Taste
-
Der Tastenaktor ist ein interaktives
Element, das es dem Benutzer ermöglicht,
eine Aktion auszulösen. Er
kann einen Text, ein sogenanntes Icon oder eine Zeichnung (outline)
wiedergeben.
-
Label (Etikett)
-
Dieser Label-Aktor gibt einen On-line
Text oder ein Bild wieder. Er ist nicht wählbar und kann ein Icon wiedergeben.
-
Bild
-
Der Bildaktor gibt ein Bild wieder,
von dem angenommen wird, dass es größer als das Icon für die Taste oder
das Label ist. Da es Zeit erfordern kann, um die Bilder zu laden,
könnte
der Bildaktor eine progressive Ladung bilden, die im Bedarfsfall
unterbrochen werden kann.
-
Zeichnung
-
Der Zeichnungsaktor gibt die Zeichnungen
wieder, die aufgrund eines durch (X, Y) definierten Referenzpunktes
wiedergegeben werden. Die Zeichnung wird mit einem Prioritätsformat
beschrieben. Sie kann durch Umsetzung aus den CAD-Instrumentdateien
erzeugt werden.
-
Animation
-
Das Animations-Metaphor Element gibt
eine graphische Animation wieder.
-
Eingabefeld
-
Das Eingabefeld ermöglicht dem
Benutzer, einen Wert einzugeben. Dieser Wert kann numerisch oder alphanumerisch
sein. Der Wert sollte in einer Zeile wiederge geben werden. Das Eingabefeld
kann von jedem Trick Gebrauch machen, um es zu ermöglichen,
einen willkürlichen
Text von einer numerischen Tastatur oder einer üblichen Fernbedienung einzugeben.
-
Toggle
-
Ein Toggle-Aktor ermöglicht dem
Benutzer, einen Boolean-Wert einzugeben.
-
Text
-
Der Text-Aktor gibt einen Nur-Lese-Text
wieder. Er kann in mehreren Zeilen liegen (eine Zeile endet mit
"/n").
-
Pane
-
Der Pane-Aktor verwaltet die MEs,
die mit dem Unterknoten des Knotens für das Pane verbunden sind.
Er ist ein zusammengesetztes ME. Die Pane-ME kann ihre Unter-MEs
in Reihen oder Spalten anordnen.
-
Menü
-
Der Menü-Aktor ist ein Pane, das das
Verhalten eines Menüs
hat. Er nimmt an, dass sein zugehöriger Knoten die Wurzel eines
Baums ist, der den Menübaum
darstellt. Dieser Baum sollte ein Untermenü und Tasten enthalten. Der
Baum kann mit Herunterzieh- Menüs
(pull down menus) oder anderen Mechanismen wiedergegeben werden.
-
Liste
-
Der Listen-Aaktor ist ein zusammengesetzter
Aktor, der die Wahl von Elementen ermöglicht. Er nimmt an, dass sein
zugehöriger
Knoten einen Unterknoten hat, der zu dem Tasten-Aktor gehört. Der
Tasten-Aktor wird durch den Listen-Aktor aktiviert.
-
Container
-
Der Container-Aktor verwaltet nur
die Unteraktoren, die ein gemeinsames Verhalten aufweisen. Er führt seinen
Unteraktoren ein Standardverhalten zu. Ein Beispiel eines derartigen
Standardverhaltens ist die Verbreitung der Aktivierung oder Deaktivierung
des Container-Aktors zu allen seinen Unteraktoren.
-
Ein Container ist nützlich für die Verwaltung
der Unterbäume
eines Knotens, die in verschiedenen Clustern gespeichert sind.
-
Die Attribute sind:
– Exclusiv | Wenn
anwesend, ist nur ein Nachfolger (child) des Knotens zur Zeit aktiv.
Wenn eines von ihnen aktiviert wird (durch Navigation), werden die
anderen deaktiviert. |
– Aktivierung | Der
Container empfängt
ein Schlüsselereignis, das
durch seinen Unteraktor nicht verbraucht ist. Das Aktivierungsattribut
könnte
durch Drücken
der Taste "Enter" auf einer Fernbedienung ausgelöst oder getriggert werden. |
-
Top Level-Aktoren
-
Es gibt zwei Top Level-Aktoren: der
Schirm und die Schicht. Die Top Level-Aktoren werden durch das NE
zur Verwaltung der Navigation benutzt. Der mit einem Top Level-Aktor
verknüpfte
Knoten ist im allgemeinen der Wurzelknoten eines Clusters. Eine
Funktion für
diese Aktoren zeigt an, ob er dargestellt ist.
-
Ein Schirm ist ein für Top Level-ME.
Das bedeutet, dass alle seine Unter-MEs zur selben Zeit wiedergegeben
werden (abhängig
von ihrem Abbildungsstatus, d. h. sie werden wiedergegeben, wenn
sie abgebildet (mapped) werden). Ein Schirm kann Video und Audio
benutzen. Das Video wird dann in dem Hintergrund wiedergegeben.
Standbilder können
ebenfalls in diesen Aktoren enthalten sein. Der Schirm ist sich
der Tatsache bewußt,
dass er MEs verwaltet. Somit praktiziert er die ME API. Es kann
zu einer bestimmten Zeit nur ein Schirm abgebildet werden, und nur
ein Schirm kann zu einer Zeit aktiv sein. Das bedeutet, dass dann,
wenn ein neuer Schirm navigiert wird (d. h. aktiviert wird), der
laufende unterdrückt
oder verworfen (d. h. inaktiviert wird).
-
Eine Schicht ist ähnlich zu einem Schirm, ausgenommen,
dass mehrere Schichten zur selben Zeit aktiviert werden können, in
diesem Fall verwenden sie gemeinsam den Schirmraum.
-
High Level-Aktoren
-
High Level-Aktoren können für einen
gemeinsamen Mechanismus bestimmt werden wie:
-
- – Eine
Hilfe für
die Navigation. Diese Aktoren benutzen die Navigationsstruktur der
Anwendungen. Sie können
auf einer intuitiven graphischen Darstellung von Graphs, Bäumen oder
dem laufenden Zustand des Stapels beruhen.
- – die
Benutzerschnittstelle vom VCR-Typ für das Browsing durch eine lienare
Struktur.
-
Es sollte daran gedacht werden, dass
in einer anderen Ausführungsform
Kunden-Mes für den Zweck einer
Anwendung mit spezifischen Anforderungen gebildet werden können.
-
Betrieb des
Navigationsgeräts
Anwendung
-
Die Idee der Anwendung wird eingeführt, damit
das NE mehrere Anwendungen zur selben Zeit durchführen kann,
ohne die privaten Daten jeder Anwendung zu vermischen, einschließlich des
Kontext der Anwendung.
-
Derzeit enthält dieser Kontext die Farb
Look-Up-Tabelle, das Metaphor, den Zustand und den Navigationsweg.
-
Es sind vier Funktionen auf die Anwendungen
anwendbar. Das NE kann starten und Anwendungen aufheben oder töten, so
dass eine Anwendung gestartet wird, wenn das NE die Anwendungs-Beschreibungs-Nachricht
empfängt,
und wird getötet,
wenn die Nachricht für
das Anwendungsende empfangen wird. Zusätzlich kann eine Anwendung
auch eingestellt oder suspendiert und reaktiviert werden.
-
Jede Anwendung ist eine einzigartige
Identifikation (ID). Jede Nachricht überträgt die ID der Anwendung, auf
die sie sich bezieht. Es ist nur eine Anwendung zur Zeit aktiv.
Um eine Benutzereingabe zu erlangen, muß sich die Anwendung in dem
aktiven zustand befinden. Wenn eine Anwendung suspendiert wird,
werden alle betroffenen aktiven Top Level-Aktoren deaktiviert.
-
Das NE verwaltet eine Liste von Anwendungen.
Die Speicherverwaltung gibt eine Priorität zu jeder aktiven Anwendung.
-
Timer
-
Manche Aktoren müssen bei vorbestimmten Zeitpunkten
benachrichtigt werden. Die zugehörige
Benachrichtigungsfunktion wird hier mit dem NE-Anruf definiert,
der diese Benachrichtigung ermöglicht.
Die Benachrichtigung erfolgt durch Senden einer speziellen Nachricht.
Eine speziell gewidmete Funktion ermöglicht, dass ein Aktor einen
Timer starten kann.
-
Diese Timer können für Animationszwecke benutzt
werden. Die Verwaltung der Timer erfolgt örtlich in jedem Decoder. In
OpenTV muß die
Hauptschleife jedesmal geändert
werden, wenn ein Timer hinzukommt.
-
Der Aktor wird durch eine speziell
gewidmete Nachricht (TIMER) benachrichtigt, und ein Aktor kann mehrere
Timer zur selben Zeit enthalten.
-
Aktivierung von Navigationsverknüpfungen,
Bearbeitung der Navigation Wenn eine Navigationsverknüpfung aktiviert
wird, kann der Knoten an dessen Ende in dem Speicher des Decoders
nicht mehr anwesend sein. Das NE detektiert diese Situation und
lädt den
den Knoten enthaltenen Cluster. Dieses Laden kann Zeit erfordern:
in einer Sendeanwendung kann der das Modul enthaltene Cluster einige Zeit
später
dargestellt werden, wenn die Anwendung über den Rückkanal übertragen wird, die Daten benötigen eine
Zeit, um zu dem Decoder zu gelangen.
-
Wenn der Cluster angekommen ist,
erfolgt der Vorgang der Abbildung (mapping) des Knotens des betroffenen
Knotens, und der Aktor für
den Knoten wird benachrichtigt. Diese Benachrichtigung zeigt an,
dass der Knoten "durchnavigiert" und dass der Aktor aktiviert ist.
-
Das NE verfolgt automatisch alle
Navigationsereignisse, um die Rückverfolgung
zu ermöglichen.
-
Da mehrere Knoten zur selben Zeit
wiedergegeben (oder aktiviert) werden können, arbeitet die Navigation
in der IAD durch gleichzeitige Verwaltung mehrerer Wege. Das NE
verarbeitet alle Wege und zeichnet sie auf.
-
Navigationsverknüpfungen haben einen Startknoten
und einen Endknoten. Wenn die Navigation erfolgt, ist es möglich, die
Aktor-Hierarchie zu beseitigen oder zu verwerfen, die den Aktor
für den
Startknoten enthält.
Das erfolgt durch den Anruf, der zu der Deaktivierung der entsprechenden
Aktoren führt.
-
Zugriff zu den örtlichen
Navigations-Graphs
-
Der LNG ist eine durch das NE verarbeitete
Datenstruktur. Der LNG ist ein Bild eines Teils der IAD einer Anwendung.
Da mehrere Anwendungen zur selben Zeit auf der IRD laufen können, können mehrere LNGs
gleichzeitig durch das NE verarbeitet werden.
-
Der LNG kann teilweise in dem Speicher
des IRD liegen. Der Rest kann auf dem Bitstrom (Sendung) oder auf
einem entfernten Server verfügbar
oder auf einem Träger
wie einer DVD gespeichert sein.
-
Das NE bietet einen Satz von Funktionen
an, die einen Zugriff der Aktoren zu dem LNG ergeben. Diese API
verdeckt die Details der internen Verwaltung und insbesondere die
Speicherverwaltung.
-
Das NE und die Aktoren laufen nur
als ein sogenannter Thread. Daher ist es möglich, sich auf die Suspension
eines Aktors zu verlassen (der als ein Thread ausgeführt würde) zur
Verarbeitung des Ladens des fehlenden Teils des LNG. Stattdessen
kann der Aktor gezwungen werden, nur zu dem Teil des LNGs zuzugreifen, der
derzeit in dem Speicher des Decoders vorhanden ist. Das wird erreicht
durch Aufstellung einer Disziplin für den Zugriff zu dem LNG. Ein
Aktor kann ohne vorherige Aoturisierung durch das NE keinen Zugriff
zu einem Teil des LNG haben.
-
Dennoch hat ein Aktor einen ständigen Zugriff
zu dem Knoten, zu dem er gehört.
Zusätzlich
können ein
Aktor und sein Hauptknoten einen Zugriff zu einem Unterknoten seines
Hauptknotens anfordern.
-
Die folgende API enthält einen
Satz von öffentlichen
Funktionen, die durch das NE und durch die Aktoren benutzt werden.
-
Zugriff der Aktoren zu
dem LNG
-
Die Aktoren haben Zugriff zu ihrem
zugehörigen
Knoten über
die zwei Funktionen as_GetAttributeValue () und v_SetAttributeValue
().
-
Aktoren können durch Anwendung einer
der in den Wurzelklassen definierten Verfahren Zugriff zu dem LNG
haben: Herstellung, Beseitigung, verschiedene Benachrichtigungsverfahren.
-
Mapping des
LNG
-
Wenn ein Teil des LNG gerade in dem
Speicher des Decoders erstellt wurde, ist kein Knoten einem Aktor
zugeordnet. Das NE erstellt zunehmend Aktoren, wie sie benötigt werden.
"Erstellung eines Aktors", wie "Mapping" und "Zuordnung" bedeuten,
dass eine neue Instanz des den Aktor darstellenden Objekts erstellt wird.
-
Die Strategie ist folgendermaßen:
-
- – Zunächst bildet
das NE den Wurzelknoten des Clusters ab. Der erstellte Aktor muß ein Top-Level-Aktor oder
ein Aktor sein, der mit einem Aktor für ein Cluster verknüpft ist,
der ein Vorgänger
des laufenden Clusters ist. Dieser Aktor wiederum triggert die Erstellung
der neuen Aktoren, die den Unterknoten zugeordnet werden.
- – Die
Phase der Konfiguration/Vorbereitung findet statt. Diese Phase kann
die Verhandlung zwischen den Aktoren enthalten. Einige Aktoren müssen gegebenenfalls
Daten für
ihre eigene Konfiguration laden (ein den Aktor darstellendes Ikon
...).
-
Der Wurzelcluster einer Anwendung
ist im allgemeinen der Startpunkt der Benutzerschnittstelle der Anwendung.
Er wird automatisch geladen und durch das NE abgebildet.
-
Der Vorgang der Abbildung (mapping)
des LNG ist der Weg, wie die Aktoren erstellt und den Knoten zugeordnet
werden. Die tatsächliche
Wahl eines Aktors in der Datenbank für die Aktortypen ist Gegenstand eines
anderen Absatzes der Beschreibung.
-
Die Abbildung der Cluster erfolgt
in den folgenden Schritten:
-
- 1. Laden des Clusters, d. h. Laden aller Knoten
des Clusters.
- 2. Abbildung des Wurzelknotens der Cluster. Das beinhaltet die
Wahl des richtigen Typs des Aktors und die Erstellung neuer Aktoren.
- 3. Aufbereiten des Aktors. Dieser Schritt kann in dem Hintergrund
erfolgen. Er ermöglicht,
dass die Aktoren zusätzliche
Daten (Bilder) laden und einige Konfigurationen bewirken können (Schirmkonfiguration,
Pixel-Abbildungs-Dekomprimierung).
Diese Phase kann die Verhandlung zwischen den Aktoren enthalten.
- 4. Der Top-Level-Aktor wird dann aktiviert. Das resultiert gemäß dem vorliegenden
Beispiel in der Wiedergabe des graphischen, hierarchischen Menüs.
-
Aktoren besitzen eine API mit wenigstens
zwei Funktionen: Aktivierung des Aktors und Deaktivierung des Aktors.
-
Da die drei ersten Schritte Zeit
benötigen
können,
kann eine geschickte Anwendung das Laden und die Abbildung einiger
Cluster um einige Zeit auslösen,
bevor die Wiedergabe tatsächlich
benötigt
wird.
-
Das NE kann selbst entscheiden, diese
Aktion vorzunehmen. Die Cluster, die in dieser Weise vorgeladen
werden, sind die mit dem laufenden Cluster verbundenen Cluster.
-
Die Benutzernavigation wird zu Bewegungen
in dem LNG aus der Sicht des NE, das den laufenden Knoten folgt.
Diese Bewegungen benutzen die Navigationsverknüpfungen. Insbesondere wird
die Benutzernavigation durch Auslösung von Navigationsverknüpfungen
in dem LNG dargestellt.
-
Derartige Vorgänge werden in dem NE durch
speziell gewidmete NEEvents ausgeführt, die durch Aktoren gepostet
werden. Wenn eine Navigationsverknüpfung ausgelöst oder
getriggert wird, bildet das NE den Knoten (tatsächlich das diesen enthaltende
gesamte Cluster) am Ende der Verknüpfung ab.
-
Bei der Abbildung eines Knotens kann
das NE entscheiden, einige Knoten nicht abzubilden, das heißt einige
Aktoren zu entfernen. Die Abbildung eines Knotens erfolgt, um die
Abbildung der anderen Knoten anzufordern, die in dem Nachfolger
dieses Knotens liegen. Die auf einem Knoten abgebildeten Aktoren
sind dafür verantwortlich,
das NE aufzufordern, seine Unterknoten abzubilden.
-
Ein spezifischer Aktor, dessen Typ
"Wurzel" (Root) ist, wird automatisch durch das NE auf den Wurzelknoten
abgebildet. Dieser Aktor sucht nur nach einem Attribut des Namens
"Start" in diesem Knoten. Dann zündet
er dieses Attribut. Somit hat der IAD-Schreiber eine Möglichkeit, dass einige Codes
ausgeführt
werden, wenn die Anwendung startet. Diese Codes müssen in
eine mit dem Attribut Start verbundene Verknüpfung eingebracht werden.
-
Der Wurzel-Aktor verringert automatisch
den LNG von dem Wurzelknoten und fordert das NE auf, seinen mittleren
Nachfolger (children) abzubilden. Es gibt eine Funktion, die es
den Aktoren ermöglicht,
einen Knoten abzubilden. Dieser wird durch ein NEEvent verarbeitet.
Das NE bewirkt, dass die Cluster in einer sogenannten Top-Down-Weise bezüglich des
Clusterbaums abgebildet werden.
-
Das macht es für einen Aktor möglich, sich
auf die Seiteneffekte zu verlassen, dass die Abbildung des Top-Clusters
erfolgt ist. Zum Beispiel kann ein Top-Cluster die Erstellung eines
Aktors bewirken, der eine neue Schriftart (font) in den Decoder
lädt. Diese
Schriftart ist für
die Aktoren verfügbar,
die den in den Unterclustern enthaltenen Knoten zugeordnet sind.
-
Speicher-Verwaltung
-
Die Speicher-Verwaltung beeinflußt die LNG-Strukturen
und die Aktoren. Ihr Zweck ist es, die Komponenten der Anwendungen
zu verwalten, abhängig
von:
-
- – welche
Anwendung läuft,
- – welcher
Teil der Anwendung zu einer bestimmten Zeit nützlich ist, das ist davon abhängig, mit
welchem Teil des LNG der Benutzer ein Browsing durchführt,
- – welcher
Teil des Sender für
die Benutzer verfügbar
sein möchte.
-
Die Speicher-Verwaltung betrifft
zwei Typen von Objekten, die Cluster und die Aktoren:
-
- – die
LNG-Speicher-Verwaltung basiert auf den Clustern, wobei das NE prüft, ob ein
Cluster benötigt
wird oder nicht, d. h. ob einige Aktoren mit bestimmten Knoten in
diesem Cluster verknüpft
sind,
- – eine
Aktor-Verwaltung, die für
die Verwaltung der Aktoren gewidmet ist.
-
Die Speicher-Verwaltung wird ausgelöst oder
getriggert, wenn das NE fordert, dass der Speicher freigestellt
wird. In diesem Fall entscheidet das NE, was dem Speicher entnommen
wird. Diese Wahl basiert auf den Clustern. Es ist möglich, einen
Algo rithmus für
die Beseitigung oder Verwertung der zuletzt häufig benutzten Cluster durchzuführen.
-
Um die Nützlichkeit eines Clusters zu
bestimmen, benutzt das NE folgendes:
-
- – Die
Abhängigkeiten
des Clusters (ein Cluster kann nicht vor seinen Nachfolgern verworten
werden),
- – Ein
Indikator für
die Nützlichkeit
eines Aktors, der durch das NE verwaltet wird.
-
Die Sendeanwendungen stellen ein
spezifisches Problem dar für:
-
- – Die
Benutzer, die den Beginn eines Programms verpaßt haben und eine vollständige Benutzerschnittstelle
haben müssen,
- – Die
möglichen
Fehler in der Übertragung,
da der Sendekanal unidirektional ist,
- – Die
Möglichkeit
der Benutzung des Bitstroms als virtueller Speicher.
-
Das Schema ist das folgende. Es wird
angenommen, dass jede Anwendung aus Clustern mit dem Namen Ci besteht.
Zu einer bestimmten Zeit wird der LNG aus einer Liste von Clustern
gebildet.
-
Diese Cluster müssen in einer zyklischen Weise
gesendet werden:
C1 C2 C3 C4 C5 C1 C2 C3 C4 C5 C1 C2 C3 C4
C5 ...
-
Da die Cluster wiederholt werden,
ist das NE in der Lage, die gesamte Anwendung zu einer Zeit, in einer
Verzögerung
gleich der Zykluslänge
neu aufzubauen. Das bildet eine Beschreibung des gesamten LNG auf
dem Bitstrom und ermöglicht
so, dass der LNG diesen als einen Speicher benutzen kann.
-
Einige Cluster müssen möglicherweise im Laufe der Anwendung
geändert
werden. Änderungsnachrichten
können
zwischen den Clustern eingefügt
werden: Zum Beispiel trägt
M2 eine Änderung
des Clusters C2.
C1 C2 C3 M2 C4. C5 C1 C1 C2.1 C3 C4 C5 C1
C2.1 C3 C4 C5
wobei C2.1 eine neue Version von C2 ist.
-
Wenn M2 verlorengegangen ist, kann
das NE eine aktualisierte Version einer kurzen Verzögerung danach
mit den folgenden Clustern landen. Wenn C2 nicht geladen wurde,
wenn M2 verarbeitet wird, tut das NE nichts, jedoch wird die richtige
Version des Clusters C2 geladen, wenn das NE ihn lädt.
-
Eine mögliche Anwendung der OpenTV-Module
besteht darin, jedes Cluster für
ein Modul abzubilden. Die Änderungsnachrichten
sollten einem spezifischen Modul zugeordnet werden. Zu Beginn hört das NE
auf jedes Modul, das es anfordert. Wenn sie geladen sind, müssen die
Module nicht erneut geladen werden, da die Änderungen durch andere Module übertragen
werden. Im Gegensatz dazu wird das die Änderungsnachrichten übertragende
Modul kontinuierlich durch das NE geladen.
-
Wenn eine Instanz dieses Moduls verloren
gegangen ist, enthält
das NE eine falsche Version des Clusters, und es weiß nicht,
dass es den laufenden (und richtigen) Wert des Clusters laden muß, der geändert worden
ist. Um mit diesem Problem zurechtzukommen, könnten die Änderungsnachrichten regelmäßig die Versionsnummer
jedes Clusters anzeigen. Das NE vergleicht diese Nummer mit der,
die sie enthält,
und triggert eine Neuladung der Cluster, wenn eine neue Version
detektiert wird.
-
Das Schema, das die statischen Daten,
wie Verknüpfungscode,
Aktorcode und Beschreibung und das Datenmodul, betrifft, ist einfacher:
diese Codes müssen
nur zyklisch gesendet werden.
-
Das NE wird lernen, dass es diese
Module von dem LNG laden muß.
-
Eingabe-Verwaltung, Umsetzungs-
und Fokus-Verwaltung
-
Die Eingabe-Verwaltung versucht,
das folgende Problem zu lösen:
-
- – Benachrichtigung
der Aktoren, wenn sie den Fokus erhalten oder verlieren, um ihnen
zu ermöglichen,
sie entsprechend wiederzugeben.
- – Bildung
eines Mechanismus zur Weiterleitung des Fokus von einem Aktor zu
einem anderen in einer Weise, die mit den Eingabetasten konsistent
ist, die der Benutzer drückt.
-
Die Fokus-Verwaltung bietet Mittel
an zur Lenkung der Benutzereingaben auf die geeigneten interaktiven
Teile der Anwendung. Normalerweise werden die Aktoren, von denen
man annimmt, dass sie den Fokus enthalten, auf dem Schirm wiedergegeben,
wenn der Benutzer Eingaben eingibt.
-
Das Eingabe-Verwaltung ist auch verantwortlich
für die
Aktivierung des Tastenkombinations (shortcut)-Mechanismus: dieser
Mechanismus ermöglicht,
dass ein Aktor eine Taste drücken
kann, auch wenn er den Fokus nicht hat.
-
Eingabe-Verwaltung, Umsetzung
und Routing
-
Die Benutzereingaben werden durch
die OpenTV-Nachrichten zu dem NE geliefert. Diese Eingaben werden
in dem NE verwaltet, das sie analysiert und verarbeitet. Sie werden
eventuell zu den Aktoren übermittelt.
Bei der Verarbeitung der Benutzereingaben ist das NE in der Lage,
eine gewisse Filterung bei ihnen vorzunehmen, wie die Fokus-Verwaltung,
das Routing und die Umsetzung, d. h. die Zuordnung einer spezifischen Taste
zu einem Attribut.
-
Die Benutzereingaben sind abhängig von
dem tatsächlich
auf dem Decoder verfügbaren
Gerät. OpenTV
bildet die Umsetzung von den spezifischen Gerätedaten in OpenTV-Nachrichten.
Die MEs sind verantwortlich für
eine richtige Interpretierung der Daten.
-
Es wird angenommen, dass die mit
den spezifischen Geräten
verbundenen, tiefer liegenden Treiber den Code abhängig von
dem tatsächlichen
Gerät erzeugen
(über OpenTV-Nachrichten).
-
Mögliche
Geräte
sind die XY-Zeiger und die Spracheingabe.
-
Benutzereingaben werden normalerweise
zu einem Aktor übermittelt,
der den Fokus besitzt (über
eine OpenTV-UIMS-Funktion). Der Aktor kann sie ignorieren. In diesem
Fall wird die Nachricht zu dem Vorgänger des Aktors übermittelt.
Das erfolgt durch die automatische OpenTV-Nachricht, die zusammen
mit dem Gerätebaum
läuft.
-
Aktoren, die Tastenkombinationen
(shortcuts) bearbeiten, erklären
die Schlüssel,
an denen sie in einem spezifischen Attribut impliziert sind, Tastenkombination
(Shortcut). Wenn es aktiviert wird, übermittelt das NE ihnen die
Tastendrücknachricht
von Interesse.
-
Fokus-Umlauf
-
Die Fokus-Verwaltung erfolgt durch
das NE, anstatt auf die MEs verteilt zu werden. Der Umlaufgraph wird
zusammen mit der IAD heruntergeladen. Er beschreibt, wie der Fokus
von einem ME zu einem anderen ME eingestellt werden muß, zum Beispiel
entsprechend den Pfeiltasten der Fernbedienung. Es ist optional. Wenn
es nicht verfügbar
ist, bewirkt das NE eine Standard-Verwaltung aufgrund der LNG-Struktur.
-
Einige MEs können ihre eigene Fokus-Verwaltung
bilden. In einem derartigen Fall ist das Drücken einer Pfeiltaste ein Ereignis,
das zu ihm übertragen
werden muß.
-
Der Umlaufgraph wird auf der IAD-Struktur
definiert. Jeder Knoten gehört
zu Daten, die für
jede Pfeiltaste anzeigen, welcher Knoten den Fokus empfangen muß. Diese
Daten werden in dem Attribut "FocusCirculation" gespeichert. Ihre
Werte sind eine Liste von höchstens
vier Paaren (Links/Rechts/Aufwärts/Abwärts, Knoten
ID).
-
Farbverwaltung
-
Gemäß der vorliegenden Ausführungsform
benutzt die Graphik-Hardware der Decoder eine Farbpalette. Die in
der Palette gespeicherten Werte müssen an den Kontext jeder Anwendung
angepaßt
sein. Es liegt in der Verantwortung des NE, die Palette mit den
richtigen Werten zu initialisieren, wenn eine Anwendung aktiviert
wird.
-
Der Inhalt der laufenden Palette
ist abhängig
davon, auf welchen Aktoren zu einer bestimmten Zeit wiedergegeben
wird. Ihre Notwendigkeiten sind beschrieben durch das Colormap-Attribut
des Top-Level-Aktors. Die Anwendung kann eine spezifische Version
für diesen
Aktor bilden. Eine Standard-Colormap ist für die Anwendung vorgesehen.
-
Schriftart-Verwaltung
-
Die Schriftart-Verwaltung wird dem
OpenTV anvertraut. Der Schriftart-Attribut-Wert ist der Name der Schriftart
des OpenTV. Ein speziell gewidmeter Aktor kann verantwortlich sein
für das
Laden der Schriftarten, die durch die anderen Aktoren der Anwendung
benötigt
werden.
-
NEEvent und
Verarbeitungen
-
Der NE-Algorithmus basiert auf einer
Hauptschleife, die Ereignisse verarbeitet, eines zur Zeit. Die Ereignisse
können
einfache Ereignisse sein, wie eine Benutzereingabe oder ein anderes
Systemereignis. Es gibt mehrere spezifische Ereignisse: diese Ereignisse
befassen sich mit der Verwaltung des LNG und des Aktors und ermöglichen
eine asynchrone Verwaltung. Alle diese Ereignisse werden in einer
FIFO-Weise verarbeitet.
-
Diese Ereignisse können durch
Aktoren oder durch das NE selbst "gepostet" werden. Mögliche Ereignisse
sind:
-
- – Navigieren
zu einem Knoten
- – Registrieren
einer Attribut-Änderung
- – Änderung
der Fokus-Lage
-
Die Netzschnittstelle
-
Die Netzschnittstelle ist das Modul
für den
Austausch von Daten zwischen dem NE und der Außenwelt. Diese Daten enthalten:
-
- – Nicht-Echtzeitdaten
(wenngleich einige Daten lose mit den a/v-Materialien synchronisiert sein können)
- – Echtzeit-Daten
a/v-Materialien
-
Die Außenwelt besteht aus einem Sendefluss
(133), einem bidirektionalen Fluss (131) und einem
Datenspeicherträger
(140):
-
- 1. Der Sendefluss (133) wird durch das OpenTV durch
das Konzept des Programms verwaltet, das sowohl Echtzeit- als auch
Nicht-Echtzeit-Daten enthält.
-
Der Nicht-Echtzeit-Fluss ist durch
OpenTV-Module strukturiert. Jeder von ihnen enthält eine einzige ID und eine
Größe. Die Übertragung über das
Netz ist in der Regel zyklisch. Die Anzahl der möglichen Typen von Modulen ist
möglicherweise
groß,
jedoch ist die Anzahl der Typen von Modulen, auf die gleichzeitig
gewartet werden kann, klein (abhängig
von den örtlichen
Hardware-Ressourcen, kann diese Anzahl zum Beispiel zwischen 30
und 70 liegen).
-
Das OpenTV-Modul ID bildet ein erstes
Namensschema in diesen Daten. Dieses "Naming" ist derzeit beschränkt auf
den Umfang einer sogenannten OpenTV-Anwendung.
-
Zu den Echtzeit-Komponenten eines
Programms besteht ebenfalls ein Zugriff durch die ID.
-
- 2. Der bidirektionale Fluss (131), der durch den
Reihenanschluß oder
das Modem übertragen
wird, bezeichnet als "der Rückkanal",
wird durch das OpenTV über
das Konzept des Programmanbieters verwaltet, mit dem bidirektionale
Verknüpfungen
hergestellt werden können
(OpenTV-Sockets). Ein asynchroner Nachrichtenaustausch kann über diesen
Kanal erfolgen. Verknüpfungen
mit mehreren Servicediensten können
zur selben Zeit offen sein.
-
Künftiges
TCP/IP kann OpenTV-Sockets ersetzen.
-
- 3. Die auf einem Träger
oder Datenspeicher (140) gespeicherten Daten, der mit dem
Decoder verbunden ist, nämlich
eine DVD, DVD ROM oder CD ROM. Es gibt kein Standardprotokoll für die Bearbeitung
des Datenaustauschs mit diesem Träger, wenngleich DSM CC sich
mit diesem Gegenstand befasst.
-
Das Ziel ist es, eine Schnittstelle
für das
NE zu bilden, die die Details des tiefer liegenden Netzwerks verdeckt.
Jedoch haben tatsächliche
Geräte
verschiedene Möglichkeiten,
die berücksichtigt
werden müssen. Die
Notwendigkeiten des NE für
das Netz sind die folgenden:
-
- – Asynchroner
Empfang von Teilen von IAD- oder IAD-Nachrichten, d. h. ohne irgendetwas
anzufordern. Der Umfang dieser Daten ist im voraus bekannt. Es sollte
bemerkt werden, dass die Anzahl der Daten, die zu einer bestimmten
Zeit benötigt
werden, klein sein kann verglichen mit den insgesamt verfügbaren Daten,
- – Synchroner
Empfang von Teilen von IAD oder IAD-Nachrichten, d. h. mit einer
von einer Antwort befolgten Anführung,
- – Empfang
von Daten für
die Datenladung.
-
Die Lösung besteht darin, ein Namensschema
zu definieren, das die drei Medien zusammen mit einem Satz von Funktionen
umfaßt,
die letztlich sich auf die verfügbaren
Netz-verwaltungsschichten verlassen. Das Namensschema dient zur
Wahl von a/v-Daten und auch innerhalb des LNG, wenn Teile des LNG
von einem Teil adressiert werden, der bereits geladen worden ist.
Die Namen werden durch das NE in eine niedrigere Protokollsyntax
umgesetzt.
-
Das Namensschema beruht auf Servicenamen
und Komponentenamen: <service
name>, <component-x>, <sub-component-y> ... Das NE dient zur Auflösung des
Namens, um zu ermitteln, von welchem Typ der Quelle oder des Netzes
die entsprechenden Daten geladen werden müssen.
-
Beispiel einer
IAD und ihres zugehörigen
Graph
-
Anhang 1 und 6 dienen
zur Beschreibung eines Beispiels einer interaktiven Anwendung für einen seltenen
Fall. Für
eine Übersicht
der Anwendung sind die strukturellen und navigatorischen Verknüpfungen
der entsprechenden IAD durch den Graph von 6 dargestellt. Die Objekthierarchie ist
die folgende:
-
-
-
Zum Zwecke der Klarheit sind die
letzten Reihen der Objekte in 6 nicht
dargestellt, da ihre Verknüpfungen
ziemlich einfach sind. Es sei bemerkt, dass in 6 Objekte, die zu demselben Schirm gehören, durch
gestrichelte Rechtecke umrandet sind. Es müssen nicht alle Objekte desselben
Schirms zu einer bestimmten Zeit wiedergegeben werden: das ist von
ihrem Zustand abhängig,
wie sich später
im Zusammenhang mit dem Anhang 1 ergibt.
-
Die Anwendung läuft vor und während der
Sendung eines "car race". Sie ermöglicht dem Benutzer den Zugriff
in Echtzeit und zu Archivinformationen mit dem Race sowie die Umschaltung
zwischen mehreren Videoströmen.
Es können
nicht alle Videoströme
zu allen Zeiten verfügbar
sein, jedoch bildet die IAD die notwendigen Knoten für den Zugriff
zu Informationen und Videoströmen,
die möglicherweise
verfügbar
sind. Zum Beispiel kann sich ein Unfall oder eine Störung während des
Race ereignen oder auch nicht. Wenn eine Störung erfolgt, kann der Benutzer
den Wunsch haben, die spezifische Länge für dieses Ereignis zu erkennen,
und die entsprechenden Knoten und Aktoren werden aktiviert. Ansonsten
werden die Knoten nicht benutzt.
-
Die in 6 dargestellte
Anwendung besteht in einem einzigen Cluster, das als ein Stück geladen wird.
Die Anwendung wird vor und während
der Sendung des Race Event zyklisch gesendet. In einem digitalen Fernsehsystem
sind die Daten für
die Anwendung in dem digitalen Multiplex enthalten, eingekapselt
in die Transportschichtpakete. In einem analogen Fernsehsystem sind
derartige Pakete in der Vertikalaustastlücke des Videosignals moduliert.
Eine derartige Sendung ist im Stand der Technik bekannt und wird
nicht näher
im Detail beschrieben. Der Decoder detektiert die Pakete für die Anwendung
durch Prüfung
der Paketidentifizierer in den Headern der Sendepakete und demultiplexiert
die einem vorbestimmten Identifizieren entsprechenden Pakete.
-
Die Top-Knoten, wie MenuPage und
DisplayPage werden abgebildet und aktiviert, wenn die IAD geladen
ist, gefolgt von einer Abbildung der Unterknoten. Es sei bemerkt,
dass der Anfangswert des Attributs "Mapped" in den Knoten der IAD
des Anhangs 1 anzeigt, ob der Knoten wiedergegeben werden muß, nicht, ob
er tatsächlich
zu einem Aktor gehört.
-
Jeder Knoten der IAD hat ein mit
"Aktor" bezeichnetes Attribut, das die Aktorklasse, d. h. seine
Funktion, definiert. Für
einen bestimmten Knoten wählt
das NE einen Aktor, der dieser Klasse entspricht (es können mehrere
Aktoren verfügbar
sein), und erstellt eine Instanz des Aktors für den Knoten.
-
Eine Aktivierung des MenuPage Knotens
und seiner Unterknoten resultiert in der Wiedergabe der im folgenden
erläuterten
Hauptseite oder "Main Page". Die Aktivierung des Knotens ControlPage
erzeugt zunächst
keine Wiedergabe, da alle abgebildeten oder "Mapped" Attribute und
die Unterknoten des Knotens und des Knotens ControlPage selbst den
Wert "Falsch" haben.
-
Die IAD gemäß dem vorliegenden Beispiel
enthält
eine Hauptseite, genannt Menu-Page,
mit vier Tasten, die der Benutzer aktivieren kann: ControlButton,
VideoButton, HistoButton und ResultButton.
-
Der Code für alle vier Tasten zeigt an,
dass sie einem Aktor einer mit "pixmap" bezeichneten Klasse zugeordnet
werden sollten. Dieser Aktor erfordert ein "bitmap picture" für seine
Wiedergabe. Die Identifizierer der Bilder werden als Werte des Attributs-"Image"
angegeben. Bei der Zuordnung zu einem Aktor werden die Bildattributwerte
eines Knotens durch den Aktor gelesen, der dann von dem Navigationsgerät das Herunterladen
der entsprechenden Bitmap anfordert, wenn die Ladung nicht schon
vorher stattgefunden hat.
-
Die Steuertaste oder ControlButton
ergibt einen Zugriff zu einer zweiten Seite (ControlPage) mit drei Toggle-Tasten
oder "ToggleButtons". Toggle-Tasten sind Aktoren mit einem binären Zustand,
wobei der Benutzer von einem Zustand zu dem anderen umschalten kann,
daher der Ausdruck "Toggle". Die ControlPage soll dem Benutzer ermöglichen, über die
Knoten-Wiedergabseite die Basisinformationen zu wählen, die
er auf dem Bildschirm wiedergeben möchte: die verstrichene Zeit
seit dem Beginn des Race (Unterknoten Timelabel des Knotens), das
Ranking (sub-node PlacingLabel of the node) und die Lap-Nummer (sub-node
LapNumber Label of the node Displaypage). Es sei bemerkt, dass die
Attribute "Mapped" der drei Unterknoten des Knotens Wiedergabeseite
oder Displaypage bei dem Wert "falsch" liegen, wie aus dem Anhang
1 ersichtlich ist. Das heißt,
sie werden erst wiedergegeben, wenn der Benutzer den Zustand der
Toggle-Tasten in der Steuerseite oder Control-Page ändert, was daraufhin dazu führt, dass
die entsprechenden Aktoren den Wert der "Wert"-Attribute der Toggle-Knoten ändern, was
daraufhin die Verknüpfung
dieser Knoten aktiviert, die den Wert der "Mapped"-Attribute ändern. Das
NE bewirkt die Wiedergabe des entsprechenden Aktors, wenn sein "Mapped"-Attribut
den Wert "Wahr" hat.
-
Die Videotaste oder VideoButton ergibt
einen Zugriff zu einem Schirm zur Auswahl eines von mehreren Videoströmen. Die
Videoseite oder Videopage enthält
ein Maximum von sieben Toggle-Tasten (abhängig von der Verfügbarkeit
der entsprechenden Videos), von denen nur einer zurzeit gewählt werden
kann. Toggle-Tasten, die nicht gewählt werden, werden in Grau
wiedergegeben (das Attribut "Grauzustand" (Greystate) ist gleich
Wahr). Die gewählte
Taste zeigt an, welcher Videostrom wiedergegeben werden muß.
-
Die zugehörigen Videoströme werden
durch andere Knoten dargestellt, um den Aktoren der "Video"-Klasse
zugeordnet zu werden. Während
der Videostrom durch den richtigen Videoaktor verarbeitet wird, werden
zusätzliche
Bildschirm-Graphiken direkt von dem Knoten aktiviert. Einer dieser
Knoten, der Knoten "TheRaceVideo", wird nunmehr beschrieben. Die
meisten der in diesem Zusammenhang beschriebenen Aspekte für diesen
Knoten sind auch auf die anderen Videoknoten anwendbar.
-
Zwei Fälle werden durch den Knoten
unterschieden, abhängig
davon, ob die entsprechende Videozusendung begonnen hat oder nicht.
Die Informationen für
die zeitliche Lage verglichen mit dem Beginn des "Race"-Videostroms
wird durch das Attribut "TimeCode" angegeben, dessen Wert vor dem
Race negativ und während
des Race positiv ist. Es ist ein Wert, der gemäß der vorliegenden Ausführungsform
in dem digitalen Multiplex gesendet wird und durch den Sender bestimmt
ist, der der einzige ist, der weiß, ob und wann ein Video verfügbar ist.
Der Knoten "TheRaceVideo" zeigt auf dem Schirm an, ob und wann das
entsprechende Video zu erwarten ist. Das erfolgt durch Änderung
des "Text"-Attributs in dem Knoten "TheRace-Toggle".
-
Abhängig von dem Vorzeichen des
Attributs erfolgen Berechnungen, entweder der Zeit in Minuten, die abgewartet
werden muss, bis das Race-Video startet, oder der verbleibenden
Sendezeit, wenn das Video gestartet ist.
-
Somit ist das Verhalten der Toggle-Taste
"TheRaceToggle" folgendermaßen:
wenn kein Wert des Attributs "TheRaceVideo. TimeCode" in dem digitalen
Multiplex anwesend ist, gibt die Toggle-Taste den ursprünglichen
Text wieder, d. h. "The Race". Wenn das Attribut einen Wert erhalten
hat und solange dieser Wert negativ ist, gibt die Taste den Text
"XX mit The Race" wieder, wobei XX die verbleibende Zeit vor dem
Beginn des Race anzeigt. Wenn der Zeitcode oder TimeCode positiv
wird, wird der Text "The Race YY mn" wiedergegeben, wobei YY die
verbleibende Zeit vor dem Ende des Race anzeigt.
-
Die Variable "Run" ist eine Variable,
deren Wert durch den zugehörigen
Aktor bestimmt ist. "Run" wird auf "Wahr" gesetzt, wenn der Knoten
abgebildet wird, d. h. wenn "TimeCode" größer als 0 ist. Er dient in
dem Knoten zur Änderung
des Wiedergabestatus der entsprechenden Taste und ermöglicht ihre
Wahl durch den Benutzer.
-
Wie ersichtlich, triggert die Einfügung der
TimeCode-Variablen durch den Sender für einen spezifischen Knoten
in das digitale Multiplex eine Anzahl von Vorgängen durch die IAD und die
Aktoren. Auf diese Weise kann das Echtzeitverhalten der interaktiven
Anwendung geändert
werden.
-
Die Variable "Value" dient zur Übermittlung
des Status der Taste zwischen dem Aktor und dem Knoten, d. h. der
Informationen für
die Wahl oder nicht einer Taste durch den Benutzer. Eine Statusänderung
einer Taste triggert in der IAD definierte Vorgänge. Zunächst ist die einzige Taste
mit dem aktiven Status (Wert = Wahr) die Taste TheRaceToggle. Der
Wert der Variablen "Value" für
den Knoten TheRaceToggle wird am Ende des IAD-Codes zusammen mit
anderen Variablen für
andere Knoten getestet. Diese Tests sind kein Teil eines bestimmten
Knotens. Diese "orphan links" werden durch das NE in einen generischen
Knoten eingefügt,
wenn die IAD geladen wird. Der den Knoten TheRaceToggle betreffende
Test ist der folgende: wenn die Taste gewählt wird ("Value" ist in diesem
Fall Wahr), wird getestet; ob das Video gestartet hat oder nicht
(TimeCode>0). Wenn
dies der Fall ist, wird die Variable "Mapped" des Knotens auf "Wahr"
gesetzt.
-
Anhang 2 ist ein Beispiel des C-Codes
mit Anwendung von OpenTV-Funktionen für einen Aktor der Klasse Text
Button. Der Aktor besteht aus einer Anzahl von Funktionen und Datenstrukturen.
Einige der Funktionen sind durch das Navigationsgerät und von
der Anwendungs-programmierbaren Schnittstelle des Aktors bekannt.
Zu den anderen ist der Zugriff nur über den Aktor selbst möglich.
-
Aktor-API-Funktionen enthalten Create
Actor (mit "CreateMEbutton" bezeichnete Funktion, wenn der Aktor
zu einem Knoten abgebildet wird), Delete Actor (mit "DestroyMEButton"
bezeichnete Funktion, wenn der Aktor "nicht-abgebildet" (unmapped)
wird) und der Notify Actor (mit "NotifyMEButton" bezeichnete Funktion, wenn
der Aktor ein durch das NE bearbeitetes Ereignis empfangen soll).
-
Datenstrukturen enthalten Parameter
für die
Definition des Aussehens der Taste in ihrer verschiedenen Zuständen (Focused-desc,
Idle_desc, Down_desc).
-
Funktionen enthalten außerdem eine
Funktion zur Einstellung des graphischen Tastenstatus (function set
button state). Diese Funktion ruft die geeigneten OpenTV-Funktionen auf, die
die Bildschirmwiedergabe verwalten, unter Anwendung der vorangehend
definierten Parameter.
-
Eine andere wichtige Funktion ist
die Funktion, die die durch den Aktor empfangenen Ereignisse definiert
(function button_message_handler) und die diese Ereignisse zu den
internen Funktionen des Aktors übermittelt.
-
Zwei Funktionen dienen für die Navigation
und die Tasten-Aktivierungs/Deaktivierungs-Zwecke: handle_key_up
and handle key_down.
-
Letztlich enthält der Aktor eine Funktion
zum Lesen von Knotenattributen, wenn der Aktor abgebildet wird.
Diese Funktion wird im Anhang 2 mit MEButtonReadAttrs bezeichnet.
In dem vorliegendem Beispiel werden drei Attribute gelesen: "Text",
der das Textlabel der Taste definiert, "XY", das die Lage der Taste
auf dem Schirm definiert, und "Activate", das der Variablen "Value"
des Anhangs 1 definiert. Dieser Wert der Variablen kann durch den
Aktor geändert
werden, und der neue Wert kann zu dem Knoten neu geschrieben werden.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-