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