DE69907482T2 - Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen - Google Patents

Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen Download PDF

Info

Publication number
DE69907482T2
DE69907482T2 DE69907482T DE69907482T DE69907482T2 DE 69907482 T2 DE69907482 T2 DE 69907482T2 DE 69907482 T DE69907482 T DE 69907482T DE 69907482 T DE69907482 T DE 69907482T DE 69907482 T2 DE69907482 T2 DE 69907482T2
Authority
DE
Germany
Prior art keywords
interactive
nodes
interactive multimedia
multimedia applications
navigation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69907482T
Other languages
English (en)
Other versions
DE69907482D1 (de
Inventor
Louis Chevallier
Pierre Houeix
Olivier Dehoux
Philippe Letellier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor SA
Original Assignee
Thomson Multimedia SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Multimedia SA filed Critical Thomson Multimedia SA
Publication of DE69907482D1 publication Critical patent/DE69907482D1/de
Application granted granted Critical
Publication of DE69907482T2 publication Critical patent/DE69907482T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Details Of Television Systems (AREA)

Description

  • 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:
  • Figure 00430001
  • Figure 00440001
  • 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.
  • ANNEX 1
    Figure 00500001
  • Figure 00510001
  • Figure 00520001
  • Figure 00530001
  • Figure 00540001
  • Figure 00550001
  • Figure 00560001
  • Figure 00570001
  • Figure 00580001
  • Figure 00590001
  • Figure 00600001
  • Figure 00610001
  • Figure 00620001
  • Figure 00630001
  • Figure 00640001
  • Figure 00650001
  • ANNEX 2
    Figure 00660001
  • Figure 00670001
  • Figure 00680001
  • Figure 00690001
  • Figure 00700001
  • Figure 00710001
  • Figure 00720001

Claims (18)

  1. Verfahren zur Ausführung von interaktiven Multimedia-Anwendungen, die von einer Quelle (140, 150, 160) für interaktive Multimedia-Anwendungen zu Verarbeitungsmitteln (130) in einem Fernsehempfänger übertragen werden, gekennzeichnet durch folgende Schritte: (a) Laden einer interaktiven Multimedia-Anwendung (210) in die Verarbeitungsmittel (130), wobei die interaktive Multimedia-Anwendung mehrere Knoten (211, 212, ...), die einen Graph für eine Datendarstellung bilden, und mehrere Navigations-Verknüpfungen enthält, die die Knoten für eine dynamische Darstellung verbinden, wobei jeder Knoten einen Satz von Attributen besitzt, die Knoten durch strukturelle Verknüpfungen und Navigationsverknüpfungen verbunden sind und der Empfänger grundlegende interaktive Elemente enthält, (b) Zuordnung der Knoten der interaktiven Multimedia-Anwendung zu wenigstens einem grundlegenden interaktiven Element zur Bildung einer graphischen Darstellung (220) aus interaktiven Elementen (221, 222, ...), wobei die interaktiven Elemente eine Schnittstelle zwischen den Knoten und einem Benutzer (120) darstellen, (c) Ausführung der interaktiven Multimedia-Anwendung in den Verarbeitungsmitteln (130) aufgrund von Navigationsbefehlen des Benutzers und entsprechend den Navigationsverknüpfungen.
  2. Verfahren nach Anspruch 1, wobei die Knoten für die Stützung der Darstellung der mehreren interaktiven Multimedia-Anwendungen auf Wiedergabemitteln (110) und Navigationsverknüpfungen für die Navigation in den mehreren interaktiven Multimedia-Anwendungen durch strukturelle Verknüpfungen verknüpft sind.
  3. Verfahren nach Anspruch 1 oder 2 mit dem Schritt der Bestimmung von Sätzen von Knoten (410, 420, ...), die miteinander verbunden sind, um Cluster zu bilden, die minimale interaktive Multimedia-Anwendungen darstellen.
  4. Verfahren nach Anspruch 3, wobei der Satz von Knoten durch die strukturellen Verknüpfungen mit einem Cluster verbunden ist, der aus unteilbaren Teilen der mehreren interaktiven Multmedia-Anwendungen zusammengesetzt ist, um so eine Navigation zwischen den Clustern zu ermöglichen.
  5. Verfahren nach Anspruch 4, wobei die Cluster einen hierarchischen Baum-Graph (410, 420, ...) von Wurzel-Clustern (440, 450) zu einem Top-Cluster (410) aufweisen, der Teile gruppiert, die allen interaktiven Multimedia-Anwendungen gemeinsam sind.
  6. Verfahren nach einem der Ansprüche 4 oder 5 mit dem Schritt der Verwaltung der mehreren interaktiven Multimedia-Anwendungen durch Verwertung nutzloser Cluster oder durch Ladung benötigter Daten von der Quelle (140, 150, 160) für die interaktiven Multimedia-Anwendungen.
  7. Verfahren nach einem der Ansprüche 4, 5 oder 6 mit dem Schritt des Vorladens und der Vorabbildung der Cluster, die mit einem laufenden Cluster verbunden sind, um so eine künftige Benutzung der Cluster vorherzusehen.
  8. Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt des Ladens der mehreren interaktiven Multimedia-Anwendungen außerdem die Schritte der Speicherung von Teilen der mehreren interaktiven Multimedia-Anwendungen in zusätzlichen Speichermitteln wie einer DVD enthält.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei die interaktive Anwendung wenigstens eine Gruppe von Knoten für einen vorbestimmten Videostrom enthält, die Knoten Mittel zur Auslösung der Ausführung des Codes aufgrund eines Signals enthalten, das über die künftige oder die laufende Übertragung des Videostroms informiert.
  10. Verfahren zur Verwaltung von mehreren interaktiven Multimedia-Anwendungen, die von einer Quelle (140, 150, 160) für interaktive Multimedia-Anwendungen zu Verarbeitungsmitteln (130) in einem Fernsehempfänger übertragen werden, der eine örtliche Datenspeicherung enthält, dadurch gekennzeichnet, dass die mehreren interaktiven Multimedia-Anwendungen auf einer Hierarchie von mehreren Sätzen von Knoten (410, 420, ...) für eine minimale Datendarstellung der mehrere interaktiven Multimedia-Anwendungen und den mehreren Navigationsverknüpfungen basieren, mit folgenden Schritten: (d) Wahl von Sätzen von Knoten (410, 420, ...), die die zuletzt am wenigsten benutzten Knoten sind, (e) graduelle Verwertung der Knoten, die am unteren Ende der Hierarchie liegen aus der örtlichen Datenspeicherung unter den gewählten Sätzen von Knoten, (f) Laden des benötigten Satzes von Knoten in die Verarbeitungsmittel (130) aufgrund von Benutzerbefehlen.
  11. Verwaltungsverfahren nach Anspruch 10, wobei ein Indikator für die Nützlichkeit für den Satz von Knoten gebildet wird, um so dynamisch ihre Nützlichkeit zu ermitteln.
  12. Verwaltungsverfahren nach Anspruch 10 oder 11 mit dem Schritt der Lenkung von Eingaben von Benutzerbefehlen zu den geeigneten Teilen der interaktiven Multimedia-Anwendungen durch Verfolgung der fokussierten interaktiven Elemente, wobei ein Zirkulations-Graph der Eingabe von Benutzerbefehlen zugeordnet wird, so wie für diese Fokusverwaltung.
  13. Fernsehempfänger zur Ausführung mehrerer interaktiver Multimedia-Anwendungen, die von einer Quelle (140, 150, 160) für interaktive Multimedia-Anwendungen zu Verarbeitungsmitteln (130) in dem Empfänger übertragen werden, gekennzeichnet durch: – Mittel zum Laden der mehreren interaktiven Multimedia-Anwendungen (210) in die Verarbeitungsmittel (130), wobei die mehreren interaktiven Multimedia-Anwendungen auf mehreren Knoten (211, 212, ...) basieren, die ein Graph für die Datendarstellung und mehrere Navigationsverknüpfungen bilden, die die Knoten für dynamische Darstellung verbinden, wobei jeder Knoten einen Satz von Attributen besitzt, der strukturelle Verknüpfungen und Navigationsverknüpfungen . bestimmt, und wobei der Empfänger grundlegende interaktive Elemente enthält, – Mittel zur Zuordnung eines grundlegenden interaktiven Elements zu wenigstens einem Knoten der geladenen interaktiven Multimedia-Anwendung, abhängig von dem Wert eines Attributs zur Bildung der interaktiven graphischen Darstellung (220) aus interaktiven Elementen (221, 222, ...), so dass die interaktiven Elemente eine Schnittstelle zwischen dem Knoten und einem Benutzer (120) darstellen, und – Mittel zur Durchführung von Navigationsbefehlen des Benutzers aufgrund von Navigationsbefehlen des Benutzers und gemäß den heruntergeladenen Navigationsverknüpfungen.
  14. Empfänger nach Anspruch 13 mit: – Mitteln zum Aufbau struktureller Verknüpfungen für die Unterstützung der Darstellung der mehreren interaktiven Multimedia-Anwendungen und – Mitteln zum Aufbau von Navigationsverknüpfungen für die Navigation in den mehreren interaktiven Multimedia-Anwendungen.
  15. Empfänger nach Anspruch 14 mit Mitteln zur Bestimmung von Sätzen von Knoten (410, 420, ...), die miteinander verbunden sind, zur Bildung von hierarchischen Graphen, die minimale interaktive Anwendungen darstellen.
  16. Empfänger nach Anspruch 15 mit Mitteln zur Verwaltung der Sätze von Knoten durch Verwertung nutzloser Sätze von Knoten und Laden von benötigten Daten von der Quelle (140, 150, 160) für die interaktiven Multimedia-Anwendungen.
  17. Empfänger nach Anspruch 16 mit Mitteln zur Speicherung zusätzlicher Teile der mehreren interaktiven Anwendungen, um so den Satz von Knoten vorzuladen und vorabzubilden, der mit einem laufenden Satz von Knoten verbunden ist, um so eine künftige Benutzung vorherzusehen.
  18. Fernsehempfänger zur Verwaltung von mehreren interaktiven Multimedia-Anwendungen, die von einer Quelle (140, 150, 160) für interaktive Multimedia-Anwendungen zu Verarbeitungsmitteln (130) übertragen werden, die eine örtliche Datenspeicherung enthalten, wobei die mehreren interaktiven Multimedia-Anwendungen auf einer Hierarchie von mehreren Sätzen von Knoten (410, 420, ...) für eine minimale Datendarstellung der mehreren interaktiven Multimedia-Anwendungen und der mehreren Navigationsverknüpfungen beruhen, gekennzeichnet durch: – 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.
DE69907482T 1998-09-04 1999-09-06 Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen Expired - Lifetime DE69907482T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP98402187 1998-09-04
EP98402187A EP0984631A1 (de) 1998-09-04 1998-09-04 Vorrichtung und Verfahren zur Ausführung von interaktiven Fernsehanwendungen auf Set Top Boxen
PCT/EP1999/006992 WO2000014965A1 (en) 1998-09-04 1999-09-06 Apparatus and method for executing interactive tv applications on set top units

Publications (2)

Publication Number Publication Date
DE69907482D1 DE69907482D1 (de) 2003-06-05
DE69907482T2 true DE69907482T2 (de) 2004-03-18

Family

ID=8235480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69907482T Expired - Lifetime DE69907482T2 (de) 1998-09-04 1999-09-06 Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen

Country Status (7)

Country Link
EP (2) EP0984631A1 (de)
JP (1) JP2003526960A (de)
CN (1) CN100338955C (de)
AT (1) ATE239342T1 (de)
DE (1) DE69907482T2 (de)
ES (1) ES2198961T3 (de)
WO (1) WO2000014965A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424998B2 (en) 1999-04-28 2002-07-23 World Theatre, Inc. System permitting the display of video or still image content on selected displays of an electronic display network according to customer dictates
US8656423B2 (en) 1999-08-27 2014-02-18 Ochoa Optics Llc Video distribution system
US7209900B2 (en) 1999-08-27 2007-04-24 Charles Eric Hunter Music distribution systems
US6952685B1 (en) 1999-08-27 2005-10-04 Ochoa Optics Llc Music distribution system and associated antipiracy protection
US7647618B1 (en) 1999-08-27 2010-01-12 Charles Eric Hunter Video distribution system
US6647417B1 (en) 2000-02-10 2003-11-11 World Theatre, Inc. Music distribution systems
US8090619B1 (en) 1999-08-27 2012-01-03 Ochoa Optics Llc Method and system for music distribution
US9252898B2 (en) 2000-01-28 2016-02-02 Zarbaña Digital Fund Llc Music distribution systems
FR2810833B1 (fr) * 2000-06-27 2002-09-20 Thomson Multimedia Sa Appareil multimedia de reception d4emission audiovisuelle
GB0016061D0 (en) * 2000-06-30 2000-08-23 Koninkl Philips Electronics Nv Efficient recording of object carousels
US7054256B2 (en) 2000-10-20 2006-05-30 Ochoa Optics Llc High capacity digital data storage by transmission of radiant energy through arrays of small diameter holes
MY147018A (en) * 2001-01-04 2012-10-15 Thomson Licensing Sa A method and apparatus for acquiring media services available from content aggregators
US8112311B2 (en) 2001-02-12 2012-02-07 Ochoa Optics Llc Systems and methods for distribution of entertainment and advertising content
US7960005B2 (en) 2001-09-14 2011-06-14 Ochoa Optics Llc Broadcast distribution of content for storage on hardware protected optical storage media
US7233781B2 (en) 2001-10-10 2007-06-19 Ochoa Optics Llc System and method for emergency notification content delivery
US20030196206A1 (en) 2002-04-15 2003-10-16 Shusman Chad W. Method and apparatus for internet-based interactive programming
US20040210947A1 (en) 2003-04-15 2004-10-21 Shusman Chad W. Method and apparatus for interactive video on demand
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
CN100409662C (zh) * 2006-02-14 2008-08-06 深圳创维数字技术股份有限公司 自动放映的文件的制做方法及该文件的播放方法
CN101090387B (zh) * 2006-06-12 2012-02-22 松下电器产业株式会社 数字电视中间件、机顶盒、及数字电视网络中的交互方法
KR101185111B1 (ko) * 2008-01-11 2012-09-21 엔에이치엔(주) 웹 런칭 시스템 및 방법
EP2224448A1 (de) * 2009-02-27 2010-09-01 BRITISH TELECOMMUNICATIONS public limited company Medienerforschung
CN102447673A (zh) * 2010-09-30 2012-05-09 突触计算机***(上海)有限公司 一种用于解封装携有封装格式的多媒体文件的方法与设备
CN102184114B (zh) * 2011-05-19 2013-01-16 深圳创维数字技术股份有限公司 一种程序运行方法及机顶盒
CN112596481B (zh) * 2020-12-09 2022-04-22 蒲惠智造科技股份有限公司 一种支持即插交互式节点的mes管理***及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469865B (sv) * 1992-02-17 1993-09-27 Ericsson Telefon Ab L M Sätt att etablera samarbete med en funktionalitet samt anordning för utövande av sättet
US5673401A (en) * 1995-07-31 1997-09-30 Microsoft Corporation Systems and methods for a customizable sprite-based graphical user interface
FI103005B1 (fi) * 1996-03-25 1999-03-31 Nokia Telecommunications Oy Lähetettävän datan priorisointi reitittimessä
US5946487A (en) * 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US6098096A (en) * 1996-12-09 2000-08-01 Sun Microsystems, Inc. Method and apparatus for dynamic cache preloading across a network
US6208335B1 (en) * 1997-01-13 2001-03-27 Diva Systems Corporation Method and apparatus for providing a menu structure for an interactive information distribution system

Also Published As

Publication number Publication date
CN100338955C (zh) 2007-09-19
EP1110402A1 (de) 2001-06-27
WO2000014965A1 (en) 2000-03-16
EP0984631A1 (de) 2000-03-08
JP2003526960A (ja) 2003-09-09
DE69907482D1 (de) 2003-06-05
CN1317205A (zh) 2001-10-10
EP1110402B1 (de) 2003-05-02
ES2198961T3 (es) 2004-02-01
ATE239342T1 (de) 2003-05-15

Similar Documents

Publication Publication Date Title
DE69907482T2 (de) Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen
DE60001417T2 (de) System zur schnellen entwicklung interaktiver anwendungen
DE69418580T2 (de) Fernanzeige von einem Bild durch Übertragung von komprimierten Videorahmen, die seinen Hintergrund und seinen überlagerten Vordergrund darstellen
DE60030618T2 (de) Ereignissteuergerät und digitales Rundfunksystem
DE69310214T2 (de) Dialogsystem
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE69310201T2 (de) Objektorientierte applikationsschnittstelle.
DE69533565T2 (de) Verteiltes Computersystem
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
DE69930747T2 (de) Elektronischer client-server rprogrammführer
DE60027206T2 (de) Darstellung von graphischen objekten
DE69604251T2 (de) Informationsanbietergerät, um selektives Spielen von Multimediainformationen durch interaktive Eingabe zu ermöglichen, basierend auf einer angezeigten Hypertextinformation
DE60003322T2 (de) Verfahren, vorrichtung und computerprogrammprodukt für die aktivitäts-basierte zusammenarbeit durch ein computersystem ausgestattet mit einem dynamik-manager
DE60022610T2 (de) Verfahren zur Animationskodierung in einer Bilddatei
DE69802792T2 (de) Verfahren und vorrichtung zur gerätsteuerung
DE69620067T2 (de) Verfahren zur gemeinsamen Nutzung eines dreidimensionalen Raumes in virtueller Realität und System dafür
DE69815695T2 (de) Netzwerkübermittlung interaktiver unterhaltung zur ergänzung von audio-aufzeichnungen
DE60033011T2 (de) Aufteilung einer datei zur emulation eines datenstroms
Price MHEG: an introduction to the future international standard for hypermedia object interchange
US20070255811A1 (en) Dynamic Data Presentation
DE19814254A1 (de) Abfragebasierte elektronische Programmführung
DE10031034B4 (de) Allgemein interaktive Rundsendungen und insbesondere Systeme zur Erzeugung von interaktiven Rundsendungen
DE69608220T2 (de) Übertragung von graphischen bildern
DE69624693T2 (de) Verfahren und vorrichtung zur ausführung eines anwendungsprogramms
DE60005482T2 (de) Verfahren und system zur auswahl von produkten in einer video produktion unter verwendung von referenzbildern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: THIES, S., DIPL.-PHYS., PAT.-ANW., 30519 HANNOVER

8320 Willingness to grant licences declared (paragraph 23)