-
Gebiet der
Erfindung
-
Die
Erfindung beinhaltet ein System zum Steuern von elektronischen Mehrfachgeräten wie
elektronischen Unterhaltungsgeräten
u.dgl. über
Zusammenschaltungen wie Digitaldatenbussen. Insbesondere betrifft die
Erfindung eine Anordnung für
die Ausgestaltung des Zusammenwirkens derartiger Geräte.
-
Hintergrund
der Erfindung
-
Ein
Datenbus kann zum Verbinden von elektronischen Geräten wie
Fernsehempfängern,
Sichtgeräten,
Videocassettenrecordern (VCR), Direktrundstrahlsatellitempfängern (DBS),
Haushaltssteuergeräten
(z.B. ein Sicherheitssystem oder ein Temperaturreguliergerät) verwendet
werden. Die Kommunikation unter Verwendung eines Datenbusses erfolgt
gemäß einem
Busprotokoll. Beispiele von Busprotokollen umfassen den Verbraucherelektronikbus
(CEBus) und den Hochleistungsseriellbus IEEE 1394.
-
Ein
Busprotokoll dient typischerweise zum Übermitteln sowohl von Steuerinformationen
als auch von Daten. Z.B. wird eine CEBussteuerinformation auf einem "Steuerkanal" mit einem Protokoll übermittelt,
das in der Spezifikation IS-60 der Electronics Industries Assocation
(EIA) definiert ist. Bei einem IEEE-1394-Seriellbus werden die Steuerinformationen
im allgemeinen unter Verwendung des Asynchronbetriebs des Seriellbusses
weitergegeben. Die Steuerinformationen für eine bestimmte Anwendung
können
unter Verwendung z.B. der gemeinsamen Anwendungssprache (CAL) oder
AV/C definiert werden.
-
Gegenwärtig werden
die meisten A/V-Geräte
durch eine Fernsteuerung (RC) gesteuert. Der tatsächliche
bzw. reale Link kann mit Infrarot (IR), Ultraschall (US) oder Radiofrequenzübertragung
(RF) realisiert werden. Das Protokoll zwischen dem Peripheriegerät und der
RC-Einheit ist gerätespezifisch,
so daß jedes
Gerät über seine
eigene RC-Einheit verfügt.
Jedes derartige Peripheriegerät
interpretiert den Tastendruck, den es über seinen direkten Link empfängt, und
führt die
entsprechenden Aktionen aus. Somit ist im Falle von IR die Steuerung
eines Peripherie- bzw. Zielgerätes
auf eine direkte Sichtlinie zwischen der RC-Einheit und dem Peripheriegerät angewiesen.
-
Bei
einem derzeitigen analogen Audio/Video-(A/V)-Cluster kann die Steuerung
der Peripheriegeräte die
Aktivierung eines Bildschirmmenü-(OSD)-Mechanismus
auf einem Sichtgerät
(d.h. TV) umfassen, jedoch nicht erfordern. Das OSD derartiger A/V-Geräte wird
im Peripherie- bzw. Zielgerät
(z.B. digitaler VCR) erzeugt und auf den NTSC-Ausgang derartiger
Geräte
in der gleichen Weise wie jedes andere Vi deosignal gegeben. Somit
wird keine zusätzliche
Hardware oder Software weder im Peripherie- noch im Sichtgerät benötigt. Die 1 veranschaulicht
ein derzeitiges A/V-System 10, mit einem VCR 12 und
einem Sichtgerät 14 (z.B.
Fernseher), das eine solche Steuermethodologie verwendet. Menüs in Verbindung
mit der Steuerung des VCR werden von dem VCR 12 erzeugt
und dem Sichtgerät 14 über den
NTSC-Ausgang des
VCR 12 als ein Videomischsignal geliefert. Leider ist die
Verwendung des gleichen Ansatzes (vgl. 2) mit einem
digitalen TV (DTV) als Sichtgerät 14 nicht
praktisch, da es dabei erforderlich würde, die Menüs als MPEG-2-Transportströme zu transportieren.
Die Erzeugung derartiger Ströme
erfordert die Integrierung eines MPEG-Kodierers 15' in sämtliche
Peripheriegeräte,
was die Kosten und Komplexität
solcher elektronischer Unterhaltungsgeräte stark erhöht.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung sieht einen Minimalpegel des Zusammenwirkens
beim Austausch des Audio/Video-(AN)-Inhalts und der zugehörigen Steuerung
zwischen gemeinsamen elektronischen Unterhaltungsgeräten (CE)
vor. Die Schnittfläche
basiert auf dem IEEE-1394-Seriellbus für den realen Link und Sicherungsschichten
und verwendet eine Steuersprache wie etwa AV/C oder CAL zum Betrieb
von OSDs und Steuergeräten,
die über
einen digitalen Seriellbus miteinander verbunden sind. Insbesondere
will die Erfindung die Anzahl von Fernsteuerungen verringern, die
der Benutzer benötigen
muß, indem
die Möglichkeit
geschaffen wird, daß Fernsteuerungsbefehle
stets von einem Steuergerät
(z.B. Digitalfernseher oder DTV) empfangen und dann an das entsprechende
Peripheriegerät
nach einer Umsetzung in ein universelles Format gegeben werden.
Eine universelle Fernnachricht wird über den seriellen Bus getragen
und ermöglicht
komplexe Verwendungen wie etwa, daß es dem Benutzer ermöglicht wird,
ein aufzuzeichnendes Programm unter Verwendung des EPG des DTV auszuwählen.
-
Obgleich
es möglich
ist, jedes CE-Gerät über seine
eigene Frontplatte oder seine eigene Fernbedienung zu steuern, ist
anzuerkennen, daß es
in hohem Maße
wünschenswert
ist, sämtliche
Geräte
des Clusters mit einer Fernbedienung zu steuern. Ein Weg, um dieses
Ziel in einer Weise zu erreichen, die das Zusammenwirken fördert, besteht
darin, eine Standardsteuersprache (z.B. CAL oder AV/C) zu verwenden,
um universelle Fernsteuernachrichten über den Bus zu übertragen.
Dieses würde
auch die Steuerung von Geräten
ermöglichen,
die sich nicht direkt in der Sichtlinie befinden (z.B. Geräte in einem
anderen Raum oder verborgen, z.B. in hinter einer Schranktür), solange
sie sich auf dem IEEE-1394-Seriellbus befinden. Sobald der Benutzer
das Menü des
Peripheriegeräts
auf dem Sichtgerät
angezeigt bekommt, kann das Sichtgerät vom Benutzer eingegebene
Befehle (d.h. Fernsteuerungs-(RC)-Tastendrücke) für das Peripheriegerät weiterleiten,
die über
eine zweckmäßige Verbindung
(z.B. IR-Link) empfangen werden. Die Fernsteuertasten würden auf
einer gemeinsamen Steuersprache abgebildet, mit der alle elektronischen
Unterhaltungsgeräte
eines gegebenen Herstellers konform wären, bevor sie übertragen
werden.
-
Ein
Aspekt der Erfindung liegt in einem Verfahren zum Steuern eines
elektronischen Unterhaltungsperipheriegerätes, das über einen IEEE-1394-Seriellbus
mit einem digitalen Fernsehgerät
verbunden ist, wie es im Anspruch 1 angegeben ist.
-
Kurzbeschreibung
der Zeichnungen
-
Die
Erfindung läßt sich
unter Bezugnahme auf die beigefügte
Zeichnung besser verstehen, in der
-
1 in
vereinfachter Form eines Blockdiagramms das Zusammenwirken eines
Audio/Video-Systems nach dem Stand der Technik zeigt,
-
2 in
Form eines vereinfachten Blockdiagramms die Erweiterung des Zusammenwirkens
nach dem Stand der Technik zwischen einem digitalen VCR und einem
digitalen Fernseher zeigt,
-
3 ein
vereinfachtes schematisches Blockdiagramms ist, das das IEEE-1394-Seriellbusprotokoll veranschaulicht,
-
4 in
vereinfachter bildlicher Diagrammform einen Cluster von digitalen
elektronischen Unterhaltungsgeräten
unter Darlegung des Weges von benutzerinitiierten Befehlen zeigt,
-
5 in
vereinfachter schematischer Blockdiagrammform das Zusammenwirken
digitaler Geräte
in Anwendung der vorliegenden Erfindung zeigt.
-
In
der Zeichnung bezeichnen Bezugszahlen, die in verschiedenen Figuren
identisch sind, Merkmale, die gleich oder ähnlich sind.
-
Detaillierte
Beschreibung der Zeichnungen
-
Die
Verwendung des IEEE-1394-Seriellbusses wird für zahlreiche Anwendungen im
Rahmen eines Haushaltsnetzes vorgeschlagen. Er wird in der Video
Electronics Standards Association (VESA) zur Verwendung als ein "Gesamthaushaltsnetz" besprochen. Er wird
in die nächste
Generation von PCs eingebaut und für zahlreiche lokale Peripheriegeräte einschließlich Plattenlaufwerke
verwendet. Ferner können
digitale Audio/Video-Unterhaltungselektronikgeräte wie digitale Fernseher (DTV)
und digitale Videokassettenrekorder (DVHS) einen Seriellbus für die Verbindung
dieser Geräte
untereinander verwenden.
-
IEEE-1394
ist ein digitaler Hochgeschwindigkeitsseriellbus mit niedrigen Kosten,
der zur Verwendung als Peripherie- oder Rückwandbus entwickelt wurde.
Einige der Glanzlichter des Busses umfassen: dynamische Knotenadresszuordnungen,
Datenraten von 100, 200 und 400 Mbits/sec, asynchrone und isochrone
Betriebsarten, angemessene Buszuteilung und Konsistenz mit ISO/IEC
13213. 3 veranschaulicht das Seriellbusprotokoll für den IEEE-1394-Seriellbus 16 als
ein Satz von drei Stapelschichten.
-
Die
physikalische Schicht 18 besteht aus den physikalischen
Signalkreisen und Logikschaltung, die verantwortlich sind für die Hochfahrinitialisierung,
die Zuteilung, Busrückstellabfühlung und
Datensignalübertragung.
Zwei geschirmte Niederspannungsdifferentialsignalpaare plus ein
Leistungspaar sind für
das IEEE-1394-Seriellkabel
definiert. Die Signalübertragung
erfolgt unter Verwendung von DatenhinweisBitpegelkodierung, was
die Jittertoleranz verdoppelt.
-
Die
Daten werden in der Linkschicht 200 zu Paketen formatiert. Zwei
Klassen der Datenkommunikation zwischen Geräten werden unterstützt: asynchron
und isochron. Asynchrone Kommunikation kann als "erlaubt Bestätigung" charakterisiert werden, während isochrone
Kommunikation als "zeitgerecht" charakterisiert werden
kann. Der asynchrone Betrieb wird in erster Linie für Steuer-
und Statusnachrichten verwendet, während die isochrone Kommunikation
für Datenströme wie MPEG-Video verwendet wird.
Die zeitgerechte Art der isochronen Kommunikation wird dadurch erreicht,
daß ein
Zyklus alle 125 μsec
bereitgestellt wird. Isochrone Zyklen haben Priorität gegenüber asynchroner
Kommunikation.
-
Eine
asynchrone Übertragung
kann jederzeit stattfinden, wenn der Bus frei ist. Ein Minimum von
25 μsec
von jedem Zyklus von 125 μsec
wird für
die asynchrone Datenübertragung
reserviert. Die isochrone Übertragung
stellt einen Realzeitdatenübertragungsmechanismus
bereit. Eine stattfindende isochrone Kommunikation zwischen einem
oder mehreren Geräte
wird als Kanal bezeichnet. Der Kanal ist als er stes herzustellen, sodann
hat das anfordernde Gerät
die Garantie, die angeforderte Menge an Buszeit in jedem Zyklus
zu besitzen.
-
Die
Transaktionsschicht 22 definiert ein vollständiges Anforderung-Antwort-Protokoll
zur Durchführung
von Bustransaktionen. Obgleich die Transaktionsschicht 22 keine
Dienste zur isochronen Datenübertragung
hinzufügt,
bildet sie einen Weg zur Handhabung der für den isochronen Betrieb benötigten Betriebsmittel. Dieses
erfolgt durch Lesen und Schreiben am Steuerzustandsregister (CSR).
Die Transaktionsschicht 22 definiert auch einen Wiederholungsmechanismus
zur Behandlung von Situationen, in denen die Betriebsmittel besetzt
und nicht in der Lage sind zu antworten. Die asynchronen Daten werden
zwischen IEEE-1394-Knoten übertragen,
indem eine der drei Transaktionen, "Daten lesen" zur Auffindung von Daten von einem
anderen Knoten, "Daten
schreiben" zum Übertragen
von Daten an einen anderen Knoten und "Daten sichern" zum Übertragen von Daten an einen
anderen Knoten zur Bearbeitung verwendet werden, und dann werden
die Daten zum ursprünglichen
Knoten zurückgeführt.
-
Das
Seriellbusmanagement 24 beschreibt die Protokolle, Nutzungsleistungen
und Arbeitsverfahren, wodurch ein Knoten ausgewählt wird und dann die Managementpegelregelung über den
Betrieb der verbleibenden Knoten am Bus ausüben kann. Es werden zwei Managementeinheiten
für den
IEEE-1394-Seriellbus definiert; der Isochronbetriebsmittelmanager 26 und
der Busmanager 28. Diese beiden Einheiten können an zwei
verschiedenen Knoten oder an dem selben Knoten sitzen. Ein gesonderter
Busmanager 28 kann am Bus fehlen. Unter diesen Umständen übt der Isochronbetriebsmittelmanager 26 einen
Teilsatz der Managementverantwortlichkeiten aus, die normalerweise
vom Busmanager 28 übernommen
werden. Der Busmanager 28 bietet eine Anzahl von Diensten
einschließlich
Aufrechterhaltung der Geschwindigkeit und der topologischen Darstellung
sowie Busoptimierung. Der Isochronbetriebsmittelmanager 26 bietet
Mittel für
die Zuordnung isochroner Bandbreite, Zuordnung von Kanalnummern
und die Auswahl des Zyklusführers.
-
Eine
Knotensteuerung ist an sämtlichen
Knoten erforderlich; der Knotenkontroller 30 implementiert
die CSRs, die von sämtlichen
Seriellbusknoten verlangt werden, und kommuniziert mit der physikalischen
Schicht 18, der Linkschicht 20 und der Transaktionsschicht 22 und
jeder im Gerät
vorhandenen Anwendung. Die Komponente des Knotenkontrollers 30 sowie
CSR- und Konfigurations-ROM-Mittel werden zum Konfigurieren und Verwalten
der Aktivitäten
an einem einzelnen Knoten verwendet.
-
Damit
der IEEE-1394-Seriellbus ordnungsgemäß arbeitet, ist ein Isochronbetriebsmittelmanager (IRM)
und ein Busmanager (BM) erforderlich. Da die meisten Cluster (d.h.
Geräte,
die über
einen Digitalbus miteinander verbunden sind) ein Sichtgerät in irgendeiner
Form aufweisen, ist zu fordern, daß eine Set-Top-Box mit Analogdisplay
und DTV IRM- und BM-fähig
sein muß.
In einigen Fällen,
wie bei einem Ganzaudiocluster, kann es sein, daß ein Sichtgerät nicht
vorhanden ist. In diesem Fall ist ebenfalls zu fordern, daß eine digitale
Audioverstärkung
IRM- und BM-fähig
ist.
-
IRM 26 bietet
die Betriebsmittel dar, die für
den Seriellbus erforderlich sind, damit er kooperativ die isochronen
Betriebsmittel (Kanäle
und Bandbreite) zuordnet und frei gibt, die für ordnungsgemäße isochrone Vorgänge erforderlich
sind. IRM 26 bietet einen gemeinsamen Standort für die anderen
Knoten dar, um die Verfügbarkeit
von Kanälen
und Bandbreite zu überprüfen und
ihre neuen Zuteilungen zu registrieren. IRM 26, dessen
Standort unmittelbar nach Vollendung des Selbstidentifizierungsprozesses
bekannt ist, bietet auch einen gemeinsamen Standort dar, an dem
Seriellbusknoten die Identität
von BM 28, falls vorhanden, feststellen können.
-
BM 28,
falls vorhanden, bietet Managementdienste anderen Knoten am Seriellbus
dar. Diese umfassen die Aktivierung eines Zyklusführers, die
Leistungsoptimierung, das Antriebsmanagement, das Geschwindigkeitsmanagement
und das Topologiemanagement.
-
Ein
Funktionssteuerprotokoll (FCP) wird aufgebaut, um die durch einen
IEEE-1393-Bus verbundenen Geräte zu steuern.
Das FCP verwendet das asynchrone Schreibpaket des IEEE-1394 zum
Senden von Befehlen und Antworten. Die asynchrone Paketstruktur
des IEEE-1394 mit dem in das Datenfeld eingegliederten FCP ist nachstehend
gezeigt. Der Befehls/Transaktions-SET (CTS) spezifiziert den Befehlsvorrat
(z.B. AV/C, CAL). Möglich
ist es auch, einen Herstellerunikalset in das Paket einzuschließen.
-
FCP-Rahmen
in der Nutzlast einer Asynchronschreibung
-
FCP-Rahmen
sind als Befehlsrahmen und Antwortrahmen klassifiziert. Der Befehlsrahmen
ist in ein Befehlsregister bei einem Peripheriegerät und der
Antwortrahmen ist in ein Antwortregister bei einem Steuergerät eingeschrieben.
Der Standard spezifiziert zwei Adressen für den Befehl und die Antwort.
-
Die
Struktur des isochronen Pakets im IEC-61883 ist nachstehend gezeigt.
Der Paketheader besteht aus zwei Quadlets eines IEEE-1394-Isochronpakets.
(Ein Quadlet sind vier 8-Bit-Bytes.) Der Header des gemeinsamen
Isochronpakets (CIP) ist an den Anfang des Datenfelds eines IEEE-1394-Isochronpaketes
gesetzt, unmittelbar gefolgt von den Echtzeitdaten.
-
-
Die
Datenlänge
ist die Datenfeldlänge
in Bytes, das Kennzeichen gibt an, ob CIP vorhanden ist (01) oder
nicht (00), Kanal gibt die Isochronkanalnummer an, T-Code=1010 und Sy
ist ein anwendungsspezifisches Steuerfeld.
-
Der
61883-Standard definiert ein generisches Format für Unterhaltungs-A/V-Übertragung. Dieses Format hat
zwei Quadlet-Header, wie nachstehend gezeigt. In der Tabelle ist
SID der Ursprungsknoten_ID, DBS ist die Datenblockgröße in Quadlets,
die Bruchzahl (FN) erlaubt es ihnen, Ursprungspakete zur Buszeitausnutzung
zu teilen, die Quadletfüllzählung (QPC)
gibt die Zahl der Quadletszählung
an, der Ursprungspaketheader (SPH) ist ein Kennzeichen, um anzugeben,
ob das Paket einen Ursprungpaketheader besitzt, rsv zeigt an reserviert
für Zukunft,
der Datenblockzähler
(DBC) ist ein Kontinuitätszähler, FMT
gibt das Format ID an wie etwa MPEG2, DVCR, und das formatabhängige Feld
(FDF) ist format-ID-spezifisch.
-
-
Das
Konzept von Steckern und Steckerkontrollregistern wird zum Starten
und Stoppen der Isoschrondatenströme auf dem Bus und zum Steuern
ihrer Attribute verwendet. Steckerkontrollregister sind Spezialzweck-CSR-Register.
Der Verfahrensatz, der die Steckerkontrollregister zum Steuern eines
Isochrondatenflusses verwendet, wird Verbindungsmanagementverfahren
(CMP) genannt.
-
Isochrondaten
fließen
von einem Sendegerät
zu null oder mehr Empfangsgeräten
durch Sendung der Daten auf einem Isochronkanal auf dem IEEE-1394-Bus.
Jeder Isochrondatenfluß wird
an einen Isochronkanal durch einen Ausgangsstecker am Sendegerät übertragen
und wird von dem Isochronkanal durch einen Eingangsstecker an jedem
der Empfängergeräte empfangen.
-
Die Übertragung
eines Isochrondatenflusses durch einen Ausgangsstecker wird durch
ein Ausgangssteckerkontrollregister (oPCR) und ein Ausgangsmastersteckerregister
(oMPR) am übertragenden
Gerät gesteuert.
oMPR steuert sämtliche
gemeinsamen Isochrondatenflußattribute,
während
oPCR alle anderen Attribute steuert. Gleichartige Register (iPCR
und iMPR) existieren für
den Empfang von isochronen Daten. Es gibt nur einen oMPR (iMPR)
für sämtliche
Ausgangsstecker (Ein gangsstecker). Die Inhalte von oMPR (iMPR) beinhalten
Datenratenfähigkeit
und Anzahl von Steckern unter anderem. oMPR (iMPR) enthält einen
Verbindungszähler,
Kanalnummer und Datenrate unter anderem.
-
Es
gibt eine Anzahl von Managementvorgängen für jeden Verbindungstyp, der
es bei einem Anwendungsfall erlaubt, eine Verbindung herzustellen,
eine Verbindung zu überlagern
und eine Verbindung zu unterbrechen. Diese Verfahren beinhalten
die Zuordnung von IEEE-1394-Betriebsmitteln, das Einsetzen angemessener
Werte in die Steckerkontrollregister, das Berichten über mögliche Fehlerzustände zur
Anwendung und die Verwaltung von Verbindungen nach einem Busrücksetzen.
Ein derartiges CMP folgt.
-
Zum
Transportieren von isochronen Daten zwischen zwei A/V-Geräten auf
einem IEEE-1394-Seriellbus ist es notwendig, einen Ausgangsstecker
am Sendegerät
mit einem Eingangsstecker am Empfangsgerät unter Verwendung eines Isochronkanals
zu verbinden. Das Verhältnis
zwischen einem Eingangsstecker, einem Ausgangsstecker und einem
Isochronkanal wird als Punkt-zu-Punkt-Verbindung bezeichnet. In
gleicher Weise gibt es Rundfunk-aus-Verbindungen (ein Ausgangsstecker
und ein isochroner Kanal) und Rundfunk-ein-Verbindungen (ein Eingangsstecker
und ein isochroner Kanal). Der Fluß von isochronen Daten wird durch
ein Ausgangssteckerkontrollregister (oPCR) und ein Ausgangsmastersteckerregister
(oMPR), die sendeseitig angeordnet sind, gesteuert. oMPR steuert
sämtliche
Attribute (z.B. Datenratenfähigkeit,
Rundfunkkanalbasis usw.), die sämtlichen
durch das entsprechende A/V-Gerät übertragenen
isochronen Flüssen
gemeinsam sind.
-
Der
Empfang eines isochronen Datenflusses durch einen Eingangsstecker
wird durch ein Eingangssteckerkontrollregister (iPCR) und ein Eingangsmastersteckerregister
(iMPR), die im Empfangsgerät
angeordnet sind, gesteuert. iMPR steuert sämtliche Attribute (z.B. Datenratenfähigkeit
usw.), die sämtlichen
von dem entsprechenden Gerät
empfangenen isochronen Datenflüssen
gemeinsam sind.
-
Die
hauptsächlichen
Schritte, die bei der Errichtung einer Verbindung beteiligt sind,
sind die Zuordnung von IEEE-1394-Betriebsmitteln (z.B. Bandbreite)
und die Einstellung von Kanal, Datenrate, Überkopf-ID und Verbindungszähler im
oPCR und iPCR.
-
Ein
isochroner Datenfluß kann
durch ein beliebiges mit dem IEEE-1394-Seriellbus verbundenes Gerät durch
Modifizierung der entsprechenden Steckerkontrollregister gesteuert
werden. Obgleich Steckerkontrollregister durch asynchrone Transaktionen
am IEEE-1394-Seriellbus verändert
werden können,
liegt die bevorzugte Methode der Verbindungsführung in der Verwendung von
AV/C. Es liegt voll im Rahmen der vorliegenden Erfindung, CAL für eine Verbindungsdurchführung zu
verwenden.
-
Anwendungskommandosprachen
-
Damit
ein elektronisches Unterhaltungsgerät mit anderen Geräten zusammenwirkt,
die über
einen IEEE-1394-Seriellbus zusammenwirken, muß eine gemeinsame Produktbetriebsart
und ein gemeinsamer Befehlssatz definiert werden. Drei Standard ansätze zur
Gerätemodellierung
und Steuerung sind CAL, AV/C und der für den USB-Standard (USB) angenommene
Ansatz.
-
CAL
und AV/C sind Kommandosprachen, die zwischen logischen und physikalischen
Einheiten unterscheiden. Zum Beispiel kann ein Fernsehgerät (d.h.
eine physikalische Einheit) eine Anzahl von funktionellen Komponenten
(d.h. logische Einheiten), wie einen Tuner, Tonfrequenzverstärker usw.,
aufweisen. Derartige Kommandosprachen halten zwei Hauptfunktionen
vor: Betriebsmittelzuteilung und Steuerung. Die Betriebsmittelzuteilung
ist mit der Anforderung, der Nutzung und der Freigabe herstellerkompatibler
Netzwerkbetriebsmittel befaßt.
Die Nachrichten und Steuerung werden vom FCP transportiert, wie
im IEC-61883 definiert und oben besprochen. Zum Beispiel hat CAL
eine Objektbasenmethodologie für
seine Befehlssyntax genommen. Ein Objekt enthält und hat alleinigen Zugang
zu einer gesetzten Zahl von internen Werten, die als Objektkomponenten
bekannt sind (IV). Jedes Objekt hält eine interne Liste von Methoden.
Eine Methode ist eine Aktion, die ein Objekt als Ergebnis des Empfangs
einer Nachricht ausführt.
Wenn eine Methode aufgerufen ist, sind gewöhnlich eine oder mehr IVs aktualisiert.
Eine Nachricht besteht aus einem Methodenidentifizierer, gefolgt von
null oder mehr Parametern. Wenn ein Objekt eine Methode empfängt, sucht
es die Liste von Methoden durch nach einer, die zu der in der Nachricht
identifizierten Methode paßt.
Falls gefunden, wird die Methode ausgeführt. Die mit der Nachricht
gelieferten Parameter bestimmen die exakte Ausführung der Methode.
-
Die
Ausbildung von Kommandosprachen basiert auf der Annahme, daß sämtliche
elektronischen Unterhaltungsprodukte eine hierarchische Struktur
gemeinsamer Teile oder Funktionen aufweisen. Zum Beispiel behandelt
CAL jedes Produkt als eine Sammlung von einem oder mehreren dieser
gemeinsamen Teile, als Kontexte bezeichnet. Diese Kontexte sind
so ausgestaltet, daß ein
Zugang zur Produktfunktionalität
in einheitlicher Weise möglich
ist. Die Kontextdatenstruktur ist ein Softwaremodell, das in jedem
Gerät definiert
ist, das die Arbeitsweise sämtlicher
Gerätefunktionen
modelliert. Ein Kontext besteht aus einem oder mehreren Objekten,
die in einer Gruppe zur Bildung einer spezifischen funktionellen
Untereinheit eines Gerätes
zusammengefaßt
sind. Wie ein Objekt ist Kontext ein Modell einer funktionellen
Untereinheit. Geräte
werden durch einen oder mehrere Kontexte definiert. CAL hat einen
großen
Satz von Kontexten zum Modellieren verschiedenartiger Typen von
elektronischen Unterhaltungsgeräten
definiert. Jeder Kontext arbeitet ungeachtet, was für ein Produkt
es ist, in der gleichen Weise.
-
Objekte
werden durch einen Satz von IVs definiert, z.B. enthält für einen
Binärschalter
das Objekt erforderliche und optionale IVs. Erforderliche IVs umfassen
eine Variable (Momentposition), die anzeigt, ob der Schalter an
oder aus ist, und eine Fehlerposition (Fehlerposition) des Schalters.
Optionale IVs beinhalten Funktion von Positionen, Berichten von
Zuständen,
Zieladresse, vorheriger Wert und Berichtsheader. IVs sind genau
wie Variable in irgendeinem Software-Programm und werden in CAL
als boolesch, numerisch, Buchstaben und Daten (Feld) unterstützt. Die
IVs in einem Objekt können
in drei allgemeine Gruppen eingeteilt werden: Unterstützungs-IVs,
Berichts-IVs und aktive IVs. Die Unterstützungs-IVs lesen üblicherweise nur
Variable, die die Installationsverwendung des Objekts und die Arbeitsweise
der aktiven IVs definieren. Aktive IVs eines Objekts sind die Variablen,
die zum Betreiben des Objekts primär gesetzt oder gelesen werden.
-
Die
Interaktion zwischen einem Steuergerät (z.B. DTV) und einem Peripheriegerät (z.B.
DVHS) kann in der Hauptsache in zwei Hauptkategorien unterteilt
werden:
- i) Eine Maschine-Maschine-Interaktion,
wo sowohl das Steuergerät
als auch das Peripheriegerät
Maschinen sind. Es ist wichtig zu bemerken, daß es für diese Art der Interaktion
keine Einleitung durch den Benutzer zum Zeitpunkt der tatsächlichen
Interaktion gibt. Jedoch ist es möglich, daß der Benutzer das Steuergerät vorprogrammiert,
damit es eine spezielle Aktion zu einem speziellen Zeitpunkt ausführt.
- ii) Eine Benutzer-Maschine-Interaktion, wo eine Person Aktionen
am Steuergerät
einleitet.
-
Das
hauptsächliche
Mittel für
Benutzer-Maschine-Eingaben für
analoge Audio/Video-Geräte
(AN) ist heute die Verwendung einer Fernbedienungseinheit (RC) oder
die Frontplatte. Einige der Interaktionen können auch einen Mechanismus
mit Anzeige am Bildschirm (OSD) verwenden. Bei dieser Art der Interaktion
wirkt der Benutzer direkt mit dem Peripheriegerät zusammen. Im Falle der heutigen
Fernsteuerungen ist das verwendete Nachrichtenprotokoll geräte- und/oder
herstellerspezifisch. Das Peripheriegerät bearbeitet die empfangenen
Befehle und führt
die angeforderten Aktionen aus. Falls eine OSD verwendet wird, beinhaltet
dies Spurhalten der bearbeiteten RC-Tasten und Aktualisieren der
angezeigten OSD in entsprechender Weise nach jedem Tastendruck.
Gegenwärtig
gibt es kein Standardnachrichtenprotokoll. Dieses führt zur
Verwendung von mehrfachen Fernsteuerungseinheiten (d.h. unterschiedliche
RC-Einheiten für
TV, VCR usw.). Die zur Verfügung
stehenden universellen Fernbedienungen auf dem Markt haben begrenzte
Möglichkeiten.
Diese Geräte ändern typischerweise
ihr Nachrichtenformat in Abhängigkeit
davon, welcher "Gerätefokus"-Knopf gedrückt worden
ist.
-
Die
vorliegende Erfindung gibt den Benutzern die Möglichkeit, mit den über einen
IEEE-1394-Seriellbus miteinander verbundenen A/V-Geräten in einer
Weise in Aktion zu treten, mit der sie vertraut sind (d.h. Benutzung
einer RC-Einheit möglicherweise
in Verbindung mit einer OSD). Dieses bedeutet, daß ein Grundpegel
einer Betriebsfähigkeit
untereinander zwischen Geräten
von verschiedenen Herstellern mit geringsten Kosten erreicht ist.
Die Definition eines Standardnachrichtenmechanismus zur Ermöglichung
des Transports von RC-Tastendrücken
auf andere Einheiten über
den IEEE-1394-Seriellbus ermöglicht
die Verwendung der RC-Einheit in Verbindung mit dem Steuergerät (z.B.
DTV) als eine echt universelle RC-Einheit.
-
Im
Betrieb wählt
der Benutzer über
DTV ein Videoquellen- (d.h. peripheres) Gerät wie einen DVCR. Sobald das
Peripheriegerät
gewählt
ist, stellt der DTV eine Verbindung zum Empfang eines digitalen
A/V-Programms (typischerweise über
einen isochronen Kanal) und einer OSD (typischerweise über den
asynchronen Link) her. Der Benutzer kann dann die Fernbedienung
(RC) am DVCR durch Drücken
der VCR- Taste "fokussieren". Nun empfängt der
DTV bei nachfolgenden RC-Knopfdrücken
die RC-Tastendrücke,
da der DTV das Format der RC-Modulation und das Datenformat versteht.
Der DTV weiß,
daß der
RC-Tastendruck für
den DVCR und nicht für
den DTV bestimmt ist. Der DTV übersetzt
dann die RC-Tastendrücke
in einen vorbestimmten standardisierten universellen Tastenkode
und transportiert ihn über
den seriellen Bus zum DVCR. Der DVCR empfängt den standardisierten universellen
Tastenkode und führt
dann die gewünschte
Aktion aus.
-
Zum
Beispiel wird in der Situation eines RCA DTV 14'' und eines Sony DVCR 12'', wie in 4 dargestellt,
ein RC-Befehl von einer RCA-Fernbedienung 13'' über den
IR-Link empfangen und ist damit im RCA-Format. Das RCA DTV 14'' übersetzt dieses in das Universalformat
und überträgt es über den
seriellen Bus 16''. Der Sony DVCR 12'' empfängt den Universalbefehl und übersetzt
ihn vielleicht in das Sony-Format und
geht dann in Aktion. Die Übersetzung
der Befehle kann als eine Übersetzung
von einer Sprache in eine andere aufgefaßt werden. Ein Beispiel eines
RC-Tastendrucks
würde sein "PLAY". Dieser Befehl ist
allgemein bei vielen RC-Einheiten
verfügbar,
obschon das Format der Nachricht von Hersteller zu Hersteller unterschiedlich
ist.
-
Nachstehend
sind verschiedene Methoden zur Übertragung
eines Bildschirmanzeigemenüs
von einem Peripheriegerät
auf ein Steuergerät,
z.B. einen digitalen Fernseher, beschrieben.
-
Zur
Vereinfachung der Übertragung
von OSD-Informationen kann eine "Zieh"-Methode zum Übertragen der OSD-Informationen
vom Peripheriegerät
zum Steuergerät
verwendet werden. Bei dieser Methode wird die Masse der OSD-Daten
vom Peripheriegerät
auf ein anzeigefähiges
Gerät durch
asynchrone Leseanforderung übertragen,
die von dem anzeigefähigen
Gerät ausgegeben
wird. Dieses bedeutet, daß das
Steuergerät die
OSD-Information aus dem Speicher des Peripheriegerätes liest,
indem von zumindest einer Blocklesetransaktion des IEEE-1394 Gebrauch
gemacht wird. Das Steuergerät
wird über
den Platz und die Größe der OSD-Daten über einen "Trigger"-Befehl informiert,
der vom Peripheriegerät
an das Anzeigegerät
gesendet wird, wenn das Peripheriegerät bereit ist, mit der Datenübertragung
zu beginnen.
-
Da
die OSD-Information am Peripheriegerät als Antwort auf die RC-Tastendrücke aktualisiert
wird, wird die Steuervorrichtung (oder DTV) vor der Verfügbarkeit
der neu aktualisierten Daten gewarnt. Dieses kann dadurch erreicht
werden, daß eine
kurze Nachricht (d.h. "Trigger") an das OSD-Objekt
des Steuergerätes
gesandt wird. Es ist zu bemerken, daß eine solche Nachricht das
Anzeigegerät
vom Startplatz sowie der Länge der
zu lesenden OSD-Daten informieren muß. Die Länge ist notwendig, da die Anwendung
im Steuergerät
dabei ist, von den asynchronen Lesetransaktionen des IEEE 1394 Gebrauch
zu machen.
-
Falls
die Länge
größer ist
als was in die für
das bestimmte IEEE-1394-Netzwerk mögliche maximale Paketlänge passen
würde,
kann das Steuergerät
mehrfach Blocklesetransaktionen initiieren, bis sämtliche OSD-Informationen
gelesen worden sind. Zusätzlich
zum Startplatz und der Länge
der an ein Anzeigegerät
zu übertragenden
gegenwärtigen
OSD-Daten ist ein die Art der OSD-Daten anzeigendes Feld nützlich.
Dieses ist besonders nützlich,
da in diesem Fall derselbe Mechanismus auch dazu benutzt werden
kann, den OSD-Mechanismus eines Anzeigegerätes zu triggern, um solche
Dinge wie Fehler, Warnung und/oder Zustandsnachrichten anzuzeigen.
Die Differenzierung der Art der OSD-Daten ist hilfreich für das Anzeigegerät und/oder
den Benutzer, um zu entscheiden, ob es wirklich gewünscht ist,
sie anzuzeigen (z.B. möchte
ein Benutzer, der einen Film sieht, solche Dinge wie Zustandsnachrichten
nicht zur Kenntnis nehmen).
-
Eine
asynchrone Schiebemethode verwendet in erster Linie asynchrone Schreibtransaktionen
mit dem IEEE-1394-Seriellbus, eingeleitet durch das Peripheriegerät, um die
OSD-Daten auf das Steuergerät
zu schreiben. Dieser Ansatz ermöglicht
es einem Peripheriegerät,
seine Menüinhalte
in ein Steuergerät
zu schreiben. Da erwartet wird, daß die Menüs größer sind als die MTU (maximal
Transfereinheit) des Busses, kann ein Vereinzelungsheader zugegeben
werden. Die Menüstransportschicht
muß diesen
Header zugeben. Auf der Empfangsseite setzt diese Schicht das Menü wieder
zusammen und leitet es an höhere
Schichten weiter.
-
Eine
isochrone Transportmethode sieht "Rundsenden" der OSD-Daten über einen der vom IEEE-1394-Seriellbus
bereitgestellten isochronen Kanäle
vor. Es muß Bandbreite
reserviert und solange vorgehalten werden, wie das Peripheriegerät unter
Verwendung der OSD gesteuert wird.
-
Eine
Asynchronstrommethode verwendet einen asynchronen Strom zum Tragen
der OSD-Informationen. Ein asynchroner Strom ist im wesentlichen
dasselbe wie ein isochroner Strom, außer daß es keine Bandbreitenreservierung
gibt und der Strom im asynchronen Bereich des Buszyklus gesendet
wird.
-
Die
Navigation durch das Menü des
Peripheriegerätes
wird dadurch erreicht, daß sämtliche
RC-Tastendrücke über den
IEEE-1394-Seriellbus in Form von universellen Befehlen an das Peripheriegerät weitergeleitet
werden. Diese Navigationsmethode ist kompatibel mit jeder Methode
der OSD-Darstellung. Es wird nur minimale Software sowohl beim Peripherie-
als auch beim Steuergerät
benötigt.
Für das
Steuergerät
ist es lediglich nötig,
einen gut definierten Weg zum Senden der Tastendruckinformationen
an das Peripheriegerät
zu besitzen. In gleicher Weise muß das Peripheriegerät lediglich
fähig sein,
die OSD-Informationen auf gut definierte Weise zu aktualisieren.
Die OSD-Daten müssen
keine Informationen zum Identifizieren von Funktion und/oder Parametern
enthalten. Das Peripheriegerät
hält einfach
Spur der ankommenden Eingabe in Form von Tastendrücken und
aktualisiert seine OSD, wie es dies passend sieht.
-
Bei
einem durch einen IEEE-1394-Seriellbus verknüpften A/V-Cluster ist es möglich, RC-Tastendrücke an das
Peripheriegerät über den
Bus anstatt durch einen direkten Link (z.B. IR) weiterzuleiten,
wie es in 5 veranschaulicht ist. Dieses
ist möglich
durch Definieren eines Standardnachrichtenformats, welches Informationen über den
RC-Tastendruck an das Peripheriegerät liefert. Mit einem solchen
System 10'' kann man (1) RC-Befehle
von einer Fernbedienung 13'' an Geräte weiterleiten,
die sich nicht in einer direkten Sichtlinie (d.h. in einem anderen
Raum usw.) befinden und (2) kann die mit dem Steuergerät z.B. DTV) 14'' verbundene RC-Einheit 13'' effektiv als eine universelle
RC wirken (z.B. kann, obschon die RCA-Markenfernbedienung für den RCA-TV
nicht direkt mit dem Sony-VCR operieren kann, das RCA-TV die RC-Tastendrücke über standardisierte
Nachrichten über
den IEEE-1394-Seriellbus
an den VCR weiterleiten). Standardnachrichten können derart definiert werden,
daß sie
auch volle Buchstabensätze
in mehr Sprachen nach dem Unicodestandard (eine Untereinheit von
ISO 10646 nach Definition durch das Unicodekonsortium) weiterleiten
können,
außer
daß sie
in der Lage sind, alle möglichen
auf einer RC-Einheit vorhandenen speziellen Funktionstasten zu vermitteln.
Dieses ermöglichst
es, Tastendrücke
auf einer IR-Tastatur sowie RC weiterzugeben.
-
Die
Weitergabe von Tastendrücken
auf der Fernsteuerung (RC) an das Peripheriegerät wird nachstehend vollständiger definiert.
Jedoch ist eine derartige Methode ausweitbar auf solche Geräte wie Computertastaturen,
Schalttafeln usw.
-
Die
Steuerung eines Peripheriegerätes
(z.B. DVCR 12'') kann durch
Auswählen
dieses Gerätes
als Quelle auf dem DTV 14'' beginnen. In
diesem Zusammenhang bezieht sich die Quellenauswahl auf das Steuergerät, das sämtliche
notwendigen Parameter erlangt, derart, daß nachfolgende RC-Tastendrücke an das vorgesehene
Peripheriegerät
weitergegeben werden. Derartige Parameter umfassen vorm Peripheriegerät den Knoten
id, EUI usw. und können
von der Registertabelle erhalten werden. Der Quellenauswahlvorgang kann
dadurch eingeleitet werden, daß der
Benutzer ein Bildzeichen auf einer graphischen Benutzeroberfläche (GUI)
des Steuer gerätes
oder eine RC-Taste wie VCR1 auf einer RC-Einheit anklickt. Quellenauswahlkennzeichen
abgehende RC-Nachrichten (wie etwa "Kanal in Betrieb" und "Kanal betriebsunfähig") wie in Anwendung auf den DVCR 12''.
-
Sobald
ein Peripheriegerät
ausgewählt
worden ist, werden sämtliche
nachfolgenden RC-Tastendrücke,
die für
das Peripheriegerät
bestimmt sind, an das Universal-Tastatur-Eingabeobjekt
des Peripheriegerätes weitergeleitet.
Ein typisches Format des gesendeten Paktes ist nachstehend gezeigt.
Das Paket wird an das Peripheriegerät dadurch gesandt, daß von der
Asynchronblockschreibtransaktion des IEEE-1394-Seriellbusses Gebrauch gemacht
wird.
-
Universelle
IR-Fernnachrichtkapselung
-
Die
variable 24-Bit-Tastendruck-Info wird wie folgt definiert: Universelles
IR-Fernnachrichtenformat
-
Der
variable Code-Typ definiert die Semantik der im Code-Wert enthaltenen
nächsten
16 Bits.
-
Universelle
IR-Fernnachrichtenfelder
-
Das
Peripheriegerät,
das die RC-Tastendruckinformationen durch seinen Softwaremodul Universal-Tatstatur-Eingabe
(UKI) empfängt,
führt die
entsprechende Aktion aus. Nicht sämtliche Aktionen erfordern notwendigerweise
die Verwendung einer OSD. Ein Beispiel ist der PLAY-Befehl, der
an DVCR 12'' weitergegeben
wird. Es ist ausreichend, daß die
Spielaktion initiiert wird, keine Rückkopplung an den Benutzer
in Form einer OSD ist erforderlich.
-
Andererseits
können
einige Steuerfunktionen durch einen OSD-Anzeigemechanismus stattfinden. Für derartige
Geräte
wird nach Empfang der Tastendruckinformation durch sein UKI-Objekt
die OSD-Information ggf. aktualisiert, und dem Steuergerät wird eine
kurze Nachricht zugesandt, die die Verfügbarkeit aktualisierter OSD-Informationen
(im Falle der Asynchronziehmethode) anzeigt.
-
Somit
kann die Anwendung auf dem Steuergerät die OSD-Information vom Peripheriegerät lesen
und sie anzeigen.
-
Es
ist wichtig zu vermerken, daß ein
inaktives (nicht von jemand in diesem Moment gesteuertes) Peripheriegerät, das einen
RC-Befehl durch den indirekten Link empfängt, einen Mechanismus zur
Vermeidung dessen benötigt,
daß eine
Aktion zweimal durchgeführt
wird, wenn es dieselbe Nachricht über Mehrfachwege empfängt. Dieses
kann eintreten, wenn das Peripheriegerät von derselben Firma wie das
Steuergerät
hergestellt ist. In einem solchen Fall ist es möglich, daß das Peripheriegerät den RC-Befehl
als eine Universal-RC-Nachricht über
den seriellen Bus empfängt
und die Nachricht auch über
den direkten IR-Link empfangen kann. Eine weitere Möglichkeit
kann sein, falls ein Benutzer ein Peripheriegerät über den seriellen Bus von einer
entfernten Stelle aus steuert und eine andere Person versucht, dasselbe
Peripheriegerät über einen
direkten IR-Link unter Benutzung der zugehörigen Fernbedienung zu steuern.
Ein Weg, eine Mehrwegauflösung vorzunehmen,
besteht für
das Peripheriegerät
darin, ein Zeitglied beim Empfang von RC-Befehlen durch den indirekten
Link zu aktivieren. Dieses Zeitglied wird jedesmal zurückgesetzt,
wenn ein neuer RC-Befehl durch den indirekten Link empfangen wird.
Irgendwelche RC-Tastendrücke,
die über
den direkten Link empfangen werden, werden während der Zeit, in der das
Zeitglied aktiv ist, nicht beachtet. Das Zeitglied wird nach Definition
inaktiv nach einem Zeitraum der Inaktivität, und das Gerät kehrt
in seinen inaktiven Zustand zurück,
in dem es auf Tastendrücke
antwortet, die entweder durch den direkten oder den indirekten Link
weitergegeben werden. Zusätzlich
soll das Peripheriegerät,
sobald die Steuerung durch den indirekten Link durch einen bestimmten Knoten
eingeleitet worden ist, etwaige zusätzliche RC-Tastendrucknachrichten,
die von anderen Konten kommen, nicht beachten.
-
Des
weiteren kann es wünschenswert
sein, einen allgemeinen Zugang zum Gerät zu verhindern. In einem solchen
Fall entwickelt sich ein spezielles, als "Sperrung" bezeichnetes Verhältnis für entweder eine kurze oder
lange Zeitdauer zwischen zwei Geräten. Die Sperrung erlaubt es
einem Gerät,
den Zugang zu einigen oder sämtlichen
Teilen des gesperrten Gerätes
zu steuern. Das Steuergerät
ist das "Sperrgerät", und das Objekt
des Sperrverhältnisses
ist das "gesperrte
Gerät". Das Sperrverhältnis erlaubt
es einem Gerät,
sich selbst an ein anderes Gerät
zu binden.
-
Es
werden verschiedene Pegel der Sperrung gewünscht. In vielen Fällen erfordert
eine Anwendung nur eine Gerätepegelsperrung.
Jedoch gibt es Fälle,
in denen es wünschenswert
ist, auf einem Objektpegel zu sperren. Eine derartige Situation
ist eine VCR-Anwendung, wo es erwünscht sein kann, den Transportmechanismus
zu sperren, während
andere Geräte
die Möglichkeit
haben, Zeitgliedereignisse auszugeben oder hinzuzufügen. In
gleicher Weise ist es, obschon es erwünscht ist, das Anzeigeobjekt
in einem Fernseher zur Gewährleistung
einer ordentlichen Anzeige zu sperren, nicht erwünscht, die Fähigkeit
des Gerätes
zu sperren, auf andere Mitteilungen zu antworten.
-
Das
folgende Sperrschema erlaubt es einem Gerät, Kontext oder Objekt, als
ein Netzwerkbetriebsmittel behandelt zu werden. Das Betriebsmittel
kann direkt von an deren auf dem Netzwerk vorhandenen Geräten erhalten
bzw. erlangt werden. Es werden zwei Sperransätze besprochen.
-
Eine
Anforderung zum Sperren des Gerätes
wird direkt gemacht, und das Gerät
muß feststellen,
ob es die Sperrung aufnehmen kann oder ob eine frühere Sperre
Vorrang hat. Falls ein Hindernis zum Einrichten einer neuen Sperre
besteht, fordert ein Sperrenbroker, daß frühere hindernde Sperren aufgelöst werden.
Sobald die früheren
Sperren aufgelöst
sind, gewährt
der Broker die Sperranforderung. Das gesperrte Gerät muß sicherstellen,
daß sämtliche
Hinderungssperren aufgelöst
sind, bevor es die neue Sperrung zuläßt.
-
Die
zweite Art des Sperrens ist Betriebsmittelsperrung. Bei Betriebsmittelsperrung
sendet das Sperrgerät
eine Aufforderung, daß alle
Geräte
Sperrungen auflösen,
die das Eintreten einer neuen Sperrung verhindern würden. Sobald
ausreichend Zeit vergangen ist, um zu gewährleisten, daß alle früheren Konflikte
aufgelöst
sind, setzt das Gerät
die Sperre.
-
Während des
Betriebs durch den direkten Link empfängt ein Peripheriegerät einfach
Eingaben von seiner RC-Einheit oder seiner Frontplatte und führt entsprechende
Aktionen aus. Jedoch gibt es eine leichte Komplikation, wenn, als
Ergebnis dieser Aktionen, eine OSD angenommenermaßen auf
einem Anzeigegerät zu
erzeugen ist. Da in diesem Fall die Aktionen des Peripheriegerätes durch
seinen eigenen direkten Link initiiert wurden, hat das Peripheriegerät keine
Kenntnis darüber,
an welchem Knoten im Netzwerk seine OSD anzuzeigen ist. Daher kann
ein Gerät,
das die Initi ierung der Steuerung durch seinen direkten Link erkennt,
Nachrichten an jedes OSD-fähige
Gerät senden.
Es liegt am Anzeigegerät
zu entscheiden, ob es auf diese Nachricht agiert oder nicht. Falls
z.B. der Fokus bei diesem Anzeigegerät an VCR 1 gegeben worden ist
und es eine Nachricht vom VCR 1 empfängt, ist es ganz natürlich für das Anzeigegerät, darauf
zu agieren. Falls das Anzeigegerät
nicht auf ein bestimmtes Gerät
fokusiert ist, kann der Benutzer vor dem Vorhandensein einer OSD-Anzeigeaufforderung
durch eine Ferneinheit gewarnt sein, kann jedoch wählen, sie
zu ignorieren in Abhängigkeit
von der Datenart in der empfangenen Nachricht. Da die aktuelle Steuerung
durch den direkten Link erfolgt, hat es absolut keine Auswirkung
auf das Peripheriegerät,
ob ein oder mehrere Anzeigegeräte
die OSD anzuzeigen wählen.
Andererseits kann dieser Mechanismus auch dazu benutzt werden, den
Benutzer über Fehlerzustände, Warnungen
usw. zu informieren, die der Benutzer zu dieser Zeit angezeigt haben
möchte
oder nicht. Daher beinhaltet die Nachricht ein Feld für Datenart,
um anzuzeigen, ob die OSD-Daten, die dem Anzeigegerät dargeboten
werden, eine Warnungsnachricht, eine Fehlernachricht, normale OSD-Daten
usw. sind.
-
In
gleicher Weise kann ein Zeitmechanismus für den direkten Link eingerichtet
werden, so daß,
während
die Zeit aktiv ist, irgendwelche RC-Tastendruckinformationen, die
durch den indirekten Link empfangen werden, ignoriert werden.
-
Alle
Geräte,
die in der Lage sind, Fernbedienungsbefehle zu benutzen, müssen den
Softwaremodul Universal Keyboard Input implementieren. Beim Peripheriegerät wird der
Empfänger
für den
RC-Tastenruck durch z.B. ein CAL-Objekt mit der Bezeich nung "Universal Keyboard
Input" implementiert.
Dieses ist ein sehr einfaches Objekt, so daß der ihm zugesandte CAL-Befehl
außerordentlich
einfach, kurz und leicht syntaktisch zu analysieren ist. Diese Einfachheit
ist wichtig, da dieser Pegel des Zusammenwirkens nicht eine volle
auf die Implementierungssteuerung bezogene Anwendungssprache erfordern
sollte. Die exakte Syntax, die den Funktional-Konroll-Protokoll-(FCP)-Rahmen
nach der Definition durch IEC 61883 ausmacht, ist (nachstehend) gezeigt.
Die Syntax des gesamten Paketes ist konsistent mit dem allgemeinen
Rahmenwerk/Syntax von CAL. Jedoch kann auf diesem Pegel des Zusammenwirkens
ein Gerät,
das RC-Tastendrücke
weitergibt, das Paket unten einfach zusammenstellen, anstatt den
vollen CAL-Mechanismus zu implementieren.
-
Ein
Beispiel einiger Universal-Ferntasten Codes ist nachstehend definiert;
weitere Codes können
nach Bedarf definiert werden.
-
-
-
Auffindungsprozeß
-
Der
Auffindungsprozeß ermöglichst
es dem Steuergerät,
andere Geräte
im Netzwerk aufzufinden. Dieser Prozeß wird durch eine Bus-Rücksetzung
aktiviert und dient dazu, vorhandene Geräte am Netzwerk zu suchen und
aufzufinden. Eine Bus-Rücksetzung
kann verursacht werden durch das Verbinden/Verbindungslösen eines
Gerätes,
eine durch die Software initiierte Rücksetzung usw. Dieses Softwaremodul
beruht auf einigen Informationen, die auf jedem Gerätekonfigurations-ROM
gespeichert sind. Diese Informationen werden mit Self Description
Device Table (SDDT) bezeichnet und beinhalten Informationen wie
Modellnummernsymbol, Menüplatz,
URL, EUI-Hersteller-ID usw.
-
Die
SDDT des Streuer- bzw. Anzeigegerätes enthält einen Dateizeiger auf einen
Informationsblock, der Informationen über die Anzeigefähigkeiten
des Gerätes
enthält.
Der Informationsblock kann die Art der Anzeige (Zeilensprungverfahren
oder progressiv), maximale Bytes pro Zeile, unterstützte Auflösungsarten
(voll, ½,
1/3), unterstützte
Mixgewichte, maximale Bits/Pixel unterstützt für Farbpalettenbetriebsart (2,
4, 8) und unterstützte
maximale Blockgröße umfassen.
Andere Methoden der Auffindung können
ebenfalls zum Erhalt dieser Informationen verwendet werden, wie
etwa Haushalt-Reinstecken-Laufenlassen in Definition für CAL oder die
für AV/C
definierten Untereinheitsdeskriptoren.
-
Nachdem
die Bus-Initialisierung vollständig
ist, liest der Auffindungsmanager des Steuergerätes die SDDT, die im ROM jedes
angeschlossenen Gerätes
angeordnet ist. Diese Information wird in eine Registertabelle eingebaut.
Jedes Gerät
am IEEE-1934-Seriell-Bus
hat eine Registertabelle, die benutzt wird, um die Spur anderer
Geräte
auf dem Bus und deren Fähigkeiten
zu halten. Für
alle Geräte
auf dem Bus wird diese Registertabelle (oder Register) während des
Auffindungsprozesses aktualisiert. Das Register liefert Dienste
zur Anwendung für
die Abbildung flüchtiger
Merkmale (z. B. 1394-Knoten-ID, IP-Adresse usw.), einen nicht-flüchtigen 64-Bit-EUI
(erweiterter Eindeutigkeitsidentifizierer) zum Identifizieren eines
beliebigen Knotens auf dem 1394-Bus.
-
Die
Registertabelle wird vom Registermanager in jedem Gerät aufrechterhalten
und enthält
die Informationen für
jeden Knoten zur Bereitstellung des zuvor spezifizierten Dienstes.
Diese Registertabelle wird ständig
durch den Auffindungsmanager bei Busrückstellungen aktualisiert.
Ein Beispiel der Konstruktion einer derartigen Registertabelle folgt:
-
Die
Felder der Registertabelle werden definiert als:
- – 64-Bit-EUI
ist eine 64-Bit-Zahl, die eindeutig einen Knoten unter sämtlichen
weltweit hergestellten Seriellbusknoten identifiziert.
- – 1394-Knoten-ID
ist eine 16-Bit-Zahl, die eindeutig einen Seriellbusknoten in einem
IEEE-1394-Seriellbusteilnetz identifiziert. Die wichtigsten 10 Bits
sind Bus-ID und die am wenigsten wichtigen Bits sind die physikalischen
ID. Bus-ID identifiziert
eindeutig einen bestimmten Bus in einer Gruppe überbrückter Busse. ID physikalisch
wird dynamisch während
des Selbstidentifizierungsprozesses zugeordnet.
- – IP-Adresse
ist eine 32-Bit-Privat-IP-Adresse, die dynamisch zugeordnet wird.
- – Hersteller/Modell
# wird von der Geräte-SDDT
erhalten und zur Unterrichtung des Kunden über die Möglichkeiten zum Auswählen einer
Quelle verwendet.
- – Gerätetyp wird
ebenfalls von der Geräte-SDDT
erhalten und zum Unterrichten des Kunden über die Möglichkeiten zur Auswahl einer
Quelle verwendet. Dieses Feld kann auch nützlich sein bei der Bestimmung, was
für ein
Stream-Format verwendet
werden sollte. Zum Beispiel muß ein
Spielcomputer nicht MPEG2 als Ausgabeformat verwenden.
-
Das
Register kann dazu verwendet werden, die IEEE-1394-Seriellbusadresse
für jeden
Knoten am Haushaltsnetzwerk auf der Basis des 64-Bit-EUI dieses
Knotens zu bestimmen. Die Korrelation zu einem stabilen Identifizierer
wie dem EUI ist wichtig, da sich die Knotenadressen bei einer Busrückstellung
verändern können.
-
Bei
jedem der CE-Geräte
erfolgt ein gewisses Setup bei der Installation (durch die Verwendung
des Gerätesetup),
wie oben beim Mapping anderer Geräte am Cluster auf Ausgabe-
oder Eingabekanäle
dieser Geräte
beschrieben. Dies bedeutet nicht notwendigerweise, daß die IEEE-1394-Isochronkanäle zu diesem Zeitpunkt
zugeordnet werden. Eine andere Möglichkeit
besteht darin, daß jedes
Gerät lediglich
ein Auswahlmenü mit
auf dem Netzwerk gefundenen Geräten
mit Blick auf die SDDT aufsetzt. Die Interaktion kann starten, indem
zuerst das Anzeigegerät
(angenommen eine digitales bei diesem Beispiel) angesprochen und
das Gerät ausgewählt wird,
das der Benutzer zu steuern wünscht
(z. B. digitaler VCR). Wenn dies geschieht, wird ein isochroner
Kanal zwischen dem DVHS und dem Anzeigegerät aufgebaut.
-
Viele
Fernbedienungen haben Sonderfunktionen, die nur für das Peripheriegerät eine Bedeutung
haben. Diese Sonderfunktionen müssen
nicht bei der mit dem Steuergerät
(z. B. DTV) verbundenen RC integriert sein. Somit kann die Funktion
dieser Tasten auf einem Menü vom
Peripheriegerät
verfügbar
gemacht werden.
-
Des
weiteren ermöglicht
die vorliegende Erfindung die Steuerung von Nicht-Videogeräten durch
Verwendung einer grafischen Benutzeroberfläche. Wie früher festgestellt, wäre ein Anzeigegerät (d. h.
DTV) eine gute Wahl für
ein Steuergerät,
da es nahezu immer am Cluster vorhanden ist. Ein Nicht-Videogerät würde Menüs in der
gleichen Weise wie Videogeräte
bereitstellen (oben beschrieben). Jedoch müßte das Gerät seine eigenen Menüs speichern.
-
In
einigen Fällen
ist es besser, eine koordinierte Kontrolle von mehreren Geräten auf
einmal zu haben. Zum Beispiel kann dies im Falle von Überspielen
nützlich
sein. Diese Koordination ist schwierig nur unter Verwendung von
Befehlen, die zu einer IR-Fernbedienung Bezug haben. Zusätzlich wird
es wünschenswert
sein, die Möglichkeiten
zum Steuern einiger CE-Geräte
von einem PC zu haben. Dieses ist ein Fall, wo eine volle Steuersprache
bei Gerätemodellen
wie CAL oder AV/C nützlich
sein könnte.
-
Obschon
die Erfindung im einzelnen mit Bezugnahme auf zahlreiche Ausführungsformen
beschrieben worden ist, versteht sich, daß bei einem Lesen und Verstehen
des Vorstehenden sich dem Fachmann zahlreiche Abänderungen zu der beschriebenen
Ausführungsform
ergeben, und es ist beabsichtigt, solche Abänderungen in den Umfang der
beigefügten
Ansprüche
einzuschließen.