[go: up one dir, main page]

DE112013004029B4 - Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes - Google Patents

Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes Download PDF

Info

Publication number
DE112013004029B4
DE112013004029B4 DE112013004029.8T DE112013004029T DE112013004029B4 DE 112013004029 B4 DE112013004029 B4 DE 112013004029B4 DE 112013004029 T DE112013004029 T DE 112013004029T DE 112013004029 B4 DE112013004029 B4 DE 112013004029B4
Authority
DE
Germany
Prior art keywords
trigger
activation
event
time
acr
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 - Fee Related
Application number
DE112013004029.8T
Other languages
English (en)
Other versions
DE112013004029T5 (de
Inventor
Sejin Oh
Jinpil Kim
Seungjoo An
Jinwon Lee
Kyungho Kim
Kyoungsoo Moon
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of DE112013004029T5 publication Critical patent/DE112013004029T5/de
Application granted granted Critical
Publication of DE112013004029B4 publication Critical patent/DE112013004029B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Verfahren zum Verarbeiten eines interaktiven Dienstes bei einem Empfänger, wobei das Verfahren umfasst:Empfangen von unkomprimiertem Audioinhalt oder unkomprimiertem Videoinhalt von einer externen Decodiereinheit;Extrahieren einer Signatur eines Rahmens aus dem empfangenen Inhalt; Senden, zu einem Server, einer Anfrage, welche die Signatur aufweist; und Empfangen, von dem Server, eines Auslösers für den empfangenen Inhalt, als Antwort auf die Anfrage, wobei der Auslöser ein Zeitbasis-Auslöser ist, wenn keine Ereignisaktivierung vor einer nächsten Anfrage geplant ist, wobei der Auslöser verwendet wird, um Medienzeit des empfangenen Inhalts beizubehalten, und wobei der Auslöser ein Aktivierungsauslöser ist, wenn das bestimmte Ereignis fällig ist, aktiviert zu werden, wobei der Aktivierungsauslöser das bestimmte zu aktivierende Ereignis von einer Anwendungstabelle kennzeichnet,wobei die Anwendungstabelle in dem Empfänger Anwendungselemente umfasst, die Metadaten für jede Anwendung aufweisen, wobei jedes Anwendungselement Ereigniselemente aufweist, die Metadaten für jedes auf die jeweilige Anwendung abzielende Ereignis aufweisen, wobei jedes Ereigniselement Datenelemente aufweist, die jeden für das jeweilige Ereignis zu verwendenden Datensatz aufweisen,wobei der Aktivierungsauslöser einen ersten Wert, einen zweiten Wert und einen dritten Wert umfasst, wobei sich der erste Wert auf ein Anwendungselement für eine durch das bestimmte Ereignis abzielende Anwendung bezieht, wobei sich der zweite Wert auf ein Ereigniselement für das bestimmte Ereignis bezieht, und wobei sich der dritte Wert auf einen für das bestimmte Ereignis zu verwendenden Datensatz bezieht.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Bereitstellen, Empfangen und Verarbeiten eines Rundfunkdienstes, und insbesondere ein Verfahren und eine Vorrichtung zum Bereitstellen eines auf Rundfunkinhalt bezogenen Zusatzdienstes.
  • Stand der Technik
  • TV-Geräte erschienen erstmals am Ende des 19. Jahrhunderts und sind seit dem Ende des 20. Jahrhunderts die beliebtesten Informationszustellvorrichtungen geworden, als ein Bildschirmanzeigeverfahren oder eine Ausgestaltung davon kontinuierlich weiterentwickelt wurden. Allerdings ermöglichen TV-Geräte Zuschauern im Allgemeinen, eine unidirektionale Information von einem Sender zu empfangen. Derartige TV-Einschränkungen sind problematisch geworden, als Arbeitsplatzrechner (PCs; Personalcomputers) und das Internet seit den 1990er Jahren in weit verbreiteten Einsatz getreten sind. Daher sind TV-Geräte entwickelt worden, die in der Lage sind, einen interaktiven Dienst bereitzustellen.
  • Jedoch gibt es derzeit kein System zum Bereitstellen eines interaktiven Dienstes zwischen einem Inhaltsanbieter und einem Zuschauer. Insbesondere gibt es, um einen solchen interaktiven Dienst bereitzustellen, einen Bedarf für ein Verfahren zum Ausführen einer Anwendung bezüglich Rundfunkinhalts, der gerade gesendet wird, zu einem bestimmten Zeitpunkt und zum Bereitstellen von zugehöriger Information an einen Zuschauer durch spezielle Informationsverarbeitung.
  • US 2002/0056129 A1 offenbart einen interaktiven Fernsehauslöser, der einen Zeitattributwert aufweist, wobei der Zeitattributwert eine Zukunftszeit anzeigt, zu der der Auslöser ausgeführt werden soll.
  • CA 2820574 A1 offenbart ein Verfahren zum Empfangen eines verbesserten Dienstes einer Videoanzeigevorrichtung.
  • US 2012/0082266 A1 offenbart eine Empfangsvorrichtung umfassend einen Empfangsblock, einen Akquisitionsblock, einen Ausgabeblock, einen Schaltblock und einen Puffer.
  • Offenbarung der Erfindung
  • Technisches Problem
  • Eine Aufgabe der vorliegenden Erfindung, die zum Lösen des Problems entwickelt wurde, beruht auf Zusatzinformation mit Bezug auf Rundfunkinhalt zu einem geeigneten Zeitpunkt während eines Zeitraums, wenn der Rundfunkinhalt wiedergegeben wird.
  • Lösung des Problems
  • Die vorliegende Erfindung ist definiert durch die unabhängigen Ansprüche. Spezifische Ausführungsformen sind definiert durch die abhängigen Ansprüche.
  • Vorzugsweise ist der Auslöser ein zeitbasierter Auslöser, wenn die Kennung dem neuen Segment entspricht, und der zeitbasierte Auslöser wird verwendet, um dem Empfänger zu ermöglichen, eine mit dem neuen Segment verknüpfte neue Anwendungsparametertabelle zu erhalten.
  • Vorzugsweise ist der Auslöser ein Aktivierungsauslöser ist, wenn das Ereignis fällig ist, aktiviert zu werden, und der Aktivierungsauslöser setzt eine Aktivierungszeit für das Ereignis.
  • Vorzugsweise wird der Aktivierungsauslöser vor der Zeit empfangen, wenn der Empfänger den Aktivierungsauslöser anwenden muss.
  • Vorzugsweise wird das Ereignis sofort nach Empfang des Aktivierungsauslösers aktiviert, wenn der Aktivierungsauslöser nach der Aktivierungszeit empfangen wird.
  • Vorzugsweise umfasst das Verfahren ferner sofortiges Herunterladen einer neuen Anwendungsparametertabelle, es sei denn, der Empfänger hat bereits die neue Anwendungsparametertabelle unter Verwendung von mit der Anwendungsparametertabelle zugestellter URL-Information empfangen, wenn der Auslöser eine Anwendungsparametertabelle-Kennung umfasst, welche die neue Anwendungsparametertabelle kennzeichnet.
  • Vorzugsweise wird der Aktivierungsauslöser einmal angewandt, wenn der Empfänger mehr als einen Aktivierungsauslöser für dieselbe Ereignisaktivierung empfängt.
  • Vorzugsweise ist die Zeit eine Medienzeit, wobei die Medienzeit ein Parameter ist, der auf eine Stelle bei der Wiedergabe eines Inhaltselements verweist.
  • Vorzugsweise ist die Anwendung ein deklaratives Objekt, ein ausgelöstes deklaratives Objekt, ein Nicht-Echtzeit-deklaratives Objekt oder ein ungebundenes deklaratives Objekt.
  • Vorzugsweise ist die Netzwerkschnittstelle ferner zum sofortigen Herunterladen einer neuen Anwendungsparametertabelle konfiguriert, es sei denn, der Empfänger hat bereits die neue Anwendungsparametertabelle unter Verwendung von mit der Anwendungsparametertabelle zugestellter URL-Information empfangen, wenn der Auslöser eine Anwendungsparametertabelle-Kennung umfasst, welche die neue Anwendungsparametertabelle kennzeichnet.
  • Vorteilhafte Wirkungen der Erfindung
  • Gemäß der vorliegenden Erfindung ist es möglich, Zusatzinformation mit Bezug auf Rundfunkinhalt unter Verwendung eines herkömmlichen Rundfunksystems bereitzustellen.
  • Gemäß der vorliegenden Erfindung ist es möglich, eine Zeit, bei welcher Zusatzinformation mit Bezug auf Rundfunkinhalt angezeigt werden muss, zu erkennen und die Zusatzinformation zu einem geeigneten Zeitpunkt einem Benutzer bereitzustellen.
  • Gemäß der vorliegenden Erfindung ist es möglich, Zusatzinformation mit Bezug auf Rundfunkinhalt für Empfänger bereitzustellen, die Internet-Verbindungen haben und nur Zugriff auf unkomprimiertes Audio und Video von Sende-Datenströmen haben.
  • Figurenliste
  • Die beigefügten Zeichnungen, die enthalten sind, um ein tieferes Verständnis der Erfindung bereitzustellen, und in die Anmeldung einbezogen sind und einen Teil davon bilden, veranschaulichen Ausführungsform(en) der Erfindung und dienen zusammen mit der Beschreibung dazu, die Grundlage der Erfindung zu erklären. In den Zeichnungen:
    • ist 1 ein Diagramm, das ein Ausführungsbeispiel eines üblichen Sende-Datenstroms zeigt;
    • ist 2 ein Diagramm, das eine Ausführungsform der Auslöser-Zeitwahl im Falle von vorproduziertem Inhalt zeigt;
    • ist 3 ein Diagramm, das eine Ausführungsform der Auslöser-Zeitwahl im Falle von Live-Inhalt zeigt;
    • ist 4 ein Diagramm, das eine Ausführungsform einer Auslöser-Syntax zeigt;
    • ist 5 ein Diagramm, das eine Ausführungsform einer TDO-Parametertabelle zeigt;
    • ist 6 ein Diagramm, das eine Ausführungsform einer TDO-Parametertabelle zeigt;
    • ist 7 ein Diagramm, das die Bedeutung von „Verwendungsfrequenz-“ („Frequency of Use“) Attributwerten zeigt;
    • ist 8 ein Diagramm, das die Bedeutung von „Ziel“- („Destination“) Attributwerten zeigt;
    • ist 9 ein Diagramm, das eine Ausführungsform der Syntax von binärer Form einer TDO-Parametertabelle zeigt;
    • ist 10 ein Diagramm, das eine Ausführungsform der Syntax der binären Form einer TDO-Parametertabelle zeigt;
    • ist 11 ein Diagramm, das eine Ausführungsform der Syntax der binären Form einer TDO-Parametertabelle zeigt;
    • ist 12 ein Diagramm, das eine Ausführungsform der Syntax der binären Form einer TDO-Parametertabelle zeigt;
    • ist 13 ein Diagramm, das eine Ausführungsform der Syntax der binären Form einer TDO-Parametertabelle zeigt;
    • ist 14 ein Diagramm, das eine Ausführungsform einer Aktivierungsmeldung-Tabellenstruktur zeigt;
    • ist 15 ein Diagramm, das eine Ausführungsform eines URL-Listen-Strukturdiagramms zeigt;
    • ist 16 ein Diagramm, das eine Ausführungsform des binären Formats für die privaten Segmente, die TPTs enthalten, zeigt;
    • ist 17 ein Diagramm, das eine Ausführungsform einer Liste von URLs, die als XML-Dokument kodiert sind, zeigt;
    • ist 18 ein Diagramm, das eine Ausführungsform von addTriggerEventListener (Hinzufügen eines Auslöser-Ereignisempfängers) zeigt;
    • ist 19 ein Diagramm, das eine Ausführungsform von removeTriggerEventListener (Entfernen eines Auslöser-Ereignisempfängers) zeigt;
    • ist 20 ein Diagramm, das eine Ausführungsform der Definition des EventListener- (Ereignisempfänger) Typs zeigt;
    • ist 21 ein Diagramm, das eine Ausführungsform der Definition des TriggerEvent- (Auslöser-Ereignis) Typs zeigt;
    • ist 22 ein Diagramm, das eine Ausführungsform einer Architektur für einen WM-Ansatz zeigt;
    • ist 23 ein Diagramm, das eine Ausführungsform einer Architektur für einen FP-Ansatz zeigt;
    • ist 24 ein Diagramm, das eine Ausführungsform einer statischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt;
    • ist 25 ein Diagramm, das eine Ausführungsform einer statischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt;
    • ist 26 ein Diagramm, das eine Ausführungsform einer dynamischen Aktivierung in einem Anfrage / Antwort-Fall zeigt;
    • ist 27 ein Diagramm, das eine Ausführungsform einer dynamischen Aktivierung in einem Anfrage / Antwort-Fall zeigt;
    • ist 28 ein Diagramm, das ein Ausführungsbeispiel einer Architektur für ACR-Server-Aktivierungen zeigt;
    • ist 29 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (b) und Fall (a) ohne EndTime (Endzeit) zeigt;
    • ist 30 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (b) und Fall (a) ohne EndTime (Endzeit) zeigt;
    • ist 31 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (a) mit EndTime (Endzeit) zeigt;
    • ist 32 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (a) mit EndTime (Endzeit) zeigt;
    • ist 33 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösers für Fall (c) zeigt;
    • ist 34 ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern für Fall (c) zeigt;
    • ist 35 ein Diagramm, das eine Ausführungsform von dynamischen Aktivierungsauslösern, die in letzter Minute zugestellt werden, zeigt;
    • ist 36 ein Diagramm, das eine Ausführungsform von dynamischen Aktivierungsauslösern, die in letzter Minute zugestellt werden, zeigt;
    • ist 37 ein Ablaufdiagramm zwischen einem ACR-Client und anderen Servern in einem Anfrage / Antwort-Fall;
    • ist 38 ein Ablaufdiagramm zwischen einem ACR-Client und anderen Servern in einem ereignisgesteuerten ACR-Fall;
    • ist 39 ein Diagramm, das eine Ausführungsform eines Verfahrens zum Verarbeiten eines interaktiven Dienstes bei einem Empfänger in einem ereignisgesteuerten Modell zeigt;
    • ist 40 ein Diagramm, welches die Struktur eines Empfängers gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • ist 41 ein Diagramm, das die Struktur eines Empfängers gemäß einer Ausführungsform der vorliegenden Erfindung in dem Fall, in welchem ein Beistellgerät eine Übertragung über eine High Definition Multimedia Interface (HDMI) oder eine externe Schnittstelle empfängt, zeigt; und
    • ist 42 ein Diagramm, das eine Ausführungsform einer Vorrichtung zum Verarbeiten eines interaktiven Dienstes in einem ereignisgesteuerten Modell zeigt.
  • Beste Weise zur Ausführung der Erfindung
  • Obwohl die in der vorliegenden Erfindung verwendeten Ausdrücke aus allgemein bekannten und verwendeten Ausdrücke ausgewählt sind, können hier verwendete Ausdrücke je nach Absicht eines Betreibers oder Gepflogenheiten auf dem Gebiet, einem Auftreten einer neuen Technologie oder dergleichen variabel sein. Darüber hinaus sind einige der in der Beschreibung der vorliegenden Erfindung genannten Ausdrücke von dem Anmelder in seinem bzw. ihrem Ermessen ausgewählt worden und deren genaue Bedeutungen werden in relevanten Teilen der Beschreibung beschrieben. Weiterhin ist es erforderlich, dass die vorliegende Erfindung nicht einfach durch die tatsächlich verwendeten Ausdrücke, sondern durch die Bedeutungen jedes Ausdrucks verstanden wird.
  • In der vorliegenden Beschreibung bezieht sich der Ausdruck Medienzeit auf einen Parameter, der auf eine Stelle bei der Wiedergabe eines Audio/Video- oder Audioinhaltselements hinweist. ACR steht für Automatic Content Recognition (automatische Inhaltserkennung). AMT steht für Activation Messages Table (Aktivierungsmeldungentabelle). API steht für Application Programming Interface (Anwendungsprogrammierschnittstelle). DAE steht für Declarative Application Environment (deklarative Anwendungsumgebung). DO steht für Declarativ Object (deklaratives Objekt). FLUTE steht für File Delivery over Unidirectional Transport (Dateizustellung über unidirektionalen Transport). GPS steht für Global Positioning System (Globales Positionsbestimmungssystem). HTTP steht für Hypertext Transfer Protocol (Hypertext-Übertragungsprotokoll). IP steht für Internet Protocol (Internet-Protokoll). IPTV steht für Internet Protocol Television (Internet-Protokoll-Fernsehen). iTV steht für Interactive TV (interaktives Fernsehen). MIME steht für Internet Media Type (Internet-Medientyp). NDO steht für NRT Declarative Object (NRT-deklaratives Objekt). NRT steht für Non-Real Time (Nicht-Echtzeit). SMT steht für Service Map Table (Dienstzuordnungstabelle). SSC steht für Service Signaling Channel (Dienst-Signalisierungskanal). TDO steht für Triggered Declarative Object (ausgelöstes deklaratives Objekt). TPT steht für TDO Parameters Table (TDO-Parametertabelle). UDO steht für Unbound Declarative Object (ungebundenes deklaratives Objekt). UPnP steht für User Plug and Play (Einstecken und Abspielen auf Benutzerseite). URI steht für Uniform Resource Identifier (einheitlicher Bezeichner für Ressourcen). URL steht für Uniform Resource Locator (einheitlicher Ressourcenanzeiger). XML steht für eXtensible Markup Language (erweiterbare Auszeichnungssprache). TFT steht für Text Fragment Table (Textfragmenttabelle). Einzelheiten davon werden nachfolgend beschrieben.
  • In dieser Beschreibung haben DO, TDO, NDO, UDO, Link und Packaged App (gepackte Anwendung) die folgenden Bedeutungen.
  • Ein DO (Declarative Object; deklaratives Objekt) kann eine Sammlung sein, die eine interaktive Anwendung bildet (zum Beispiel HTML, JavaScript, CSS, XML und Multimedia-Dateien).
  • Der Ausdruck „Triggered Declarative Object“ (TDO; ausgelöstes deklaratives Objekt) wird verwendet, um ein deklaratives Objekt, das durch einen Auslöser in einem ausgelösten interaktiven Ergänzungsdatendienst gestartet wurde, oder ein DO zu beschreiben, das durch ein DO gestartet wurde, das durch einen Auslöser gestartet wurde, und iterativ so weiter.
  • Der Ausdruck „NRT Declarative Object“ (NDO; NRT-deklaratives Objekt) wird verwendet, um ein deklaratives Objekt zu bezeichnen, das als Teil eines NRT-Dienstes, der kein ausgelöster interaktiver Datendienst ist, gestartet wurde.
  • Der Ausdruck „Unbound Declarative Object“ (UDO; ungebundenes deklaratives Objekt) wird verwendet, um ein deklaratives Objekt zu bezeichnen, das nicht an einen Dienst gebunden ist, wie zum Beispiel eine gepackte Anwendung oder ein durch einen Link gestartetes DO oder ein DO, das von solch einem DO gestartet wurden, und iterativ so weiter.
  • Der „Link“ (Verknüpfung) ist eine vom Sender zur Verfügung gestellte URL, die auf eine Website zeigt, die Online-Information oder Funktionalität in Bezug auf das aktuelle TV-Programm oder einen NRT-Dienst bereitstellt.
  • Die „Packaged App“ (gepackte Anwendung) ist ein vom Sender zur Verfügung gestelltes deklaratives Objekt (DO; Declarative Object), das Information oder Funktionalität, die der Sender Zuschauern bieten möchte, zur Verfügung stellt und das in einer einzigen Datei verpackt ist, damit Zuschauer diese herunterladen und installieren können.
  • Einzelheiten davon werden nachfolgend beschrieben.
  • In der vorliegenden Beschreibung umfasst eine Zeitbasis-Nachricht einen Zeitbasis-Auslöser und eine Entsprechung davon. Dementsprechend wird der Ausdruck „Zeitbasis-Nachricht“ austauschbar mit dem Ausdruck „Zeitbasis-Auslöser“ verwendet.
  • In der vorliegenden Beschreibung umfasst eine Aktivierungsmeldung jede Informationszustellung, die eine Aktivierung verursacht, wie zum Beispiel ein Aktivierungselement in einer AMT und / oder einen Aktivierungsauslöser.
  • 1 ist ein Diagramm, das ein Ausführungsbeispiel eines typischen Sende-Datenstroms zeigt.
  • Ein typischer Sende-Datenstrom umfasst eine Folge von Fernsehprogrammen. Jedes Fernsehprogramm umfasst eine zugrunde liegende Sendung, die üblicherweise durch Werbeanzeigen und / oder anderes Zwischenmaterial in Blöcke getrennt wird.
  • In 1 sind ein Segment von Sendung A, Ad1 (Anzeige 1), Ad2 (Anzeige 2), ein Segment von Sendung B, usw. nacheinander in dem Sende-Datenstrom enthalten. Segmente, die jede Sendung konfigurieren, können als Sendungsinhalt bezeichnet werden und Werbeanzeigen können als Zwischeninhalt bezeichnet werden.
  • Jede Sendung oder Teil von Zwischenmaterial kann einen damit verknüpften interaktiven Ergänzungsdatendienst haben oder nicht.
  • Der Ausdruck „interaktives Dienstsegment“ oder einfach nur „Segment“ wird in der vorliegenden Beschreibung verwendet, um auf einen Teil eines interaktiven Zusatzdienstes zu verweisen, der vom Sender als eine integrierte Einheit behandelt wird. Ein interaktives Dienstsegment ist üblicherweise, aber nicht notwendigerweise, mit einer einzigen Sendung oder einem einzigen Stück eines Zwischenmaterials verknüpft.
  • Um solche einen interaktiven Ergänzungsdatendienst auszuführen, gibt es zwei Modelle: Direktausführungsmodell und ausgelöstes deklaratives Objekt- (TDO; Triggered Declarative Object) Modell.
  • In dem Direktausführungsmodell kann ein deklaratives Objekt (DO; Declarative Object) automatisch gestartet werden, sobald der virtuelle Kanal ausgewählt wird. Es kann über das Internet mit einem Backend-Server kommunizieren, um ausführliche Anweisungen für die Bereitstellung interaktiver Angebote zu erhalten, Anzeigen an bestimmten Stellen auf dem Bildschirm zu erzeugen, Umfragen durchzuführen, andere spezialisierte DOs zu starten, usw., die alle mit dem Audio-Video-Programm synchronisiert sind.
  • In dem TDO-Modell können Signale in dem Sende-Datenstrom oder über das Internet zugestellt werden, um TDO-Ereignisse zu starten, wie zum Beispiel Starten eines TDO, Beenden eines TDO oder Anfordern irgendeiner Tätigkeit durch ein TDO. Diese Ereignisse können zu bestimmten Zeitpunkten ausgelöst werden, üblicherweise mit dem Audio-Video-Programm synchronisiert. Wenn ein TDO gestartet wird, kann es die interaktiven Funktionen bereitstellen, für deren Bereitstellung es programmiert ist.
  • Ein Grundgedanke hinter dem TDO-Modell ist, dass die Dateien, aus denen sich ein TDO zusammensetzt, und die Datendateien, die von einem TDO verwendet werden, um einige Maßnahmen zu ergreifen, alle in Anbetracht ihrer Größe eine gewisse Menge an Zeit benötigen, um an einen Empfänger geliefert zu werden. Während die Benutzererfahrung der interaktiven Elemente vor der Übertragung des Inhalts geschaffen werden kann, müssen bestimmte Verhaltensweisen sorgfältig zeitlich abgestimmt werden, um mit Ereignissen in dem Programm selbst zusammenzufallen, zum Beispiel dem Auftreten eines kommerziellen Werbeanzeigensegments.
  • Das TDO-Modell trennt die Zustellung von deklarativen Objekten und zugehörigen Daten, Skripten, Text und Grafiken von der Signalisierung des bestimmten Zeitpunkts der Wiedergabe von interaktiven Ereignissen.
  • Das Element, das den Zeitpunkt von interaktiven Ereignissen festlegt, ist der Auslöser.
  • Die Information über die in einem Segment verwendeten TDOs und die damit verbundenen TDO-Ereignisse, die von Auslösern gestartet werden, wird durch eine Datenstruktur namens „TDO-Parametertabelle“ (TPT; TDO Parameters Table) zur Verfügung gestellt.
  • 2 ist ein Diagramm, das eine Ausführungsform der Auslöser-Zeitwahl im Falle von vorproduziertem Inhalt zeigt.
  • Auslöser ist ein Signalisierungselement, dessen Funktion es ist, Signalisierung zu kennzeichnen und einen Zeitpunkt einer Wiedergabe von interaktiven Ereignissen festzulegen.
  • Der Auslöser umfasst einen Zeitbasis-Auslöser, der dazu dient, eine Medienzeit eines Segments in Bezug auf einen interaktiven Dienst anzugeben und einen Aktivierungsauslöser, der dazu dient, eine Ereigniseintrittszeit einer Anwendung in Bezug auf einen interaktiven Dienst anzugeben.
  • Auslöser können verschiedene zeitbezogene Signalisierungsfunktionen zur Unterstützung von interaktiven Diensten ausführen. Auslöser können multifunktional sein; in Abhängigkeit von ihrer Struktur kann eine bestimmte Auslöser-Instanz eine oder mehrere der folgenden Funktionen ausführen:
  • 1. Signalisieren der Position einer TPT (zugänglich über eine FLUTE-Sitzung in dem Emissionsdatenstrom, über einen Internet-Server oder beides);
  • 2. Angeben, dass interaktiver Inhalt für ein anstehendes Programmsegment verfügbar ist, um vorgeladen zu werden;
  • 3. Angeben der aktuellen Medienzeit von verknüpftem Audio/Video- oder Nur-Audio-Inhalt;
  • 4. Hinweisen auf ein bestimmtes interaktives Ereignis in einer TPT und Signalisieren, dass das Ereignis jetzt oder zu einer bestimmten zukünftigen Medienzeit ausgeführt werden soll;
  • 5. Angeben, dass Zugriffe auf einen Internet-Server nach dem Zufallsprinzip über ein bestimmtes Zeitintervall verteilt werden sollen, um eine Nachfrage-Spitze zu vermeiden.
  • 2 zeigt Auslöser, die in Verbindung mit zwei Programmiersegmenten zugestellt werden. In diesem Beispiel sind beide Segmente „vorproduziert“, was bedeutet, dass der Inhalt nicht aus einer Live-Sendung ist; interaktive Elemente wurden in der Postproduktion hinzugefügt.
  • Wie gezeigt kann kurz vor dem Auftreten von Programmiersegment 1 ein „Vorlade“-Auslöser zugestellt werden, um Empfängern eine Möglichkeit zu geben, die TPT und mit Programmiersegment 1 verknüpften interaktiven Inhalt zu erhalten. Wenn ein „Vorlade“-Auslöser nicht übertragen wird, kann von Empfängern erwartet werden, dass sie den ersten Auslöser, den sie sehen, innerhalb des Segments verwenden, um den Inhalt zu erhalten.
  • Auslöser können, wie gezeigt, im gesamten Segment 1 gesendet werden, um die aktuelle Medienzeit (mit „m“ in der Figur bezeichnet) mit Bezug auf das Segment anzugeben. Regelmäßige Lieferung von Medienzeit-Auslösern kann notwendig sein, um es Empfängern, die gerade den Kanal finden, zu ermöglichen, den Kanal zu synchronisieren und den interaktiven Inhalt zu erhalten.
  • Unmittelbar vor dem Beginn von Segment 2 wird ein Vorlade-Auslöser für das kommende Segment gesendet.
  • Im Falle von vorproduziertem Inhalt (nicht-Live) kann die TPT, die der Empfänger nach dem Verarbeiten des ersten Auslösers erhalten kann, den Zeitpunkt aller Elemente des interaktiven Erlebnisses für dieses Segment definieren. Alles, was für den Empfänger und das TDO benötigt wird, um die interaktiven Elemente abzuspielen, kann die Kenntnis des Medien-Zeitpunkts sein; die TPT kann interaktive Ereignisse in Bezug auf eine Medienzeit beschreiben.
  • 3 ist ein Diagramm, das eine Ausführungsform eines Auslöserzeitpunkts im Fall von Live-Inhalt zeigt.
  • Für den Fall von Live-Inhalt enthält die TPT noch für verschiedene interaktive Ereignisse relevante Daten und Information. Jedoch kann der Wiedergabe-Zeitpunkt dieser Ereignisse nicht bekannt sein, bis sich die Aktion im Programm während der Ausstrahlung ereignet. Für den Live-Fall wird die „Ereigniszeitpunkt“-Funktion des Auslösers verwendet. In diesem Modus kann der Auslöser signalisieren, dass ein bestimmtes interaktives Ereignis auf einen bestimmten neuen Medienzeit-Wert neu zeitlich festgelegt werden soll. Alternativ kann der Auslöser angeben, dass ein bestimmtes Ereignis sofort ausgeführt werden soll.
  • In 3 werden nun die Funktionen von Auslösern von Segment 3 beschrieben.
  • Ein erster Auslöser ist ein Vorlade-Auslöser, der sich auf ein Verzeichnis bezieht, das für Dateien von Segment 3 geeignet ist.
  • Ein zweiter Auslöser ist ein Medienzeit-Auslöser, der verwendet wird, um den Wiedergabezeitpunkt von Segment 3 anzuzeigen.
  • Ein dritter Auslöser ist ein Auslöser zur erneuten zeitlichen Festlegung eines Ereignisses und gibt an, dass das Ereignis mit eventID = 2 in der TPT neu zeitlich festzulegen ist, um bei Medienzeit 240 auftreten. Der schraffierte Bereich gibt das Zeitintervall vor 240 an, über den der Auslöser # 3 an Empfänger zugestellt werden kann.
  • Ein vierter Auslöser ist ein Medienzeit-Auslöser.
  • Ein fünfter Auslöser ist ein Auslöser zur erneuten zeitlichen Festlegung eines Ereignisses und gibt an, dass das Ereignis mit eventID = 5 in der TPT erneut festzulegen ist, um bei Medienzeit 444 aufzutreten.
  • Ein sechster und siebter Auslöser sind Medienzeit-Auslöser.
  • Ein achter Auslöser ist ein Ereignis-Auslöser und gibt an, dass das Ereignis mit eventID = 12 in der TPT sofort auszuführen ist.
  • Ein neunter Auslöser ist ein Auslöser zur erneuten zeitlichen Festlegung eines Ereignisses und gibt an, dass das Ereignis mit eventID = 89 in der TPT erneut zeitlich festzulegen ist, um bei Medienzeit 900 aufzutreten.
  • Im Folgenden wird der Lebenszyklus, ein Zustand und ein zustandsänderndes Ereignis des TDO beschrieben.
  • Ein TDO kann in vier verschiedenen Zuständen existieren: freigegeben, bereit, aktiv und suspendiert. Eine Anzahl von verschiedenen Faktoren kann einen Übergang von einem Zustand in einen anderen verursachen (Auslöser, Benutzeraktion, Kanalwechsel, usw.).
  • Das TDO kann die folgenden vier Zustände umfassen. Die vier Zustände sind bereit, aktiv, suspendiert und freigegeben. Der Bereit-Zustand bedeutet, dass das TDO heruntergeladen wird und zur Ausführung vorbereitet wird, aber noch nicht ausgeführt wird. Der Aktiv-Zustand bedeutet, dass das TDO ausführt wird. Der Suspendiert-Zustand bedeutet, dass das TDO vorübergehend von der Ausführung suspendiert wird, wobei sein Zustand gespeichert wird. Der Freigegeben-Zustand bedeutet, dass das TDO nicht bereit, aktiv oder suspendiert ist.
  • Die folgenden sind einige der Ereignisse, die eine Zustandsänderung für ein TDO verursachen können:
    • 1. Auslöser „prepare“: Gerät empfängt einen Auslöser (in dem aktuell ausgewählten primären virtuellen Kanal), der anweist, dass das TDO zur Ausführung (Zuweisung von Ressourcen, Laden in den Hauptspeicher, usw.) vorbereitet wird.
    • 2. Auslöser „Ausführen“: Gerät empfängt einen Auslöser (in dem gegenwärtig ausgewählten primären virtuellen Kanal), der anweist, dass das TDO aktiviert wird.
    • 3. Auslöser „Suspendieren“: Gerät empfängt einen Auslöser (in dem gegenwärtig ausgewählten primären virtuellen Kanal), der anweist, dass das TDO suspendiert wird.
    • 4. Auslöser „Beenden“: Gerät empfängt einen Auslöser (in dem gegenwärtig ausgewählten primären virtuellen Kanal), der anweist, dass das TDO beendet wird.
  • 4 ist ein Diagramm, das eine Ausführungsform der Auslöser-Syntax zeigt.
  • Sowohl Aktivierungsmeldungen als auch Zeitbasis-Meldungen können das allgemeine „Auslöser“-Format unter bestimmten Zustellungsumständen haben.
  • Die syntaktische Definition wird hier unter Verwendung der angereicherten Backus-Naur-Form- (ABNF; Augmented Backus-Naur-Form) Grammatik beschrieben, außer dass das vertikale Balken-Symbol „I“ verwendet wird, um Alternativen zu bezeichnen. Regeln werden von Definitionen durch ein Gleichheitszeichen „=“ getrennt, Einrückung wird verwendet, um eine Regeldefinition über mehr als eine Zeile weiterzuführen, Literale mit Klammern '''' zitiert, Klammern „(“ und „)“ werden zum Gruppieren von Elementen verwendet, optionale Elemente werden in „[“ und „]“ Klammern eingeschlossen und Elemente können <n>* vorangestellt haben, um n oder mehr Wiederholungen des folgenden Elements zu bezeichnen; n hat den Standardwert 0. Elemente können <n>*<m> vorangestellt haben, was n oder mehr Wiederholungen und m oder weniger Wiederholungen des folgenden Elements bezeichnet.
  • Diese Auslöser-Syntax basiert auf dem einheitlichen Bezeichner für Ressourcen (URI; Uniform Resource Identifier): Generische Syntax, ausschließlich des <scheme> und "://" Teils, mit zusätzlichen Einschränkungen.
  • Der Auslöser kann locator_part und Ausdrücke umfassen. Ausdrücke können weggelassen werden. Wenn Ausdrücke vorhanden sind, können locator_part und Ausdrücke durch ‚?'‘ verbunden werden.
  • Der locator_part kann einen Hostnamen-Teil und einen path_segments-Teil, der durch ‚/‘ verbunden sein kann, umfassen.
  • Der Hostname kann domainlabel und toplabel umfassen, und domainlabel kann 0 oder mehr Mal zusammen mit'.' wiederholt werden. Das heißt, hostname kann domainlabel verbunden mit toplabel oder nur toplabel umfassen.
  • domainlabel kann eine alphanum oder alphanum oder „-“, 0 oder mehr Mal wiederholt zwischen alphanum und alphanum eingeführt, umfassen.
  • Dabei kann alphanum alpha oder digit bedeuten.
  • Dabei kann alpha eine von lowalpha oder upalpha sein.
  • Dabei kann lowalpha eine von a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y und z sein.
  • Dabei kann upalpha eine von A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y und Z sein.
  • Dabei kann digit eine von 0, 1, 2, 3, 4, 5, 6, 7, 8 und 9 sein.
  • toplabel umfasst eine alpha oder umfasst alphanum oder „-“, 0 Mal oder mehr wiederholt zwischen alpha und alphanum.
  • path_segments umfasst ein Segment, auf das Segmente 0-mal oder mehr wiederholt folgt. Zu diesem Zeitpunkt können Segmente durch ‚/‘ verbunden werden.
  • Dabei umfasst das Segment alphanum, das einmal oder mehrmals wiederholt wird.
  • Ausdrücke können eine von einer event_time (Ereigniszeit) oder media_time (Medienzeit) umfassen, auf welche spread (Verbreitung) oder andere folgen können. Spread und andere können ausgelassen werden. Wenn spread oder andere vorhanden sind, kann ‚&‘ vor spread und anderen gesetzt werden und spread und andere können nach event_time (Ereigniszeit) oder media_time (Medienzeit) gesetzt werden.
  • Dabei kann spread einmal oder mehrmals digit nach ‚s=‘ umfassen.
  • Event_time (Ereigniszeit) kann digit einmal oder mehrmals wiederholt nach ‚e=‘ umfassen oder kann hexdigit einmal oder mehrmals oder sieben Mal oder weniger nach ‚&t=‘ umfassen. ‚&t=‘ und der hintere Teil davon kann weggelassen werden.
  • Dabei kann hexdigit eine von 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e und f sein.
  • Media_time (Medienzeit) kann hexdigit einmal oder mehrmals oder weniger als sieben Mal wiederholt nach ‚m=‘ umfassen.
  • Andere können ein „other“ oder „other“ gefolgt von ‚&‘ und „other“ umfassen.
  • Dabei kann other resv_cmd und alphanum umfassen, die einmal oder mehrmals wiederholt werden und mit ‚=‘ verbunden werden.
  • Dabei kann resv_cmd alphanum ohne ‚c‘, ‚e‘, ‚E‘, ‚m‘, ‚M‘, ‚s‘, ‚S‘, ‚t‘ und 'T sein.
  • Die Länge des Auslösers darf 52 Byte nicht überschreiten. Darüber hinaus kann der Hostname-Teil des Auslösers ein eingetragener Internet-Domänenname sein.
  • Ein Auslöser kann als drei Teile umfassend aufgefasst werden.
  • <domain name part> / <directory path> [? <parameters>]
  • Der <domain name part> (Domänenname-Teil) ist ein eingetragener Domänenname, <directory path> kann ein Pfad sein, wie er in einer URI erscheinen würde.
  • Der <domain name part> kann auf einen registrierten Internet-Domänennamen verweisen. Der <directory path> kann eine beliebige Zeichenfolge sein, die einen Verzeichnispfad unter der Kontrolle und Verwaltung der Entität, welche die Rechte an dem Domänennamen besitzt, kennzeichnet.
  • In dem TDO-Modell kann die Kombination von <domain name part> und <directory path> eindeutig eine TPT kennzeichnen, die von einem Empfänger verarbeitet werden kann, um Interaktivität zu dem verknüpften Inhalt hinzuzufügen.
  • Die Kombination von <domain name part> und <directory path> kann die URL eines Internet-Orts sein, wo die TPT für das aktuelle Segment erhalten werden kann.
  • Das heißt, der Auslöser kann die TPT unter Verwendung von <domain name part> und <directory path> kennzeichnen. Durch <domain name part> und <directory path> ist es möglich, die TPT zu bestätigen, auf welche der Auslöser zutrifft. Die Rolle, die durch Anwendung des Auslösers auf die TPT ausgeführt wird, hängt von <parameters> ab.
  • Im Folgenden wird <parameters> beschrieben.
  • <parameters> kann ein oder mehrere von „event_time“ (Ereigniszeit), „media_time“ (Medienzeit) oder „spread“ (Verbreitung) umfassen.
  • Als nächstes werden „event_time“, „media_time“ und „spread“ der in 4 gezeigten Syntax beschrieben. event_time = "e = " 1*digit [ " & t = " 1*7hexdigit ]
    Figure DE112013004029B4_0001
    media_time = "m = 1 * 7 hexdigit
    Figure DE112013004029B4_0002
    spread = "s = 1 * digit
    Figure DE112013004029B4_0003
  • Der „event_time“-Ausdruck kann in einem Aktivierungsauslöser verwendet werden, um das Ziel-Ereignis („e=“ Ausdruck) und die Zeit, zu der das Ereignis aktiviert werden soll („t=“ Ausdruck) zu kennzeichnen. Wenn der „t=“ Ausdruck fehlt, bedeutet das, dass das Ereignis zu dem Zeitpunkt, wenn der Auslöser eintrifft, aktiviert werden soll.
  • Das heißt, dass „e=“, der ein Kennungsausdruck eines interaktiven Ereignisses ist, auf die appID in der verknüpften TPT des TDO, auf welches das Ereignis abzielt, die eventID des spezifischen Ereignisses und die dataID des für diese Ereignisaktivierung zu verwendenden Datenelements verweisen kann.
  • "t=", der ein optionaler Zeitpunktwertausdruck ist, kann eine neuen Medienzeitpunkt für das bezeichnete Ereignis angeben. Wenn der „t=“ Teil nicht vorhanden ist, kann das bedeuten, dass der Zeitpunkt für das vorgesehene Ereignis die Ankunftszeit des Auslösers ist.
  • Der „media_time“-Ausdruck („m=“ Ausdruck) kann in einem Zeitbasis-Auslöser verwendet werden, um die aktuelle Zeit in Bezug auf die Zeitbasis, die durch den Zeitbasis-Auslöser dargestellt wird, zu kennzeichnen. Inhaltkennungsinformation („c=“ Ausdruck) zur Kennzeichnung von aktuell angezeigtem Inhalt kann weiter in media_time einbezogen sein. Für den „c=“ Ausdruck wird das Direktausführungsmodell unten beschrieben.
  • Das heißt, dass „m=“, das einen Medienzeitstempel-Ausdruck, gefolgt von einer Zeichenfolge von 1 bis 8 Zeichen Länge, die eine hexadezimale Zahl darstellt, die aktuelle Medienzeit angeben kann.
  • Der „spread“ Ausdruck kann verwendet werden, um anzuzeigen, dass irgendeine Aktion, die als Reaktion auf einen Zeitbasis-Auslöser (wie zum Beispiel Abrufen einer TPT von einem Server) oder einen Aktivierungsauslöser (wie zum Beispiel Veranlassen eines TDO, auf einen Server zuzugreifen) unternommen wird, um eine zufällige Zeitdauer zu verzögern, um die Arbeitslast auf dem Server zu verteilen.
  • Ein „s=“ Ausdruck kann die Anzahl von Sekunden einer Zeit, in welcher alle Empfänger versuchen sollten auf den von dem Auslöser gekennzeichneten Internet-Server zuzugreifen. Von jedem einzelnen Empfänger kann erwartet werden, eine Zufallszeit innerhalb des festgelegten Intervalls abzuleiten und die Zugriffsanfrage um diesen Betrag zu verzögern, um dadurch die Nachfragespitze, die sonst beim ersten Auftreten eines Auslösers am Empfänger auftreten könnte, in der Zeit zu verteilen.
  • Ein Auslöser, der einen <media time>-Parameter enthält, kann ein Zeitbasis-Auslöser genannt werden, da er verwendet wird, um eine Zeitbasis für Ereigniszeiten einzurichten.
  • Ein Auslöser, die einen <Ereigniszeit> Parameter enthält, kann ein Aktivierungsauslöser genannt werden, da er eine Aktivierungszeit für ein Ereignis festlegt.
  • 5 und 6 sind Diagramme, die eine Ausführungsform einer TDO-Parametertabelle zeigen.
  • Ein TDO-Parametertabelle (TPT; TDO Parameters Table) enthält Metadaten über die TDOs eines Segments und die Ereignisse, die auf sie gerichtet sind.
  • Im Folgenden werden in der Tabelle enthaltene Felder beschrieben. Die Größen der Felder und die Typen der in der Tabelle enthaltenen Felder können entsprechend einer planerischen Absicht hinzugefügt oder geändert werden.
  • Die ausführliche Semantik der Felder in der TPT-Struktur ist wie folgt.
  • TDO Parametertabelle (TPT) kann @majorProtocolVersion (Hauptprotokollversion), @minorProtocolVersion (Nebenprotokollversion), @id (Kennung), @tptVersion (TPT-Version), @expireDate (Ablaufdatum), @updatingTime (Aktualisierungszeit), @serviceID (Dienstkennung), @baseURL (Basis-URL) Attribute, Fähigkeiten, Live-Auslöser und / oder ein TDO-Element umfassen.
  • TPT ist das Wurzelelement der TPT. Ein TPT-Element beschreibt alles oder ein Teil (in der Zeit) von einem Programmiersegment.
  • MajorProtocolVersion, das ein 4-Bit-Attribut sein kann, kann die Hauptversionsnummer der Tabellendefinition angeben. Die Hauptversionsnummer kann auf 1 gesetzt werden. Von Empfänger wird erwartet, dass sie Instanzen der TPT verwerfen, die Hauptversionswerte angeben, für deren Unterstützung sie nicht ausgestattet sind.
  • Wenn vorhanden, kann @MinorProtocolVersion, das ein 4-Bit-Attribut sein kann, die Nebenversionsnummer der Tabellendefinition angeben. Wenn nicht vorhanden, ist der Wert standardmäßig 0. Die Nebenversionsnummer kann auf 0 gesetzt werden. Von Empfängern wird erwartet, dass sie Instanzen der TPT, die Nebenversionswerte angeben, für deren Unterstützung sie nicht ausgestattet sind, nicht verwerfen. In diesem Fall wird von ihnen erwartet, dass sie alle einzelnen Elemente oder Attribute, die sie nicht unterstützen, ignorieren.
  • @id, die eine URI ist, kann eindeutig das interaktive Programmsegment angeben, zu welchem dieses TPT-Element gehört. @id dient als eine Kennung eines Segments. Dementsprechend kann, nachdem ein Empfänger die TPT analysiert, ein Auslöser, eine AMT, usw. mit Bezug auf ein Segment mit der TPT mit @id zum Kennzeichnen des Segments unter Verwendung von @id-Information übereinstimmen. Dementsprechend kann ein Segment, auf das der Auslöser und die AMT zutreffen, gefunden werden. Die Einzelheiten der AMT werden nachstehend beschrieben.
  • @tptVersion, das eine 8-Bit-Integer sein kann, zeigt die Versionsnummer des von dem id-Attribut gekennzeichneten TPT-Elements an. Die tptVersion kann erhöht werden, sobald eine Änderung an der TPT vorgenommen wird.
  • Falls vorhanden kann ein @expireDate-Attribut des TPT-Elements das Datum und die Zeit des Ablaufs der in dieser TPT-Instanz enthaltenen Information angeben. Wenn der Empfänger die TPT zwischenspeichert, kann sie bis zum ExpireDate wiederverwendet werden.
  • Falls vorhanden, kann @updatingTime, das ein 16-Bit-Element sein kann, anzeigen, dass die TPT einer Überprüfung unterliegt, und es gibt das empfohlene Intervall in Sekunden an, um die TPT erneut herunterzuladen und zu überprüfen, ob die neu heruntergeladene TPT eine neue Version ist.
  • Wenn vorhanden, kann @serviceID, das eine 16-Bit-Integer sein kann, den mit dem interaktiven Dienst, der in dieser TPT-Instanz beschrieben ist, verknüpften NRT-service_ID anzeigen. Dies wird für Empfänger benötigt, um FLUTE-Parameter aus der Dienstzuordnungstabelle (Service Map Table) zu erhalten, wenn Dateien für diesen interaktiven Dienst in dem Sende-Datenstrom zugestellt werden.
  • Wenn vorhanden, kann ein @baseURL-Attribut eine Basis-URL angeben, die, wenn sie mit der Vorderseite von relativen URLs verkettet wird, die in dieser TPT erscheinen, die absoluten URLs der Dateien angeben kann.
  • Wenn vorhanden, kann ein Capabilities-Element Fähigkeiten anzeigen, die für eine aussagekräftige Darstellung des mit dieser TPT verbundenen interaktiven Dienstes wesentlich sind. Von Empfängern, die nicht über eine oder mehrere der erforderlichen Fähigkeiten verfügen, wird erwartet, dass sie nicht versuchen, den Dienst anzubieten.
  • Ein LiveTrigger-Element ist genau dann vorhanden, wenn eine Zustellung von Aktivierungsauslösern über Internet verfügbar ist. Wenn vorhanden, kann es von einem Empfänger zum Erhalten der Aktivierungsauslöser benötigte Information zur Verfügung stellen. Das Kindelement und Attribut von LiveTrigger wird nachstehend beschrieben.
  • TDO, das ein Kindelement des TPT-Elements ist, kann eine Anwendung (zum Beispiel ein TDO) darstellen, die während des von dieser TPT-Instanz beschriebenen Segments einen Teil des interaktiven Dienstes bereitstellt. Das Kindelement und Attribut von TDO wird nachstehend beschrieben.
  • Ein LiveTrigger-Element kann ein @URL und/oder ein @pollPeriod Attribut umfassen.
  • Wie oben beschrieben, ist ein LiveTrigger-Element nur dann vorhanden, wenn eine Zustellung von Aktivierungsauslösern über Internet zur Verfügung steht. Wenn vorhanden, kann es von einem Empfänger benötigte Information bereitstellen, um Aktivierungsauslöser zu erhalten.
  • @URL, das ein Attribut des LiveTrigger-Elements ist, kann die URL eines Servers anzeigen, die Aktivierungsauslöser über das Internet zustellen kann. Aktivierungsauslöser können über Internet unter Verwendung von HTTP-Kurzabfrage (Short Polling), HTTP-Langabfrage (Long Polling) oder HTTP-Streaming nach Wahl des Anbieters des interaktiven Dienstes zugestellt werden.
  • Wenn vorhanden, kann @pollPeriod, das ein Attribut des Live-Auslöserelements ist, anzeigen, dass Kurzabfrage verwendet wird, um Aktivierungsauslöser zuzustellen, und der Wert des pollPeriod-Attributs kann die empfohlene Zeit in Sekunden für den Empfänger angeben, um als eine Abfrageperiode verwendet zu werden.
  • Wenn ein LiveTrigger-Element vorhanden ist, kann der Empfänger die TPT analysieren und Information erhalten, die verwendet wird, um den Aktivierungsauslöser unter Verwendung des Internets zuzustellen. Die URL des Servers, der den Aktivierungsauslöser empfangen kann, kann unter Verwendung von @URL-Information verwendet werden. Durch @pollPeriod-Information oder Information, die angibt, dass das @pollPeriod-Attribut nicht vorhanden ist, kann ein Verfahren zum Zustellen des Aktivierungsauslöser über das Internet und Information über den Abstimmungszeitraum erhalten werden. @pollPeriod wird nachstehend ausführlich beschrieben.
  • Ein TDO-Element kann ein @appID, @appType, @appName, @globalID, @appVersion, @cookieSpace, @frequencyOfUse, @expireDate, @testTDO, @availInternet, @availBroadcast Attribut, eine URL, Fähigkeiten, ein Inhaltsement und / oder ein Ereigniselement umfassen.
  • Wie oben beschrieben kann ein TDO, das ein Kindelement des TPT-Elements ist, eine Anwendung (zum Beispiel ein TDO) darstellen, die einen Teil des interaktiven Dienstes während des durch die TPT-Instanz beschriebenen Segments zur Verfügung stellt.
  • @appID, das eine 16-Bit-Integer sein kann, kann die Anwendung eindeutig innerhalb des Bereichs der TPT kennzeichnen. Ein Aktivierungsauslöser kennzeichnet die Zielanwendung für den Auslöser mit Hilfe eines Verweises auf die appID. @appID ist eine Kennung einer Anwendung. Eine TPT kann mehrere Anwendungen (wie zum Beispiel ein TDO) umfassen. Dementsprechend kann nach der Analyse der TPT die Anwendung unter Verwendung von @appID-Information identifiziert werden. Der Auslöser, AMT, usw., die auf eine Anwendung zutreffen, können mit einer Anwendung mit @appID zum Kennzeichnen der Anwendung übereinstimmen. Dementsprechend kann die Anwendung, auf welche der Auslöser und die AMT zutreffen, gefunden werden. Die AMT wird unten ausführlich beschrieben.
  • @appType, das eine 8-Bit-Integer sein kann, kann den Anwendungsformattyp angeben. Der Standardwert kann 1 sein, was ein TDO darstellen kann. Andere Werte können andere Formate darstellen.
  • @appName, das ein Attribut des TDO-Elements ist, kann ein für Menschen lesbarer Namen sein, der einem Betrachter angezeigt werden kann, wenn die Erlaubnis des Zuschauers angestrebt wird, um die Anwendung zu starten.
  • @globalID, das ein Attribut des TDO-Elements ist, kann eine global eindeutige Kennung der Anwendung sein. In vielen Fällen speichert ein Empfänger eine Anwendung zwischen, die in Kürze verwendet werden wird. Damit dies nützlich ist, muss der Empfänger in der Lage sein, die Anwendung zu erkennen, wenn sie das nächste Mal erscheint. Eine globalID (globale Kennung) wird für den Empfänger benötigt, um in der Lage zu sein, die Anwendung zu erkennen, wenn sie wieder in einem neuen Segment erscheint.
  • @appVersion, das ein Attribut des TDO-Elements ist, kann die Versionsnummer der Anwendung sein. Der appVersion-Wert kann erhöht werden, wenn sich die Anwendung (wie von der GlobalID gekennzeichnet) ändert. Das appVersion-Attribut kann nicht vorhanden sein, wenn das GlobalID-Attribut nicht vorhanden ist.
  • @cookieSpace, das eine 8-Bit-Integer sein kann, kann angeben, wie viel Platz die Anwendung braucht, um persistente Daten zwischen Aufrufen zu speichern.
  • @frequencyOfUse, das eine 4-Bit-Integer sein kann, kann ungefähr angeben, wie oft die Anwendung in der Sendung verwendet wird, um Führung für Empfänger hinsichtlich der Verwaltung ihres Anwendungscode-Cacheraums zur Verfügung zu stellen. ‚@frequencyOfUse‘ wird ausführlich unten beschrieben.
  • @expireDate, das ein Attribut des TDO-Elements ist, kann ein Datum und eine Zeit angeben, nach welcher der Empfänger die Anwendung und alle zugehörigen Ressourcen sicher löschen kann.
  • Wenn mit „wahr“ („true“) vorhanden, kann @testTDO, welches ein Boolesches Attribut ist, angeben, dass die Anwendung nur für Testzwecke ist und dass sie von gewöhnlichen Empfängern ignoriert werden kann.
  • Der Wert „wahr“ („true“) für ein @availInternet-Attribut kann angeben, dass die Anwendung zum Herunterladen über das Internet verfügbar ist. Der Wert „falsch“ („false“) kann angeben, dass die Anwendung nicht zum Herunterladen über das Internet verfügbar ist. Wenn das Attribut nicht vorhanden ist, kann der Standardwert „wahr“ („true“) sein.
  • Der Wert „wahr“ („true“) für ein @availBroadcast-Attribut kann angeben, dass die Anwendung für eine Extraktion aus der Übertragung verfügbar ist. Der Wert „falsch“ („false“) kann angeben, dass die Anwendung nicht für die Extraktion aus der Übertragung verfügbar ist. Wenn das Attribut nicht vorhanden ist, kann der Standardwert „wahr“ sein.
  • Jede Instanz von URL, einem Kindelement des TDO-Elements, kann eine Datei angeben, die ein Teil der Anwendung ist. URL-Element kann ein @entry- (Eintrag) Attribut umfassen. @entry, ein Attribut des URL-Elements, hat einen Wert „wahr“ („true“), der angeben kann, dass die URL ein Einstiegspunkt für die Anwendung ist, d. h. eine Datei, die zum Starten der Anwendung gestartet werden kann. Wenn es einen Wert „falsch“ („false“) hat, kann dieses angeben, dass die URL kein Einstiegspunkt für die Anwendung ist. Der Standardwert, wenn das Attribut nicht erscheint, kann „falsch“ („false“) sein. Das URL-Element, das das Kindelement des TDO-Elements ist, gibt eine Datei an, welche die Anwendung, wie oben beschrieben, konfiguriert. Der Empfänger analysiert die TPT, um URL-Information zu erhalten, greift auf den Server unter Verwendung der URL-Information zu und lädt eine durch die URL-Information angegebene Anwendung herunter.
  • Wenn vorhanden, kann Capabilities (Fähigkeiten), das ein Kindelement des TDO-Elements ist, Fähigkeiten angeben, die für eine sinnvolle Darstellung dieser Anwendung wesentlich sind. Von Empfängern, die nicht über eine oder mehrere der erforderlichen Fähigkeiten verfügen, wird erwartet, dass sie nicht versuchen, die Anwendung zu starten.
  • ContentItem, ein Kindelement des TDO-Elements, kann ein Inhaltselement mit einem oder mehreren Datendateien angeben, die von der Anwendung benötigt werden. Ein ContentItem- (Inhaltselement) Element hat Information über die von einer Anwendung benötigten Datendateien, die von dem TDO-Element angegeben wird, zu welcher dieses Element gehört. Der Empfänger kann von der Anwendung benötigte Datendateien unter Verwendung von URL-Information, usw. von ContentItem herunterladen, wenn das ContentItem-Element nach dem Analysieren vorhanden ist. Das Kindelement und Attribut von ContentItem werden nachstehend beschrieben.
  • Event (Ereignis), ein Kindelement des TDO-Elements, kann ein Ereignis für die Anwendung darstellen. Event element (Ereigniselement) gibt ein Ereignis einer Anwendung an, zu der dieses Element gehört. Das Ereigniselement enthält Information, die angibt, welche Ereignisse vorhanden sind, welche Daten vorhanden sind, welche Aktion vorhanden ist, usw. Der Empfänger kann das Ereigniselement analysieren, um Information über das Ereignis der Anwendung zu erhalten. Das Kindelement und Attribut des Event (Ereignis) werden im Folgenden beschrieben.
  • Der Empfänger kann die TPT empfangen und analysieren, um das Kindelement des TDO und die Information über Attribute zu erhalten.
  • Ein ContentItem- (Inhaltselement) Element, das das Kindelement des TDO-Elements ist, kann ein @updateAvail- (Aktualisierung verfügbar), @pollPeriod-(Abfragezeitraum), @size- (Größe), @availInternet- (Internet verfügbar), @availBroadcast- (Übertragung verfügbar) Attribut und / oder URL-Element enthalten.
  • Dabei kann das URL-Element ein @entry-Attribut umfassen. Jede Instanz von URL, einem Kindelement des ContentItem-Elements, kann eine Datei angeben, die ein Teil des Inhaltselements ist. Das URL-Element kann ein @entry-Attribut umfassen. @entry, ein Attribut des URL-Elements, hat einen Wert „wahr“ („true“), der angeben kann, dass die URL ein Einstiegspunkt für das Inhaltselement ist, d. h. eine Datei, die zum Starten des Inhaltselements gestartet werden kann. Wenn es einen Wert „falsch“ („false“) hat, kann dies angeben, dass die URL kein Einstiegspunkt für das Inhaltselement ist. Der Standardwert, wenn das Attribut nicht erscheint, kann „falsch“ („false“) sein. Der Empfänger kann von der Anwendung benötigte Datendateien unter Verwendung von URL-Information von ContentItem nach dem Analysieren herunterladen. In diesem Vorgang kann die Information, wie zum Beispiel die beschriebenen anderen Attribute, verwendet werden.
  • @updatesAvail (Aktualisierungen verfügbar), das ein Boolesches Attribut des ContentItem-Elements ist, kann angeben, ob das Inhaltselement von Zeit zu Zeit aktualisiert wird oder nicht, d. h. ob das Inhaltselement statische Dateien enthält oder ob es eine Echtzeit-Daten-Einspeisung ist. Wenn der Wert „wahr“ („true“) ist, wird das Inhaltselement von Zeit zu Zeit aktualisiert; wenn der Wert „falsch“ („false“) ist, wird das Inhaltselement nicht aktualisiert. Der Standardwert, wenn dieses Attribut nicht erscheint, kann falsch sein.
  • @pollPeriod (Abfragezeitraum), das ein Attribut des ContentItem-Elements ist, kann nur vorhanden sein, wenn der Wert des updatesAvail- (Aktualisierungen verfügbar) Attribut „wahr“ („true“) ist. Die Anwesenheit des pollPeriod- (Kurzabfrage) Attributs kann angeben, dass Kurzabfrage verwendet wird, um Aktivierungsauslöser zuzustellen, und der Wert des pollPeriod- (Abfragezeitraum) Attributs kann die empfohlene Zeit in Sekunden angeben, die der Empfänger als einen Abfragezeitraum verwendet.
  • @Size (Größe), das ein Attribut des ContentItem- (Inhaltselement) Elements ist, kann die Größe des Inhaltselements angeben.
  • Der Wert „wahr“ („true“) für ein @availInternet- (Internet verfügbar) Attribut kann angeben, dass das Inhaltselement zum Herunterladen über das Internet zur Verfügung steht. Der Wert „falsch“ („false“) kann angeben, dass das Inhaltselement nicht für das Herunterladen über das Internet zur Verfügung steht. Wenn dieses Attribut nicht vorhanden ist, kann der Standardwert „wahr“ („true“) sein.
  • Der Wert „wahr“ („true“) für ein @availBroadcast- (Übertragung verfügbar) Attribut kann angeben, dass das Inhaltselement zur Extraktion aus der Übertragung zur Verfügung steht. Der Wert „falsch“ („false“) kann angeben, dass das Inhaltselement nicht zur Extraktion aus der Übertragung zur Verfügung steht. Wenn dieses Attribut nicht vorhanden ist, kann der Standardwert „wahr“ („true“) sein.
  • Das event- (Ereignis) Element enthält Information über das von dem TDO-Element angegebenen Ereignis, zu dem das Ereigniselement gehört. Der Empfänger kann das Ereigniselement analysieren, um Information über das Ereignis zu erhalten.
  • Das Ereigniselement, welches das Kindelement des TDO-Elements ist, kann ein @eventID- (Ereigniskennung), @action- (Aktion), @destination- (Ziel), @diffusion-(Verbreitung) Attribut und / oder Datenelement umfassen. Dabei kann das Datenelement ein @dataID- (Datenkennung) Attribut umfassen.
  • @eventID (Ereigniskennung), das ein 16-Bit-Integer-Attribut des Ereigniselements sein kann, kann das Ereignis eindeutig innerhalb des Bereichs des TDO-Elements, welches es enthält, kennzeichnen. Ein Aktivierungsauslöser (oder Aktivierungselement in AMT) kann die Zielanwendung und ein Ereignis für den Auslöser durch die Kombination von appID (Anwendungskennung) und eventID (Ereigniskennung) kennzeichnen. Wenn ein Ereignis aktiviert ist, übergibt der Empfänger das Ereignis an die Anwendung. @eventID dient als eine Kennung eines Ereignisses. Unter Verwendung von @eventID-Information, kann ein Auslöser, AMT usw. zur Aktivierung des Ereignisses mit einer Anwendung mit @eventID zum Kennzeichnen des Ereignisses übereinstimmen. Das heißt, ein Aktivierungsauslöser (oder Aktivierungselement in AMT) kann die Zielanwendung und das Ereignis für den Auslöser durch die Kombination von appID und eventID kennzeichnen. Wenn ein Ereignis aktiviert ist, übergeben Empfänger das Ereignis an die Anwendung. Die AMT wird unten ausführlich beschrieben.
  • @action (Aktion), das ein Attribut des Ereigniselements ist, kann den Typ von Aktion angeben, die anzuwenden ist, wenn das Ereignis aktiviert wird. Zulässige Werte können „prep“, „exec“, „susp“ und „kill“ sein.
  • „prep“ (vorbereiten) kann der „Trig prep“- (Auslösung vorbereiten) Aktion entsprechen. Wenn der Zustand der Anwendung „freigegeben“ („released“) ist, kann diese Aktion eine Zustandsänderung zu „bereit“ („ready“) bewirken.
  • „exec“ (ausführen) kann der „Trig exec“- (Auslösung ausführen) Aktion entsprechen. Der Zustand der Ziel-Anwendung bei Empfang dieses Auslöser kann „aktiv“ („active“) werden.
  • „susp“ (suspendiert) kann der „Trig susp“- (Auslösung suspendieren) Aktion entsprechen. Wenn der Zustand der Zielanwendung „aktiv“ („active“) ist, kann der Zustand bei Empfang dieses Auslösers zu „suspendiert“ („suspended“) geändert werden, ansonsten gibt es keine Änderung.
  • „beenden“ (kill) kann der „Trig kill“- (Auslöser beenden) Aktion entsprechen. Der Status der Zielanwendung kann bei Empfang dieses Auslösers „freigegeben“ („released“) werden.
  • @action (Aktion) kann den Typ der anzuwendenden Aktion angeben, wenn das Ereignis aktiviert wird.
  • @destination (Ziel), das ein Attribut des Ereigniselements ist, kann das Zielgerät für das Ereignis angeben. @destination wird nachstehend ausführlich beschrieben.
  • Wenn vorhanden, kann @diffusion (Verbreitung), das ein 8-Bit-Integer-Attribut des Ereigniselements sein kann, eine Zeitspanne T in Sekunden darstellen. Der Zweck des Verbreitungsparameters ist, Spitzen in einer Serverlast zu glätten. Von dem Empfänger kann erwartet werden, dass er eine Zufallszeit im Bereich von 0-T in Schritten von 10 Millisekunden berechnet und um diese Zeit zögert, bevor er auf einen Internet-Server zugreift, um durch URLs in der TPT referenzierten Inhalt abzurufen.
  • Wenn vorhanden, kann data (Daten), das ein Kindelement des Ereigniselements ist, Daten in Bezug auf das Ereignis zur Verfügung stellen. Verschiedene Aktivierungen des Ereignisses können verschiedene Datenelemente haben, die mit diesen verknüpft sind. Das Datenelement kann ein @dataID- (Datenkennung) Attribut umfassen. @DataID (Datenkennung), das ein 16-Bit-Integer-Attribut ist, kann das Datenelement eindeutig innerhalb des Bereichs des Ereigniselements kennzeichnen, das es enthält. Wenn eine Aktivierung eines Ereignisses damit verknüpfte Daten hat, kann der Aktivierungsauslöser das Datenelement durch die Kombination von AppID (Anwendungskennung), EventID (Ereigniskennung) und DataID (Datenkennung) kennzeichnen. Das Datenelement gibt für das Ereignis verwendete Daten an. Ein Ereigniselement kann mehrere Datenelemente haben. Daten werden unter Verwendung des Datenelements gekennzeichnet. In dem Empfänger kann, wenn das Ereignis mit Bezug auf die Daten aktiviert wird, der Aktivierungsauslöser (oder das Aktivierungselement in AMT) das Datenelement durch die Kombination von AppId (Anwendungskennung), EventID (Ereigniskennung) und DataID (Datenkennung) kennzeichnen. AMT wird nachstehend ausführlich beschrieben.
  • 7 ist ein Diagramm, das die Bedeutung von Nutzungsfrequenz- („Frequency of Use“) Attributwerten zeigt.
  • Die Spalte „Bedeutung“ gibt die Häufigkeit des Auftretens von Segmenten an, die diese Anwendung enthalten. (Ein Attribut kann natürlich mehrfach innerhalb eines einzelnen Segments erscheinen.) Das frequencyOfUse- (Nutzungshäufigkeit) Attribut kann nicht vorhanden sein, wenn das GlobalID- (globale Kennung) Attribut nicht vorhanden ist. Wenn die App später zwischengespeichert und wiederverwendet wird, muss der Empfänger erkennen, dass sie die gleiche Anwendung ist, wenn sie wieder erscheint. Dies erfordert das globalld- (globale Kennung) Attribut.
  • 8 ist ein Diagramm, das die Bedeutung von „Ziel“- („destination“) Attributwerten zeigt.
  • Wie in 8 gezeigt gibt der Zielattribut-Wert von 0 „reserved“ (reserviert) an, der Zielattribut-Wert von 1 gibt nur ein Hauptgerät an, der Zielattribut-Wert von 2 gibt ein oder mehrere Nebengeräte an und der Zielattribut-Wert 3 gibt ein Hauptgerät und / oder ein oder mehrere Nebengeräte an.
  • 9, 10, 11, 12 und 13 sind Diagramme, die eine Ausführungsform der Syntax einer binären Form einer TDO-Parametertabelle zeigen.
  • Dies ist das binäre Format der oben beschriebenen TPT-Struktur. Diese Struktur ist ein notwendiges Format, wenn die TPT in NRT übertragen wird, und ist derart gemacht, dass die XML-Struktur der TPT in geeigneter Weise in NRT gesendet wird.
  • Die folgenden Elemente und / oder Attribute, die in der XML-Version der TPT enthalten sind, können aus der binären Version weggelassen werden, da sie durch die Kapselungskopfzeile zum Zustellen der binären Tabelle in dem Sende-Datenstrom zur Verfügung gestellt werden:
    @protocolVersion (Haupt/Neben), @serviceID (Dienstkennung) und / oder @tptVersion (TPT-Version).
  • Die Semantik der Felder ist wie folgt. Felder des Binär-Formats einer TDO-Parametertabelle aus 9, 10, 11, 12 und 13 werden nacheinander beschrieben.
  • expire_date_included (Ablaufdatum enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das expire_date- (Ablaufdatum) Feld enthalten ist. Der Wert ‚1‘ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • segment_id_length (Segmentkennungslänge), das ein 5-Bit-Feld sein kann, kann die Länge des segment_id- (Segmentkennung) Felds in Bytes anzeigen.
  • segment_id, das ein Feld variabler Länge ist, kann die Bytes der Segmentkennung enthalten, welche die gleiche Semantik wie das „id“- (Kennung) Attribut des TPT-XML-Formats haben kann.
  • base_URL_length (Basis-URL-Länge), das ein 8-Bit-Feld sein kann, kann die Länge des Basis-URL-Felds in Bytes anzeigen.
  • Basis-URL, das ein Feld variabler Länge ist, kann die Bytes der Basis-URL enthalten, welche die gleiche Semantik wie das baseURL- (Basis-URL) Attribut des TPT-XML-Formats haben kann.
  • Wenn vorhanden, kann expire_date (Ablaufdatum), das ein 32-Bit-Feld sein kann, das Datum und die Zeit des Ablaufs der in dieser TP-Instanz enthaltenen Information angeben. Wenn der Empfänger die TPT zwischenspeichert, kann sie bis zum ExpireDate (Ablaufdatum) wiederverwendet werden. Die Integer-Zahl ohne Vorzeichen kann als die Anzahl von GPS-Sekunden seit 00.00.00 UTC 6. Januar 1980 interpretiert werden, abzüglich des GPS-UTC_offset. Der GPS-UTC-Offset (GPS-UTC-Versatz) kann eine 8-Bit-Integerzahl ohne Vorzeichen sein, die den aktuellen Versatz zwischen GPS- und UTC-Zeit-Standards in ganzen Sekunden definiert.
  • trigger_server_URL_length (Auslöser-Server-URL-Länge), das ein 8-Bit-Feld sein kann, kann die Länge des trigger_server_URL- (Auslöser-Server-URL) Felds in Bytes angeben. Wenn der Wert dieses Feldes 0 ist, kann dies angeben, dass die interne Zustellung von einzelnen Aktivierungsauslösern nicht verfügbar ist.
  • trigger_server_URL (Auslöser-Server-URL) kann, wenn der Wert des trigger_server_URL_length- (Trigger-Server-URL-Länge) Felds nicht 0 ist, die Bytes der Auslöser-Server-URL enthalten, welche die gleiche Semantik wie das URL-Attribut des LiveTrigger- (Live-Auslöser) Elements des TPT-XML-Formats haben kann.
  • trigger_delivery_type (Auslöserzustellungstyp), das ein 1-Bit-Feld sein kann, kann die Zustellungsart von einzelnen Aktivierungsauslösern über das Internet angeben. Der Wert „0“ kann angeben, dass HTTP-Kurzabfrage verwendet wird; der Wert „1“ kann anzeigen, dass entweder HTTP-Langabfrage oder HTTP-Streaming verwendet wird.
  • poll_period (Abfragezeitraum), das eine 8-Bit-Integer sein kann, kann die empfohlene Anzahl von Sekunden zwischen Abfragen angeben, wenn HTTP-Kurzabfrage verwendet wird.
  • num_apps_in_table (Anzahl von Anwendungen in Tabelle), das ein 8-Bit-Feld sein kann, kann die Anzahl von in dieser TPT-Instanz beschriebenen Anwendungen (TDOs) angeben.
  • app_id (Anwendungskennung), das ein 16-Bit-Feld sein kann, kann eine Kennung für diese Anwendung (die in diesem Durchlauf der Schleife num_apps_in_table beschriebene Anwendung) enthalten. Sie kann in dieser TPT-Instanz eindeutig sein.
  • app_type_included (Anwendungstyp enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das app_type- (Anwendungstyp) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • app_name_excluded (Anwendungsnamen ausgenommen), das ein 1-Bit-Feld sein kann, kann angeben, ob das Anwendungsname-Feld für diese Anwendung enthalten ist. Der Wert „1“ kann angeben, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • global_id_included (globale Kennung enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das global_id- (globale Kennung) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • app_version_included (Anwendungsversion enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das app_version- (Anwendungsversion) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • cookie_space_included (Cookie-Raum enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das cookie_space- (Cookie-Raum) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • frequency_of_use_included (Nutzungshäufigkeit enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das frequency_of_use- (Nutzungshäufikgeit) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann angeben, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • expire_date_included (Ablaufdatum enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das expire_date- (Ablaufdatum) Feld für diese Anwendung enthalten ist. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • Wenn vorhanden, kann app_type (Anwendungstyp), das ein 8-Bit-Feld sein kann, den Format-Typ dieser Anwendung angeben. Der Wert 0 kann angeben, dass die Anwendung ein TDO ist. Wenn dieses Feld nicht vorhanden ist, kann der Standardwert 0 sein. Andere Werte können andere Formate darstellen.
  • Wenn vorhanden, kann app_name_length (Anwendungsnamenslänge), das ein 8-Bit-Feld sein kann, die Länge des unmittelbar darauf folgenden app_name-(Anwendungsname) Feld in Bytes angeben. Der Wert 0 für dieses Feld kann angeben, dass kein app_name- (Anwendungsname) Feld für diese Anwendung vorhanden ist.
  • Wenn vorhanden, kann app_name (Anwendungsname), das ein Feld variabler Länge ist, die gleiche Semantik wie das appName-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • Wenn vorhanden, kann global_id_length (globale Kennungslänge), das ein 8-Bit-Feld sein kann, die Länge des unmittelbar darauf folgenden global_id- (globale Kennung) Felds in Bytes angeben. Der Wert 0 für dieses Feld kann angeben, dass kein global_id-Feld für diese Anwendung vorhanden ist.
  • Wenn vorhanden, kann global_id (globale Kennung), das ein Feld variabler Länge ist, die gleiche Semantik wie das globalld-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • Wenn vorhanden, kann app_version (Anwendungsversion), das ein 8-Bit-Feld sein kann, die gleiche Semantik wie das appVersion-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • Wenn vorhanden, kann cookie_space (Cookie-Raum), das ein 8-Bit-Feld sein kann, die gleiche Semantik wie das cookieSpace-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • Wenn vorhanden, kann frequency_of_use (Nutzungshäufigkeit), das ein 8-Bit-Feld sein kann, die gleiche Semantik wie das Attribut des TDO-Elements frequencyOfUse in dem TPT-XML-Format haben.
  • Wenn vorhanden, kann expire_date (Ablaufdatum), das ein 8-Bit-Feld sein kann, die gleiche Semantik wie das ExpireDate-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • test_app (Testanwendung), das ein 1-Bit-Feld sein kann, kann angeben, ob diese Anwendung eine Testanwendung ist, die dazu bestimmt, von gewöhnlichen Empfängern ignoriert zu werden. Der Wert „1“ kann bedeuten, dass es eine Testanwendung ist; der Wert „0“ kann bedeuten, dass es keine Testanwendung ist.
  • available_on_internet (im Internet verfügbar), das ein 1-Bit-Feld sein kann, kann angeben, ob diese Anwendung über das Internet verfügbar ist oder nicht. Der Wert "1"kann bedeuten, dass sie über das Internet verfügbar ist; der Wert „0“ kann bedeuten, dass sie nicht über das Internet verfügbar ist.
  • available_in_broadcast (in Übertragung verfügbar), das ein 1-Bit-Feld sein kann, kann angeben, ob diese Anwendung in der Übertragung verfügbar ist oder nicht. Der Wert „1“ kann bedeuten, dass sie in der Übertragung verfügbar ist; der Wert „0“ kann bedeuten, dass sie in der Übertragung nicht verfügbar ist. number_URLs (Anzahl URLs), das ein 4-Bit-Feld sein kann, kann die Anzahl von Dateien angeben, die diese Anwendung umfasst.
  • URL_length (URL-Länge), das ein 8-Bit-Feld sein kann, kann die Länge des darauf folgenden URL-Felds angeben.
  • URL, das ein Feld variabler Länge ist, kann die gleiche Semantik wie das URL-Attribut des TDO-Elements in dem TPT-XML-Format haben.
  • number_content_items (Anzahl von Inhaltsobjekten), das ein 8-Bit-Feld sein kann, kann die Anzahl von Inhaltsobjekten angeben, die zur Verwendung durch diese Anwendung herunterzuladen sind.
  • updates_avail (Aktualisierungen verfügbar), das ein 1-Bit-Feld sein kann, kann angeben, ob dieses Inhaltsobjekt von Zeit zu Zeit aktualisiert wird, d. h. ob es eine Reihe von statischen Dateien oder eine Echtzeit-Daten-Einspeisung ist. Der Wert „1“ kann angeben, dass es aktualisiert wird; der Wert „0“ kann angeben, dass es nicht aktualisiert wird.
  • avail_internet (Internet verfügbar), das ein 1-Bit-Feld sein kann, kann angeben, ob die Datei(en), die dieses Inhaltselement umfassen, über das Internet heruntergeladen werden können oder nicht. Der Wert „1“ kann angeben, dass sie zum Herunterladen über das Internet verfügbar sind; der Wert „0“ kann bedeuten, dass sie nicht verfügbar sind.
  • avail_broadcast (Übertragung verfügbar), das ein 1-Bit-Feld sein kann, kann angeben, ob die Datei(en), die dieses Inhaltselement umfassen, über die Übertragung heruntergeladen werden können oder nicht. Der Wert „1“ kann bedeuten, dass sie zum Herunterladen über die Übertragung verfügbar sind; der Wert „0“ kann bedeuten, dass sie nicht verfügbar sind.
  • content_size (Inhaltsgröße), das ein 1-Bit-Feld sein kann, kann angeben, ob das content_size- (Inhaltsgröße) Feld für diese Anwendung enthalten ist oder nicht. Der Wert „1“ kann bedeuten, dass es enthalten ist; der Wert „0“ kann bedeuten, dass es nicht enthalten ist.
  • number_URLs (Anzahl URLs), das ein 4-Bit-Feld sein kann, kann die Anzahl von Dateien angeben, die dieses Inhaltselement umfasst.
  • URL_length (URL-Länge), das ein 8-Bit-Feld sein kann, kann die Länge des darauf folgenden URL-Felds angeben.
  • URL (einheitlicher Ressourcenanzeiger), die ein Feld variabler Länge ist, kann die gleiche Semantik wie das URL-Attribut des ContentItem- (Inhaltselement) Kindelements des TDO-Elements in dem TPT-XML-Format haben.
  • content_size (Inhaltsgröße), das ein 24-Bit-Feld sein kann, kann die gleiche Semantik wie das contentSize- (Inhaltsgröße) Attribut des ContentItem-(Inhaltselement) Kindelements des TDO-Elements in dem TPT-XML-Format haben.
  • num_content_descriptors (Anzahl an Inhaltsdeskriptoren), das ein 8-Bit-Feld sein kann, kann die Anzahl von Inhaltsdeskriptoren in der unmittelbar darauf folgenden Beschreibungsschleife sein.
  • content_descriptor() (Inhaltsdeskriptor), das ein Feld variabler Länge ist, kann ein Deskriptor gemäß dem MPEG-2-Beschreibungsformat (Tag, Länge, Daten) sein. Es kann Zusatzinformation über dieses Inhaltselement zur Verfügung stellen. Unter den Deskriptoren, die in dieser Deskriptorschleife enthalten sein können, kann der Fähigkeiten-Deskriptor sein, der für eine sinnvolle Darstellung dieses Inhaltselements benötigte Empfänger-Fähigkeiten angibt.
  • number_events (Anzahl an Ereignissen), das ein 8-Bit-Feld sein kann, kann die Anzahl von für dieses TDO definierten Ereignissen definieren.
  • event_id (Ereigniskennung), das ein 16-Bit-Feld sein kann, kann eine Kennung für dieses Ereignis (das in dieser Iteration der number_events-Schleife beschriebene Ereignis) enthalten. Es kann innerhalb des Bereichs der vorliegenden Anwendung eindeutig sein. Auf das Ereignis kann innerhalb von Aktivierungsauslösern durch die Kombination von app_id (Anwendungskennung) und event_id (Ereigniskennung) verwiesen werden.
  • action (Aktion), das ein 5-Bit-Feld sein kann, kann die gleiche Semantik wie das action-Attribut des Ereignis-Kindelements des TDO-Elements in dem TPT-XML-Format haben.
  • destination_included (Ziel enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das Zielfeld für dieses Ereignis enthalten ist oder nicht. Der Wert „1“ kann angeben, dass es enthalten ist; der Wert „0“ kann angeben, dass es nicht enthalten ist.
  • diffusion_included (Verbreitung enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob das Verbreitungsfeld für dieses Ereignis enthalten ist oder nicht. Der Wert „1“ kann angeben, dass es ist enthalten ist; der Wert „0“ kann angeben, dass es nicht enthalten ist.
  • data_included (Daten enthalten), das ein 1-Bit-Feld sein kann, kann angeben, ob die data_size- (Datengröße) und data_bytes- (Datenbytes) Felder für dieses Ereignis enthalten sind oder nicht. Der Wert „1“ kann angeben, dass sie enthalten sind; der Wert „0“ kann angeben, dass sie nicht enthalten sind.
  • Wenn vorhanden, kann die Semantik des Bestimmungsfeldes die gleiche sein wie die Semantik des Bestimmungsattributs des Ereignis-Kindelements des TDO-Elements in dem TPT-XML-Format.
  • Wenn vorhanden, kann die Semantik des Diffusionsfelds die gleiche sein wie die Semantik des Diffusionsattributs des Ereignis-Kindelements des TDO-Elements in dem TPT-XML-Format.
  • Wenn vorhanden, kann das data_size- (Datengröße) Feld die Größe des unmittelbar darauf folgenden data_bytes- (Datenbytes) Felds angeben.
  • Wenn vorhanden kann das Feld data_bytes Daten in Bezug auf dieses Ereignis bereitstellen. Wann immer das Ereignis aktiviert wird, wird die Zielanwendung in der Lage sein, die Daten zu lesen und sie zu verwenden, um zu helfen, die gewünschte Aktion auszuführen. Der Inhalt dieses Feldes kann identisch zu dem Inhalt des entsprechenden Daten-Kindelements des entsprechenden Ereignis-Kindelements des entsprechenden TDO-Elements in dem TPT-XML-Format sein, ausgenommen, dass dieses Feld den Raw-Binary-Wert enthalten kann und das Datenelement in dem TPT-XML-Format eine Base64-Codierung des binären Werts enthalten kann.
  • num_app_descriptors (Anzahl von Anwendungsdeskriptoren), das ein 8-Bit-Feld sein kann, kann die Anzahl von Deskriptoren in der Deskriptor-Schleife, die unmittelbar darauf folgt, angeben.
  • app_descriptor(), das ein Feld variabler Länge ist, kann ein Deskriptor in Übereinstimmung mit dem MPEG-2-Deskriptorformat (Tag, Länge, Daten) sein. Es kann zusätzliche Information zu dieser Anwendung (TDO) zur Verfügung stellen. Unter den Deskriptoren, die in dieser Deskriptor-Schleife enthalten sein können, ist der Fähigkeiten-Deskriptor, der Empfängerfähigkeiten angibt, die für eine sinnvolle Darstellung dieser Anwendung benötigt werden.
  • num_TPT_descriptors (Anzahl an TPT-Deskriptoren), das ein 8-Bit-Feld sein kann, kann die Anzahl von Deskriptoren in der Deskriptor-Schleife, die unmittelbar darauf folgt, angeben.
  • TPT_descriptor() (TPT-Deskriptor), das ein Feld variabler Länge ist, kann ein Deskriptor in Übereinstimmung mit dem MPEG-2-Deskriptorformat (Tag, Länge, Daten) sein. Er kann Zusatzinformation über diese TPT zur Verfügung stellen. Unter den Deskriptoren, die in dieser Beschreibungsschleife enthalten sein können, ist der Fähigkeiten-Deskriptor, der benötigte Empfänger-Fähigkeiten für eine sinnvolle Darstellung des durch diese TPT dargestellten interaktiven Dienstes angibt.
  • 14 ist ein Diagramm, das ein Ausführungsbeispiel einer Aktivierungsmeldungstabellenstruktur zeigt. Nachstehend werden in der Tabelle enthaltene Felder beschrieben. Die Größen der Felder und der Typen der in der Tabelle enthaltenen Felder können entsprechend einer planerischen Absicht hinzugefügt oder geändert werden.
  • Eine Aktivierungsmeldungentabelle (AMT; Activation Messages Table) kann die Entsprechung der Aktivierungsauslöser für ein Segment enthalten. Unter bestimmten Umständen kann sie zu Empfängern anstelle der Aktivierungsauslöser zugestellt werden. Ein Auslöser kann in dem Untertitel-Datenstrom, durch ACR-Server, durch einen „Live-Auslöser“-Server und über AMT zugestellt werden.
  • Die ausführliche Semantik der Felder in der AMT-Struktur ist wie folgt:
  • Eine Aktivierungsmeldungentabelle (AMT; Activation Messages Table) kann ein @majorProtocolVersion (Hauptprotokollversion), @minorProtocolVersion (Nebenprotokollversion), @segmentld (Segmentkennung), @beginMT- (Start-Medienzeit) Attribut und / oder ein Aktivierungselement umfassen.
  • @majorProtocolVersion (Hauptprotokollversion), das ein 4-Bit-Attribut des AMT-Elements sein kann, gibt die Hauptversionsnummer der AMT-Definition an. Die Hauptversionsnummer kann auf 1 eingestellt sein. Von Empfängern kann erwartet werden, dass sie Instanzen der AMT verwerfen, die Hauptversionswerte angeben, für deren Unterstützung sie nicht ausgerüstet sind.
  • Wenn vorhanden, kann @minorProtocolVersion (Nebenprotokollversion), das ein 4-Bit-Attribut des AMT-Elements sein kann, die Nebenversionsnummer der AMT-Definition angeben. Wenn nicht vorhanden, kann der Wert standardmäßig 0 sein. Die Nebenversionsnummer kann auf 0 gesetzt sein. Von Empfängern kann erwarten werden, dass sie keine Instanzen der AMT verwerfen, die Nebenversionswerte angeben, für deren Unterstützung sie nicht ausgestattet sind. In diesem Fall kann von ihnen erwartet werden, jedes einzelnes Element oder Attribut zu ignorieren, die sie nicht unterstützen.
  • @segmentID (Segmentkennung), das eine Kennung der AMT ist, entspricht der Kennung der TPT, welche die Anwendungen und Ereignisse, welche die Aktivierungen in dieser AMT betreffen, enthält. @segmentId (Segmentkennung) kann als eine Kennung der AMT dienen. Dementsprechend kann der Empfänger die AMT empfangen und analysieren, um die AMT über @segmentId-Informationen zu erkennen. @segmentId enthält Information, die angibt, auf welches Segment die AMT zutrifft, stimmt mit @id der TPT mit Bezug auf das Segment überein und dient dazu, die AMT und die TPT zu verbinden. Weiterhin kann das Segment gekennzeichnet werden, um grundlegende Information zur Verfügung zu stellen, die notwendig ist, um die Ziel-TDO und das Ereignis des Aktivierungselements der AMT zu kennzeichnen.
  • Wenn vorhanden, kann @beginMT, das ein Attribut des AMT-Elements ist, die Start-Medienzeit des Segmentes, für welches diese AMT-Instanz Aktivierungszeiten zur Verfügung stellt, angeben. @beginMT kann einen Start der Medienzeit bezüglich eines Segments, auf welches die AMT zutrifft, angeben. Daher ist es möglich, ein Kriterium einer Zeit zu entscheiden, wenn eine von dem Aktivierungselement angegebene Aktivierung auftritt. Wenn dementsprechend @beginMT vorhanden ist, kann ein @startTime-Attribut in dem Aktivierungselement durch den Beginn der von @beginMT angegebenen Medienzeit beeinflusst werden.
  • Jede Instanz des Aktivierungselements der AMT kann eine Anweisung darstellen, um ein bestimmtes Ereignis zu einer bestimmten Zeit, mit bestimmten mit dem Ereignis verknüpften Daten, zu aktivieren. Eine Vielzahl von Aktivierungselementen kann in der AMT vorhanden sein. Jedes Aktivierungselement führt eine ähnliche Funktion wie jene des Aktivierungsauslösers aus. Das Aktivierungselement kann das von @segmentId in der AMT angegebene Segment betreffen. Attribute des Aktivierungselements können Information darüber enthalten, in welcher Anwendung Aktivierung erfolgt, in welchem Ereignis Aktivierung erfolgt, wann Aktivierung erfolgt, usw. Attribute des Aktivierungselements werden nachstehend ausführlich beschrieben.
  • Das Aktivierungselement kann ein @targetTDO (Ziel-TDO), @targetEvent (Zielereignis), @targetData (Zieldaten), @startTime (Startzeit) und / oder @endTime (Endzeit)-Attribut umfassen.
  • @targetTDO (Ziel-TDO), das ein Attribut des Aktivierungselements ist, kann mit dem @appID- (Anwendungskennung) Attribut eines TDO-Elements in der TPT übereinstimmen, mit welcher die AMT verknüpft ist, wodurch die Zielanwendung für die Aktivierungsanweisung identifiziert wird. @targetTDO kann Information enthalten, auf welche Anwendung das Aktivierungselement der AMT zutrifft. Der Empfänger kann die AMT empfangen und analysieren, um die @targetTDO zu erhalten und @appID in dem TDO-Element der passenden TPT zu finden, um die Anwendung zu identifizieren, auf welche das Aktivierungselement zutrifft.
  • @targetEvent (Zielereignis), das ein Attribut des Aktivierungselement ist, kann mit dem eventID- (Ereigniskennung) Attribut eines in dem TDO-Element, das von dem targetTDO-Attribut identifiziert wird, enthaltenen Ereigniselements übereinstimmen, wodurch das Zielereignis für die Aktivierungsanweisung identifiziert wird. @targetEvent kann Information, auf welches Ereignis von welcher Anwendung das Aktivierungselement der AMT zutrifft, enthalten. Der Empfänger kann die AMT empfangen und analysieren, um @targetEvent zu erhalten und @eventID in dem TDO-Element der passenden TPT zu finden, um das Ereignis, auf welches das Aktivierungselement zutrifft, zu identifizieren.
  • @targetData (Zieldaten), das ein Attribut des Aktivierungselement ist, kann dem dataID- (Datenkennung) Attribut eines in dem Ereignis-Element, das von den targetTDO (Ziel-TDO) und targetEvent (Zielereignis) Attributen gekennzeichnet wird, enthaltenen Datenelement entsprechen, wodurch die Daten identifiziert werden, die mit dem Ziel-Ereignis verknüpft werden, wenn die Aktivierungsanweisung gilt. @targetData (Zieldaten) kann Daten in Bezug auf das Zielereignis kennzeichnen, wenn die Aktivierungsanweisung gilt. Der Empfänger kann die AMT empfangen und analysieren, um @targetData zu erhalten und @dataID in dem Ereigniselement der TPT zu finden.
  • @startTime (Startzeit), das ein Attribut des Ereigniselements ist, kann den Beginn des Gültigkeitszeitraums für das Ereignis in Bezug auf Medienzeit angeben. Von Empfängern kann erwartet werden, die Anweisung auszuführen, wenn Medienzeit den Wert in startTime (Startzeit) erreicht oder so bald wie möglich danach. @startTime (Startzeit) kann eine Startzeit anzeigen, wenn das Ereignis eintritt. Diese Startzeit beruht auf der Medienzeit. Der Empfänger kann die AMT analysieren, um @startTime-Information zu erhalten und die Zeit zu bestätigen, wenn das Ereignis unter Verwendung von @startTime (StartZeit) stattfindet. Der Empfänger kann das Ereignis aktivieren, wenn die Medienzeit startTime (Startzeit) basierend auf der Medienzeit des durch @segmentId gekennzeichneten Segments erreicht. Wenn startTime (Startzeit) bereits abgelaufen ist, kann das Ereignis so schnell wie möglich aktiviert werden.
  • Wenn vorhanden, kann @endTime (Endzeit), das ein Attribut des Ereigniselements ist, das Ende der Gültigkeitszeitdauer für das Ereignis in Bezug auf die Medienzeit angeben. Von dem Empfänger kann erwartet werden, dass er die Anweisung nicht ausführt, wenn die Medienzeit nach dem Wert in endTime (Endzeit) liegt. @endTime kann die Endzeit des Ereignisses anzeigen. Wenn die Medienzeit die endTime (Endzeit) erreicht, darf der Empfänger das Ereignis nicht ausführen.
  • Die Aktivierungselemente in der AMT können in der Reihenfolge von aufsteigenden startTime-Werten erscheinen.
  • Wenn ein Empfänger Ereignisse gemäß Aktivierungen in einer AMT aktiviert, kann von ihm erwartet werden, dass er jede Aktivierung bei seiner startTime (Startzeit) anwendet, oder so bald wie möglich danach (zum Beispiel in dem Fall, wenn ein Empfänger dem Dienst beitritt und die AMT zu irgendeinem Zeitpunkt nach der startTime und vor der endTime erhält). Wenn das „action“- (Aktion) Attribut des Ereigniselements in TPT „exec“ ist, dann kann von dem Empfänger erwartet werden, dass er ein TriggerEvent (Auslöserereignis) an die Zielanwendung übergibt. TriggerEvent (Auslöserereignis) wird unten in dem Teil im Zusammenhang mit der API beschrieben.
  • 15 ist ein Diagramm, das eine Ausführungsform eines URL-Listenstrukturdiagramms zeigt.
  • Eine URL-Liste kann bestimmte URLs von möglichem Nutzen für einen Empfänger enthalten. Die URL-Liste kann die folgenden URLs, usw. umfassen.
  • 1. URL für TPTs für ein oder mehrere zukünftige Segmente, was einem Empfänger erlaubt, die Dateien vorzuladen.
  • 2. URL eines NRT-Signalisierungsservers, von welchem Information über eigenständige NRT-Dienste in dem Sende-Datenstrom abgerufen werden kann, was einem Empfänger erlaubt, auf diese Dienste zuzugreifen, auch wenn er keinen Zugang zur Zustellung von NRT-Dienstsignalisierung in dem Sende-Datenstrom hat.
  • 3. URL eines Nutzungsberichtsservers, zu dem Nutzungsberichte für einen virtuellen Kanal gesendet werden, was einem Empfänger erlaubt, in solchen Berichten zu senden, auch wenn er keinen Zugang zur Zustellung dieser URL in dem Sende-Datenstrom hat.
  • 4. URL der PDI-Q-Tabelle für einen virtuellen Kanal, was einem Empfänger erlaubt, die Betrachtungserfahrung persönlich zu gestalten, auch wenn er keinen Zugriff auf die in dem Sende-Datenstrom zugestellte PDI-Q-Tabelle hat. (Die PDI-Q Tabelle bezieht sich auf Personalisierung zum Bereitstellen eines Dienstes, der für den Benutzer angepasst ist, bei Bereitstellung des interaktiven Dienstes. Es ist möglich, den Benutzer über die PDI-Q-Tabelle nach Personalisierung zu fragen.)
  • Unter anderem kann die URL-Liste in Bezug auf das UrsUrl-Element erstellt werden, um weiterhin die URL des Servers für Nutzungsberichte anzugeben, um bevorzugte Daten und den Typ von einem betrachteten und aktuell über den betriebenen Empfänger konsumierten Inhalt zu verwenden. Das in der URL-Liste enthaltene UrsUrl-Element kann auf verschiedene Weise wie folgt interpretiert werden.
  • Erstens kann im Falle eines Nutzungsberichtsservers der Empfänger die Nutzungsberichtfunktion des Empfängers durch ein vorgegebenes Protokoll (z. B. Datenstruktur, XML-Datei, usw.) mit der URL des Nutzungsberichtsservers ausführen.
  • Zweitens kann es ein TDO geben, das auf dem Webbrowser des Empfängers ausgeführt wird. In diesem Fall gibt dies den Ort des Nutzungsbericht-TDO an. In diesem Fall kann das TDO Information über im Empfänger gespeicherten oder aktuell unter Verwendung der API (z. B. Datei-APIs oder Nutzungsbericht-APIs) des Webbrowsers des Empfängers konsumierten Inhalt sammeln und melden. Der TDO kann die gesammelten Daten unter Verwendung einer Javascript-API namens XMLHttpRequest übertragen.
  • URLlist kann UrlList, TptUrl, UrsUrl und / oder PdiUrl umfassen. Die Semantik dieser Elemente ist wie folgt.
  • TptUrl, das ein Element des urlList-Elements ist, kann die URL einer TPT für ein zukünftiges Segment in dem aktuellen interaktiven Zusatzdienst enthalten. Wenn mehrere TptUrl-Elemente enthalten sind, können sie in der Reihenfolge des Erscheinens der Segmente in der Übertragung angeordnet sein.
  • NrtSignalingUrl, das ein Element des urlList-Elements ist, kann die URL eines Servers enthalten, von dem Empfänger NRT-Signaltabellen für alle virtuellen Kanäle in dem aktuellen Transportdatenstrom erhalten können.
  • UrsUrl, das ein Element des urlListElements ist, kann die URL eines Servers enthalten, an welchen Empfänger Nutzungs- (Reichweitenmessung) Berichte für den aktuellen virtuellen Kanal senden können.
  • PdiUrl, das ein Element des UrlList-Elements ist, kann die URL der PDI-Q-Tabelle für den aktuellen virtuellen Kanal enthalten.
  • 16 ist ein Diagramm, das eine Ausführungsform des Binär-Formats für die privaten Bereiche, die TPTs enthalten, zeigt. 16 zeigt einen Fall, in dem eine TPT in einem Sende-Datenstrom in einem Zustellmechanismus, der unten beschrieben wird, zugestellt wird. Details werden später beschrieben.
  • Es folgt eine Beschreibung eines Zustellungsmechanismus zum Zustellen eines Auslösers, einer TPT usw. Eine Ausgabe von interaktiver Diensterstellung, Zustellung von Auslösern in dem Sende-Datenstrom, Zustellung von Zeitbasis-Auslösern über das Internet, Lieferung von Aktivierungsauslösern über Internet (ACR-Szenario), Lieferung von TPTs in einem Sende-Datenstrom, Lieferung von TPTs über Internet, bewegliche TDOs und Inhaltsobjekte, Kombination von mehreren Segmenten in ein Segment werden nacheinander beschrieben.
  • Im Folgenden wird eine Ausgabe von interaktiver Diensterstellung beschrieben.
  • Der Vorgang zur Diensterstellung für ein Segment kann zu einem Ordner führen, der alle TDOs und andere Inhaltsobjekte, eine TPT-Datei im XML-Format und eine AMT-Datei im XML-Format enthält. Die anderen Ergebnisse können erstellt werden.
  • Im Folgenden wird eine Zustellung von Auslösern in dem Sende-Datenstrom beschrieben.
  • Wenn in dem Sende-Datenstrom zugestellt, können Auslöser in dem DTV-Untertitel-Kanal, in Dienst #6, in der URLString-Anweisung geliefert werden.
  • Wenn der Auslöser kleiner als oder gleich 26 Zeichen lang ist, kann er nichtsegmentiert (Typ = 11) gesendet werden. Wenn der Auslöser 27 bis 52 Zeichen lang ist, kann er in zwei Segmenten (das erste Segment in einem Typ=00-Segment und das zweite Segment in einem Typ=10 Segment) gesendet werden.
  • Der Typ von zugestellter URI in jeder gegebenen Instanz der Anweisung kann durch einen 8-Bit-Parameter gegeben werden.
  • Für interaktive Dienste unter Verwendung des TDO-Modells kann der URI-Typ der URI-Datenstruktur auf 0 (Interaktiver Fernseh-Auslöser für TDO-Modell) eingestellt werden. Dieser Zustellmechanismus umfasst sowohl Zeitbasis-Auslöser als auch Aktivierungsauslöser.
  • In dem Fall, in dem der Zeitbasis-Auslöser über einen Sende-Datenstrom (im Untertitel-Dienst #6), geliefert wird, wenn ein „m=“-Ausdruck fehlt, können Zeitbasis-Auslöser einfach eine URL eines Signalisierungsservers zustellen. Wenn ein „m=“-Ausdruck fehlt, muss ein „t=“-Ausdruck in Aktivierungsauslösern fehlen.
  • In dem Fall, in dem der Aktivierungsauslöser über einen Sende-Datenstrom (in Untertitel-Dienst #6) zugestellt wird, das heißt, im Fall des „Auslöser“-Formats mit einem „e=“-Ausdruck, mit oder ohne einem „t=“-Ausdruck, wenn ein „t=“-Ausdruck vorhanden ist, kann eine Aktivierungszeit der Zeitstempel relativ zu einer Zeitbasis sein. Wenn ein „t=“-Ausdruck fehlt, kann eine Aktivierungszeit die Ankunftszeit der Nachricht sein.
  • In dem Fall, in dem die Zeitbasis-Auslöser und die Aktivierungsauslöser über Untertiteldienst #6 zugestellt werden, kann es drei Möglichkeiten für Sender geben, um Zeitbasis- und Aktivierungsauslöser handzuhaben. Die drei Möglichkeiten sind „Segment-Modus ohne explizite Zeitbasis“, „Segment-Modus mit expliziter Zeitbasis“ und „Dienst-Modus mit expliziter Zeitbasis“.
  • Diese können innerhalb einer Sendung segmentweise gemischt werden.
  • Im Segmentmodus ohne explizite Zeitbasis umfassen Aktivierungsmeldungen keinen Zeitstempel, so dass die Aktivierungszeit jeder Meldung die Zustellungszeit der Meldung sein kann, und Zeitbasis-Nachrichten umfassen ebenfalls keinen Zeitstempel, so dass ihr einziger Zweck sein kann, die URL des Signalisierungsservers zur Verfügung zu stellen, die TPT-Dateien zustellen kann. Zeitbasis-Meldungen können in diesem Modus sogar vollständig ausgelassen werden, auf die URL in den Aktivierungsmeldungen bauend, um die URL des Signalisierungsservers zur Verfügung zu stellen, aber dann werden Empfänger nicht in der Lage sein, eine TPT abzurufen, und starten ein Herunterladen von TDOs bis nach dem Erscheinen der ersten Aktivierungsmeldung, wodurch die Antwort auf die erste Aktivierungsmeldung ziemlich verzögert wird.
  • In diesem Fall können Zeitbasis-Nachrichten, die in Untertiteldienst #6 erscheinen können, den „locator_part“ des „Trigger“- (Auslöser) Formats und möglicherweise den „spread“- (Verbreitung) Ausdruck, aber keinen „media_time“- (Medienzeit) Ausdruck umfassen, und Aktivierungsmeldungen, die in Untertiteldienst #6 erscheinen können, können den „locator_part“ des „Trigger“- (Auslöser) Formats, den „event_time“-(Ereigniszeit) Ausdruck und möglicherweise den „Spread“- (Verbreitung) Ausdruck, aber ohne „t=“ Teil in dem „event_time“- (Ereigniszeit) Ausdruck enthalten. Der „locator_part“ von Zeitbasis und Aktivierungsmeldungen kann die aktuelle segmentld (Segmentkennung) sein. Diese URL kann auch verwendet werden, um die TPT für das Segment über das Internet abzurufen.
  • In einem Segmentmodus mit expliziter Zeitbasis umfassen Zeitbasis-Nachrichten einen Zeitstempel, um eine Zeitbasis zu definieren, und Aktivierungsmeldungen können einen Zeitstempel umfassen, um die Aktivierungszeit in Bezug auf die Zeitbasis zu definieren, oder sie können keinen Zeitstempel umfassen, um anzugeben, dass die Aktivierungszeit die Ankunftszeit der Nachricht ist.
  • In diesem Fall können Zeitbasis-Nachrichten, die in Untertiteldienst #6 erscheinen können, den „locator_part“ des „Auslöser“-Formats, den „media_time“-Ausdruck und möglicherweise den „Spread“- (Verbreitung) Ausdruck enthalten, und Aktivierungsmeldungen, die in Untertiteldienst #6 erscheinen können, können den „locator_part“ des „Auslöser“-Formats, den „event_time“-Ausdruck und möglicherweise den „spread“- (Verbreitung) Ausdruck, mit oder ohne dem „t=“-Teil in dem „event_time“-Ausdruck enthalten. Der „locator_part“ von der Zeitbasis und Aktivierungsmeldungen kann das aktuelle segmentld (Segmentkennung) sein, und die Zeitbasis ist spezifisch für das Segment. Diese URL kann auch verwendet werden, um die TPT für das Segment über das Internet abzurufen.
  • Im Dienstmodus mit expliziter Zeitbasis umfassen Zeitbasis-Nachrichten einen Zeitstempel, um eine Zeitbasis zu definieren, und Aktivierungsmeldungen können einen Zeitstempel enthalten oder nicht. Die Zeitbasis kann sich über mehrere Segmente erstrecken, anstatt spezifisch für ein einzelnes Segment zu sein. Der „locator_part“ der Zeitbasis-Nachrichten kann eine Kennung der Zeitbasis und auch eine URL sein, die verwendet werden kann, um TPTs für den Dienst über das Internet abzurufen.
  • In jedem Fall sollte der Auslösereinfügungsserver, der die Auslöser in einen Untertiteldienst #6 einfügt, auf der Grundlage der AMT funktionieren, indem er Aktivierungsmeldungen aus dem XML-Format in der AMT in das zur Zustellung im Untertiteldienst #6 festgelegte Auslöser-Format umwandelt. Im Falle eines Aktivierungselements ohne endTime- (Endzeit) Attribut kann ein einzelner Auslöser mit einer Aktivierungszeit gleich dem startTime- (Startzeit) Attribut eingefügt werden. Im Falle eines Aktivierungselements mit startTime- (Startzeit) und endTime- (Endzeit) Elementen kann eine Abfolge von Auslösern mit demselben Ziel eingefügt werden. Der erste Auslöser in der Abfolge kann eine Aktivierungszeit gleich dem startTime-(Startzeit) Attribut haben, der letzte Auslöser in der Abfolge kann eine Aktivierungszeit gleich dem endTime- (Endzeit) Attribut haben, und es kann einen festen Zeitabstand zwischen den Aktivierungszeiten der Auslöser in der Abfolge (mit der Ausnahme, dass der Zeitabstand zwischen dem vorletzten und dem letzten Auslöser in der Abfolge kürzer sein kann) geben. Die Länge dieses festen Zeitabstands kann konfigurierbar sein.
  • Wenn die Zeitbasis und die Aktivierungsmeldungen im Segmentmodus sind, kann die Zeitbasis spezifisch für das Segment sein. Sie kann mit dem „beginMT“- (Start-Medienzeit) Wert zu Beginn des Segments beginnen und durch das Segment laufen. Die „startTime“- (Startzeit) und „endTime“- (Endzeit) Werte einzelner Aktivierungen können relativ zu dem „beginMT“- (Start-Medienzeit) Wert sein. Wenn die Zeitbasis und die Aktivierungsmeldungen im Dienst-Modus sind, kann sich die Zeitbasis über Segmente erstrecken und der „beginMT“- (Start-Medienzeit) Wert für jedes Segment kann angepasst werden, um die Dienst-Zeitbasis und den Sendeplan zu berücksichtigen.
  • Im Folgenden wird eine Zustellung von Zeitbasisauslösern über das Internet beschrieben.
  • Eine Internetzustellung von Zeitbasis-Auslösern kann in sogenannten automatischen Inhaltserkennung- (ACR; Automatic Content Recognition) Situationen nützlich sein, in denen der Empfänger der Zeitbasis-Auslöser keinen Zugang zu einem Untertiteldienst #6 hat. In diesen Situationen muss der Empfänger ACR verwenden, um Videobilder zu erkennen und die Zeitbasis mit ihnen zu synchronisieren. In ACR-Situationen können Zeitbasis-Nachrichten aus Wasserzeichen oder von ACR-Servern bezogen werden. Im Falle von Empfang von dem ACR-Server werden die Zeitbasis-Nachrichten als Antworten von einem ACR-Server zugestellt.
  • Im Folgenden wird eine Zustellung von Aktivierungsauslösern über das Internet (ACR-Szenario) beschrieben.
  • Aktivierungsmeldungen können über Kurzabfrage, Langabfrage oder Streaming zugestellt werden, aber all diese können eine Menge Mehraufwand bei den Empfängern und dem Server machen. Aktivierungsmeldungen können auch in der Form einer AMT zugestellt werden, aber so kann ein gute Menge an Information über die Länge von Segmenten zur Verfügung gestellt werden, was Werbeblocker unterstützt. Es kann andere Alternativen geben.
  • In dem Fall, in dem die Aktivierungsmeldung in der Form des Aktivierungsauslösers zugestellt wird, d. h. im Fall von „Trigger“- (Auslöser) Format mit „e=“-Ausdruck, mit oder ohne „t=“-Ausdruck, kann diese über HTTP-Kurzabfrage, Langabfrage oder Streaming zugestellt werden.
  • Wenn über das Internet zugestellt, können Aktivierungsmeldungen unter Verwendung von einem oder beiden Mechanismen, einem individuellen Aktivierungsauslöserzustellmechanismus und einem Massenaktivierungsauslösermechanismus, zugestellt werden.
  • Im Folgenden wird ein individueller Aktivierungsauslöserzustellmechanismus beschrieben.
  • Wenn individuelle Aktivierungsauslöser über das Internet zugestellt werden, können sie, wie oben beschrieben, über HTTP-Kurzabfrage, Langabfrage oder Streaming zugestellt werden. Das Format der Aktivierungsauslöser kann genau das gleiche sein wie wenn sie über DTVCC-Dienst #6 geliefert wird.
  • Im Falle von Kurzabfrage wird der Kurzabfragezeitraum angegeben. In dieser Zeit kann ein kurzer Abfragevorgang unter Verwendung von pollPeriod (Abfragezeitraum), der wie unten beschrieben in TPT enthalten ist, eingestellt werden.
  • Wenn eine Internet-Zustellung von Internet-Aktivierungsauslösern verfügbar ist, kann das URL-Attribut des LiveTrigger- (Live-Auslöser) Elements in der TPT den Aktivierungsauslöserserver angeben, der Aktivierungsauslöser zustellen kann. Wenn das pollPeriod- (Abfragezeitraum) Attribut des LiveTrigger- (Live-Auslöser) Elements in der TPT vorhanden ist, kann dies bedeuten, dass HTTP-Kurzabfrage verwendet wird, und es kann den Abfragezeitraum, den ein Empfänger verwenden sollte, angeben. Wenn das pollPeriod- (Abfragezeitraum) Attribut des LiveTrigger (Live-Auslöser) Elements nicht in der TPT vorhanden ist, kann dies angeben, dass entweder HTTP-Langabfrage oder HTTP-Streaming verwendet wird.
  • Unabhängig davon, welches Protokoll verwendet wird, kann von dem Empfänger erwartet werden, dass er eine HTTP-Anfrage an den Aktivierungsauslöseserver mit dem Abfrageausdruck ausgibt:
    • ?mt =<media_time>
    • wobei <media_time> die aktuelle Medienzeit des betrachteten Inhalts sein kann.
  • Wenn Kurzabfrage verwendet wird, kann die Antwort von dem Aktivierungsauslöserserver all die Auslöser enthalten, die innerhalb des Zeitintervalls der Länge pollPeriod endend bei <media_time> ausgegeben wurden. Wenn mehr als ein Aktivierungsauslöser zurückgegeben wird, können sie mit einem oder mehreren Leerzeichen getrennt werden. Wenn keine Aktivierungsauslöser zurückgegeben werden, kann die Antwort leer sein.
  • Wenn HTTP-Langabfrage oder HTTP-Streaming verwendet wird, kann der Aktivierungsauslöserserver warten, um eine Antwort erst bei der Medienzeit zurückzugeben, wenn ein Aktivierungsauslöser in dem Sende-Datenstrom geliefert würde. Zu dieser Zeit kann er den Aktivierungsauslöser zurückgeben.
  • Wenn HTTP-Langabfrage verwendet wird, kann der Aktivierungsauslöseserver die Sitzung nach der Rückgabe eines Aktivierungsauslösers schließen. Von dem Empfänger kann erwartet werden, dass er sofort eine weitere Anfrage mit einer aktualisierten Medienzeit ausgibt.
  • Wenn HTTP-Streaming verwendet wird, kann der Aktivierungsauslöseserver die Sitzung nach der Rückgabe jedes Aktivierungsauslösers offen halten, und er kann zusätzliche Aktivierungsauslöser über die Sitzung zustellen, wenn die Zeit kommt, um sie zuzustellen.
  • In allen Fällen kann die HTTP-Antwort ein HTTP-Antwort-Kopfzeilenfeld einer der folgenden Formen enthalten, um den Zustellungsmodus zu signalisieren:
    • ATSC-Zustellungsmodus: ShortPolling [<poll-period>]
    • ATSC-Zustellungsmodus: LongPolling
    • ATSC-Zustellungsmodus: Streaming
  • Der <poll-period> (Abfragezeitspanne) Parameter kann die empfohlene Zeitspanne zwischen Abfragen für die folgende Abfragen angeben. Die <poll-period> (Abfragezeitspanne) kann ausgelassen werden.
  • Im Folgenden wird eine Massenaktivierungsauslöserzustellung beschrieben.
  • Wenn Aktivierungsauslöser über das Internet massenweise zugestellt werden, können die Aktivierungsauslöser für ein Segment über HTTP zusammen mit der TPT für das Segment in der Form einer mehrteiligen MIME-Meldung zugestellt werden, mit der TPT als der erste Teil der Meldung und einer Aktivierungsmeldungentabelle (AMT; Activation Messages Table) als der zweite Teil der Meldung.
  • Im Folgenden wird eine Zustellung von TPTs in einem Sende-Datenstrom beschrieben.
  • Wenn in dem Sende-Datenstrom zugestellt, können TPTs aus ihrem XML-Format in ein äquivalentes binäres Signalisierungstabellenformat vom NRT-Stil umgewandelt werden und in private Abschnitte vom NRT-Stil, eine TPT per Tabellen-Instanz, gekapselt werden. Die TPT für das aktuelle Segment ist immer vorhanden. TPTs für ein oder mehrere künftige Segmente können ebenfalls vorhanden sein. Die TPT-Instanz wird durch den Wert seines segment_id- (Segmentkennung) Felds definiert. Als Referenz wurde das binäre Format der TDO-Parametertabelle oben beschrieben. Dabei kann ein privater Abschnitt vom NRT-Stil einer tpt_section() (TPT-Abschnitt) aus 16 entsprechen.
  • Zusammenfassend kann, um die binäre Struktur der TPT in NRT zu übertragen, die TPT eine für NRT-Übertragung geeignete Abschnittsstruktur haben. Nachstehend wird dieser Vorgang ausführlich beschrieben.
  • Jede TPT kann in private Abschnitte vom NRT-Stil gekapselt sein, indem jede TPT in Blöcke geteilt wird und die Blöcke in die tpt_bytes()- (TPT-Bytes) Felder von Abschnitten eingesetzt werden, die einen gemeinsamen Wert von table_id-(Tabellenkennung), protocol_version- (Protokollversion), TPT_data_version- (TPT-Datenversion) und sequence_number- (Sequenznummer) Felder haben. Die Blöcke können in der Reihenfolge von aufsteigenden section_number- (Abschnittsnummer) Feldwerten in die Abschnitte eingefügt werden. Die privaten Abschnitte können in dem Dienstsignalisierungskanal (SSC; Service Signaling Channel) des IP-Subnetzes des virtuellen Kanals, zu dem die TPT gehört, mitgeführt werden. Dabei ist ein „Dienstsignalisierungskanal“ in dem ATSC-NRT-Standard definiert und bezeichnet einen Kanal mit einer bestimmten IP-Adresse und einer Portnummer. Die sequence_number-(Sequenznummer) Felder in den Abschnitten können verwendet werden, um verschiedene in demselben SSC mitgeführte TPT-Instanzen zu unterscheiden.
  • Im Folgenden werden die Felder von 16 beschrieben.
  • Der private Abschnitt (tpt_section()) kann table_id (Tabellenkennung), protocol_version (Protokollversion), sequence_number (Sequenznummer), TPT_data_version (TPT-Datenversion), current_next_indicator (aktuelle nächste Kennung), section_number (Abschnittsnummer), last_section_number (letzte Abschnittsnummer), service_id (Dienstkennung) und / oder tpt_bytes()- (TPT Bytes) Information umfassen.
  • table_id (Tabellenkennung), das ein 8-Bit-Feld sein kann, kann diesen Tabellenabschnitt als zu einer TDO-Parameter-Tabelleninstanz gehörend kennzeichnen.
  • protocol_version (Protokollversion) kann in zwei Teile aufgeteilt sein. Die 4 Bits höherer Ordnung dieses 8-Bit-Integer-Felds ohne Vorzeichen kann die Hauptversionsnummer der Definition dieser Tabelle und die in ihr getragene TPT-Instanz angeben, und die 4 Bits niedrigerer Ordnung können die Nebenversionsnummer angeben. Die Hauptversionsnummer kann auf 1 gesetzt werden. Von Empfängern kann erwartet werden, dass sie Instanzen der AMT, die Hauptversionswerte angibt, für deren Unterstützung sie nicht ausgestattet sind, verwerfen. Die Nebenversionsnummer kann auf 0 gesetzt werden. Von Empfängern kann erwartet werden, dass sie Instanzen der AMT, die Nebenversionswerte angibt, für deren Unterstützung sie nicht ausgestattet sind, nicht verwerfen. In diesem Fall kann von ihnen erwartet werden, alle Deskriptoren, die sie nicht erkennen, zu ignorieren und alle Felder, die sie nicht unterstützen, zu ignorieren.
  • sequence_number (Sequenznummer) kann ein 8-Bit-Feld sein. Der Wert von sequence_number (Sequenznummer) kann der gleiche sein wie die sequence_number (Sequenznummer) von allen anderen Abschnitten dieser TPT-Instanz und verschieden von der sequence_number (Sequenznummer) aller Abschnitte von irgendeiner anderen TPT-Instanz in diesem Dienstsignalisierungskanal. Dementsprechend kann dieses Feld eine verschiedene Rolle von derjenigen der anderen TPT-Instanz ausführen. Ein sequence_number- (Sequenznummer) Feld kann ein mit einem Dienstsignalisierungskanal in diesem Abschnitt verbundenes IP-Subnetz sein. Die Werte der sequence_number- (Sequenznummer) Felder der verschiedenen TPT-Instanzen können die Reihenfolge widerspiegeln, in welcher die Segmente in dem Sende-Datenstrom erscheinen.
  • TPT_data_version (TPT-Datenversion), das ein 5-Bit-Feld sein kann, kann die Versionsnummer dieser TPT-Instanz angeben, wo die TPT-Instanz durch ihre segment_id (Segmentkennung) definiert werden kann. Da die TPT-Version im Voraus bekannt ist, um zu bestimmen, ob die empfangenen TPT-Abschnittsdaten eine TPT neuer Version ist, kann das TPT_data_version- (TPT-Datenversion) Feld in der Abschnittstabelle vorhanden sein. Die Versionsnummer kann um 1 modulo 32 erhöht werden, wenn sich irgendein Feld in der TPT-Instanz ändert.
  • current_next_indicator (aktuelle nächste Kennung), die eine 1-Bit-Kennung sein kann, kann für TPT-Abschnitte immer auf „1“ gesetzt sein, was angibt, dass die gesendete TPT immer die aktuelle TPT für das durch ihre segment_id (Segmentkennung) gekennzeichnete Segment ist.
  • section_number (Abschnittsnummer), das ein 8-Bit-Feld sein kann, kann die Abschnittsnummer dieses TPT-Instanzabschnitts angeben, in dem die TPT-Instanz durch ihre segment_id (Segmentkennung) identifiziert werden kann. Die section_number (Abschnittsnummer) des ersten Abschnitts in einer TPT-Instanz kann 0×00 sein. Die section_number (Abschnittsnummer) kann mit jedem zusätzlichen Abschnitt in der TPT-Instanz um 1 erhöht werden.
  • last_section_number (Nummer des letzten Abschnitts), das ein 8-Bit-Feld sein kann, kann die Nummer des letzten Abschnitts (d. h. des Abschnitt mit der höchsten Abschnittsnummer) der TPT-Instanz, von welcher dieser Abschnitt ein Teil ist, angeben.
  • service_id (Dienstkennung), das ein 16-Bit-Feld sein kann, kann die mit dem interaktiven Dienst, der die in dieser Tabelleninstanz beschriebenen Inhaltsobjekte anbietet, verknüpfte service_id (Dienstkennung) angeben.
  • tpt Bytes(), das ein Feld variabler Länge ist, kann einen Block der TPT-Instanz, die teilweise durch diesen Abschnitt getragen wird, umfassen. Wenn die tpt_bytes()-Felder von allen Abschnitten dieser Tabelleninstanz in der Reihenfolge ihrer section_number-Felder verkettet werden, kann das Ergebnis die komplette TPT-Instanz sein.
  • Das heißt, nachdem das binäre Format der TPT verwendet worden ist oder das XML-Format in ein binäres Format geändert worden ist, kann die TPT unterteilt werden, um für NRT-Übertragung geeignet zu sein, in tpt_bytes() Feld des privaten Bereichs eingeschlossen werden und in NRT übertragen werden. Zu diesem Zeitpunkt kann, wenn eine TPT in mehrere private Abschnitte unterteilt ist, der private Bereich die gleichen table_id-, protocol_version-, TPT_data_version- und sequence_number-Werte haben. Die geteilten TPT-Blöcke können in der Reihenfolge von section_number-Feldwerten eingefügt werden.
  • Der Empfänger kann die empfangenen privaten Bereiche analysieren. Um die privaten Teile wieder in eine TPT zu kombinieren, können die privaten Abschnitte mit den gleichen table_id-, protocol_version-, TPT_data_version- und sequence_number-Werten verwendet werden. Zu diesem Zeitpunkt kann Bestellinformation, die in der Lage ist, aus section_number- und last_section_number-Information erhalten zu werden, verwendet werden. Wenn tpt_bytes() von allen privaten Abschnitten mit denselben table_id-, protocol_version-, TPT_data_version- und sequence_number-Werten sequentiell verbunden werden, kann eine TPT erstellt werden.
  • Zustellung von TPTS über Internet wird ausführlich unter Bezugnahme auf 17 beschrieben.
  • Im Folgenden wird ein Bewegen von TDOs und Inhaltselementen beschrieben.
  • Netzwerke und Stationen müssen häufig ihre eigenen HTTP-Server zur Zustellung von TDOs und Inhaltselementen (Dateien), die von TDOs verwendet werden, bereitstellen. Wenn dies geschehen ist, kann baseURL in der TPT eingestellt werden, um den Ort des Servers widerzugeben.
  • Im Folgenden wird ein Kombinieren mehrerer Segmente in ein Segment beschrieben.
  • Um gründlich Grenzen zwischen Segmenten zu verschleiern, können die TPTs und AMTs für mehrere Segmente in eine einzelne TPT und AMT kombiniert werden. Die folgenden Schritte können ausgeführt werden.
    • 1. Kennzeichnen des Satzes von zu kombinierenden Segmenten.
    • 2. Erstellen einer neuen TPT mit einer neuen segmentld (Segmentkennung).
    • 3. Wenn eines der Segmente, die kombiniert werden, Live-Aktivierungen hat, Bereitstellen eines Weitergabe-Servers, der Zugriff auf alle von ihnen bereitstellt, und Festlegen der Parameter für diesen Server in dem „LiveTrigger“- (Live-Auslöser) Element.
    • 4. Anwenden der baseURL (Basis-URL) für jedes Segment nach Bedarf, um die vollständige TDO- und Contentltem- (Inhaltsobjekt) URLs zu erhalten. (Es kann möglich sein, eine kürzere baseURL (Basis-URL), die allen Segmenten, die kombiniert werden, gemein ist, zu identifizieren und diese als eine baseURL (Basis-URL) für das kombinierte Segment zu behalten).
    • 5. Überarbeiten der appId- (Anwendungskennung) Werte je nach Bedarf, um Konflikte zu entfernen.
    • 6. Einfügen aller überarbeiteten TDO-Elemente für alle Segmente, die kombiniert werden, in die neue TPT.
    • 7. Erstellen einer neuen AMT mit segmentld (Segmentkennung) gleich der neuen segmentld (Segmentkennung) der kombinierten TPT.
    • 8. Wählen eines geeigneten neuen „beginMT“- (Start-Medienzeit) Werts für die neue AMT.
    • 9. Abstimmen der targetld- (Zielkennung) Werte aller Aktivierungselemente in den AMT-Dateien für die Segmente, die kombiniert werden, um alle Änderungen in appId- (Anwendungskennung) Werten wiederzugeben.
    • 10. Abstimmen der startTime- (Startzeit) und endTime- (endzeit) Werte aller Aktivierungselemente in den AMT-Dateien für die Segmente, die kombiniert werden, um den neuen „beginMT“- (Start-Medienzeit) und den Sendeplan für die Segmente, die kombiniert werden, wiederzugeben.
    • 11. Einfügen von allen überarbeiteten Aktivierungselementen in die neue AMT.
  • 17 ist ein Diagramm, das ein Ausführungsbeispiel einer Liste von als XML-Dokument kodierten URLs zeigt.
  • Im Folgenden wird eine Zustellung von TPTs über das Internet beschrieben.
  • Wenn über das Internet zugestellt, können TPTs über HTTP zugestellt werden. Die URL der TPT für das aktuelle Segment kann der „<domain name part>/<directory path>“ in Zeitbasis-Nachrichten sein. Die Antwort auf eine Anfrage für eine TPT kann nur die TPT umfassen oder kann eine 2-teilige MIME-Nachricht, mit der angeforderten TPT im ersten Teil und einer Liste von URLs in dem zweiten Teil, als XML-Dokument kodiert, umfassen. (Die Antwort auf eine Anfrage umfasst stets die TPT für das aktuelle Segment. Sie kann TPTs für ein oder mehrere zukünftige Segmente umfassen.)
  • Die URLs können als der zweite Teil der oben beschriebenen Antwort das in 17 gezeigte Format haben.
  • Die Semantik der Elemente aus 17 wird beschrieben.
  • „UrIList“ kann eine Liste von URLs, die für einen Empfänger nützlich sind, enthalten.
  • „TptUrl“ kann die URL einer TPT für eine zukünftiges Segment enthalten. Wenn mehrere TptUrl-Elemente enthalten sind können sie in der Reihenfolge des Erscheinens der Segmente in der Übertragung angeordnet sein.
  • „NrtSignalingUrl“ kann die URL eines Servers, wo Empfänger NRT-Signalisierungstabellen für alle virtuellen Kanäle in dem aktuellen Sende-Datenstrom erhalten, enthalten.
  • 18 ist ein Diagramm, das eine Ausführungsform von addTriggerEventListener zeigt.
  • Im Folgenden werden ATSC-JavaScript-APIs für eine Umgebung zur Ausführung von DO beschrieben.
  • Um eine Synchronisation von deklarativen Objekt-Aktionen mit Übertragungsplanung zu unterstützen, können zusätzliche Verfahren für das Video / Übertragungs-Objekt unterstützt werden.
  • Wenn die TPT über den DTVCC oder das Internet empfangen wird, können mehrere Ereignisse für die Ausführung der TDO in der TPT vorhanden sein und diese Ereignisse können durch die Aktivierungsauslöser aktiviert werden.
  • Um dieses Ereignis zu verarbeiten, kann eine Listener-Funktion pro eventID (Ereigniskennung) registriert werden. Dementsprechend können als die oben beschriebenen „zusätzlichen Verfahren“ die beiden Funktionen addTriggerEventListener (Zufügen von Auslöserereignis-Listener) und removeTriggerEventListener (Entfernen von Auslöserereignis-Listener) zur Registrierung der Listener-Funktion vorhanden sein.
  • In 18 wird ein addTriggerEventListener beschrieben und Format, Argumente, usw. werden dargestellt.
  • Eine addTriggerEventListener-Funktion kann eine Rückmeldungsfunktion (Listener-Funktion) zum Verarbeiten eines Ereignisses, das pro eventId (Ereigniskennung) erzeugt wurde, registrieren. Die addTriggerEventListener-Funktion kann den Listener von einem Eventlistener-Typ und eventId (Ereigniskennung) von einem Nummern-Typ als Argument empfangen. Der eventListener-Typ wird nachstehend beschrieben. Die addTriggerEventListener-Funktion darf keinen Rückgabewert haben (void). Dabei kann ein eventId- (Ereigniskennung) Argument eine Ereigniskennung in dem Eregniselement der TPT sein. Dabei kann ein Listener-Argument ein Listener für das Ereignis sein.
  • Das Auslöserverarbeitungsmodul des Empfängers kann die Listener-Funktion auf der Grundlage einzelner eventId (Ereigniskennung) unter Verwendung der „addTriggerEventListener“-Funktion registrieren, sobald die Aktivierungsmeldung empfangen wird. Wenn das Ereignis aktiviert ist, kann die registrierte Listener-Funktion aufgerufen werden. Zu dieser Zeit kann das Objekt vom TriggerEvent-(Auslöserereignis) Typ zu der Listener-Funktion geliefert werden. Ein TriggerEvent-(Auslöserereignis) Typ wird nachstehend beschrieben.
  • 19 ist ein Diagramm, das eine Ausführungsform eines removeTriggerEventListener zeigt.
  • In 19 wird removeTriggerEventListener beschrieben und Format, Argumente, usw. werden dargestellt.
  • Die removeTriggerEventListener-Funktion kann eine Registrierung einer Rückmeldungsfunktion (Listener-Funktion) zum Verarbeiten eines Ereignisses, das auf der Grundlage einer einzelnen eventId (Ereigniskennung) erzeugt wurde, aufheben. Die removeTriggerEventListener-Funktion kann den Listener vom EventListener-Typ und eventId vom Nummerntyp als Argument empfangen. Der eventListener-Typ wird nachstehend beschrieben. Die removeTriggerEventListener-Funktion darf keinen Rückgabewert haben (void). Dabei kann ein eventId- (Ereigniskennung) Argument eine eventId (Ereigniskennung) in dem Ereigniselement der TPT sein. Dabei kann ein Listener-Argument ein Listener für das Ereignis sein.
  • In dem Javascript-Programm kann, sofern erwünscht ist, dass das Ereignis, das auf der Grundlage einer einzelnen eventId (Ereigniskennung) erzeugt wurde, nicht mehr empfangen wird, oder wenn das Programm „DestroyWindow“ (Fenster löschen) beendet ist, die Listener-Funktion, die unter Verwendung von „removeTriggerEventListener“ registriert wurde, abgebrochen werden.
  • 20 ist ein Diagramm, das eine Ausführungsform der Definition des EventListener-Typs zeigt.
  • Dabei entspricht die Definition des EventListener-Typs einer Web-Schnittstellendefinitionssprache (Web IDL; Web Interface Definition Language). Web-IDL kann verwendet werden, um Schnittstellen zu beschreiben, die dazu bestimmt sind, in Webbrowsern implementiert zu werden. Web-IDL ist eine IDL-Variante mit einer Reihe von Merkmalen, die erlauben, das Verhalten von gemeinsamen Skript-Objekten in der Web-Plattform leichter festzulegen.
  • EventListener kann ein Schnittstellen-Objekt sein. Ein EventListener-Typ kann ein Ereignis vom TriggerEvent- (Auslösereignis) Typ als Argument haben.
  • 21 ist ein Diagramm, das eine Ausführungsform der Definition des TriggerEvent- (Auslösereignis) Typs zeigt.
  • Ein TriggerEvent- (Auslösereignis) Typ kann Information über das Ereignis enthalten.
  • Ein TriggerEvent- (Auslösereignis) Typ kann eventID (Ereigniskennung), Daten und Status als Eigenschaften haben. Hierbei kann eventID (Ereigniskennung) eine eventID (Ereigniskennung) in dem Ereigniselement der TPT sein. Hierbei können Daten Daten für diese Aktivierung des Ereignisses sein. Hierbei können Daten hexadezimal sein. Hierbei kann Status den Status des Ereignisses bezeichnen. Wenn der Statuswert „trigger“ (Auslöser) ist, bezeichnet dies hierbei einen Zustand, in dem das Ereignis von dem Aktivierungsauslöser aktiviert wird. Wenn der Statuswert „error“ (Fehler) ist, bezeichnet dies einen Zustand, in dem ein Fehler auftritt.
  • Ein TDO-Modell ist beschrieben worden. Im Folgenden wird ein Direktausführungsmodell beschrieben.
  • In dem Direktausführungsmodell kann ein deklaratives Objekt (DO; Declarative Object) automatisch aktiviert werden, sobald der virtuelle Kanal ausgewählt wird. Es kann über das Internet mit einem Backend-Server kommunizieren, um ausführliche Anweisungen zum Bereitstellen von interaktiven Merkmalen, Erstellen von Anzeigen an bestimmten Stellen auf dem Bildschirm, Durchführen von Umfragen, Starten anderer spezialisierter DOs, usw., die alle mit der Audio-Video-Programm synchronisiert sind, zur Verfügung zu stellen.
  • Im Folgenden wird der Auslösevorgang in dem Direktausführungsmodell beschrieben.
  • Die Rolle, Funktion und Syntax des Auslösers werden in dem Direktausführungsmodell weitgehend nicht geändert.
  • Eine Leistung des Auslösers ist gleich der oben beschriebenen.
  • Eine Auslöser-Syntax ist gleich der oben beschriebenen.
  • Ein Auslöser kann als drei Teile umfassend aufgefasst werden.
  • <domain name part > / <directory path> [? <parameters>]
  • In dem Direktausführungsmodell kann die Kombination von <domain name part> und
    <directory path> eindeutig das zu startende DO kennzeichnen.
  • <parameters> kann einen oder mehreren von „event_time“ (Ereigniszeit), „media_time“ (Medienzeit) oder „spread“ (Verbreitung) umfassen.
  • In dem Direktausführungsmodell kann eine Anwendung automatisch gestartet werden, sobald der virtuelle Kanal ausgewählt wird. Eine Anwendung kann über das Internet mit einem Backend-Server über ein synchronisiertes Inhaltsprotokoll kommunizieren. Der Server kann ausführliche Anweisungen zum Bereitstellen von interaktiven Funktionen geben, die alle mit dem Audio-Video-Programm synchronisiert sind.
  • Im Falle des Direktausführungsmodells kann, da eine Anwendung sofort ausgeführt wird, Information an die gerade ausgeführte Anwendung zugestellt werden, während ein Zeitbasis-Auslöser zugestellt wird. In diesem Modell muss die Anwendung kontinuierlich Information über aktuell gesendeten Inhalt zur Synchronisation an den Server zustellen. Zu diesem Zweck kann der Zeitbasis-Auslöser ferner bestimmte Information, die sich von dem TDO-Modell unterscheidet, umfassen. Diese bestimmte Information kann eine Kennung von aktuell gesendetem Inhalt sein.
  • In ähnlicher Weise kann die Inhaltskennung in dem Parameterteil des Auslösers in der Form eines Parameters vorliegen.
  • In ähnlicher Weise kann die Inhaltskennung in media_time (Medienzeit) des Auslösers in der Form eines Ausdrucks vorhanden sein. Der Inhaltskennungsausdruck, der content_id (Inhaltskennung) genannt werden kann, die durch „c=“ gefolgt von einer Zeichenkette bezeichnet werden kann, kann eine Kennung für den gerade betrachteten Inhalt darstellen.
  • Der content_id- (Inhaltskennung) Ausdruck kann dazu dienen, das Direktausführungsmodell einer interaktiven Dienst-Implementierung zu unterstützen.
  • Wie oben beschrieben können in diesem Modell Zeitbasis-Auslöser mit content_id-(Inhaltskennung) an die Anwendung übergeben werden, nachdem sie gestartet worden ist, und die Anwendung kann die content_id (Inhaltskennung) an den Backend-Server zustellen, um den Kontext für die Interaktion zu identifizieren. Eine ausführliche Arbeitsweise wird nachfolgend beschrieben.
  • Der Zustellungsmechanismus des Auslösers in dem Direktausführungsmodul ist gleich dem oben beschriebenen.
  • Jedoch können im Fall einer Zustellung von Auslösern in dem Sende-Datenstrom Auslöser in dem DTV-Untertitelkanal in Dienst #6 in der URLString-Zeichenkette zugestellt werden. Für interaktive Dienste mit dem Direktausführungsmodul kann das URI_type- (URI-Typ) Feld auf 2 (Interaktiver Fernseh-Auslöser für Direktausführungsmodell) gesetzt werden.
  • Im Folgenden wird ein Gesamtbetrieb des Direktausführungsmoduls beschrieben.
  • Als ein Modell zum Ausführen eines interaktiven Diensts kann, in dem Direktausführungsmodell, eine Anwendung automatisch gestartet werden, sobald der virtuelle Kanal ausgewählt wird. Die Anwendung kann über das Internet mit einem Backend-Server über ein „synchronisiertes Inhaltsprotokoll“ kommunizieren. Der Server kann ausführliche Anweisungen zum Bereitstellen interaktiver Angebote, Erstellen von Anzeigen an bestimmten Stellen auf dem Bildschirm, Durchführen von Umfragen, Starten von anderen spezialisierten DOs, usw., die alle mit dem Audio-Video-Programm synchronisiert sind, geben.
  • Ein Betrieb kann wie folgt durchgeführt werden.
  • Zunächst kann eine Anwendung gestartet werden. Dann wird ein Zeitbasis-Auslösersignal empfangen. Die Zeitbasis-Auslöser wird an die Anwendung geliefert, nachdem die Anwendung ausgeführt worden ist. Der content_id-Ausdruck der Zeitbasis-Auslöser kann Inhaltsidentifikationsinformation des aktuell angezeigten Inhalts umfassen. Die Anwendung kann die content_id an den Backend-Server zustellen, um den Kontext für die Interaktion zu identifizieren und um den Inhalt, der gerade betrachtet wird zu identifizieren.
  • Ein Direktausführungsmodell ist beschrieben worden.
  • 22 ist ein Diagramm, das eine Architektur für einen WM-Ansatz zeigt.
  • Eine Beschreibung einer Zustellung über andere Schnittstellen wird gegeben.
  • Protokolle und eine Architektur, die eine Annahme eines interaktiven Dienstes in Umgebungen (zum Beispiel, wie von einem Kabel- oder Satelliten-Beistellgerät empfangen) ermöglicht, in denen nur unkomprimiertes Video und Audio zugänglich sind, werden definiert. Die Architektur und die Protokolle können zur Verwendung durch Empfänger, die Internet-Verbindungen haben und die nur Zugriff auf das unkomprimierte Audio und Video aus dem Sende-Datenstrom haben, ausgelegt sein. Natürlich können die Architektur und die Protokolle erfolgreich verwendet werden, wenn der interaktive Dienstanbieter entscheidet, dieselben zu unterstützen.
  • Die Architektur kann so gestaltet sein, dass sie zwei grundlegende Ansätze zur Identifizierung des betrachteten Inhalts unterstützt, so dass alle verknüpften interaktiven Dienstdatenerweiterungen über das Internet zugestellt werden können. Zwei grundlegende Ansätze können Wasserzeichenmarkierung und Fingerabdruckmarkierung sein.
  • Bei den Wasserzeichenmarkierungs- (WM; Watermarking) und Fingerabdruckmarkierungs- (FP; Fingerprinting) verfahren kann die Absicht sein, es Empfängern zu gestatten herauszufinden, welches Programm aktuell betrachtet wird, und eine URL zu erhalten, die als Ausgangspunkt verwendet werden kann, um zusätzliche Information über interaktive Dienste für die Programmierung zu erhalten.
  • 22 zeigt eine Architektur für einen WM-Ansatz.
  • In einer Architektur für einen WM-Ansatz kann die Architektur einen Sender 22010, einen Wasserzeichen-Einfüger 22011, einen MVPD 22020, eine STB 22030, einen Empfänger 22040, einen WM-Client 22050, einen TPT-Server 22060 und / oder einen Inhaltserver 22070 umfassen.
  • Der Sender 22010 kann eine Quelle sein, die Audio/Video-Datenströme und interaktive Dienste in Bezug auf die Audio/Video-Datenströme ausgibt. Ein TV-Sender kann ein Beispiel für den Sender 22010 sein. Der Sender 22010 kann ein Sendeinhaltproduzent oder Händler sein. Der Sender 22010 kann Sende-Datenströme, Audio/Video-Inhalt, interaktive Daten, Sendepläne oder AMT zustellen.
  • Der Wasserzeichen-Einfüger 22011 kann Wasserzeichen in Sende-Audio/Video-Rahmen einfügen. Der Wasserzeichen-Einfüger 22011 kann in den Sender 22010 integriert sein oder kann ein separates Modul sein. Wasserzeichen können für Empfänger notwendige Information sein. Wasserzeichen können Information wie zum Beispiel eine URL sein. Wasserzeichen werden später ausführlich beschrieben.
  • Der MVPD 22020 ist eine Abkürzung für Multiprogram-Videoprogrammhändler (Multiprogram Video Program Distributor). Der MVPD 22020 kann ein Kabelnetzbetreiber, ein Satellitenbetreiber oder ein IPTV-Betreiber sein. Der MVPD 22020 kann den Sende-Datenstrom von dem Sender / Wasserzeichen-Einfüger empfangen, wobei die Wasserzeichen in dem Fall eines Wasserzeichenmarkierungs-ACR-Systems von dem Wasserzeichen-Einfüger 22011 eingefügt werden. Der MVPD 22020 nimmt oft alle Programmelemente mit Ausnahme von Audio- und Videospuren heraus und sendet den resultierenden Datenstrom an Beistellgeräte (STB; Set-Top-Boxen) am Kundenstandort.
  • Das STB 22030 dekodiert (dekomprimiert) üblicherweise das Audio und Video und sendet diese an ein Fernsehgerät zur Darstellung für Zuschauer. Das STB kann unkomprimierten Audio / Video-Inhalt an den Empfänger 22040 senden. Das STB kann eine externe Decodiereinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung sein.
  • Der Empfänger 22040 kann den WM-Client 22050 umfassen. Der WM-Client 22050 kann außerhalb des Empfängers 22040 angeordnet sein. Hierbei kann der Empfänger Wasserzeichen-fähig sein. Die Struktur des Empfängers 22040 wird später beschrieben.
  • Der WM-Client 22050 kann Aktivierungsauslöser von dem ACR-Server (nicht gezeigt) erhalten und leitet dieselben an den Hauptempfängercode unter Verwendung einer für diesen Zweck vorgesehenen API weiter. Normalerweise würde der WM-Client 22050 in den Empfänger eingebaut, aber andere Konfigurationen sind möglich. Der WM-Client 22050 kann eingefügte Wasserzeichen aus unkomprimiertem Audio/Video-Inhalt extrahieren. Wasserzeichen können Information wie zum Beispiel eine URL sein.
  • Der TPT-Server 22060 kann ein Server sein, der zum Herunterladen eines Anwendung wie zum Beispiel einer TPT in der Lage ist. Der Empfänger 22040 überträgt die extrahierten Wasserzeichen auf den ACR-Server. Wenn die Wasserzeichen mit in einer Datenbank (nicht dargestellt) gespeicherten Wasserzeichen abgeglichen werden, kann der Empfänger 22040 einen Auslöser oder Auslöser als Antwort empfangen. Wenn der empfangene Auslöser oder Auslöser den oben beschriebenen neuen locator_part haben oder eine TPT oder eine Anwendungsparametertabelle einer neue Version entdeckt wird, kann der Empfänger 22040 den TPT-Server 22060 auffordern, eine neue TPT oder Anwendungsparametertabelle herunterzuladen.
  • Der Inhaltserver 22070 kann Anwendungen und TDO, die notwendig sind, um interaktive Dienste bereitzustellen, zur Verfügung stellen. Wenn eine neue Anwendung oder TDO erforderlich ist, kann die neue Anwendung über eine URL in einer TPT oder Anwendungsparametertabelle heruntergeladen werden.
  • Bei dem Wasserzeichenmarkierungs- (WM; Watermarking) Ansatz kann der Sender/Wasserzeichen-Einfüger Wasserzeichen in die Sende-Audio- oder Video-Rahmen einfügen. Diese Wasserzeichen können entworfen sein, um eine bescheidene Menge an Information zu Empfängern zu übertragen, während sie für Zuschauer nicht wahrnehmbar oder zumindest minimal aufdringlich sind. Solche Wasserzeichen könnten direkt die Information, die Empfänger benötigen, zur Verfügung stellen oder können nur einen Code-Wert bereitstellen, den Empfänger über eine Internetverbindung an einem Remote-Server senden können, um die Information, die sie brauchen, zu erhalten.
  • 23 ist ein Diagramm, das ein Ausführungsbeispiel einer Architektur für einen FP-Ansatz zeigt.
  • In der Architektur für einen FP-Ansatz kann die Architektur einen Sender 23010, einen MVPD 23020, ein STB 23030, einen Empfänger 23040, einen FP-Client 23050, einen TPT-Server 23060, einen Inhaltserver 23070, einen Signatur-Extrahierer 23080 und / oder einen FP-Server 23090 umfassen.
  • Der Sender 23010 kann eine Quelle sein, die Audio/Video-Datenströme und interaktive Dienste in Bezug auf Audio/Video-Datenströme ausgibt. Ein TV-Sender kann ein Beispiel für den Sender 22010 sein. Der Sender 22010 kann ein Sendeinhaltsproduzent oder -händler sein. Der Sender 22010 kann Sende-Datenströme, Audio/Video-Inhalt, interaktive Daten, Sendepläne oder AMT zustellen.
  • Der MVPD 23020 ist die Abkürzung für Multiprogram-Videoprogrammhändler (Multiprogram Video Program Distributor). Der MVPD 22020 kann ein Kabelnetzbetreiber, ein Satellitenbetreiber oder ein IPTV-Betrieber sein. Der MVPD 23020 nimmt oft alle Programmelemente mit Ausnahme von Audio- und Videospuren heraus und sendet den resultierenden Datenstrom zu Beistellgeräten (STB; Set-Top Boxes) am Kundenstandort.
  • Das STB 23030 dekodiert (dekomprimiert) üblicherweise Audio und Video und sendet diese an ein Fernsehgerät zur Darstellung für Zuschauer. Das STB kann unkomprimierten Audio/Videoinhalt an den Empfänger 23040 senden. Das STB 23030 kann eine externe Decodiereinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung sein.
  • Der Empfänger 23040 kann den FP-Client 23050 umfassen. Der FP-Client 23050 kann außerhalb des Empfängers 23040 angeordnet sein. Dabei kann der Empfänger 23040 Fingerabdruck-fähig sind. Die Struktur des Empfängers 23040 wird später beschrieben.
  • Die FP-Client 23050 kann Aktivierungsauslöser von dem FP-Server 23090 erhalten und sie an den Hauptempfängercode übergeben, unter Verwendung einer für diesen Zweck zur Verfügung gestellten API. Normalerweise wird der FP-Client 23050 in den Empfänger eingebaut, aber andere Konfigurationen sind möglich. Der FP-Client 23050 kann einen Fingerabdruck aus unkomprimiertem Audio/Video-Inhalt extrahieren. Der Fingerabdruck wird später ausführlich beschrieben werden.
  • Der TPT-Server 23060 kann ein Server sein, der in der Lage ist, eine Anwendung wie zum Beispiel eine TPT herunterzuladen. Der Empfänger 23060 überträgt den extrahierten Fingerabdruck an den FP-Server 23090. Wenn der Fingerabdruck mit einer Signatur des Signatur-Extrahierers 23080 abgeglichen wird, kann der Empfänger 23040 einen Auslöser oder Auslöser als eine Antwort empfangen. Wenn der empfangenen Auslöser oder die empfangenen Auslöser den oben beschriebenen neuen locator_part haben oder eine TPT oder eine Anwendungsparametertabelle einer neuen Version entdeckt wird, kann der Empfänger 22040 den TPT-Server 23060 auffordern, eine neue TPT oder Anwendungsparametertabelle herunterzuladen.
  • Der Inhaltserver 23070 kann Anwendungen und TDO bereitstellen, die notwendig sind, um interaktive Dienste zur Verfügung zu stellen. Wenn eine neue Anwendung oder TDO erforderlich ist, kann die neue Anwendung unter Verwendung einer URL in einer TPT oder Anwendungsparametertabelle heruntergeladen werden.
  • Der Signatur-Extrahierer 23080 kann Metadaten von dem Sender 23010 empfangen. Der Signatur-Extrahierer 23080 kann die Signatur eines Rahmens aus den empfangenen Metadaten extrahieren. Wenn der an den FP-Server 23090 übertragene Fingerabdruck mit der Signatur des Signatur-Extrahierers 23080 übereinstimmt, kann der Signatur-Extrahierer 23080 die Metadaten mit Bezug auf die Signatur an den FP-Server 23090 zustellen.
  • Der FP-Server 23090 kann einen Signaturabgleichvorgang mit dem Signatur-Extrahierer 23080 ausführen. Der FP-Server 23090 kann die Signatur mit dem von dem Empfänger 23040 erhaltenen Fingerabdruck abgleichen. Wenn die Signatur mit dem Fingerabdruck abgeglichen ist, kann der FP-Server 23090 die Metadaten mit Bezug auf die Signatur von dem Signatur-Extrahierer 23080 empfangen. Der FP-Server 23090 kann die Metadaten an den Empfänger 23040 übertragen.
  • Bei dem Fingerabdruckmarkierungs- (FP; Fingerprinting) Ansatz kann der FP-Client 23050 Fingerabdrücke (die auch Signaturen genannt werden können) von Audio- oder Video-Rahmen extrahieren und gleicht die Fingerabdrücke mit einer Datenbank von Fingerabdrücken von Sende-Rahmen von mehreren Sendern in der Gegend ab, um die Information, welche die Empfänger 23040 benötigen, zu finden. Solche Abgleiche können durch Senden von Signaturen an einen Remote-Server und Zurückerhalten eines Datensatzes mit der gewünschten Information durchgeführt werden, oder sie können in einigen Fällen durchgeführt werden, durch Abgleich mit einer Datenbank von Signaturen, die in den Empfänger 23040 heruntergeladen wurde. Dabei kann der Remote-Server der FP-Server 23090 sein.
  • Obwohl Wasserzeichenmarkierung und Fingerabdruckmarkierung verschiedene Technologien sein können, schließen sie sich nicht unbedingt gegenseitig aus. Eine Verwendung einer Kombination der beiden Technologien ist durchaus denkbar. Der Ausdruck automatische Erkennung von Inhalt (ACR; Automatic Content Recognition) kann verwendet werden, um sich getrennt auf eine dieser Techniken oder auf eine beliebige Kombination davon zu beziehen.
  • Eine Umgebung, in dem ein Empfänger nur Zugriff auf das unkomprimierte Audio und Video aus dem Sende-Datenstrom hat, wird eine „ACR-Umgebung“ genannt.
  • Sowohl im WM- als auch im FP-Fall können Empfänger die URL als einen Ausgangspunkt verwenden, um interaktiven Dienstinhalt einschließlich Auslösern zu erhalten.
  • Sowohl im WM- als auch im FP-Fall kann die Zeitsteuerungsinformation in der Form eines Zeitstempels in Bezug auf eine sendeseitige Uhr vorliegen, die zum Bestimmen des Zeitablaufs von zeitkritischen Ereignisse für den Kanal, wie zum Beispiel Aktivierungszeitstempel in über das Internet zugestellten Auslösern, verwendet wird.
  • Es wird angenommen, dass Sender üblicherweise eine Zustellung von interaktiven Diensten direkt in dem Sende-Datenstrom, zum Nutzen von Empfängern, die TV-Signale von Antennen erhalten, unterstützen und auch eine Zustellung interaktiver Dienste über das Internet, wie oben beschrieben, zum Nutzen der Empfänger, die unkomprimiertes Audio und Video erhalten, aber eine Internetverbindung haben, unterstützen. Allerdings können Sender einen dieser beiden Mechanismen ohne den jeweils anderen unterstützen.
  • Eine typische Architektur für den Wasserzeichenmarkierungsansatz in dem Fall, wenn das Wasserzeichen nur einen Code-Wert bereitstellt, würde wie eine Kombination der zwei Architekturen in 22 und 23 aussehen. Es würde einen Wasserzeichen-Einfüger wie in 22 geben, aber er würde einen Code anstelle der von den Empfängern benötigten Information bereitstellen. Es würde auch einen WM-Server geben, der weithin die gleiche Rolle wie der FP-Server in 23 spielt. Empfänger würden ihre Codes anstelle von Signaturen senden und würden die Information, die sie benötigen, zurückerhalten.
  • Es wird eine Beschreibung des Zugreifens auf interaktive Dienste gegeben.
  • Eine Beschreibung des Zugreifens auf interaktive Diensten umfasst Beschreibungen eines Direktausführungsmodels (Direct Execution Model), eines TDO-Modells mit vom ACR-Server unabhängigen Aktivierungen und eines TDO-Modells mit vom ACR-Server empfangenen Aktivierungen. Während die Modelle nicht gezeigt werden, sind die Modelle nicht auf die Beschreibungen beschränkt und können gemäß einer planerischen Absicht geändert werden.
  • Es gibt eine Anzahl von verschiedenen Möglichkeiten für einen Empfänger in einer ACR-Umgebung, auf interaktive Dienste zuzugreifen, abhängig von einer Auswahl des Senders und der Art des ACR-Systems. Das interaktive Dienst-Modell kann das Direktausführungsmodell oder das TDO-Modell und Aktivierung sein. Im Falle des TDO-Modells können Auslöser unabhängig von dem ACR-Server zugestellt werden oder können durch den ACR-Server zugestellt werden.
  • Es wird nun das Direktausführungsmodell beschrieben.
  • Ein ACR-Prozess für einen virtuellen Kanal, der einen interaktiven Dienst enthält, der das Direktausführungsmodell hat, kann Empfängern, die diesen Kanal ansehen, das Äquivalent von Zeitbasis-Auslösern, welche den media_time („m=“) Ausdruck und den content_id („c=“) Ausdruck umfassen, zur Verfügung stellen. Diese Auslöser können als Auslöser für einen interaktiven Dienst mit dem Direktausführungsmodell gekennzeichnet werden.
  • Wenn ein Empfänger zuerst einen solchen Auslöser mit einem neuen locator_part empfängt, ist von ihm zu erwarten, dass er in seinen Browser das deklarative Objekt (DO; Declarative Object) lädt, auf welches von dem locator_part gezeigt wird. Üblicherweise ist das DO vorinstalliert oder bereits heruntergeladenen und zwischengespeichert worden. Sonst kann von dem Empfänger erwartet werden, dasselbe unter Verwendung einer HTTP-GET-Anfrage herunterzuladen.
  • Dann kann das DO den geeigneten Backend-Server kontaktieren und den interaktiven Dienst wie von dem Backend-Server geleitet bereitstellen.
  • Es kann von dem Empfänger erwartet werden, dass er einen anfänglichen Auslöser und nachfolgende Auslöser dem DO zugänglich macht, wenn sie erhalten werden, bis er einen Auslöser von dem ACR-Server erhält, der einen neuen locator_part hat und / oder der als Auslöser für einen interaktiven Dienst mit dem TDO-Modell gekennzeichnet ist (wovon einer in der Regel einen Kanalwechsel angibt).
  • Es wird eine Beschreibung des TDO-Modells mit vom ACR-Server unabhängigen Aktivierungen gegeben.
  • Ein ACR-Prozess für einen virtuellen Kanal, der einen interaktiven Dienst enthält, welcher das TDO-Modell hat, und welcher Ereignisaktivierungen unabhängig von dem ACR-Server bereitstellt, kann Empfängern, die diesen Kanal anschauen, die Entsprechung von Zeitbasis-Auslösern, die den media_time- („m=“) Ausdruck umfassen können, zur Verfügung stellen. Diese Auslöser können als Auslöser für einen interaktiven Dienst mit dem TDO-Modell identifiziert werden.
  • Wenn ein Empfänger zunächst einen solchen Auslöser mit einem neuen locator_part empfängt, kann von ihm erwartet werden, dass er die aktuelle TDO-Parametertabelle (TPT) von dem TPT-Server abruft, auf den er durch den locator_part des Auslöser hingewiesen werden kann, und dass er die Medienzeit in diesem Auslöser und nachfolgenden Auslösern verwendet, um eine Referenzzeitbasis für Ereignisaktivierungen zu etablieren, mit Bezug auf die Audio- oder Videorahmen, die von dem ACR-Vorgang identifiziert werden können.
  • Wenn eine Aktivierungsmeldungentabelle (AMT) zusammen mit der TPT zugestellt wird, kann von dem Empfänger erwartet werden, dass er die einzelnen Aktivierungselemente in der Tabelle verwendet, um Ereignisse zu den richtigen Zeiten in Bezug auf die von den Medienzeit-Ausdrücken in den Auslösern etablierte Medienzeit zu aktivieren. (Diese Ereignisse können Laden und Ausführen eines TDO, Bewirken, dass ein TDO eine bestimmte synchronisierte Aktion ausführt, Aussetzen eines TDO, usw. umfassen.)
  • Wenn ein Live-Auslöserelement in der TPT enthalten ist, kann von dem Empfänger erwartet werden, dass er die Aktivierungsauslöser von dem durch die URL in dem Live-Auslöserelement gekennzeichneten Live-Auslöserserver erhält, indem er das in dem Live-Auslöserelement angegebene Abfrageverfahren verwendet, und dass er diese Aktivierungsauslöser verwendet, um Ereignisse zu den richtigen Zeitpunkten in Bezug auf die von den Medienzeit-Ausdrücken in den Auslösern etablierte Zeitbasis aktiviert.
  • Sowohl eine AMT als auch ein Live-Auslöserserver kann für den gleichen Dienst verwendet werden, wobei in der Regel die erstere statische Aktivierungen und der letztere dynamische Aktivierungen zur Verfügung stellt. Alternativ kann eine AMT allein verwendet werden, wenn alle Aktivierungen für das Segment statisch sind, oder ein Live-Auslöserserver kann alleine verwendet werden, um sowohl statische als auch dynamische Aktivierungen zuzustellen.
  • Eine Beschreibung des TDO-Modells mit von dem ACR-Server empfangenen Aktivierungen wird nun gegeben.
  • Es wird beschrieben, wie Aktivierungsauslöser für ein TDO-Interaktionsdienstmodell ohne einen separaten Auslöser-Server in einer ACR-Umgebung zugestellt werden.
  • Fingerabdruckmarkierungs-ACR-Systeme können einen ACR-Server umfassen. Empfänger können Rahmensignaturen an einen ACR-Server senden, und der ACR-Server kann den durch die Signatur dargestellten Rahmen identifizieren und die von den Empfängern benötigte Information zurücksenden. Wasserzeichenmarkierungs-ACR-Systeme können einen ACR-Server in dem Fall umfassen, wenn die Wasserzeichen nicht mehr Codes umfassen, die zu einem ACR-Server gesendet werden, um die von einem Empfänger benötigte Information zu erhalten. Wasserzeichenmarkierungs-ACR-Systeme dürfen in dem Fall, wenn die Wasserzeichen selbst die von den Empfängern benötigte Information erhalten, keinen ACR-Server umfassen. In jenen ACR-Systemen, die einen ACR-Server umfassen, können zwei verschiedene Modelle zwischen den ACR-Servern und Empfängern verwendet werden: ein Anfrage / Antwort-Modell und ein ereignisgesteuertes Modell.
  • Es wird angenommen, dass der Sender das TDO-Interaktionsmodell unterstützt.
  • Drei Fälle eines ACR-Servers unter Verwendung eines Anfrage / Antwort-Modells, eines ACR-Servers unter Verwendung eines ereignisgetriebenen Modells und eines Wasserzeichenmarkierungs-ACR-Systems, das Informationen direkt einfügt, können angenommen werden.
  • Im Falle eines ACR-Servers könnte das ACR-Verfahren Fingerabdruckmarkierung sein, in welchem Fall Empfänger eine Art von Signatur (oder Fingerabdruck) von Audio- oder Video-Rahmen berechnen und dieselbe an einen ACR-Server zur Identifizierung einsenden, oder es könnte Wasserzeichenmarkierung sein, in welchem Fall Empfänger Codes in der Form von Wasserzeichen aus den Audio- oder Video-Rahmen extrahieren und die Codes an einen ACR-Server zur Identifizierung einsenden.
  • Ausdrücke von Fingerabdrucksignaturen werden der Einfachheit halber beschrieben. Jedoch arbeitet das System in der gleichen Weise wie in dem Fall von Wasserzeichencodes und die vorliegende Erfindung ist nicht auf Fingerabdruckmarkierung begrenzt.
  • 24 ist ein Diagramm, das ein Beispiel einer statischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt.
  • Es wird eine Beschreibung eines Falls gegeben, in dem ein ACR-Server das Anfrage / Antwort-Modell verwendet.
  • In dem Anfrage / Antwort-ACR-Modell kann von dem Empfänger erwartet werden, dass er Signaturen der Inhalte in regelmäßigen Abständen erzeugt (z. B. alle 5 Sekunden, was lediglich beispielhaft ist und von einem Konstrukteur geändert werden kann) und die Signaturen enthaltende Anfragen an den ACR-Server einsendet. Wenn der ACR-Server eine Anfrage von einem Empfänger erhält, kann er eine Antwort zurückgeben. Die Kommunikationssitzung kann möglicherweise zwischen Anfrage / Antwort-Instanzen nicht offen gehalten. In diesem Modell kann es für den ACR-Server nicht möglich sein, Nachrichten an den Client einzuleiten.
  • Für einen ACR-Server, der dieses Anfrage / Antwort-Modell verwendet und Aktivierungsauslöser an Empfänger zustellt, kann jede Antwort von dem ACR-Server eine von Null, Zeitbasis-Auslöser und Aktivierungsauslöser sein.
  • Ein Null-Antwort kann darauf hinweisen, dass die Signatur nicht erkannt wird oder dass (wenn das ACR-Aufnahmemodul Signaturen für Rahmen in Programmsegmenten ohne interaktiven Dienst umfasst) die Signatur einen Rahmen darstellt, der zu einem Segment gehört, das keinen damit verbundenen interaktiven Dienst hat. Das ACR-Aufnahmemodul wird nachstehend beschrieben.
  • Eine Zeitbasis-Auslöserantwort kann angeben, dass keine Ereignisaktivierung eingeplant ist, um vor der nächsten Anfrage des Clients stattzufinden. Von dem Client kann erwartet werden, dass er die Zeitbasis-Auslöser verwendet, um eine Medienzeit-Uhr beizubehalten.
  • Eine Aktivierungsauslöserantwort kann angeben, dass eine Aktivierung bald stattfinden wird, mit der von dem „t=“-Ausdruck in dem Auslöser angegebenen Aktivierungszeit.
  • Wenn ein Empfänger einen Auslöser mit einem neuen locator_part erhält, kann von ihm erwartet werden, dass er die neue TPT sofort herunterlädt, wenn er nicht dieselbe bereits unter Verwendung einer mit einer früheren TPT zugestellten URLList abgerufen hat.
  • Wenn ein Empfänger einen Aktivierungsauslöser erhält, kann von ihm erwarten werden, das Ereignis bei der durch den „t=“-Ausdruck in dem Auslöser angegebenen Zeit relativ zu der Medienzeit-Uhr zu aktivieren.
  • 24 veranschaulicht, wie dieses System für statische Aktivierung (oder für dynamische Aktivierung, wenn das ACR-System von der dynamischen Aktivierung ausreichend vor der Zeit erfährt) funktioniert.
  • In der 24 kann der Empfänger Signaturen für Rahmen senden, für welche der ACR-Server bestimmt, dass sie die Medienzeiten MT1, MT2 und MT3 haben. Für den Rahmen mit Medienzeit MT1 erhält der Empfänger einfach eine Antwort, die einen Zeitbasis-Auslöser enthält. Für den Rahmen mit Medienzeit MT2 ist eine statische Aktivierung bei Medienzeit MTa fällig, so dass der Empfänger eine Antwort erhält, die einen Aktivierungsauslöser enthält, der einen „t=MTa“-Ausdruck hat. Für den Rahmen mit Medienzeit MT3 erhält der Empfänger nur eine Antwort, die einen Zeitbasis-Auslöser enthält.
  • Es kann vorkommen, dass ein Empfänger mehr als einen Aktivierungsauslöser für dieselbe Ereignisaktivierung empfängt. Jedoch werden die Medienzeiten für jeden von ihnen die gleiche sein, so dass der Empfänger sie als Duplikate erkennen kann und nur einen von ihnen anwendet.
  • 25 ist ein Diagramm, das eine Ausführungsform einer statischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt.
  • Es wird eine Beschreibung eines Falls gegeben, in dem der ACR-Server das Anfrage / Antwort-Modell verwendet.
  • In 25 kann der Empfänger Signaturen für bei lokalen Uhrzeiten LC1, LC2, LC3 usw. betrachteten Rahmen senden. Die media_time (Medienzeit) für den bei lokaler Uhrzeit LC1 betrachteten Rahmen kann von dem ACR-Server als MT1 ermittelt werden und der Empfänger erhält nur eine Antwort, die einen Auslöser ohne media_time (Medienzeit) oder event_time (Ereigniszeit) enthält. Die media_time (Medienzeit) für den bei lokaler Uhrzeit LC2 betrachteten Rahmen kann durch den ACR-Server als MT2 ermittelt werden und der ACR-Server weiß, dass eine statische Aktivierung bei media_time (Medienzeit) MTa fällig ist, so dass der ACR-Server eine Antwort sendet, die einen Aktivierungsauslöser enthält, der einen „d=<offset>“-Ausdruck hat, was bedeutet, dass die media_time (Medienzeit) MTA für die Aktivierung <offset> (Versatz) Zeiteinheiten nach MT2 ist. Der Empfänger fügt dann den <offset> (Versatz) zu Zeit LC2 hinzu und bekommt LCa als lokale Zeit, zu der er das Ereignis aktivieren sollte.
  • 26 ist ein Diagramm, das eine Ausführungsform einer dynamischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt.
  • Es wird eine Beschreibung eines Falls gegeben, in welchem eine dynamische Aktivierung in dem Anfrage / Antwort-ACR-Fall auftritt.
  • Für dynamische Aktivierungen in Situationen, wenn das ACR-System nicht von der Ereignisaktivierung erfährt, bis es zu spät ist, um den Auslöser an den Empfänger vor der Zeit zu senden, muss der ACR-Server bis zur nächsten Anfrage warten und sendet dann einen Aktivierungsauslöser. 26 veranschaulicht diesen Fall. Die Auswirkung davon ist, dass dynamische Aktivierungen um so viel wie ein Anfrageintervall verzögert werden können.
  • In der 26 kann der Empfänger Signaturen für Rahmen senden, für welche der ACR-Server bestimmt, dass sie die Medienzeiten MT1, MT2 und MT3 haben. Für die Rahmen mit den Medienzeiten MT1 und MT2, erhält der Empfänger nur eine Antwort, die einen Zeitbasis-Auslöser enthält. Wenn eine dynamische Aktivierung mit Aktivierungszeit MTa bei oder kurz vor media_time (Medienzeit) MTa auftritt, kann der ACR-Server den Empfänger darüber nicht bis zu der nächste Anfrage von dem Empfänger informieren, die für den Rahmen mit Medienzeit MT3 auftritt. Zu dieser Zeit enthält die ACR-Serverantwort einen Aktivierungsauslöser mit Aktivierungszeit MTa (die etwas in der Vergangenheit liegt). In dieser Situation kann von dem Empfänger erwartet werden, den Aktivierungsauslöser anzuwenden, sobald er eintrifft.
  • Auch hier ist es möglich, dass ein Empfänger mehr als einen Aktivierungsauslöser für dieselbe Ereignisaktivierung empfängt. Jedoch wird die Medienzeit für jeden von ihnen die gleiche sein, so dass der Empfänger sie als Duplikate identifizieren kann und nur einen von ihnen anwendet.
  • 27 ist ein Diagramm, das eine Ausführungsform einer dynamischen Aktivierung in einem Anfrage / Antwort-ACR-Fall zeigt.
  • Es wird eine Beschreibung eines Falls gegeben, in welchem eine dynamische Aktivierung in dem Anfrage / Antwort-ACR-Fall auftritt.
  • In 27 kann der Empfänger Signaturen für bei lokalen Uhrzeiten LC1, LC2, LC3 usw. betrachtete Rahmen senden. Die media_time (Medienzeit) für den bei lokaler Uhrzeit LC1 betrachteten Rahmen kann von dem ACR-Server als MT1 bestimmt werden, und der Empfänger erhält nur eine Antwort, die einen Auslöser ohne media_time (Medienzeit) oder event_time (Ereigniszeit) enthält. Die media_time (Medienzeit) für den bei lokaler Uhrzeit LC2 betrachteten Rahmen kann von dem ACR-Server als MT2 bestimmt werden, und der ACR-Server weiß nicht, dass eine dynamische Aktivierung bei media_time (Medienzeit) MTa auftritt, so dass der Empfänger nur eine Antwort ohne media_time (Medienzeit) oder event_time (Ereigniszeit) erhält. Wenn eine dynamische Aktivierung bei media_time (Medienzeit) MTa auftritt, kann der ACR-Server den Empfänger nicht bis zu der nächsten Anfrage von dem Empfänger darüber informieren, die bei lokaler Zeit LC3 auftritt. Zu dieser Zeit kann die ACR-Serverantwort einen Aktivierungsauslöser mit einem negativen <offset>- (Versatz) Wert enthalten oder enthält einen „jetzt ausführen“-Aktivierungsauslöser.
  • Es folgt eine Beschreibung eines ACR-Servers unter Verwendung eines ereignisgesteuerten Modells.
  • In dem ereignisgesteuerten ACR-Modell kann von dem Empfänger erwartet werden, eine permanente Verbindung mit dem ACR-Server einzuleiten, Signaturen des Inhalts in regelmäßigen Abständen (z. B. alle 5 Sekunden) zu erzeugen und die Signaturen über die Verbindung einzusenden. Der ACR-Server reagiert nicht auf jede Signatur. Er kann eine Nachricht an den Empfänger senden, wenn ein neues Segment erfasst wird oder wenn eine Ereignisaktivierung dem Empfänger mitgeteilt werden muss. In diesem Modell ist es möglich, dass der ACR-Server zu jeder Zeit Nachrichten an den Client einleitet.
  • Für einen ACR-Server, der dieses ereignisgesteuerte Modell verwendet und Aktivierungen an Empfänger zustellt, können die folgenden Regeln für Nachrichten von dem ACR-Server zutreffen.
  • Zunächst kann, wenn der ACR-Server eine Signatur von einem Empfänger, der einem neuen Segment entspricht, empfängt, der ACR-Server sofort ein Zeitbasissignal an den Empfänger senden, nur um dem Empfänger zu ermöglichen, die zugehörige TPT zu erhalten.
  • Zweitens kann, wenn ein Ereignis fällig ist, aktiviert zu werden, der ACR-Server einen Aktivierungsauslöser an den Empfänger senden. Wenn möglich kann er den Aktivierungsauslöser kurz vor der Zeit senden, wenn der Empfänger denselben anwenden muss. (Dies ist sehr ähnlich wie das Verhalten in dem Anfrage / Antwort-Modell.) Wenn der ACR-Server von der Aktivierung so spät erfährt, dass er keinen Aktivierungsauslöser kurz vor der Zeit senden kann (was im Falle einer dynamischen Ereignisaktivierung passieren kann), kann er immer noch einen Aktivierungsauslöser senden, sobald er kann. In diesem letzteren Fall ist es möglich, dass der Client die Nachricht wegen Nachrichtenverzögerungen kurz nach der Aktivierungszeit erhält, in welchem Fall von dem Empfänger erwartet wird, dass er das Ereignis sofort nach Empfang der Nachricht aktiviert.
  • Wenn ein Empfänger einen Auslöser mit einem neuen locator_part erhält, kann von ihm erwartet werden, die neue TPT sofort herunterzuladen, es sei denn, er hat sie bereits unter Verwendung einer mit einer früheren TPT zugestellten URLList abgerufen.
  • Eine Beschreibung eines Wasserzeichenmarkierungs-ACR-Systems, das Information direkt einfügt, wird gegeben. Während das Wasserzeichenmarkierungs-ACR-System nicht dargestellt wird, ist das Wasserzeichenmarkierungs-ACR-System nicht auf die folgende Beschreibung beschränkt und kann durch einen Konstrukteur geändert werden.
  • In dem Fall eines Wasserzeichenmarkierungssystems, das die Information, welche die Empfänger benötigen, direkt einfügt, kann das mit einem Rahmen verbundene Wasserzeichen denselben Regeln wie oben für das, was ein Anfrage / Antwort-ACR-Server für diesen Rahmen zurückgeben würde, wie folgt folgen. Der Anfrage / Antwort-ACR-Server kann eine von Null, einem Zeitbasis-Auslöser und einem Aktivierungsauslöser zurückgeben.
  • Eine Null-Antwort kann darauf hinweisen, dass die Signatur nicht erkannt wird, oder dass (wenn das ACR-Aufnahmemodul Signaturen für Rahmen in Programmsegmenten ohne interaktiven Dienst umfasst) die Signatur einen Rahmen darstellt, der zu einem Segment gehört, das keinen mit ihr verknüpften interaktiven Dienst hat.
  • Eine Zeitbasis-Auslöserantwort kann angeben, dass keine Ereignisaktivierung geplant ist, die vor der nächsten Anfrage des Client stattfindet. Von dem client ist zu erwarten, dass er die Zeitbasis-Auslöser verwendet, um eine Medienzeit-Uhr beizubehalten.
  • Eine Aktivierungsauslöserantwort kann angeben, dass eine Aktivierung bald stattfinden wird, mit der Zeit der von dem „t=“-Ausdruck in der Auslöser-Aktivierung angezeigten Aktivierung.
  • In dem Fall eines Wasserzeichenmarkierungs-ACR-System, das die Information, die Empfänger benötigen, zustellt, indem dieselbe direkt in den Wasserzeichen enthalten ist, so dass kein ACR-Server benötigt wird, kann ein Aufnahmemodul den gleichen Regeln wie für das oben beschriebene Anfrage / Antwort-Model folgen, um den mit jedem Rahmen zu verknüpfenden Auslöser zu bestimmen, aber kann dann den Auslöser in dem Wasserzeichen für den Rahmen umfassen, anstatt den Auslöser mit dem Rahmen in einer Datenbank zu verknüpfen. Das Aufnahmemodul und die Datenbank werden später beschrieben.
  • Eine Beschreibung einer Unterstützung von eigenständigen NRT-Diensten wird gegeben. Obwohl dies nicht dargestellt ist, ist die vorliegende Erfindung nicht auf die folgende Beschreibung beschränkt und kann durch einen Konstrukteur geändert werden.
  • Damit ein Empfänger in einer ACR-Umgebung einen Zugriff auf eigenständige NRT Dienstleistungen erhält, muss der Sender Internet-Zugriff auf die NRT-Dienste unterstützen und der Empfänger muss die SMT- und die NRT-IT-Instanzen für den Dienst erhalten.
  • Eine Beschreibung eines Abfrage-Protokolls zum Erhalten von PSIP-Tabellen und NRT-Tabellen über das Internet wird gegeben.
  • Wenn ein Sender dieses Protokoll für einen bestimmten Sende-Datenstrom unterstützt, dann kann ein Empfänger, der die URL des Signalisierungsservers des Senders für diesen Sende-Datenstrom kennt, die folgenden Maßnahmen ergreifen.
  • Zuerst kann der Empfänger eine Abfrage für den „grundlegenden NRT-Satz“ von Tabellen für den Sende-Datenstrom für einen bestimmten zukünftigen Zeitraum (z. B. die nächsten 12 Stunden) erstellen.
  • Zweitens wird dies die SMT und ILT für jeden der eigenständigen NRT-virtuellen Kanäle und die NRT-IT und TFT-Instanzen erzeugen, die das angegebene Zeitintervall abdecken.
  • Eine Möglichkeit, mit welcher ein Empfänger die URL des Signalisierungsservers für einen Sende-Datenstrom entdecken kann, kann sein, dass der Anbieter eines interaktiven Dienstsegments in dem Sende-Datenstrom die Signalisierungsserver-URL in einem zusammen mit der TPT zugestellten URLList-Element zur Verfügung stellen kann.
  • Eine weitere Möglichkeit, mit welcher ein Empfänger URLs von Signalisierungsservern entdecken kann, kann durch Vorkonfiguration sein. In der gleichen Weise, in welcher ein DTV-Empfängerhersteller einen DTV-Empfänger vorkonfigurieren kann, damit er wissen kann, wie ein ACR-Server, der ein bestimmtes Sendegebiet abdeckt, zu finden ist, kann ein DTV-Empfängerhersteller einen DTV-Empfänger vorkonfigurieren, damit er wissen kann, wie ein „NRT-Auffindungsserver“, der ein bestimmtes Sendegebiet abdeckt, zu finden ist. Ein solcher NRT-Auffindungsserver wäre in der Lage, dem Empfänger eine Liste der Sende-Datenströme zu geben, die eigenständige NRT-Dienste anbieten, zusammen mit der Signalisierungsserver-URL für jeden einzelnen.
  • 28 ist ein Diagramm, das eine Ausführungsform einer Architektur für eine ACR-Server-Aktivierung zeigt.
  • Einige ACR-Systeme umfassen einen ACR-Server und einige ACR-Systeme nicht. In Fingerabdruckmarkierungs-ACR-Systemen können Empfänger Rahmen-Signaturen berechnen und an einen ACR-Server senden und der ACR-Server kann die von den Empfängern benötigte Information zurücksenden. Somit umfassen Fingerabdruckmarkierungs-ACR-Systeme einen ACR-Server. In Wasserzeichenmarkierungs-ACR-Systemen können die Wasserzeichen nur Codes enthalten, die eindeutig die Rahmen identifizieren können, oder die Wasserzeichen können die von Empfängern benötigte vollständige Information enthalten. Wenn die Wasserzeichen nur Codes enthalten, können Empfänger die Codes extrahieren und dieselben an einen ACR-Server senden und der ACR-Server sendet die von den Empfängern benötigte Information zurück. In dem Fall, in welchem die Wasserzeichen die vollständige Information umfassen, können Empfänger nur die Information, die sie direkt von den Wasserzeichen benötigen, extrahieren und kein ACR-Server wird benötigt.
  • In diesen ACR-Systemen, die einen ACR-Server enthalten, können zwei verschiedene Modelle zur Kommunikation zwischen den ACR-Servern und Empfängern verwendet werden: ein Anfrage / Antwort-Modell und ein ereignisgesteurtes Modell.
  • In dem Anfrage / Antwort-ACR-Server-Modell kann von dem Empfänger erwartet werden, dass er die Signaturen aus dem Inhalt in regelmäßigen Abständen (z. B. alle 5 Sekunden) berechnet oder daraus Codes extrahiert und die Signaturen oder Codes enthaltende Anfragen an einen ACR-Server sendet. Wenn ein ACR-Server eine Anfrage von einem Empfänger bekommt, kann er eine Antwort zurückgeben. Die Kommunikationssitzung wird zwischen Anfrage / Antwort-Instanzen nicht offen gehalten. In diesem Modell kann es für einen ACR-Server nicht möglich sein, Nachrichten an einen Empfänger einzuleiten.
  • Es wird angenommen, dass der Sender des Kanals, der verarbeitet wird, das TDO-Interaktionsmodell unterstützt.
  • Es kann zwei allgemeine Typen von Ereignisaktivierungen geben: statische Aktivierungen, in denen die Aktivierungszeit bekannt ist, bevor die Übertragung des Segments beginnt, und dynamische Aktivierungen, in denen die Aktivierungszeit dynamisch bestimmt wird, wenn das Segment übertragen wird. In vorher aufgenommen Segmenten können alle Ereignisaktivierungen statisch sein. In Segmenten, welche Live-Sendungen übertragen, können einige oder alle der Ereignisaktivierungen dynamisch sein. Statische Aktivierungen werden üblicherweise in der Aktivierungsmeldungentabelle (AMT; Activation Messages Table) aufgeführt, obwohl sie an Empfänger in der Form von Aktivierungsauslösern geliefert werden können. Dynamische Aktivierungen können in der Form von Aktivierungsauslösern geliefert werden, da ihre zeitliche Planung zum Zeitpunkt, wenn die AMT erzeugt wird, nicht bekannt ist.
  • 28 zeigt eine Architektur zur Unterstützung von ACR-Systemen, die einen ACR-Server verwenden. Dies ist ein logisches Blockdiagramm, nicht eine Implementierungsarchitektur. Zum Beispiel könnte das ACR-Aufnahmemodul mit der Sendequelle zusammen angeordnet werden oder es könnte an einem separaten Ort sein.
  • In der Architektur zur Unterstützung von ACR-Systemen, die einen ACR-Server verwenden, kann die Architektur eine Sendequelle 28010, ein ACR-Aufnahmemodul 28020, einen MVPD 28030, ein STB 28040, einen Empfänger 28050, einen ACR-Client 28060, einen ACR-Konfigurationsserver 28070, einen ACR-Server 28080 und / oder eine Datenbank 28090 umfassen.
  • Die Sendequelle 28010 kann ein Punkt, von dem der A/V-Datenstrom und verbundene interaktive Dienste übertragen werden, zum Beispiel ein Netzwerkverteilungspunkt oder ein Fernsehsender sein.
  • Das ACR-Aufnahmemodul 28020 kann, in dem Fall eines Fingerabdruckmarkierungs-ACR-Systems, Signaturen (Fingerabdrücke) von Rahmen berechnen oder kann, im Fall eines Wasserzeichenmarkierungs-ACR-Systems, das auf Codes basiert, Wasserzeichen einschließlich Codes in Rahmen einfügen. Es kann in der Datenbank 28090 die media_time (Medienzeit) jedes mit einer Signatur oder einem Code verknüpften Rahmens zusammen mit anderen Metadaten speichern. Das ACR-Aufnahmemodul 28020 kann einen einzelnen Kanal in einem Sende-Datenstrom oder einen ganzen Sende-Datenstrom oder mehrere Sende-Datenströme oder eine Kombination davon bearbeiten. Für diese Zwecke wird angenommen, dass das ACR-Aufnahmemodul 28020 Rahmen für Programmsegmente, die einen interaktiven Dienst enthalten, enthält. Jedoch ist es möglich, ACR-Systeme zu haben, in denen alle Rahmen verarbeitet werden, wobei jedoch diejenigen, die nicht Teil eines Segments mit einem interaktiven Dienst sind, eine Angabe in ihrem Datenbank- 28090 Eintrag haben, dass sie nicht Teil eines Segments mit einem interaktiven Dienst sind.
  • Ein Multiprogram-Videoprogrammhändler (Multiprogram Video Program Distributor, MVPD) 28030 ist üblicherweise ein Kabelnetzbetreiber, Satellitenbetreiber oder IPTV-Betreiber. Er kann den Sende-Datenstrom aus der Rundfunkquelle in irgendeiner Weise empfangen, mit dem durch das ACR-Aufnahmemodul 28020 eingefügten Wasserzeichen im Fall eines Wasserzeichenmarkierungs-ACR-Systems nimmt solch ein System häufig alle Programmelemente außer den Audio- und Videospuren heraus und sendet den resultierenden Datenstrom zu Beistellgeräten (STB) 28040 am Kundenstandort.
  • Das STB 28040 dekodiert (dekomprimiert) in der Regel das Audio und Video und sendet dieselben an ein Fernsehgerät zur Darstellung für Zuschauer. Wir gehen davon aus, dass ein DTV-Untertiteldienst #6, der interaktive Dienstauslöser enthält, nicht für das TV-Gerät zur Verfügung steht.
  • Der Empfänger 28050 kann den ACR-Client 28060 umfassen. Der ACR-Client 28060 kann außerhalb des Empfängers 28050 angeordnet sein. Die Struktur des Empfängers 28050 wird später beschrieben.
  • Der ACR-Client 28060 im Empfänger 28050 kann Aktivierungsauslöser von dem ACR-Server 28080 erhalten und diese unter Verwendung einer für diesen Zweck zur Verfügung gestellten API an den Hauptempfängercode weiterleiten. Normalerweise würde der ACR-Client 28060 in den Empfänger 28050 eingebaut, aber andere Konfigurationen sind möglich.
  • Der ACR-Konfigurationsserver 28070 kann eine Möglichkeit für die ACR-Clients 28060 zur Verfügung stellen, um den Standort eines geeigneten ACR-Servers 28080 zu bestimmen. Dieser Auffindungsvorgang kann auf andere Weisen ausgeführt werden.
  • Der ACR-Server 28080 kann Signaturen oder Codes von Empfängern erhalten und Aktivierungsauslöser zu geeigneten Zeitpunkten zurückgeben.
  • Die Datenbank 28090 kann ein Datenspeicher von irgendeiner Art, nicht unbedingt eine Datenbank im eigentlichen Sinne des Wortes, sein, in welcher Information über Audio- oder Video-Rahmen (oder beides) für die Nutzung von ACR-Servern 28080 gespeichert ist.
  • Die Architektur eines ACR-Systems, das eine direkte Zustellung von Information in Wasserzeichen verwendet, könnte keine Datenbank und keinen ACR-Server haben. Das ACR-Aufnahmemodul könnte Information in der Form von Wasserzeichen direkt in die Rahmen in dem Sende-Datenstrom einfügen, anstelle von Einfügen in einen Datenbankeintrag, der Kennungen von Rahmen und die mit denselben verknüpfte Information enthält. Empfänger könnten diese Information aus den Rahmen in der Übertragung extrahieren, anstatt dieselben von einem ACR-Server zu erhalten.
  • Eine Beschreibung einer Zustellung von Aktivierungsauslösern über Anfrage / Antwort-ACR-Server wird Schritt für Schritt gegeben. Dies ist eine Ausführungsform der vorliegenden Erfindung und ein Schritt kann weggelassen werden oder neue Schritte können hinzugefügt werden oder eine Abfolge kann geändert werden.
  • Ein wirksamer Weg, um dieses ACR-Serververhalten zu implementieren ist, dem unten beschriebenen Verfahren zu folgen, wobei die Nummern der Aktionen in dem Verfahren den Nummern in dem obigen Architekturdiagramm, wie in 28 gezeigt, folgen.
    • 1) Der Übertragungsplan für die interaktiven Dienstsegmente und die AMTs oder deren Entsprechungen für jedes Segment können vor der Zeit, zu welcher die Segmente gesendet werden, an das ACR-Aufnahmemodul zugestellt werden. Der Übertragungsplan kann die Segmentkennung, GPS-Startzeit und GPS-Endzeit jedes Segments, das einen damit verknüpften interaktiven Dienst enthalten kann, enthalten. Wenn es irgendwelche Änderungen in letzter Minute an dem Übertragungsplan gibt, kann das ACR-Aufnahmemodul von diesen Änderungen unverzüglich benachrichtigt werden. Der Übertragungsplan kann auch die Versionsnummer der TPT für jedes Segment enthalten und das ACR-Aufnahmemodul könnte eine Benachrichtigung in Echtzeit von jeder beliebigen außerplanmäßigen Änderung in einer TPT-Version erhalten, so dass es, falls benötigt, „Version“- („v=“) Ausdrücke in Auslöser einfügen kann. Das Aufnahmemodul kann auch so konfiguriert werden, dass es „Verbreitung“ (spread) („s=“) Ausdrücke in Auslöser zu geeigneten Zeitpunkten, wie zum Beispiel in einem bestimmten Intervall zu Beginn jedes Segment (wenn voraussichtlich viele Empfänger neue TOTs zur selben Zeit anfordern) einfügen kann.
    • 2) Wenn es irgendwelche dynamische Aktivierungen gibt, können Links von Quellen von dynamischen Aktivierungen zu dem ACR-Aufnahmemodul aufgesetzt werden.
    • 3) Der Sende-Datenstrom kann zu dem ACR-Aufnahmemodul weitergeleitet werden.
    • 4) Das ACR-Aufnahmemodul kann Signaturen aus den Rahmen (in dem Fall eines Fingerabdruckmarkierungs-ACR-Systems) extrahieren oder Codes in die Rahmen (in dem Fall eines Wasserzeichenmarkierungs-ACR-Systems) für alle in Segmenten enthaltenen Rahmen einfügen, die einen mit diesen verknüpften interaktiven Dienst haben. (Das ACR-Aufnahmemodul kann unter Verwendung einer GPS-Uhr und der Startzeiten und Endzeiten von Segmenten in dem Übertragungsplan bestimmen, ob ein Rahmen in solch einem Segment ist.) Für jeden solchen Rahmen kann das ACR-Aufnahmemodul einen Datensatz in die Datenbank einfügen, der einen Auslöser und die mit dem Rahmen verbundene Signatur oder Code umfassen kann. Die Regeln für das, was in einen Auslöser eingefügt wird, werden am Ende dieser Liste von Aktionen in dem Vorgang beschrieben.
    • 5) Ein Sende-Datenstrom kann zu dem MVPD weiterführen.
    • 6) Ein MVPD kann den Sende-Datenstrom zu dem STB am Standort des Teilnehmers leiten (wobei üblicherweise zuerst der gesamte interaktive Inhalt herausgenommen wird).
    • 7) Ein STB kann das A/V decodieren und das unkomprimierte A/V an den DTV-Empfänger senden.
    • 8) Wenn der Empfänger zuerst eingeschaltet wird, kann er seinen Standort an einen ACR-Konfigurationsserver senden. (Die URL des ACR-Konfigurationsservers kann in dem Empfänger eingebaut sein.)
    • 9) Der ACR-Konfigurationsserver kann die URL eines ACR-Servers für den Empfänger zur Benutzung zurücksenden.
    • 10) Der ACR-Client in dem Empfänger kann beginnen, Fingerabdruck-Signaturen oder Wasserzeichencodes zu extrahieren und sie an den ACR-Server zu senden.
    • 11) Wenn der ACR-Server eine Signatur oder Code empfängt, kann er versuchen, ihn mit der Datenbank abzugleichen.
    • 12) Wenn die Signatur oder Code mit keiner Signatur oder Code in der Datenbank übereinstimmt, dann kann der ACR-Server eine „keine Übereinstimmung“-Angabe zurückgeben. Wenn die Signatur oder Code mit einer Signatur oder Code in der Datenbank übereinstimmt, dann kann der ACR-Server den Datensatz für den Rahmen, der die passende Signatur oder Code hat, zurückgeben. Im letzteren Fall kann der Datensatz in der Datenbank einen Zeitbasis-Auslöser enthalten und / oder er kann eine oder mehrere Aktivierungsauslöser enthalten, je nachdem, was in den Datensatz für den Rahmen durch das ACR-Aufnahmemodul eingefügt wurde.
    • 13) Wenn der ACR-Server eine „keine Übereinstimmung“-Angabe aus der Datenbank zurückbekommt, kann er eine NULL-Antwort an den ACR-Client zurückgeben. Andernfalls kann der ACR-Server den Auslöser oder die Auslöser, die er erhalten hat, an den ACR-Client zurückgeben.
  • Die folgenden Regeln können verwendet werden, um festzustellen, welcher Auslöser oder welche Auslöser das ACR-Aufnahmemodul in jeden Rahmen-Datensatz in der Datenbank einfügt.
  • 29 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (b) und Fall (a) ohne EndTime (Endzeit) zeigt.
  • Es kann angenommen werden, dass es eine obere Grenze L1 in der Länge der durch einzelne ACR-Clients in Empfängern verwendeten Anfrageintervalle gibt. (Es ist nicht wichtig, ob die ACR-Clients wissen, was diese Schranke ist, so lange sie in der Praxis innerhalb dieser funktionieren). L2 sei die Länge einer Zeit, die ein typischer ACR-Client benötigt, um die Signatur zu berechnen oder das mit einem Rahmen verknüpfte Wasserzeichen zu entpacken, gerechnet ab dem Zeitpunkt, wenn der Rahmen beim Empfänger ankommt. L3 sei die typische Umlaufzeit für eine Meldung von einem ACR-Client zu einem ACR-Server und zurück. Es sei M = L1 + L2 + L3. (Ein etwas größerer Wert von M könnte auch verwendet werden; der Vorteil eines etwas größeren Wertes ist, dass Empfänger ein wenig mehr Zeit bekommen, um auf die Auslöseraktivierung zu reagieren; der Nachteil ist, dass die Wahrscheinlichkeit größer ist, dass Empfänger mehrere Aktivierungsauslöser für dieselbe Ereignisaktivierung erhalten, was nicht wirklich ein Problem darstellt, da sie in der Lage sind zu erkennen, dass diese Duplikate sind, wie nachfolgend erläutert, und nur einmal die Aktivierung anwenden.)
  • Das ACR-Aufnahmemodul kann nur einen Zeitbasis-Auslöser in den mit einem Rahmen verbundenen Datensatz einfügen, wenn nicht mindestens eine der folgenden drei Bedingungen gilt:
    • (a) Es gibt ein Aktivierungselement in der AMT, so dass die media_time (Medienzeit) des Rahmens im Zeitintervall beginnend bei Zeitspanne M vor der startTime (Startzeit) des Aktivierungselements und endend bei der endTime (Endzeit) des Aktivierungselements liegt. (Wenn eine Aktivierung keine endTime hat, wird die endTime als gleich der startTime angenommen.)
    • (b) Eine dynamische Auslöseraktivierung wurde durch das Aufnahmemodul vor dem Zeitintervall von Zeitspanne M unmittelbar vor der Aktivierungszeit des Auslösers („t=<event_time>“) empfangen und der Rahmen liegt innerhalb dieses Intervalls.
    • (c) Ein dynamischer Aktivierungsauslöser wurde durch das Aufnahmemodul spätestens zu Beginn des Intervalls von Zeitspanne M unmittelbar vor der Aktivierungszeit des Auslösers empfangen und die media_time (Medienzeit) des Rahmens ist in dem Intervall von Zeitspanne L1 unmittelbar nach dem Eingang des Auslösers.
  • Wenn irgendeine der Bedingungen (a), (b) oder (c) gilt, dann kann ein Aktivierungsauslöser in dem Datensatz enthalten sein, mit einem „e=“-Ausdruck, um das zu aktivierende Ereignis zu identifizieren, und einem „t=“-Ausdruck, um die startTime (Startzeit) des Aktivierungselementes in der AMT (für Bedingung (a)) oder die Ereigniszeit des dynamischen Auslösers (für Zustand (b)) anzugeben. Der Auslöser kann auch einen Versions- („v=“) Ausdruck enthalten.
  • Der Grund für die Fortsetzung der Verknüpfung von Aktivierungsauslösern mit Rahmen im gesamten Intervall von der Startzeit (Starttime) bis zu der Endzeit (endTime) im Fall (a) ist, Empfänger zu versorgen, die dem Kanal auf halbem Weg in dem Intervall beitreten.
  • Es ist zu beachten, dass dieser Ansatz keine zusätzliche Nachrichten auf der Seite des ACR-Servers benötigt. Er gibt einfach die Information, die er in der Datenbank findet, an den ACR-Client zurück. Die ganzen Informationen können sich in dem ACR-Aufnahme-Modul befinden. Darüber hinaus sind die Berechnungen, die das ACR-Aufnahme-Module durchführen muss, sehr einfach.
  • Mit diesem Schema ist es möglich, dass ein Empfänger mehr als einen (mit verschiedenen Rahmen verbundenen) Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten kann. Allerdings kann ein Empfänger leicht aus den „t=“-Werten erkennen, dass sie alle dieselbe Aktivierungszeit haben, so dass der Empfänger bestimmen kann, dass sie Duplikate sind, und das Ereignis nur einmal aktivieren kann.
  • In zwei der obigen Situationen kann der „t=“-Ausdruck in den Aktivierungsauslösern eine event_time (Ereigniszeit) vor der media_time (Medienzeit) des Rahmens, mit dem er verknüpft ist, haben. In einer Situation (a), wenn die endTime (Endzeit) des Aktivierungselements deutlich später als die startTime (Startzeit) ist, dann kann ein Empfänger in der Regel mehrere Aktivierungsauslöser während des Intervalls zwischen der startTime (Startzeit) und der endTime (Endzeit) erhalten, und sie alle können die startTime (Startzeit) als Aktivierungszeiten haben. In einer Situation (c), können die Aktivierungsauslöser für die Aktivierung in Rahmendatensätze so spät eingefügt werden, dass die Aktivierungsauslöser, die ein Empfänger erhält, als Antwort auf eine Anfrage mit einer Signatur für einen Rahmen kommt, der media_time (Medienzeit) nach der Aktivierungszeit hat. Wenn ein Empfänger einen Aktivierungsauslöser mit einer event_time (Ereigniszeit) vor der media_time (Medienzeit) des Rahmens, mit dem er verbunden ist, kann von ihm erwartet werden, dass das Ereignis sofort aktiviert wird, wenn er es nicht als ein Duplikat eines Aktivierungsauslöser erkennt, den er bereits gesehen hat und verwendet hat, um das Ereignis zu aktivieren.
  • Der Zweck, event_time- (Ereigniszeit) Werte in der Vergangenheit anstelle von „jetzt ausführen“-Auslösern für die Situation zu verwenden, wenn der Rahmen media_time (Medienzeit) später als die event_activation- (Ereignisaktivierung) Zeit ist, liegt darin, dass ein Empfänger mehr als einen von diesen „nachträglichen“ Aktivierungsauslösern erhalten kann. Die „t=“-Werte erlauben dem Empfänger, zu bestimmen, dass sie alle dieselbe Aktivierungszeit haben, und das Ereignis nur einmal zu aktivieren.
  • 29 zeigt Situation (b) und Situation (a), wenn das Aktivierungselement in der AMT kein endTime- (Endzeit) Attribut hat.
  • 29 zeigt ein Beispiel von Situation (a) in Aktion (4) oben, in dem Fall, wenn das Aktivierungselement in der AMT keine endTime (Endzeit) hat. Dies kann auch ein Beispiel von Situation (b) in Schritt (4) oben sein, wobei ein dynamischer Aktivierungsauslöser mindestens M Zeiteinheiten vor seiner Aktivierungszeit an das ACR-Aufnahmemodul gesendet wird.
  • 29 zeigt eine Ereignisaktivierungszeit über der Zeitgeraden mit einem vorangehenden Intervall von Länge M, das Intervalle von Längen L1, L2 und L3 umfasst. Die senkrechten Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen an. Jeder Rahmen vor dem Beginn des Intervalls von Länge M oder im Anschluss an die Ereignisaktivierungszeit würde in der Datenbank einen damit verknüpften Zeitbasisauslöser haben. Jeder Rahmen in dem Intervall von Länge M würde in der Datenbank einen damit verknüpften Aktivierungsauslöser haben, wie zum Beispiel die beiden Beispiele (f1, f2) an der Unterseite der Figur. Der „t=“-Ausdruck für jeden Rahmen würde die Ereignisaktivierungszeit relativ zu media_time (Medienzeit) angeben (durch eingekreiste f1 und f2 angezeigt).
  • Vier eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Beispiel würde der Empfänger zwei Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten, aber sie würden dieselben Ereignisaktivierungszeiten haben, so dass der Empfänger sie als Duplikate erkennen und nur den ersten anwenden würde. Da der Zeitabstand zwischen Empfängeranfragen kleiner als L1 ist, wird sichergestellt, dass der Empfänger mindestens eine Anfrage mit einer Signatur für einen Rahmen in dem in dem Diagramm gezeigten Ll-Intervall stellt. Das gibt ihm Zeit, jeweils vor der Aktivierungszeit die Signatur zu berechnen, die Anfrage an den ACR-Server zu senden und die Aktivierungsauslöser als Antwort zurückzugeben. In diesem Beispiel würde der erste Aktivierungsauslöser, den der Empfänger erhält, weit vor der Zeit zugestellt werden; der zweite Aktivierungsauslöser, den der Empfänger bekommt, würde gerade noch rechtzeitig ankommen (er ist ein Duplikat).
  • 30 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (b) und Fall (a) ohne EndTime (Endzeit) zeigt.
  • Es wird eine Beschreibung von Aktivierungsauslösern im Fall (b) und Fall (a) ohne EndTime (Endzeit) gegeben.
  • 30 zeigt ein Beispiel von Situation (a) in Aktion (4) oben, in dem Fall, wenn das Aktivierungselement in der AMT keine endTime (Endzeit) hat. Dies ist auch ein Beispiel von Situation (b) in Aktion (4) oben, wobei ein dynamischer Aktivierungsauslöser mindestens M Zeiteinheiten vor der Aktivierungszeit an das ACR-Aufnahmemodul gesendet wird.
  • 30 zeigt eine Ereignisaktivierungszeit über der Zeitgeraden mit einem vorhergehenden Intervall von Länge M, das Intervalle mit Längen L1, L2 und L3 umfasst. Die Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen. Jeder Rahmen vor dem Beginn des Intervalls von Länge M oder im Anschluss an die Ereignisaktivierungszeit würde in der Datenbank einen damit verknüpften Auslöser ohne <media_time>- (Medienzeit) oder <event_time>- (Ereigniszeit) Ausdrücken haben. Jeder Rahmen in dem Intervall von Länge M würde in der Datenbank einen damit verknüpften Aktivierungsauslöser haben, wie zum Beispiel die beiden Beispiele an der Unterseite der Figur. Der „d=“-Ausdruck für jeden Rahmen würde die Länge einer Zeit zwischen diesem Rahmen und der Ereignisaktivierungszeit angeben (durch eingekreiste f1 und f2 angezeigt).
  • Vier eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Beispiel würde der Empfänger zwei Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten, aber die Aktivierungszeiten, die durch Addieren des Werts <d1> zu der lokalen Zeit des Empfängers für Rahmen f1 oder durch Addieren des Werts <d2> zu der lokalen Zeit des Empfängers von Rahmen f2 berechnet werden, würden beide das gleiche Ergebnis geben, so dass der Empfänger sie als Duplikate erkennen und nur den ersten anwenden würde. Da der Zeitabstand zwischen den Empfängeranfragen kleiner als L1 ist, wird sichergestellt, dass der Empfänger mindestens eine Anfrage mit einer Signatur für einen Rahmen innerhalb des in dem Diagramm gezeigten L1-Intervalls stellt. Das gibt ihm Zeit, jeweils vor der Aktivierungszeit die Signatur zu berechnen, die Anfrage an den ACR-Server zu senden und den Aktivierungsauslöser als Antwort zu erhalten. In diesem Beispiel würde der von dem Empfänger empfangene zweite Aktivierungsauslöser nach der Aktivierungszeit ankommen.
  • 31 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (a) mit EndTime (Endzeit) zeigt.
  • 31 veranschaulicht Situation (a) in Aktion (4) oben, in dem Fall, wenn das Aktivierungselement in der AMT sowohl eine endTime (Endzeit) als auch eine startTime (Startzeit) hat.
  • Die Figur zeigt eine Ereignisaktivierung startTime (Startzeit) und endTime (Endzeit) über der Zeitgeraden, mit einem Intervall von Länge M vor der startTime (Startzeit). Die Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen. Jeder Rahmen vor dem Beginn des Intervalls der Länge M oder im Anschluss an die Ereignisaktivierung endTime (Endzeit) hätte in der Datenbank einen mit ihm verknüpften Zeitbasis-Auslöser. Jeder Rahmen innerhalb des Intervalls von Länge M oder zwischen der startTime (Startzeit) und endTime (Endzeit) der Ereignisaktivierung würde einen mit ihm in der Datenbank verknüpften Aktivierungsauslöser haben, in der durch die drei Beispiele unten in der Figur dargestellten Form. Der „t=“-Ausdruck für jeden Rahmen würde die Ereignisaktivierungszeit angeben, relativ zu der media_time-(Medienzeit) Geraden (angezeigt durch eingekreiste f1, f2 und f3).
  • Drei eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Fall würde der Empfänger drei Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten, aber die Aktivierungszeiten würden alle gleich sein, so dass der Empfänger die gleichen als Duplikate erkennen und nur den ersten anwenden würde.
  • Natürlich würden die ersten beiden in dem Diagramm gezeigten Aktivierungsauslöser überhaupt nicht von einem Empfänger, der dem Kanal nach der startTime (Startzeit) beitritt und die Signatur von Rahmen F3 mit seiner ersten Anfrage sendet, gesehen werden.
  • 32 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern im Fall (a) mit EndTime (Endzeit) zeigt.
  • Eine Beschreibung von Aktivierungsauslösern wird im Fall (a) mit EndTime (Endzeit) gegeben.
  • 32 veranschaulicht Situation (a) in Aktion (4) oben, in dem Fall, wenn das Aktivierungselement in der AMT sowohl eine endTime (Endzeit) als auch eine startTime (Startzeit) hat.
  • Die Figur zeigt eine Ereignisaktivierung-startTime (Startzeit) und -endTime (Endzeit) über der Zeitgeraden, mit einem Intervall von Länge M vor der startTime (Startzeit). Die Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen. Jeder Rahmen vor dem Beginn des Intervalls von Länge M oder im Anschluss an das Ereignisaktivierung-endTime (Endzeit) würde in der Datenbank einen mit ihm verknüpften Auslöser ohne <media_time>- (Medienzeit)- oder <event_time>-(Ereigniszeit) Ausdrücken haben. Jeder Rahmen in dem Intervall von Länge M würde einen Aktivierungsauslöser in der Datenbank haben, in der durch die beiden Beispiele an dem unteren Teil der Figur dargestellten Form. Der „d=“-Ausdruck für jeden Rahmen würde die Länge einer Zeit zwischen dem Rahmen und der Ereignisaktivierungszeit (durch eingekreiste senkrechte Pfeile angezeigt) angeben.
  • Eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Fall würde der Empfänger drei Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten, aber die Aktivierungszeiten, die durch Addieren des Werts <d1> zu der lokalen Zeit des Empfängers für Rahmen f1 oder durch Addieren des Werts <d2> zu der lokalen Zeit des Empfängers von Rahmen f2 oder durch Addieren des (negativen) Werts <d3> zu der lokalen Zeit des Empfängers von Rahmens f3 berechnet wird, würden alle das gleiche Ergebnis geben, so dass der Empfänger dieselben als Duplikate erkennen und nur die erste anwenden würde.
  • Natürlich würden die ersten beiden in dem Diagramm gezeigten Aktivierungsauslöser überhaupt nicht von einem Empfänger, der dem Kanal nach der startTime (Startzeit) beitritt und die Signatur von Rahmen F3 mit seiner ersten Anfrage sendet, gesehen werden.
  • 33 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern für Fall (c) zeigt.
  • 33 veranschaulicht eine Situation (c) in einer Aktion (4) oben, in welcher ein dynamischer Aktivierungsauslöser später als M Zeiteinheiten vor der Aktivierungszeit an das ACR-Aufnahmemodul gesendet wird.
  • 33 zeigt eine dynamische Ereignisaktivierungszeit über der Zeitgeraden und eine Zeit kurz vor der Ereignisaktivierungszeit, wenn das ACR-Aufnahmemodul von der Ereignisaktivierung erfährt, mit einem Intervall von Länge L1 nach der Zeit, wenn das ACR-Aufnahmemodul von der Ereignisaktivierung erfährt. Die senkrechten Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen an. Jeder Rahmen vor dem Beginn des Intervalls von Länge L1 oder nach dem Ende des Intervalls von Länge L1 hätte einen in der Datenbank mit ihm verbundenen Zeitbasis-Auslöser. Jeder Rahmen in dem Intervall von Länge L1 würde einen Aktivierungsauslöser in der Datenbank haben, wie zum Beispiel den in dem Beispiel an der Unterseite der Figur gezeigten. Der „t=“-Ausdruck für jeden Rahmen würde die Ereignisaktivierungszeit angeben, relativ zu der Medienzeitgeraden (durch eingekreiste senkrechte Pfeile angezeigt). Eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Fall würde der Empfänger nur einen Aktivierungsauslöser für die Ereignisaktivierung senden. Da die Aktivierungszeit des Aktivierungsauslösers der Zeit vorausgeht, zu welcher sie empfangen wurde, würde der Empfänger den Auslöser sofort nach Empfang anwenden.
  • 34 ist ein Diagramm, das eine Ausführungsform von Aktivierungsauslösern für Fall (c) zeigt.
  • Eine Beschreibung von Aktivierungsauslösern wird für Fall (c) gegeben.
  • 34 zeigt eine Situation (c) in einer Aktion (4) oben, in welcher eine dynamische Auslöseraktivierung später als M Zeiteinheiten vor der Aktivierungszeit an das ACR-Aufnahmemodul gesendet wird.
  • 34 zeigt eine dynamische Ereignisaktivierungszeit über der Zeitgeraden und eine Zeit kurz vor der Ereignisaktivierungszeit, wenn das ACR-Aufnahmemodul von der Ereignisaktvierung erfährt, mit einem Intervall von Länge M, das auf die Zeit folgt, wenn das ACR-Aufnahmemodul von der Ereignisaktivierung erfährt. Die Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen. Jeder Rahmen vor dem Beginn des Intervalls von Länge M oder nach dem Ende des Intervalls von Länge M würde einen Auslöser in der Datenbank ohne <media_time>- (Medienzeit) oder <event_time>- (Ereigniszeit) Ausdrücke haben. Jeder Rahmen in dem Intervall von Länge M würde einen Aktivierungsauslöser in der Datenbank haben, wie zum Beispiel jene in den beiden Beispielen an der Unterseite der Figur. Der „d=“-Ausdruck für jeden Rahmen würde die Länge einer Zeit zwischen diesem Rahmen und der Ereignisaktivierungszeit (durch eingekreiste senkrechte Pfeile angezeigt) angeben. Eingekreiste vertikale Pfeile können ein Beispiel darstellen, wenn ein typischer Empfänger eine Anfrage sendet. In diesem Fall würde der Empfänger zwei Aktivierungsauslöser für die gleiche Ereignisaktivierung erhalten, aber die Aktivierungszeiten, die durch Addieren des (negativen) Werts <d1> zu der lokalen Zeit des Empfängers für Rahmen f1 und durch das Addieren des (negativen) Werts <d2> zu der lokalen Zeit des Empfängers für Rahmen f2 berechnet werden, würden beide das gleiche Ergebnis geben, so dass der Empfänger sie als Duplikate erkennen und nur die erste anwenden würde. Da die Aktivierungszeit des ersten Auslösers vor der Zeit, als sie empfangen wurde, liegt, würde der Empfänger den Auslöser sofort anwenden, wenn er empfangen wird.
  • 35 ist ein Diagramm, das eine Ausführungsform von in der letzten Minute zugestellten dynamischen Aktivierungsauslösern zeigt.
  • In dem ereignisgetriebenen ACR-Modell kann von dem Empfänger erwartet werden, dass er eine persistente Verbindung mit dem ACR-Server einleitet, mit Rahmen in regelmäßigen Zeitabständen (z. B. alle 5 Sekunden) verbundene Signaturen erzeugt und die Signaturen über die Verbindung übermittelt. Der ACR-Server antwortet nicht auf jede Signatur. Er kann eine Nachricht an den Empfänger senden, wenn ein neues Segment erkannt wird oder wenn eine Ereignisaktivierung dem Empfänger mitgeteilt wird. In diesem Modell ist es dem ACR-Server möglich, Nachrichten zu jeder Zeit über die persistente Verbindung an den Client einzuleiten.
  • Darüber hinaus ist es für den Server einfach, eine bestimmte Menge an Information über jeden Empfänger, wie zum Beispiel die Segmentkennung (<locator_part> von einem Auslöser) beizubehalten, die der jüngsten Einreichung von dem Empfänger und den an den Empfänger gesendeten letzten Aktivierungsauslösern entspricht.
  • Für einen ACR-Server, der dieses ereignisgesteuerte Modell verwendet und Aktivierungen an Empfänger zustellt, können die folgenden Regeln für Nachrichten von dem ACR-Server gelten.
  • Zuallererst kann, wenn der ACR-Server eine Signatur von einem Empfänger empfängt, der einem Rahmen in einem neuen Segment entspricht, der ACR-Server eine Nachricht an den Empfänger mit einem Zeitbasisauslöser sofort senden, um den Empfänger zu ermöglichen, die verknüpfte TPT zu erhalten.
  • Zweitens kann, wenn der ACR-Server eine Signatur von einem Empfänger empfängt, der einem Rahmen in einem Teil eines Segments entspricht, das eine neue Versionsnummer für die TPT (verschieden von der neuesten Version, die der Empfänger gesehen hat) hat, der ACR-Server eine Nachricht sofort an den Empfänger mit einem Zeitbasisauslöser senden, der einen „v=“-Ausdruck hat, um dem Empfänger zu ermöglichen, die neue Version der zugehörigen TPT zu erhalten.
  • Drittens kann, wenn ein Ereignis fällig ist, aktiviert zu werden, der ACR-Server einen Aktivierungsauslöser an den Empfänger senden. Wenn möglich, kann er den Aktivierungsauslöser kurz vor der Zeit senden, wenn der Empfänger ihn anwenden muss, mit einem „t=“-Ausdruck in dem Aktivierungsauslöser, um die Aktivierungszeit relativ zu der Medienzeitgeraden anzuzeigen. (Dies ähnelt stark dem Verhalten in dem Anfrage / Antwort-Modell.) Wenn der ACR-Server von der Aktivierung so spät erfährt, dass er einen Aktivierungsauslöser nicht wie üblich so weit vor der Zeit senden kann, kann er einen Aktivierungsauslöser senden, sobald er von der Aktivierung erfährt. (In diesem letzteren Fall könnte der Empfänger den Aktivierungsauslöser nach seiner Aktivierungszeit erhalten, in welchem Fall von ihm erwartet werden kann, dass er das Ereignis aktiviert, sobald er den Aktivierungsauslöser erhält.)
  • Die Architektur für den in 28 gezeigten Anfrage / Antwort-Fall ist auch für diesen ereignisgetriebenen Fall mit einem Unterschied geeignet. Der Unterschied besteht darin, dass es für den ereignisgetriebenen Fall eine neue Aktion (2a) geben kann. Wenn es irgendwelche dynamischen Aktivierungsauslöser gibt, dann können Verbindungen zwischen dem ACR-Aufnahmemodul und allen ACR-Servern, welche die von dem ACR-Aufnahmemodul bestückte Datenbank verwenden, aufgesetzt werden, so dass das ACR-Aufnahmemodul ausgewählte dynamische Aktivierungsauslöser an die ACR-Server senden kann.
  • Die nummerierten Aktionen für den ereignisgesteuerten Fall können ähnlich zu jenen für den Anfrage / Antwort-Fall sein. Neben der neuen Aktion (2a) ist Aktion (4) leicht unterschiedlich, Aktion (13) ist leicht unterschiedlich und eine neue Aktion (14) wird hinzugefügt.
  • In Aktion (4) kann das ACR-Aufnahmemodul Signaturen aus den Rahmen (in dem Fall eines Fingerabdruck-ACR-Systems) extrahieren oder Codes in die Rahmen (in dem Fall eines Wasserzeichen-ACR-Systems) einfügen, für alle in Segmenten enthaltenen Rahmen, die einen damit verbundenen interaktiven Dienst haben. (Das ACR-Aufnahmemodul kann unter Verwendung einer GPS-Uhr und der Startzeiten und Endzeiten von Segmenten in dem Sendeplan bestimmen, ob ein Rahmen in einem solchen Segment ist.) Für jeden solchen Rahmen kann das ACR-Aufnahmemodul einen Datensatz in die Datenbank einfügen, der die mit dem Rahmen verknüpfte Signatur oder Code und einen Auslöser umfassen kann. Der durch das ACR-Aufnahmemodul eingeschlossene Auslöser kann ein Zeitbasis-Auslöser sein, wenn nicht mindestens eine der folgenden Bedingungen gilt:
    • (a) Es gibt ein Aktivierungselement in der AMT, so dass die media_time (Medienzeit) des Rahmens in dem Zeitintervall beginnend bei Zeitspanne M vor der startTime (Startzeit) des Aktivierungselements und endend bei der endTime (Endzeit) des Aktivierungselements ist. (Wenn eine Aktivierung keine endTime hat, wird die endTime als gleich der startTime angesehen.) (Identisch für Bedingung (a) für das Anfrage / Antwort-ACR-Modell)
    • (b) Ein dynamischer Aktivierungsauslöser wurde durch das Aufnahmemodul vor dem Zeitintervall von Zeitspanne M unmittelbar vor der Aktivierungszeit des Auslöser („t=<event_time>“) empfangen, und der Rahmen liegt innerhalb dieses Intervalls. (Identisch für Bedingung (b) für das Anfrage / Antwort-ACR-Modell)
  • Wenn eine der Bedingungen (a) oder (b) erfüllt ist, dann kann ein Aktivierungsauslöser in dem Datensatz enthalten sein, mit einem „e=“-Ausdruck, um das zu aktivierende Ereignis zu kennzeichnen, und einem „t=“-Ausdruck, um die startTime (Startzeit) des Aktivierungselements in der AMT anzugeben (für Bedingung (a) oder die event_time (Ereigniszeit) des dynamischen Auslösers (für Zustand (b)).
  • Wenn ein dynamischer Aktivierungsauslöser von dem Aufnahmemodul während des Intervalls von Zeitspanne M unmittelbar vor der Aktivierungszeit des Auslösers (wobei M die gleiche Bedeutung wie in dem Anfrage / Antwort-Server-Fall hat) empfangen wird, dann kann das Aufnahmemodul den Aktivierungsauslöser zu allen ACR-Servern weiterleiten, welche die Datenbank verwenden, in welche das Aufnahmemodul Datensätze einfügen kann, ohne dass irgendetwas über diesen dynamischen Aktivierungsauslöser in die Datenbank gestellt wird (Abwandlungen dieser Architektur sind möglich, bei denen dynamische Aktivierungsauslöser direkt von den dynamischen Aktivierungsauslöser-Quellen ohne Umweg über das Aufnahmemodul zu den ACR-Servern übergeben werden, aber die ACR-Server erhalten die dynamischen Aktivierungsauslöser, die später als M Zeiteinheiten vor der Aktivierungszeit ankommen, so dass er sofort eine Nachricht an den entsprechenden Empfänger senden kann. Es kann vielleicht zu spät sein, wenn er bis zu den nächsten Empfänger-Einreichungen wartet.)
  • In Aktion (13) kann, wenn der ACR-Server eine „keine Übereinstimmung“-Anzeige aus der Datenbank erhält, nachdem er keine für die unmittelbar vorausgehenden Einreichung empfangen hat, er eine NULL-Nachricht an den Empfänger senden. Wenn er einen Auslöser mit einem <locator_part>, der sich von dem <locator_part>, den er für die unmittelbar vorangegangene Einreichung empfangen hat, unterscheidet, kann er den Auslöser an den Empfänger senden. In beiden Fällen kann dies dem Empfänger mitteilen, dass entweder der betrachtete Kanal geändert worden ist oder das betrachtete Segment ein Ende erreicht hat, so dass der Empfänger ein TDO, das gerade ausgeführt wird, beenden kann und gegebenenfalls ein neues TPT herunterladen kann. Wenn der ACR-Server einen oder mehrere Aktivierungsauslöser zurückbekommt, kann er diese an den Empfänger senden, wobei alle, die Duplikate von Aktivierungsauslösern sind, die er bereits an den Empfänger gesendet hat, verworfen werden. Andernfalls kann der ACR-Server nichts tun.
  • In einer neuen Aktion (14) kann, wenn ein ACR-Server einen dynamischen Aktivierungsauslöser empfängt, er den <locator_part> der dynamischen Aktivierungsauslöser mit dem aktuellen <locator_part> für jeden seiner ACR-Clients vergleichen, wobei der aktuelle <locator_part> für einen Client der <locator_part> des Auslösers ist, den der ACR-Server aus der Datenbank für die letzte Einreichung von dem ACR-Client erhielt. Für jeden Client, wo der <locator_part> übereinstimmt, kann der ACR-Server den Aktivierungsauslöser an den Client senden.
  • 29 und 31 zeigen die Handhabung von Auslösern für statische und für dynamische Aktivierungen, die an das ACR-Aufnahmemodul mindestens M Zeiteinheiten vor ihrer Aktivierungszeit zugestellt werden. Der Unterschied liegt darin, dass der ACR-Server duplizierte Aktivierungsauslöser verwerfen kann, anstatt sie weiter zu den Empfängern zu senden.
  • 35 zeigt ein Beispiel für die Handhabung eines kurzfristig (weniger als M Zeiteinheiten vor der Aktivierungszeit) empfangenen dynamischen Aktivierungsauslösers.
  • 35 zeigt eine dynamische Ereignisaktivierungszeit auf der Zeitgeraden, und eine Zeit kurz vor der Ereignisaktivierungszeit, wenn das ACR-Aufnahmemodul von der Ereignisaktivierung erfährt. Die senkrechten Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen an. Sobald der ACR-Server die Aktivierungsauslöser von dem ACR-Aufnahmemodul empfängt, kann er den Aktivierungsauslöser an alle Empfänger senden, die aktuell das mit dem Aktivierungsauslöser (wie durch den <locator_part> des Auslösers gekennzeichnet) verknüpfte Segment betrachten.
  • 36 ist ein Diagramm, das eine Ausführungsform von in letzter Minute zugestellten dynamischen Aktivierungsauslösern zeigt.
  • Eine Beschreibung von in letzter Minute zugestellten dynamischen Aktivierungsauslösern wird gegeben.
  • 36 zeigt ein Beispiel der Handhabung eines kurzfristig (weniger als M Zeiteinheiten vor der Aktivierungszeit) empfangenen dynamischen Aktivierungsauslösers.
  • Die Figur von in letzter Minute zugestellten dynamischen Aktivierungsauslösern zeigt eine dynamische Ereignisaktivierungszeit über der Zeitgeraden und eine Zeit kurz vor der Ereignisaktivierungszeit, wenn das ACR-Aufnahmemodul von der Ereignisaktivierung erfährt. Die Pfeile unterhalb der Zeitgeraden zeigen die Zeiten von einzelnen Rahmen. Sobald der ACR-Server die Aktivierungsauslöser von dem ACR-Aufnahmemodul empfängt, kann er die Aktivierungsauslöser an alle Empfänger senden, die aktuell das mit den Aktivierungsauslösern verbundene Segment (wie von dem <locator_part> des Auslösers gekennzeichnet) betrachten. Für jeden Empfänger stellt er die event_time (Ereigniszeit) des Auslösers auf eine <delay_time> (Verzögerungszeit) mit Bezug auf den Rahmen ein, welcher der zuletzt eingereichten Signatur des Empfängers entspricht.
  • 37 zeigt ein Ablaufdiagramm zwischen einem ACR-Client und anderen Servern in einem Anfrage / Antwort-ACR-Fall.
  • 37 zeigt ein Ablaufdiagramm gemäß einer Ausführungsform zum effektiven Übertragen eines Auslösers und einer TPT gemäß dem Betriebsprotokoll des ACR-Servers und des Empfängers (ACR-Client) in dem Anfrage / Antwort-Modell.
  • Ein beispielhafter Betrieb des Anfrage / Antwort-Modells in der Reihenfolge von Anfrage und Antwort wird nun beschrieben.
  • Das Ablaufdiagramm zwischen dem ACR-Client und anderen Servern in einem Anfrage / Antwort-ACR-Fall kann eine ACR-Anfrage 1 (S37010), eine ACR-Antwort 1 (S37020), eine ACR-Anfrage 2 (S37030), eine ACR-Antwort 2 (S37040), eine HTTP-Anfrage 1 (S37050), eine HTTP-Antwort 1 (S37060), eine HTTP-Anfrage 2 (S37070), eine HTTP-Antwort 2 (S37080), eine ACR-Anfrage 3 (S37090), eine ACR-Antwort 3 (S37100), eine ACR-Anfrage 4 (S37110) und / oder eine ACR-Antwort 4 (S37120) umfassen.
  • Eine ACR-Anfrage 1 (S37010) ist ein Schritt, in dem der Empfänger die Signatur eines aktuell betrachteten Programms an einen Server überträgt. Der Server kann der oben beschriebene ACR-Server sein. Die Signatur kann eine Fingerabdruck-Signatur oder ein Wasserzeichen sein.
  • Eine ACR-Antwort 1 (S37020) ist ein Schritt, in dem der ACR-Server NULL zurückgibt, wenn die Signatur nicht erkannt wird oder ein verwandter interaktiver Dienst nicht vorhanden ist. Dies kann ein Fall sein, der dem oben genannten Fall entspricht, in dem eine NULL-Antwort zurückgegeben wird.
  • Eine ACR-Anfrage 2 (S37030) ist ein Schritt, in dem, wenn der Kanal oder das Programm geändert wird, der Empfänger die Signatur des geänderten Programms an den ACR-Server überträgt.
  • Eine ACR-Antwort 2 (S37040) ist ein Schritt, in dem der ACR-Server einen Auslöser (z. B. xbc.com/tpt504) einschließlich einer Adresse zurückgibt, unter welcher ein interaktiver Dienst in Bezug auf das entsprechende Programm erhalten werden kann. Dieser Schritt kann einem Fall entsprechen, in welchem die Signatur erkannt wird und ein zugehöriger interaktiver Dienst vorhanden ist, im Gegensatz zu ACR-Antwort 1 (S37020). Das heißt, ein Auslöser ist in diesem Schritt verfügbar. In diesem Fall kann der zurückgegebene Auslöser ein zeitbasierter Auslöser sein, der keine Information über media_time (Medienzeit) hat.
  • Eine HTTP-Anfrage 1 (S37050) ist ein Schritt, in dem der Empfänger den TPT-Server (z. B. http: //xbc.com/tpt504) auffordert, eine entsprechende TPT unter Verwendung der in der ACR-Antwort 2 (S37040) durch das http-Protokoll empfangenen Adresse zur Verfügung zu stellen.
  • Eine HTTP-Antwort 1 (S37060) ist ein Schritt, in dem der TPT-Server die in XML dargestellte TPT auf Anfrage des Empfängers überträgt.
  • Eine HTTP-Anfrage 2 (S37070) ist ein Schritt, in dem der Empfänger den Inhaltserver auffordert, eine Anwendung wie zum Beispiel TDO unter Verwendung des HTTP-Protokolls zur Verfügung zu stellen. Der Empfänger kann in der TPT enthaltene TDO-bezogene Information analysieren. Die TDO-bezogene Information kann die URL des Inhaltservers sein, durch welche ein TDO heruntergeladen werden kann. Eine Anfrage kann über die URL des Inhaltservers gesendet werden.
  • Eine HTTP-Antwort 2 (S37080) ist ein Schritt, in dem der Inhaltserver das entsprechende TDO auf Anfrage des Empfängers überträgt.
  • Eine ACR-Anfrage 3 (S37090) ist ein Schritt, in dem der Empfänger die Signatur eines Rahmens des aktuell betrachteten Programms an den ACR-Server sendet.
  • Eine ACR-Antwort 3 (S37100) ist ein Schritt, in dem der ACR-Server einen Auslöser (z. B. xbc.com/tpt504) einschließlich einer Adresse zurückgibt, über welche ein interaktiver Dienst mit Bezug auf das entsprechende Programm erhalten werden kann. In diesem Fall wird die Signatur erkannt und der zugehörige interaktive Dienst ist vorhanden, im Gegensatz zur ACR-Antwort 1 (S37020). Das heißt, ein Auslöser ist in diesem Schritt vorhanden.
  • Eine ACR-Anfrage 4 (S37110) ist ein Schritt, in dem der Empfänger die Signatur eines Rahmens des aktuell betrachteten Programms an den ACR-Server überträgt.
  • Eine ACR-Antwort 4 (S37120) ist ein Schritt, in dem der ACR-Server einen Aktivierungsauslöser in Zusammenhang mit dem interaktiven Dienst mit Bezug auf die von dem Empfänger übertragene Signatur überträgt. Ein spezielles Ereignis kann zu einem bestimmten Zeitpunkt gemäß dem Aktivierungsauslöser aktiviert werden.
  • 38 zeigt ein Ablaufdiagramm zwischen dem ACR-Client und anderen Servern in einem ereignisgesteuerten ACR-Fall.
  • 38 zeigt ein Ablaufdiagramm gemäß einer Ausführungsform zum effektiven Übertragen eines Auslösers und einer TPT entsprechend dem Betriebsprotokoll des ACR-Servers und des Empfängers (ACR-Client) in einem ereignisgesteuerten Modell.
  • Ein beispielhafter Betrieb des ereignisgesteuerten Modells in der Reihenfolge von Anfrage, Antwort auf die Anfrage und Ereignis wird nun beschrieben.
  • Das Ablaufdiagramm zwischen dem ACR-Client und anderen Servern in einem ereignisgesteuerten ACR-Fall kann eine ACR-Anfrage 1 (S38010), eine ACR-Anfrage 2 (S38020), ein ACR-Ereignis 1 (S37030), eine HTTP-Anfrage 1 (S38040), eine HTTP-Antwort 1 (S38050), eine HTTP-Anfrage 2 (S38060), eine HTTP-Antwort 2 (S38070), eine ACR-Anfrage 3 (S38080), ein ACR-Ereignis 2 (S38090) und / oder eine ACR-Antwort 4 (S38100) umfassen.
  • Eine ACR-Anfrage 1 (S38010) ist ein Schritt, in dem der Empfänger die Signatur eines aktuell betrachteten Programms auf einen Server überträgt. Der Server kann der oben beschriebene ACR-Server sein. Die Signatur kann eine Fingerabdruck-Signatur oder ein Wasserzeichen sein. Hierbei kann, wenn die Signatur nicht erkannt wird oder ein zugehöriger interaktiver Dienst nicht vorhanden ist, der ACR-Server keine Antwort auf ACR-Anfrage 1 senden, ohne NULL zurückzugeben, im Gegensatz zu der Abfolge aus 37.
  • Eine ACR-Anfrage 2 (S38020) ist ein Schritt, in dem, wenn der Kanal oder ein Programm geändert wird, der Empfänger die Signatur des geänderten Programms an den ACR-Server überträgt.
  • Ein ACR-Ereignis 1 (S38030) ist ein Schritt, in dem die ACR-Server einen Auslöser (z. B. xbc.com/tpt504) einschließlich einer Adresse zurückgibt, mit welcher ein interaktiver Dienst mit Bezug auf das entsprechende Programm erhalten werden kann. Dieser Schritt kann einem Fall entsprechen, in welchem die Signatur erkannt wird und ein zugehöriger interaktiver Dienst vorhanden ist. Das heißt, ein Auslöser ist in diesem Schritt vorhanden. In diesem Fall kann der zurückgegebene Auslöser ein zeitbasierter Auslöser ohne Information über media_time (Medienzeit) sein.
  • Eine HTTP-Anfrage 1 (S38040) ist ein Schritt, in dem der Empfänger den TPT-Server (z. B. http://xbc.com/tpt504) auffordert, eine entsprechende TPT unter Verwendung der in ACR-Ereignis 1 empfangenen Adresse (S38030) durch das http-Protokoll zur Verfügung zu stellen.
  • Eine HTTP-Antwort 1 (S38050) ist ein Schritt, in dem der TPT-Server die in XML dargestellte TPT auf die Anfrage des Empfängers überträgt.
  • Eine HTTP-Anfrage 2 (S38060) ist ein Schritt, in dem der Empfänger den Inhaltserver auffordert, eine Anwendung wie zum Beispiel TDO unter Verwendung des HTTP-Protokolls zur Verfügung zu stellen. Der Empfänger kann in der TPT enthaltene TDO-bezogene Information analysieren. Die TDO-bezogene Information kann die URL des Inhaltservers sein, durch welchen ein TDO heruntergeladen werden kann. Eine Anfrage kann unter Verwendung der URL des Inhaltservers gesendet werden.
  • Eine HTTP-Antwort 2 (S38070) ist ein Schritt, in dem der Inhaltserver das entsprechende TDO auf die Anfrage des Empfängers überträgt.
  • Eine ACR-Anfrage 3 (S38080) ist ein Schritt ist, in dem der Empfänger die Signatur eines Rahmens des aktuell betrachteten Programms an den ACR-Server sendet.
  • Ein ACR-Ereignis 2 (S38090) ist ein Schritt, in dem der ACR-Server einen Aktivierungsauslöser in Zusammenhang mit dem interaktiven Dienst mit Bezug auf die von dem Empfänger übertragene Signatur überträgt. Ein bestimmtes Ereignis kann zu einem bestimmten Zeitpunkt gemäß dem Aktivierungsauslöser aktiviert werden.
  • Eine ACR-Anfrage 4 (S38100) ist ein Schritt, in dem der Empfänger die Signatur eines Rahmens des aktuell angezeigten Programms an den ACR-Server überträgt.
  • 39 ist ein Diagramm, das ein Ausführungsbeispiel eines Verfahrens zum Verarbeiten eines interaktiven Dienstes bei einem Empfänger in dem ereignisgetriebenen Modell anzeigt.
  • Ein Ausführungsbeispiel eines Verfahrens zum Bearbeiten eines interaktiven Dienst bei einem Empfänger in dem ereignisgesteuerten Modell kann das Empfangen von unkomprimiertem Audioinhalt oder unkomprimiertem Videoinhalt (S39010), Extrahieren von Kennungen (S39020), Einsenden von die Kennungen enthaltenden Anfragen (S39030) und / oder Empfangen eines Auslösers für den Inhalt (S39040) umfassen.
  • Empfangen von unkomprimiertem Audioinhalt oder unkomprimiertem Videoinhalt (S39010) ist ein Schritt, in dem der Empfänger unkomprimierten Audioinhalt oder unkomprimierten Videoinhalt von einer externen Decodiereinheit empfängt.
  • Dabei kann die externe Decodiereinheit das vorstehend beschriebene STB sein. Das STB wird später ausführlich beschrieben.
  • Der unkomprimierte Audioinhalt oder unkomprimierte Videoinhalt kann von dem oben beschriebenen STB (externe Dekodiereinheit) an den Empfänger übertragener Audio/Video-Inhalt sein.
  • Die externe Decodiereinheit kann von einem MVPD oder dergleichen empfangenen A/V-Inhalt entpacken und den dekomprimierten A/V-Inhalt an den Empfänger zustellen. Der Empfänger kann den unkomprimierten Audioinhalt oder unkomprimierten Videoinhalt von der externen Decodiereinheit empfangen und den empfangenen Inhalt für einen Betrachter darstellen. Der unkomprimierte Audioinhalt oder unkomprimierte Videoinhalt kann gemäß dem oben genannten ACR-Aufnahmemodul verarbeitet worden sein. Das heißt, das ACR-Aufnahmemodul kann, in dem Fall eines Fingerabdruck-ACR-Systems, Signaturen (Fingerabdrücke) von Rahmen berechnen oder, in dem Fall eines Wasserzeichen-ACR-Systems, das auf Codes basiert, Wasserzeichen einschließlich Codes in Rahmen einfügen. Hierbei können sich Rahmen auf Audio/Video-Inhalt, bevor sie vom STB decodiert/dekomprimiert worden sind, beziehen. Das ACR-Aufnahmemodul kann in der Datenbank die media_time (Medienzeit) jedes mit einer Signatur oder einem Code verknüpften Rahmens zusammen mit anderen Metadaten speichern.
  • Extrahieren von Kennungen (S39020) ist ein Schritt, in dem der Empfänger in regelmäßigen Abständen Kennungen aus einer Vielzahl von Rahmen des empfangenen unkomprimierten Audioinhalts oder unkomprimierten Videoinhalts extrahiert.
  • Eine Kennung kann einen Rahmen des empfangenen Inhalts kennzeichnen. Die Kennung kann eine Fingerabdruck-Signatur oder ein Wasserzeichencode sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Hierbei ist „Extrahieren“ ein Vorgang zum periodischen Extrahieren von Kennungen aus einer Vielzahl von Rahmen des empfangenen unkomprimierten Audioinhalts oder unkomprimierten Videoinhalts und kann dem oben beschriebenen „Berechnen der Signatur“, „Extrahieren des Wasserzeichens“ und „Erzeugen der Signatur“ entsprechen.
  • Darüber hinaus kann „Extrahieren“ ein in dem oben beschriebenen ACR-Client durchgeführter Vorgang sein. Jedoch ist dies ein Beispiel und der Geist der vorliegenden Erfindung ist nicht darauf beschränkt und „Extrahieren“ kann in anderen Modulen entsprechend einer planerischen Absicht ausgeführt werden. Der ACR-Client kann im Empfänger angeordnet sein.
  • Beim Extrahieren von Kennungen (S39020) kann eine Kennung, die einem einzelnen Rahmen entspricht, extrahiert werden. Extrahieren kann in regelmäßigen Abständen durchgeführt werden. Extrahierte Kennungen können wie oben beschrieben an den ACR-Server gesendet werden. Die ACR-Server kann die empfangenen Kennungen mit Datensätzen in einer Datenbank abgleichen, wie oben beschrieben. Der ACR-Server und die Datenbank können der oben beschriebene ACR-Server und die Datenbank sein. Die Datensätze in der Datenbank können zuvor durch das ACR-Aufnahmemodul gespeicherte Datensätze sein.
  • In einer Ausführungsform der vorliegenden Erfindung kann ein Kennungsextrahierungszyklus 5 Sekunden lang sein. Der Kennungsextrahierungszyklus kann gemäß einer planerischen Absicht geändert werden.
  • Ein Überreichen von die Kennungen enthaltenden Anfragen (S39030) ist ein Schritt, in dem Anfragen einschließlich der extrahierten Kennungen an einen Server gesendet werden.
  • Die extrahierten Kennungen können Fingerabdrucksignaturen oder Wasserzeichencodes sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Hierbei kann eine Anfrage eine Kennung umfassen. Der Empfänger kann in regelmäßigen Abständen eine Anfrage an einen Server übertragen. Eine einzelne Anfrage kann eine einzige Kennung umfassen. Ein Zeitraum kann von dem Konstrukteur geändert werden.
  • Der Server kann der oben beschriebene ACR-Server sein. Der Server kann eine Anfrage empfangen und die Anfrage mit Datensätzen in einer Datenbank abgleichen. Der ACR-Server und die Datenbank kann der oben erwähnte ACR-Server und die Datenbank sein. Die Datensätze in der Datenbank können zuvor durch das ACR-Aufnahmemodul gespeicherte Datensätze sein.
  • Ein Empfangen eines Auslösers für den Inhalt (S39040) ist ein Schritt, in dem ein Auslöser von dem Server je nachdem, ob die an den Server gesendeten Anfragen und Kennungen mit Datensätzen in der Datenbank oder in entsprechenden Datensätzen vorhandenen Auslösern übereinstimmen, empfangen wird.
  • Der Empfänger empfängt nicht in jedem Fall für die oben beschriebenen Anfragen eine Antwort. Der Empfänger kann den Auslöser empfangen, wenn ein neues Segment erfasst wird oder wenn eine Ereignisaktivierung dem Empfänger mitgeteilt werden muss. In anderen Fällen darf der Empfänger den Auslöser nicht empfangen. Jedoch kann der Empfänger den Auslöser in anderen als den oben erwähnten Fällen entsprechend einer planerischen Absicht empfangen.
  • Dabei kann das Segment das oben beschriebene interaktive Dienstsegment sein.
  • Das neue Segment kann auf ein Segment verweisen, das nach der aktuellen Anwendungsparametertabelle oder TPT zu verwenden ist.
  • Wenn eine Ereignisaktivierung an den Empfänger übermittelt werden muss, kann dies hier einen Fall, in welchem Ereignisaktivierung geplant ist, oder einen Fall bezeichnen, in dem ein Ereignis, das aktiviert werden muss, noch nicht aktiviert worden ist.
  • Der Auslöser kann sich auf den durch den Empfänger von der STB empfangenen Inhalt beziehen.
  • Der Inhalt kann der von der STB empfangene Inhalt sein.
  • Dabei kann der Auslöser die aktuellen Zeit des Inhalts angeben und auf ein bestimmtes interaktives Ereignis in einer Anwendungsparametertabelle oder ein Signal verweisen, dass das Ereignis nun oder zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt werden soll.
  • Dabei kann die Anwendungsparametertabelle Information über mindestens eine Anwendung umfassen.
  • Der Server kann der oben beschriebene ACR-Server sein. Die Datenbank kann die oben beschriebene Datenbank sein. Die Kennungen können Fingerabdruck-Signaturen oder Wasserzeichencodes sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Der Server kann die empfangenen Anfragen / Kennungen mit Datensätzen in der Datenbank abgleichen. Die Anfragen / Kennungen können mit zuvor in der Datenbank durch das ACR-Aufnahmemodul gespeicherten Datensätzen abgeglichen werden. Wenn eine Kennung mit einer in der Datenbank gespeicherten Kennung übereinstimmt, kann der Server den Datensatz in Bezug auf die Kennung aus der Datenbank empfangen. In diesem Fall kann der Datensatz einen zeitbasierten Auslöser oder einen Aktivierungsauslöser umfassen. Welcher Auslöser im Datensatz enthalten ist, kann davon abhängen, welcher Auslöser zuvor durch das ACR-Aufnahmemodul in den Datensatz eingefügt worden ist. Bei Empfang des Datensatzes aus der Datenbank kann der Server den empfangene Auslöser oder die Auslöser an den Empfänger senden. Dabei kann der Server den Auslöser oder die Auslöser nur in dem oben begrenzten konkreten Fall senden, anders als im Anfrage / Antwort-Modell. In anderen Fällen darf der Server keine Antwort an den Empfänger übertragen.
  • In der Ausführungsform der vorliegenden Erfindung kann der Auslöser ein zeitbasierter Auslöser sein, wenn die Kennung einem neuen Segment entspricht, und der zeitbasierte Auslöser kann verwendet werden, um dem Empfänger zu ermöglichen, eine mit dem neuen Segment verknüpfte neue Anwendungsparametertabelle zu empfangen. Der zeitbasierte Auslöser kann dem oben-beschriebenen zeitbasierten Auslösevorgang entsprechen.
  • In der Ausführungsform der vorliegenden Erfindung kann der Auslöser ein Aktivierungsauslöser sein, wenn das Ereignis aktiviert werden soll, und der Aktivierungsauslöser setzt eine Aktivierungszeit für das Ereignis. Der Aktivierungsauslöser kann sich nach dem oben beschriebenen Aktivierungsauslösevorgang richten. Der Aktivierungsauslöser kann auf ein Ereignis einer Anwendung angewendet werden, um eine Aktivierung zu einem bestimmten Zeitpunkt zu verursachen. Einem Zuschauer kann ein interaktiver Dienst durch Ereignisaktivierung zur Verfügung gestellt werden. In dem Fall von Aktivierungsauslöserzustellung gemäß einer Ausführungsform der vorliegenden Erfindung kann ein interaktiver Server in den oben beschriebenen ACR-Umgebungen bereitgestellt werden, das heißt, wenn der Empfänger Internet-Verbindungen und Zugang zu unkomprimiertem Audio und Video aus einem Sende-Datenstrom hat.
  • In der Ausführungsform der vorliegenden Erfindung kann der Aktivierungsauslöser einmal angewendet werden, wenn der Empfänger mehr als einen Aktivierungsauslöser zur Aktivierung desselben Ereignisses empfängt. Wie oben beschrieben kann der Empfänger eine Vielzahl von Aktivierungsauslösern für dieselbe Ereignisaktivierung empfangen. Gemäß einer Ausführungsform der vorliegenden Erfindung können Kennungen periodisch extrahiert und an den Server übertragen werden. Dabei kann eine Vielzahl von Aktivierungsauslösern als Antworten auf periodische Anfragen empfangen werden. In diesem Fall haben die Aktivierungsauslöser den gleichen „t=“-Ausdruck und somit kann der Empfänger erkennen, dass die Aktivierungsauslöser Duplikate sind und, wie oben beschrieben, nur einen Aktivierungsauslöser anwenden.
  • In der Ausführungsform der vorliegenden Erfindung kann der Aktivierungsauslöser vor der Zeit, wenn der Empfänger den Aktivierungsauslöser anwenden muss, empfangen werden. Dadurch kann das Ereignis zu der richtigen Aktivierungszeit aktiviert werden. Diese Ausführungsform kann der oben beschriebenen statischen Aktivierung entsprechen.
  • In der Ausführungsform der vorliegenden Erfindung kann das Ereignis sofort nach Empfang des Aktivierungsauslösers, wenn der Aktivierungsauslöser nach der Aktivierungszeit empfangen wird, aktiviert werden. Diese Ausführungsform kann der oben beschriebenen dynamischen Aktivierung entsprechen. Wenn der Server Aktivierung so spät erkennt, dass der Server nicht das Aktivierungssignal an den Empfänger übertragen kann, kann der Server auf die nächste Anfrage des Empfängers warten und dann den Aktivierungsauslöser als eine Antwort auf die nächste Anfrage senden. In diesem Fall kann der Aktivierungsauslöser die letzte Aktivierungszeit angeben. Dabei kann der Empfänger den Aktivierungsauslöser anwenden, sobald der Empfänger den Aktivierungsauslöser empfängt.
  • In der Ausführungsform der vorliegenden Erfindung kann das Verfahren zum Verarbeiten eines interaktiven Diensts weiterhin Herunterladen einer neuen Anwendungsparametertabelle umfassen. Der Empfänger lädt sofort die neue Anwendungsparametertabelle herunter, wenn der Empfänger nicht bereits die neue Anwendungsparametertabelle unter Verwendung von mit der Anwendungsparametertabelle zugestellter URL-Information abgefragt hat, wenn der Auslöser eine Anwendungsparametertabellenkennung, welche die neue Anwendungsparametertabelle kennzeichnet, umfasst. Wie oben beschrieben kann der Empfänger, wenn der Empfänger einen Auslöser mit einer neuen Anwendungsparametertabellenkennung empfängt, neue Information in Bereitstellung eines interaktiven Dienstes mit Bezug auf ein entsprechendes Segment erhalten, indem er die neue Anwendungsparametertabelle (z. B. eine TPT) herunterlädt. In einer Ausführungsform der vorliegenden Erfindung kann der Empfänger einen Anwendungsparametertabellenserver auffordern, eine neue Anwendungsparametertabelle unter Verwendung des HTTP-Protokolls zur Verfügung zu stellen, und die neue Anwendungsparametertabelle herunterladen. Dabei kann die Anwendungsparametertabelle in XML- oder Binärformat gemäß einer Ausführungsform der vorliegenden Erfindung vorliegen. Die Anwendungsparametertabellenkennung kann der oben beschriebene locator_part sein. Hierbei kann die URL-Information die oben beschriebene URLList sein.
  • In der Ausführungsform der vorliegenden Erfindung kann die Zeit ein Medienzeit sein, und die Medienzeit kann ein Parameter sein, der auf eine Stelle bei der Wiedergabe eines Inhaltselements verweist.
  • In der Ausführungsform der vorliegenden Erfindung ist die Anwendung ein deklaratives Objekt, ein ausgelöstes deklaratives Objekt, ein Nicht-Echtzeit-deklaratives Objekt oder ein deklarative ungebundenes Objekt.
  • In der Ausführungsform der vorliegenden Erfindung kann eine Kommunikationssitzung beendet werden, wenn nicht eine Anfrage und eine Antwort übertragen und empfangen werden. Die Kommunikationssitzung wird zwischen Anfrage-Instanzen nicht offen gehalten. Der Empfänger kann eine Antwort über eine Kommunikationssitzung empfangen, wenn die Kommunikationssitzung offen gehalten wird.
  • In der Ausführungsform der vorliegenden Erfindung kann der Server anstelle des Empfängers eine Nachricht zuerst senden. Das heißt, es ist dem Server (z. B. einem ACR-Server) möglich, Nachrichten an den Client (zum Beispiel einen Empfänger) zu jeder Zeit zu übertragen.
  • In der Ausführungsform der vorliegenden Erfindung darf der Server keine zusätzliche Informationen benötigen. Der Server kann nur in der Datenbank gefundene Information an den Empfänger (z. B. einen ACR-Client) zustellen. Das ACR-Aufnahmemodul kann sich um Informationen in Bezug auf einen Betrieb der vorliegenden Erfindung kümmern.
  • 40 ist ein Diagramm, das den Aufbau eines Empfängers gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • In der Ausführungsform der vorliegenden Erfindung kann der Empfänger eine Antenne rcvr1010, einen Tuner rcvr1020, einen VSB- oder DVB-Demodulierer rcvr1030, einen MPEG-2TS-Systemdecodierer rcvr1040, ein Untertitelmodul rcvr1050, ein Auslösermodul rcvr1060, einen Webbrowser rcvr1070, einen Netzwerkprotokollstapel rcvr1080, eine Netzwerkschnittstelle rcvr1090, ein UI-Modul rcvr1100, einen Audiodecodierer revr1110, einen Videodecodierer rcvr1120, einen Lautsprecher rcvr1130, ein Anzeigemodul rcvr1140, einen Grafikprozessor rcvr1150, einen Fernbedienungsempfänger rcvr1160 und/oder eine Fernbedienung revr1170 umfassen.
  • Die Antenne rcvr1010 kann ein Rundfunksignal gemäß einem Sende-Datenstrom empfangen. Dabei kann die Antenne rcvr1010 ein allgemein auf diesem technischen Gebiet verwendete Antenne sein.
  • Der Tuner rcvr1020 kann einen Kanal des Empfängers suchen oder einstellen und kann einen Hochfrequenzverstärker, einen lokalen Schwingungserzeuger, einen Frequenzumsetzungs- und Eingangskreis, einen Sucher, usw. umfassen. Der Tuner rcvr1020 kann ein allgemein auf diesem technischen Gebiet verwendeter Tuner sein.
  • Der VSB- oder DVB-Demodulierer rcvr1030 kann ein VSB-Signal oder ein DVB-Signal modulieren. Der VSB- oder DVB-Demodulierer rcvr1030 kann das modulierte VSB oder DVB (z. B. ein OFDM-moduliertes Signal) zu einem Originalsignal wiederherstellen. Der Demodulationsvorgang des VSB- oder DVB-Demodulierers rcvr1030 kann ein allgemeinen auf dem technischen Gebiet verwendeter Vorgang sein.
  • Der MPEG-2TS-Systemdecodierer rcvr1040 decodiert den Transportstrom (TS) des demodulierten Signals. Der MPEG-2TS-Systemdecodierer rcvr1040 kann einen Untertitel-Datenstrom aus dem Transportdatenstrom erhalten und an das Untertitelmodul rcvr1050 weiterleiten. Der MPEG-2TS-Systemdecodierer rcvr1040 kann das decodierte Audio- und Videosignal an den Audio/Video-Decodierer revr1120 senden.
  • Das Untertitelmodul rcvr1050 kann den Untertiteldatenstrom empfangen. Das Untertitelmodul rcvr1050 kann einen Dienst #6 oder andere Dienste überwachen und bestimmen, ob Dienst #6 oder Dienste zum Übertragen des Auslösers ausgewählt werden und zu dem Auslöser-Modul rcvr1060 gesendet werden oder ob Untertiteltext verarbeitet und auf einem Bildschirm angezeigt wird. Auslösedaten können an das Auslösermodul rcvr1060 zugestellt werden. Andere Untertiteldienste können einer Untertitel-Textverarbeitung unterzogen werden und an den Grafikprozessor revr1150 gesendet werden.
  • Das Auslöser-Modul rcvr1060 kann Auslöser, TPT und / oder AMT-Informationen analysieren und die analysierten Daten verarbeiten. Das Auslöser-Modul rcvr1060 kann über den Netzwerk-Protokollstapel rcvr1080 unter Verwendung des URI-Informationswerts des Auslösers auf das Netzwerk zugreifen. Der URI-Informationswert kann die Adresse des HTTP-Servers sein. Das Auslösermodul rcvr1060 kann den TPT-Dateiinhalt analysieren, um die TDO-URL zu erhalten. Außerdem kann das Auslösermodul rcvr1060 die AMT analysieren, um Daten zu verarbeiten. Andere Informationen können durch Analyse erhalten werden. Nachdem die AMT-Nachricht empfangen wurde, wird die TDO-URL entsprechend dem Webbrowser gemäß einer vorbestimmten Zeit und eines Vorgangs zugestellt oder das aktuell in Betrieb befindliche TDO kann zu einer vorgegebenen Zeit angehalten werden. Dies entspricht einer TDO-Aktion und das Auslöser-Modul rcvr1060 kann eine Anweisung an den Webbrowser zum Betrieb senden. Der Betrieb des Auslösermoduls rcvr1060 in Bezug auf die vorliegende Erfindung wird unten ausführlich beschrieben.
  • Der Webbrowser rcvr1070 kann die Anweisung von dem Auslöser-Modul rcvr1060, einen Browser-Tastencode von dem UI-Modul rcvr1100 und einen Browser-Schlüsselcode von dem Fernbedienungsempfänger rcvr1160 empfangen und kann mit dem Netzwerkprotokollstapel rcvr1080 kommunizieren.
  • Der Netzwerkprotokollstapel rcvr1080 kann mit dem Auslöser-Modul rcvr1060 und dem Webbrowser kommunizieren, um über die Netzwerkschnittstelle rcvr1090 auf den Server zuzugreifen.
  • Die Netzwerkschnittstelle rcvr1090 führt eine gemeinsame Verbindung von mehreren anderen Vorrichtungen oder eine Verbindung eines Netzwerk-Computers und eines externen Netzwerks durch. Die Netzwerkschnittstelle kann mit dem Server verbunden sein, um ein TDO, eine TPT, eine AMT, usw. herunterzuladen. Dabei kann ein Betrieb der Netzwerkschnittstelle rcvr1090 ein allgemein auf dem technischen Gebiet verwendeter Betrieb der Netzwerkschnittstelle rcvr1090 sein. Ein Betrieb der Netzwerkschnittstelle rcvr1090 mit Bezug auf die vorliegenden Erfindung wird unten ausführlich beschrieben.
  • Das UI-Modul rcvr1100 kann eine von einem Zuschauer eingegebene Information unter Verwendung der Fernbedienung rcvr1170 durch den Fernbedienungsempfänger revr1160 empfangen. Wenn sich die empfangene Information auf einen Dienst unter Verwendung des Netzwerks bezieht, kann der Browser-Schlüsselcode an den Webbrowser zugestellt werden. Wenn sich die empfangene Information auf ein aktuell angezeigtes Video bezieht, kann das Signal über den Graphikprozessor rcvr1150 an das Anzeigemodul rcvr1140 zugestellt werden.
  • Der Audiodecodierer revr1110 kann das von dem MPEG-2TS-Decodierer-System rcvr1040 empfangene Audiosignal decodieren. Danach kann das decodierte Audiosignal an den Lautsprecher gesendet und an den Zuschauer ausgegeben werden. Hierbei kann der Audiodecodierer revr1110 ein allgemein auf dem technischen Gebiet verwendeter Decodierer sein.
  • Der Videodecodierer rcvr1120 kann das von dem MPEG-2TS-Decodierer-System rcvr1040 empfangene Videosignal decodieren. Danach kann das decodierte Videosignal an das Anzeigemodul rcvr1140 zur Ausgabe an den Zuschauer gesendet werden. Hierbei kann der Videodecodierer rcvr1120 ein allgemein auf dem technischen Gebiet verwendeter Decodierer sein.
  • Die Lautsprecher rcvr1130 können das Audiosignal an den Zuschauer ausgegeben. Der Lautsprecher kann ein allgemein auf dem technischen Gebiet verwendeter Lautsprecher sein.
  • Das Anzeigemodul rcvr1140 kann das Videosignal an den Zuschauer ausgeben. Das Anzeigemodul rcvr1140 kann ein allgemeinen auf dem technischen Gebiet verwendetes Anzeigemodul sein. Ein Betrieb des Anzeigemoduls rcvr1140 mit Bezug auf die vorliegende Erfindung wird unten ausführlich beschrieben.
  • Der Grafikprozessor rcvr1150 kann Grafikverarbeitung mit Bezug auf den von dem Untertitel-Modul rcvr1050 empfangenen Untertiteltext und die von dem UI-Modul rcvr1100 empfangene Zuschauereingabeinformation durchführen. Die verarbeitete Information kann an das Anzeigemodul rcvr1140 zugestellt werden. Der Grafikprozessor rcvr1150 kann ein allgemein auf dem technischen Gebiet verwendeter Prozessor sein.
  • Der Fernbedienungsempfänger rcvr1160 kann Information von dem Fernbedienungssteuergerät rcvr1170 empfangen. Zu diesem Zeitpunkt kann der Tastencode an das UI-Modul rcvr1100 zugestellt werden und der Browser-Schlüsselcode kann an den Webbrowser zugestellt werden.
  • Die Fernbedienung rcvr1170 gibt das von dem Zuschauer eingegebene Signal an den Fernbedienungsempfänger revr1160 weiter. Die Fernbedienung rcvr1170 kann eine Zuschauereingabe zum Ändern eines virtuellen Kanals empfangen. Zusätzlich kann die Fernsteuerung von dem Zuschauer ausgewählte Information in Bezug auf die Anwendung empfangen. Die Fernbedienung rcvr1170 kann die erhaltene Information an den Fernsteuerungsempfänger revr1160 zustellen. Zu diesem Zeitpunkt kann die Information unter Verwendung von Infrarot- (IR) Licht aus einem vorgegebenen Bereich aus der Ferne zugestellt werden.
  • 41 ist ein Diagramm, das die Struktur eines Empfängers gemäß einer Ausführungsform der vorliegenden Erfindung in dem Fall zeigt, in welchem ein Beistellgerät eine Übertragung über eine High Definition Multimedia Interface (HDMI) Schnittstelle oder eine externe Schnittstelle empfängt.
  • Bei der in 41 gezeigten Ausführungsform der vorliegenden Erfindung kann der Empfänger eine Antenne revr2010, einen Tuner rcvr2020, ein Beistellgerät rcvr2030, einen VSB oder DVB-Demodulierer rcvr2040, eine HDMI RCVR2050, einen MPEG-2-TS-System-Decodierer rcvr2060, ein Untertitelmodul rcvr2070, ein Auslöser-Modul rcvr2080, einen Webbrowser rcvr2090, einen Netzwerkprotokollstapel rcvr2100, eine Netzwerkschnittstelle rcvr2110, ein UI-Modul rcvr2120, ein ACR-Modul rcvr2130, einen Audiodecodierer rcvr2140, einen Videodecodierer rcvr2150, einen Lautsprecher rcvr2160, ein Anzeigemodul rcvr2170, einen Grafikprozessor rcvr2180, einen Fernsteuerungsempfänger rcvr2190 und/oder eine Fernsteuerung rcvr2200 umfassen.
  • In diesem Fall darf, da Video und Audio eines Sende-Datenstroms Rohdaten sind, ein in einem Untertiteldatenstrom enthaltener Auslöser nicht empfangen werden. Details der vorliegenden Erfindung werden nachstehend beschrieben.
  • Dabei sind die Module mit Ausnahme des Beistellgeräts rcvr2030, der HDMI rcvr2050 und des ACR-Moduls rcvr2130 ähnlich zu den in der Ausführungsform aus 40 beschriebenen Modulen in Bezug auf die Aufgabe.
  • Das Beistellgerät rcvr2030, die HDMI rcvr2050 und das ACR-Modul rcvr2130 werden nun beschrieben.
  • Das Beistellgerät rcvr2030 kann ein von dem Video-Server über ein digitales Netzwerk empfangenes komprimiertes Signal zu einem ursprünglichen Video- und Audiosignal wiederherstellen. Der Fernseher kann eine Internet-Benutzerschnittstelle sein.
  • Die HDMI rcvr2050 kann eine High Definition Multimedia Interface-Schnittstelle sein, die ein Schnittstellen-Standard für nicht-komprimiertes digitales Video/Audio ist. Die HDMI rcvr2050 kann eine Schnittstelle zwischen dem Beistellgerät rcvr2030 und einem AV-Gerät zur Verfügung stellen, das heißt, den Audiodecodierer rcvr2140 und der Videodecodierer rcvr2150.
  • Das ACR-Modul rcvr2130 kann automatisch Sendeinhalt von dem Audio-Decodierer rcvr2140 und dem Videodecodierer rcvr2150 erkennen. Auf der Grundlage des aktuell erkannten Inhalts kann eine Abfrage an den ACR-Server über das Auslöser-Modul rcvr2080 und die Netzwerkschnittstelle rcvr2110 gesendet werden, um die TPT / AMT für den Auslöser zu empfangen.
  • 42 ist ein Diagramm, das ein Ausführungsbeispiel einer Vorrichtung zum Verarbeiten eines interaktiven Dienstes in einem ereignisgesteuerten Modell zeigt.
  • Eine Ausführungsform der Vorrichtung zum Verarbeiten eines interaktiven Dienstes in einem ereignisgesteuerten Modell gemäß der vorliegenden Erfindung kann ein Empfangsmodul 42010, ein Kennungsextrahierungsmodul 42020 und/oder eine Netzwerkschnittstelle 42030 umfassen.
  • Das Empfangsmodul 42010 empfängt unkomprimierten Audioinhalt oder unkomprimierten Videoinhalt von einer externen Decodierereinheit.
  • Die externe Decodierereinheit kann das oben beschriebene Beistellgerät (STB; Set-Top Box) sein.
  • Der unkomprimierte Audioinhalt oder unkomprimierte Videoinhalt kann aus dem oben beschriebenen Beistellgerät STB (externe Dekodierungseinheit) an einen Empfänger übertragener Audio/Video-Inhalt sein.
  • Dabei kann das Empfangsmodul 42010 dem HDMI aus 41 entsprechen. Das Empfangsmodul 42010 kann ein Modul sein, das nicht in 40 oder 41 gezeigt ist. Das Empfangsmodul 42010 kann durch den Konstrukteur geändert werden.
  • Die externe Decodiereinheit kann von einem MVPD empfangenen A/V-Inhalt oder dergleichen entpacken und den unkomprimierten A/V-Inhalt an das Empfangsmodul 42010 zustellen. Der unkomprimierte Audioinhalt oder unkomprimierte Videoinhalt kann gemäß dem oben erwähnten ACR-Aufnahmemodul verarbeitet werden. Das heißt, das ACR-Aufnahmemodul kann, in dem Fall eines Fingerabdruck-ACR-Systems, Signaturen (Fingerabdrücke) von Rahmen berechnen oder in dem Fall eines Wasserzeichen-ACR-Systems, das auf Codes basiert, Wasserzeichen einschließlich Codes in Rahmen einfügen. Hierbei können sich Rahmen auf Audio/Video-Inhalt, bevor er vom STB komprimiert/dekomprimiert worden ist, beziehen. Das ACR-Aufnahmemodul kann die media_time (Medienzeit) jedes mit einer Signatur oder Code verknüpften Rahmens in der Datenbank zusammen mit anderen Metadaten speichern.
  • Das Kennungsextrahierungsmodul 42020 kann in regelmäßigen Abständen Kennungen aus einer Vielzahl von Rahmen des von dem Empfangsmodul 42010 empfangenen unkomprimierten Audioinhalts oder unkomprimierten Videoinhalts extrahieren.
  • Eine Kennung kann einen Rahmen des empfangenen Inhalts kennzeichnen. Die Kennung kann eine Fingerabdruck-Signatur oder ein Wasserzeichencode sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Dabei ist „Extrahieren“ ein Vorgang zum periodischen Extrahieren von Kennungen aus einer Vielzahl von Rahmen des empfangenen unkomprimierten Audioinhalts oder unkomprimierten Videoinhalts und kann dem oben beschriebenen „Berechnen der Signatur“, „Extrahieren des Wasserzeichens“ und „Erzeugen der Signatur“ entsprechen.
  • Das Kennungsextrahierungsmodul 42020 extrahiert in regelmäßigen Abständen eine einem Einzelrahmen entsprechende Kennung. Extrahierte Kennungen können wie oben beschrieben zu dem ACR-Server gesendet werden. Der ACR-Server kann wie oben beschrieben die empfangenen Kennungen mit Datensätzen in einer Datenbank abgleichen. Der ACR-Server und die Datenbank können der oben beschriebene ACR-Server und Datenbank sein. Die Datensätze in der Datenbank können zuvor von dem ACR-Aufnahmemodul gespeichert werden.
  • Das Kennungsextrahierungsmodul 42020 kann dem ACR-Modul aus 41 entsprechen. Ansonsten kann das Kennungsextrahierungsmodul 42020 ein Modul sein, das nicht in 40 oder 41 gezeigt wird. Das Empfangsmodul 42020 kann durch den Konstrukteur geändert werden.
  • In der Ausführungsform der vorliegenden Erfindung kann ein Kennungsextrahierungszyklus 5 Sekunden lang sein. Der Kennungsextrahierungszyklus kann je nach planerischer Absicht geändert werden.
  • Die Netzwerkschnittstelle 42030 sendet Anfragen einschließlich der extrahierten Kennungen an den Server und empfängt einen Auslöser vom Server, je nachdem, ob die an den Server gesendeten Anfragen und Kennungen den Datensätzen in der Datenbank oder Auslösern in passenden Datensätze entsprechen. Hierbei kann die Netzwerkschnittstelle 42030 einen Auslöser auf der Grundlage einer Anfrage empfangen.
  • Die Netzwerkschnittstelle 42030 kann der Netzwerkschnittstelle aus 41 entsprechen. Ansonsten ist die Netzwerkschnittstelle 42030 ein Modul, das nicht in 40 oder 41 gezeigt wird. Die Netzwerkschnittstelle 42030 kann durch den Konstrukteur geändert werden.
  • Die extrahierten Kennungen können Fingerabdruck-Signaturen oder Wasserzeichencodes sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Dabei kann eine Anfrage eine Kennung umfassen. Die Netzwerkschnittstelle 42030 kann in regelmäßigen Abständen eine Anfrage an den Server übertragen. Eine einzelne Anfrage kann eine einzelne Kennung umfassen. Eine Zeitdauer kann von dem Konstrukteur geändert werden.
  • Der Server kann der oben beschriebene ACR-Server sein. Der Server kann eine Anfrage empfangen und den Antrag mit Datensätzen in einer Datenbank abgleichen. Der ACR-Server und die Datenbank können der oben erwähnte ACR-Server und die Datenbank sein. Die Datensätze in der Datenbank können zuvor von dem ACR-Aufnahmemodul gespeicherte Datensätze sein.
  • Die Netzwerkschnittstelle 42030 empfängt nicht in jedem Fall eine Antwort auf die oben beschriebenen Anfragen. Die Netzwerkschnittstelle 42030 kann den Auslöser empfangen, wenn ein neues Segment erfasst wird oder wenn eine Ereignisaktivierung an die Vorrichtung übermittelt werden muss. In anderen Fällen darf die Vorrichtung den Auslöser nicht empfangen. Jedoch kann die Vorrichtung den Auslöser in anderen als dem oben erwähnten Fall entsprechend einer planerischen Absicht empfangen.
  • Dabei kann das Segment das oben beschriebene interaktive Dienstsegment sein.
  • Das neue Segment kann sich auf ein Segment beziehen, das nach der aktuellen Anwendungsparametertabelle oder TPT verwendet wird.
  • Dabei kann eine Kommunikation einer Ereignisaktivierung einen Fall bezeichnen, in dem eine Ereignisaktivierung geplant ist, oder einen Fall bezeichnen, in dem ein Ereignis, das aktiviert werden muss, noch nicht aktiviert worden ist.
  • Der Auslöser kann sich auf den durch das Empfangsmodul 42010 vom STB empfangenen Inhalt beziehen.
  • Der Inhalt kann der von dem STB empfangene Inhalt sein.
  • Dabei kann der Auslöser die aktuelle Zeit des Inhalts angeben und auf ein bestimmtes interaktives Ereignis in einer Anwendungsparametertabelle verweisen oder signalisieren, dass das Ereignis jetzt oder zu einem bestimmten Zeitpunkt in der Zukunft ausgeführt werden soll.
  • Dabei kann die Anwendungsparametertabelle Information über mindestens eine Anwendung umfassen.
  • Der Server kann der oben beschriebene ACR-Server sein. Die Datenbank kann die oben beschriebene Datenbank sein. Die Kennungen können Fingerabdruck-Signaturen oder Wasserzeichencodes sein. Die vorliegende Ausführungsform ist nicht auf Fingerabdruckmarkierung oder Wasserzeichenmarkierung begrenzt.
  • Der Server kann die empfangenen Anfragen/Kennungen mit Datensätzen in der Datenbank abgleichen. Die Anfragen/Kennungen können mit zuvor durch das ACR-Aufnahmemodul in der Datenbank gespeicherten Datensätzen abgeglichen werden. Wenn eine Kennung mit einer in der Datenbank gespeicherten Kennung übereinstimmt, kann der Server den Datensatz mit Bezug auf die Kennung aus der Datenbank empfangen. In diesem Fall kann der Datensatz einen zeitbasierten Auslöser oder einen Aktivierungsauslöser umfassen. Welcher Auslöser im Datensatz enthalten ist kann davon abhängen, welcher Auslöser zuvor durch das ACR-Aufnahmemodul in den Datensatz eingefügt worden ist. Bei Empfang des Datensatzes aus der Datenbank kann der Server den empfangenen Auslöser oder die Auslöser an die Netzwerkschnittstelle 39030 senden.
  • In der Ausführungsform der vorliegenden Erfindung kann der Auslöser ein zeitbasierter Auslöser sein, wenn die Kennung dem neuen Segment entspricht, und der zeitbasierte Auslöser kann verwendet werden, um dem Empfänger zu ermöglichen, eine mit dem neuen Segment verknüpfte neue Anwendungsparametertabelle zu erhalten. Der zeitbasierte Auslöser kann dem oben beschriebenen zeitbasierten Auslöservorgang entsprechen.
  • In der Ausführungsform der vorliegenden Erfindung kann der Auslöser ein Aktivierungsauslöser sein, wenn das Ereignis aktiviert werden soll, und der Aktivierungsauslöser setzt eine Aktivierungszeit für das Ereignis. Der Aktivierungsauslöser kann sich nach dem oben beschriebenen Aktivierungsauslösevorgang richten. Der Aktivierungsauslöser kann auf ein Ereignis einer Anwendung angewendet werden, um eine Aktivierung zu einem bestimmten Zeitpunkt zu verursachen. Einem Zuschauer kann ein interaktiver Dienst durch Ereignisaktivierung zur Verfügung gestellt werden. Im Falle einer Aktivierungsauslöserzustellung gemäß einer Ausführungsform der vorliegenden Erfindung kann ein interaktiver Server in den oben beschriebenen ACR-Umgebungen bereitgestellt werden, das heißt, wenn der Empfänger über Internet-Verbindungen und Zugang zu unkomprimiertem Audio und Video aus einem Sende-Datenstrom verfügt.
  • In der Ausführungsform der vorliegenden Erfindung kann der Aktivierungsauslöser einmal angewendet werden, wenn die Vorrichtung mehr als einen Aktivierungsauslöser zur Aktivierung desselben Ereignisses empfängt. Wie oben beschrieben kann die Vorrichtung eine Vielzahl von Aktivierungsauslösern zur Aktivierung desselben Ereignisses empfangen. Gemäß einer Ausführungsform der vorliegenden Erfindung können Kennungen in regelmäßigen Abständen extrahiert und an den Server übertragen werden. Hierbei kann eine Vielzahl von Aktivierungsauslösern als Antworten auf periodische Anfragen empfangen werden. In diesem Fall haben die Aktivierungsauslöser den gleichen „t=“-Ausdruck und somit kann die Vorrichtung erkennen, dass die Aktivierungsauslöser Duplikate sind und, wie oben beschrieben, nur für einen Aktivierungsauslöser zutreffen.
  • In der Ausführungsform der vorliegenden Erfindung kann der Aktivierungsauslöser vor der Zeit, wenn der Empfänger den Aktivierungsauslöser anwenden muss, empfangen werden. Durch diese Vorgehensweise kann das Ereignis zu der richtigen Aktivierungszeit aktiviert werden. Diese Ausführungsform kann der oben beschriebenen statischen Aktivierung entsprechen.
  • In der Ausführungsform der vorliegenden Erfindung kann das Ereignis sofort nach Empfang des Aktivierungsauslösers oder wenn der Aktivierungsauslöser nach der Aktivierungszeit empfangen wurde aktiviert werden. Diese Ausführungsform kann der oben beschriebenen dynamischen Aktivierung entsprechen. Wenn der Server die Aktivierung so spät erkennt, dass der Server die Aktivierungsauslöser nicht an die Vorrichtung übertragen kann, kann der Server auf die nächste Anfrage der Vorrichtung warten und schickt dann den Aktivierungsauslöser als eine Antwort auf die nächste Anfrage. In diesem Fall kann der Aktivierungsauslöser eine letzte Aktivierungszeit angeben. Dabei kann die Vorrichtung den Aktivierungsauslöser anwenden, sobald die Vorrichtung den Aktivierungsauslöser empfängt.
  • In der Ausführungsform der Erfindung ist die Netzwerk-Schnittstelle 42030 ferner konfiguriert, um eine neue Anwendungsparametertabelle sofort herunterzuladen, es sei denn, die Vorrichtung hat bereits die neue Anwendungsparametertabelle unter Verwendung von mit der Anwendungsparametertabelle zugestellter URL-Information abgerufen, wenn der Auslöser eine Anwendungsparametertabellenkennung umfasst, welche die neue Anwendungsparametertabelle kennzeichnet. Wie oben beschrieben kann, wenn die Vorrichtung einen Auslöser mit einer neuen Anwendungsparametertabellenkennung empfängt, das Gerät neue Information bei der Bereitstellung eines interaktiven Dienstes in Bezug auf ein entsprechendes Segment erhalten, indem es die neue Anwendungsparametertabelle (z. B. eine TPT) herunterlädt. In einer Ausführungsform der vorliegenden Erfindung kann die Vorrichtung einen Anwendungsparametertabellenserver auffordern, eine neue Anwendungsparametertabelle unter Verwendung des HTTP-Protokolls zur Verfügung zu stellen, und die neue Anwendungsparametertabelle herunterladen. Hierbei kann die Anwendungsparametertabelle in XML- oder Binärformat gemäß einer Ausführungsform der vorliegenden Erfindung vorliegen. Die Anwendungsparametertabellenkennung kann der oben beschriebene locator_part sein. Hierbei kann die URL-Information die oben beschriebene URLList sein.
  • In der Ausführungsform der vorliegenden Erfindung kann die Zeit eine Medienzeit sein und die Medienzeit kann ein Parameter sein, der auf eine Stelle bei der Wiedergabe eines Inhaltselements verweist.
  • In der Ausführungsform der vorliegenden Erfindung ist die Anwendung ein deklaratives Objekt, ein ausgelöstes deklaratives Objekt, ein Nicht-Echtzeit-deklarative Objekt oder ein deklaratives ungebundenes Objekt.
  • In der Ausführungsform der vorliegenden Erfindung kann eine Kommunikationssitzung beendet werden, wenn eine Anfrage und eine Antwort nicht übertragen und empfangen werden. Die Kommunikationssitzung wird zwischen Anfrage-Instanzen nicht offen gehalten. Der Empfänger kann eine Antwort über eine Kommunikationssitzung empfangen, wenn die Kommunikationssitzung offen gehalten wird.
  • In der Ausführungsform der vorliegenden Erfindung kann der Server anstelle des Empfängers eine Nachricht zuerst senden. Das heißt, es ist für den Server (z. B. einen ACR-Server) möglich, Nachrichten an den Client (z. B. eine Vorrichtung) zu jeder Zeit zu übertragen.
  • In der Ausführungsform der vorliegenden Erfindung darf der Server keine zusätzlichen Informationen benötigen. Der Server kann nur Information aus der Datenbank an die Netzwerk-Schnittstelle 42030 bereitstellen. Das ACR-Aufnahmemodul kann sich um Informationen in Bezug auf einen Betrieb der vorliegenden Erfindung kümmern.
  • Jeweils mit Bezug auf die Figuren beschriebene Ausführungsbeispiele können kombiniert werden, um eine neue Ausführungsform umzusetzen. Darüber hinaus können Fachleute Aufzeichnungsmedien entwerfen, die von Computerspeicherprogrammen zum Ausführen der oben beschriebenen Ausführungsformen lesbar sind, ohne von dem Umfang der vorliegenden Erfindung abzuweichen.
  • Die Vorrichtung und das Verfahren gemäß der vorliegenden Erfindung sind nicht auf die oben beschriebenen Ausführungsformen beschränkt und die Ausführungsformen können wahlweise kombiniert und in verschiedenen Weisen abgewandelt werden.
  • Das Verfahren zum Verarbeiten eines interaktiven Dienstes in Bezug auf Übertragungsprogramme, auf welche die vorliegende Erfindung angewendet wird, kann als Codes umgesetzt werden, die auf einem computerlesbaren Aufzeichnungsmedium geschrieben werden können und somit durch einen Prozessor gelesen werden können. Das computerlesbare Aufzeichnungsmedium kann eine beliebige Art von Aufzeichnungsvorrichtung sein, auf welcher Daten in einer computerlesbaren Weise gespeichert werden. Beispiele für das computerlesbare Aufzeichnungsmedium umfassen einen ROM, einen RAM, eine CD-ROM, ein Magnetband, eine Diskette, eine optische Datenspeicherung und eine Trägerwelle, zum Beispiel Datenübertragung über das Internet. Darüber hinaus werden Codes, die in über ein Netzwerk verbundenen Computereinrichtungen verteilt sind und von einem Computer in einer verteilten Weise gelesen werden, in dem computerlesbaren Aufzeichnungsmedium gespeichert und ausgeführt.
  • Fachleute werden zu schätzen wissen, dass die vorliegende Erfindung in anderen spezifischen Weisen als den hier dargelegten ausgeführt werden kann, ohne von dem Geist und den wesentlichen Eigenschaften der vorliegenden Erfindung abzuweichen. Die obigen Ausführungsformen sind daher unter allen Gesichtspunkten als erläuternd und nicht einschränkend auszulegen. Der Umfang der Erfindung soll durch die beigefügten Ansprüche und deren rechtliche Entsprechungen und nicht durch die obige Beschreibung bestimmt werden und alle Änderungen, die innerhalb des Bedeutungs- und Äquivalenzbereichs der beigefügten Ansprüche liegen, sollen darin enthalten sein.
  • Sowohl Vorrichtungs- als auch Verfahrenserfindungen, die in dieser Beschreibung erwähnt werden, und Beschreibungen sowohl der Vorrichtungs- als auch der Verfahrenserfindungen können komplementär aufeinander anwendbar sein.
  • Ausführungsweise für die Erfindung
  • Verschiedene Ausführungsformen sind in der besten Weise zum Ausführen der Erfindung beschrieben worden.
  • Industrielle Anwendbarkeit
  • Die vorliegende Erfindung ist auf eine Reihe von Gebieten zum Bereitstellen von Rundfunkdiensten anwendbar.
  • Es ist für den Fachmann offensichtlich, dass verschiedene Änderungen und Abwandlungen an der vorliegenden Erfindung gemacht werden können, ohne vom Geist oder Umfang der Erfindung abzuweichen. Somit ist beabsichtigt, dass die vorliegende Erfindung die Änderungen und Abwandlungen dieser Erfindung abdeckt, sofern sie in den Schutzumfang der beigefügten Ansprüche und deren Entsprechungen fallen.

Claims (12)

  1. Verfahren zum Verarbeiten eines interaktiven Dienstes bei einem Empfänger, wobei das Verfahren umfasst: Empfangen von unkomprimiertem Audioinhalt oder unkomprimiertem Videoinhalt von einer externen Decodiereinheit; Extrahieren einer Signatur eines Rahmens aus dem empfangenen Inhalt; Senden, zu einem Server, einer Anfrage, welche die Signatur aufweist; und Empfangen, von dem Server, eines Auslösers für den empfangenen Inhalt, als Antwort auf die Anfrage, wobei der Auslöser ein Zeitbasis-Auslöser ist, wenn keine Ereignisaktivierung vor einer nächsten Anfrage geplant ist, wobei der Auslöser verwendet wird, um Medienzeit des empfangenen Inhalts beizubehalten, und wobei der Auslöser ein Aktivierungsauslöser ist, wenn das bestimmte Ereignis fällig ist, aktiviert zu werden, wobei der Aktivierungsauslöser das bestimmte zu aktivierende Ereignis von einer Anwendungstabelle kennzeichnet, wobei die Anwendungstabelle in dem Empfänger Anwendungselemente umfasst, die Metadaten für jede Anwendung aufweisen, wobei jedes Anwendungselement Ereigniselemente aufweist, die Metadaten für jedes auf die jeweilige Anwendung abzielende Ereignis aufweisen, wobei jedes Ereigniselement Datenelemente aufweist, die jeden für das jeweilige Ereignis zu verwendenden Datensatz aufweisen, wobei der Aktivierungsauslöser einen ersten Wert, einen zweiten Wert und einen dritten Wert umfasst, wobei sich der erste Wert auf ein Anwendungselement für eine durch das bestimmte Ereignis abzielende Anwendung bezieht, wobei sich der zweite Wert auf ein Ereigniselement für das bestimmte Ereignis bezieht, und wobei sich der dritte Wert auf einen für das bestimmte Ereignis zu verwendenden Datensatz bezieht.
  2. Verfahren nach Anspruch 1, wobei, ob der Auslöser entweder ein Zeitbasis-Auslöser oder ein Aktivierungsauslöser ist, durch den Server bestimmt wird, basierend auf dem durch die Signatur dargestellten Rahmen.
  3. Verfahren nach Anspruch 1, wobei der Aktivierungsauslöser vor einer Aktivierungszeit des bestimmten Ereignisses empfangen wird.
  4. Verfahren nach Anspruch 1, wobei das bestimmte Ereignis sofort nach Empfang des Aktivierungsauslösers aktiviert wird, wenn der Aktivierungsauslöser nach einer Aktivierungszeit des bestimmten Ereignisses empfangen wird.
  5. Verfahren nach Anspruch 1, wobei das Verfahren ferner umfasst: sofortiges Herunterladen einer neuen Anwendungstabelle, es sei denn, der Empfänger hat bereits die neue Anwendungstabelle unter Verwendung von mit der Anwendungstabelle zugestellter URL-Information empfangen, wenn der Auslöser eine Anwendungstabelle-Kennung umfasst, welche die neue Anwendungstabelle kennzeichnet.
  6. Verfahren nach Anspruch 1, wobei der Aktivierungsauslöser einmal angewandt wird, wenn der Empfänger mehr als einen Aktivierungsauslöser für dieselbe Ereignisaktivierung empfängt.
  7. Vorrichtung zum Verarbeiten eines interaktiven Dienstes, wobei die Vorrichtung umfasst: ein Empfangsmodul, das zum Empfangen von unkomprimiertem Audioinhalt oder unkomprimiertem Videoinhalt von einer externen Decodiereinheit konfiguriert ist; ein Signaturextrahierungsmodul, das zum Extrahieren einer Signatur eines Rahmens aus dem empfangenen Inhalt konfiguriert ist; eine Netzwerkschnittstelle, die zum Senden, zu einem Server, einer Anfrage, welche die Signatur aufweist, und zum Empfangen, von dem Server, eines Auslösers für den empfangenen Inhalt, als Antwort auf die Anfrage, konfiguriert ist, wobei der Auslöser ein Zeitbasis-Auslöser ist, wenn keine Ereignisaktivierung vor einer nächsten Anfrage geplant ist, wobei der Auslöser verwendet wird, um Medienzeit des empfangenen Inhalts beizubehalten, und wobei der Auslöser ein Aktivierungsauslöser ist, wenn das bestimmte Ereignis fällig ist, aktiviert zu werden, wobei der Aktivierungsauslöser das bestimmte zu aktivierende Ereignis von einer Anwendungstabelle kennzeichnet, wobei die Anwendungstabelle in dem Empfänger Anwendungselemente umfasst, die Metadaten für jede Anwendung aufweisen, wobei jedes Anwendungselement Ereigniselemente aufweist, die Metadaten für jedes auf die jeweilige Anwendung abzielende Ereignis aufweisen, wobei jedes Ereigniselement Datenelemente aufweist, die jeden für das jeweilige Ereignis zu verwendenden Datensatz aufweisen, wobei der Aktivierungsauslöser einen ersten Wert, einen zweiten Wert und einen dritten Wert umfasst, wobei sich der erste Wert auf ein Anwendungselement für eine durch das bestimmte Ereignis abzielende Anwendung bezieht, wobei sich der zweite Wert auf ein Ereigniselement für das bestimmte Ereignis bezieht, und wobei sich der dritte Wert auf einen für das bestimmte Ereignis zu verwendenden Datensatz bezieht.
  8. Vorrichtung nach Anspruch 7, wobei, ob der Auslöser entweder ein Zeitbasis-Auslöser oder ein Aktivierungsauslöser ist, durch den Server bestimmt wird, basierend auf dem durch die Signatur dargestellten Rahmen.
  9. Vorrichtung nach Anspruch 7, wobei der Aktivierungsauslöser vor der Aktivierungszeit des bestimmten Ereignisses empfangen wird.
  10. Vorrichtung nach Anspruch 7, wobei das bestimmte Ereignis sofort nach Empfang des Aktivierungsauslösers aktiviert wird, wenn der Aktivierungsauslöser nach der Aktivierungszeit des bestimmten Ereignisses empfangen wird.
  11. Vorrichtung nach Anspruch 7, wobei die Netzwerkschnittstelle ferner zum sofortigen Herunterladen einer neuen Anwendungstabelle konfiguriert ist, es sei denn, der Empfänger hat bereits die neue Anwendungstabelle unter Verwendung von mit der Anwendungstabelle zugestellter URL-Information empfangen, wenn der Auslöser eine Anwendungstabelle-Kennung umfasst, welche die neue Anwendungstabelle kennzeichnet.
  12. Vorrichtung nach Anspruch 7, wobei der Aktivierungsauslöser einmal angewandt wird, wenn der Empfänger mehr als einen Aktivierungsauslöser für dieselbe Ereignisaktivierung empfängt.
DE112013004029.8T 2012-09-12 2013-08-28 Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes Expired - Fee Related DE112013004029B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261700310P 2012-09-12 2012-09-12
US61/700,310 2012-09-12
US201261703749P 2012-09-20 2012-09-20
US61/703,749 2012-09-20
PCT/KR2013/007722 WO2014042368A1 (en) 2012-09-12 2013-08-28 Apparatus and method for processing an interactive service

Publications (2)

Publication Number Publication Date
DE112013004029T5 DE112013004029T5 (de) 2015-04-30
DE112013004029B4 true DE112013004029B4 (de) 2018-06-14

Family

ID=50234775

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013004029.8T Expired - Fee Related DE112013004029B4 (de) 2012-09-12 2013-08-28 Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes

Country Status (9)

Country Link
US (3) US9078042B2 (de)
EP (1) EP2896212B1 (de)
JP (1) JP6212557B2 (de)
KR (1) KR101939296B1 (de)
CN (1) CN104662925B (de)
CA (1) CA2880254C (de)
DE (1) DE112013004029B4 (de)
MX (2) MX368285B (de)
WO (1) WO2014042368A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527734A (en) * 2014-04-30 2016-01-06 Piksel Inc Device synchronization
JPWO2016017451A1 (ja) 2014-08-01 2017-05-18 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
US10904617B1 (en) * 2015-02-19 2021-01-26 Amazon Technologies, Inc. Synchronizing a client device with media content for scene-specific notifications
KR101757878B1 (ko) 2015-12-10 2017-07-14 삼성전자주식회사 컨텐츠 처리장치, 그의 컨텐츠 처리방법, 서버, 서버의 정보 제공방법 및 정보제공 시스템
US10523244B2 (en) * 2016-08-11 2019-12-31 Zebware Ab Device and associated methodoloy for encoding and decoding of data for an erasure code
TWI640195B (zh) * 2016-12-14 2018-11-01 日商夏普股份有限公司 具有統一資源識別符訊息浮水印有效負載之廣播系統
US12126618B1 (en) * 2018-12-04 2024-10-22 Arista Networks, Inc. System and method for identifying an application initiating a communication in a computing environment
US11095927B2 (en) * 2019-02-22 2021-08-17 The Nielsen Company (Us), Llc Dynamic watermarking of media based on transport-stream metadata, to facilitate action by downstream entity
US11373440B2 (en) 2019-05-10 2022-06-28 Roku, Inc. Content-modification system with fingerprint data match and mismatch detection feature
WO2020231927A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
WO2020231827A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US11234050B2 (en) 2019-06-18 2022-01-25 Roku, Inc. Use of steganographically-encoded data as basis to control dynamic content modification as to at least one modifiable-content segment identified based on fingerprint analysis
US11212560B2 (en) 2019-06-24 2021-12-28 The Nielsen Company (Us), Llc Use of steganographically-encoded time information as basis to establish a time offset, to facilitate taking content-related action
US11012757B1 (en) * 2020-03-03 2021-05-18 The Nielsen Company (Us), Llc Timely addition of human-perceptible audio to mask an audio watermark
KR20240166525A (ko) * 2022-03-17 2024-11-26 엘지전자 주식회사 디스플레이 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020056129A1 (en) 1999-10-05 2002-05-09 Dean J. Blackketter Trigger having a time attribute
US20120082266A1 (en) 2010-10-01 2012-04-05 Sony Corporation Reception apparatus, reception method, and program
CA2820574A1 (en) 2010-11-24 2012-05-31 Lg Electronics Inc. Method of receiving enhanced service and video display device thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030192060A1 (en) * 2001-01-30 2003-10-09 Levy Kenneth L. Digital watermarking and television services
US20020162118A1 (en) * 2001-01-30 2002-10-31 Levy Kenneth L. Efficient interactive TV
US8407752B2 (en) * 2004-03-18 2013-03-26 Digimarc Corporation Synchronizing broadcast content with corresponding network content
TW200733733A (en) * 2005-09-06 2007-09-01 Nokia Corp Enhanced signaling of pre-configured interaction message in service guide
US20070074079A1 (en) * 2005-09-27 2007-03-29 Forster Darren P System and method for providing trigger information in a video signal and playing out a triggered event
US20070162399A1 (en) * 2005-12-22 2007-07-12 Alexander Medvinsky Method and apparatus for providing broadcast trigger messages
US8813152B2 (en) * 2008-08-26 2014-08-19 At&T Intellectual Property I, L.P. Methods, apparatus, and computer program products for providing interactive services
US20110154404A1 (en) * 2009-12-17 2011-06-23 At & T Intellectual Property I, L.P. Systems and Methods to Provide Data Services for Concurrent Display with Media Content Items
US8730301B2 (en) * 2010-03-12 2014-05-20 Sony Corporation Service linkage to caption disparity data transport
US8893210B2 (en) * 2010-08-20 2014-11-18 Sony Corporation Server load balancing for interactive television
MX2013002076A (es) * 2010-08-30 2013-10-28 Sony Corp Dispositivo de recepcion metodo de recepcion, y programa.
JP5691316B2 (ja) 2010-09-09 2015-04-01 新東工業株式会社 バケットエレベータ内部の結露または粉体の付着を予測及び検出する方法及び装置とそれに用いられる測定ユニット
KR101960314B1 (ko) * 2010-11-24 2019-03-20 엘지전자 주식회사 영상 표시 장치 및 그 제어 방법
DE112011104029B4 (de) * 2010-12-26 2018-11-15 Lg Electronics Inc. Rundfunkdienst-Sendeverfahren, Rundfunkdienst-Empfangsverfahren und Rundfunkdienst- Empfangsgerät
JP5783402B2 (ja) * 2011-01-25 2015-09-24 ソニー株式会社 受信装置、受信方法、供給装置、供給方法、プログラム、および放送システム
US9554175B2 (en) 2011-07-20 2017-01-24 Sony Corporation Method, computer program, reception apparatus, and information providing apparatus for trigger compaction
US9154840B2 (en) * 2012-07-31 2015-10-06 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020056129A1 (en) 1999-10-05 2002-05-09 Dean J. Blackketter Trigger having a time attribute
US20120082266A1 (en) 2010-10-01 2012-04-05 Sony Corporation Reception apparatus, reception method, and program
CA2820574A1 (en) 2010-11-24 2012-05-31 Lg Electronics Inc. Method of receiving enhanced service and video display device thereof

Also Published As

Publication number Publication date
US20150172782A1 (en) 2015-06-18
CA2880254C (en) 2017-09-19
MX368285B (es) 2019-09-27
KR20150056523A (ko) 2015-05-26
US9078042B2 (en) 2015-07-07
CA2880254A1 (en) 2014-03-20
US9398341B2 (en) 2016-07-19
EP2896212A4 (de) 2016-03-16
KR101939296B1 (ko) 2019-01-16
JP2015532045A (ja) 2015-11-05
EP2896212B1 (de) 2017-10-25
WO2014042368A1 (en) 2014-03-20
JP6212557B2 (ja) 2017-10-11
CN104662925B (zh) 2018-12-04
DE112013004029T5 (de) 2015-04-30
US20150281786A1 (en) 2015-10-01
US9912995B2 (en) 2018-03-06
EP2896212A1 (de) 2015-07-22
MX2015001908A (es) 2015-06-05
MX343885B (es) 2016-11-25
US20140075470A1 (en) 2014-03-13
CN104662925A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
DE112013004029B4 (de) Vorrichtung und Verfahren zum Verarbeiten eines interaktiven Dienstes
US9794645B2 (en) Apparatus and method for processing an interactive service
KR102068567B1 (ko) 양방향 서비스를 처리하는 장치 및 방법
DE112011104029B4 (de) Rundfunkdienst-Sendeverfahren, Rundfunkdienst-Empfangsverfahren und Rundfunkdienst- Empfangsgerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee