受信機は、BMLブラウザ拡張関数であるstartAITControlledApp()や、ハイブリッドキャストアプ リケーションが呼び出すIPTVFJ STD-0011「3.1.3. アプリケーションオブジェクト」定義の replaceApplication()の呼び出しにより取得される、IPTVFJ STD-0010「Appendix A.4. アプリケーシ ョン制御情報の記述方式」記載のAITを正しく解釈し、指定されたアプリケーションIDについ て起動可能と判断した場合は、該当するハイブリッドキャストアプリケーションを起動すること。
また、受信機はアプリケーションプロファイル(application_profile)を比較するため、自身の性能を 示したビットマップを持たなければならない。受信機が保持するapplication_profileと、取得した AIT内アプリケーション記述子の同一プロファイルを示すapplication_profileのうち、上位3bitが 一致する組において、受信機の当該値下位13bitのあるbitが0であり、かつ取得したAIT内の当 該値の同bitが1の場合、受信機は起動要求されたハイブリッドキャストアプリケーションを実行 できないと判断する。アクセス権限ビットマップ(permission_bitmap)については、本書8.1.4.3.17.1 記載の通り解釈すること。
指定されたアプリケーション制御情報を精査した結果、アプリケーションが起動できないと判定 された場合、利用者に対して次アプリケーションの起動ができない旨を通知して、図B-1におけ る「放送受信映像のみ」ステートへ遷移することが考えられるが、その具体的な実施方法は本運 用規定では規定しない。別の実現方法として呼び出し関数に対する例外を発生させるなど、前の 状態を維持するケースが考えられる。
一方、自受信機でハイブリッドキャストアプリケーションを動作できると判断すると、アプリケ ーションエンジンが動作していない場合については、必要なパラメータを持たせアプリケーショ ンエンジンを起動する。前記必要なパラメータとは、例えばハイブリッドキャストアプリケーシ ョン取得先情報である。既にアプリケーションエンジンが動作している場合は、アプリケーショ ン取得とその実行を行う。図B-1ならびに図B-2を見ると、BMLブラウザが主として動作してい る期間とHTMLブラウザが主として動作している期間が存在し、そのプロセスの遷移が発生する モデルとなっている、さらにその境界ではAITの取得やAITの正当性をチェックするポイントが 存在する。よって各ブラウザのライフサイクルに依存しないように、AIT処理モジュールを実装 する必要がある。
取得できたかAITを BML動作中
startAITControlledApp 呼び出し
startAITControlledApp 引数チェック
指定URLから AIT取得 戻り値NaNを返す
BMLブラウザ 起動指示により起動
放送映像提示のみ 始
y n
A
Bへ
BMLブラウザ動作期間 C
引数条件を 満たすか
y n
図B-1 アプリケーション遷移サイクルフロー例(BMLブラウザ部)
アプリケーション動作中HTML HTMLブラウザへ
移行
AIT指定のURLから アプリケーション取得
destroyApplication replaceApplication 呼び出し
呼び出し
AIT正当性 チェック
アプリ起動 条件満たすか 指定URLから AIT取得
n y
アプリケーションエンジン動作期間 エラー
exitFromManagedState 呼び出し
放送映像/
音声停止
指定URLから取得 したドキュメント提示
遷移 終了操作
launchDataBroadcastingBrowser
呼び出し
引数正当性 チェック
ブラウザ起動 条件満たすか y
n B
Aへ (選局など)終了操作 Aへ
Aへ Cへ
アプリ起動 条件満たす?
AIT正当性 チェック
Aへ
取得できたかAITを n
y
Aへ
y
n
図 B-2 アプリケーション遷移サイクルフロー例(アプリケーションマネージャ部)