-
VERWEIS AUF VERWANDTE
ANMELDUNGEN
-
Diese
Anmeldung ist in Teilen eine Fortsetzung der U.S.-Anmeldung Seriennummer
08/795, 710, betitelt "PROTOCOL
FOR A WIRELESS CONTROL SYSTEM",
eingereicht am 4. Februar 1997, abgetreten an einen gemeinsamenen
Zessionar.
-
TECHNISCHES
GEBIET
-
Die
vorliegende Erfindung betrifft ein drahtloses Übertragungssystem und insbesondere
die Codierung von Daten im dem Horizontal-Überabtastabschnitt eines Videosignals.
-
HINTERGRUND
DER ERFINDUNG
-
Eine
Vielfalt gegenwärtig
vorhandener Verbraucherprodukte beruht auf der Verwendung von drahtloser Übertragung.
Beispiele dafür
sind schnurlose Kopfhörer,
Garagentoröffner,
fernbediente Geräte
und ferngesteuerte Spielzeuge. Eine gemeinsame Motivation, die Hersteller
dieser und ähnlicher
Produkte antreibt, ist die Minimierung der mit dem Bereitstellen
des drahtlosen Übertragungsvermögens verbundenen
Kosten. Daher werden Verfahren zum Minimieren der Kosten von Funkeinrichtungen
zum Senden und Empfangen von HF-Signalen unter Wahrung einer zuverlässigen Übertragung
fortwährend
untersucht.
-
Interaktive
Spielzeuge, Spiele und Lernprodukte für zu Hause können besonders
nützliche
Anwendungen von drahtloser Übertragungstechnik
sein. Drahtlose Systeme beseitigen den Gebrauch von Drahtleitungs-Übertragungsstrecken
und werden daher für
viele Haushaltsanwendungen bevorzugt. Zum Beispiel beseitigen drahtlose
Spielzeuge, Spiele und Lernprodukte Leitungen, die Kinder verwirren
oder herausziehen könnten,
oder die Hunde kauen könnten.
Drahtlose Erzeugnisse umgehen auch die Notwendigkeit für Universalstecker
oder Adapter und erlauben einer großen Zahl von drahtlosen Einrichtungen,
von einer einzigen Steuereinheit gesteuert zu werden, ohne einen
großen
Anschlussport zum Einstecken der drahtlosen Einrichtungen zu erfordern.
Drahtlose Übertragungsverbindungen
sind daher sicherer, robuster, vielseitiger und in vielen Fällen billiger
als Drahtleitungs-Kommunikationsverbindungen.
-
Beim
Entwerten von drahtlosen Erzeugnissen wie Spielzeugen, Spielen und
Lernprodukten zum Gebrauch in einer Heimumgebung gibt es eine Anzahl
von oft konkurrierenden Zielset zungen. Erstens, das ganze System
sollte in einem für
ein Kinderunterhaltungsprodukt annehmbaren Preisbereich liegen.
Weil außerdem jedes
Kind mit der Zeit neue gesteuerte Einrichtungen haben möchte, sollten
die Kosten jeder gesteuerten Einrichtung so niedrig wie möglich sein.
Das bedeutet, dass die gesteuerten Einrichtungen billige drahtlose Übertragungsvorrichtungen,
wie z. B. herkömmliche
Amplitudenmodulations- (AM) Funkanlagen und digitale Datenbehandlungseinrichtungen,
enthalten sollten.
-
Zweitens,
es ist von Vorteil, mehrere drahtlose Einrichtungen gleichzeitig
mit einer einzigen Steuereinheit zu steuern. Im Kontext einer drahtlosen
Spielzeugumgebung erlaubt dies mehreren Kindern, zur gleichen Zeit
mit ihren eigenen Spielzeugen zu interagieren. Zum Beispiel kann
ein Kind mit einem Spielzeug "FRED" interagieren, während ein
anderes mit einem Spielzeug "WILMA" interagiert und
noch ein anderes mit einem Spielzeug "DINO" interagiert,
usw. Außerdem
ist es vorteilhaft, dass eine Vielfalt verschiedener Spielzeuge
zur Verfügung
steht, sodass Kinder eine Auswahl von Spielzeugen haben, um daraus
auszuwählen
und zu sammeln. Des Weiteren ist es in einem fortschrittlichen Lernsystem
vorteilhaft, eine Reihe von Spielzeugen zu haben, die mit unterschiedlichen
Fähigkeiten
verbunden sind, sodass ein Kind durch die Fähigkeiten, die es durch Interagieren
mit den verschiedenen Spielzeugen erlernt hat, fortschreiten kann.
-
Drittens,
für die
Steuerung und die gesteuerten Einrichtungen ist es vorteilhaft,
in der Lage zu sein, eine bidirektionale Kommunikation einzugehen.
Dies ist besonders nützlich
in einer interaktiven Lernumgebung, in der ein Kind mit einer gesteuerten
Einrichtung interagiert. Zum Beispiel kann die Steuerung eine gesteuerte
Puppe anweisen, "Drück bitte
meine linke Hand" zu
sagen. Die gesteuerte Puppe kann dann die Antwort des Kindes an
die Steuerung zurücksenden,
die entsprechend reagiert. Wenn z. B. das Kind die rechte Hand der
Puppe drückt,
weist die Steuerung die Puppe an, "Nein, das ist meine rechte Hand, drück bitte
meine linke Hand" zu
sagen.
-
Eine
vierte Erwägung
ist Vorwärts-Kompatibilität. Dies
bedeutet, dass die ursprüngliche
Steuereinheit benutzt werden kann, um künftige Versionen von gesteuerten
Einrichtungen zu betätigen.
Zum Beispiel kann ein interaktives Spielzeugprodukt anfangs mit
nur ein oder zwei gesteuerten Einrichtungen (z. B. "FRED" und WILMA") eingeführt werden.
Im Verlauf der nächsten
paar Jahre können
aber dutzende von neuen gesteuerten Produkten freigegeben werden,
um das System aufzuwerten (z. B. "DINO", "BAM-BAM" usw.). Vorwärts-Kompatibilität erlaubt
es, die neuen gesteuerten Einrichtungen mit der ursprünglichen
Steuereinheit zu betätigen.
-
Außerdem müssen Steuerdaten
an die Steuereinheit geliefert werden, die ihrerseits die Steuerdaten über eine
lokale drahtlose Kommunikationsverbindung an die gesteuerten Einrichtungen
sendet. Obwohl die Steuerdaten lokal erzeugt werden können, z.
B. durch einen in unmittelbarer Nähe zu der Steuereinheit gelegenen
Computer, ist es auch wünschenswert,
die Steuerdaten von einer entfernten Stelle unter Verwendung einer
Runkfunkstufen-Übertragungsstrecke,
z. B. ein Luftwellen- oder Kabelfernsehsignal, zu senden. Insbesondere
wäre es
vorteilhaft, die Steueradaten zusammen mit einem Standard-Videosignal
zum Treiben einer Anzeigeeinrichtung, z. B. Fernsehgerät oder Monitor,
zu senden. In dieser Weise können
die gesteuerten Einrichtungen veranlasst werden, synchron mit der
durch das Videosignal definierten Programminformation zu arbeiten.
Zum Beispiel kann eine gesteuerte Einrichtung als eine Figur in
einem auf dem Fernsehgerät
oder Monitor angezeigten Videoprogramm arbeiten.
-
Um
die Steuerdaten in Verbindung mit einem Videosignal wirkungsvoll
zu übertragen,
müssen
mehrere oft konkurrierende Ziele erreicht werden. Erstens sollten,
wie oben erwähnt,
die Steuerdaten zeitweise mit dem Videosignal synchronisiert sein,
sodass die Aktionen der gesteuerten Einrichtungen synchron mit der
auf dem Fernsehgerät
oder Monitor angezeigten Programminformation ablaufen. Zweitens,
die Steuerdaten sollten mit einem Standard-Videosignal einfach verkettet sein,
um in einer Vielfalt von Rundfunkmedien mit Standard-Vorrichtungen gesendet
zu werden. Drittens, die Steuerdaten sollten das Videosignal nicht
stören
oder die Anzeige des Videosignals sichtbar stören. Viertens, in der Aufwärts-Übertragungsstrecke
sollte genügend Bandbreite
bereitgestellt werden (z. B. Rundfunkstufen-Übertragungsstrecke),
um die Bandbreitenerfordernisse der Abwärts-Übertragungsstrecke (z. B. lokale
drahtlose Übertragungsstrecke)
voll zu erfüllen.
Außerdem wäre es vorteilhaft,
in der Aufwärts-Übertragungsstrecke
zusätzliche
Bandbreite zum Senden von zusätzlicher Information
an andere Datensenken bereitzustellen, um Werbe-, Subskriptions-
oder Notfallwarndienste, wie z. B. E-Mail, Fremdsprachen-Untertitelung,
Telefonrufe, Wetterwarnungen, Konfigurationsdaten für eine Set-Top-Box
usw. bereitzustellen. Außerdem
wäre es
vorteilhaft, die Bandbreite der Aufwärts-Übertragungsstrecke einstellen
zu können,
um die Kosten- und Leistungsforderungen einer breiten Vielfalt von
Verbrauchern zu erfüllen.
-
Was
die Abwärts-Funkübertragungsstrecke
angeht, sollte das Protokoll für
die Aufwärts-Übertragungsstrecke adressierbar
sein, sodass mehrere funkgesteuerte Einrichtungen sowie andere Datensenken gleichzeitig
gesteuert werden können.
Das Protokoll sollte auch fehlertolerant sein und Vorwärts-Kompatibilität für künftige drahtlos
gesteuerte Einrichtungen und andere Dienste akkommodieren, die über die
Runkfunkmedien bereitgestellt werden können. All diese Merkmale sollten
zu Kosten implementiert werden, die geeignet sind, in Verbindung
mit einem System eingesetzt zu werden, das hauptsächlich gedacht
ist, ein Kinderunterhaltungserzeugnis zu sein.
-
Broughton
et al., US-Patent Nr. 4,807,031, beschreibt ein System zum Steuern
einer entfernten Einrichtung, z. B. ein Spielzeugauto, mit Steuerdaten,
die in dem sichtbaren Bereich durch ein Videosignal gesendet werden,
wenn dieses Signal eine Anzeigeeinrichtung treibt. Das von Broughton
beschriebene System beruht auf Helligkeitsmodulation in dem sichtbaren
Bereich des Videosignals, um die Steuerdaten zu senden.
-
Es
besteht daher ein Bedarf an einem Verfahren und einem System zum
Codieren von Steuerdaten für
drahtlos gesteuerte Einrichtungen in Verbindung mit einem Videosignal,
sodass die Aktionen der gesteuerten Einrichtungen synchron mit der
durch das Videosignal definierten Programminformation arbeiten.
Es gibt einen weiteren Bedarf an einem Verfahren und einem System
zum Codieren zusätzlicher
Daten in Verbindung mit dem Videosignal zum Bereitstellen von Diensten
wie E-Mail, Gegensprech-Fähigkeit,
Fremdsprachen-Untertitelung, Telefonrufen, Wetterwarnungen, Konfigurationsdaten
für eine
Set-Top-Box usw. Es besteht ein weiterer Bedarf an einem Protokoll
zum Codieren von Daten in Verbindung mit einem Videosignal, das
adressierbar, vorwärtskompatibel,
fehlertolerant ist und in Verbindung mit einem System eingesetzt
werden kann, das hauptsächlich
gedacht ist, ein Kinderunterhaltungsprodukt zu sein.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung erfüllt
die oben beschriebenen Bedürfnisse
durch Bereitstellen eines Verfahrens und Systems zum Codieren von
Steuerdaten in dem Horizontal-Überabtastabschnitt
eines Videosignals. Weil die Steuerdaten mit dem Videosignal zeilenweise
verkettet sind, sind die Steuerdaten zweitweise mit dem zugrunde
liegenden Videosignal synchronisiert. Dies erlaubt den gesteuerten
Einrichtungen, z. B. drahtlose mechanische Figuren, sich wie Figuren
in einer durch die Programminformation des Videosignals definierten
Szene zu verhalten. Ein Protokoll wird für die codierten Daten definiert,
das adressierbar, vorwärtskompatibel
und fehlertolerant ist und in Verbindung mit einem System eingesetzt
werden kann, das hauptsächlich
gedacht ist, ein Kinderunterhaltungsprodukt zu sein. Die durch die
codierten Daten definierte Bandbreite der Übertragungsstrecke ist einstellbar,
um die Kosten- und Leistungsforderungen einer breiten Vielfalt von Verbrauchern
zu erfüllen.
Ausreichende Bandbreite ist vorhanden, um mehrere Einrichtungen
zu steuern und zusätzliche
Werbe-, Subskriptions- oder Notfallwarndienste wie E-Mail, Fremdsprachen-Untertitelung,
Gegensprech-Fähigkeit,
Telefonrufe, Wetterwarnungen, Konfigurationsdaten für eine Set Top-Box
usw. bereitzustellen.
-
Allgemein
beschrieben stellt die Erfindung ein Verfahren zum Codieren von
Steuerdaten in einem Videosignal bereit, das eine Serie von Bildern
enthält,
die je eine Anzahl von Zeilen enthalten. Die codierten Daten sind
mit den Zeilen des Videosignals verkettet, um ein codiertes Videosignal
zu erzeugen, das konfiguriert ist, Inhaltsdaten in Verbindung mit
jedem Bild zu definieren. Die Inhaltsdaten sind konfiguriert, eine
mit einer ersten Einrichtung verbundene erste Adresse, einrichtungsspezifische
Steuerdaten für
die erste Einrichtung, eine mit einer zweiten Einrichtung verbundene
zweite Adresse und einrichtungsspezifische Steuerdaten für die zweite
Einrichtung zu definieren. Als Reaktion auf die erste Adresse werden
die einrichtungsspezifischen Steuerdaten für die erste Einrichtung zu
der ersten Einrichtung geleitet, und die Aktionen der ersten Einrichtung werden
entsprechend gesteuert. Ebenso werden als Reaktion auf die zweite
Adresse die einrichtungsspezifischen Steuerdaten für die zweite
Einrichtung zu der zweiten Einrichtung geleitet, und die Aktionen
der zweiten Einrichtung werden entsprechend gesteuert.
-
Die
codierten Daten werden vorzugsweise durch Zeilensignale definiert,
die sich in dem Horizontal-Überabtastabschnitt
des Videosignals befinden. Das heißt, jedes Zeilensignal kann
einen Vor-Sichtbar-Impuls haben, der sich zwischen dem Farbburst-Abschnitt
und dem sichtbaren Rasterabschnitt einer horizontalen Abtastzeile
des Videosignals befindet. Jeder Impuls kann ein einzelnes Bit der
codierten Daten definieren, in welchem Fall die codierten Daten
jedes Halbbildes eines Zweihalbbild-verschachtelten Bildes des Videosignals
ein 7-Bit Signalerfassungswort
und 13 16-Bit Inhaltswörter
definieren können.
Um die Bandbreite der codierten Datenübertragung zu erhöhen, kann
jedes Zeilensignal sowohl einen Vor-Sichtbar-Impuls als auch einen Nach-Sichtbar-Impuls
enthalten, die sich hinter dem sichtbaren Rasterabschnitt und vor
dem Horizontal-Austastintervall befinden. Um die Bandbreite der
codierten Datenübertragung
weiter zu erhöhen,
kann jeder Impuls moduliert sein, um mehrere Bits zu definieren.
-
Das
Videosignal definiert typischerweise Programminformation, die eine
auf einer Anzeigeeinrichtung angezeigte Szene enthält. Die
einrichtungsspezifischen Steuerdaten für die erste Einrichtung enthalten
typischerweise Sprach- und Motorsteuerdaten, die die erste Einrichtung
veranlassen, sich wie eine Figur in der auf der Anzeigeeinrichtung
angezeigten Szene zu verhalten. Die einrichtungsspezifischen Steuerdaten
für die zweite
Einrichtung können
Sprach- und Motorsteuerdaten, die die zweite Einrichtung veranlassen,
sich wie eine zweite Figur in der auf der Anzeigeeinrichtung angezeigten
Szene zu verhalten, elektronische Post zum Senden an ein Computersystem,
Gegensprechinformation zum Senden an ein Gegensprechsystem, Telefonrufinformation
zum Senden an ein Pagingsystem oder auf einer Anzeigeeinrichtung
angezeigte Sprachübersetzungsinformation,
Werbeinformation, Subskriptionsinformation oder Notfallwarnungsinformation
sein. Viele andere spezifische Anwendungen werden für die Fachleute
in der Technik ersichtlich sein.
-
Das
Adressierungsschema für
die einrichtungsspezifischen Steuerdaten implementiert ein vielseitiges und
erweiterbares paketbasiertes Datenübertragungsformat. Zum Beispiel
kann die erste Adresse ein erstes Startpaket-Kurzadresswort für eine erste
gesteuerte Einrichtung sein, und die zweite Adresse kann ein zweites Startpaket-Kurzadresswort
für eine
zweite gesteuerte Einrichtung sein. In diesem Fall kann das zweite
Startpaket-Kurzadresswort als ein Endpaket-Kurzadresswort für die erste
gesteuerte Einrichtung interpretiert werden.
-
Außerdem kann
die erste Adresse ein Startpaket-Anfang-Langadresswort definieren.
In diesem Fall definieren die Inhaltsdaten auch ein erstes Vorkommen
einer mit der ersten Einrichtung verbundenen Langadresse und ein
mit der ersten Einrichtung verbundenes Startpaket-Ende-Langadresswort
sowie einrichtungsspezifische Steuerdaten für die erste Einrichtung.
-
Nach
einem Aspekt der Erfindung können
die codierten Daten Signalerfassungswörter und Inhaltswörter enthalten.
Jedes Signalerfassungswort und jedes Inhaltswort kann Datenbits
und Fehlerkorrekturbits enthalten, die benutzt werden, um Fehler
in den Datenbits zu korrigieren. Das heißt, die Fehlerkorrekturbits
können
eine Korrektursequenz definieren, die es erlaubt, Einbit-Fehler
in den Datenbits zu erfassen und zu korrigieren. Jedes Signalerfassungswort
kann vier Datenbits und drei Fehlerkorrekturbits enthalten, und
jedes Inhaltswort kann neun Datenbits und sieben Fehlerkorrekturbits
enthalten.
-
Nach
einem anderen Aspekt der Erfindung kann das Signalerfassungswort
in jedes Bild des Videosignals codiert werden, sodass eine aufeinanderfolgende
Serie von Signalerfassungswörtern
eine dynamische Validationssequenz definiert. Für diese Sequenz unterscheidet
sich jedes Signalerfassungswirt in wenigstens zwei Bits von dem
unmittelbar vorangehenden Signalerfassungswort. Zum Beispiel kann
die in fünf
aufeinanderfolgenden Halbbildern eines Zweihalbbild-verschachtelten
Bildes des Videosignals gesendete dynamische Validationssequenz
die Binärdarstellung
von 8, 1, 10, 3, 12, 5, 14 und 7 enthalten.
-
Die
Erfindung stellt auch ein codiertes Videosignal, das nach dem oben
beschriebenen Verfahren erzeugt wird, und ein System zum Erzeugen
und Verwenden des codierten Videosignals bereit. Das System enthält einen
Videodaten-Encoder, der funktional mit einer Videoquelle verbunden
ist, die ein Videosignal, z. B. ein NTSC-Fernsehsignal bereitstellt.
Der Vi deodaten-Encoder empfängt
das Videosignal, das eine Serie von Bildern enthält, die je eine Anzahl von
Zeilen enthalten. Der Videodaten-Encoder enthält eine Einrichtung zum Erzeugen
des codierten Videosignals, wobei diese Einrichtung wenigstens ein
Inhaltswort definiert, und zum Codieren von Daten in dem Horizontal-Überabtastabschnitt
des Videosignals, wie oben beschrieben.
-
Der
Videodaten-Encoder ist vorzugsweise funktional mit einem Datendecoder
verbunden, der das codierte Videosignal von dem Videodaten-Encoder
empfängt.
Der Datendecoder erfasst das Vorhandensein der Signalerfassungsdaten,
extrahiert die Inhaltsdaten aus dem codierten Videosignal und setzt
die Inhaltsdaten zu einem seriellen Datenübertragungssignal zusammen.
Der Datendecoder ist funktional mit einem Datenfehlerprozessor verbunden,
der das serielle Datenübertragungssignal
von dem Datendecoder empfängt.
Der Datenfehlerprozessor zerlegt das serielle Datenübertragungssignal
in Datenbits und Fehlerkorrekturbits, analysiert die Fehlerbits,
um Fehler in den Datenbits zu erfassen, korrigiert erfasste Fehler
in den Datenbits und setzt die korrigierten Datenbits zu einem fehlerkorrigierten
Datenstrom zusammen.
-
Der
Datenfehlerprozessor ist funktional mit einem Protokoll-Handhaber
verbunden, der den fehlerkorrigierten Datenstrom von dem Datenfehlerprozessor
empfängt.
Der Protokoll-Handhaber erfasst ein mit einer ersten Einrichtung
verbundenes erstes Startpaket-Kurzadresswort und beginnt als Reaktion
das Leiten von nachfolgend empfangenen einrichtungsspezifischen
Steuerdaten zu der ersten Einrichtung. Der Protokoll-Handhaber erfasst
auch ein mit der zweiten Einrichtung verbundenes zweites Startpaket-Kurzadresswort und
beginnt als Reaktion das Leiten von nachfolgend empfangenen einrichtungsspezifischen
Steuerdaten zu der zweiten Einrichtung. Der Protokoll-Handhaber
interpretiert auch das zweite Startpaket-Kurzadresswort als ein
mit der ersten Einrichtung verbundenes erstes Endpaket-Kurzadresswort
und unterbricht als Reaktion das Leiten von nachfolgend empfangenen
einrichtungsspezifischen Steuerdaten zu der ersten Einrichtung.
-
Der
Protokoll-Handhaber erfasst auch ein Startpaket-Anfang-Langadresswort,
erfasst eine mit einer dritten Einrichtung verbundene Langadresse,
erfasst ein Startpaket-Ende-Langadresswort und beginnt, nachfolgend
empfangene einrichtungsspezifische Steuerdaten zu der dritten Einrichtung
zu leiten. Um das Senden an die dritte Einrichtung zu beenden, erfasst
der Protokoll-Handhaber ein weiteres Adresswort und unterbricht als
Reaktion das Leiten von nachfolgend empfangenen einrichtungsspezifischen
Steuerdaten zu der dritten Einrichtung.
-
Der
Video-Encoder enthält
vorzugsweise einen Speicher, in dem eine Vielzahl von Maschinenanweisungen,
die eine Quellenanwendung definieren, gespeichert sind, und eine
Anzeige. Die Einrichtung zum Erzeugen des codierten Videosignals
enthält
vorzugsweise einen Prozessor, der mit dem Speicher verbunden ist,
um auf die Maschinenanweisungen und die Anzeige zuzugreifen. Der
Prozessor führt
die Maschinenanweisungen aus und implementiert dadurch eine Vielzahl
von Funktionen, einschließlich
des Verkettens von codierten Daten mit Zeilen eines Videosignals,
um das codierte Videosignal zu erzeugen, sodass die codierten Daten
konfiguriert sind, wenigstens ein Inhaltswort zu definieren. In
einer anderen Ausführung
sendet der Prozessor die codierten Daten an die erste und zweite
Einrichtung.
-
Ein
noch anderer Aspekt der Erfindung ist auf ein Computer-Speichermedium
gerichtet, das computerausführbare
Anweisungen speichert, die, wenn von einem Prozessor ausgeführt, Schritte
durchführen,
die allgemein den Schritten des oben beschriebenen Verfahrens entsprechen.
-
Dass
die Erfindung die Nachteile des Standes der Technik verbessert und
diese Vorteile zustande bringt, wird aus der folgenden ausführlichen
Beschreibung der exemplarischen Ausführungen und den anliegenden
Zeichnungen und Ansprüchen
ersichtlich werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist ein Blockschaltbild
einer drahtlosen Duplex-Steuerumgebung, die eine Steuereinheit und eine
gesteuerte Einrichtung umfasst.
-
2 ist ein Blockschaltbild
eines Personal Computers, der einen Teil der Steuereinheit von 1 bildet.
-
3 ist ein Blockschaltbild
eines drahtlosen Modems, das einen Teil der Steuereinheit von 1 bildet.
-
4 ist ein Blockschaltbild
einer drahtlosen Simplex-Steuerumgebung, die eine Steuereinheit
und eine gesteuerte Einrichtung umfasst.
-
5 ist ein Blockschaltbild,
das ein System zum Erzeugen eines Datenstromes veranschaulicht,
der Videodaten und codierte Steuerdaten enthält.
-
6 ist ein Blockschaltbild,
das die verschiedenen Komponenten und Prozesse veranschaulicht,
die ein drahtloses Modem definieren, das einen Teil der Steuereinheit
von 4 bildet.
-
7 ist ein Funktionsblockschaltbild,
das die verschiedenen Komponenten und Prozesse veranschaulicht,
die die gesteuerte Einrichtung von 4 definieren.
-
8 ist ein Funktionsblockschaltbild
eines Systems zum Erzeugen und Verwenden eines codierten Videosignals,
um eine Vielzahl von Datensenken zu steuern.
-
9A ist ein Wellenformdiagramm,
das einen in dem Horizontal-Überabtastabschnitt
einer Abtastzeile eines codierten Videosignals codierten Datenbitwert "eins" veranschaulicht.
-
9B ist ein Wellenformdiagramm,
das einen in dem Horizontal-Überabtastabschnitt
einer Abtastzeile eines codierten Videosignals codierten Datenbitwert "null" veranschaulicht.
-
10A ist ein Diagramm, das
die Stelle von Datenbits in einem Teil eines Bildes eines codierten
Videosignals veranschaulicht.
-
10B ist ein Diagramm, das
die Stelle von Datenbits in zwei verschachtelten Halbbildern eines
Bildes eines codierten Videosignals veranschaulicht.
-
11 ist ein Nachrichtenprotokolldiagramm,
das das Format des Horizontal-Überabtast-Datenstromes
eines codierten Videosignals veranschaulicht.
-
12A ist ein Nachrichtenprotokolldiagramm,
das das Format von Kurzadress-Inhaltsdaten eines codierten Videosignals
veranschaulicht.
-
12B ist ein Nachrichtenprotokolldiagramm,
das das Format von Langadress-Inhaltsdaten eines codierten Videosignals
veranschaulicht.
-
13 ist ein logisches Flussdiagramm,
das die Arbeitsweise eines Videodatendetektors in einem System zum
Erzeugen und Verwenden eines codierten Videosignals veranschaulicht,
um eine Vielzahl von Datensenken zu steuern.
-
14 ist ein logisches Flussdiagramm,
das die Arbeitsweise eines Datenfehlerdetektors in einem System
zum Erzeugen und Verwenden eines codierten Videosignals veranschaulicht,
um eine Vielzahl von Datensenken zu steuern.
-
15 ist ein logisches Flussdiagramm,
das die Arbeitsweise eines Protokoll-Handhabers für Kurzadressen
in einem System zum Erzeugen und Verwenden eines codierten Videosignals
veranschaulicht, um eine Vielzahl von Datensenken zu steuern.
-
16 ist ein logisches Flussdiagramm,
das die Verarbeitung von Kurzadressen in dem Protokoll-Handhaber
von 15 veranschaulicht.
-
17 ist ein logisches Flussdiagramm,
das die Arbeitsweise eines Protokoll-Handhabers für Langadressen
in einem System zum Erzeugen und Verwenden eines codierten Videosignals
veranschaulicht, um eine Vielzahl von Datensenken zu steuern.
-
18 ist ein logisches Flussdiagramm,
das die Verarbeitung von Langadressen in dem Protokoll-Handhaber
von 17 veranschaulicht.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Eine
exemplarische Ausführung
der Erfindung ist ein System zum Codieren von Steuerdaten in den Horizontal-Überabtastbereich
eines Videosignals. Weil die Steuerdaten mit dem Videosignal zeilenweise
verkettet sind, sind die Steuerdaten zeitweise mit dem zugrunde
liegenden Videosignal synchronisiert. Dies erlaubt den gesteuerten
Einrichtungen, z. B. drahtlose mechanische Figuren, sich wie Figuren
in einer durch die Programminformation des Videosignals definierten
Szene zu verhalten. Das Protokoll für die codierten Steuerdaten
ist adressierbar, vorwärts
kompatibel, fehlertolerant und geeignet, in Verbindung mit einem
System eingesetzt zu werden, das hauptsächlich gedacht ist, ein Kinderunterhaltungserzeugnis
zu sein. Die durch die codierten Daten definierte Bandbreite der Übertragungsstrecke
ist einstellbar, um die Kosten- und Leistungsforderungen einer breiten
Vielfalt von Verbrauchern zu erfüllen.
Eine ausreichende Bandbreite ist vorhanden, um mehrere mechanische
Figuren zu steuern und zusätzliche
Werbe-, Subskriptions- oder Notfallwarnungsdienste, z. B. E-Mail,
Fremdsprachen-Untertitelung, Telefonrufe, Gegensprech-Fähigkeit,
Wetterwarnungen, Konfigurationsdaten für eine Set-Top-Box usw., bereitzustellen.
-
Exemplarische Ausführung: Das "REALMATION" System
-
Die
vorliegende Erfindung kann in einer drahtlosen Kommunikationumgebung
eingesetzt werden, die eine Steuereinheit (auch als Mastereinrichtung
bezeichnet) enthält,
die mit einer oder mehr gesteuerten Einrichtungen (auch als Slaveeinrichtungen
bezeichnet) auf einem einzelnen Hochfrequenz- (HF) Kommunikationskanal
kommuniziert und die Einrichtung(en) steuert. Eine spezifische Ausführung der
Erfindung ist das System "REALMATION". "REALMATION", abgeleitet aus
der Kombination der Wörter "realistisch" und "Animation", steht für eine neue
von Microsoft Corporation of Redmont Washington entwickelte Technologie.
Eine Steuereinheit in einem typischen REALMATION-System enthält ein Computersystem
mit einer Anzeigeeinrichtung und ein drahtloses Modem, das mit einer
oder mehr gesteuerten Einrichtungen, z. B. animierte mechanische Figuren,
kommuniziert und diese steuert. Die Steuereinheit treibt eine Anzeigeeinrichtung,
um Programminformation, z. B. Szenen einer Audio/Video-Darbietung,
darzustellen, während
gleichzeitig Steuerdaten, die Sprachkoef fizienten und Bewegungsvektoren
enthalten, an eine oder mehr Figuren gesendet wird. Als Reaktion
auf das Empfangen der Steuerdaten bewegen sich und sprechen die
mechanischen Figuren wie Figuren in den auf der Anzeigeeinrichtung
dargestellten Szenen.
-
Microsoft
Corporation entwickelt eine REALMATION-Produktlinie, die zwei Hauptkomponenten
enthält:
Eine Steuereinheit (d. h. Mastereinrichtung), bekannt als der "REALMATION CONTROLLER", und eine oder mehr
gesteuerte Einrichtungen (d. h. Slaveeinrichtungen), bekannt als "REALMATION PERFORMERS". Eine gesteuerte
Einrichtung kann speziell für
einen spezifischen Industrie-, Ausbildungs-, Forschungs-, Unterhaltungs-
oder anderen Zweck gedacht sein. Zum Beispiel ist eine gesteuerte
Einrichtung, wie z. B. die "BARNEY"-Dinosaurierfigur, speziell für ein Lern-
und Unterhaltungssystem für
kleine Kinder gedacht. Jede gesteuerte Einrichtung enthält ein HF-Empfängersystem
zum Empfangen, Demodulieren und Decodieren der von der Steuereinheit
gesendeten Signale. Die von der Steuereinheit gesendeten Signale
enthalten Steuerdaten, z. B. Sprachkeoffizienten und Bewegungsvektoren.
Die Steuerdaten verlanlassen die gesteuerte Einrichtung, sich wie
eine Figur in einer Szene zu verhalten, die auf einer durch die
Steuereinheit getriebenen Anzeigeeinrichtung dargestellt wird.
-
In
einer Duplex-Umgebung kann jede gesteuerte Einrichtung auch ein
HF-Sendersystem zum Codieren, Modulieren und Senden von Antwortsignalen
zurück
an die Steuereinheit enthalten. Diese Antwortsignale können Test-
oder Rezeptordaten enthalten, die Statusinformation bezüglich der
gesteuerten Einrichtung definieren. Zum Beispiel kann eine gesteuerte
Einrichtung druck- oder lichtempfindliche Rezeptoren zum Empfangen
einer Benutzereingabe, z. B. Quetschen oder Bedecken eines Teils
der Figur, enthalten. Dies ist besonders nützlich in einer Lernumgebung,
in der ein Kind mit der gesteuerten Einrichtung interagiert. Die
Steuereinheit kann z. B. eine gesteuerte Einrichtung "BARNEY" anweisen, "Bitte drücke meine
linke Hand" zu sagen.
Die gesteuerte Einrichtung kann dann die Antwort des Kindes zurück an die
Steuereinheit senden, die entsprechend reagiert. Wenn z. B. das
Kind die rechte Hand der gesteuerten Einrichtung drückt, kann
die Steuereinheit die gesteuerte Einrichtung anweisen, "Nein, das ist meine
rechte Hand, bitte drücke
meine linke Hand" zu
sagen.
-
Die
Steuereinheit enthält
eine Datenquelle, die Videodaten und verwandte Steuerdaten empfängt oder erzeugt,
sodass eine oder mehr gesteuerte Einrichtungen sich wie Figuren
in einer auf einer Anzeigeeinrichtung angezeigten Szene verhalten
können.
Zu diesem Zweck enthält
die Steuereinheit ein drahtloses Modem (oder drahtlosen Modulator
für eine
Simplex-Umgebung,
bekannt als "REALMATION
LINK MASTER", und eine
Anzeigeeinrichtung, z. B. ein Fernsehgerät oder ein Computermonitor.
Die Datenquelle kann eine aktive Einrichtung, z. B. ein Computersystem
oder ein interaktives Fernsehsystem, sein, die die Videodaten und
verwandte Steuerdaten in Echtzeit erzeugt. Alternativ kann die Datenquelle
eine passive Einrichtung, z. B. ein Kabelsystem, VCR oder Fernseh-Rundfunksignal,
sein, die einen vorher erzeugten Datenstrom, der Videodaten und
codierte Steuerdaten enthält,
zu dem drahtlosen Modem leitet. In diesem Fall extrahiert das drahtlose
Modem die Steuerdaten aus dem Datenstrom, führt die Videodaten zu der Anzeigeeinrichtung
und sendet die Steuerdaten an eine oder mehr gesteuerte Einrichtungen.
-
Außerdem kann
die Steuereinheit ein intelligentes System sein, das Video- und
Steuerdaten von einer Anzahl von Quellen als Reaktion auf eine Benutzereingabe
oder andere Steuersignale erzeugt, auswählt und kombiniert. Ungeachtet
der Konfiguration liefert irgenddein Typ von Datenquelle einen Datenstrom,
der Video- und verwandte Steuerdaten enthält, und das drahtlose Modem
extrahiert die Steuerdaten aus den Videodaten, leitet die Videodaten
zu der Anzeigeeinrichtung und sendet die Steuerdaten an eine oder
mehr gesteuerte Einrichtungen. Um Steuerdaten zu senden, codiert
das drahtlose Modem die Steuerdaten in ein spezielles Differenzimpuls-Datenmodulations-
(DDM) Format und sendet die DDM-codierten Steuerdaten an die gesteuerten Einrichtungen.
Des Weiteren kann das drahtlose Modem DDM-codierte Antwortsignale
von den gesteuerten Einrichtungen empfangen und die Antwortsignale
decodieren.
-
Die
REALMATION-Produktlinie kann in einer Simplex-Umgebung oder in einer
Duplex-Umgebung arbeiten. Die Arbeitsweise von exemplarischen Ausführungen
der Steuereinheit, des drahtlosen Modems (oder Modulators) und der
gesteuerten Einrichtungen in diesen Umgebungen wird im Kontext von
Programmen beschrieben, die auf Mikroprozessor-basierten Computersystemen
laufen. Die Fachleute werden erkennen, dass Implementierungen der
vorliegenden Erfindung verschiedene Arten von Programmmodulen enthalten
können, verschiedene
Programmiersprachen verwenden können
und in der Lage sein können,
mit verschiedenen Arten von Recheneinrichtungen zu arbeiten. Außerdem,
obwohl die Beschreibungen von exemplarischen Ausführungen
die Steuereinheit als mit einer gesteuerten Einrichtung über einen
HF-Kommunikationskanal kommunizierend beschreiben, werden die Fachleute
anerkennen, dass Substitutionen des HF-Kommunikationskanals andere Übertragungsmedien
wie faseroptische Verbindungen, Kupferdrähte, Infrarotsignale usw. enthalten
können.
-
Ein
Programm, wie hierin definiert, umfasst im Allgemeinen Routinen,
Subroutinen, Programmmodule, Komponenten, Datenstrukturen usw.,
die bestimmte Aufgaben durchführen oder
bestimmte abstrakte Datentypen implementieren. Außerdem werden
die Fachleute anerkennen, dass Aspekte der vorliegenden Erfindung
auf andere Computersystemkonfigurationen anwendbar sind. Diese anderen
Computersystemkonfigurationen umfassen handgehaltene Geräte, Multiprozessorsysteme,
Mikroprozessor-basierte Verbraucherelektronik, Minicomputer, Mainframe-Computer
und dergleichen, ohne darauf beschränkt zu sein. Aspekte der vorliegenden
Erfindung sind auch im Kontext einer verteilten Rechenumgebung,
z. B. Internet, anwendbar, in der Aufgaben durch entfernte Verarbeitungseinrichtungen
durchgeführt
werden können,
die durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten
Rechenumgebung können
sich Programmmodule sowohl in lokalen als auch entfernten Speichereinrichtungen
befinden.
-
Sowohl
in der Simplex- als auch in der Duplex-Umgebung können die
gesteuerten Einrichtungen billige, animierte mechanische Figuren
sein, die zur Verwendung in einer interaktiven Lern- und Unterhaltungsumgebung
für Kinder
gedacht sind. Jede gesteuerte Einrichtung enthält mindenstens ein Empfängersystem,
einen Sprach-Synthesizer, einen Lautsprecher, einen Prozessor und
einen oder mehr Servomotoren. Eine gesteuerte Einrichtung kann aber
viele andere Typen von Endeffektoren enthalten, z. B. Lichtquellen,
Wärmequellen,
aufblasbare Einrichtungen, Pumpen usw. In der Tat ist das Protokoll
für das
drahtlose Steuersystem so ausgelegt, dass es vorwärts kompatibel
mit einem breiten Bereich von gesteuerten Einrichtungen ist, die
in der Zukunft entwickelt werden können. Wenn das Empfängersystem
Steuerdaten auf einem vorbestimmten HF-Kanal empfängt, decodiert,
interpretiert und antwortet der Prozessor in einer durch den Inhalt
der Steuerdaten diktierten Weise. Die Antwort des Prozessors kann
das Betätigen
eines oder mehr Servomotoren, Bereitstellen von Eingabe für den Sprach-Synthesizer
oder Aktivieren eines der anderen Endeffektoren, die in einer bestimmten
gesteuerten Einrichtung bereitgestellt werden, enthalten.
-
In
der Duplex-Umgebung können
die gesteuerten Einrichtungen auch eine oder mehr Sensoreinrichtungen
und ein Sendersystem enthalten. Die Sensoreinrichtungen erfassen
typischerweise Aktionen wie Händedrücken eines
Kindes, Bedecken der Augen oder Ändern
der Position der gesteuerten Einrichtung. Durch Überwachen von Ausgangssignalen
der Sensoren sammelt der Prozessor Statusinformation. Nach Empfang einer
Anforderung von der Steuereinheit sendet der Prozessor diese Sensorstatusinformation
an die Steuereinheit. Als Reaktion auf den Empfang der Sensorstatusinformatian
kann die Steuereinheit die animierte Audio/Video-Darbietung in einer
der Information entsprechenden Weise ändern. Zum Beispiel kann als
Reaktion auf das Bedecken der Augen eines Kindes die Audio/Video-Darbietung
auf ein Versteckspiel umschalten.
-
In
der Duplex-Umgebung geht daher die Steuereinheit eine bidirektionale
Kommunikation mit einer oder mehr gesteuerten Einrichtungen ein.
Obwohl die Beschreibung der Duplex-Umgebung des Prozessors ein Programm
beschreibt, das auf einem Personal Computer läuft und mit einem anderen Programm
zusammenarbeitet, das auf einer Mikroprozessorbasierten Kommunikationseinrichtung
läuft,
werden die Fachleute erkennen, dass andere Implementierungen, wie
z. B. ein einzelnes Programm, das auf einer allein stehenden Plattform
läuft,
eine mit Funkkommunikationsgeräten
ausgestattete verteilte Recheneinrichtung oder ein interaktives
Fernsehsystem, ebenfalls genügen
können.
-
In
der Simplex-Umgebung geht die Steuereinheit eine unidirektionela
Kommunikation mit einer oder mehr gesteuerten Einrichtungen ein.
Obwohl die Beschreibung der Simplex-Umgebung der Steuereinheit einen
Video-Kassettenrecorder (VCR) oder eine Kabelfernsehbox, die mit
einem Programm verbunden ist, dass auf einer Mikroprozessor-basierten
Kommunikationseinrichtung läuft,
beschreibt, werden die Fachleute erkennen, dass andere Implementierungen,
wie z. B. Direktsendesignale, Laserplattenspieler, Recheneinrichtungen,
die auf CD-ROMs zugreifen, usw., auch genügen können. Außerdem kann die Simplex-Umgebung
das Integrieren eines VCR oder einer ähnlichen Einrichtung mit einer
Mikroprozessor-basierten Kommunikationseinrichtung zum Arbeiten
in einer allein stehenden Konfiguration umfassen.
-
Die
folgende ausführliche
Beschreibung wird weitgehend in Form von Prozessen und symbolischen Darstellungen
von Operationen von herkömmlichen
Computerkomponenten dargestellt, die eine Mikroprozessoreinheit
(MPU), Speichereinrichtungen für
die MPU, Anzeigeeinrichtungen, Ausgabesteuersignale und Eingabeeinrichtungen
umfassen. Außerdem
können
diese Prozesse und Operationen herkömmliche Computerkomponenten
in einer heterogenen verteilten Rechenumgebung verwenden, die entfernte
Dateiserver, entfernte Computerserver und entfernte Speichereinrichtungen
umfasst. Die MPU kann auf jede dieser herkömmlichen verteilten Rechenkomponenten über ein
Kommunikationsnetzwerk zugreifen.
-
Die
von dem Computer durchgeführten
Prozesse und Operationen umfassen die Berarbeitung von Signalen
durch eine MPU oder einen entfernten Server und das Unterhalten
dieser Signale in Datenstrukturen, die in einer oder mehr lokalen
oder entfernten Speichereinrichrichtungen liegen. Solche Datenstrukturen
legen eine physikalische Organisation auf die in einer Speichereinrichtung
gespeicherte Sammlung von Daten und stellen spezifische elektrische
oder magnetische Elemente dar. Diese symbolischen Darstellungen
sind die Mittel, die von Fachleuten in der Technik der Computerprogrammierung
und Computerkonstruktion verwendet werden, um Lehren und Entdeckungen
anderen Fachleuten in der Technik am wirkungsvollsten zu vermitteln.
-
Für die Zwecke
dieser Erörterung
wird ein Prozess allgemein als eine Folge von computerausgeführten Schritten
verstanden, die zu einem gewünschten
Ergebnis führen.
Diese Schritte erfordern im Allgemeinen physikalische Manipulation
von physikalischen Größen. Gewöhnlich,
obgleich nicht unbedingt, nehmen diese Größen die Form von elektrischen,
magnetischen oder optischen Signalen an, die imstande sind, gespeichert, übertragen,
kombiniert, verglichen oder sonstwie manipuliert zu werden. Für die Fachleute
in der Technik ist es üblich,
auf diese Signale als Bits, Bytes, Wörter, Daten, Flags, Variablen,
Parameter, Objekte, Merkmale, Anhänger, Typen, Identifikatoren,
Werte, Elemente, Symbole, Zeichen, Terme, Zahlen Punkte, Sätze, Bilder, Dateien
oder dergleichen zu verweisen. Man sollte jedoch daran denken, dass
diese und ähnliche
Begriffe mit geeigneten physikalischen Größen für Computeroperationen verbunden
sind, und dass diese Begriffe lediglich herkömmliche Labels sind, die auf
physikalische Größen angewandt
werden, die in und während
der Operation des Computers existieren.
-
Man
sollte auch verstehen, dass Manipulationen in dem Computer oft mit
Begriffen wie Addieren, Vergleichen, Empfangen, Senden, Übertragen,
Antworten usw. bezeichnet werden, die oft mit manuellen Operationen,
die von einem menschlichen Operator durchgeführt werden, verbunden sind.
Die hierin beschriebenen Operationen sind Maschinenoperationen,
die in Verbindung mit verschiedenen Eingaben durchgeführt werden,
die von einem menschlischen Operator oder Benutzer, der mit dem
Computer interagiert, bereitgestellt werden.
-
Des
Weiteren werden die Fachleute verstehen, dass die hierin beschriebenen
Programme, Prozesse usw. nicht auf einen bestimmten Computer oder
Vorrichtung bezogen bzw. darauf begrenzt sind und auch nicht auf
eine bestimmte Kommunikations-Netzwerkarchitektur bezogen bzw. darauf
begrenzt sind. Stattdessen können
verschiedene Arten von Universalmaschinen mit Programmmodulen benutzt
werden, die nach den hierin beschriebenen Lehren konstruiert sind.
Desgleichen kann es sich als vorteilhaft erweisen, eine spezialisierte
Vorrichtung zu konstruieren, um die hierin beschriebenen Verfahrensschritte
durchzuführen.
Die spezialisierte Vorrichtung könnte
aus dedizierten Computersystemen in einer spezifischen Netzwerkarchitektur
bestehen, wobei festverdrahtete Logik oder Programme in einem nicht
flüchtigen
Speicher wie Nurlesespeicher, magnetische Speicher oder optische
Speicher gespeichert werden.
-
Die
Kommunikation zwischen den Master- und Slave-Einrichtungen wird
im Kontext von HF-Signalübertragungen
beschrieben, die entsprechend Amplitudenmodulations- (AM) Ver fahren
gebildet werden. Die HF-Signale werden benutzt, um symbolische Darstellungen
von digitaler Information von einer Einrichtung zu einer anderen
zu übertragen.
Die HF-Signale werden durch Modulieren der Amplitude eines Trägersignals
in einer vorbestimmten Weise basierend auf dem Wert einer symbolischen
Darstellung der digitalen Daten erzeugt. Die Fachleute werden verstehen,
dass eine Vielfalt von Übertragungsverfahren
benutzt werden kann, um die Information zwischen diesen Einrichtungen
zu übertragen,
und dass das Beschreiben der Verwendung von AM-Verfahren die Prinzipien
irgendeines Aspekts der vorliegenden Erfindung nicht einschränken soll.
-
Nun
auf die Zeichnungen verweisend, in denen gleiche Verweiszeichen überall gleiche
Elemente darstellen, werden Aspekte der vorliegenden Erfindung und
exemplarische Betriebsumgebungen beschrieben. Es wird auf 1–7 unten
verwiesen, um eine Beschreibung von geeigneten Umgebungen zu geben,
in denen die Erfindung implementiert werden kann. Dann wird auf 8–14 verwiesen,
um das bevorzugte Funkkommunikationsprotokoll für Steuereinheiten und gesteuerte
Einrichtungen in diesen Umgebungen zu beschreiben.
-
Duplex-Umgebung
-
1 veranschaulicht eine exemplarische
Duplex-Umgebung für
Ausführungen
der vorliegenden Erfindung. Diese Duplex-Umgebung kann als ein interaktives
Lern- und Unterhaltungssystem für
ein Kind betrieben werden. Die Duplex-Umgebung enthält eine
Steuerung 10, die eine gesteuerte Einrichtung 60 steuert
und damit interagiert. Die Steuerung 10 enthält einen
herkömmlichen
Personal Computer 20, ein Funkmodem 80, eine Antenne 88,
einen Lautsprecher 43 und eine Anzeige 47. Der
Personal Computer 20 kann ein Festplattenlaufwerk 27,
ein Magnetplattenlaufwerk 28 und/oder ein optisches Plattenlaufwerk 30 enthalten.
-
Während des
Betriebs treibt die Steuerung 10 eine Audio/Video-Darbietung
auf der Anzeige 47 und dem Lautsprecher 43. Außerdem sendet
die Steuerung 10 Nachrichtenpakete, die Steuerdaten enthalten
können,
an die gesteuerte Einrichtung 60. Die Steuerdaten enthalten
typischerweise Sprachsynthese-Koeffizienten und Motorvektoren zum
Steuern des Betriebs der gesteuerten Einrichtung 60. Der
Prozess des Sendens der Steuerdaten umfasst das Bilden eines Datenstromes
unter Verwendung des passenden Protokolls, Modulieren eines Trägers mit
dem Datenstrom und Aussenden des modulierten Trägers als ein HF-Signal von
der Antenne 88 über
den HF-Kommunikationskanal 15. Das heißt, die Steuerung 10 enthält ein Multimedia-Personalcomputersystem 20 und
ein Funkmodem 80. Das Computersystem 20 leitet
die Steuerdaten über
eine Drahtverbindung zwischen dem Funkmodem 80 und dem Gameport
(MIDI) des Computersystems 20 zu dem Funkmodem 80.
Das Funkmodem 80 bildet dann den Datenstrom unter Verwendung
des passenden Protokolls, moduliert einen Träger mit dem Datenstrom und
emittiert den modulierten Träger über den
HF-Kommunikationskanal 15.
-
Die
gesteuerte Einrichtung 60 empfängt die HF-Signale von der
Steuerung auf der Antenne 68. Das Empfängersystem 61–67 verarbeitet
die empfangenen HF-Signale, um die Steuerdaten zurückzugewinnen. Die
gesteuerte Einrichtung 60 interpretiert die empfangenen
Steuerdaten und reagiert auf die Steuerdaten durch Steuern des Betriebs
von einem oder mehr Servomotoren 69 oder anderen Endeffektoren
in der gesteuerten Einrichtung 60, was das Bereitstellen
von Sprachdaten einschließt,
die durch den Lautsprecher 71 hörbar zu präsentieren sind. Das Senden
der geeigneten Steuerdaten an die gesteuerte Einrichtung 60 veranlasst
daher die gesteuerte Einrichtung, sich so zu bewegen und zu sprechen,
als ob sie eine Figur in der Audio/Video-Darbietung wäre.
-
Die
gesteuerte Einrichtung 60 enthält auch Licht- und Berührungssensoren 70.
Wenn ein Kind die gesteuerte Einrichtung 60 in einer geeigneten
Weise berührt,
quetscht oder bewegt, erzeugen die Lichtsensoren und/oder Berührungssensoren 70 in
der gesteuerten Einrichtung 60 als Reaktion Statusinformation.
Als Reaktion auf einen Befehl von der Steuerung 10 sendet
die gesteuerte Einrichtung 60 die Statusinformation über den
HF-Kommunikationskanal 15 zurück an das Funkmodem 80 zur
Verarbeitung durch die Steuerung 10. Als Reaktion auf das
Empfangen und Interpretieren der Statusinformation kann die Steuerung 10 den
Fortgang der Audio/Video-Darbietung in einer der Statusinformation
entsprechenden Weise ändern.
-
2 veranschaulicht ein exemplarisches
Computersystem zur Implementierung der Steuerung 10 in der
in 1 veranschaulichten
Duplex-Umgebung. Das exemplarische Computersystem enthält einen
herkömmlichen
Personal Computer 20, der einen Prozessor 21,
einen Systemspeicher 22 und einen Systembus 23 enthält, der
den Systemspeicher mit dem Prozessor 21 verbindet. Der
Systemspeicher 22 enthält
einen Nurlesespeicher (ROM) 24 und einen Direktzugriffsspeicher
(RAM) 25. Das ROM 24 stellt Speicher für ein Basis-Eingabe/Ausgabesystem
(BIOS) 26 bereit, das die Basisroutinen enthält, die
helfen, Information zwischen Elementen in dem Personal Computer 20 zu übertragen,
z. B. während
des Hochlaufens. Der Personal Computer 20 enthält weiter
ein Festplattenlaufwerk 27, ein Magnetplattenlaufwerk 28 zum
Lesen und Beschreiben einer wechselbaren Platte 29 und
ein optisches Plattenlaufwerk 30 zum Lesen einer CD-ROM
Platte 31 oder zum Lesen oder Beschreiben von anderen optischen
Medien. Das Festplattenlaufwerk 27, das Magnetplat tenlaufwerk 28 und
das optische Plattenlaufwerk 30 sind mit dem Systembus 23 über eine
Festplattenschnittstelle 32, eine Magnetplattenschnittstelle 33 und
eine optische Plattenschnittstelle 34 verbunden. Die Laufwerke
und ihre zugehörigen
computerlesbaren Medien liefern nicht flüchtigen Speicher für den Personal
Computer 20. Obwohl die Beschreibung von computerlesbaren
Medien oben sich auf eine Festplatte, eine wechselbare Magnetplatte
und eine CD-ROM-Platte bezieht, werden die Fachleute erkennen, dass
andere Arten von computerlesbaren Medien, z. B. Magnetkassetten,
Flash-Speicherkarten, digitale Videoplatten, Bernoulli-Kassetten und
dergleichen, ebenfalls in der exemplarischen Betriebsumgebung verwendet
werden können.
-
Eine
Anzahl von Programmmodulen kann in den Laufwerken 27–30 und
dem RAM 25 gespeichert werden, einschließlich eines
Betriebssystems 35, einem oder mehr Anwendungsprogrammen 36,
anderen Programmmodulen 37 und Programmdaten 38.
Ein Benutzer kann Befehle und Information über eine Tastatur 40 und
eine Zeigegerät,
z. B. eine Maus 42, in den Personal Computer eingeben.
Andere Eingabeeinrichtungen (nicht gezeigt) können ein Mikrofon, einen Joystick,
einen Trackball, einen Lichtgriffel, ein Gamepad, einen Scanner,
eine Kamera oder dergleichen einschließen. Diese und andere Eingabeeinrichtungen
werden oft mit dem Prozessor 21 durch eine Serialport-Schnittstelle 46 verbunden,
die mit dem Systembus verbunden ist, können aber durch andere Schnittstellen,
z. B. einen Gameport oder einen Universal-Serienbus (USB) verbunden
werden. Ein Computermonitor 47 oder eine andere Art von
Anzeigeeinrichtung sind ebenfalls mit dem Systembus 23 über eine
Schnittstelle, z. B. einen Videoadapter 48, verbunden.
Ein oder mehrere Lautsprecher 43 sind mit dem Systembus über eine
Schnittstelle, z. B. einen Audioadapter 44, verbunden.
Zusätzlich
zu dem Monitor und den Lautsprechern enthalten Personal Computer
typischerweise andere periphere Ausgabeeinrichtungen (nicht gezeigt),
etwa Drucker und Plotter.
-
Der
Personal Computer 20 kann unter Verwendung von logischen
Verbindungen zu einem oder mehr entfernten Computern, z. B. ein
entfernter Computer 49, in einer vernetzten Umgebung arbeiten.
Obwohl in 2 nur eine
Speichereinrichtung 50 gezeigt wird, kann der entfernte
Computer 49 ein Server, Router, eine Peer-Einrichtung oder
ein anderer üblicher
Netzwerkknoten sein und typischerweise viele oder alle bezüglich des
Personal Computers 20 beschriebenen Elemente enthalten.
Die in 2 gezeigten logischen
Verbindungen umfassen ein lokales Netzwerk (LAN) 51 und
ein Weitbereichs-Netzwerk (WAN) 52. Diese Arten von Netzwerkumgebungen
sind in Büros,
unternehmensweiten Computernetzen, Intranetzen und dem Internet
an der Tagesordnung.
-
Wenn
in einer LAN-Netzwerkumgebung benutzt, wird der Personal Computer 20 über eine Netzwerkschnittstelle 53 mit
dem LAN 51 verbunden. Wenn in einer WAN-Netzwerkumgebung
benutzt, enthält
der Personal Computer 20 typischerweise ein Modem 54 oder
eine andere Einrichtung zum Errichten von Kommunikationen über das
WAN 52, z. B. das Internet. Das Modem 54, das
intern oder extern sein kann, ist mit dem Systembus 23 über eine
Serialport-Schnittstelle 46 verbunden. In einer vernetzten
Umgebung können
Programmmodule, auf die von dem Personal Computer 20 zugegriffen
wird, oder Teile davon in einer entfernten Speichereinrichtung gespeichert
sein. Die gezeigten Netzwerkverbindungen sind exemplarisch, und
andere Einrichtungen zum Herstellen von Kommunikationsverbindungen
zwischen den Computern können
verwendet werden.
-
Der
Personal Computer 20 enthält einen Musikinstrument-Digitalschnittstellen-
(MIDI) Adapter 39, der der MPU 21 erlaubt, eine
Vielfalt von MIDI-kompatiblen Einrichtungen (z. B. elektronische
Keyboards, Synthesizer usw.) zu steuern. Der MIDI-Adapter kann der
MPU 21 auch erlauben, ein Funkmodem 80 zu steuern.
Der MIDI-Adapter arbeitet, indem er Daten über den Systembus 23 empfängt, die
Daten entsprechend dem MIDI-Protokoll formatiert und die Daten über einen
MIDI-Bus 45 sendet. Das an dem MIDI-Bus angebrachte Equipment
erfasst das Senden der MIDI-formatierten Daten und bestimmt, ob
die Daten anzunehmen und zu verarbeiten oder zu ignorieren sind.
Das heißt,
das Funkmodem 80 untersucht die Daten auf dem MIDI-Bus und
verarbeitet nur Daten, die ausdrücklich
das Funkmodem 80 als den beabsichtigten Empfänger identifizieren.
Als Reaktion auf den Empfang von Daten kann das Funkmodem 80 die
Daten, z. B. für
ein oder mehr gesteuerte Einrichtungen gedachte Steuerdaten, über den
HF-Kommunikationskanal 15 senden.
-
3 ist ein Blockschaltbild,
das die verschiedenen Komponenten zeigt, die das Funkmodem 80 definieren.
Zu Anfang erlangt ein auf dem Computer 20 laufendes Programm
Steuerdaten durch Rückgewinnen der
Daten aus einem für
den Computer 20 zugänglichen
Speichermedium. Außerdem
kann das Programm die Steuerdaten entsprechend einem vorbestimmten
Protokoll, z. B. einem spezifischen REALMATION-Protokoll, formatieren.
Alternativ kann das Programm vorformatierte Steuerdaten aus einem
Speichermedium zurückgewinnen.
Das Programm überträgt die Steuerdaten über die
MIDI-Schnittstelle, die die MIDI-Adapter 39 und 81 und
den MIDI-Bus 45 umfasst, zu dem Funkmodem 80.
Dieser Prozess umfasst das Umpacken der Steuerdaten in das MIDI-Format.
Die Fachleute werden einsehen, dass die MIDI-Schnittstelle nur eine
von mehreren möglichen
Schnittstellen ist, die benutzt werden können, um Steuerdaten zwischen
dem Computer 20 und dem Funkmodem 80 zu übertragen.
Alternative Schnittstellen umfassen u. a. Schnittstellen wie RS-232, Centronix und
SCSL.
-
Der
Protokollhandler 83 empfängt die MIDI-formatierten Daten
von dem MIDI-Adapter 81 und entfernt die MIDI-Formatierung,
um die Steuerdaten zurückzugewinnen.
Während
dieses Prozesses kann der Protokollhandler 83 die Steuerdaten
und/oder die MIDI-formatierten Daten vorübergehend in dem Datenpuffer 83 speichern.
Der Protokollhandler 83 kann auch andere Manipulationen
an den Steuerdaten in Vorbereitung auf das Senden der Daten durchführen. Vor
dem Senden der Steuerdaten codiert der Daten-Encoder 84 die
Steuerdaten und liefert die codierten Steuerdaten an den HF-Sender 86.
Der HF-Sender benutzt die codierten Steuerdaten, um einen Träger zu modulieren,
und sendet dann den modulierten Träger von der Antenne 88 über den
HF-Kommunikationskanal 15.
-
Das
Funkmodem 80 kann auch Signale empfangen, die Antwortdaten
tragen, die von einer oder mehr gesteuerten Einrichtungen 60 oder
anderen Einrichtungen herrühren.
Das Funkmodem 80 erfasst diese Signale auf der Antenne 88 und
liefert die Signale an den HF-Empfänger 87. Der HF-Empfänger 87 demoduliert die
empfangenen Signale, gewinnt die codierten Antwortdaten zurück und liefert
die codierten Antwortdaten an den Datendecoder 85. Der
Datendecoder 85 decodiert die codierten Antwortdaten und
liefert die decodierten Antwortdaten an den Protokollhandler 83.
Der Protokollhandler 83 formatiert die decodierten Antwortdaten in
das MIDI-Format und übergibt
die MIDI-formatierten Daten über
die MIDI-Schnittstelle 81 an den Computer 20.
Der Protokollhandler 83 und/oder die MIDi-Schnittstelle 81 können während der
Verarbeitung die Antwortdaten in dem Datenpuffer 82 vorübergehend
speichern. Nach Empfang der Information in der MIDI-Schnittstelle 39 gewinnt
der Computer 20 die Antwortdaten aus den MIDI-formatierten
Daten zurück
und verarbeitet dann die Antwortdaten.
-
Simplex-Umgebung
-
4 veranschaulicht eine exemplarische
Simplex-Umgebung für
Ausführungen
der vorliegenden Erfindung. Diese Simplex-Umgebung kann als ein
Lern- und Unterhaltungssystem für
ein Kind betrieben werden. Die Simplex-Umgebung enthält eine
Steuerung 11, die eine gesteuerte Einrichtung 60 steuert.
Die Steuerung 11 umfasst eine Audio/Video-Signalquelle 57,
einen Funkmodulator 90, eine Antenne 98 und eine
Anzeigeeinrichtung 57 mit einem Lautsprecher 59.
Die Steuerung 11 sendet Steuerdaten über die Antenne 98 und
einen HF-Kommunikationskanal 15 an
die gesteuerte Einrichtung 60. Um diese Aufgabe zu erfüllen, ist
der Funkmodulator 90 über
eine Standar-Videoschnittstelle mit der Audio/Video-Signalquelle 56 und
der Anzeigeeinrichtung 57 verbunden. Über diese Standard-Videoschnittstelle
empfängt
der Funkmodulator 90 ein mit Steuerdaten codiertes Videosignal
(codiertes Video) von der Audio/Video-Signalquelle 56.
Der Funkmodulator 90 extrahiert die Steu erdaten aus dem
codierten Videosignal und überträgt dann
die Steuerdaten über
den HF-Kommunikationskanal 15 zu
der gesteuerten Einrichtung 60.
-
Des
Weiteren übergibt
der Funkmodulator 90 das Videosignal an die Anzeigeeinrichtung 57.
Die Audio/Video-Signalquelle 56 ist auch über eine
Schnittstelle mit dem Lautsprecher 59 in der Anzeigeeinrichtung 57 verbunden. Über diese
Schnittstelle liefert die Audio/Video-Signalquelle 56 Audio
für eine
Audio/Video-Präsentation.
Ein Kind kann daher die Audio/Video-Präsentation
auf der Anzeige 57 und dem Lautsprecher 59 beobachten,
während
der Funkmodulator 90 Steuerdaten an eine oder mehr gesteuerte
Einrichtungen 60 sendet. Der Empfang der Steuerdaten veranlasst
die gesteuerte Einrichtung 60, sich so zu bewegen und zu
sprechen, als ob sie eine Figur in der Audio/Video-Präsentation
wäre.
-
Es
gibt keine Notwendigkeit, das codierte Videosignal zu modifizieren,
bevor es an die Anzeige 57 übergeben wird. Typischerweise
empfängt
die Steuerung 11 das codierte Videosignal, das ein Standard-Videosignal
ist, das modifiziert wurde, um digitale Information in den Horizontal-Überabtastintervallen
der Abtastzeilen einzuschließen,
die für
die Anzeigeeinrichtung 57 unsichtbar sind. Die Anzeigeeinrichtung 57 kann
daher das codierte Videosignal ohne Modifikation empfangen und anzeigen.
Die Steuerung 11 muss nur die Steuerdaten aus dem codierten
Videosignal extrahieren und die HF-modulierten Steuersignale zum
Senden an die gesteuerte Einrichtung 60 erzeugen.
-
5 ist ein Blockschaltbild,
das ein System zum Erzeugen eines codierten Videodatenstromes veranschaulicht,
der Videodaten und codierte Steuerdaten enthält. Eine Vielfalt von Quellen,
die u. a. einen Video-Kassettenrecorder oder -spieler, eine Kabelempfangsbox,
einen TV-Tuner, einen Laserplattenspieler oder einen Computer mit
einem Videoausgang umfasst, kann das codierte Video bereitstellen.
In 5 ist das Computersystem 20 über Schnittstelle
mit einem Videodaten-Encoder 76 und einer Audio/Video-Signalquelle 56 verbunden.
Die Audio/Video-Signalquelle 56 liefert zwei Ausgangssignale:
Video und Audio. Diese Ausgangssignale können Livekamera-Zuspielungen,
voraufgezeichnete Playbacks, Rundfunkempfang usw. umfassen. Das
Computersystem 20 steuert über ein Steuersignal den Betrieb
der Audio/Video-Signalquelle 56. Das Steuersignal tastet
die Ausgabe der Video- und Audiosignale von der Audio/Video-Signalquelle 56.
-
Das
Computersystem 20 stellt auch die Steuerdaten bereit, die
in das Videosignal eincodiert werden. Das Computersystem 20 überträgt die Steuerdaten
zu dem Videodaten-Encoder und tastet das Videosignal. Der Videodaten-Encoder
kombiniert das Videosignal und die Steuerdaten durch Eincodieren
der Steuerdaten in das Videosignal (d. h. Erzeugen eines co dierten
Videodatenstromes). Dieses Codierungsverfahren umfasst das Modulieren
der Helligkeit des Horizontal-Überabtastbereichs
des Videosignals auf einer zeilenweisen Basis. Zum Beispiel kann
der Überabtastbereich
jeder Abtastzeile moduliert werden, um ein einzelnes Steuerdatenbit
darzustellen. Des Weiteren stellen die Feldgrenzen des Videosignals
eine Rahmenstruktur für
die Steuerdaten bereit, wobei jeder Rahmen eine feste Anzahl von
Datenwörtern
enthält.
-
Das
heißt,
jedes Feld des Videosignals enthält
ein Musteridentifikationswort, das aus vier Bits besteht. Der Wert
des Musteridentifikationswortes in jedem aneinandergrenzenden Feld
läuft zyklisch
durch einen definierten Satz von Werten. Das Vorhandensein des Musteridentifikationswortes
unterscheidet ein codiertes Videosignal von einem normalen Videosignal.
In einem normalen Videosignal erscheint Zufallsrauchen anstelle des
Musteridentifikationswortes. Ein Decoder, der versucht, Steuerdaten
aus einem codierten Videosignal zurückzugewinnen, bestimmt daher,
ob das Signal ein codiertes Videosignal ist, durch Erfassen des
Vorhandenseins der Musteridentifikation. Das Musteridentifikationswort
liefert daher eine zusätzliche
Schicht an Unversehrtheit für
die zurückgewonnenen
Steuerdaten, jenseits der von einfacher Prüfsummenerfassung.
-
Der
Funkmodulator 90 empfängt
das codierte Videosignal von der Audio/Video-Signalquelle 56 und gewinnt
die Steuerdaten aus dem codierten Videosignal zurück. Der
Funkmodulator sendet dann die Steuerdaten an eine oder mehr gesteuerte
Einrichtungen, dargestellt durch die in 4 gezeigte gesteuerte Einrichtung 60.
Alternativ kann die Video-Rundfunkeinrichtung 79 das codierte
Videosignal zusammen mit dem Audiosignal empfangen und die Signale
dann an einen oder mehr entfernt gelegene Funkmodulatoren und/oder Funkmodems
senden. Bei einer anderen Alternative kann die Videospeichereinrichtung 78 das
codierte Videosignal zusammen mit dem Audiosignal empfangen und
die Signale dann zum künftigen
Rückgewinnen
in einem Speichermedium speichern.
-
6 ist ein Blockschaltbild,
das die verschiedenen Komponenten darstellt, die den Funkmodulator 90 definieren.
Jede der Komponenten des Funkmodulators 90 kann in Hardware,
Software oder einer Kombination von Hardware und Software implementiert
werden. Der Videodatendetektor 91 des Funkmodulators 90 empfängt ein
Videosignal, das von einer Audio/Video-Signalquelle 56 herrührt, und
identifiziert, ob das Videosignal ein codiertes Videosignal ist.
Wenn der Videodatendetektor 91 das Vorhandensein des Musteridentifikationswortes
in dem empfangenen Videosignal entdeckt, dann ist das Videosignal
ein codiertes Videosignal. Wenn das Signal ein codiertes Videosignal
ist, extrahiert der Videodatendetektor 91 die Steuerdaten
aus dem codierten Videosignal, liefert die Steuerdaten an den Daten fehlerprozessor 99 und
liefert gleichzeitig das codierte Videosignal an die Anzeigeeinrichtung 57.
-
Der
Datenfehlerprozessor 99 analysiert die Steuerdaten, um
Fehler, die in den Steuerdaten vorhanden sein können, zu erfassen und zu versuchen,
sie zu korrigieren. Nach dem Korrigieren irgendwelcher Fehler in den
Steuerdaten empfängt
der Protokollhandler 93 die rückgewonnenen und verifizierten
Steuerdaten und stellt Nachrichtenpakete zum Senden an eine oder
mehr gesteuerte Einrichtungen, dargestellt durch die gesteuerte
Einrichtung 60, zusammen. Nach dem Zusammenstellen eines
Nachrichtenpakets liefert der Protokollhandler 93 das Nachrichtenpaket
an den Daten-Encoder 94. Der Daten-Encoder 94 codiert
die Daten und liefert die codierten Daten an den HF-Sender 96.
Der HF-Sender 96 empfängt
die codierten Daten und moduliert einen vorbestimmten HF-Träger (d.
h. ein vordefinierter HF-Kanal, der zur Verwendung in Verbindung
mit dem Funkkommunikationssystem genehmigt ist) mit den codierten
Daten. Der HF-Sender sendet dann den modulierten Träger über die
Antenne 98. Während
des Verarbeitens der Steuerdaten können verschiedene Komponenten
des Computersystems 20 oder des Funkmodulators 90 die
Steuerdaten vorübergehend
in einem Datenpuffer, z. B. dem repräsentativen Datenpuffer 92,
speichern.
-
Die
Anzeigeeinrichtung 57 empfängt das Videosignal von dem
Videodatendetektor 91 oder einer anderen Quelle zusammen
mit einem Audiosignal von der Audio/Video-Signalquelle 56.
Die Anzeigeeinrichtung 57 und der Lautsprecher 59 zeigen
dann die durch das Videosignal definierte audiovisuelle Darbietung,
die typischerweise eine Serie auf der Anzeige 57 und dem
Lautsprecher 59 dargestellter Szenen umfasst, in einer herkömmlichen
Weise an.
-
Wie
vorher erwähnt,
sind die Audio/Video-Darbietung auf der Anzeige 57 und
die Steuerdaten, die von der Antenne 98 gesendet werden,
synchronisiert, sodass die gesteuerte Einrichtung sich wie eine
Figur in der auf der Anzeige 57 dargestellten Szene verhält. Die
Prozesse zum Erfassen der Steuerdaten, Korrigieren von Fehlern,
Codieren der Steuerdaten und dann Modulieren eines Trägers können eine
leichte Verzögerung
einbringen. Trotzdem synchronisiert das Einbetten der Steuerdaten
in den Videodaten in dem codierten Videosignal effektiv die Operation
der gesteuerten Einrichtung mit der auf der Anzeige 57 dargestellten
Szene. Mit anderen Worten, das von der Anzeige 57 empfangene
Videosignal und die von der Antenne 98 gesendeten Steuerdaten
sind synchronisiert, weil sie aus dem gleichen Bereich des ursprünglichen
codierten Videosignals gewonnen werden, wobei kontextsensitive Steuerdaten
in einem Videosignal eingebettet sind. Das codierte Videosignal
kann daher in Echtzeit in Steuerdaten und verwandte Videodaten zerlegt
werden, sodass die gesteuerten Einrichtungen sich in einer Weise
bewegen und/oder sprechen, die mit der Audio/ Video-Darbietung in
Beziehung steht.
-
Gesteuerte Einrichtungen: "REALMATION"-Darsteller
-
7 ist ein Funktionsblockschaltbild,
das die verschiedenen Komponenten veranschaulicht, die eine gesteuerte
Einrichtung 60 definieren. Jede dieser Komponenten kann
in Hardware, Software oder einer Kombination von Hardware und Software
implementiert werden. Allgemein enthält die gesteuerte Einrichtung 60 einen
Mikroprozessor oder eine andere Art von Prozessor zum Rückgewinnen
eines Programms aus einem ROM oder einer anderen Art von nicht flüchtigem
Speichermedium und Ausführen
der Anweisungen des Programms. Die gesteuerte Einrichtung 60 kann
Hardware-Komponenten, z. B. einen HF-Funkempfänger 67, einen HF-Sender 66,
eine Antenne 68, einen lesbaren und beschreibbaren Speicher 62,
Sensoren 70, Servomotoren 69, einen Sprachsynthesizer 61 und
einen Lautsprecher 71, enthalten.
-
Der
HF-Empfänger 67 empfängt Signale
von der Antenne 68. Der HF-Empfänger 67 arbeitet auf
dem empfangenen Signal, indem er den Träger moduliert und codierte
Steuerdaten zurückgewinnt.
Dann empfängt der
Datendecoder 65 die codierten Steuerdaten und decodiert
sie. Der Protokollhandler 63 empfängt die von dem Decoder 65 ausgegebenen
decodierten Steuerdaten und interpretiert die Steuerdaten. Basieren
auf dem Inhalt der Steuerdaten leitet der Protokollhandler 63 Steurdaten
an die geeigneten Einrichtungen, z. B. Datenpuffer und Endeffektoren
in der gesteuerten Einrichtung 60. Wenn die Steuerdaten
Motorbewegungsvektoren enthalten, empfangen daher ein oder mehr
der Bewegungsservomotoren 69 die Steuerdaten, die sie veranlassen,
sich entsprechend den Motorbewegungsvektoren zu bewegen. Desgleichen,
wenn die Steuerdaten Stimmsynthesekoeffizienten enthalten, empfängt der
Sprachsynthesizer 61 die Stimmsynthesekoeffizienten, wandelt
die Stimmsynthesekoeffizienten in Audiosignale um und liefert dann
die Audiosignale an den Lautsprecher 71. Des Weiteren können die
Stimmsynthesekoeffizienten vorübergehend
in dem Datenpuffer 62 gespeichert werden, sodass die gesteuerte
Einrichtung 60 Stimmenkänge
auf der Basis der Stimmsynthesekoeffizienten erzeugt, wobei die
gesteuerte Einrichtung 60 Antwortdaten zurück an die
Steuerung sendet.
-
Die
gesteuerte Einrichtung 60 kann auch Lichtsensoren und Berührungssensoren 70 enthalten.
Die Sensoren 70 können
Statusinformation als Reaktion auf Änderungen in Druck-, Licht-,
Temperatur- oder anderen Parametern erzeugen. Die gesteuerte Einrichtung 60 kann
diese Statusinformation an die in 10 gezeigte
Steuerung 10 senden. Dieser Prozess umfasst das Formatieren
der Statusinformation in dem Protokollhandler 63, Codieren der
Statusinformation in dem Datencodierer 64, Modulieren eines
Trägers
mit der codierten Statusinformation in dem HF-Sender 66 und
dann Senden des modulierten Trägers
durch die Antenne 68 über
den HF-Kommunikationsweg 15.
-
Erzeugen und
Verwenden eines codierten Videosignals
-
8 ist ein Funktionsblockschaltbild
eines Systems 100 zum Erzeugen und Verwenden eines codierten
Videosignals, um eine Vielzahl von Datensenken 97a–n zu
steuern. Das System 100 enthält eine Audio/Video-Signalquelle 56,
die ein Videosignal 102 an einen Videodaten-Encoder 76 liefert.
Die Audio/Video-Signalquelle 56 kann jede einer Vielfalt
von herkömmlichen
Videoquellen sein, z. B. eine Videokamera, ein Rundfunk- oder Kabelfernsehsignal,
ein Videobandspieler, das Internet, das ein Videosignal sendet,
ein Computer, der ein Videosignal erzeugt, usw. Das Videosignal 102 kann
jede Art von Videosignal sein, das eine Vielzahl von Bildern enthält, die
je eine Vielzahl von Abtastzeilen umfassen. Das Videosignal 102 kann
z. B. ein Standard 525-Zeilen, Zweihalbbild-verschachteltes
NTSC-Fernsehsignal sein, das 30 Halbbilder pro Sekunde
umfasst, wobei jedes Bild zwei Halbbilder aus 262.5 verschachtelten
Zeilen umfasst, wie den Fachleuten in der Technik bekannt ist.
-
Der
Videodaten-Encoder 76 verkettet codierte Daten mit den
Zeilen des Videosignals 102, um ein codiertes Videosignal 104 zu
erzeugen, wie im Einzelnen mit Verweis auf 9A–B und 10A–B beschrieben. Ein Protokoll wird für die codierten
Daten definiert, das adressierbar, fehlertolerant, vorwärts kompatibel
und geeignet ist, in Verbindung mit einem System eingesetzt zu werden,
das hauptsächlich
gedacht ist, ein Kinderunterhaltungserzeugnis zu sein. Dieses Protokoll
wird im Detail unter Bezug auf 11 und 12A–B beschrieben.
-
Der
Videodaten-Encoder 76 sendet das codierte Videosignal 104 an
einen Videodatendetektor 91, der eine entfernte Einrichtung
sein kann, die das codierte Videosignal 104 mittels einer
Rundfunkstufen-Übertragung
empfängt.
Alternativ kann der Videodatendetektor 91 eine lokale Einrichtung,
z. B. in einer Gegensprech-Anwendung, sein. Die codierten Daten
stören
die Übertragung
des zugrunde liegenden Videosignals 102 nicht. Das codierte
Videosignal 104 kann daher mittels jeder Art von Videoübertragungsmedium übertragen
werden, z. B. ein Rundfunkstufen-Kabelfernsehsignal, ein Videobandspieler,
das Internet, das ein Videosignal sendet, ein Computer, der ein
Videosignal erzeugt, usw. Außerdem,
weil sich die codierten Daten in dem Vor-Sichtbar- oder Nach-Sichtbar-Bereich
des Videosignals 102 befinden, stören die codierten Daten nicht sichtbar
den Betrieb von typischen Fernsehgeräten oder Monitoren. Das codierte
Videosignal 104 kann daher von dem Videodatendetektor 91 direkt
an die Anzeigeeinrichtung 57 übergeben werden, die das zugrunde
lie gende Videosignal 102 ohne Störung durch die codierten Daten
anzeigt.
-
Der
Videodatendetektor 91 erfasst das Vorhandensein der codierten
Daten in dem codierten Videosignal 104 durch Erfassen des
Verhandenseins eines intelligenten Signalerfassungswortes (ISDW),
wie mit Verweis auf 10A–B und 11 beschrieben.
Vorzugsweise wird ein einzelnes ISDW an der gleichen Stelle jedes Halbbildes
des codierten Videosignals 104 gesendet, z. B. Zeilen 23–29 im
Halbbild 1 und 286–292 im Halbbild 2 eines
verschachtelten 525-Zeilen Standard-NTSC-Fernsehsignals.
Eine aufeinanderfolgende Serie der ISDWs definiert eine dynamische
Validationssequenz, in der sich jedes ISDW in wenigstens zwei Bits
von dem unmittelbar vorangehenden Signalerfassungswort unterscheidet.
Die dynamische Validationssequenz kann z. B. die Binärdarstellung
von 8, 1, 10, 3, 12, 5, 14, 7 sein.
-
Der
Videodatendetektor 91 liest die Daten, so vorhanden, in
den spezifizierten Zeilen, korrigiert die Daten nach korrigierbaren
Fehlern, die in den ISDW-Bits aufgetreten sein können, und erfasst das Vorhandensein des
ISDW. In jedem Bild folgen dem ISDW typischerwiese eine Anzahl von
Inhaltswörtern.
Wenn der Videodatendetektor 91 das Vorhandensein des ISDW
in dem codierten Videosignal 104 erfasst, extrahiert er
die Inhaltswörter
aus dem codierten Videosignal und setzt die Inhaltswörter zu
einem seriellen Datenübertragungssignal 106 zusammen.
Der Videodatendetektor 91 sendet dann das serielle Datenübertragungssignal 106 an einen
Datenfehlerprozessor 99.
-
Der
Datenfehlerprozessor 99 zieht die Fehlerkorrekturbits heraus,
korrigiert alle korrigierbaren Fehler in den Inhaltsbits und setzt
die korrigierten Inhaltswörter
zu einem 9-Bit fehlerkorrigierten Datenstrom 108 zusammen.
Der 9-Bit fehlerkorrigierte Datenstrom 108 wird an einen
Protokollhandler 93 gesendet, der eine Anzahl von Datenhandlern 89a–n umfasst,
die einrichtungsspezifische Steuerdaten erfassen und zu ihren verbundenen
Datensenken 97a–n leiten.
Das Adressierungsprotokoll für
die Inhaltsdaten wird mit Verweis auf 12A–B beschrieben. Jeder Datenhandler 89a–n erfasst
Adressdaten, die eine seiner verbundenen Datensenke 97a–n zugewiesene
kurze oder lange Adresse umfassen, und reagiert durch Leiten der
folgenden einrichtungsspezifischen Steuerdaten 110a–n zu
seiner verbundenen Datensenke 97a–n. Jeder Datenhandler 89a–n kann
auch die einrichtungsspezifischen Steuerdaten in geeignet formatierte
Datenströme
für seine
zugehörige
Datensenke 97a–n reformatieren.
-
Insbesondere
reformatiert eine der Datensenken 97a die einrichtungsspezifischen
Steuerdaten in das MIDI-Format zum Senden an eine funkgesteuerte
Einrichtung 60 mittels eines DDM-Encoders 94,
eines Modulators 95 und eines Senders 96, wie
vorher beschrieben.
-
9A und 9B zeigen die Stelle der codierten Daten
im Kontext einer einzelnen Abtastzeile des codierten Videosignals 104. 9A ist ein Wellenformdiagramm,
das einen in dem Horizontal-Überabtastabschnitt
einer Abtastzeile des codierten Videosignals 104 codierten
Datenbitwert "eins" 128 veranschaulicht.
Die Abtastzeile stellt eine Zeile eines auf der Anzeigeeinrichtung 57 angezeigten
Bildes dar. Die Vertikalachse stellt die Größe der Signalwellenform 120 in
Einheiten von IRE dar, und die Horizontalachse stellt die Zeit in
Mikrosekunden dar, wie den Fachleuten in der Technik bekannt ist.
Abwohl 9A–B nicht genau maßstäblich gezeichnet sind, sind
wichtige Bezugspunkte in den Einheiten ihrer entsprechenden Achse
markiert. Die Wellenform 120 für die Abtastzeile beginnt einem
mit Horizontal-Synchronisationsimpuls 122 bis herab zu –40 IRE, der
ein Timingsignal ist, das den Beginn der Abtastzeile anzeigt (d.
h. Zeit = 0), wenn die Vorderflanke des Impulses durch –20 IRE
geht, um den Horizontalbezugspunkt "H-REF" zu errichten. Dem Horzontal-Synchronisationsimpuls 122 folgt
ein sinusförmiger
Farbburst 124 (die ungefähre Hüllkurve ist gezeigt), der als
ein Kalibriersignal für
die Anzeige 57 benutzt wird. Dem Farbburst 124 folgt
eine Wellenform, die das sichtbare Raster 126 darstellt
(die ungefähre
Hüllkurve
ist gezeigt), das das sichtbare Bild auf der Anzeige 57 erzeugt
und sich typischerweise etwas mit dem sichtbaren Bild überschneidet.
-
Die
Wellenform 120 umfasst einen Vor-Sichtbar-Horizontal-Überabtastbereich 127,
etwa von 9.2 μS bis
10.2 μS
nach H-REF, der nach dem Farbburst 124 und vor dem sichtbaren
Raster 126 auftritt. Der Videodatendecoder 76 lokalisiert
das Vor-Sichtbar- (d. h. vor dem sichtbaren Raster 126)
Datenbit "eins" 128 durch Treiben
der Wellenform 120 auf einen vorbestimmten hohen Wert,
z. B. 80 IRE, in dem Intervall von 9.2 μS bis 10.2 μS nach H-REF. Weil der Impuls, der das Datenbit "eins" 128 bezeichnet,
nach dem Kalibrationsintervall des Farbbursts 124 und vor
dem sichtbaren Raster 126 auftritt, wird er den Betrieb
der Anzeigeeinrichtung 57 nicht stören oder auf dem angezeigten
Bild erscheinen.
-
9B ist ein Wellenformdiagramm,
das einen in dem Horizontal-Überabtastabschnitt
einer Abtastzeile des codierten Videosignals 104 codierten
Datenbitwert "null" 128' veranschaulicht.
Der Videodatendecoder 76 lokalisiert das Vor-Sichtbar-Datenbit "null" 128' durch Treiben
der Wellenform 120 auf einen vorbestimmten tiefen Wert,
z. B. 7.5 IRE, in dem Intervall von 9.2 μS bis 10.2 μS nach H-REF.
-
Wie
oben erwähnt,
umfasst jedes 16-Bit Inhaltswort neun Datenbits, und jedes Bild
umfasst 13 Inhaltswörter.
Das Codieren eines Bits pro Abtastzeile erzeugt daher eine Bandbreite
für die
in einem typischen 59.94 Hz NTSC-Videosignal codierten Daten von
7,013 Baud. Diese Bandbreite ist reicht aus, um die Datensenke 97a mit
genügend
Daten zu versorgen, um mehrere drahtlos gesteuerte Einrichtungen 60 in
der oben beschriebenen Weise zu steuern.
-
Die
Ein-Bit-pro-Abtastzeile-Bandbreite von 7,013 Baud der codierten
Daten ist auch ausreichend, um mehrere andere Datensenken 97b–n zu
steuern, um zusätzliche
Dienste wie Werbe-, Subskriptions- und Notfallwarnungs-Information
zum Senden an die Anzeige 57 und andere Datensenken bereitzustellen.
Diese Dienste können
z. B. E-Mail, Fremdsprachen-Untertitelung, Gegenspreche-Fähigkeit,
Telefonrufe, Wetterwarnungen, Konfiurationsdaten für eine Set-Top-Box
usw. umfassen. Zur Zeit wird die Bandbreite von 7,013 Baud bevorzugt,
weil sie genügend
Bandbreite für
das REALMATION-System bereitstellt und die Kosten der Systemkomponenten,
besonders des Videodaten-Encoders 76 und des Videodatendetektors 91,
minimiert. Die Bandbreite kann jedoch erhöht werden, indem ein zweiter
Impuls in dem Nach-Sichtbar-Horizontal-Überabtastbereich 130 angeordnet
wird, der nach dem sichtbaren Raster 126 und vor dem Horizontal-Austastintervall 132 (während dem
der Elektronenstrahl in der CRT der Anzeige 57 vom Ende
der gerade vollendeten Abtastzeile zum Anfang der nächsten Abtastzeile
zurückspringt)
auftritt.
-
Die
Bandbreite kann noch weiter erhöht
werden, indem jedem Impuls 128, 130 ermöglicht wird,
mehr als nur zwei (0, 1) Zustände
darzustellen. Für
3 Zustände
(die Pulsbreiten 1.0, 1.5, 2.0 DDM) könnte z. B. ein Analog des "REALMATION" DDM-Protokolls benutzt
werden. Für
4 Zustände
könnte
der Impuls 2 Bits (z. B. 100–80
IRE = 1,1; 70–50
IRE = 1,0; 40–20
IRE = 0,0; 10 bis –40
IRE = 0,1) darstellen. Für
8 Zustände
könnte der
Impuls 3 Bits darstellen; für
16 Zustände
könnte
der Impuls 4 Bits darstellen, usw. Wenn z. B. das System 100 Datenimpulse
in sowohl dem Vor-Sichtbar-Horizontal-Überabtastbereich 127 als
auch dem Nach-Sichtbar-Überabtastbereich 130 einsetzen
würde,
jeder Datenimpuls mit 16 Zuständen,
wäre jede
Abtastzeile in der Lage, acht Bits zu senden. Dies würde die
Bandbreite von 7,013 Bd auf 56,104 Bd erhöhen, was die erhöhten Kosten
für den
Videodaten-Encoder 76 und den Videodatendetektor 91 für künftige Anwendungen
rechtfertigen könnte.
-
10A und 10B zeigen die Stelle von codierten Daten
im Kontext eines Standard-NTSC-Videobildes. 10A ist ein Diagramm, das
die Stelle von Datenbits in einem Teil eines 525-Zeilen
Zweihalbbild-verschachtelten Standard-NTSC-Videosignals zeigt. Jedes
Bild der Videodaten umfasst ein Vertikal-Austastintervall 140 (während dem
der Elektronenstrahl in der CRT der Anzeige 57 vom Ende
des gerade vollendeten Bildes zum Anfang des nächsten Bildes springt), gefolgt
von einem aktiven Videointervall 142, das eine Anzahl von
links-nach-rechts-Abtastzeilen
enthält,
die nacheinander die Anzeige 57 von oben nach unten anmalen. Am
Ende des Vertikal-Austastintervalls 140 sind die letzten
zwei Impulse typischerweise für 'Closed-Caption'-Daten 146 und
Vertikal-Austastdaten 148 reserviert, die bereits anderen
Zwecken zugeteilt sein können. Außerdem ist
der Boden jedes Halbbildes typischweise von Kopf-Umschaltrauschen
verfälscht,
das im Ausgang von Spiralabtast-Videobandspielern von Verbraucherformaten
wie VHS und 8 mm vorhanden ist. Der Horizontal-Überabtastabschnitt von einzelnen
Abtastzeilen liefert daher die bevorzugte Stelle für codierte
Datenbits 128, 128' des
codierten Videosignals 104.
-
10B ist ein Diagramm, das
die Stelle von Datenbits in den zwei verschachtelten Halbbildern
des Standard-NTSC-Videobildes veranschaulicht. Das heißt, 10B zeigt die Stelle der
codierten Daten in dem Kontext eines vollständigen NTSC 525-Zeilen
Zweihalbbild-verschachtelten Videobildes. Das Bild von Videodaten
umfasst Zeilen 1–262 im
Halbbild 1 152, verschachtelt mit Zeilen 263–525 im
Halbbild 2 154. Das Halbbild 1 umfasst
ein Vertikal-Austastintervall 140a und ein aktives Videointervall 142a.
Das Vertikal-Austastintervall 140a umfasst die Zeilen 1–22 und
endet mit Zeile 21, die 'Closed-Caption'-Daten enthalten kann, und Zeile 22,
die Vertikal-Austastdaten 148a enthalten kann. Ein ISDW 156a ist
in Zeilen 23–29 codiert,
und Inhaltsdaten 158a sind in Zeilen 30–237 codiert.
Das Halbbild 2 umfasst ein Vertikal-Austastintervall 140b und
ein aktives Videointervall 142b. Das Vertikal-Austastintervall 140b umfasst
die Zeilen 263–284 und
endet mit Zeile 283, die 'Closed-Caption'-Daten 146b enthalten kann,
und Zeile 284, die Vertikal-Austastdaten 148b enthalten kann.
Ein ISDW 156b ist in Zeilen 286–292 codiert,
und Inhaltsdaten 158b sind in Zeilen 293–500 codiert.
-
Jedes
ISDW enthält
vorzugsweise eine Vielzahl von Datenbits und eine Vielzahl von Fehlerkorrekturbits,
die eine Korrektursequenz definieren, die es erlaubt, Einbit-Fehler
in den Datenbits zu erfassen und zu korrigieren. Das ISDW kann z.
B. einen 7-Bit Hamming-Code (d. h. vier Datenbits und drei Fehlerkorrekturbits) in
dem unten in Tabelle 1 gezeigten Format enthalten.
-
-
In
jedem Halbbild 152, 154 eines Videobildes können bis
zu 13 16-Bit Inhaltswörter 158 dem
ISDW 156 folgen, wie in Tabelle 2 gezeigt.
-
-
Jedes
Inhaltswort enthält
vorzugsweise eine Vielzahl von Datenbits 164 und eine Vielzahl
von Fehlerkorrekturbits 166, die eine Korrektursequenz
definieren, die es erlaubt, Einbit-Fehler in den Datenbits zu erfassen
und zu korrigieren. Das Inhaltswort kann z. B. einen 7-Bit Hamming-Code
(d. h. vier Datenbits und drei Fehlerkorrekturbits) und einen 9-Bit
Hamming-Code (d.
h. fünf
Datenbits und vier Fehlerkorrekturbits) in dem unten in Tabelle
3 gezeigten Format enthalten.
-
-
-
Obwohl
viele andere, oft höher
entwickelte Datenkorrekturverfahren verwendet werden können, werden
Hamming-Codes wegen ihrer Einfachheit und ihres geringen Rechenbedarfs
bevorzugt.
-
11 ist ein Nachrichtenprotokoll-Diagramm,
das das Format des Horizontal-Überabtast-Datenstromes 150 des
codierten Videosignals 104 veranschaulicht. Der Horizontal-Überabtast-Datenstrom 150 wird
typischerweise durch den Videodatendetektor 91 erzeugt,
der die Daten aus dem codierten Videosignal 104 extrahiert
und die extrahierten Daten zu einem seriellen Datenkommunikationssignal 106 zusammensetzt.
Jedes Halbbild des Horizontal-Überabtast-Datenstromes 150 enthält intelligente
Signalerfassungsdaten, typisch ein einzelnes 7-Bit ISDW, und Inhaltsdaten,
typisch 13 16-Bit Inhaltswörter.
Das repräsentative
ISDW 156a umfasst vier Datenbits 160 und drei
Fehlerkorrekturbits 162, wie in Tabelle 1 oben gezeigt.
Das repräsentative Inhaltswort 158a enthält vier
Datenbits 164a, gefolgt von drei Fehlerkorrekturbits 166a,
gefolgt von fünf
Datenbits 164b, gefolgt von vier Fehlerkorrekturbits 166b,
wie in Tabellen 2 und 3 oben gezeigt.
-
Eine
aufeinanderfolgende Serie von ISDWs 155a–n definiert
eine dynamische Validationssequenz 170, in der sich jedes
ISDW in wenigstens zweit Bits von dem unmittelbar vorangehenden
Signalerfassungswort unterscheidet. Die dynamische Validationssequenz
kann z. B. die Binärdarstellung
von 8, 1, 10, 3, 12, 5, 14, 7 sein. Das Veranlassen der dynamischen
Validationssequenz 170, sich in wenigstens zwei Bits in
jedem folgenden ISDW zu unterscheiden, verringert die Möglichkeit,
dass Zufallsrauschen als ISDW-Daten missinterpretiert werden.
-
Die
Inhaltsdaten 172 enthalten einrichtungsspezifische Steuerdaten 174.
Das Protokoll für
die Inhaltsdaten ist daher adressierbar, sodass einrichtungsspezifische
Steuerdaten an eine Anzahl verschiedener Datensenken 97a–n gerichtet
werden können.
Die adressierbare Natur der Inhaltsdaten wird durch die Adressdaten 172a–n und
die einrichtungsspezifischen Steuerdaten 174a–n dargestellt.
Um den Bandbreitenbedarf der Adressdaten 172 zu begrenzen,
wird vorzugsweis eine begrenzte Zahl von vordefinierten Kurzadressen zur
Zuweisung an Datensenken reserviert. Um die Adressierbarkeit des
Protokolls weiter zu erweitern, wer den zwei kurze Adressen zum Bezeichnen
des Anfangs und Endes von langen Adressen reserviert. Dies erlaubt es,
eine praktisch unbegrenzte Zahl von langen Adressen variabler Länge in der
Zukunft zuzuweisen.
-
Das
erste Datenbit jeder kurzen Adresse unterscheidet zwischen Adresswörtern und
einrichtungsspezifischen Steuerwörtern
(0 = Adresse; 1 = einrichtungsspezifische Steuerdaten). Für ein Adresswort
erlauben die acht Bits, die dem Adressen-Identifikationsbit folgen,
bis zu 256 Adressen. Der ersten 254 Adressen sind Kurzadressklassen,
die spezifischen Klassen von gesteuerten Einrichtungen im Voraus
zugewiesen werden können.
Die letzten zwei Adressen (0FE und 0FF) werden als Start- und Stopp-Begrenzer
für eine
lange Adresse benutzt. Daher kann eine praktisch unendliche Zahl
von zusätzlichen
Klassenadressen variabler Länge
in der Zukunft unter Verwendung der Langadressen-Begrenzer zugewiesen
werden. Dies versieht das Protokoll mit einem sehr hohen Grad an
Vorwärts-Erweiterbarkeit.
Das Adressierungsprotokoll wird unten in Tabelle 4 gezeigt.
-
-
12A ist ein Nachrichtenprotokoll-Diagramm,
das das Format von Kurzadressen-Inhaltsdaten in dem codierten Videosignal 104 veranschaulicht.
Die Inhaltsdaten enthalten vorzugsweise die fehlerkorrigierten Inhaltsdatenbits,
die von dem Datenfehlerprozessor 99 in einen 9-Bit Datenstrom
zusammengesetzt wurden. Um ein Datenpaket an eine bestimmte Kurzadressen-Datensenke 97a zu
adressieren, wird die Kurzadresse der Datensenke in dem codierten
Videosignal 104 gesendet. Das erste Vorkommen der Kurzadresse
der Datensenke wird durch den Datenhandler 89a als eine
Startpaket-Nachricht 202a interpretiert, der reagiert,
indem er beginnt, nachfolgend empfangene einrichtungsspezifische
Steuerdaten zu der Datensenke 97a zu leiten. Der Startpaket-Nachricht 202a folgen
daher einrichtungsspezifische Steuerdaten 204a für die ausgewählte Datensenke 97a.
-
Das
Paket für
die Datensenke 97a wird beendet, indem entweder die NULL-Adresse
oder eine andere lange oder kurze Adresse in dem codierten Videosignal 104 gesendet
wird. Die neue Kurzadresse wird als eine Endpaket-Nachricht 206a durch
den Datenhandler 89a inter pretiert, der reagiert, indem
er das Leiten von nachfolgend empfangenen einrichtungsspezifischen
Steuerdaten zu der Datensenke 97a unterbricht. Diese Adressierungsprozedur
kann, wenn gewünscht,
für jede
Datensenke, der eine Kurzadresse zugewiesen wird, wiederholt werden.
-
Wie
oben erwähnt,
werden, um die Adressierbarkeit des Protokolls weiter zu erweitern,
zwei Kurzadressen zum Bezeichnen des Anfangs und Endes von langen
Adressen reserviert. 12B ist
ein Nachrichtenprotokoll-Diagramm, das das Format von Langadress-Inhaltsdaten
in dem codierten Videosignal 104 veranschaulicht. Um ein
Datenpaket an eine bestimmte Langadressen-Datensenke 97b zu
adressieren, wird die zum Bezeichnen einer Beginn-Langadressen-Nachricht
zugeteilte kurze Adresse in dem codierten Videosignal 104 gesendet.
Die Langadresse 212b der gewünschten Datensenke wird dann
gesendet, gefolgt von der zum Bezeichnen einer Ende-Langadressen-Nachricht 214b (0FF)
zugeteilten Kurzadresse. Das erste Vorkommen der Langadresse der
Datensenke wird als eine Startpaket-Nachricht durch den Datenhandler 89b interpretiert, der
reagiert, indem er beginnt, nachfolgend empfangene einrichtungsspezifische
Steuerdaten zu der Datensenke 97b zu leiten. Der Startpaket-Nachricht 202a folgen
daher einrichtungsspezifische Steuerdaten 204a für die Datensenke 97a.
-
Das
Paket für
die Datensenke 97b wird beendet, indem ein weiteres Adresswort
in dem codierten Videosignal 104 gesendet wird. Die neue
Adresse wird als eine Endpaket-Nachricht 206a durch den
Datenhandler 89b interpretiert, der reagiert, indem er
das Leiten von später
empfangenen einrichtungsspezifischen Steuerdaten zu der Datensenke 97b unterbricht.
Diese Adressierungsprozedur kann, wenn gewünscht, für jede Datensenke, der eine
Langadresse zugewiesen wird, wiederholt werden.
-
13 ist ein logisches Flussdiagramm,
das die Routine 1300 für
den Videodatendetektor 91 veranschaulicht. Die Routine 1300 beginnt
in Schritt 1302, und in Schritt 1304 empfängt der
Videodatendeteketor 91 das codierte Videosignal von dem
Videodaten-Ecoder 76. In Schritt 1306 erfasst
der Videodatendetektor 91 eine Bildstart-Marke. In Schritt 1308 sammelt
der Videodatendetektor 91 die Bits in dem ISDW-Bereich
des Bildes, und in Schritt 1310 korrigiert der Videodatendetektor 91 alle
korrigierbaren, typischerweise Einbit-Fehler in den Daten. In Schritt 1312 bestimmt
der Videodatendetektor 91, ob die aus dem ISDW-Bereich
des Bildes gesammelten Daten tatsächlich ein ISDW ist.
-
Das
heißt,
der Videodatendetektor 91 stellt fest, ob eine aufeinanderfolgende
Serie der ISDWs der dynamischen Validationssequenz 170 entspricht,
in der sich typischerweise jedes ISDW in wenigstens zwei Bits von
dem unmittelbar vorangehenden Signalerfassungswort unterscheidet.
Die dynamische Validationssequenz kann z. B. die Binärdarstellung
von 8, 1, 10, 3, 12, 5, 14, 7 sein. Wenn die dynamische Validationssequenz 170 erfasst
wird, wird der "JA"-Verzweigung von
Schritt 1312 zu Schritt 1314 gefolgt, wo der Videodatendetektor 91 die
Inhaltswörter 158 in
das serielle Datenkommunikationssignal 106 zusammensetzt.
In Schritt 1316 erfasst der Videodatendetektor 91 eine
Bildende-Marke, und in Schritt 1318 sendet der Videodatendetektor 91 das
serielle Datenkommunikationssignal 106 für das Bild
an den Datenfehlerprozessor 99. Dem Schritt 1318 und
der "NEIN"-Verzweigung von
Schritt 1312 folgen der "ENDE"-Schritt 1320,
der an Schritt 1302 zurückgibt,
sodass die Routine 1300 für den nächsten Datenrahmen wiederholt
werden kann.
-
14 ist ein logisches Flussdiagramm,
das die Routine 1400 für
den Datenfehlerprozessor 99 veranschaulicht. Die Routine 1400 beginnt
in Schritt 1402, und in Schritt 1404 empfängt der
Datenfehlerprozessor 99 das serielle Datenkommunikationssignal 106 von
dem Videodatendetektor 91. In Schritt 1406 stellt
der Datenfehlerprozessor 99 fest, ob in Datenfehler in
den Inhaltsdatenbits 164 des seriellen Datenkommunikationssignals 106 erfasst
wird. Wenn in den Inhaltsdatenbits 164 des seriellen Datenkommunikationssignals 106 kein Fehler
erfasst wird, wird der "NEIN"-Verzweigung zu Schritt 1412 gefolgt,
der unten beschrieben wird. Wenn ein Datenfehler in den Inhaltsdatenbits 164 des
seriellen Datenkommunikationssignals 106 erfasst wird,
wird der "JA"-Verzweigung zu Schritt 1408 gefolgt,
wo der Datenfehlerprozessor 99 feststellt, ob der Fehler
ein korrigierbarer, typischerweise Einbit-Datenfehler ist.
-
Wenn
der Fehler ein korrigierbarer Datenfehler ist, wird der "JA"-Verzweigung von
Schritt 1408 zu Schritt 1410 gefolgt, wo der Datenfehlerprozessor 99 den
Fehler korrigiert. In Schritt 1412 setzt der Datenfehlerprozessor 99 die
Inhaltsdatenbits 164 in einen 9-Bit fehlerkorrigierten
Datenstrom 108 zusammen, und in Schritt 1414 sendet
der Datenfehlerprozessor 99 den 9-Bit fehlerkorrigierten
Datenstrom 108 an den Protokollhandler 93. Dem
Schritt 1414 und der "NEIN"-Verzweigung von
Schritt 1408 folgen der "ENDE"-Schritt 1416, der
an Schritt 1402 zurückgibt,
sodass die Routine 1400 für das nächste von dem Videodatendetektor 91 empfangene
serielle Datenkommunikationsignal wiederholt werden kann.
-
15 ist ein logisches Flussdiagramm,
das die Routine 1500 für
einen Datenhandler 89 des Protokollhandlers 93 veranschaulicht,
der konfiguriert ist, auf kurze Adressen anzusprechen. Die Routine 1500 beginnt
in Schritt 1502, und in Schritt 1504 empfängt der
Datenhandler 89 den 9-Bit fehlerkorrigierten Datenstrom 108 vom
Datenfehlerprozessor 99. In Schritt 1506 liest
der Datenhandler 89 ein 9-Bit Inhaltswort. In Schritt 1508 stellt
der Daten handler 89 fest, ob das Inhaltswort ein Adresswort
ist, vorzugsweise durch Prüfen,
um zu sehen, ob das letzte Datenbit eine Null ist. Wenn das Inhaltswort
ein Adresswort ist, wird dem "JA"-Zweig zu der Routine 1510 gefolgt,
wo der Datenhandler 89 das Adresswort verarbeitet. Die
Routine 1510 wird unten mit Verweis auf 16 beschrieben.
-
Wenn
das Inhaltswort kein Adresswort ist (d. h. das Inhaltswort sind
einrichtungsspezifische Steuerdaten), wird dem "NEIN"-Zweig
von Schritt 1508 zu Schritt 1512 gefolgt, wo der
Datenhandler 89 feststellt, ob er in seinem aktiven Modus
ist. Das heißt,
der Datenhandler 89 stellt fest, ob er vorher durch Empfangen
der kurzen Adresse für
seine zugehörige
Datensenke 97 in den aktiven Modus geschaltet wurde. Wenn
der Datenhandler 89 in seinem aktiven Modus ist, wird dem "JA"-Zweig von Schritt 1512 zu
Schritt 1514 gefolgt, wo der Datenhandler 89 die
einrichtungsspezifischen Steuerdaten in das geeignete Format für seine
zugehörige Datensenke 97 umsetzt.
In Schritt 1516 sendet der Datenhandler 89 die
Datensenke-Formatdaten 110 an seine zugehörige Datensenke 97.
Dem Schritt 1516 sowie der Routine 1510 und dem "NEIN"-Zweig von Schritt 1512 folgen
der "ENDE"-Schritt 1518,
der an Schritt 1502 zurückgibt,
sodass die Routine 1500 für das nächste 9-Bit Inhaltswort wiederholt
werden kann.
-
16 ist ein logisches Flussdiagramm,
das die Routine 1510 zum Verarbeitung von kurzen Adresswörtern veranschaulicht.
Die Routine 1510 beginnt, folgend dem "JA"-Zweig
von Schritt 1508 (15),
in Schritt 1602. In Schritt 1604 stellt der Datenhandler 89 fest,
ob die empfangene Adresse eine Kurzadresse ist, die mit der seiner
zugehörigen
Datensenke 97 zugewiesenen Kurzadresse übereinstimmt. Wenn die empfangene
Adresse mit der seiner zugehörigen
Datensenke 97 zugewiesenen Kurzadresse übereinstimmt, wird dem "JA"-Zweig zu Schritt 1608 gefolgt,
wo der Datenhandler 89 in den aktiven Modus gesetzt wird.
Weil einrichtungsspezifische Steuerdaten für die Datensenke 97 unmittelbar
folgen werden, sendet der Datenhandler 89 typischerweise
eine Nachricht "Beginn
Datenpaket" in Schritt 1610 an
seine zugehörige
Datensenke 97. Schritt 1610 wird gefolgt von dem "RETURN"-Schritt 1616, der an den in 15 gezeigten Schritt 1518 zurückgibt.
-
Wieder
auf Schritt 1604 verweisend wird, wenn die empfangene Adresse
nicht mit der zugewiesenen Kurzadresse übereinstimmt, dem "NEIN"-Zweig zu Schritt 1612 gefolgt,
wo der Datenhandler 89 in den inaktiven Modus gesetzt wird.
Weil dies das Ende eines Datenpakets anzeigt, was bedeutet, dass
einrichtungsspezifische Steuerdaten für die Datensenke 97 nicht
unmittelbar folgen werden, sendet der Datenhandler 989 typischerweise
eine Nachricht "Ende
Datenpaket" in Schritt 1614 an
seine zugehörige
Datensenke 97. Dem Schritt 1614 folgt der "RETURN"-Schritt 1616,
der an den in 15 gezeigten
Schritt 1518 zurückgibt.
-
17 ist ein logisches Flussdiagramm
der Routine 1700 für
einen Datenhandler 89 des Protokollhandlers 93,
der konfiguriert ist, auf lange Adresse anzusprechen. Die Routine 1700 beginnt
in Schritt 1702, und in Schritt 1704 empfängt der
Datenhandler 89 den 9-Bit fehlerkorrigierten Datenstrom 108 vom
Datenfehlerprozessor 99. In Schritt 1706 liest
der Datenhandler 89 ein 9-Bit Inhaltswort. In Schritt 1708 stellt
der Datenhandler 89 fest, ob das Inhaltswort ein Adresswort
ist, vorzugsweise durch Prüfen,
ob das letzte Datenbit eine Null ist. Wenn das Inhaltswort ein Adresswort
ist, wird dem "JA"-Zweig zu Routine 1710 gefolgt,
wo der Datenhandler 89 das Adresswort verarbeitet. Die
Routine 1710 wird unten mit Verweis auf 18 beschrieben.
-
Wenn
das Inhaltswort kein Adresswort ist (d. h. das Inhaltswort sind
einrichtungsspezifische Steuerdaten), wird dem "NEIN"-Zweig
von Schritt 1708 zu Schritt 1712 gefolgt, wo der
Datenhandler 89 feststellt, ob er in seinem Daten-Aktiv-Modus
ist. Das heißt,
der Datenhandler 89 stellt fest, ob er vorher durch Empfangen der
langen Adresse für
seine zugehörige
Datensenke 97 in seinen Daten-Aktiv-Modus geschaltet wurde.
Wenn der Datenhandler 89 in seinem Daten-Aktiv-Modus ist,
wird dem "JA"-Zweig von Schritt 1712 zu
Schritt 1714 gefolgt, wo der Datenhandler 89 die
einrichtungsspezifischen Steuerdaten in das geeignete Format für seine zugehörige Datensenke 97 umsetzt.
In Schritt 1716 sendet der Datenhandler 89 die
Datensenken-Formatdaten 110 an seine zugehörige Datensenke 97.
Dem Schritt 1716 folgt der "ENDE"-Schritt 1722,
der an Schritt 1702 zurückgibt,
sodass die Routine 1700 für das nächste 9-Bit Inhaltswort wiederholt
werden kann.
-
Wenn
der Datenhandler 89 nicht in seinem Daten-Aktiv-Modus ist,
wird dem "JA"-Zweig von Schritt 1712 zu
Schritt 1718 gefolgt, wo der Datenhandler 89 feststellt,
ob er in seinem Langadressen-Sammelmodus ist. Wenn der Datenhandler 89 in
seinem Langadressen-Sammelmodus ist, wird dem "JA"-Zweig
zu Schritt 1720 gefolgt, wo der Datenhandler 89 die
Datenbits des gegenwärtigen
Inhaltswortes als Teil einer Langadresse sammelt. Wenn der Datenhandler 89 nicht
in seinem Langadressen-Sammelmodus ist, wird dem "NEIN"-Zweig zu dem "ENDE"-Schritt 1722 gefolgt,
der an Schritt 1702 zurückgibt,
sodass die Routine 1700 für das nächste 9-Bit Inhaltswort wiederholt
werden kann.
-
18 ist ein logisches Flussdiagramm
der Routie 1710 zum Verarbeiten von langen Adresswörtern. Die
Routine 1710 beginnt in Schritt 1702, folgend
dem in 17 gezeigten
Schritt 1708. In Schritt 1804 stellt der Datenhandler 89 fest,
ob das empfangene Inhaltswort ein Beginn-Langadresse-Nachricht ist,
vorzugsweise durch Feststellen, ob das empfangene Inhaltswort die
diesem Typ von Nachricht zugeteilte Kurzadresse (0FE) ist. Wenn
das empfangene Inhaltswort eine Beginn-Langadresse-Nachricht ist,
wird dem "JA"-Zweig zu Schritt 1806 gefolgt,
wo der Datenhandler 89 in den Langadressen-Sammelmodus
gesetzt wird.
-
Dem
Schritt 1806 folgt der Schritt 1807, wo der Datenhandler 89 feststellt,
ob er bereits in dem Daten-Aktiv-Modus ist. Wenn der Datenhandler 89 bereits
in dem Daten-Aktiv-Modus ist, wird dem "JA"-Zweig
zu Schritt 1820 gefolgt, wo der Datenhandler 89 in
den Datan-Inaktiv-Modus gesetzt wird. Weil dies das Ende eines Datenpakets
anzeigt, was bedeutet, dass einrichtungsspezifische Steuerdaten
für die
Datensenke 97 nicht unmittelbar folgen werden, sendet der
Datenhandler 89 typischerweise eine "Ende-Datenpake"-Nachricht in Schritt 1822 an
seine zugehörige
Datensenke 97. Dem Schritt 1822 folgt der "RETURN"-Schritt 1824, der an Schritt 1722,
gezeigt in 17, zurückgibt.
-
Wieder
auf Schritt 1804 verweisend wird, wenn das empfangene Inhaltswort
keine Beginn-Langadresse-Nachricht
ist, dem "NEIN"-Zweig zu Schritt 1808 gefolgt,
wo der Datenhandler 89 feststellt, ob das empfangene Inhaltswort
eine Ende-Langadresse-Nachricht ist, vorzugsweise durch Feststellen,
ob das empfangene Inhaltswort die diesem Typ von Nachricht zugeteilte
Kurzadresse (0FF) ist. Wenn das empfangene Inhaltswort keine Ende-Langadresse-Nachricht ist, wird
dem "NEIN"-Zweig zu Schritt 1809 gefolgt,
wo der Datensammelmodus für
den Datenhandler 89 deaktiviert wird. Dem Schritt 1809 folgt
Schritt 1814, wo der Datenhandler 89 feststellt,
ob er in den Daten-Aktiv-Modus gesetzt ist. Wenn der Datenhandler 89 in
den Daten-Aktiv-Modus gesetzt ist, wird dem "JA"-Zweig
zu Schritt 1820 gefolgt, wo der Datenhandler in den Daten-Inaktiv-Modus
gesetzt wird. Weil dies das Ende eines Datenpakets anzeigt, was
bedeutet, dass einrichtungsspezifische Steuerdaten für die Datensenke 97 nicht
unmittelbar folgen werden, sendet der Datenhandler 89 typischerweise
in Schritt 1822 eine Ende-Datenpaket-Nachricht an seine
zugehörige
Datensenke 97. Dem Schritt 1822 folgt der "RETURN"-Schritt 1824,
der an den in 17 gezeigten
Schritt 1722 zurückgibt.
-
Wieder
auf Schritt 1808 verweisend wird, wenn das empfangene Inhaltswort
eine Ende-Langadresse-Nachricht
ist, dem "JA"-Zweig zu Schritt 1810 gefolgt,
wo der Langadressen-Sammelmodus
für den
Datenhandler 89 deaktiviert wird. In Schritt 1812 stellt
der Datenhandler 89 fest, ob die empfangene Langadresse
(d. h. die in Schritt 1720 in 17 gesammelte Langadresse) mit der seiner
zugehörigen
Datensenke 97 zugewiesenen Langadresse übereinstimmt. Wenn die empfangene
Langadresse mit der seiner zugehörigen
Datensenke 97 zugewiesenen Langadresse übereinstimmt, wird dem "JA"-Zweig zu Schritt 1816 gefolgt,
wo der Datenhandler 89 in den Daten-Aktiv-Modus gesetzt
wird. Weil einrichtungsspezifische Steuerdaten für die Datensenke 97 nicht
unmittelbar folgen werden, sendet der Datenhandler 89 typischerweise
in Schritt 1818 eine "Beginn-Datenpaket"-Nachricht an sei ne
zugehörige
Datensenke 97. Dem Schritt 1818 fogt der "RETURN"-Schritt 1824,
der zu dem in 17 gezeigten
Schritt 1822 zurückkehrt.
-
Die
Fachleute in der Technik werden verstehen, dass die in Tabellen
1–4 veranschaulichten
spezifischen Protokolle nur ein Beispiel von vielen spezifischen
Protokollen sind, die benutzt werden können, ein Adressierungsschema
unter Verwendung von erfindungsgemäßen Kurzadressen und Langadressen
zu implementieren. Außerdem
kann die Stelle der Daten in dem codierten Videosignal 104 etwas
verändert
werden, ohne die Leistung des Systems 100 unangemessen
zu beeinflussen. Insbesondere hat Microsoft Corporation von der "Federal Communication
Commission" die
Erlaubnis erhalten, digitale Daten in Zeilen 23–257 im
Halbbild 1 und Zeilen 285–519 im Halbbild 2 eines 525-Zeilen
Standard-NTSC-Fernsehrundfunksignals zu codieren. Wie in 10B und Tabellen 1–4 oben
gezeigt, benutzt das bevorzugte Protokoll die Zeilen 23–237 im Halbbild 1 und
die Zeilen 286–500 im
Halbbild 2. Dies verbessert die Kompatibiltät des codierten
Videosignals 104 mit MPEG-basierten Videokompressionsalgorithmen,
die typischerweise die Zeile 285 ausschließen und eine
komprimierte Darstellung von nur 480 sichtbaren Abtastzeilen
umfassen.
-
Die
Erfindung stellt somit ein Verfahren und ein System zum Codieren
von Steuerdaten für
drahtlos gesteuerte Einrichtungen in Verbindung mit einem Videosignal
bereit, sodass die Aktionen der gesteuerten Einrichtung synchron
mit der durch das Videosignal definierten Programminformation arbeiten.
Zusätzliche Daten
können,
codiert in das Videosignal, zum Bereitstellen zusätzlicher
Dienste gesendet werden, wie z. B. E-Mail, Fremdsprachen-Untertitelung,
Gegensprech-Möglichkeit,
Telefonrufe, Wetterwarnungen, Konfigurationsdaten für eine Set-Top-Box
usw. Das Protokoll für
die codierten Daten ist adressierbar, vorwärts kompatibel, fehlertolerant
und geeignet, in Verbindung mit einem System verwendet zu werden,
das hauptsächlich
gedacht ist, ein Kinderunterhaltungserzeugnis zu sein.
-
Es
sollte verstanden werden, dass das Vorangehende nur spezifische
Ausführungen
der Erfindung betrifft, und dass zahlreiche Änderungen darin vorgenommen
werden können,
ohne vom Umfang der Erfindung, wie durch die folgenden Ansprüche definiert,
abzuweichen.