-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft das Gebiet des Fernsehrundfunks und
insbesondere das Gebiet der Hyperverlinkung in einer Fernsehsendung.
-
Übertragungen
von Informationen über
Fernsehsignale sind im Stand der Technik bekannt. Fernsehsendungen
sind unidirektional und bieten dem Zuschauer keine Möglichkeit,
mit dem auf einem Fernsehschirm erscheinenden Material zu interagieren.
Zuschauerreaktionen auf angezeigtes Material unter Verwendung einer
Fernbedienung sind bekannt, sind jedoch generell auf die Wahl eines
anzusehenden Programms aus einer Liste verfügbarer Übertragungen begrenzt.
-
In
einer Veröffentlichung
mit dem Titel „Hyperlinked
Video", veröffentlicht
im Protokoll der SPIE, Ausgabe 3528, November 1998, von Dakss et
al. ist die Hyperverlinkung von Daten auf Objekte vorgeschlagen
worden, die in dem Video erscheinen. Diese Veröffentlichung beschreibt, wie
Objekte innerhalb eines Videos durch mehrere Rahmen [Einzelbilder] verfolgt
werden können.
Das darin beschriebene Hyperverlinkungskonzept bezog sich jedoch
auf die Verwendung des Systems in einer Laborumgebung mit einem
lokal abgespielten, aufgezeichneten Video, so dass das Video beispielsweise
unterbrochen werden könnte,
um den Linkinhalt anzuzeigen. Alternativ wird in der Veröffentlichung
vorgeschlagen, den verlinkten Inhalt zu zeigen, nachdem das Video
eine Unterbrechung in der Handlung erreicht hat. Die Veröffentlichung
behandelt nicht die Probleme der Bereitstellung hyperverlinkter
Daten im Kontext eines Rundfunk-Videostroms.
-
Bewegt
man sich in den Bereich des Rundfunks, so entstehen zahlreiche zusätzliche
technische Probleme. Im Laborkontext treten diese Probleme als solche
nicht auf, und die Veröffentlichung
beschreibt zwar, dass das System ein zukünftiges Szenario der Fernsehnutzung
simulieren soll, es wurden jedoch Aspekte des Sendeszenarios nicht
simuliert, innerhalb dessen die neuen technischen Probleme als Ergebnis
der Beschränkungen
der bestehenden Rundfunkstandards und Bandbreiten auftreten.
-
Die
vorliegende Erfindung, wie sie in den beigefügten Ansprüchen bestimmt ist, richtet
sich an diese Probleme.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Zum
Verständnis
der Erfindung wird nun eine Ausführungsform
derselben lediglich als Beispiel unter Bezugnahme auf die beigefügten diagrammartigen
Zeichnungen beschrieben, wobei
-
1A–1D eine
Reihe von Videorahmen darstellen, wie sie von dem System der Erfindung
erzeugt werden;
-
2 ein
Blockdiagramm einer Ausführungsform
eines hyperverlinkten Videosystems ist, das gemäß der Erfindung aufgebaut ist;
-
2A ein
Blockdiagramm des Datenflusses in der in 2 gezeigten
Ausführungsform
des Systems ist und
-
2B ein
Diagramm einer Menge von Maskierungspaketen ist;
-
2C ein
Diagramm eines anfänglichen kodierten
Datenpaketstroms ist;
-
2D ein
Diagramm eines letzten kodierten Datenpaketstroms ist;
-
3 ein
Blockdiagramm einer Ausführungsform
des in 1 gezeigten Multiplexersystems
ist;
-
4 ein
Blockdiagramm einer Ausführungsform
des in 2 gezeigten Digitalempfängers ist;
-
5A–5B Diagramme
einer Ausführungsform
der Datenstrukturen sind, die von dem System aus 2 zum
Speichern von Anmerkungsdaten verwendet werden;
-
5A ein
Blockdiagramm einer Objekteigenschaftstabellen-Datenstruktur und
einer Programmzuordnungstabellen-Datenstruktur ist;
-
6 ein
Zustandsdiagramm des Datenflusses einer Ausführungsform des in 2 gezeigten Systems
ist;
-
7 die
Interaktionen zwischen und unter Zuständen innerhalb der in 6 dargestellten
Zustandsmaschine einer Ausführungsform
der Erfindung darstellt;
-
8A bis 8G verschiedene
illustrative Beispiele für
Ausführungsformen
eines Interaktivinhalts-Icons
gemäß der Erfindung
schematisch darstellen;
-
9A bis 9D illustrative
Ausführungsformen
von Kompressionsverfahren für
Videobilder gemäß den Prinzipien
der Erfindung darstellen;
-
10A einen Beispielbereich eines Rahmens und eine
Beispielmaske zeigt, die zur Beschreibung eines zweidimensionalen
Bildes in Ausdrücken mathematischer
Morphologie gemäß der Erfindung verwendet
werden;
-
10B ein Beispiel-Ergebnisbild einer zweidimensionalen
mathematischen Morphologie-Analyse
und einen einzelnen Ergebnispixel gemäß den Prinzipien der Erfindung
zeigt und
-
11A eine Sequenz von Beispiel-Rahmen und eine
Beispielmaske zeigt, die zur Beschreibung eines dreidimensionalen
Bildes hinsichtlich einer mathematischen Morphologie gemäß der Erfindung
verwendet werden, wobei als eine Dimension die Zeit verwendet wird;
-
11B ein Beispiel-Ergebnisrahmen einer dreidimensionalen
mathematischen Morphologie-Analyse
unter Verwendung der Zeit als einer Dimension und einen Ergebnispixel
gemäß den Prinzipien
der Erfindung zeigt;
-
11C ein Flussdiagramm ist, das einen illustrativen
Prozess gemäß einer
Ausführungsform der
Erfindung zeigt, mit welchem dreidimensionales Floodfill erzielt
wird;
-
12A–12B ein Diagramm sind, das eine Beispielanwendung
mathematischer Morphologie-Analyse
gemäß den Prinzipien
der Erfindung zeigt, die einen Umriss eines Bereiches erzeugt; und
-
13 ein Diagramm ist, das drei illustrative Beispiele
der Entwicklungen von Histogrammen über aufeinanderfolgende Rahmen
gemäß der Erfindung zeigt,
die Bewegung anzeigen.
-
BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
In
kurzer Übersicht
stellt die Erfindung eine Vorgehensweise zur Assoziation von Anmerkungsinformationen
mit in den Rahmen eines übertragenen Videos
angezeigten Objekten und zu ihrer Anzeige auf Anweisung eines Zuschauers
bereit. Beispielsweise können
bezüglich 1 Anmerkungsinformationen in Form von
Geschäfts-,
Preis- und Verfügbarkeitsinformationen
mit einem bestimmten Hemd 2 assoziiert werden, das von
einem Schauspieler in einer Fernsehsendung getragen wird (1A).
Um dies zu erreichen, wird das Hemd 2 zuerst von einem
Gestalter, der einen als Authoring-System bezeichneten Teil des
Systems bedient, für
das System identifiziert. Der Gestalter identifiziert 3 das
Hemd 2 in einem bestimmten Rahmen, beispielsweise durch
Einfärbung des
Hemdes (1B), und das System verfolgt
die Position des Hemdes 2 in den vorhergehenden und folgenden
Rahmen. Der Gestalter erstellt auch den Text, aus dem die mit dem
Hemd 2 assoziierten Anmerkungsdaten 5 werden.
So können
in diesem Beispiel die Anmerkungsdaten die Namen von Geschäften, in
denen das Hemd 2 gekauft werden kann, den Preis des Hemdes 2 und
die erhältlichen
Farben umfassen. Das System kennzeichnet dann, dass mit dem Hemd 2 Anmerkungsdaten
assoziiert sind, beispielsweise durch Umranden 4 des Hemdes 2 innerhalb
des Rahmens in einer anderen Farbe (1C).
-
Wenn
die Sendung vom Sendebereich des Systems an einen Zuschauer übertragen
wird, wird nicht nur das Video übertragen,
sondern auch die Maske, die das Hemd 2 umrandet, und die
Anmerkungsdaten, die das Hemd 2 begleiten. Der Empfängerbereich
des Systems am Standort des Zuschauers empfängt diese Daten und zeigt die
Videorahmen zusammen mit Masken an, welche die Objekte umranden,
die assoziierte Anmerkungsdaten aufweisen. In diesem Beispiel ist
das Hemd 2 in dem Videorahmen umrandet. Wenn der Zuschauer
des übertragenen
Videos die Anmerkungsdaten sehen möchte, verwendet er oder sie
einfach die Steuertasten auf einer tragbaren Standard-Fernbedienung,
um dem Empfängerbereich
des Systems mitzuteilen, dass die Anzeige von Anmerkungsdaten gewünscht wird.
Das System zeigt dann die Anmerkungsdaten 5 auf dem Bildschirm
zusammen mit dem Objekt an (1D). Auf
diese Weise dienen gekennzeichnete Objekte als Hyperlinks zu weiteren
Informationen.
-
Bezüglich 2 weist
ein erfindungsgemäß aufgebautes
hyperverlinktes Video-Rundfunksystem einen Sendebereich 10,
einen Kommunikationskanalbereich 12 und einen Empfangsbereich 14 auf. Der
Sendebereich 10 weist eine Videoquelle 20, ein Authoring-Tool 24,
ein Datenbankspeichersystem 28 und einen Sender 32 auf.
Die Videoquelle 20 ist in unterschiedlichen Ausführungsformen
eine Videokamera, eine Videoplatte, ein Videoband oder eine Videokassette,
ein eingespeistes Videosignal oder jede andere dem Fachmann bekannte
Videoquelle. Das Authoring-Tool 24, das eine Anmerkungsquelle
ist, empfängt
Videodaten aus der Videoquelle 20 und zeigt sie an, so
dass ein Video-Gestalter sie wie unten beschrieben ansehen und manipulieren
kann. Anmerkungsdaten, beispielsweise der mit dem Videobild anzuzeigende
Text, werden in einer Objektdatenbank 28 gespeichert und
an den Sender 32 geschickt, um über den Kommunikationskanalbereich 12 des
Systems gesendet zu werden.
-
Der
Sender 32 weist einen Videokodierer 36, einen
Datenpaketstrom-Generator 40 und einen Multiplexer (MUX) 44 auf,
der die Signale aus dem Videokodierer 36 und dem Datenpaketstrom-Generator 40 zum
Senden über
den Kommunikationskanal 12 kombiniert. Wie dem Fachmann
bekannt ist, kann der Videokodierer 36 jeder Kodierer zum
Erzeugen eines Transportstroms sein, beispielsweise ein MPEG- oder
MPEG2-Kodierer. Der Datenpaketstrom-Generator 40 kodiert zusätzliche
Daten, wie unten beschrieben, welche die Videodaten begleiten sollen, wenn
diese an den Zuschauer gesendet werden. Der Datenpaketstrom-Generator 40 generiert
kodierte Datenpakete. Der Multiplexer 44 erzeugt einen
erweiterten Transportstrom.
-
Der
Kommunikationskanalbereich 12 weist nicht nur das Sendemedium
wie z. B. Kabel, Infrastruktur für
terrestrische Übertragung,
Mikrowellenverbindung oder Satellitenverbindung auf, sondern auch
jede Zwischenspeicherung, welche die Videodaten aufnimmt, bis sie
von dem Empfangsbereich 14 empfangen werden. Eine solche
Zwischenspeicherung kann Videoplatte, -band oder -kassette, Speicher
oder andere Speicherungsvorrichtungen umfassen, die dem Fachmann
bekannt sind. Der Kommunikationskanalbereich weist auch den Kopfstellensender 50 auf,
der von einem Mehrfachdienstanbieter bereitgestellt wird.
-
Der
Empfangsbereich 14 weist einen Digitalempfänger 54 wie
z. B. eine digitale Set-Top-Box auf, der die Signale zur Anzeige
auf der Fernseh-Anzeigevorrichtung 58 dekodiert. Bei der
Hardware des Digitalempfängers 54 handelt
es sich um beliebige dem Fachmann bekannte Hardware für Digitalempfänger 54.
-
Im
Betrieb und auch bezüglich 2 und 2A lädt ein Gestalter
Videodaten 22 aus einer Videoquelle 20 in das
Authoring-Tool 24. Die Videodaten werden auch aus der Videoquelle 20 an
den Videokodierer 36 geschickt, um beispielsweise unter
Verwendung des MPEG-Standards kodiert zu werden. Mit dem Authoring-Tool 24 wählt der
Gestalter Teile eines Videobildes zur Assoziation mit Bildschirmanmerkungen
aus. Beispielsweise könnte
der Gestalter ein Hemd 2 auswählen, das auf dem Videobild
von einem Schauspieler getragen wird, und Anmerkungsdaten zuweisen,
die den Hersteller des Hemdes 2, dessen Kaufpreis und den
Namen eines lokalen Händlers
anzeigen. Andererseits können
Anmerkungsdaten auch zusätzliche
Textinformationen über das
Objekt enthalten. Beispielsweise könnten Anmerkungsdaten in einer
Dokumentation biographische Informationen über die Person auf dem Bildschirm
enthalten. Die Anmerkungsdaten 5 (1D) zusammen
mit Informationen über
die Gestalt des Hemdes 2 und die Position des Hemdes 2 auf
dem Bild, bei dem es sich um das Maskenbild handelt, wie unten beschrieben,
werden als Datenstrukturen 25, 25' in einer Datenbank 28 gespeichert.
-
Sobald
ein Gestalter ein bestimmtes Programm durch Authoring bearbeitet
hat, bestimmt das Authoring-Tool den Bereich, über dem Objekte erscheinen
und Datenstrukturen in dem mit Anmerkungen versehenen Programm genutzt
werden. Diese Informationen werden von dem vorliegenden erfindungsgemäßen System
dazu verwendet, zu gewährleisten,
dass die Daten, die Zuschauerinteraktionen mit einem Objekt ermöglichen,
gesendet werden, bevor das Objekt dem Zuschauer präsentiert
wird. Diese Informationen werden von dem vorliegenden erfindungsgemäßen System
auch dazu verwendet, zu bestimmen, wann Daten von einem Programm
nicht mehr benötigt
werden und aus dem unten erläuterten Speicher 128 gelöscht werden
können.
-
Wie
oben beschrieben, werden diese Anmerkungsdaten außerdem zur
Umwandlung in einen kodierten Datenpaketstrom 27 an den
Datenpaketstrom-Generator 40 geschickt.
-
Zeitmarkendaten
in dem Transportstrom 29' aus
dem Videokodierer 36 sind auch ein Eingangssignal in den
Datenpaketstrom-Generator 40 und werden zum Synchronisieren
der Maske und der Anmerkungsdaten mit den Bilddaten verwendet. Der
Datenpaketstrom-Generator 40 bewerkstelligt
die Synchronisation durch schrittweises Verarbeiten eines Programms
und Assoziieren der Zeitinformationen jedes Videorahmens mit der
entsprechenden Maske. Zeitinformationen können alle Arten von Informationen sein,
welche die Synchronisation von Video- und Maskierungsinformationen
erlauben. Beispielsweise können
die Zeitinformationen Zeitmarkeninformationen sein, wie sie von
einem MPEG-Kodierer generiert werden, Zeitcode-Informationen, wie
sie durch den SMPTE-Zeitcode-Standard für Video bereitgestellt werden,
Rahmennummerierungsinformationen wie z. B. ein eindeutiger Identifikator
für einen
Rahmen oder eine sequenzielle Nummer für einen Rahmen, die globale
Uhrzeit und dergleichen mehr. In der vorliegenden illustrativen
Darstellung der Erfindung werden als Ausführungsbeispiel Zeitmarkeninformationen
verwendet.
-
Die
kodierten Videodaten aus dem Videokodierer 36 werden in
einem Multiplexer 44 mit dem kodierten Datenpaketstrom 27 aus
dem Datenpaketstrom-Generator 40 kombiniert, und der so
entstehende erweiterte Transportstrom 46 ist eine Eingabe in
ein Multiplexersystem 48. In dieser illustrativen Ausführungsform
ist das Multiplexersystem 48 in der Lage, zusätzliche
Transport-29' und erweiterte Transport-46'-Ströme zu empfangen.
Die Transport-29' und
erweiterten Transport-46'-Strömen umfassen
digital kodierte Video-, Audio- und Datenströme, die vom System oder mit
anderen dem Fachmann bekannten Verfahren generiert werden. Die Ausgabe
aus dem Multiplexersystem 48 wird zum Speichern und/oder Übertragen
an den Kommunikationskanal 12 geschickt. Das Rundfunksignal
wird an den Digitalempfänger 54 geschickt
und von diesem empfangen. Der Digitalempfänger 54 schickt den
kodierten Video-Abschnitt
des gemultiplexten Signals zum Anzeigen an den Fernseher 58.
Der Digitalempfänger 54 nimmt
auch Anweisungen von einem Zuschauer an, der eine tragbare Fernbedienung
verwendet, um etwaige Anmerkungen anzuzeigen, welche die Videobilder
begleiten. In einer Ausführungsform
steht der Digitalempfänger 54 auch
direkt in Kommunikation mit einer alternativen Netzwerkverbindung 56 (2).
-
In
einer alternativen Ausführungsform
werden Informationen aus der Objektdatenbank 28 in eine
zweite Datenbank 30 in 2 für den Zugriff über ein
Netzwerk 31 wie z. B. das Internet oder direkt in eine
Datenbank 33 übertragen.
In dieser Ausführungsform
greift die Kopfstelle 50 nach Aufforderung durch den Zuschauer
auf die in der zweiten Datenbank 30 gespeicherten Anmerkungs-Objektdaten zu.
Diese Anordnung ist in solchen Fällen
sinnvoll, in denen beispielsweise der Zuschauer das Programm zum
späteren
Ansehen aufgezeichnet hat und das Aufzeichnungsmedium die Anmerkungsdaten
nicht aufzeichnen kann, oder wenn die Daten nicht während des
Programms bandintern gesendet werden können. Somit kann der Digitalempfänger 54,
wenn das aufgezeichnete Bild durch den Digitalempfänger 54 abgespielt
wird und der Zuschauer Anmerkungsdaten anfordert, die Kopfstelle 50 instruieren,
die Daten über
das Netzwerk 31 abzurufen. Zusätzlich wäre die Kopfstelle 50 in
der Lage, auf Anweisung des Digitalempfängers 54 Daten in
eine Datenbank 33 in dem Netzwerk oder in eine Kopfstellen-Datenbank 52 zu
schreiben. Solche von der Kopfstelle 50 geschriebenen Daten
können
Marketing-Daten sein, die anzeigen, welche Objekte angesehen worden sind,
oder es könnten
Bestellinformationen sein, die von dem Zuschauer zum Bestellen des
angezeigten Artikels über
das Netzwerk verlangt werden. Eine dritte Ausführungsform kombiniert insofern
Attribute der vorhergehenden Ausführungsformen, als ein Teil der
Informationen in der ursprünglichen Übertragung enthalten
ist und ein Teil in Reaktion auf Zuschaueranforderungen abgerufen
wird.
-
Den
kodierten Datenpaketstrom 27 betreffend und unter Bezugnahme
auf 2B, 2C und 2D ist
im Einzelnen der Datenpaketstrom-Generator 40 dazu ausgestaltet,
trotz Variationen in der Größe der Maskendaten
und Anmerkungsdaten, die den Videorahmen entsprechen, einen Strom
mit konstanter Datenrate zu generieren. Der Datenpaketstrom-Generator 40 erreicht
dies durch einen Prozess in drei Schritten. Zuerst bestimmt der
Datenpaketstrom-Generator 40 einen akzeptablen Bereich von
Paketraten, die in den Multiplexer 44 eingegeben werden
können.
Als Nächstes
bestimmt der Datenpaketstrom-Generator 40 die Anzahl der
Pakete, welche durch die größte Maske
in dem Programm gefüllt werden,
das gerade kodiert wird. Dies definiert die Anzahl der Pakete in
jeder Menge von Maskierungspaketen 39, d. h. die Anzahl
Pakete, die für
den Transport jeder Maske zugeordnet werden. In dem in 2B, 2C und 2D gezeigten
Beispiel befinden sich in jeder Menge von Maskierungspaketen 39 acht
Pakete. Unter Verwendung dieser Zahl generiert der Datenpaketstrom-Generator 40 eine
Anfangsversion des kodierten Datenpaketstroms 27', wobei eine
feste Anzahl von Paketen für
jede Maske zugeordnet wird. Wenn die Anzahl von zur Aufnahme einer
bestimmten Maske erforderlichen Paketen kleiner ist als die feste
Anzahl, puffert der Datenpaketstrom-Generator 40 den anfänglichen
kodierten Datenpaketstrom 27' mit
Null-Paketen. Die Anzahl der Null-Pakete hängt von der Anzahl von Paketen
ab, die übrig
sind, nachdem die Maskendaten geschrieben worden sind. In 2C füllen die
Maskendaten 42 für
den Rahmen 1000 vier Pakete, wodurch vier Pakete bleiben, um mit
Null-Paketen gefüllt
zu werden. Ebenso sind für
die Daten 42', 42'', 42''', für Maske
999, Maske 998 und Maske 997 drei, fünf bzw. zwei Pakete erforderlich.
Somit verbleiben fünf, drei
bzw. sechs Pakete zum Auffüllen
mit Null-Paketen.
-
Zuletzt
erzeugt der Datenpaketstrom-Generator 40 den fertigen kodierten
Paketstrom 27'' durch Hinzufügen der
Objektdaten. Der Datenpaketstrom-Generator 40 bewerkstelligt
dies durch Bestimmung des ersten Auftretens eines bestimmten Objektes
in einem Programm aus von dem Authoring-Tool 24 bereitgestellten
Informationen. Daten, die diesem Objekt entsprechen, werden dann
in den anfänglichen
kodierten Datenpaketstrom 27' eingefügt, wobei
an einem Punkt vor dem ersten Auftreten dieses Objektes begonnen
wird. Der Datenpaketstrom-Generator 40 geht
den anfänglichen
kodierten Datenpaketstrom 27' schrittweise
rückwärts durch und
ersetzt Null-Pakete nach Bedarf mit Objektdaten. Beispielsweise
wird in 2D bestimmt, dass das Objekt
98 in Rahmen 1001 erscheint. Das bedeutet, dass alle mit dem Objekt
98 assoziierten Daten vor dem Rahmen 1001 eintreffen müssen. Die
Daten 43 für
das Objekt 98 fallen fünf
Pakete, O98A, O98B, O98C, O98D und O98E, und sind den Mengen der Pakete
hinzugefügt
worden, die den Maskendaten 1000 und den Maskendaten 999 zugeordnet
sind. Die Daten 43' für das Objekt
97 füllen
zwei Pakete, O97A und O97B, und sind der Menge der Pakete hinzugefügt worden,
die den Maskendaten 998 zugeordnet sind.
-
Zur
Vereinfachung des Prozesses der Extraktion von Daten aus dem Transportstrom
assoziiert in einer Ausführungsform
der Multiplexer 44 die Maskendaten und die Objektdaten
mit unterschiedlichen Paketidentifikatoren (PIDs), wie sie im MPEG2-Standard
zur Identifikation elementarer Ströme verwendet werden. Auf diese
Weise kann der Digitalempfänger 54 Masken- und Objektdaten
auf Basis lediglich ihrer PIDs an verschiedene Berechnungs-Threads
leiten, wodurch die Notwendigkeit entfällt, eine anfängliche
Analyse des Inhalts der Pakete durchzuführen. Beim erneuten Zusammensetzen
der Masken und Objektdaten ist der Digitalempfänger 54 in der Lage,
die richtige Anzahl Pakete aus dem Strom zu extrahieren, weil diese
Information durch den Datenpaketstrom-Generator 40 als
Teil des Kodierungsprozesses bereitgestellt wird. Beispielsweise
würde unter
Bezugnahme auf 2D der Datenpaketstrom-Generator 40 festlegen,
dass die Maske 1000 vier Pakete 42 gefüllt hat und dass die Daten 43 für das Objekt
98 fünf
Pakete gefüllt
haben. Diese Daten sind in einem Header – 38, 38', 38'', 38''' – Bereich
des Pakets enthalten, der die ersten 16 Bytes des ersten Pakets
jeder Maskierungspaketmenge einnimmt.
-
Wie
in 2D in einer vergrößerten Ansicht des Masken-Headers 38 gezeigt,
enthält
das Header-Paket Informationen bezüglich der Anzahl von Paketen,
welche Maskierungsinformationen, Kodierungsinformationen, Zeitmarkeninformationen,
Sichtbarkeitswortinformationen und den eindeutigen Identifikator
(UID) der Objektzuordnungstabelle tragen, die mit der jeweiligen
Maske assoziiert sind. UIDs und Objektzuordnungstabellen werden
unten bezüglich 5A–5B ausführlicher
beschrieben. Ebenso beginnt das erste Paket für jedes Objekt mit einem 16-Byte-Header 45, 45', der Informationen enthält, welche
ermöglichen,
dass der Digitalempfänger 54 die
Daten in den Objektpaketen 43, 43' extrahiert, speichert und manipuliert.
Außerdem
enthalten, wie in 2D in einer vergrößerten Ansicht
des Objektdaten-Headers 45 gezeigt, die Objektdaten-Header-Informationen die
Anzahl von Paketen, welche Daten für das jeweilige Objekt tragen,
den Datentyp des Objekts, die UID des Objekts und zeitmarkenbezogene
Informationen wie z. B. das letzte Vorkommen einer Verwendung der
Objektdaten in dem Programm. Der Typ der von dem System verwendeten Datenstrukturen
und die Verwendung von Zeitmarken durch das System werden unten
unter Bezugnahme auf 5A–5B, 6 und 7 ausführlicher
erläutert.
-
Bezüglich 3 ist
das Multiplexersystem 48' eine
erweiterte Version des in 2A gezeigten Multiplexersystems.
Das Multiplexersystem 48' ist
in der Lage, Mehrfachtransport- 29' und erweiterte Transportströme 46, 46'' als Eingaben zu nehmen, um ein
einziges Signal zu erzeugen, das an das Rundfunkmedium weitergeleitet
wird. Das illustrative Multiplexersystem 48' weist drei Transportstrom-Multipexer 60, 60', 60'', drei Modulatoren 68, 68', 68'', drei Aufwärtswandler 72, 72', 72'' und einen Mischer 78 auf.
Das Multiplexersystem 48' weist
drei Duplikat-Teilsysteme zum Umwandeln mehrerer Mengen von Transportsrömen zu Eingaben
in einen Mischer 78 auf. Jedes Teilsystem weist einen Multiplexer 60, 60', 60'' auf, um eine Menge von Transportströmen (TS1
bis TSN), (TS1' bis
TSN'), (TS1'' bis TSN'')
zu einem einzigen Transportstrom (TS, TS', TS'') zu kombinieren,
der als das Eingangssignal in einen digitalen Modulator verwendet
wird (beispielsweise einen Quadratur-Amplitudenmodulator (QAM) im
Fall eines nordamerikanischen Digitalkabelsystems oder einen 8VSB-Modulator
im Fall terrestrischer Übertragung) 68, 68', 68''. In einer Ausführungsform repräsentiert
jeder der Transportströme,
beispielsweise TS1 bis TSN, ein Fernsehprogramm. Das Ausgangsignal
des Modulators 68, 68', 68'' ist
ein Zwischenfrequenz-Eingangssignal in einen Aufwärtswandler 72, 72', 72'', der das Ausgangssignal des Modulators 68, 68', 68'' in die richtige Kanalfrequenz
für die Übertragung
umwandelt. Diese umgewandelten Kanalfrequenzen sind die Eingangsfrequenzen
in einen Frequenzmischer 78, der die kombinierten Signale auf
das Rundfunkmedium legt.
-
Bezüglich 4 weist
der Digitalempfänger 54 eine
Abstimmvorrichtung 100 zum Wählen des Rundfunkkanals von
Interesse aus dem Eingangs-Rundfunkstrom und Erzeugen eines Zwischenfrequenzsignals
(IF) auf, das die Video- und Anmerkungsdaten für den Kanal enthält. Das
IF-Signal ist ein Eingangssignal in einen Demodulator 104, der
das IF-Signal demoduliert und die Informationen in einen Transportstrom
(TS) extrahiert. Der Transportstrom ist das Eingangssignal in einen
Videodekoder 108 wie z. B. einen MPEG-Dekoder. Der Videodekoder 108 puffert
die empfangenen Videorahmen in einem Rahmenpuffer 112.
Die dekodierten Video- 114 und
Audio-118-Ausgangssignale aus dem Dekoder 108 sind
Eingangssignale in die Fernseh-Anzeigevorrichtung 58.
-
Die
Anmerkungsdaten werden durch den Videodekoder 108 separiert
und zur Verarbeitung an eine CPU 124 gesendet. Die Daten
werden in dem Speicher 128 gespeichert. Der Speicher speichert auch
ein Computerprogramm zum Verarbeiten von Anmerkungsdaten und Instruktionen
von einem Zuschauer. Wenn der Digitalempfänger 54 von dem Zuschauer
Instruktionen empfängt,
das Anmerkungsmaterial anzuzeigen, werden die Anmerkungsdaten als
computergrafische Bilder wiedergegeben, die einen Teil oder den
gesamten Rahmenpuffer 112 überlagern. Sodann überträgt der Dekoder 108 das
entsprechende Videosignal 114 an die Fernseh-Anzeigevorrichtung 58.
-
Für Übertragungen,
die von Medien getragen werden, welche Signale bidirektional tragen
können,
wie beispielsweise Kabel oder Glasfaser, kann eine Verbindung von
dem Digitalempfänger 54 zu
der Kopfstelle 50 des Rundfunksystems aufgebaut werden.
In einer alternativen Ausführungsform
für Übertragungen,
die von unidirektionalen Medien getragen werden, beispielsweise
herkömmlichem
Fernsehrundfunk oder Fernseh-Satellitenübertragungen, kann eine Verbindung
von dem Digitalempfänger 54 zu
der alternativen Netzwerkverbindung 56 aufgebaut werden,
die mit einem Rundfunkanbieter oder einer anderen Einheit kommuniziert,
ohne das Rundfunkmedium zu verwenden. Kommunikationskanäle für die Kommunikation
mit einem Rundfunkanbieter oder einer anderen Einheit, die nicht
Teil des Rundfunkmediums sind, können
Telefon, eine Internet- oder ähnliche
Computerverbindung und dergleichen sein. Es wird darauf hingewiesen,
dass solche Nicht-Rundfunk-Kommunikationskanäle auch dann verwendet werden
können,
wenn bidirektionale Rundfunkmedien verfügbar sind. Solche Kommunikationsverbindungen,
die vom Standort des Zuschauers geschickte Nachrichten an den Rundfunkanbieter
oder an eine andere Einheit wie z. B. einen Werbetreibenden tragen,
werden kollektiv als Rückkanäle bezeichnet.
-
Die
Rückkanalkommunikation
kann für
eine Vielzahl von Zwecken verwendet werden, darunter das Sammeln
von Informationen, die für
den Rundfunkanbieter oder für
den Werbetreibenden von Wert sein könnten, sowie die Ermöglichung
einer Kommunikation des Zuschauers mit dem Rundfunkanbieter, dem
Werbetreibenden oder anderen.
-
In
einer Ausführungsform
generiert der Digitalempfänger 54 Berichte,
die sich auf die Interaktion des Zuschauers mit den Anmerkungsinformationen über die
Fernbedienung beziehen. Die über
den Rückkanal
an den Rundfunkanbieter gesendeten Berichte können Berichte bezüglich der
Bedienung der Fernbedienung umfassen, z. B. Fehlerberichte, die Informationen
bezüglich
einer hinsichtlich der dem Zuschauer zur Verfügung stehenden Wahlmöglichkeiten
inkorrekten Verwendung der Fernbedienung enthalten, beispielsweise
eines Versuches, eine „illegale" oder nicht definierte
Aktion durchzuführen,
oder ein Aktivitätsbericht,
der vom Zuschauer durchgeführte
Aktionen enthält,
die markiert sind, um die Zeitmarke des Materials zu zeigen, das
zum jeweiligen Zeitpunkt auf dem Fernsehschirm angezeigt wurde. Die
Informationen, die erkannt und gesendet werden können, umfassen einen Bericht über die
Aktionen eines Zuschauers, wenn von Werbetreibenden bereitgestelltes
Material verfügbar
ist, wie z. B. Aktionen des Zuschauers zum Zugriff auf solches Material,
sowie vom Zuschauer ausgeführte
Aktionen, die einen solchen Zugriff auf das Material beenden, beispielsweise
eine Erkennung des Punktes, an dem ein Zuschauer einen Zugriffsversuch
abbricht. In einigen Ausführungsformen
kann der Kanal ein Zwischenspeicherkanal sein.
-
Die
Informationen, die erkannt und gesendet werden können, umfassen weiterhin Informationen bezüglich einer
Transaktion, die ein Zuschauer vornehmen möchte, beispielsweise dem Aufgeben
einer Bestellung für
einen in einer Sendung beworbenen Artikel (z. B. ein Hemd) einschließlich der
Bestellmenge, der Größe, der
Farbe, der Guthabeninformationen und/oder persönlichen Geheimzahl (PIN) des Zuschauers
sowie Versandinformationen. Daneben umfassen die Informationen,
die erkannt und gesendet werden können, auch Informationen bezüglich einer
Dienstanforderung, beispielsweise einer Anforderung zum Vorführen einer
Pay-per-View-Sendung einschließlich Identifikation
des Dienstes, Zeit und Ort seiner Bereitstellung, Zahlungsinformationen
und Ähnliches.
Außerdem
umfassen die Informationen, die erkannt und gesendet werden können, auch
Informationen bezüglich
nichtgeschäftlicher
Informationen wie z. B. politische Informationen, Informationen des öffentlichen
Rundfunks, wie sie z. B. vom National Public Radio bereitgestellt
werden, und Anforderungen für
einen Zugriff auf Datenarchive wie z. B. die Patent- und Markendatenbanken
des US-Patent- und Markenamtes und dergleichen.
-
Der
Rückkanal
kann auch zur interaktiven Kommunikation verwendet werden, wobei
z. B. ein potentieller Käufer
einen Artikel auswählt,
der gerade nicht lieferbar ist, und eine Serie von Mitteilungen
hinsichtlich der Möglichkeit
folgt, eine andere Wahl zu treffen, oder darüber, ob und wie lange der Zuschauer
bereit ist, auf eine Neulieferung des Artikels zu warten. Andere
illustrative Beispiele für
interaktive Kommunikation sind das Anzeigen eines gerade aktuellen
Preises, der Verfügbarkeit
einer bestimmten Ware oder Dienstleistung (etwa der Lage verfügbarer Sitzplätze in einem
Stadion bei einer bestimmten Sportveranstaltung, beispielsweise
dem dritten Spiel der World Series von 2000), und eine Bestätigung über einen
Kauf.
-
Wenn
ein Zuschauer mit dem Anmerkungssystem zu interagieren beginnt,
kann der Empfänger 54 ein
Flag setzen, das die zur Durchführung
der Interaktion mit dem Zuschauer erforderlichen Daten solange geschützt, wie
der Zuschauer die Interaktion fortsetzt, unabhängig von dem Programmmaterial, das
eventuell auf der Video-Anzeigevorrichtung angezeigt wird, und unabhängig von
einem Zeitpunkt, zu dem die Daten beim Fehlen der Interaktion des Zuschauers
verworfen würden.
In einer Ausführungsform
setzt der Empfänger 54 ein „In-Verwendung-Bit" für jeden
Wert oder jede Datenstruktur, der bzw. die in einer Datenstruktur
erscheint, welche dem Zuschauer Informationen bereitstellt. Ein
gesetztes „In-Verwendung-Bit" verhindert, dass
der Empfänger 54 den
Wert oder die Datenstruktur verwirft. Wenn der Zuschauer die Interaktion
beendet, wird das „In-Verwendung-Bit" auf null zurückgesetzt,
und der Wert oder die Datenstruktur kann verworfen werden, wenn
seine bzw. ihre Gültigkeitsdauer
abläuft.
Ebenso in den Datenstrukturen des Systems vorhanden, aber in 5A–5B nicht
gezeigt, ist eine Ablauf-Zeitmarke für jede Datenstruktur, mit der
das System diese Datenstruktur verwirft, sobald die Zeit des Programms
die Ablauf-Zeitmarke überschritten hat.
Dieser Prozess des Verwerfen wird durch einen Garbage-Sammler 532 gesteuert.
-
Im
Laufe der Interaktion mit dem Anmerkungssystem kann ein Zuschauer
einen Katalog erstellen und modifizieren. Der Katalog kann Artikel, über deren
Kauf der Zuschauer entscheiden kann, sowie Beschreibungen von Informationen
enthalten, die der Zuschauer erhalten möchte. Der Zuschauer kann aus
einer oder mehreren Sendungen eine Auswahl zur Aufnahme in den Katalog
treffen. Der Zuschauer kann den Inhalt des Katalogs modifizieren und
kann unmittelbar beim Hinzufügen
eines Artikels zum Katalog oder zu einem späteren Zeitpunkt eine Geschäftstransaktion
einleiten.
-
Der
Katalog kann Eintragsinformationen über ein Programm, das der Zuschauer
angesehen hat, und die Anzahl von Artikeln enthalten, die dem Katalog
hinzugefügt
worden sind. Auf einer höchsten Ebene
kann der Zuschauer mit dem System durch Verwendung einer Vorrichtung
wie z. B. einer Fernbedienung interagieren, um den Artikel von Interesse, die
Bestellungseinzelheiten von Interesse wie z. B. Menge, Preis, Modell,
Größe, Farbe
und dergleichen, und den Status einer Bestellung zu identifizieren,
wobei beispielsweise die Bestellung unmittelbar aufgegeben werden
oder der Artikel lediglich einer Liste mit Artikeln von Interesse
in dem Katalog hinzugefügt wird.
-
Auf
einer weiteren Detaillierungsebene kann der Zuschauer den Eintrag
für das
Programm auswählen
und kann die einzelnen Einträge
in der Katalogliste durchsehen, darunter den Status des Eintrags,
beispielsweise „gespeichert" oder „bestellt". Der Eintrag „gespeichert" bedeutet, dass der
Artikel in die Liste eingetragen wurde, aber nicht bestellt wurde
(d. h. die auf den Artikel bezogenen Daten sind gesperrt worden),
während „bestellt", wie der Name sagt,
impliziert, dass eine tatsächliche
Bestellung des Artikels auf der Liste über den Rückkanal aufgegeben worden ist.
Der Zuschauer kann die Liste auf wiederum einer weiteren Detaillierungsebene
abfragen, um die Einzelheiten zu einem Artikel zu sehen (z. B. Marke,
Modell, Beschreibung, Preis, Bestellmenge, Farbe usw.). Handelt
es sich bei dem Artikel nicht um ein gewerbliches Produkt, sondern
um Informationen, die für
den Zuschauer von Interesse sind, beispielsweise biografische Angaben über einen Schauspieler,
der in einer Szene auftritt, so werden durch eine Abfrage auf der
untersten Ebene die Informationen angezeigt. In einer Ausführungsform
erfolgt die Navigation durch den Katalog mit der Fernbedienung.
-
Der
Zuschauer kann ein Konto zur Verwendung bei der Abwicklung von Transaktionen
wie den oben beschriebenen einrichten. In einer Ausführungsform
kann der Zuschauer Informationen wie z. B. seinen Namen, eine Lieferadresse
und finanzielle Informationen wie beispielsweise eine Kreditkarten- oder
Lastschriftkartennummer eingeben. Dies ermöglicht es dem Zuschauer, von
jedem Empfänger aus,
der gemäß dem System
funktioniert, beispielsweise einem Empfänger im Haus eines Freundes oder
in einem Hotelzimmer, eine Bestellung aufzugeben. In einer anderen
Ausführungsform
kann der Zuschauer einen Identifikator wie z. B. eine Abonnementkontonummer
und ein Passwort verwenden, beispielsweise die Abonnentenkontonummer,
die mit der Bereitstellung des Dienstes durch den Rundfunkanbieter
assoziiert ist. In einer solchen Situation verfügt der Rundfunkanbieter bereits über die
Anschrift und andere Lieferinformationen für den Zuschauer sowie über ein
offenes Finanzkonto mit dem Zuschauer. In einem solchen Fall gibt
der Zuschauer einfach eine Bestellung auf und bestätigt seine
oder ihre Wünsche
durch Verwendung des Passworts. In wiederum einer anderen Ausführungsform
kann der Zuschauer einen personalisierten Katalog einrichten. Als
Beispiel für
eine solche Situation kann den Mitgliedern einer Familie ein persönlicher
Katalog gegeben werden, und sie können Waren und Dienstleistungen
bis zu Ausgabelimits und gemäß Regeln
bestellen, die mit dem bzw. der finanziell Verantwortlichen in der
Familie vereinbart sind.
-
Je
nach Standort des Zuschauers und des Rundfunksystems kann es sich
bei dem Format der über
den Rückkanal übermittelten
Informationen um eins der Formate QPSK-Modulation (wie in den USA verwendet),
DVB-Modulation (wie in Europa verwendet) oder andere Formate handeln.
Je nach Sicherheitsbedarf beim Senden können die über den Rückkanal gesendeten Nachrichten
vollständig
oder teilweise verschlüsselt
sein, wobei jedes Verschlüsselungsverfahren
verwendet werden kann. Die über den
Rückkanal
kommunizierten Informationen können
Informationen umfassen, welche die Authentifikation des Absenders
betreffen (beispielsweise ein eindeutiger Identifikator oder eine
digitale Signatur), die Intaktheit der Kommunikation (z. B. ein Fehlerkorrekturverfahren
oder -system wie z. B. CRC), Informationen bezüglich der Nicht-Zurückweisung
einer Transaktion, Systeme und Verfahren bezüglich der Verhinderung einer
Dienstverweigerung sowie andere ähnliche
Informationen bezüglich
Datenschutz, Authentizität
und Rechtsverbindlichkeit der Kommunikation.
-
Je
nach Art der kommunizierten Informationen können die Informationen an den
Rundfunkanbieter gerichtet sein, beispielsweise Informationen bezüglich Zuschauerreaktionen
auf übertragenes Material
und Anforderungen von Pay-per-View-Material; Informationen können an
einen Werbetreibenden gerichtet sein, beispielsweise eine Bestellung
eines Hemdes; und Informationen können an Dritte gerichtet sein,
beispielsweise eine Zugriffsanforderung für eine von Dritten geführte Datenbank. 5A–5B zeigen
Datenstrukturen, die in der Erfindung zum Speichern von Anmerkungsdateninformationen
verwendet werden. Die Datenstrukturen speichern Informationen zu
Position und/oder Gestalt von auf Videorahmen identifizierten Objekten
und Informationen, die Zuschauerinteraktionen mit identifizierten
Objekten ermöglichen.
-
Insbesondere
zeigen 5A–5B einen Videorahmen 200,
das ein Bild eines Hemdes 205 als erstes Objekt, ein Bild
einer Mütze 206 als
zweites Objekt und ein Bild einer Hose 207 als drittes
Objekt enthält.
Um die Gestalt und/oder Position dieser Objekte zu repräsentieren,
generiert das Authoring-Tool 24 eine Maske 210,
die ein zweidimensionales Pixel-Array ist, wobei jeder Pixel einen
zugehörigen ganzzahligen
Wert unabhängig
von der Farbe oder dem Intensitätswert
des Pixels aufweist. Die Maske repräsentiert die Positionsinformationen
auf verschiedene Arten, unter anderem durch Umranden oder Markieren
des Objekts (oder Bereiches der Anzeigevorrichtung), durch Verändern oder
Verstärken eines
visuellen Effekts, mit dem das Objekt (oder der Bereich) angezeigt
wird, durch Anordnen einer Grafik in festem Bezug zu dem Objekt
oder durch Anordnen einer Nummer in festem Bezug zu dem Objekt.
In dieser illustrativen Ausführungsform
generiert das System für
jeden Rahmen oder jedes Videobild eine einzelne Maske 210.
Eine Sammlung von Videobildern mit gemeinsamen Elementen und einer
gemeinsamen Kameraperspektive ist als Einstellung definiert. In
der illustrativen Maske 210 gibt es vier identifizierte Bereiche:
einen durch die Ganzzahl 0 identifizierten Hintergrundbereich 212,
einen durch die Ganzzahl 1 identifizierten Hemdbereich 213,
einen durch die Ganzzahl 2 identifizierten Mützenbereich 214 und
einen durch die Ganzzahl 3 identifizierten Hosenbereich 215.
Der Fachmann wird erkennen, dass ebenso gut alternative Formen der
Repräsentation
von Objekten gewählt
werden könnten,
beispielsweise mathematische Beschreibungen eines Umrisses des Bildes.
Mit der Maske 210 sind ein eindeutiger Identifikator (UID) 216,
eine Zeitmarke 218 und ein Sichtbarkeits-Wort 219 assoziiert.
Die UID 216 bezieht sich auf eine mit der jeweiligen Maske
assoziierte Objektzuordnungstabelle 217. Die Zeitmarke 218 kommt
aus dem Videokodierer 36 und wird vom System zur Synchronisation
der Masken mit den Videorahmen verwendet. Der Synchronisationsprozess wird
unten unter Bezugnahme auf 6 ausführlicher
beschrieben. Das Sichtbarkeits-Wort 219 wird vom System
zur Identifikation derjenigen Objekte in einer bestimmten Einstellung
verwendet, die in einem bestimmten Videorahmen sichtbar sind. Obwohl dies
in 5A–5B nicht
gezeigt wird, enthalten alle anderen Datenstrukturen des Systems
ebenfalls ein In-Verwendung-Bit wie oben beschrieben.
-
Die
in 5A–5B gezeigte
illustrative Menge von Datenstrukturen, die Zuschauerinteraktionen
mit identifizierten Objekten ermöglichen,
umfasst: Objektzuordnungstabelle 217; Objekteigenschaftstabellen 220, 220', Primärdialogtabelle 230; Dialogtabellen 250, 250', 250'', Selektoren 290, 290', 290'', Aktionsidentifikatoren 257, 257', 257'', Stylesheet 240 sowie
Strings 235, 235', 235'', 235''', 256, 256', 256'', 259, 259', 259'', 259''', 259'''', 292, 292', 292'', 292'''.
-
Die
Objektzuordnungstabelle 217 weist eine Bereichsnummer für jeden
der identifizierten Bereiche 212, 213, 214, 215 in
der Maske 210 sowie eine entsprechende UID für jeden
Bereich von Interesse auf. Beispielsweise ist in der Objektzuordnungstabelle 217 der
Hemdbereich 213 als ganzzahliger Wert „eins" gespeichert, und es ist ihm die UID
01234 zugeordnet. Die UID 01234 zeigt auf die Objekteigenschaftstabelle 220.
-
Ebenfalls
in der Objektzuordnungstabelle 217 ist der Mützenbereich 214 als
ganzzahliger Wert zwei gespeichert, und es ist ihm die UID 10324
zugeordnet. Die UID 10234 zeigt auf die Objekteigenschaftstabelle 220'. Die Objektzuordnungstabelle
beginnt mit der Ganzzahl eins, weil der Standardwert für den Hintergrund
null ist.
-
Generell
speichern Objekteigenschaftstabellen Bezüge auf die Informationen zu
einem bestimmten Objekt, die von dem System dazu verwendet werden,
Zuschauerinteraktionen mit diesem Objekt zu ermöglichen. Beispielsweise weist
die Objekteigenschaftstabelle 220 ein Titelfeld 221 mit
der UID 5678, ein Preisfeld 222 mit der UID 910112 und
ein Primärdialogfeld 223 mit
der UID 13141516 auf. Die zweite Objekteigenschaftstabelle 220' weist ein Titelfeld 221' mit der UID
232323, ein Primärdialogfeld 223' mit derselben
UID wie das Primärdialogfeld 223 sowie
ein Preisfeld 222' mit
der UID 910113 auf. Die UIDs des Titelfeldes 221 und des
Preisfeldes 222 der Objekteigenschaftstabelle 220 zeigen
jeweils auf Strings 235, 235', die Informationen zu dem Namen des
Hemdes, „Crew-Poloshirt", und seinem Preis, „$14,95", enthalten. Das
Titelfeld 221' der
Objekteigenschaftstabelle 220' zeigt auf den String 235'', der Informationen zum Namen der
Mütze, „Sport-Cap", enthält. Das
Preisfeld der Objekteigenschaftstabelle 220' zeigt auf den String 235'''.
Der Fachmann wird leicht erkennen, dass für einen gegebenen Bereich von
durch Authoring bearbeitetem Video zahlreiche Objekteigenschaftstabellen
existieren, die den durch das Authoring-Tool 24 identifizierten
Objekten entsprechen.
-
Die
UID des Primärdialogfeldes 223 der
Objekteigenschaftstabelle 220 zeigt auf eine Primärdialogtabelle 230.
Die Dialogtabelle 230 wird ebenfalls durch die UID des
Primärdialogfeldes 223' der zweiten
Objekteigenschaftstabelle 220' referenziert. Der Fachmann wird
leicht erkennen, dass die zweite Objekteigenschaftstabelle 220' einem anderen
Objekt entspricht, das innerhalb des den Videorahmen 200 enthaltenden
Programms identifiziert ist. Allgemein strukturieren Dialogtabellen 230 die
Text- und Grafikfelder, die vom System bei der Interaktion mit dem Zuschauer
verwendet werden. Dialogtabellen 230 dienen als Datenmodell
in einem Programmierungsparadigma „Modell-Ansicht-Steuerung". Die von einem Zuschauer
gesehene Ansicht wird durch eine Stylesheet-Tabelle 240 mit
der UID 13579 beschrieben, und die Steuerungskomponente wird von
Software auf dem Digitalempfänger 54 bereitgestellt.
Die illustrative Primärdialogtabelle 230 wird
zum Einleiten der Interaktion mit einem Zuschauer verwendet. Weitere
Beispiele für
Dialogtabellen sind unter anderem Felder zum Anzeigen der für einen
bestimmten Artikel erhältlichen
Farben 250 oder Größen 250', der Anzahl
Artikel, die er oder sie kaufen möchte, für die Bestätigung eines Kaufs 250'' und um sich bei einem Zuschauer
für seinen
bzw. ihren Kauf zu bedanken. Dem Fachmann wird bewusst sein, dass
diese Liste nicht vollständig
ist und dass der Bereich möglicher Dialogtabellen
weit ist.
-
Optik
und Eindruck einer bestimmten auf dem Bildschirm des Zuschauers
angezeigten Dialogtabelle werden durch ein Stylesheet gesteuert.
Das Stylesheet steuert die Ansichtsparameter in dem Programmierungsparadigma „Modell-Ansicht-Steuerung", einem dem Fachmann
bekannten Paradigma für
die Software-Entwicklung. Das Stylesheet-Feld 232 der Dialogtabelle 230 enthält eine
UID 13579, die auf die Stylesheet-Tabelle 240 zeigt. Die
Stylesheet-Tabelle 240 enthält ein Schriftartfeld 241,
ein Gestaltfeld 242 und das Grafikfeld 243. Im
Betrieb hat jedes dieser Felder eine UID, die auf die entsprechende
Datenstruktur-Ressource zeigt. Das Schriftartfeld 241 zeigt
auf ein Schriftartobjekt, das Gestaltfeld 242 zeigt auf
eine Ganzzahl, und das Grafikfeld 243 zeigt auf ein Bildobjekt,
das unten erläutert
wird. Durch Vorsehen unterschiedlicher Stylesheets ist das vorliegende
System leicht in der Lage, die Präsentation von Informationen
an ein bestimmtes Programm anzupassen. Beispielsweise müsste ein
Einzelhändler,
der in zwei auf verschiedene demografische Zuschauergruppen zielenden
Programmen Werbung für
ein Hemd machen möchte,
die Produktinformationen nur einmal eingeben. Die durch diese Programme
unterstützten
Zuschauerinteraktionen würden
dieselben Daten referenzieren, wobei lediglich unterschiedliche
Stylesheets verwendet würden.
-
Der
Aufbau vieler Datenstrukturen der vorliegenden Ausführungsform
als Name-UID-Paar bietet Kompatibilitätsvorteile für das System.
Insbesondere können
durch die Verwendung von Name-UID-Paaren
anstelle von festen Feldern die Datentypen und Protokolle ohne Einfluss
auf ältere
Digitalempfänger-Software
erweitert werden, und es wird ermöglicht, dasselbe mit Anmerkungen
versehenen Fernsehprogramm mehrfach zu verwenden.
-
Die
Flexibilität
des vorliegenden erfindungsgemäßen Systems
wird durch die Anforderung des Systems erhöht, dass die UIDs global eindeutig
sein müssen.
In der illustrativen Ausführungsform
sind die UIDs als Zahlen definiert, wobei die erste Menge von Bits
eine bestimmte Datenbanklizenz repräsentiert und die zweite Menge
von Bits ein bestimmtes Datenstrukturelement repräsentiert.
Der Fachmann wird erkennen, dass dies eine besondere Ausführungsform
ist und dass es mehrere Wege gibt, zu gewährleisten, dass die UIDs global
eindeutig sind.
-
Die
globale Eindeutigkeit der UIDs hat den Vorteil, dass beispielsweise
zwei Rundfunkanstalten, die auf demselben Kabelsystem übertragen,
sicher sein können,
dass die in ihren Programmen identifizierten Artikel unterschieden
werden können.
Es bedeutet auch, dass der Kopfstellenempfänger 50 Daten aus
Datenbanken 30, 33 über das Netzwerk 31 für einen
bestimmtes Objekt abrufen kann, weil dieses Objekt einen über alle
Komponenten des Systems eindeutigen Identifikator aufweist. Die
Globalität der
UIDs bedeutet, dass das System die Unterscheidbarkeit verschiedener
Objekte gewährleisten kann,
sie bedeutet aber auch, dass Anwender des vorliegenden erfindungsgemäßen Systems
sich dafür
entscheiden können,
Artikel nicht zu unterscheiden, wenn ein solcher Betrieb effizienter
ist. Beispielsweise muss ein Händler,
der dasselbe Hemd in mehreren Programmen verkauft, die relevanten
Objektdaten nur einmal eingeben, und außerdem kann der Händler die
UID und die referenzierten Daten zusammen mit ihrem Lieferanten
verwenden, wodurch Kosten für
zusätzliche
Dateneingabe entfallen.
-
In
der vorliegenden Ausführungsform
des gegenwärtigen
Systems gibt es vier definierte UID-Klassen: Null-UIDs, Ressourcen-UIDs, Nicht-Ressourcen-UIDs
und erweiterte UIDs. Die Null-UID
ist ein bestimmter Wert, der vom System dazu verwendet wird, anzuzeigen,
dass die UID nicht auf eine Ressource zeigt. Ressourcen-UIDs können neun
unterschiedliche Ressourcentypen identifizieren: Objektzuordnungstabellen,
Objekteigenschaftstabellen, Dialogtabellen, Selektoren, Stylesheets,
Bilder, Schriftarten, Strings und Vektoren. Selektor-Datenstrukturen
und Vektorressourcen werden unten erläutert. Bildressourcen referenzieren
Grafiken, die vom System verwendet werden. Die Nicht-Ressourcen-UIDs
umfassen vier Arten von Werten: Farbwerte, Aktionsidentifikatoren,
ganzzahlige Werte und Symbole. Die Aktionsidentifikatoren umfassen „Speichern/Bookmark", „Abbrechen", „Nächster Artikel", „Voriger
Artikel", „Bestellung
abschicken" und „Ende", neben anderen vom
Zuschauer ausgeführten Aktionen.
Symbole können
in einem Name-UID-Paar Namen repräsentieren; das System sucht
den Namen in dem Stapel und ersetzt ihn durch die zugehörige UID.
Nicht-Ressourcen-UIDs enthalten einen tatsächlichen Wert. Erweiterte UIDs
stellen einen Mechanismus bereit, mit dem das System in der Lage ist,
die Größe einer
UID zu erhöhen.
Eine erweiterte UID zeigt dem System an, dass die aktuelle UID das Präfix einer
längeren
UID ist.
-
Wenn
das System eine Eingabe durch den Zuschauer benötigt, verwendet es eine Selektor-290-Datenstruktur. Die
Selektor-290-Datenstruktur ist eine Tabelle mit Paaren
von UIDs, wobei eine erste Spalte UIDs von Artikeln enthält, die
dem Zuschauer angezeigt werden sollen, und eine zweite Spalte UIDs
von Aktionen enthält,
die mit den einzelnen Artikeln assoziiert sind. Wenn Software in
dem Digitalempfänger 54 auf
eine Selektor-290-Datenstruktur stößt, gibt sie auf dem Bildschirm
des Zuschauers alle Artikel in der ersten Spalte wieder, im Allgemeinen
Auswahlmöglichkeiten
für den
Zuschauer. Diese Artikel könnten
Strings, Bilder oder jede Kombination von Nicht-Ressourcen-UIDs
sein. Sobald sie auf dem Bildschirm sind, kann der Zuschauer aufwärts und
abwärts
durch die Artikel scrollen. Wenn der Zuschauer einen der Artikel
auswählt,
führt die
Software in dem Digitalempfänger 54 die
mit diesem Artikel verbundene Aktion aus. Diese Aktionen umfassen
die Wiedergabe eines Dialogfeldes, das Ausführen eines Nicht-Ressourcen-Aktionsidentifikators
oder die Wiedergabe einer weiteren Selektor-290'-Datenstruktur.
Die Selektoren werden durch die Menüfelder 253, 253', 253'', 253''' referenziert.
-
Im
Betrieb legt das System, wenn ein Zuschauer ein Objekt auswählt und
sich durch eine Reihe von Datenstrukturen navigiert, jede der aufeinanderfolgenden
Datenstrukturen, die zum Anzeigen von Informationen für einen
Zuschauer verwendet werden, auf einen Stapel in dem Speicher 128.
Als Beispiel sei die folgende Zuschauerinteraktion genannt, die
durch die in 5A–5B gezeigten Datenstrukturen
unterstützt
wird. Zuerst wählt
ein Zuschauer die Mütze 214 aus,
wodurch bewirkt wird, dass das System über die Objektzuordnungstabelle 217 die
Objekteigenschaftstabelle 220' lokalisiert und die Objekteigenschaftstabelle 220' auf den Stapel legt.
In der folgenden Erläuterung
ist implizit, dass jede vom Zuschauer referenzierte Datenstruktur
auf den Stapel gelegt wird.
-
Als
Nächstes
zeigt das System eine Primärdialogtabelle
an, die den Titel 235'' und den Preis 235'' der Mütze enthält, wobei außerdem das
Format der dem Zuschauer präsentierten Informationen durch
das Stylesheet 240 gesteuert wird. Zusätzlich enthält die anfängliche Anzeige für den Zuschauer eine
Reihe von Auswahlmöglichkeiten,
die auf Basis der in dem Selektor 290 enthaltenen Informationen wiedergegeben
werden. Auf Basis des Selektors 290 präsentiert das System dem Zuschauer
die Auswahlmöglichkeiten,
die durch die Strings „Ende" 256, „Kaufen" 265' und „Speichern" 256'' repräsentiert sind und die jeweils
mit den UIDs 9999, 8888 bzw. 7777 referenziert werden. Die Aktionsidentifikatoren Ende 257' und Speichern 257 werden
für das
System durch die UIDs 1012 bzw. 1010 referenziert.
-
Wenn
der Zuschauer den „Kaufen"-String 256' auswählt, verwendet
das System die Dialogtabelle 250, UID 1011, um dem Zuschauer
die Farbmöglichkeiten
anzuzeigen. Im Einzelnen bringt der Selektor 290' das System
dazu, dem Zuschauer die Strings „Rot" 292, „Blau" 292', „Grün" 292'' bzw. „Gelb" 292''',
UIDs 1111, 222, 3333 bzw. 4444, anzuzeigen. Der Titel für die Dialogtabelle 250 wird
vom System durch das variable Symbol1 266' lokalisiert. Als die Objekteigenschaftstabelle 220' auf den Stapel gelegt
wurde, wurde das Symbol1 266 mit der UID 2001 assoziiert.
Wenn das System auf das Symbol1 266' stößt, führt es daher eine Verfolgung
nach oben durch den Stapel durch, bis es das Symbol1 266' lokalisiert,
das wiederum das System über
die UID 2001 dazu bringt, den String „Farbe auswählen" 259' anzuzeigen.
-
Wenn
der Zuschauer den „Blau"-2222-String 292' auswählt, führt das
System den mit der UID 5555 assoziierten Aktionsidentifikator aus
und zeigt eine Dialogtabelle an, die mit dem String „Größe wählen" 259 bezeichnet
ist, der durch Symbol2, UID 2002 lokalisiert wird. Auf Basis des
Selektors 290'', der durch
die UID 2003 lokalisiert wird, gibt das System den String „Large" 259'', UID 1122, als einzige erhältliche
Größe wieder.
Hätte der
Zuschauer eine andere Farbe ausgewählt, so wäre er zu derselben Dialogtabelle
geleitet worden, UID 5555, weil es die Mütze nur in „Large" gibt. Nachdem der Zuschauer den String „Large" 259'' ausgewählt hat, präsentiert das System dem Zuschauer
die Dialogtabelle 250'', UID 6666 zur
Bestätigung
des Kaufs. Die Dialogtabelle 250'' verwendet
den Selektor 290'', UID 2003, um
dem Zuschauer die Strings „Ja" bzw. „Nein" zu präsentieren,
UIDs 1113 bzw. 1114. Nachdem der Zuschauer den „Ja"-String 259''' ausgewählt hat,
sendet das System die Transaktion gemäß Vorgabe durch den Aktionsidentifikator
Bestellung abschicken 257'', UID 1013.
Hätte der
Zuschauer in Reaktion auf die Bestätigungsaufforderung den „Nein"-String 259''' gewählt, so
hätte das
System die jeweilige Zuschauerinteraktion durch Ausführung des
Aktionsidentifikators Beenden 257' verlassen. Als Teil der Beenden-Operation
hätte das
System die Objekteigenschaftstabelle 220' und alle folgenden Datenstrukturen,
die auf Basis dieser speziellen Interaktion des Zuschauers mit dem
System auf dem Stapel abgelegt wurden, aus dem Stapel entfernt.
Ebenso hätte es
nach der Durchführung
der Kaufanforderung durch das System die Datenstrukturen aus dem
Stapel entfernt.
-
Wenn
eine Aktion mehr als einen Schritt erfordert, verwendet das System
eine Vektor-Ressource,
die eine geordnete Menge von UIDs ist. Wenn beispielsweise ein Zuschauer
eine Referenz auf einen Artikel speichern möchte, den er oder sie gefunden
hat, muss das System zwei Operationen ausführen: Erstens muss es die eigentliche
Speicheroperation ausführen,
die durch die Nicht-Ressourcen-UID Speichern angezeigt wird, und
zweitens muss es dem Zuschauer ein Dialogfeld präsentieren, das anzeigt, dass
der Artikel gespeichert wurde. Daher würde die Vektor-UID, die eine
Referenz speichern kann, die Nicht-Ressourcen-UID Speichern und
eine Dialogtabellen-UID umfassen, die auf eine Dialogtabelle zeigt,
die den entsprechenden Text referenziert.
-
Ein
besonderer Vorteil des vorliegenden erfindungsgemäßen Systems
ist, dass die Datenstrukturen dazu ausgestaltet sind, funktional
effizient und flexibel zu sein. Beispielsweise bedeutet die verteilte Eigenschaft
der Datenstrukturen, dass nur eine minimale Datenmenge gesendet
werden muss. Mehrere Datenstrukturelemente, beispielsweise die Objekteigenschaftstabellen 220, 220', können auf
dasselbe Datenstrukturelement zeigen, beispielsweise die Dialogtabelle 230,
und dieses Datenstrukturelement muss nur einmal gesendet werden.
Die beschriebene Stapeloperation funktioniert zusammen mit der verteilten
Eigenschaft der Datenstruktur so, dass beispielsweise die Mütze 214 keinen
eigenen Selektor 290 hat, der Selektor 290 aber
dennoch beim Anzeigen für
die Mütze 214 spezifiziert
werden kann. Die verteilte Eigenschaft der Datenstrukturen hat auch den
Vorteil, dass einzelne Dateneinheiten unabhängig voneinander modifiziert
werden können,
ohne dass die in den anderen Datenstrukturen gespeicherten Information
davon berührt
werden.
-
Ein
weiterer Aspekt des vorliegenden erfindungsgemäßen Systems, der Flexibilität bietet,
ist eine zusätzliche
Verwendung von Symbolen als variablem Datentyp. Ein Symbol kann
zusätzlich
dazu, dass es einen Wert aufweist, der durch eine Referenz auf dem
Stapel geliefert wird, auch eine Ressource referenzieren, die zu
irgendeinem Zeitpunkt nach dem anfänglichen Authoring-Prozess geliefert
werden kann. Beispielsweise kann ein Symbol bewirken, dass die DTV-Rundfunk-Infrastruktur 12 einen
Preis zur Übertragungszeit
bereitstellt. Hierdurch wird beispielsweise ermöglicht, dass ein Händler ein
Objekt abhängig
vom jeweils sendenden Kabelsystem mit unterschiedlichen Preisen
auszeichnet.
-
Ein
weiterer Aspekt der Flexibilität,
die durch die verteilte Datenstruktur der vorliegenden Erfindung
bereitgestellt wird, ist dass sie Interaktionsparadigmen mit mehreren
Zuschauern unterstützt.
Beispielsweise bedeutet die weitreichende Variation in den Dialogtabellen
und die Anordnung ihrer Assoziation, dass die Struktur der Zuschauerinteraktion
flexibel ist und leicht vom Autor gesteuert werden kann.
-
Ein
weiteres Beispiel für
die Variation des Zuschauereindrucks, die vom System unterstützt wird, ist
dessen Fähigkeit,
zwischen mehreren Vidoströmen
umzuschalten. Dieses Merkmal nutzt die Struktur eines MPEG2-Transportstroms,
der aus mehreren Programmströmen
besteht, wobei jeder Programmstrom aus Video-, Audio- und Dateninformationen
bestehen kann. In einem MPEG2-Transportstrom kann eine einzelne Übertragung
auf einer bestimmten Frequenz mehrere digitale Fernsehprogramme
parallel ergeben. Wie dem Fachmann bekannt sein dürfte, wird
dies durch Assoziieren einer Programmzuordnungstabelle, die als
PMT bezeichnet wird, mit jedem Programm in dem Strom erreicht. Die
PMT identifiziert die Paketidentifikatoren (PIDs) der Pakete in
dem Strom, die dem jeweiligen Programm entsprechen. Diese Pakete
enthalten die Video-, Audio- und Datenpakete für jedes Programm.
-
Unter
Bezugnahme auf 5C wird eine Objekteigenschaftstabelle 220'' gezeigt, die ein Linktypfeld 270 mit
einem entsprechenden Linktypeintrag in dem UID-Feld und ein stream_num-Feld 227 [„Stromnummer"] mit einem entsprechenden
PID 228 enthält.
Um das Umschalten zwischen Videoströmen zu ermöglichen, wählt das Authoring-Tool 24 den
PID 228, der dem PID einer PMT 229 eines bestimmten Programmstroms
entspricht. Wenn das Objekt ausgewählt ist, das der Objekteigenschaftstabelle 220'' entspricht, verwendet der Digitalempfänger 54 den Videolink-Eintrag 271 des
Linktypfeldes 270, um zu bestimmen, dass das Objekt ein
Videolink-Objekt ist. Sodann ersetzt der Digitalempfänger 54 den
PID der gerade aktuellen PMT durch den PID 228 der PMT 229.
Anschließend
verwendet der Digitalempfänger 54 die
PMT 229, um Daten zu extrahieren, die dem neuen Programm
entsprechen. Insbesondere enthält das
durch die PMT 229 bezeichnete Programm einen Videostrom 260,
der durch PID17 identifiziert ist, zwei Audioströme 261, 262,
die durch PID18 und PID19 identifiziert sind, und einen privaten
Datenstrom 263, der durch PID20 identifiziert ist. Auf
diese Weise ist der Zuschauer in der Lage, zwischen verschiedenen Programmströmen umzuschalten,
indem er die Objekte auswählt,
die mit diesen Programmströmen
assoziiert sind.
-
6 ist
ein Flussdiagramm 500 des Datenflusses und der Flusssteuerung
gemäß einer
Ausführungsform
des in 2 gezeigten Systems. 6 zeigt
Sequenzen von Schritten, die ablaufen, wenn ein Zuschauer mit der
Hardware und Software des Systems interagiert. In 6 wird
ein Strom 502 aus Daten für Masken an einem Maskendekoder 504 dekodiert.
Die dekodierten Maskierungsinformationen 506 werden als
Masken 508, 508', 508'' in einen Puffer oder eine Schlange
gebracht. Parallel zu den Maskierungsinformationen 506 wird
ein Strom 510 von Ereignissen, die man sich als Unterbrechungen vorstellen
kann, als Ereignisse 512, 512', 512'' in eine
Ereignisschlange gebracht, wobei in einer Eins-zu-eins-Entsprechung
ein Ereignis 512 einer Maske 508 entspricht. Ein
Maske 514 genannter Thread operiert mit den Masken 508.
Der Masken-514-Thread lokalisiert den Masken-Header, setzt einen
oder mehrere Puffer zusammen und verarbeitet die Maskierungsinformationen
in der Schlange, um Masken-Overlays zu generieren.
-
Zum
Anzeigen von Maskierungsinformationen dekodiert und expandiert ein
Dekompression 528 genannter Thread eine Maske, die beispielsweise
in einer Auflösung
von (320 mal 240) Pixeln gehalten ist, auf die passende Größe zum Anzeigen
auf einem Videobildschirm 530, beispielsweise unter Verwendung
einer Auflösung
von (640 mal 480) Pixeln. Der Dekompression-Thread 528 synchronisiert
die Anzeige von Masken-Overlays mit dem Video durch Untersuchen
einer in den Maskierungsinformationen kodierten Zeitmarke und Vergleich
derselben mit der Zeitmarke des aktuellen Videorahmens. Wenn der Masken-Overlay-Rahmen
dem Videorahmen voraus ist, ruht der Dekompression-Thread über eine
berechnete Zeitspanne, die den Unterschied zwischen den Zeitmarken
des Videos und der Maske repräsentiert.
Dieser Mechanismus hält
die Masken in genauer Synchronisation mit dem Video, so dass Masken Video-Objekte
zu überlagern
scheinen.
-
Ein
zweiter Strom 516 von Daten für Anmerkungen wird für einen
zweiten, Objekte 518 genannten Software-Thread bereitgestellt.
Der Objekte-Datenstrom 516 wird durch den Objekte-518-Thread analysiert
und dekodiert, der jedes Objekt dekodiert und es in die Objekthierarchie
einfügt.
Die Ausgabe des Objekte-518-Threads ist ein Strom von Objekten 519 mit
wechselnden Eigenschaften wie beispielsweise Gestalt, Größe und dergleichen.
-
Ein „Modell" genannter Thread 520 kombiniert
die Masken 508 und die Objekte 519, um ein Modell
des Systems zu bilden. Die Maskierungsinformationen enthalten eine
eindeutige ID für
jedes Objekt, das in dem Masken-Oberlay repräsentiert ist. Die eindeutigen
IDs entsprechen Objekten, die in dem Modell gespeichert sind. Der
Modell-520-Thread verwendet diese eindeutigen IDs zur Synchronisation
bzw. zum Abstimmen der entsprechenden Informationen.
-
Der
Modell-520-Thread enthält
Organisationsstrukturen wie z. B. einen Stapel, eine Hash-Tabelle und eine
Schlange, die dem Durchschnittsfachmann auf dem Gebiet der Software
alle bekannt sind. Beispielsweise kann der Stapel dazu verwendet
werden, in einem Speicher eine temporäre Anzeige eines Zustandes
festzuhalten, der wiederhergestellt werden kann, oder eine Speicherstelle,
die wieder aufgerufen werden kann. Eine Hash-Tabelle kann dazu verwendet
werden, Daten eines bestimmten Typs oder Zeiger auf diese Daten
zu speichern. Eine Schlange kann dazu verwendet werden, eine Sequenz
aus Bits, Bytes, Daten oder dergleichen zu speichern. Das Modell 520 interagiert
mit einem Ansicht 526 genannten Thread, der die auf einem
Bildschirm 530 wie z. B. einem Fernsehschirm angezeigten
Informationen steuert. Der Ansicht-526-Thread verwendet die Informationen,
die in dem Modell-520-Thread enthalten sind, der die Informationen mitverfolgt,
welche zum Anzeigen eines bestimmten Bildes mit oder ohne interaktiven
Inhalt benötigt
werden. Der Ansicht-526-Thread interagiert auch mit dem
Masken-514-Thread, um sicherzustellen, dass für den Anzeigebildschirm 530 die
passenden Informationen zur richtigen Zeit bereitgestellt werden.
-
Ein
Soft genannter Thread 522 steuert die Funktionen einer
Zustand 524 genannten Zustandsmaschine. Die Details von
Zustand 524 werden bezüglich 7 näher erläutert. Zustand 524 interagiert mit
dem Ansicht-Thread 536.
-
Es
ist ein Garbage-Sammler 532 vorgesehen, um Daten und andere
Informationen, die veralten, zu sammeln und zu entsorgen, beispielsweise Daten
mit einer Zeitmarke für
die späteste
Verwendung, die einem bereits vergangenen Zeitpunkt entspricht.
Der Garbage-Sammler 532 kann den Speicher des Systems regelmäßig säubern, um
solche überflüssigen Daten
und Informationen zu entfernen und Speicherplatz zum Speichern neuer
Daten und Informationen freizumachen. Solche Garbage-Sammler-Software
ist auf dem Gebiet der Software bekannt.
-
7 stellt
die Interaktionen zwischen und unter Zuständen innerhalb der Zustandsmaschine Zustand 524 dar.
Die Zustandsmaschine Zustand 524 enthält eine Rückstellung 602, die
bei Aktivierung die Zustandsmaschine Zustand 524 in eine
erneuerte Startstellung versetzt, wobei alle Werte wie z. B. Speicherinhalte,
Stapelzeiger und dergleichen auf Standardwerte gesetzt werden, die
zur Verwendung nach Bedarf in ROM, SDRAM, Magnetspeichern, auf CD-ROM
oder in einem geschützten Speicherbereich
gespeichert sein können.
Sobald das System zurückgesetzt
worden ist, geht der Zustand der Zustandsmaschine Zustand 524 in
einen Interaktivinhalts-Icon 604 genannten Status über, wie durch
den Pfeil 620 angezeigt. Siehe 7.
-
Interaktivinhalts-Icon 604 ist
ein Zustand, in dem ein visuelles Bild, ähnlich wie ein Logo, in einem definierten
Bereich der Fernseh-Anzeigevorrichtung 58 erscheint. Das
visuelle Bild wird als „Icon" bezeichnet; daher
der Name Interaktivinhalts-Icon für ein visuelles Bild, das aktiv
ist. Das Icon kann sein Aussehen verändern oder einen visuellen
Effekt verändern
oder verstärken,
mit dem das Icon angezeigt wird, beispielsweise durch Veränderung
der Farbe, Veränderung
der Transparenz, Veränderung
der Helligkeit, Aufblitzen oder Blinken oder durch scheinbare Bewegungen
oder dergleichen, wenn interaktive Informationen verfügbar sind.
-
Der
Zuschauer des Systems kann auf eine Anzeige dessen, dass Informationen
bereitstehen, durch Drücken
einer Taste an einer tragbaren Vorrichtung reagieren. Beispielsweise
wird in einer Ausführungsform
durch Drücken
eines nach rechts zeigenden Pfeils oder eines nach links zeigenden
Pfeils (analog zu den Pfeilen auf einer Computertastatur oder den
Lautstärkeknöpfen an
einer tragbaren Fernseh-Fernbedienung) bewirkt, dass der Zustand
der Zustandsmaschine Zustand 524 von Interaktivinhalts-Icon 604 auf
Maskenhervorhebung (MH) 606 wechselt. Der Zustandswechsel
von Interaktivinhalts-Icon 604 zu MH 606 wird
durch den Pfeil 622 angezeigt.
-
In
dem Zustand MH 606 wird, wenn ein oder mehrere Bereiche
eines Bildes Material entsprechen, das zur Präsentation für den Zuschauer bereitsteht, ein
solcher Bereich hervorgehoben, beispielsweise durch Vorsehen einer
Umrandungslinie, die den auf der Video-Anzeigevorrichtung erscheinenden Bereich
umreißt
(siehe 1D), oder indem das Aussehen
des Bereichs oder eines Teils davon verändert wird. In einer Ausführungsform
erscheint, wenn ein von einem Mann getragenes Hemd das hervorgehobene
Objekt ist, in Reaktion auf den Tastendruck eine visuell deutlicher
Umriss des Hemdes, oder das Hemd wechselt in Reaktion auf den Tastendruck
sein Aussehen. Eine Wiederholung des Tastendrucks oder das Drücken der
anderen Pfeiltaste bewirkt, dass ein anderes Objekt, beispielsweise
eine Weinflasche auf einem Tisch, auf ähnliche Weise hervorgehoben
wird. Generell werden die hervorhebbaren Objekte durch aufeinanderfolgende
Tastendrücke nacheinander
hervorgehoben.
-
Wenn
der Zuschauer über
einen vorgegebenen Zeitraum, beispielsweise zehn Sekunden lang, keine
Aktion ausführt,
kehrt der Zustand der Zustandsmaschine Zustand 524 in den
Zustand des Interaktivinhalt-Icons 604 zurück, wie
durch den Pfeil 624 angezeigt. Alternativ geht, wenn der
Zuschauer einen anderen Knopf als einen zur Seite zeigenden Pfeil
aktiviert, beispielsweise den „Select"-Knopf, der oft in
der Mitte der Navigationspfeile auf Fernbedienungen zu sehen ist,
der Zustand vom Zustand MH 606 in einen Zustand über, der
als Info-Feld 608 bezeichnet wird. Info-Feld 608 ist
ein Status, in dem Informationen in einem Pop-Up-Feld (d. h. einem
Informationsfeld) erscheinen. Der Zustandswechsel von MH 606 zu
Info-Feld 608 ist durch den Pfeil 626 angezeigt.
Die Informationen, die erscheinen, sind von einem Werbetreibenden
oder einem Anbieter der Informationen festgelegt und können z.
B. den Markennamen, das Modell, den Preis, einen Händler vor
Ort sowie Spezifikationen des hervorgehobenen Objekts enthalten.
Beispielsweise könnten
im Fall des Hemdes des Mannes die Informationen die Marke des Hemdes,
der Preis, das Angebot erhältlicher
Größen, Beispiele
für die
erhältlichen
Farben, Informationen über
einen oder mehrere Händler,
Informationen über
Sonderangebote, Informationen über
Telefonnummern oder E-Mail-Adressen, über die eine Kontaktaufnahme
zur Bestellung möglich
ist, und dergleichen mehr umfassen. Ein mögliches Problem, das mit dem System
auftreten kann, besteht darin, dass in zwei aufeinanderfolgenden
Einstellungen dasselbe Objekt (d. h. ein Bereich mit derselben OPT)
erscheinen, aber voneinander abweichende Indices innerhalb der Masken-Rahmen
und OMTs aufweisen kann. Beispielsweise können zwei Personen verschiedene
Abschnitte einer Video-Übertragung
bearbeiten und demselben Objekt unterschiedliche Indices zuweisen,
wenn es in dem jeweils bearbeiteten Abschnitt des Videos erscheint.
Die Möglichkeit,
dass ein einziges Objekt in unterschiedlichen Einstellungen mit
unterschiedlichen Indices bezeichnet werden kann, stellt ein Problem
dar, wenn das System idealerweise eine Hervorhebung über dem
Bereich weiter anzeigen sollte, nachdem die Einstellung wechselt. Um
diesem möglichen
Problem entgegenzuwirken, verwendet das System vor der Wiedergabe
eines Objekt-Overlays einen umgekehrten Suchalgorithmus [reverse
lookup]. Wenn ein Objekt zum ersten Mal vom Zuschauer hervorgehoben
wird, wird die OMT für
diese Einstellung referenziert, und die UID für die OPT des hervorgehobenen
Objektes wird im Speicher gespeichert, sodann wird die Hervorhebung angezeigt.
Vor der Wiedergabe der Hervorhebung für jedes der aufeinanderfolgenden
Rahmen wird zuerst der Masken-Rahmen überprüft, um die aktuelle OMT zu
finden. Sodenn wird eine Suche durchgeführt, wobei die OPT-UID des
aktuellen Objektes zum Durchsuchen der OMT verwendet wird. Wird
die OPT-UID gefunden, so wird der Bereich innerhalb des Masken-Rahmens
mit einer Referenz, die der mit der OPT-UID in der OMT assoziierten
entspricht, hervorgehoben. Diese umgekehrte Suche wird fortgesetzt, bis
eine Zeitbegrenzung überschritten
oder ein neues Objekt ausgewählt
wird.
-
Es
gibt viele mögliche
Reaktionen eines Zuschauers, und diese Reaktionen führen auf
mehreren Wegen zurück
zu dem Zustand Interaktivinhalts-Icon 604, wie generell
durch den Pfeil 628 angezeigt. Diese Reaktionen können zum
Beispiel umfassen, dass der Zuschauer sein Interesse an den bereitgestellten Informationen
ausdrückt,
beispielsweise durch Kaufen des beschriebenen Artikels, Nachfragen
nach weiteren Informationen oder durch Verzicht auf einen solchen
Kauf.
-
Während das
System sich in dem Interaktivinhalts-Icon-604-Zustand befindet,
kann der Zuschauer einen Schnelldurchgangs-Knopf drücken, der
einen Schnelldurchgang [burst] 610 genannten Zustand aktiviert,
wodurch ein Übergang 630 von
Interaktivinhalts-Icon 604 zu Schnelldurchgang 610 bewirkt
wird. In dem Schnelldurchgangs-610-Zustand hebt die Video-Anzeigevorrichtung
automatisch nacheinander alle Objekte hervor, die aktuell assoziierte
Informationen aufweisen, welche einem Zuschauer präsentiert
werden können.
Die Hervorhebungsperiode jedes einzelnen Objektes ist kurz, in der
Größenordnung
von 0,03 bis 5 Sekunden, so dass der Zuschauer innerhalb kurzer
Zeit feststellen kann, welche Objekte assoziierte Informationen
zur Präsentation
aufweisen können.
Eine bevorzugte Hervorhebungsperiode liegt im Bereich von 0,1 bis 0,5
Sekunden. Der Schnelldurchgangs-610-Zustand ist analog zu einem Suchzustand
für Funkempfänger im
Suchlauf, bei dem Signale, die mit einer geeigneten Signalstärke empfangen
werden können,
nacheinander für
kurze Zeitspannen eingestellt werden.
-
Der
Schnelldurchgangs-610-Zustand kehrt automatisch zu dem
Interaktivinhalts-Icon-604-Zustand zurück 632, sobald die
verschiedenen Objekte, die assoziierte Informationen aufweisen,
hervorgehoben worden sind. Sobald das System zu dem Interaktivinhalts-Icon-604-Zustand
zurückgekehrt
ist, hat der Zuschauer die Möglichkeit,
ein Objekt von Interesse aktivieren, das assoziierte Informationen
aufweist, wie oben beschrieben.
-
In
einer weiteren Ausführungsform
kann der Schnelldurchgangs-610-Zustand durch eine Anweisung
hervorgerufen werden, die in einer Nachricht eingebettet ist. In
wiederum einer weiteren Ausführungsform
kann der Schnelldurchgangs-610-Zustand periodisch hervorgerufen
werden, um einen Zuschauer über
die Bereiche zu informieren, die aktiv sein können, oder der Schnelldurchgangs-610-Zustand
kann hervorgerufen werden, wenn eine neue Einstellung beginnt, die
Bereiche mit gesetzten Sichtbarkeitsbits enthält.
-
Das
Interaktivinhalts-Icon kann dazu verwendet werden, einem Zuschauer
visuelle Hinweise zu geben. In einer Ausführungsform erscheint das Interaktivinhalts-Icon
nur dann, wenn es Material zum Anzeigen für den Zuschauer in Verbindung
mit einem oder mehreren Bereichen eines Bildes gibt.
-
In
einer Ausführungsform
ist das Interaktivinhalts-Icon dann aktiv, wenn der Schnelldurchgangs-610-Zustand
hervorgerufen wird. Das Interaktivinhalts-Icon kann eine Gestalt
annehmen, die signalisiert, dass der Schnelldurchgangs-610-Zustand beginnt,
beispielsweise durch Anzeigen des Interaktivinhalts-Icon selbst
mit einem verstärkten
visuellen Effekt mit ähnlichem
Aussehen wie der verstärkte
visuelle Effekt, den jeder sichtbare Bereich annimmt. In verschiedenen
Ausführungsformen
kann ein verstärkter
visueller Effekt eine Veränderung
der Farbe, eine Veränderung
der Helligkeit, eine Veränderung des
Icon selbst, ein Blinken oder Aufblitzen eines Bereiches einer Anzeigevorrichtung
oder dergleichen sein.
-
In
einer Ausführungsform
ist das Interaktivinhalts-Icon durch zusätzliche Bereiche erweitert,
die wie Zeiger zu Punkten auf dem Kompass oder wie Tasten der Fernbedienung
des Digitalempfängers geformt
sind. Die Erweiterungsbereiche werden, entweder simultan oder nacheinander,
mit einem verstärkten
visuellen Effekt angezeigt. Ein illustratives Beispiel verschiedener
Ausführungsformen
ist schematisch in 8A bis 8G dargestellt. 8A stellt
ein inaktives Interaktivinhalt-Icon dar. 8B stellt
ein aktives Interaktivinhalts-Icon dar, das visuell verstärkt ist. 8C stellt
ein Interaktivinhalts-Icon dar, das in den Schnelldurchgangs-Zustand
eintritt, in welchem vier Pfeilspitzen hinzugefügt werden, die in die Himmelsrichtungen
Norden (N), Osten (O), Süden
(S) und Westen (W) zeigen. Beispielsweise können die Erweiterungsbereiche
in Formen präsentiert werden,
die an die Formen der Knöpfe
auf einer tragbaren Vorrichtung erinnern. In einer Ausführungsform
können
die Pfeilspitzen nach Norden (N) und Süden (S) Knöpfen entsprechen, mit denen
auf einer tragbaren Video-Fernbedienung die Kanäle gewechselt werden, und die
Pfeilspitzen nach Osten (O) und Westen (W) können Knöpfen entsprechen, mit denen an
einer Video-Fernbedienung die Lautstärke geändert wird, um den Zuschauer
daran zu erinnern, dass ein Druck auf diese Knöpfe als Reaktion einen Schnelldurchgangs-Zustand
hervorruft.
-
8D stellt
ein Interaktivinhalts-Icon im aktiven Schnelldurchgangs-Zustand
dar, bei dem das Interaktivinhalts-Icon selbst und die in der Himmelsrichtung
Norden (N) zeigende Pfeilspitze mit verstärkten visuellen Effekten angezeigt
werden. 8E stellt ein Interaktivinhalts-Icon
im aktiven Schnelldurchgangs-Zustand dar, bei dem das Interaktivinhalts-Icon
selbst und die in der Himmelsrichtung Osten (O) zeigende Pfeilspitze
mit verstärkten visuellen
Effekten angezeigt werden. 8F stellt ein
Interaktivinhalts-Icon im aktiven Schnelldurchgangs-Zustand dar,
bei dem das Interaktivinhalts-Icon selbst und die in der Himmelsrichtung
Süden (S)
zeigende Pfeilspitze mit verstärkten
visuellen Effekten angezeigt werden. 8G stellt
ein Interaktivinhalts-Icon im aktiven Schnelldurchgangs-Zustand
dar, bei dem das Interaktivinhalts-Icon selbst und die in der Himmelsrichtung
Westen (W) zeigende Pfeilspitze mit verstärkten visuellen Effekten angezeigt
werden.
-
Wie
bereits erläutert,
werden die Informationen, die auf der Video-Anzeigevorrichtung 58 erscheinen,
einschließlich
der Fernsehsendung und aller Anmerkungsinformationen, die bereitgestellt
werden können,
von einer Kopfstelle 50 zu dem Digitalempfänger 54 gesendet.
Videobilder enthalten generell viel Information. In modernen hochauflösenden Fernsehformaten
kann ein einzelner Videorahmen mehr als 1000 Zeilen enthalten. Jede
Zeile kann mehr als 1000 Pixel umfassen. In manchen Formaten ist
zur Repräsentation
jedes Pixels eine 24-Bit-Ganzzahl erforderlich. Das Senden solcher
großer
Informationsmengen ist beschwerlich. Kompressionsverfahren, welche
die zu sendende Datenmenge reduzieren können, spielen in der Fernsehkommunikationstechnik
eine nützliche
Rolle. Die Kompression von Dateien im Allgemeinen ist auf dem Gebiet
der Computertechnik bekannt. Jedoch werden in der Erfindung neue
Formen der Dateikompression verwendet, die auf dem Gebiet der Bildkompression
von besonderem Nutzen sind.
-
Ein
herkömmliches
Kompressionsverfahren wird als Lauflängenkompression bezeichnet.
In diesem Verfahren wird jeder Pixel oder jede Gruppe von identischen
Pixeln, die nacheinander in einer Videozeile erscheinen, als geordnetes
Paar kodiert, das eine erste Zahl, die anzeigt, wie viele identische
Pixel wiederzugeben sind, und eine zweite Zahl, die das Aussehen
jedes solchen identischen Pixels definiert, anzeigt. Wenn es lange
Läufe identischer
Pixel gibt, kann ein solches Kodierungsverfahren die Gesamtzahl
von Bits verringern, die gesendet werden müssen. Jedoch kann in pathologischen
Fällen,
beispielsweise wenn jeder Pixel von dem vorhergehenden Pixel und
dem folgenden Pixel abweicht, das Kodierungsschema tatsächlich mehr
Bits erfordern als die Anzahl von Bits, die zur Repräsentation
der Pixelsequenz selbst erforderlich sind.
-
In
einer Ausführungsform
wird eine Verbesserung der Lauflängenkodierung,
die als „Abschnitt-Lauflängenkodierung" bezeichnet wird,
erzielt, wenn zwei oder mehr aufeinanderfolgende Zeilen so kategorisiert
werden können,
dass sie dieselbe Sequenz von Lauflängen mit derselben Sequenz
von Erscheinungsbild oder Farbe aufweisen. Die zwei oder mehr Zeilen
werden als Abschnitt des Videobildes behandelt. Ein Beispiel für einen
solchen Abschnitt ist eine Person, die vor einem einfarbigen Hintergrund
zu sehen ist. Ein Sender kodiert den Abschnitt durch Bereitstellung
einer einzelnen Sequenz von Farben, die für alle Zeilen in dem Abschnitt
gültig ist,
und kodiert dann die Anzahlen von Pixeln pro Zeile, die jede aufeinanderfolgende
Farbe aufweisen. Mit diesem Verfahren wird das wiederholte Senden von
redundanten Farbinformationen umgangen, das pro Farbe ein langes
Bitmuster erfordert.
-
9A stellt
ein Bild 700 einer Person 705 dar, die vor einem
einfarbigen Hintergrund 710, beispielsweise einem blauen
Hintergrund, gezeigt wird. 9A illustriert
mehrere Ausführungsformen
von Kompressionsverfahren für
Videobilder. In 9A hat die Person eine Hautfarbe,
die im Bereich 720 erscheint. Die Person trägt ein violettes
Hemd 730 und eine grüne
Hose 740. Verschiedene Farben oder Erscheinungsbilder können als
Zahlen mit niedrigen Werten kodiert werden, wenn der Kodierer und
der Dekoder eine Verweistabelle verwenden, um die kodierten Zahlen
in vollständige
(z. B. 24-Bit-)Anzeigewerte übersetzen.
Als eine Ausführungsform
kann eine Hintergrundfarbe für
die Zwecke einer Maske als eine Null oder ein transparenter visueller
Effekt definiert werden, wobei eine Anzeige des ursprünglichen visuellen
Erscheinungsbildes des Bildes ohne Modifikation ermöglicht wird.
-
In
dieser Ausführungsform
der „Abschnitt-Lauflängenkodierung" tastet der Kodierer jede
Reihe 752, 754, 762, 764 ab
und zeichnet den Farbwert und die Länge jedes Laufs auf. Wenn die Anzahl
der Läufe
und die Sequenz von Farben der ersten Reihe 752 eines Videorahmens
nicht zu derjenigen der folgenden Reihe 754 passt, wird
die erste Reihe 752 als ein Abschnitt der Länge l kodiert,
und die nachfolgende Reihe 754 wird mit der nächsten nachfolgenden
Reihe verglichen. Wenn zwei oder mehr Reihen tatsächlich dieselbe
Sequenz von Farben enthalten, wird der Abschnitt als eine Anzahl
von Reihen kodiert, welche dieselbe Sequenz von Farben aufweisen,
gefolgt von einer Reihe geordneter Paare, welche die Farben und
Lauflängen
für die
erste Reihe des Abschnittes repräsentieren.
Wie in 9B für ein Beispiel mit drei Reihen
gezeigt, enthält
die erste Reihe(n) Werte von Paaren von Farben und Lauflängen. Die übrigen zwei
Reihen sind als nur als Lauflängen
kodiert, und die in der ersten Reihe des Abschnitts verwendeten
Farben werden von einem Dekoder verwendet, um die Informationen
zum Anzeigen der späteren
Reihen des Abschnitts wiederherzustellen. In einer Ausführungsform
kann der Abschnitt so definiert sein, dass er weniger als die gesamte
Ausdehnung einer Videozeile bzw. -reihe ist.
-
Als
ein Beispiel, das bezüglich 9A genannt
wird, entsprechen die illustrativen Reihen 752 und 754 Video-Abtastzeilen,
die den Hintergrund 710, einen Ausschnitt der Haut 720 der
Person und weiteren Hintergund 710 enthalten. Beide illustrativen
Reihen 752 und 754 umfassen Läufe von blauen Pixeln, hautfarbenen
Pixeln und weiteren blauen Pixeln. Somit würden die Reihen 752 und 754 sowie andere
angrenzende Reihen, die den hautfarbenen Kopf- oder Halsbereich
der Person schneiden, folgendermaßen kodiert: eine Zahl, die
genau angibt, wie viele den Zeilen 752, 754 ähnliche
Reihen sich in einem Abschnitt befinden, der durch das Muster „blaue
Hintergrundfarbe – Hautfarbe – blaue
Hintergrundfarbe" definiert
ist; eine erste Reihenkodierung, umfassend den Wert, der die blaue
Hintergrundfarbe anzeigt, und eine assoziierte Pixelzahl, den Wert,
der die Hautfarbe 720 anzeigt, und eine dazugehörige Pixelzahl,
sowie den Wert, der die blaue Hintergrundfarbe anzeigt, und eine
weitere dazugehörige
Pixelzahl. Die übrigen
Reihen in dem Abschnitt würden
als eine Zahl kodiert, die eine Anzahl von Pixeln in blauer Hintergrundfarbe
repräsentiert,
eine Zahl, die eine Anzahl von Pixeln repräsentiert, die in Hautfarbe 720 wiederzugeben
sind, und eine Zahl, welche die übrigen
Pixel in blauer Hintergrundfarbe repräsentiert.
-
In
einer anderen Ausführungsform
beinhaltet ein Verfahren, das die zu kodierenden Informationen reduziert,
mit der Bezeichnung „X-Lauflängenkodierung", das Kodieren lediglich
der Informationen innerhalb von Objekten, die identifiziert worden
sind. In dieser Ausführungsform
sind die kodierten Pixel nur diejenigen, die innerhalb des definierten
Objektes oder innerhalb eines Umrisses des Objektes erscheinen.
Ein Kodierer in einem Sender repräsentiert die Pixel als geordnete
Dreiergruppe, umfassend einen Wert, eine Lauflänge und ein Offset, das die
Startposition des Laufs hinsichtlich eines bekannten Pixels definiert,
beispielsweise den Beginn der Zeile. In einem Empfänger stellt
ein Dekoder die kodierten Information wieder her, indem er die geordnete
Dreiergruppe liest und die Pixel entsprechend der kodierten Informationen
wiedergibt.
-
Wiederum
unter Bezugnahme auf 9A ist jede der illustrativen
Zeilen 752 und 754 in dem X-Lauflängenkodierungsverfahren als
geordnete Dreiergruppe von Zahlen repräsentiert, umfassend eine Zahl,
welche die Hautfarbe 720 anzeigt, eine Zahl, welche repräsentiert,
wie viele Pixel in Hautfarbe 720 wiederzugeben sind, und
eine Zahl, welche den Abstand von einem Rand 712 des Bildes 700 angibt,
in dem die in Hautfarbe 720 wiedergegebenen Pixel zu positionieren
sind. Ein illustratives Beispiel wird in 9C gegeben.
-
In
wiederum einer weiteren Ausführungsform wird
ein als „X-Abschnitt-Lauflängenkodierung" bezeichnetes Verfahren
verwendet, das Merkmale des Abschnitt-Lauflängen- und des X-Lauflängenkodierungsverfahrens
kombiniert. Das X-Abschnitt-Lauflängenkodierungsverfahren verwendet
Farbwerte und Lauflängen
als Kodierungsparameter, ignoriert jedoch die Kodierung von Hintergrund.
Jeder Eintrag in diesem Kodierungsschema ist eine geordnete Dreiergruppe
von Farbe, Lauflänge
und Offset-Werten wie bei der X-Lauflängenkodierung.
-
Die
illustrativen Zeilen 762 und 764 sind Teil eines
Abschnittes aus aufeinanderfolgenden Zeilen, die folgendermaßen beschrieben
werden können: Die
illustrativen Zeilen 762, 764 enthalten, in dieser Reihenfolge,
Segmente aus blauem Hintergrund 710, einen Arm des violetten
Hemdes 730, blauen Hintergrund 710, den Hauptteil
des violetten Hemdes 730, blauen Hintergrund 710,
den anderen Arm des violetten Hemdes 730 und ein letztes
Segment aus blauem Hintergrund. Die illustrativen Zeilen 762, 764 und
die anderen angrenzenden Zeilen, die dasselbe Farbmuster aufweisen,
sind folgendermaßen
kodiert: eine Ganzzahl, welche die Anzahl von Zeilen in dem Abschnitt
definiert; die erste Zeile ist als drei Dreiergruppen aus Zahlen
kodiert, welche eine Farbe, eine Lauflänge und ein Offset anzeigen;
und die übrigen Zeilen
in dem Abschnitt sind als drei geordnete Zweiergruppen von Zahlen
kodiert, die eine Lauflänge
und ein Offset anzeigen. Die Farbwerte werden aus den Mengen von
Dreiergruppen dekodiert und werden danach für die übrigen Zeilen des Abschnitts
verwendet. Pixel, die nicht durch die geordneten Zweiergruppen oder
Dreiergruppen definiert sind, werden in der Hintergrundfarbe wiedergegeben.
Ein illustratives Beispiel wird in 9D gezeigt,
wobei drei Reihen verwendet werden.
-
Wiederum
eine weitere Ausführungsform
beinhaltet ein Verfahren, das als „Super-Lauflängenkodierung" bezeichnet wird.
In dieser Ausführungsform wird
ein Videobild durch eine CPU in eine Vielzahl von Bereichen zerlegt,
die Abschnitte umfassen können.
Die CPU wendet die oben beschriebenen Dekompressionsverfahren auf
die verschiedenen Bereiche an und bestimmt Abschnitt für Abschnitt
eine Kodierung des effizientesten Kompressionsverfahrens.
-
Sodann
kodiert die CPU das Bild Abschnitt für Abschnitt als Mischung der
effizientesten Verfahren, unter Hinzufügung einer vorangestellten
Ganzzahl oder eines vorangestellten Symbols, die bzw. das das Verfahren
angibt, mit dem jeder Abschnitt kodiert worden ist. Ein illustratives
Beispiel für
diese Super-Lauflängenkodierung
ist die Kodierung des Bildes 700 unter Verwendung einer
Kombination aus Lauflängenkodierung
für einige
Zeilen des Bildes 700, X-Lauflängenkodierung für andere
Zeilen (z. B. 752, 754) des Bildes 700,
X-Abschnitt-Lauflängenkodierung
für wiederum
andere Zeilen (z. B. 762, 764) des Bildes 700 und
so weiter.
-
Es
können
auch andere Ausführungsformen von
Kodierungsschemata verwendet werden. Eine verwendbare Ausführungsform
beinhaltet das Berechnen eines Offsets der Pixel einer Zeile von
der vorhergehenden Zeile, beispielsweise Verschiebung einer nachfolgenden
Zeile, etwa einer in der Nähe des
Halses der in 9A dargestellten Person, um eine
kleine Zahl Pixel, und das Auffüllen
aller undefinierten Pixel an beiden Enden der verschobenen Zeile
mit Pixeln, die den Hintergrund repräsentieren. Dieser Ansatz kann
sowohl auf Lauflängen
als auch auf Reihenpositionsinformationen angewandt werden. Diese
Ausführungsform
bietet den Vorteil, dass ein Offset von sieben oder weniger Pixeln
als mit Vorzeichen versehener Vier-Bit-Wert repräsentiert werden kann, mit großer Ersparnis
hinsichtlich der Informationsmenge, die gesendet werden muss, um
die so kodierte Zeile zu definieren. Viele Bilder von Objekten beinhalten
Offsets zwischen den Zeilen, die relativ geringfügig sind, und eine solche Kodierung kann
eine signifikante Verringerung der zu sendenden Daten erbringen.
-
Eine
weitere Ausführungsform
beinhaltet die Kodierung von Laufwerten innerhalb der Begrenzung durch
einen Umriss als geordnete Paare, beginnend an einer Kante des Umrisses.
Weitere Kombinationen solcher Kodierungsschemata werden für den Fachmann
auf dem Gebiet der Datenkompression ersichtlich sein.
-
Zur
Erfüllung
der Aufgaben der Erfindung ist neben der effizienten Repräsentation
des Inhalts von Bildern eine Fähigkeit
zur Durchführung
einer Analyse des Inhaltes von Bildern sinnvoll. Fernsehbilder, die
eine Vielzahl von Pixeln umfassen, können analysiert werden, um
das Vorhandensein oder Fehlen von Personen, Objekten und Merkmalen
zu bestimmen, so dass ausgewählten
Personen, Objekten und Merkmalen Anmerkungen zugewiesen werden können. Die
Bewegungen von Personen, Objekten und Merkmalen können ebenfalls
analysiert werden. Vor der Durchführung einer solchen Analyse
wird eine Zuweisung von Pixeln in einem Bild oder einem Rahmen zu
einer oder mehreren Personen, Objekten und/oder Merkmalen vorgenommen.
-
Die
Analyse ist nützlich
bei der Manipulation von Bildern zur Erzeugung eines glatten Bildes
oder eines solchen, das für
den Betrachter angenehm ist, anstelle eines Bildes mit gezackten
oder rauhen Kanten. Die Analyse kann auch dazu verwendet werden, einen
Bereich des Bildes zu definieren, der von einem Umriss mit einer
definierten Dicke in Pixeln umschlossen ist. Zusätzlich ermöglicht die Fähigkeit
zur Definition eines Bereiches unter Verwendung mathematischer Beziehungen
die visuelle Modifikation eines solchen Bereiches durch Verwendung
eines Sichtbarkeitsbits, das anzeigt, ob der Bereich sichtbar oder
unsichtbar ist, und durch Verwendung von Techniken, welche die Wiedergabe
aller Pixel in einem Bereich mit einer spezifischen Farbe oder einem spezifischen
visuellen Effekt ermöglichen.
Ein Bild wird auf Bereiche hin untersucht, die Materie definieren,
die von Interesse ist. Beispielsweise werden in 9A ein
Hemdbereich 730, ein Kopfbereich 720 und ein Hosenbereich 740 identifiziert.
-
In
einer Ausführungsform
werden die Pixel in einem Bild oder Rahmen als zu einem Bereich
gehörig
klassifiziert. Die Klassifikation kann auf den Beobachtungen eines
Zuschauers basieren, der mit einem Bild interagieren kann, das in
digitaler Form auf einer digitalen Anzeigevorrichtung wie z. B.
dem Monitor eines Computers präsentiert
wird. In einer Ausführungsform
kann der Autor/Anmerkungsersteller Bereiche eines Bildes unter Verwendung
einer Eingabevorrichtung wie z. B. einer Maus oder anderen Computer-Zeigevorrichtung,
eines berührungsempfindlichen
Bildschirms, eines Lichtgriffels oder dergleichen markieren. In
einer anderen Ausführungsform
können
die Bereiche durch eine Rechenvorrichtung wie z. B. einen digitalen
Computer oder einen digitalen Signalprozessor in Verbindung mit
Software bestimmt werden. In beiden Fällen kann es Pixel geben, die
schwierig als zu einem Bereich gehörig zu klassifizieren sind,
beispielsweise wenn eine Vielzahl von Bereichen aneinander angrenzen.
-
In
einer Ausführungsform
kann ein Pixel, der schwierig zu klassifizieren ist oder dessen
Klassifikation uneindeutig ist, durch ein Verfahren klassifiziert werden,
das mehrere Schritte beinhaltet. Zunächst wird die Klassifikation
des Pixels eliminiert oder abgebrochen. Dieser deklassifizierte
Pixel wird als Ursprungspunkt einer Klassifikationsgestalt verwendet, die
sich ausdehnt, um eine Vielzahl von Pixeln (d. h. eine Nachbarschaft)
in der Nähe
des deklassifizierten Pixels abzudecken. Die so abgedeckten Pixel werden
hinsichtlich ihrer Klassifikation untersucht, und der uneindeutige
Pixel wird der Klasse zugewiesen, die in der Nachbarschaft die größte Repräsentation
hat. In einer Ausführungsform
umfasst die Nachbarschaft übernächste Nachbarn
des uneindeutigen Pixels. In einer Ausführungsform wird eine Regel zum
Vornehmen einer Zuweisung im Falle von Gleichständen hinsichtlich der Repräsentation
angewandt. In einer Ausführungsform
kann die Regel darin bestehen, die Klasse eines Pixels an einer
bestimmten Position relativ zu dem Pixel zuzuweisen, beispielsweise
die Klasse des am nächsten
zu der oberen linken Ecke des Bildes befindlichen nächsten Nachbarn,
der zu einer am stärksten
repräsentierten Klasse
gehört.
-
In
einer weiteren Ausführungsform
kann ein Pixel, der schwierig zu klassifizieren ist oder dessen Klassifikation
uneindeutig ist, durch ein Verfahren klassifiziert werden, das eine
neuartige Umsetzung von Prinzipien der mathematischen Morphologie
beinhaltet. Die mathematische Morphologie repräsentiert die Pixel eines Bildes
in mathematischen Ausdrücken
und ermöglicht
die algorithmische Berechnung von Eigenschaften und Transformationen
von Bildern, beispielsweise unter Verwendung eines digitalen Computers
oder digitalen Signalprozessors und geeigneter Software. Die Prinzipien
der mathematischen Morphologie lassen sich zur Erstellung verschiedener
Bildverarbeitungsanwendungen verwenden. Es wird hier eine sehr kurze
Erläuterung
der Prinzipien vorgelegt.
-
Insbesondere
werden die als Dilatation und Erosion bekannten Verfahren beschrieben
und erklärt.
Generell können
Dilatation und Erosion verwendet werden, um die Gestalt, die Größe und einige Merkmale
von Bereichen zu verändern.
Zusätzlich werden
einige illustrative Beispiele für
Anwendungen der Prinzipien der mathematischen Morphologie auf die
Bildverarbeitung beschrieben.
-
Dilation
und Erosion sind fundamentale mathematische Operationen, die auf
Mengen von Pixeln wirken. Als exemplarische Beschreibung hinsichtlich eines
Bildes im zweidimensionalen Raum seien die Menge von Punkten eines
Bereichs R und eine zweidimensionale morphologische Maske M vorgestellt. Die
illustrative Erläuterung,
die in Ausdrücken
binärer mathematischer
Morphologie präsentiert
wird, wird mit Bezug auf 10A und 10B gegeben. In 10A hat
die morphologische Maske M eine Gestalt, beispielsweise ein Fünf-Pixel-Array
in Form eines Pluszeichens. Je nach der zu erzielenden Wirkung können morphologische
Masken unterschiedlicher Gestalt ausgewählt werden. Der Bereich R kann jede
Gestalt aufweisen; zu Illustrationszwecken wird als Bereich R die
in 10A gezeigte unregelmäßige Gestalt genommen.
-
Die
morphologische Maske M bewegt sich über das Bild in 10A, und das Ergebnis der Operation wird in einem
Array aufgezeichnet, das visuell als ein Rahmen repräsentiert
werden kann, der in 10B gezeigt wird. Für die illustrative
morphologische Maske wird der Pixel, der sich an dem Schnittpunkt
der vertikalen und der horizontalen Linie des Pluszeichens befindet,
als ein „Test"-Pixel ausgewählt, oder
als der Pixel, der entsprechend dem Ergebnis der angewandten Operation „eingeschaltet" (z. B. auf 1 gesetzt)
oder „ausgeschaltet" (z. B. auf 0 gesetzt)
wird.
-
Für die binäre Erosion
kann die mathematische Regel, mengentheoretisch ausgedruckt, sein, dass
die Schnittmenge eines oder mehrerer Pixel der morphologischen Maske
M mit dem Bereich R die Bedingung des Pixels definiert, der in einem
Array zu speichern oder an der Position in 10B grafisch darzustellen
ist, die der Lage des Testpixels in 10A entspricht.
Diese Regel bedeutet, dass beim Bewegen der morphologischen Maske
um jeweils einen Pixel, wenn alle bezeichneten Pixel der morphologischen
Maske M sich mit Pixeln des Bereichs R überschneiden, der Testpixel
eingeschaltet wird und der entsprechende Pixel in 10B in einem eingeschalteten Zustand gelassen
wird. Das Abtasten der Maske kann beispielsweise von links nach
rechts über
jede Reihe des Bildes erfolgen, beginnend in der obersten Reihe
und unter Bewegung nach unten. Andere Abtastwege, welche das gesamte
Bild (oder wenigstens die Bereiche von Interesse) abdecken, können verwendet
werden, wie für
den Durchschnittsfachmann auf dem Gebiet der mathematischen Morphologie
ersichtlich sein wird. Tendenziell glättet diese Operation einen
Bereich, und je nach der Größe und Gestalt
der morphologischen Maske kann sie eine Tendenz haben, spitze Vorsprünge entlang
der Konturen eines Bereichs zu eliminieren. Außerdem kann je nach der Größe und Gestalt
der morphologischen Maske die Größe eines Bildes
verringert werden.
-
Mengentheoretisch
ausgedrückt
kann die binäre
Dilatiation zur mathematischen Regel haben, dass die Vereinigungsmenge
der morphologischen Maske M mit dem Bereich R die Bedingung des
Pixels definiert, der an der Position in 10B grafisch darzustellen
ist, die der Lage des Testpixels in 10A entspricht.
Für eine
gegebene Lage der morphologischen Maske M werden die Pixel von R und
die Pixel von M untersucht, und wenn ein in M eingeschalteter Pixel
einem in R eingeschalteten Pixel entspricht, wird der Testpixel
eingeschaltet. Diese Regel wird ebenfalls durch abtastendes Führen der morphologischen
Maske über
das Bild angewandt, wie oben beschrieben, beispielsweise von links
nach rechts über
jede Reihe des Bildes, wiederum von der obersten Reihe nach unten.
Diese Operation kann die Tendenz haben, zu bewirken, dass ein Bereich sich
ausdehnt und kleine Löcher
füllt.
Die Operationen der Dilatation und Erosion sind nicht kommutativ, was
bedeutet, dass man im Allgemeinen bei einer Anwendung der Erosion
mit anschließender
Dilatation andere Ergebnisse erzielt als bei einer Anwendung der
Dilatation mit anschließender
Erosion.
-
Die
Operationen der Erosion und Dilatation sowie andere Operationen
auf Basis dieser grundlegenden Operationen können auf Mengen von im Raum
definierten Pixeln angewandt werden, wie sie in einem zweidimensionalen
Bild zu finden sind, wie soeben erläutert. Dieselben Operationen
können ebenso
gut für
Mengen von Pixeln in einer Zeitsequenz von Bildern angewandt werden,
wie in 11A und 11B gezeigt.
In 11A lässt
sich die Zeit als dritte Dimension ansehen, die zu den zwei Dimensionen,
die jedes Bild oder jeden Rahmen definieren, orthogonal ist. 11A zeigt drei Bilder oder Rahmen, die mit N – 1, N und
N + 1 bezeichnet sind, wobei Rahmen N – 1 zuerst angezeigt wird, Rahmen
N als nächster
erscheint und schließlich Rahmen
N + 1 erscheint. Jeder Rahmen ist so vorstellbar, dass es eine x-Achse
und eine y-Achse aufweist. In einem illustrativen Beispiel umfasst
jeder Rahmen 480 horizontale Reihen aus jeweils 640 Pixeln
oder Spalten. Der Konvention gemäß werden Reihen
von oben nach unten nummeriert und Spalten vom linken Rand nach
rechts fortschreitend nummeriert. Die linke obere Ecke ist Reihe
0, Spalte 0 oder (0, 0). Die x-Achse bestimmt die Reihe, wobei der x-Wert
sich erhöht,
während
man sich entlang der linken Kante des Rahmens nach unten bewegt,
und die y-Achse bestimmt die Spaltenzahl pro Reihe, wobei der y-Wert
sich erhöht,
während
man sich entlang der oberen Kante des Rahmens nach rechts bewegt.
Die Zeitachse, entlang derer die Zeit sich erhöht, wird dann so gesehen, dass
sie in 11A horizontal von links nach
rechts verläuft.
-
Die
Operationen der Erosion und Dilatation im zweidimensionalen Raum
verwendeten eine morphologische Maske wie z. B. das Fünf-Pixel-Pluszeichen,
das in der Ebene des Bildes oder Rahmens ausgerichtet ist. Eine
Operation in der Zeitdimension, die das zweidimensionale Fünf-Pixel-Pluszeichen
als morphologische Maske verwendet, lässt sich so auffassen wie in
der folgenden Erläuterung,
wobei zu verstehen ist, dass eine Dimension des Pluszeichens entlang
der Zeitachse liegt und die andere entlang einer Raumachse liegt.
In anderen Ausführungsformen könnte man
eine eindimensionale morphologische Maske entlang lediglich der
Zeitachse oder eine dreidimensionale morphologische Maske verwenden,
die Dimensionen in zwei nicht-kollinearen
Raumrichtungen und eine Dimension entlang der Zeitachse aufweist.
-
Der „Test"-Pixel der zweidimensionalen
morphologischen Fünf-Pixel-Pluszeichen-Maske
liege bei Reihe r, Spalte c, oder Position (r, c) des Rahmens N
in 11A. Die Pixel in der vertikalen Linie des Pluszeichens
ist bei Spalte c von Reihe r – 1
(der Reihe über
Reihe r) des Rahmens N und Spalte c von Reihe r + 1 (der Reihe unter
r) des Rahmens N. Der Pixel „links" des „Test"-Pixels befindet sich bei Reihe r, Spalte
c des Rahmens N – 1
aus 11A (dem Rahmen vor dem Rahmen
N), und der Pixel „rechts" des „Test"-Pixels befindet
sich bei Reihe r, Spalte c des Rahmens N + 1 aus 11A (dem auf Rahmen N folgenden Rahmen). Das Ergebnis
einer Operation unter Verwendung dieser morphologischen Maske wird
somit visuell bei Reihe r, Spalte c eines Rahmens, der dem Rahmen
N entspricht, aufgezeichnet, und das Ergebnis kann in einem Array
an der entsprechenden Position aufgezeichnet werden. Jedoch ist
in diesem Beispiel die Berechnung abhängig von drei Pixeln, die sich
im Rahmen N befinden, einem Pixel, der sich im Rahmen N – 1 befindet,
und einem, der sich im Rahmen N + 1 befindet. 11A stellt schematisch die Verwendung der Fünf-Pixel-"Plus"-Maske auf drei Bildern
oder Rahmen dar, die aufeinanderfolgende Bilder in der Zeit repräsentieren,
und 11B stellt das Ergebnis der Berechnung
in einem Rahmen dar, der dem Rahmen N entspricht.
-
In
diesem erfindungsgemäßen System
wird eine neuartige Form der Erosion und Dilatation angewandt, bei
der alle Bereiche in einem Durchgang erodiert und dilatiert werden,
anstatt dass jeweils nur ein einzelner Bereich bearbeitet wird (wobei
der Bereich mit „1" und der Nicht-Bereich mit „0" bezeichnet ist), und
der Prozess mehrmals wiederholt wird, falls mehrere Bereiche zu
behandeln sind. Wenn im Fall der Erosion das Eingangsbild R Bereiche
enthält,
deren Pixel jeweils mit 1, 2, ... r bezeichnet sind, dann ist der
Testpixel beispielsweise mit '3' bezeichnet, wenn
und nur wenn alle Pixel unter den gesetzten Pixeln in der morphologischen
Maske mit 3 bezeichnet sind. Andernfalls wird dem Testpixel 0 oder „nicht klassifiziert" zugewiesen. Wenn
im Fall der Dilatation das Eingangsbild R Bereiche enthält, deren
Pixel jeweils mit 1, 2, ... r bezeichnet sind, dann ist der Testpixel
beispielsweise mit '3' bezeichnet, wenn
und nur wenn der Bereich mit der höchsten Anzahl von Pixeln derjenige
mit der Bezeichnung 3 ist. Andernfalls wird dem Testpixel 0 oder „nicht
klassifiziert" zugewiesen.
-
Zweidimensionales
Floodfill ist eine dem Fachmann bekannte Technik, die eine Veränderung einer
Charakteristik einer zweidimensionalen Oberfläche zu einer definierten Charakteristik
bewirkt. Beispielsweise kann zweidimensionales Floodfill dazu verwendet
werden, den visuellen Effekt eines verbundenen Bereiches eines Bildes
auf definierte Weise zu verändern,
beispielsweise alle Pixel des Bereiches rot zu färben. Dreidimensionales Floodfill
kann dazu verwendet werden, alle Elemente eines Volumens zu einer
definierten Charakteristik zu verändern. Beispielsweise kann
ein Volumen dazu verwendet werden, einen Bereich zu repräsentieren,
der in einer Reihe sequenzieller zweidimensionaler Bilder erscheint,
die in der Sequenznummer oder der Anzeigezeit als dritter Dimension
voneinander abweichen.
-
Es
ist ein effizienter, neuartiger Algorithmus zum Füllen eines
verbundenen dreidimensionalen Volumens mittels Floodfill entwickelt
worden, wobei mit einem Bild begonnen wird, das einen Bereich enthält, der
Teil des Volumens ist. Im Überblick
erlaubt das Verfahren die Auswahl eines Elementes an einer zweidimensionalen
Oberfläche
innerhalb des Volumens und führt
ein zweidimensionales Floodfill auf dem Bereich durch, der das ausgewählte Element enthält. Das
Verfahren wählt
eine Richtung entlang der dritten Dimension aus, bestimmt ob eine
nachfolgende Oberfläche
ein Element innerhalb des Volumens enthält, und wenn dies der Fall
ist, führt
es ein zweidimensionales Floodfill des Bereiches aus, der ein solches
Element enthält.
Das Verfahren wiederholt den Prozess, bis keine Elemente mehr gefunden werden,
und kehrt zu dem als erster mittels Floodfill gefüllten Bereich
zurück
und wiederholt den Prozess, während
es sich entlang der dritten Dimension in der entgegengesetzten Richtung
bewegt.
-
Es
ist eine algorithmische Bildverarbeitungstechnik unter Verwendung
eines dreidimensionalen Floodfill-Operators entwickelt worden, bei
dem der Autor einen Punkt innerhalb einer Gruppe von inkorrekt klassifizierten
Punkten auswählt.
Der ausgewählte
Punkt kann unter Verwendung eines Klassifikationsverfahrens wie
bereits beschrieben reklassifiziert werden. Die gesamte Gruppe von
Pixeln, die an den ausgewählten
Punkt angrenzen, wird dann auf die Klassifikation des ausgewählten Punktes
reklassifiziert. Benachbarte Pixel der reklassifizierten Pixel in
vorhergehenden und nachfolgenden Rahmen können ebenfalls reklassifiziert
werden.
-
In
einer Ausführungsform
umfasst das zu reklassifizierende dreidimensionale Volumen zwei
Dimensionen, welche die Bildebene repräsentieren, und eine dritte
Dimension, welche die Zeit repräsentiert.
In dieser Ausführungsform
wird für
jeden Pixel (r, c) im Rahmen N aus 11A,
der aufgrund der zweidimensionalen Floodfill-Operation im Rahmen
N von Farbe von A zu Farbe B gewechselt ist, wenn dem Pixel (r,
c) im Rahmen N + 1 aus 11A aktuell die
Farbe A zugewiesen ist, das zweidimensionale Floodfill durchgeführt, beginnend
bei Pixel (r, c) im Rahmen N + 1 aus 11A,
wodurch alle angrenzenden Pixel im Rahmen N + 1 geändert werden,
die Farbe A zugewiesen sind. Wiederum mit Bezug auf 11A ist es ebenso möglich, einen solchen Prozess
bei Rahmen N zu beginnen und in der Zeitdimension zu Rahmen N – 1 rückwärts fortzufahren.
In einer Ausführungsform
wird der dreidimensionale Floodfill-Prozess an einem Rahmen beendet,
in dem kein Pixel eine Bezeichnung hat, die Veränderung infolge der Floodfill-Operation erfordert.
In einer Ausführungsform
wird, sobald das dreidimensionale Floodfill in einer Richtung der
Zeit beendet ist, der Prozess fortgesetzt, indem am Anfangs-Rahmen
N begonnen wird und in der entgegengesetzten Richtung in der Zeit
fortgefahren wird, bis der Prozess erneut endet.
-
11C ist ein Flussdiagramm 1150, das einen
illustrativen Prozess, mit dem dreidimensionales Floodfill erreicht
wird, gemäß einer
Ausführungsform der
Erfindung zeigt. Der Prozess beginnt an dem Kreis 1152,
der mit „Beginn" bezeichnet ist.
Die den Prozess betreibende Einheit, etwa ein Betreiber eines Authoring-Tools
oder alternativ ein Computer, der Bilder analysiert, um innerhalb
von Bildern einen oder mehrere Bereiche zu lokalisieren, die Objekten entsprechen,
wählt mehrere
sequenzielle zweidimensionale Abschnitte aus, die das in dem dreidimensionalen
Floodfill-Prozess zu füllende
Volumen umgrenzen, wie in Schritt 1154 angezeigt. In einer Ausführungsform
umfasst das dreidimensionale Volumen zweidimensionale Abschnitte,
die orthogonal zu einer dritten Dimension angeordnet sind, wobei
jeder zweidimensionale Abschnitt Positionen enthält, die durch eine erste Koordinate
und eine zweite Koordinate identifiziert sind. Beispielsweise können in einer
Ausführungsform
die zweidimensionalen Abschnitte Rahmen sein, und die dritte Dimension
kann die Zeit oder eine Rahmennummer repräsentieren, die aufeinanderfolgende
Rahmen identifiziert. In einer Ausführungsform können die
ersten und zweiten Koordinaten Reihen- und Spaltenpositionen repräsentieren,
welche die Position eines Pixels innerhalb eines Bildrahmens auf
einer Anzeigevorrichtung definieren.
-
In
Schritt 1156 definiert der Prozessbetreiber mehrere Bereiche
in wenigstens einem der zweidimensionalen Abschnitte, wobei jeder
Bereich wenigstens eine Position umfasst. Von diesem Punkt des Prozesses
an wird der Prozess unter Verwendung einer Anlage wie z. B. eines
Computers ausgeführt,
die eine Reihe von Instruktionen ausführen kann, welche etwa in Software
kodiert sein können. Der
Computer kann Informationen entsprechend den Definitionen zur späteren Verwendung,
beispielsweise in einem maschinenlesbaren Speicher, aufzeichnen.
Beispielsweise kann ein Betreiber in einem Bild einen Hintergrund
und ein Objekt von Interesse definieren, z. B. ein Hemd 2.
-
In
Schritt 1158 wählt
der Computer einen ersten Bereich in einem der zweidimensionalen
Abschnitte aus, wobei der Bereich innerhalb des mit einem ausgewählten Symbol
zu füllenden
Volumens enthalten ist. In einer Ausführungsform kann das Symbol
ein visueller Effekt bei der Wiedergabe auf einer Anzeigevorrichtung
sein, beispielsweise eine Farbe, eine Hervorhebung, eine Veränderung
der Helligkeit oder dergleichen, oder es kann ein Zeichen wie z.
B. ein alphanumerisches Zeichen oder ein anderes solches Symbol
sein, das auf einer Anzeigevorrichtung wiedergegeben werden kann.
-
In
Schritt 1160 füllt
der Computer, der die Anzeigevorrichtung betreibt, den ersten Bereich
mit dem ausgewählten
Symbol. Es gibt viele verschiedene, bekannte Grafikroutinen zum
Füllen
eines zweidimensionalen Bereiches mit einem Symbol, beispielsweise
dem Verändern
eines definierten Bereich eines Bildschirms zu einer definierten
Farbe. Jede solche bekannte zweidimensionale Grafikroutine kann
implementiert werden, um den Schritt des zweidimensionalen Füllens auszuführen.
-
In
Schritt 1162 bewegt sich der Computer in einer ersten Richtung
entlang der dritten Dimension zu dem nachfolgenden zweidimensionalen
Abschnitt. In einer Ausführungsform
bewegt sich der Prozessbetreiber zu dem Bild unmittelbar vor oder
nach dem ersten ausgewählten
Bild, wodurch eine Richtung in der Zeit oder in der Bildsequenz
definiert wird.
-
In
Schritt 1164 bestimmt der Computer, ob eine Position in
dem nachfolgenden zweidimensionalen Abschnitt, die einer gefüllten Position
in dem zweidimensionalen Abschnitt des vorhergehenden zweidimensionalen
Abschnittes entspricht, zu dem Volumen gehört. Der Prozessbetreiber sucht
Informationen, die in den Definitionen der zweidimensionalen Bereiche
verzeichnet sind, die in Schritt 1156 erzielt wurden.
-
Der
Computer nimmt anhand des Ergebnisses der in Schritt 1164 vorgenommenen
Bestimmung eine Auswahl vor. Liegt ein positives Ergebnis des Bestimmungsschrittes 1164 vor,
so füllt
der Computer einen Bereich, der die Position in dem nachfolgenden
zweidimensionalen Abschnitt enthält,
mit dem ausgewählten
Symbol, wie bei Schritt 1168 angezeigt. Wie bei Schritt 1170 angezeigt,
wiederholt der Computer, beginnend mit dem neu gefüllten Bereich in
dem nachfolgenden zweidimensionalen Abschnitt, den Bewegungsschritt 1162,
den Bestimmungsschritt 1164 und den Füllschritt 1168 (d.
h. die unmittelbar vorangehend genannten Schritte), bis der Bestimmungsschritt
zu einem negativen Ergebnis führt.
-
Bei
einem negativen Ergebnis eines vorangehend genannten Bestimmungsschrittes 1164 kehrt der
Computer zu dem ersten in Schritt 1158 identifizierten
Bereich zurück
(der bereits gefüllt
worden ist), und wiederholt, indem er sich entlang der dritten Dimension
in einer zu der ersten Richtung entgegengesetzten Richtung bewegt,
die Schritte der Bewegung (z. B. einen Schritt ähnlich Schritt 1162,
aber in der entgegengesetzten Richtung), Bestimmung (z. B. einen
Schritt wie Schritt 1164) und Füllung (z. B. einen Schritt
wie Schritt 1168), wie oben angegeben, bis ein Bestimmungsschritt
ein negatives Ergebnis hat. Diese Sequenz ist zusammenfassend bei
Schritt 1172 wiedergegeben. Bei Schritt 1174 endet
der Prozess bei einem negativen Ergebnis eines Bestimmungsschrittes.
-
Eine
weitere Anwendung beinhaltet das Erstellen von Umrissen von Bereichen,
beispielsweise um zu ermöglichen,
dass ein Bereich entweder vollständig
hervorgehoben wird oder durch Ändern
des visuellen Effekts hervorgehoben wird, der mit dem Umriss des
Bereiches assoziiert ist, oder eine Kombination der beiden Effekte.
In einer Ausführungsform wird
ein Verfahren zum Konstruieren von Umrissen aus bezeichneten Bereichen,
wie in 12A–12B dargestellt,
implementiert. Ein zu umrandender Bereich 1210 mit einem
Umriss 1215 im Eingabebild 1218 wird in 12A gezeigt. Eine quadratische morphologische
Maske 1220 mit einer ungeraden Anzahl Pixel, deren Größe proportional zu
der gewünschten
Umrissdicke ist, wird über
den Bereich 1210 geführt.
An jeder Position in dem Eingabebereich 1210 werden die
innerhalb der morphologischen Maske fallenden Pixel überprüft, um zu festzustellen,
ob sie alle gleich sind. Falls ja, wird dem Testpixel in dem Ausgabebild 1230 aus 12B eine '0' zugewiesen. Wenn
ein Pixel sich von einem anderen Pixel innerhalb der morphologischen
Maske unterscheidet, wird die Bezeichnung, die unter den mittleren
Pixel der morphologischen Maske fällt, dem Testpixel in dem Ausgabebild 1230 zugewiesen. Während die
morphologische Maske 1220 sich über den Bereich 1210 bewegt,
wird in einem Ausgabebild 1230 ein Ergebnisumriss 1215' generiert.
In anderen Ausführungsformen
können
quadratische morphologische Masken mit gerader Pixelzahl, morphologische
Masken mit anderen Gestalten als der quadratischen sowie quadratische morphologische
Masken mit ungeraden Pixelzahlen verwendet werden, in denen man
einen bestimmten Pixel innerhalb der morphologischen Maske als den
Pixel auswählt,
der dem Testpixel 1222 in dem Ausgabebild 1230 entspricht.
-
Es
versteht sich, dass der Durchschnittsfachmann bei der Verwendung
der Prinzipien der mathematischen Morphologie die vorangehenden
Beispielanwendungen durch Verwendung alternativer morphologischer
Masken und alternativer Regeln aufbauen kann und zahlreiche weitere, ähnliche
Anwendungen auf der Basis solcher Prinzipien erkennen wird.
-
In
einer Reihe zusammengehöriger
Bilder oder einer Einstellung wie zuvor beschrieben, beispielsweise
einer Sequenz aus Bildern, die eine auf einer Parkbank sitzende
Person zeigen, können
eines oder mehrere der ausgewählten
Objekte über eine
Anzahl von Rahmen andauern. In anderen Situationen, etwa einer abrupten
Veränderung
in dem Bild, beispielsweise wenn die Szene zu der Ansicht wechselt,
welche die Person auf der Parkbank wahrnimmt, können einige oder alle der in
der ersten Szene oder Einstellung identifizierten Bereiche in der zweiten
Szene oder Einstellung fehlen. Das System und Verfahren der Erfindung
kann sowohl feststellen, dass die Szene gewechselt hat (z. B. beginnt
eine neue Einstellung) und dass ein oder mehrere in der ersten Szene
vorhandene Bereiche in der zweiten Szene nicht vorhanden sind.
-
In
einer Ausführungsform
bestimmt das System und Verfahren, dass die Szene oder Einstellung gewechselt
hat, durch Berechnung eines Histogramms von Pixeln, die sich von
einem Bild zu einem nachfolgenden Bild verändert haben, und Vergleich der
Neigung der nachfolgenden Instanzen (oder der Zeitentwicklung) des
Histogramms mit einem vorgegebenen Neigungswert. 13 zeigt
drei illustrative Beispiele für
die Entwicklungen von Histogrammen über aufeinanderfolgende Rahmen
(oder über
die Zeit). Die oberste Kurve 1310 weist eine geringe Variation
der Neigung von null auf und repräsentiert Bewegung mit mäßiger Geschwindigkeit.
Die mittlere Kurve 1320 zeigt eine etwas größere Variation
der Neigung und repräsentiert
plötzliche
Bewegung. Die unterste Kurve 1330 zeigt eine große Variation
der Neigung und repräsentiert
einen Einstellungswechsel oder Szenenwechsel bei Rahmen F. Wenn
die Neigung der Histogrammentwicklungskurve einen vorbestimmten
Wert übersteigt
wie bei der untersten Kurve 1330, stellt das System fest,
dass ein Einstellungswechsel aufgetreten ist.
-
Eine
bevorzugte Ausführungsform
dieses Systems ist hinsichtlich digitalen Fernsehrundfunks beschrieben
worden. Es wird darauf hingewiesen, dass eine alternative Ausführungsform
dieses Systems auch in ähnlicher
Weise mit alten analogen Fernsehrundfunksystemen integriert werden
kann. In der vorliegenden Verwendung wird der Begriff Metadaten
so verstanden, dass er Masken, Objekte, Anmerkungsinformationen,
Datenstrukturen, Zeitmarken oder andere Zeitinformationen und generell
alle zusätzlichen
Informationen und Daten umfasst, die in Verbindung mit den ursprünglichen,
unveränderten Fernsehrundfunksignalen
verwendet werden. In der analogen Ausführungsform können die
Metadaten durch einen oder mehrere der folgenden Schritte mit einem
analogen Übertragungssignal
assoziiert werden: Einfügen
von Metadaten in die „vertikale
Austastlücke" (VBI), wie dies
von Closed-Caption-Untertitelungssystemen durchgeführt wird,
und Senden von Metadaten über
einen sekundären
Kommunikationskanal wie zum Beispiel (aber nicht beschränkt auf)
ein Subträgersignal,
eine andere Kanalfrequenz innerhalb des elektromagnetischen Übertragungsspektrums
oder eine Verbindung mit einem Computernetzwerk, beispielsweise
dem Internet.
-
In
dieser Ausführungsform
unterstützen
die Videoquelle, der Modulator, die Abstimmvorrichtung und der Empfänger Analogsignale,
während
die Metadaten digital sein können.
Der Analogempfänger kann
die Metadaten aus der VBI sammeln, kann Metadaten im Speicher ablegen
und kann sie wie vorliegend beschrieben verarbeiten.