Nothing Special   »   [go: up one dir, main page]

DE60133374T2 - METHOD AND DEVICE FOR RECEIVING HYPERLINK TELEVISION PROGRAMS - Google Patents

METHOD AND DEVICE FOR RECEIVING HYPERLINK TELEVISION PROGRAMS 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
German (de)
Other versions
DE60133374D1 (en
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
Application granted granted Critical
Publication of DE60133374D1 publication Critical patent/DE60133374D1/en
Publication of DE60133374T2 publication Critical patent/DE60133374T2/en
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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

A system and method of receiving information hyperlinked to a television broadcast. The broadcast material is analyzed and one or more regions within a frame are identified. Additional information can be associated with a region, and can be transmitted in encoded form, using timing information to identify the frame with which the information is associated. The system comprising a video source and an encoder that produces a transport stream in communication with the video source, an annotation source, a data packet stream generator that produces encoded annotation data packets in communication with the annotation source and the encoder, and a multiplexer system in communication with the encoder and the data packet stream generator. The encoder provides timestamp information to the data packet stream generator and the data packet stream generator synchronizes annotation data from the annotation source with a video signal from the video source in response to the timestamp information. The multiplexer generates a digital broadcast signal that includes an augmented transport stream from the transport stream and the encoded data packets. A receiver displays the annotation information associated with the video signal in response to a viewer request on a frame by frame basis. A viewer can respond interactively to the material, including performing commercial transactions, by using a backchannel that is provided for interactive communication.

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Die vorliegende Erfindung betrifft das Gebiet des Fernsehrundfunks und insbesondere das Gebiet der Hyperverlinkung in einer Fernsehsendung.The The present invention relates to the field of television broadcasting and in particular the field of hyperlinking in a television program.

Ü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.transfers of information about Television signals are known in the art. TV shows are unidirectional and offer the viewer no way to interact with the material appearing on a television screen. Spectator reactions to displayed material using a Remote control are known, but are generally based on the choice of one be limited to a list of available transmissions.

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.In a publication titled "Hyperlinked Video ", published in the SPIE Minutes, Issue 3528, November 1998, by Dakss et al. is the hyperlinking of data to objects proposed that appear in the video. This publication describes how Objects within a video are tracked through multiple frames [frames] can be. The hyperlinking concept described therein, however, referred on the use of the system in a laboratory environment with a played locally, recorded video, so the video for example could be interrupted to display the link content. Alternatively, in the publication suggested to show the linked content after the video has reached an interruption in the plot. The publication does not address the issues of providing hyperlinked Data in the context of a broadcast video stream.

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.Emotional If you are in the field of broadcasting, you will get many additional ones technical problems. In the laboratory context, these problems occur as such not on, and the publication Although it describes that the system is a future scenario of television usage However, aspects of the broadcasting scenario did not materialize within which simulates the new technical problems as a result the restrictions existing broadcasting standards and bandwidths.

Die vorliegende Erfindung, wie sie in den beigefügten Ansprüchen bestimmt ist, richtet sich an diese Probleme.The present invention as defined in the appended claims to these problems.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Zum Verständnis der Erfindung wird nun eine Ausführungsform derselben lediglich als Beispiel unter Bezugnahme auf die beigefügten diagrammartigen Zeichnungen beschrieben, wobeiTo the understanding The invention will now be an embodiment the same, by way of example only, with reference to the accompanying diagrammatic drawings Drawings described, wherein

1A1D eine Reihe von Videorahmen darstellen, wie sie von dem System der Erfindung erzeugt werden; 1A - 1D represent a series of video frames as generated by the system of the invention;

2 ein Blockdiagramm einer Ausführungsform eines hyperverlinkten Videosystems ist, das gemäß der Erfindung aufgebaut ist; 2 Fig. 10 is a block diagram of one embodiment of a hyperlinked video system constructed in accordance with the invention;

2A ein Blockdiagramm des Datenflusses in der in 2 gezeigten Ausführungsform des Systems ist und 2A a block diagram of the data flow in the in 2 shown embodiment of the system is and

2B ein Diagramm einer Menge von Maskierungspaketen ist; 2 B is a diagram of a set of masking packets;

2C ein Diagramm eines anfänglichen kodierten Datenpaketstroms ist; 2C is a diagram of an initial coded data packet stream;

2D ein Diagramm eines letzten kodierten Datenpaketstroms ist; 2D is a diagram of a last encoded data packet stream;

3 ein Blockdiagramm einer Ausführungsform des in 1 gezeigten Multiplexersystems ist; 3 a block diagram of an embodiment of the in 1 shown multiplexer system;

4 ein Blockdiagramm einer Ausführungsform des in 2 gezeigten Digitalempfängers ist; 4 a block diagram of an embodiment of the in 2 shown digital receiver is;

5A5B Diagramme einer Ausführungsform der Datenstrukturen sind, die von dem System aus 2 zum Speichern von Anmerkungsdaten verwendet werden; 5A - 5B Diagrams of one embodiment of the data structures are those of the system 2 used for storing annotation data;

5A ein Blockdiagramm einer Objekteigenschaftstabellen-Datenstruktur und einer Programmzuordnungstabellen-Datenstruktur ist; 5A Fig. 10 is a block diagram of an object property table data structure and a program allocation table data structure;

6 ein Zustandsdiagramm des Datenflusses einer Ausführungsform des in 2 gezeigten Systems ist; 6 a state diagram of the data flow of an embodiment of the in 2 shown system;

7 die Interaktionen zwischen und unter Zuständen innerhalb der in 6 dargestellten Zustandsmaschine einer Ausführungsform der Erfindung darstellt; 7 the interactions between and among states within the 6 illustrated state machine of an embodiment of the invention;

8A bis 8G verschiedene illustrative Beispiele für Ausführungsformen eines Interaktivinhalts-Icons gemäß der Erfindung schematisch darstellen; 8A to 8G schematically illustrate various illustrative examples of embodiments of an interactive content icon according to the invention;

9A bis 9D illustrative Ausführungsformen von Kompressionsverfahren für Videobilder gemäß den Prinzipien der Erfindung darstellen; 9A to 9D illustrate illustrative embodiments of video image compression methods in accordance with the principles of the invention;

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; 10A Fig. 3 shows an example area of a frame and an example mask used to describe a two-dimensional image in terms of mathematical morphology according to the invention be used;

10B ein Beispiel-Ergebnisbild einer zweidimensionalen mathematischen Morphologie-Analyse und einen einzelnen Ergebnispixel gemäß den Prinzipien der Erfindung zeigt und 10B shows an example result image of a two-dimensional mathematical morphology analysis and a single result pixel in accordance with the principles of the invention and

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; 11A shows a sequence of example frames and an example mask used to describe a three-dimensional image in terms of a mathematical morphology according to the invention, using time as a dimension;

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; 11B Figure 3 shows an example result framework of a three-dimensional mathematical morphology analysis using time as a dimension and a result pixel in accordance with the principles of the invention;

11C ein Flussdiagramm ist, das einen illustrativen Prozess gemäß einer Ausführungsform der Erfindung zeigt, mit welchem dreidimensionales Floodfill erzielt wird; 11C Fig. 10 is a flowchart showing an illustrative process according to an embodiment of the invention with which three-dimensional flood fill is achieved;

12A12B ein Diagramm sind, das eine Beispielanwendung mathematischer Morphologie-Analyse gemäß den Prinzipien der Erfindung zeigt, die einen Umriss eines Bereiches erzeugt; und 12A - 12B 5 is a diagram showing an example application of mathematical morphology analysis in accordance with the principles of the invention that generates an outline of a region; and

13 ein Diagramm ist, das drei illustrative Beispiele der Entwicklungen von Histogrammen über aufeinanderfolgende Rahmen gemäß der Erfindung zeigt, die Bewegung anzeigen. 13 Figure 3 is a diagram showing three illustrative examples of the evolution of histograms over successive frames according to the invention indicating motion.

BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMDESCRIPTION OF THE PREFERRED Embodiment

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).Briefly, the invention provides an approach for associating annotation information with objects displayed in the frame of a broadcast video and displaying them on the instruction of a viewer. For example, with respect to 1 Note information in the form of business, price and availability information with a particular shirt 2 that is worn by an actor on a TV show ( 1A ). To achieve this, the shirt becomes 2 first identified by a designer serving a part of the system called an authoring system for the system. The designer identified 3 the shirt 2 in a certain context, for example by coloring the shirt ( 1B ), and the system tracks the position of the shirt 2 in the previous and following frames. The designer also creates the text that makes up the shirt 2 associated annotation data 5 become. Thus, in this example, the annotation data may be the names of stores in which the shirt 2 can be bought, the price of the shirt 2 and the available colors include. The system then marks that with the shirt 2 Annotation data are associated, for example, by edges 4 of the shirt 2 within the frame in a different color ( 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.When the broadcast is transmitted from the broadcast area of the system to a viewer, not only the video is transmitted, but also the mask, which is the shirt 2 edged, and the note data, the shirt 2 accompany. The receiver area of the system at the viewer's site receives this data and displays the video frames along with masks surrounding the objects having associated annotation data. In this example, the shirt is 2 outlined in the video frame. When the viewer of the transmitted video wishes to see the annotation data, he or she simply uses the control keys on a standard portable remote control to notify the receiver area of the system that the annotation data display is desired. The system then displays the annotation data 5 on the screen along with the object ( 1D ). In this way, marked objects serve as hyperlinks to further information.

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.In terms of 2 a hyperlinked video broadcasting system constructed according to the invention has a transmission range 10 , a communication channel area 12 and a reception area 14 on. The transmission range 10 has a video source 20 , an authoring tool 24 , a database storage system 28 and a transmitter 32 on. The video source 20 In various embodiments, a video camera, a video disc, a videotape or a video cassette, an input video signal or any other video source known to those skilled in the art. The authoring tool 24 , which is an annotation source, receives video data from the video source 20 and display them so that a video designer can view and manipulate them as described below. Annotation data, for example, the text to be displayed with the video image, is stored in an object database 28 stored and sent to the transmitter 32 sent to the communication channel area 12 to be sent to the system.

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.The transmitter 32 has a video encoder 36 , a data packet stream generator 40 and a multiplexer (MUX) 44 on top of the signals from the video encoder 36 and the data packet stream generator 40 for sending over the communication channel 12 combined. As is known to those skilled in the art, the video encoder can 36 each encoder for generating a transport stream, for example an MPEG or MPEG2 encoder. The data packet stream generator 40 encodes additional data, as described below, which should accompany the video data as it is sent to the viewer. Of the Data packet stream generator 40 generates coded data packets. The multiplexer 44 generates an extended transport stream.

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.The communication channel area 12 not only shows the transmission medium such. As cable, infrastructure for terrestrial transmission, microwave connection or satellite connection, but also each buffer that receives the video data until they are from the reception area 14 be received. Such caching may include video disc, tape or cartridge, memory or other storage devices known to those skilled in the art. The communication channel area also has the headend transmitter 50 which is provided by a multiple service provider.

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.The reception area 14 has a digital receiver 54 such as B. a digital set-top box, the signals for display on the television display device 58 decoded. At the hardware of the digital receiver 54 it is any known to the expert hardware for digital receiver 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.In operation and also regarding 2 and 2A loads a designer video data 22 from a video source 20 in the authoring tool 24 , The video data will also be from the video source 20 to the video encoder 36 sent, for example, to be encoded using the MPEG standard. With the authoring tool 24 The designer selects portions of a video image to associate with screen annotations. For example, the designer could wear a shirt 2 Assigned on the video image by an actor, and assign annotation data to the maker of the shirt 2 , its purchase price and the name of a local dealer. On the other hand, annotation data may also contain additional text information about the object. For example, annotation data in a documentation could include biographical information about the person on the screen. The note data 5 ( 1D ) along with information about the shape of the shirt 2 and the position of the shirt 2 The image that is the mask image, as described below, will be called data structures 25 . 25 ' in a database 28 saved.

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.Once a designer has authored a particular program, the authoring tool determines the area over which objects appear and data structures are used in the annotated program. This information is used by the present inventive system to ensure that the data enabling viewer interactions with an object is sent before the object is presented to the viewer. This information is also used by the present inventive system to determine when data from a program is no longer needed and from the memory discussed below 128 can be deleted.

Wie oben beschrieben, werden diese Anmerkungsdaten außerdem zur Umwandlung in einen kodierten Datenpaketstrom 27 an den Datenpaketstrom-Generator 40 geschickt.As described above, this annotation data also becomes for conversion into a coded data packet stream 27 to the data packet stream generator 40 cleverly.

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.Timestamp data in the transport stream 29 ' from the video encoder 36 are also an input to the data packet stream generator 40 and are used to synchronize the mask and annotation data with the image data. The data packet stream generator 40 accomplishes the synchronization by processing a program step by step and associating the time information of each video frame with the corresponding mask. Time information can be any type of information that allows synchronization of video and masking information. For example, the time information may be time stamp information as generated by an MPEG encoder, time code information as provided by the SMPTE time code standard for video, frame numbering information such as frame number information. For example, a unique identifier for a frame or a sequential number for a frame, the global time, and the like. In the present illustrative representation of the invention, time stamp information is used as an exemplary embodiment.

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).The encoded video data from the video encoder 36 be in a multiplexer 44 with the encoded data packet stream 27 from the data packet stream generator 40 combined, and the resulting extended transport stream 46 is an input to a multiplexer system 48 , In this illustrative embodiment, the multiplexer system is 48 able to handle additional transport 29 ' and extended transport 46 ' To receive streams. The transport 29 ' and extended transport 46 ' Streams include digitally encoded video, audio and data streams generated by the system or by other methods known to those skilled in the art. The output from the multiplexer system 48 is used to store and / or transmit to the communication channel 12 cleverly. The broadcast signal is sent to the digital receiver 54 sent and received by this. The digital receiver 54 sends the coded video portion of the multiplexed signal to the TV for display 58 , The digital receiver 54 Also takes instructions from a viewer who uses a portable remote to display any notes accompanying the video images. In one execution Form is the digital receiver 54 also directly in communication with an alternative network connection 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.In an alternative embodiment, information is from the object database 28 in a second database 30 in 2 for access via a network 31 such as As the Internet or directly into a database 33 transfer. In this embodiment, the head end engages 50 at the request of the viewer to the one in the second database 30 saved annotation object data. This arrangement is useful in cases where, for example, the viewer has recorded the program for later viewing and the recording medium can not record the annotation data, or when the data can not be sent in-band during the program. Thus, the digital receiver 54 when the recorded image through the digital receiver 54 is played and the viewer requests annotation data, the headend 50 Instruct the data over the network 31 retrieve. In addition, the headend would be 50 able to on the order of the digital receiver 54 Data in a database 33 in the network or in a headend database 52 to write. Such from the headend 50 Data written may be marketing data indicating which objects have been viewed, or it may be order information required by the viewer to order the displayed article over the network. A third embodiment combines attributes of the previous embodiments in that a portion of the information is included in the original transmission and a portion is retrieved in response to viewer requests.

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.The coded data packet stream 27 concerning and with reference to 2 B . 2C and 2D is in detail the data packet stream generator 40 is configured to generate a constant data rate stream despite variations in the size of the mask data and annotation data corresponding to the video frame. The data packet stream generator 40 achieves this through a process in three steps. First, the data packet stream generator determines 40 an acceptable range of packet rates included in the multiplexer 44 can be entered. Next, the data packet stream generator determines 40 the number of packets filled by the largest mask in the program being encoded. This defines the number of packets in each set of masking packets 39 ie the number of packets allocated for the transport of each mask. In the in 2 B . 2C and 2D example shown are in any amount of masking packets 39 eight packages. Using this number, the data packet stream generator generates 40 an initial version of the encoded data packet stream 27 ' where a fixed number of packets are allocated for each mask. If the number of packets required to accommodate a particular mask is less than the fixed number, the data packet stream generator buffers 40 the initial coded data packet stream 27 ' with zero packets. The number of null packets depends on the number of packets left after the mask data has been written. In 2C fill the mask data 42 for frame 1000, four packets, leaving four packets to be filled with null packets. Likewise are for the data 42 ' . 42 '' . 42 ''' , Mask 999, Mask 998, and Mask 997 require three, five, or two packages, respectively. Thus, five, three, or six packets remain to be filled with null packets.

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.Lastly, the data packet stream generator generates 40 the finished encoded packet stream 27 '' by adding the object data. The data packet stream generator 40 accomplishes this by determining the first occurrence of a particular object in a program from the authoring tool 24 provided information. Data corresponding to this object is then included in the initial coded data packet stream 27 ' inserted, starting at a point before the first occurrence of this object. The data packet stream generator 40 goes the initial coded data packet stream 27 ' backward step by step and replace null packets with object data as needed. For example, in 2D determines that the object 98 appears in frame 1001. This means that all data associated with object 98 must arrive before frame 1001. The data 43 for object 98, five packets, O98A, O98B, O98C, O98D and O98E, are dropped and added to the sets of packets associated with mask data 1000 and mask data 999. The data 43 ' for object 97, two packets, O97A and O97B, fill and have been added to the set of packets associated with mask data 998.

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.To simplify the process of extracting data from the transport stream, in one embodiment, the multiplexer associates 44 the mask data and the object data with different packet identifiers (PIDs), as used in the MPEG2 standard for the identification of elementary streams. In this way, the digital receiver 54 Route mask and object data to different compute threads based on their PIDs only, thereby eliminating the need to perform an initial analysis of the contents of the packets. When reassembling the masks and object data, the digital receiver is 54 being able to extract the right number of packets from the stream because of this information through the data packet stream generator 40 provided as part of the coding process. For example, with reference to 2D the data packet stream generator 40 set the mask 1000 to four packages 42 has filled and that the data 43 for the object 98 filled five packages. These data are in a header - 38 . 38 ' . 38 '' . 38 ''' - Contain area of the packet occupying the first 16 bytes of the first packet of each masking packet set.

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.As in 2D in an enlarged view of the mask header 38 3, the header packet contains information regarding the number of packets carrying masking information, coding information, timestamp information, visibility word information, and the object identifier table unique identifier (UID) associated with the respective mask. UIDs and object mapping tables are referred to below 5A - 5B described in more detail. Likewise, the first packet for each object begins with a 16-byte header 45 . 45 ' containing information enabling the digital receiver 54 the data in the object packages 43 . 43 ' extracted, stored and manipulated. Also included, as in 2D in an enlarged view of the object data header 45 shown, the object data header information, the number of packets carrying data for each object, the data type of the object, the UID of the object and time stamp related information such. For example, the last occurrence of using the object data in the program. The type of data structures used by the system and the use of timestamps by the system will be discussed below with reference to FIG 5A - 5B . 6 and 7 explained in more detail.

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.In terms of 3 is the multiplexer system 48 ' an extended version of the in 2A shown multiplexer system. The multiplexer system 48 ' is able to handle multiple transport 29 ' and extended transport streams 46 . 46 '' as inputs to produce a single signal which is forwarded to the broadcast medium. The illustrative multiplexer system 48 ' has three transport stream multiplexers 60 . 60 ' . 60 '' , three modulators 68 . 68 ' . 68 '' , three boosters 72 . 72 ' . 72 '' and a mixer 78 on. The multiplexer system 48 ' has three duplicate subsystems for converting multiple sets of transport streams to inputs to a mixer 78 on. Each subsystem has a multiplexer 60 . 60 ' . 60 '' to combine a set of transport streams (TS1 to TSN), (TS1 'to TSN'), (TS1 '' to TSN '') into a single transport stream (TS, TS ', TS'') called the Input signal is used in a digital modulator (for example, a quadrature amplitude modulator (QAM) in the case of a North American digital cable system or an 8VSB modulator in the case of terrestrial transmission) 68 . 68 ' . 68 '' , In one embodiment, each of the transport streams, for example TS1 to TSN, represents a television program. The output signal of the modulator 68 . 68 ' . 68 '' is an intermediate frequency input to a boost converter 72 . 72 ' . 72 '' , which is the output of the modulator 68 . 68 ' . 68 '' converted to the correct channel frequency for transmission. These converted channel frequencies are the input frequencies to a frequency mixer 78 placing the combined signals on the broadcast medium.

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.In terms of 4 points the digital receiver 54 a tuning device 100 for selecting the broadcast channel of interest from the input broadcast stream and generating an intermediate frequency signal (IF) containing the video and annotation data for the channel. The IF signal is an input to a demodulator 104 which demodulates the IF signal and extracts the information into a transport stream (TS). The transport stream is the input to a video decoder 108 such as B. an MPEG decoder. The video decoder 108 buffers the received video frames in a frame buffer 112 , The decoded video 114 and audio 118 Output signals from the decoder 108 are input signals to the television display device 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.The annotation data will be sent by the video decoder 108 separated and sent to a CPU for processing 124 Posted. The data will be in the memory 128 saved. The memory also stores a computer program for processing annotation data and instructions from a viewer. If the digital receiver 54 from which viewer receives instructions to display the annotation material, the annotation data is rendered as computer graphics images that include a portion or the entire frame buffer 112 overlap. Then the decoder transmits 108 the corresponding video signal 114 to the television display device 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.For transmissions carried by media that can bidirectionally carry signals, such as cable or fiber, a connection may be from the digital receiver 54 to the headend 50 of the broadcasting system. In an alternative embodiment for transmissions carried by unidirectional media, such as conventional television broadcasting or satellite television broadcasts, a connection may be from the digital receiver 54 to the alternative network connection 56 which communicates with a broadcaster or other entity without using the broadcast medium. Communication channels for communication with a broadcaster or any other entity that is not part of the broadcasting medium may be a telephone, an Internet or similar computer connection, and the like. It should be noted that such non-broadcast communication channels can be used even when bidirectional broadcast media is available. Such communication links, the messages sent from the viewer's location to the broadcaster or to another entity, such as a mobile device. B. carry an advertiser are collectively referred to as return channels.

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.The Back-channel communications can for a variety of purposes are used, including collecting of information for the broadcaster or for could be of value to advertisers, as well as enabling a communication of the viewer with the broadcaster, the Advertisers or others.

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.In one embodiment, the digital receiver generates 54 Reports related to the viewer's interaction with annotation information via the remote control. The reports sent to the broadcaster via the return channel may include reports regarding the operation of the remote control, e.g. For example, bug reports containing information regarding incorrect choices regarding the viewer's choices of incorrect use of the remote control, such as an attempt to perform an "illegal" or undefined action, or an activity report containing actions performed by the viewer that are tagged to show the timestamp of the material currently displayed on the TV screen The information that can be detected and sent includes a report of a viewer's actions when material provided by advertisers is available, such as: Actions of the viewer to access such material, as well as actions taken by the viewer to terminate such access to the material, such as detecting the point at which a viewer cancels an access attempt In some embodiments, the channel may be a cache as a.

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.The Information that can be detected and sent further includes information regarding one Transaction that a viewer wants to make, such as giving up an order for an article advertised in a shipment (eg a shirt) including the Order quantity, the size, the Color, the credit information and / or personal identification number (PIN) of the viewer as well as shipping information. In addition, the information includes which can be recognized and sent, also information regarding a Service request, for example, a request to show a Pay-per-view shipment including identification the service, time and place of its provision, payment information and similar. Furthermore include the information that can be detected and sent, too Information regarding not business Information such as B. political information, public information Broadcasting, as z. B. provided by the National Public Radio be, and requirements for Access to data archives such. The patent and trademark databases the US Patent and Trademark Office and the like.

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.Of the backchannel can also be used for interactive communication, where z. B. a potential buyer select an article which is currently not available, and a series of messages in terms of possibility follows, to make another choice, or whether and how long the spectator ready to wait for a re-delivery of the item. Other illustrative examples of Interactive communication is the display of a current one Price, availability certain goods or services (such as the location of available seats in one Stadium at a particular sporting event, for example the third game of the 2000 World Series), and a confirmation of one Purchase.

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.When a viewer begins to interact with the annotation system, the recipient may 54 set a flag that protects the data required to perform the interaction with the viewer as long as the viewer continues the interaction, regardless of the program material that may be displayed on the video display device, and regardless of a point in time at which the data would be discarded in the absence of viewer interaction. In one embodiment, the recipient sets 54 an "in-use bit" for each value or data structure that appears in a data structure that provides information to the viewer.A set "in-use bit" prevents the receiver 54 discards the value or data structure. When the viewer ends the interaction, the "in-use bit" is reset to zero, and the value or data structure may be discarded when its expiration expires, as well as present in the data structures of the system, but in 5A - 5B not shown, is an expiration timestamp for each data structure with which the system discards this data structure as soon as the time of the program has exceeded the expiration timestamp. This process of discarding is done by a garbage collector 532 controlled.

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.In the course of interacting with the annotation system, a viewer can view a catalog set and modify. The catalog may contain articles that the viewer may decide to purchase, as well as descriptions of information that the viewer wishes to receive. The viewer can make a selection from one or more programs for inclusion in the catalog. The viewer may modify the contents of the catalog and may initiate a business transaction as soon as an article is added to the catalog or at a later time.

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.Of the Catalog can provide entry information about a program that the viewer has viewed, and the number of articles included in the catalog added have been. At a highest level the viewer can connect to the system by using a device such as B. a remote interact to the article of interest, the Order details of interest, such as: Eg quantity, price, model, Size, color and the like, and to identify the status of an order, where, for example, the order is placed immediately or the article of only a list of articles of interest added to the catalog.

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.On At a further level of detail, the viewer can view the entry for the Select program and can the individual entries in the catalog list, including the status of the entry, for example "saved" or "ordered". The entry "saved" means that the Item was added to the list but was not ordered (ie the data related to the article has been blocked), while "ordered," as the name implies, implies that an actual Ordering the item on the list has been abandoned via the return channel. The viewer can turn the list on to another level of detailing to see the details of an article (eg brand, Model, description, price, order quantity, color etc.). These it is the article not a commercial product, but to get information for the spectators are of interest, such as biographical information about an actor, which occurs in a scene, so by a query on the lowest level information is displayed. In one embodiment Navigate through the catalog with the remote control.

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.Of the Viewers can use an account for use in the settlement of transactions set up as described above. In one embodiment can the viewer information such. B. his name, a delivery address and financial information such as a credit card or Enter debit card number. This allows the viewer, of every receiver, the according to the system works, for example, a recipient in the house of a friend or in a hotel room to place an order. In another embodiment the viewer can an identifier such. B. a subscription account number and use a password, such as the subscriber account number, the provision of the service by the broadcaster is associated. In such a situation, the broadcaster already has the Address and other delivery information for the viewer as well as over one open financial account with the viewer. In such a case there the viewer simply places an order and confirms his or her wishes by using the password. In yet another embodiment the viewer can set up a personalized catalog. When example for Such a situation can be a personal one for the members of a family Catalog can be given, and they can provide goods and services up to spending limits and according to rules order, with the or the financially responsible in the Family are agreed.

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.ever It may be the location of the viewer and the broadcasting system in the format of over transmitted the return channel Information about one of the formats QPSK modulation (as used in the US), DVB modulation (as used in Europe) or other formats. Depending on the security requirements for sending, the messages sent via the return channel can be used Completely or partially encrypted be any encryption method can be used. The over the backchannel can communicate information Information includes the authentication of the sender relate (for example, a unique identifier or a digital signature), the integrity of the communication (eg an error correction procedure or system such. CRC), information regarding non-refoulement a transaction, systems and procedures for preventing a Denial of service as well as other similar Information regarding Privacy, authenticity and legal validity of the communication.

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.Depending on the type of information communicated, the information may be directed to the broadcaster, for example, information regarding viewer responses to transmitted material and requests for pay-per-view material; Information may be directed to an advertiser, such as an order of a shirt; and information may be directed to third parties, such as an access request for a third party managed database. 5A - 5B show data structures used in the invention for storing annotation data information. The data structures store information about position and / or shape video-identified objects and information that enable viewer interactions with identified objects.

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.In particular, show 5A - 5B a video frame 200 A picture of a shirt 205 as the first object, a picture of a cap 206 as a second object and a picture of a pair of pants 207 contains as a third object. To represent the shape and / or position of these objects, the authoring tool generates 24 a mask 210 which is a two-dimensional pixel array, each pixel having an associated integer value independent of the color or intensity value of the pixel. The mask represents the position information in various ways, including by bordering or highlighting the object (or area of the display device), by altering or enhancing a visual effect with which the object (or area) is displayed by placing a graphic in solid Reference to the object or by placing a number in fixed relation to the object. In this illustrative embodiment, the system generates a single mask for each frame or video image 210 , A collection of video elements with common elements and a common camera perspective is defined as a setting. In the illustrative mask 210 There are four identified areas: a background area identified by the integer 0 212 , a shirt area identified by the integer 1 213 , a cap area identified by the integer 2 214 and a trouser area identified by the integer 3 215 , Those skilled in the art will recognize that alternative forms of representation of objects could equally well be selected, such as mathematical descriptions of an outline of the image. With the mask 210 are a unique identifier (UID) 216 , a timestamp 218 and a visibility word 219 associated. The UID 216 refers to an object assignment table associated with the respective mask 217 , The timestamp 218 comes from the video encoder 36 and is used by the system to synchronize the masks with the video frames. The synchronization process will be described below with reference to FIG 6 described in more detail. The visibility word 219 is used by the system to identify objects in a particular setting that are visible in a particular video frame. Although this in 5A - 5B not shown, all other data structures of the system also include an in-use bit as described above.

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'''.In the 5A - 5B The illustrated illustrative set of data structures that enable viewer interactions with identified objects include: Object Map Table 217 ; Object property tables 220 . 220 ' , Primary dialog table 230 ; dialogue tables 250 . 250 ' . 250 '' , Selectors 290 . 290 ' . 290 '' , Action identifiers 257 . 257 ' . 257 '' , Stylesheet 240 as well as 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.The object mapping table 217 has an area number for each of the identified areas 212 . 213 . 214 . 215 in the mask 210 and a corresponding UID for each area of interest. For example, in the object mapping table 217 the shirt area 213 is stored as an integer value "one" and assigned the UID 01234. UID 01234 points to the object property table 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.Also in the object mapping table 217 is the cap area 214 stored as an integer value of two, and it is associated with the UID 10324. UID 10234 points to the object property table 220 ' , The object mapping table starts with the integer one because the default value for the background is zero.

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.Generally, object property tables store references to the information about a particular object that the system uses to enable viewer interactions with that object. For example, the object property table assigns 220 a title field 221 with the UID 5678, a price field 222 with the UID 910112 and a primary dialog box 223 with the UID 13141516 on. The second object property table 220 ' has a title field 221 ' with the UID 232323, a primary dialog box 223 ' with the same UID as the primary dialog box 223 as well as a price field 222 ' with the UID 910113 on. The UIDs of the title field 221 and the price field 222 the object property table 220 show each on strings 235 . 235 ' containing information about the name of the shirt, "crew polo shirt", and its price, "$ 14.95". The title field 221 ' the object property table 220 ' points to the string 235 '' containing information about the cap's name, "Sport Cap." The price field of the Object Properties table 220 ' points to the string 235 ''' , One skilled in the art will readily recognize that for a given range of authoring-processed video, there are many object property tables that are generated by the authoring tool 24 correspond to identified objects.

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.The UID of the primary dialog box 223 the object property table 220 points to a primary dialog table 230 , The dialog table 230 is also identified by the UID of the primary dialog box 223 ' the second object property table 220 ' referenced. One skilled in the art will readily recognize that the second object property table 220 ' corresponds to another object within the video frame 200 containing program is identified. General structure dialog tables 230 the text and graphics fields used by the system in interacting with the viewer. dialogue tables 230 serve as a data model in a programming paradigm "Model View Control." The view seen by a viewer is represented by a stylesheet table 240 described with the UID 13579, and the control component is software on the digital receiver 54 provided. The illustrative primary dialog table 230 is used to initiate interaction with a viewer. Other examples of dialog tables include fields for displaying the colors available for a particular article 250 or sizes 250 ' , the number of items he or she wants to buy to confirm a purchase 250 '' and to thank a viewer for his or her purchase. One skilled in the art will be aware that this list is not exhaustive and that the scope of possible dialogue tables is wide.

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.The look and feel of a particular dialog displayed on the viewer's screen is controlled by a style sheet. The style sheet controls the view parameters in the programming paradigm "Model View Control," a software development paradigm known to those skilled in the art 232 the dialog table 230 Contains a UID 13579 that appears on the stylesheet table 240 shows. The stylesheet table 240 contains a font field 241 , a Gestalt field 242 and the graphics box 243 , In operation, each of these fields has a UID pointing to the corresponding data structure resource. The font field 241 points to a font object, the gestalt field 242 points to an integer, and the graphics box 243 points to an image object, which is explained below. By providing different stylesheets, the present system is easily able to adapt the presentation of information to a particular program. For example, a retailer who wants to advertise a shirt in two programs aimed at different demographic audiences would only need to enter the product information once. The viewer interactions supported by these programs would reference the same data using only different stylesheets.

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.Of the Structure of many data structures of the present embodiment as a name UID pair provides compatibility benefits to the system. In particular, you can through the use of name UID pairs instead of fixed fields, the data types and protocols have no influence on older ones Digital Receiver Software be extended, and it is possible to annotate the same provided television program several times.

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.The flexibility the present inventive system is increased by the requirement of the system that the UIDs globally unique have to be. In the illustrative embodiment The UIDs are defined as numbers, with the first set of bits represents a particular database license and the second set of bits represents a particular data structure element. One skilled in the art will recognize that this is a particular embodiment and that there are several ways to ensure that the UIDs are global are unique.

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.The global uniqueness of the UIDs has the advantage that, for example, two broadcasters transmitting on the same cable system can be sure that the items identified in their programs can be distinguished. It also means that the headend receiver 50 Data from databases 30 . 33 over the network 31 for a particular object because that object has an identifier that is unique across all components of the system. The global nature of the UIDs means that the system can ensure the distinctness of various objects, but it also means that users of the present inventive system can choose not to distinguish articles if such operation is more efficient. For example, a retailer who sells the same shirt in multiple programs only needs to enter the relevant object data once and, in addition, the merchant may use the UID and referenced data with their supplier, eliminating the cost of additional data entry.

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.In the present embodiment of the current system, there are four defined UID classes: null UIDs, resource UIDs, non-resource UIDs, and extended UIDs. The null UID is a specific value that the system uses to indicate that the UID is not pointing to a resource. Resource UIDs can identify nine different resource types: object mapping tables, object property tables, dialog tables, selectors, stylesheets, images, fonts, strings, and vectors. Selector data structures and vector resources are explained below. Image resources reference graphics used by the system. The non-resource UIDs have four types of values: color values, action identifiers, integer values, and symbols. The action identifiers include Save / Bookmark, Cancel, Next Item, Previous Item, Submit Order, and End, among other actions performed by the viewer. Symbols can represent names in a Name UID pair; the system searches for the name in the stack and replaces it with the associated UID. Non-resource UIDs contain an actual value. Extended UIDs provide a mechanism by which the system is able to increase the size of a UID. An advanced UID indicates to the system that the current UID is the prefix of a longer UID.

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.When the system requires input from the viewer, it uses a selector 290 data structure. The selector 290 Data structure is a table of pairs of UIDs, where a first column contains UIDs of articles to be displayed to the viewer, and a second column contains UIDs of actions associated with each article. If software in the digital receiver 54 on a selector 290 Data structure, it will display on the viewer's screen all the articles in the first column, generally choices for the viewer. These articles could be strings, images, or any combination of non-resource UIDs. Once on screen, the viewer can scroll up and down through the articles. If the viewer selects one of the articles, the software will run in the digital receiver 54 the action associated with this article. These actions include playing a dialog box, running a non-resource action identifier, or playing another selector 290 ' Data structure. The selectors are through the menu fields 253 . 253 ' . 253 '' . 253 ''' referenced.

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.In operation, when a viewer selects an object and navigates through a series of data structures, the system places each of the successive data structures used to display information for a viewer on a stack in the memory 128 , As an example, the following viewer interaction called by the in 5A - 5B supported data structures is supported. First, a spectator chooses the cap 214 which causes the system to go through the object allocation table 217 the object property table 220 ' localized and the object property table 220 ' puts on the pile. The following discussion implicitly implies that every viewer-referenced data structure is placed on the stack.

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.Next, the system displays a primary dialog table containing the title 235 '' and the price 235 '' the cap contains, and also the format of the information presented to the viewer through the stylesheet 240 is controlled. In addition, the initial ad for the viewer includes a number of choices based on that in the selector 290 contained information. Based on the selector 290 the system presents to the viewer the choices made by the strings "end" 256 , "To buy" 265 ' and "save" 256 '' are represented and each referenced with the UIDs 9999, 8888 or 7777. The action identifiers end 257 ' and saving 257 are referenced to the system by UIDs 1012 and 1010, respectively.

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.When the viewer sees the "buy" string 256 ' selects, the system uses the dialog table 250 , UID 1011 to show the viewer the color options. In particular, the selector brings 290 ' the system to give the viewer the strings "red" 292 , "Blue" 292 ' , "Green" 292 '' or "yellow" 292 ''' , UIDs 1111, 222, 3333 and 4444, respectively. The title for the dialog table 250 is determined by the system by the variable symbol1 266 ' localized. As the object property table 220 ' was placed on the stack, the symbol became 1 266 associated with UID 2001. When the system is on the symbol1 266 ' Therefore, it will track up through the stack until it becomes the symbol1 266 ' localized, which in turn causes the system via the UID 2001 to select the string "select color" 259 ' display.

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.When the viewer sees the "blue" 2222 string 292 ' selects, the system executes the action identifier associated with UID 5555 and displays a dialog table that uses the "Select Size" string 259 denoted by Symbol2, UID 2002. Based on the selector 290 '' the system locates the string "Large", which is located by the UID 2003 259 '' , UID 1122, as the only available size again. If the viewer had chosen a different color, he would have been directed to the same dialog table, UID 5555, because the cap is in "Large" only. 259 '' the system presents the viewer the dialog table 250 '' , UID 6666 to confirm the purchase. The dialog table 250 '' uses the selector 290 '' , UID 2003, to present the strings "yes" and "no" to the viewer, UIDs 1113 and 1114 respectively. After the viewer enters the "yes" string 259 ''' has selected, the system sends the transaction as specified by the action identifier Send order 257 '' , UID 1013. If the viewer had the "no" string in response to the confirmation prompt 259 ''' the system would have terminated the respective viewer interaction by executing the action identifier 257 ' leave. As part of the exit operation, the system would have the object property table 220 ' and any subsequent data structures that have been placed on the stack based on that particular viewer interaction with the system are removed from the stack. Likewise, after the purchase request has been made by the system, it would have removed the data structures from the stack.

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.If an action requires more than one step, the system uses a vector resource that is an ordered set of UIDs. For example, if a viewer wants to store a reference to an article he or she found The system must perform two operations: first, it must perform the actual storage operation indicated by the non-resource UID store, and second, it must present a dialog box to the viewer indicating that the item has been saved. Therefore, the vector UID that can store a reference would include the non-resource UID store and a dialog table UID pointing to a dialog table that references the corresponding text.

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.A particular advantage of the present inventive system is that the data structures are designed to be functionally efficient and flexible. For example, the distributed property of the data structures means that only a minimal amount of data needs to be sent. Multiple data structure elements, such as the object property tables 220 . 220 ' , can point to the same data structure element, such as the dialog table 230 , and this data structure element needs to be sent only once. The stack operation described works together with the distributed property of the data structure such that, for example, the cap 214 no own selector 290 has, the selector 290 but still when displaying for the cap 214 can be specified. The distributed nature of the data structures also has the advantage that individual data units can be modified independently of one another without affecting the information stored in the other data structures.

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.Another aspect of the present inventive system offering flexibility is additional use of symbols of a variable data type. An icon, in addition to having a value provided by a reference on the stack, may also reference a resource that may be delivered at some time after the initial authoring process. For example, a symbol may cause the DTV broadcasting infrastructure 12 provides a price at the transfer time. This makes it possible, for example, that a dealer distinguishes an object depending on the cable system sending each with different prices.

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.One another aspect of flexibility, those through the distributed data structure of the present invention is that they have interaction paradigms with multiple Supports viewers. For example, the far-reaching variation in the dialog tables means and the arrangement of their association that the structure of the viewer interaction flexible and easily controlled by the author.

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.One another example of the variation of the viewer's impression supported by the system is its ability between several video streams switch. This feature uses the structure of an MPEG2 transport stream, from several program streams where each program stream consists of video, audio and data information can exist. In a MPEG2 transport stream, a single transmission on a certain frequency several digital television programs result in parallel. As the skilled person will be aware, is this by associating a program allocation table called PMT is called, with every program in the stream reached. The PMT identifies the packet identifiers (PIDs) of the packets in the current, which correspond to the respective program. These packages contain the video, audio and data packages for each program.

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.With reference to 5C becomes an object property table 220 '' shown a Linktypfeld 270 with a corresponding link type entry in the UID field and a stream_num field 227 ["Stromnummer"] with a corresponding PID 228 contains. To enable switching between video streams, the authoring tool chooses 24 the PID 228 , which is the PID of a PMT 229 corresponds to a specific program stream. When the object is selected, the object property table 220 '' corresponds, the digital receiver uses 54 the video link entry 271 of the link field 270 to determine that the object is a video link object. Then the digital receiver replaces 54 the PID of the current PMT through the PID 228 the PMT 229 , Then the digital receiver uses 54 the PMT 229 to extract data that matches the new program. In particular, this is due to the PMT 229 designated program a video stream 260 identified by PID17, two audio streams 261 . 262 identified by PID18 and PID19, and a private data stream 263 which is identified by PID20. In this way, the viewer is able to switch between different program streams by selecting the objects associated with those program streams.

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. 6 is a flowchart 500 of data flow and flow control according to an embodiment of the in 2 shown system. 6 shows sequences of steps that take place when a viewer interacts with the hardware and software of the system. In 6 becomes a stream 502 from data for masks on a mask decoder 504 decoded. The decoded masking information 506 be as masks 508 . 508 ' . 508 '' put into a buffer or a snake. Parallel to the masking information 506 becomes a stream 510 of events that can be thought of as interruptions, as events 512 . 512 ' . 512 '' placed in an event queue, where in an one-to-one correspondence an event 512 a mask 508 equivalent. A mask 514 called Thread operates on the masks 508 , The mask 514 Thread locates the mask header, assembles one or more buffers, and queues the masking information to generate mask overlays.

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.To display masking information decodes and expands a decompression 528 said thread, a mask, for example, held in a resolution of (320 by 240) pixels, to the appropriate size for display on a video screen 530 for example, using a resolution of (640 by 480) pixels. The decompression thread 528 synchronizes the display of mask overlays with the video by examining a timestamp encoded in the masking information and comparing it with the timestamp of the current video frame. If the mask overlay frame is ahead of the video frame, the decompression thread rests for a calculated amount of time representing the difference between the timestamps of the video and the mask. This mechanism keeps the masks in close synchronization with the video so that masks seem to overlay video objects.

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.A second stream 516 of annotations data is used for a second, objects 518 provided software thread. The object data stream 516 is determined by the objects 518 Thread analyzes and decodes, which decodes each object and inserts it into the object hierarchy. The output of the object 518 Threads is a stream of objects 519 with changing properties such as shape, size and the like.

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.A "model" called thread 520 combines the masks 508 and the objects 519 to form a model of the system. The masking information includes a unique ID for each object represented in the mask overlay. The unique IDs correspond to objects stored in the model. The model 520 -Thread uses these unique IDs to synchronize or tune the appropriate information.

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.The model 520 Thread contains organizational structures such as A stack, a hash table, and a queue, all of which are well known to those of ordinary skill in the software arts. For example, the stack may be used to store in a memory a temporary indication of a state that may be recovered, or a memory location that may be recalled. A hash table can be used to store data of a particular type or pointer to that data. A queue may be used to store a sequence of bits, bytes, data or the like. The model 520 interacts with a view 526 called thread, which is on a screen 530 such as B. controls a television screen displayed information. The opinion- 526 Thread uses the information contained in the model 520 Thread, which tracks the information needed to display a particular image with or without interactive content. The opinion- 526 Thread also interacts with the mask 514 Thread to ensure that for the display screen 530 the right information will be provided at the right time.

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.A soft called thread 522 controls the functions of a state 524 named state machine. The details of state 524 be re 7 explained in more detail. Status 524 interacts with the view 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.It is a garbage collector 532 is provided to collect and discard data and other information that is becoming obsolete, such as data with a timestamp for the most recent use, which corresponds to an earlier date. The garbage collector 532 can periodically clean the system's memory to remove such extraneous data and information and free up space to store new data and information. Such garbage collector software is known in the software arts.

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. 7 Represents the interactions between and among states within the state machine state 524 The state machine state 524 contains a provision 602 that when enabled the state machine state 524 placed in a renewed starting position, with all values such. Memory contents, stack pointers, and the like may be set to default values which may be stored in ROM, SDRAM, magnetic memories, on CD-ROM or in a protected memory area for use as needed. Once the system has been reset, the state of the state machine goes to state 524 into an interactive content icon 604 status above, as indicated by the arrow 620 displayed. Please refer 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.Inter content icon 604 is a state in which a visual image, similar to a logo, in a defined area of the television display device 58 appears. The visual image is referred to as an "icon", hence the name interactive content icon for a visual image that is active.The icon may change its appearance or alter or enhance a visual effect with which the icon is displayed, such as by changing the image Color, change in transparency, change in brightness, flash or blink, or by apparent motion or the like when interactive In formations are available.

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.The viewer of the system may respond to an indication that information is available by pressing a button on a portable device. For example, in one embodiment, pressing a right arrow or left arrow (analogous to the arrows on a computer keyboard or the volume buttons on a portable TV remote) causes the state of the state machine to be state 524 of interactive content icon 604 on mask highlighting (MH) 606 replaced. The state change of interactive content icon 604 to MH 606 is by the arrow 622 displayed.

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.In the state MH 606 For example, when one or more areas of an image correspond to material ready for presentation to the viewer, such area is highlighted, for example, by providing a borderline that outlines the area appearing on the video display device (see FIG 1D ) or by changing the appearance of the area or part thereof. In one embodiment, when a shirt worn by a man is the highlighted object, a visually distinct outline of the shirt appears in response to the keystroke, or the shirt changes appearance in response to the keystroke. Repeating the keypress or pressing the other arrow key will cause another object, such as a wine bottle on a table, to be similarly highlighted. In general, the highlightable objects are highlighted successively by successive keystrokes.

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.If the viewer does not perform any action for a predetermined period of time, such as ten seconds, the state of the state machine will go to state 524 in the state of the interactive content icon 604 back, as by the arrow 624 displayed. Alternatively, if the viewer activates a button other than an arrow pointing to the side, for example, the "select" button, often seen in the middle of the navigation arrows on remote controls, will go to state MH 606 in a state over, as an info box 608 referred to as. About box 608 is a status in which information appears in a pop-up box (ie an information box). The state change of MH 606 to info field 608 is by the arrow 626 displayed. The information that appears is set by an advertiser or provider of the information and may, for example, For example, the brand name, model, price, local reseller, and highlighted object specifications. For example, in the case of the man's shirt, the information could include the brand of the shirt, the price, the range of sizes available, examples of available colors, information about one or more dealers, information about special offers, information about telephone numbers or e-mail addresses, about which a contact to order is possible, and the like more. One potential problem that can occur with the system is that in two consecutive settings, the same object (ie an area with the same OPT) may appear, but may have different indexes within the mask frames and OMTs. For example, two people can edit different sections of a video cast and assign different indices to the same object as it appears in the section of the video being edited. The possibility that a single object in different settings may be labeled with different indexes is a problem if, ideally, the system should continue to display a highlight over the area after the setting changes. To counteract this potential problem, the system uses a reverse lookup algorithm before playing an object overlay. When an object is first highlighted by the viewer, the OMT for that setting is referenced and the UID for the OPT of the highlighted object is stored in memory, then the highlighting is displayed. Prior to rendering the highlight for each of the consecutive frames, the mask frame is first checked to find the current OMT. Then, a search is performed using the OPT UID of the current object to search the OMT. If the OPT UID is found, the area within the mask frame is highlighted with a reference corresponding to that associated with the OPT UID in the OMT. This reverse search continues until a time limit is exceeded or a new object is selected.

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.There are many possible responses from a viewer, and these responses lead back to the state interactive content icon in several ways 604 , as generally by the arrow 628 displayed. These responses may include, for example, the viewer expressing his interest in the information provided, for example, by purchasing the described article, requesting further information, or waiving such purchase.

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.While the system is in the interactive content icon 604 State, the viewer can press a fast-forward button which will burst [burst] 610 activated state, creating a transition 630 of interactive content icon 604 to fast passage 610 be is acting. In the high-speed 610 State, the video display device automatically highlights sequentially all objects that currently have associated information that can be presented to a viewer. The highlighting period of each individual object is short, of the order of 0.03 to 5 seconds, so that the viewer can quickly determine which objects may have associated information for presentation. A preferred emphasis period is in the range of 0.1 to 0.5 seconds. The high-speed 610 State is analogous to a search state for radio receivers in the search, in which signals that can be received with a suitable signal strength are set in succession for short periods of time.

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.The high-speed 610 Status automatically returns to the interactive content icon 604 State back 632 as soon as the various objects having associated information have been highlighted. As soon as the system reaches the interactive content icon 604 State has returned, the viewer has the option of activating an object of interest having associated information as described above.

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.In another embodiment, the high speed pass may be 610 State caused by an instruction embedded in a message. In yet another embodiment, the high speed pass may be 610 Condition to inform a viewer of the areas that may be active, or the rapid transit 610 State can be invoked when a new setting begins that contains areas with set visibility bits.

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.The Interactive content icon can be used to a viewer to give visual cues. In one embodiment, the interactive content icon appears only if there is material to display for the viewer with one or more areas of an image.

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 one embodiment, the interactive content icon is active when the high-speed content icon is active. 610 Condition is caused. The interactive content icon may take on a shape that signals that the high-speed 610 State begins, for example, by displaying the interactive content icon itself with an enhanced visual effect similar in appearance to the enhanced visual effect that each visible region assumes. In various embodiments, an enhanced visual effect may be a change in color, a change in brightness, a change in the icon itself, a blinking or flashing of a portion of a display device, or the like.

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.In one embodiment, the interactive content icon is augmented by additional areas shaped like pointers to points on the compass or like buttons on the remote control of the digital receiver. The expansion areas are displayed, either simultaneously or sequentially, with an enhanced visual effect. An illustrative example of various embodiments is shown schematically in FIG 8A to 8G shown. 8A represents an inactive interactive content icon. 8B represents an active interactive content icon that is visually enhanced. 8C represents an interactive content icon entering the high-speed state in which four arrowheads are added pointing north (N), east (O), south (S) and west (W) directions. For example, the extension areas may be presented in shapes reminiscent of the shapes of the buttons on a portable device. In one embodiment, the north (N) and south (S) arrowheads may correspond to buttons used to change channels on a portable video remote, and the east (O) and west (W) arrowheads may correspond to buttons On a video remote control, the volume is changed to remind the viewer that a press of these buttons in response causes a fast-pass condition.

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. 8D FIG. 12 illustrates an interactive content icon in the active high-speed state, in which the interactive content icon itself and the northern (N) pointing northward arrowhead are displayed with enhanced visual effects. 8E FIG. 12 illustrates an interactive content icon in the active high-speed state in which the interactive content icon itself and the east-east pointing arrowhead are displayed with enhanced visual effects. 8F FIG. 12 illustrates an interactive content icon in the active high-speed state in which the interactive content icon itself and the south-facing (S) arrowhead are displayed with enhanced visual effects. 8G FIG. 12 illustrates an interactive content icon in the active fast-pass state in which the interactive content icon itself and the west-waving arrowhead are displayed with enhanced visual effects.

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.As explained earlier, the information displayed on the video display device 58 appear, including the television program and all comment information that can be provided, from a headend 50 to the digital receiver 54 Posted. Video images generally contain much information. In modern high-definition television formats, a single video frame may be used contain more than 1000 lines. Each line can span more than 1000 pixels. In some formats, a 24-bit integer is required to represent each pixel. Sending such large amounts of information is cumbersome. Compression methods that can reduce the amount of data to be transmitted play a useful role in television communication technology. The compression of files in general is known in the field of computer engineering. However, the invention uses new forms of file compression which are of particular use in the field of image compression.

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.One conventional Compression method is called run-length compression. In this process, each pixel or group becomes identical Pixels that appear consecutively in a video line as ordered Pair encodes a first number that indicates how many identical Pixels are to be played, and a second number that looks the same defines each such identical pixel indicates. If it is long Runs identical Pixels, such a coding method can be the total number reduce bits that need to be sent. However, in pathological cases for example, if every pixel from the previous pixel and If the following pixel is different, the coding scheme will actually be more Bits require as the number of bits to represent the pixel sequence itself is required.

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.In an embodiment will improve runlength encoding, referred to as "section runlength coding", scored when two or more consecutive lines are so categorized can be that they have the same sequence of runlengths with the same sequence appearance or color. The two or more lines are treated as a section of the video image. An example of one such section is a person in front of a plain background you can see. A sender encodes the section by providing a single sequence of colors, covering all the lines in the section is valid, and then encodes the numbers of pixels per line, each consecutive Have color. This procedure repeats the sending of bypassed redundant color information, which is a long per color Bit pattern requires.

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. 9A makes a picture 700 one person 705 that is in front of a monochrome background 710 , for example a blue background. 9A illustrates several embodiments of video image compression techniques. In 9A the person has a skin color that is in the area 720 appears. The person is wearing a purple shirt 730 and a green pants 740 , Different colors or appearances may be encoded as numbers having low values when the encoder and decoder use a look-up table to translate the encoded numbers into complete (eg, 24-bit) display values. As one embodiment, a background color for the purposes of a mask may be defined as a zero or a transparent visual effect, allowing display of the original visual appearance of the image without modification.

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.In this embodiment of the "section run-length encoding," the encoder samples each row 752 . 754 . 762 . 764 and records the color value and the length of each run. If the number of runs and the sequence of colors of the first row 752 one video frame not to that of the next row 754 fits, becomes the first row 752 is coded as a section of length l, and the subsequent row 754 is compared to the next succeeding row. When two or more rows actually contain the same sequence of colors, the portion is encoded as a number of rows having the same sequence of colors, followed by a series of ordered pairs representing the colors and run lengths for the first row of the portion. As in 9B for an example with three rows, the first row (s) contains values of pairs of colors and run lengths. The remaining two rows are coded as just run lengths, and the colors used in the first row of the section are used by a decoder to recover the information for displaying the later rows of the section. In one embodiment, the portion may be defined to be less than the entire extent of a video line.

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.As an example, referring to 9A are called the illustrative series 752 and 754 Video scan lines representing the background 710 , a section of the skin 720 the person and further background 710 contain. Both illustrative series 752 and 754 include runs of blue pixels, skin colored pixels, and other blue pixels. Thus, the rows would 752 and 754 and other adjacent rows intersecting the skin-colored head or neck area of the subject encoded as follows: a number indicating exactly how many the rows 752 . 754 similar series are in a section defined by the blue background color - skin color - blue background color pattern; a first series code comprising the value indicating the blue background color and an associated pixel number, the skin color value 720 and an associated pixel count, as well as the value indicating the blue background color and another associated pixel count. The remaining rows in the section would be encoded as a number representing a number of pixels in blue Background color represents a number representing a number of pixels in skin color 720 and a number representing the remaining pixels in blue background color.

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.In another embodiment includes a method that reduces the information to be coded, labeled "X-run-length encoding", encoding only the information within objects that have been identified are. In this embodiment the coded pixels are only those that are defined within the Object or within an outline of the object appear. An encoder in a transmitter represents the pixels as ordered Triplet comprising a value, a run length and an offset, which is the Defined starting position of the run with respect to a known pixel, for example, the beginning of the line. In a receiver puts a decoder restores the coded information by placing the ordered Triple reads and the pixels according to the coded information reproduces.

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.Again with reference to 9A is each of the illustrative lines 752 and 754 in the X run length coding method represents an ordered triad of numbers comprising a number representing the skin color 720 indicates a number representing how many pixels in skin color 720 and a number representing the distance from an edge 712 of the picture 700 indicating in which the skin color 720 reproduced pixels are to be positioned. An illustrative example will be in 9C given.

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.In again another embodiment a method called "X-section run-length encoding" uses the features of the section run length and X run length coding methods combined. The X-section run-length encoding method uses Color values and run lengths as encoding parameter, but ignores the coding of background. Each entry in this coding scheme is an ordered triad of color, yardage and offset values as in X run length coding.

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.The illustrative lines 762 and 764 are part of a section of consecutive lines that can be described as follows: The illustrative lines 762 . 764 contain, in this order, segments of blue background 710 , one arm of the violet shirt 730 , blue background 710 , the main part of the violet shirt 730 , blue background 710 , the other arm of the violet shirt 730 and a last segment of blue background. The illustrative lines 762 . 764 and the other adjacent lines having the same color pattern are encoded as follows: an integer defining the number of lines in the section; the first line is coded as three sets of three numbers indicating a color, a run length and an offset; and the remaining lines in the section are encoded as three ordered groups of two numbers indicating a run length and an offset. The color values are decoded from the sets of triplets and are then used for the remaining lines of the section. Pixels that are not defined by the ordered groups of two or triplets are rendered in the background color. An illustrative example will be in 9D shown using three rows.

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.In turn another embodiment includes a method referred to as "super runlength coding". In this embodiment decompose a video image into a variety of areas by a CPU, may include the sections. The CPU applies the decompression methods described above the different areas and determines section by section a coding of the most efficient compression method.

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.Then, the CPU encodes the picture section by section as a mixture of the most efficient methods, with the addition of a leading integer or prefix symbol indicating the method by which each section has been coded. An illustrative example of this super run-length encoding is the encoding of the image 700 using a combination of runlength coding for a few lines of the image 700 X-run length coding for other lines (eg. 752 . 754 ) of the picture 700 , X-section run-length encoding for other lines (eg. 762 . 764 ) of the picture 700 and so on.

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.Other embodiments of coding schemes may be used. One useful embodiment involves calculating an offset of the pixels of a line from the previous line, for example shifting a subsequent line, such as one near the neck of the one in FIG 9A Person represented by a small number of pixels, and filling all undefined pixels at both ends of the shifted line with pixels that represent the background. This approach can be applied to both run lengths and row position information. This embodiment offers the advantage that an offset of seven or fewer pixels can be represented as a signed four-bit value, with great savings in the amount of information that must be sent to define the line thus encoded. Many images of objects include offsets between the lines, which are relatively small, and such coding can provide a significant reduction in the data to be transmitted.

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.A another embodiment includes the coding of running values within the limit by an outline as ordered pairs, starting at an edge of the outline. Other combinations of such coding schemes will be apparent to those skilled in the art be seen in the field of data compression.

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.to fulfillment The object of the invention is in addition to the efficient representation the content of pictures an ability to carry out An analysis of the content of images makes sense. TV pictures, the include a variety of pixels, can be analyzed to the presence or absence of persons, objects and features to determine, so that selected Persons, objects and features can be assigned annotations. The Movements of people, objects and features can also to be analyzed. Before carrying out such an analysis becomes an assignment of pixels in an image or a frame too one or more persons, objects and / or features.

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.The analysis is useful in manipulating images to produce a smooth image, or one that is pleasing to the viewer, rather than a jagged or rough image. The analysis can also be used to define an area of the image that is enclosed by an outline of defined thickness in pixels. In addition, the ability to define an area using mathematical relationships allows the visual modification of such area by using a visibility bit that indicates whether the area is visible or invisible, and by using techniques that allow the rendering of all pixels in an area with one specific color or a specific visual effect. An image is examined for areas that define matter of interest. For example, in 9A a shirt area 730 , a head area 720 and a trouser area 740 identified.

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 an embodiment The pixels in an image or frame are considered to be an area belonging classified. The classification may be based on the observations of a Spectator based, which can interact with an image in digital form on a digital display device such. B. presented to the monitor of a computer becomes. In one embodiment The author / annotator can use areas of an image an input device such. A mouse or other computer pointing device, a touch-sensitive Screen, a light pen or the like. In another embodiment can the areas by a computing device such. B. a digital Computer or a digital signal processor in conjunction with Software to be determined. In both cases, there may be pixels that difficult to classify as part of an area, For example, when a plurality of areas adjacent to each other.

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 an embodiment can be a pixel that is difficult to classify or whose Classification is ambiguous, to be classified by a method which includes several steps. First, the classification of the pixel is eliminated or aborted. This declassified Pixel is used as the origin of a classification figure that extends to a variety of pixels (i.e., a neighborhood) near of the declassified pixel. The thus covered pixels become examined in terms of their classification, and the ambiguous Pixel is assigned to the class, the largest representation in the neighborhood Has. In one embodiment The neighborhood includes neighbors next to each other of the ambiguous pixel. In one embodiment, a rule for Make an assignment in case of ties with regard to representation applied. In one embodiment The rule may be to classify the pixel of a pixel assign specific position relative to the pixel, for example the class of the closest to the upper left corner of the image nearest neighbor, the one to the strongest represented class belongs.

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.In a further embodiment can be a pixel that is difficult to classify or its classification is ambiguous, to be classified by a procedure that has a novel implementation of principles of mathematical morphology includes. The mathematical morphology represents the pixels of an image in mathematical expressions and allows the algorithmic calculation of properties and transformations of images, for example using a digital computer or digital signal processor and appropriate software. The principles The mathematical morphology can be used to create various Use image processing applications. It will be a very short one here explanation submitted to the principles.

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.Especially the methods known as dilatation and erosion are described and explains. Generally speaking Dilatation and erosion are used to shape, size and some characteristics to change from areas. In addition will be some illustrative examples of Applications of the principles of mathematical morphology to the Image processing described.

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.Dilation and erosion are fundamental mathematical operations based on sets of pixels Act. As an exemplary description regarding an image in two-dimensional space, the set of points of a region R and a two-dimensional morphological mask M are presented. The illustrative explanation presented in terms of binary mathematical morphology will be discussed with reference to FIG 10A and 10B given. In 10A For example, the morphological mask M has a shape, for example, a five-pixel array in the form of a plus sign. Depending on the effect to be achieved, morphological masks of different shapes can be selected. The region R can have any shape; for illustration purposes, area R will be the one in 10A taken irregular shape shown.

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.The morphological mask M moves over the image in 10A , and the result of the operation is recorded in an array that can be visually represented as a frame that is in 10B will be shown. For the illustrative morphological mask, the pixel located at the intersection of the vertical and horizontal lines of the plus sign is selected as a "test" pixel, or as the pixel "turned on" according to the result of the applied operation (e.g. B. is set to 1) or "switched off" (eg set to 0).

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.For binary erosion, the mathematical rule, expressed in terms of set theory, may be that the intersection of one or more pixels of the morphological mask M with the region R defines the condition of the pixel to be stored in an array or at the position in 10B graphically representing the location of the test pixel in 10A equivalent. This rule means that when moving the morphological mask by one pixel at a time, when all designated pixels of the morphological mask M overlap with pixels of the region R, the test pixel is turned on and the corresponding pixel in 10B is left in an on state. For example, the scan of the mask may be from left to right over each row of the image, beginning in the top row and moving down. Other scan paths covering the entire image (or at least the regions of interest) may be used, as will be apparent to one of ordinary skill in the art of mathematical morphology. This operation tends to smooth a region, and depending on the size and shape of the morphological mask, it may have a tendency to eliminate pointed protrusions along the contours of a region. In addition, depending on the size and shape of the morphological mask, the size of an image can be reduced.

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.In terms of set theory, the binary dilation can have the mathematical rule that the union of the morphological mask M with the region R defines the condition of the pixel that is at the position in 10B graphically representing the location of the test pixel in 10A equivalent. For a given location of the morphological mask M, the pixels of R and the pixels of M are examined, and if a pixel turned on in M corresponds to a pixel turned on in R, the test pixel is turned on. This rule is also applied by scanning the morphological mask over the image as described above, for example from left to right over each row of the image, again from the top row down. This operation may tend to cause a region to expand and fill small holes. Dilation and erosion operations are not commutative, which means that erosion and subsequent dilatation are generally performed differently than dilatation and subsequent 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.The operations of erosion and dilation, as well as other operations based on these basic operations, can be applied to sets of pixels defined in space, as found in a two-dimensional image, as just explained. The same operations can equally well be applied to sets of pixels in a time sequence of pictures, as in FIG 11A and 11B shown. In 11A Time can be viewed as a third dimension that is orthogonal to the two dimensions that define each image or frame. 11A FIG. 11 shows three pictures or frames labeled N-1, N and N + 1, with frame N-1 displayed first, frame N next, and finally frame N + 1. Each frame is conceivable to have an x-axis and a y-axis. In an illustrative example, each frame includes 480 horizontal rows of 640 pixels or columns each. By convention, rows are numbered from top to bottom, and columns are progressively numbered from left to right. The upper left corner is Row 0, Column 0 or (0, 0). The x-axis determines the series, the x-value increases as one moves down the left edge of the frame, and the y-axis determines the number of columns per row, the y-value increasing as one moves moves to the right along the top edge of the frame. The time axis along which time increases is then considered to be in 11A horizontally from left to right.

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.The operations of erosion and dilatation in two-dimensional space used a morphological mask such. For example, the five-pixel plus sign in the plane of the image or frame is aligned. An operation in the time dimension using the two-dimensional plus-five-plus sign as a morphological mask can be thought of as in the following discussion, it being understood that one dimension of the plus sign lies along the time axis and the other lies along a space axis , In other embodiments, one could use a one-dimensional morphological mask along only the time axis or a three-dimensional morphological mask having dimensions in two non-collinear spatial directions and one dimension along the time axis.

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.The "test" pixel of the five-dimensional two-dimensional morphological plus-sign mask is located at row r, column c, or position (r, c) of frame N in FIG 11A , The pixels in the vertical line of the plus sign are at column c of row r - 1 (the row over row r) of the frame N and column c of row r + 1 (the row under r) of the frame N. The pixel "left" of the "test" pixel is located at row r, column c of frame N-1 11A (the frame before the frame N), and the pixel "right" of the "test" pixel is located at row r, column c of the frame N + 1 11A (the frame following frame N). The result of an operation using this morphological mask is thus visually recorded at row r, column c of a frame corresponding to frame N, and the result can be recorded in an array at the corresponding position. However, in this example, the calculation is dependent on three pixels that are in the frame N, one pixel that is in frame N-1, and one that is in frame N + 1. 11A schematically illustrates the use of the five-pixel "plus" mask on three images or frames representing successive images in time, and 11B represents the result of the calculation in a frame corresponding to the frame N.

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.In this system according to the invention a novel form of erosion and dilatation is applied all areas are eroded and dilated in one go, instead of processing only a single area at a time (where the area is denoted by "1" and the non-area by "0"), and the process is repeated several times if multiple areas too treat. If, in the case of erosion, the input image R ranges contains whose pixels are each denoted by 1, 2, ... r, then the For example, test pixels labeled '3' when and only if all pixels are below the set pixels in the morphological Mask are denoted by 3. Otherwise, the test pixel is assigned 0 or unclassified in the case of dilatation, the input image R contains regions whose Pixels are respectively denoted by 1, 2, ... r, then the test pixel is for example, labeled '3' if and only if the area with the highest number of pixels is the one with the designation is 3. Otherwise, the test pixel becomes 0 or "not classified ".

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.Two-Dimensional Floodfill is a technique known in the art, the change of a Characteristic of a two-dimensional surface to a defined characteristic causes. For example, two-dimensional floodfill can be used become the visual effect of a connected area of an image to change in a defined way, For example, all pixels of the area to be colored red. Three-dimensional floodfill can be used to make all elements of a volume into one to change the defined characteristic. For example, can a volume can be used to represent an area which appears in a series of sequential two-dimensional images, those in the sequence number or the display time as the third dimension differ from each other.

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.It is an efficient, novel algorithm for filling one connected three-dimensional volume developed by Floodfill starting with an image containing a region which Is part of the volume. Overview the method allows the selection of an element on a two-dimensional surface within the volume and leads a two-dimensional flood fill on the area containing the selected element. The Method selects a direction along the third dimension determines whether a subsequent surface contains an element within the volume, and if so is, leads it made a two-dimensional floodfill of the area, one such Contains element. The process repeats the process until no more items are found and returns to the first flood fill filled area back and repeats the process while it moves along the third dimension in the opposite direction emotional.

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.It is an algorithmic image processing technique using of a three-dimensional floodfill operator the author classified a point within a group of incorrectly Selects points. The selected Point can be determined using a classification method already described be reclassified. The entire group of Pixels that match the selected ones Point adjoin, then becomes the classification of the selected point reclassified. Adjacent pixels of the reclassified pixels in Previous and subsequent frames can also be reclassified become.

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.In an embodiment, the three-dimensional volume to be reclassified comprises two dimensions representing the image plane, and a third dimension representing time. In this embodiment, for each pixel (r, c) in the frame N is off 11A which changes from A to B due to the two-dimensional flood-fill operation in the frame N, when the pixel (r, c) in the frame N + 1 turns off 11A currently assigned the color A, the two-dimensional Floodfill performed starting at pixel (r, c) in frame N + 1 11A , whereby all adjoining pixels are changed in frame N + 1, which are assigned color A. Again with respect to 11A For example, it is also possible to start such a process at frame N and proceed backwards in the time dimension to frame N-1. In one embodiment, the three-dimensional floodfill process is terminated on a frame in which no pixel has a designation that requires modification as a result of the floodfill operation. In one embodiment, once the three-dimensional flood fill is completed in one direction of time, the process continues by starting at the initial frame N and continuing in the opposite direction in time until the process ends again.

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. 11C is a flowchart 1150 , which illustrates an illustrative process for achieving three-dimensional flood fill according to one embodiment of the invention. The process begins at the circle 1152 The process operating entity, such as an operator of an authoring tool, or alternatively, a computer that analyzes images to locate within images one or more regions that correspond to objects, selects multiple sequential two-dimensional ones Portions that delineate the volume to be filled in the three-dimensional floodfill process, as in step 1154 displayed. In one embodiment, the three-dimensional volume comprises two-dimensional portions arranged orthogonal to a third dimension, each two-dimensional portion including positions identified by a first coordinate and a second coordinate. For example, in one embodiment, the two-dimensional portions may be frames, and the third dimension may represent the time or a frame number that identifies successive frames. In one embodiment, the first and second coordinates may represent row and column positions that define the position of a pixel within an image frame on a display device.

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 step 1156 The process operator defines multiple areas in at least one of the two-dimensional sections, each area including at least one location. From this point on the process, the process is performed using a facility such as As a computer that can execute a series of instructions that may be encoded in software. The computer may record information according to the definitions for later use, such as in a machine-readable memory. For example, an operator in an image may define a background and an object of interest, e.g. B. a shirt 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 step 1158 For example, the computer selects a first area in one of the two-dimensional sections, the area being contained within the volume to be filled with a selected icon. In one embodiment, the symbol may be a visual effect in rendering on a display device, such as a color, a highlight, a change in brightness, or the like, or may include a character such as a color. Example, an alphanumeric character or other such symbol that can be displayed on a display device.

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 step 1160 The computer running the display fills the first area with the selected icon. There are many different known graphics routines for filling a two-dimensional area with a symbol, for example, changing a defined area of a screen to a defined color. Any such known two-dimensional graphics routine may be implemented to perform the step of two-dimensional filling.

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 step 1162 The computer moves in a first direction along the third dimension to the subsequent two-dimensional section. In one embodiment, the process operator moves to the image immediately before or after the first selected image, thereby defining a direction in time or in the image sequence.

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.In step 1164 The computer determines whether a position in the subsequent two-dimensional portion corresponding to a filled position in the two-dimensional portion of the previous two-dimensional portion belongs to the volume. The process operator looks for information that is listed in the definitions of the two-dimensional areas that are in step 1156 were achieved.

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.The computer takes on the result of the step in step 1164 a choice. Is a positive result of the determination step 1164 before, the computer fills an area containing the position in the subsequent two-dimensional section with the selected icon, as in step 1168 displayed. As with step 1170 appears, the computer repeats, starting with the newly filled area in the subsequent two-dimensional section, the movement step 1162 , the determination step 1164 and the filling step 1168 (ie, the immediately preceding steps) until the determination step results in a negative result.

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.For a negative result of a previously mentioned determination step 1164 the computer returns to the first in step 1158 identified area (which has already been filled) and repeats, moving along the third dimension in a direction opposite to the first direction, the steps of the movement (eg a step similar to Step 1162 but in the opposite direction), determination (eg a step like step 1164 ) and stuffing (eg a step like step 1168 ), as stated above, until a determination step has a negative result. This sequence is summarized at step 1172 played. At step 1174 the process ends with a negative result of a determination step.

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.Another application involves creating outlines of areas, for example, to allow an area to be either completely highlighted or highlighted by changing the visual effect associated with the outline of the area, or a combination of the two effects. In one embodiment, a method of constructing outlines from designated areas, as in FIG 12A - 12B represented, implemented. An area to be bordered 1210 with an outline 1215 in the input picture 1218 is in 12A shown. A square morphological mask 1220 with an odd number of pixels whose size is proportional to the desired outline thickness is over the range 1210 guided. At every position in the input area 1210 The pixels within the morphological mask are checked to see if they are all the same. If so, the test pixel will be in the output image 1230 out 12B assigned a '0'. If one pixel differs from another pixel within the morphological mask, the label falling below the middle pixels of the morphological mask becomes the test pixel in the output image 1230 assigned. While the morphological mask 1220 over the area 1210 moves, is in an output image 1230 a result outline 1215 ' generated. In other embodiments, even-numbered square morphological masks may be used, morphological masks having shapes other than squared and quadratic morphological masks having odd pixel numbers, in which one selects a particular pixel within the morphological mask as the pixel corresponding to the test pixel 1222 in the output image 1230 equivalent.

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.It It is understood that the average person skilled in the use the principles of mathematical morphology the preceding ones Example applications using alternative morphological Masks and alternative rules can build and many more, similar Recognize applications based on such principles.

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 a number of related Images or a setting as previously described, for example a sequence of images that one sitting on a park bench Person can show one or more of the selected Objects over one Number of frames persist. In other situations, such as an abrupt one change in the picture, for example when the scene changes to the view, which the person on the park bench perceives, some or all of the in the first scene or setting identified areas in the second Scene or shot is missing. The system and method of the invention can both notice that the scene has changed (eg starts a new setting) and that one or more in the first scene existing areas in the second scene are not present.

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.In one embodiment, the system and method determines that the scene or setting has changed by calculating a histogram of pixels that have changed from one image to a subsequent image and comparing the slope of the subsequent instances (or time history) of the histogram with a given slope value. 13 Figure 3 shows three illustrative examples of the evolution of histograms over successive frames (or over time). The topmost curve 1310 has a small variation of zero slope and represents moderate speed movement. The middle curve 1320 shows a slightly greater variation of tilt and represents sudden movement. The lowest curve 1330 shows a large variation of the inclination and represents a change of setting or scene change in frame F. When the slope of the histogram development curve exceeds a predetermined value as in the lowest curve 1330 , the system detects that a setting change has occurred.

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.A preferred embodiment of this system has been described in terms of digital television broadcasting. It should be understood that an alternative embodiment of this system may also be similarly integrated with old analog television broadcasting systems. As used herein, the term metadata is understood to include masks, objects, annotation information, data structures, timestamps, or other time information, and generally all additional information and data used in conjunction with the original, unaltered television broadcasting signals. In the analog embodiment, the metadata may be associated with an analog transmission signal by one or more of the following steps: inserting metadata into the "vertical blanking interval" (VBI) as performed by closed captioning systems and transmitting metadata via a secondary communication channel such as, but not limited to, a subcarrier signal, another channel frequency within the electromagnetic transmission spectrum, or a connection to a computer network, such as the 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.In this embodiment support the video source, the modulator, the tuner and the receiver analogue signals, while the metadata can be digital. The analog receiver can collecting the metadata from the VBI can store metadata in memory and can process them as described herein.

Claims (19)

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.A hyperlink annotation data system comprising: a voting device ( 100 ); a demodulator ( 104 ) in conjunction with the tuner ( 100 ); a video decoder ( 108 ) in conjunction with the demodulator ( 104 ); a display device ( 58 . 530 ) in conjunction with the demodulator ( 104 ); a memory ( 128 ) which stores annotation data to be associated with at least one object displayed in a video frame; and a central processing unit ( 124 ) in conjunction with the decoder ( 108 ) and the memory ( 128 ); the memory ( 128 ) stores a computer program which, when stored by the central processing unit ( 124 ), the display of annotation data ( 5 ) on the display device ( 58 . 530 ), the annotation data being provided with an expiration time stamp used by the computer program, the annotation data ( 5 ) after a predetermined time. 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.The system of claim 1, further comprising: a viewer interaction device, the computer program storing the annotation data ( 5 ) on the display device ( 58 ) in response to activation of the viewer interaction device by a viewer. 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.The system of claim 1, wherein the memory ( 128 ) Masking information ( 210 . 506 ) stores; the masking information ( 210 . 506 ) is used by the computer program to display areas on the display device ( 58 . 530 ) to identify. Das System gemäß Anspruch 3, wobei die Maskierungsinformation (210, 506) eine Maskierungs-Zeitmarke (218) aufweist.The system according to claim 3, wherein said masking information ( 210 . 506 ) a masking timestamp ( 218 ) having. 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.The system of claim 4, wherein the masking timestamp ( 218 ) is used by the computer program to extract the masking information ( 506 ) in temporal relation to a video frame. 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.The system of claim 3, wherein the memory ( 128 ) Stores object information; wherein the object information is used by the computer program, objects in a video frame on the display device ( 58 . 530 ). Das System gemäß Anspruch 6, wobei die Objektinformationen die Ablauf-Zeitmarke aufweisen.The system according to claim 6, wherein the object information comprises the expiration time stamp. 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.The system of claims 6 or 7, wherein the object information comprises: an object mapping table ( 217 containing an object number for an object in a video frame and a corresponding first identifier; and an object property table ( 220 ) referenced by the first identifier, the object property table containing a first group of annotation data. 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.The system according to claim 8, wherein the first group of annotation data is an annotation data field and a second identifier containing a second group referenced by annotation data. 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.The system of claim 9, wherein the annotation data field is a title field ( 221 ) and the second identifier references a string containing a title of the object. 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.The system of claim 9, wherein the annotation data field is a menu field ( 253 ) and the second identifier references a selector containing a set of display identifiers and a corresponding set of action identifiers. Das System gemäß einem der Ansprüche 9 bis 11, wobei die ersten und zweiten Identifikatoren in dem System eindeutig sind.The system according to a the claims 9-11, wherein the first and second identifiers in the system are unique. Das System gemäß einem der Ansprüche 9 bis 12, wobei der Identifikator ein variabler Wert ist.The system according to a the claims 9 to 12, wherein the identifier is a variable value. 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.A method of using broadcast information that includes hyperlinked annotation data, comprising the steps of: using a receiver ( 54 ) adapted to receive, decode, store and manipulate broadcast information, the receiver having a central processing unit ( 124 ) and at least one storage device ( 128 ) having; Receiving a stream of broadcast information; Decoding the broadcast information to obtain masking information, wherein a masking timestamp and an expiration timestamp are associated with each mask; Storing the masking information in a first data queue in the at least one memory device ( 128 ); Comparing the masking timestamp with a timestamp of a displayed video frame; Displaying the mask based on a relationship between the mask timestamp and the timestamp of the displayed video; and clearing the mask after a specific time calculated based on the expiration timestamp. 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).The method of claim 14, further comprising the steps of: decoding the broadcast information to obtain object information, each object associated with an object timestamp; and storing the object information in a second data queue in the at least one memory device ( 128 ). 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.The method of claim 14, wherein said decoding is performed by a first active thread (16). 514 ), which applies operations to the first data queue, and wherein the comparing is performed by a second active thread applying operations to the first data queue. 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.The method according to any one of claims 14 to 16, wherein the step of comparing the masking timestamp with a timestamp of a displayed video frame with the comparison one earliest Masking timestamp with a timestamp of an immediately last displayed video frame begins. Das Verfahren gemäß Anspruch 16, wobei der erste Thread (514) eine Anzeige von Maskierungsdaten anpasst und der zweite Thread eine Anzeige von Objektdaten anpasst.The method of claim 16, wherein the first thread ( 514 ) adjusts a display of masking data and the second thread adjusts a display of object data. 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.The method according to any one of claims 14 to 18, further comprising the steps of: in the event that the masking timestamp a frame that has not yet been displayed corresponds to: (A) Decoding the associated mask into a frame buffer; (B) Check the masking timestamp to see if the decoded mask should be displayed immediately; (c) if the decoded Mask is to be displayed immediately, displaying the decoded Mask; and (d) if the decoded mask at a later time to be displayed, resting for a time calculated to end at the time at which the decoded mask should be displayed and, immediately when waking up, displaying the decoded mask.
DE60133374T 2000-02-29 2001-02-28 METHOD AND DEVICE FOR RECEIVING HYPERLINK TELEVISION PROGRAMS Expired - Lifetime DE60133374T2 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US694079 1991-05-01
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
US09/694,079 US7367042B1 (en) 2000-02-29 2000-10-20 Method and apparatus for hyperlinking in a television broadcast
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
US715944 2003-11-18

Publications (2)

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

Family

ID=27539138

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133374T Expired - Lifetime DE60133374T2 (en) 2000-02-29 2001-02-28 METHOD AND DEVICE FOR RECEIVING HYPERLINK TELEVISION PROGRAMS

Country Status (7)

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

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
EP1885127A3 (en) 1999-09-20 2008-03-19 Tivo, Inc. Closed caption tagging system
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
WO2002025556A1 (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
US7735105B2 (en) * 2001-08-28 2010-06-08 Panasonic Corporation Broadcast receiving method
JP4145623B2 (en) * 2001-10-23 2008-09-03 松下電器産業株式会社 Television receiver and method of counting access from receiver
US7503059B1 (en) * 2001-12-28 2009-03-10 Rothschild Trust Holdings, Llc Method of enhancing media content and a media enhancement system
US8909729B2 (en) 2001-11-20 2014-12-09 Portulim Foundation Llc System and method for sharing digital media content
US8122466B2 (en) * 2001-11-20 2012-02-21 Portulim Foundation Llc System and method for updating 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
US7711774B1 (en) 2001-11-20 2010-05-04 Reagan Inventions Llc Interactive, multi-user media delivery system
US7899915B2 (en) 2002-05-10 2011-03-01 Richard Reisman Method and apparatus for browsing using multiple coordinated device sets
JP2004120440A (en) * 2002-09-26 2004-04-15 Toshiba Corp Server device and client device
KR101220676B1 (en) 2003-06-02 2013-01-21 디즈니엔터프라이지즈,인크. System and method of video player commerce
EP2594322A3 (en) 2003-06-02 2013-12-04 Disney Enterprises, Inc. System and method of interactive video playback
US7496277B2 (en) 2003-06-02 2009-02-24 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
JP5149507B2 (en) 2003-10-06 2013-02-20 ディズニー エンタープライゼス インコーポレイテッド Video player playback and feature function control system and method
US20050086690A1 (en) * 2003-10-16 2005-04-21 International Business Machines Corporation Interactive, non-intrusive television advertising
WO2005076961A2 (en) 2004-02-04 2005-08-25 Goldpocket Interactive Synchronization and automation in an itv environment
WO2005084348A2 (en) * 2004-03-01 2005-09-15 Goldpocket Interactive System and method for describing presentation and behavior information in an itv application
EP1591916B1 (en) * 2004-04-26 2013-11-06 Sap Ag Method, computer program and device for deleting data sets contained in a table system
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
US20060075427A1 (en) * 2004-10-05 2006-04-06 Robert Koch Methods, apparatus, and computer program products for recording media files
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
US9967534B1 (en) 2004-11-19 2018-05-08 Tivo Solutions Inc. Digital video recorder video editing system
US7631330B1 (en) * 2005-02-25 2009-12-08 Lightningcast Llc Inserting branding elements
KR20070113244A (en) 2005-02-23 2007-11-28 시마 나노 테크 이스라엘 리미티드 Ink jet printable compositions for preparing electronic devices and patterns
JP2006288612A (en) * 2005-04-08 2006-10-26 Olympus Corp Picture display device
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
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
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
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US9056251B2 (en) 2006-01-10 2015-06-16 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
US7661121B2 (en) 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US20090317050A1 (en) * 2006-07-14 2009-12-24 Dong Soo Son System for providing the interactive moving picture contents and the method thereof
JP2008160804A (en) * 2006-11-30 2008-07-10 Matsushita Electric Ind Co Ltd Data transfer device and transfer control method
WO2008093632A1 (en) * 2007-01-29 2008-08-07 Access Co., Ltd. Dynamic image processing method, dynamic image processing program, and dynamic image processing device
US8515194B2 (en) * 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
KR101427647B1 (en) * 2007-04-25 2014-08-07 삼성전자주식회사 Method and apparatus for packet creating and precessing
WO2009005415A1 (en) * 2007-07-03 2009-01-08 Teleca Sweden Ab Method for displaying content on a multimedia player and a multimedia player
KR101432994B1 (en) * 2007-08-13 2014-08-22 삼성전자주식회사 Method for creating and reproducing media metadata based on media object and apparatus thereof
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
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
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
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
CN101557464B (en) * 2009-04-01 2013-06-05 深圳市融创天下科技股份有限公司 Method for dynamically embedding other media segments in video program playback
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 (en) * 2010-11-30 2013-08-21 靖宜 下岡 Broadcast system and Internet mail order system and method for achieving large scale access and high conversion
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
JP6334170B2 (en) * 2011-01-05 2018-05-30 トムソン ライセンシングThomson Licensing Multi-screen interaction
EP2686761A4 (en) * 2011-03-16 2014-11-19 Univ Beijing Superimposed annotation output
US20120317600A1 (en) * 2011-06-13 2012-12-13 Samsung Electronics Co., Ltd. Storing content corresponding to programs
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 (en) * 2012-03-26 2013-10-07 한국전자통신연구원 A method of video frame encoding using the dual object extraction and object trajectory information on the encoding and decoding process
CN103905846B (en) * 2012-12-25 2017-12-08 中国电信股份有限公司 Content delivery method and server based on 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 (en) * 2013-03-29 2014-10-08 인텔렉추얼디스커버리 주식회사 Server and method for transmitting augmented reality object
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 (en) * 2014-06-25 2017-05-03 Thomson Licensing Annotation method and corresponding device, computer program product and storage medium
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 (en) * 2014-10-22 2019-05-07 후아웨이 테크놀러지 컴퍼니 리미티드 Interactive video generation
JP6641731B2 (en) 2015-06-05 2020-02-05 ソニー株式会社 Transmission device and transmission method, and reception device and reception method
CN105163164B (en) * 2015-08-31 2019-10-25 腾讯科技(北京)有限公司 Information shows item methods of exhibiting and device
CN105451039B (en) * 2015-09-15 2019-05-24 北京合盒互动科技有限公司 A kind of interaction of multimedia information method and system
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 (en) * 2017-06-14 2018-11-06 (주)에프엑스기어 System for picking an object base on view-direction and method thereof
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 (en) * 2020-12-31 2022-07-01 华为技术有限公司 Media playing method and electronic equipment
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
US4532547A (en) 1982-03-31 1985-07-30 Ampex Corporation Video device synchronization system
US4959718A (en) 1982-03-31 1990-09-25 Ampex Corporation Video device synchronization system
US4507680A (en) 1982-06-22 1985-03-26 Freeman Michael J One way interactive multisubscriber communication system
US4573072A (en) 1984-03-21 1986-02-25 Actv Inc. Method for expanding interactive CATV displayable choices for a given channel capacity
US4602279A (en) 1984-03-21 1986-07-22 Actv, Inc. Method for providing targeted profile interactive CATV displays
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
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
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
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
US4829372A (en) 1987-08-20 1989-05-09 Telaction Corporation Presentation player
US5208665A (en) 1987-08-20 1993-05-04 Telaction Corporation Presentation player for an interactive digital communication system
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 (en) 1988-08-30 1997-02-26 キヤノン株式会社 Image hierarchical coding device
DE3905669C2 (en) 1989-02-24 1996-03-07 Broadcast Television Syst Circuit arrangement for deriving synchronizing signals from a digital video signal
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 (en) 1989-05-19 1990-12-18 Fuji Photo Film Co Ltd Picture signal compressing and encoding device
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 (en) 1991-07-23 1999-04-12 キヤノン株式会社 Video signal processing device
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
US5724091A (en) 1991-11-25 1998-03-03 Actv, Inc. Compressed digital data interactive program system
JP2987206B2 (en) 1991-12-13 1999-12-06 アヴィッド・テクノロジー・インコーポレーテッド Buffer and frame indexing
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
JP2932886B2 (en) 1993-03-10 1999-08-09 松下電器産業株式会社 Digital signal recording method
US5404173A (en) 1993-03-10 1995-04-04 Brooktree Corporation Method to synchronize video modulation using a constant time base
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 (en) * 1994-05-26 2005-03-02 株式会社日立製作所 Video on demand system, center thereof, and television system
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 (en) 1994-09-29 2005-11-02 ソニー株式会社 Image coding apparatus and image coding method
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 (en) 1995-05-24 1996-12-13 Internatl Business Mach Corp <Ibm> Method and apparatus for synchronizing video data with graphic data in multimedia display device containing communal frame buffer
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 (en) 1995-09-04 1997-03-18 Sony Corp Compression encoder and recording device for compression encoded data
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
US5838828A (en) 1995-12-12 1998-11-17 Massachusetts Institute Of Technology Method and apparatus for motion estimation in a video signal
US5790269A (en) 1995-12-12 1998-08-04 Massachusetts Institute Of Technology Method and apparatus for compressing and decompressing a video image
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 (en) * 1996-03-25 2005-09-21 パイオニア株式会社 Information recording apparatus and method, information processing apparatus and method, and information reproducing apparatus and method
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 (en) 1996-08-30 2006-12-27 ソニー株式会社 Video data compression apparatus and method
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 (en) * 1996-12-25 2006-08-30 株式会社日立製作所 Video / data display method and apparatus
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 (en) * 1998-06-12 1999-12-24 Hitachi Ltd Transmitter and receiver
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
WO2001065832A1 (en) 2001-09-07
AU2001245369A1 (en) 2001-09-12
US7120924B1 (en) 2006-10-10
DE60133374D1 (en) 2008-05-08
JP5204285B2 (en) 2013-06-05
EP1266519A1 (en) 2002-12-18
JP2012070400A (en) 2012-04-05
JP2004500770A (en) 2004-01-08
EP1266519B1 (en) 2008-03-26
ATE390798T1 (en) 2008-04-15

Similar Documents

Publication Publication Date Title
DE60133374T2 (en) METHOD AND DEVICE FOR RECEIVING HYPERLINK TELEVISION PROGRAMS
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 (en) System for storing and playing a multimedia application and adding various specific services
DE69636284T2 (en) COMPACT GRAPHIC INTERACTIVE BROADCAST INFORMATION SYSTEM
US20020078446A1 (en) Method and apparatus for hyperlinking in a television broadcast
DE69708042T2 (en) BROADCAST RECEIVER, WHICH ALWAYS ACCESSES NAVIGATION INFORMATION STATERED ON A DATA FLOW, AND RECORDING MEDIUM ON WHICH THE RELATED PROCEDURE IS STORED
DE69909758T2 (en) SYSTEM FOR THE PRODUCTION, PARTITIONING AND PROCESSING OF ELECTRONIC TELEVISION PROGRAM MAGAZINES
DE69913571T2 (en) Targeted distribution of advertising to television devices
DE69731549T2 (en) INTERACTIVITY WITH AUDIOVISUAL PROGRAMMING
DE69617986T2 (en) METHOD AND DEVICE FOR PLANNING AN ELECTRONIC PROGRAM INSTRUCTION WITH ACCESS TO DATA INPUT
DE69731988T2 (en) Method and device for displaying images and data
DE69624674T2 (en) TRANSFER OF AN ELECTRONIC DATABASE OF INFORMATION
DE102008056603B4 (en) Methods and devices for measuring brand exposure in media streams and for defining areas of interest in associated video frames
DE60001057T2 (en) INTERACTIVE SYSTEM
DE69822674T2 (en) Interactive system for the selection of television programs
DE69830013T2 (en) program generation
DE69932060T2 (en) SIMULATION OF A TWO-WAY CONNECTION FOR ONE-DIRECTUAL DATA FLOWS FOR SEVERAL PARTICIPANTS
DE69332895T2 (en) Operations center for television supply system
US20030098869A1 (en) Real time interactive video system
DE19833053A1 (en) Transmission, reception and display of combined video data for hyperlink data file
DE69903977T2 (en) USER GROUP IDENTIFICATION SYSTEM
DE60005482T2 (en) METHOD AND SYSTEM FOR SELECTING PRODUCTS IN A VIDEO PRODUCTION USING REFERENCE PICTURES
DE69608220T2 (en) TRANSFER OF GRAPHIC IMAGES
EP1224801B1 (en) Method and device for displaying information with respect to selected image elements of images of a video sequence

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