DE60133374T2 - Verfahren und vorrichtung zum empfangen von hyperlink-fernsehprogrammen - Google Patents

Verfahren und vorrichtung zum empfangen von hyperlink-fernsehprogrammen Download PDF

Info

Publication number
DE60133374T2
DE60133374T2 DE60133374T DE60133374T DE60133374T2 DE 60133374 T2 DE60133374 T2 DE 60133374T2 DE 60133374 T DE60133374 T DE 60133374T DE 60133374 T DE60133374 T DE 60133374T DE 60133374 T2 DE60133374 T2 DE 60133374T2
Authority
DE
Germany
Prior art keywords
information
data
timestamp
mask
viewer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60133374T
Other languages
English (en)
Other versions
DE60133374D1 (de
Inventor
Dan Needham KATCHER
Michael V. Wrentham BOVE
Karen Newton SARACHIK
Paul Waltham MILAZZO
Jon Cambridge DAKSS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Television Inc
Original Assignee
GoldPocket Interactive Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/694,079 external-priority patent/US7367042B1/en
Application filed by GoldPocket Interactive Inc filed Critical GoldPocket Interactive Inc
Publication of DE60133374D1 publication Critical patent/DE60133374D1/de
Application granted granted Critical
Publication of DE60133374T2 publication Critical patent/DE60133374T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Description

  • 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
  • 1A1D 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;
  • 5A5B 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;
  • 12A12B 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 5A5B 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 5A5B, 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 5A5B 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. 5A5B 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 5A5B 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 5A5B nicht gezeigt wird, enthalten alle anderen Datenstrukturen des Systems ebenfalls ein In-Verwendung-Bit wie oben beschrieben.
  • Die in 5A5B 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 5A5B 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 12A12B 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.

Claims (19)

  1. Ein System für Hyperverlinkte Anmerkungsdaten, aufweisend: eine Abstimmvorrichtung (100); einen Demodulator (104) in Verbindung mit der Abstimmvorrichtung (100); einen Videodekoder (108) in Verbindung mit dem Demodulator (104); eine Anzeigevorrichtung (58, 530) in Verbindung mit dem Demodulator (104); einen Speicher (128), welcher Anmerkungsdaten, die mit wenigstens einem Objekt, das in einem Videorahmen angezeigt wird, assoziiert werden sollen, speichert; und eine zentrale Prozessoreinheit (124) in Verbindung mit dem Dekoder (108) und dem Speicher (128); wobei der Speicher (128) ein Computerprogramm speichert, welches, wenn es von der zentralen Prozessoreinheit (124) ausgeführt wird, die Anzeige der Anmerkungsdaten (5) auf der Anzeigevorrichtung (58, 530) steuert, wobei die Anmerkungsdaten mit einer Ablauf-Zeitmarke versehen sind, die von dem Computerprogramm verwendet wird, die Anmerkungsdaten (5) nach einer vorgegebenen Zeit zu löschen.
  2. Das System gemäß Anspruch 1, weiterhin aufweisend: eine Zuschauer-Interaktionsvorrichtung, wobei das Computerprogramm die Anmerkungsdaten (5) auf der Anzeigevorrichtung (58) als Reaktion auf die Aktivierung der Zuschauer-Interaktionsvorrichtung durch einen Zuschauer anzeigt.
  3. Das System gemäß Anspruch 1, wobei der Speicher (128) Maskierungsinformation (210, 506) speichert; wobei die Maskierungsinformation (210, 506) durch das Computerprogramm verwendet wird, um Bereiche auf der Anzeigevorrichtung (58, 530) zu identifizieren.
  4. Das System gemäß Anspruch 3, wobei die Maskierungsinformation (210, 506) eine Maskierungs-Zeitmarke (218) aufweist.
  5. Das System gemäß Anspruch 4, wobei die Maskierungs-Zeitmarke (218) von dem Computerprogramm verwendet wird, um die Maskierungsinformation (506) in zeitlichem Bezug zu einem Videorahmen anzuzeigen.
  6. Das System gemäß Anspruch 3, wobei der Speicher (128) Objektinformationen speichert; wobei die Objektinformationen von dem Computerprogramm verwendet werden, Objekte in einen Videorahmen auf der Anzeigevorrichtung (58, 530) anzuzeigen.
  7. Das System gemäß Anspruch 6, wobei die Objektinformationen die Ablauf-Zeitmarke aufweisen.
  8. Das System gemäß den Ansprüchen 6 oder 7, wobei die Objektinformationen aufweisen: eine Objektzuordnungstabelle (217) enthaltend eine Objektnummer für ein Objekt in einem Videorahmen und einen entsprechenden ersten Identifikator; und eine Objekteigenschaftstabelle (220), welche durch den ersten Identifikator referenziert wird, wobei die Objekteigenschaftstabelle eine erste Gruppe von Anmerkungsdaten enthält.
  9. Das System gemäß Anspruch 8, wobei die erste Gruppe von Anmerkungsdaten ein Anmerkungsdatenfeld und einen zweiten Identifikator enthält, welcher eine zweite Gruppe von Anmerkungsdaten referenziert.
  10. Das System gemäß Anspruch 9, wobei das Anmerkungsdatenfeld ein Titelfeld (221) ist und der zweite Identifikator einen String, der einen Titel des Objektes enthält, referenziert.
  11. Das System gemäß Anspruch 9, wobei das Anmerkungsdatenfeld ein Menüfeld (253) ist und der zweite Identifikator einen Selektor referenziert, welcher eine Gruppe von Anzeigeidentifikatoren und eine entsprechende Gruppe von Aktionsidentifikatoren enthält.
  12. Das System gemäß einem der Ansprüche 9 bis 11, wobei die ersten und zweiten Identifikatoren in dem System eindeutig sind.
  13. Das System gemäß einem der Ansprüche 9 bis 12, wobei der Identifikator ein variabler Wert ist.
  14. Ein Verfahren zur Verwendung von Rundfunkinformationen, welches Hyperverlinkte Anmerkungsdaten enthält, aufweisend die Schritte: Verwenden eines Empfängers (54), welcher angepasst ist, um Rundfunkinformationen zu empfangen, dekodieren, speichern und manipulieren, wobei der Empfänger eine zentrale Prozessoreinheit (124) und wenigstens eine Speichervorrichtung (128) aufweist; Empfangen eines Stroms von Rundfunkinformationen; Dekodieren der Rundfunkinformationen, um Maskierungsinformationen zu erhalten, wobei mit jeder Maske eine Maskierungs-Zeitmarke und eine Ablauf-Zeitmarke assoziiert ist; Speichern der Maskierungsinformation in einer ersten Datenschlange in der wenigstens einen Speichervorrichtung (128); Vergleichen der Maskierungs-Zeitmarke mit einer Zeitmarke eines dargestellten Videorahmens; Anzeigen der Maske basierend auf einem Bezug zwischen der Masken-Zeitmarke und der Zeitmarke des angezeigten Videos; und Löschen der Maske nach einer spezifischen Zeit, die auf der Grundlage der Ablauf-Zeitmarke berechnet wird.
  15. Das Verfahren gemäß Anspruch 14, weiterhin umfassend die Schritte: Dekodieren der Rundfunkinformationen, um Objektinformationen zu erhalten, wobei jedes Objekt mit einer Objekt-Zeitmarke assoziiert ist; und Speichern der Objektinformation in einer zweiten Datenschlange in der wenigstens einen Speichervorrichtung (128).
  16. Das Verfahren gemäß Anspruch 14, wobei die Dekodierung durch einen ersten aktiven Thread (514) erfolgt, der Operationen auf die erste Datenschlange anwendet und wobei das Vergleichen durch einen zweiten aktiven Thread erfolgt, der Operationen auf die erste Datenschlange anwendet.
  17. Das Verfahren gemäß einem der Ansprüche 14 bis 16, wobei der Schritt des Vergleichens der Maskierungs-Zeitmarke mit einer Zeitmarke eines angezeigten Videorahmens mit dem Vergleich einer frühesten Maskierungs-Zeitmarke mit einer Zeitmarke eines unmittelbar zuletzt angezeigten Videorahmens beginnt.
  18. Das Verfahren gemäß Anspruch 16, wobei der erste Thread (514) eine Anzeige von Maskierungsdaten anpasst und der zweite Thread eine Anzeige von Objektdaten anpasst.
  19. Das Verfahren gemäß einem der Ansprüche 14 bis 18, weiterhin umfassend die Schritte: für den Fall, dass die Maskierungs-Zeitmarke einem Rahmen, der noch nicht angezeigt wurde, entspricht: (a) Dekodieren der assoziierten Maske in einen Bildpuffer; (b) Prüfen der Maskierungs-Zeitmarke, um zu erkennen, ob die dekodierte Maske unmittelbar angezeigt werden soll; (c) wenn die dekodierte Maske unmittelbar angezeigt werden soll, anzeigen der dekodierten Maske; und (d) wenn die dekodierte Maske zu einem späteren Zeitpunkt angezeigt werden soll, Ruhen für eine Zeit, welche berechnet ist, um zu dem Zeitpunkt zu enden, an dem die dekodierte Maske angezeigt werden soll und, unmittelbar beim Aufwachen, Anzeigen der dekodierten Maske.
DE60133374T 2000-02-29 2001-02-28 Verfahren und vorrichtung zum empfangen von hyperlink-fernsehprogrammen Expired - Lifetime DE60133374T2 (de)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US18566800P 2000-02-29 2000-02-29
US185668P 2000-02-29
US22924100P 2000-08-30 2000-08-30
US229241P 2000-08-30
US23334000P 2000-09-18 2000-09-18
US233340P 2000-09-18
US694079 2000-10-20
US09/694,079 US7367042B1 (en) 2000-02-29 2000-10-20 Method and apparatus for hyperlinking in a television broadcast
US715944 2000-11-17
US09/715,944 US7120924B1 (en) 2000-02-29 2000-11-17 Method and apparatus for receiving a hyperlinked television broadcast
PCT/US2001/006458 WO2001065832A1 (en) 2000-02-29 2001-02-28 A method and apparatus for receiving a hyperlinked television broadcast

Publications (2)

Publication Number Publication Date
DE60133374D1 DE60133374D1 (de) 2008-05-08
DE60133374T2 true DE60133374T2 (de) 2009-04-02

Family

ID=27539138

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133374T Expired - Lifetime DE60133374T2 (de) 2000-02-29 2001-02-28 Verfahren und vorrichtung zum empfangen von hyperlink-fernsehprogrammen

Country Status (7)

Country Link
US (1) US7120924B1 (de)
EP (1) EP1266519B1 (de)
JP (2) JP2004500770A (de)
AT (1) ATE390798T1 (de)
AU (1) AU2001245369A1 (de)
DE (1) DE60133374T2 (de)
WO (1) WO2001065832A1 (de)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
JP2003521851A (ja) 1999-09-20 2003-07-15 ティヴォ インク クローズド・キャプション・タグ付けシステム
US6636237B1 (en) * 2000-07-31 2003-10-21 James H. Murray Method for creating and synchronizing links to objects in a video
US7657916B2 (en) * 2000-07-31 2010-02-02 Cisco Technology, Inc. Digital subscriber television networks with local physical storage devices and virtual storage
CA2423179A1 (en) * 2000-09-21 2002-03-28 Digital Network Shopping, Llc Method and apparatus for digital shopping
US7023492B2 (en) * 2000-10-19 2006-04-04 Microsoft Corporation Method and apparatus for encoding video content
US7913286B2 (en) 2000-10-20 2011-03-22 Ericsson Television, Inc. System and method for describing presentation and behavior information in an ITV application
US8024766B2 (en) * 2001-08-01 2011-09-20 Ericsson Television, Inc. System and method for distributing network-based personal video
JP3762926B2 (ja) * 2001-08-28 2006-04-05 松下電器産業株式会社 放送受信方法、放送システム、プログラム及び記録媒体
JP4145623B2 (ja) * 2001-10-23 2008-09-03 松下電器産業株式会社 テレビジョン受信機及び受信機からのアクセス数集計方法
US8122466B2 (en) * 2001-11-20 2012-02-21 Portulim Foundation Llc System and method for updating digital media content
US8909729B2 (en) 2001-11-20 2014-12-09 Portulim Foundation Llc System and method for sharing digital media content
US8504652B2 (en) 2006-04-10 2013-08-06 Portulim Foundation Llc Method and system for selectively supplying media content to a user and media storage device for use therein
US7503059B1 (en) 2001-12-28 2009-03-10 Rothschild Trust Holdings, Llc Method of enhancing media content and a media enhancement system
US7711774B1 (en) 2001-11-20 2010-05-04 Reagan Inventions Llc Interactive, multi-user media delivery system
WO2003096669A2 (en) 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
JP2004120440A (ja) * 2002-09-26 2004-04-15 Toshiba Corp サーバー装置及びクライアント装置
GB2417432B (en) 2003-06-02 2008-03-19 Disney Entpr Inc System and method of interactive video playback
CN102227140B (zh) 2003-06-02 2012-10-24 迪斯尼实业公司 视频播放器商务的系统和方法
CA2527083C (en) 2003-06-02 2011-04-26 Disney Enterprises, Inc. System and method of programmatic window control for consumer video players
US7469346B2 (en) 2003-06-27 2008-12-23 Disney Enterprises, Inc. Dual virtual machine architecture for media devices
US20070118812A1 (en) * 2003-07-15 2007-05-24 Kaleidescope, Inc. Masking for presenting differing display formats for media streams
KR100969966B1 (ko) 2003-10-06 2010-07-15 디즈니엔터프라이지즈,인크. 비디오 플레이어의 재생 및 특징을 제어하는 방법 및 시스템
US20050086690A1 (en) * 2003-10-16 2005-04-21 International Business Machines Corporation Interactive, non-intrusive television advertising
CA2554306C (en) 2004-02-04 2014-04-08 Goldpocket Interactive, Inc. Synchronization and automation in an itv environment
CA2555276C (en) * 2004-03-01 2012-05-15 Goldpocket Interactive, Inc. System and method for describing presentation and behavior information in an itv application
EP1591916B1 (de) * 2004-04-26 2013-11-06 Sap Ag Methode, Computerprogramm und Gerät zum Löschen von Datensätzen in einem Tabellensystem
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US8806537B2 (en) * 2004-10-05 2014-08-12 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for implementing interactive control of radio and other media
US9167301B2 (en) 2004-10-05 2015-10-20 At&T Intellectual Property I, L.P. Methods and computer program products for taking a secondary action responsive to receipt of an advertisement
US20060075427A1 (en) * 2004-10-05 2006-04-06 Robert Koch Methods, apparatus, and computer program products for recording media files
ES2630168T3 (es) 2004-11-19 2017-08-18 Tivo Solutions Inc Procedimiento y aparato para la transferencia segura y la reproducción de contenido multimedia
US7631330B1 (en) * 2005-02-25 2009-12-08 Lightningcast Llc Inserting branding elements
CN101160363A (zh) 2005-02-23 2008-04-09 西玛耐诺技术以色列有限公司 用于制备电子器件和图案的可喷墨印刷的组合物
JP2006288612A (ja) * 2005-04-08 2006-10-26 Olympus Corp 画像表示装置
US20060259930A1 (en) * 2005-05-10 2006-11-16 Rothschild Leigh M System and method for obtaining information on digital media content
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US11082746B2 (en) 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US7661121B2 (en) 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
WO2008007907A1 (en) * 2006-07-14 2008-01-17 Dong Soo Son A system for providing the interactive moving picture contents and the method thereof
JP2008160804A (ja) * 2006-11-30 2008-07-10 Matsushita Electric Ind Co Ltd データ転送装置及び転送制御方法
JPWO2008093632A1 (ja) * 2007-01-29 2010-05-20 株式会社Access 動画処理方法、動画処理プログラム、および動画処理装置
US8515194B2 (en) * 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
KR101427647B1 (ko) * 2007-04-25 2014-08-07 삼성전자주식회사 패킷 생성과 처리에 관한 방법 및 그 장치
WO2009005415A1 (en) * 2007-07-03 2009-01-08 Teleca Sweden Ab Method for displaying content on a multimedia player and a multimedia player
KR101432994B1 (ko) * 2007-08-13 2014-08-22 삼성전자주식회사 미디어 객체 기반 메타데이터의 생성 방법, 재생 방법 및그 장치
US7987478B2 (en) * 2007-08-28 2011-07-26 Sony Ericsson Mobile Communications Ab Methods, devices, and computer program products for providing unobtrusive video advertising content
US8875212B2 (en) * 2008-04-15 2014-10-28 Shlomo Selim Rakib Systems and methods for remote control of interactive video
US20100011295A1 (en) * 2008-07-08 2010-01-14 Nortel Networks Limited Method of Delivering Customer Contact Service to IPTV Viewer
US8266684B2 (en) 2008-09-30 2012-09-11 General Instrument Corporation Tokenized resource access
US20100098074A1 (en) * 2008-10-22 2010-04-22 Backchannelmedia Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8160064B2 (en) 2008-10-22 2012-04-17 Backchannelmedia Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US9094721B2 (en) * 2008-10-22 2015-07-28 Rakuten, Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
CN101557464B (zh) * 2009-04-01 2013-06-05 深圳市融创天下科技股份有限公司 一种在视频节目播放中动态嵌入其他媒体片段的方法
US8438596B2 (en) * 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US8566481B2 (en) * 2009-06-10 2013-10-22 Cisco Technology, Inc. Managing configuration data
US20110261258A1 (en) * 2009-09-14 2011-10-27 Kumar Ramachandran Systems and methods for updating video content with linked tagging information
JP5266298B2 (ja) * 2010-11-30 2013-08-21 靖宜 下岡 大規模アクセスと高コンバージョンを達成する、放送番組とインターネット通販の融合システム及び方法
US9172943B2 (en) 2010-12-07 2015-10-27 At&T Intellectual Property I, L.P. Dynamic modification of video content at a set-top box device
CN103283254B (zh) * 2011-01-05 2018-04-06 汤姆逊许可公司 多屏交互
US9715326B2 (en) 2011-03-16 2017-07-25 Peking University Superimposed annotation output
EP2536165A3 (de) * 2011-06-13 2014-01-29 Samsung Electronics Co., Ltd. Speicherung von Inhalt entsprechend Programmen
US9626798B2 (en) 2011-12-05 2017-04-18 At&T Intellectual Property I, L.P. System and method to digitally replace objects in images or video
KR20130108949A (ko) * 2012-03-26 2013-10-07 한국전자통신연구원 영상부호 및 복호화 단계에서의 이중 객체검출 및 이동경로 정보를 이용한 영상 압축 방법
CN103905846B (zh) * 2012-12-25 2017-12-08 中国电信股份有限公司 基于iptv的内容推送方法与服务器
US9420343B2 (en) * 2013-03-15 2016-08-16 Echostar Technologies L.L.C. Systems and methods for providing information related to tagged items represented in video stream content
KR20140118605A (ko) * 2013-03-29 2014-10-08 인텔렉추얼디스커버리 주식회사 증강 객체를 전송하는 서버 및 방법
US9240077B1 (en) * 2014-03-19 2016-01-19 A9.Com, Inc. Real-time visual effects for a live camera view
US10638194B2 (en) * 2014-05-06 2020-04-28 At&T Intellectual Property I, L.P. Embedding interactive objects into a video session
EP3162080A1 (de) * 2014-06-25 2017-05-03 Thomson Licensing Anmerkungsverfahren und zugehörige vorrichtung, computerprogrammprodukt und speichermedium
US9560416B2 (en) * 2014-08-29 2017-01-31 Allon Caidar Method and apparatus for interfacing buyers with products depicted in a video
US9032447B1 (en) * 2014-08-29 2015-05-12 Allon Caidar Method and apparatus for interfacing buyers with products depicted in a video
KR101975511B1 (ko) * 2014-10-22 2019-05-07 후아웨이 테크놀러지 컴퍼니 리미티드 인터액티브 비디오 생성
JP6641731B2 (ja) 2015-06-05 2020-02-05 ソニー株式会社 送信装置及び送信方法、並びに受信装置及び受信方法
CN105163164B (zh) * 2015-08-31 2019-10-25 腾讯科技(北京)有限公司 信息展示项展示方法及装置
CN105451039B (zh) * 2015-09-15 2019-05-24 北京合盒互动科技有限公司 一种多媒体信息交互方法及系统
GB2548316A (en) * 2015-12-01 2017-09-20 Zaptobuy Ltd Methods and systems for identifying an object in a video image
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
KR101915578B1 (ko) * 2017-06-14 2018-11-06 (주)에프엑스기어 시점 기반 오브젝트 피킹 시스템 및 그 방법
US11107177B1 (en) * 2017-06-16 2021-08-31 Amazon Technologies, Inc. Data/metadata synchronization using metadata queue statistics
US10809889B2 (en) * 2018-03-06 2020-10-20 Sony Corporation Live interactive event indication based on notification profile for display device
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input
CN114697724A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 一种媒体播放方法及电子设备
US11263385B1 (en) * 2021-03-24 2022-03-01 Ebay Inc. Web browser extension for linking images to webpages
US11546612B2 (en) * 2021-06-02 2023-01-03 Western Digital Technologies, Inc. Data storage device and method for application-defined data retrieval in surveillance systems

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1478695A (en) 1974-09-26 1977-07-06 Texas Instruments Ltd Data handling apparatus
US4122477A (en) 1977-01-28 1978-10-24 Ampex Corporation Method and apparatus for inserting synchronizing words in a digitalized television signal data stream
US4264924A (en) 1978-03-03 1981-04-28 Freeman Michael J Dedicated channel interactive cable television system
US4264925A (en) 1979-08-13 1981-04-28 Michael J. Freeman Interactive cable television system
US4959718A (en) 1982-03-31 1990-09-25 Ampex Corporation Video device synchronization system
US4532547A (en) 1982-03-31 1985-07-30 Ampex Corporation Video device synchronization system
US4507680A (en) 1982-06-22 1985-03-26 Freeman Michael J One way interactive multisubscriber communication system
US4602279A (en) 1984-03-21 1986-07-22 Actv, Inc. Method for providing targeted profile interactive CATV displays
US4573072A (en) 1984-03-21 1986-02-25 Actv Inc. Method for expanding interactive CATV displayable choices for a given channel capacity
US4941040A (en) 1985-04-29 1990-07-10 Cableshare, Inc. Cable television system selectively distributing pre-recorded video and audio messages
US4724543A (en) 1985-09-10 1988-02-09 Beckman Research Institute, City Of Hope Method and apparatus for automatic digital image analysis
US4811407A (en) 1986-01-22 1989-03-07 Cablesoft, Inc. Method and apparatus for converting analog video character signals into computer recognizable binary data
US4903317A (en) 1986-06-24 1990-02-20 Kabushiki Kaisha Toshiba Image processing apparatus
US4748512A (en) 1986-08-25 1988-05-31 National Business Systems, Inc. Data compaction process for digitized images
US4743959A (en) 1986-09-17 1988-05-10 Frederiksen Jeffrey E High resolution color video image acquisition and compression system
US4837847A (en) 1987-02-03 1989-06-06 Canon Kabushiki Kaisha Image processing apparatus
US4847699A (en) 1987-07-16 1989-07-11 Actv, Inc. Method for providing an interactive full motion synched compatible audio/visual television display
US4847698A (en) 1987-07-16 1989-07-11 Actv, Inc. Interactive television system for providing full motion synched compatible audio/visual displays
US4847700A (en) 1987-07-16 1989-07-11 Actv, Inc. Interactive television system for providing full motion synched compatible audio/visual displays from transmitted television signals
US5195092A (en) 1987-08-04 1993-03-16 Telaction Corporation Interactive multimedia presentation & communication system
US4792849A (en) 1987-08-04 1988-12-20 Telaction Corporation Digital interactive communication system
US5208665A (en) 1987-08-20 1993-05-04 Telaction Corporation Presentation player for an interactive digital communication system
US4829372A (en) 1987-08-20 1989-05-09 Telaction Corporation Presentation player
USRE34340E (en) 1987-10-26 1993-08-10 Actv, Inc. Closed circuit television system having seamless interactive television programming and expandable user participation
US4803553A (en) 1988-01-11 1989-02-07 Eastman Kodak Company Video timing system which has signal delay compensation and which is responsive to external synchronization
JP2584840B2 (ja) 1988-08-30 1997-02-26 キヤノン株式会社 画像の階層的符号化装置
DE3905669C2 (de) 1989-02-24 1996-03-07 Broadcast Television Syst Schaltungsanordnung zur Ableitung von Synchronsignalen aus einem digitalen Videosignal
US5267333A (en) 1989-02-28 1993-11-30 Sharp Kabushiki Kaisha Image compressing apparatus and image coding synthesizing method
US5014125A (en) 1989-05-05 1991-05-07 Cableshare, Inc. Television system for the interactive distribution of selectable video presentations
JPH02305182A (ja) 1989-05-19 1990-12-18 Fuji Photo Film Co Ltd 画像信号圧縮符号化装置
US5008745A (en) 1989-12-21 1991-04-16 Burle Technologies, Inc. Clock synchronized digital TV motion detector
US5045940A (en) 1989-12-22 1991-09-03 Avid Technology, Inc. Video/audio transmission systsem and method
US5130792A (en) 1990-02-01 1992-07-14 Usa Video Inc. Store and forward video system
US5347322A (en) 1991-07-09 1994-09-13 Rebo Research Video storage and synchronization
JP2880831B2 (ja) 1991-07-23 1999-04-12 キヤノン株式会社 映像信号処理装置
US5724091A (en) 1991-11-25 1998-03-03 Actv, Inc. Compressed digital data interactive program system
US5861881A (en) 1991-11-25 1999-01-19 Actv, Inc. Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers
JP2987206B2 (ja) 1991-12-13 1999-12-06 アヴィッド・テクノロジー・インコーポレーテッド バッファ及びフレーム索引作成
US5754250A (en) 1992-02-18 1998-05-19 Cooper; J. Carl Synchronizing signal separating apparatus and method
US5526024A (en) 1992-03-12 1996-06-11 At&T Corp. Apparatus for synchronization and display of plurality of digital video data streams
US5644354A (en) 1992-10-09 1997-07-01 Prevue Interactive, Inc. Interactive video system
US5539871A (en) * 1992-11-02 1996-07-23 International Business Machines Corporation Method and system for accessing associated data sets in a multimedia environment in a data processing system
US5371519A (en) 1993-03-03 1994-12-06 Honeywell Inc. Split sort image processing apparatus and method
US5404173A (en) 1993-03-10 1995-04-04 Brooktree Corporation Method to synchronize video modulation using a constant time base
JP2932886B2 (ja) 1993-03-10 1999-08-09 松下電器産業株式会社 ディジタル信号記録方法
GB9321312D0 (en) 1993-10-15 1993-12-08 Interactive Network Ltd Game playing system
US5949476A (en) 1993-10-20 1999-09-07 Cableshare, Inc. Television system distributing a dynamically varying number of concurrent video presentations over a single television channel
US5590262A (en) 1993-11-02 1996-12-31 Magic Circle Media, Inc. Interactive video interface and method of creation thereof
US5537141A (en) 1994-04-15 1996-07-16 Actv, Inc. Distance learning system providing individual television participation, audio responses and memory for every student
JP3624431B2 (ja) * 1994-05-26 2005-03-02 株式会社日立製作所 ビデオ・オン・デマンド・システム、及びそのセンタ、及びテレビシステム
US5583561A (en) 1994-06-07 1996-12-10 Unisys Corporation Multi-cast digital video data server using synchronization groups
US5884028A (en) 1994-07-29 1999-03-16 International Business Machines Corporation System for the management of multiple time-critical data streams
US5600775A (en) 1994-08-26 1997-02-04 Emotion, Inc. Method and apparatus for annotating full motion video and other indexed data structures
US5603058A (en) 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams
US5883975A (en) 1994-09-12 1999-03-16 Nippon Steel Corporation Compression and decompression methods on two-dimensional image data
US5632007A (en) 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
JP3711571B2 (ja) 1994-09-29 2005-11-02 ソニー株式会社 画像符号化装置及び画像符号化方法
US5727090A (en) 1994-09-29 1998-03-10 United States Of America As Represented By The Secretary Of Commerce Method of storing raster image in run lengths havng variable numbers of bytes and medium with raster image thus stored
US5815634A (en) 1994-09-30 1998-09-29 Cirrus Logic, Inc. Stream synchronization method and apparatus for MPEG playback system
US5541662A (en) 1994-09-30 1996-07-30 Intel Corporation Content programmer control of video and data display using associated data
US5533021A (en) 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5517257A (en) 1995-03-28 1996-05-14 Microsoft Corporation Video control user interface for interactive television systems and method for controlling display of a video movie
US5880768A (en) 1995-04-06 1999-03-09 Prevue Networks, Inc. Interactive program guide systems and processes
US5818438A (en) 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
US5848352A (en) 1995-04-26 1998-12-08 Wink Communications, Inc. Compact graphical interactive information system
US5689799A (en) 1995-04-26 1997-11-18 Wink Communications, Inc. Method and apparatus for routing confidential information
JPH08331472A (ja) 1995-05-24 1996-12-13 Internatl Business Mach Corp <Ibm> 共有フレーム・バッファを含むマルチメディア表示装置においてビデオ・データとグラフィック・データの同期をとる方法及び装置
US5541602A (en) 1995-05-26 1996-07-30 National Semiconductor Corporation Multi-phased pipeland analog to digital converter
US5771073A (en) 1995-06-07 1998-06-23 Massachusetts Institute Of Technology Advanced television system using a different encoding technique for non-image areas
JPH0974566A (ja) 1995-09-04 1997-03-18 Sony Corp 圧縮符号化装置及び圧縮符号化データの記録装置
GB2305797B (en) 1995-09-27 2000-03-01 Sony Uk Ltd Video data compression
US5708845A (en) 1995-09-29 1998-01-13 Wistendahl; Douglass A. System for mapping hot spots in media content for interactive digital media program
US5786855A (en) 1995-10-26 1998-07-28 Lucent Technologies Inc. Method and apparatus for coding segmented regions in video sequences for content-based scalability
US5912994A (en) 1995-10-27 1999-06-15 Cerulean Colorization Llc Methods for defining mask of substantially color-homogeneous regions of digitized picture stock
GB2306833B (en) 1995-10-30 2000-03-29 Sony Uk Ltd Video data compression
US5790269A (en) 1995-12-12 1998-08-04 Massachusetts Institute Of Technology Method and apparatus for compressing and decompressing a video image
US5838828A (en) 1995-12-12 1998-11-17 Massachusetts Institute Of Technology Method and apparatus for motion estimation in a video signal
US5715176A (en) 1996-01-23 1998-02-03 International Business Machines Corporation Method and system for locating a frame position in an MPEG data stream
US5969755A (en) 1996-02-05 1999-10-19 Texas Instruments Incorporated Motion based event detection system and method
US5845083A (en) 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
US5774664A (en) 1996-03-08 1998-06-30 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
JP3698805B2 (ja) * 1996-03-25 2005-09-21 パイオニア株式会社 情報記録装置及び方法、情報処理装置及び方法並びに情報再生装置及び方法
US5918012A (en) 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
US5961603A (en) 1996-04-10 1999-10-05 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
US5929849A (en) 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
US5903816A (en) 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
US5883670A (en) 1996-08-02 1999-03-16 Avid Technology, Inc. Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer
JP3864461B2 (ja) 1996-08-30 2006-12-27 ソニー株式会社 映像データ圧縮装置およびその方法
US6172677B1 (en) * 1996-10-07 2001-01-09 Compaq Computer Corporation Integrated content guide for interactive selection of content and services on personal computer systems with multiple sources and multiple media presentation
US5907322A (en) 1996-10-16 1999-05-25 Catch Tv Acquisition Corp. Television event marking system
US5774666A (en) 1996-10-18 1998-06-30 Silicon Graphics, Inc. System and method for displaying uniform network resource locators embedded in time-based medium
US5949410A (en) 1996-10-18 1999-09-07 Samsung Electronics Company, Ltd. Apparatus and method for synchronizing audio and video frames in an MPEG presentation system
US5977962A (en) 1996-10-18 1999-11-02 Cablesoft Corporation Television browsing system with transmitted and received keys and associated information
US5982445A (en) 1996-10-21 1999-11-09 General Instrument Corporation Hypertext markup language protocol for television display and control
US5912675A (en) 1996-12-19 1999-06-15 Avid Technology, Inc. System and method using bounding volumes for assigning vertices of envelopes to skeleton elements in an animation system
JP3814903B2 (ja) * 1996-12-25 2006-08-30 株式会社日立製作所 映像・データ表示方法及び装置
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
US5946318A (en) 1997-03-21 1999-08-31 International Business Machines Corporation Method and apparatus for processing and packetizing data from a data stream
CA2202688C (en) 1997-04-15 2005-07-26 Microsoft Corporation Method and system for representing hierarchical time-based data structures and to extract information therefrom
US5883633A (en) 1997-04-15 1999-03-16 Microsoft Corporation Method and system of variable run length image encoding using sub-palette
US5926172A (en) 1997-08-25 1999-07-20 Int Labs, Inc. Video data transmission and display system and associated methods for encoding/decoding synchronization information and video data
US5978029A (en) 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6006265A (en) * 1998-04-02 1999-12-21 Hotv, Inc. Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network
JPH11355732A (ja) * 1998-06-12 1999-12-24 Hitachi Ltd 送信装置および受信装置
US6282713B1 (en) * 1998-12-21 2001-08-28 Sony Corporation Method and apparatus for providing on-demand electronic advertising
US6615408B1 (en) * 1999-01-15 2003-09-02 Grischa Corporation Method, system, and apparatus for providing action selections to an image referencing a product in a video production
US6415438B1 (en) * 1999-10-05 2002-07-02 Webtv Networks, Inc. Trigger having a time attribute
US6452598B1 (en) * 2000-01-18 2002-09-17 Sony Corporation System and method for authoring and testing three-dimensional (3-D) content based on broadcast triggers using a standard VRML authoring tool

Also Published As

Publication number Publication date
ATE390798T1 (de) 2008-04-15
DE60133374D1 (de) 2008-05-08
US7120924B1 (en) 2006-10-10
JP2004500770A (ja) 2004-01-08
EP1266519B1 (de) 2008-03-26
WO2001065832A1 (en) 2001-09-07
AU2001245369A1 (en) 2001-09-12
EP1266519A1 (de) 2002-12-18
JP5204285B2 (ja) 2013-06-05
JP2012070400A (ja) 2012-04-05

Similar Documents

Publication Publication Date Title
DE60133374T2 (de) Verfahren und vorrichtung zum empfangen von hyperlink-fernsehprogrammen
US6816628B1 (en) Methods for outlining and filling regions in multi-dimensional arrays
US8356329B2 (en) Method and apparatus for interaction with hyperlinks in a television broadcast
DE69732324T2 (de) System zum Speichern und Spielen einer Multimediaanwendung und Hinzufügen von verschiedenen spezifischen Diensten
DE69636284T2 (de) Kompaktes graphisches interaktives rundfunkinformationssystem
US20020078446A1 (en) Method and apparatus for hyperlinking in a television broadcast
DE69909758T2 (de) System zur erzeugung, partitionierung und verarbeitung von elekronischen fernsehprogrammzeitschriften
DE69913571T2 (de) Gezielte Weitergabe von Werbung an Fernseh-Endgeräte
DE69731549T2 (de) Interaktivität mit audiovisueller programmierung
DE69731988T2 (de) Verfahren und Gerät zur Anzeige von Bildern und Daten
DE102008056603B4 (de) Verfahren und Vorrichtungen zur Messung von Markenexposition in Medienstreams und zur Festlegung von Interessenbereichen in zugeordneten Videoframes
DE69822674T2 (de) Interaktives System zur Auswahl von Fernsehprogrammen
DE69830013T2 (de) Programmerzeugung
DE69932060T2 (de) Simulation einer zweiwegverbindung für ein-direktionalle datenströme für mehrere teilnehmer
DE69332895T2 (de) Operationszentrale für Fernsehversorgungssystem
CA2466924C (en) Real time interactive video system
DE69635627T2 (de) Verfahren und Einrichtung zur Planung einer elektronischen Programmanweisung mit Zugriff auf Dateneingabe
DE19833053A1 (de) Verfahren zum Übertragen eines Video-Datenstroms, Videosende- und Empfangssysteme
DE60005482T2 (de) Verfahren und system zur auswahl von produkten in einer video produktion unter verwendung von referenzbildern
DE69935704T2 (de) Aufnahme/Wiedergabe-Anlage und Verfahren zur digitalen Fernsehsendung
CN1337824A (zh) 电子节目指南的有效显示方法
DE10006488A1 (de) Verfahren zur Kennzeichnung von Daten und Verfahren zur Selektion von Daten

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: DAKSS, JON, CAMBRIDGE, MA 02141, US

Inventor name: MILAZZO, PAUL, WALTHAM, MA 02452, US

Inventor name: SARACHIK, KAREN, NEWTON, MA 02460, US

Inventor name: BOVE, MICHAEL V., WRENTHAM, MA 02093, US

Inventor name: KATCHER, DAN, NEEDHAM, MA 02492, US

8364 No opposition during term of opposition