JP6045692B2 - 対話型サービスを処理する装置及び方法 - Google Patents

対話型サービスを処理する装置及び方法 Download PDF

Info

Publication number
JP6045692B2
JP6045692B2 JP2015521559A JP2015521559A JP6045692B2 JP 6045692 B2 JP6045692 B2 JP 6045692B2 JP 2015521559 A JP2015521559 A JP 2015521559A JP 2015521559 A JP2015521559 A JP 2015521559A JP 6045692 B2 JP6045692 B2 JP 6045692B2
Authority
JP
Japan
Prior art keywords
trigger
activation
time
event
receiver
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.)
Active
Application number
JP2015521559A
Other languages
English (en)
Other versions
JP2015527807A (ja
Inventor
セチン オ
セチン オ
チンピル キム
チンピル キム
スンチュ アン
スンチュ アン
チンウォン リ
チンウォン リ
キョンホ キム
キョンホ キム
キョンス ムン
キョンス ムン
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 JP2015527807A publication Critical patent/JP2015527807A/ja
Application granted granted Critical
Publication of JP6045692B2 publication Critical patent/JP6045692B2/ja
Active 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/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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/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/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 Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、放送サービスを提供、受信及び処理する方法及び装置に関し、特に、放送コンテンツに関係する付加サービスを提供する方法及び装置に関する。
TVは、19世紀末に初めて出現して以来、画面表示方法やデザインなどにおいて持続的に発展を遂げ、20世紀後半からは最も大衆的な情報配信機器として確立された。ただし、TVは、放送事業者から提供する単方向の情報を視聴者たちが一方的に受容するという根本的な形態をしていた。このようなTVの限界は、1990年代からPC(個人用計算機)及びインターネットが大衆化するにつれてより明らかになり始めた。そこで、TVは対話型サービスが可能な方向に進化を続けてきている。
しかしながら、現在、コンテンツプロバイダと視聴者との間には、上記のような対話型サービスを本格的に提供するシステムがないことが実情である。特に、上記のような対話型サービスの提供のために、放映中の放送コンテンツに関係するアプリケーションを特定時点で駆動し、情報の特定処理を通じて、視聴者に関連情報を提供する方法及びフォーマットに関する技術的支援が必要な状況である。
本発明が遂げようとする技術的課題は、前述した問題点を解決するためのものであり、放送コンテンツが再生されている期間中の適切な時期に、放送コンテンツに関係する付加情報を提供することにある。
上記の技術的課題を解決するために、受信機が対話型サービスを処理する方法は、外部復号部から非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信するステップと、該受信されたコンテンツからフレームの識別子を抽出するステップと、識別子を含む要求をサーバに送るステップと、要求に基づいてサーバからコンテンツに対するトリガを受信するステップと、を含み、トリガは、コンテンツの現在時間を示し、アプリケーションパラメータテーブル内の特定対話型イベントを参照するか、又はイベントが現在若しくは指定された未来の時間に実行されることを知らせ、アプリケーションパラメータテーブルは、アプリケーションのうち少なくとも一つに関する情報を含む。
好ましくは、次の要求を送る前にイベント活性化が発生するようにスケジュールされていない場合、トリガは時間ベーストリガであり、該時間ベーストリガはセグメントの時間を維持するために用いられる。
好ましくは、活性化が発生する予定である場合、トリガは活性化トリガであり、該活性化トリガは、イベントに対する活性化時刻を設定し、該活性化時刻は、活性化トリガ内のタイミング値項(term)によって示される。
好ましくは、方法は、受信機が、アプリケーションパラメータテーブルと併せて配信されたURL情報を用いて新しいアプリケーションパラメータテーブルをまだ検索していない場合、トリガが新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含むときは、新しいアプリケーションパラメータテーブルを直ちにダウンロードするステップを更に含む。
好ましくは、方法は、受信機がトリガと関係する新しいアプリケーションを有しない場合、アプリケーションパラメータテーブル又は新しいアプリケーションパラメータテーブルから、新しいアプリケーションに対してアプリケーションURLを得るステップと、アプリケーションURLを用いて新しいアプリケーションをダウンロードするステップと、を更に含む。
好ましくは、受信機は、同一のイベント活性化に対して一つ以上の活性化トリガを受信すると、活性化トリガは1回適用される。
好ましくは、活性化トリガが活性化時刻以降に受信されると、活性化トリガは到達すると直ちに適用される。
好ましくは、時間はメディア時間であり、該メディア時間は、コンテンツアイテムの再生における一地点を参照するパラメータである。
好ましくは、アプリケーションは、宣言的オブジェクト(Declarative Object)、トリガされた宣言的オブジェクト(Triggered Declarative Object)、非実時間宣言的オブジェクト(Non−Real Time Declarative Object)、又は非結合宣言的オブジェクト(Unbound Declarative Object)である。
また、上記の技術的課題を解決するために、対話型サービスを処理する装置は、外部復号部から非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信するように構成された受信モジュールと、受信されたコンテンツからフレームの識別子を抽出するように構成された識別子抽出モジュールと、識別子を含む要求をサーバに送り、要求に基づいてサーバからコンテンツに対するトリガを受信するように構成されたネットワークインタフェースと、を備え、トリガは、コンテンツの現在時間を示し、アプリケーションパラメータテーブル内の特定対話型イベントを参照し、又はイベントが現在又は指定された未来の時間に実行されることを知らせ、アプリケーションパラメータテーブルは、アプリケーションのうち少なくとも一つに関する情報を含む。
好ましくは、次の要求を送る前にイベント活性化が発生するようにスケジュールされていない場合、トリガは時間ベーストリガであり、該時間ベーストリガは、セグメントの時間を維持するために用いられる。好ましくは、活性化が発生する予定である場合、トリガは活性化トリガであり、該活性化トリガはイベントに対する活性化時刻を設定し、活性化時刻は活性化トリガ内のタイミング値項によって示される。
好ましくは、ネットワークインタフェースは、装置がアプリケーションパラメータテーブルと併せて配信されたURL情報を用いて新しいアプリケーションパラメータテーブルをまだ検索していない場合、トリガが新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含むとき、新しいアプリケーションパラメータテーブルを直ちにダウンロードするように、更に構成される。好ましくは、装置は、該装置がトリガと関係する新しいアプリケーションを有しない場合、アプリケーションパラメータテーブル又は新しいアプリケーションパラメータテーブルから、新しいアプリケーションに対してアプリケーションURLを得るように構成されたトリガモジュールを更に備え、ネットワークインタフェースは、アプリケーションURLを用いて新しいアプリケーションをダウンロードするように、更に構成される。
好ましくは、装置は、同一のイベント活性化に対して一つ以上の活性化トリガを受信すると、活性化トリガは1回適用される。
好ましくは、活性化トリガが活性化時刻以降に受信されると、活性化トリガは到達すると直ちに適用される。
好ましくは、時間はメディア時間であり、メディア時間は、コンテンツアイテムの再生において一地点を参照するパラメータである。
好ましくは、アプリケーションは、宣言的オブジェクト、トリガされた宣言的オブジェクト、非実時間宣言的オブジェクト、又は非結合宣言的オブジェクトである。
本発明によれば、既存放送システムを用いて、放送コンテンツと関係する付加情報を提供することが可能になる。
本発明によれば、放送コンテンツに関係する付加情報が表示されるべき時点を正確に把握し、適時に付加情報をユーザに提供することが可能になる。
本発明によれば、インターネットに接続され、放送ストリームを介して非圧縮のオーディオ及びビデオを利用できる受信機に放送コンテンツに関係する付加情報を提供することが可能になる。
発明のより容易な理解を助け、発明の実施例を示す添付の図面が、下記の記載と共に本発明の原理を説明するために提供される。
添付の図面は次のとおりである。
一般的な放送ストリームの一実施例を示す図である。 あらかじめ生成されたコンテンツの場合のトリガタイミングの一実施例を示す図である。 ライブコンテンツの場合のトリガタイミングの一実施例を示す図である。 トリガ構文の一実施例を示す図である。 TDOパラメータテーブルの一実施例を示す図である。 TDOパラメータテーブルの一実施例を示す図である。 ‘Frequency of Use’属性値の意味の一実施例を示す図である。 ‘destination’属性値の意味の一実施例を示す図である。 TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。 TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。 TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。 TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。 TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。 活性化メッセージテーブル構造の一実施例を示す図である。 URLリスト構造の一実施例を示す図である。 TPTを含むプライベートセクションの2進フォーマットの一実施例を示す図である。 XML文書として符号化されたURL目録の一実施例を示す図である。 addTriggerEventListenerの一実施例を示す図である。 removeTriggerEventListenerの一実施例を示す図である。 EventListenerタイプの定義の一実施例を示す図である。 TriggerEventタイプの定義の一実施例を示す図である。 WM技法のためのアーキテクチャの一実施例を示す図である。 FP技法のアーキテクチャの一実施例を示す図である。 要求/応答ACR場合における静的活性化の一実施例を示す図である。 要求/応答ACR場合における静的活性化の一実施例を示す図である。 要求/応答ACR場合における動的活性化の一実施例を示す図である。 要求/応答ACR場合における動的活性化の一実施例を示す図である。 ACRサーバ活性化のためのアーキテクチャの一実施例を示す図である。 EndTimeがない場合(a)及び場合(b)における活性化トリガの一実施例を示す図である。 EndTimeがない場合(a)及び場合(b)における活性化トリガの一実施例を示す図である。 EndTimeがある場合(a)における活性化トリガの一実施例を示す図である。 EndTimeがある場合(a)における活性化トリガの一実施例を示す図である。 場合(c)に対する活性化トリガの一実施例を示す図である。 場合(c)に対する活性化トリガの一実施例を示す図である。 要求/応答ACRの場合、ACRクライアントと他のサーバとの間のシーケンスダイヤグラムの一実施例を示す図である。 要求/応答モデルにおいて、受信機が対話型サービスを処理する方法の一実施例を示す図である。 本発明の一実施例による受信機の構造を示す図である。 放送をセットトップボックスでHDMI(登録商標)又は外部入力を介して受信する場合における受信機の構造の一実施例を示す図である。 要求/応答モデルにおいて、対話型サービスを処理する装置の一実施例を示す図である。
本明細書で使われる用語としては、本発明においての機能を考慮したうえ、できるだけ現在広く使われている一般的な用語を選択したが、これは、当該分野に従事する技術者の意図、慣例又は新しい技術の出現などによって変更してもよい。また、特定の場合、出願人が任意に選定した用語もあり、その場合には、該当する発明の説明の部分においてその意味を記載するものとする。したがって、本明細書で使われる用語は、単純な用語の名称ではなく、その用語が持つ実質的な意味及び本明細書の全般にわたる内容に基づいて解釈しなければならないということは明らかである。
この明細書でいうメディア時間(media time)は、オーディオ/ビデオ又はオーディオコンテンツアイテムの再生における一時点を参照するパラメータを指す。ACRは自動コンテンツ認識を表す。AMTは活性化メッセージテーブルを表す。APIはアプリケーションプログラムインタフェースを表す。DAEは宣言的応用環境を表す。DOは宣言的オブジェクトを表す。FLUTEは、単方向送信を用いたファイル配信(File Delivery over Unidirectional Transport)を表す。GPSは、全球測位システム(Global Positioning System)を表す。HTTPは、ハイパーテキスト送信プロトコルを表す。IPはインターネットプロトコルを表す。IPTVはインターネットプロトコルテレビを表す。iTVは対話型テレビを表す。MIMEはインターネットメディアタイプを表す。NDOはNRT宣言的オブジェクト(NRT Declarative Object)を表す。NRTは非実時間(Non−Real Time)を表す。SMTはサービスマップテーブルを表す。SSCはサービス信号通知チャネルを表す。TDOは、トリガされた宣言的オブジェクトを表す。TPTは、TDOパラメータテーブルを表す。UDOは、非結合宣言的オブジェクトを表す。UPnPはユーザプラグアンドプレイを表す。URIは統一資源識別子を表す。URLは統一資源位置指定子を表す。XMLは拡張可能マーク付け言語を表す。TFTはテキストフラグメントテーブル(Text Fragment Table)を表す。詳細な内容は後述する。
この明細書で、DO、TDO、NDO、UDO、リンク及びパッケージ型アプリは次のような意味を有する。
DO(Declarative Object)は、対話型アプリケーション(例えば、HTML、JavaScript(登録商標)、CSS、XML及びマルチメディアファイル)を構成するコレクションであってもよい。
トリガされた対話型付加データサービスによって開始された宣言的オブジェクト又はトリガによって開始されたDOによって実行されたDOなどを指定するために“トリガされた宣言的オブジェクト(TDO)”を使用する。
トリガされた対話型データサービスではなくNRTサービスの一部として実行された宣言的オブジェクトを表すために、“NRT宣言的オブジェクト”(NDO)という用語を使用する。
パッケージ型アプリ(Packaged App)のようにサービスに結合されない宣言的オブジェクト、リンクによって実行されたDO、又はそのようなDOによって実行されたDOなどを表すために“非結合宣言的オブジェクト(UDO)”という用語を使用する。
“リンク”は、現在のTV番組又はNRTサービスに関係するオンライン情報又は機能を提供するウェブサイトを示す放送事業者提供のURLである。
“パッケージ型アプリ”は、放送事業者が視聴者に提供しようとする情報又は機能を提供し、視聴者がダウンロードして設置できる一つのファイルとしてまとめられた放送事業者提供宣言的オブジェクト(DO)である。
その詳細は後述する。
この明細書において、時間ベースメッセージ(time base message)は、時間ベーストリガ及びその均等物を含む。したがって、“時間ベースメッセージ”と“時間ベーストリガ”と同じ意味で用いてもよい。
この明細書において、活性化メッセージは、活性化トリガ及び/又はAMT内の活性化要素のような、活性化を引き起こすすべての情報配信を含む。
図1は、一般的な放送ストリームの一実施例を示す図である。
一般的な放送ストリームはTV番組のシーケンスで構成されている。各TV番組は、基本となるショー(show)で構成され、ショーは一般的に広告及び/又は他の介在素材(interstitial material)によって分離されたブロックに分けられる。
図1においては、放送ストリームに、ショーA(Show A)セグメント、広告1(Ad1)、広告2(Ad2)、ショーB(Show B)セグメントなどが順次に含まれている。各ショーをなすセグメントをショー材料、広告を介在素材と呼んでもよい。
各ショー又は介在素材は、それと連携している対話型付加データサービスを有しても有さなくてもよい。
本明細書では、統合ユニットとして放送事業者によって扱われる対話型付加サービスの一部を表すために“対話型サービスセグメント”、又は単純に“セグメント”という用語を使用する。対話型サービスセグメントは一般的に単一ショー又は1個の介在素材と連携するが、必ずしもそうでない。
このような対話型付加データサービスを実行するための二つのモデルがあり得る。直接実行モデル及びトリガされた宣言的オブジェクト(TDO)モデルがそれである。
直接実行モデルでは、仮想チャネルが選択されると直ちに宣言的オブジェクト(DO)は自動で開始される。宣言的オブジェクトは、画面上の特定位置での表示の生成、世論調査の実行、他の特殊DOの開始などのように、オーディオ/ビデオプログラムと同期した対話型機能(feature)の提供のための具体的な指示事項を得るために、インターネットを介してバックエンドサーバと通信することができる。
TDOモデルでは、TDOの開始、TODの終了、又はTDOによる一部作業の誘発のようにTDOイベントを開始するために信号を放送ストリームで配信したり、又はインターネットを介して配信したりすることができる。これらのイベントは、特定時刻に開始され、一般的にオーディオ/ビデオプログラムと同期化される。TDOが開始されると、プログラムされた対話型機能を提供することができる。
TDOモデルの基本概念は、TDOを構成するファイル及びある動作を取るためにTDOによって用いられるデータファイルはいずれも、その大きさによって受信機に配信されるには一定の時間がかかるということである。対話型要素に対するユーザ体験は、コンテンツの放送前に作成(author)してもよいが、ある振舞は、プログラム内のイベント、例えば、商業広告セグメントの発生と同時に起きるように注意して時刻を決めなければならない。
TDOモデルでは、宣言的オブジェクト、連携するデータ、スクリプト、テキスト及びグラヒックの配信を、対話型イベントの再生に対する特定タイミングの信号通知と区別する。
対話型イベントのタイミングを設定する要素はトリガである。
一つのセグメント内で用いられるTDO及びトリガによって開始される連携TDOイベントに関する情報は、“TDOパラメータテーブル”(TPT)と呼ばれるデータ構造によって提供される。
以下、トリガについて説明する。
図2は、既に生成されたコンテンツの場合に、トリガタイミングの一実施例を示す図である。
トリガは、信号通知(signaling)を識別し、対話型イベントの再生タイミングを設定する機能を担う信号通知要素である。
トリガには、対話型サービスに関係するセグメントに対するメディア時間を示す役割を担う時間ベーストリガと、対話型サービスに関係するアプリケーションのイベント発生時刻を示す役割を担う活性化トリガとの2種類があり得る。
トリガは、対話型サービスのサポートのために、タイミングに関係する様々な機能を果たすことができる。トリガはその機能によって多機能的であってもよく、特定トリガインスタンスは、次の機能のうち一つ以上を行うことができる。
1.TPT(放出ストリーム内のFLUTEセッション、インターネットサーバ、又はこれら両者を介して利用可能なTPT)の位置を信号通知する。
2.次のプログラムセグメントに対する対話型コンテンツがプリロードされることを示す。
3.連携するオーディオ/ビデオコンテンツ又はオーディオコンテンツの現在メディア時間を示す。
4.TPT内特定対話型イベントを参照し、当該イベントが今又は特定の未来メディア時刻に実行されなければならないということを知らせる。
5.需要が最大となることを避けるために、インターネットサーバに対する接続が特定の期間内にランダムに分散されることを示す。
図2は、二つのプログラムセグメントと連携して配信されるトリガを示す。この例では、二つのセグメントとも“あらかじめ作成(pre−produce)”されるが、これは、コンテンツがライブコンテンツではなく、対話型要素はポストプロダクションで追加されたことを意味する。
図示のように、プログラムセグメント1の発生前の短い時間に“プリロード”トリガが配信されて、受信機と連携されているTPT及び単方向コンテンツを取得できる機会を受信機に許容することができる。プリロードトリガが送信されないとき、受信機は、コンテンツを取得するために該当のセグメント内で遭遇する最初のトリガを用いるはずである。
図示のように、トリガはSegment1を通して送信されて、当該セグメントに関する現在メディア時間(図では“m”と表記)を示すことができる。単に当該チャネルに遭遇した受信器が対話型コンテンツを同期化して取得できるようにするためにメディア時間トリガの周期的な配信が必要なことがある。
Segment2の開始直前に当該セグメントに対するプリロードトリガが送信される。
あらかじめ作成されたコンテンツ(非ライブ(non−live)コンテンツ)の場合、受信機が最初のトリガを処理した後に取得できるTPTは、当該セグメントに対する対話型体験のすべての要素のタイミングを定義することができる。当該受信機及びTDOが対話型要素を再生するようにするために必要なものは、メディアタイミングの知識であってもよい。このTPTはメディア時間に関して対話型イベントを記述することができる。
図3は、ライブコンテンツの場合に、トリガタイミングの一実施例を示す図である。
ライブコンテンツの場合にも、TPTは、別個の対話型イベントに関係するデータ及び情報を含むが、放送中にプログラム内の動作が展開するまでは、そのようなイベントの再生タイミングは知られないことがある。このようなライブの場合、トリガの“イベントタイミング”機能が活用される。このモードにおいて、トリガは、特定の対話型イベントが新しい特定メディア時間値に再設定(re−timed)されることを知らせることができる。又は、トリガは、あるイベントが直ちに実行されることを示すこともできる。
図3で、Segment 3に対する各トリガの機能は次のとおりである。
1番トリガは、プリロードトリガであって、セグメント3に関するファイルを得ることができるディレクトリを参照する。
2番トリガは、メディア時間トリガであって、Segment 3に対する再生タイミングを示すために用いられる。
3番トリガは、イベント再設定(re−timing)トリガであって、TPTでeventID=2のイベントがメディア時間240に発生するように時間が再設定されることを示す。ハッチングされた領域は、3番トリガが受信機に配信され得る240以前の期間を示す。
4番トリガは、メディア時間トリガである。
5番トリガは、イベント再設定トリガであって、TPTでeventID=5のイベントがメディア時間444に発生するように時間が再設定されることを示す。
6番、7番トリガは、メディア時間トリガである。
8番トリガは、イベントトリガであって、TPTでeventID=12のイベントが直ちに実行されることを示す。
9番トリガは、イベント再設定トリガであって、TPTでeventID=89のイベントがメディア時間900に発生するように時間が再設定されることを示す。
以下、TDOのライフサイクル及び状態、並びに状態変化イベントについて説明する。
TDOは、解放(Released)、実行可能(Ready)、実行中(Active)、及び中止(Suspended)の異なった4つの状態で存在することができる。多数の異なる要素(トリガ、ユーザ動作、変更されるチャネルなど)が一つの状態から他の状態への変動を引き起こし得る。
TDOは、次の4つの状態を有することができる。4つの状態は、実行可能、実行中、中止及び解放である。実行可能状態は、TDOがダウンロードされて実行準備となっているが、まだ実行されていないことを意味する。活動状態は、TDOが実行中であることを意味する。中止状態は、その状態の保存と併せて、TDOの実行が一時的に中止することを意味する。解放状態は、TDOが実行可能、実行中又は中止状態でないことを意味する。
TDOの状態変化を起こし得るイベントの例には次のものがある。
1.“prepare”をトリガする。装置は、TDOが実行(リソース割当、主メモリへのロードなど)をするように準備されることを要求するトリガを(現在選択された1次仮想チャネルで)受信する。
2.“execute”をトリガする。装置は、TDOが活性化されることを要求するトリガを(現在選択された1次仮想チャネルで)受信する。
3.“suspend”をトリガする。装置は、TDOの中止を示すトリガを(現在選択された1次仮想チャネルで)受信する。
4.“kill”をトリガする。装置は、TDOの終了を示すトリガを(現在選択された1次仮想チャネルで)受信する。
図4は、トリガ構文の一実施例を示す図である。
活性化メッセージ及び時間ベースメッセージは双方とも、ある送信環境で一般的な“トリガ”フォーマットを有してもよい。
ここで、構文上の定義は、代替(alternative)を指定するために垂直バーシンボル“|”が使われる場合以外は、拡張バッカスナウア記法(Augmented Backus−Naur Form、ABNF)の文法を用いて記述する。規則は等号“=”によって定義と分離され、1行を超えて規則定義を続けるときは字下げを用い、リテラルは“”で引用し、要素のグループ化には括弧“(”及び“)”を用い、選択的な要素は“[”と“]”との間に入れる。そして、要素の前に<n>*がつくと、その次の要素のn回以上の反復を指定でき、nはデフォルト値として0に設定される。そして、要素の前に<n>*<m>がつくと、その次にくる要素のn回以上m回以下の反復を指定することができる。
このようなトリガ構文は、<scheme>と“://”部分を除いて、付加的な制限事項と共にURIの一般構文(Generic Syntax)に基づく。
トリガは、locator_part及び項(terms)で構成することができる。termsは、省略可能な構成である。termsが存在するときは、locator_partとtermsとを‘?’で連結することができる。
locator_partは、hostname部分とpath_segments部分とで構成することができ、その間は‘/’で連結することができる。
hostnameは、domainlabelとtoplabelとで構成することができ、domainlabelはその次に‘.’と共に0回以上反復され得る。すなわち、hostnameは、反復されたdomainlabelがtoplabelと連結した形態であってもよく、又は、toplabelだけで構成された形態であってもよい。
domainlabelは、一つのalphanumからなる形態であってもよい。又は、二つのalphanumの間にalphanum又は‘−’が0回以上反復されたものが挿入された形態であってもよい。
alphanumは、alpha又はdigitを意味することができる。
alphaは、lowalpha又はupalphaのいずれかであってもよい。
lowalphaは、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、zのいずれか一つであってもよい。
upalphaは、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、Zのいずれか一つであってもよい。
digitは、0、1、2、3、4、5、6、7、8、9のいずれか一つであってもよい。
toplabelは、一つのalphaからなる形態であってもよい。又は、alphaとalkphanumとの間にalphanum又は‘−’が0回以上反復されたものが挿入された形態であってもよい。
path_segmentsは、セグメントが一つがあり、その次にセグメントが0回以上反復されたものが続く形態であってもよい。このとき、セグメントの間は‘/’で連結することができる。
セグメントは、alphanumが1回以上反復された形態であってもよい。
termsは、event_time又はmedia_timeのいずれかからなる形態であってもよい。続いてspread又はothersが来てもよい。spreadとothersは省略可能な構成であってもよい。spread及びothersが存在すると、これは‘&’を前に置いている形態であって、event_time又はmedia_timeの次に位置することができる。
spreadは、‘s=’の次にdigitが1回以上反復されたものが続く形態であってもよい。
event_timeは、‘e=’の次にdigitが1回以上反復されたものが続く形態であってもよい。又は、その後、‘&t=’の次にhexdigitが1回以上7回以下反復されたものが続く形態であってもよい。‘&t=’とその次の部分は省略可能な構成であってもよい。
hexdigitは、0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、fのいずれか一つであってもよい。
media_timeは、‘m=’の次にhexdigitが1回以上7回未満反復されたものが続く形態であってもよい。
othersは、一つのotherからなる形態であってもよい。又は、その次に‘&’とotherが追加された形態であってもよい。
otherは、resv_cmdとalphanumが1回以上反復されたものとが‘=’によって連結された形態であってもよい。
resv_cmdは、‘c’、‘e’、‘E’、‘m’、‘M’、‘s’、‘S’、‘t’、‘T’を除くalphanumであってもよい。
トリガの長さは52バイトを超えてはならない。そして、トリガのhostname部分は、登録されたインターネットドメイン名であってもよい。
トリガは、3つの部分からなることがわかる。
<domain name part>/<directory path>[?<parameters>]
<domain name part>は、登録されたドメイン名であり、<directory path>は、ドメイン名がURIにおいて出現するようになる経路であってもよい。
<domain name part>は、登録されたインターネットドメイン名を参照することができる。<directory path>は、識別されたドメイン名に対する権限を持つエンティティの制御及び管理下でディレクトリ経路を識別する任意の文字列であってもよい。
TDOモデルで、<domain name part>と<directory path>との組合せは、連携するコンテンツに対話性を追加するために受信機によって処理され得るTPTを一意に識別することができる。
<domain name part>と<directory path>との組合せは、現在セグメントに対するTPTが得られるインターネット位置のURLであってもよい。
すなわち、トリガは、<domain name part>及び<directory path>を用いてTPTを識別することができ、これによってトリガの適用されるTPTがわかる。当該triggerがTPTに適用されてどのような役割を果たすかは、<parameters>部分による。
以下、<parameters>部分について説明する。
<parameters>は、“event_time”、“media_time”、又は“spread”の一つ以上で構成することができる。
次は、図4に示した構文において“event_time”、“media_time”、“spread”に関する部分である。
event_time ="e="1*digit["&t="1*7hexdigit]
media_time ="m="1*7hexdigit
spread ="s="1*digit
“event_time”項は、対象とされたイベント(“e=”項)と当該イベントが活性化されるべき時間(“t=”項)を識別するために活性化トリガにおいて用いることができる。“t=”項がないときは、トリガが到達する時間にイベントが活性化されなければならないことを意味する。
すなわち、対話型イベントID項である“e=”は、当該イベントの対象であるTDOの連携するTPT内のappID、当該特定イベントのeventide、及びこのイベント活性化のために用いられるデータ要素のdataIDを参照することができる、
選択的なタイミング値項である“t=”は、指定されたイベントのための新しいメディアタイミングを示すことができる。“t=”部分が存在しないときは、指定されたイベントのためのタイミングがトリガの到達時刻であることを意味することができる。
“media_time”項(“m=”項)は、時間ベーストリガによって示される時間ベースに対する現在時間を識別するために時間ベーストリガにおいて用いることができる。そして、現在表れているコンテンツを識別できるコンテンツ識別子情報(“c=”項)がmedia_timeに更に含まれてもよい。“c=”項については、直接実行モデルに関する説明で後述する。
すなわち、“m=”は、その次に16進数を表示する1乃至8文字長の文字列が続くメディア時間スタンプ項であって、現在のメディア時間を示すことができる。
“spread”項は、サーバ上で作業負荷が分散するように、時間ベーストリガに応答してなされる動作(サーバからのTPTの検索のような動作)又は活性化トリガに応答してなされる動作(TDOをサーバに接続させるような動作)が、ランダムな時間だけ遅延されなければならないということを示すために用いることができる。
“s=”項は、すべての受信機がトリガで識別されたインターネットサーバに接続を試みるべき秒単位の時間数を示すことができる。それぞれの個別受信機が、指定された区間内でランダムな時間を導出して、該当する量だけ接続要求を遅延させることによって、受信機でトリガが初めて現れるときに発生し得る需要の最大値を時間上で分散させると考えることができる。
<media time>パラメータを含むトリガは、イベント時刻に対する時間ベースを設定するために用いられるため、時間ベーストリガと呼ぶこともできる。
<event time>パラメータを含むトリガは、イベントに対する活性化時刻を設定するため、活性化トリガと呼ぶこともできる。
図5及び図6は、TDOパラメータテーブルの一実施例を示す図である。
TDOパラメータテーブル(TPT)は、一つのセグメントのTDO及びそれらの対象であるイベントに関するメタデータを含む。
以下、テーブルに含まれる各フィールドについて説明する。各フィールドの大きさとテーブルに含み得るフィールドの種類は設計者の意図によって追加又は変更してもよい。
TPT構造内のフィールドの具体的な意味(semantics)は次のとおりである。
TDOパラメータテーブル(TPT)は、@majorProtocolVersion、@minorProtocolVersion、@id、@tptVersion、@expireDate、@updatingTime、@serviceID、@baseURL属性、Capabilities、ライブトリガ(LiveTrigger)、及び/又はTDO要素を含むことができる。
TPTは、当該TPTのルート要素である。一つのTPT要素は、一つのプログラムセグメントの(時間上での)全体又は一部分を記述する。
4ビット属性であってもよい@MajorProtocolVersionは、テーブル定義のメジャーバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートしないメジャーバージョン値を示すTPTのインスタンスを捨てると予想され得る。
4ビット属性であってもよい@MinorProtocolVersionが存在する場合、テーブル定義のマイナバージョン番号を示すことができる。存在しない場合、その値は0にデフォルトすることができる。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン番号値を示すTPTのインスタンスを捨てないと予想される。この場合、受信機はそれらがサポートしない個別要素又は属性を無視すると予想される。
URIである@idは、このTPT要素に関係する対話型プログラミングセグメントを固有に識別することができる。@idは、セグメントの識別子の役割を持つ。したがって、受信機がTPTをパースした後、@id情報を用いて、一つのセグメントに関係するトリガ、AMTなどを該セグメントを識別するための@idを有するTPTと対照させることができる。したがって、該トリガとAMTが適用されるセグメントを探すことが可能になる。AMTに関する詳細な内容は後述する。
8ビット整数であってもよい@tptVersionは、id属性によって識別されるTPT要素のバージョン番号を示すことができる。tptVersionは、TPTが変更されるごとに増加(increment)してもよい。
TPT要素の@expireDate属性は、存在する場合、当該TPTインスタンスに含まれた情報の満了日及び時刻を示すことができる。受信機がTPTをキャッシュに記憶したときは、満了日まで再使用することができる。
16ビット要素であってもよい@updatingTimeは、存在する場合、TPTが修正されることを示すことができ、TPTを再びダウンロードするための秒単位の推薦区間を提供し、新しくダウンロードしたTPTが新しいバージョンであるか否か確認する。
16ビット要素であってもよい@serviceIDは、存在する場合、このTPTインスタンスで記述された対話型サービスと連携するNRTservice_idを示すことができる。これは、この対話型サービスのためのファイルが放送ストリームで配信されるとき、受信機がサービスマップテーブルからFLUTEパラメータを得るために必要である。
@baseURL属性は、存在する場合、当該TPTで出現する任意の相対URLの前につくと、基礎URLを提供することができる。この属性は、ファイルの絶対URLを提供することができる。
Capabilities要素は、存在する場合、当該TPTと連携する対話型サービスの意味ある提示のために必須である能力を示すことができる。要求される能力のうち一つ以上を持たない受信機はサービスの提示を試みないと予想される。
LiveTriggerは、インターネットを介した活性化トリガの配信が利用可能な場合にだけ存在する。存在する場合、活性化トリガを得るために受信機で必要とする情報を提供することができる。LiveTriggerの子要素及び属性については後述する。
TPT要素の子要素であるTDOは、当該TPTインスタンスによって記述されたセグメントの間に対話型サービスの一部を提供するアプリケーション(例えば、TDO)を示すことができる。TDOの子要素及び属性については後述する。
LiveTrigger要素は、@URL及び@pollPeriod属性を含むことができる。
上述したとおり、LiveTrigger要素は、インターネットを介した活性化トリガの配信が利用可能な場合にだけ存在する。存在する場合、活性化トリガを得るために受信機で必要とする情報を提供することができる。
LiveTrigger要素の属性である@URLは、インターネットを介して活性化トリガを配信し得るサーバのURLを示すことができる。活性化トリガは、対話型サービスプロバイダの選択によって、HTTPショートポーリング、HTTPロングポーリング、又はHTTPストリーミングを用いてインターネットを介して配信することができる。
LiveTrigger要素の属性である@pollPeriodは、存在する場合、活性化トリガの配信のためにショートポーリングが使用中であることを示すことができ、pollPeriod属性値は、受信機がポーリング周期として用いる秒単位の推薦時間を示すことができる。
LiveTrigger要素が存在する場合、受信機は、当該TPTをパースして、活性化トリガをインターネットを用いて配信するための情報を得ることができる。@URL情報から、活性化トリガを配信してもらえるサーバのURLを得ることができる。@pollPeriod情報から、又は@pollPeriod属性が存在しないという情報から、活性化トリガがインターネットを介して配信される方式及びポーリング周期に関する情報を得ることができる。@pollPeriodの詳細な説明は後述する。
TDO要素は、@appID、@appType、@appName、@globalID、@appVersion、@cookieSpace、@frequencyOfUse、@expireDate、@testTDO、@availInternet、@availBroadcast属性と、URL、Capabilities、Contentitem、及び/又はEvent要素を含むことができる。
上述したとおり、TPT要素の子要素であるTDOは、当該TPTインスタンスによって記述されたセグメントの間に対話型サービスの一部を提供するアプリケーション(例えば、TDO)を示すことができる。
16ビット整数であってもよい@appIDは、TPT範囲内でアプリケーションを一意に識別することができる。活性化トリガはappIDを参照してトリガに対する対象アプリケーションを識別することができる。@appIDの場合、アプリケーションの識別子である。一つのTPTには複数のアプリケーション(TDOのようなアプリケーション)があってもよい。したがって、TPTをパースした後に@appID情報を用いてアプリケーションを識別することができる。あるアプリケーションに適用されるトリガ又はAMTなどを、そのアプリケーションを識別する@appIDを有するアプリケーションと対照させることができる。したがって、トリガ及びAMTの適用されるアプリケーションを探すことが可能になる。AMTに関する詳細な内容は後述する。
8ビット整数であってもよい@appTypeは、アプリケーションフォーマット類型を示すことができる。デフォルト値は1に設定することができ、この値はTDOを示すことができる。他の値は他のフォーマットを示すことができる。
TDO要素の属性である@appNameは、アプリケーションを開始するために視聴者の許可を求めるとき、視聴者に表示し得る人間にとって読み取り可能な名前であってもよい。
TDO要素の属性である@globalIDは、アプリケーションの大域的に一意な識別子であってもよい。多くの場合に、受信機は近いうちに再び用いるアプリをキャッシュに記憶する。このことが有用となるには、受信機は当該アプリが将来に出現したときそれを認識できなければならない。当該アプリが新しいセグメントで再び出現したとき、受信機がそれを認識できるようにするためにglobalIDが必要である。
TDO要素の属性である@appVersionは、アプリケーションのバージョン番号であってもよい。appVersion値は、当該アプリケーション(globalIDによって識別されたアプリケーション)が変更されるごとに増加してもよい。appVersion属性は、globalID属性が存在しない限り存在することができない。
8ビット整数であってもよい@cookieSpaceは、各呼出し(invocation)間に永続データ(persistent data)を記憶するためにアプリケーションがどれくらい多くの空間を必要とするかを示すことができる。
4ビット整数であってもよい@frequencyOfUseは、受信機にそのアプリケーションコードキャッシュ空間の管理に関する案内を提供するために概略的にどれくらい頻繁に当該アプリケーションが放送で使われるかを示すことができる。‘@frequencyOfUse’の詳細な説明は後述する。
TDO要素の属性である@expireDateは、受信機が当該アプリケーション及び関係する資源を安全に削除できる日付及び時刻を示すことができる。
ブールの(Boolean)属性である@testTDOは、その値が“true”として存在する場合、当該アプリケーションがテスト用であり、一般受信機では無視してもよいことを示すことができる。
@availInternet属性に対する“true”値は、当該アプリケーションがインターネットを介したダウンロード用に利用可能であることを示すことができる。その値が“false”のとき、当該アプリケーションがインターネットを介したダウンロード用に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
@availBroadcast属性に対する“true”値は、当該アプリケーションが放送からの抽出に利用可能であることを示すことができる。“false”値は、当該アプリケーションが放送からの抽出に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
TDO要素の子要素であるURLの各インスタンスは、当該アプリケーションの一部であるファイルを識別することができる。インスタンスURL要素は@entry属性を含むことができる。
URL要素の属性である@entryは“true”値を有すると、当該URLが当該アプリケーションのエントリポイント、すなわち、当該アプリケーションを開始するために開始され得るファイルであることを示すことができる。“false”値を有すると、当該URLが当該アプリケーションのエントリポイントでないことを示すことができる。当該属性が出現しないとき、デフォルト値は“false”であってもよい。
TDO要素の子要素であるURL要素は、上述したとおり、当該アプリケーションをなすファイルを識別する。受信端ではTPTをパースして当該URL情報を得た後、それを用いてサーバに接続して、当該URL情報が示すアプリケーションをダウンロードすることとなる。
TDO要素の子要素であるCapabilitiesは、存在する場合、当該アプリケーションの意味ある提示のために必須である能力を示すことができる。要求される能力のうち一つ以上を持たない受信機は当該アプリケーションの開始を試みないと予想される。
TDO要素の子要素であるContentItemは、当該アプリケーションで必要とする一つ以上のデータファイルで構成されたコンテンツアイテムを示すことができる。ContentItem要素は、この要素の属しているTDO要素が示すアプリケーションが必要とするデータファイルに関する情報を有する。受信端ではパースを行った後、ContentItem要素が存在する場合、ContentItem内のURL情報などを用いて、当該アプリケーションが必要とするデータファイルをダウンロードすることができる。ContentItemの子要素及び属性については後述する。
TDO要素の子要素であるEventは、当該アプリケーションのためのイベントを示すことができる。Event要素は、この要素の属しているアプリケーションのイベントを示す。いかなるイベントを有しているか、該当データにはどのようなものがあるか、該当動作にはどのようなものがあるか等に関する情報を含んでいる。これをパースして受信端ではアプリケーションのイベントに関する情報を得ることができる。Eventの子要素及び属性については後述する。
受信端でTPTを受けてパースすると、TDO及び上述したTDOの子要素及び属性の情報を得ることができる。
TDO要素の子要素の一つである、contentItem要素は、@updateAvail、@pollPeriod、@size、@availInternet、@availBroadcastattribute及び/又はURL要素を含むことができる。
ここで、URL要素は@entry属性を含むことができる。ContentItem要素の子要素であるURLの各インスタンスは、コンテンツアイテムの一部であるファイルを識別することができる。URL要素は@entry属性を含むことができる。URL要素の属性である@entryは、“true”値を有するとき、該当URLが当該コンテンツアイテムのエントリポイント、すなわち、当該コンテンツアイテムを開始するために開始され得るファイルであることを示すことができる。“false”値を有するときは、当該URLが当該コンテンツアイテムのエントリポイントでないことを示すことができる。当該属性が出現しないとき、デフォルト値は“false”であってもよい。受信機は、パース後にContentItemのURL情報を用いて当該アプリケーションの要求されるデータファイルをダウンロードすることができる。この過程で、上述した他の属性のような情報を用いることができる。
ContentItem要素のブール属性である@updatesAvailは、当該コンテンツアイテムがたまに更新されるか否か、すなわち、コンテンツアイテムが静的ファイル(static file)で構成されるか、それとも、当該アイテムが実時間データ供給(feed)であるかを示すことができる。その値が“true”のとき、当該コンテンツアイテムは時々更新され、その値が“false”のとき、当該コンテンツアイテムは更新されない。この属性が出現しないと、デフォルト値は“false”であってもよい。
ContentItem要素の属性である@pollPeriodは、updatesAvail属性の値が“true”の場合にだけ存在することができる。@pollPeriodが存在する場合、活性化トリガを配信するためにショートポーリングが用いられていることを示すことができ、@pollPeriod属性の値は、受信機がポーリング周期として使用するための秒単位の推薦時間を示すことができる。
ContentItem要素の属性である@Sizeは、当該コンテンツアイテムの大きさを示すことができる。
@availInternet属性は、その値が“true”のとき、当該コンテンツアイテムがインターネットを介したダウンロードに利用可能であることを示すことができる。その値が“false”のとき、当該コンテンツアイテムがインターネットを介したダウンロードに利用可能でないことを示すことができる。この属性が存在しない場合、デフォルト値は“true”であってもよい。”
@availBroadcast属性は、その値が“true”のとき、当該コンテンツアイテムが放送からの抽出に利用可能であることを示すことができる。“false”値は、当該コンテンツアイテムが放送からの抽出に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
Event要素は、このEvent要素の属するTDO要素によって示されたアプリケーションのイベントに関する情報を含む。受信機は、当該イベントに関する情報を得るためにこのEvent要素をパースすることができる。
TDO要素の子要素の一つである、Event要素は、@eventID、@action、@destination、@diffusion属性、及び/又はData要素を含むことができる。ここでData要素は@dataID属性を含むことができる。
上記Event要素の16ビット整数属性であってもよい@eventIDは、これを含むTDO要素の範囲内で当該イベントを固有に識別することができる。活性化トリガ(又は、AMT内の活性化要素)は、appIDとeventIDの組合せによって当該トリガに対するターゲットアプリケーション及びイベントを識別することができる。イベントが活性化されると、受信機は、このイベントを当該アプリケーションに渡す。@eventIDは、イベントの識別子の役割を持つ。@eventID情報を用いて、当該イベントを活性化させるためのトリガ、AMTなどを、このイベントを識別するための@eventIDを有するアプリケーションと対照させることができる。すなわち、活性化トリガ(又は、AMT内の活性化要素)は、appIDとeventIDの組合せによって当該トリガに対するターゲットアプリケーション及びイベントを識別することができる。イベントが活性化されると、受信機は、このイベントを当該アプリケーションに渡す。AMTの詳細は後述する。
Event要素の属性である@actionは、当該イベントが活性化されるときに適用される動作の類型を示すことができる。許容される値は、“prep”、“exec”、“susp”及び“kill”であってもよい。
“prep”は、“Trig prep”動作に対応できる。対象となったアプリケーションの状態が“Released”のとき、この動作は“Ready”への状態変更を起こすことができる。
“exec”は、“Trig exec”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態は“Active”になり得る。
“susp”は、“Trig susp”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態が“Active”である場合、“Suspended”に変更可能であり、そうでない場合は変更されない。
“kill”は、“Trig kill”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態は“Released”になり得る。
@actionは、当該イベントが活性化される時に適用される動作の類型を示すことができる。
Event要素の属性である@destinationは、当該イベントの対象装置を示すことができる。@destinationに関する詳細な内容は後述する。
Event要素の8ビット整数属性であってもよい@diffusionは、存在する場合、秒単位の時間周期Tを示すことができる。この拡散パラメータの目的は、サーバ負荷の最大値を均一にすることである。受信機は0〜Tの範囲で10ミリ秒単位でランダム時間を算出し、TPTでURLによって参照されたコンテンツを検索するためにインターネットサーバに接続する前にこの時間量だけ遅延されると予想され得る。
Event要素の子要素であるDataは、存在する場合、当該イベントに関係するデータを提供することができる。Eventの別個の活性化は、それらと連携する異なるData要素を有してもよい。ここで、Data要素は@dataID属性を含むことができる。16ビット整数属性である@dataIDは、これを含むEvent要素の範囲内でData要素を一意に識別することができる。イベントの活性化がこれと連携するデータを持つ場合、活性化トリガは、AppID、EventID及びDataIDの組合せによって該当Data要素を識別することができる。Data要素は、当該イベントに用いられるデータを示す。一つのイベント要素は複数のデータ要素を有してもよい。データ要素の@dataID属性を用いてデータの識別をする。受信端では該当データに関係するイベントが活性化された場合、活性化トリガ(又は、AMT内活性化要素)は、AppID、EventID、及びDataIDの組合せによってData要素を識別することができる。AMTに関する詳細な内容は後述する。
図7は、‘Frequency of Use’属性値の意味の一実施例を示す図である。
“意味”列は、当該アプリケーションを含むセグメントの発生頻度を示す。(もちろん、一つのセグメント内で一つの属性が複数回出現可能である。)frequencyOfUse属性は、globalIDが存在しなければ存在することができない。アプリがキャッシュに記憶されて後で用いられるとすき、受信機は、該当アプリが後で再び出現すると、同一のアプリとして認識しなければならない。そのためにglobalId属性が必要である。
図8は、‘destination’属性値の意味の一実施例を示す図である。
図8に示すように、目的地属性の値が0のときに予約され、1のときに主装置だけを意味し、2のときに一つ以上の補助装置だけを意味し、3のときに主装置及び/又は一つ以上の補助装置を意味することができる。
図9、図10、図11、図12、図13は、TDOパラメータテーブルの2進形態の構文の一実施例を示す図である。
これは、上述したTPT構造の2進フォーマットである。この構造は、NRTでTPTを送信する場合に必要なフォーマットであって、TPTのXML構造をNRTで送信するのに適するように作成しておいたものである。TPTのXMLバージョンに含まれた次の要素及び/又は属性、すなわち、@protocolVersion(major/minor)、@serviceID及び@tptVersionは、2進テーブルを配信するためのカプセル化ヘッダ(encapsulation header)によって放送ストリームで提供できるため、2進バージョンから省略することができる。
フィールドの意味は、次のとおりである。図9、図10、図11、図12、図13の順に続くTDOパラメータテーブルの2進フォーマットにおいて、上から下に出現する順に記述した。
1ビットフィールドであってもよいexpire_date_includedは、expire_datefieldが含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味でき、その値が‘0’のとき、含まれないことを意味する。
5ビットフィールドであってもよいsegment_id_lengthは、segment_idのバイト長を示すことができる。
可変長フィールドであるsegment_idは、セグメントIDのバイトを含むことができるが、これは、TPTXMLフォーマットの“id”属性と同じ意味を有してもよい。
8ビットフィールドであってもよいbase_URL_lengthは、base_URLフィールドのバイト長を示すことができる。
可変長フィールドであるbase_URLはベースURLのバイトを含むことができるが、これは、TPTXMLフォーマットのbaseURL属性と同じ意味を有してもよい。
32ビットフィールドであってもよいexpire_dateは、当該TPTインスタンスに含まれた情報の満了日及び時刻を示すことができる。受信機がTPTをキャッシュに記憶すると、満了日まで再使用することができる。符号無し整数は、1980年1月6日00:00:00 UTC以後、GPS秒の値からGPS−UTC_offsetを引いたものと解釈することができる。GPS UTCオフセットは、GPSとUTC時刻標準との間の現在の全体秒単位オフセットを定義する8ビット符号無し整数であってもよい。
8ビットフィールドであってもよいtrigger_server_URL_lengthは、trigger_server_URLフィールドのバイト長を示すことができる。このフィールドの値が0のとき、個々の活性化トリガのインターネット配信が利用可能でないことを示すことができる。
trigger_server_URL_lengthフィールドが0でなければ、trigger_server_URLは、Trigger Server URLのバイトを含むことができ、これはTPTXMLフォーマットのLiveTrigger要素のURL属性と同じ意味を有してもよい。
1ビットフィールドであってもよいtrigger_delivery_typeは、インターネットを介した個別活性化トリガの配信モードを示すことができる、‘0’値を有するときは、HTTPショートポーリングが使用中であることを示すことができ、‘1’値を有するときは、HTTPロングポーリング又はHTTPストリーミングが使用中であることを示すことができる。
8ビット整数であってもよいpoll_periodは、HTTPショートポーリングが使用中であるとき、ポーリング間の推奨される秒の数を示すことができる。
8ビットフィールドであってもよいnum_apps_in_tableは、当該TPTインスタンスで記述されたアプリケーション(TDO)の数を示すことができる。
16ビットフィールドであってもよいapp_idは、当該アプリケーション(num_apps_in_tableループの反復で記述されるアプリケーション)に対する識別子を含むことができる。これは、当該TPTインスタンス内で固有であってもよい。
1ビットフィールドであってもよいapp_type_includedは、app_typeフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいapp_name_includedは、app_nameフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいglobal_id_includedは、global_idフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいapp_version_includedは、app_versionフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいcookie_space_includedは、cookie_spaceフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいfrequency_of_use_includedは、frequency_of_useフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
1ビットフィールドであってもよいexpire_date_includedは、expire_dateフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
8ビットフィールドであってもよいapp_typeは、存在する場合、このアプリケーションのフォーマット類型を示すことができる。その値が0のとき、そのアプリケーションがTDOであることを示すことができる。このフィールドが存在しない場合、その値は0にデフォルトされる。他の値は他のフォーマットを示すことができる。
8ビットフィールドであってもよいapp_name_lengthは、存在する場合、その直後にくるapp_nameフィールドのバイト長を示すことができる。このフィールドの値が0のとき、該当アプリケーションのためのapp_nameフィールドが存在しないことを示すことができる。
可変長フィールドであるapp_nameは、TPT XMLフォーマットであるTDO要素のappName属性と同じ意味を有してもよい。
8ビットフィールドであってもよいglobal_id_lengthは、その直後にくるglobal_idフィールドのバイト長を示すことができる。このフィールド値が0のとき、当該アプリケーションのためのglobal_idフィールドが存在しないことを示すことができる。
可変長フィールドであるglobal_idは、TPT XMLフォーマットのTDO要素のglobalId属性と同じ意味を有してもよい。
8ビットフィールドであってもよいapp_versionは、TPT XMLフォーマットのTDO要素のappVersion属性と同じ意味を有する。
8ビットフィールドであってもよいcookie_spaceは、TPT XMLフォーマットのTDO要素のcookieSpace属性と同じ意味を有してもよい。
8ビットフィールドであってもよいfrequency_of_useは、存在する場合、TPT XMLフォーマットのTDO要素のfrequencyOfUse属性と同じ意味を有してもよい。
8ビットフィールドであってもよいexpire_dateは、TPT XMLフォーマットのTDO要素のexpireDate属性と同じ意味を有してもよい。
1ビットフィールドであってもよいtest_appは、当該アプリケーションが一般受信機に無視されるようになっているテストアプリケーションであるか否かを示すことができる。その値が‘1’のとき、テストアプリケーションであることを意味でき、その値が‘0’のとき、テストアプリケーションでないことを意味する。
1ビットフィールドであってもよいavailable_on_internetは、当該アプリケーションがインターネットを介して利用可能か否かを示すことができる。その値が‘1’のとき、インターネットを介して利用可能であることを意味でき、その値が‘0’のとき、インターネットを介して利用可能でないことを意味する。
1ビットフィールドであってもよいavailable_in_broadcastは、当該アプリケーションが放送を介して利用可能か否かを示すことができる。その値が‘1’のとき、放送を介して利用可能であることを意味でき、その値が‘0’のとき、放送を介して利用可能でないことを意味する。
4ビットフィールドであってもよいnumber_URLsは、当該アプリケーションを含むファイルの数を示すことができる。
8ビットフィールドであってもよいURL_lengthは、それに続くURLフィールドの長さを示すことができる。
可変長フィールドであるURLは、TPT XMLフォーマットであるTDO要素のURL属性と同じ意味を有してもよい。
8ビットフィールドであってもよいnumber_content_itemsは、このアプリケーションによる使用のためにダウンロードしなければならないコンテンツアイテムの数を示すことができる。
1ビットフィールドであってもよいupdates_availは、このコンテンツアイテムがたまに更新される否か、すなわち、コンテンツアイテムが固定ファイルの集合であるか、それとも、実時間データフィードであるかを示すことができる。その値が‘1’のとき、更新されることを示すことができ、その値が‘0’のとき、更新されないことを示すことができる。
1ビットフィールドであってもよいavail_internetは、このコンテンツアイテムを含むファイルを、インターネットを介してダウンロードできるか否かを示すことができる。その値が‘1’のとき、インターネットを介したダウンロードに利用可能であることを意味でき、その値が‘0’のとき、インターネットを介したダウンロードに利用可能でないことを意味する。
1ビットフィールドであってもよいavail_broadcastは、このコンテンツアイテムを含むファイルを、放送を介してダウンロードできるか否かを示すことができる。その値が‘1’のとき、放送を介したダウンロードに利用可能であることを意味でき、その値が‘0’のとき、放送を介したダウンロードに利用可能でないことを意味する。
1ビットフィールドであってもよいcontent_size_includedは、このアプリケーションのためにcontent_sizeフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味でき、その値が‘0’のとき、含まれないことを意味する。
4ビットフィールドであってもよいnumber_URLsは、このコンテンツアイテムを含むファイルの数を示すことができる。
8ビットフィールドであってもよいURL_lengthは、それに続くURLフィールドの長さを示すことができる。
可変長フィールドであるURLは、TPT XMLフォーマットであるTDO要素の子要素であるContentItemのURL属性と同じ意味を有してもよい。
24ビットフィールドであってもよいcontent_sizeは、TPT XMLフォーマットであるTDO要素の子要素であるContentItemのcontentSize属性と同じ意味を有してもよい。
8ビットフィールドであってもよいnum_content_descriptorsは、その直後にくる記述子ループ内のコンテンツ記述子の数を示すことができる。
可変長フィールドであるcontent_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該コンテンツアイテムに関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このコンテンツアイテムの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
8ビットフィールドであってもよいnumber_eventsは、このTDOに対して定義されたイベントの数を示すことができる。
16ビットフィールドであってもよいevent_idは、当該イベント(number_eventsループの反復で記述されたイベント)のための識別子を含むことができる。このフィールドは、当該アプリケーションの範囲内で唯一であってもよい。当該イベントはapp_idとevent_idとの組合せによって活性化トリガ内で参照してもよい。
5ビットフィールドであってもよいactionは、TPT XMLフォーマットであるTDO要素のEvent子要素のaction属性と同じ意味を有してもよい。
1ビットフィールドであってもよいdestination_includedは、当該イベントのためにdestinationフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
1ビットフィールドであってもよいdiffusion_includedは、当該イベントのためにdiffusionフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
1ビットフィールドであってもよいdata_includedは、当該イベントのためにdata_sizeとdata_bytesフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドらが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
destinationフィールドの意味は、存在する場合、TPT XMLフォーマットであるTDO要素のEvent子要素のdestination属性の意味と同一であってもよい。
diffusionフィールドの意味は、存在する場合、TPT XMLフォーマットであるTDO要素のEvent子要素のdiffusion属性の意味と同一であってもよい。
data_sizeフィールドは、存在する場合、その直後にくるdata_bytesフィールドの大きさを示すことができる。
data_bytesフィールドは、存在する場合、当該イベントに関係するデータを提供することができる。当該イベントが活性化されるごとに対象アプリケーションはそのデータを読み取り、それを用いて所望の動作の実行を助けることができる。このフィールドは、生(raw)の2進値を含み得るということを除けば、その内容がTPT XMLフォーマットである該当のTDO要素の該当のEvent子要素の該当のData子要素の内容と同一であってもよく、TPT XMLフォーマットであるこのData要素はその2進値のベース64符号化を含むことができる。
8ビットフィールドであってもよいnum_app_descriptorsは、その直後にくる記述子ループ内の記述子の数を示すことができる。
可変長フィールドであるapp_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該アプリケーション(TDO)に関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このアプリケーションの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
8ビットフィールドであってもよいnum_TPT_descriptorsは、その直後にくる記述子ループ内の記述子の数を示すことができる。
可変長フィールドであるTPT_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該TPTに関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このTPTによって示される対話型サービスの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
図14は、活性化メッセージテーブル構造の一実施例を示す図である。以下、テーブルに含まれる各フィールドについて説明する。各フィールドの大きさとテーブルに含み得るフィールドの種類は、設計者の意図によって追加又は変更してもよい。
活性化メッセージテーブル(Activation Messages Table、AMT)は、セグメントのための活性化トリガに対応するものを含むことができる。ある環境では活性化トリガに代えてこのAMTが受信機に配信してもよい。トリガは、“live trigger”サーバによって、ACRサーバによってAMTを介して字幕ストリームで配信してもよい。
AMT構造内のフィールドの具体的な意味は、次のとおりである。
AMTは、@majorProtocolVersion、@minorProtocolVersion、@segmentId、@beginMT属性、及び/又はActivation要素を含むことができる。
AMT要素の4ビット属性であってもよい@majorProtocolVersionは、AMT定義のメジャーバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートするように備えられていないメジャーバージョン値を示すAMTのインスタンスを捨てると予想され得る。
AMT要素の4ビット属性であってもよい@minorProtocolVersionは、存在する場合、AMT定義のマイナバージョン番号を示すことができる。存在しない場合、その値は0にデフォルトすることができる。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン値を示すAMTのインスタンスを捨てないと予想され得る。この場合、受信機はそれらがサポートしない個別要素又は属性を無視すると予想してもよい。
AMTの識別子である@segmentIDは、AMT内Activationが適用されるアプリケーション及びイベントを含むTPTの識別子と対照される。@segmentIdは、AMTの識別子の役割を担うことができる。したがって、受信端でAMTを受信した後にこれをパースし、@segmentId情報を用いてAMTを識別することができる。@segmentIdは、AMTがどのセグメントに適用されるべきかに関する情報を含んでおり、そのセグメントに関係するTPTが有している@idと対照されてAMTとTPTとを連結する役割を担うことができる。さらに、まず当該segmentを識別することによって、AMT内のそれぞれのActivation要素が対象とするTDO、イベントを識別するために必要な基本的な情報を提供することができる。
AMT要素の属性である@beginMTは、存在する場合、AMTインスタンスが活性化時刻を提供するセグメントのメディア時間の開始を示すことができる。@beginMTは、属しているAMTが適用されるセグメントに対してメディア時間の開始を示すことができる。これによって、Activation要素が示す活性化が発生する時間の基準を定めることができる。したがって、@beginMTがある場合、Activation要素内の@startTime属性は、@beginMTが示すメディア時間の開始に影響を受けることができる。
AMTのActivation要素の各インスタンスは、あるイベントをこのイベントと関係するあるデータと共にある時間に活性化する命令を示すことができる。Activation要素は、AMT内に複数個が存在してもよい。各Activation要素は、活性化トリガと同様の役割を担うことができる。Activation要素はいずれも、AMT内の@segmentIdが示すセグメントに適用することができる。Activation要素内の属性に、該当活性化がどのアプリケーションの、どのイベントに、いつ起きるかに関する情報などを含めることができる。Activation要素内の属性に関する詳細な説明は後述する。
Activation要素は、@targetTDO、@targetEvent、@targetData、@startTime、@endTimeの属性を含むことができる。
Activation要素の属性である@targetTDOは、AMTに連携するTPT内のTDO要素のappID属性と対照することによって、活性化命令に対する対象アプリケーションを識別することができる。@targetTDOは、AMT内のActivation要素がどのアプリケーションに適用されるかに関する情報を含むことができる。受信端ではAMTを受信してパースして@targetTDOを得、一致するTPT内のTDO要素内の@appIDを探して、Activation要素の適用されるアプリケーションを識別することができる。
Activation要素の属性である@targetEventは、targetTDO属性によって識別されるTDO要素に含まれたEvent要素のeventID属性と対照することによって、当該活性化命令に対する対象イベントを識別することができる。@targetEventは、AMT内のActivation要素がどのアプリケーションのどのイベントに適用されるかに関する情報を含むことができる。受信端ではAMTを受信しパースして@targetEventを得、一致するTPT内のTDO要素内の@eventIDを探して、Activation要素の適用されるイベントを識別することができる。
Activation要素の属性である@targetDataは、targetTDOとtargetEvent属性によって識別されるEvent要素に含まれたData要素のdataIDと対照することによって、活性化命令が適用されるときに対象イベントと連携されるデータを識別することができる。@targetDataは、活性化命令が適用されるとき、ターゲットとなったイベントに関係するデータを識別することができる。受信端ではAMTを受信しパースして@targetDataを得、TPT内の該当Event要素内の@dataIDを探すことができる。
イベント要素の属性である@startTimeは、メディア時間に対するイベントの有効期間の開始を示すことができる。受信機は、メディア時間がstartTime内の値に到達するとき、又はその後のできるだけ近いうちに当該命令を実行すると予想され得る。@startTimeは、当該イベントが起きる開始時刻を示すことができる。この開始時刻はメディア時間を基準とする。受信端ではAMTをパースして@startTime情報を得、これを用いてイベントの起きる時間が把握できる。受信端では、@segmentIdによって識別されたセグメントのメディア時間を基準にメディア時間が開始時刻(start Time)に達すると、イベントを活性化させることができる。万一、既に開始時刻が過ぎた場合は、できるだけ早くイベントを活性化させることができる。
イベント要素の属性である@endTimeは、存在する場合、メディア時間に対する当該イベントのための有効期間の終わりを示すことができる。受信機は、メディア時間がendTimeの値を経過すると当該命令を実行しないと予想され得る。@endTimeは、当該イベントが終わる時間を示すことができる。メディア時間が終わる時間に達すると、受信端ではイベントを実行させなくてもよい。
AMT内Activation要素は、startTime値の昇順で出現できる。
受信機がAMT内Activationによってイベントを活性化させるとき、受信機は、各活性化をその開始時刻に適用したり、又はその後にできるだけ近いうちに適用(例えば、受信機がサービスに加入して、開始時刻以後と終了時刻以前との間におけるある時刻にAMTを受信する場合)したりすると予想され得る。TPT内イベント要素の“action”属性が“exec”のとき、受信機はTriggerEventを対象アプリケーションに渡すと予想できる。TriggerEventについては、APIに関する部分で後述する。
図15は、URLリスト構造の一実施例を示す図である。
URLリストは、受信機に対して使用潜在性のあるURLを含むことができる。次のようなURLなどを含むことができる。
1.一つ又はそれ以上の未来セグメントに対するTPTのためのURL。受信機がファイルをあらかじめダウンロードできるようにする。
2.放送ストリーム内の独立型NRTサービスに関する情報が検索され得るNRT信号通知サーバのURL。受信機に放送ストリーム内のNRTサービス信号通知の配信に対する利用権限がなくてもこれらのサービスに利用可能になる。
3.仮想チャネルに対する使用報告が送信される使用報告サーバのURL。受信機に放送ストリーム内のこのURLの配信に対する利用権限がなくてもこのような報告を送信可能にする。
4.仮想チャネルに対するPDI−QテーブルのURL。受信機に放送ストリームで配信されたPDI−Qテーブルに対する利用権限がなくても視聴体験を個人化(personalization)可能にする。(PDI−Qテーブルは対話型サービスを提供するにあたり、ユーザにカスタマイズサービスを提供するための個人化に関係するテーブルである。PDI−Qテーブルを介してユーザに個人化のための質問ができる。)
そのうち、UsrUrl要素に関して、URLリストを作成し、さらに使用報告のためのサーバのURLを知らせる必要があり得る。これは、現在、受信機が視聴し消費しているコンテンツの種類と好むデータを活用してビジネスに活用するためであってもよい。URLリストにあるUsrUrl要素は、次のように様々に解釈可能である。
第一は、使用報告サーバである場合は、受信機はこの使用報告サーバのURLをもって、あらかじめ定められたプロトコル(例えば、データ構造、XMLファイルなど)によって受信機の使用報告機能を果たすことができる。
第二は、受信機のウェブブラウザで実行されるTDOであってもよい。ここでは、使用報告TDOの位置を知らせ、この場合、TDOが直接、受信機のウェブブラウザのAPI(例えば、ファイルAPI、使用報告API)を用いて受信機に記憶された又は現在消費しているコンテンツの情報を収集して報告することができる。TDOは、独自でXMLHttpRequestというJavaScript(登録商標)APIを活用して収集されたデータを送信することができる。
以下、URLリストについて説明する。
URLlistは、UrlList、TptUrl、UrsUrl、及び/又はPdiUrlなどを含むことができる。これらの要素の意味は次のとおりである。
UrlList要素の要素であるTptUrlは、現在の対話型付加サービス内の未来セグメントに対するTPTのURLを含むことができる。複数のTptUrl要素が含まれた場合、放送内のセグメントの出現順に配列することができる。
UrlList要素の要素であるNrtSignalingUrlは、受信機が現在のトランスポートストリーム内のすべての仮想チャネルに対するNRT信号通知テーブルを取得し得るサーバのURLを含むことができる。
UrlList要素の要素であるUrsUrlは、受信機が現在の仮想チャネルに対する使用(視聴率調査)報告を送信し得るサーバのURLを含むことができる。
UrlList要素の要素であるPdiUrlは、現在の仮想チャネルに対するPDI−QテーブルのURLを含むことができる。
以下、配信メカニズムについて説明する。
以下、対話型サービス生成からの結果、放送ストリーム内でのトリガの配信、インターネットを介した時間ベーストリガの配信、インターネットを介した活性化トリガの配信(ACRシナリオ)、放送ストリーム内でのTPTの配信、インターネットを介したTPTの配信、TDO及びコンテンツアイテムの移動、複数のセグメントを一つのセグメントに結合の順に説明する。
このうち、対話型サービス生成からの結果、放送ストリームでのトリガの配信、インターネットを通した時間ベーストリガの配信、インターネットを通した活性化トリガの配信(ACRシナリオ)、TDO及びコンテンツアイテムの移動、複数セグメントを一つのセグメントにまとめること、については図示していないが、明細書事項に限定されず、設計者の意図によって変更可能である。
図16乃至図17は、それぞれ、放送ストリームでのTPTの配信及びインターネットを通したTPTの配信の場合を示す図である。
以下、上記の配信メカニズムについて説明する。
以下、対話型サービス生成からの結果について説明する。
一つのセグメントに対するサービス生成過程は、すべてのTDO及び他のコンテンツアイテムを含むフォルダ、XML formatのTPTファイル、及びXML formatのAMTファイルを生成することができる。その他の結果物も生成することができる。
次に、放送ストリーム内でのトリガの配信について説明する。
放送ストリームで配信される場合、トリガはURLString命令内でサービス#6でDTV字幕チャネルで配信することができる。
トリガの長さが26文字以下のとき、トリガはセグメント化せずに送信することができる(Type=11)。トリガの長さが27乃至52文字のとき、二つのセグメント(the first segment in a Type=00セグメントである1番目のセグメントと、Type=10セグメントである2番目のセグメント)で送信してもよい。
当該命令の与えられた任意のインスタンスで配信されたURIの類型は、インスタンス8ビットパラメータによって与えることができる。
TDOモデルを使用する対話型サービスの場合、URIデータ構造のURI類型は、0(TDOモデルのための対話型TVトリガ)に設定することができる。この配信メカニズムは、時間ベーストリガも活性化トリガも含む。
時間ベーストリガが(字幕サービス#6で)放送ストリームで配信される場合に、“m=”項が不存在のとき、時間ベーストリガは単純に信号通知サーバのURLを配信することができる。そして、“m=”項が不存在のとき、“t=”項は活性化トリガに不存在でなければならない。
活性化トリガが(字幕サービス#6で)放送ストリームで配信される場合に、すなわち、“Trigger”フォーマットが“e=”項を有しており、“t=”項は有しているかいない場合に“t=”項が存在するときは、活性化時刻は時間ベースに対する時間スタンプであってもよい。そして、“t=”項が不存在のとき、活性化時刻はメッセージの到達時刻になってもよい。
時間ベーストリガと活性化トリガがCCサービス#6を介して配信される場合、放送事業者で時間ベーストリガと活性化トリガを扱う方法には3つの可能な方法がある。この3つの方法は、‘明示的な時間ベースがないセグメントモード’、‘明示的な時間ベースがあるセグメントモード’、そして‘明示的な時間ベースがないサービスモード’である。
これらは放送内でセグメント単位で混合してもよい。
明示的な時間ベースがないセグメントモードでは、活性化メッセージが時間スタンプを含まないため、各メッセージの活性化時刻はそのメッセージの配信時刻となり、また、時間ベースメッセージが時間スタンプを含まないため、その唯一の目的はTPTファイルを配信し得る信号通知サーバのURLを提供することであり得る。このモードでは、信号通知サーバのURLを提供するための活性化メッセージ内のURLによって時間ベースメッセージが完全に省略してもよいが、この場合受信機は、最初の活性化メッセージが出現するまでTPTを検索したり、TDOのダウンロードを開始したりできなくなり、活性化メッセージに対する応答がだいぶ遅延することになる。
このような場合、CCサービス#6に出現し得る時間ベースメッセージは、“Trigger”フォーマットの“locator_part”を含むことができ、“spread”項も含むことができるが、“media_time”項は含まなくてもよい。そして、CCサービス#6で出現し得る活性化メッセージは、“Trigger”フォーマットの“locator_part”と“event_time”項を含むことができ、“spread”項も含むことができるが、“イベント_time”項には“t=”部分がなくてもよい。時間ベース及び活性化メッセージの“locator_part”は現在のsegmentIdであってもよい。このURLは、インターネットを介してセグメントのためのTPTを検索するために用いてもよい。
明示的な時間ベースがあるサービスモードにおいて、時間ベースメッセージは時間ベースを定義するためにこの時間スタンプを含む。活性化メッセージは、時間ベースに対する活性化時刻を定義するために時間スタンプを含む。又は、これらのメッセージは時間スタンプを含まなくてもよく、この場合、活性化時刻はメッセージの到達時刻である。
この場合、CCサービス#6で出現し得る時間ベースメッセージは、Trigger”フォーマットの“locator_part”と“media_time”項を含むことができ、“spread”項も含んでもよく、CCサービス#6で出現し得る活性化メッセージは“Trigger”フォーマットの“locator_part”と“event_time”項を含むことができ、“spread”項も含んでもよく、このとき、“event_time”項内の“t=”部分は存在してもしなくてもよい。時間ベース及び活性化メッセージの“locator_part”は現在のsegmentIdであってもよく、該当時間ベースは該当セグメントに特定である。このURLは、インターネットを介してセグメントのためのTPTを検索するために用いられてもよい。
明示的な時間ベースがあるサービスモードにおいて、時間ベースメッセージは時間ベースを定義するためにこの時間スタンプを含み、活性化メッセージは時間スタンプを含んでも含まなくてもよい。時間ベースは特定の一セグメントに特定されるよりは、複数のセグメントにわたって延長することができる。時間ベースメッセージの“locator_part”は、時間ベースの識別子であってもよく、インターネットを介してサービスのためのTPTを検索するために使用可能なURLであってもよい。
いずれの場合であれ、CCサービス#6にトリガを挿入するトリガ挿入サーバは、AMTから作業をして、活性化メッセージをAMT内のXMSフォーマットからCCサービス#6での配信に特定されたトリガフォーマットに変えなければならない。endTime属性がないActivation要素の場合は、活性化時刻がstartTime属性と同一であり、単一トリガが挿入してもよい。startTimeとendTime要素の双方を有するActivation要素の場合は、同一の対象をもってトリガシーケンスが挿入してもよい。シーケンス内の最初のトリガは、startTime属性と同じ活性化時刻を有することができ、当該シーケンス内の最後のトリガは、endTime属性と同じ活性化時刻を有することができ、シーケンス内のトリガの活性化時刻の間には固定した期間が存在できる(例外として、シーケンス内の最後のトリガとその直前のトリガとの間の区間はより短くてもよい。)。この固定した期間の長さは設定可能である。
時間ベース及び活性化メッセージがセグメントモードであるとき、時間ベースは、セグメントに対して特定することができる。このベースは、当該セグメントの開始時に“beginMT”値で始まって、セグメントを通じて行うことができる。個々の活性化の“startTime”及び“endTime”値は、“beginMT”値に対して相対的であってもよい。時間ベース及び活性化メッセージがサービスモードにあるとき、時間ベースはセグメントにわたっていてもよく、各セグメントに対する“beginMT”値は、サービス時間ベース及び放送スケジュールを考慮して調整することができる。
次に、インターネットを介した時間ベーストリガの配信について説明する。
時間ベーストリガインターネット配信は、いわゆる自動コンテンツ認識(Automatic Content Recognition、ACR)状況で有用であり得るが、このような状況で、時間ベーストリガの受信側は字幕サービス#6に対する利用権限がない。このような状況で受信機はビデオフレームを認識し、時間ベースをこれらのフレームと同期化させるためにACRを使用しなければならない。ACR状況において時間ベースメッセージは透かし又はACRサーバから得ることができる。ACRサーバから受ける場合、時間ベースメッセージはACRサーバから応答として配信してもよい。
次に、インターネットを介した活性化トリガの配信(ACRシナリオ)について説明する。
活性化メッセージは、ショートポーリング、ロングポーリング又はストリーミングを通じて配信することができるが、これらのメッセージはいずれも受信機及びサーバに相当のオーバロードを発生させ得る。活性化メッセージは、AMTの形態で配信してもよいが、セグメントの長さに関する多い量の情報を提供し、広告飛ばし機能(ad killer)を可能にすることができる。他の方法もあり得る。
活性化メッセージが活性化トリガの形態で配信される場合に、すなわち、“Trigger”formatにおいて“e=”項はあり、“t=”項はあるかない場合に、これは、HTTPショートポーリング、ロングポーリング又はストリーミングを通じて配信され得る。
インターネットを通して配信される場合、活性化メッセージは、個別的活性化トリガ配信メカニズムや一括的活性化トリガ配信メカニズムのいずれか一方又は両方を用いて配信することができる。
次に、個別的活性化トリガ配信について説明する。
前述したように、個別活性化トリガは、インターネットを介して配信されるとき、HTTPショートポーリング、ロングポーリング又はストリーミングを用いて配信すことができる。活性化トリガのフォーマットはDTVCCサービス#6を通じて配信されるときと同一であってもよい。
ショートポーリングの場合は、そのポーリング周期を指定しなければならない。この周期は、次の説明のように、TPTにあるpollPeriodを用いてショートポーリング動作を設定することができる。
活性化トリガのインターネット配信が利用可能な場合、TPT内LiveTrigger要素のURL属性は、活性化トリガを配信し得る活性化トリガサーバを示すことができる。LiveTrigger要素のpollPeriod属性がTPTに存在する場合、これはHTTPショートポーリングが使用中であることを示すことができ、この属性は、受信機が用いるべきポーリング周期を示すことができる。LiveTrigger要素のpollPeriod属性がTPTに存在しない場合、これは、HTTPロングポーリングとHTTPストリーミングのいずれか一方が使用中であることを示すことができる。
いずれのプロトコルが用いられるかにかかわらず、受信機は問合せ形式で活性化トリガサーバにHTTP要求をすると予想され得る。
?mt=<media_time>
ここで、<media_time>は、視聴されているコンテンツの現在メディア時間であってもよい。
ショートポーリングが使用中である場合、活性化トリガサーバからの応答は、<media_time>で終わるpollPeriod長の期間内で発生したすべてのトリガを含むことができる。一つ以上の活性化トリガが返却される場合、これらは一つ以上の空白(whitespace)文字によって分離することができる。返却される活性化トリガがないときは、当該応答は空でもよい。
HTTPロングポーリング又はHTTPストリーミングが使用中である場合は、活性化トリガサーバは、活性化トリガが放送ストリームで配信されるメディア時間まで応答の返却を待機することができる。このとき、活性化トリガを返却することができる。
HTTPロングポーリングが使用中である場合、活性化トリガサーバは、活性化トリガを返却後にセッションを閉じることができる。受信機は更新されたメディア時間を用いて直ちに他の要求をすると予想され得る。
HTTPストリーミングが使用中である場合、活性化トリガサーバは、各活性化トリガを返却した後に当該セッションを開いた状態に維持し、追加の活性化トリガを配信する時刻に到達すると、当該セッションでそれらのトリガを配信することができる。
いずれの場合においても、HTTP応答は、配信モードを知らせるために、次の形態のいずれかの形態からなるHTTP Response Headerフィールドを含むことができる。
ATSC-Delivery-Mode:ShortPolling[<poll-period>]
ATSC-Delivery-Mode:LongPolling
ATSC-Delivery-Mode:Streaming
<poll−period>パラメータは、連続するポーリングに対してポーリング間の推奨間隔を示すことができる。<poll−period>は省略してもよい。
次に、活性化トリガ一括配信について説明する。
活性化トリガがインターネットを介して一括的に配信される場合、一つのセグメントに対する活性化トリガを、当該セグメントに対するTPTをメッセージの1番目の部分とし、AMTをメッセージの2番目の部分とする複数パートMIMEメッセージの形態としてHTTPを通じて当該セグメントに対するTPTと共に配信することができる。
図16は、TPTを含むプライベートセクションの2進フォーマットの一実施例を示す図である。以下に説明するNRTスタイルプライベートセクションは、図16のとおりである。以下、放送ストリームでのTPT配信について説明する。
放送ストリームで配信するとき、TPTを、それらのXMLフォーマットから対応する2進NRTスタイル信号通知フォーマットに変換して、テーブルインスタンス当たり一つずつNRTスタイルプライベートセクションにカプセル化することができる。現在セグメントに対するTPTは常に存在する。一つ以上の未来セグメントにに対するTPTも存在することができる。TPTインスタンスは、そのsegment_idフィールドの値によって定義される。参考として、TDOパラメータテーブルの2進フォーマットは、上述したとおりである。
要するに、TPTの2進構造をNRTで送信するために、NRT送信に合うようにセクション構造を有してもよい。以下、この過程について詳しく説明する。
各TPTをブロックに分割し、それらのブロックをtable_id、protocol_versionTPT_data_versionとsequence_numberフィールドの共通値を持つセクションのtpt_bytes()フィールドに挿入することによって、各TPTをNRTスタイルプライベートセクション内にカプセル化することができる。これらのブロックは、section_numberフィールド値の昇順でセクションに挿入することができる。プライベートセクションは、TPTに関係する仮想チャネルのIPサブネットのサービス信号通知チャネル(Service Signaling Channel、SSC)で送信することができる。ここで、“Service Signaling Channel”は、ATSC−NRT標準に定義されており、特定IPアドレス及びポート番号を持つチャネルを意味する。セクション内のsequence_numberフィールドは、同一SSCで送信される別個のTPTインスタンスを区別するために用いることができる。
プライベートセクション(tpt_section())は、table_id、protocol_version、sequence_number、TPT_data_version、current_next_indicator、section_number、last_section_number、及び/又はservice_id、tpt_bytes()情報を含むことができる。
以下、図16のフィールドについて説明する。
8ビットフィールドであってもよいtable_idは、当該テーブルセクションをTDOパラメータテーブルインスタンスに属するものとして識別することができる。
protocol_versionは二つの部分に分けることができる。8ビット符号無し整数フィールドのうち上位4ビットは、当該テーブルの定義のメジャーバージョン番号と、ここに含まれて送信されるTPTインスタンスを示すことができ、下位4ビットは、マイナバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートするように備えられていないメジャーバージョン値を示すAMTのインスタンスを捨てると予想され得る。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン値を示すAMTのインスタンスを捨てないと予想され得る。この場合、受信機は、それらが認識できない記述子と、それらがサポートしないフィールドとを無視すると予想され得る。
sequence_numberは、8ビットフィールドであってもよい。sequence_numberは、当該TPTインスタンスの他のすべてのセクションのsequence_numberと同一であり、当該サービス信号通知チャネル内の他のTPTインスタンスのすべてのセクションのsequence_numberとは異なってよい。したがって、他のTPTインスタンスと区別する役割を担うことができる。sequence_numberフィールドは、このセクションが現れるサービス信号通知チャネルに連携するIPサブネットを示すことができる。別個のTPTインスタンスのsequence_numberフィールド値は、放送ストリームでセグメントが出現する順序を反映することができる。
TPT_data_versionは、5ビットフィールドであってもよく、当該TPTインスタンスのバージョン番号を示すことができ、ここで、TPTインスタンスは、そのsegment_idによって定義することができる。TPTバージョンをあらかじめ知ってこそ受信されたTPTセクションデータが最新バージョンのTPTであるか否かがわかるため、セクションテーブルにTPT_data_versionフィールドがあってもよい。バージョン番号は、TPTインスタンス内の任意のフィールドに変更がある場合、1 modulo 32分ずつ増加できる。
current_next_indicatorは1ビット指示子であってもよく、TPTセクションに対して常に‘1’に設定されて送信されるTPTがsegment_idによって識別されるセグメントに対して常に現在TPTであることを示すことができる。
section_numberは8ビットフィールドであってもよく、当該TPTインスタンスセクションのセクション番号を提供することができるが、TPTインスタンスはsegment_idによって識別可能である。TPTインスタンス内の最初のセクションのsection_numberは0x00であってもよい。section_numberは、TPTインスタンス内の各追加セクションと共に1ずつ増加可能である。
last_section_numberは8ビットフィールドであってもよく、最後のセクション(すなわち、section_numberが最も高いセクション)が、その一部であるTPTインスタンスの最後のセクション番号を提供することができる。
service_idは、当該テーブルインスタンスに記述されたコンテンツアイテムを提供する対話型サービスと連携するservice_idを特定することができる。
tpt_bytes()は、可変長フィールドであって、当該セクションによって部分的に送信されるTPTインスタンスブロックで構成することができる。当該テーブルインスタンスのすべてのセクションのtpt_bytes()フィールドがsection_numberフィールドの順に連結されると、その結果として一つの完全なTPTインスタンスが作成できる。
すなわち、TPTの2進フォーマットを用いたり、XMLフォーマットを2進フォーマットに変えたりした後、NRT送信に合うようにそれを分けて、プライベートセクションのうちtpt_bytes()フィールドに入れてNRT方式で送信することができる。このとき、一つのTPTが複数のプライベートセクションに分けられると、それぞれのプライベートセクションは、同一のtable_id、protocol_versionTPT_data_version、sequence_number値を有してもよい。分けられたTPTブロックをsection_numberフィールド値に従う順に挿入することができる。
受信端では、受信したプライベートセクションに対してパースできる。一つのTPTに再びまとめるために、同一のtable_id、protocol_versionTPT_data_version、sequence_number値を持つプライベートセクションを用いることができる。このとき、section_numberとlast_section_number情報から得られる順序情報を用いることができる。同一のtable_id、protocol_versionTPT_data_version、sequence_number値を持つすべてのプライベートセクションのtpt_bytes()がsection_numberの順に連結されると、その結果として一つの完全なTPTを作成できる。
図17は、XML文書として符号化されたURL目録の一実施例を示す図である。
以下、インターネットを介したTPTの配信について説明する。
インターネットで配信される場合、TPTはHTTPを通じて配信することができる。時間ベースメッセージで現在セグメントに対するTPTのURLは“<domain name part>/<directory path>”であってもよい。TPTに対する要求に対する応答は、単純にTPTで構成されてもよく、要求されたTPTは第1部分にあり、URLリストは第2部分にあってXML文書として符号化される2−部分MIMEメッセージとして構成してもよい(要求に対する応答は常に現在セグメントに対するTPTを含む。一つ以上の未来セグメントに対するTPTも含むことができる)。
上述した応答の第2部分としてのURLは、図17のような形態であってもよい。
図17の要素の意味について説明する。
“UrlList”は、受信機に有用なURLリストを含むことができる。
“TptUrl”は、未来セグメントに対するTPTのURLを含むことができる。複数のTptUrl要素が含まれる場合、それらは、放送でセグメントの出現順に配列することができる。
“NrtSignalingUrl”は、受信機が現在の放送ストリームですべての仮想チャネルに対するNRT信号通知テーブルを取得し得るサーバのURLを含むことができる。
次に、TDO及びコンテンツアイテムの移動について説明する。
通信網と基地局は、TDO及びこれらのTDOによって用いられるコンテンツアイテム(ファイル)の配信のために、自体HTTPサーバを頻繁に提供しなければならない。提供がなされると、TPT内のbaseURLはサーバの位置を反映して調整してもよい。
次に、複数のセグメントを一つのセグメントへの結合について説明する。
セグメント間の境界を徹底的にあいまいにさせるために、複数のセグメントに対するTPT及びAMTを一つのTPT及びAMTに結合することができる。その段階は、次のとおりである。
1.結合されるセグメントの集合を識別する。
2.新しいsegmentIdを有する新しいTPTを生成する。
3.結合されるセグメントの中でライブ活性化を有するものがあれば、それらの活性化のすべてに対して利用権限を付与するリレーサーバを提供し、このサーバに対するパラメータを“LiveTrigger”要素に入れる。
4.必要によって各セグメントに対してbaseURLを適用して全体TDOとContentItem URLを得る(結合されるすべてのセグメントに共通するより短いbaseURLを識別し、それを、結合されたセグメントに対するbaseURLとして維持する)。
5.必要によって値を修正して衝突を除去する。
6.結合されるすべてのセグメントに対するすべての修正されたTDO要素を新しいTPTに挿入する。
7.結合されたTPTの新しいsegmentIdに対応するsegmentIdを有する新しいAMTを生成する。
8.新しいAMTに対して適切な新しい“beginMT”値を選択する。
9.appId値における変更を反映して結合されるセグメントに対するAMTファイル内のすべてのActivation要素のtargetId値を調整する。
10.新しい“beginMT”値と結合されるセグメントに対する放送スケジュールを反映して結合されるセグメントに対するAMTファイル内のすべてのActivation要素のstartTimeとendTime値を調整する。
11.修正されたすべてのActivation要素を新しいAMTに挿入する。
図18は、addTriggerEventListenerの一実施例を示す図である。
図19は、removeTriggerEventListenerの一実施例を示す図である。
図20は、EventListenerタイプの定義の一実施例を示す図である。
図21は、TriggerEventタイプの定義の一実施例を示す図である。
以下、DOを実行するための環境のための、ATSC JavaScript(登録商標)APIについて説明する。
放送プログラムに対する宣言的オブジェクト動作の同期化をサポートするために、ビデオ/放送オブジェクトに対して追加の方法がサポートしてもよい。
DTVCC又はインターネットでTPTが受信されると、TPT内にはTDOを実行するための複数のイベントがあってもよく、これらのイベントは活性化トリガによって活性化してもよい。
このイベントを処理するようにするために、リスナ(Listener)という関数をeventID別に登録しておくことができる。これによって、上述の‘追加の方法’として、リスナ関数を登録できる二つの関数、addTriggerEventListener及びremoveTriggerEventListenerがあり得る。
addTriggerEventListener関数は、eventId別に発生されたイベントを処理するためのコールバック(callback)関数(リスナ関数)を登録することができる。
removeTriggerEventListener関数は、eventId別に発生したイベントを処理するためのコールバック関数(リスナ関数)の登録を取り消すことができる。
図18は、addTriggerEventListenerの一実施例を示す図である。
図18には、addTriggerEventListenerについての説明及びフォーマット、引数(argument)などが示されている。
addTriggerEventListener関数は、Number型のeventIdと、EventListener型のlistenerを引数として受けることができる。EventListener型については後述する。addTriggerEventListener関数は返却値がなくてもよい(void)。
eventId引数は、TPTのイベント要素中のeventIdであってもよい。listener引数は、当該イベントのためのリスナであってもよい。
受信機のトリガ処理モジュールでは活性化メッセージを受信するすと直ちに“addTriggerEventListener”関数を用いてeventIdごとにリスナ関数を登録することができる。後で当該イベントに活性化が起きると、登録されたリスナ関数を呼び出すことができる。このとき、TriggerEvent型のオブジェクトをリスナ関数として配信することができる。TriggerEvent型については後述する。
図19には、removeTriggerEventListenerに対する説明とフォーマット、引数などが示されている。
removeTriggerEventListener関数は、Number型のeventIdと、EventListener型のlistenerを引数として受けることができる。EventListener型については後述する。removeTriggerEventListener関数は、返却値がなくてもよい(void)。
eventId引数は、TPTのイベント要素中のeventIDであってもよい。listener引数は、当該イベントのためのリスナであってもよい。
JavaScript(登録商標)プログラムでは、当該eventId別に発生し得るイベントをそれ以上受信しないことを希望したり、“DestroyWindow”のようなプログラム終了時には、“removeTriggerEventListener”を用いて、登録されたリスナ関数を取り消したりことができる。
図20は、EventListener型の定義を示す。
EventListener型は、TriggerEvent型を持つイベントを引数とすることができる。EventListenerはインタフェースであってもよい。
図21は、TriggerEvent型の定義を示す。
TriggerEvent型は、イベントに関する情報を含むことができる。
TriggerEvent型は、eventId、data、statusを属性として有してもよい。eventIdは、TPTのイベント要素中のeventIdであってもよい。dataは、イベントの活性化のためのものであってもよい。dataは、16進法となっていてもよい。statusは、イベントの状態を意味することができる。status値が“trigger”の場合は、イベントが活性化トリガによって活性化された状態を意味する。status値が“error”の場合は、エラーが発生した状態を意味する。
以下、直接実行モデルについて説明する。
直接実行モデルにおいて、仮想チャネルが選択されると直ちに宣言的オブジェクト(DO)が自動で開始される。宣言的オブジェクトは、画面上の特定位置での表示の生成、世論調査実行、他の特殊DOの開始などのようにオーディオ/ビデオプログラムと同期化される対話型機能の提供のための具体的な指示事項を得るために、インターネットを介してバックエンドサーバと通信することができる。
次に、直接実行モデルにおけるトリガ動作について説明する。
トリガの役割、機能、構文は、直接実行モデルだからといって大きく変わらない。
トリガの性能については、前述したとおりである。
トリガ構文については、前述したとおりである。
トリガは3つの部分で構成されたことがわかる。
<domain name part>/<directory path>[?<parameters>]
直接実行モデルにおいて、<domain name part>と<directory path>の組合せによって、開始されるDOを一意に識別することができる。
<parameters>は、“event_time”、“media_time”、又は“spread”の一つ以上で構成することができる。
直接実行モデルにおいて、仮想チャネルが選択されると直ちにアプリケーションが自動で開始され得る。アプリケーションは“Synchronized Content Protocol”を通じてインターネットでバックエンドサーバと通信することができる。このサーバは、オーディオ/ビデオプログラムとすべて同期化された対話型機能、すなわち、画面の特定の位置に表示を生成し、ポーリングを実行し、ほかの特殊DOを開始する機能の提供のための指示事項を提供することができる。
直接実行モデルの場合、直ちにアプリケーションが実行されるため、時間ベーストリガが配信され次第、現在実行中のアプリケーションに情報を配信することができる。このモデルにおいて、アプリケーションはサーバに、前述した同期化のために、現在放映中のコンテンツに関する情報を配信し続ける必要がある。この必要に応じるために、時間ベーストリガには、TDOモデルとは異なる特別な情報が更に含まれてもよい。この特別な情報は、現在放映中のコンテンツに対する識別子であってもよい。
同様に、上記のコンテンツ識別子は、トリガのパラメータ部分にパラメータの形態で存在することができる。
同様に、上記のコンテンツ識別子は、トリガのmedia_timeに一つの項の形態で存在してもよい。コンテンツ識別子項は、次に文字列が続く“c=”によって指定できるcontent_idと呼ばれ、現在視聴されているコンテンツに対する識別子を示すことができる。
content_id項は、対話型サービス実行の直接実行モデルをサポートするためのものであってもよい。
上述したとおり、このモデルにおいて、content_id項を有する時間ベーストリガは、アプリケーションの開始後にこのアプリケーションに配信され、このアプリケーションは相互作用のためのコンテキストの識別のためにcontent_idをバックエンドサーバに配信することができる。その詳細な動作については後述する。
直接実行モデルにおけるトリガの配信メカニズムは、前述したとおりである。
ただし、放送ストリームによるトリガの配信の場合において、トリガはURLString命令内でサービス#6を通じてDTV字幕チャネルに配信してもよい。そして、直接実行モデルを用いる対話型サービスは、URI_typeフィールドを2(直接実行モデルのための対話型TVトリガ)に設定してもよい。
以下、直接実行モデルの全体動作について説明する。
対話型サービスを実行する一つのモデルとして、直接実行モデルでは、仮想チャネルが選択されると直ちにアプリケーションが自動で開始されうる。アプリケーションは“同期化されたコンテンツプロトコル”を介してインターネットでバックエンドサーバと通信することができる。このサーバは、スクリーン上の特定位置での画面の生成、世論調査の実行、他の特殊DOの開始などのようにオーディオビデオプログラムと同期化された対話型特徴の提供のための具体的な指示事項を提供することができる。
上記の動作を次のように行うことができる。
まず、アプリケーションが開始されうる。その後、時間ベーストリガが受信される。時間ベーストリガは、アプリケーションが実行された後にアプリケーションに配信される。時間ベーストリガのcontent_id項には、現在見られているコンテンツに関するコンテンツ識別情報が含まれていてもよい。アプリケーションは、相互作用のためのコンテキストを識別し、現在見られているコンテンツを識別するためにcontent_idをバックエンドサーバに配信することができる。
図22は、WM技法のためのアーキテクチャの一実施例を示す図である。
図23は、FP技法のアーキテクチャの一実施例を示す図である。
以下、他のインタフェースサポートを介した配信について説明する。
非圧縮のビデオ及びオーディオだけが利用可能な環境(例えば、ケーブル又は衛星セットトップボックスから受信される環境)において、対話型サービスを取得可能にするためのプロトコル及びアーキテクチャを定義する。このプロトコル及びアーキテクチャは、インターネット接続はあるが、放送ストリームを介した非圧縮のオーディオ及びビデオだけが利用可能な受信機によって用いられるように設計できる。このプロトコル及びアーキテクチャは、対話型サービスプロバイダがそれらをサポートすることを選択したとき、成功裏に用いることができる。
このアーキテクチャは、視聴されているコンテンツの識別のための二つの基本技法をサポートするように設計され、関連する対話型サービス用の強化データがインターネットを通して配信されうるようにすることができる。二つの基本技法は、透かし(Water marking)及び指紋抽出(Finger printing)であってもよい。
透かし、指紋技法両方とも、その目的は、どのプログラムが現在視聴されているかを受信機が見出して、当該プログラムのための対話型サービスに関する付加情報を得る出発点として用いられうるURLを取得できるようにすることである。
図22に、WM技法のためのアーキテクチャの一実施例が示されている。
WM技法のためのアーキテクチャにおいて、アーキテクチャは、放送事業者22010、透かし挿入部22011、MVPD22020、STB22030、受信機22040、WMクライアント22050、TPTサーバ22060及びコンテンツサーバ22070で構成することができる。
放送事業者22010は、オーディオ/ビデオストリーム及びこれと関係する対話型サービスを送出するソースであってもよい。TV放送事業者などをその例に挙げることができる。放送コンテンツの制作者又は配信事業者であってもよい。放送ストリーム、オーディオ/ビデオコンテンツ、対話型データ、放送スケジュール又はAMTなどを配信することができる。
透かし挿入部22011は、放送されるオーディオ/ビデオフレームに透かしを入れることができる。透かし挿入部22011は、放送事業者22010と一緒に位置してもよく、別個のモジュールであってもよい。透かしとは、受信機に必要な一種の情報であってもよい。透かしは、URLなどの情報であってもよい。透かしについての詳細は後述する。
MVPD22020は、多重プログラムビデオプログラム配信事業者(Multiprogram Video Program Distributor)の略語である。MVPD22020は、ケーブル事業者、衛星事業者又はIPTV事業者であってもよい。MVPD22020は、放送事業者/透かし挿入部から放送ストリームを受信することができ、透かしACRシステムの場合、透かし挿入部22011によって透かしが挿入される。MVPD22020は、たびたびオーディオ及びビデオトラック以外のすべてのプログラム要素を除くストリームを顧客の宅内のセットトップボックス(STB)に送る。
STB 22030は一般にオーディオ及びビデオを復号(圧縮解除)し、これらを、視聴者が視聴するTV受信機に送る。STBは、非圧縮のオーディオ/ビデオコンテンツを受信機22040に送ることができる。STBは、本発明の一実施例による外部の復号部であってもよい。
受信機22040は、WMクライアント22050を含むことができる。WMクライアント22050は、受信機22040の外部に位置してもよい。ここで、受信機は、透かしができる受信機である。受信機22040の構造については後述する。
WMクライアント22050は、該当用途のAPIを用いてACRサーバ(図示せず)から活性化トリガを受け、これらを主受信機コードに送ることができる。一般に、WMクライアント22050は、受信機内に構成されるが、他の構成も可能である。WMクライアント22050は、非圧縮のオーディオ/ビデオコンテンツから、挿入された透かしを抽出することができる。透かしはURLなどの情報であってもよい。
TPTサーバ22060は、TPTなどのアプリケーションをダウンロードすることができるサーバである。抽出した透かしをACRサーバに送信した後、透かしがデータベース(図示せず)の透かしと一致する場合、受信機22040は、一つのトリガ又は複数のトリガを応答として受けることができる。配信されたトリガが、前述の新しいlocator_partを有したり、新しいバージョン番号のTPT又はアプリケーションパラメータテーブルが発見されたりする場合、受信機22040は、TPTサーバ22060に要求して新しいTPT又はアプリケーションパラメータテーブルをダウンロードすることができる。
コンテンツサーバ22070は、対話型サービスを提供するために必要なアプリケーション又はTDOなどを提供することができる。新しいアプリケーション又はTDOが必要な場合、TPT又はアプリケーションパラメータテーブル内のURLを用いて新しいアプリケーションなどをダウンロードすることができる。
透かし(WM)技法において、放送事業者/透かし挿入部は、放送されるオーディオ/ビデオフレームに透かしを入れることができる。これらの透かしは、視聴者に感知されないか、又はできるだけ邪魔とならないような量の情報を受信機に送信するように設計することができる。このような透かしは、受信機が必要とする情報を直接提供してもよいし、又は受信機が必要とする情報を得るために、遠隔サーバにインターネット接続を通して送ることができるコード値だけを提供してもよい。
図23に、FP技法のアーキテクチャの一実施例が示されている。
FP技法のアーキテクチャにおいて、アーキテクチャは、放送事業者23010、MVPD23020、STB 23030、受信機23040、FPクライアント23050、TPTサーバ23060、コンテンツサーバ23070、署名(signature)抽出器23080及びFPサーバ23090で構成することができる。
放送事業者23010は、オーディオ/ビデオストリーム及びこれと関連した対話型サービスを送出するソースでよい。TV放送事業者などをその例に挙げることができる。放送コンテンツの制作者又は配信事業者であってもよい。放送ストリーム、オーディオ/ビデオコンテンツ、対話型データ、放送スケジュール又はAMTなどを配信することができる。
MVPD23020は、多重プログラムビデオプログラム配信事業者(Multiprogram Video Program Distributor)の略語である。MVPD23020は、ケーブル事業者、衛星事業者又はIPTV事業者であってもよい。MVPD23020は、たびたびオーディオ及びビデオトラック以外のすべてのプログラム要素を除くストリームを顧客の宅内のセットトップボックス(STB)に送る。
STB 23030は一般にオーディオ及びビデオを復号(圧縮解除)し、これらを視聴者に視聴されるTV受信機に送る。STBは、非圧縮のオーディオ/ビデオコンテンツを受信機23040に送ることができる。STB 23030は、本発明の一実施例による外部の復号部であってもよい。
受信機23040は、FPクライアント23050を含むことができる。FPクライアント23050は、受信機22040の外部に位置してもよい。ここで、受信機23040は、指紋抽出ができる受信機である。受信機23040の構造については後述する。
FPクライアント23050は、当該用途のAPIを用いて、FPサーバ23090から活性化トリガを受けてそれらを主受信機コードに送ることができる。一般に、FPクライアント23050は受信機内に構成されるが、他の構成も可能である。FPクライアント23050は、非圧縮のオーディオ/ビデオコンテンツから、指紋を抽出することができる。指紋については後述する。
TPTサーバ23060は、TPTなどのアプリケーションをダウンロードできるサーバである。抽出した指紋をFPサーバ23090に送信した後、指紋が署名抽出器23080の署名と一致する場合、受信機23040は、一つのトリガ又はトリガを応答として受けることができる。配信されたトリガが前述の新しいlocator_partを有したり、新しいバージョン番号のTPT又はアプリケーションパラメータテーブルが発見されたりする場合、受信機23040は、TPTサーバ23060に要求して新しいTPT又はアプリケーションパラメータテーブルをダウンロードすることができる。
コンテンツサーバ23070は、対話型サービスを提供するために必要なアプリケーション又はTDOなどを提供することができる。新しいアプリケーション又はTDOが必要な場合、TPT又はアプリケーションパラメータテーブル内のURLを用いて、新しいアプリケーションなどをダウンロードすることができる。
署名抽出器23080は、放送事業者23010からメタデータを受信することができる。署名抽出器23080は、配信されたメタデータからフレームの署名を抽出することができる。FPサーバ23090に配信された指紋と、署名抽出器23080が有している署名とが一致する場合、署名抽出器23080は、FPサーバ23090にそれに関連したメタデータを配信することができる。
FPサーバ23090は、署名抽出器23080によって署名対照作業を行うことができる。FPサーバは、署名と、受信機23040から配信された指紋とを対照作業することができる。一致する場合、FPサーバは、署名抽出器23080から関連のメタデータを受けることができる。FPサーバ23090は、受信機23040に、受信したメタデータを送信することができる。
指紋抽出(FP)技法において、FPクライアント23050は、オーディオ又はビデオフレームから指紋(署名と呼んでもよい)を抽出し、複数放送事業者からの放送フレームに対する指紋データベースに対してこの指紋を検査し、受信機23040が必要とする情報を見い出すことができる。このような検査は、遠隔サーバに対する署名によってなされてもよく、所望の情報を有する記録を受けることができ、いくつかの場合には、受信機23040にダウンロードされた署名のデータベースに対して検査することによって検査がなされてもよい。ここで、遠隔サーバは、FPサーバ23090であってもよい。
透かしと指紋とは区別される技術であるが、必ずしも排他的なものではない。これら両技術の組合せを用いることも考えることができる。自動コンテンツ認知(automatic content recognition、ACR)は、これらの両技術のいずれか一方を別途に指すか、又はこれらの両技術の組合せを指すために用いることができる。
受信機が、放送ストリームからの非圧縮のオーディオ及びビデオだけを利用できる環境を“ACR環境”と呼ぶ。
WMの場合もFPの場合も、受信機は、トリガを含む対話型サービスコンテンツを得るための出発点としてURLを用いることができる。
WM、FPの両方の場合とも、インターネットを通して配信されたトリガの活性化タイムスタンプなどのように、当該チャネルに対して時間が重要な(time critical)イベントの放送側クロック(broadcast side clock)に対するタイムスタンプの形態であってもよい。
放送事業者は、一般にアンテナからTV信号を取得する受信機のために放送ストリームでの対話型サービスの直接配信をサポートでき、非圧縮のオーディオ及びビデオを取得する受信機のために、前述したとおり、インターネットを通した対話型サービスの配信をサポートするものの、インターネット接続を有することができると仮定する。しかし、放送事業者は、この二つの配信メカニズムのいずれか一方だけサポートできる。
透かしがコード値だけを提供する場合、透かし技法のための代表的なアーキテクチャは、図22及び図23の二つのアーキテクチャの組合せのように見える。図22のように透かし挿入部が存在するようになるが、この挿入部は、受信機が必要とする情報ではなくコードを挿入する。また、図23のFPサーバと同じ役割を担うWMサーバが存在する。受信機は、このサーバに署名ではなくコードを送り、これら受信機が必要とする情報を取得する。
以下、対話型サービスに対する利用について説明する。
対話型サービスに対する利用は、直接実行モデル、ACRサーバに独立した活性化を有するTDOモデル、ACRサーバから受信した活性化を有するTDOモデルに関する説明からなる。それぞれは、図示してはいないが、明細書の内容に限定されず、設計者の意図によって変更可能である。
放送事業者選択及びACRシステムの特性によってACR環境にある受信機が対話型サービスに利用できる方法には、様々なものがある。対話型サービスモデルは、直接実行モデル又はTDOモデルであり、TDOモデルの場合、活性化及びトリガは、ACRサーバに独立して又はACRサーバによって配信することができる。
以下、直接実行モデルについて説明する。
直接実行モデルを有する対話型サービスを含む仮想チャネルのためのACR過程は、このチャネルを見ている受信機に、media_time(“m=”)項とcontent_id(“c=”)項とを含む時間ベーストリガに対応するものを提供することができる。これらのトリガは、直接実行モデルを有する対話型サービスのためのトリガと確認できる。
まず、受信機が新しいlocator_partを有するこのようなトリガを受信すると、そのブラウザに、トリガのlocator_partが指す宣言的オブジェクト(DO)をロードすると考えることができる。一般に、DOは、あらかじめ設置されていたり、あらかじめダウンロードされてキャッシュに記憶されたりする。そうでなければ、受信機がHTTP GET要求を用いてDOをダウンロードすると考えることもできる。
その後、DOは、適宜のバックエンドサーバと連絡して、バックエンドサーバが指示する対話型サービスを提供することができる。
受信機は、ACRサーバから新しいlocator_partを有する及び/又はTDOモデルを有する対話型サービスのためのトリガとして確認されるトリガを得るまで(これらのいずれか一つの場合は、一般的にチャネルの変更を指示する)取得された初期トリガと続くトリガをDOが利用できるようにするものと考えることができる。
以下、ACRサーバに独立した活性化を有するTDOモデルについて説明する。
TDOモデルを有する対話型サービスを含むことができ、ACRサーバと独立してイベント活性化を提供する仮想チャネルのためのACR過程は、media_time(“m=”)項を含み得る時間ベーストリガに対応するものを、このチャネルを見ている受信機に提供することができる。これらのトリガは、TDOモデルを有する対話型サービスのためのトリガと確認できる。
まず、受信機が新しいlocator_partを有するこのようなトリガを受信すると、当該トリガのlocator_partが指し得るTPTサーバで現在のTDOパラメータテーブル(TPT)を検索し、このトリガ及び続くトリガ内のメディア時間を用いて、ACR過程によって識別されうるオーディオ又はビデオフレームに対してイベント活性化のための基準時間ベースを設定すると考えることができる。
AMT(活性化メッセージテーブル)がTPTと併せて配信される場合、受信機は、トリガ内のメディア時間によって設定された時間ベースを基準に正確な時間にイベントを活性化させるためにこのテーブル内のそれぞれの活性化要素を使用すると考えることができる。(これらのイベントは、TDODMLロード及び実行、TDOが同期化される特定動作を行うようにすること、TDOを中止させること、などを含むことができる。)
TPTにLiveTrigger要素が含まれた場合、受信機はLiveTrigger要素で信号通知されたポーリング方法を用いてLiveTrigger要素内のURLによって識別されたライブトリガサーバから活性化トリガを検索し、この活性化トリガを用いて、このトリガ内のメディア時間項によって設定された時間ベースを基準に、正確な時間にイベントを活性化させることができる。
AMTとライブトリガサーバの両方とも同一のサービスのために用いることができるが、前者は静的活性化を提供し、後者は動的活性化を提供する。これと違い、セグメントのすべての活性化が静的活性化である場合は、AMTだけを用いてもよく、ライブトリガサーバだけを用いて静的活性化及び動的活性化の両方を配信してもよい。
以下、ACRサーバから受信された活性化を有するTDOモデルについて説明する。
TDO対話型サービスモデルのための活性化トリガが、ACR環境において、別途のトリガサーバ無しでどのように配信されるかについて記述する。
指紋ACRシステムは、ACRサーバを含むことができる。受信機は、ACRサーバにフレーム署名を送ることができ、ACRサーバは、当該署名が示すフレームを識別して、再び受信機で必要とする情報を送ることができる。透かしが、受信機で必要とする情報を得るためにACRサーバに配信され得るコードだけで構成された場合、透かしACRシステムはACRサーバを含むことができる。透かし自体が受信機で必要とする情報を含む場合、透かしACRシステムはACRサーバを含まなくてもよい。ACRサーバを含むACRシステムでは、サーバと受信機間の通信に別個の二つのモデル、すなわち、要求/応答モデル及びイベント主導型モデルを用いることができる。
放送事業者でTDO対話型モデル(TDO interaction model)をサポートしていると仮定する。
要求/応答モデルを用いるACRサーバ、イベント主導型モデルを用いるACRサーバ、情報を直接挿入する透かしACRシステムのような3つの場合を想定することができる。
ACRサーバがある場合、ACR方式は、指紋であってもよく、この場合、受信機は一種のオーディオ又はビデオフレームの署名(又は、指紋)を算出し、識別のためにそれらをACRサーバに提出する。又は、ACR方式が透かしであってもよく、この場合、受信機はオーディオ又はビデオフレームから透かし形態のコードを抽出し、これらのコードを識別のためにACRサーバに提出する。
以下、説明の便宜のために、指紋署名の用語を用いて説明する。しかし、システムは、透かしコードの場合にも同様に動作し、発明の内容は指紋技法に限定されない。
図24は、要求/応答ACR場合における静的活性化の一実施例を示す図である。
以下、ACRサーバが要求/応答モデルを用いる場合を説明する。
要求/応答ACRモデルにおいて、受信機は周期的に(例えば、5秒ごとに。これは例示であり、設計者の意図によって変更されてもよい。)コンテンツの署名を発生させ、この署名を含む要求をACRサーバに送ると考えることができる。ACRサーバは、受信機から要求を受けると、応答を返却できる。要求/応答インスタンスの間には通信セッションが開いた状態で維持されない。このモデルでは、ACRサーバがクライアントにメッセージを開始することが実現できなくてもよい。
この要求/応答モデルを用い、受信機に活性化トリガを配信するACRサーバの場合、ACRサーバからの各応答は、ヌル(Null)、時間ベーストリガ又は活性化トリガのうち一つであってもよい。
ヌル応答は、署名が認識されないことを示し、又は、(ACRインジェストモジュール(ACR Ingest Module)がフレームに対する署名を対話型サービスのないプログラムセグメントに含める場合に)署名は関係する対話型サービスのないセグメントに属するフレームを意味することを示すことができる。ACRインジェストモジュールについては後述する。
時間ベーストリガ応答は、クライアントの次の要求がある前にイベント活性化が発生するようにスケジュールされていないことを示すことができる。クライアントは、時間ベーストリガを用いてメディア時間クロックを維持すると考えることができる。
活性化トリガ応答は、活性化がまもなく発生する予定であることを示すことができ、活性化の時間は、トリガ内の“t=”項によって示される。
受信機は、新しいlocator_partを有するトリガを受けるたびに、以前のTPTと共に配信されたURLListを用いて新しいTPTが検索されていないときは、それを直ちにダウンロードすると考えることができる。
受信機は、活性化トリガを受けるたびに、メディア時間クロックに対して当該トリガ内の“t=”項によって示された時間に、当該イベントを活性化させると考えることができる。
図24は、静的活性化に対して(ACRシステムが予定よりも十分に早く動的活性化について知っている場合は動的活性化に対して)、この方式がどのように作用するかを示している。
図24で、受信機は、ACRサーバでメディア時間MT1、MT2及びMT3を有すると判断したフレームに対する署名を配信することができる。メディア時間MT1を有するフレームの場合、受信機は、時間ベーストリガを含む応答を取得する。メディア時間MT2を有するフレームの場合、静的活性化がメディア時間MTaに予定され、受信機は“t=MTa”項を有する活性化トリガを含む応答を取得する。メディア時間MT3を有するフレームの場合、受信機は、時間ベーストリガを含む応答を取得する。
受信機が同一のイベント活性化に対して一つ以上の活性化トリガを受信する場合が発生しうる。しかし、これらのそれぞれに対するメディア時間は同一であるため、受信機はそれらの活性化トリガが重複していると把握し、これらのうち一つだけを適用することができる。
図25は、要求/応答ACRの場合における静的活性化の一実施例を示す図である。
以下、ACRサーバが要求/応答モデルを用いる場合を説明する。これは、上記の図24に関する説明に似ている。
図25で、受信機は、ローカルクロック時間LC1、LC2、LC3で見られたフレームに対する署名を配信することができる。ローカルクロック時間LC1に見られたフレームに対するmedia_timeはACRサーバによってMT1であると判断でき、受信機は、media_time又はevent_timeのないトリガを含む応答を受信する。ローカルクロック時間LC2に見られたフレームに対するmedia_timeはACRサーバによってMT2であると判断でき、ACRサーバは、メディア時間MTaに静的活性化が予定されていることを知っているため、ACRサーバは、この活性化のための活性化時刻MTaがMT2以降の<オフセット>時間であることを意味する“d=<offset>”項を有する活性化トリガを含む応答を配信する。すると、受信機は<オフセット>を時間LC2に追加し、当該イベントを活性化させるべきローカル時間であるLcaを得る。
図26は、要求/応答ACRの場合における動的活性化の一実施例を示す図である。
以下、要求/応答ACRの場合において、動的活性化が起きる場合を説明する。
あらかじめ受信機にトリガを送るには手遅れになるまでずっとACRシステムでイベント活性化について知らない状況での動的活性化の場合には、ACRサーバが次の要求があるまで待ってから活性化トリガを送らなければならない。 このような場合を図26に示す。そのため、一つの要求区間だけ動的活性化が遅延されうる。
図26で、受信機は、ACRサーバでメディア時間MT1、MT2及びMT3を有すると判断したフレームに対する署名を配信することができる。メディア時間MT1及びMT2を有するフレームの場合、受信機は、時間ベーストリガを含む応答を取得する。活性化時刻MTaを有する動的活性化がメディア時間MTaで又は直前に現れる場合、ACRサーバは、メディア時間MT3を有するフレームに対して発生する受信機からの次の要求があるまで、受信機にそれを通知することができない。このとき、ACRサーバ応答は、活性化時刻MTa(少し過去の時間)を有する活性化トリガを含む。このような状況で、受信機は、その応答が到達すると直ちに当該活性化トリガを適用すると考えることができる。
ここで、受信機は、同一のイベント活性化に対して一つ以上の活性化トリガを受信することが可能である。しかし、それらのそれぞれのメディア時間は同一であるため、受信機はそれらが重複したと把握し、それらのうち一つだけを適用できる。
図27は、要求/応答ACRの場合における動的活性化の一実施例を示す図である。
以下、要求/応答ACRの場合において、動的活性化が起きる場合を説明する。これは、上記の図26に関する説明に似ている。
図27で、受信機は、ローカルクロック時間LC1、LC2、LC3で見られたフレームに対する署名を配信することができる。ローカルクロック時間LC1に見られたフレームに対するmedia_timeはACRサーバによってMT1であると判断でき、受信機はmedia_time又はevent_timeのないトリガを含む応答を受信する。ローカルクロック時間LC2に見られたフレームに対するmedia_timeはACRサーバによってMT2であると判断でき、ACRサーバは、メディア時間MTaに動的活性化が登場する予定であることを知らず、受信機は、media_time又はevent_timeのないトリガを含む応答を受信する。動的活性化がメディア時間MTaに登場すると、ACRサーバは、ローカル時間LC3に発生する受信機からの次の要求があるまで、受信機にそれに対して通知することができない。このとき、ACRサーバ応答は、負の<オフセット>値を有する活性化トリガ又は“今実行”(do it now)の活性化トリガを含むことができる。
以下、直接情報を挿入する透かしACRシステムについて説明する。これは、図示してはいないが、発明の内容は以下の説明に限定されず、設計者の意図によって変更可能である。
受信機が必要とする情報を直接挿入する透かしシステムの場合、フレームと関係する透かしは、次のように、要求/応答ACRサーバが返却するフレームに対して、前述したのと同じ規則に従うことができる。要求/応答ACRサーバは、ヌル、時間ベーストリガ、活性化トリガのうち一つを返却することができる。
ヌル応答は、署名が認識されないことを示したり、又は(ACRインジェストモジュールがフレームに対する署名を対話型サービスのないプログラムセグメントに含める場合)署名は関連した対話型サービスのないセグメントに属するフレームを意味することを示したりすることができる。
時間ベーストリガ応答は、クライアントの次の要求がある前にイベント活性化が発生するようにスケジュールされていないことを示すことができる。クライアントは、時間ベーストリガを用い、メディア時間クロックを維持すると考えることができる。
活性化トリガ応答は、活性化がまもなく発生する予定であることを示すことができ、活性化の時間はトリガ内の“t=”項によって示される。
ACRサーバが必要とされないように、受信機が必要とする情報を透かしに直接含めて配信する透かしACRシステムの場合、インジェストモジュールは、各フレームと関連付けるトリガを決定し、このトリガをデータベース内の該当フレームと関連付けずに当該フレームのための透かしに含める要求/応答サーバモデルについて、前述したのと同じ規則に従うことができる。インジェストモジュール及びデータベースについては後述する。
以下、独立型(stand−alone)NRTサービスのサポートについて説明する。これは、図示してはいないが、発明の内容は以下の説明に限定されず、設計者の意図によって変更されてもよい。
ACR環境にある受信機が独立型NRTサービスを受けるために、放送事業者は、NRTサービスへのインターネット接続をサポートする必要があり、受信機は、それらのサービスに対するSMT及びNRT−ITインスタンスを得る必要がありうる。
インターネットを通してPSIPテーブル及びNRTテーブルを得るための問合せ(query)プロトコルについて説明する。
放送事業者は、特定放送ストリームに対してこのプロトコルをサポートし、このとき、この放送ストリームに対する放送事業者の信号通知サーバのURLを知っている受信機は、次の段階を行う。
第一に、受信機は、指定された未来時間区間(例えば、次の時間)に当該放送ストリームのためのテーブルの“基本NRT集合”に対して問合せを発生させることができる。
第二に、上記の段階で各独立型NRT仮想チャネルに対するSMT及びILT、並びに指定された時間区間を含むNRT−IT及びTFTインスタンスを生成する。
受信機が放送ストリームに対する信号通知サーバのURLを発見できる一つの方法は、この放送ストリーム内の対話型サービスセグメントのプロバイダが、TPTと併せて配信されたURLList要素内で信号通知サーバURLを提供するように選択できるようにすることであってよい。
受信機が放送ストリームに対する信号通知サーバのURLを発見できるもう一つの方法は、事前設定によるものであってもよい。DTV受信機メーカーが、特定放送領域に到達するACRサーバをどのように探すかを知るようにDTV受信機をあらかじめ設定するのと同じ方式で、DTV受信機メーカーが、特定放送領域に到達する“NRT発見サーバ”をどのように探すかを知るようにDTV受信機をあらかじめ設定することができる。このようなNRT発見サーバは、各放送ストリームに対する信号通知サーバURLと共に、独立型NRTサービスを含む放送ストリーム目録を受信機に提供することができる。
図28は、ACRサーバ活性化のためのアーキテクチャの一実施例を示す図である。
あるACRシステムはACRサーバを含み、あるACRシステムは含まない。指紋ACRシステムでは、受信機はフレーム署名を算出してACRサーバに送ることができ、ACRサーバは、受信機で必要とする情報を送る。したがって、指紋ACRシステムは、ACRサーバを含む。透かしACRシステムでは、透かしにフレームを固有に識別するコードだけが含まれてもよく、又は受信機が必要とする全体情報が含まれてもよい。透かしがコードだけを含む場合は、受信機がコードを抽出し、それらをACRサーバに送ることができ、ACRサーバは、受信機で必要とする情報を送る。透かしが全体情報を含む場合は、受信機が自分に必要な情報を透かしから直接抽出でき、ACRサーバは必要ではない。
ACRサーバを含むACRシステムでは、ACRサーバと受信機との間の通信のために2種類の別個のモデル、すなわち、要求/応答モデルとイベント主導型モデルを共通に使用することができる。
要求/応答ACRサーバモデルにおいて、受信機は周期的に(例えば、5秒ごとに)コンテンツの署名を算出したり、コンテンツからコードを抽出したりして、この署名又はコードが含まれた要求をACRサーバに送ると考えることができる。ACRサーバは受信機から要求を受信すると、応答を返却することができる。要求/応答インスタンス間には通信セッションが開いた状態で維持されない。このモデルでは、ACRサーバが受信機にメッセージを開始することが実行可能でなくてもよい。
処理しているチャネルの放送事業者がTDO対話型モデルをサポートすると仮定する。
2種類の一般的な類型のイベント活性化、すなわち、セグメントの放送が開始される前に活性化時刻が知らされる静的活性化と、セグメントの放送中に活性化時刻が動的に決定される動的活性化とがありうる。あらかじめ記録されたセグメントでは、すべてのイベント活性化が静的であってもよい。ライブショーを放送するセグメントでは、イベント活性化の一部又はすべてが動的であってもよい。静的活性化は活性化トリガの形態で受信機に配信されてもよいが、一般的に活性化メッセージテーブル(AMT)に記載される。動的活性化は、これらのタイミングがAMTの発生時点で知らされないため、活性化トリガの形態で配信してもよい。
図28は、ACRサーバを使用するACRシステムをサポートするアーキテクチャを示している。これは論理構成図であって、実行アーキテクチャではない。例えば、ACRインジェストモジュールは、放送ソースと同じ位置にあってもよいし、別途の位置にあってもよい。
ACRサーバを使用するACRシステムをサポートするアーキテクチャにおいて、アーキテクチャは、放送ソース28010、ACRインジェストモジュール28020、MVPD28030、STB 28040、受信機28050、ACRクライアント28060、ACR設定サーバ28070、ACRサーバ28080及びデータベース28090で構成することができる。
放送ソース28010は、A/Vストリーム及び関連対話型サービスが送出される地点であって、例えばネットワーク分配地点又はTV放送事業者であってもよい。
ACRインジェストモジュール28020は、指紋ACRシステムの場合、フレームの署名(指紋)を算出したり、コードに基づく透かしACRシステムの場合、コードからなる透かしをフレームに挿入したりすることができる。このモジュールは、他のメタデータと併せて署名又はコードに関係する各フレームのmedia_timeをデータベース28090に保存することができる。ACRインジェストモジュール28020は、放送ストリーム内の単一チャネル、放送ストリーム全体、複数の放送ストリーム又はこれらの組合せにおいてを扱うことができる。そのために、ACRインジェストモジュール28020は、対話型サービスを含むプログラムセグメントのためのフレームを処理すると仮定する。しかし、すべてのフレームが処理されるが、対話型サービスを有するセグメントの一部でないものは、これらが対話型サービスを有するセグメントの一部でないことを示す指示子がデータベース28090エントリにあるACRシステムも可能である。
MVPD28030は一般に、ケーブル事業者、衛星事業者又はIPTV事業者である。MVPD28030は、透かしACRシステムの場合、ACRインジェストモジュール28020によって挿入された透かしと共に、放送ストリームをいずれかの方式で放送ソースから受信することができる。このようなシステムはしばしば、オーディオ及びビデオトラック以外のすべてのプログラム要素を除去し、残りのストリームを顧客の宅内のSTB 28040に送る。
STB 28040は一般にオーディオ及びビデオを復号(圧縮解除)し、これらを視聴者が視聴するTV受信機に送る。対話型サービストリガを含むDTV限定字幕(closed caption)サービス#6は、このTV受信機において用いることができないと仮定する。
受信機28050は、ACRクライアント28060を含むことができる。ACRクライアント28060は、受信機28050の外部に位置してもよい。受信機28050の構造については後述する。
受信機28050内のACRクライアント28060は、当該用途のAPIを用いてACRサーバ28080から活性化トリガを受け、これらをメイン受信機コードに送ることができる。一般に、ACRクライアント28060は受信機28050内に構成されるが、他の構成も可能である。
ACR設定サーバ28070は、ACRクライアント28060が適切なACRサーバ28080の位置を決定する方式を提供することができる。この発見過程は他の方式で得ることもできる。
ACRサーバ28080は、受信機から署名又はコードを受け、適切な時点で活性化トリガを返却することができる。
データベース28090は、ACRサーバ28080の使用のためにオーディオ又はビデオフレームのいずれか一方(又は、両方)に関する情報が記憶される一種のデータ記憶所であって、厳密にはデータベースでなくてもよい。
透かし内の情報の直接配信を用いるACRシステムのアーキテクチャは、データベース及びACRサーバを備えなくてもよい。ACRインジェストモジュールは、情報をフレームの識別子及びこれらと関係する情報を含むデータベース記録に挿入する代わりに、透かしの形態で放送ストリーム内のフレームに直接挿入してもよい。その後、受信機はその情報をACRサーバから取得せず、放送内のフレームから抽出してもよい。
以下、要求/応答ACRサーバを介した活性化トリガの配信について段階別に説明する。
このACRサーバの挙動を具現する効果的な方法は、以下に説明する過程に従うものであるが、この過程の動作の数は、上記のアーキテクチャダイヤグラムである図28内の数字に対応する。
1)対話型サービスセグメント及びAMT又は各セグメントに相当するものに対する放送スケジュールを、セグメントが放送される前にあらかじめACRインジェストモジュールに配信することができる。放送スケジュールは、セグメントID、関係する対話型サービスを含み得る各セグメントのGPS開始時点及びGPS終了時点を含むことができる。放送スケジュールに土壇場での変更がある場合、ACRインジェストモジュールにそれらの変更を直ちに通知してもよい。放送スケジュールは、各セグメントに対するTPTのバージョン番号も含むことができ、TPTバージョンのスケジュールされていない変更は、実時間でACRインジェストモジュールに通知され、必要時に“version”(“v=”)項をトリガに挿入することができる。インジェストモジュールは、各セグメントの開始時に特定区間(多数の受信機が新しいTPTを同時に要求する可能性がある時)のように適切な時間に“spread”(“s=”)項をトリガに挿入するように構成されてもよい。
2)動的活性化が存在する場合、動的活性化のソースからACRインジェストモジュールにリンクが設定されてもよい。
3)放送ストリームはACRインジェストモジュールに送信されてもよい。
4)ACRインジェストモジュールは、フレームから署名を抽出したり(指紋ACRシステムの場合)、関係する対話型サービスを持つセグメントに含まれたすべてのフレームに対してコードをフレームに挿入(透かしACRシステムの場合)したりすることができる。(ACRインジェストモジュールは、GPSクロック並びに放送スケジュール内のセグメントの開始時刻及び終了時刻を用いてフレームがそのようなセグメントにあるかを判断できる。)そのような各フレームに対してACRインジェストモジュールは、トリガ及び署名、又は当該フレームと関係するコードを含み得るデータベースに記録を挿入することができる。トリガが挿入されることに関する規則は、過程上、このような動作リストの終端に記述される。
5)放送ストリームは、MVPDに続いてもよい。
6)MVPD加入者の位置にあるSTBに放送ストリームを送信できる。(一般に、対話型コンテンツは最初に除く。)
7)STBは、A/Vを復号して非圧縮のA/VをDTV受信機に送ることができる。
8)まず、受信機がオンになると、受信機は自身の位置をACR設定サーバに送ることができる。(ACR設定サーバのURLは、この受信機内に組み込んでもよい。)
9)ACR設定サーバは、受信機が使用するACRサーバのURLを送ることができる。
10)受信機内のACRクライアントは、指紋署名又は透かしコードを抽出し、それらをACRサーバに送ることができる。
11)署名又はコードを受信したACRサーバは、データベース内で署名又はコードの対照を試みることができる。
12)署名又はコードがデータベースのいずれの署名又はコードとも一致しないと、ACRサーバは“no match”指示子を取得することができる。署名又はコードがデータベース内の署名又はコードと一致すると、ACRサーバは、一致する署名又はコードを有するフレームに対する記録を取得することができる。後者の場合、データベース内の記録は時間ベーストリガを含むことができ、及び/又はACRインジェストモジュールによってフレームの記録に何が挿入されたかによって一つ以上の活性化トリガを含むことができる。
13)ACRサーバがデータベースから“no match”指示子を取得すると、ACRクライアントにヌル応答を返却することができる。そうでない場合、ACRサーバは、得られたたトリガ又はトリガをACRクライアントに返却することができる。
下記の規則を用いて、ACRインジェストモジュールがどの一つ又は複数のトリガをデータベース内の各フレーム記録に挿入するかを判断できる。
図29は、EndTimeがない場合(a)及び場合(b)における活性化トリガの一実施例を示す図である。
受信機内の個別ACRクライアントによって使われた要求区間の長さには、ある上限(upper bound)L1が存在すると仮定するできる。(ACRクライアントが実際にこの上限内で動作する限り、この境界を知っているかは重要でない。)L2をフレームが受信機に到達した時点から計算して、一般のACRクライアントが署名を算出したり、このフレームと関係する透かしを抽出したりするためにかかる時間の長さとしよう。メッセージがACRクライアントからACRサーバに送られてから帰ってくるためにかかる一般的な往復移動時間をL3としよう。M=L1+L2+L3とする。(やや大きいMの値を用いてもよい。やや大きい値の長所は、活性化トリガに反応する上で若干の余分の時間を得るということである。短所は、受信機が同一のイベント活性化に対して複数の活性化トリガを取得する可能性がやや高いということである。受信機は、後述するように、これらが重複することを感知し、活性化を1回だけ適用できるため、この短所は大きく問題にならない。)
ACRインジェストモジュールは、次の3つの条件のうち少なくとも一つが成立しないと、時間ベーストリガだけをフレームと関係する記録に挿入することができる。
(a)活性化要素は、フレームのmedia_timeが活性化要素のstartTime前の時間長さMから始まって、活性化要素のendTimeで終わる時間区間(time interval)にあるようにAMTに存在する。(活性化がendTimeを有しないと、endTimeはstartTimeと同一のものと見なされる。)
(b)トリガの活性化時刻(“t=<event_time>”)直前の時間長さMの時間区間以前に動的活性化トリガがインジェストモジュールによって受信されており、当該フレームはこの区間内に存在する。
(c)トリガの活性化時刻直前の時間長さMの区間の開始よりも遅れて、動的活性化トリガがインジェストモジュールによって受信されており、フレームのmedia_timeはトリガの受信の直後の時間長さL1の区間に存在する。
これらの条件(a)、(b)及び(c)のいずれか一つでも成立すると、活性化トリガは、活性化されるイベントを識別する“e=”項とAMT内の活性化要素のstartTimeを指示する(条件(a)の場合)か、又は動的トリガのevent_timeを指示する(条件(b))“t=”項と共に記録に含まれうる。トリガはバージョン(“v=”)項も含むことができる。
(a)の場合、startTimeからendTimeまでの区間を通じて続けて活性化トリガをフレームと関連付ける理由は、この区間を通じてチャネルに参加する受信機をある程度受容するためである。
この利用法は、ACRサーバ側に追加的な知能を要求しないという点に留意されたい。このサーバは、単純にデータベースで発見する情報をACRクライアントに返却する。すべての知能はACRインジェストモジュールに存在できる。しかも、ACRインジェストモジュールが行うべき演算が非常に簡単でありうる。
この方式を用いると、受信機で同一のイベント活性化に対して一つ以上の活性化トリガ(別個のフレームと関係するトリガ)を受信することが可能である。しかし、受信機は、“t=”値から、それらのトリガがいずれも同一の活性化時刻を有することがわかるため、受信機はそれらが重複すると判断し、イベントを1回だけ活性化させることができる。
上記の場合のうち二つの場合に、活性化トリガ内の“t=”項は、関係するフレームのmedia_timeより早いevent_timeを有することができる。(a)の状況で、活性化要素のendTimeがstartTimeよりも非常に遅いときは、受信機は一般に、startTimeとendTimeとの間の区間を通して複数の活性化トリガを取得することができ、これらはいずれも活性化時刻としてstartTimeを有することができる。(c)の状況では、活性化のための活性化トリガが余りにも遅くフレーム記録に挿入され、受信機が取得する活性化トリガが、要求に対する応答として、活性化時刻以降のmedia_timeを有するフレームに対する署名と共に到着することがある。受信機が、関係するフレームのmedia_timeよりも早いevent_timeを有する活性化トリガを取得すると、このトリガが既に確認して当該イベントの活性化のために使用した活性化トリガと同じものと認識しない場合、当該イベントを直ちに活性化すると考えることができる。
フレームのmedia_timeがevent_activation timeよりも遅い場合に“即時実行(do it now)”トリガではなく過去のevent_time値を用いる目的は、受信機がこのような“事後(after the fact)”活性化トリガを一つ以上取得することができるためである。“t=”値は、受信機でこれらのトリガがいずれも同一の活性化時刻を有すると判断し、当該イベントを1回だけ活性化させ得るようにする。
図29は、AMT内の活性化要素にendTime属性がない状況(a)及び状況(b)を説明する。
図29は、AMT内の活性化要素がendTimeを有しないとき、上記の動作(4)での状況(a)の一例を示している。これは、ACRインジェストモジュールに、活性化時刻よりも少なくともM時間単位前に、動的活性化トリガが送られる上記の段階(4)での状況(b)の例であってもよい。
図29は、時間軸(timeline)上にイベント活性化時刻と、これよりも先行する長さL1、L2及びL3の区間を含む長さMの区間とを示している。時間軸の下の垂直矢印は、個別フレームの時間を表す。長さMの区間の開始よりも先行するか、又はイベント活性化時刻後に到着する各フレームは、データベースで時間ベーストリガと関係する。長さMの区間内の各フレームは、データベースにおいて同図の下における二つの例(f1、f2)のような活性化トリガと関係する。各フレームに対する“t=”項は、media_timeに対するイベント活性化時刻を示すことができる。(丸囲みのf1、f2で表示されている。)
丸囲みの4つの垂直矢印は、一般の受信機が要求を送るときの例示である。この例で、受信機は、同一のイベント活性化に対して二つの活性化トリガを取得するようになるが、これらのトリガは同一のイベント活性化時刻を有するため、受信機はこれらを同一のものと認識し、最初のトリガだけを適用する。受信機の要求間の間隔がL1未満であるため、受信機は図示のL1区間でフレームに対する署名と併せて少なくとも一つの要求をすることが保証される。これによって活性化時刻以前に署名を算出してACRサーバに要求を送り、その応答として活性化トリガを取得する時間を有することとなる。この例で、受信機が取得する一番目の活性化トリガはあらかじめ配信されるが、受信機が取得する二番目の活性化トリガは、辛うじて間に合って到達する(このトリガは重複トリガである)。
図30は、EndTimeがない場合(a)及び場合(b)における活性化トリガの一実施例を示す図である。
以下、EndTimeがない場合(a)及び場合(b)における活性化トリガを説明する。これは、上記の図29に関する説明に似ている。
図30は、AMT内の活性化要素がendTimeを有しない場合に、上記の動作(4)における状況(a)の例を示している。これは、ACRインジェストモジュールに活性化時刻よりも少なくともM時間単位以前に動的活性化トリガが送られる上記の段階(4)における状況(b)の例である。
図30は、時間軸上にイベント活性化時刻と、これよりも先行する長さL1、L2及びL3の区間を含む長さMの区間とを示している。時間軸の下の矢印は、個別フレームの時間を表す。長さMの区間の開始よりも先行するか、又はイベント活性化時刻後に到着する各フレームは、データベースで<media_time>又は<event_time>項のないトリガと関係する。長さMの区間内の各フレームは、データベースで同図の下における二つの例と同一の活性化トリガと関係する。各フレームに対する”d=”項は、このフレーム及びイベント活性化時刻の時間の長さを示すことができる。(丸囲みのf1、f2で表示されている)。
丸囲みの4つの垂直矢印は、一般の受信機が要求を送るときの例示であってもよい。この例で、受信機は、同一のイベント活性化に対して二つの活性化トリガを取得するが、<d1>値をフレームf1に対する受信機のローカル時間に加えるか、又は<d2>値をフレームf2に対する受信機のローカル時間に加えて算出した活性化時刻は、同一の結果を有するため、受信機はそれらを重複したものと認識し、最初のトリガだけを適用する。受信機要求間の間隔がL1未満であるため、受信機は図示のL1区間でフレームに対する署名と併せて少なくとも一つの要求をするように保証される。これによって活性化時刻以前に署名を算出してACRサーバに要求を送り、その応答として活性化トリガを取得する時間を有することとなる。この例で、受信機で受信された二番目の活性化トリガは、活性化時刻以後に到達する。
図31は、EndTimeがある場合(a)における活性化トリガの一実施例を示す図である。
図31は、AMT内の活性化要素がstartTimeのほか、endTimeも持つ場合に、上記の動作(4)における状況(a)の例を示している。
同図は、時間軸上にイベント活性化のstartTime及びendTime、並びにstartTimeよりも先行する長さMの区間を示している。時間軸の下の矢印は、個別フレームの時間を表す。長さMの区間の開始よりも先行するか、イベント活性化のendTime後に到着する各フレームは、データベースにおいて時間ベーストリガと関係する。長さMの区間内又はイベント活性化のstartTimeとendTimeとの間の各フレームは、データベースで同図の下における3つの例で示す形態で関係する活性化トリガを有する。各フレームに対する“t=”項は、media_timeに対するイベント活性化時刻を示すことができる。(丸囲みのf1、f2、f3で表示されている。)
丸囲みの3つの垂直矢印は、一般の受信機が要求を送るときの例示であってもよい。この場合、受信機は同一のイベント活性化に対して3つの活性化トリガを取得するが、活性化時刻が同一であるため、受信機はそれらを同一のものと認識し、最初のトリガだけを適用する。
同図における最初の二つの活性化トリガは、startTime以降にチャネルに参加して最初の要求と併せてフレームf3の署名を送る受信機には認知できない。
図32は、EndTimeがある場合(a)における活性化トリガの一実施例を示す図である。
以下、EndTimeがある場合(a)における活性化トリガを説明する。これは、上記の図31に関する説明に似ている。
図32は、AMT内の活性化要素がstartTimeのほか、endTimeも有する場合に上の動作(4)での状況(a)の例を示している。
同図は、時間軸上にイベント活性化のstartTime及びendTime、並びにstartTimeよりも先行する長さMの区間を示している。時間軸の下の矢印は、個別フレームの時間を表す。長さMの区間の開始よりも先行するか、イベント活性化時刻後に到着する各フレームは、データベースで<media_time>又は<event_time>項の無いトリガと関係する。長さMの区間内の各フレームは、データベースで同図の下における2例で示す形態の活性化トリガを有する。各フレームに対する“d=”項は、このフレームとイベント活性化時刻との間の時間長を示すことができる。(丸囲みの垂直矢印で示されている)。
丸囲みの垂直矢印は、一般の受信機が要求を送るときの例示であってもよい。この場合、受信機は同一のイベント活性化に対して3つの活性化トリガを取得するが、<d1>値をフレームf1に対する受信機のローカル時間に加えたり、<d2>値をフレームf2に対する受信機のローカル時間に加えたり、(負の)<d3>値をフレームf3に対する受信機のローカル時間に加えたりして算出した活性化時刻は、同一の結果を有するため、受信機はそれらを重複したものと認識し、最初のトリガだけを適用する。
図示の最初における二つの活性化トリガは、startTime以降にチャネルに参加して最初の要求と併せてフレームf3の署名を送る受信機には認知できない。
図33は、場合(c)に対する活性化トリガの一実施例を示す図である。
図33は、活性化時刻以前にM時間単位よりも遅くACRインジェストモジュールに動的活性化トリガが送られる上記の動作(4)での状況(c)を示している。
図33は、時間軸上に、動的イベント活性化時刻と、ACRインジェストモジュールがイベントの活性化を知るイベント活性化時刻の直前の時間とを示す図であり、ACRインジェストモジュールでイベントの活性化を知る時間後に長さL1の区間が続く。時間軸の下における垂直矢印は、個別フレームの時間を表す。長さL1の区間の開始よりも先行するか、又は長さL1の区間の終わりに続く各フレームは、データベースでこのフレームと関係する時間ベーストリガを有する。長さL1の区間内の各フレームは、データベースで同図の下における例のような活性化トリガを有する。各フレームに対する“t=”項は、メディア時間軸に対するイベント活性化時刻を示す。(丸囲みの垂直矢印で表示されている。)丸囲みの垂直矢印は、一般の受信機が要求を送るときの例示であってもよい。この場合、受信機はイベント活性化に対して一つの活性化トリガを有する。活性化トリガの活性化時刻は、このトリガを受信した時間前であるから、受信機はトリガを受信すると直ちに適用する。
図34は、場合(c)に対する活性化トリガの一実施例を示す図である。
以下、場合(c)に対する活性化トリガを説明する。これは、上記の図33に関する説明に似ている。
図34は、活性化時刻以前にM時間単位よりも遅くACRインジェストモジュールに動的活性化トリガが送られる上記の動作(4)での状況(c)を示している。
図34は、時間軸上に、動的イベント活性化時刻と、ACRインジェストモジュールがイベントの活性化を知るイベント活性化時刻の直前の時間とを示す図であり、ACRインジェストモジュールがイベントの活性化を知る時間後に長さMの区間が続く。時間軸の下における矢印は、個別フレームの時間を表す。長さMの区間の開始よりも先行するか、又は長さMの区間の終わりに続く各フレームは、データベースで<media_time>又は<event_time>項のないトリガを有する。長さMの区間内の各フレームは、データベースで同図の下における二つの例のような活性化トリガを有する。各フレームに対する“d=”項は、このフレームとイベント活性化時刻との間の時間長を示すことができる。(丸囲みの垂直矢印で表示されている。)丸囲みの垂直矢印は、一般の受信機が要求を送るときの例示であってもよい。この場合、受信機は、同一のイベント活性化に対して二つの活性化トリガを取得するが、(負の)<d1>値をフレームf1に対する受信機のローカル時間に加えたり、(負の)<d2>値をフレームf2に対する受信機のローカル時間に加えたりして算出した活性化時刻はいずれも同一の結果を有するため、受信機はそれらを重複したものと認識し、受信した最初のトリガだけを適用する。最初のトリガの活性化時刻は、それを受信した時間以前であるから、受信機はこのトリガを受信すると直ちに適用する。
図35は、要求/応答ACRの場合におけるACRクライアントと他のサーバとの間のシーケンスダイヤグラムを示す図である。
図35は、要求/応答モデルにおいてACRサーバ及び受信機(ACRクライアント)の動作プロトコルによってトリガ及びTPTを効果的に送信する実施例を示すシーケンスダイヤグラムである。
以下、要求/応答の順で要求/応答モデルの動作の一例を説明する。
要求/応答ACRの場合におけるACRクライアントと他のサーバとの間のシーケンスダイヤグラムは、ACR要求1(s35010)、ACR応答1(s35020)、ACR要求2(s35030)、ACR応答2(s35040)、HTTP要求1(s35050)、HTTP応答1(s35060)、HTTP要求2(s35070)、HTTP応答2(s35080)、ACR要求3(s35090)、ACR応答3(s35100)、ACR要求4(s35110)、ACR応答4(s35120)を含むことができる。
ACR要求1(s35010)は、受信機が現在視聴中であるプログラムに対する署名をサーバに送信する段階である。サーバは、前述したACRサーバであってもよい。署名は、指紋署名又は透かしコードであってもよい。
ACR応答1(s35020)は、署名が認識されないか、関係する対話型サービスが存在しない場合、ACRサーバがヌル(NULL)を返却する段階である。前述したヌル応答を返却する場合と同じケースであってもよい。
ACR要求2(s35030)は、チャネル又はプログラムが変更された後、受信機が変更されたプログラムに対する署名をACRサーバに送信する段階である。
ACR応答2(s35040)は、ACRサーバが当該プログラムと関係する対話型サービスを取得できるアドレスを含むトリガ(例えば、xbc.com/tpt504)を返却する段階である。この場合は、前述したACR応答1(s35020)と違い、署名が認識され、関係する対話型サービスが存在する場合であってもよい。すなわち、トリガが利用可能な場合であってもよい。この場合、返却されるトリガは、media_timeに関する情報がない時間ベーストリガであってもよい。
HTTP要求1(s35050)は、受信機がhttpプロトコルを用いて前述のACR応答2(s25040)で受信したアドレスを用いて、TPTサーバ(例えば、http://xbc.com/tpt504など)に当該TPTを要求する段階である。
HTTP応答1(s35060)は、TPTサーバが受信機の要求に応じて、XMLで表現されたTPTを送信する段階である。
HTTP要求2(s35070)は、受信機がhttpプロトコルを用いてコンテンツサーバにTDOなどのアプリケーションを要求する段階である。受信機は、TPT内に含まれたTDO関連情報をパースすることができる。TDO関連情報は、TDOをダウンロードできるコンテンツサーバのアドレスであってもよい。コンテンツサーバのアドレスを用いて要求を送ることができる。
HTTP応答2(s35080)は、コンテンツサーバが受信機の要求に応じて該当TDOを送信する段階である。
ACR要求3(s35090)は、受信機が現在視聴中であるプログラムのフレームに対する署名をACRサーバに送信する段階である。
ACR応答3(s35100)は、ACRサーバが当該プログラムと関係する対話型サービスを取得できるアドレスを含むトリガ(例えば、xbc.com/tpt504)を返却する段階である。この場合、前述したACR応答1(s35020)とは違い、署名が認識され、関係する対話型サービスが存在する場合であってもよい。すなわち、トリガが利用可能な場合であってもよい。
ACR要求4(s35110)は、受信機が現在視聴中であるプログラムのフレームに対する署名をACRサーバに送信する段階である。
ACR応答4(s35120)は、ACRサーバが、受信機から送信された署名及び関係する対話型サービスと関係する活性化トリガを送信する段階である。活性化トリガの内容によって、特定イベントを特定時間に活性化させることができる。
図36は、要求/応答モデルにおいて、受信機が対話型サービスを処理する方法の一実施例を示す図である。
本発明による要求/応答モデルにおいて、受信機が対話型サービスを処理する方法の一実施例は、非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信する段階(s36010)、識別子を抽出する段階(s36020)、該識別子を含む要求を送る段階(s36030)、上記コンテンツに対するトリガを受信する段階(s36040)を含むことができる。
非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信する段階(s36010)は、外部の復号部から、受信機が非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信する段階である。
ここで、外部の復号部は、前述したSTBであってもよい。STBに関する詳細な説明は後述する。
ここで、非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツは、前述したSTB(外部の復号部)が受信機に配信するオーディオ/ビデオコンテンツであってもよい。
外部の復号部は、MVPDなどから配信されたA/Vコンテンツを復号(圧縮解除)した後、受信機に配信することができる。受信機は、外部の復号部などから非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信して視聴者に見せることができる。非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツは、前述したACRインジェストモジュールによって処理されてもよい。すなわち、ACRインジェストモジュールは、指紋ACRシステムの場合、フレームの署名(指紋)を算出し、又はコードに基づく透かしACRシステムの場合、コードからなる透かしをフレームに挿入することができる。ここで、フレームは、STBによって復号/圧縮解除される前のオーディオ/ビデオコンテンツに関するものであってもよい。ACRインジェストモジュールは、他のメタデータと併せて署名又はコードに関係する各フレームのmedia_timeをデータベースに保存することができる。
識別子を抽出する段階(s36020)は、受信機が、配信された非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツの一つのフレームから識別子を抽出する段階である。
ここで、識別子は、配信されたコンテンツのフレームを識別する識別子であってもよい。この識別子は、前述した概念のうち、指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
ここでいう‘抽出’は、配信された非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツの一つのフレームから識別子を抽出することを指し、前述した‘署名算出’、‘透かし抽出’、‘署名生成’に対応できる。
ここでいう‘抽出’は、前述したACRクライアントで起きる動作であってもよい。ただし、これは一実施例に過ぎないもので、発明の思想はこれに限定されず、他のモジュールで起きるように設計者が設計してもよい。ACRクライアントは、受信機内に位置できる。
識別子を抽出する段階(s36020)で一つのフレームに該当する識別子を抽出する。抽出された識別子は、前述した通り、ACRサーバなどに送ることができる。前述した動作と同様に、ACRサーバは、受信した識別子をデータベース内の記録と対照することができる。ここで、ACRサーバ及びデータベースは、前述したACRサーバ及びデータベースであってもよい。データベース内の記録は、以前にACRインジェストモジュールによって保存された記録であってもよい。
本発明の一実施例は、配信されたコンテンツのフレームから識別子を周期的に抽出(生成)することができる。
本発明の一実施例は、識別子を抽出する周期を5秒とすることができる。これは、設計者の意図によって変更可能な事項である。
上記の識別子を含む要求を送る段階(s36030)は、抽出した識別子を含む要求をサーバに送る段階である。
ここで、抽出した識別子は、指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
ここで、要求は、上記識別子を含むことができる。ここで、受信機はサーバに要求を周期的に送ることができる。一つの要求は一つの識別子を含むことができる。ここで、周期の長さは設計者の意図によって変更可能な事項である。
ここで、サーバは、前述したACRサーバであってもよい。サーバは、要求を受信し、データベースと対照することができる。ここで、ACRサーバ及びデータベースは、前述したACRサーバ及びデータベースであってもよい。データベース内の記録は、以前にACRインジェストモジュールによって保存された記録であってもよい。
上記のコンテンツに対するトリガを受信する段階(s36040)は、サーバに送られた要求及び識別子がデータベース内の記録と一致するか否かによって、また、いかなるトリガが対照された記録に存在しているかによって、サーバからトリガを受信する段階である。
ここで、トリガは、先に受信機がSTBから受信したコンテンツに関するものであってもよい。
ここで、コンテンツは、前述したSTBから受信したコンテンツであってもよい。
ここで、トリガは、コンテンツの現在時間を示し、アプリケーションパラメータテーブルで特定対話型イベントを参照したり、当該イベントが現在又は指定された未来の時間に実行されることを知らせたりすることができる。
ここで、アプリケーションパラメータテーブルは、少なくとも一つのアプリケーションに関する情報を含むことができる。
ここで、サーバは、前述したACRサーバであってもよい。データベースは、前述したデータベースであってもよい。ここでいう識別子は、指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
サーバは、受信した要求/識別子を用いてデータベースとの対照を実行できる。対照作業は、以前にACRインジェストモジュールがデータベースに保存した記録に対して行うことができる。サーバは、識別子がデータベースの識別子と一致する場合、データベースからその関連した記録を取得することができる。この場合、記録は、時間ベーストリガ又は活性化トリガを含むことができる。どのトリガを含むかは、ACRインジェストモジュールが以前に記録にどのようなものを挿入したかによって変わってもよい。サーバがデータベースから記録を受信すると、サーバは受信機に、取得したトリガ又はトリガを送ることができる。
本発明の一実施例で、次の要求を送る前にイベント活性化が発生することが予定されない場合、トリガは時間ベーストリガである。ここで、時間ベーストリガは、セグメントの時間を維持するために用いられる。時間ベーストリガは、前述した時間ベーストリガの動作に従ってもよい。
本発明の一実施例で、活性化が発生する予定である場合、トリガは活性化トリガである。ここで、活性化トリガは、当該イベントに対する活性化時刻を設定する。ここで、活性化時刻は、活性化トリガ内のタイミング値項によって示される。活性化トリガは、前述した活性化トリガの動作に従ってもよい。活性化トリガは、アプリケーションのイベントに適用され、特定時間に活性化を起こすことができる。イベントの活性化を通じて、視聴者は対話型サービスを受けることができる。本発明の実施例による活性化トリガ配信では、前述したACR環境の場合、すなわち、受信機がインターネットと接続しており、放送ストリームを介して非圧縮のオーディオ及びビデオを利用できる場合だけ、対話型サービスを受けることができる。
本発明の一実施例は、受信機が同一のイベント活性化に対して一つ以上の活性化トリガを受信すると、活性化トリガは1回適用される。前述したとおり、同一のイベント活性化に対して、受信機は複数個の活性化トリガを取得することができる。本発明の一実施例の一つは、周期的に識別子を抽出してサーバに送ることができる。このとき、周期的要求に対する応答として、複数個の活性化トリガを取得することができる。前述したとおり、この場合、活性化トリガは同一の“t=”項を有するため、受信機はそれらが重複したものであることがわかり、一つの活性化トリガだけを適用できる。
本発明の一実施例は、活性化時刻以降に活性化トリガが受信される場合、活性化トリガは到達すると直ちに適用される。この実施例は、前述した動的活性化の場合と同様である。サーバが活性化時刻よりも先に活性化トリガを受信機に伝送できないほど、活性化に対して遅く認知した場合、サーバは、受信機の次の要求まで待った後、次の要求に対する応答として活性化トリガを送ることができる。この場合、当該活性化トリガは、過去の活性化時刻を示すことがある。その場合、受信機は、活性化トリガを取得すると直ちに、それを適用してもよい。
本発明の一実施例は、対話型サービスを処理する方法において、新しいアプリケーションパラメータテーブルを直ちにダウンロードする段階を更に含むことができる。トリガが、新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含む場合、受信機が、当該アプリケーションパラメータテーブルと併せて配信されたURL情報を用いて新しいアプリケーションパラメータテーブルを既に検索していないときは、受信機は、新しいアプリケーションパラメータテーブルを直ちにダウンロードする。前述したとおり、受信機は、新しいアプリケーションパラメータテーブル識別子を有するトリガを受信した場合、新しいアプリケーションパラメータテーブル(例えば、TPT)をダウンロードすることによって、関連したセグメントに対する対話型サービスを提供するに当たって新しい情報を得ることができる。ここで、発明の一実施例は、httpプロトコルを用いてアプリケーションパラメータテーブルサーバに新しいアプリケーションパラメータテーブルを要求し、ダウンロードすることができる。ここで、発明の一実施例は、アプリケーションパラメータテーブルをXML又は2進フォーマットの形態とすることができる。ここで、アプリケーションパラメータテーブル識別子は、前述したlocator_partであってもよい。ここで、URL情報は、前述したURLListであってもよい。
本発明の一実施例は、対話型サービスを処理する方法において、アプリケーションURLを得る段階と、新しいアプリケーションをダウンロードする段階と、を更に含むことができる。受信機は、当該アプリケーションパラメータテーブルから、又は受信機が当該新しいアプリケーションを有しない場合、新しいアプリケーションパラメータテーブルから、当該トリガと関係する新しいアプリケーションに対するアプリケーションURLを得ることができる。そして、受信機は、このアプリケーションURLを用いて新しいアプリケーションをダウンロードすることができる。ここで、受信機は、アプリケーションパラメータテーブル(例えば、TPT)内に含まれたアプリケーション(例えば、TDO)関連情報をパースし、サーバにアプリケーションを要求することができる。ここで、要求は、httpプロトコルを用いることができる。ここで、サーバは、コンテンツサーバであってもよい。サーバは、受信機の要求に応じて当該アプリケーションを送信することができる。
本発明の一実施例は、当該時間がメディア時間であってもよく、このメディア時間は、コンテンツアイテムの再生における一地点を参照するパラメータであってもよい。
本発明の一実施例は、アプリケーションが宣言的オブジェクト、トリガされた宣言的オブジェクト、非実時間宣言的オブジェクト、又は非結合宣言的オブジェクトである。
本発明の一実施例は、通信セッションが要求と応答をやり取りするとき以外は閉じていてもよい。通信セッションは、要求/応答インスタンス間に開いた状態で維持されない。
本発明の一実施例は、受信機よりも先にサーバ側でメッセージを送らなくてもよい。当該サーバ(例えば、ACRサーバ)が当該クライアント(例えば、受信機)にメッセージを開始することが実行可能でなくてもよい。
本発明の一実施例は、受信機がトリガでないヌル応答を取得することができる。サーバに配信された識別子がデータベースにおける識別子と一致しない場合、サーバはデータベースから、“no match”指示子を受信することができる。サーバが“no match”指示子を受信した場合、サーバは受信機にヌル応答を返却することができる。
本発明の一実施例は、サーバにいかなる追加の知能も要求しない。サーバは単純に受信機(例えば、ACRクライアント)に、データベースから取得した情報を配信するだけでもよい。本発明の動作に対するすべての知能は、ACRインジェストモジュールが担当することができる。
図37は、本発明において、受信機の構造の一実施例を示す図である。
本発明の一実施例で、受信機は、アンテナrcvr1010、チューナrcvr1020、VSB又はDVB復調器rcvr1030、MPEG−2TSシステム復号器rcvr1040、字幕モジュールrcvr1050、トリガモジュールrcvr1060、ウェブブラウザrcvr1070、ネットワークプロトコルスタックrcvr1080、ネットワークインタフェースrcvr1090、UIモジュールrcvr1100、オーディオ復号器rcvr1110、ビデオ復号器rcvr1120、スピーカrcvr1130、表示モジュールrcvr1140、グラヒックプロセッサrcvr1150、リモコン受信器rcvr1160及び/又はリモコンrcvr1170を含むことができる。
アンテナrcvr1010は、放送ストリームによって放送信号を受信することができる。ここで、アンテナrcvr1010は、通常の技術分野で用いられるものであってもよい。
チューナrcvr1020は、受信機のチャネルを探索して合わせることができ、無線周波増幅器、局部発振器、周波数変換入力回路、探索器(seeker)などを含むことができる。チューナrcvr1020は、通常の技術分野で用いられるものであってもよい。
VSB又はDVB復調器rcvr1030は、VSB信号又はDVB信号を復調できる。VSB又はDVB復調器rcvr1030は、変調されたVSB又はDVB(例えば、OFDM変調された信号)を元の信号に復元できる。VSB又はDVB復調器rcvr1030の復調過程は、通常の技術分野で用いられるものであってもよい。
MPEG−2TSシステム復号器rcvr1040は、復調された信号のトランスポートストリーム(TS)を復号することができる。MPEG−2TSシステム復号器rcvr1040は、トランスポートストリームから字幕ストリームを得て字幕モジュールrcvr1050に配信することができる。MPEG−2TSシステム復号器rcvr1040は、復号されたオーディオ及びビデオ信号をオーディオ/ビデオ復号器rcvr1120に送ることができる。
字幕モジュールrcvr1050は、字幕ストリームを受信することができる。字幕モジュールrcvr1050は、サービス#6又は他のサービスを監視し、サービス#6又は当該トリガの送信のためのサービスが選択されてトリガモジュールrcvr1060に送られるか否か、又は字幕テキストが処理されて画面に見られるか否かを判断できる。トリガデータは、トリガモジュールrcvr1060に配信することができる。他の字幕サービスは、字幕テキスト処理をしてグラヒックプロセッサrcvr1150に送ることができる。
トリガモジュールrcvr1060は、トリガ、TPT、及び/又はAMT情報などをパースし、パースされたデータを処理できる。トリガモジュールrcvr1060は、トリガのURI情報値を用いて、ネットワークプロトコルスタックrcvr1080を介して当該ネットワークに接続することができる。URI情報値は、HTTPサーバのアドレスであってもよい。トリガモジュールrcvr1060は、TPTファイル内容を分析してTDO URLを得ることができる。また、トリガモジュールrcvr1060は、AMTをパースしてデータを処理できる。その他の情報もパースして得ることができる。AMTメッセージを受信した後には、定められた時間及び動作によって、ウェブブラウザに該当するTDO URLを配信したり、又は定められた時間に、現在動作するTDOを中断させたりすることができる。これは、TDO動作に該当する動作であって、トリガモジュールrcvr1060がウェブブラウザに命令をして動作できるようにすることができる。本発明によるトリガモジュールrcvr1060の動作についての詳細は後述する。
ウェブブラウザrcvr1070は、トリガモジュールrcvr1060が下した命令、UIモジュールrcvr1100から配信されたブラウザキーコード、リモコン受信器rcvr1160から配信されたブラウザキーコードなどを受信し、ネットワークプロトコルスタックrcvr1080と通信することができる。
ネットワークプロトコルスタックrcvr1080は、トリガモジュールrcvr1060及びウェブブラウザと通信し、ネットワークインタフェースrcvr1090を介してサーバに接続することができる。
ネットワークインタフェースrcvr1090は、他の様々な装置の共通接続又はネットワークコンピュータ及び外部網の接続を行う。ネットワークインタフェースはサーバに接続して、TDO、TPT、AMTなどをダウンロードすることができる。ここで、ネットワークインタフェースrcvr1090の動作は、通常の技術分野で用いられるネットワークインタフェースrcvr1090の動作であってもよい。本発明によるネットワークインタフェースrcvr1090の動作についての詳細は後述する。
UIモジュールrcvr1100は、リモコンrcvr1170を用いて視聴者が入力した情報を、リモコン受信器rcvr1160を介して受信することができる。受信した情報が、通信網を用いたサービスなどに関するものであるとき、ブラウザキーコードをウェブブラウザに配信することができる。受信した情報が現在見られているビデオに関するものであるとき、グラヒックプロセッサrcvr1150を介して表示モジュールrcvr1140に信号を配信することができる。
オーディオ復号器rcvr1110は、MPEG−2TSシステム復号器rcvr1040から配信されたオーディオ信号を復号することができる。その後、復号したオーディオ信号をスピーカに送り、視聴者に出力されるようにすることができる。ここで、オーディオ復号器rcvr1110は、通常の技術分野で用いられるオーディオ復号器であってもよい。
ビデオ復号器rcvr1120は、MPEG−2TSシステム復号器rcvr1040から配信されたビデオ信号を復号することができる。その後、復号したビデオ信号を表示モジュールrcvr1140に送り、視聴者に出力されるようにすることができる。ここで、ビデオ復号器rcvr1120は、通常の技術分野で用いられるビデオ復号器であってもよい。
スピーカrcvr1130は、オーディオ信号を視聴者に出力できる。スピーカは、通常の技術分野で用いられるスピーカであってもよい。
表示モジュールrcvr1140は、ビデオ信号を視聴者に出力できる。表示モジュールrcvr1140は、通常の技術分野で用いられる表示装置であってもよい。本発明による表示モジュールrcvr1140の動作についての詳細は後述する。
グラヒックプロセッサrcvr1150は、字幕モジュールrcvr1050から配信された字幕テキストと、UIモジュールrcvr1100から配信された視聴者の入力情報とをグラヒック処理を行うことができる。処理された情報は表示モジュールrcvr1140に配信することができる。グラヒックプロセッサrcvr1150は、通常の技術分野で用いられるグラヒックプロセッサであってもよい。
リモコン受信器rcvr1160は、リモコンrcvr1170から情報を受信することができる。このとき、キーコードはUIモジュールrcvr1100に配信し、ブラウザキーコードはウェブブラウザに配信することができる。
リモコンrcvr1170は、視聴者が入力した信号をリモコン受信器rcvr1160に配信する。リモコンrcvr1170は、視聴者が仮想チャネルを切り替えようとする入力を取得することができる。また、アプリケーションに対して視聴者が選択した情報などを取得することができる。リモコンrcvr1170は、受信した情報をリモコン受信器rcvr1160に配信することができる。このとき、赤外線(IR)を用いて当該情報を一定距離以上離れた遠隔から配信することもできる。
図38は、セットトップボックスで放送をHDMI(登録商標)又は外部入力を介して受信する場合における受信機の構造の一実施例を示す図である。
図38に示す本発明の一実施例において、受信機は、アンテナrcvr2010、チューナrcvr2020、セットトップボックスrcvr2030、VSB又はDVB復調器rcvr2040、HDMI(登録商標)rcvr2050、MPEG−2TSシステム復号器rcvr2060、字幕モジュールrcvr2070、トリガモジュールrcvr2080、ウェブブラウザrcvr2090、ネットワークプロトコルスタックrcvr2100、ネットワークインタフェースrcvr2110、UIモジュールrcvr2120、ACRモジュールrcvr2130、オーディオ復号器rcvr2140、ビデオ復号器rcvr2150、スピーカrcvr2160、表示モジュールrcvr2170、グラヒックプロセッサrcvr2180、リモコン受信器rcvr2190、リモコンrcvr2200を含むことができる。
この場合には、放送ストリームのビデオとオーディオが生データ(raw data)であるため、字幕ストリームに含まれているトリガを受信できないであろう。本発明についての詳細は後述する。
ここで、セットトップボックスrcvr2030、HDMI(登録商標)rcvr2050、ACRモジュールrcvr2130以外のモジュールは、図37の実施例で説明したモジュールと類似の役割を持つ。
セットトップボックスrcvr2030、HDMI(登録商標)rcvr2050、ACRモジュールrcvr2130に関する説明は、次のとおりである。
セットトップボックスrcvr2030は、デジタル網を通してビデオサーバから受信した圧縮信号を、元来の映像及び音声信号に復元できる。TVをインターネットユーザインタフェースとしてもよい。
HDMI(登録商標)rcvr2050は、非圧縮方式のデジタルビデオ/オーディオインタフェース規格の一つである高画質マルチメディアインタフェースであってもよい。HDMI(登録商標)rcvr2050は、セットトップボックスrcvr2030及びAV機器、すなわち、オーディオ復号器rcvr2140、ビデオ復号器rcvr2150との間にインタフェースを提供することができる。
ACRモジュールrcvr2130は、オーディオ復号器rcvr2140及びビデオ復号器rcvr2150からの放送コンテンツを自動で認識することができる。認識された現在のコンテンツに基づいて、トリガモジュールrcvr2080及びネットワークインタフェースrcvr2110を介してACRサーバに問合せ(query)を送り、トリガのためのTPT/AMTを受信することができる。
図39は、要求/応答モデルにおいて、対話型サービスを処理する装置の一実施例を示す図である。
本発明による要求/応答モデルにおいて、対話型サービスを処理する装置の一実施例は、受信モジュール39010、識別子抽出モジュール39020、ネットワークインタフェース39030を含むことができる。
受信モジュール39010は、非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを外部復号部から受信するモジュールである。
ここで、外部復号部は、前述したSTBであってもよい。
ここで、非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツは、前述したSTB(外部復号部)が受信機に配信するオーディオ/ビデオコンテンツであってもよい。
ここで、受信モジュール39010は、図38のHDMI(登録商標)に対応する。ただし、受信モジュール39010は、図37又は図38に示していない他のモジュールであってもよい。これは、設計者の意図によって変更可能である。
外部復号部は、MVPDなどから配信されたA/Vコンテンツを復号(圧縮解除)した後、受信モジュール39010に配信することができる。非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツは、前述したACRインジェストモジュールによって処理されてもよい。すなわち、ACRインジェストモジュールは、指紋ACRシステムの場合、フレームの署名(指紋)を算出したり、コードに基づく透かしACRシステムの場合、コードからなる透かしをフレームに挿入したりすることができる。ここで、フレームは、STBによって復号/圧縮解除される前のオーディオ/ビデオコンテンツに関するものであってもよい。ACRインジェストモジュールは、他のメタデータと併せて署名又はコードに関係する各フレームのmedia_timeをデータベースに保存することができる。
識別子抽出モジュール39020は、受信モジュール39010によって受信された非圧縮オーディオコンテンツ、又は非圧縮ビデオコンテンツの一つのフレームから識別子を抽出するモジュールである。
ここでいう識別子とは、受信したコンテンツのフレームを識別する識別子を指すことができる。この識別子は、前述した概念のうち、指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
ここでいう‘抽出’とは、受信した非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツの一つのフレームから識別子を抽出することを指し、前述した‘署名算出’、‘透かし抽出’、‘署名生成’に対応できる。
識別子抽出モジュール39020で一つのフレームに該当する識別子を抽出する。抽出された識別子は、前述したとおり、ACRサーバなどに送ることができる。前述した動作と同様に、ACRサーバは、受信した識別子をデータベース内の記録と対照作業することができる。ここで、ACRサーバ及びデータベースは、前述したACRサーバ及びデータベースであってもよい。データベース内の記録は、以前にACRインジェストモジュールによって保存された記録であってもよい。
ここで、識別子抽出モジュール39020は、図38のACRモジュールに対応する。ただし、識別子抽出モジュール39020は、図37又は図38に示されていない他のモジュールであってもよい。これは、設計者の意図によって変更可能である。
本発明の一実施例は、受信したコンテンツのフレームから識別子を周期的に抽出(生成)することができる。
本発明の一実施例は、識別子を抽出する周期を5秒とすることができる。これは、設計者の意図によって変更可能な事項である。
ネットワークインタフェース39030は、抽出した識別子を含む要求をサーバに送り、サーバからコンテンツに関連したトリガを取得するモジュールである。ここで、トリガは、要求に基づいて取得することができる。
ここで、ネットワークインタフェース39030は、図38のネットワークインタフェースに該当できる。ただし、ネットワークインタフェース39030は、図37又は図38に示されていないほかのモジュールであってもよい。これは、設計者の意図によって変更可能である。
ここで、抽出した識別子は、指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
ここで、要求は、上記識別子を含むことができる。ここで、ネットワークインタフェース39030はサーバに要求を周期的に送ることができる。一つの要求は一つの識別子を含むことができる。ここで、周期の長さは設計者の意図によって変更可能な事項である。
ここで、サーバは、前述したACRサーバであってもよい。サーバは、要求を受信し、データベースと対照することができる。ここで、ACRサーバ及びデータベースは、前述したACRサーバ及びデータベースであってもよい。データベース内の記録は、以前にACRインジェストモジュールによって保存された記録であってもよい。
ここで、トリガは、受信モジュール39010がSTBから受信したコンテンツに関するものであってもよい。
ここで、コンテンツは、前述したSTBから配信されたコンテンツであってもよい。
ここで、トリガは、コンテンツの現在時間を示し、アプリケーションパラメータテーブルで特定対話型イベントを参照するか、又は当該イベントが現在又は指定された未来の時間に実行されることを知らせることができる。
ここで、アプリケーションパラメータテーブルは、少なくとも一つのアプリケーションに関する情報を含むことができる。
ここで、サーバは、前述したACRサーバであってもよい。データベースは、前述したデータベースであってもよい。ここで、識別子は指紋署名又は透かしコードであってもよい。本実施例は、指紋又は透かしのいずれか一技法に限定されない。
サーバは、受信した要求/識別子を用いてデータベースとの対照を実行することができる。対照作業は、以前にACRインジェストモジュールがデータベースに保存した記録と行うことができる。サーバは、識別子がデータベースの識別子と一致する場合、サーバは、データベースからその関連した記録を取得することができる。この場合、記録は、時間ベーストリガ又は活性化トリガを含むことができる。いかなるトリガを含むかは、ACRインジェストモジュールが以前に記録にどのようなものを挿入したかによって変えてもよい。サーバがデータベースから記録を取得すると、サーバは、取得したトリガ又はトリガを、ネットワークインタフェース39030に送ることができる。
本発明の一実施例は、次の要求を送る前にイベント活性化が発生することが予定されない場合、トリガは時間ベーストリガである。ここで、時間ベーストリガは、セグメントの時間を維持するために用いられる。時間ベーストリガは、前述した時間ベーストリガの動作に従ってもよい。
本発明の一実施例は、活性化が発生する予定である場合、トリガは活性化トリガである。ここで、活性化トリガは、当該イベントに対する活性化時刻を設定する。ここで、活性化時刻は、活性化トリガ内のタイミング値項によって示される。活性化トリガは、前述した活性化トリガの動作に従ってもよい。活性化トリガは、アプリケーションのイベントに適用され、特定時間に活性化を起こすことができる。イベントの活性化を通じて、視聴者は対話型サービスを受けることができる。本発明の実施例による活性化トリガ配信では、前述したACR環境の場合、すなわち、受信機がインターネットに接続し、放送ストリームからの非圧縮のオーディオ及びビデオを利用できる場合だけ、対話型サービスを受けることができる。
本発明の一実施例は、装置が同一のイベント活性化に対して一つ以上の活性化トリガを受信すると、活性化トリガは1回適用される。前述したとおり、同一のイベント活性化に対して、装置は複数個の活性化トリガを取得することができる。本発明の一実施例の一つは、周期的に識別子を抽出してサーバに送ることができる。このとき、周期的要求に対する応答として複数個の活性化トリガを取得することができる。前述したとおり、この場合、活性化トリガは、同一の“t=”項を有するため、装置は、それらが重複したものであることがわかり、一つの活性化トリガだけを適用できる。
本発明の一実施例は、活性化時刻以降に活性化トリガが受信される場合、活性化トリガは到達すると直ちに適用される。この実施例は、前述した動的活性化の場合と同様である。サーバが活性化時刻よりも先に活性化トリガを装置に送信できないほど活性化に対して遅く認知した場合、サーバは、装置の次の要求まで待った後、次の要求に対する応答として活性化トリガを送ることができる。この場合、当該活性化トリガは、過去の活性化時刻を示すことがある。その場合、装置は、活性化トリガを取得すると直ちにそれを適用してもよい。
本発明の一実施例において、ネットワークインタフェース39030は、トリガが新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含む場合、受信機が当該アプリケーションパラメータテーブルと併せて配信されたURL情報を用いて新しいアプリケーションパラメータテーブルを既に検索していないときは、新しいアプリケーションパラメータテーブルを直ちにダウンロードするように、更に構成される。前述したとおり、この装置は、新しいアプリケーションパラメータテーブル識別子を有するトリガを受信した場合、新しいアプリケーションパラメータテーブル(例えば、TPT)をダウンロードすることによって、関連したセグメントに対する対話型サービスを提供するに当たって新しい情報を得ることができる。ここで、発明の一実施例は、httpプロトコルを用いてアプリケーションパラメータテーブルサーバに新しいアプリケーションパラメータテーブルを要求し、ダウンロードすることができる。ここで、発明の一実施例は、アプリケーションパラメータテーブルをXML又は2進フォーマットの形態とすることができる。ここで、アプリケーションパラメータテーブル識別子は、前述したlocator_partであってもよい。ここで、URL情報は、前述したURL Listであってもよい。
本発明の一実施例で、装置は、装置に新しいアプリケーションがない場合、アプリケーションパラメータテーブル又は新しいアプリケーションパラメータテーブルから、トリガと関係する新しいアプリケーションに対してアプリケーションURLを得るトリガモジュールを更に備え、ネットワークインタフェースは、このアプリケーションURLを用いて、新しいアプリケーションをダウンロードするように、更に構成される。ここで、上記装置は、アプリケーションパラメータテーブル(例えば、TPT)内に含まれたアプリケーション(例えば、TDO)関連情報をパースし、サーバにアプリケーションを要求することができる。ここで、要求はhttpプロトコルを用いることができる。ここで、サーバは、コンテンツサーバであってもよい。サーバは、装置の要求に応じて当該アプリケーションを送信することができる。
本発明の一実施例は、当該時間がメディア時間であってもよく、このメディア時間は、コンテンツアイテムの再生における一地点を参照するパラメータであってもよい。
本発明の一実施例では、アプリケーションが宣言的オブジェクト、トリガされた宣言的オブジェクト、非実時間宣言的オブジェクト、又は非結合宣言的オブジェクトである。
本発明の一実施例は、通信セッションが要求と応答をやり取りするとき以外は閉じていてもよい。通信セッションは、要求/応答インスタンス間に開いた状態で維持されない。
本発明の一実施例は、上記装置よりも先にサーバ側でメッセージを送らなくてもよい。当該サーバ(例えば、ACRサーバ)が当該クライアント(例えば、上記装置)にメッセージを開始することが実行可能でなくてもよい。
本発明の一実施例は、ネットワークインタフェース39030がトリガでないヌル応答を取得することができる。サーバに配信された識別子がデータベースにおける識別子と一致しない場合、サーバはデータベースから、“no match”指示子を受信することができる。サーバが“no match”指示子を受信した場合、サーバはネットワークインタフェース39030にヌル応答を返却することができる。
本発明の一実施例は、サーバにいかなる追加の知能も要求しない。サーバは単純にネットワークインタフェース39030に、データベースから取得した情報を配信するだけでよい。本発明の動作に対するすべての知能は、ACRインジェストモジュールが担当することができる。
説明の便宜のために各図面を参照して説明したが、各図面に記載されている実施例を組み合わせて新しい実施例を具現するように設計することも可能である。そして、通常の技術者の必要によって、以前に説明された実施例を実行するためのプログラムが記録されている計算機可読記録媒体を設計することも本発明の権利範囲に属する。
本発明による装置及び方法は、上述した実施例の構成と方法が限定的に適用されものではなく、上述した実施例の様々な変形がなされるように、各実施例のすべて又は一部が選択的に組み合わせられて構成されてもよい。
一方、本発明の放送プログラムと関連した対話型サービスを処理する方法をネットワークデバイスに備えられた、プロセッサ可読記録媒体に、プロセッサ可読コードとして具現することが可能である。プロセッサ可読記録媒体は、プロセッサ可読データが記憶されるいかなる種類の記録装置をも含む。プロセッサ可読記録媒体の例には、ROM、RAM、CD−ROM、磁気テープ、フレキシブルディスク、光データ記憶装置などがあり、また、インターネットを通した伝送などのような搬送波の形態で具現されるものも含む。また、プロセッサ可読記録媒体は、ネットワークで接続された計算機システムに分散されて、分散方式でプロセッサ可読コードが記憶されて実行されてもよい。
また、以上では本発明の好適な実施例について図示及び説明したが、本発明は、上述した特定の実施例に限定されず、特許請求の範囲で請求する本発明の要旨から逸脱することなく当該発明の属する技術の分野における通常の知識を有する者にとって様々な変形実施が可能であることは明白である。したがって、このような変形実施は本発明の技術的思想又は展望に含まれるものとする。
本明細書では物の発明及び方法双方の発明が説明されており、必要によって両発明の説明は補充的に適用されてもよい。
(実施例)
本発明の様々な実施例が、[発明を実施するための形態]において説明されている。
本発明は、放送サービスの提供に関する一連の産業分野に利用可能である。
本発明の思想や範囲から逸脱することなく、本発明の様々な修正及び変形が可能であるということは、当該技術の分野における者には明らかである。したがって、添付の請求項及びその均等物の範囲内で提供される本発明の修正及び変形はいずれも本発明に含まれる。

Claims (12)

  1. 受信機が対話型サービスを処理する方法であって、
    外部復号部から非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信するステップと、
    前記受信されたコンテンツフレームから識別子を抽出するステップと、
    前記識別子を含む要求をサーバに送るステップと、
    前記要求に基づいて前記サーバから前記コンテンツに対するトリガを受信するステップと、を有し、
    前記トリガは、前記コンテンツの現在メディア時間を示すか又はアプリケーションパラメータテーブル内のイベントの活性化を知らせ、
    前記アプリケーションパラメータテーブルは、前記コンテンツに関係するアプリケーションと前記アプリケーションを対象とするイベントとに関するメタデータを含
    前記アプリケーションパラメータテーブルは、前記アプリケーションに関する情報を含む少なくとも一つのアプリケーション要素を含み、
    前記少なくとも一つのアプリケーション要素は、前記イベントに関する情報を含む少なくとも一つのイベント要素を含む、方法。
  2. 次の要求前にイベント活性化がスケジュールされていない場合、前記トリガは時間ベーストリガであり、
    前記時間ベーストリガは、前記コンテンツのメディア時間を維持するために用いられる、請求項1に記載の方法。
  3. 次の要求の前にイベント活性化がスケジュールされている場合、前記トリガは活性化トリガであり、
    前記活性化トリガは、前記アプリケーションパラメータテーブル内のアプリケーションと前記イベントとを参照することによって、前記イベントに対する活性化時刻を設定し、
    前記アプリケーションは前記イベントの対象である、請求項1に記載の方法。
  4. 記トリガが前記新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含むときは、前記新しいアプリケーションパラメータテーブルをダウンロードするステップを更に有する、請求項1に記載の方法。
  5. 前記受信機は、同一のイベント活性化に対して一つ以上の活性化トリガを受信したとき、活性化トリガのうち一つを適用する、請求項3に記載の方法。
  6. 活性化トリガが前記活性化時刻以降に受信されたとき、活性化トリガは到達すると直ちに適用される、請求項3に記載の方法。
  7. 対話型サービスを処理する装置であって、
    外部復号部から非圧縮オーディオコンテンツ又は非圧縮ビデオコンテンツを受信する受信モジュールと、
    前記受信されたコンテンツからフレームの識別子を抽出する識別子抽出モジュールと、
    前記識別子を含む要求をサーバに送り、前記要求に基づいて前記サーバから前記コンテンツに対するトリガを受信するネットワークインタフェースと、を備え、
    前記トリガは、前記コンテンツの現在メディア時間を示すか又はアプリケーションパラメータテーブル内のイベントの活性化を知らせ、
    前記アプリケーションパラメータテーブルは、前記コンテンツに関係するアプリケーションと前記アプリケーションを対象とするイベントとに関するメタデータを含
    前記アプリケーションパラメータテーブルは、前記アプリケーションに関する情報を含む少なくとも一つのアプリケーション要素を含み、
    前記少なくとも一つのアプリケーション要素は、前記イベントに関する情報を含む少なくとも一つのイベント要素を含む、装置。
  8. 次の要求前にイベント活性化がスケジュールされていない場合、前記トリガは時間ベーストリガであり、
    前記時間ベーストリガは、前記コンテンツのメディア時間を維持するために用いられる、請求項に記載の装置。
  9. 次の要求の前にイベント活性化がスケジュールされている場合、前記トリガは活性化トリガであり、
    前記活性化トリガは、前記アプリケーションパラメータテーブル内のアプリケーションと前記イベントとを参照することによって、前記イベントに対する活性化時刻を設定し、
    前記アプリケーションは前記イベントの対象である、請求項に記載の装置。
  10. 前記ネットワークインタフェースは、前記トリガが前記新しいアプリケーションパラメータテーブルを識別するアプリケーションパラメータテーブル識別子を含むときは、前記新しいアプリケーションパラメータテーブルをダウンロードする、請求項に記載の装置。
  11. 同一のイベント活性化に対して一つ以上の活性化トリガを受信したとき、活性化トリガのうち一つを適用する、請求項に記載の装置。
  12. 活性化トリガが前記活性化時刻以降に受信されたとき、活性化トリガは到達すると直ちに適用される、請求項に記載の装置。
JP2015521559A 2012-08-22 2013-08-21 対話型サービスを処理する装置及び方法 Active JP6045692B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261691805P 2012-08-22 2012-08-22
US61/691,805 2012-08-22
US201261703749P 2012-09-20 2012-09-20
US61/703,749 2012-09-20
PCT/KR2013/007496 WO2014030924A1 (en) 2012-08-22 2013-08-21 Apparatus and method for processing an interactive service

Publications (2)

Publication Number Publication Date
JP2015527807A JP2015527807A (ja) 2015-09-17
JP6045692B2 true JP6045692B2 (ja) 2016-12-14

Family

ID=50148997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015521559A Active JP6045692B2 (ja) 2012-08-22 2013-08-21 対話型サービスを処理する装置及び方法

Country Status (8)

Country Link
US (3) US9071663B2 (ja)
EP (1) EP2839671B1 (ja)
JP (1) JP6045692B2 (ja)
KR (1) KR102068567B1 (ja)
CN (1) CN104584574B (ja)
CA (1) CA2875467C (ja)
MX (1) MX342972B (ja)
WO (1) WO2014030924A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101703866B1 (ko) * 2011-06-16 2017-02-07 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 방법 및 방송 서비스 수신 장치
US9769503B2 (en) * 2012-11-14 2017-09-19 Saturn Licensing Llc Information processor, information processing method and program
US9986307B2 (en) * 2013-07-19 2018-05-29 Bottle Rocket LLC Interactive video viewing
US10504200B2 (en) 2014-03-13 2019-12-10 Verance Corporation Metadata acquisition using embedded watermarks
JP2017514345A (ja) * 2014-03-13 2017-06-01 ベランス・コーポレイション 埋め込みコードを用いた対話型コンテンツ取得
EP3138264B1 (en) * 2014-05-02 2019-11-20 Verance Corporation Metadata acquisition using embedded codes
KR102481425B1 (ko) * 2014-05-30 2022-12-27 소니그룹주식회사 수신 장치, 수신 방법, 송신 장치, 및, 송신 방법
US10372511B2 (en) * 2014-07-18 2019-08-06 Verizon Patent And Licensing Inc. Method and apparatus for providing an application control trigger
WO2016028936A1 (en) 2014-08-20 2016-02-25 Verance Corporation Watermark detection using a multiplicity of predicted patterns
CA2955340C (en) * 2014-09-05 2022-12-06 Sony Corporation Receiving device, receiving method, transmitting device, and transmitting method
US9942602B2 (en) 2014-11-25 2018-04-10 Verance Corporation Watermark detection and metadata delivery associated with a primary content
EP3225034A4 (en) * 2014-11-25 2018-05-02 Verance Corporation Enhanced metadata and content delivery using watermarks
WO2016100916A1 (en) 2014-12-18 2016-06-23 Verance Corporation Service signaling recovery for multimedia content using embedded watermarks
US10547913B2 (en) * 2015-06-21 2020-01-28 Sharp Kabushiki Kaisha Extensible watermark associated information retrieval
US9813781B2 (en) * 2015-10-27 2017-11-07 Sorenson Media, Inc. Media content matching and indexing
US10506059B2 (en) * 2016-03-18 2019-12-10 Qualcomm Incorporated Signaling of application content packaging and delivery
US10419511B1 (en) * 2016-10-04 2019-09-17 Zoom Video Communications, Inc. Unique watermark generation and detection during a conference
TWI640195B (zh) * 2016-12-14 2018-11-01 日商夏普股份有限公司 具有統一資源識別符訊息浮水印有效負載之廣播系統
US9918135B1 (en) 2017-02-07 2018-03-13 The Directv Group, Inc. Single button selection to facilitate actions in a communications network
CN112612580A (zh) * 2020-11-25 2021-04-06 北京思特奇信息技术股份有限公司 一种组合事件触发方法及触发系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415438B1 (en) * 1999-10-05 2002-07-02 Webtv Networks, Inc. Trigger having a time attribute
US20030192060A1 (en) 2001-01-30 2003-10-09 Levy Kenneth L. Digital watermarking and television services
WO2002062009A1 (en) * 2001-01-30 2002-08-08 Digimarc Corporation Efficient interactive tv
US8407752B2 (en) * 2004-03-18 2013-03-26 Digimarc Corporation Synchronizing broadcast content with corresponding network content
US20070072543A1 (en) * 2005-09-06 2007-03-29 Nokia Corporation 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
US8893210B2 (en) 2010-08-20 2014-11-18 Sony Corporation Server load balancing for interactive television
JP5765558B2 (ja) * 2010-08-27 2015-08-19 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、プログラム、および放送システム
KR101960314B1 (ko) * 2010-11-24 2019-03-20 엘지전자 주식회사 영상 표시 장치 및 그 제어 방법
EP2658248A4 (en) * 2010-12-26 2014-07-09 Lg Electronics Inc AUDIOVISUAL SERVICE TRANSMISSION METHOD, AUDIOVISUAL SERVICE RECEIVING METHOD, AND AUDIOVISUAL SERVICE RECEIVING APPARATUS
US9554175B2 (en) * 2011-07-20 2017-01-24 Sony Corporation Method, computer program, reception apparatus, and information providing apparatus for trigger compaction

Also Published As

Publication number Publication date
MX342972B (es) 2016-10-20
CA2875467C (en) 2017-03-14
KR20150048669A (ko) 2015-05-07
US9912971B2 (en) 2018-03-06
US20140059116A1 (en) 2014-02-27
US9596494B2 (en) 2017-03-14
CN104584574B (zh) 2018-06-22
MX2014014754A (es) 2015-02-24
JP2015527807A (ja) 2015-09-17
CN104584574A (zh) 2015-04-29
KR102068567B1 (ko) 2020-02-11
WO2014030924A1 (en) 2014-02-27
US20150264410A1 (en) 2015-09-17
EP2839671B1 (en) 2018-10-10
EP2839671A4 (en) 2015-12-02
CA2875467A1 (en) 2014-02-27
US9071663B2 (en) 2015-06-30
EP2839671A1 (en) 2015-02-25
US20150172785A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
JP6045692B2 (ja) 対話型サービスを処理する装置及び方法
US9794645B2 (en) Apparatus and method for processing an interactive service
JP6212557B2 (ja) 対話型サービスを処理する装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161115

R150 Certificate of patent or registration of utility model

Ref document number: 6045692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250