-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft das Gebiet von Konsumelektronikgeräten. Insbesondere
betrifft die vorliegende Erfindung Verfahren und Systeme zum Bereitstellen
von Benutzerschnittstellen für
elektronische Netzwerkgeräte,
einschließlich
Fernbedienungen.
-
Stand der Technik
-
Das
typische Heimunterhaltungssystem besteht heute aus einer Vielzahl
von unterschiedlichen Konsumelektronikgeräten, die audiovisuelle Medien
in verschiedenen Weisen darbieten und aufzeichnen. Im Gebiet von
Mediengeräten
gibt es ein Spektrum von Merkmalen für Produkte einer gegebenen
Klasse (Videorecorder, Videokamera, usw.). Die meisten Merkmale
werden durch körperliche
Steuerungen oder Elemente auf einer Steuertafel an dem Gerät dargestellt,
das durch einen Benutzer betätigt
werden kann.
-
Vor
kurzem wurde eine Klasse von Konsumelektronik-Mediengeräten eingeführt, die
unter Verwendung einer Standard-Kommunikationsprotokollebene (z.B.
IEEE 1394 – Kommunikationsstandard)
vernetzt werden können.
Der IEEE 1394 – Standard
ist ein internationaler Standard zum Realisieren einer kostengünstigen,
seriellen Hochgeschwindigkeits-Busarchitektur, die Datentransfers
sowohl des asynchronen als auch es isochronen Formats unterstützt. Der
IEEE 1394 – Standard
stellt einen seriellen Hochgeschwindigkeitsbus zum Verbinden digitaler
Geräten
bereit, um dadurch eine universelle Eingangs/Ausgangs-Verbindung
vorzusehen. Der IEEE 1394 – Standard
definiert eine digitale Schnittstelle für Anwendungen, um dadurch die
Notwendigkeit für
eine Anwendung zum Konvertieren digitaler Daten in eine analoge
Form vor deren Übertragung durch
den Bus zu beseitigen. Dementsprechend wird eine Empfangsanwendung
digitalen Daten, nicht analoge Daten von dem Bus empfangen und muss
deshalb nicht analoge Daten in eine digitalen Form umsetzen. Der IEEE
1394 ist ideal für
eine teilweise Konsumelektronikkommunikation, weil Geräte zu oder
von dem seriellen Bus hinzugefügt
oder entfernt werden können,
während
der Bus dem Übertragen
von Daten zwischen den dann existierenden Geräten dient. Jedes Gerät am Bus
ist ein „Knoten" und enthält seinen
eigenen Adressraum.
-
Das
Bereitstellen des seriellen Kommunikationsbusses nach IEEE 1394
zum Vernetzen von Konsumelektronikgeräten hat eine leistungsstarke
neue Plattform eingeführt,
auf der eine Gerätefunktionalität und -verträglichkeit
aufgebaut werden können.
Zum Beispiel können
in einem solchen System komplexe Vorgänge einschließlich Medientransfers,
Medienaufzeichnungen und Mediendarstellungen durchgeführt werden,
die zwei oder mehr gemeinsam agierende Geräte involvieren. Die Interaktion
zwischen diesen Geräten
kann jedoch komplex, fehleranfällig
und arbeitsaufwändig
sein, falls es erforderlich ist, dass jedes Gerät direkt kontaktiert wird,
um den gewünschten
Vorgang richtig zu konfigurieren. Die mit der richtigen Konfigurierung
des Medienvorgangs zusammenhängenden
Probleme können
erschwert werden, falls eines oder mehrere der Geräte entfernt
positioniert sind oder einer konstanten Wartung oder Einstellung
bedürfen.
Was benötigt
wird, ist ein effektiver Mechanismus zur Koppelung mit vernetzten
Konsumelektronikgeräten,
um Medienvorgänge
zwischen zwei oder mehr Geräten
zu vereinfachen.
-
Die
WO-A-96/14618 der Lone Wolf Corporation offenbart ein grafisches
Steuersystem eines Netzwerks von Geräten mit einem RS232-Protokoll
und unter Verwendung eines visuellen Netzwerkbetriebssystems basierend
auf einem objektorientierten Programmmuster, bei dem Objekte, die
das physische Aussehen der Geräte
definieren, an einer intelligenten Steuerung vorhanden sind, die
von den Geräten
getrennt ist.
-
Zusätzlich ist
es häufig
erwünscht,
einen Fernsteuerzugriff auf die durch ein Konsumelektronikgerät durchgeführten Merkmale
vorzusehen, sodass auf diese Geräte
von einer zentralen Stelle in einem Haus oder Büro zugegriffen werden kann.
Jedoch sind nicht alle Konsumelektronikgeräte in der Lage, ein hochentwickeltes
Anzeigesystem für
eine Fernwechselwirkung vorzusehen, z.B. bieten einige Geräte nur eine
kleine Flüssigkristallanzeige
(LCD) oder eine kleine Ansammlung von Leuchtdioden (LED) als Anzeigevorrichtungen. Was
benötigt
wird, ist ein Mechanismus zur Fernkopplung mit den Geräten, der
ein hochentwickeltes Niveau einer Benutzerwechselwirkung für viele
Geräte
vorsieht. Auch kann in vielen Konsumelektroniksystemen jedes Gerät seine
eigene Fernsteuereinheit haben. Selbst in Systemen mit nur einer
mäßigen Anzahl
von Geräten entdeckt
der Benutzer, dass drei oder mehr verschiedene und umfangreiche
Fernsteuergeräte
erforderlich sind, um Medienvorgänge
durchzuführen.
Was benötigt
wird, ist ein Mechanismus zur Koppelung mit elektronischen Geräten, der
die Probleme von verschiedenen Fernsteuereinheiten für verschiedene
Geräte
verringert. Was weiter benötigt
wird, ist ein Mechanismus zur Koppelung mit elektronischen Geräten, der
flexibel ist und an neue Geräte
und Gerätetypen
auf dem Konsumelektronikmarkt angepasst werden kann.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Demgemäß sieht
die vorliegende Erfindung einen effektiven Mechanismus zur Koppelung
mit vernetzten Konsumelektronikgeräten vor, um Medienvorgänge zwischen
zwei oder mehr Geräten
zu vereinfachen. Die vorliegende Erfindung sieht auch einen Mechanismus
zur Fernkoppelung mit Geräten
vor, der ein hochentwickeltes Niveau einer Benutzerwechselwirkung
für viele
Geräte,
die selbst ein begrenztes Anzeigevermögen haben können, vorsieht. Die vorliegende
Erfindung sieht auch einen Mechanismus zur Koppelung mit elektronischen
Geräten
vor, der unter Verwendung einer zentralen Fernsteuerstation und
einer zentralen Anzeige zum Anweisen von verschiedenen elektronischen
Geräten
und zum Empfangen von Statusinformationen betreffend die verschiedenen
elektronischen Geräte
arbeitet. Die vorliegende Erfindung sieht einen Schnittstellenmechanismus
zur Koppelung mit elektronischen Geräten vor, der außerdem flexibel
ist und an neue Geräte
und Gerätetypen
auf dem Konsumelektronikmarkt angepasst werden kann. Diese und weitere Vorteile
der vorliegenden Erfindung, die oben nicht speziell genannt sind,
werden aus den Erläuterungen
der hier dargestellten vorliegenden Erfindung klar werden.
-
Es
sind hier ein Verfahren und ein System zum Vorsehen einer Benutzerschnittstelle
für ein
vernetztes elektronisches Gerät
vorgesehen, die durch ein Zielgerät gehaltene Tafeluntereinheiten-Beschreiberinformationen
verwenden. Die vorliegende Erfindung verwendet eine Tafeluntereinheit,
um es irgendeinem passenden Gerät (z.B.
einem Zielgerät)
zu ermöglichen,
das physische Aussehen seiner Steuerungen und Anzeigen (z.B. Elemente)
einem anderen Gerät
(z.B. einer intelligenten Steuerung) zu beschreiben, und sie ermöglicht es
der intelligenten Steuerung, Aktionen an dem Zielgerät auszulösen, falls
ein Benutzer die Steuerungen an dem Zielgerät direkt körperlich betätigt hat.
Die vorliegende Erfindung arbeitet in einem Netzwerk von Konsumelektronikgeräten, z.B.
einem Fernseher (TV), einem Digitalempfänger (Set-Top-Box), einem Videorecorder
(VCR), einem Compact Disk (CD) – Gerät, einem
Personal Computer (PC) – System,
usw., die miteinander unter Verwendung einer Standard-Kommunikationsprotokollebene,
z.B. dem seriellen IEEE 1394 – Kommunikationsstandard
verbunden sind. Eine intelligente Steuerung (z.B. ein TV oder eine
Set-Top-Box oder beide) überwacht
das Netzwerk, um die damit verbundenen Einheiten zu entdecken, und
sie ist programmiert, um Tafeluntereinheiten zu lokalisieren, die
für ein
Zielgerät
definiert sind. Das Zielgerät
kann entfernt angeordnet sein.
-
Im
Allgemeinen versieht die Tafeluntereinheit dann die intelligente
Steuerung mit Informationen zum Erstellen einer Beschreibung der
Steuerungen und Anzeigen des Zielgeräts, und diese Beschreibung
kann mit einem Benutzer zur Fernauslösung von Aktionen durch das
Zielgerät
wechselwirken. Die Tafeluntereinheit ist so definiert, dass Befehlsinterpretationen
und Bildwechsel durch das Zielgerät gesteuert werden, wodurch
das Ansprechverhalten der intelligenten Steuerung beim Verwalten
der Benutzerschnittstelle mit generischen Benutzerereignissen reduziert
wird. Diese Lösung
erlaubt eine erhöhte
Flexibilität,
um die Benutzerschnittstelle zu erweitern und zukünftige Steuertypen
und Anzeigeinformationsprotokolle einzustellen.
-
Die
Tafeluntereinheit benutzt in einer Objektbeschreiberliste gespeicherte
Steuerobjekte, um die körperlichen
Steuerungen des Zielgeräts
zu definieren. Die Steuerobjekte sind mit mehreren Standardtypen
von Steuerungen und Anzeigen (z.B. Druckknöpfe, Schieber, Drehscheiben,
LCD-Schirme usw.) definiert, die man allgemein an Konsumelektronikgeräten findet.
Diese Steuerungstypen haben wohldefinierte Verhalten (z.B. Knöpfe werden
gedrückt,
Drehscheiben werden bewegt, Werte werden eingegeben, usw.). Zusätzlich definiert die
Tafeluntereinheit einen Satz Befehle, die auf irgendeine dieser
Steuerungen bei einer Auswahl durch den Benutzer anzuwenden sind.
Die Befehle sind definiert, um ausreichend generisch zu sein, sodass
sie auf die meisten Arten von Steuerungen angewendet werden können. Die
Tafeluntereinheit definiert auch generische Benutzerwechselwirkungsbefehle
(oder Benutzerereignisse), die durch einen Benutzer auf die Steuerungen angewendet
werden können
(z.B. Drücken,
Drücken
und Halten, Loslassen, Wert eingeben, usw.). Der Zweck dieser generischen
Benutzerereignisse ist es, die typische durch einen Benutzer betätigte Aktion
für die
Steuerungen einzuschließen
und das Zielgerät
die Art und Weise selbst entscheiden zu lassen, in der die Benutzeraktionen
zu interpretieren sind, wodurch die intelligente Steuerung von diesen
Verantwortlichkeiten entbunden ist.
-
Ein
Statusbeschreiber der Tafeluntereinheit hält die intelligente Steuerung über den
Status des betätigten
Zielgeräts
informiert. Die Statusbeschreiber-Datenstruktur ist dynamisch und
wird durch die Tafeluntereinheit aktuell gehalten. Die intelligente
Steuerung prüft
den Statusbeschreiber, um ihre grafische Anzeige zu aktualisieren,
um den Zielgerätestatus
dem Benutzer anzuzeigen. Ein Tafelstatusmeldebefehl lässt die
intelligente Steuerung eine Meldungsanforderung an das Zielgerät eingeben,
um anzugeben, wenn irgendwelche Veränderungen im Zustand des Zielgeräts in einer
Veränderung
des Statusbeschreibers resultieren. In Verbindung stehende Steuerungen
eines Zielgeräts
können
zusammen in lokale Gruppen gruppiert werden, welche die Tafeluntereinheit
in spezieller Weise gemeinsam anzeigen oder verarbeiten lässt.
-
Insbesondere
enthalten in einem Netzwerk von Konsumelektronikprodukten Ausführungsbeispiele
der vorliegenden Erfindung ein Verfahren zum Steuern eines Zielgeräts mit den
Schritten: a) Definieren einer Kennungsbeschreiber-Datenstruktur
in einer computerlesbaren Speichereinheit des Zielgeräts, die
eine Hierarchie für
Elemente einer körperlichen
Steuertafel des Zielgeräts
durch Zeigen auf Beschreiberlisten-Datenstrukturen definiert; b)
Definieren wenigstens einer Beschreiberlisten-Datenstruktur mit mehreren Steuerungsobjekten
in der computerlesbaren Speichereinheit des Zielgeräts, wobei
jedes Steuerungsobjekt ein physisches Aussehen und einen Wertezustand
für ein
Element der körperlichen
Steuertafel des Zielgeräts
definiert; c) Definieren und Aktualisieren einer Statusbeschreiber-Datenstruktur,
die aktuelle Zustände
für die
Steuerungsobjekte darstellt, in der computerlesbaren Speichereinheit
des Zielgeräts;
und d) Erzeugen einer Benutzerschnittstelle zum Steuern des Zielgeräts durch
Zugreifen auf die Datenstrukturen des Zielgeräts und Kommunizieren von generischen
Benutzerereignissen an das Zielgerät zur Interpretation durch
das Zielgerät,
wobei der Schritt d) durch eine mit dem Netzwerk verbundene intelligente
Steuerung ausgeführt
wird.
-
Ausführungsbeispiele
enthalten die obigen und die weiteren Schritte: e) das Zielgerät empfängt ein
generisches Benutzerereignis und interpretiert das generische Benutzerereignis,
um eine zu implementierende Funktionalität zu bestimmen; f) das Zielgerät implementiert
die Funktionalität;
und g) das Zielgerät
aktualisiert die Statusbeschreiber-Datenstruktur, um irgendwelche
aus Schritt f) resultierenden Veränderungen zu reflektieren,
wobei der Schritt d) die Schritte aufweist: d1) Zugreifen auf die
mehreren Steuerungsobjekte durch Zugreifen auf die Kennungsbeschreiber-Datenstruktur und
die Beschreiberlisten-Datenstruktur; d2) Anzeigen von Grafikbildern
der Elemente der körperlichen
Steuertafel auf einer Anzeige der intelligenten Steuerung; d3) Empfangen
einer Eingabe von einem Benutzer, der mit den Grafikbildern interagiert;
d4) Übersetzen
der Eingabe in generische Benutzerereignisse; und d5) Kommunizieren
der generischen Benutzerereignisse zu dem Zielgerät, um einen
Benutzerdialog mit den Elementen der körperlichen Steuertafel zu simulieren.
Ausführungsbeispiele
enthalten auch die obigen Schritte mit einem Schritt g), bei dem
das Zielgerät
der intelligenten Steuerung meldet, wenn sich der Statusbeschreiber
verändert
hat, sodass die Steuerung nicht weiter abrufen muss. Ausführungsbeispiele
enthalten auch ein vernetztes System, das entsprechend den obigen
Erläuterungen
realisiert ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein beispielhaftes vernetztes System von elektronischen Geräten, mit
einer Videokamera, einem Videorecorder, einem Computer, einer Set-Top-Box, einem Fernseher
und einem CD-Wechsler.
-
2 zeigt
Komponenten einer intelligenten Steuerung gemäß der vorliegenden Erfindung.
-
3A ist
eine Perspektivansicht eines Zielgeräts mit Tafelanzeigeelementen
und Tafelsteuerungselementen.
-
3B ist
eine Perspektivansicht des Zielgeräts von 3A, bei
dem eine Fronttafel im aufgeklappten Zustand ist, um mehr Steuerungs-
und Anzeigeelemente anzubieten.
-
4 zeigt
ein logisches Blockschaltbild der in einem Zielgerät (einem
VCR) mit der Tafeluntereinheit der vorliegenden Erfindung angeordneten
Untereinheiten.
-
5 zeigt
Beschreiberinformationen einer Tafeluntereinheit gemäß der vorliegenden
Erfindung, mit einem Untereinheiten-Kennungsbeschreiber, Tafellisten
und Objektlisten von Steuerungsobjekten.
-
6 zeigt
die Inhalte der allgemeinen Listeninformationsstruktur mit einer
Gruppenidentifikationsstruktur gemäß der Tafeluntereinheit der
vorliegenden Erfindung.
-
7A und 7B zeigen
beispielhafte Steuerungsobjektbeschreiber gemäß der Tafeluntereinheit der
vorliegenden Erfindung.
-
8 zeigt
eine Statusbeschreiber-Datenstruktur einer Tafeluntereinheit gemäß der vorliegenden
Erfindung.
-
9 ist
ein Flussdiagramm von durch eine intelligente Steuerung gemäß der vorliegenden
Erfindung zum Erzeugen einer Benutzerschnittstelle durchgeführten Schritten.
-
10 zeigt
eine beispielhafte Benutzerschnittstelle, die durch die vorliegende
Erfindung basierend auf einer Tafeluntereinheit angezeigt wird und
eine Tastatur auf einem Bildschirm darstellt.
-
11 zeigt
beispielhafte Tafeluntereinheiten-Beschreiberinformationen zum Erzeugen
des Bildschirm-Tastaturbeispiels von 10 gemäß der vorliegenden
Erfindung.
-
12 zeigt
beispielhafte Schritte und Kommunikationen zwischen einer intelligenten
Steuerung und einem Fernzielgerät
gemäß der Tafeluntereinheit
der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
In
der folgenden detaillierten Beschreibung der vorliegenden Erfindung,
einer Tafeluntereinheit als Fernschnittstelle mit einem Zielgerät über eine
intelligente Steuerung in einem Netzwerk von Konsumelektronikgeräten, sind
zahlreiche spezielle Details erläutert,
um ein gesamtes Verständnis
der vorliegenden Erfindung vorzusehen. Es wird jedoch für einen
Fachmann erkennbar sein, dass die vorliegende Erfindung auch ohne
diese speziellen Einzelheiten oder mit Äquivalenten davon in die Praxis
umgesetzt werden kann. In anderen Fällen wurden wohlbekannte Verfahren,
Prozesse, Komponenten und Schaltungen nicht im Detail beschrieben,
um die Aspekte der vorliegenden Erfindung nicht unnötig zu verschleiern.
-
Die
vorliegende Erfindung ist auf eine Tafeluntereinheit gerichtet,
die irgendein verträgliches
Gerät (z.B. „Zielgerät") sein physisches
Aussehen einschließlich
Steuerungen und Anzeigen usw., einem äußeren intelligenten Steuergerät beschreiben
lässt.
Das Zielgerät
kann von der intelligenten Steuerung entfernt sein. Die intelligente
Steuerung erzeugt dann eine Benutzerschnittstelle für das Zielgerät, einschließlich 1)
interaktiver Steuerungen; und 2) zu dem Zielgerät passende Benutzeranzeigeinformationen.
Die Tafeluntereinheit lässt
die intelligente Steuerung Aktionen an dem Zielgerät auslösen, als
ob ein Benutzer die Steuerungen des Zielgeräts körperlich bedient hätte. Die
intelligente Steuerung und das Zielgerät sind mit dem gleichen Kommunikationsnetzwerk
(z.B. unter Verwendung des seriellen Standards IEEE 13941 verbunden.
Die vorliegende Erfindung kann auch in einem Ausführungsbeispiel
verwendet werden, um hohe Niveaus von Kompatibilität zwischen
irgendwelchen Geräten,
die das wohlbekannte AV/C-Befehls- und Steuerprotokoll unterstützen, zu fördern.
-
Im
Allgemeinen lässt
die vorliegende Erfindung eine intelligente Steuerung mit der Tafeluntereinheit des
Zielgeräts
kommunizieren und sich nach den verschiedenen Typen von Steuerungen
erkundigen, die es hat, z.B. Knöpfe,
Schieber, usw.. Die intelligente Steuerung erzeugt dann auf ihrer
Anzeige basierend auf diesen Steuer objektbeschreibungen eine Benutzerschnittstelle,
und wenn der Benutzer diese Benutzerschnittstelle betätigt, sendet
die Steuerung spezielle Benutzerereignisse an das Zielgerät. Die Informationen,
die durch die intelligente Steuerung angezeigt werden können, können durch
das Zielgerät
skalierbar gemacht sein, sodass die angezeigte Benutzerschnittstelle
sich an die speziellen Anzeigefähigkeiten
des intelligenten Steuergeräts
anpassen kann. Die intelligente Steuerung überwacht das Zielgerät, um den
dem Benutzer dargebotenen aktuellsten Zustand zu halten.
-
So
muss die intelligente Steuerung keine Vorkenntnis irgendwelcher
speziellen Merkmale in dem Zielgerät oder darüber, wie sie benutzt oder aufgerufen
werden, haben, weil diese Funktionalität die Zuständigkeit des Zielgeräts ist.
Alle Aufgaben, wie beispielsweise Zustandsübergänge und Zwischensteuerabhängigkeiten, werden
durch das Zielgerät
unabhängig
von der Zuständigkeit
der intelligenten Steuerung automatisch abgewickelt. Die vorliegende
Erfindung entfernt alle Anforderungen für Positionen, wie beispielsweise
Zustandsübergangstabellen,
und ihre Ausführungsumgebung,
weil sie den Vorteil der Funktionalität nutzt, die bereits in ein
Mediengerät
eingebaut ist und zum Abwickeln der körperlichen Knöpfe, wie
sie durch den Benutzer betätigt werden,
verwendet wird. Wenn zum Beispiel die intelligente Steuerung das
Zielgerät
bittet, „das
Pressen des Knopfes 5 zu simulieren", muss die intelligente Steuerung überhaupt
keine Kenntnis davon haben, was in dem Zielgerät beim Bemerken der Benutzeraktion
passiert. Die Zustandsübergangslogik
für das,
was passiert, wenn „Knopf 5" gedrückt wird,
ist komplett in dem Zielgerät
enthalten. Dies ist vorteilhaft, weil es die Kompatibilität zwischen
der intelligenten Steuerung und dem Zielgerät verbessert, während es
gleichzeitig die Zuständigkeiten
von beiden deutlich reduziert.
-
Zusätzlich zu
dem Beschreiben der körperlichen
Steuerungen und physischen Aussehen, kann die vorliegende Erfindung
benutzt werden, um logische Steuerungen und Aussehen von Elementen
einer logischen Steuertafel zu beschreiben. Zum Beispiel kann eine
logische Steuertafel verwendet werden, um eine „Black Box" ohne irgendwelche körperlichen Steuerungen, sondern
allein mit einem 1394 – Stecker
zu steuern, wobei die Black Box in einem Schrank oder an einer anderen
entfernten Stelle positioniert ist. In diesem Fall wird die Black
Box über
ihre Tafeluntereinheit mit Bildschirmsteuerungen betätigt, wobei
sie selbst keine körperliche
Steuertafel besitzt.
-
NETZWERKUMGEBUNG DER VORLIEGENDEN
ERFINDUNG
-
1 zeigt
ein beispielhaftes Netzsystem 5, das die Ausführungsbeispiele
der Tafeluntereinheit der vorliegenden Erfindung unterstützen kann.
Das beispielhafte System 5 enthält Konsumelektronikgeräte (einschließlich Computersystemen)
als Knotenpunkte, aber kann gleichermaßen erweitert werden, um auch
andere Elektronikgeräte
abzudecken. Das System 5 enthält eine Videokamera 10,
einen Videorecorder (VCR) 12, ein Computersystem 14,
eine Set-Top-Box (STB) 13, einen Fernseher (TV) 11 und
einen CD-Wechsler 20, die miteinander mit dem Netz durch
Kabel 15, 16, 18 und 19 gemäß IEEE 1394-1995
(IEEE 1394) verbunden sind. Es ist vorteilhaft, dass die Ausführungsbeispiele
der Tafeluntereinheit der vorliegenden Erfindung gleichermaßen für eine Anwendung
mit irgendeiner Busstruktur geeignet sind, und die Busstruktur gemäß IEEE 1394
ist hier nur als ein Beispiel einer Busarchitektur gezeigt und beschrieben.
Die STB 13 kann angeschlossen sein, um Medien von einem
Kabel-TV-System zu empfangen. Das Kabel 16 nach IEEE 1394
verbindet die Videokamera 10 mit dem Videorecorder 12,
um die Videokamera 10 Daten, Befehle und Parameter zu dem
VCR 12 zum Aufzeichnen (oder zu irgendeinem anderen Gerät des Netzes 5)
senden zu lassen. Das Kabel 18 nach IEEE 1394 verbindet
den VCR 12 mit dem Computersystem 14, was den
VCR 12 Daten, Befehle und Parameter zu dem Computersystem 14 zur
Anzeige (oder zu irgendeinem anderen Gerät des Netzes 51 senden lässt.
-
Das
Kabel 15 nach IEEE 1394 verbindet die STB 13 mit
dem Computersystem 14. Die STB 13 ist auch mit
dem TV 11 durch das Kabel 17 verbunden. Der CD-Wechsler 20 ist
mit dem Computersystem durch das Kabel 19 nach IEEE 1394
verbunden. Die in 1 veranschaulichte Konfiguration 5 ist
nur beispielhaft und es sollte offensichtlich sein, dass ein Audio/Video-Netz
gemäß der vorliegenden
Erfindung viele unterschiedliche Kombinationen von Komponenten enthalten
kann. Die Geräte
in einem Netz 5 nach IEEE 1394 sind autonome Geräte, was
bedeutet, dass in einem Netz nach IEEE 1394, in dem ein Computer
eines der Geräte
ist, keine wirkliche Master-Slave-Beziehung zwischen dem Computersystem 14 und
den anderen Geräten
existiert. Tatsächlich
ist, wie nachfolgend in einem beispielhaften Ausführungsbeispiel
der Tafeluntereinheit der vorliegenden Erfindung beschrieben, die
intelligente Steuerung die STB 13. In vielen Netzkonfigurationen
nach IEEE 1394 ist kein Computersystem 14 vorhanden. Selbst
bei solchen Konfigurationen sind die Geräte in dem Netz vollständig in
der Lage, miteinander auf einer Peer-to-Peer-Basis zu interagieren.
Es sollte erkannt werden, dass Daten, Befehle und Parameter zwischen
allen Geräten
in dem Netz 5 nach IEEE 1394 gesendet werden können.
-
Der
von dem System 5 von 1 verwendete
serielle Bus nach IEEE 1394 ist eine Hochgeschwindigkeits-Busarchitektur
zum Verbinden von digitalen Geräten,
um dadurch eine universelle Eingabe/Ausgabe-Verbindung vorzusehen.
Der Standard IEEE 1394 definiert eine digitale Schnittstelle für die Anwendungen, wodurch
die Notwendigkeit für
eine Anwendung zum Umsetzen von digitalen Daten in analoge Daten
vor ihrer Übertragung über den
Bus beseitigt wird. Dementsprechend empfängt eine Empfangsanwendung
digitalen Daten von dem Bus, nicht analoge Daten, und es ist deshalb
nicht erforderlich, analoge Daten in digitale Daten umzusetzen.
Das von dem Standard IEEE 1394 geforderte Kabel ist im Vergleich
zu anderen voluminöseren Kabeln,
die zum Verbinden solcher Geräte
benutzt werden, von der sehr dünner
Größe. Geräte können zu
und von einem Bus nach IEEE 1394 hinzugefügt und entfernt werden, während der
Bus aktiv ist. Falls ein Gerät
so hinzugefügt
oder entfernt wird, konfiguriert sich der Bus zum Übertragen
von Daten zwischen den dann existierenden Knotenpunkten automatisch
neu. Ein Knotenpunkt wird als logische Einheit mit einer eindeutigen Adresse
auf der Busstruktur betrachtet. Jeder Knotenpunkt sieht einen Identifikations-ROM,
einen standardisierten Satz von Steuerregistern und seinen eigenen
Adressraum vor.
-
Der
Kommunikationsstandard IEEE 1394 in dem System 5 von 1 unterstützt isochrone
Datenübertragungen
von digitalen codierten Informationen. Isochrone Datenübertragungen
sind Echtzeit-Übertragungen,
die so stattfinden, dass die Zeitabstände zwischen signifikanten
Fällen
die gleiche Zeitdauer sowohl bei den Sende- als auch den Empfangsanwendungen
haben. Jedes isochron übertragene
Datenpaket wird in seiner eigenen Zeitdauer übertragen. Ein Beispiel einer
Anwendung für
die isochrone Datenübertragung
ist von einem VCR 12 zu dem TV 11 von 1.
Der VCR 12 zeichnet Bilder und Töne auf und speichert die Daten
in diskreten Paketen. Der VCR 12 überträgt dann jedes Paket, das die über eine
begrenzte Zeitdauer aufgezeichneten Bilder und Töne darstellt, während dieser
Zeitdauer zur Anzeige durch den TV 11. Die Standard-Busarchitektur
IEEE 1394 sieht mehrere Kanäle
für isochrone
Datenübertragungen
zwischen Anwendungen vor. Insbesondere wird eine 6-Bit-Kanalnummer
mit den Daten gesendet, um den Empfang durch die richtige Anwendung
sicherzustellen. Dies erlaubt es, dass mehrere Anwendungen gleichzeitig
isochrone Daten über
die Busstruktur übertragen.
Asynchrone Übertragungen
sind herkömmliche
Datenübertragungsvorgänge, die
sobald wie möglich
stattfinden und eine Datenmenge von einer Quelle zu einem Zielort übertragen.
-
INTELLIGENTE STEUERUNG
-
Benutzerschnittstellenaspekte
der Tafeluntereinheit der vorliegenden Erfindung sind in einem intelligenten
Steuergerät
implementiert. Die intelligente Steuerung kann irgendein Gerät sein,
das mit einem Netzsystem (z.B. dem System 5 von 1)
verbunden und durch den Benutzer bestimmt ist und eine bestimmte Grundeingabefunktionalität und Grundanzeigemöglichkeit
besitzt. In einem Ausführungsbeispiel
der vorliegenden Erfindung dienen die STB 13 und der TV 11 als
intelligente Steuerung. In anderen Ausführungsbeispielen kann das Computersystem 14 als
intelligente Steuerung dienen, oder der TV 11 kann allein
als intelligente Steuerung dienen. Irgendein Gerät mit einer „Anzeige" und einer Eingabefähigkeit
kann als intelligente Steuerung dienen, z.B. ein persönlicher
digitaler Assistent (PDA), ein elektronisches Handgerät, ein Zellentelefon, usw..
Im Zusammenhang der vorliegenden Erfindung ist die intelligente
Steuerung das Gerät,
das eine Benutzerschnittstelle zum Steuern von Ereignissen an einem
anderen, entfernten Zielgerät
in dem Netz vorsieht. Hierbei kommuniziert die intelligente Steuerung
mit einem Anzeigegerät
und einem Informationseingabegerät. Die
Anzeige- und Eingabefähigkeiten
des intelligenten Steuergeräts
definieren die Art der Benutzerschnittstelle, die die intelligente
Steuerung einem Benutzer bereitstellen kann, und die Tafeluntereinheit
der vorliegenden Erfindung erlaubt die Definition von skalierbaren
Benutzerschnittstellenfähigkeiten.
-
2 zeigt
die Komponenten der intelligenten Steuerung, und in diesem Beispiel
ist sie die STB 13. Die STB 13 enthält einen
Adress/Datenbus 100 zum Kommunizieren von Informationen,
einen mit dem Bus 100 verbundenen Zentralprozessor 101 zum
Verarbeiten von Informationen und Befehlen, einen mit dem Bus 100 verbundenen
flüchtigen
Speicher 102 (z.B. Direktzugriffsspeicher RAM) zum Speichern
von Informationen und Befehlen für
den Zentralprozessor 101 und einen mit dem Bus 100 verbundenen
nicht-flüchtigen
Speichern 103 (z.B. Festwertspeicher ROM) zum Speichern
von statischen Informationen und Befehlen für den Prozessor 101.
Die STB 13 kann optional auch ein Datenspeichergerät 104 („Plattenuntersystem") wie beispielsweise
eine magnetische oder optische Disk und ein Disklaufwerk enthalten,
das mit dem Bus 100 zum Speichern von Informationen und
Befehlen verbunden ist. In einem Ausführungsbeispiel kann das Anzeigegerät 105 ein
Teil der intelligenten Steuerung sein. Wie in 2 dargestellt,
ist das Anzeigegerät
(z.B. TV 11) außerhalb
der STB 13. Wenn es in der intelligenten Steuerung integriert
ist, kann das Anzeigegerät 105 ein Anzeigeschirm
(z.B. Flachbildschirm oder Kathodenstrahlröhre, usw.) sein oder es kann
eine Flüssigkristallanzeige
(LCD) oder ein anderes geeignetes Anzeigegerät für die Anzeige von alphanumerischen
und/oder grafischen Informationen sein.
-
Die
intelligente Steuerung 13 ist auch mit einer oder mehreren
Benutzereingabevorrichtungen gekoppelt oder enthält diese. In einem Ausführungsbeispiel
kann die Eingabevorrichtung eine alphanumerische Eingabevorrichtung 106 mit
alphanumerischen und Funktionstasten sein, die mit dem Bus 100 zum
Kommunizieren von Informations- und Befehlsauswahlen zu dem Zentralprozessor 101 verbunden
ist. Alternativ oder zusätzlich
kann die intelligente Steuerung 13 mit einer Cursorsteuerung
oder Cursorleitvorrichtung 107 gekoppelt sein oder diese
enthalten, die mit dem Bus zum Kommunizieren von Benutzereingabeinformationen
und Befehlsauswahlen zu dem Zentralprozessor 101 verbunden
ist. Die Cursorleitvorrichtung 107 kann mittels einer Anzahl
von wohlbekannten Vorrichtungen, wie beispielsweise einer Maus,
einem Track Ball, einem Rollkissen, einem elektronischen Block mit
Stift, einer optischen Nachlaufvorrichtung, einem Touch Screen,
usw., realisiert werden. Zusätzlich
kann die Benutzereingabevorrichtung auch eine Fernsteuervorrichtung,
z.B. eine universelle Fernsteuervorrichtung mit einer Anzahl von
Knöpfen,
Scheiben, usw. mit einer Infrarot-Signalverbindungsfähigkeit
sein. Die STB 13 kann auch eine Signalerzeugungsvorrichtung 108 enthalten,
die mit dem Bus 100 zur Koppelung mit anderen Netzvorrichtungen über den
IEEE 1394 – Bus
verbunden ist.
-
Das
Zielgerät
der vorliegenden Erfindung kann auch eine oder mehrere Komponenten
enthalten, wie sie bezüglich 2 beschrieben
sind. Insbesondere enthält
das Zielgerät
gemäß der vorliegenden
Erfindung computerlesbare Speichereinheiten, die eine oder mehrere
ROM- und/oder RAM-Einheiten zum Speichern von Tafeluntereinheiteninformationen
der vorliegenden Erfindung, die nachfolgend beschrieben werden,
enthalten können.
-
TAFELUNTEREINHEIT DER
VORLIEGENDEN ERFINDUNG
-
Die
vorliegende Erfindung definiert einen Untereinheitstyp, der als „Tafeluntereinheit" bezeichnet wird. Die
Tafeluntereinheit ist für
ein Zielgerät
definiert und skizziert Eigenschaften zum Erzeugen einer Benutzerschnittstelle
an einem intelligenten Steuergerät
(z.B. STB 13) eines Netzsystems 5. Die Tafeluntereinheiten können für mehrere
Zielgeräte
definiert sein, und deshalb können
viele Tafeluntereinheiten in einem Netzsystem 5 enthalten
sein. Für
ein spezielles Zielgerät
kann seine Tafeluntereinheit als eine Datenstruktur in computerlesbaren
Speichereinheiten des speziellen Zielgeräts gespeichert sein.
-
3A zeigt
eine Perspektivansicht des VCR 12 von 1 als
ein beispielhaftes Zielgerät.
Obwohl im Allgemeinen irgendein elektronisches Gerät seine
eigene Tafeluntereinheit haben kann und dadurch ein „Zielgerät" sein kann, zeigt
die folgende Diskussion einen beispielhaften Fall, bei dem der VCR 12 das
Zielgerät
ist.
-
Der
VCR 12 enthält
einen Videobandschlitz 212 zum Einschieben und Entfernen
von Videobandmedien. Der VCR 12 enthält auch eine oder mehrere Flüssigkristallanzeigen
(LCDs) 214.
-
3B zeigt
den VCR 12 mit einer heruntergeklappten Steuertafel 220,
die bestimmte Steuerungen und weitere Anzeigen (z.B. „Elemente") freigibt. Die Steuertafel 220 enthält eine
weitere LCD-Anzeige 240 und enthält eine Reibsteuerung 230 oder „Wählscheibe". Die Steuertafel 220 enthält auch
bestimmte Bandtransportsteuerungen 250 (einschließlich Wiedergabe,
Pause, Stopp, Rückspulen,
Vorspulen, Knöpfe
usw.). Wenn die Steuertafel 220 heruntergeklappt wird,
gibt sie Tunervorwahlknöpfe 225 frei.
In der vorliegenden Erfindung können
die Geräte
mehr als eine logische Steuertafel haben. Bei diesem Aufbau hat
der VCR 12 zwei logische Untertafeln. Die erste Untertafel
enthält
die Steuerungen und die Anzeige der herunterklappbaren Steuertafel 220,
und die zweite Untertafel enthält
den Bandschlitz 212 und die Tunervorwahlknöpfe 225.
Eine weitere Untertafel könnte
die LCD-Tafel 214 definieren.
-
4 zeigt
ein logisches Blockschaltbild einiger der Untereinheiten, die dem
VCR 12 entsprechend der vorliegenden Erfindung zugeordnet
werden können.
In dem wohlbekannten AV/C-Protokoll sind die Untereinheiten logische,
nicht-physische Gruppierungen einer Funktionalität, die in einem Gerät einzeln
adressiert und angesteuert werden können. Zum Beispiel kann ein
VCR-Gerät 12 zwei
Untereinheiten haben, eine Untereinheit 312 für den tatsächlichen
VCR-Bandtransportmechanismus, und die andere Untereinheit 320 für die Abstimmfunktionalität. Die Tafeluntereinheit 314 der
vorliegenden Erfindung fügt
eine neue logische Untereinheit hinzu, die dem VCR-Gerät 12 zugeordnet
werden kann. Wie weiter unten beschrieben, ist die Tafeluntereinheit 314 der
vorliegenden Erfindung in einem Ausführungsbeispiel als eine oder
mehrere Datenstrukturen realisiert, die in computerlesbaren Speichereinheiten
des Zielgeräts,
z.B. der VCR-Einheit 12 gespeichert sind. Es ist für eine Tafeluntereinheit
für ein
erstes Gerät
(z.B. von begrenzter Speicherkapazität) möglich, an einem zweiten Gerät (mit mehr
Speicher) zu existieren, wodurch das zweite Gerät als ein Vertreter für die Tafeluntereinheit
des ersten Geräts
dient.
-
Die
Tafeluntereinheit 314 ist eine Sammlung von Datenstrukturen,
die „Beschreiber" genannt werden, die
die körperlichen
Steuerungen an dem Zielgerät
(z.B. der Steuertafel) beschreiben. Bei Betrieb greift die intelligente
Steuerung (z.B. die STB 13) auf die Tafeluntereinheit 314 des
Zielgeräts
zu und implementiert auf dieser Basis eine Benutzerschnittstelle
zur Benutzung des Zielgeräts
(z.B. des VCR 12). Die Benutzerschnittstelle beinhaltet
die Anzeige (z.B. den TV 11) und Benutzereingabevorrichtungen,
die der intelligenten Steuerung zugeordnet sind, wie anhand von 2 beschrieben.
Die Spezifikation für
die Tafeluntereinheit 314 definiert mehrere Standardtypen
von Steuerungen und Anzeigen, die gemeinsam an Konsumelektronikgeräten gefunden
werden, wie beispielsweise Druckknöpfe, Schieber, Wählscheiben,
LCD-Schirme usw.. Als ein Beispiel sind die Beschreibungen in den
Tafeluntereinheiten die Wählscheibe
und die LCD-Schirme von 3A und 3B.
-
Die
durch die Tafeluntereinheit 314 definierten Steuerungstypen
sind wohldefinierte Verhaltensweisen. Zum Beispiel werden Knöpfe gedrückt und
losgelassen und haben typischerweise zwei Werte, Schieber habe mehrere
diskrete Werte oder einen kontinuierlichen Wertebereich. Ferner
können
einige Standard-Steuerungstypen in den Beschreibern kombiniert werden,
um Hybrid- oder Kundensteuerungen zu bilden. Ein Beispiel hiervon
ist eine Wählscheibe
mit einem Druckknopf in der Mitte oder ein Knopf mit einer LED in
der Mitte. Solche kombinierten Steuerungsmechanismen werden durch
die Tafeluntereinheit der vorliegenden Erfindung unterstützt. Schließlich können auch
anbieterspezifische Kundensteuerungen definiert werden.
-
Zusätzlich zu
Standard-Steuerungstypen definiert die Tafeluntereinheit 314 der
vorliegenden Erfindung auch einen Satz von Befehlen, der auf irgendeine
dieser Steuerungen angewendet werden kann. Die Befehle sind ausreichend
generisch definiert, sodass sie auf die meisten Arten von Steuerungen
anwendbar sind. Zum Beispiel kann die Ausgabe des Befehls STEUERWERT
SETZEN (Steuerung 1, 6) durch die intelligente Steuerung einen Lautstärkeregler
auf den Wert 6 setzen lassen, was eine Lautstärkeveränderung darstellt. Analog kann
der gleiche Befehlstyp mit unterschiedlichen Operanden als STEUERWERT
SETZEN (Steuerung 5, „bitte
Titelname eingeben")
ausgegeben werden und er würde
diesen Text auf der LCD-Anzeige eines Minidisk-Recorders 20 anzeigen
lassen, was den Benutzer auffordert, eine Namen für einen
Titel auf der Platte einzugeben. Ferner können in der Tafeluntereinheit
einige Befehle für
bestimmte Arten von Steuerungen speziell sein.
-
Die
Tafeluntereinheit 314 definiert auch „Benutzerdialogbefehle" oder Benutzerereignisse,
die auf die Steuerungen der Benutzerschnittstelle angewendet werden
können.
Der Zweck dieser generischen Benutzerereignisse ist das Einschließen der
typischen Benutzerbetätigungsvorgänge für Steuerungen
und das Interpretieren durch das Zielgerät, was es bedeutet, wenn diese
Benutzerereignisse auftreten, wodurch die intelligente Steuerung
von ihrer Verantwortlichkeit befreit wird. Zum Beispiel haben viele
CD-Player 20 viele semantische Bedeutungen für den Vorspulknopf
in Abhängigkeit
von dem Zustand des Geräts.
Folgendes ist zu beachten:
-
-
-
Wie
oben dargestellt, variieren die von dem Zielgerät vorgenommenen Vorgänge basierend
auf seinem aktuellen Zustand und davon, was der Benutzer mit den
körperlichen
Steuerungen macht. Die Tafeluntereinheit der vorliegenden Erfindung
definiert mehrere Benutzervorgangsbefehle, wie beispielsweise „Drücken", „Drücken und
Halten" und „Loslassen", die durch einen
Benutzerdialog mit der angezeigten Benutzerschnittstelle angezeigt
werden. Gemäß der vorliegenden
Erfindung hat die intelligente Steuerung der vorliegenden Erfindung
keine Vorstellung davon, was das Zielgerät als Reaktion auf die Befehle
macht, die ihm ausgegeben werden. Alle Angelegenheiten bezüglich des
Zustandsübergangs,
wie in Tabelle I dargestellt, werden innerhalb des Zielgeräts behandelt.
Es ist bevorzugt, dass das Zielgerät bereits diese Logik besitzen
muss, um den Benutzerdialog an seiner körperlichen Steuertafel zu verarbeiten.
Die Tafeluntereinheit der vorliegenden Erfindung wird als weiterer
Mechanismus betrachtet, durch welchen auf diese logischen Eingabepunkte
zugegriffen wird.
-
Es
ist wichtig, dass die intelligente Steuerung den Benutzer immer
bezüglich
des Status des gesteuerten Zielgeräts informiert hält. In einem
Ausführungsbeispiel
ist es möglich,
dass die intelligente Steuerung und der Benutzer in einem Raum eines
Hauses oder eines Geschäftsbüros sitzen
und das Zielgerät
in einem anderen Raum oder Büro
positioniert ist. Weil die intelligente Steuerung keine vordefinierte
Kenntnis darüber hat,
wie die Benutzerdialogelemente zu interpretieren sind, muss sie
einen Mechanismus haben, der ihre Anzeige mit dem aktuellsten Status
des Zielgeräts
aktualisiert hält.
Sie macht dies unter Ausnutzung des Statusberichtsmechanismus, der
für das
AV/C-Protokoll definiert worden ist, in einem Ausführungsbeispiel
unter Verwendung einer Statusbeschreiber-Datenstruktur und eines
Tafelstatus-Meldebefehls entsprechend der vorliegenden Erfindung.
-
Die
Statusbeschreiber-Datenstruktur ist eine dynamische Datenstruktur,
die durch die Tafeluntereinheit 314 der vorliegenden Erfindung
immer aktuell gehalten wird. Die intelligente Steuerung kann diese
Struktur jederzeit überprüfen, sodass
sie ihre grafische Anzeige aktualisieren kann, um dem Benutzer den
Zielgerätestatus
anzuzeigen. Der Tafelstatus-Meldebefehl der vorliegenden Erfindung
lässt die intelligente
Steuerung eine Meldeanfrage an das Zielgerät schicken. Wenn irgendeine
Veränderung
im Zustand des Geräts
in einer Veränderung
der Statusbeschreiber-Datenstruktur resultiert, dann sendet das
Zielgerät
eine Meldung an die intelligente Steuerung. Die intelligente Steuerung
aktualisiert dann ihre grafische Anzeige in geeigneter Weise als
Reaktion auf die Statusinformationen.
-
Das
AV/C-Protokoll erlaubt es einem Gerät (hier auch als eine Einheit
bezeichnet), eine beliebige Anzahl von Untereinheiten des gleichen
Typs zu enthalten. Deshalb kann ein Gerät mehr als eine Tafeluntereinheit
der vorliegenden Erfindung haben. Zum Beispiel kann eine Tafeluntereinheit
für die
Fronttafel von 3B definiert sein, und eine
weitere Tafeluntereinheit kann für
die herunterklappbare Tafel 220 definiert sein. Weitere
Tafeluntereinheiten können
für die
Seiten- und Rückseitentafeln,
falls vorhanden, definiert sein. Alternativ kann eine einzige Tafeluntereinheit
definiert sein, um mehrere Steuerungen zu vereinen, wie in 5 dargestellt.
Bei diesem Ansatz kann eine einzelne Tafeluntereinheit eine beliebige
Anzahl von Steuerlisten enthalten, die hierarchisch geordnet sind.
Jede Steuerliste der vorliegenden Erfindung stellt eine Steuertafel
des Zielgeräts
dar. Auf alle diese Listen wird über
die einzige Tafeluntereinheit 314 zugegriffen.
-
Ein
Teil der Tafeluntereinheit-Datenstrukturen enthält Geometrieinformationen,
die das Aussehen und die Ausrichtung der Tafeln und Steuerungen
beschreiben, sodass sie dem Benutzer in einer Weise ähnlich ihrem
physischen Aussehen an dem Zielgerät oder in einer durch das Zielgerät „suggerierten" Weise dargestellt werden
können.
Da Standard-Steuerungen in Hybridsteuerungen kombiniert werden können, können diese Geometrieinformationen
auch definiert sein, um das Vorhandensein von Tafelhierarchien,
wie beispielsweise hinter einer vorderen herunterklappbaren Seite 220 versteckte
Tafeln (3b), anzuzeigen. Dies findet
man allgemein in vielen VCR-Bildgeräten, wo einige Grundsteuerungen
an der Seite des VCR-Geräts
sind und die komplexeren Steuerungen und Merkmale hinter der herunterklappbaren
vorderen Tafel 220 versteckt sind.
-
TAFELBESCHREIBER DER TAFELUNTEREINHEIT
-
5 zeigt
Datenbeschreiberinformationen, die von computerlesbaren Speichereinheiten
eines Zielgeräts,
z.B. eines VCR 12, gehalten werden. Es ist bevorzugt, dass
die in 5-8 und 11 gefundenen Datenbeschreiber-Datenstrukturen
alle in computerlesbaren Speichereinheiten des Zielgeräts gemäß der vorliegenden
Erfindung gehalten und realisiert sind. Die Tafeluntereinheit 314 (4)
enthält
eine Tafeluntereinheit-Kennungsbeschreiberdatenstruktur 340.
Die Kennungsbeschreiberliste 340 zeigt Kennungen für jede der von
der Tafeluntereinheit 314 unterstützen Haupttafellisten an. Jede
dieser Tafellisten kann ein Steuerungsobjekt enthalten, das eine
Unterliste ist, die eine Tafelhierarchie anzeigt. Zum Beispiel betrifft
eine primäre
Kennungsliste 340 die Fronttafel für das Zielgerät und enthält eine
Kennung (z.B. einen Zeiger) 342, der auf eine sekundäre Kennungsstruktur 350 zeigt,
die selbst zwei Untertafelbeschreibungen (z.B. eine für die Seite
des VCR 12 und eine für
die herunterklappbare Tafel 220) enthält. Die primäre Kennung 340 enthält auch
eine Kennung (z.B. einen Zeiger) 344 für eine weitere sekundäre Kennungsliste 390,
die eine Rücktafel
für das
Zielgerät beschreibt.
Auf diese Weise können
die Hauptkennungs- und die Sekundärkennungsstrukturen der Tafeluntereinheit 314 hierarchische
Beziehungen zwischen den Beschreiberlisteninformationen und dadurch
zwischen den Tafeln und Untertafeln selbst definieren.
-
Die
Sekundärkennungsbeschreiberliste 350 von 5 ist
eine Beschreiberliste mit einem allgemeinen Listeninformationsfeld 352 und
einem Objektsteuerungsbeschreiber 354 zum Beschreiben der
LCD-Anzeige 214 (3A). Eine
Beschreiberliste in der vorliegenden Erfindung kann Objektsteuerungsbeschreiber,
allgemeine Informationen und Zeiger auf Unterbeschreiberlisten enthalten.
Deshalb kann ein Steuerungsobjekt in einer Beschreiberliste auf
eine weitere Beschreiberliste zeigen, die eine Ober-Unter-Beziehung
zwischen dem Steuerungsobjekt und der angezeigten Beschreiberliste
angibt. Die Beschreiberliste 350 enthält einen Zeiger 356,
der eine Unterbeschreiberliste 356a angibt, die zum Beschreiben
einer „Untertafel
1" verwendet wird,
die in diesem Beispiel ein Teil der Steuerungen der Fronttafel für den VCR 12 ist.
Ferner enthält
die Beschreiberliste 350 einen Zeiger 358, der
eine Unterbeschreiberliste 358a anzeigt, die zum Beschreiben
einer „Untertafel 2" verwendet wird,
welche ein weiterer Teil der Steuerungen der Fronttafel für den VCR 12 ist.
In diesem Beispiel definiert die Beschreiberliste 356a für die Untertafel
1 die Steuerungen auf der Seite des VCR 12, z.B. Knöpfe 225 für die Tuner-Untereinheit 320.
Die Beschreiberliste 358a für die Untertafel 2 definiert
die Steuerungen an der herunterklappbaren Steuerung 220 des
VCR 12, z.B. Knöpfe 250,
Anzeige 240 und Wählscheibe 230.
-
Wie
bei jeder Beschreiberlisten-Datenstruktur enthalten die Beschreiberlisten 356a und 358a alle
ein jeweiliges allgemeines Listeninformationsfeld 360, 380 und
enthalten auch jeweilige Listen von Steuerungsobjekten. Gemäß der vorliegenden
Erfindung wird eine Liste, die Steuerungsobjekte für eine Tafel
enthält,
zum Beschreiben der Steuertafel selbst sowie zum Halten der Sammlung
der Objekte verwendet. Im Allgemeinen werden die Informationen,
die die Sammlung (die Tafelbeschreibung) beschreiben, folgendes
enthalten: (1) Tafelkennung (z.B. vorne, hinten, links, usw.); 12)
Tafeldesigngeometrie (z.B. Größe der Tafel,
Ausrichtung der Steuerungen, Definition von Gruppen, usw.); (3)
Gruppenbeschreibungen für
jede Gruppe von Steuerungen, in denen Folgendes definiert sein kann:
Gruppenkennzeichnung, grafische Gruppenbegrenzungslinie/position in
der Tafel und weitere die Gruppe betreffende Informationen; und
(4) einen Namen für
die Tafeluntereinheit. Ein Beispiel ist in 6 dargestellt.
-
6 zeigt
die in der allgemeinen Listeninformationsdatenstruktur 380 der
Sekundärbeschreiberliste 358a für die vordere
Untertafel 1 des Zielgeräts
enthaltenen Informationen. Die Sekundärbeschreiberliste 358a enthält allgemeine
Listeninformationen 380 und eine Sammlung von n Objekten 382 bis 386.
Die beispielhafte Datenstruktur 380 enthält Felder 410–420.
Das Feld 410 gibt die Hierarchieposition oder Kennung für die Beschreiberliste 358a an,
in der das Feld enthalten ist. Zum Beispiel gibt das Feld 410 an,
welche körperliche Tafel
die Informationen darstellen, z.B. ob diese Beschreiberliste 358a eine
vordere, seitliche, hintere, usw. Steuertafel darstellt. In diesem
Beispiel ist die Beschreiberliste 358a eine „vordere2
Tafel. Das Feld 412 definiert die Öffnungs- oder Zugriffsoptionen,
die zum Erhalten eines Zugriffs auf die Steuertafel, für welche
die Beschreiberlieste 358a definiert ist, verwendet werden,
z.B. herunterklappbarer, hochklappbarer, ausklappbarer, linker,
rechter, direkter Zugriff, usw.. In diesem Fall hat die Steuertafel 220 (3b)
einen Zugriff der „herunterklappbaren
Art". Das Feld 414 definiert
die allgemeine Größe und die
Form der Steuertafel, für
welche die Beschreiberliste 358a definiert ist (z.B. rechtwinklig,
kreisförmig,
rechteckig, dreieckig, mehreckig, usw.). In diesem Fall ist die
Steuertafel 220 von rechtwinkliger Form.
-
Die
Felder 416–420 von 6 werden
zum Definieren von Gruppen in der Steuertafel, für welche die Beschreiberliste 358a definiert
ist, verwendet. Die Gruppen können
verwendet werden, um bestimmte Steuerungsmerkmale, die ähnlich sind
oder eine ähnliche
Funktion oder ein ähnliches
Merkmal steuern, zu trennen. Zum Beispiel können Knöpfe, die sich auf die Steuerung
des Bandmechanismus für
einen VCR 12 beziehen, einer Gruppe zugeordnet werden,
während
Knöpfe,
welche die Kanalauswahl oder die Lautstärkeauswahl des VCR 12 steuern,
einer separaten Gruppe zugeordnet werden können. Die Gruppen haben spezielle
Funktionen in der vorliegenden Erfindung, z.B. können sie räumlich zusammen auf der Anzeige
der intelligenten Steuerung angezeigt werden und sie können weitere
definierte Attribute gemeinsam haben. Das Feld 416 gibt
die Anzahl der für
die Beschreiberlisten-Datenstruktur 358a definierten Gruppen
an und die Felder 418–420 stellen die
Gruppenbeschreibungsinformationen für eine Anzahl von beispielhaften
Gruppen dar.
-
6 zeigt
Felder 430–438,
die eine beispielhafte Gruppenbeschreibung, die in dem Feld 420 für eine beispielhafte
Gruppe (n-1) enthalten ist, darstellen. Das Informationsfeld 430 enthält eine
Gruppenidentifikationsnummer oder -zeichenfolge, die für diese
Gruppe einzigartig ist und zum Identifizieren der Gruppe durch Steuerungsobjekte
benutzt wird. Jedes Steuerungsobjekt, das in der definierten Gruppe
enthalten sein soll, enthält
die Kennung 432 in seiner Objektbeschreibung (nachfolgend
beschrieben). Das Feld 436 gibt die räumliche grafische Begrenzungslinie
an, in welcher diese Gruppe für
die Steuertafel enthalten ist. Diese Information gibt an, wo diese
Gruppe bezüglich
weiterer definierter Gruppen in dem Benutzerschnittstellendesign
existiert, und wird zum Erstellen des Bildes der Steuertafel auf
der Anzeige der intelligenten Steuerung verwendet. Das Feld 438 ist
eine Gruppenkennzeichnung, die benutzt werden kann, um einen Zugriff
auf die Steuerungsobjekte dieser Gruppe vorzusehen und diese darzustellen
für Fälle, in
denen die Anzeigeeinheit der intelligenten Steuerung nicht hochentwickelt
genug ist, um Bilder oder weitere Informationen vorzusehen. Das
Feld 438 enthält
typischerweise eine Zeichenkette oder eine andere Textkennzeichnung,
die in einem Ausführungsbeispiel
als ein Tabellenindex in einer tabellarischen Tafeldarstellung der
Informationen verwendet werden kann. In einer tabellarischen Tafeldarstellung
werden alle definierten Tabellen für alle Gruppen entlang der
Seite der Anzeige angezeigt, und die Gruppen werden zur Darstellung
durch Auswählen
einer Tabelle oder einer anderen ausgewählt.
-
7A zeigt
die Daten eines Steuerungsobjekts 382 entsprechend der
Tafeluntereinheit der vorliegenden Erfindung. Das beispielhafte
Steuerungsobjekt 382 ist in der Beschreiberlisten-Datenstruktur 358a enthalten.
In einem Ausführungsbeispiel
stellt die Tafeluntereinheit der vorliegenden Erfindung ihre Informationen auf
Steuerungen über
das AV/C-Objekt und die Objektlistendatenstrukturen dar. Diese Datenstrukturen
sind allgemeine Inhalte, deren Inhalte basierend auf dem Eigentümer der
Struktur spezialisiert sind. Eine Tafeluntereinheit der vorliegenden
Erfindung enthält
eine Liste ihrer Steuerungen (z.B. Listenbeschreiber 358a),
wobei jede Steuerung durch ein Steuerungsobjekt in der Liste dargestellt
wird. In der vorliegenden Erfindung können die Steuerungsobjekte
definiert sein, um Benutzereingabevorrichtungen (z.B. Knöpfe, Schieber,
Kippschalter, usw.) darzustellen, und können auch definiert sein, um
Informationsanzeigen (z.B. LCD-Tafeln, Wählscheiben, usw.) darzustellen.
-
7A zeigt
die Informationen eines Steuerungsobjekts 382, das die
LCD-Tafel 214 von 3A darstellt.
Das Feld 440 beschreibt den Typ des definierten Steuerungsobjekts.
In diesem Fall ist es der Typ „LCD-Tafel". Weitere Steuerungstypen
zum Anzeigen von Informationen enthalten „Anzeige", „Wählscheibe", „Bildschirm", „LED" und „alphanumerische
Anzeige". Weitere
Steuerungstypen für
Informationseingabegeräte enthalten „Knopf", „Schieber", „Drehkörper", „Kippschalter" und „Wippschalter". Das Feld 442 enthält ein grafisches
Bild des Steuerungsobjekts. Diese Bildinformationen sind typischerweise
Rasterdaten (z.B. Bitmuster) und können Farbe und weitere Attributsdaten
enthalten. In diesem besonderen Fall ist das Steuerungsbild 442a in
der Form und der Eigenschaft der Kontur einer LCD-Anzeige, um die
LCD-Tafel 214 darzustellen. Das Feld 442 kann
auch eine Sammlung von Bildern enthalten, die zum Durchführen einer
Animation in einer vordefinierten Abfolge der Darstellung benutzt
werden. Das Feld 444 stellt die Maße des Bildes 442A dar
und ist in einem Ausführungsbeispiel
in Bildschirmkoordinaten (x,y) dargestellt. Um diese Koordinaten
für die
Anwendung mit vielen Bildschirmdimensionen zu verallgemeinern, können die
(x,y)-Werte in relativen Einheiten bezüglich der linken Ecke, z.B.
der (0,0)-Koordinatenposition des Anzeigeschirms dargestellt werden.
-
Das
Feld 446 von 7A stellt die Gruppenidentifikation
oder den Namen dar, mit dem dieses Steuerungsobjekt 382 versehen
ist. Die Steuerungen können
basierend auf Design-Informationen, die durch die Tafeluntereinheit
der vorliegenden Erfindung definiert sind, in Gruppen gruppiert
sein. Dieses Feld 446 ist optional, da ein Objekt nicht
unbedingt mit irgendeiner Gruppe versehen sein muss. Falls diesem
Steuerungsobjekt 382 eine Gruppe zugeordnet ist, dann stellt
das Feld 448 die Relativposition 448a in der Gruppengrenze 448b dar,
zu der dieses Steuerungsobjekt 282 gehört. Diese Informationen können in
Koordinatenwerten ausgedrückt
sein. Das Feld 450 stellt die erlaubten oder gültigen Wertebereiche
dar, die durch dieses Steuerungsobjekt als Reaktion auf ein Benutzerereignis
angenommen werden können.
Dieses Feld 450 kann auch einen Datentypindikator (z.B.
eine 16 Bit darstellende ganze Zahl, Gleitkomma, usw.) enthalten.
Im Fall eines Anzeigeobjekts stellt das Feld 450 den Zeichen-
oder Symbolsatz dar, der in dem Steuerungsobjekt angezeigt werden
kann. Im Fall eines Benutzereingabe-Steuerungsobjekts gibt das Feld 450 den
Bereich möglicher
Werte an, die durch dieses Steuerungsobjekt eingestellt werden können. Falls
das Steuerungsobjekt ein Schieber war, dann ist ein Wertebereich
geeignet. Falls das Steuerungsobjekt ein Knopf oder ein Kippschalter
ist, dann sind möglicherweise
nur zwei Zustände
(z.B. 0 oder 1) für
das Steuerungsobjekt gültig.
-
Das
Feld 452 von 7A ist optional und stellt den äquivalenten
AV/C-Befehl dar, der auftritt, wenn das Steuerungsobjekt 382 aktiviert
wird. Dieser AV/C-Befehl kann durch die intelligente Steuerung über das Netz
in dem System 5 kommuniziert werden, wenn das Steuerungsobjekt 382 aufgerufen
wird. Das Feld 452 ist optional, weil das Zielgerät die Fähigkeit
hat, Veränderungen
in dem Steuerungsobjekt zu interpretieren, wenn sie ihm durch die
intelligente Steuerung kommuniziert werden, ohne die Notwendigkeit
für einen
kommunizierten AV/C-Befehl. Die Tafeluntereinheit 314 stellt
in diesem Beispiel den VCR 12 dar. Die Betätigung solcher
Steuerungen kann eine Zustandsveränderung in anderen Untereinheiten
in dem Zielgerät
verursachen. Die Werte des Feldes 454 stellen dar, welche
Untereinheit (Untereinheitstyp und ID) durch dieses Steuerungsobjekt
bewirkt werden können.
Das Feld 454 ist in ähnlicher
Weise ein optionales Feld, das die Identifikation des mit dem Steuerungsobjekt
versehenen Zielgeräts
anzeigt. Wieder sind diese Informationen optional in dem Steuerungsobjekt 382 enthalten,
aber werden durch die intelligente Steuerung gehalten, aufgrund der
das Zielobjekt die Tafeluntereinheit in dem ersten Fall enthält.
-
Das
Feld 456 ist eine Kennung oder Namensbezeichnung, die dem
Steuerungsobjekt zugeordnet sein kann. In Fällen, bei denen das Anzeigegerät der intelligenten
Steuerung nicht hochentwickelt ist, kann das Feld 456 verwendet
werden, um wenigstens eine Grundtextbeschreibung des Steuerungsobjekts
vorzusehen, die für
eine Benutzerschnittstellenfunktionalität dargeboten wird. Das Feld 458 enthält ein Hilfezeichen,
das angezeigt werden kann, falls ein Hilfemerkmal durch den Benutzer
eingesetzt wird. Das Hilfezeichen beschreibt, was das Steuerungsobjekt
tut. Dies kann erweitert werden, um ein Hilfezeichen für jeden
Zustand des Steuerungsobjekts vorzusehen. Das Hilfezeichen kann
das Steuerungsobjekt identifizieren und Tipps geben, wie das Steuerungsobjekt
zu benutzen ist, seinen Zweck und seine erwartete Funktionalität und seinen
Wertbereich angeben.
-
7B zeigt
Informationen, die einem beispielhaften Steuerungsobjekt 384 für einen
der Druckknöpfe der
Knöpfe 250 der
herunterklappbaren Tafel 220 von 3B zugeordnet
sind. In diesem Beispiel ist der „Play"-Knopf für den VCR 12 dargestellt.
Das Feld 460 definiert das Steuerungsobjekt als einen Steuerungstyp „Knopf". Das Feld 462 kann
mehrere Bilder oder „Symbole" enthalten, die zum
Anzeigen des Steuerungsobjekts verwendet werden können. Die
Symbole können
z.B. unterschiedliche Zustände
des Steuerungsobjekts darstellen, beispielsweise einen Knopf, der
unterschiedlich hervorgehoben wird, ob er gedrückt oder losgelassen ist. Das
Feld 462 enthält
in diesem Fall eine Anzahl von Symbolen, die das Bild des Knopfes
in unterschiedlichen Zuständen
(z.B. gedrückt
oder losgelassen) darstellen. Das Feld 462a stellt das
Bild für
den gedrückten
Knopf dar und das Feld 462b stellt das Feld des Knopfes
für den
losgelassenen Knopf dar. Das Feld 464 stellt die Bildschirmabmessungen
der Bilder des Feldes 462 dar, und das Feld 466 stellt
eine Gruppenidentifikation, falls vorhanden, für das Steuerungsobjekt 384 dar.
In diesem Fall sind alle Knöpfe 250 (3B) zusammen
in einer einzigen Gruppe gruppiert, weil sie den Bandmechanismus
für den
VRC 12 steuern, z.B. Gruppenidentifikation = „Bandmechanismus", wobei diese Gruppe
im Voraus in einer Datenstruktur von 6 definiert
worden sein müsste.
-
Das
Feld 468 stellt die Relativposition 468a des Steuerungsobjekts 384 in
der Begrenzungslinie der Gruppe 486b dar. In diesem Fall
stellt das Steuerungsobjekt 384 den dritten Knopf von links
in der Sammlung der Knöpfe 250 dar.
Das Feld 470 stellt den möglichen Wertebereich dar, der
durch den Knopf dargestellt werden kann, z.B. in diesem Fall 0 bis
1, und der Wert ist eine ganze Zahl. Falls das Steuerungsobjekt
ein Schieber war, dann kann ein möglicher Wertebereich (z.B.
0 bis 10) mit den Werten als ganzzahliger oder als Gleitkommatyp
dargestellt werden.
-
Das
optionale Feld 472 stellt den äquivalenten AV/C-Befehl für „Play" dar und kann durch
die intelligente Steuerung kommuniziert werden, wenn das Steuerungsobjekt 384 gedrückt wird.
Wenn ein Benutzerereignis, wie beispielsweise „DRÜCKEN" ausgegeben wird, kann es in der gleichen
Wirkung resultieren wie wenn ein Standard-AV/C-Befehl, wie beispielsweise der „Play"-Befehl der VRC-Untereinheit,
einen AV/C-Befehl hätte.
Das optionale Feld 474 stellt die Netzkennung für das Zielgerät (in diesem
Fall die VCR-Untereinheit) dar. Das Feld 476 ist eine Kennung
oder ein Namenszeichen, das dem Steuerungsobjekt zugeordnet werden
kann, z.B. „Play". In Fällen, in
denen das Anzeigegerät
der intelligenten Steuerung nicht hochentwickelt ist, kann das Feld 476 verwendet
werden, um wenigstens eine Textbeschreibung des Steuerungsobjekts
vorzusehen, das für
die Benutzerschnittstellenfunktionalität angeboten wird. Das Feld 478 enthält ein Hilfezeichen,
das auf der Anzeige der intelligenten Steuerung angezeigt werden
kann, falls ein Hilfemerkmal durch den Benutzer verwendet wird,
z.B. „Play
drücken,
um das Ansehen eines Bandes in dem VCR zu beginnen". Das Hilfezeichen
kann auch beschreiben, warum das Steuerungsobjekt in einem speziellen
Zustand ist, z.B. „Der
Play-Knopf ist außer
Funktion, weil kein Band in dem VCR ist".
-
Es
ist bevorzugt, dass die Steuerungsobjekte von 7A und 7B nur
beispielhaft sind und dass weitere ähnliche Steuerungsobjektbeschreibungen
benutzt werden können,
um eine Benutzerschnittstelle für alle
Benutzereingaben und Benutzeranzeigen des VCR 12 für alle Steuertafeln
zu realisieren. Es ist weiter selbstverständlich, dass jedes andere Steuerungsobjekt
der 5 entsprechend der vorliegenden Erfindung analog
definiert sein kann.
-
8 zeigt
einen Tafeluntereinheiten-Statusbeschreiber 500. Die Tafeluntereinheit 314 der
vorliegenden Erfindung enthält
auch eine Datenstruktur eines Tafeluntereinheiten-Statusbeschreibers 500.
Der Statusbeschreiber 500 ist eine Datenstruktur, die in
den computerlesbaren Speichereinheiten des Zielgeräts gehalten wird,
und stellt den aktuellen Zustand aller Steuerungsobjekte dar, die
für eine
spezielle Tafefuntereinheit gemäß der vorliegenden
Erfindung definiert sind. Die in dem Statusbeschreiber 500 gehaltenen
Informationen sind dynamisch und werden durch die Tafeluntereinheit 314 der
vorliegenden Erfindung aktualisiert gehalten. In dem Statusbeschreiber 500 wird
ein separates Steuerungsstatusfeld für jedes definierte Steuerungsobjekt gehalten.
Wenn bei dem Statusbeschreiber 500 Änderungen stattfinden, kann
eine Meldung an irgendeine intelligente Steuerung weitergeleitet
werden, die im Voraus angezeigt hat, dass ihr irgendwelche Änderungen gemeldet
werden sollen. Der gesamte Statusbeschreiber 500 enthält zwei
Hauptbereiche, ein Bereich 510 enthält allgemeine Statusinformationen
für die
Tafeluntereinheit und ein separater Bereich 512 ist für jede der Steuerlistenhierarchien
definiert. In jedem dieser Steuerlistenbereiche sind Statusinformationen
für jede
Steuerung. Die Statusinformationen enthalten den aktuellen Zustand
des Steuerungsobjekts (z.B. der Knopf wird gerade gedrückt) und
den aktuellen Wert des Steuerungsobjekts (z.B. die LCD-Tafel zeigt
gerade den Text „Titelname
eingeben") an.
-
Im
Betrieb kann eine intelligente Steuerung eine Meldung für einzelne
Steuerlisten oder für
den allgemeinen Bereich des Tatelstatusbeschreibers 500 anfordern.
Wenn sich der Status eines dieser Bereiche verändert, wird es der intelligenten
Steuerung gemeldet. Falls sich der Status für einen Bereich verändert, für den eine
intelligente Steuerung keine Meldung angefordert hatte, wird es
der intelligenten Steuerung nicht gemeldet. Diese Vorgehensweise
erlaubt es den verschiedenen Steuerungen und Zielgeräten, die
Verwendung der Systemnetzbandbreite zu optimieren, indem keine unnötigen Meldungen
ausgesendet werden.
-
Der
Statusbeschreiber 500 von 8 ist als
ein Beispiel dargestellt und enthält eine primäre Statusliste 505,
die ein allgemeines Informationsfeld 510 für die Tafeluntereinheit 314 und
Zeiger 512 und 514 auf andere Hauptstatuslisten
enthält.
Der Zeiger 512 zeigt auf eine Statusliste 535 zum
Darstellen des Status der Fronttafel. Die Statusliste 535 enthält ein Statusfeld
für jedes
für die
Fronttafel definierte Steuerungsobjekt. Der Zeiger 514 zeigt
auf die Statusliste 516 für eine beispielhafte linke
Tafel. Das Feld 518 der Statusliste 535 zeigt allgemeine
Statusinformationen für
alle Steuerungsobjekte an, die bezüglich der Fronttafel definiert
sind, einschließlich
ob die Tafel offen, geschlossen, usw. ist oder nicht. Das Feld 520 stellt
den aktuellen Zustand (Wert des Steuerungsobjekts 01 für die Fronttafel
dar. Analog stellt das Feld 522 den aktuellen Zustand/Wert
des für die
Fronttafel definierten Steuerungsobjekts 1 dar.
-
Das
Feld 526 ist ein Zeiger auf die Steuerungsliste 530,
die die Zustände/Werte
für die
bezüglich
der Untertafel 1 der Fronttafel definierten Steuerungsobjekte anzeigt.
Diese Steuerungsobjekte sind bezüglich
der Beschreiberliste 356a (5) definiert.
In der Statusliste 530 ist ein separates Steuerungsstatusfeld
für jedes Steuerungsobjekt
definiert. Das Feld 528 der Steuerungsliste 535 ist
ein Zeiger auf die Steuerungsliste 532, die die Zustände/Werte
für die
bezüglich
der Untertafel 2 der Fronttafel definierten Steuerungsobjekte
anzeigt. Diese Steuerungsobjekte sind bezüglich der Beschreiberliste 358a (5)
definiert. In der Statusliste 532 ist für jedes Steuerungsobjekt ein
separates Steuerungsstatusfeld definiert.
-
9 ist
ein Flussdiagramm, das die Schritte eines entsprechend der Tafeluntereinheit
der vorliegenden Erfindung implementierten Prozesses 700 darstellt.
Der Prozess 700 ist als Programmcode realisiert, der in
den computerlesbaren Speichereinheiten einer intelligenten Steuerung
und eines Zielgeräts
des Netzes 5 gespeichert ist. In Schritt 710 lokalisiert
das intelligente Steuergerät,
z.B. STB 13 und TV 11 (benutzt als die Anzeigeeinheit),
mit dem System 5 verbundene Elektronikgeräte. Dieser
Prozess verwendet die wohlbekannten Kommunikationsprotokollmechanismen
nach IEEE 1394. In Schritt 712 liest die intelligente Steuerung
die computerlesbaren Speichereinheiten eines mit dem Netz 5 verbundenen
Zielgeräts
und entdeckt, dass dieses Zielgerät eine darin definierte Tafeluntereinheiten-Datenstruktur 314 besitzt.
In Schritt 714 lädt
das intelligente Steuergerät
die Beschreiberinformationen und die aktuelle Statusbeschreibertabelle
für das
Zielgerät
herunter und zeigt basierend auf den heruntergeladenen Informationen
eine Benutzerschnittstelle auf dem Anzeigeschirm der intelligenten
Steuerung an. Falls das intelligente Steuergerät begrenzte Speichermittel
hat, dann können
die Tafeluntereinheiteninformationen in Teilen heruntergeladen und
verarbeitet werden.
-
In
Schritt 714 beschreiben die Steuerungsobjekte der Tafeluntereinheit
das Aussehen, die Form, die Gruppierung und die Position für jedes
Benutzereingabeelement und jedes Informationsanzeigeelement für die Benutzerschnittstelle.
Sollte die intelligente Steuerung in der Anzeigefähigkeit
beschränkt
sein, dann werden Textketten für
die Gruppen und/oder für
die Steuerungsobjekte angezeigt und diese Textketten können in
einem hierarchischen Format (z.B. mittels einer tabellarischen Tafelanzeige)
angezeigt werden.
-
In
Schritt 716 von 9 lässt die intelligente Steuerung
den Benutzer mit der Benutzerschnittstelle in Dialog treten, einschließlich dem
Annehmen von vordefinierten oder generischen Benutzerereignissen
von dem Benutzer. Jedes Steuerungsobjekt enthält einen Objekttyp, und jeder
Objekttyp definiert eine Benutzeraktion, die bezüglich des Steuerungsobjekts
stattfinden kann. Zum Beispiel werden Knöpfe „gedrückt" oder „gedrückt und gehalten" oder „losgelassen", und Schieber und
Drehelemente können
bewegt werden, um „einen
Wert einzustellen".
Kippschalter können
zwischen zwei Stellungen bewegt werden, z.B. „nach rechts bewegt" oder „nach links
bewegt" oder „nach oben
bewegt" oder „nach unten
bewegt". Weitere
Benutzerereignisse enthalten das Einstellen eines Textwertes, z.B. „Textwert
einstellen" oder
das Einstellen eines numerischen Wertes, z.B. „Wert einstellen", usw.. Diese Benutzerereignisse
sind durch die Steuerungsobjekte selbst definiert, und die intelligente
Steuerung interpretiert die Bedeutungen dieser Ereignisse nicht
für jedes
Zielgerät.
-
In
Schritt 716 übersetzt
die intelligente Steuerung unabhängig
vom Typ der Benutzereingabevorrichtung, z.B. Tastatur, Maus und
Maustaste, Fernsteuereinheit, Stift, Lichtzeiger, Joystick, usw.,
den Dialog zwischen diesen Benutzereingabevorrichtungen und dem
Benutzer in ein generisches Kernbenutzerereignis, das durch die
Tafeluntereinheit 314 der vorliegenden Erfindung erkannt
wird. Zum Beispiel kann ein Knopf-Steuerungsobjekt durch Auswählen mit
einer Maus oder Auswählen
mit einer Tastatur oder mit einem Fernsteuerungsdruckknopf „gedrückt" und dann „losgelassen" werden. In jedem
Fall ist das Benutzerereignis „gedrückt" oder „losgelassen" bezüglich des
Steuerungsobjekts.
-
In
Schritt 718 von 9 werden alle durch die intelligente
Steuerung erfassten Benutzerereignisse über das Netz 5 an
das Zielgerät
weitergeleitet. Das Zielgerät
interpretiert dann das Benutzerereignis und nimmt basierend auf
seiner Programmierung die entsprechende Aktion vor. Die durch das
Zielgerät
in Schritt 718 benutzte Programmierung ist die gleiche
Programmierung, die bereits im Zielgerät zum Antworten auf die körperlich
an dem Zielgerät
angeordneten Eingabevorrichtungen vorhanden ist. In diesem Fall
ist jedes Zielgerät
mit den daran angeordneten körperlichen
Steuerungen bereits mit den erforderlichen Aktionen programmiert,
die vorzunehmen sind, wenn diese Steuerung direkt durch einen Benutzer
gedrückt
werden. Die vorliegende Erfindung nimmt den Vorteil dieser bereits
existierenden Funktionalität
in jedem Zielgerät.
Ein empfangenes Benutzerereignis kann eine Veränderung in einem oder mehreren
der Zustände
der in der Tafeluntereinheit der vorliegenden Erfindung definierten
Steuerungsobjekte auslösen.
Bei einer Zustandsveränderung verändert sich
der Statusbeschreiber 500 der Tafeluntereinheit, wodurch
der intelligenten Steuerung eine Statusveränderung gemeldet wird.
-
In
Schritt 720 lädt
die intelligente Steuerung den Statusbeschreiber herunter, um zu
bestimmen, welches Steuerungsobjekt seine Zustände geändert hat. Als nächstes aktualisiert
die intelligente Steuerung die angezeigte Benutzerschnittstelle,
um die Veränderung
widerzuspiegeln. Falls z.B. der Knopfzustand von „losgelassen" in „gedrückt" verändert wird,
kann dann die intelligente Steuerung ein neues Bild für den gedrückten Knopfzustand
anzeigen. Falls sich alternativ der Zustand des VCR-Bandmechanismus von „Stand
by" in „Abspielen" ändert, kann ein Bild in der
LCD-Tafel 214 animiert
werden, das die Bandwiedergabe zeigt, usw.. In Schritt 722 lassen
die generischen Benutzerereignisse das Zielgerät eine bestimmte Aktion, z.B.
Abspielen, Pause, usw. implementieren. Es ist selbstverständlich,
dass Schritt 722 vor Schritt 720 stattfinden kann.
In Schritt 724 kehrt der Prozess zu Schritt 716 zurück, um eine
nächste
Benutzeraktion zu überprüfen.
-
Im
Betrieb ist die intelligente Steuerung nicht mit dem Halten von
Zustandstabellen oder durch Interpretieren der Bedeutung der Benutzerereignisse
belastet. Diese Interpretationen werden durch das Zielgerät durchgeführt, wodurch
die Tafeluntereinheit mit einer großen Flexibilität zur Anpassung
an neue Standards oder Steuerungstypen versehen ist. Außerdem sieht
die vorliegende Erfindung durch Bereitstellen eines Bereichs von
möglichen
Anzeigedarstellungen eine flexible Benutzerschnittstelle für intelligente
Steuerungen mit robusten Anzeigefähigkeiten und auch für solche
Steuerungen mit nicht hochentwickelten Anzeigen vor. Die Tafeluntereinheit
der vorliegenden Erfindung definiert generische Benutzereingabeereignisse,
Kerndatenstrukturen, die einen begrenzten Satz von Benutzeraktionen
oder Ereignissen und Anzeigeelemente definieren, und es wird ein
Grundkommunikationsprotokoll benutzt.
-
10–12 zeigen
ein weiteres Beispiel der vorliegenden Erfindung. 10 zeigt
eine simulierte oder „virtuelle" Tastatur 540,
die für
ein Zielgerät
mittels der Tafeluntereinheit der vorliegenden Erfindung erzeugt
werden kann. Die virtuelle Tastatur 540 kann verwendet
werden, um ein „Black
Box" – Gerät zu steuern, das
selbst keine körperlichen
Tasten oder LEDs hat und dessen Steuertafel rein virtuell ist. In
diesem Fall hat die Black Box keine körperlich äquivalente Tastatur und ist
auf die intelligente Steuerung zum Zugriff auf ihre Funktionalität angewiesen.
In einem Beispiel kann das Zielgerät eine Untertafel für einen
intelligenten Fernseher sein, der eine integrierte Software hat,
die eine Benutzereingabe z.B. zum Surfen im Netz oder für ähnliche Aufgaben
beinhaltet.
-
Die
virtuelle Tastatur 540 enthält Gruppen von Steuerungen,
wobei jede Steuerung eine Taste oder eine LED definiert. Jedes Element
wird durch sein eigenes Steuerungsobjekt dargestellt. Die virtuelle
Tastatur 540 von 10 enthält mehrere
Gruppen (z.B. Haupttasten, Funktionstasten, Tastaturtasten, usw.)
mit verschiedenen Abmessungen und Designs. Eine erste Gruppe 542 enthält nur die
ESC-Taste, während die
Funktionstasten F1 bis Fn in einer Gruppe 544 gruppiert
sind. Die Standard-Zifferntasten, die Tabulator-, die Feststell-,
die Hochstell-, die Steuer-, und dergleichen Tasten sind in eine
Gruppe 546 gruppiert. Ebenso sind eine NUM-LED 554,
eine Feststell-LED 556 und eine Bildlauf-LED 558 enthalten.
Eine Einschalttaste 560 ist zusammen mit einem speziellen
Knopf 550 mit einer LED 552 darin gezeigt. Eine
in der Taste 550 integrierte LED 552 kann als
eine LED entworfen sein, die mit dem geeigneten Tafeluntereinheitenbefehl
ein- oder ausgeschaltet werden kann. So ist eine Taste mit einer
LED als ein Hybrid-Steuerungsobjekt entworfen. Eine Gruppe 565 enthält die LEDs 554, 556, 558, 552 und
die Knöpfe 560 und 550.
-
11 zeigt
die Steuerungsobjekt-Beschreiberinformationen in der Tafeluntereinheit,
die zum Realisieren des Hybridknopfes 550 als ein Beispiel
entsprechend der vorliegenden Erfindung benötigt werden. Die Felder 572–578 definieren
ein Steuerungsobjekt. Das Feld 572 zeigt an, dass das Steuerungsobjekt
ein „Hybridtyp" ist. Das Feld 574 gibt
an, dass zwei Steuerungsobjektdefinitionen in diesem Hybrid enthalten
sind. Das Feld 576 ist ein Zeiger, um ein Objekt 610 (Steuerung
0) zu steuern, während
das Feld 576 auf ein Steuerungsobjekt 640 (Steuerung
1) zeigt.
-
Bezüglich des
Steuerungsobjekts 610 zeigt das Feld 612 an, dass
das Objekt ein „Knopftyp" ist, und das Feld 614 zeigt
das Knopfbild 614a an. Das Feld 616 zeigt die
Knopfabmessungen (x,y) an und das Feld 618 zeigt eine Gruppenkennung
für die
Gruppe 565 an. Das Feld 620 zeigt die Relativposition
des Knopfes 550 in der Begrenzung der Gruppe 565 an.
Das Feld 622 zeigt den Wertebereich für den Knopf 550 an
(z.B. 0 und 1). Das Feld 624 stellt den optionalen AV/C-Befehl,
falls vorhanden, entsprechend den Zuständen des Knopfes 550 dar.
Das Feld 626 ist die optionale Zielgeräteidentifikation. Das Feld 628 ist
die Zeichenfolge „speziell" für Anzeigen,
die nur eine Textanzeigefähigkeit
haben können.
Das Hilfezeichen, falls vorhanden, befindet sich in dem Feld 630.
-
Bezüglich des
Steuerungsobjekts 640 zeigt das Feld 642 von 1 1
an, dass das Objekt ein „LED-Typ" ist, und das Feld 644 zeigt
die Bilder für
die verschiedenen Zustände
der LED an, z.B. grün
für den eingeschalteten
Zustand und schwarz für
den ausgeschalteten Zustand. Das Feld 646 zeigt die LED-Bildabmessungen
(x,y) an, und das Feld 648 zeigt eine Gruppenkennung für die Gruppe 565 an.
Das Feld 650 zeigt die Relativposition der LED 552 in
der Begrenzung der Gruppe 565 an. Das Feld 652 zeigt
den Wertebereich für
den Knopf 550 an (z.B. ON und OFF). Das Feld 654 stellt
den optionalen AV/C-Befehl, falls vorhanden, entsprechend den Zuständen der
LED 552 dar. Das Feld 656 ist die optionale Zielgeräteidentifikation.
Das Feld 658 ist die Zeichenfolge für die LED 552 für Anzeigen,
die nur eine Textanzeigefähigkeit
haben. Das Hilfezeichen, falls vorhanden, ist in dem Feld 660.
Unter Verwendung der Beispiele von 11 können auch
die übrigen
Steuerungsobjekte von 10 realisiert werden.
-
12 zeigt
die durch die intelligente Steuerung durchgeführten Schritte zum Dialog mit
der virtuellen Tastatur 554 der 10. In
Schritt 805 sendet die intelligente Steuerung eine Anforderung 807 an
das Zielgerät für eine Meldung
bei irgendwelchen Veränderungen
des Statusbeschreibers für
die virtuelle Tastatur 540. In Schritt 830 nimmt
das Zielgerät
die Anforderung 807 an und erzeugt ein Zwischensignal 832 an
die intelligente Steuerung, das die Anforderung 807 quittiert.
In Schritt 810 ist der Benutzer mit der virtuellen Tastatur 440 im Dialog, sodass
das Benutzerereignis „Drücken" an der Feststell-Taste
der Gruppe 546 angezeigt wird. Das Benutzerereignis „Drücken" der Feststell-Taste
wird dann von der intelligenten Steuerung zum Schritt 835 des Zielgeräts übertragen 812.
-
In
Schritt 835 nimmt das Zielgerät eine durch dieses Benutzerereignis
geforderte Aktion gemäß seiner eigenen
voreingestellten Programmierung vor. Der Statusbeschreiber verändert sich
und dies bewirkt eine durch das Zielgerät zu erzeugende Statusantwort
(z.B. auf den „Drücken"-Befehl). In Schritt 835 leitet
das Zielgerät
einen neuen Zustand 837 der Feststell-Taste an die intelligente
Steuerung weiter, der anzeigt, dass die Feststell-Taste nun gedrückt ist.
Erst nach Empfangen der neuen Statusinformationen 837 verändert die
intelligente Steuerung das Bild des Feststell-Knopfes auf der Anzeige,
um anzugeben, dass er nun gedrückt
ist. Als ein Nebeneffekt der durch das Zielgerät vorgenommenen Aktion verändert sich
in Schritt 840 die Feststell-LED 556 von OFF zu
On. Der Statusbeschreiber ändert
sich und dies bewirkt die Erzeugung einer Statusaktualisierungsmeldung
durch das Zielgerät.
Diese Zustandsänderung
wird durch die Meldung 822 an die intelligente Steuerung
als Reaktion auf eine Veränderung
in dem Statusbeschreiber berichtet. Die intelligente Steuerung liest
als Reaktion auf die Meldung 822 den Statusbeschreiber 845 des
Zielgeräts,
um zu bestimmen, welches Steuerungsobjekt seinen Status geändert hat.
Bei 827 wird bestimmt und zurückgeleitet, dass sich der Zustand
der LED 565 von OFF zu On verändert hat. Erst als Reaktion
auf das Empfangen der neuen Statusinformationen aktualisiert die
intelligente Steuerung dann in Schritt 825 das Bild für die LED
in den neuen Status ON.
-
Es
ist selbstverständlich,
dass auch ein direkter Dialog mit den körperlichen Steuerungen des
Zielgeräts
in Schritt 840 eine Zustandsänderung in dem Statusbeschreiber
bewirken kann, welche dann eine an die intelligente Steuerung weiter
zu leitende Meldung einer Statusänderung
bewirken würde.
Diese Aktion würde ebenfalls
eine Veränderung
in der auf der intelligenten Steuerung angezeigten Benutzerschnittstelle
bewirken, wie oben beschrieben. Der Prozess kann wiederholt werden.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung beschreibt die Darstellung von Gerätefähigkeiten, die
einige Arten von körperlichen
Steuerungen oder Anzeigen haben, z.B. etwas, das für den Benutzer
sichtbar ist und das durch eine Person betätigt werden kann. Die Tafeluntereinheit
der vorliegenden Erfindung kann jedoch erweitert werden, um zu beschreiben,
wie auf die Funktionalität
zugegriffen werden kann, die in einem Gerät „eingebaut" ist, das aber keinen körperlichen äußeren Knopf
hat, um darauf zuzugreifen. Zum Beispiel können viele digitale Set-Top-Boxen
einen oder mehrere MPEG2-Decodierer enthalten, die sehr nützliche
Medienverarbeitungsfunktionen enthalten. Es ist jedoch sehr unwahrscheinlich,
dass es einen MPEG2-Knopf an dem Gerät für den Benutzer zum Drücken gibt.
Statt dessen kann die Tafeluntereinheit der vorliegenden Erfindung
verwendet werden, um Schnittstellenobjekte in einem Beschreiber
zu definieren, die „virtuelle
Knöpfe" und Wählscheiben
zum Dialog mit dem MPEG2-Decodierer darstellen. Deshalb können die
Fähigkeiten
des MPEG2-Decodierers und die Einrichtungen zum Zugriff auf seine
Fähigkeiten
unter Verwendung der vorliegenden Erfindung beschrieben werden,
selbst wenn keine physischen Schnittstellenelemente an der Set-Top-Box existieren.
-
In
Weiterführung
der obigen Erläuterungen
ist es für
ein Black-Box-Gerät,
das keine physischen Steuerungen besitzt, möglich, weil die Tafeluntereinheit 314 der
vorliegenden Erfindung verschiedene Typen von Steuerungen und ihre
Attribute definiert, auf seine Tafeluntereinheit der vorliegenden
Erfindung als einzige zu steuernde Einrichtung (z.B. die virtuelle
Tastatur 540) zuzugreifen. Ein solches Zielgerät kann für Situationen konstruiert
werden, bei denen die Hardware an einer entfernten oder versteckten
Stelle angeordnet ist und das Steuerzentrum des Benutzers (z.B.
die intelligente Steuerung) an einer anderen Stelle ist. In diesem
Fall würde das
Zielgerät
keine körperlichen
Steuerungen an seiner Oberfläche
haben, weil sie niemals direkt durch eine Person benutzt werden
würden.
-
Ein
weiteres Ausführungsbeispiel
der vorliegenden Erfindung ist auf die Typen von Informationen oder Attributen
gerichtet, die durch die Funktionalitätsbeschreiber der Tafeluntereinheit
vorgesehen sind. Zum Beispiel beschreibt die vorliegende Erfindung
verschiedene Attribute für
eine Knopfsteuerung, einschließlich
ihres physischen Aussehens, ihrer Größe und Form, einer die Funktion
beschreibenden Textfolge, z.B. „Play", möglicherweise
eines Hilfezeichens, das beschreibt, wie es zu benutzen ist, und
einige Standardbefehle zum Bedienen dieser Steuerung, z.B. „Knopf
drücken" oder „Knopfwert
auf 1 setzen". Eine
Variation dieser Funktionalität
kann einige weitere Attribute hinzufügen, die entweder in allgemeiner
Weise oder einer anbieterspezifischen Weise möglich sein können.
-
Das
bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung, eine Tafeluntereinheit zum Ferndialog
mit einem Zielgerät über eine
intelligente Steuerung in einem Netz von Konsumelektronikgeräten, ist
somit beschrieben. Während
die vorliegende Erfindung in speziellen Ausführungsbeispielen beschrieben
worden ist, sollte es selbstverständlich sein, dass die vorliegende
Erfindung nicht durch solche Ausführungsbeispiele beschränkt ist,
sondern gemäß den nachfolgenden
Ansprüchen
konstruiert sein kann.