(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
本明細書で使われる用語としては、本発明においての機能を考慮したうえ、できるだけ現在広く使われている一般的な用語を選択したが、これは、当該分野に従事する技術者の意図、慣例又は新しい技術の出現などによって変更してもよい。また、特定の場合、出願人が任意に選定した用語もあり、その場合には、該当する発明の説明の部分においてその意味を記載するものとする。したがって、本明細書で使われる用語は、単純な用語の名称ではなく、その用語が持つ実質的な意味及び本明細書の全般にわたる内容に基づいて解釈しなければならないということは明らかである。
【0024】
この明細書でいうメディア時間(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は拡張可能マーク付け言語を表す。詳細な内容は後述する。
【0025】
この明細書で、時間ベースメッセージ(time base message)は、時間ベーストリガ及びその均等物を含む概念である。したがって、時間ベースメッセージは時間ベーストリガと同じ意味で用いてもよい。
【0026】
この明細書で、活性化メッセージは、活性化トリガ及び/又はAMT内の活性化要素など、活性化を起こし得るいずれの形態の情報伝達をも含む概念である。
【0027】
この明細書で、DO、TDO、NDO、UDOは次のような意味を有する。
【0028】
DO(Declarative Object)は、対話型アプリケーション(例えば、HTML、JavaScript(登録商標)、CSS、XML及びマルチメディアファイル)を構成するコレクションであってもよい。
【0029】
トリガされた対話型付加データサービスによって開始された宣言的オブジェクト又はトリガによって開始されたDOによって実行されたDOなどを指定するために“トリガされた宣言的オブジェクト(TDO)”を使用する。
【0030】
トリガされた対話型データサービスではなくNRTサービスの一部として実行された宣言的オブジェクトを表すために、“NRT宣言的オブジェクト”(NDO)という用語を使用する。
【0031】
パッケージ型アプリ(Packaged App)のようにサービスに結合されない宣言的オブジェクト、リンクによって実行されたDO、又はそのようなDOによって実行されたDOなどを表すために“非結合宣言的オブジェクト(UDO)”という用語を使用する。
【0032】
“リンク”は、現在のTV番組又はNRTサービスに関連するオンライン情報又は機能を提供するウェブサイトを示す放送局提供のURLである。
【0033】
“パッケージ型アプリ”は、放送局が視聴者に提供しようとする情報又は機能を提供し、視聴者がダウンロードして設置できる一つのファイルとしてまとめられた放送局提供宣言的オブジェクト(DO)である。
【0034】
一般的な放送ストリームはTV番組のシーケンスで構成されている。各TV番組は、基本となるショー(show)で構成され、ショーは一般的に広告及び/又は他の介在素材(interstitial material)によって分離されたブロックに分けられる。
【0035】
図1は、一般的な放送ストリームの一実施例を示す図である。
【0036】
同図では、放送ストリームに、ショーA(Show A)セグメント、広告1(Ad1)、広告2(Ad2)、ショーB(Show B)セグメントなどが順次に含まれている。各ショーをなすセグメントをショー材料、広告を介在素材と呼んでもよい。
【0037】
各ショー又は介在素材は、それと連携している対話型付加データサービスを有しても有さなくてもよい。
【0038】
本明細書では、統合ユニットとして放送局によって扱われる対話型付加サービスの一部を表すために“対話型サービスセグメント”、又は単純に“セグメント”という用語を使用する。対話型サービスセグメントは一般的に単一ショー又は1個の介在素材と連携するが、必ずしもそうでない。
【0039】
このような対話型付加データサービスを実行するための2つのモデルがあり得る。直接実行モデル及びトリガされた宣言的オブジェクト(TDO)モデルがそれである。
【0040】
直接実行モデルでは、仮想チャネルが選択されると直ちに宣言的オブジェクト(DO)は自動で開始される。宣言的オブジェクトは、画面上の特定位置での表示の生成、世論調査の実行、他の特殊DOの開始などのように、オーディオ/ビデオプログラムと同期した対話型機能(feature)の提供のための具体的な指示事項を得るために、インターネットを介してバックエンドサーバと通信することができる。
【0041】
TDOモデルでは、TDOの開始、TODの終了、又はTDOによる一部作業の誘発のようにTDOイベントを開始するために信号を放送ストリームで配信したり、又はインターネットを介して配信したりすることができる。これらのイベントは、特定時刻に開始され、一般的にオーディオ/ビデオプログラムと同期化される。TDOが開始されると、プログラムされた対話型機能を提供することができる。
【0042】
TDOモデルの基本概念は、TDOを構成するファイル及びある動作を取るためにTDOによって用いられるデータファイルはいずれも、その大きさによって受信機に配信されるには一定の時間がかかるということである。対話型要素に対するユーザ体験は、コンテンツの放送前に作成(author)してもよいが、ある振舞は、プログラム内のイベント、例えば、商業広告セグメントの発生と同時に起きるように注意して時刻を決めなければならない。
【0043】
TDOモデルでは、宣言的オブジェクト、連携するデータ、スクリプト、テキスト及びグラヒックの配信を、対話型イベントの再生に対する特定タイミングの信号通知と区別する。
【0044】
対話型イベントのタイミングを設定する要素はトリガである。
【0045】
一つのセグメント内で用いられるTDO及びトリガによって開始される連携TDOイベントに関する情報は、“TDOパラメータテーブル”(TPT)と呼ばれるデータ構造によって提供される。
【0046】
本発明を説明するための明細書の構造を簡単に説明する。まず、トリガ、TPTについて説明し、活性化トリガが大量にインターネットを介して配信される場合であるAMTについて説明する。
【0047】
URLリストの構造について説明する。URLリストは、受信機に対して使用する可能性があるURLを含む。URLリストは、一つ以上の未来セグメントに対するTPTのためのURL、NRT信号通知サーバのURL、使用報告サーバ(Usage Reporting Server)のURLなどを含むことができる。
【0048】
その後、TPTと共に配信され得る、トリガ、TPT及びAMTと、URLリストの放送ストリームと、インターネットを介した配信メカニズムについて説明し、ATSC JavaScript(登録商標)APIについて説明する。
【0049】
続いて、本発明である、TDOモデルによる送信方法及び受信装置について説明する。
【0050】
直接実行モデルについて説明した後、同様に本発明である、直接実行モデルによる送信方法及び受信装置について説明する。
【0052】
トリガは、信号通知(signaling)を識別し、対話型イベントの再生タイミングを設定する機能を担う信号通知要素である。
【0053】
トリガには、対話型サービスに関連するセグメントに対するメディア時間を示す役割を担う時間ベーストリガと、対話型サービスに関連するアプリケーションのイベント発生時刻を示す役割を担う活性化トリガとの2種類があり得る。
【0054】
トリガは、対話型サービスの支援のために、タイミングに関連する様々な機能を果たすことができる。トリガはその機能によって多機能的であってもよく、特定トリガインスタンスは、次の機能のうち一つ以上を行うことができる。
【0055】
1.TPT(放出ストリーム内のFLUTEセッション、インターネットサーバ、又はこれら両者を介して利用可能なTPT)の位置を信号通知する。
2.次のプログラムセグメントに対する対話型コンテンツがプリロードされることを示す。
3.連携するオーディオ/ビデオコンテンツ又はオーディオコンテンツの現在メディア時間を示す。
4.TPT内特定対話型イベントを参照し、当該イベントが今又は特定の未来メディア時刻に実行されなければならないということを知らせる。
5.需要が最大となることを避けるために、インターネットサーバに対する接続が特定の期間内にランダムに分散されることを示す。
【0056】
以下、トリガの動作について例を挙げて説明する。
【0057】
図2は、あらかじめ作成されたコンテンツの場合に、トリガタイミングの一実施例を示す図である。
【0058】
図2は、2つのプログラムセグメントと連携して配信されるトリガを示す。この例では、2つのセグメントとも“あらかじめ作成(pre−produce)”されるが、これは、コンテンツがライブコンテンツではなく、対話型要素はポストプロダクションで追加されたことを意味する。
【0059】
図示のように、プログラムセグメント1の発生前の短い時間に“プリロード”トリガが配信されて、受信機と連携されているTPT及び単方向コンテンツを取得できる機会を受信機に許容することができる。プリロードトリガが送信されないとき、受信機は、コンテンツを取得するために該当のセグメント内で遭遇する最初のトリガを用いるはずである。
【0060】
図示のように、トリガはSegment1を通して送信されて、当該セグメントに関する現在メディア時間(図では“m”と表記)を示すことができる。単に当該チャネルに遭遇した受信器が対話型コンテンツを同期化して取得できるようにするためにメディア時間トリガの周期的な配信が必要なことがある。
【0061】
Segment2の開始直前に当該セグメントに対するプリロードトリガが送信される。
【0062】
あらかじめ作成されたコンテンツ(非ライブ(non−live)コンテンツ)の場合、受信機が最初のトリガを処理した後に取得できるTPTは、当該セグメントに対する対話型体験のすべての要素のタイミングを定義することができる。当該受信機及びTDOが対話型要素を再生するようにするために必要なものは、メディアタイミングの知識であってもよい。このTPTはメディア時間に関して対話型イベントを記述することができる。
【0063】
図3は、ライブコンテンツの場合に、トリガタイミングの一実施例を示す図である。
【0064】
ライブコンテンツの場合にも、TPTは、別個の対話型イベントに関連するデータ及び情報を含むが、放送中にプログラム内の動作が展開するまでは、そのようなイベントの再生タイミングは知られないことがある。このようなライブの場合、トリガの“イベントタイミング”機能が活用される。このモードにおいて、トリガは、特定の対話型イベントが新しい特定メディア時間値に再設定(re−timed)されることを知らせることができる。又は、トリガは、あるイベントが直ちに実行されることを示すこともできる。
【0065】
図3で、Segment 3に対する各トリガの機能は次のとおりである。
【0066】
1番トリガは、プリロードトリガであって、セグメント3に関するファイルを得ることができるディレクトリを参照する。
【0067】
2番トリガは、メディア時間トリガであって、Segment 3に対する再生タイミングを示すために用いられる。
【0068】
3番トリガは、イベント再設定(re−timing)トリガであって、TPTでeventID=2のイベントがメディア時間240に発生するように時間が再設定されることを示す。ハッチングされた領域は、3番トリガが受信機に配信され得る240以前の期間を示す。
【0069】
4番トリガは、メディア時間トリガである。
【0070】
5番トリガは、イベント再設定トリガであって、TPTでeventID=5のイベントがメディア時間444に発生するように時間が再設定されることを示す。
【0071】
6番、7番トリガは、メディア時間トリガである。
【0072】
8番トリガは、イベントトリガであって、TPTでeventID=12のイベントが直ちに実行されることを示す。
【0073】
9番トリガは、イベント再設定トリガであって、TPTでeventID=89のイベントがメディア時間900に発生するように時間が再設定されることを示す。
【0075】
活性化メッセージ及び時間ベースメッセージは双方とも、ある送信環境で次のような一般的な“トリガ”フォーマットを有してもよい。
【0076】
ここで、構文上の定義は、代替(alternative)を指定するために垂直バーシンボル“|”が使われる場合以外は、拡張バッカスナウア記法(Augmented Backus−Naur Form、ABNF)の文法を用いて記述する。規則は等号“=”によって定義と分離され、1行を超えて規則定義を続けるときは字下げを用い、リテラルは“”で引用し、要素のグループ化には括弧“(”及び“)”を用い、選択的な要素は“[”と“]”との間に入れる。そして、要素の前に<n>
*がつくと、その次の要素のn回以上の反復を指定でき、nはデフォルト値として0に設定される。そして、要素の前に<n>
*<m>がつくと、その次にくる要素のn回以上m回以下の反復を指定することができる。
【0077】
このようなトリガ構文は、<scheme>と“://”部分を除いて、付加的な制限事項と共にURIの一般構文(Generic Syntax)に基づく。
【0078】
図4は、トリガ構文の一実施例を示す図である。
【0080】
トリガは、locator_partとtermsで構成することができる。termsは、省略可能な構成である。termsが存在するとlocator_partとtermsとを‘?’で連結することができる。
【0081】
locator_partは、hostname部分とpath_segments部分とで構成することができ、その間は‘/’で連結することができる。
【0082】
hostnameは、domainlabelとtoplabelとで構成することができ、domainlabelはその次に‘.’と共に0回以上反復され得る。すなわち、hostnameは、反復されたdomainlabelがtoplabelと連結した形態であってもよく、又は、toplabelだけで構成された形態であってもよい。
【0083】
domainlabelは、一つのalphanumからなる形態であってもよい。又は、2つのalphanumの間にalphanum又は‘−’が0回以上反復されたものが挿入された形態であってもよい。
【0084】
alphanumは、alpha又はdigitを意味することができる。
【0085】
alphaは、lowalpha又はupalphaのいずれかであってもよい。
【0086】
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のいずれか一つであってもよい。
【0087】
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のいずれか一つであってもよい。
【0088】
digitは、0、1、2、3、4、5、6、7、8、9のいずれか一つであってもよい。
【0089】
toplabelは、一つのalphaからなる形態であってもよい。又は、alphaとalkphanumとの間にalphanum又は‘−’が0回以上反復されたものが挿入された形態であってもよい。
【0090】
path_segmentsは、セグメントが一つがあり、その次にセグメントが0回以上反復されたものが続く形態であってもよい。このとき、セグメントの間は‘/’で連結することができる。
【0091】
セグメントは、alphanumが1回以上反復された形態であってもよい。
【0092】
termsは、event_time又はmedia_timeのいずれかからなる形態であってもよい。続いてspread又はothersが来てもよい。spreadとothersは省略可能な構成であってもよい。spread及びothersが存在すると、これは‘&’を前に置いている形態であって、event_time又はmedia_timeの次に位置することができる。
【0093】
spreadは、‘s=’の次にdigitが1回以上反復されたものが続く形態であってもよい。
【0094】
event_timeは、‘e=’の次にdigitが1回以上反復されたものが続く形態であってもよい。又は、その後、‘&t=’の次にhexdigitが1回以上7回以下反復されたものが続く形態であってもよい。‘&t=’とその次の部分は省略可能な構成であってもよい。
【0095】
hexdigitは、0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、fのいずれか一つであってもよい。
【0096】
media_timeは、‘m=’の次にhexdigitが1回以上7回未満反復されたものが続く形態であってもよい。
【0097】
othersは、一つのotherからなる形態であってもよい。又は、その次に‘&’とotherが追加された形態であってもよい。
【0098】
otherは、resv_cmdとalphanumが1回以上反復されたものとが‘=’によって連結された形態であってもよい。
【0099】
resv_cmdは、‘c’、‘e’、‘E’、‘m’、‘M’、‘s’、‘S’、‘t’、‘T’を除くalphanumであってもよい。
【0100】
トリガの長さは52バイトを超えてはならない。そして、トリガのhostname部分は、登録されたインターネットドメイン名であってもよい。
【0101】
トリガは、3つの部分からなることがわかる。
【0102】
<domain name part>/<directory path>[?<parameters>]
【0103】
<domain name part>は、登録されたドメイン名であり、<directory path>は、ドメイン名がURIにおいて出現するようになる経路であってもよい。
【0104】
<domain name part>は、登録されたインターネットドメイン名を参照することができる。<directory path>は、識別されたドメイン名に対する権限を持つエンティティの制御及び管理下でディレクトリ経路を識別する任意の文字列であってもよい。
【0105】
TDOモデルで、<domain name part>と<directory path>との組合せは、連携するコンテンツに対話性を追加するために受信機によって処理され得るTPTを一意に識別することができる。
【0106】
<domain name part>と<directory path>との組合せは、現在セグメントに対するTPTが得られるインターネット位置のURLであってもよい。
【0107】
すなわち、トリガは、<domain name part>及び<directory path>を用いてTPTを識別することができ、これによってトリガの適用されるTPTがわかる。当該triggerがTPTに適用されてどのような役割を果たすかは、<parameters>部分による。
【0108】
以下、<parameters>部分について説明する。
【0109】
<parameters>は、“event_time”、“media_time”、又は“spread”の一つ以上で構成することができる。
【0110】
次は、
図4に示した構文において“event_time”、“media_time”、“spread”に関する部分である。
【0111】
event_time ="e="1*digit["&t="1*7hexdigit]
【0112】
media_time ="m="1*7hexdigit
【0113】
spread ="s="1*digit
【0114】
“event_time”項は、対象とされたイベント(“e=”項)と当該イベントが活性化されるべき時間(“t=”項)を識別するために活性化トリガにおいて用いることができる。“t=”項がないときは、トリガが到達する時間にイベントが活性化されなければならないことを意味する。
【0115】
すなわち、対話型イベントID項である“e=”は、当該イベントの対象であるTDOの連携するTPT内のappID、当該特定イベントのeventide、及びこのイベント活性化のために用いられるデータ要素のdataIDを参照することができる、
【0116】
選択的なタイミング値項である“t=”は、指定されたイベントのための新しいメディアタイミングを示すことができる。“t=”部分が存在しないときは、指定されたイベントのためのタイミングがトリガの到達時刻であることを意味することができる。
【0117】
“media_time”項(“m=”項)は、時間ベーストリガによって示される時間ベースに対する現在時間を識別するために時間ベーストリガにおいて用いることができる。そして、現在表れているコンテンツを識別できるコンテンツ識別子情報(“c=”項)がmedia_timeに更に含まれてもよい。“c=”項については、直接実行モデルに関する説明で後述する。
【0118】
すなわち、“m=”は、その次に16進数を表示する1乃至8文字長の文字列が続くメディア時間スタンプ項であって、現在のメディア時間を示すことができる。
【0119】
“spread”項は、サーバ上で作業負荷が分散するように、時間ベーストリガに応答してなされる動作(サーバからのTPTの検索のような動作)又は活性化トリガに応答してなされる動作(TDOをサーバに接続させるような動作)が、ランダムな時間だけ遅延されなければならないということを示すために用いることができる。
【0120】
“s=”項は、すべての受信機がトリガで識別されたインターネットサーバに接続を試みるべき秒単位の時間数を示すことができる。それぞれの個別受信機が、指定された区間内でランダムな時間を導出して、該当する量だけ接続要求を遅延させることによって、受信機でトリガが初めて現れるときに発生し得る需要の最大値を時間上で分散させると考えることができる。
【0121】
<media time>パラメータを含むトリガは、イベント時刻に対する時間ベースを設定するために用いられるため、時間ベーストリガと呼ぶこともできる。
【0122】
<event time>パラメータを含むトリガは、イベントに対する活性化時刻を設定するため、活性化トリガと呼ぶこともできる。
【0123】
以下、TDOのライフサイクル及び状態、状態変化イベントについて説明する。
【0124】
TDOは、解放(Released)、実行可能(Ready)、実行中(Active)、及び中止(Suspended)の異なった4つの状態で存在することができる。多数の異なる要素(トリガ、ユーザ動作、変更されるチャネルなど)が一つの状態から他の状態への変動を引き起こし得る。
【0125】
TDOは、次の4つの状態を有してもよい。
【0126】
1.Ready − ダウンロードされて実行準備ができているが、まだ実行されていない
2.Active − 実行中である
3.Suspended − 状態が記憶され、一時的に実行が中止される
4.Released − 実行可能、実行中又は中止状態でない
【0127】
TDOの状態変化を起こし得るイベントの例には次のものがある。
【0128】
1.“prepare”をトリガする − 装置は、TDOが実行(資源割当、主メモリへのロードなど)をするように準備されることを要求するトリガを(現在選択された1次仮想チャネルで)受信する。
2.“execute”をトリガする − 装置は、TDOが活性化されることを要求するトリガを(現在選択された1次仮想チャネルで)受信する。
3.“suspend”をトリガする − 装置は、TDOの中止を示すトリガを(現在選択された1次仮想チャネルで)受信する。
4.“kill”をトリガする − 装置は、TDOの終了を示すトリガを(現在選択された1次仮想チャネルで)受信する。
【0130】
TDOパラメータテーブル(TPT)は、一つのセグメントのTDO及びそれらの対象であるイベントに関するメタデータを含む。
【0131】
図5及び
図6は、TDOパラメータテーブルの一実施例を示す図である。
【0132】
以下、テーブルに含まれる各フィールドについて説明する。各フィールドの大きさとテーブルに含み得るフィールドの種類は設計者の意図によって追加又は変更してもよい。
【0133】
TPT構造内のフィールドの具体的な意味(semantics)は次のとおりである。
【0134】
TDOパラメータテーブル(TPT)は、@majorProtocolVersion、@minorProtocolVersion、@id、@tptVersion、@expireDate、@updatingTime、@serviceID、@baseURL属性、Capabilities、ライブトリガ(LiveTrigger)、及び/又はTDO要素を含むことができる。
【0135】
TPTは、当該TPTのルート要素である。一つのTPT要素は、一つのプログラムセグメントの(時間上での)全体又は一部分を記述する。
【0136】
4ビット属性であってもよい@MajorProtocolVersionは、テーブル定義のメジャーバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートしないメジャーバージョン値を示すTPTのインスタンスを捨てると予想され得る。
【0137】
4ビット属性であってもよい@MinorProtocolVersionが存在する場合、テーブル定義のマイナバージョン番号を示すことができる。存在しない場合、その値は0にデフォルトすることができる。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン番号値を示すTPTのインスタンスを捨てないと予想される。この場合、受信機はそれらがサポートしない個別要素又は属性を無視すると予想される。
【0138】
URIである@idは、当該TPT要素に関連する対話型プログラムセグメントを一意に識別することができる。
【0139】
8ビット整数であってもよい@tptVersionは、id属性によって識別されるtpt要素のバージョン番号を示すことができる。tptVersionは、TPTが変更されるごとに増加(increment)してもよい。
【0140】
TPT要素の@expireDate属性は、存在する場合、当該TPTインスタンスに含まれた情報の満了日及び時刻を示すことができる。受信機がTPTをキャッシュに記憶したときは、満了日まで再使用することができる。
【0141】
16ビット要素であってもよい@updatingTimeは、存在する場合、TPTが修正されることを示すことができ、TPTを再びダウンロードするための秒単位の推薦区間を提供し、新しくダウンロードしたTPTが新しいバージョンであるか否か確認する。
【0142】
16ビット要素であってもよい@serviceIDは、存在する場合、このTPTインスタンスで記述された対話型サービスと連携するNRTservice_idを示すことができる。これは、この対話型サービスのためのファイルが放送ストリームで配信されるとき、受信機がサービスマップテーブルからFLUTEパラメータを得るために必要である。
【0143】
@baseURL属性は、存在する場合、当該TPTで出現する任意の相対URLの前につくと、基礎URLを提供することができる。この属性は、ファイルの絶対URLを提供することができる。
【0144】
Capabilities要素は、存在する場合、当該TPTと連携する対話型サービスの意味ある提示のために必須である能力を示すことができる。要求される能力のうち一つ以上を持たない受信機はサービスの提示を試みないと予想される。
【0145】
LiveTriggerは、インターネットを介した活性化トリガの配信が利用可能な場合にだけ存在する。存在する場合、活性化トリガを得るために受信機で必要とする情報を提供することができる。
【0146】
LiveTriggerの子要素及び属性については後述する。
【0147】
TPT要素の子要素であるTDOは、当該TPTインスタンスによって記述されたセグメントの間に対話型サービスの一部を提供するアプリケーション(例えば、TDO)を示すことができる。
【0148】
TDOの子要素及び属性については後述する。
【0149】
@idの場合、セグメントの識別子の役割を担う。したがって、受信端でTPTをパースした後に、@id情報を用いて、あるセグメントと連携するトリガ又はAMTなどを、そのセグメントを識別する@idを有するTPTと対照することができる。したがって、トリガ及びAMTの適用されるセグメントを探すことが可能になる。AMTに関する詳細な内容は後述する。
【0150】
LiveTrigger要素は、@URL及び@pollPeriod属性を含むことができる。
【0151】
上述したとおり、LiveTrigger要素は、インターネットを介した活性化トリガの配信が利用可能な場合にだけ存在する。存在する場合、活性化トリガを得るために受信機で必要とする情報を提供することができる。
【0152】
LiveTrigger要素の属性である@URLは、インターネットを介して活性化トリガを配信し得るサーバのURLを示すことができる。活性化トリガは、対話型サービスプロバイダの選択によって、HTTPショートポーリング、HTTPロングポーリング、又はHTTPストリーミングを用いてインターネットを介して配信することができる。
【0153】
LiveTrigger要素の属性である@pollPeriodは、存在する場合、活性化トリガの配信のためにショートポーリングが使用中であることを示すことができ、pollPeriod属性値は、受信機がポーリング周期として用いる秒単位の推薦時間を示すことができる。
【0154】
LiveTrigger要素が存在する場合、受信機は、当該TPTをパースして、活性化トリガをインターネットを用いて配信するための情報を得ることができる。@URL情報から、活性化トリガを配信してもらえるサーバのURLを得ることができる。@pollPeriod情報から、又は@pollPeriod属性が存在しないという情報から、活性化トリガがインターネットを介して配信される方式及びポーリング周期に関する情報を得ることができる。@pollPeriodの詳細な説明は後述する。
【0155】
TDO要素は、@appID、@appType、@appName、@globalID、@appVersion、@cookieSpace、@frequencyOfUse、@expireDate、@testTDO、@availInternet、@availBroadcast属性と、URL、Capabilities、Contentitem、及び/又はEvent要素を含むことができる。
【0156】
上述したとおり、TPT要素の子要素であるTDOは、当該TPTインスタンスによって記述されたセグメントの間に対話型サービスの一部を提供するアプリケーション(例えば、TDO)を示すことができる。
【0157】
16ビット整数であってもよい@appIDは、TPT範囲内でアプリケーションを一意に識別することができる。活性化トリガはappIDを参照してトリガに対する対象アプリケーションを識別することができる。@appIDの場合、アプリケーションの識別子である。一つのTPTには複数のアプリケーション(TDOのようなアプリケーション)があってもよい。したがって、TPTをパースした後に@appID情報を用いてアプリケーションを識別することができる。あるアプリケーションに適用されるトリガ又はAMTなどを、そのアプリケーションを識別する@appIDを有するアプリケーションと対照させることができる。したがって、トリガ及びAMTの適用されるアプリケーションを探すことが可能になる。AMTに関する詳細な内容は後述する。
【0158】
8ビット整数であってもよい@appTypeは、アプリケーションフォーマット類型を示すことができる。デフォルト値は1に設定することができ、この値はTDOを示すことができる。他の値は他のフォーマットを示すことができる。
【0159】
TDO要素の属性である@appNameは、アプリケーションを開始するために視聴者の許可を求めるとき、視聴者に表示し得る人間にとって読み取り可能な名前であってもよい。
【0160】
TDO要素の属性である@globalIDは、アプリケーションの大域的に一意な識別子であってもよい。多くの場合に、受信機は近いうちに再び用いるアプリをキャッシュに記憶する。このことが有用となるには、受信機は当該アプリが将来に出現したときそれを認識できなければならない。当該アプリが新しいセグメントで再び出現したとき、受信機がそれを認識できるようにするためにglobalIDが必要である。
【0161】
TDO要素の属性である@appVersionは、アプリケーションのバージョン番号であってもよい。appVersion値は、当該アプリケーション(globalIDによって識別されたアプリケーション)が変更されるごとに増加してもよい。appVersion属性は、globalID属性が存在しない限り存在することができない。
【0162】
8ビット整数であってもよい@cookieSpaceは、各呼出し(invocation)間に永続データ(persistent data)を記憶するためにアプリケーションがどれくらい多くの空間を必要とするかを示すことができる。
【0163】
4ビット整数であってもよい@frequencyOfUseは、受信機にそのアプリケーションコードキャッシュ空間の管理に関する案内を提供するために概略的にどれくらい頻繁に当該アプリケーションが放送で使われるかを示すことができる。‘@frequencyOfUse’の詳細な説明は後述する。
【0164】
TDO要素の属性である@expireDateは、受信機が当該アプリケーション及び関連する資源を安全に削除できる日付及び時刻を示すことができる。
【0165】
ブールの(Boolean)属性である@testTDOは、その値が“true”として存在する場合、当該アプリケーションがテスト用であり、一般受信機では無視してもよいことを示すことができる。
【0166】
@availInternet属性に対する“true”値は、当該アプリケーションがインターネットを介したダウンロード用に利用可能であることを示すことができる。その値が“false”のとき、当該アプリケーションがインターネットを介したダウンロード用に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
【0167】
@availBroadcast属性に対する“true”値は、当該アプリケーションが放送からの抽出に利用可能であることを示すことができる。“false”値は、当該アプリケーションが放送からの抽出に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
【0168】
TDO要素の子要素であるURLの各インスタンスは、当該アプリケーションの一部であるファイルを識別することができる。インスタンスURL要素は@entry属性を含むことができる。
【0169】
URL要素の属性である@entryは“true”値を有すると、当該URLが当該アプリケーションのエントリポイント、すなわち、当該アプリケーションを開始するために開始され得るファイルであることを示すことができる。“false”値を有すると、当該URLが当該アプリケーションのエントリポイントでないことを示すことができる。当該属性が出現しないとき、デフォルト値は“false”であってもよい。
【0170】
TDO要素の子要素であるURL要素は、上述したとおり、当該アプリケーションをなすファイルを識別する。受信端ではTPTをパースして当該URL情報を得た後、それを用いてサーバに接続して、当該URL情報が示すアプリケーションをダウンロードすることとなる。
【0171】
TDO要素の子要素であるCapabilitiesは、存在する場合、当該アプリケーションの意味ある提示のために必須である能力を示すことができる。。要求される能力のうち一つ以上を持たない受信機は当該アプリケーションの開始を試みないと予想される。
【0172】
TDO要素の子要素であるContentItemは、当該アプリケーションで必要とする一つ以上のデータファイルで構成されたコンテンツアイテムを示すことができる。ContentItem要素は、この要素の属しているTDO要素が示すアプリケーションが必要とするデータファイルに関する情報を有する。受信端ではパースを行った後、ContentItem要素が存在する場合、ContentItem内のURL情報などを用いて、当該アプリケーションが必要とするデータファイルをダウンロードすることができる。ContentItemの子要素及び属性については後述する。
【0173】
TDO要素の子要素であるEventは、当該アプリケーションのためのイベントを示すことができる。Event要素は、この要素の属しているアプリケーションのイベントを示す。いかなるイベントを有しているか、該当データにはどのようなものがあるか、該当動作にはどのようなものがあるか等に関する情報を含んでいる。これをパースして受信端ではアプリケーションのイベントに関する情報を得ることができる。Eventの子要素及び属性については後述する。
【0174】
受信端でTPTを受けてパースすると、TDO及び上述したTDOの子要素及び属性の情報を得ることができる。
【0175】
TDO要素の子要素の一つである、contentItem要素は、@updateAvail、@pollPeriod、@size、@availInternet、@availBroadcastattribute及び/又はURL要素を含むことができる。
【0176】
ここで、URL要素は@entry属性を含むことができる。
【0177】
ContentItem要素の子要素であるURLの各インスタンスは、コンテンツアイテムの一部であるファイルを識別することができる。URL要素は@entry属性を含むことができる。
【0178】
URL要素の属性である@entryは、“true”値を有するとき、該当URLが当該コンテンツアイテムのエントリポイント、すなわち、当該コンテンツアイテムを開始するために開始され得るファイルであることを示すことができる。“false”値を有するときは、当該URLが当該コンテンツアイテムのエントリポイントでないことを示すことができる。当該属性が出現しないとき、デフォルト値は“false”であってもよい。
【0179】
ContentItem要素のブールのである@updatesAvailは、当該コンテンツアイテムがたまに更新されるか否か、すなわち、コンテンツアイテムが静的ファイル(static file)で構成されるか、それとも、当該アイテムが実時間データ供給(feed)であるかを示すことができる。その値が“true”のとき、当該コンテンツアイテムは時々更新され、その値が“false”のとき、当該コンテンツアイテムは更新されない。この属性が出現しないと、デフォルト値は“false”であってもよい。
【0180】
ContentItem要素の属性である@pollPeriodは、updatesAvail属性の値が“true”の場合にだけ存在することができる。@pollPeriodが存在する場合、活性化トリガを配信するためにショートポーリングが用いられていることを示すことができ、@pollPeriod属性の値は、受信機がポーリング周期として使用するための秒単位の推薦時間を示すことができる。
【0181】
ContentItem要素の属性である@Sizeは、当該コンテンツアイテムの大きさを示すことができる。
【0182】
@availInternet属性は、その値が“true”のとき、当該コンテンツアイテムがインターネットを介したダウンロードに利用可能であることを示すことができる。その値が“false”のとき、当該コンテンツアイテムがインターネットを介したダウンロードに利用可能でないことを示すことができる。この属性が存在しない場合、デフォルト値は“true”であってもよい。”
【0183】
@availBroadcast属性は、その値が“true”のとき、当該コンテンツアイテムが放送からの抽出に利用可能であることを示すことができる。“false”値は、当該コンテンツアイテムが放送からの抽出に利用可能でないことを示すことができる。属性が存在しない場合、デフォルト値は“true”であってもよい。
【0184】
受信端ではパースを行った後、ContentItem内のURL情報などを用いて、当該アプリケーションが必要とするデータファイルをダウンロードすることができる。この過程で上述したその他属性による情報を用いることができる。
【0185】
TDO要素の子要素の一つである、Event要素は、@eventID、@action、@destination、@diffusion属性、及び/又はData要素を含むことができる。ここでData要素は@dataID属性を含むことができる。
【0186】
Event要素の16ビット整数属性である@eventIDは、これを含むTDO要素の範囲内で当該イベントを一意に識別することができる。活性化トリガ(又は、AMT内活性化要素)は、appIDとeventIDとの組合せによって当該トリガに対する対象アプリケーション及びイベントを識別することができる。イベントが活性化されると、受信機は当該イベントを当該アプリケーションに配信することができる。
【0187】
Event要素の属性である@actionは、当該イベントが活性化されるときに適用される動作の類型を示すことができる。許容される値は、“prep”、“exec”、“susp”及び“kill”であってもよい。
【0188】
“prep”は、“Trig prep”動作に対応できる。対象となったアプリケーションの状態が“Released”のとき、この動作は“Ready”への状態変更を起こすことができる。
【0189】
“exec”は、“Trig exec”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態は“Active”になり得る。
【0190】
“susp”は、“Trig susp”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態が“Active”である場合、“Suspended”に変更可能であり、そうでない場合は変更されない。
【0191】
“kill”は、“Trig kill”動作に対応できる。このトリガを受信すると、対象となったアプリケーションの状態は“Released”になり得る。
【0192】
Event要素の属性である@destinationは、当該イベントの対象装置を示すことができる。@destinationに関する詳細な内容は後述する。
【0193】
Event要素の8ビット整数属性であってもよい@diffusionは、存在する場合、秒単位の時間周期Tを示すことができる。この拡散パラメータの目的は、サーバ負荷の最大値を均一にすることである。受信機は0〜Tの範囲で10ミリ秒単位でランダム時間を算出し、TPTでURLによって参照されたコンテンツを検索するためにインターネットサーバに接続する前にこの時間量だけ遅延されると予想され得る。
【0194】
Event要素の子要素であるDataは、存在する場合、当該イベントに関連するデータを提供することができる。Eventの別個の活性化は、それらと連携する異なるData要素を有してもよい。ここで、Data要素は@dataID属性を含むことができる。
【0195】
16ビット整数属性である@dataIDは、これを含むEvent要素の範囲内でData要素を一意に識別することができる。イベントの活性化がこれと連携するデータを持つ場合、活性化トリガは、AppID、EventID及びDataIDの組合せによって該当Data要素を識別することができる。
【0196】
Event要素は、属しているTDO要素が示すアプリケーションに対するイベントに関する情報を含んでいる。受信端ではEvent要素をパースしてその情報を得ることができる。
【0197】
@eventIDの場合、イベントの識別子の役割を担う。@eventID情報を用いて、そのイベントを活性化しようとする関連したトリガ又はAMTなどをそのイベントを識別する@eventIDを有するアプリケーションと一致させることができる。すなわち、活性化トリガ(又は、AMT内活性化要素)はappIDとeventIDとの組合せによって、当該トリガに対する対象アプリケーションを識別することができる。イベントが活性化されると、受信機はそのイベントを当該アプリケーションに渡すことができる。AMTに関する詳細な内容は後述する。
【0198】
@actionは、当該イベントが活性化されるときに適用される動作の類型を示すことができる。
【0199】
Data要素の場合、当該イベントに用いられるデータを意味する。一つのイベント要素は複数のデータ要素を有してもよい。データ要素の@dataID属性を用いてデータの識別をする。受信端では該当データに関連するイベントが活性化された場合、活性化トリガ(又は、AMT内活性化要素)は、AppID、EventID、及びDataIDの組合せによってData要素を識別することができる。AMTに関する詳細な内容は後述する。
【0200】
図7は、‘Frequency of Use’属性値の意味の一実施例を示す図である。
【0201】
“意味”列は、当該アプリケーションを含むセグメントの発生頻度を示す。(もちろん、一つのセグメント内で一つの属性が複数回出現可能である。)frequencyOfUse属性は、globalIDが存在しなければ存在することができない。アプリがキャッシュに記憶されて後で用いられるとすき、受信機は、該当アプリが後で再び出現すると、同一のアプリとして認識しなければならない。そのためにglobalId属性が必要である。
【0202】
図8は、‘destination’属性値の意味の一実施例を示す図である。
【0203】
図8に示すように、目的地属性の値が0のときに予約され、1のときに主装置だけを意味し、2のときに一つ以上の補助装置だけを意味し、3のときに主装置及び/又は一つ以上の補助装置を意味することができる。
【0205】
これは、上述したTPT構造の2進フォーマットである。この構造は、NRTでTPTを送信する場合に必要なフォーマットであって、TPTのXML構造をNRTで送信するのに適するように作成しておいたものである。TPTのXMLバージョンに含まれた次の要素及び/又は属性、すなわち、@protocolVersion(major/minor)、@serviceID及び@tptVersionは、2進テーブルを配信するためのカプセル化ヘッダ(encapsulation header)によって放送ストリームで提供できるため、2進バージョンから省略することができる。
【0206】
フィールドの意味は、次のとおりである。
図9、
図10、
図11、
図12、
図13の順に続くTDOパラメータテーブルの2進フォーマットにおいて、上から下に出現する順に記述した。
【0207】
1ビットフィールドであってもよいexpire_date_includedは、expire_datefieldが含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味でき、その値が‘0’のとき、含まれないことを意味する。
【0208】
5ビットフィールドであってもよいsegment_id_lengthは、segment_idのバイト長を示すことができる。
【0209】
可変長フィールドであるsegment_idは、セグメントIDのバイトを含むことができるが、これは、TPTXMLフォーマットの“id”属性と同じ意味を有してもよい。
【0210】
8ビットフィールドであってもよいbase_URL_lengthは、base_URLフィールドのバイト長を示すことができる。
【0211】
可変長フィールドであるbase_URLはベースURLのバイトを含むことができるが、これは、TPTXMLフォーマットのbaseURL属性と同じ意味を有してもよい。
【0212】
32ビットフィールドであってもよいexpire_dateは、当該TPTインスタンスに含まれた情報の満了日及び時刻を示すことができる。受信機がTPTをキャッシュに記憶すると、満了日まで再使用することができる。符号無し整数は、1980年1月6日00:00:00 UTC以後、GPS秒の値からGPS−UTC_offsetを引いたものと解釈することができる。GPS UTCオフセットは、GPSとUTC時刻標準との間の現在の全体秒単位オフセットを定義する8ビット符号無し整数であってもよい。
【0213】
8ビットフィールドであってもよいtrigger_server_URL_lengthは、trigger_server_URLフィールドのバイト長を示すことができる。このフィールドの値が0のとき、個々の活性化トリガのインターネット配信が利用可能でないことを示すことができる。
【0214】
trigger_server_URL_lengthフィールドが0でなければ、trigger_server_URLは、Trigger Server URLのバイトを含むことができ、これはTPTXMLフォーマットのLiveTrigger要素のURL属性と同じ意味を有してもよい。
【0215】
1ビットフィールドであってもよいtrigger_delivery_typeは、インターネットを介した個別活性化トリガの配信モードを示すことができる、‘0’値を有するときは、HTTPショートポーリングが使用中であることを示すことができ、‘1’値を有するときは、HTTPロングポーリング又はHTTPストリーミングが使用中であることを示すことができる。
【0216】
8ビット整数であってもよいpoll_periodは、HTTPショートポーリングが使用中であるとき、ポーリング間の推奨される秒の数を示すことができる。
【0217】
8ビットフィールドであってもよいnum_apps_in_tableは、当該TPTインスタンスで記述されたアプリケーション(TDO)の数を示すことができる。
【0218】
16ビットフィールドであってもよいapp_idは、当該アプリケーション(num_apps_in_tableループの反復で記述されるアプリケーション)に対する識別子を含むことができる。これは、当該TPTインスタンス内で固有であってもよい。
【0219】
1ビットフィールドであってもよいapp_type_includedは、app_typeフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0220】
1ビットフィールドであってもよいapp_name_includedは、app_nameフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0221】
1ビットフィールドであってもよいglobal_id_includedは、global_idフィールドが当該アプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0222】
1ビットフィールドであってもよいapp_version_includedは、app_versionフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0223】
1ビットフィールドであってもよいcookie_space_includedは、cookie_spaceフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0224】
1ビットフィールドであってもよいfrequency_of_use_includedは、frequency_of_useフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0225】
1ビットフィールドであってもよいexpire_date_includedは、expire_dateフィールドがこのアプリケーションに対して含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味し、その値が‘0’のとき、含まれないことを意味する。
【0226】
8ビットフィールドであってもよいapp_typeは、存在する場合、このアプリケーションのフォーマット類型を示すことができる。その値が0のとき、そのアプリケーションがTDOであることを示すことができる。このフィールドが存在しない場合、その値は0にデフォルトされる。他の値は他のフォーマットを示すことができる。
【0227】
8ビットフィールドであってもよいapp_name_lengthは、存在する場合、その直後にくるapp_nameフィールドのバイト長を示すことができる。このフィールドの値が0のとき、該当アプリケーションのためのapp_nameフィールドが存在しないことを示すことができる。
【0228】
可変長フィールドであるapp_nameは、TPT XMLフォーマットであるTDO要素のappName属性と同じ意味を有してもよい。
【0229】
8ビットフィールドであってもよいglobal_id_lengthは、その直後にくるglobal_idフィールドのバイト長を示すことができる。このフィールド値が0のとき、当該アプリケーションのためのglobal_idフィールドが存在しないことを示すことができる。
【0230】
可変長フィールドであるglobal_idは、TPT XMLフォーマットのTDO要素のglobalId属性と同じ意味を有してもよい。
【0231】
8ビットフィールドであってもよいapp_versionは、TPT XMLフォーマットのTDO要素のappVersion属性と同じ意味を有する。
【0232】
8ビットフィールドであってもよいcookie_spaceは、TPT XMLフォーマットのTDO要素のcookieSpace属性と同じ意味を有してもよい。
【0233】
8ビットフィールドであってもよいfrequency_of_useは、存在する場合、TPT XMLフォーマットのTDO要素のfrequencyOfUse属性と同じ意味を有してもよい。
【0234】
8ビットフィールドであってもよいexpire_dateは、TPT XMLフォーマットのTDO要素のexpireDate属性と同じ意味を有してもよい。
【0235】
1ビットフィールドであってもよいtest_appは、当該アプリケーションが一般受信機に無視されるようになっているテストアプリケーションであるか否かを示すことができる。その値が‘1’のとき、テストアプリケーションであることを意味でき、その値が‘0’のとき、テストアプリケーションでないことを意味する。
【0236】
1ビットフィールドであってもよいavailable_on_internetは、当該アプリケーションがインターネットを介して利用可能か否かを示すことができる。その値が‘1’のとき、インターネットを介して利用可能であることを意味でき、その値が‘0’のとき、インターネットを介して利用可能でないことを意味する。
【0237】
1ビットフィールドであってもよいavailable_in_broadcastは、当該アプリケーションが放送を介して利用可能か否かを示すことができる。その値が‘1’のとき、放送を介して利用可能であることを意味でき、その値が‘0’のとき、放送を介して利用可能でないことを意味する。
【0238】
4ビットフィールドであってもよいnumber_URLsは、当該アプリケーションを含むファイルの数を示すことができる。
【0239】
8ビットフィールドであってもよいURL_lengthは、それに続くURLフィールドの長さを示すことができる。
【0240】
可変長フィールドであるURLは、TPT XMLフォーマットであるTDO要素のURL属性と同じ意味を有してもよい。
【0241】
8ビットフィールドであってもよいnumber_content_itemsは、このアプリケーションによる使用のためにダウンロードしなければならないコンテンツアイテムの数を示すことができる。
【0242】
1ビットフィールドであってもよいupdates_availは、このコンテンツアイテムがたまに更新される否か、すなわち、コンテンツアイテムが固定ファイルの集合であるか、それとも、実時間データフィードであるかを示すことができる。その値が‘1’のとき、更新されることを示すことができ、その値が‘0’のとき、更新されないことを示すことができる。
【0243】
1ビットフィールドであってもよいavail_internetは、このコンテンツアイテムを含むファイルを、インターネットを介してダウンロードできるか否かを示すことができる。その値が‘1’のとき、インターネットを介したダウンロードに利用可能であることを意味でき、その値が‘0’のとき、インターネットを介したダウンロードに利用可能でないことを意味する。
【0244】
1ビットフィールドであってもよいavail_broadcastは、このコンテンツアイテムを含むファイルを、放送を介してダウンロードできるか否かを示すことができる。その値が‘1’のとき、放送を介したダウンロードに利用可能であることを意味でき、その値が‘0’のとき、放送を介したダウンロードに利用可能でないことを意味する。
【0245】
1ビットフィールドであってもよいcontent_size_includedは、このアプリケーションのためにcontent_sizeフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、当該フィールドが含まれることを意味でき、その値が‘0’のとき、含まれないことを意味する。
【0246】
4ビットフィールドであってもよいnumber_URLsは、このコンテンツアイテムを含むファイルの数を示すことができる。
【0247】
8ビットフィールドであってもよいURL_lengthは、それに続くURLフィールドの長さを示すことができる。
【0248】
可変長フィールドであるURLは、TPT XMLフォーマットであるTDO要素の子要素であるContentItemのURL属性と同じ意味を有してもよい。
【0249】
24ビットフィールドであってもよいcontent_sizeは、TPT XMLフォーマットであるTDO要素の子要素であるContentItemのcontentSize属性と同じ意味を有してもよい。
【0250】
8ビットフィールドであってもよいnum_content_descriptorsは、その直後にくる記述子ループ内のコンテンツ記述子の数を示すことができる。
【0251】
可変長フィールドであるcontent_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該コンテンツアイテムに関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このコンテンツアイテムの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
【0252】
8ビットフィールドであってもよいnumber_eventsは、このTDOに対して定義されたイベントの数を示すことができる。
【0253】
16ビットフィールドであってもよいevent_idは、当該イベント(number_eventsループの反復で記述されたイベント)のための識別子を含むことができる。このフィールドは、当該アプリケーションの範囲内で唯一であってもよい。当該イベントはapp_idとevent_idとの組合せによって活性化トリガ内で参照してもよい。
【0254】
5ビットフィールドであってもよいactionは、TPT XMLフォーマットであるTDO要素のEvent子要素のaction属性と同じ意味を有してもよい。
【0255】
1ビットフィールドであってもよいdestination_includedは、当該イベントのためにdestinationフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
【0256】
1ビットフィールドであってもよいdiffusion_includedは、当該イベントのためにdiffusionフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
【0257】
1ビットフィールドであってもよいdata_includedは、当該イベントのためにdata_sizeとdata_bytesフィールドが含まれるか否かを示すことができる。その値が‘1’のとき、このフィールドらが含まれることを示すことができ、その値が‘0’のとき、含まれないことを示すことができる。
【0258】
destinationフィールドの意味は、存在する場合、TPT XMLフォーマットであるTDO要素のEvent子要素のdestination属性の意味と同一であってもよい。
【0259】
diffusionフィールドの意味は、存在する場合、TPT XMLフォーマットであるTDO要素のEvent子要素のdiffusion属性の意味と同一であってもよい。
【0260】
data_sizeフィールドは、存在する場合、その直後にくるdata_bytesフィールドの大きさを示すことができる。
【0261】
data_bytesフィールドは、存在する場合、当該イベントに関連するデータを提供することができる。当該イベントが活性化されるごとに対象アプリケーションはそのデータを読み取り、それを用いて所望の動作の実行を助けることができる。このフィールドは、生(raw)の2進値を含み得るということを除けば、その内容がTPT XMLフォーマットである該当のTDO要素の該当のEvent子要素の該当のData子要素の内容と同一であってもよく、TPT XMLフォーマットであるこのData要素はその2進値のベース64符号化を含むことができる。
【0262】
8ビットフィールドであってもよいnum_app_descriptorsは、その直後にくる記述子ループ内の記述子の数を示すことができる。
【0263】
可変長フィールドであるapp_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該アプリケーション(TDO)に関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このアプリケーションの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
【0264】
8ビットフィールドであってもよいnum_TPT_descriptorsは、その直後にくる記述子ループ内の記述子の数を示すことができる。
【0265】
可変長フィールドであるTPT_descriptor()は、MPEG−2記述子フォーマット(タグ、長さ、データ)に従う記述子であってもよい。このフィールドは、当該TPTに関する付加情報を提供することができる。この記述子ループに含み得る記述子の中に、このTPTによって示される対話型サービスの意味ある提示のために必要な受信機能力を示すCapabilities記述子があってもよい。
【0266】
図14は、活性化メッセージテーブル構造の一実施例を示す図である。以下、テーブルに含まれる各フィールドについて説明する。各フィールドの大きさとテーブルに含み得るフィールドの種類は、設計者の意図によって追加又は変更してもよい。
【0268】
活性化メッセージテーブル(Activation Messages Table、AMT)は、セグメントのための活性化トリガに相応するものを含むことができる。ある環境では活性化トリガに代えてこのAMTが受信機に配信してもよい。トリガは、“live trigger”サーバによって、ACRサーバによってAMTを介して字幕ストリームで配信してもよい。
【0269】
AMT構造内のフィールドの具体的な意味は、次のとおりである。
【0270】
AMTは、@majorProtocolVersion、@minorProtocolVersion、@segmentId、@beginMT属性、及び/又はActivation要素を含むことができる。
【0271】
AMT要素の4ビット属性であってもよい@majorProtocolVersionは、AMT定義のメジャーバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートするように備えられていないメジャーバージョン値を示すAMTのインスタンスを捨てると予想され得る。
【0272】
AMT要素の4ビット属性であってもよい@minorProtocolVersionは、存在する場合、AMT定義のマイナバージョン番号を示すことができる。存在しない場合、その値は0にデフォルトすることができる。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン値を示すAMTのインスタンスを捨てないと予想され得る。この場合、受信機はそれらがサポートしない個別要素又は属性を無視すると予想してもよい。
【0273】
AMTの識別子である@segmentIDは、AMT内Activationが適用されるアプリケーション及びイベントを含むTPTの識別子と対照される。
【0274】
AMT要素の属性である@beginMTは、存在する場合、AMTインスタンスが活性化時刻を提供するセグメントのメディア時間の開始を示すことができる。
【0275】
AMTのActivation要素の各インスタンスは、あるイベントをこのイベントと連携するあるデータと共にある時刻に活性化する命令を示すことができる。
【0276】
@segmentIdは、AMTの識別子の役割を担うことができる。したがって、受信端でAMTを受信した後にこれをパースし、@segmentId情報を用いてAMTを識別することができる。@segmentIdは、AMTがどのセグメントに適用されるべきかに関する情報を含んでおり、そのセグメントに関連するTPTが有している@idと対照されてAMTとTPTとを連結する役割を担うことができる。さらに、まず当該segmentを識別することによって、AMT内のそれぞれのActivation要素が対象とするTDO、イベントを識別するために必要な基本的な情報を提供することができる。
【0277】
@beginMTは、属しているAMTが適用されるセグメントに対してメディア時間の開始を示すことができる。これによって、Activation要素が示す活性化が発生する時間の基準を定めることができる。したがって、@beginMTがある場合、Activation要素内の@startTime属性は、@beginMTが示すメディア時間の開始に影響を受けることができる。
【0278】
Activation要素は、AMT内に複数個が存在してもよい。各Activation要素は、活性化トリガと同様の役割を担うことができる。Activation要素はいずれも、AMT内の@segmentIdが示すセグメントに適用することができる。Activation要素内の属性に、該当活性化がどのアプリケーションの、どのイベントに、いつ起きるかに関する情報などを含めることができる。Activation要素内の属性に関する詳細な説明は後述する。
【0279】
Activation要素は、@targetTDO、@targetEvent、@targetData、@startTime、@endTimeの属性を含むことができる。
【0280】
Activation要素の属性である@targetTDOは、AMTに連携するTPT内のTDO要素のappID属性と対照することによって、活性化命令に対する対象アプリケーションを識別することができる。
【0281】
Activation要素の属性である@targetEventは、targetTDO属性によって識別されるTDO要素に含まれたEvent要素のeventID属性と対照することによって、当該活性化命令に対する対象イベントを識別することができる。
【0282】
Activation要素の属性である@targetDataは、targetTDOとtargetEvent属性によって識別されるEvent要素に含まれたData要素のdataIDと対照することによって、活性化命令が適用される時に対象イベントと連携されるデータを識別することができる。
【0283】
イベント要素の属性である@startTimeは、メディア時間に対するイベントの有効期間の開始を示すことができる。受信機は、メディア時間がstartTime内の値に到達するとき、又はその後のできるだけ近いうちに当該命令を実行すると予想され得る。
【0284】
イベント要素の属性である@endTimeは、メディア時間に対する当該イベントのための有効期間の終わりを示すことができる。受信機は、メディア時間がendTimeの値を経過すると当該命令を実行しないと予想され得る。
【0285】
@targetTDOは、AMT内のActivation要素がどのアプリケーションに適用されるかに関する情報を含むことができる。受信端ではAMTを受信しパースして@targetTDOを得て、対照するTPT内のTDO要素内の@appIDを探して、Activation要素の適用されるアプリケーションを識別することができる。
【0286】
@targetEventは、AMT内のActivation要素がどのアプリケーションのどのイベントに適用されるかに関する情報を含むことができる。受信端ではAMTを受信しパースして@targetEventを得て、対照するTPT内のTDO要素内の@eventIDを探して、Activation要素の適用されるイベントを識別することができる。
【0287】
@targetDataは、活性化命令が適用されるとき、対象となったイベントに関連するデータを識別することができる。受信端ではAMTを受信しパースして@targetDataを得て、TPT内の該当Event要素内の@dataIDを探すことができる。
【0288】
@startTimeは、当該イベントが起きる開始時刻を示すことができる。この開始時刻はメディア時間を基準とする。受信端ではAMTをパースして@startTime情報を得て、これを用いてイベントの起きる時刻が把握できる。受信端では、@segmentIdによって識別されたセグメントのメディア時間を基準にメディア時間が開始時刻(start Time)に達すると、イベントを活性化させることができる。既に開始時刻が過ぎた場合は、できるだけ早くイベントを活性化させることができる。
【0289】
@endTimeは、当該イベントが終わる時刻を示すことができる。メディア時間が終わる時刻に達すると、受信端ではイベントを実行させなくてもよい。
【0290】
AMT内Activation要素は、startTime値の昇順で出現できる。
【0291】
受信機がAMT内Activationによってイベントを活性化させるとき、受信機は、各活性化をその開始時刻に適用したり、又はその後にできるだけ近いうちに適用(例えば、受信機がサービスに加入して、開始時刻以後と終了時刻以前との間におけるある時刻にAMTを受信する場合)したりすると予想され得る。TPT内イベント要素の“action”属性が“exec”のとき、受信機はTriggerEventを対象アプリケーションに渡すと予想できる。TriggerEventについては、APIに関する部分で後述する。
【0292】
以下、URLリストについて説明する。
【0293】
URLリストは、受信機に対して使用潜在性のあるURLを含むことができる。次のようなURLなどを含むことができる。
【0294】
1.一つ又はそれ以上の未来セグメントに対するTPTのためのURL。受信機がファイルをあらかじめダウンロードできるようにする。
2.放送ストリーム内の独立型NRTサービスに関する情報が検索され得るNRT信号通知サーバのURL。受信機に放送ストリーム内のNRTサービス信号通知の配信に対する利用権限がなくてもこれらのサービスに利用可能になる。
3.仮想チャネルに対する使用報告が送信される使用報告サーバのURL。受信機に放送ストリーム内のこのURLの配信に対する利用権限がなくてもこのような報告を送信可能にする。
4.仮想チャネルに対するPDI−QテーブルのURL。受信機に放送ストリームで配信されたPDI−Qテーブルに対する利用権限がなくても視聴体験を個人化(personalization)可能にする。(PDI−Qテーブルは対話型サービスを提供するにあたり、ユーザにカスタマイズサービスを提供するための個人化に関連するテーブルである。PDI−Qテーブルを介してユーザに個人化のための質問ができる。)
【0295】
そのうち、UsrUrl要素に関して、URLリストを作成し、さらに使用報告のためのサーバのURLを知らせる必要があり得る。これは、現在、受信機が視聴し消費しているコンテンツの種類と好むデータを活用してビジネスに活用するためであってもよい。URLリストにあるUsrUrl要素は、次のように様々に解釈可能である。
【0296】
第一は、使用報告サーバである場合は、受信機はこの使用報告サーバのURLをもって、あらかじめ定められたプロトコル(例えば、データ構造、XMLファイルなど)によって受信機の使用報告機能を果たすことができる。
【0297】
第二は、受信機のウェブブラウザで実行されるTDOであってもよい。ここでは、使用報告TDOの位置を知らせ、この場合、TDOが直接、受信機のウェブブラウザのAPI(例えば、ファイルAPI、使用報告API)を用いて受信機に記憶された又は現在消費しているコンテンツの情報を収集して報告することができる。TDOは、独自でXMLHttpRequestというジャバスクリプトAPIを活用して収集されたデータを送信することができる。
【0298】
図15は、URLリスト構造の一実施例を示す図である。
【0299】
URLlistは、UrlList、TptUrl、UrsUrl、及び/又はPdiUrlなどを含むことができる。これらの要素の意味は次のとおりである。
【0300】
UrlList要素の要素であるTptUrlは、現在の対話型付加サービス内の未来セグメントに対するTPTのURLを含むことができる。複数のTptUrl要素が含まれた場合、放送内のセグメントの出現順に配列することができる。
【0301】
UrlList要素の要素であるNrtSignalingUrlは、受信機が現在のトランスポートストリーム内のすべての仮想チャネルに対するNRT信号通知テーブルを取得し得るサーバのURLを含むことができる。
【0302】
UrlList要素の要素であるUrsUrlは、受信機が現在の仮想チャネルに対する使用(視聴率調査)報告を送信し得るサーバのURLを含むことができる。
【0303】
UrlList要素の要素であるPdiUrlは、現在の仮想チャネルに対するPDI−QテーブルのURLを含むことができる。
【0304】
以下、配信メカニズムについて説明する。
【0305】
以下、対話型サービス生成からの結果、放送ストリーム内でのトリガの配信、インターネットを介した時間ベーストリガの配信、インターネットを介した活性化トリガの配信(ACRシナリオ)、放送ストリーム内でのTPTの配信、インターネットを介したTPTの配信、TDO及びコンテンツアイテムの移動、複数のセグメントを一つのセグメントに結合の順に説明する。
【0306】
以下、対話型サービス生成からの結果について説明する。
【0307】
一つのセグメントに対するサービス生成過程は、すべてのTDO及び他のコンテンツアイテムを含むフォルダ、XML formatのTPTファイル、及びXML formatのAMTファイルを生成することができる。その他の結果物も生成することができる。
【0308】
次に、放送ストリーム内でのトリガの配信について説明する。
【0309】
放送ストリームで配信される場合、トリガはURLString命令内でサービス#6でDTV字幕チャネルで配信することができる。
【0310】
トリガの長さが26文字以下のとき、トリガはセグメント化せずに送信することができる(Type=11)。トリガの長さが27乃至52文字のとき、2つのセグメント(the first segment in a Type=00セグメントである1番目のセグメントと、Type=10セグメントである2番目のセグメント)で送信してもよい。
【0311】
当該命令の与えられた任意のインスタンスで配信されたURIの類型は、インスタンス8ビットパラメータによって与えることができる。
【0312】
TDOモデルを使用する対話型サービスの場合、URIデータ構造のURI類型は、0(TDOモデルのための対話型TVトリガ)に設定することができる。この配信メカニズムは、時間ベーストリガも活性化トリガも含む。
【0313】
時間ベーストリガが(字幕サービス#6で)放送ストリームで配信される場合に、“m=”項が不存在のとき、時間ベーストリガは単純に信号通知サーバのURLを配信することができる。そして、“m=”項が不存在のとき、“t=”項は活性化トリガに不存在でなければならない。
【0314】
活性化トリガが(字幕サービス#6で)放送ストリームで配信される場合に、すなわち、“Trigger”フォーマットが“e=”項を有しており、“t=”項は有しているかいない場合に“t=”項が存在するときは、活性化時刻は時間ベースに対する時間スタンプであってもよい。そして、“t=”項が不存在のとき、活性化時刻はメッセージの到達時刻になってもよい。
【0315】
時間ベーストリガ及び活性化トリガがCCサービス#6を通じて配信される場合、放送局が時間ベーストリガ及び活性化トリガを扱う方式には、次の3つがある。
【0316】
1.明示的な時間ベースがないセグメントモード
2.明示的な時間ベースがあるセグメントモード
3.明示的な時間ベースがあるサービスモード
【0317】
これらは放送内でセグメント単位で混合してもよい。
【0318】
明示的な時間ベースがないセグメントモードでは、活性化メッセージが時間スタンプを含まないため、各メッセージの活性化時刻はそのメッセージの配信時刻となり、また、時間ベースメッセージが時間スタンプを含まないため、その唯一の目的はTPTファイルを配信し得る信号通知サーバのURLを提供することであり得る。このモードでは、信号通知サーバのURLを提供するための活性化メッセージ内のURLによって時間ベースメッセージが完全に省略してもよいが、この場合受信機は、最初の活性化メッセージが出現するまでTPTを検索したり、TDOのダウンロードを開始したりできなくなり、活性化メッセージに対する応答がだいぶ遅延することになる。
【0319】
このような場合、CCサービス#6に出現し得る時間ベースメッセージは、“Trigger”フォーマットの“locator_part”を含むことができ、“spread”項も含むことができるが、“media_time”項は含まなくてもよい。そして、CCサービス#6で出現し得る活性化メッセージは、“Trigger”フォーマットの“locator_part”と“event_time”項を含むことができ、“spread”項も含むことができるが、“イベント_time”項には“t=”部分がなくてもよい。時間ベース及び活性化メッセージの“locator_part”は現在のsegmentIdであってもよい。このURLは、インターネットを介してセグメントのためのTPTを検索するために用いてもよい。
【0320】
明示的な時間ベースがあるサービスモードにおいて、時間ベースメッセージは時間ベースを定義するためにこの時間スタンプを含む。活性化メッセージは、時間ベースに対する活性化時刻を定義するために時間スタンプを含む。又は、これらのメッセージは時間スタンプを含まなくてもよく、この場合、活性化時刻はメッセージの到達時刻である。
【0321】
この場合、CCサービス#6で出現し得る時間ベースメッセージは、Trigger”フォーマットの“locator_part”と“media_time”項を含むことができ、“spread”項も含んでもよく、CCサービス#6で出現し得る活性化メッセージは“Trigger”フォーマットの“locator_part”と“event_time”項を含むことができ、“spread”項も含んでもよく、このとき、“event_time”項内の“t=”部分は存在してもしなくてもよい。時間ベース及び活性化メッセージの“locator_part”は現在のsegmentIdであってもよく、該当時間ベースは該当セグメントに特定である。このURLは、インターネットを介してセグメントのためのTPTを検索するために用いられてもよい。
【0322】
明示的な時間ベースがあるサービスモードにおいて、時間ベースメッセージは時間ベースを定義するためにこの時間スタンプを含み、活性化メッセージは時間スタンプを含んでも含まなくてもよい。時間ベースは特定の一セグメントに特定されるよりは、複数のセグメントにわたって延長することができる。時間ベースメッセージの“locator_part”は、時間ベースの識別子であってもよく、インターネットを介してサービスのためのTPTを検索するために使用可能なURLであってもよい。
【0323】
いずれの場合であれ、CCサービス#6にトリガを挿入するトリガ挿入サーバは、AMTから作業をして、活性化メッセージをAMT内のXMSフォーマットからCCサービス#6での配信に特定されたトリガフォーマットに変えなければならない。endTime属性がないActivation要素の場合は、活性化時刻がstartTime属性と同一であり、単一トリガが挿入してもよい。startTimeとendTime要素の双方を有するActivation要素の場合は、同一の対象をもってトリガシーケンスが挿入してもよい。シーケンス内の最初のトリガは、startTime属性と同じ活性化時刻を有することができ、当該シーケンス内の最後のトリガは、endTime属性と同じ活性化時刻を有することができ、シーケンス内のトリガの活性化時刻の間には固定した期間が存在できる(例外として、シーケンス内の最後のトリガとその直前のトリガとの間の区間はより短くてもよい。)。この固定した期間の長さは設定可能である。
【0324】
時間ベース及び活性化メッセージがセグメントモードであるとき、時間ベースは、セグメントに対して特定することができる。このベースは、当該セグメントの開始時に“beginMT”値で始まって、セグメントを通じて行うことができる。個々の活性化の“startTime”及び“endTime”値は、“beginMT”値に対して相対的であってもよい。時間ベース及び活性化メッセージがサービスモードにあるとき、時間ベースはセグメントにわたっていてもよく、各セグメントに対する“beginMT”値は、サービス時間ベース及び放送スケジュールを考慮して調整することができる。
【0325】
次に、インターネットを介した時間ベーストリガの配信について説明する。
【0326】
時間ベーストリガインターネット配信は、いわゆる自動コンテンツ認識(Automatic Content Recognition、ACR)状況で有用であり得るが、このような状況で、時間ベーストリガの受信側は字幕サービス#6に対する利用権限がない。このような状況で受信機はビデオフレームを認識し、時間ベースをこれらのフレームと同期化させるためにACRを使用しなければならない。ACR状況において時間ベースメッセージはウォーターマーク又はACRサーバから得ることができる。ACRサーバから受ける場合、時間ベースメッセージはACRサーバから応答として配信してもよい。
【0327】
次に、インターネットを介した活性化トリガの配信(ACRシナリオ)について説明する。
【0328】
活性化メッセージは、ショートポーリング、ロングポーリング又はストリーミングを通じて配信することができるが、これらのメッセージはいずれも受信機及びサーバに相当のオーバロードを発生させ得る。活性化メッセージは、AMTの形態で配信してもよいが、セグメントの長さに関する多い量の情報を提供し、広告飛ばし機能(ad killer)を可能にすることができる。他の方法もあり得る。
【0329】
活性化メッセージが活性化トリガの形態で配信される場合に、すなわち、“Trigger”formatにおいて“e=”項はあり、“t=”項はあるかない場合に、これは、HTTPショートポーリング、ロングポーリング又はストリーミングを通じて配信され得る。
【0330】
インターネットを介して配信される場合、活性化メッセージを次のメカニズムのいずれか一方又は双方を用いて配信することができる。
【0331】
1.活性化トリガ個別配信
2.活性化トリガ一括配信
【0332】
次に、個別的活性化トリガ配信について説明する。
【0333】
前述したように、個別活性化トリガは、インターネットを介して配信されるとき、HTTPショートポーリング、ロングポーリング又はストリーミングを用いて配信すことができる。活性化トリガのフォーマットはDTVCCサービス#6を通じて配信されるときと同一であってもよい。
【0334】
ショートポーリングの場合は、そのポーリング周期を指定しなければならない。この周期は、次の説明のように、TPTにあるpollPeriodを用いてショートポーリング動作を設定することができる。
【0335】
活性化トリガのインターネット配信が利用可能な場合、TPT内LiveTrigger要素のURL属性は、活性化トリガを配信し得る活性化トリガサーバを示すことができる。LiveTrigger要素のpollPeriod属性がTPTに存在する場合、これはHTTPショートポーリングが使用中であることを示すことができ、この属性は、受信機が用いるべきポーリング周期を示すことができる。LiveTrigger要素のpollPeriod属性がTPTに存在しない場合、これは、HTTPロングポーリングとHTTPストリーミングのいずれか一方が使用中であることを示すことができる。
【0336】
いずれのプロトコルが用いられるかにかかわらず、受信機は質疑形式で活性化トリガサーバにHTTP要求をすると予想され得る。
?mt=<media_time>
ここで、<media_time>は、視聴されているコンテンツの現在メディア時間であってもよい。
【0337】
ショートポーリングが使用中である場合、活性化トリガサーバからの応答は、<media_time>で終わるpollPeriod長の期間内で発生したすべてのトリガを含むことができる。一つ以上の活性化トリガが返却される場合、これらは一つ以上の空白(whitespace)文字によって分離することができる。返却される活性化トリガがないときは、当該応答は空でもよい。
【0338】
HTTPロングポーリング又はHTTPストリーミングが使用中である場合は、活性化トリガサーバは、活性化トリガが放送ストリームで配信されるメディア時間まで応答の返却を待機することができる。このとき、活性化トリガを返却することができる。
【0339】
HTTPロングポーリングが使用中である場合、活性化トリガサーバは、活性化トリガを返却後にセッションを閉じることができる。受信機は更新されたメディア時間を用いて直ちに他の要求をすると予想され得る。
【0340】
HTTPストリーミングが使用中である場合、活性化トリガサーバは、各活性化トリガを返却した後に当該セッションを開いた状態に維持し、追加の活性化トリガを配信する時刻に到達すると、当該セッションでそれらのトリガを配信することができる。
【0341】
いずれの場合においても、HTTP応答は、配信モードを知らせるために、次の形態のいずれかの形態からなるHTTP Response Headerフィールドを含むことができる。
ATSC-Delivery-Mode:ShortPolling[<poll-period>]
ATSC-Delivery-Mode:LongPolling
ATSC-Delivery-Mode:Streaming
【0342】
<poll−period>パラメータは、連続するポーリングに対してポーリング間の推奨間隔を示すことができる。<poll−period>は省略してもよい。
【0343】
次に、活性化トリガ一括配信について説明する。
【0344】
活性化トリガがインターネットを介して一括的に配信される場合、一つのセグメントに対する活性化トリガを、当該セグメントに対するTPTをメッセージの1番目の部分とし、AMTをメッセージの2番目の部分とする複数パートMIMEメッセージの形態としてHTTPを通じて当該セグメントに対するTPTと共に配信することができる。
【0345】
図16は、TPTを含むプライベートセクションの2進フォーマットの一実施例を示す図である。以下に説明するNRTスタイルプライベートセクションは、
図16のとおりである。
【0346】
以下、放送ストリームでのTPT配信について説明する。
【0347】
放送ストリームで配信するとき、TPTを、それらのXMLフォーマットから相応する2進NRTスタイル信号通知フォーマットに変換して、テーブルインスタンス当たり一つずつNRTスタイルプライベートセクションにカプセル化することができる。現在セグメントに対するTPTは常に存在する。一つ以上の未来セグメントにに対するTPTも存在することができる。TPTインスタンスは、そのsegment_idフィールドの値によって定義される。参考として、TDOパラメータテーブルの2進フォーマットは、上述したとおりである。
【0348】
要するに、TPTの2進構造をNRTで送信するために、NRT送信に合うようにセクション構造を有してもよい。以下、この過程について詳しく説明する。
【0349】
各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インスタンスを区別するために用いることができる。
【0350】
プライベートセクション(tpt_section())は、table_id、protocol_version、sequence_number、TPT_data_version、current_next_indicator、section_number、last_section_number、及び/又はservice_id、tpt_bytes()情報を含むことができる。
【0351】
以下、
図16のフィールドについて説明する。
【0352】
8ビットフィールドであってもよいtable_idは、当該テーブルセクションをTDOパラメータテーブルインスタンスに属するものとして識別することができる。
【0353】
protocol_versionは2つの部分に分けることができる。8ビット符号無し整数フィールドのうち上位4ビットは、当該テーブルの定義のメジャーバージョン番号と、ここに含まれて送信されるTPTインスタンスを示すことができ、下位4ビットは、マイナバージョン番号を示すことができる。メジャーバージョン番号は1に設定することができる。受信機は、それらがサポートするように備えられていないメジャーバージョン値を示すAMTのインスタンスを捨てると予想され得る。マイナバージョン番号は0に設定することができる。受信機は、それらがサポートするように備えられていないマイナバージョン値を示すAMTのインスタンスを捨てないと予想され得る。この場合、受信機は、それらが認識できない記述子と、それらがサポートしないフィールドとを無視すると予想され得る。
【0354】
sequence_numberは、8ビットフィールドであってもよい。sequence_numberは、当該TPTインスタンスの他のすべてのセクションのsequence_numberと同一であり、当該サービス信号通知チャネル内の他のTPTインスタンスのすべてのセクションのsequence_numberとは異なってよい。したがって、他のTPTインスタンスと区別する役割を担うことができる。sequence_numberフィールドは、このセクションが現れるサービス信号通知チャネルに連携するIPサブネットを示すことができる。別個のTPTインスタンスのsequence_numberフィールド値は、放送ストリームでセグメントが出現する順序を反映することができる。
【0355】
TPT_data_versionは、5ビットフィールドであってもよく、当該TPTインスタンスのバージョン番号を示すことができ、ここで、TPTインスタンスは、そのsegment_idによって定義することができる。TPTバージョンをあらかじめ知ってこそ受信されたTPTセクションデータが最新バージョンのTPTであるか否かがわかるため、セクションテーブルにTPT_data_versionフィールドがあってもよい。バージョン番号は、TPTインスタンス内の任意のフィールドに変更がある場合、1 modulo 32分ずつ増加できる。
【0356】
current_next_indicatorは1ビット指示子であってもよく、TPTセクションに対して常に‘1’に設定されて送信されるTPTがsegment_idによって識別されるセグメントに対して常に現在TPTであることを示すことができる。
【0357】
section_numberは8ビットフィールドであってもよく、当該TPTインスタンスセクションのセクション番号を提供することができるが、TPTインスタンスはsegment_idによって識別可能である。TPTインスタンス内の最初のセクションのsection_numberは0x00であってもよい。section_numberは、TPTインスタンス内の各追加セクションと共に1ずつ増加可能である。
【0358】
last_section_numberは8ビットフィールドであってもよく、最後のセクション(すなわち、section_numberが最も高いセクション)が、その一部であるTPTインスタンスの最後のセクション番号を提供することができる。
【0359】
service_idは、当該テーブルインスタンスに記述されたコンテンツアイテムを提供する対話型サービスと連携するservice_idを特定することができる。
【0360】
tpt_bytes()は、可変長フィールドであって、当該セクションによって部分的に送信されるTPTインスタンスブロックで構成することができる。当該テーブルインスタンスのすべてのセクションのtpt_bytes()フィールドがsection_numberフィールドの順に連結されると、その結果として一つの完全なTPTインスタンスが作成できる。
【0361】
すなわち、TPTの2進フォーマットを用いたり、XMLフォーマットを2進フォーマットに変えたりした後、NRT送信に合うようにそれを分けて、プライベートセクションのうちtpt_bytes()フィールドに入れてNRT方式で送信することができる。このとき、一つのTPTが複数のプライベートセクションに分けられると、それぞれのプライベートセクションは、同一のtable_id、protocol_versionTPT_data_version、sequence_number値を有してもよい。分けられたTPTブロックをsection_numberフィールド値に従う順に挿入することができる。
【0362】
受信端では、受信したプライベートセクションに対してパースできる。一つの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を作成できる。
【0363】
以下、インターネットを介したTPTの配信について説明する。
【0364】
インターネットで配信される場合、TPTはHTTPを通じて配信することができる。時間ベースメッセージで現在セグメントに対するTPTのURLは“<domain name part>/<directory path>”であってもよい。TPTに対する要求に対する応答は、単純にTPTで構成されてもよく、要求されたTPTは第1部分にあり、URLリストは第2部分にあってXML文書として符号化される2−部分MIMEメッセージとして構成してもよい(要求に対する応答は常に現在セグメントに対するTPTを含む。一つ以上の未来セグメントに対するTPTも含むことができる)。
【0365】
図17は、XML文書として符号化されたURL目録の一実施例を示す図である。
【0366】
上述した応答の第2部分としてのURLは、
図17のような形態であってもよい。
【0367】
図17の要素の意味について説明する。
【0368】
“UrlList”は、受信機に有用なURLリストを含むことができる。
【0369】
“TptUrl”は、未来セグメントに対するTPTのURLを含むことができる。複数のTptUrl要素が含まれる場合、それらは、放送でセグメントの出現順に配列することができる。
【0370】
“NrtSignalingUrl”は、受信機が現在の放送ストリームですべての仮想チャネルに対するNRT信号通知テーブルを取得し得るサーバのURLを含むことができる。。
【0371】
次に、TDO及びコンテンツアイテムの移動について説明する。
【0372】
通信網と基地局は、TDO及びこれらのTDOによって用いられるコンテンツアイテム(ファイル)の配信のために、自体HTTPサーバを頻繁に提供しなければならない。提供がなされると、TPT内のbaseURLはサーバの位置を反映して調整してもよい。
【0373】
次に、複数のセグメントを一つのセグメントへの結合について説明する。
【0374】
セグメント間の境界を徹底的にあいまいにさせるために、複数のセグメントに対するTPT及びAMTを一つのTPT及びAMTに結合することができる。その段階は、次のとおりである。
【0375】
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に挿入する。
【0376】
以下、DOを実行するための環境のための、ATSC JavaScript(登録商標)APIについて説明する。
【0377】
放送プログラムに対する宣言的オブジェクト動作の同期化をサポートするために、ビデオ/放送オブジェクトに対して追加の方法がサポートしてもよい。
【0378】
DTVCC又はインターネットでTPTが受信されると、TPT内にはTDOを実行するための複数のイベントがあってもよく、これらのイベントは活性化トリガによって活性化してもよい。
【0379】
このイベントを処理するようにするために、リスナ(Listener)という関数をeventID別に登録しておくことができる。これによって、上述の‘追加の方法’として、リスナ関数を登録できる次の2つの関数があり得る。
【0380】
1.addTriggerEventListener: eventId別に、発生するイベントを処理するためのコールバック関数(リスナ関数)を登録
2.removeTriggerEventListener: eventId別に、発生するイベントを処理するためのコールバック関数(リスナ関数)登録を取消
【0381】
図18は、addTriggerEventListenerの一実施例を示す図である。
【0382】
図18には、addTriggerEventListenerについての説明及びフォーマット、引数(argument)などが示されている。
【0383】
addTriggerEventListener関数は、Number型のeventIdと、EventListener型のlistenerを引数として受けることができる。EventListener型については後述する。addTriggerEventListener関数は返却値がなくてもよい(void)。
【0384】
eventId引数は、TPTのイベント要素中のeventIdであってもよい。listener引数は、当該イベントのためのリスナであってもよい。
【0385】
受信機のトリガ処理モジュールでは活性化メッセージを受信するすと直ちに“addTriggerEventListener”関数を用いてeventIdごとにリスナ関数を登録することができる。後で当該イベントに活性化が起きると、登録されたリスナ関数を呼び出すことができる。このとき、TriggerEvent型のオブジェクトをリスナ関数として配信することができる。TriggerEvent型については後述する。
【0386】
図19は、removeTriggerEventListenerの一実施例を示す図である。
【0387】
図19には、removeTriggerEventListenerに対する説明とフォーマット、引数などが示されている。
【0388】
removeTriggerEventListener関数は、Number型のeventIdと、EventListener型のlistenerを引数として受けることができる。EventListener型については後述する。removeTriggerEventListener関数は、返却値がなくてもよい(void)。
【0389】
eventId引数は、TPTのイベント要素中のeventIDであってもよい。listener引数は、当該イベントのためのリスナであってもよい。
【0390】
ジャバスクリプトプログラムでは、当該eventId別に発生し得るイベントをそれ以上受信しないことを希望したり、“DestroyWindow”のようなプログラム終了時には、“removeTriggerEventListener”を用いて、登録されたリスナ関数を取り消したりことができる。
【0391】
図20は、EventListener型の定義の一実施例を示す図である。
【0392】
EventListener型は、TriggerEvent型を持つイベントを引数とすることができる。EventListenerはインタフェースであってもよい。
【0393】
図21は、TriggerEvent型の定義の一実施例を示す図である。
【0394】
TriggerEvent型は、イベントに関する情報を含むことができる。
【0395】
TriggerEvent型は、eventId、data、statusを属性として有してもよい。eventIdは、TPTのイベント要素中のeventIdであってもよい。dataは、イベントの活性化のためのものであってもよい。dataは、16進法となっていてもよい。statusは、イベントの状態を意味することができる。status値が“trigger”の場合は、イベントが活性化トリガによって活性化された状態を意味する。status値が“error”の場合は、エラーが発生した状態を意味する。
【0396】
図22は、TDOモデルにおける送信方法の一実施例を示す図である。
【0397】
本発明による送信方法の一実施例は、アプリケーションパラメータテーブル生成(su010)、活性化メッセージテーブル生成(su020)、複数パートメッセージ生成(su030)、複数パートメッセージ送信(su040)を含むことができる。
【0398】
アプリケーションパラメータテーブル生成(su010)は、送信側で送信するアプリケーションパラメータテーブルを生成する段階である。ここで、アプリケーションパラメータテーブルは、アプリケーションのうち少なくとも一つに関する情報を含むことができる。アプリケーションパラメータテーブルは、第1識別子及び第2識別子を含むことができる。第1識別子は、アプリケーションパラメータテーブルに関連する対話型プログラムセグメントを識別することができる。また、第2識別子は、アプリケーションパラメータテーブル範囲内のアプリケーションを識別することができる。
【0399】
アプリケーションパラメータテーブルは、当該アプリケーションに関する情報を含んでいるテーブルであって、上述のTDOパラメータテーブル(TPT)をその例とすることができる。アプリケーションパラメータテーブルに関するバージョン情報、アプリケーションに関するバージョン情報、アプリケーションが適用されるセグメントの識別子、アプリケーションの識別子、イベントに対する識別子などの情報を含むことができる。
【0400】
第1識別子は、アプリケーションパラメータテーブルに関連する対話型プログラムセグメントを識別することができる。第1識別子は、前述したTPT内部の@id属性であってもよい。
【0401】
第2識別子は、アプリケーションパラメータテーブル範囲内のアプリケーションを識別することができる。第2識別子は、前述したTPT内部の子要素であるTDO要素の@appID属性であってもよい。
【0402】
受信端ではTPTを受信してそれをパースすることができる。パースして上記の第1識別子及び第2識別子を得ることができる。第1識別子を用いて、第1識別子の属するアプリケーションパラメータテーブルと関連し、そのアプリケーションパラメータテーブルに関連するアプリケーションと、それらのイベントが適用されるセグメントとを探すことができる。その後、第2識別子を用いて、活性化メッセージが適用されるアプリケーションを探すことができる。受信端では、上記の識別子を用いて、活性化メッセージと活性化されるべきイベントとを対照させることができる。
【0403】
アプリケーションパラメータテーブル生成(su010)段階で、本発明の一実施例は、アプリケーションパラメータテーブルが第5識別子を更に含んでもよい。第5識別子は、アプリケーションに対象となったイベントを識別することができる。第5識別子は、前述したTPTの子要素であるTDO要素内のイベント要素の属性である@eventIDに該当し得る。第5識別子は、AMFの第6識別子と対照してもよい。第6識別子の動作と、第6識別子が第5識別子と対照するる動作については、活性化メッセージテーブル生成(su020)段階で後述する。
【0404】
アプリケーションパラメータテーブル生成(su010)段階で、本発明の一実施例ではアプリケーションパラメータテーブルがバージョン情報を更に含んでもよい。バージョン情報は、アプリケーションパラメータテーブルの定義のバージョン番号を示すことができる。バージョン情報は、前述したTPT内の属性である@tptVersionに該当し得る。受信端ではTPT又はアプリケーションパラメータテーブルをパースして、このバージョン情報を得ることができる。
【0405】
アプリケーションパラメータテーブル生成(su010)段階で、本発明の一実施例は、アプリケーションパラメータテーブルが第7識別子を更に含んでもよい。ここで、第7識別子は、第5識別子によって識別されたイベントのために用いられるデータを識別することができる。第5識別子は、上述した第5識別子と同一である。第7識別子は、前述したTPTの子要素であるTDO要素内のEvent要素内部のData要素の属性である@dataIDに該当し得る。第7識別子はAMFの第8識別子と対照してもよい。第8識別子の動作と、第8識別子を第7識別子と対照する動作とについては、活性化メッセージテーブル生成(su020)段階で後述する。
【0406】
アプリケーションパラメータテーブル生成(su010)段階で、本発明の一実施例は、アプリケーションがトリガされた宣言的オブジェクト(TDO)であってもよく、アプリケーションパラメータテーブルがTDOパラメータテーブルであってもよい。TDOとTPTは、上述したTDO、TPTと同一である。
【0407】
活性化メッセージテーブル生成(su020)は、送信側で送信する活性化メッセージテーブルを生成する段階である。ここで、活性化メッセージファイルは、アプリケーションの活性化時刻の少なくとも一つを示すことができる。活性化時刻は、活性化の時刻を意味する。活性化メッセージファイルは、第3識別子及び活性化メッセージを含むことができる。第3識別子は、活性化メッセージファイル内の活性化メッセージが適用されるアプリケーションを含むアプリケーションパラメータテーブルの第1識別子と対照してもよい。活性化メッセージは、第4識別子及び開始時刻情報を含むことができる。第4識別子は、活性化メッセージファイルが連携するアプリケーションパラメータテーブル内のアプリケーションの第2識別子と対照してもよい。また、開始時刻情報は、当該セグメントの時間に相対的なアプリケーションに対象となったイベントに対する期間の開始を示すことができる。
【0408】
活性化メッセージファイルは、前述した活性化メッセージテーブル(AMT)であってもよい。複数の活性化メッセージを含むことができるため、特定セグメントに関連する複数の活性化メッセージを一ごとに配信することができる。活性化メッセージファイルは、バージョン情報、関連のセグメントの識別子、各活性化メッセージに関する情報を含むことができる。
【0409】
活性化時刻は、通常の活性化が起きる時刻を意味する。
【0410】
第3識別子は、前述したAMTにおいて、@segmentIdに該当し得る。活性化メッセージファイルの識別子で関連のセグメントを識別することによって、活性化メッセージファイルとアプリケーションパラメータテーブルとを対照させることができる。
【0411】
活性化メッセージは、前述したAMTにおいて子要素である活性化に該当し得る。したがって、活性化メッセージは、対象としたアプリケーションに対する識別子、対象としたイベントに対する識別子、活性化の開始時刻などの情報を含むことができる。
【0412】
第4識別子は、前述したAMTの子要素である活性化の@targetTDO属性であってもよい。したがって、活性化命令が対象としているアプリケーションを識別することができる。
【0413】
開始時刻情報は、前述したAMTの子要素である活性化の@startTime属性であってもよい。したがって、イベントの実行開始時刻に関する情報を含むことができる。
【0414】
受信端では受信した活性化メッセージファイルをパースして、活性化メッセージ、第3識別子、第4識別子、開始時刻情報などの情報を得ることができる。パースされた第3識別子は、アプリケーションパラメータテーブル内のパースされた第1識別子情報と対照してもよい。第1識別子は、活性化メッセージファイル内の活性化メッセージが適用されるアプリケーションを含むアプリケーションパラメータテーブルの識別子であってもよい。そして、第3識別子は、活性化メッセージが適用されるセグメントに対する識別子であって、第1識別子と対照されて、アプリケーションパラメータテーブルとAMFとを連結させることができる。
【0415】
パースされた第4識別子は、TPT内のパースされた第2識別子情報と対照してもよい。第2識別子は、活性化メッセージファイルが連携するアプリケーションパラメータテーブル内のアプリケーションの識別子であってもよい。そして、第4識別子は、活性化命令が適用されるアプリケーションの識別子であって、第2識別子と対照されて、AMF内の活性化メッセージが適用されるTPT内のアプリケーションと連結させることができる。
【0416】
パースされた開始時刻情報は、属しているAMF内の活性化メッセージが活性化させようとするイベントの活性化開始時刻を示すことができる。これは、セグメントの時間に相対的な時間情報であってもよい。パースされた@segmentIdと@targetTDO情報で指定されたアプリケーションに対して活性化メッセージが適用されるイベントの活性化開始時刻を示すことができる。
【0417】
活性化メッセージテーブル生成(su020)段階において、本発明の一実施例は、活性化メッセージが第6識別子を更に含んでもよい。第6識別子は、活性化命令が適用されるイベントを識別することができる。第6識別子は、前述したAMT内の子要素であるActivation内の@targetEventに該当し得る。第6識別子は、第4識別子によって識別されたアプリケーションの第5識別子と対照してもよい。ここで、第4識別子は、前述した第4識別子と同一である。受信端では活性化メッセージファイルをパースして第6識別子を得ると、アプリケーションパラメータテーブルをパースして得た第5識別子と対照することができる。この対照を通じて、当該活性化メッセージが活性化させようとするイベントを、アプリケーション内の対応するイベント情報と連結し、そのイベントを活性化可能にして、活性化メッセージが動作するようにすることができる。
【0418】
活性化メッセージテーブル生成(su020)段階において、本発明の一実施例は、活性化メッセージファイルが開始時刻情報によって指定された時刻よりも遅く受信された場合、活性化が直ちに起きるようにすることができる。
【0419】
活性化メッセージテーブル生成(su020)段階において、本発明の一実施例は、活性化メッセージが第8識別子を更に含んでもよい。ここで、第8識別子は、対象となったイベントに関連するデータを識別することができる。第8識別子は、上述したAMTの子要素であるActivationの属性である@targetDataに該当し得る。第8識別子は、第4識別子によって識別されたアプリケーションの第7識別子と対照してもよい。ここで、第4識別子は、上述した第4識別子と同一である。受信端では、パースされたAMTの第8識別子をパースされたアプリケーションパラメータテーブルの第7識別子情報と対照することができる。これを通じてアプリケーションメッセージによって対象となったイベントに関連するデータを識別して、アプリケーションパラメータテーブル内のデータ情報と連携させることができる。
【0420】
活性化メッセージテーブル生成(su020)段階において、本発明の一実施例は、活性化メッセージが終了時刻情報を含むことができる。ここで、終了時刻情報は、セグメント時間に相対的なイベント期間の終わりを示すことができる。終了時刻情報が示す時刻が過ぎた後にはイベントの実行が停止してもよい。すなわち、開始時刻情報による開始時刻と終了時刻情報による終了時刻との間にイベントを活性化させることができる。
【0421】
活性化メッセージテーブル生成(su020)段階において、本発明の一実施例は、セグメントの時間がセグメントのメディア時間であってもよい。ここで、セグメントのメディア時間は、コンテンツアイテムの再生点を参照するパラメータであってもよい。
【0422】
複数パートメッセージ生成(su030)は、アプリケーションパラメータテーブルを複数パートメッセージの第1部分とし、活性化メッセージファイルを複数パートメッセージの第2部分とする複数パートメッセージを生成する段階である。ここで、アプリケーションパラメータテーブル及び活性化メッセージファイルは、上述したアプリケーションパラメータテーブル及び活性化メッセージファイルと同一である。
【0423】
活性化トリガ一括配信で説明したように、活性化トリガが大量にインターネットで配信される場合には、複数パートMIMEメッセージ形態で配信してもよい。複数パートメッセージ生成(su030)段階では、アプリケーションパラメータテーブル及び活性化メッセージファイルの送信に先立ち、アプリケーションパラメータテーブル及び活性化メッセージファイルをそれぞれ第1部分及び第2部分とする複数パートメッセージを生成することができる。
【0424】
受信端では、この複数パートメッセージを受けてパースし、アプリケーションパラメータテーブル及び活性化メッセージファイルに関する情報を得ることができる。受信端の動作については後述する。
【0425】
複数パートメッセージ送信(su040)は、HTTPを通じて複数パートメッセージを受信機に送信する段階である。
【0426】
活性化トリガ一括配信で説明したように、活性化トリガが大量にインターネットで配信される場合には、セグメントに対する活性化トリガを、HTTPを通じて配信してもよい。受信端では、この複数パートメッセージを受信する。受信端の動作については後述する。
【0427】
図23は、本発明において、受信機の構造の一実施例を示す図である。
【0428】
図23に示す本発明の実施例において、受信機は、アンテナ23010、チューナ23020、VSB又はDVB復調器23030、MPEG−2TSシステム復号器23040、字幕モジュール23050、トリガモジュール23060、ウェブブラウザ23070、通信網プロトコルスタック23080、通信網インタフェース23090、UIモジュール23100、オーディオ復号器23110、ビデオ復号器23120、スピーカ23130、表示モジュール23140、グラヒックプロセッサ23150、リモコン受信器23160及び/又はリモコン23170を含むことができる。
【0429】
アンテナ23010は、放送ストリームによる放送信号を受信することができる。アンテナ23010は、通常の技術の分野で用いられるアンテナであってもよい。
【0430】
チューナ23020は、受信機での選局又は同調操作を行うことができる。高周波増幅、局部発振、周波数変換及び入力回路、選局機構などを含むことができる。チューナ23020は、通常の技術の分野において用いられるチューナであってもよい。
【0431】
VSB又はDVB復調器23030は、VSB信号又はDVB信号を復調することができる。VSB又はDVB復調器23030は、変調されたVSB又はDVB(例えば、OFDM変調された信号)を元の信号に復元することができる。ここでVSB又はDVB復調器23030の復調過程は、通常の技術の分野において用いられる復調過程であってもよい。
【0432】
MPEG−2TSシステム復号器23040は、復調された信号のトランスポートストリーム(TS)を復号する。MPEG−2TSシステム復号器23040は、トランスポートストリームから字幕ストリームを取得して字幕モジュール23050に伝達することができる。MPEG−2TSシステム復号器23040は、復号されたオーディオ信号、ビデオ信号をオーディオ復号器23110、ビデオ復号器23120に送ることができる。
【0433】
字幕モジュール23050は、字幕ストリームを受けることができる。字幕モジュール23050は、サービス#6又はその他のサービスを監視するが、サービス#6又はトリガが送信されるサービスを選別してトリガモジュール23060に送るか又は字幕テキストを処理して画面に表示するかを判断することができる。トリガデータの場合、トリガモジュール23060に伝達することができる。他の字幕サービスなどの場合には、字幕テキスト処理してグラヒックプロセッサ23150に伝達することができる。
【0434】
トリガモジュール23060は、トリガ、TPT、及び/又はAMT情報などをパースし、パースされたデータを処理することができる。トリガモジュール23060は、トリガ内のURI情報値を用いて、通信網プロトコルスタック23080を介して通信網に接続することができる。ここで、URI情報値は、HTTPサーバのアドレスであってもよい。トリガモジュール23060は、TPTファイル内容を分析してTDO URLを得ることができる。また、AMTをパースしてデータを処理することができる。その他の情報もパースして得ることができる。AMTメッセージを受信した後には、定められた時間及び動作に従ってウェブブラウザに該当するTDO URLを配信したり、又は定められた時間に現在動作するTDOを中断させたりすることができる。これは、TDO actionに該当する動作であり、トリガモジュール23060がウェブブラウザに命令を下して動作できるようにすることができる。本発明に関するトリガモジュール23060の動作についての詳細な事項は後述する。
【0435】
ウェブブラウザ23070は、トリガモジュール23060が下した命令、UIモジュール23100に伝達されたブラウザキーコード、リモコン受信器23160が伝達したブラウザキーコードなどの伝達を受けて通信網プロトコルスタック23080と通信することができる。
【0436】
通信網プロトコルスタック23080は、トリガモジュール23060及びウェブブラウザと通信し、通信網インタフェース23090を介してサーバに接続することができる。
【0437】
通信網インタフェース23090は、他の複数の装置の共通接続、又は通信網計算機と外部網との接続を行うことができる。サーバに接続してTDO、TPT、AMTなどをダウンロードすることができる。通信網インタフェース23090の動作は、通常の技術の分野において用いられる通信網インタフェース23090の動作であってもよい。本発明に関する通信網インタフェース23090の動作についての詳細な事項は後述する。
【0438】
UIモジュール23100は、リモコン23170を用いて視聴者が入力した情報をリモコン受信器23160を介して受信することができる。受信した情報が通信網を用いるサービスなどに関連するもののとき、ブラウザキーコードをウェブブラウザに伝達することができる。伝達された情報が現在表示されている単純な映像に関するもののとき、グラヒックプロセッサ23150を介して表示モジュール23140に信号を伝達することができる。
【0439】
オーディオ復号器23110は、MPEG−2TSシステム復号器23040から伝達されたオーディオ信号を復号することができる。その後、復号したオーディオ信号をスピーカに送り、視聴者への出力を可能にする。オーディオ復号器23110は、通常の技術の分野において用いられるオーディオ復号器であってもよい。
【0440】
ビデオ復号器23120は、MPEG−2TSシステム復号器23040から伝されたビデオ信号を復号することができる。その後、復号したビデオ信号を表示モジュール23140に送り、視聴者への出力を可能にする。ビデオ復号器23120は、通常の技術の分野において用いられるビデオ復号器であってもよい。
【0441】
スピーカ23130は、オーディオ信号を視聴者に出力することができる。スピーカは、通常の技術の分野において用いられるスピーカであってもよい。
【0442】
表示モジュール23140は、ビデオ信号を視聴者に出力することができる。表示モジュール23140は、通常の技術の分野において用いられる表示装置であってもよい。本発明に関する表示モジュール23140の動作についての詳細な事項は後述する。
【0443】
グラヒックプロセッサ23150は、字幕モジュール23050から伝達された字幕テキストと、UIモジュール23100から受信した視聴者の入力情報とをグラヒック化する処理を行うことができる。処理した情報は表示モジュール23140に伝達することができる。グラヒックプロセッサ23150は、通常の技術の分野において用いられるグラヒックプロセッサであってもよい。
【0444】
リモコン受信器23160は、リモコン23170から入力される情報を受けることができる。このとき、キーコードはUIモジュール23100に伝達し、ブラウザキーコードはウェブブラウザに伝達することができる。
【0445】
リモコン23170は、視聴者が入力した信号をリモコン受信器23160に伝達する。リモコン23170は、視聴者が仮想チャネルを切り替えようとする入力などを受けることができる。また、アプリケーションに対して視聴者が選択した情報などを受けることもできる。リモコン23170は、入力された情報をリモコン受信器23160に伝達することができる。このとき、赤外線(IR)を用いて、当該情報を一定距離以上離れて遠隔で伝達することができる。
【0446】
図24は、セットトップボックスがHDMI(登録商標)又は外部入力を介して放送を受信する場合の受信機構造の一実施例を示す図である。
【0447】
図24に示す本発明の実施例において、受信機は、アンテナ24010、チューナ24020、セットトップボックス24030、VSB又はDVB復調器24040、HDMI(登録商標) 24050、MPEG−2TSシステム復号器24060、字幕モジュール24070、トリガモジュール24080、ウェブブラウザ24090、通信網プロトコルスタック24100、通信網インタフェース24110、UIモジュール24120、ACRモジュール24130、オーディオ復号器24140、ビデオ復号器24150、スピーカ24160、表示モジュール24170、グラヒックプロセッサ24180、リモコン受信器24190、リモコン24200を含むことができる。
【0448】
この場合には、一応、放送ストリームのビデオ及びオーディオが生データ(Raw Data)であるため、字幕ストリームに含まれているトリガを受信できないはずである。本発明に関する詳細な事項は後述する。
【0449】
セットトップボックス24030、HDMI(登録商標) 24050、ACRモジュール24130を除く残りのモジュールは、
図23の実施例で説明したモジュールと同様の役割を担う。
【0450】
セットトップボックス24030、HDMI(登録商標) 24050、ACRモジュール24130に関する説明は、次のとおりである。
【0451】
セットトップボックス24030は、デジタル網を介してビデオサーバから送信された圧縮信号を元の映像及び音声信号に復元することができる。TVをインターネットユーザインタフェースにさせることができる。
【0452】
HDMI(登録商標) 24050は、非圧縮方式のデジタルビデオ/オーディオインタフェース規格の一つである高画質マルチメディアインタフェースであってもよい。HDMI(登録商標) 24050は、セットトップボックス24030とAV機器、すなわち、オーディオ復号器24140、ビデオ復号器24150との間にインタフェースを提供することができる。
【0453】
ACRモジュール24130は、オーディオ復号器24140及びビデオ復号器24150から自動で放映中のコンテンツを認識することができる。認識された現在のコンテンツに基づいてトリガモジュール24080及び通信網インタフェース24110を介してACRサーバに問合せ(Query)を送って、トリガのためのTPT/AMTを受信することができる。
【0454】
図25は、TDOモデルにおける受信装置の一実施例を示す図である。
【0455】
図25に示す本発明の実施例において、受信機は、通信網インタフェースv010、トリガモジュールv020、表示モジュールv030を含むことができる。
【0456】
通信網インタフェースv010は、上述した通信網インタフェースと同様の動作を行うことができる。通信網インタフェースv010は、複数パートメッセージをHTTPを通じて受けることができる。ここで、複数パートメッセージは、複数パートメッセージの第1部分であるアプリケーションパラメータテーブルと、複数パートメッセージの第2部分である活性化メッセージファイルとから構成してもよい。
【0457】
複数パートメッセージ、アプリケーションパラメータテーブル、活性化メッセージファイルは、上述したそれらと同一であってもよい。
【0458】
トリガモジュールv020は、上述したトリガモジュールと同様の動作を行うことができる。トリガモジュールv020は、複数パートメッセージをパースしてアプリケーションパラメータテーブル及び活性化メッセージファイルを得ることができる。トリガモジュールv020は、アプリケーションのうち少なくとも一つに関する情報を含むアプリケーションパラメータテーブルをパースして、第1識別子、第2識別子及びURL情報を得ることができる。そして、トリガモジュールv020は、アプリケーションの活性化時刻のうち少なくとも一つを示す活性化メッセージファイルをパースして、第3識別子及び活性化メッセージを得ることができる。そして、トリガモジュールv020は、活性化メッセージをパースして、第4識別子及び開始時刻情報を得ることができる。
【0459】
第1識別子は、アプリケーションパラメータテーブルに関連する対話型プログラムセグメントを識別することができる。第2識別子は、アプリケーションパラメータテーブル範囲内のアプリケーションを識別することができる。URL情報は、アプリケーションを配信し得るサーバのURLを示すことができる。URL情報は、アプリケーションの一部であるファイルを識別することができる。通信網インタフェースは、URL情報を用いてアプリケーションをダウンロードすることができる。活性化時刻は、活性化の時刻を意味する。第3識別子は、活性化メッセージファイル内の活性化メッセージが適用されるアプリケーションを得ることができるアプリケーションパラメータテーブルの第1識別子と対照してもよい。第4識別子は、活性化メッセージファイルが連携するアプリケーションパラメータテーブル内のアプリケーションの第2識別子と対照してもよい。開始時刻情報は、セグメント時間に相対的なアプリケーションに対象となったイベントの期間の開始を示すことができる。
【0460】
URL情報は、アプリケーションを配信し得るサーバのURLを示すことができる。URL情報は、
図5でTPTの子要素であるTDO要素内にあるURL要素に該当し得る。URL情報は、アプリケーションの一部であるファイルを識別することができる。通信網インタフェースはURL情報を用いてアプリケーションをダウンロードすることができる。
【0461】
複数パートメッセージ、アプリケーションパラメータテーブル、活性化メッセージファイル、第1識別子、第2識別子、第3識別子、活性化メッセージ、第4識別子、開始時刻情報の意味及び相互間の動作は、前述した送信端について説明した内容と同一であってもよい。
【0462】
本発明の一実施例は、アプリケーションパラメータテーブルが第5識別子を更に含んでもよい。この実施例では活性化メッセージが第6識別子を更に含んでもよい。第5識別子及び第6識別子の意味並びに相互間の動作は、送信端で説明した内容と同一であってもよい。
【0463】
本発明の一実施例は、活性化メッセージファイルが開始時刻情報によって指定された時刻よりも遅く受信された場合、活性化が直ちに起きるようにすることができる。
【0464】
本発明の一実施例は、アプリケーションパラメータテーブルがバージョン情報を更に含んでもよい。バージョン情報の意味及び相互間の動作は、送信端について説明した内容と同一であってもよい。
【0465】
本発明の一実施例は、アプリケーションパラメータテーブルが第7識別子を更に含んでもよい。この実施例では活性化メッセージが第8識別子を更に含んでもよい。第7識別子及び第8識別子の意味並びに相互間の動作は、送信端について説明した内容と同一であってもよい。
【0466】
本発明の一実施例は、活性化メッセージが終了時刻情報を含むことができる。終了時刻情報の意味及び相互間の動作は、送信端について説明した内容と同一であってもよい。
【0467】
本発明の一実施例は、アプリケーションが、対象となった宣言的オブジェクト(TDO)であってもよく、アプリケーションパラメータテーブルがTDOパラメータテーブルであってもよい。TDO及びTPTは、上述したTDO及びTPTと同一である。
【0468】
本発明の一実施例は、セグメントの時間がセグメントのメディア時間であってもよい。セグメントのメディア時間は、コンテンツアイテム再生のある点を参照するパラメータであってもよい。
【0469】
表示モジュールv030は、上述した表示モジュールと同様の動作を行うことができる。表示モジュールv030は、アプリケーションを表示することができる。
【0470】
以下、直接実行モデルについて説明する。
【0471】
直接実行モデルにおいて、仮想チャネルが選択されると直ちに宣言的オブジェクト(DO)が自動で開始される。宣言的オブジェクトは、画面上の特定位置での表示の生成、世論調査実行、他の特殊DOの開始などのようにオーディオ/ビデオプログラムと同期化される対話型機能の提供のための具体的な指示事項を得るために、インターネットを介してバックエンドサーバと通信することができる。
【0472】
次に、直接実行モデルにおけるトリガ動作について説明する。
【0473】
トリガの役割、機能、構文は、直接実行モデルだからといって大きく変わらない。
【0474】
トリガの性能については、前述したとおりである。
【0475】
トリガ構文については、前述したとおりである。
【0476】
トリガは3つの部分で構成されたことがわかる。
<domain name part>/<directory path>[?<parameters>]
【0477】
直接実行モデルにおいて、<domain name part>と<directory path>の組合せによって、開始されるDOを一意に識別することができる。
【0478】
<parameters>は、“event_time”、“media_time”、又は“spread”の一つ以上で構成することができる。
【0479】
直接実行モデルにおいて、仮想チャネルが選択されると直ちにアプリケーションが自動で開始され得る。アプリケーションは“Synchronized Content Protocol”を通じてインターネットでバックエンドサーバと通信することができる。このサーバは、オーディオ/ビデオプログラムとすべて同期化された対話型機能、すなわち、画面の特定の位置に表示を生成し、ポーリングを実行し、ほかの特殊DOを開始する機能の提供のための指示事項を提供することができる。
【0480】
直接実行モデルの場合、直ちにアプリケーションが実行されるため、時間ベーストリガが配信され次第、現在実行中のアプリケーションに情報を配信することができる。このモデルにおいて、アプリケーションはサーバに、前述した同期化のために、現在放映中のコンテンツに関する情報を配信し続ける必要がある。この必要に応じるために、時間ベーストリガには、TDOモデルとは異なる特別な情報が更に含まれてもよい。この特別な情報は、現在放映中のコンテンツに対する識別子であってもよい。
【0481】
同様に、上記のコンテンツ識別子は、トリガのパラメータ部分にパラメータの形態で存在することができる。
【0482】
同様に、上記のコンテンツ識別子は、トリガのmedia_timeに一つの項の形態で存在してもよい。コンテンツ識別子項は、次に文字列が続く“c=”によって指定できるcontent_idと呼ばれ、現在視聴されているコンテンツに対する識別子を示すことができる。
【0483】
content_id項は、対話型サービス実行の直接実行モデルをサポートするためのものであってもよい。
【0484】
上述したとおり、このモデルにおいて、content_id項を有する時間ベーストリガは、アプリケーションの開始後にこのアプリケーションに配信され、このアプリケーションは相互作用のためのコンテキストの識別のためにcontent_idをバックエンドサーバに配信することができる。その詳細な動作については後述する。
【0485】
直接実行モデルにおけるトリガの配信メカニズムは、前述したとおりである。
【0486】
ただし、放送ストリームによるトリガの配信の場合において、トリガはURLString命令内でサービス#6を通じてDTV字幕チャネルに配信してもよい。そして、直接実行モデルを用いる対話型サービスは、URI_typeフィールドを2(直接実行モデルのための対話型TVトリガ)に設定してもよい。
【0487】
以下、直接実行モデルの全体動作について説明する。
【0488】
対話型サービスを実行する一つのモデルとして、直接実行モデルでは、仮想チャネルが選択されると直ちにアプリケーションが自動で開始され得る。アプリケーションは、“Synchronized Content Protocol”を通じてインターネットでバックエンドサーバと通信することができる。このサーバは、画面上の特定位置での表示の生成、世論調査の実行、他の特殊DOの開始などのように、オーディオ/ビデオプログラムと同期化される対話型機能の提供のための具体的な指示事項を提供することができる。
【0489】
上記の動作は同様に、次のとおりである。
【0490】
まず、アプリケーションが開始され得る。その後、時間ベーストリガを受信する。時間ベーストリガは、アプリケーションが実行された後にアプリケーションに配信される。時間ベーストリガのcontent_id項には、現在視聴されているコンテンツに関するコンテンツ識別情報が含まれている。アプリケーションは、相互作用のためのコンテキストを識別し、現在視聴中のコンテンツを識別するためにcontent_idをバックエンドサーバに配信することができる。
【0491】
図26は、直接実行モデルにおける送信方法の一実施例を示す図である。
【0492】
本発明による直接実行モデルにおける送信方法の一実施例は、トリガ生成(sw010)、放送信号生成(sw020)、放送信号送信(sw030)を含むことができる。
【0493】
トリガ生成(sw010)は、送信するトリガを作成する段階である。ここで、トリガは、第1識別子及びパラメータを含むことができる。第1識別子は、開始されるアプリケーションを識別することができる。パラメータは、メディア時間スタンプとコンテンツ識別子を含むことができる。メディア時間スタンプは、コンテンツの再生において現在点を示すことができる。コンテンツ識別子は、現在視聴されているコンテンツを識別することができる。トリガは、アプリケーションが開始された後にアプリケーションに配信され得る。アプリケーションは、現在視聴中のコンテンツを識別するために、コンテンツ識別子をサーバに配信することができる。
【0494】
第1識別子は、前述したトリガ構文においてlocator_partに該当し得る。locator_partは、<domain name part>と<directory path>の部分からなっていてもよい。<domain name part>と<directory path>の組合せによって、開始されるアプリケーションを一意に識別することができる。
【0495】
パラメータは、前述したトリガ構文において<parameter>部分に該当し得る。<parameters>は、“event_time”、“media_time”、又は“spread”の一つ以上で構成してもよい。
【0496】
メディア時間スタンプは、<parameters>のうち、前述した“media_time”に該当し得る。
【0497】
コンテンツ識別子は、<parameters>のうち、前述した“media_time”内のcontent_id項に該当し得る。
【0498】
サーバは、前述したバックエンドサーバであってもよい。
【0499】
受信端では、当該トリガを受けてパースし、第1識別子、パラメータ、メディア時間スタンプ、コンテンツ識別子情報を得ることができる。第1識別子情報を用いて、実行されるアプリケーションを識別することができる。受信したトリガは実行中のアプリケーションに配信することができる。アプリケーションはパラメータ内のメディア時間スタンプ内のコンテンツ識別子情報をサーバに配信し、サーバが、現在視聴されているコンテンツに関する情報を識別し得るようにすることができる。その後、サーバは、対話型機能の提供のための具体的な指示事項を提供することができる。
【0500】
トリガ生成(sw010)段階において、本発明の一実施例は、次のとおりである。第1識別子は、第1部分及び第2部分からなってもよい。ここで、第1部分は、前述した<domain name part>であってもよい。第2部分は、前述した<directory path>であってもよい。<domain name part>と<directory path>については前述したように、第1部分は、登録されたインターネットドメイン名を参照でき、第2部分は、識別されたドメイン名に対する権限を持つエンティティの制御及び管理下でディレクトリ経路を識別することができる。
【0501】
トリガ生成(sw010)段階で、本発明の一実施例においてトリガは最大52バイトの長さを有してもよい。
【0502】
トリガ生成(sw010)段階で、本発明の一実施例は次のとおりである。アプリケーションがあらかじめ設置されていないか又は既にキャッシュに記憶されていない場合、アプリケーションがダウンロードされ、アプリケーションは第1識別子によって識別される。受信端では、第1識別子によって識別されるアプリケーションが存在しない場合に、それをダウンロードすることができる。
【0503】
トリガ生成(sw010)段階で、本発明の一実施例において「コンテンツの再生における現在時点」は、セグメントのメディア時間を意味することができる。
【0504】
トリガ生成(sw010)段階で、本発明の一実施例は、アプリケーションが宣言的オブジェクト、トリガされた宣言的オブジェクト、非実時間宣言的オブジェクト、非結合宣言的オブジェクトのいずれか一つであってもよい。
【0505】
放送信号生成(sw020)は、先に生成したトリガを含む放送信号を作成する段階であってもよい。放送信号を生成する過程は、当該技術の分野において一般に用いられる方法であってもよい。
【0506】
放送信号生成(sw020)段階で、本発明の一実施例は、放送信号を生成する過程において、トリガを放送信号のDTV字幕チャネルに挿入することができる。
【0507】
放送信号送信(sw030)は、生成された放送信号を送信する段階であってもよい。
【0508】
直接実行モデルの場合にも、
図23、
図24で説明した受信機の構造を適用することができる。
【0509】
図27は、直接実行モデルにおける受信装置の一実施例を示す図である。
【0510】
本発明による直接実行モデルにおける受信装置の一実施例は、チューナx010、トリガモジュールx020、通信網インタフェースx030、表示モジュールx040を含むことができる。
【0511】
チューナx010は、
図23で説明したチューナと同様の動作を行うことができる。チューナx010は、content_id情報を有するトリガを含む放送信号を受けることができる。ここで、content_idは、上述した現在放映中のコンテンツの識別子であってもよい。
【0512】
トリガモジュールx020は、
図23で説明したトリガモジュールと同様の動作を行うことができる。トリガモジュールx020は、放送信号をパースしてトリガを得ることができる。そして、トリガモジュールx020は、トリガをパースして第1識別子及びパラメータを得ることができる。トリガモジュールx020は、第1識別子によって識別されたアプリケーションを開始することができる。そして、トリガモジュールx020は、パラメータをパースして、メディア時間スタンプ及びコンテンツ識別子を得ることができる。
【0513】
第1識別子は、開始されるアプリケーションを識別することができる。トリガは、アプリケーションが開始された後にアプリケーションに配信され得る。メディア時間スタンプは、コンテンツの再生において現在点を示すことができる。コンテンツ識別子は、現在視聴されているコンテンツを識別することができる。
【0514】
トリガ、第1識別子、パラメータ、メディア時間スタンプ、コンテンツ識別子の意味及び相互間の動作は、直接実行モデルにおける放送信号の送信過程で説明した内容と同一であってもよい。
【0515】
本発明の一実施例は、次のとおりである。第1識別子は、第1部分及び第2部分からなってもよい。第1部分は、前述した<domain name part>であってもよい。第2部分は、前述した<directory path>であってもよい。<domain name part>と<directory path>については前述したように、第1部分は、登録されたインターネットドメイン名を参照でき、第2部分は、識別されたドメイン名に対する権限を持つエンティティの制御及び管理下でディレクトリ経路を識別することができる。
【0516】
本発明の一実施例において、トリガは最大52バイトの長さを有してもよい。
【0517】
本発明の一実施例において、「コンテンツの再生における現在時点」は、セグメントのメディア時間を意味する。
【0518】
本発明の一実施例は、アプリケーションが宣言的オブジェクト、トリガされた宣言的オブジェクト、非実時間宣言的オブジェクト、非結合宣言的オブジェクトのいずれか一つであってもよい。
【0519】
本発明の一実施例は、トリガが放送信号内のDTV字幕チャネルに挿入されていてもよい。
【0520】
通信網インタフェースx030はサーバと通信することができる。アプリケーションは、現在視聴されているコンテンツを識別するために、通信網インタフェースを用いてコンテンツ識別子をサーバに配信することができる。
【0521】
本発明の一実施例は、次のとおりである。アプリケーションがあらかじめ設置されていないか、又は既にキャッシュに記憶されていない場合、アプリケーションがダウンロードされ、アプリケーションは第1識別子によって識別される。受信端では、第1識別子によって識別されるアプリケーションが存在しない場合、アプリケーションを通信網インタフェースx030を介してダウンロードすることができる。
【0522】
表示モジュールx040はアプリケーションを表示することができる。
【0523】
(実施例)
様々な実施例が、発明を実施するための形態において上述されている。