(57)【要約】プログラムのダウンロード時に、ユーザの視聴または録画を少なくとも突然妨害するのを防止することができるダウンロード実行装置を提供する。ＡＭ（１２０５ｂ）は、現在のチューニング情報とプログラムをダウンロードするために必要な周波数とを比較して、ダウンロード元を決定するダウンロード元決定部（２９０１）、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得するチューニング周波数取得部（２９０２）、プログラムをダウンロードするために必要な周波数を取得するダウンロード周波数取得部（２９０３）、決定されたダウンロード元からプログラムをダウンロードしてストアするストア部（２９０４）、ユーザにプログラムがダウンロードされることを通知する通知部（２９０５）、プログラムをダウンロードするために必要な周波数に指定されたチューナをチューニングするチューニング要求部（２９０６）を備える。【特許請求の範囲】
【請求項１】
プログラムのダウンロードを実行するダウンロード実行装置であって、
前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段と、
前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段と
を備えることを特徴とするダウンロード実行装置。
【請求項２】
前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも１つのチューナと、
前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、
前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と
を備えることを特徴とする請求項１記載のダウンロード実行装置。
【請求項３】
前記ダウンロード実行装置は、さらに、
前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項４】
前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項３記載のダウンロード実行装置。
【請求項５】
前記ダウンロード実行装置は、さらに、
前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備える
ことを特徴とする請求項３記載のダウンロード実行装置。
【請求項６】
前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択する
ことを特徴とする請求項５記載のダウンロード実行装置。
【請求項７】
前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項８】
前記メッセージ通知手段は、前記メッセージを所定時間表示する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項９】
前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１０】
前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも１つを前記ユーザへ提供する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１１】
前記ダウンロード実行装置は、さらに、
前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１２】
前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定する
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１３】
前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付ける
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１４】
前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、
前記ダウンロード実行装置は、さらに、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段を備え、
前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行する
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１５】
前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付ける
ことを特徴とする請求項１４記載のダウンロード実行装置。
【請求項１６】
前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定する
ことを特徴とする請求項１５記載のダウンロード実行装置。
【請求項１７】
前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、
前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定する
ことを特徴とする請求項１４記載のダウンロード実行装置。
【請求項１８】
前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知する
ことを特徴とする請求項１７記載のダウンロード実行装置。
【請求項１９】
前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知する
ことを特徴とする請求項１７記載のダウンロード実行装置。
【請求項２０】
前記ダウンロード実行装置は、さらに、
前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備える
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項２１】
前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、
前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２２】
前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２３】
前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２４】
前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも１つを含む
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項２５】
前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも１つを行う
ことを特徴とする請求項２４記載のダウンロード実行装置。
【請求項２６】
前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から１つの組を決定する
ことを特徴とする請求項２４記載のダウンロード実行装置。
【請求項２７】
前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項２８】
前記ダウンロード実行装置は、さらに、
放送波を受信する少なくとも一つのチューナと、
前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備える
ことを特徴とする請求項２７記載のダウンロード実行装置。
【請求項２９】
前記ダウンロード実行装置は、さらに、
前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２８記載のダウンロード実行装置。
【請求項３０】
前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２９記載のダウンロード実行装置。
【請求項３１】
前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定する
ことを特徴とする請求項２８記載のダウンロード実行装置。
【請求項３２】
前記ダウンロード実行装置は、さらに、
ユーザへメッセージ通知を行うメッセージ通知手段と、
前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
ことを特徴とする請求項２７記載のダウンロード実行装置。
【請求項３３】
前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、
前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定する
ことを特徴とする請求項３２記載のダウンロード実行装置。
【請求項３４】
前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項３５】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定する
ことを特徴とする請求項３４記載のダウンロード実行装置。
【請求項３６】
前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項３７】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定する
ことを特徴とする請求項３６記載のダウンロード実行装置。
【請求項３８】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項３９】
前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４０】
前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成する
ことを特徴とする請求項３９記載のダウンロード実行装置。
【請求項４１】
前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成する
ことを特徴とする請求項３９記載のダウンロード実行装置。
【請求項４２】
前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４３】
前記ダウンロード実行装置は、さらに、
前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備える
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４４】
前記ダウンロード実行装置は、放送受信装置である
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４５】
プログラムのダウンロードを実行するダウンロード実行方法であって、
前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定ステップと、
前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行ステップと
を含むことを特徴とするダウンロード実行方法。
【請求項４６】
実行プログラムのダウンロードを実行するためのプログラムであって、
前記実行プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定ステップと、
前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記実行プログラムのダウンロードを実行するダウンロード実行ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、プログラムをダウンロードして実行する例えばデジタル放送受信機等のダウンロード実行装置に関する。
【背景技術】
【０００２】  従来の放送受信機におけるプログラムのダウンロードは、ダウンロードするプログラムを放送波によって送信されるトランスポートストリームへ挿入し、プログラムの流れるトランスポートストリームへチューニングすることでダウンロードする方法が一般的である。トランスポートストリームへプログラムを挿入する方法は、ＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式が用いられる。ＤＳＭＣＣは一般的な技術のため詳細な説明は省略する。このように、プログラムのダウンロードを行う際には、チューニングが発生する。このため、プログラムのダウンロードを行う放送受信機は、ユーザの視聴あるいは録画を妨げないように、プログラムのダウンロードを行う前に、放送受信機の現在の状態が視聴あるいは録画中か否かを検出し、視聴あるいは録画が行われていない状態の時にプログラムのダウンロードを行っている。これにより、プログラムのダウンロードがユーザの番組視聴あるいは録画を妨害することはなかった。【０００３】  一方、特許文献１では、プログラムをダウンロードするか否かをユーザへ問い合わせる手法が提案されている。この特許文献１は、図１に示すように放送受信機内でエラーが発生した際に、プログラムのバージョンアップを検出し、放送受信機のエラーが修復される際には通知を行い、ユーザにバージョンアップを行うか否かの確認を行うことを特徴としている。【０００４】  以上のように、プログラムのダウンロードを行う手法としては、放送受信機の状態が視聴あるいは録画などが行われていない状態の時に限りダウンロードを行う手法と、放送受信機のエラー発生時にダウンロードするか否かをユーザへ通知し、応答を受信する手法が存在している。【０００５】  ところで、放送受信機は、放送局からプログラムのダウンロード要求を受信し、ダウンロードを開始する。このプログラムのダウンロード要求には、放送受信機がダウンロードすることができる方法が複数記載されていることがある。この一例として、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−Ｉ１１−０４０６０４）を説明する。ＯＣＡＰ仕様では、ＥＰＧやＶＯＤなどのサービスを記述したプログラムを放送受信機上へダウンロードし実行することを特徴としている。ＯＣＡＰ仕様は、トランスポートストリームによる配信とネットワーク経由の配信によってダウンロードすることができることを規定している。このため放送局は、プログラムをトランスポートストリームとして配送することも、ネットワーク経由で配送することも、あるいはこの両方から配送することもできる。しかしながらＯＣＡＰ仕様は、受信端末機は、一つあるいは複数のダウンロード方法を示されたダウンロード要求を受信した際に、どの配信方法を利用するか、また、ユーザの視聴を妨げる場合の振る舞いについては、規定していない。
【特許文献１】特開２００３−６７２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】  しかしながら、従来の放送受信機の状態が、視聴あるいは録画を行っていない状態のときに限りダウンロードを行う手法では、放送受信機が視聴あるいは録画を行っていない状態で、放送局からダウンロード要求を受信できないと、プログラムのダウンロードが先送りになるという問題があった。また、ユーザはプログラムのダウンロードが延期されたことを知ることができなかった。そこで、ダウンロード時にユーザへ通知する手法の使用が考えられるが、特許文献１においては、放送受信機内でエラーが発生した際に、プログラムのダウンロードをするか否かをユーザへ問う方針のため、エラーが発生するまではプログラムのダウンロードが発生しない。【０００７】  また、ユーザの視聴または録画中である番組以外に関するプログラムのダウンロード要求を受けた際にダウンロードを行おうとすると、例えば放送受信機が保有するチューナのうちプログラムのダウンロードに利用可能なチューナが全て使用中であり、かつ、ダウンロードを行うトランスポートストリームが流れている周波数が、現在チューニングされている周波数と異なる場合には、プログラムのダウンロードによりユーザの視聴または録画が妨げられることになる。【０００８】  さらに、ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様（ＯｐｅｎＣａｂｌｅ  Ｃｏｍｍｏｎ  Ｄｏｗｎｌｏａｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）では、放送受信機のファームウェア（機器に組み込まれたソフトウェア）を端末へダウンロードする方法を規定している。ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様は、ダウンロード元情報に加え、ダウンロードのタイミングを指定するダウンロード要求を端末へ伝送することを規定している。そのため、ダウンロードのタイミング指定によっては、ユーザの視聴を妨げる可能性がある。しかしながら、ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様は、そのような場合の端末の振る舞いについては、規定していない。【０００９】  そこで、本発明は上記の事情に鑑みてなされたものであり、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができるダウンロード実行装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】  上記目的を達成するため、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード元情報を含むダウンロード要求を受信するダウンロード要求受信手段と、放送波を受信する少なくとも１つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。【００１１】  これによって、プログラムのダウンロードに利用できるチューナが存在するか否かに応じて、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。【００１２】  また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。【００１３】  これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるときに限り、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。なお、これ以外のメッセージに関してもユーザへ通知することができる。また、ユーザがチューナを使用する例として、番組視聴や録画がある。【００１４】  また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。【００１５】  これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、かつ利用されていないチューナがない場合に、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。【００１６】  また、前記ダウンロード実行装置は、さらに、前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備えてもよい。【００１７】  これによって、現在のチューニン��でプログラムのダウンロードが実行不可能と判断された際に、チューニングを実行することにより、プログラムのダウンロードを行うことができる。【００１８】  また、前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択してもよい。【００１９】  これによって、チューニングを実行する際に、チューナの利用状況あるいは利用目的に応じて、チューニングを実行するチューナを選択することにより、チューナを使用しているユーザへの影響を軽減することができる。【００２０】  また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知してもよい。【００２１】  これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、利用されていないチューナが存在しないときにユーザへメッセージ通知を行うことにより、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザへメッセージを通知することができる。【００２２】  また、前記メッセージ通知手段は、前記メッセージを所定時間表示してもよい。これによって、メッセージが表示されつづけるのを防ぐことができる。【００２３】  また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知してもよい。これによって、ユーザへダウンロード待ち状態にあることを通知することができる。【００２４】  また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも１つを前記ユーザへ提供してもよい。これによって、ダウンロード中の映像あるいは音声の切り替わりによるユーザの不快感を軽減することができる。【００２５】  また、前記ダウンロード実行装置は、さらに、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。【００２６】  また、前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定してもよい。これによって、ユーザからの応答を受信できなかった場合も、処理することができる。【００２７】  また、前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないプログラムのダウンロードすることを防ぐことができる。【００２８】  また、前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、前記ダウンロード実行装置は、さらに、前���ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段を備え、前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行してもよい。これによって、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。【００２９】  また、前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。【００３０】  また、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定してもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。【００３１】  また、前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定してもよい。これによって、ユーザが希望するダウンロード方法を決定することができる。【００３２】  また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知してもよい。これによって、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザはダウンロード方法を選択することができる。【００３３】  また、前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知してもよい。これによって、ユーザがダウンロード元を選択する処理を補助することができる。【００３４】  また、前記ダウンロード実行装置は、さらに、前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備えてもよい。これによって、所定の時間にダウンロードを開始することができるため、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。【００３５】  また、前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムの��ウンロードを開始する時間として設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。【００３６】  また、前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザからダウンロードを開始する時間を設定されなくても、設定された時間からダウンロードを開始することができる。【００３７】  また、前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。【００３８】  また、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段と、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。【００３９】  これによって、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。【００４０】  また、前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも１つを含んでもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法から、ダウンロード方法を選択することができる。【００４１】  また、前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも１つを行ってもよい。これによって、プログラムのダウンロードを実行することができる。【００４２】  また、前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から１つの組を決定してもよい。これによって、効率的にダウンロード方法およびダウンロード元を決定することができる。【００４３】  また、前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウ���ロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、従来のアプリケーションのダウンロード方法と同様に処理することができ、ネットワークあるいは他のダウンロード方法を持たないダウンロード実行装置でも処理することができる。【００４４】  また、前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも一つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備えてもよい。これによって、プログラムのダウンロードに利用できるチューナの有無を確認することができる。【００４５】  また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるか否かを判断し、ダウンロード元を決定することができる。【００４６】  また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、現在のチューニングでプログラムのダウンロードが不可能と判断され、かつ利用されていないチューナがない場合に、他のダウンロード元を決定することができる。【００４７】  また、前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定してもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法が利用できない場合は、ネットワークから取得する方法あるいは、記憶媒体からプログラムを取得する方法を選択することができる。【００４８】  また、前記ダウンロード実行装置は、さらに、ユーザへメッセージ通知を行うメッセージ通知手段と、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。【００４９】  また、前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定してもよい。これによって、従来のアプリケーションダウンロード方法として一般的な、プログラムがエンコードおよび多重化されたストリームからのプログラムのダウンロードをユーザが望まない場合は、ネットワークからプログラムのダウンロードを行うことができる。【００５０】  また、前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。【００５１】  また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。【００５２】  また、前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。【００５３】  また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。【００５４】  また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定してもよい。これによって、最も高速にダウンロードを実行することができる。【００５５】  また、前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定してもよい。これによって、ダウンロード中にエラーが発生した場合でも、プログラムのダウンロードを再実行することができる。【００５６】  また、前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成してもよい。これによって、ダウンロー��元を検出あるいは接続できない場合でも、プログラムのダウンロードを再実行することができる。【００５７】  また、前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元にプログラムが存在しない場合でも、プログラムのダウンロードを再実行することができる。【００５８】  また、前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定してもよい。これによって、チューニングにおいてエラーが検出された場合でも、プログラムのダウンロードを再実行することができる。【００５９】  また、前記ダウンロード実行装置は、さらに、前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備えてもよい。これによって、プログラムを実行する際に、プログラムのダウンロードを行う必要がなくなる。【００６０】  また、前記ダウンロード実行装置は、放送受信装置であってもよい。これによって、ダウンロード元決定手段はダウンロード方法及びダウンロード元を決定する際に、放送受信装置が備えるチューナデバイスやネットワークなどのリソースの情報を利用することができる。【００６１】  なお、本発明は、このようなダウンロード実行装置として実現することができるだけでなく、このようなダウンロード実行装置が備える特徴的な手段をステップとするダウンロード実行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００６２】  本発明に係るダウンロード実行装置によれば、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。【００６３】  また、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
【図面の簡単な説明】
【００６４】
【図１】図１は、従来におけるプログラムのダウンロードの処理を示すフローチャートである。
【図２】図２は、本発明に係るケーブルテレビシステムの実施の形態１の構成図である。
【図３】図３は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図４】図４は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図５】図５は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図６】図６は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。
【図７】図７は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。
【図８】図８は、本発明に係るＰＯＤのハードウェア構成の構成図である。
【図９】図９は、本発明に係るＰＯＤが保存するプログラム構成の構成図である。
【図１０】図１０は、ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１１】図１１は、ＭＰＥＧ２トランスポートストリームの一例を示す図である。
【図１２】図１２は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
【図１３】図１３は、本発明に係る端末装置が保存するプログラム構成の構成図である。
【図１４】図１４（ａ）、（ｂ）は、本発明に係るディスプレイの表示の一例を示す図である。
【図１５】図１５は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図１６】図１６（ａ）、（ｂ）、（ｃ）は、本発明に係る１次記憶部が保存する情報の一例を示す図である。
【図１７】図１７は、本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図１８】図１８は、本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図１９】図１９は、本発明に係るＯＣＡＰ仕様が規定するＡＩＴの内容を表す模式図である。
【図２０】図２０は、本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２１】図２１は、本発明に係るＸＡＩＴの内容を表す模式図である。
【図２２】図２２は、本発明に係るＤＳＭＣＣ方式で伝送されるファイルシステムとネットワーク方式におけるダウンロードを提供するサーバ内のファイルシステムを表す模式図である。
【図２３】図２３は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図２４】図２４は、本発明に係るＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。
【図２５】図２５は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例の一部であり、ストアを行う処理部分を示すフローチャートである。
【図２６】図２６は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例の一部であり、アプリケーションの起動部分を示すフローチャートである。
【図２７】図２７は、実施の形態１において、ＡＭのアプリの起動ＡＰＩの呼び出しによってアプリの起動指示を行うまでの動作の一例を示すフローチャートである。
【図２８】図２８（ａ）、（ｂ）は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２９】図２９（ａ）、（ｂ）は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３０】図３０は、実施の形態１において、ＡＭの構成を示す図である。
【図３１】図３１は、実施の形態１において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３２】図３２は、実施の形態１において、図３１の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３３】図３３は、実施の形態１において、通知部によるユーザへのアプリケーションのダウンロード通知に伴い、ダイアログ表示プログラムが、ディスプレイ５０９に表示するダウンロード通知の一例を示す図である。
【図３４】図３４は、実施の形態１において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３５】図３５は、実施の形態２において、ＡＭの構成を示す図である。
【図３６】図３６は、実施の形態２において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３７】図３７は、実施の形態２において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３８】図３８は、実施の形態２において、図３１の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３９】図３９は、実施の形態２において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４０】図４０は、実施の形態２において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４１】図４１は、実施の形態３において、ＡＭの構成を示す図である。
【図４２】図４２は、実施の形態３において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４３】図４３は、実施の形態３において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４４】図４４は、実施の形態３において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４５】図４５は、実施の形態４において、ＡＭの構成を示す図である。
【図４６】図４６は、実施の形態４において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４７】図４７は、実施の形態４において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４８】図４８は、実施の形態５において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４９】図４９は、実施の形態５において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５０】図５０は、実施の形態５において、図４９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５１】図５１は、実施の形態５において、図４９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５２】図５２は、実施の形態６において、ＡＭの構成を示す図である。
【図５３】図５３は、実施の形態６において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５４】図５４は、実施の形態６において、図５３の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５５】図５５は、実施の形態６において、図５３の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５６】図５６は、実施の形態７において、ＡＭの構成を示す図である。
【図５７】図５７は、実施の形態７において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５８】図５８は、実施の形態７において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５９】図５９は、実施の形態７において、図５８の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６０】図６０は、実施の形態８において、ＡＭの構成を示す図である。
【図６１】図６１は、実施の形態８において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６２】図６２は、実施の形態８において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６３】図６３は、実施の形態９において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図６４】図６４は、実施の形態９における、プロトコル識別子にディスク指定を行ったＸＡＩＴの内容を表す模式図である。
【図６５】図６５は、実施の形態９において、ＡＭの構成を示す図である。
【図６６】図６６は、実施の形態９において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６７】図６７は、実施の形態１０のダウンロード実行装置の一例を説明するための図である。
【図６８】図６８は、実施の形態１０における、Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅの処理動作の一例を示すフローチャートである。
【図６９】図６９は、実施の形態１０における、ファームウェア更新情報の一例を示す図である。
【符号の説明】
【００６５】  １２０５ｂ  ＡＭ
２９０１    ダウンロード元決定部
２９０２    チューニング周波数取得部
２９０３    ダウンロード周波数取得部
２９０４    ストア部
２９０５    通知部
２９０６    チューニング要求部
【発明を実施するための最良の形態】
【００６６】  （実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図２は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。【００６７】  ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。図３は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図４は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。図５は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。【００６８】  ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明���主として端末装置に関わるので、詳細な説明は省略する。【００６９】  端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。【００７０】  図６は、端末装置（ダウンロード実行装置）のハードウェア構成を表すブロック図である。端末装置（ダウンロード実行装置）５００は、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、ＣＰＵ５１４で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。【００７１】  図７は、端末装置５００の外観の一例である薄型テレビである。【００７２】  薄型テレビの筐体６０１は、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべて内蔵している。【００７３】  ディスプレイ６０２は、図６におけるディスプレイ５０９に相当する。【００７４】  フロントパネル部６０３は複数のボタンで構成され、図６の入力部５１３に相当する。【００７５】  信号入力端子６０４は、ヘッドエンド１０１との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子６０４は、図６のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。【００７６】  ＰＯＤカード６０５は、図６のＰＯＤ５０４に相当する。ＰＯＤ５０４は、図７のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。【００７７】  挿入スロット６０６は、ＰＯＤカード６０５が挿入される挿入スロットである。【００７８】  図６を参照して、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【００７９】  ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【００８０】  ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。【００８１】  ＰＯＤ５０４は、図７のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（ＴＭ）ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。【００８２】  図８は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０��、第２記憶部７０５、ＣＰＵ７０６で構成される。【００８３】  第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。【００８４】  第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。【００８５】  スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。【００８６】  第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。【００８７】  第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。【００８８】  ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図９は、第２記憶部７０５が記憶するプログラムの一例である。図９では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、ＰＰＶサブプログラム８０５等複数のサブプログラムで構成されている。【００８９】  ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。【００９０】  メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。【００９１】  初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（ＴＭ）ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。【００９２】  また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。【００９３】  この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、ネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。【００９４】  ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。【００９５】  再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。【００９６】  ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。【００９７】  図６を参照して、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図１０はパケットの構成図である。９００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。９０３は、ヘッダー９０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図１１は送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。【００９８】  パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を���結すると、連続した映像や音声を再現することができる。【００９９】  図１１を参照して、ＣＰＵ５１４がパケットＩＤ「１」と出力先として「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１１においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１１においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。【０１００】  このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。【０１０１】  図６を参照して、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。【０１０２】  スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。【０１０３】  ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ５０９に出力する。【０１０４】  ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。【０１０５】  ２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。【０１０６】  １次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。【０１０７】  ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。【０１０８】  入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図１２は、フロントパネルで入力部５１３を構成した場合の一例である。１１００はフロントパネルであり、図７のフロントパネル部６��３に相当する。フロントパネル１１００は７つのボタン、上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、ＥＰＧボタン１１０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。【０１０９】  ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２を制御する。【０１１０】  図１３は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例である。【０１１１】  プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、Ｊａｖａ（登録商標）ＶＭ１２０３（以後ＶＭ１２０３と称す）、サービスマネージャ１２０４、Ｊａｖａ（登録商標）ライブラリ１２０５（以後ライブラリ１２０５と称す）で構成される。【０１１２】  ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。【０１１３】  機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。【０１１４】  ＥＰＧ１２０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザからの入力を待つ。ここで、入力部５１３が図１２で示されるフロントパネルで構成されている場合、ユーザが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する���図１４（ａ）及び（ｂ）は、ディスプレイ５０９に表示された番組表の一例である。図１４（ａ）を参照して、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１３３０は、カーソルである。カーソル１３３０は、フロントパネル１１００の左カーソルボタン１１０３と右カーソルボタン１１０４を押下すると移動する。図１４（ａ）の状態で、右カーソルボタン１１０４を押下すると、カーソルボタン１３３０は右に移動し、図１４（ｂ）のようになる。また、図１４（ｂ）の状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１４（ａ）のようになる。【０１１５】  図１４（ａ）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１４（ｂ）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。【０１１６】  また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。【０１１７】  再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。図１５は２次記憶部５１０に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの���別子をそのままサービスマネージャに引き渡す。【０１１８】  また、再生部１２０２ｂは、再生中に、ユーザがフロントパネル１１００の上カーソルボタン１１０１と下カーソルボタン１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。図１６（ａ）（ｂ）及び（ｃ）は、１次記憶部５１１に保存しているチャンネルの識別子の例である。図１６（ａ）では識別子「３」が記憶されており、図１５を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１６（ａ）の状態で、ユーザが上カーソルボタン１１０１を押下すると再生部１２０２ｂは、図１５のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「２」に書き換える。図１６（ｂ）は、チャンネル識別子が書き換えられた状態を表す。また、図１６（ａ）の状態で、ユーザが下カーソルボタン１１０２を押下すると再生部１２０２ｂは、図１５のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「４」に書き換える。図１６（ｃ）は、チャンネル識別子が書き換えられた状態を表す。【０１１９】  ＶＭ１２０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａ（登録商標）バーチャルマシンである。Ｊａｖａ（登録商標）言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａ（登録商標）バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａ（登録商標）バーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＶＭ１２０３は、カーネル１２０１ａに実行するＪａｖａ（登録商標）プログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａ（登録商標）プログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ（登録商標）言語の詳細は、書籍「Ｊａｖａ（登録商標）Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Ｊａｖａ（登録商標）バーチャルマシン自体の詳細な動作などは、「Ｊａｖａ（登録商標）Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。【０１２０】  サービスマネージャ１２０４は、Ｊａｖａ（登録商標）言語で書かれたＪａｖａ（登録商標）プログラムであり、ＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ（登録商標）Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ（登録商標）言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ（登録商標）Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。【０１２１】  サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。【０１２２】  サービスマネージャ１２０４は、最初にライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１５の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。【０１２３】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。【０１２４】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。【０１２５】  まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。図１７は、収集したＰＡＴの情報の一例を模式的に表した表である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１５の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１７のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。図１８は、収集したＰＭＴの情報の一例を模式的に表した表である。列１７０１は、ストリーム種別であり。列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１８を参照して、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。【０１２６】  次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ５０６、映像のパケットＩＤと出力先としてビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ５０９に映像を表示する。【０１２７】  最後にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａ（登録商標）プログラムを抽出し、ＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａ（登録商標）プログラムを埋め込む方法は���ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａ（登録商標）プログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＯＣＡＰ仕様（正式には、ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。【０１２８】  ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１７のＰＡＴ、図１８のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１８のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図１８を参照して、行１７１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。【０１２９】  ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。図１９は、収集したＡＩＴの情報の一例を模式的に表した表である。列１８０１はＪａｖａ（登録商標）プログラムの識別子である。列１８０２はＪａｖａ（登録商標）プログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａ（登録商標）プログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１８０４はＪａｖａ（登録商標）プログラムのプログラム名である。行１８１１と１８１２は、Ｊａｖａ（登録商標）プログラムの情報の組である。行１８１１で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａ（登録商標）プログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａ（登録商標）プログラムが含まれていることを表す。ここでは、Ｊａｖａ（登録商標）プログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）を参照されたい。【０１３０】  ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａ（登録商標）プログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａ（登録商標）プログラム名を抽出する。図１９を参照して、ＡＭ１２０５ｂは行１８１１のＪａｖａ（登録商標）プログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａ（登録商標）プログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。【０１３１】  次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、Ｊａｖａ（登録商標）プログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。【０１３２】  今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１８とすると、行１７１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。【０１３３】  ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。【０１３４】  図２０は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１９０１はルートディレクトリ、１９０２はディレクトリ「ａ」、１９０３はディレクトリ「ｂ」、１９０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１９０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。【０１３５】  次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａ（登録商標）プログラムをＶＭ１２０３に引き渡す。今、実行するＪａｖａ（登録商標）プログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａ（登録商標）プログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２０を参照して、ファイル１９０４が実行すべきＪａｖａ（登録商標）プログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＶＭ１２０３に引き渡す。【０１３６】  ＶＭ１２０３は、引き渡されたＪａｖａ（登録商標）���ログラムを実行する。【０１３７】  サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、ライブラリ１２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａ（登録商標）プログラムの実行を、同じくライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａ（登録商標）プログラムの実行を行う。【０１３８】  ライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａ（登録商標）ライブラリの集合である。本実施の形態では、ライブラリ１２０５は、ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、Ｔｕｎｅｒ１２０５ｃ、ＣＡ１２０５ｄ、ＰＯＤ  Ｌｉｂ１２０５ｅ等を含んでいる。【０１３９】  次に、Ｊａｖａ（登録商標）プログラムのダウンロード・保存及び実行機能について説明する。【０１４０】  サービスマネージャ１２０４は、ライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１との通信によりヘッドエンド１０１からの情報を受け取ることができる。この通信は、ＰＯＤ  Ｌｉｂ１２０５ｅはＯＳ１２０１のライブラリ１２０１ｂ及び、ＰＯＤ５０４を介して、ＱＰＳＫ復調部５０２を使用して実現される。【０１４１】  サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａ（登録商標）プログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴ情報に必要とする情報が含まれていれば、本発明は実施可能である。【０１４２】  図２１は、ヘッドエンド１０１から取得したＸＡＩＴ情報の一例を模式的に表した図である。列２００１はＪａｖａ（登録商標）プログラムの識別子である。列２００２はＪａｖａ（登録商標）プログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｔａｒｔ」は端末装置５００が電源投入時またはＸＡＩＴ情報が更新された時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、プロトコル識別子である。プロトコル識別子は、プログラムのダウンロードを行うために利用できるプロトコルを表す。プロトコル識別子には、「ＯＣ（Ｏｂｊｅｃｔ  Ｃａｒｏｕｓｅｌ）」と「ＩＰ」などがある。「ＯＣ」は、ＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードを行えることをあらわす。また、「ＩＰ」はネットワークを用いてプログラムのダウンロードを行えることを示している。また、「ＯＣ」と「ＩＰ」の両方からダウンロードできる場合は両方を記述することもできる。列２００４は、ＤＳＭＣＣ方式でＪａｖａ（登録商標）プログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。そのため、列２００３のプロトコル識別子に「ＯＣ」が存在するときのみ存在する。列２００５は、列２００３で示したプロトコルのダウンロード元指定である。プロトコル識別子２００３の「ＯＣ」指定に対応したダウンロ��ド元指定は、ＤＳＭＣＣ方式でエンコードされたファイルシステムが埋め込まれたトランスポートストリームとそのトランスポートストリーム中のＰＭＴ（図１８参照）を一意に特定できる識別子及び、エレメンタリーストリームの識別子を指定する。これ以降、簡単化のため、トランスポートストリームとそのトランスポートストリーム中のＰＭＴ（図１８参照）を一意に特定できる識別子をソースＩＤと呼ぶこととする。また、プロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定は、プログラムのダウンロードを提供するサーバと、プログラムが保存されたディレクトリ名などを指定する。なお、ダウンロード元指定２００５は、プロトコル識別子２００３に対し複数存在してもよい。具体的には、プロトコル識別子２００３に「ＯＣ」を指定し、この「ＯＣ」に対応したダウンロード元指定２００５を複数記述することも可能である。また、プロトコル識別子２００３が「ＩＰ」の場合も同じである。列２００６はＪａｖａ（登録商標）プログラムのプログラム名である。列２００７は、Ｊａｖａ（登録商標）プログラムのストア優先度である。ストア優先度はＸＡＩＴ情報に記述される個々のＪａｖａ（登録商標）プログラムに指定される値であり、Ｊａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを保存する際に、２次記憶部５１０へ保存するＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを決めるための優先度である。列２００８は、Ｊａｖａ（登録商標）プログラムのアプリケーション名である。アプリケーション名は、ユーザがＪａｖａ（登録商標）プログラムを識別するための名前である。行２０１１と２０１２と２０１３は、Ｊａｖａ（登録商標）プログラムの情報の組である。行２０１１で定義されるＪａｖａ（登録商標）プログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、プロトコル識別子「ＯＣ」、ＤＳＭＣＣ識別子「１」、ダウンロード元指定「ｄｓｍｃｃ：／／０ｘＡＡＡＡ，０ｘ１１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、ストア優先度「１００」、アプリケーション名「ＡＰＰ１」の組である。ここでは、Ｊａｖａ（登録商標）プログラムに対して８つの情報しか規定しないが、より多くの情報あるいは、この一部が定義されていても本発明は実施可能である。また、ここでは、各情報の記述の例を示しているが、各情報が持つべき内容を示すことが可能であれば、この記述に従わなくても本発明は実施可能である。【０１４３】  なお、列２００７のアプリケーション名は、例えば、ユーザに対してＸＡＩＴ情報に記述された各Ｊａｖａ（登録商標）プログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがＪａｖａ（登録商標）プログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。【０１４４】  図２２は、図２１におけるプロトコル識別子２００３と、ダウンロード元となるＪａｖａ（登録商標）プログラムが存在するファイルシステムとの関係を模式的に表したものである。図２２において、図２１と同じ要素には、図２１と同じ符号を付し説明を省略する。２１１０���トランスポートストリーム上にあるＤＳＭＣＣ方式でエンコードされたファイルシステムを示す。また、２１２０は、プログラムのダウンロードを提供するサーバ上にあるファイルシステムを示す。行２０１１で定義されるＪａｖａ（登録商標）プログラムは、列２００３に示されるプロトコル識別子が「ＯＣ」のみであるため、２１１０に示したファイルシステム上にのみ存在する。また、行２０１２で定義されるＪａｖａ（登録商標）プログラムは、列２００３に示されるプロトコル識別子が「ＩＰ」のみであるため、２１２０に示したサーバ上のファイルシステムにのみ存在する。また行２０１３で定義されるＪａｖａ（登録商標）プログラムは、プロトコル識別子２００３に「ＯＣ」と「ＩＰ」の両方が設定されているため、２１１０に示したファイルシステム上と２１２０に示したサーバ上のファイルシステムの両方に存在する。このため、プログラムのダウンロードを行うときには、このどちらから取得するかを選択することができる。この選択する方針については後述する。なお、ここでは各Ｊａｖａ（登録商標）プログラムに対して、ＯＣあるいはＩＰを一個ずつ設定しているが、これらが複数存在してもよい。【０１４５】  次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにＸＡＩＴ情報を受け渡し、ＸＡＩＴ情報に記述されるＪａｖａ（登録商標）プログラムをプロトコル識別子２００３とダウンロード元指定２００５に基づきプログラムのダウンロード及び実行を依頼する。ＡＭ１２０５ｂは、ＸＡＩＴ情報を受け取ると、プロトコル識別子２００３を参照し、ダウンロード方法を決定する。ＡＭ１２０５ｂが決定したダウンロード方法が「ＯＣ」の場合は、ＡＩＴ情報からＪａｖａ（登録商標）プログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。一方、「ＩＰ」の場合は、ダウンロード元指定２００５の内容に従い、プログラムのダウンロードを提供するサーバから１次記憶部５１１にプログラムをダウンロードし保存する。また、ここでダウンロードしたプログラムをＡＭ１２０５ｂは、ＸＡＩＴ情報のファイル名で指定されたディレクトリ構造に一致するようにファイルシステムを構築し保存することもできる。具体的には、行７０２で定義されるアプリケーションでは、プログラム名２００６で示されたようにルートディレクトリからｂディレクトリを作成し、その中にダウンロードしたプログラムＡｐｐ２Ｘｌｅｔ．ｃｌａｓｓを保存することもできる。なお、図２１、図２２に示したダウンロード元指定２００５は、ＨＴＴＰのプロトコルを使ってＨＴＴＰサーバからプログラムを取得する例を示している。具体例として、図２１の行２０１２に記されたプログラムのダウンロード元指定２００５は「ｈｔｔｐ：／／１９２．１６８．０．１／ＢＢ」である。このダウンロード元指定２００５の「ｈｔｔｐ」はｈｔｔｐプロトコルを使うことを示し、「１９２．１６８．０．１」はプログラムのダウンロードを提供するＨＴＴＰサーバのＩＰアドレスを示し、「／ＢＢ」は、ＨＴＴＰサーバ内に存在するダウンロードするプログラムへのディレクトリのパスを示す��なお、ここではＨＴＴＰプロトコル及びＨＴＴＰサーバを用いたネットワークからのダウンロード方法を述べたが、この他の方法で取得してもよい。その後、１次記憶部５１１に保存したファイルシステムを２次記憶部５１０に複写してもよい。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。また、１次記憶部５１１で処理し、２次記憶部５１０へ保存しなくてもよい。なお、ここではプロトコル識別子として、「ＯＣ」と「ＩＰ」を説明したが、「記録媒体」から取得することや、これ以外の方法であってもよい。【０１４６】  次に、ＡＭ１２０５ｂは、ダウンロードあるいは構築したファイルシステムの格納位置をＸＡＩＴ情報に対応つけて２次記憶部５１０に保存する。図２３は、２次記憶部５１０において、ＸＡＩＴ情報とダウンロードあるいは構築したファイルシステムが対応付けられて保存されている一例を表す。図２３において、図２２と同じ要素には、図２２と同じ符号を付し説明を省略する。列２２０１は、各Ｊａｖａ（登録商標）プログラムごとに対応するダウンロードあるいは構築したファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。２２１０はダウンロードあるいは構築したファイルシステムであり、内部にトップディレクトリ２２１１、ディレクトリ「ａ」２２１２、ディレクトリ「ｂ」２２１３、ディレクトリ「ｃ」２２１４、ファイル「ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」２１１５、ファイル「ＡＰＰ２Ｘｌｅｔ．ｃｌａｓｓ」２１１６、ファイル「ＡＰＰ３Ｘｌｅｔ．ｃｌａｓｓ」２１１７を保持する。【０１４７】  ここでＡＭ１２０５ｂは、Ｊａｖａ（登録商標）プログラムを保存してからＸＡＩＴ情報を保存しているが、Ｊａｖａ（登録商標）プログラムを保存する前にＸＡＩＴ情報を保存することでも実施可能である。なお、ＸＡＩＴ情報を２次記憶５１０に保存しているが、１次記憶部５１１に保存することも実施可能である。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存されたＸＡＩＴ情報は全て消える。【０１４８】  ここで、ファイルシステムは、具体的には、ＸＡＩＴ情報に記述される複数のＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータから形成される。以降、ＸＡＩＴ情報に記述される個々のＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを２次記憶部５１０あるいは１次記憶部５１１にダウンロードすることを以降、ストアと呼ぶ。またさらに、２次記憶部５１０あるいは１次記憶部５１１にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、ＶＭ１２０３がアプリケーションを構成するＪａｖａ（登録商標）プログラムを実行することをアプリケーションの実行と呼ぶ。【０１４９】  図２４はＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域２３０１にストアされている状態を示す一例である。図２４の中で、アプリケーションのストア領域２３０１は、アプリケーション名「ＡＰＰ１」をもつアプリケーション２３１１、および、アプリケーション名「ＡＰＰ２」を持つアプリケーション２３１２を格納する。【０１５０】  次にＡＭ１２０５ｂは、１次記憶部５１１または２次記憶部５１０に保存されたＸＡＩＴ情報を参照して、１次記憶部５１１にダウンロードしたアプリケーション、または２次記憶部５１０のストア領域２３０１にストアしたアプリケーションの中から「ａｕｔｏｓｔａｒｔ」と指定されたアプリケーションのＪａｖａ（登録商標）プログラムをＶＭ１２０３に引き渡す。図２３を参照して、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＪａｖａ（登録商標）プログラム「ａ／ＡＰＰ１Ｘｌｅｔ」がＶＭ１２０３に引き渡される。実行するアプリケーションのＪａｖａ（登録商標）プログラム名が「ａ／ＡＰＰ１Ｘｌｅｔ」とすると、Ｊａｖａ（登録商標）プログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。ＶＭ１２０３は、引き渡されたアプリケーションのＪａｖａ（登録商標）プログラムを実行する。以降、ＡＭ１２０５ｂからのＶＭ１２０３へのアプリケーションのＪａｖａ（登録商標）プログラム引渡しを、ＶＭ１２０３へのアプリケーション起動指示と呼ぶ。【０１５１】  ここで、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴ情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、既にストアされているアプリケーションに関しては、アプリケーションをダウンロードまたはストアする必要がないため、ストア処理を省略することができる。【０１５２】  従って、アプリケーションを前もってストア領域２３０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの時間を短縮することができる。なお、アプリケーションのストア処理を行うか否かについては、ストア優先度２００７を利用することができる。一例としてストア優先度が１１以上ならストアすることとし、１１より小さいとストアしないこととする。この判断基準は、アプリのストア処理を行うか否かが分かればいいので、１１でなくてもよい。また、ストア優先度２００７とは別の情報として提供してもよい。【０１５３】  図２５と図２６はＡＭ１２５０ｂが、ＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図２５は、ＸＡＩＴ情報を受け取ってからストア処理を完了するまでのフローチャート部分であり、図２６はストア処理後、アプリケーションの起動を行う際のフローチャートである。図２５を参照して、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２４０１）、ＸＡＩＴ情報に記述のアプリケーションの中からまだ選ばれていないものを１つ選ぶ（Ｓ２４０２）。ここで、ＡＭ１２０５ｂは、ストア優先度２００７を参照し、前述したような判断基準に従い、アプリケーションをストアするか否かを判断する（Ｓ２４０３）。このとき、アプリケーションをストアする場合（Ｓ２４０３でＹＥＳ）は、ＡＭ１２０５ｂはＳ２４０２で選んだアプリケーションが既にストアされているか否かを判断し（Ｓ２４０４）、ストアされて���ない場合（Ｓ２４０４でＮＯ）、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２４０５）。なお、ＤＳＭＣＣからのダウンロードを行う場合は、ＤＳＭＣＣ識別子２００４も参照する。Ｓ２４０３においてアプリケーションをストアしないと判断した場合（Ｓ２４０３でＮＯ）、または、Ｓ２４０４においてアプリケーションが既にストアされている場合（Ｓ２４０４でＹＥＳ）、またはＳ２４０５の処理をすると、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２４０６）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合（Ｓ２４０６でＮＯ）、Ｓ２４０２からの処理を繰り返す。Ｓ２４０６において、ＸＡＩＴ情報記述のアプリケーションをすべて選択したと判断すると、次にＡＭ１２０５ｂは、図２６に従い、アプリケーションの起動を行う。ＡＭ１２０５ｂは、再びＸＡＩＴ情報に記述のアプリケーションを選ばれていないものから順に１つずつ選ぶ（Ｓ２５０１）。次に、ＡＭ１２０５ｂは、選んだアプリケーションの制御情報２００２が「ａｕｔｏｓｔａｒｔ」か否かを判断し（Ｓ２５０２）、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」の場合（Ｓ２５０２でＹＥＳ）、ＡＭ１２０５ｂはアプリケーションがストアされているか否かを判断する（Ｓ２５０３）。ストアされていない場合（Ｓ２５０３でＮＯ）、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２５０４）。なお、ＤＳＭＣＣからのダウンロードを行う場合は、ＤＳＭＣＣ識別子２００４も参照する。【０１５４】  次に、ＡＭ１２０５ｂは、ＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２５０５）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２５０６）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合（Ｓ２５０６でＮＯ）、Ｓ２５０１からの処理を繰り返す。Ｓ２５０６において、ＸＡＩＴ情報記述のアプリケーションをすべて選択したと判断する（Ｓ２５０６でＹＥＳ）と、処理を終了する。【０１５５】  こうして、ＸＡＩＴ情報の受け取りからアプリケーションのストア処理と起動指示までの処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合には処理を終了する。図２５と図２６では、アプリケーションのストア処理と起動指示を、別々に処理する手順を示したが、これらは一回の繰り返しの中で処理してもよい。【０１５６】  なお、ここでは、ＡＭ１２０５ｂはアプリケーションのダウンロードまたはストア領域へのストア完了後に、ＶＭ１２０３ｂへアプリケーションの起動指示を出すものとして説明しているが、ＡＭ１２０５ｂがＸＡＩＴ情報の受け取り後、アプリケーションのダウンロードまたはストア領域へのストアをする前に、ＶＭ１２０３へアプリケーションの起動指示を出してもよい。ここでの起動指示は、ＡＭ１２０５���がＶＭ１２０３に実行すべきアプリケーションのプログラム名を引き渡すことにより実現するものとする。この場合、ＶＭ１２０３が、ＡＭ１２０５ｂからのアプリケーション起動指示後に、ダウンロードを行うか、または１次記憶部５１１またはストア領域からアプリケーションを読み込み実行することになる。【０１５７】  アプリケーションの起動は、図２５や図２６で示したようなＸＡＩＴ情報を受け取ったときのみではない。ＡＭ１２０５ｂは、特殊な権限を持った実行中のアプリケーションに対し、他のアプリケーションの起動や停止などのライフサイクルを扱うことができるＡＰＩを提供している。そのため、特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、このＡＰＩを利用することでアプリケーションの起動をＡＭ１２０５ｂへ要求することができる。この時のフローチャートを図２７に示す。【０１５８】  特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、ＡＭ１２０５ｂが提供するアプリケーションの起動を行うＡＰＩを呼ぶ（Ｓ２６０１）。このときＡＭ１２０５ｂは、起動したいアプリケーションが既にストアされているか否かを調べる（Ｓ２６０２）。ここで、ストアされていない場合（Ｓ２６０２でＮＯ）は、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２６０３）。次に、ＡＭ１２０５ｂは、ＶＭ１２０３へのアプリケーション起動指示を行い（Ｓ２５０５）、終了する。【０１５９】  ＡＭ１２０５ｂは、ＸＡＩＴ情報を受信した際に図２５と図２６の処理を行うため、ＸＡＩＴ情報の更新に伴い、ストア領域２３０１にストアされるアプリケーションが更新される。図２８と図２９を参照して、ＸＡＩＴ情報が更新されると、それにともないストア領域２３０１にストアされるアプリケーションが更新される場合がある。図２８（ａ）は、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＸＡＩＴ情報を示し、図２８（ｂ）は、ＡＭ１２０５ｂが図２８（ａ）のＸＡＩＴ情報を受信し、図２５、図２６の処理を終了した時のストア領域２３０１を示す。図２８（ａ）のＸＡＩＴ情報には、行２０１１で定義されるアプリケーション「ＡＰＰ１」が一つ存在するので、図２８（ｂ）のストア領域２３０１には、「ＡＰＰ１」２３１１が一つストアされている。次に、ストア領域２３０１が図２８（ｂ）の状態で、図２９（ａ）のＸＡＩＴ情報を受信し、図２５、図２６の処理を終了した時の、ストア領域２３０１を図２９（ｂ）に示す。図２９（ａ）は、行２０１１で定義されるアプリケーション「ＡＰＰ１」と行２０１２で定義されるアプリケーション「ＡＰＰ２」が記述されたＸＡＩＴ情報である。図２９（ａ）のＸＡＩＴ情報をＡＭ１２０５ｂが受信した際に、ストア領域２３０１は、図２９（ｂ）のように行２０１１で定義されるアプリケーション「ＡＰＰ１」２３１１と行２０１２で定義されるアプリケーション「ＡＰＰ２」２３１２の二つのアプリケーションがストアされる。【０１６０】  次に、本発明の主要機能である、ＸＡＩ��情報を受け取ったＡＭ１２０５ｂによる、ＸＡＩＴ情報に記述されたアプリケーションのストア機能時に必要なダウンロード元の決定とユーザへのメッセージ通知について説明する。具体的には、ＸＡＩＴ情報を受信した際のフローチャートとして示した図２５と図２６におけるＳ２４０５とＳ２５０４及び、特別な権限を持つアプリケーションがＡＭ１２０５ｂのアプリ起動ＡＰＩを呼んだ際のフローチャートとして示した図２７のＳ２６０３の処理に関する。【０１６１】  図３０は、ＡＭ１２０５ｂの構成のうち、ストア処理を行う際に、ダウンロード元を決定する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。【０１６２】  ＡＭ１２０５ｂは、ダウンロード元決定部２９０１、チューニング周波数取得部２９０２、ダウンロード周波数取得部２９０３、ストア部２９０４、通知部２９０５、チューニング要求部２９０６を備える。なお、本実施の形態では、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣが指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定２００５が明記されている場合を想定している。【０１６３】  ダウンロード元決定部２９０１は、プログラムのダウンロード元を決定する。そのため、ＸＡＩＴ情報のプロトコル識別子２００３とダウンロード元指定２００５の情報を受信する。ここで、ダウンロード元決定部２９０１は、選択されたアプリケーションがどのようなプロトコル識別子２００３を持っているかを判断する。ダウンロード元を決定するため、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から現在のチューニング情報を取得し、ダウンロード周波数取得部２９０３からアプリケーションをダウンロードするために必要な周波数を取得する。ここで、周波数と記述しているが、チューニングに必要な情報を代表して記述しているため、この他のチューニングに必要な情報である変調方式や内符号率などもあわせて処理してもよい。以下、周波数に関する記述は全て同様である。ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得する。また本発明は、使用したいチューナが存在するか否かが問題であり、チューナの数はいくつであっても適用できる。また、本発明は、ダウンロード元指定２００５にＯＣからの複数のダウンロード元が指定されていても実施できる。つまり、ダウンロード元決定部２９０１は、ＸＡＩＴ情報を参照し現在選択されているアプリケーションのプロトコル識別子２００３にＯＣがある場合、ダウンロード元指定２００５から全てのソースＩＤを取得し、ダウンロード周波数取得部２９０３へ渡し、ダウンロード周波数取得部２９０３から、そのソースＩＤで示したＰＭＴで伝送されるチャンネルが存在するトランスポートストリームが流れている全ての周波数を受け取る。そして、現在のチューニング情報と比較することで、��ウンロード元を決定する。また、ダウンロード元決定部２９０１は、ダウンロード元を決定後に、通知部２９０５への通知指示と、チューニング要求部２９０６へのチューニング要求指示と、ストア部２９０４へアプリケーションのストア指示を行う。なお、チューニング要求部２９０６へのチューニング要求指示では、チューニングしたいアプリケーションのソースＩＤと使用するチューナを指定する。この時、端末装置５００がプログラムのダウンロードに複数のチューナを使用できる場合は、ダウンロード元決定部２９０１は、どのチューナを使用するかという方針を決定するため、次のような優先度の一例を考える。これらは、単独で使用してもよいし、複数の組み合わせで使用してもよい。【０１６４】  １）使用されていないチューナが存在したら、そのチューナを優先的に使用する。【０１６５】  ２）ユーザがＰｉｃｔｕｒｅ  ｉｎ  Ｐｉｃｔｕｒｅのように、ひとつの画面で複数の番組を視聴している場合は、各番組が異なる周波数で伝送されていることがある。この時は、ユーザは複数のチューナを使用しており、このチューナを使用する場合は、ユーザへの影響を少なくするため、大画面で視聴しているサービスを優先的に処理し、ユーザへの影響の少ない小画面で流れている番組をチューニングしているチューナを使用することができる。当然、逆も可能である。【０１６６】  ３）ユーザが録画と視聴を同時に行っている場合は、録画を優先的に処理し、視聴中の番組をチューニングしているチューナを使用してもよい。逆も可能である。【０１６７】  ４）ＰＰＶ（Ｐａｙ  Ｐｅｒ  Ｖｉｅｗ）などによって、ユーザが購入した番組と無料の番組が選択された場合は、ユーザが購入した番組の優先的に処理し、無料の番組をチューニングしているチューナを使用してもよい。逆も可能である。【０１６８】  なお、ここではダウンロード元決定部２９０１が、使用するチューナの決定を行う方針としたが、チューナを選択する優先度がこれらの方針に従っていれば、本処理を実行するのが、ダウンロード元決定部２９０１である必要はない。例えば、ダウンロード元決定部２９０１は、チューニング要求部２９０６へソースＩＤの指定のみを行い、チューニング要求部２９０６内で使用するチューナを選択する方針としてもよい。また、ダウンロード元決定部２９０１及びチューニング要求部２９０６は、ソースＩＤを指定するのみで、チューナライブラリ１２０５ｃが使用するチューナを決定するという方針でもよい。【０１６９】  また、ストア完了後、ストア部２９０４から通知を受信し、アプリケーションのダウンロードを行う前の周波数へチューニングを再設定するため、チューニング要求部２９０６へ通知することもできる。【０１７０】  チューニング周波数取得部２９０２は、チューナの使用状況と、使用中の各チューナがチューニングしている周波数をダウンロード元決定部２９０１へ通知する。ここでチューニング周波数取得部２９０２は、チューナの使用状況と使用中の各チューナがチューニングしている周波数の取得を、チューナライブラリ１２０５ｃがチューナへチューニング要求を行うために管理する情報から取得することで実現する。なお、ここではチューナライブラリ１２０���ｃが管理する情報から取得する例を示したが、チューナの使用状況と使用中の各チューナがチューニングしている周波数が取得できれば、他の方法で実現してもよい。複数チューナがある場合はチューニング中の全ての周波数を取得し、これらの結果を配列で通知する。なお、ここでは配列で通知するとしたが、本発明は通知方法に依存しないため、他の通知方法でもよい。また、周波数の値を直接通知するのではなく、ダウンロード元決定部２９０１とチューニング周波数取得部２９０２が解釈できる識別子であってもよい。また、ここではチューニング周波数取得部をＡＭ１２０５ｂの一部として記述したが、チューナライブラリ１２０５ｃの一部として存在し、このチューナライブラリ１２０５ｃとダウンロード元決定部２９０１が通信をするようにしてもよい。【０１７１】  ダウンロード周波数取得部２９０３は、ダウンロード元決定部２９０１からソースＩＤを受信し、ソースＩＤから周波数情報を取得し、ダウンロード元決定部２９０１へ通知することで、アプリケーションのダウンロードに必要な周波数を通知する。ここで、周波数の値を直接通知するのではなく、ダウンロード元決定部２９０１とダウンロード周波数取得部２９０３が解釈できる識別子であってもよい。ダウンロード元決定部２９０１では、ソースＩＤから周波数への変換を行う必要がある。ソースＩＤから周波数を取得するためには、ＩｎｂａｎｄのトランスポートストリームあるいはＯＯＢから、周波数情報などチューニングに必要な情報を伝送しているＮＩＴとソースＩＤを基にして仮想的なチャンネルのテーブルを保持するＳＶＣＴというＳＩ（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ）情報を取得する必要がある。または、ＳＶＣＴに加え更に付加情報を保持するＬＶＣＴというＳＩ情報を取得してもよい。このソースＩＤから周波数を取得する技術は、公知の技術であり詳細は、Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ  ＳＣＴＥ６５を参照されたい。また、ここではＯＣＡＰ仕様で実現する場合を前提として記述しているが、これ以外の方法でソースＩＤと周波数の関係を解決してもよい。また、ここではチューニング周波数取得部をＡＭ１２０５ｂの一部として記述したが、ＳＩ情報を扱う専門のモジュールの一部として存在し、このＳＩ情報を扱う専門のモジュールとダウンロード元決定部２９０１が通信をするようにしてもよい。【０１７２】  ストア部２９０４は、ダウンロード元決定部２９０１が決定したダウンロード元からアプリケーションをダウンロードしストアする。【０１７３】  通知部２９０５は、ダウンロード元決定部２９０１の決定結果に従い、ユーザにアプリケーションがダウンロードされることを通知する。ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ５０９に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ５０９から消すものとする。【０１７４】  チューニング要求部２９０６は、ダウンロード元決定��２９０１によって指定されたチューニング要求に従い、指定されたアプリケーションが流れているトランスポートストリームへ、指定されたチューナを用いてチューニングを行う。【０１７５】  また、ここではチューニング要求部２９０６をＡＭ１２０５ｂの一部として記述したが、チューナライブラリ１２０５ｃの一部として存在し、このチューナライブラリ１２０５ｃとダウンロード元決定部２９０１が通信を行うことで実現してもよい。【０１７６】  図３１、図３２は、本実施の形態におけるＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードし、ストア領域２２０１へストアする際に、現在チューニングされている周波数とは異なる周波数からダウンロードする必要がある場合の、ＡＭ１２０５ｂのストア処理動作の一例を示すフローチャートである。【０１７７】  図３１、図３２を参照して、ダウンロード元決定部２９０１は、選択されているアプリケーションのＸＡＩＴ情報を受信する（Ｓ３００１）。この時、選択されているアプリケーションのプロトコル識別子２００３にＯＣが存在することを確認する。次に、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から現在チューニング中の周波数を取得する（Ｓ３００２）。この時、複数のチューナが存在する場合は、チューニング中の全ての周波数を取得する。次にダウンロード元決定部２９０１は、ダウンロード周波数取得部２９０３からアプリケーションの周波数を取得する（Ｓ３００３）。ダウンロード元決定部２９０１は、Ｓ３００２で取得した現在チューニングされている周波数とＳ３００３で取得したアプリケーションの周波数を比較することで、現在のチューニングを変更することなくアプリケーションのダウンロードが行えるか否かを判断する（Ｓ３００４）。このとき、アプリケーションをダウンロードする周波数が、現在のチューニングされている周波数になかった場合（Ｓ３００４でＮＯ）、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２へチューナの使用状況を問い合わせる（Ｓ３００５）。この時、チューナが全て使用中の場合（Ｓ３００５でＹＥＳ）は、ダウンロード元決定部２９０１は、通知部２９０５へダウンロードするため、現在の視聴あるいは録画が妨げられる旨を伝えるメッセージ通知を指示する。そして、通知部２９０５はユーザにアプリケーションがダウンロードされることを通知する（図３２のＳ３１０１）。なお、図３２のＳ３１０１の処理は、通知モジュールとして、これ以降、同様の処理をする際に参照することとする。ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３３に示すようなダウンロード通知をディスプレイ５０９に表示することにより実現される。３２０１はダイアログボックスであり、メッセージ３２０２の表示要素をもつ。��お、メッセージ３２０２の文字列は、ユーザにアプリケーションのダウンロードを通知する為に必要な情報を提供できる方法であれば、図３３中の文字列に限定されず他の文字列であってもよく、また、メッセージ３２０２の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス３２０１の表示要素は、図３３の表示要素に限定されず、ユーザにアプリケーションのダウンロードを行うこと、あるいは現在の視聴あるいは録画が妨げられること、あるいはこの両方の内容を通知できるものであれば、他の表示要素であってもよい。続いて、ユーザへのメッセージ通知後とチューナが全て使用中でなかった場合（つまり、使用していないチューナが存在した場合（Ｓ３００５でＮＯ））、ダウンロード元決定部２９０１は、チューニング要求部２９０６へアプリケーションのダウンロードが行える周波数のチューニング要求を行う（Ｓ３００６）。チューニング要求部２９０６は、この要求を受けチューニングを開始する。そして、ダウンロード元決定部２９０１はストア部２９０４へ、アプリケーションのダウンロード及びストアを指示する。ストア部２９０４は、この指示を受け、指定されたアプリケーションのダウンロードとストアを行う。なお、ストア部はストアの完了後にダウンロード元決定部２９０１の呼び出しもとの実行へもどるようにしてもよいし、完了時にダウンロード元決定部へメッセージを通知することで知らせても良い。また、呼び出しの返り値によって、ストア成功か否かを通知するようにしてもよい。こうして、指定されたアプリケーションのストア処理を行い終了する。【０１７８】  なお、ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ５０９に表示することにより実現しているが、通知部２９０５によるユーザへのダウンロード通知は、リモコンの液晶画面にダウンロード通知を表示する、或いは、図３４を参照して、端末装置本体の７セグＬＥＤ３３０２にダウンロード通知を表示する、あるいは端末装置本体のランプ３３０１を点灯するなど、ユーザがアプリケーションのダウンロードを検知できる方法であれば、その他の方法であっても実施可能である。図３４において、図７と同じ要素には図７と同じ符号を付し説明を省略する。【０１７９】  またここで、アプリケーションのダウンロード時に、通知部２９０５は、ダウンロードの進捗具合をユーザへ通知してもよいし、「ｌｏａｄｉｎｇ」などのメッセージの表示をおこなってもよいし、別の映像・音声に切り替えても良い。このとき表示する映像・音声は、端末装置内に保存しているものであってもよいし、アプリケーションのダウンロードを行っているトランスポートストリーム内に存在する映像・音声であってもよい。また、アプリケーションのダウンロードを行っているトランスポートストリーム内の番組をユーザへ通知し、ユーザが選択した番組の映像・音声に切り替えても良い。【０１８０】  また、本実施の形態において、ＡＭ１２０５ｂ��よるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時または、ＸＡＩＴ情報が更新された時に行う。つまり、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時におけるＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りと、端末装置５００が起動後にＸＡＩＴ情報が更新された時における、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りを対象としているが、ＸＡＩＴ情報の更新は、ヘッドエンド１０１から送信されるＸＡＩＴ情報そのものの更新だけでなく、ＡＭ１２０５ｂやアプリケーションによるＸＡＩＴ情報の更新等、他の方法であっても本発明は実施可能であり、これ以降の実施の形態においても適用することができる。【０１８１】  ここで、このような、アプリケーションによるＸＡＩＴ情報の更新は、ＡＭ１２０５ｂが特別な権限をもつアプリケーションに対して、ＸＡＩＴ情報の更新を行うためのＡＰＩを用意することにより実現する。ＸＡＩＴ情報の更新を行うためのＡＰＩには、特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報を登録可能とするものや、既にＡＭ１２０５ｂが１次記憶または２次記憶に保存しているＸＡＩＴ情報を修正可能とするもの等がある。【０１８２】  このようなＸＡＩＴ情報の更新を行うためのＡＰＩは公知の技術にて実現されている。例えば、ＸＡＩＴ情報を登録するＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｒｅｇｉｓｔｅｒＵｎｂｏｕｎｄＡｐｐメソッドとして定義されている。特別な権限をもつアプリケーションがＸＡＩＴ情報を登録するＡＰＩを用いて、新規のＸＡＩＴ情報を登録（特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報の登録）を行った際には、ＡＭ１２０５ｂは、その特別な権限をもつアプリケーションにより登録されたＸＡＩＴ情報を、ＸＡＩＴ情報の更新として受け取る。【０１８３】  以上のように実施の形態１を適用することにより、現在のチューニングされている周波数と異なる周波数からアプリケーションのダウンロードを行う場合、ユーザの視聴あるいは録画中の映像・音声などのサービスの停止を事前にユーザへ通知することができる。これにより、突然視聴あるいは録画ができなくなるのを回避することができる。【０１８４】  （実施の形態２）
実施の形態１では、ダウンロード元決定部２９０１が、アプリケーションのダウンロード元を決定した場合、通知部２９０５は、ユーザへアプリケーションがダウンロードされるために現在の視聴あるいは録画が中断されることを通知するものの、ユーザによる確認の有無は判断していなかった。そこで、本実施の形態では、実施の形態１に加え、ユーザからの応答を受け付ける応答受付部（図３５の３５０７）を備える。図３５を参照して、図３０と同じ番号で示すものは、図３０と同じ機能を持つため、本実施の形態では説明を省く。なお、本実施の形態では実施の形態１と同様に、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定が明記されている場合を想定している。ダウンロード元決定部３５０１は、ダウンロード元決定部２９０１に加え、応答受付部３５０７へ応答受付指示を行い、ユーザ応答を受信する。このユーザ応答を受信後に、チューニング要求部２９０６へチューニング要求を指示とストア部２９０４へストア指示を行うことを特徴とする。【０１８５】  応答受付部３５０７は、ダウンロード元決定部３５０１から応答受付指示を受信後、ユーザの応答を待ち、ユーザの応答を受信後、ダウンロード決定部３５０１へユーザの応答を通知する。なお、ユーザからの応答を待つ応答受付部３５０７は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部３５０７によって独自判断を行うという方針にしてもよい。応答受付部３５０７は、ユーザが通知部２９０５の表示した画面に従い、リモコンに割り当てられた十字キーやＯＫキーを押下することにより実現される。【０１８６】  図３６及び図３７に通知部が表示する画面の一例を示す。図３６は実施の形態１で示した図３３に加えＯＫボタン３６０３を備える。更に、図３７は実施の形態１で示した図３３に加え、Ｙｅｓボタン３７０３とＮｏボタン３７０４を備える。この時、ユーザへ通知するメッセージ内容は、ユーザへダウンロードのためにユーザの視聴あるいは録画が中断することを通知するメッセージであれば３６０２及び３７０２に限る必要はない。また、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、３６０３及び３７０３、３７０４のボタン内の文字列も、この内容に限る必要はない。また更に、図３３、図３６、図３７は、ユーザにアプリケーションのダウンロード及び視聴あるいは録画の中断を通知し、ユーザがダウンロード通知の確認を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。【０１８７】  図３８は、本実施の形態において、図３６のようなユーザの承認のみを受け付ける場合におけるアプリケーションのストア処理動作の一例を示すフローチャートである。【０１８８】  なお、図３８は、実施の形態１で示したフローチャート図３１の一部である図３２の処理を���き換える形で示す。図３１の処理は、実施の形態１と同じ処理のため、説明を省略する。図３１のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図３８を参照して、ダウンロード元決定部３５０１は、通知部２９０５に対し、アプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう指示し、通知部２９０５は、ダウンロード元決定部３５０１からの指示に従いユーザへメッセージを通知する（Ｓ３８０１）。その後、ダウンロード元決定部３５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザからの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部３５０１へユーザ確認情報を通知する（Ｓ３８０２）。なお、図３８のＳ３８０１とＳ３８０２の処理は、通知・応答モジュール１として、これ以降同様の処理をする際に参照することとする。この通知を受け、ダウンロード元決定部３５０１は、チューニング要求部２９０６へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部２９０４へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。【０１８９】  次に、図３７のようなユーザの承認あるいは拒否を受け付ける場合のアプリケーションのストア処理動作の一例をフローチャート図３９と図４０に示す。【０１９０】  まず、図３９は図３１に加え、ユーザの拒否応答に対応するため、図４０からの処理の戻りを示すＳ３９１０を追加した。このため、図３９については、図３１と同じ処理を示すため説明を省く。そこで、図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合（Ｓ３００５でＹＥＳ）は、図４０を参照して、ダウンロード元決定部３５０１は、通知部２９０５へアプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう通知部２９０５へ指示し、通知部は、ユーザへメッセージを通知する（Ｓ４００１）。その後、ダウンロード元決定部３５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部３５０１へユーザ確認情報を通知する（Ｓ４００２）。この通知を受け、ダウンロード元決定部３５０１は、ユーザの応答がダウンロード許可あるいは拒否であったかを考慮し（Ｓ４００３）、許可された場合（Ｓ４００３ＹＥＳ）は、ダウンロードを行うことができるため、図３９のＡの処理へ戻り、拒否された場合（Ｓ４００３でＮＯ）は、ダウンロードを行うことができないため、図３９のＢの処理へ戻る。そして、Ａの処理へ戻ると、ダウンロード元決定部３５０１は、チューニング要求部２９０６へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部２９０４へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。また、Ｂの処理に戻ると、ダウンロードを行わないため、そのまま処理を終了する。なお、図４０のＳ４００１〜Ｓ４００３の処理は、通知・応答モジュール２として、これ以降同様の処理をする際に参照することとする。【０１９１】  なお、本実施の形態で示した、ユーザからの応答を待つ応答受付部３５０７は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部３５０７によって独自判断を行うという方針にしてもよい。【０１９２】  このように、実施の形態２により、アプリケーションのダウンロードにおいて、現在のユーザの視聴あるいは録画が中断されることをユーザへ通知し、ユーザの応答を受信することで、ユーザはダウンロード処理を知ると共に、ダウンロード処理を拒否することも可能になる。これにより、ユーザの視聴あるいは録画を続けることが可能になる。【０１９３】  （実施の形態３）
実施の形態２では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否することができた。しかしながら、拒否を行った際には、次回のダウンロードがいつ行われるのかということを、ユーザは知ることができなかった。また、端末装置がアプリケーションのダウンロード要求を受信するたびに、ダウンロードするか否かの問い合わせが表示されるため、問い合わせ用のウィンドウがユーザの視聴あるいは録画を妨げる可能性があった。そこで本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ユーザがダウンロードを行う時間を設定することができるように、タイマー設定部（図４１の４１０８）を備えることを特徴とする。このように、ユーザによってダウンロード時間を設定することにより、ユーザの視聴や録画を行わない時間を設定することができるため、ユーザの視聴あるいは録画を妨げることを回避することができる。【０１９４】  図４１を参照して、図３０あるいは図３５と同じ番号で示すものは、図３０あるいは図３５と同じ機能を持つため、本実施の形態では説明を省略する。【０１９５】  タイマー設定部４１０８は、ダウンロード元決定部４１０１から指定された設定時間をはかる。そして、設定時間が経過後、ダウンロード元決定部４１０１へ設定時間経過の通知を行うことを特徴とする。【０１９６】  ダウンロード元決定部４１０１は、ダウンロード元決定部３５０１に加え、通知部２９０５へタイマー設定に関するユーザへのメッセージ通知を指示し、応答受付部３５０７からユーザからの返信を受信する。この結果を受け、タイマー設定部４１０８へ設定時間を指示する。また、ダウンロード元決定部４１０１は、タイマー設定部４１０８の設定時間経過の通知を受信し、チューニング要求部２９０６へチューニングを指示し、ストア部２９０４へストア指示を行うことを特徴とする。なお、タイマー設定部４１０８から設定時間経過の通知を受信した際に、再び、通知部２９０５を通し、ユーザへメッセージ通知を行ってもよい。また更に、通知部２９０５が表示したメッセージに対するユーザ応答を応答受付部３５０７から受信し処理を行うという方針にしてもよい。また、ここではユーザが時間を設定できることとしたが、ダウンロード元決定部４１０１でデフォルト設定時間を保持し、ユーザがダウンロードを拒否した際に、ユーザへ設定時間を尋ねることなく、デフォルト設定時間をタイマー設定部４１０８へ指示してもよい。【０１９７】  なお、本実施の形態では実施の形態１、２と同様に、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定が明記されている場合を想定している。【０１９８】  図４２及び図４３に通知部が表示する画面の一例を示す。図４２は実施の形態２で示した図３７でＮｏボタン３７０４が押された後に、タイマー設定を行うか否かをユーザへ通知する。そのため、図４２は、ユ��ザへダウンロードを行う時間を設定するか否かを問うメッセージ４２０２とＹｅｓボタン４２０３とＮｏボタン４２０４を備える。なお、ここでは、少なくともダウンロードを行う時間を設定できることを通知することができるものであればよいため、図４２の形式に限る必要はない。また、図４２で示したダウンロードを行う時間を設定できるメッセージは、省略することもできる。【０１９９】  次に図４３は、ユーザへダウンロードの設定時間の指定を促す画面の一例である。そのため、図４３はユーザへダウンロード時間の設定を促すメッセージ４３０２と、設定時間を指定するためのボタン４３０４〜４３０９と、入力を完了したことを通知するＯＫボタン４３１０を備える。また、ユーザへ通知するメッセージ内容は、ユーザへダウンロード時間の設定を促すメッセージであれば４３０２に限る必要はない。また、ここではボタン４３０４〜４３０９を選択することで時間指定を行う方針としたが、リモートコントロールから直接数字を入力してもよいし、ユーザが指定した時間がわかるものであれば、入力形式はどのような方法であってもよい。また、入力に誤りがないか否かを検出し、ユーザへ再入力を促す処理を追加してもよい。また更に、図４３は時間指定のみとしたが、日付や時間や分など設定時間の内容に関しても、ユーザから設定されたダウンロードするタイミングが分かるものであれば、ここで一例として示した図４３の通知部が表示する画面に限る必要はない。また、図４２及び図４３ともに、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、図４２及び図４３の各ボタン内の文字列も、この内容に限る必要はない。つまり、図４３はユーザがダウンロードの設定時間を設定することができれば、他の表現であってもよい。【０２００】  本実施の形態における、ユーザがダウンロード設定時間を設定する処理動作の一例をフローチャート図４４へ示す。なお、図４４は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４４を参照して、通知・応答モジュール２の処理を行いユーザへダウンロードを行うか否かの問い合わせを行う（Ｓ４４０１）。この結果がＡの場合は、ユーザによってダウンロードが承認されたためダウンロード処理を行う（詳細は前述したため、ここでは説明を省略する）。一方、この結果がＢの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部４１０１は、通知部２９０５へアプリケーションをダウンロードする時間を設定できることを通知するよう指示し、通知部２９０５は、ユーザへメッセージを通知する（Ｓ４４０２）。【０２０１】  その後、ダウンロード元決定部４１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４１０１へユーザのタイマー設定可否応答を通知する（Ｓ４４０３）。ダウンロード元決定部４１０１は、この通知によりタイマー設定を行うか否かの判��を行う（Ｓ４４０４）。タイマー設定しない場合（Ｓ４４０４でＮＯ）は、図３９のＢへ戻り処理を終了する。一方、タイマー設定を行う場合（Ｓ４４０４でＹＥＳ）は、ダウンロード元決定部４１０１は、通知部２９０５へアプリケーションをダウンロードする設定時間の入力メッセージを通知するよう指示し、通知部２９０５は、ユーザへメッセージを通知する（Ｓ４４０５）。その後、ダウンロード元決定部４１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４１０１へユーザのタイマー設定時間を通知する（Ｓ４４０６）。そして、ダウンロード元決定部４１０１はタイマー設定部４１０８へ設定時間を通知し、タイマー設定部４１０８は受信した時間を設定する（Ｓ４４０７）。タイマー設定部４１０８は、設定時間が経過するまで待つ（Ｓ４４０８）。時間が経過すると、図３９のＡへ戻り、ダウンロード処理を行う。この時、再びダウンロードを行うか否かを問うため、Ｓ４４０１の処理へ戻ってもよい。なお、図４２で示したような、ダウロードの設定時間を設定するか否かをユーザへ問う処理を省略する場合は、図４４のＳ４４０２及びＳ４４０３及びＳ４４０４を省略することで、実行することができる。【０２０２】  このように、実施の形態３により、ユーザはアプリケーションのダウンロードを拒否した際に、ダウンロードの設定時間を指定することができる。【０２０３】  （実施の形態４）
実施の形態３では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否したとき、ユーザはダウンロード可能な設定時間を指定することができた。本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからダウンロードを行うことを想定し、ネットワーク接続部（図４５の４５０９）を備えることを特徴とする。【０２０４】  図４５を参照して、図３０あるいは図３５と同じ番号で示すものは、図３０あるいは図３５と同じ機能を持つため、本実施の形態では説明を省略する。なお、本実施の形態では、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。【０２０５】  ダウンロード元決定部４５０１は、ダウンロード元決定部３５０１に加え、ネットワーク接続部４５０９へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ。また、ダウンロード元決定部４５０１はネットワーク接続部４５０９へネットワークの接続先を指定したダウンロード元指定２００５を設定し、ダウンロードしたアプリケーションを受信し、ストア部４５０４へストア要求を出す。なお、ネットワーク接続部４５０９へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ機能は、ダウンロードを行う際にエラーが発生するのを防ぐために考慮したが、必ずしも必要な機能ではない。【０２０６】  ネットワーク接続部４５０９は、ダウンロード元決定部４５０１からネットワークの接続が利用可能か否かの問い合わせに対し、現在ネットワークが利用可能か否かを調べ、ダウンロード元決定部４５０１へ通知する。また、ダウンロード元決定部４５０１から、ネットワークの接続先を指定されたダウンロード元指定２００５を受信した際に、指定されたサーバへ接続し、ファイルをダウンロードする。そしてダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。あるいは、直接ストア部４５０４へ渡してもよい。【０２０７】  ストア部４５０４は、ダウンロード元決定部４５０１あるいはネットワーク接続部４５０９から指定されたアプリケーションをストアする機能を持つ。【０２０８】  本実施の形態における、ネットワークからアプリケーションのダウンロードを行う動作の一例をフローチャート図４６へ示す。なお、図４６は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４６を参照して、通知・応答モジュール２の処理（Ｓ４６０１）を行いユーザへダウンロー��を行うか否かの問い合わせを行う（Ｓ４６０２）。この結果がＡの場合は、ユーザによってダウンロードが承認されたためダウンロードを行う処理を行う（この処理に関しては、前述した実施の形態と同じため説明を省く）。一方、この結果がＢの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ４６０２）。ダウンロード元決定部４５０１は、ネットワーク接続部４５０９から受信した、ネットワークの利用可能か否かの判断（Ｓ４６０３）を考慮し、利用できない場合（Ｓ４６０３でＮＯ）は処理を終了する。あるいは、ネットワークが利用できないことをユーザへ通知してもよい。あるいは、ユーザの視聴あるいは録画が終わった時間にダウンロードのタイマー設定を行うことができるように、実施の形態３で示した図４４のＳ４４０２へ処理を移動できるようにしてもよい。一方、ネットワークを利用できるとき（Ｓ４６０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワーク接続部４５０９へダウンロード元指定２００５を渡し、ダウンロード要求の指示を行う（Ｓ４６０４）。そして、この指示を受け、ネットワーク接続部４５０９は、ダウンロード元指定２００５からアプリケーションのダウンロードを行う（Ｓ４６０５）。そして、ネットワーク接続部４５０９はダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。ダンロード元決定部４５０１は、ストア部４５０４へ、そのアプリケーションのストアを指示する。ストア部４５０４は受信したアプリケーションをストアする（Ｓ４６０６）。なお、ネットワーク接続部４５０９が、ダウンロードしたアプリケーションを直接ストア部４５０４へ渡してもよい。【０２０９】  なお、事前にネットワークが利用可能か否かを問い合わせるＳ４６０２とＳ４６０３の処理は必ずしも必要な処理ではないため、図４７のようにＳ４６０２とＳ４６０３の処理を行わなくてもよい。【０２１０】  このように、実施の形態４により、ユーザがＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードに必要なチューニングを拒否した際に、ネットワークからのダウンロードを行うことができる。【０２１１】  （実施の形態５）
実施の形態４では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからのダウンロードを行うことができた。本実施の形態では、ユーザがダウンロード方法を選択できること考える。なお、本実施の形態では、実施の形態４同様、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。【０２１２】  本実施の形態の構成要素は、図４５のダウンロード元決定部４５０１に加え、ダウンロード元決定部４５０１は、ダウンロード方法としてネットワークとチューナの選択を促すメッセージをユーザへ通知するよう通知部２９０５へ指示し、そのメッセージの応答を受信するように応答受付部３５０７へ指示する。そして応答受付部３５０６から通知されたユーザが選択したダウンロード方法に従い、ダウンロード元決定部４５０１は、ダウンロードを行うように設定をする。具体的には、チューナを選択された場合はこれまでの実施の形態１〜３と同様の機能を適用し、ネットワークが選択された場合は、ネットワークからのダウンロードを実行する。なお、ここではユーザへ通知するダウンロード方法として、ネットワークとチューナを例にして説明したが、プログラムのダウンロードあるいはプログラムの取得ができる方法であればこれに限る必要はない。また、ユーザへ通知するダウンロード方法は、プロトコル識別子２００３の一部あるいは全部であってもよい。【０２１３】  図４８に通知部が表示する画面の一例を示す。図４８０２はユーザへダウンロード方法の選択を促すメッセージ４７０２とネットワークとチューナを選択するボタン（４７０３と４７０４）、そして、ユーザの選択が終了したことを通知するためのボタン４７０５を備える。なおこの時、ユーザへのメッセージ内容やボタンの形式や表示内容は、必ずしも図４８の形式である必要はない。つまり、図４８はユーザがダウンロード元を指定できるものであれば、他の表現であってもよい。【０２１４】  本実施の形態における、ユーザがダウンロード元を設定する処理動作の一例をフローチャート図４９へ示す。なお、ここでは、実施の形態２で示した図３７でＮｏボタン３７０４が押された後に、ユーザへダウンロード元の指定を促す場合を示す。そのため図４９は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４９を参照して、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ４８０１）。ダウンロード元決定部４５０１は、ネットワーク接続部４５０９から受信した、ネットワークの利用可能か否かの判断（Ｓ４８０２）を考慮し、利用できない場合（Ｓ４８０２でＮＯ）は図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールを行い、チューナを利用したダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。【０２１５】  一方、ネットワークを利用できるとき（Ｓ４８０２でＹＥＳ）は、ダウンロード元決定部４５０１は、通知部２９０５へユーザにアプリケーションのダウンロード方法を選択できることを通知するよう指示し、通知部２９０５はメッセージを通知する（Ｓ４８０３）。その後、ダウンロード元決定部４５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４５０１へ選択されたダウンロード方法を通知する（Ｓ４８０４）。ダウンロード元決定部４５０１は、受信したダウンロード方法がネットワークか否かを判断（Ｓ４８０５）し、ユーザがネットワークからのダウンロードを選択していない場合（Ｓ４８０５でＮＯ）は、図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。一方、ネットワークが選択された場合（Ｓ４８０５でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワーク接続部４５０９へダウンロード元指定２００５を渡し、ダウンロード要求の指示を行う（Ｓ４８０７）。そして、この指示を受け、ネットワーク接続部４５０９は、ダウンロード元指定２００５からアプリケーションのダウンロードを行う（Ｓ４８０８）。そして、ネットワーク接続部４５０９はダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。ダンロード元決定部４５０１は、ストア部４５０４へ、そのアプリケーションのストアを指示する。ストア部４５０４は受信したアプリケーションをストアする（Ｓ４８０６）。なお、ネットワーク接続部４５０９が、ダウンロードしたアプリケーションを直接ストア部４５０４へ渡してもよい。【０２１６】  なお、ユーザへダウンロード方法の選択を通知する際に、ユーザが判断しやすいように、ネットワークを用いてプログラムのダウンロードした場合と、ＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードした場合の予想時間あるいは、ダウンロード速度などをユーザへ提示してもよい。また、チューナを利用した場合は、現在の視聴あるいは録画が中断されることも通知することもできる。【０２１７】  なお、ここではチューナが全て使用中の場合に、ユーザがネットワークからダウンロードするかチューナからダウンロードするかを選択できる方法を示したが、チューナが全て使用中であるか否かに関わらず、ユーザがダウンロード元を選択できる方法も想定することができる。具体的には、これまで図４９を図３９の一部として処理してきたが、図４９のＳ４８０１から処理を開始し、１０の処理へ進む代わりに図３９を開始する方法が想定できる。【０２１８】  本実施の形態を利用することにより、ユーザがダウンロード方法を選択することができるようになる。【０２１９】  （実施の形態６）
実施の形態５では、ユーザがアプリケーションのダウンロード方法を選択することができた。本実施の形態では、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する方法を説明する。なお、本実施の形態では、実施の形態４、５同様、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。【０２２０】  本実施の形態の構成要素を図５２に示す。なお、通知部２９０５及び応答受付部３５０７及びチューニング要求部２９０６は本実施の形態の必須要素ではないため、点線で示している。また、図５２に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。【０２２１】  本実施の形態における、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する動作の一例をフローチャート図５３と図５４に示す。図５３を参照して、Ｓ５００１からＳ５００４は、図３１及び図３９と同じ処理のため説明を省略する。そこで、Ｓ５００４のアプリケーションの周波数がチューニング中ではない場合（Ｓ５００４でＮＯ）、図５４を参照して、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５１０１）。この結果を受け、ダウンロード元決定部４５０１は、ネットワークが利用可能か否かの判断（Ｓ５１０２）に応じて、利用できない場合（Ｓ５１０２でＮＯ）は、図５３のＢの処理へ戻り終了する。一方、ネットワークが利用可能の場合（Ｓ５１０２でＹＥＳ）、Ｓ５１０３〜Ｓ５１０５の処理を行う。ここでＳ５１０３〜Ｓ５１０５の処理は、図４６のＳ４６０４〜Ｓ４６０６と同じため説明を省略する。なお、ここでは図５３において、現在のアプリケーションの周波数がチューニングされているか（Ｓ５００４）の判断がＮＯだった場合に、直ぐにネットワークからダウンロードする方法を説明したが、ここで、チューナが全て使用中か否かを判断し、全てのチューナが使用中の場合に限り、図５４の処理へ進むように設定してもよい。また更に、Ｓ５１０２の判断においてネットワークが利用できない場合は、ダウンロードの処理を終了する方法を説明した。そのため、ネットワークが利用できない場合は、必要に応じて図５２の通知部２９０５及び３５０７の応答受付部とチューニング要求部２９０６を追加し、図５５のＳ５２０６のように図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行うこともできる（図５０のＳ４８０６��たは図５１のＳ４８０６）。本実施の形態を利用することで、チューナを必要とする場合は、ネットワークからのダウンロードを優先的に処理することができるようになる。【０２２２】  （実施の形態７）
実施の形態６では、ユーザが視聴あるいは録画中のチューニングを考慮し、チューニングが必要な場合は、ネットワークからダウンロードする手法を説明した。本実施の形態では、現在のチューニング情報やダウンロードするアプリケーションの周波数を考慮することなく、プロトコル識別子２００３にＩＰ指定がある場合は、常にネットワークからダウンロードする手法を説明する。そのため、本実施の形態では、選択されたアプリケーションが、プログラムのダウンロードを提供するサーバに存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＩＰの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。【０２２３】  本実施の形態の構成要素を図５６に示す。図５６に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。【０２２４】  本実施の形態における、アプリケーションのダウンロード元にＩＰからのダウンロードが存在する場合は、ネットワークのダウンロードを優先的に処理する動作の一例をフローチャート図５７に示す。図５７を参照して、ダウンロード元決定部４５０１はアプリケーション情報を受け取る（Ｓ５４０１）。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子２００３及びダウンロード元指定２００５などが含まれる。この時、ダウンロード元決定部４５０１は、プロトコル識別子２００３にＩＰが存在することを確認する。次に、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５４０２）。ダウンロード元決定部４５０１は、ネットワークが利用可能か否かを判断（Ｓ５４０３）し、利用できない場合（Ｓ５４０３でＮＯ）は終了する。一方、利用できる場合（Ｓ５４０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ダウンロード元指定２００５を指定し、ネットワーク接続部４５０９へダウンロード要求を行う（Ｓ５４０４）。ネットワーク接続部４５０９は、指定されたダウンロード元指定２００５からダウンロードを行う（Ｓ５４０５）。そして、ネットワーク接続部４５０９は、ダウンロード元決定部４５０１へダウンロードしたアプリケーションを渡し、ダウンロード元決定部４５０１は、ストア部４５０４へアプリケーションのストアを指示し、ストア部４５０４へストアを行う（Ｓ５４０６）。【０２２５】  なお、ここでは図５７のネットワークが利用可能か否かの判断（Ｓ５４０３）において、ネットワークが利用できない場合は処理を終了する場合を説明したが、ここで図５８に示したように、チューナからのダウンロードを行う図５９の処理へ続くようにしてもよい。図５９は、図３９からＳ３００１の処理を除いたのみなので詳細な説明は省略する。図５９を参照して、チューナが全て使用中か否かの判断（Ｓ５６０４）がＹＥＳの場合の図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用し、ダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。なお、図５９のＳ５６０１〜Ｓ５６０６の処理は、ＤＳＭＣＣからのダウンロードモジュールとして、これ以降、同様の処理をする際に参照することとする。【０２２６】  本実施の形態では、ネットワークからのダウンロードを優先的に行う手法について説明した。これにより、ユーザの視聴あるいは録画を妨げることが減少すると考えられる。【０２２７】  （実施の形態８）
アプリケーションのダウンロードは、ＤＳＭＣＣを用いてチューナからダウンロードを行う手法が一般的である。そのため、実施の形態１〜６では、ＤＳＭＣＣからのダウンロードを行う手法を優先的に考えた手法を説明した。また、実施の形態７は、ダウンロードの速度より、ダウンロード時にユーザの妨げにならないよう、ネットワークからのダウンロードをＤＳＭＣＣからのダウンロードより優先的に処理する手法を説明した。しかし本実施の形態では、ダウンロード可能な方法のうち、最も高速にダウンロードができるダウンロード元を探し、ダウンロードを行う手法を説明する。【０２２８】  なお、これまでの実施の形態においても、特にネットワークを用いたプログラムのダウンロードにおいて、ダウンロード元指定２００５が複数存在する際に、最速のところからダウンロードを行う方式にしてもよい。【０２２９】  本実施の形態の構成要素を図６０に示す。図６０に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。【０２３０】  本実施の形態における、アプリケーションのダウンロード元の決定において最速のところからダウンロードを行う動作の一例をフローチャート図６１と図６２に示す。図６１を参照して、ダウンロード元決定部４５０１アプリケーション情報を受け取る（Ｓ５８０１）。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子２００３及びダウンロード元指定２００５などが含まれる。次に、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５８０２）。ダウンロード元決定部４５０１は、ネットワークが利用可能か否かを判断（Ｓ５８０３）し、利用できる場合（Ｓ５８０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワークを用いたプログラムのダウンロード指定先のうち、最速のネットワークを決定する（Ｓ５８０４）。この最速のネットワークを求める方法としては、ダウンロード元指定２００５で設定されたサーバへｐｉｎｇというネットワークの疎通を確認するコマンドを利用する方法がある。ｐｉｎｇは、ネットワーク疎通を確認したいホストに対してＩＰパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドである。そのため、この返答が最も速いサーバを最速とする方法があるが、これ以外の方法であってもよい。なお、このような最速のネットワークからのダウンロード元指定２００５を特定し、そのサーバからダウンロードする方法は、これまでの実施の形態１〜７においても適用することができる。次に、ダウンロード元決定部４５０１が求めた最速のネットワークからのダウンロード元指定２００５とチューナを利用したＤＳＭＣＣからのダウンロードの速度を比較する（Ｓ５８０５）。なお、ＤＳＭＣＣからのダウンロード速度は、パケットを取得するハードウェアにより検出し、その値をダウンロード元決定部４５０１が取得できるように設定してもよい。また、ダウンロード元決定部４５０１が、トランスポートストリームのビットレートを事前に固定値として保持しておいてもよい。次に、ダウンロード元決定部４５０１は、Ｓ５８０５の比較によりネットワークが最速か否かを判断する（Ｓ５８０６）。この結果、ネットワークが最速である場合（Ｓ５８０６でＹＥＳ）は、図６２の５の処理へ進み、ネットワーク接続部４５０９は、ダウンロード元指定２００５からプログラムのダウンロードを行う（Ｓ５８０７）。そして、ダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡し、ダウンロード元決定部４５０１は、ストア部４５０４へアプリケーションを渡し、ストア部４５０４へアプリケーションのストアを指示する（Ｓ５８０８）。一方、Ｓ５８０６でネットワークが最速でないと判断された場合（Ｓ５８０６でＮＯ）は、図６２の６の処理へ進む。なお、Ｓ５８０３のネットワークが利用できない場合も、この図６２の６の処理へ進む。この時は、チューナを利用するため、図５９の処理を行う（Ｓ５８０９）。なお、図５９における１０の処理では、実施の形態１〜３で示した方法を利用することができる。【０２３１】  本実施の形態では、ネットワーク及びＤＳＭＣＣからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明した。【０２３２】  （実施の形態９）
これまでの実施の形態では、アプリケーションをダウンロードする手法として、ネットワークとＤＳＭＣＣからダウンロードする手法を考慮してきた。本実施の形態では、記録媒体からのアプリケーション取得を考慮する。【０２３３】  記録媒体からの取得の場合は、チューナを必要としないためユーザの視聴あるいは録画を妨げることはない。そのため記録媒体からのアプリケーションの取得要求を受信した際には、ユーザへ記録媒体の挿入指示を行うことで実現することができる。ここで、記憶媒体とは、ＣＤ、ＤＶＤ、ＢＤなどの光ディスクメディアや、半導体を利用したメモリーカードなど、媒体の中に情報を記憶できるものであれば、どのような媒体であってもよい。【０２３４】  図６３に通知部が表示する画面の一例を示す。ここでは、プログラムの取得が必要になったタイミングで、記録媒体の挿入を要求する画面を示す。ここでは、記録媒体の挿入を促すメッセージ５９０２とＯＫボタン５９０３とキャンセルボタン５９０４を備える。なお、ここでは、記録媒体の挿入が完了したこと、あるいは処理をキャンセルすることが分かればいいので、表示方法やユーザからの応答に関してはこの方法に限る必要はない。【０２３５】  図６４に記録媒体を指定した場合のＸＡＩＴの一例を示す。プロトコル識別子２００３にｍｅｄｉａを指定し、ダウンロード元指定２００５に記録媒体の指定を示す。他の項目については、実施の形態１で説明したものと同じため説明を省略する。なお、本実施の形態で示す記録媒体からのプログラム取得は、ＸＡＩＴ情報からの取得に限らず、他の情報を用いた要求であっても適用することができる。また、図６４で示した項目は、記録媒体からのアプリケーションの取得が識別できるものであれば、図６４の項目及び表現に限る必要はない。【０２３６】  図６５に本実施の形態の構成要素を示す。図３０及び図３５及び図４５と同じ番号で示したものは、以前に説明したものと同様の機能で実現することができるため、説明を省略する。【０２３７】  ダウンロード元決定部６１０１は、ダウンロード元決定部４５０１に加え、通知部２９０５へ記録媒体の挿入を促すメッセージの表示を指示し、応答受付部３５０７からユーザの応答を受信する。そして、記録媒体処理部６１１０へ記録媒体からの読み込みを指示し、取得したアプリケーションをストア部４５０４へストアするよう指示する。【０２３８】  記録媒体処理部６１１０は、ダウンロード元決定部６１０１の指示により、記録媒体からの読み込みを行い、ダウンロード元決定部によって指定されたプリケションを取得する。【０２３９】  次に図６６に記録媒体からのアプリケーション読み込みのフローチャートの一例を示す。ダウンロード元決定部６１０１は、ユーザに記録媒体の挿入の要求するメッセージ表示を通知部２９０５へ指示し、通知部２９０５はこのメッセージを表示する（Ｓ６２０１）。その後、ダウンロード元決定部６１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部６１０１へ選択されたユーザ応答を通知する（Ｓ６２０２）。ダウンロード元決定部６１０１���、受信したユーザ応答から記録媒体が挿入されたか否かを判断（Ｓ６２０３）し、記録媒体が挿入された場合は、ダウンロード元決定部６１０１は、記録媒体処理部６１１０へアプリケーションの読み込みを指示し、記録媒体処理部６１１０は記録媒体からアプリケーションの読み込みを行う（Ｓ６２０４）。記録媒体処理部６１１０は、取得したアプリケーションをダウンロード元決定部６１０１へ渡し、ダウンロード元決定部６１０１は、ストア部４５０４へアプリケーションのストア要求を指示し、ストア部４５０４はストアをする（Ｓ６２０５）。一方、記録媒体の挿入がキャンセルされた場合は、処理を終了する。【０２４０】  なお、ここでは、記録媒体からのアプリケーション取得のみを説明したが、ネットワーク接続部４５０１と併用することで、記録媒体から取得したアプリケーションに最新のものが存在しないかを調べることもできる。これは、プロトコル識別子２００３にｍｅｄｉａとＩＰが両方ある場合は、ダウンロード元指定２００５を参照することができる。あるいは、一例として記録媒体内に最新版を保存するサーバ及びディレクトリを指定するファイルをアプリケーションと一緒に保存しておき、記録媒体処理部６１１０により記録媒体から読み込みを行う際に、このファイルを参照し、ネットワーク接続部４５０９を通し最新のアプリケーションの存在を調べることで実現できすることもできる。その結果最新のものがあった場合は、ネットワーク接続部からアプリケーションをダウンロードするという手法も想定される。【０２４１】  また、実施の形態８では、ネットワーク及びＤＳＭＣＣからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明したが、例えば記録媒体からのアプリケーション取得も可能である場合、記録媒体からの転送速度を考慮して、ネットワークからのダウンロード、ＤＳＭＣＣからのダウンロード、および記録媒体からのアプリケーション取得の中で最速でダウンロードできるところからダウンロードを行っても構わない。【０２４２】  なお、実施の形態１〜９を通して、以下の応用が可能である。【０２４３】  アプリケーションのダウンロード時のメッセージ通知とダウンロード経路について説明したが、これらの場合においてダウンロード元を決定し、ダウンロード途中でエラーを検出した際に、別のダウンロード元指定２００５を指定することで処理を繰り返す方針にしてもよいし、ダウンロード元指定２００５全て処理してもダウンロードが完了できなかった場合は、プロトコル指定２００３のもう一方の方法で挑戦してもよい。この時、これまで説明した実施の形態を利用することができる。【０２４４】  また、Ｊａｖａ（登録商標）プログラムはＪａｖａ（登録商標）で記述された部分と、ＣＰＵが直接実行できるバイナリ形式の部分の混合でもよいし、ＣＰＵが直接実行できるバイナリ形式のみで構成されていても実施可能である。【０２４５】  また、登録されたＪａｖａ（登録商標）プログラムを２次記憶部５１０に保存していたが、１次記憶部５１１に保存することも実施可能である。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。また、ネットワーク���関しては、有線で実現されても無線で実現されてもよい。【０２４６】  また、本発明はパーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。【０２４７】  また、ＰＯＤ５０４は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、ＰＯＤ５０４のＣＰＵ７０６を取り外し、ＣＰＵ５１４がＣＰＵ７０６の動作も行うことも実施可能である。【０２４８】  ＰＯＤ  Ｌｉｂ１２０５ｅに登録されるＪａｖａ（登録商標）プログラムは、ダウンロードされたＪａｖａ（登録商標）プログラムだけでなく、予め内蔵されているＪａｖａ（登録商標）プログラムでも実施可能である。また、ＳＤメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからＪａｖａ（登録商標）プログラムを取り込むことも可能である。【０２４９】  （実施の形態１０）
上述の実施の形態ではダウンロードするアプリケーションとしてデジタルテレビなどの端末装置で動作するアプリケーションプログラムを例に説明をしたが、これに限定されるものではなく端末装置内に予め記録されているプラットフォームを構成するプログラムもアプリケーションプログラムに含まれるものである。つまりプラットフォームを構成するプログラムもダウンロードの対象となる。【０２５０】  ここでプラットフォームとは、放送受信装置に組み込まれたソフトウェアで、機能追加や不具体の修正などのために、後から変更できるソフトウェアとする。【０２５１】  本実施の形態ではプラットフォームをダウンロードする例について説明をする。【０２５２】  図６７は本実施の形態のダウンロード実行装置の一例を説明するための図である。【０２５３】  図６７において６７０１はプラットフォームに対応するプログラムデータ（以後ファームウェアと称す）をダウンロードするためのダウンロードモジュール（Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ）である。【０２５４】  本実施の形態で示すＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１の処理動作の一例をフローチャート図６８に示す。Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１は、例えば図３のＩｎ−ＢａｎｄまたはＯＯＢ、あるいはネットワークなど他の伝送方式によって伝送される例えば図６９に示すようなファームウェア更新情報（詳細は後述）が伝送されているか否かモニタリングを行い、ファームウェア更新情報が伝送されている場合は、そのファームウェア更新情報を取得する（Ｓ６８０１）。【０２５５】  図６９はファームウェア更新情報の一例である。【０２５６】  これらの情報は具体的には、ＡＮＳＩ／ＳＣＴＥ  ２８  ２００４  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｔａｎｄａｒｄにより詳細な記載がなされている。【０２５７】  図６９において、ベンダーＩＤ６９０１は、ベンダー毎に割り当てが決まっており、ベンダーを一意に特定できる値を保持する。一例として、Ｏｒｇａｎｉｚａｔｉｏｎａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ（ＯＵＩ）がＩＥＥＥによってホストデバイスベンダーへ割り当てた値などがある。また、ハードウェアバージョン６９０２は、ベンダーＩＤによって示されたベンダーにおいて、ハードウェアの各タイプへ割り当てられたハードウェアを一意に特定する識別子を保持する。また、タイミング情報６９０３は、ダウンロードを実行するタイミングを示す情報を保持する。一例として、直ちにダウンロード（００）、延期されたダウンロード（０１）、例外なく直ちにダウンロード（０２）などのように、ダウンロードのタイミングを数値として記述することを記述できる。また、取得経路６９０４は、ベンダーＩＤ６９０１やハードウェアバージョン６９０２によって識別されたファームウェアがダウンロードできる経路を保持する。例えば、「放送波」は図３のＩｎ−ＢａｎｄやＯＯＢなどがあり、「ネットワーク」は、Ｄａｔａ−Ｏｖｅｒ−Ｃａｂｌｅ−Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＤＯＣＳＩＳ）などがある。ＤＯＣＳＩＳの詳細はＣＭ−ＳＰ−ｅＤＯＣＳＩＳ−Ｉ１６−０５０８１２を参照されたい。また、ストリーム特定情報６９０５��、取得経路６９０４で記載された経路内で更に伝送ストリームなどを特定する識別子を保持する。伝送ストリームの特定する識別子の一例として、「番組（＝サービス）」や「周波数とプログラムナンバー」や「周波数とパケットＩＤ」などがある。【０２５８】  再び図６８に戻り説明をする。（Ｓ６８０１）にて、例えば図６９に示すようなファームウェア更新情報を取得した後、受信したファームウェア更新情報のベンダーＩＤ６９０１及びハードウェアバージョン６９０２と放送受信装置が保持するベンダーＩＤやハードウェアバージョンを比較する（Ｓ６８０２）。このとき、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれている場合は、プラットフォームの更新に不要なプログラム（例えば、ＥＰＧ１２０２、ＶＭ１２０３、サービスマネージャ１２０４、ライブラリ１２０５の中の一部の機能（ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、ＣＡ１２０５ｄなど））の実行を一旦停止する（Ｓ６８０３）。また、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれていない場合は、（Ｓ６８０１）に戻り、再びファームウェア更新情報の取得を待つ。【０２５９】  （Ｓ６８０３）にてプラットフォームの更新に不要なプログラムの実行を一旦停止した後、Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１はファームウェア更新のタイミング情報６９０３、取得経路６９０４及びストリーム特定情報６９０５を用いてファームウェアのダウンロード元を決定し、ファームウェアをダウンロードし記憶領域へ保存する（Ｓ６８０４）。【０２６０】  なお、記憶領域の一例として、１次記憶部５１１、２次記憶部５１０等がある。【０２６１】  （Ｓ６８０４）におけるより詳細なフローチャートは例えば図３１、図３２に示すフローチャートに相当する。またＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅの具体的な構成は図３０に示すブロック図に相当する。但しこのフローチャートはＡＭの動作を示すフローチャート、ブロック図はＡＭの具体的な構成を示すブロック図であるのでこれをＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１として置き換えて読めばよい。このとき図３１、３２に対応する説明をしている文章において「ＸＡＩＴ情報」とあるのを「ファームウェア更新情報」に置き換えて読めば良い。また、「プロトコル識別子」とあるのを、「取得経路」に置き換え、プロトコル識別子の「ＯＣ」を「放送波」として読み、「ＩＰ」を「ネットワーク」に置き換えて読めばよい。なお、「ネットワーク」の伝送方法の一例として、ＩＰパケットやＵＤＰパケットなどの通信プロトコルにＤＳＭＣＣ方式のセクション情報などを内包し伝送してもよい。また、「ダウンロード元指定」を「ストリーム特定情報」と置き換えて読めばよい。「ストリーム特定情報」の一例として、ソースＩＤを指定してもよいし、周波数とプログラムナンバーの組や周波数とパケットＩＤの組でもよい。【０２６２】  同様な置き換えはフローチャートのついては図３８、３９、４０、４４、４６、４７、４９、５０、５１、５３、５４、５５、５７、５８、５９、６１、６２、６６、ブロック図については図３５、４１、４５、５２、５６、６０、６５およびこれらの図面に対応���る説明についても可能である。【０２６３】  また、タイミング情報６９０３に保持されている情報が、直ちにダウンロード（００）や、例外なく直ちにダウンロード（０２）するような情報であって、かつチューナを用いてダウンロードする場合、チューナが全て使用中である場合には、ダウンロード実行をしないというように構成すれば、ユーザの視聴を妨げることが無くなる。
【産業上の利用可能性】
【０２６４】  本発明に係るダウンロード実行装置は、特に、デジタルテレビにおけるアプリケーションのダウンロード技術として有用である。また、デジタルテレビに限らず、例えばパーソナルコンピュータや携帯電話などソフトウェアによって制御される情報機器におけるダウンロード元決定及びメッセージ通知の用途にも応用できる。
【図１】
2006080361.tif 000002
【図２】
2006080361.tif 000003
【図３】
2006080361.tif 000004
【図４】
2006080361.tif 000005
【図５】
2006080361.tif 000006
【図６】
2006080361.tif 000007
【図７】
2006080361.tif 000008
【図８】
2006080361.tif 000009
【図９】
2006080361.tif 000010
【図１０】
2006080361.tif 000011
【図１１】
2006080361.tif 000012
【図１２】
2006080361.tif 000013
【図１３】
2006080361.tif 000014
【図１４】
2006080361.tif 000015
【図１５】
2006080361.tif 000016
【図１６】
2006080361.tif 000017
【図１７】
2006080361.tif 000018
【図１８】
2006080361.tif 000019
【図１９】
2006080361.tif 000020
【図２０】
2006080361.tif 000021
【図２１】
2006080361.tif 000022
【図２２】
2006080361.tif 000023
【図２３】
2006080361.tif 000024
【図２４】
2006080361.tif 000025
【図２５】
2006080361.tif 000026
【図２６】
2006080361.tif 000027
【図２７】
2006080361.tif 000028
【図２８】
2006080361.tif 000029
【図２９】
2006080361.tif 000030
【図３０】
2006080361.tif 000031
【図３１】
2006080361.tif 000032
【図３２】
2006080361.tif 000033
【図３３】
2006080361.tif 000034
【図３４】
2006080361.tif 000035
【図３５】
2006080361.tif 000036
【図３６】
2006080361.tif 000037
【図３７】
2006080361.tif 000038
【図３８】
2006080361.tif 000039
【図３９】
2006080361.tif 000040
【図４０】
2006080361.tif 000041
【図４１】
2006080361.tif 000042
【図４２】
2006080361.tif 000043
【図４３】
2006080361.tif 000044
【図４４】
2006080361.tif 000045
【図４５】
2006080361.tif 000046
【図４６】
2006080361.tif 000047
【図４７】
2006080361.tif 000048
【図４８】
2006080361.tif 000049
【図４９】
2006080361.tif 000050
【図５０】
2006080361.tif 000051
【図５１】
2006080361.tif 000052
【図５２】
2006080361.tif 000053
【図５３】
2006080361.tif 000054
【図５４】
2006080361.tif 000055
【図５５】
2006080361.tif 000056
【図５６】
2006080361.tif 000057
【図５７】
2006080361.tif 000058
【図５８】
2006080361.tif 000059
【図５９】
2006080361.tif 000060
【図６０】
2006080361.tif 000061
【図６１】
2006080361.tif 000062
【図６２】
2006080361.tif 000063
【図６３】
2006080361.tif 000064
【図６４】
2006080361.tif 000065
【図６５】
2006080361.tif 000066
【図６６】
2006080361.tif 000067
【図６７】
2006080361.tif 000068
【図６８】
2006080361.tif 000069
【図６９】
2006080361.tif 000070
【手続補正書】
【提出日】平成19年6月29日(2007.6.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムのダウンロードを実行するダウンロード実行装置であって、
前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段と、
前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段と
を備えることを特徴とするダウンロード実行装置。
【請求項２】
前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも１つのチューナと、
前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、
前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と
を備えることを特徴とする請求項１記載のダウンロード実行装置。
【請求項３】
前記ダウンロード実行装置は、さらに、
前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項４】
前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項３記載のダウンロード実行装置。
【請求項５】
前記ダウンロード実行装置は、さらに、
前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備える
ことを特徴とする請求項３記載のダウンロード実行装置。
【請求項６】
前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択する
ことを特徴とする請求項５記載のダウンロード実行装置。
【請求項７】
前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項８】
前記メッセージ通知手段は、前記メッセージを所定時間表示する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項９】
前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１０】
前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも１つを前記ユーザへ提供する
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１１】
前記ダウンロード実行装置は、さらに、
前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
ことを特徴とする請求項２記載のダウンロード実行装置。
【請求項１２】
前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定する
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１３】
前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付ける
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１４】
前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、
前記ダウンロード実行装置は、さらに、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段を備え、
前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行する
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項１５】
前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付ける
ことを特徴とする請求項１４記載のダウンロード実行装置。
【請求項１６】
前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定する
ことを特徴とする請求項１５記載のダウンロード実行装置。
【請求項１７】
前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、
前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、
前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定する
ことを特徴とする請求項１４記載のダウンロード実行装置。
【請求項１８】
前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知する
ことを特徴とする請求項１７記載のダウンロード実行装置。
【請求項１９】
前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知する
ことを特徴とする請求項１７記載のダウンロード実行装置。
【請求項２０】
前記ダウンロード実行装置は、さらに、
前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備える
ことを特徴とする請求項１１記載のダウンロード実行装置。
【請求項２１】
前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、
前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２２】
前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２３】
前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定する
ことを特徴とする請求項２０記載のダウンロード実行装置。
【請求項２４】
前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも１つを含む
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項２５】
前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも１つを行う
ことを特徴とする請求項２４記載のダウンロード実行装置。
【請求項２６】
前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から１つの組を決定する
ことを特徴とする請求項２４記載のダウンロード実行装置。
【請求項２７】
前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項２８】
前記ダウンロード実行装置は、さらに、
放送波を受信する少なくとも一つのチューナと、
前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備える
ことを特徴とする請求項２７記載のダウンロード実行装置。
【請求項２９】
前記ダウンロード実行装置は、さらに、
前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２８記載のダウンロード実行装置。
【請求項３０】
前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
ことを特徴とする請求項２９記載のダウンロード実行装置。
【請求項３１】
前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定する
ことを特徴とする請求項２８記載のダウンロード実行装置。
【請求項３２】
前記ダウンロード実行装置は、さらに、
ユーザへメッセージ通知を行うメッセージ通知手段と、
前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
ことを特徴とする請求項２７記載のダウンロード実行装置。
【請求項３３】
前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、
前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定する
ことを特徴とする請求項３２記載のダウンロード実行装置。
【請求項３４】
前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項３５】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定する
ことを特徴とする請求項３４記載のダウンロード実行装置。
【請求項３６】
前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与する
ことを特徴とする請求項２６記載のダウンロード実行装置。
【請求項３７】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定する
ことを特徴とする請求項３６記載のダウンロード実行装置。
【請求項３８】
前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項３９】
前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４０】
前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成する
ことを特徴とする請求項３９記載のダウンロード実行装置。
【請求項４１】
前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成する
ことを特徴とする請求項３９記載のダウンロード実行装置。
【請求項４２】
前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定する
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４３】
前記ダウンロード実行装置は、さらに、
前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備える
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４４】
前記ダウンロード実行装置は、放送受信装置である
ことを特徴とする請求項１記載のダウンロード実行装置。
【請求項４５】
プログラムのダウンロードを実行するダウンロード実行方法であって、
前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定ステップと、
前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行ステップと
を含むことを特徴とするダウンロード実行方法。
【請求項４６】
実行プログラムのダウンロードを実行するためのプログラムであって、
前記実行プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定ステップと、
前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記実行プログラムのダウンロードを実行するダウンロード実行ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムをダウンロードして実行する例えばデジタル放送受信機等のダウンロード実行装置に関する。
【背景技術】
【０００２】
従来の放送受信機におけるプログラムのダウンロードは、ダウンロードするプログラムを放送波によって送信されるトランスポートストリームへ挿入し、プログラムの流れるトランスポートストリームへチューニングすることでダウンロードする方法が一般的である。トランスポートストリームへプログラムを挿入する方法は、ＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式が用いられる。ＤＳＭＣＣは一般的な技術のため詳細な説明は省略する。このように、プログラムのダウンロードを行う際には、チューニングが発生する。このため、プログラムのダウンロードを行う放送受信機は、ユーザの視聴あるいは録画を妨げないように、プログラムのダウンロードを行う前に、放送受信機の現在の状態が視聴あるいは録画中か否かを検出し、視聴あるいは録画が行われていない状態の時にプログラムのダウンロードを行っている。これにより、プログラムのダウンロードがユーザの番組視聴あるいは録画を妨害することはなかった。
【０００３】
一方、特許文献１では、プログラムをダウンロードするか否かをユーザへ問い合わせる手法が提案されている。この特許文献１は、図１に示すように放送受信機内でエラーが発生した際に、プログラムのバージョンアップを検出し、放送受信機のエラーが修復される際には通知を行い、ユーザにバージョンアップを行うか否かの確認を行うことを特徴としている。
【０００４】
以上のように、プログラムのダウンロードを行う手法としては、放送受信機の状態が視聴あるいは録画などが行われていない状態の時に限りダウンロードを行う手法と、放送受信機のエラー発生時にダウンロードするか否かをユーザへ通知し、応答を受信する手法が存在している。
【０００５】
ところで、放送受信機は、放送局からプログラムのダウンロード要求を受信し、ダウンロードを開始する。このプログラムのダウンロード要求には、放送受信機がダウンロードすることができる方法が複数記載されていることがある。この一例として、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−Ｉ１１−０４０６０４）を説明する。ＯＣＡＰ仕様では、ＥＰＧやＶＯＤなどのサービスを記述したプログラムを放送受信機上へダウンロードし実行することを特徴としている。ＯＣＡＰ仕様は、トランスポートストリームによる配信とネットワーク経由の配信によってダウンロードすることができることを規定している。このため放送局は、プログラムをトランスポートストリームとして配送することも、ネットワーク経由で配送することも、あるいはこの両方から配送することもできる。しかしながらＯＣＡＰ仕様は、受信端末機は、一つあるいは複数のダウンロード方法を示されたダウンロード要求を受信した際に、どの配信方法を利用するか、また、ユーザの視聴を妨げる場合の振る舞いについては、規定していない。
【特許文献１】特開２００３−６７２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の放送受信機の状態が、視聴あるいは録画を行っていない状態のときに限りダウンロードを行う手法では、放送受信機が視聴あるいは録画を行っていない状態で、放送局からダウンロード要求を受信できないと、プログラムのダウンロードが先送りになるという問題があった。また、ユーザはプログラムのダウンロードが延期されたことを知ることができなかった。そこで、ダウンロード時にユーザへ通知する手法の使用が考えられるが、特許文献１においては、放送受信機内でエラーが発生した際に、プログラムのダウンロードをするか否かをユーザへ問う方針のため、エラーが発生するまではプログラムのダウンロードが発生しない。
【０００７】
また、ユーザの視聴または録画中である番組以外に関するプログラムのダウンロード要求を受けた際にダウンロードを行おうとすると、例えば放送受信機が保有するチューナのうちプログラムのダウンロードに利用可能なチューナが全て使用中であり、かつ、ダウンロードを行うトランスポートストリームが流れている周波数が、現在チューニングされている周波数と異なる場合には、プログラムのダウンロードによりユーザの視聴または録画が妨げられることになる。
【０００８】
さらに、ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様（ＯｐｅｎＣａｂｌｅ  Ｃｏｍｍｏｎ  Ｄｏｗｎｌｏａｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）では、放送受信機のファームウェア（機器に組み込まれたソフトウェア）を端末へダウンロードする方法を規定している。ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様は、ダウンロード元情報に加え、ダウンロードのタイミングを指定するダウンロード要求を端末へ伝送することを規定している。そのため、ダウンロードのタイミング指定によっては、ユーザの視聴を妨げる可能性がある。しかしながら、ＣｏｍｍｏｎＤｏｗｎｌｏａｄ仕様は、そのような場合の端末の振る舞いについては、規定していない。
【０００９】
そこで、本発明は上記の事情に鑑みてなされたものであり、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができるダウンロード実行装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード元情報を含むダウンロード要求を受信するダウンロード要求受信手段と、放送波を受信する少なくとも１つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
【００１１】
これによって、プログラムのダウンロードに利用できるチューナが存在するか否かに応じて、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
【００１２】
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
【００１３】
これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるときに限り、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。なお、これ以外のメッセージに関してもユーザへ通知することができる。また、ユーザがチューナを使用する例として、番組視聴や録画がある。
【００１４】
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
【００１５】
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、かつ利用されていないチューナがない場合に、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。
【００１６】
また、前記ダウンロード実行装置は、さらに、前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備えてもよい。
【００１７】
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断された際に、チューニングを実行することにより、プログラムのダウンロードを行うことができる。
【００１８】
また、前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択してもよい。
【００１９】
これによって、チューニングを実行する際に、チューナの利用状況あるいは利用目的に応じて、チューニングを実行するチューナを選択することにより、チューナを使用しているユーザへの影響を軽減することができる。
【００２０】
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知してもよい。
【００２１】
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、利用されていないチューナが存在しないときにユーザへメッセージ通知を行うことにより、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザへメッセージを通知することができる。
【００２２】
また、前記メッセージ通知手段は、前記メッセージを所定時間表示してもよい。これによって、メッセージが表示されつづけるのを防ぐことができる。
【００２３】
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知してもよい。これによって、ユーザへダウンロード待ち状態にあることを通知することができる。
【００２４】
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも１つを前記ユーザへ提供してもよい。これによって、ダウンロード中の映像あるいは音声の切り替わりによるユーザの不快感を軽減することができる。
【００２５】
また、前記ダウンロード実行装置は、さらに、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
【００２６】
また、前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定してもよい。これによって、ユーザからの応答を受信できなかった場合も、処理することができる。
【００２７】
また、前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないプログラムのダウンロードすることを防ぐことができる。
【００２８】
また、前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、前記ダウンロード実行装置は、さらに、前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段を備え、前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行してもよい。これによって、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
【００２９】
また、前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
【００３０】
また、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定してもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
【００３１】
また、前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定してもよい。これによって、ユーザが希望するダウンロード方法を決定することができる。
【００３２】
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知してもよい。これによって、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザはダウンロード方法を選択することができる。
【００３３】
また、前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知してもよい。これによって、ユーザがダウンロード元を選択する処理を補助することができる。
【００３４】
また、前記ダウンロード実行装置は、さらに、前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備えてもよい。これによって、所定の時間にダウンロードを開始することができるため、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。
【００３５】
また、前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
【００３６】
また、前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザからダウンロードを開始する時間を設定されなくても、設定された時間からダウンロードを開始することができる。
【００３７】
また、前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
【００３８】
また、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、前記ダウンロード要求に含まれる前記複数の組から１つの組を決定するダウンロード元決定手段と、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
【００３９】
これによって、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
【００４０】
また、前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも１つを含んでもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法から、ダウンロード方法を選択することができる。
【００４１】
また、前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも１つを行ってもよい。これによって、プログラムのダウンロードを実行することができる。
【００４２】
また、前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から１つの組を決定してもよい。これによって、効率的にダウンロード方法およびダウンロード元を決定することができる。
【００４３】
また、前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、従来のアプリケーションのダウンロード方法と同様に処理することができ、ネットワークあるいは他のダウンロード方法を持たないダウンロード実行装置でも処理することができる。
【００４４】
また、前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも一つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備えてもよい。これによって、プログラムのダウンロードに利用できるチューナの有無を確認することができる。
【００４５】
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるか否かを判断し、ダウンロード元を決定することができる。
【００４６】
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、現在のチューニングでプログラムのダウンロードが不可能と判断され、かつ利用されていないチューナがない場合に、他のダウンロード元を決定することができる。
【００４７】
また、前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定してもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法が利用できない場合は、ネットワークから取得する方法あるいは、記憶媒体からプログラムを取得する方法を選択することができる。
【００４８】
また、前記ダウンロード実行装置は、さらに、ユーザへメッセージ通知を行うメッセージ通知手段と、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
【００４９】
また、前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定してもよい。これによって、従来のアプリケーションダウンロード方法として一般的な、プログラムがエンコードおよび多重化されたストリームからのプログラムのダウンロードをユーザが望まない場合は、ネットワークからプログラムのダウンロードを行うことができる。
【００５０】
また、前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
【００５１】
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
【００５２】
また、前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
【００５３】
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
【００５４】
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定してもよい。これによって、最も高速にダウンロードを実行することができる。
【００５５】
また、前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定してもよい。これによって、ダウンロード中にエラーが発生した場合でも、プログラムのダウンロードを再実行することができる。
【００５６】
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元を検出あるいは接続できない場合でも、プログラムのダウンロードを再実行することができる。
【００５７】
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元にプログラムが存在しない場合でも、プログラムのダウンロードを再実行することができる。
【００５８】
また、前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から１つの組を決定してもよい。これによって、チューニングにおいてエラーが検出された場合でも、プログラムのダウンロードを再実行することができる。
【００５９】
また、前記ダウンロード実行装置は、さらに、前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備えてもよい。これによって、プログラムを実行する際に、プログラムのダウンロードを行う必要がなくなる。
【００６０】
また、前記ダウンロード実行装置は、放送受信装置であってもよい。これによって、ダウンロード元決定手段はダウンロード方法及びダウンロード元を決定する際に、放送受信装置が備えるチューナデバイスやネットワークなどのリソースの情報を利用することができる。
【００６１】
なお、本発明は、このようなダウンロード実行装置として実現することができるだけでなく、このようなダウンロード実行装置が備える特徴的な手段をステップとするダウンロード実行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００６２】
本発明に係るダウンロード実行装置によれば、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
【００６３】
また、ダウンロード方法およびダウンロード元情報の複数の組から１つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
【発明を実施するための最良の形態】
【００６４】
（実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図２は、ケーブルテレビシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【００６５】
ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。図３は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図４は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。図５は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトランスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００６６】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００６７】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。
【００６８】
図６は、端末装置（ダウンロード実行装置）のハードウェア構成を表すブロック図である。端末装置（ダウンロード実行装置）５００は、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、スピーカ５０７、ビデオデコーダ５０８、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、ＣＰＵ５１４で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。
【００６９】
図７は、端末装置５００の外観の一例である薄型テレビである。
【００７０】
薄型テレビの筐体６０１は、ＰＯＤ５０４を除く、端末装置５００の構成要素をすべて内蔵している。
【００７１】
ディスプレイ６０２は、図６におけるディスプレイ５０９に相当する。
【００７２】
フロントパネル部６０３は複数のボタンで構成され、図６の入力部５１３に相当する。
【００７３】
信号入力端子６０４は、ヘッドエンド１０１との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子６０４は、図６のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。
【００７４】
ＰＯＤカード６０５は、図６のＰＯＤ５０４に相当する。ＰＯＤ５０４は、図７のＰＯＤカード６０５のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。
【００７５】
挿入スロット６０６は、ＰＯＤカード６０５が挿入される挿入スロットである。
【００７６】
図６を参照して、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００７７】
ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００７８】
ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む変調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ変調し、ヘッドエンド１０１に送信する。
【００７９】
ＰＯＤ５０４は、図７のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（登録商標）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【００８０】
図８は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、ＣＰＵ７０６で構成される。
【００８１】
第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５に送る。
【００８２】
第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。
【００８３】
スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。
【００８４】
第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリーで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。
【００８５】
第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリーで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。
【００８６】
ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図９は、第２記憶部７０５が記憶するプログラムの一例である。図９では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、ＰＰＶサブプログラム８０５等複数のサブプログラムで構成されている。
【００８７】
ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
【００８８】
メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
【００８９】
初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（ＴＭ）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。
【００９０】
また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。
【００９１】
この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、ネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。
【００９２】
ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。
【００９３】
再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。
【００９４】
ＰＰＶサブプログラム８０５は、起動されると、端末装置５００に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００のディスプレイ５０９上にメッセージを表示する。ユーザは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、受け取った暗証番号をネットワークサブプログラム８０３を通してヘッドエンド１０１に送信する。ヘッドエンド１０１は、暗証番号が正しければ、復号に必要な第４の鍵などの復号化情報をネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。
【００９５】
図６を参照して、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図１０はパケットの構成図である。９００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。９０３は、ヘッダー９０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図１１は送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【００９６】
パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【００９７】
図１１を参照して、ＣＰＵ５１４がパケットＩＤ「１」と出力先として「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１１においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１１においては、音声データのみをオーディオデコーダ５０６に引き渡すことになる。
【００９８】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。
【００９９】
図６を参照して、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ５０７に出力する。
【０１００】
スピーカ５０７は、オーディオデコーダ５０６から与えられた信号を音声出力する。
【０１０１】
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ５０９に出力する。
【０１０２】
ディスプレイ５０９は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ５０８から与えられたビデオ信号を出力したり、ＣＰＵ５１４から指示されたメッセージを表示したりする。
【０１０３】
２次記憶部５１０は、具体的には、フラッシュメモリーやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。
【０１０４】
１次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。
【０１０５】
ＲＯＭ５１２は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。
【０１０６】
入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図１２は、フロントパネルで入力部５１３を構成した場合の一例である。１１００はフロントパネルであり、図７のフロントパネル部６０３に相当する。フロントパネル１１００は７つのボタン、上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、ＥＰＧボタン１１０７を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。
【０１０７】
ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、ディスプレイ５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２を制御する。
【０１０８】
図１３は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例である。
【０１０９】
プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、Ｊａｖａ（登録商標）ＶＭ１２０３（以後ＶＭ１２０３と称す）、サービスマネージャ１２０４、Ｊａｖａ（登録商標）ライブラリ１２０５（以後ライブラリ１２０５と称す）で構成される。
【０１１０】
ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能を提供する。
【０１１１】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。
【０１１２】
ＥＰＧ１２０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザからの入力を待つ。ここで、入力部５１３が図１２で示されるフロントパネルで構成されている場合、ユーザが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ５０９に表示する。図１４（ａ）及び（ｂ）は、ディスプレイ５０９に表示された番組表の一例である。図１４（ａ）を参照して、ディスプレイ５０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１３３０は、カーソルである。カーソル１３３０は、フロントパネル１１００の左カーソルボタン１１０３と右カーソルボタン１１０４を押下すると移動する。図１４（ａ）の状態で、右カーソルボタン１１０４を押下すると、カーソルボタン１３３０は右に移動し、図１４（ｂ）のようになる。また、図１４（ｂ）の状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１４（ａ）のようになる。
【０１１３】
図１４（ａ）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１４（ｂ）の状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。
【０１１４】
また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【０１１５】
再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。図１５は２次記憶部５１０に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１４０１は、チャンネルの識別子である。列１４０２は、チャンネル名である。列１４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１４０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１４１１〜１４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
【０１１６】
また、再生部１２０２ｂは、再生中に、ユーザがフロントパネル１１００の上カーソルボタン１１０１と下カーソルボタン１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。図１６（ａ）（ｂ）及び（ｃ）は、１次記憶部５１１に保存しているチャンネルの識別子の例である。図１６（ａ）では識別子「３」が記憶されており、図１５を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１６（ａ）の状態で、ユーザが上カーソルボタン１１０１を押下すると再生部１２０２ｂは、図１５のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「２」に書き換える。図１６（ｂ）は、チャンネル識別子が書き換えられた状態を表す。また、図１６（ａ）の状態で、ユーザが下カーソルボタン１１０２を押下すると再生部１２０２ｂは、図１５のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「４」に書き換える。図１６（ｃ）は、チャンネル識別子が書き換えられた状態を表す。
【０１１７】
ＶＭ１２０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａ（登録商標）バーチャルマシンである。Ｊａｖａ（登録商標）言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａ（登録商標）バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａ（登録商標）バーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＶＭ１２０３は、カーネル１２０１ａに実行するＪａｖａ（登録商標）プログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａ（登録商標）プログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ（登録商標）言語の詳細は、書籍「Ｊａｖａ（登録商標）  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Ｊａｖａ（登録商標）バーチャルマシン自体の詳細な動作などは、「Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１１８】
サービスマネージャ１２０４は、Ｊａｖａ（登録商標）言語で書かれたＪａｖａ（登録商標）プログラムであり、ＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ（登録商標）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ（登録商標）言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ（登録商標）  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１１９】
サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子を受け取る。
【０１２０】
サービスマネージャ１２０４は、最初にライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１５の行１４１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【０１２１】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。
【０１２２】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
【０１２３】
まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。図１７は、収集したＰＡＴの情報の一例を模式的に表した表である。列１６０１は、プログラムナンバーである。列１６０２は、パケットＩＤである。列１６０２のパケットＩＤはＰＭＴを取得するために用いられる。行１６１１〜１６１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１６１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１５の行１４１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１７のＰＡＴの行１６１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。図１８は、収集したＰＭＴの情報の一例を模式的に表した表である。列１７０１は、ストリーム種別であり。列１７０２は、パケットＩＤである。列１７０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１７０３は補足情報である。行１７１１〜１７１４はエレメンタリーストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１７１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１８を参照して、ＪＭＦ１２０５ａは、行１７１１から音声のパケットＩＤ「５０１１」を、行１７１２から映像のパケットＩＤ「５０１２」を獲得する。
【０１２４】
次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ５０６、映像のパケットＩＤと出力先としてビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行いスピーカ５０７を通して音声を再生する。ビデオデコーダ５０８は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ５０９に映像を表示する。
【０１２５】
最後にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａ（登録商標）プログラムを抽出し、ＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａ（登録商標）プログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａ（登録商標）プログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＯＣＡＰ仕様（正式には、ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１２６】
ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１７のＰＡＴ、図１８のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図１８のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリーストリームからパケットＩＤを抽出する。図１８を参照して、行１７１３のエレメンタリーストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【０１２７】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。図１９は、収集したＡＩＴの情報の一例を模式的に表した表である。列１８０１はＪａｖａ（登録商標）プログラムの識別子である。列１８０２はＪａｖａ（登録商標）プログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１８０３は、ＤＳＭＣＣ方式でＪａｖａ（登録商標）プログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１８０４はＪａｖａ（登録商標）プログラムのプログラム名である。行１８１１と１８１２は、Ｊａｖａ（登録商標）プログラムの情報の組である。行１８１１で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａ（登録商標）プログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａ（登録商標）プログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａ（登録商標）プログラムが含まれていることを表す。ここでは、Ｊａｖａ（登録商標）プログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）を参照されたい。
【０１２８】
ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａ（登録商標）プログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａ（登録商標）プログラム名を抽出する。図１９を参照して、ＡＭ１２０５ｂは行１８１１のＪａｖａ（登録商標）プログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａ（登録商標）プログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１２９】
次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、Ｊａｖａ（登録商標）プログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリーストリームのパケットＩＤを取得する。
【０１３０】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１８とすると、行１７１４のエレメンタリーストリームが合致し、パケットＩＤ「５０１４」を取り出す。
【０１３１】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
【０１３２】
図２０は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１９０１はルートディレクトリ、１９０２はディレクトリ「ａ」、１９０３はディレクトリ「ｂ」、１９０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１９０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１３３】
次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａ（登録商標）プログラムをＶＭ１２０３に引き渡す。今、実行するＪａｖａ（登録商標）プログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａ（登録商標）プログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２０を参照して、ファイル１９０４が実行すべきＪａｖａ（登録商標）プログラムである。次にＡＭ１２０５ｂは、ファイル１９０４をＶＭ１２０３に引き渡す。
【０１３４】
ＶＭ１２０３は、引き渡されたＪａｖａ（登録商標）プログラムを実行する。
【０１３５】
サービスマネージャ１２０４は、他のチャンネルの識別子を受け取ると、ライブラリ１２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａ（登録商標）プログラムの実行を、同じくライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａ（登録商標）プログラムの実行を行う。
【０１３６】
ライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａ（登録商標）ライブラリの集合である。本実施の形態では、ライブラリ１２０５は、ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、Ｔｕｎｅｒ１２０５ｃ、ＣＡ１２０５ｄ、ＰＯＤ  Ｌｉｂ１２０５ｅ等を含んでいる。
【０１３７】
次に、Ｊａｖａ（登録商標）プログラムのダウンロード・保存及び実行機能について説明する。
【０１３８】
サービスマネージャ１２０４は、ライブラリ１２０５に含まれるＰＯＤ  Ｌｉｂ１２０５ｅを通してヘッドエンド１０１との通信によりヘッドエンド１０１からの情報を受け取ることができる。この通信は、ＰＯＤ  Ｌｉｂ１２０５ｅはＯＳ１２０１のライブラリ１２０１ｂ及び、ＰＯＤ５０４を介して、ＱＰＳＫ復調部５０２を使用して実現される。
【０１３９】
サービスマネージャ１２０４は、この通信を用いてヘッドエンド１０１から、端末装置５００が２次記憶部５１０に保存すべきＪａｖａ（登録商標）プログラムの情報を受け取る。この情報をＸＡＩＴ情報と呼ぶ。ＸＡＩＴ情報は、ヘッドエンド１０１とＰＯＤ５０４間で、任意の形式で送信される。どのような送信形式を採用しても、ＸＡＩＴ情報に必要とする情報が含まれていれば、本発明は実施可能である。
【０１４０】
図２１は、ヘッドエンド１０１から取得したＸＡＩＴ情報の一例を模式的に表した図である。列２００１はＪａｖａ（登録商標）プログラムの識別子である。列２００２はＪａｖａ（登録商標）プログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」などがあり、「ａｕｔｏｓｔａｒｔ」は端末装置５００が電源投入時またはＸＡＩＴ情報が更新された時にこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味する。列２００３は、プロトコル識別子である。プロトコル識別子は、プログラムのダウンロードを行うために利用できるプロトコルを表す。プロトコル識別子には、「ＯＣ（Ｏｂｊｅｃｔ  Ｃａｒｏｕｓｅｌ）」と「ＩＰ」などがある。「ＯＣ」は、ＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードを行えることをあらわす。また、「ＩＰ」はネットワークを用いてプログラムのダウンロードを行えることを示している。また、「ＯＣ」と「ＩＰ」の両方からダウンロードできる場合は両方を記述することもできる。列２００４は、ＤＳＭＣＣ方式でＪａｖａ（登録商標）プログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。そのため、列２００３のプロトコル識別子に「ＯＣ」が存在するときのみ存在する。列２００５は、列２００３で示したプロトコルのダウンロード元指定である。プロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定は、ＤＳＭＣＣ方式でエンコードされたファイルシステムが埋め込まれたトランスポートストリームとそのトランスポートストリーム中のＰＭＴ（図１８参照）を一意に特定できる識別子及び、エレメンタリーストリームの識別子を指定する。これ以降、簡単化のため、トランスポートストリームとそのトランスポートストリーム中のＰＭＴ（図１８参照）を一意に特定できる識別子をソースＩＤと呼ぶこととする。また、プロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定は、プログラムのダウンロードを提供するサーバと、プログラムが保存されたディレクトリ名などを指定する。なお、ダウンロード元指定２００５は、プロトコル識別子２００３に対し複数存在してもよい。具体的には、プロトコル識別子２００３に「ＯＣ」を指定し、この「ＯＣ」に対応したダウンロード元指定２００５を複数記述することも可能である。また、プロトコル識別子２００３が「ＩＰ」の場合も同じである。列２００６はＪａｖａ（登録商標）プログラムのプログラム名である。列２００７は、Ｊａｖａ（登録商標）プログラムのストア優先度である。ストア優先度はＸＡＩＴ情報に記述される個々のＪａｖａ（登録商標）プログラムに指定される値であり、Ｊａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを保存する際に、２次記憶部５１０へ保存するＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを決めるための優先度である。列２００８は、Ｊａｖａ（登録商標）プログラムのアプリケーション名である。アプリケーション名は、ユーザがＪａｖａ（登録商標）プログラムを識別するための名前である。行２０１１と２０���２と２０１３は、Ｊａｖａ（登録商標）プログラムの情報の組である。行２０１１で定義されるＪａｖａ（登録商標）プログラムは、識別子「７０１」、制御情報「ａｕｔｏｓｔａｒｔ」、プロトコル識別子「ＯＣ」、ＤＳＭＣＣ識別子「１」、ダウンロード元指定「ｄｓｍｃｃ：//０ｘＡＡＡＡ，０ｘ１１」、プログラム名「ａ／ＡＰＰ１Ｘｌｅｔ」、ストア優先度「１００」、アプリケーション名「ＡＰＰ１」の組である。ここでは、Ｊａｖａ（登録商標）プログラムに対して８つの情報しか規定しないが、より多くの情報あるいは、この一部が定義されていても本発明は実施可能である。また、ここでは、各情報の記述の例を示しているが、各情報が持つべき内容を示すことが可能であれば、この記述に従わなくても本発明は実施可能である。
【０１４１】
なお、列２００７のアプリケーション名は、例えば、ユーザに対してＸＡＩＴ情報に記述された各Ｊａｖａ（登録商標）プログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがＪａｖａ（登録商標）プログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。
【０１４２】
図２２は、図２１におけるプロトコル識別子２００３と、ダウンロード元となるＪａｖａ（登録商標）プログラムが存在するファイルシステムとの関係を模式的に表したものである。図２２において、図２１と同じ要素には、図２１と同じ符号を付し説明を省略する。２１１０はトランスポートストリーム上にあるＤＳＭＣＣ方式でエンコードされたファイルシステムを示す。また、２１２０は、プログラムのダウンロードを提供するサーバ上にあるファイルシステムを示す。行２０１１で定義されるＪａｖａ（登録商標）プログラムは、列２００３に示されるプロトコル識別子が「ＯＣ」のみであるため、２１１０に示したファイルシステム上にのみ存在する。また、行２０１２で定義されるＪａｖａ（登録商標）プログラムは、列２００３に示されるプロトコル識別子が「ＩＰ」のみであるため、２１２０に示したサーバ上のファイルシステムにのみ存在する。また行２０１３で定義されるＪａｖａ（登録商標）プログラムは、プロトコル識別子２００３に「ＯＣ」と「ＩＰ」の両方が設定されているため、２１１０に示したファイルシステム上と２１２０に示したサーバ上のファイルシステムの両方に存在する。このため、プログラムのダウンロードを行うときには、このどちらから取得するかを選択することができる。この選択する方針については後述する。なお、ここでは各Ｊａｖａ（登録商標）プログラムに対して、ＯＣあるいはＩＰを一個ずつ設定しているが、これらが複数存在してもよい。
【０１４３】
次にサービスマネージャ１２０４は、ライブラリ１２０５の中にあるＡＭ１２０５ｂにＸＡＩＴ情報を受け渡し、ＸＡＩＴ情報に記述されるＪａｖａ（登録商標）プログラムをプロトコル識別子２００３とダウンロード元指定２００５に基づきプログラムのダウンロード及び実行を依頼する。ＡＭ１２０５ｂは、ＸＡＩＴ情報を受け取ると、プロトコル識別子２００３を参照し、ダウンロード方法を決定する。ＡＭ１２０５ｂが決定したダウンロード方法が「ＯＣ」の場合は、ＡＩＴ情報からＪａｖａ（登録商標）プログラムをダウンロードした手順と同じ手順で、ＭＰＥＧ２トランスポートストリームからファイルシステムを１次記憶部５１１に保存する。一方、「ＩＰ」の場合は、ダウンロード元指定２００５の内容に従い、プログラムのダウンロードを提供するサーバから１次記憶部５１１にプログラムをダウンロードし保存する。また、ここでダウンロードしたプログラムをＡＭ１２０５ｂは、ＸＡＩＴ情報のファイル名で指定されたディレクトリ構造に一致するようにファイルシステムを構築し保存することもできる。具体的には、行７０２で定義されるアプリケーションでは、プログラム名２００６で示されたようにルートディレクトリからｂディレクトリを作成し、その中にダウンロードしたプログラムＡｐｐ２Ｘｌｅｔ．ｃｌａｓｓを保存することもできる。なお、図２１、図２２に示したダウンロード元指定２００５は、ＨＴＴＰのプロトコルを使ってＨＴＴＰサーバからプログラムを取得する例を示している。具体例として、図２１の行２０１２に記されたプログラムのダウンロード元指定２００５は「ｈｔｔｐ：//１９２．１６８．０．１/ＢＢ」である。このダウンロード元指定２００５の「ｈｔｔｐ」はｈｔｔｐプロトコルを使うことを示し、「１９２．１６８．０．１」はプログラムのダウンロードを提供するＨＴＴＰサーバのＩＰアドレスを示し、「/ＢＢ」は、ＨＴＴＰサーバ内に存在するダウンロードするプログラムへのディレクトリのパスを示す。なお、ここではＨＴＴＰプロトコル及びＨＴＴＰサーバを用いたネットワークからのダウンロード方法を述べたが、この他の方法で取得してもよい。その後、１次記憶部５１１に保存したファイルシステムを２次記憶部５１０に複写してもよい。なお、１次記憶部５１１を介さず、直接２次記憶部５１０にダウンロードすることも実施可能である。また、１次記憶部５１１で処理し、２次記憶部５１０へ保存しなくてもよい。なお、ここではプロトコル識別子として、「ＯＣ」と「ＩＰ」を説明したが、「記録媒体」から取得することや、これ以外の方法であってもよい。
【０１４４】
次に、ＡＭ１２０５ｂは、ダウンロードあるいは構築したファイルシステムの格納位置をＸＡＩＴ情報に対応つけて２次記憶部５１０に保存する。図２３は、２次記憶部５１０において、ＸＡＩＴ情報とダウンロードあるいは構築したファイルシステムが対応付けられて保存されている一例を表す。図２３において、図２２と同じ要素には、図２２と同じ符号を付し説明を省略する。列２２０１は、各Ｊａｖａ（登録商標）プログラムごとに対応するダウンロードあるいは構築したファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。２２１０はダウンロードあるいは構築したファイルシステムであり、内部にトップディレクトリ２２１１、ディレクトリ「ａ」２２１２、ディレクトリ「ｂ」２２１３、ディレクトリ「ｃ」２２１４、ファイル「ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」２１１５、ファイル「ＡＰＰ２Ｘｌｅｔ．ｃｌａｓｓ」２１１６、ファイル「ＡＰＰ３Ｘｌｅｔ．ｃｌａｓｓ」２１１７を保持する。
【０１４５】
ここでＡＭ１２０５ｂは、Ｊａｖａ（登録商標）プログラムを保存してからＸＡＩＴ情報を保存しているが、Ｊａｖａ（登録商標）プログラムを保存する前にＸＡＩＴ情報を保存することでも実施可能である。なお、ＸＡＩＴ情報を２次記憶５１０に保存しているが、１次記憶部５１１に保存することも実施可能である。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存されたＸＡＩＴ情報は全て消える。
【０１４６】
ここで、ファイルシステムは、具体的には、ＸＡＩＴ情報に記述される複数のＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータから形成される。以降、ＸＡＩＴ情報に記述される個々のＪａｖａ（登録商標）プログラム及びＪａｖａ（登録商標）プログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを２次記憶部５１０あるいは１次記憶部５１１にダウンロードすることを以降、ストアと呼ぶ。またさらに、２次記憶部５１０あるいは１次記憶部５１１にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、ＶＭ１２０３がアプリケーションを構成するＪａｖａ（登録商標）プログラムを実行することをアプリケーションの実行と呼ぶ。
【０１４７】
図２４はＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域２３０１にストアされている状態を示す一例である。図２４の中で、アプリケーションのストア領域２３０１は、アプリケーション名「ＡＰＰ１」をもつアプリケーション２３１１、および、アプリケーション名「ＡＰＰ２」を持つアプリケーション２３１２を格納する。
【０１４８】
次にＡＭ１２０５ｂは、１次記憶部５１１または２次記憶部５１０に保存されたＸＡＩＴ情報を参照して、１次記憶部５１１にダウンロードしたアプリケーション、または２次記憶部５１０のストア領域２３０１にストアしたアプリケーションの中から「ａｕｔｏｓｔａｒｔ」と指定されたアプリケーションのＪａｖａ（登録商標）プログラムをＶＭ１２０３に引き渡す。図２３を参照して、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＪａｖａ（登録商標）プログラム「ａ／ＡＰＰ１Ｘｌｅｔ」がＶＭ１２０３に引き渡される。実行するアプリケーションのＪａｖａ（登録商標）プログラム名が「ａ／ＡＰＰ１Ｘｌｅｔ」とすると、Ｊａｖａ（登録商標）プログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＡＰＰ１Ｘｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。ＶＭ１２０３は、引き渡されたアプリケーションのＪａｖａ（登録商標）プログラムを実行する。以降、ＡＭ１２０５ｂからのＶＭ１２０３へのアプリケーションのＪａｖａ（登録商標）プログラム引渡しを、ＶＭ１２０３へのアプリケーション起動指示と呼ぶ。
【０１４９】
ここで、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取った時点において、ＸＡＩＴ情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、既にストアされているアプリケーションに関しては、アプリケーションをダウンロードまたはストアする必要がないため、ストア処理を省略することができる。
【０１５０】
従って、アプリケーションを前もってストア領域２３０１にストアしておくことで、ＡＭ１２５０ｂがＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの時間を短縮することができる。なお、アプリケーションのストア処理を行うか否かについては、ストア優先度２００７を利用することができる。一例としてストア優先度が１１以上ならストアすることとし、１１より小さいとストアしないこととする。この判断基準は、アプリケーションのストア処理を行うか否かが分かればいいので、１１でなくてもよい。また、ストア優先度２００７とは別の情報として提供してもよい。
【０１５１】
図２５と図２６はＡＭ１２５０ｂが、ＸＡＩＴ情報を受け取った時点から、ＶＭ１２０３へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図２５は、ＸＡＩＴ情報を受け取ってからストア処理を完了するまでのフローチャート部分であり、図２６はストア処理後、アプリケーションの起動を行う際のフローチャートである。図２５を参照して、ＡＭ１２０５ｂがＸＡＩＴ情報を受け取ると（Ｓ２４０１）、ＸＡＩＴ情報に記述のアプリケーションの中からまだ選ばれていないものを１つ選ぶ（Ｓ２４０２）。ここで、ＡＭ１２０５ｂは、ストア優先度２００７を参照し、前述したような判断基準に従い、アプリケーションをストアするか否かを判断する（Ｓ２４０３）。このとき、アプリケーションをストアする場合（Ｓ２４０３でＹＥＳ）は、ＡＭ１２０５ｂはＳ２４０２で選んだアプリケーションが既にストアされているか否かを判断し（Ｓ２４０４）、ストアされていない場合（Ｓ２４０４でＮＯ）、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２４０５）。なお、ＤＳＭＣＣからのダウンロードを行う場合は、ＤＳＭＣＣ識別子２００４も参照する。Ｓ２４０３においてアプリケーションをストアしないと判断した場合（Ｓ２４０３でＮＯ）、または、Ｓ２４０４においてアプリケーションが既にストアされている場合（Ｓ２４０４でＹＥＳ）、またはＳ２４０５の処理をすると、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２４０６）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合（Ｓ２４０６でＮＯ）、Ｓ２４０２からの処理を繰り返す。Ｓ２４０６において、ＸＡＩＴ情報記述のアプリケーションをすべて選択したと判断すると、次にＡＭ１２０５ｂは、図２６に従い、アプリケーションの起動を行う。ＡＭ１２０５ｂは、再びＸＡＩＴ情報に記述のアプリケーションを選ばれていないものから順に１つずつ選ぶ（Ｓ２５０１）。次に、ＡＭ１２０５ｂは、選んだアプリケーションの制御情報２００２が「ａｕｔｏｓｔａｒｔ」か否かを判断し（Ｓ２５０２）、選んだアプリケーションの制御情報が「ａｕｔｏｓｔａｒｔ」の場合（Ｓ２５０２でＹＥＳ）、ＡＭ１２０５ｂはアプリケーションがストアされているか否かを判断する（Ｓ２５０３）。ストアされていない場合（Ｓ２５０３でＮＯ）、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２５０４）。なお、ＤＳＭＣＣからのダウンロードを行う場合は、ＤＳＭＣＣ識別子２００４も参照する。
【０１５２】
次に、ＡＭ１２０５ｂは、ＶＭ１２０３へのアプリケーション起動指示を行う（Ｓ２５０５）。そして、ＡＭ１２０５ｂは、ＸＡＩＴ情報記述のアプリケーションを全て選択したか否かを判断し（Ｓ２５０６）、未だＸＡＩＴ情報記述の全てのアプリケーションを選択していない場合（Ｓ２５０６でＮＯ）、Ｓ２５０１からの処理を繰り返す。Ｓ２５０６において、ＸＡＩＴ情報記述のアプリケーションをすべて選択したと判断する（Ｓ２５０６でＹＥＳ）と、処理を終了する。
【０１５３】
こうして、ＸＡＩＴ情報の受け取りからアプリケーションのストア処理と起動指示までの処理を進め、既にＸＡＩＴ情報記述の全てのアプリケーションを選択している場合には処理を終了する。  図２５と図２６では、アプリケーションのストア処理と起動指示を、別々に処理する手順を示したが、これらは一回の繰り返しの中で処理してもよい。
【０１５４】
なお、ここでは、ＡＭ１２０５ｂはアプリケーションのダウンロードまたはストア領域へのストア完了後に、ＶＭ１２０３ｂへアプリケーションの起動指示を出すものとして説明しているが、ＡＭ１２０５ｂがＸＡＩＴ情報の受け取り後、アプリケーションのダウンロードまたはストア領域へのストアをする前に、ＶＭ１２０３へアプリケーションの起動指示を出してもよい。ここでの起動指示は、ＡＭ１２０５ｂがＶＭ１２０３に実行すべきアプリケーションのプログラム名を引き渡すことにより実現するものとする。この場合、ＶＭ１２０３が、ＡＭ１２０５ｂからのアプリケーション起動指示後に、ダウンロードを行うか、または１次記憶部５１１またはストア領域からアプリケーションを読み込み実行することになる。
【０１５５】
アプリケーションの起動は、図２５や図２６で示したようなＸＡＩＴ情報を受け取ったときのみではない。ＡＭ１２０５ｂは、特殊な権限を持った実行中のアプリケーションに対し、他のアプリケーションの起動や停止などのライフサイクルを扱うことができるＡＰＩを提供している。そのため、特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、このＡＰＩを利用することでアプリケーションの起動をＡＭ１２０５ｂへ要求することができる。この時のフローチャートを図２７に示す。
【０１５６】
特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、ＡＭ１２０５ｂが提供するアプリケーションの起動を行うＡＰＩを呼ぶ（Ｓ２６０１）。このときＡＭ１２０５ｂは、起動したいアプリケーションが既にストアされているか否かを調べる（Ｓ２６０２）。ここで、ストアされていない場合（Ｓ２６０２でＮＯ）は、ＡＭ１２０５ｂは、アプリケーションをプロトコル識別子２００３に記述されたプロトコルとダウンロード元指定２００５からダウンロード元を決定し、ダウンロードを行いストアする（Ｓ２６０３）。次に、ＡＭ１２０５ｂは、ＶＭ１２０３へのアプリケーション起動指示を行い（Ｓ２５０５）、終了する。
【０１５７】
ＡＭ１２０５ｂは、ＸＡＩＴ情報を受信した際に図２５と図２６の処理を行うため、ＸＡＩＴ情報の更新に伴い、ストア領域２３０１にストアされるアプリケーションが更新される。図２８と図２９を参照して、ＸＡＩＴ情報が更新されると、それにともないストア領域２３０１にストアされるアプリケーションが更新される場合がある。図２８（ａ）は、行２０１１で定義されるアプリケーション「ＡＰＰ１」のＸＡＩＴ情報を示し、図２８（ｂ）は、ＡＭ１２０５ｂが図２８（ａ）のＸＡＩＴ情報を受信し、図２５、図２６の処理を終了した時のストア領域２３０１を示す。図２８（ａ）のＸＡＩＴ情報には、行２０１１で定義されるアプリケーション「ＡＰＰ１」が一つ存在するので、図２８（ｂ）のストア領域２３０１には、「ＡＰＰ１」２３１１が一つストアされている。次に、ストア領域２３０１が図２８（ｂ）の状態で、図２９（ａ）のＸＡＩＴ情報を受信し、図２５、図２６の処理を終了した時の、ストア領域２３０１を図２９（ｂ）に示す。図２９（ａ）は、行２０１１で定義されるアプリケーション「ＡＰＰ１」と行２０１２で定義されるアプリケーション「ＡＰＰ２」が記述されたＸＡＩＴ情報である。図２９（ａ）のＸＡＩＴ情報をＡＭ１２０５ｂが受信した際に、ストア領域２３０１は、図２９（ｂ）のように行２０１１で定義されるアプリケーション「ＡＰＰ１」２３１１と行２０１２で定義されるアプリケーション「ＡＰＰ２」２３１２の二つのアプリケーションがストアされる。
【０１５８】
次に、本発明の主要機能である、ＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、ＸＡＩＴ情報に記述されたアプリケーションのストア機能時に必要なダウンロード元の決定とユーザへのメッセージ通知について説明する。具体的には、ＸＡＩＴ情報を受信した際のフローチャートとして示した図２５と図２６におけるＳ２４０５とＳ２５０４及び、特別な権限を持つアプリケーションがＡＭ１２０５ｂのアプリケーション起動ＡＰＩを呼んだ際のフローチャートとして示した図２７のＳ２６０３の処理に関する。
【０１５９】
図３０は、ＡＭ１２０５ｂの構成のうち、ストア処理を行う際に、ダウンロード元を決定する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。
【０１６０】
ＡＭ１２０５ｂは、ダウンロード元決定部２９０１、チューニング周波数取得部２９０２、ダウンロード周波数取得部２９０３、ストア部２９０４、通知部２９０５、チューニング要求部２９０６を備える。なお、本実施の形態では、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣが指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定２００５が明記されている場合を想定している。
【０１６１】
ダウンロード元決定部２９０１は、プログラムのダウンロード元を決定する。そのため、ＸＡＩＴ情報のプロトコル識別子２００３とダウンロード元指定２００５の情報を受信する。ここで、ダウンロード元決定部２９０１は、選択されたアプリケーションがどのようなプロトコル識別子２００３を持っているかを判断する。ダウンロード元を決定するため、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から現在のチューニング情報を取得し、ダウンロード周波数取得部２９０３からアプリケーションをダウンロードするために必要な周波数を取得する。ここで、周波数と記述しているが、チューニングに必要な情報を代表して記述しているため、この他のチューニングに必要な情報である変調方式や内符号率などもあわせて処理してもよい。以下、周波数に関する記述は全て同様である。ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得する。また本発明は、使用したいチューナが存在するか否かが問題であり、チューナの数はいくつであっても適用できる。また、本発明は、ダウンロード元指定２００５にＯＣからの複数のダウンロード元が指定されていても実施できる。つまり、ダウンロード元決定部２９０１は、ＸＡＩＴ情報を参照し現在選択されているアプリケーションのプロトコル識別子２００３にＯＣがある場合、ダウンロード元指定２００５から全てのソースＩＤを取得し、ダウンロード周波数取得部２９０３へ渡し、ダウンロード周波数取得部２９０３から、そのソースＩＤで示したＰＭＴで伝送されるチャンネルが存在するトランスポートストリームが流れている全ての周波数を受け取る。そして、現在のチューニング情報と比較することで、ダウンロード元を決定する。また、ダウンロード元決定部２９０１は、ダウンロード元を決定後に、通知部２９０５への通知指示と、チューニング要求部２９０６へのチューニング要求指示と、ストア部２９０４へアプリケーションのストア指示を行う。なお、チューニング要求部２９０６へのチューニング要求指示では、チューニングしたいアプリケーションのソースＩＤと使用するチューナを指定する。この時、端末装置５００がプログラムのダウンロードに複数のチューナを使用できる場合は、ダウンロード元決定部２９０１は、どのチューナを使用するかという方針を決定するため、次のような優先度の一例を考える。これらは、単独で使用してもよいし、複数の組み合わせで使用してもよい。
【０１６２】
１）使用されていないチューナが存在したら、そのチューナを優先的に使用する。
【０１６３】
２）ユーザがＰｉｃｔｕｒｅ  ｉｎ  Ｐｉｃｔｕｒｅのように、ひとつの画面で複数の番組を視聴している場合は、各番組が異なる周波数で伝送されていることがある。この時は、ユーザは複数のチューナを使用しており、このチューナを使用する場合は、ユーザへの影響を少なくするため、大画面で視聴しているサービスを優先的に処理し、ユーザへの影響の少ない小画面で流れている番組をチューニングしているチューナを使用することができる。当然、逆も可能である。
【０１６４】
３）ユーザが録画と視聴を同時に行っている場合は、録画を優先的に処理し、視聴中の番組をチューニングしているチューナを使用してもよい。逆も可能である。
【０１６５】
４）ＰＰＶ（Ｐａｙ  Ｐｅｒ  Ｖｉｅｗ）などによって、ユーザが購入した番組と無料の番組が選択された場合は、ユーザが購入した番組の優先的に処理し、無料の番組をチューニングしているチューナを使用してもよい。逆も可能である。
【０１６６】
なお、ここではダウンロード元決定部２９０１が、使用するチューナの決定を行う方針としたが、チューナを選択する優先度がこれらの方針に従っていれば、本処理を実行するのが、ダウンロード元決定部２９０１である必要はない。例えば、ダウンロード元決定部２９０１は、チューニング要求部２９０６へソースＩＤの指定のみを行い、チューニング要求部２９０６内で使用するチューナを選択する方針としてもよい。また、ダウンロード元決定部２９０１及びチューニング要求部２９０６は、ソースＩＤを指定するのみで、チューナライブラリ１２０５ｃが使用するチューナを決定するという方針でもよい。
【０１６７】
また、ストア完了後、ストア部２９０４から通知を受信し、アプリケーションのダウンロードを行う前の周波数へチューニングを再設定するため、チューニング要求部２９０６へ通知することもできる。
【０１６８】
チューニング周波数取得部２９０２は、チューナの使用状況と、使用中の各チューナがチューニングしている周波数をダウンロード元決定部２９０１へ通知する。ここでチューニング周波数取得部２９０２は、チューナの使用状況と使用中の各チューナがチューニングしている周波数の取得を、チューナライブラリ１２０５ｃがチューナへチューニング要求を行うために管理する情報から取得することで実現する。なお、ここではチューナライブラリ１２０５ｃが管理する情報から取得する例を示したが、チューナの使用状況と使用中の各チューナがチューニングしている周波数が取得できれば、他の方法で実現してもよい。複数チューナがある場合はチューニング中の全ての周波数を取得し、これらの結果を配列で通知する。なお、ここでは配列で通知するとしたが、本発明は通知方法に依存しないため、他の通知方法でもよい。また、周波数の値を直接通知するのではなく、ダウンロード元決定部２９０１とチューニング周波数取得部２９０２が解釈できる識別子であってもよい。また、ここではチューニング周波数取得部をＡＭ１２０５ｂの一部として記述したが、チューナライブラリ１２０５ｃの一部として存在し、このチューナライブラリ１２０５ｃとダウンロード元決定部２９０１が通信をするようにしてもよい。
【０１６９】
ダウンロード周波数取得部２９０３は、ダウンロード元決定部２９０１からソースＩＤを受信し、ソースＩＤから周波数情報を取得し、ダウンロード元決定部２９０１へ通知することで、アプリケーションのダウンロードに必要な周波数を通知する。ここで、周波数の値を直接通知するのではなく、ダウンロード元決定部２９０１とダウンロード周波数取得部２９０３が解釈できる識別子であってもよい。ダウンロード元決定部２９０１では、ソースＩＤから周波数への変換を行う必要がある。ソースＩＤから周波数を取得するためには、ＩｎｂａｎｄのトランスポートストリームあるいはＯＯＢから、周波数情報などチューニングに必要な情報を伝送しているＮＩＴとソースＩＤを基にして仮想的なチャンネルのテーブルを保持するＳＶＣＴというＳＩ（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ）情報を取得する必要がある。または、ＳＶＣＴに加え更に付加情報を保持するＬＶＣＴというＳＩ情報を取得してもよい。このソースＩＤから周波数を取得する技術は、公知の技術であり詳細は、Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ  ＳＣＴＥ６５を参照されたい。また、ここではＯＣＡＰ仕様で実現する場合を前提として記述しているが、これ以外の方法でソースＩＤと周波数の関係を解決してもよい。また、ここではチューニング周波数取得部をＡＭ１２０５ｂの一部として記述したが、ＳＩ情報を扱う専門のモジュールの一部として存在し、このＳＩ情報を扱う専門のモジュールとダウンロード元決定部２９０１が通信をするようにしてもよい。
【０１７０】
ストア部２９０４は、ダウンロード元決定部２９０１が決定したダウンロード元からアプリケーションをダウンロードしストアする。
【０１７１】
通知部２９０５は、ダウンロード元決定部２９０１の決定結果に従い、ユーザにアプリケーションがダウンロードされることを通知する。ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ５０９に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ５０９から消すものとする。
【０１７２】
チューニング要求部２９０６は、ダウンロード元決定部２９０１によって指定されたチューニング要求に従い、指定されたアプリケーションが流れているトランスポートストリームへ、指定されたチューナを用いてチューニングを行う。
【０１７３】
また、ここではチューニング要求部２９０６をＡＭ１２０５ｂの一部として記述したが、チューナライブラリ１２０５ｃの一部として存在し、このチューナライブラリ１２０５ｃとダウンロード元決定部２９０１が通信を行うことで実現してもよい。
【０１７４】
図３１、図３２は、本実施の形態におけるＸＡＩＴ情報を受け取ったＡＭ１２０５ｂによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、ＸＡＩＴ情報に記述されるアプリケーションをＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードし、ストア領域２２０１へストアする際に、現在チューニングされている周波数とは異なる周波数からダウンロードする必要がある場合の、ＡＭ１２０５ｂのストア処理動作の一例を示すフローチャートである。
【０１７５】
図３１、図３２を参照して、ダウンロード元決定部２９０１は、選択されているアプリケーションのＸＡＩＴ情報を受信する（Ｓ３００１）。この時、選択されているアプリケーションのプロトコル識別子２００３にＯＣが存在することを確認する。次に、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２から現在チューニング中の周波数を取得する（Ｓ３００２）。この時、複数のチューナが存在する場合は、チューニング中の全ての周波数を取得する。次にダウンロード元決定部２９０１は、ダウンロード周波数取得部２９０３からアプリケーションの周波数を取得する（Ｓ３００３）。ダウンロード元決定部２９０１は、Ｓ３００２で取得した現在チューニングされている周波数とＳ３００３で取得したアプリケーションの周波数を比較することで、現在のチューニングを変更することなくアプリケーションのダウンロードが行えるか否かを判断する（Ｓ３００４）。このとき、アプリケーションをダウンロードする周波数が、現在のチューニングされている周波数になかった場合（Ｓ３００４でＮＯ）、ダウンロード元決定部２９０１は、チューニング周波数取得部２９０２へチューナの使用状況を問い合わせる（Ｓ３００５）。この時、チューナが全て使用中の場合（Ｓ３００５でＹＥＳ）は、ダウンロード元決定部２９０１は、通知部２９０５へダウンロードするため、現在の視聴あるいは録画が妨げられる旨を伝えるメッセージ通知を指示する。そして、通知部２９０５はユーザにアプリケーションがダウンロードされることを通知する（図３２のＳ３１０１）。なお、図３２のＳ３１０１の処理は、通知モジュールとして、これ以降、同様の処理をする際に参照することとする。ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、図３３に示すようなダウンロード通知をディスプレイ５０９に表示することにより実現される。３２０１はダイアログボックスであり、メッセージ３２０２の表示要素をもつ。なお、メッセージ３２０２の文字列は、ユーザにアプリケーションのダウンロードを通知する為に必要な情報を提供できる方法であれば、図３３中の文字列に限定されず他の文字列であってもよく、また、メッセージ３２０２の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス３２０１の表示要素は、図３３の表示要素に限定されず、ユーザにアプリケーションのダウンロードを行うこと、あるいは現在の視聴あるいは録画が妨げられること、あるいはこの両方の内容を通知できるものであれば、他の表示要素であってもよい。続いて、ユーザへのメッセージ通知後とチューナが全て使用中でなかった場合（つまり、使用していないチューナが存在した場合（Ｓ３００５でＮＯ））、ダウンロード元決定部２９０１は、チューニング要求部２９０６へアプリケーションのダウンロードが行える周波数のチューニング要求を行う（Ｓ３００６）。チューニング要求部２９０６は、この要求を受けチューニングを開始する。そして、ダウンロード元決定部２９０１はストア部２９０４へ、アプリケーションのダウンロード及びストアを指示する。ストア部２９０４は、この指示を受け、指定されたアプリケーションのダウンロードとストアを行う。なお、ストア部はストアの完了後にダウンロード元決定部２９０１の呼び出しもとの実行へもどるようにしてもよいし、完了時にダウンロード元決定部へメッセージを通知することで知らせても良い。また、呼び出しの返り値によって、ストア成功か否かを通知するようにしてもよい。こうして、指定されたアプリケーションのストア処理を行い終了する。
【０１７６】
なお、ここで、通知部２９０５によるユーザへのアプリケーションダウンロード通知は、通知部２９０５が端末装置５００のＣＰＵ５１４に画面に表示したいダウンロード通知情報を送り、ＯＳ１２０１のライブラリ１２０１ｂに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ５０９に表示することにより実現しているが、通知部２９０５によるユーザへのダウンロード通知は、リモコンの液晶画面にダウンロード通知を表示する、或いは、図３４を参照して、端末装置本体の７セグＬＥＤ３３０２にダウンロード通知を表示する、あるいは端末装置本体のランプ３３０１を点灯するなど、ユーザがアプリケーションのダウンロードを検知できる方法であれば、その他の方法であっても実施可能である。図３４において、図７と同じ要素には図７と同じ符号を付し説明を省略する。
【０１７７】
またここで、アプリケーションのダウンロード時に、通知部２９０５は、ダウンロードの進捗具合をユーザへ通知してもよいし、「ｌｏａｄｉｎｇ」などのメッセージの表示をおこなってもよいし、別の映像・音声に切り替えても良い。このとき表示する映像・音声は、端末装置内に保存しているものであってもよいし、アプリケーションのダウンロードを行っているトランスポートストリーム内に存在する映像・音声であってもよい。また、アプリケーションのダウンロードを行っているトランスポートストリーム内の番組をユーザへ通知し、ユーザが選択した番組の映像・音声に切り替えても良い。
【０１７８】
また、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時または、ＸＡＩＴ情報が更新された時に行う。つまり、本実施の形態において、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りは、端末装置５００の電源投入時におけるＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りと、端末装置５００が起動後にＸＡＩＴ情報が更新された時における、ＡＭ１２０５ｂによるＸＡＩＴ情報の受け取りを対象としているが、ＸＡＩＴ情報の更新は、ヘッドエンド１０１から送信されるＸＡＩＴ情報そのものの更新だけでなく、ＡＭ１２０５ｂやアプリケーションによるＸＡＩＴ情報の更新等、他の方法であっても本発明は実施可能であり、これ以降の実施の形態においても適用することができる。
【０１７９】
ここで、このような、アプリケーションによるＸＡＩＴ情報の更新は、ＡＭ１２０５ｂが特別な権限をもつアプリケーションに対して、ＸＡＩＴ情報の更新を行うためのＡＰＩを用意することにより実現する。ＸＡＩＴ情報の更新を行うためのＡＰＩには、特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報を登録可能とするものや、既にＡＭ１２０５ｂが１次記憶または２次記憶に保存しているＸＡＩＴ情報を修正可能とするもの等がある。
【０１８０】
このようなＸＡＩＴ情報の更新を行うためのＡＰＩは公知の技術にて実現されている。例えば、ＸＡＩＴ情報を登録するＡＰＩは、ＯＣＡＰ仕様（ＯＣＡＰ  １．０  Ｐｒｏｆｉｌｅ  ＯＣ−ＳＰ−ＯＣＡＰ１．０−ＩＦ−Ｉ０９−０３１１２１）のＡｎｎｅｘＧ  ＯＣＡＰ  １．０  Ａｐｐｌｉｃａｔｉｏｎ  ＡＰＩにおいて、ｏｒｇ．ｏｃａｐ．ａｐｐｌｉｃａｔｉｏｎ．ＡｐｐＭａｎａｇｅｒＰｒｏｘｙクラスのｒｅｇｉｓｔｅｒＵｎｂｏｕｎｄＡｐｐメソッドとして定義されている。特別な権限をもつアプリケーションがＸＡＩＴ情報を登録するＡＰＩを用いて、新規のＸＡＩＴ情報を登録（特別な権限をもつアプリケーションが新規に作成したＸＡＩＴ情報の登録）を行った際には、ＡＭ１２０５ｂは、その特別な権限をもつアプリケーションにより登録されたＸＡＩＴ情報を、ＸＡＩＴ情報の更新として受け取る。
【０１８１】
以上のように実施の形態１を適用することにより、現在のチューニングされている周波数と異なる周波数からアプリケーションのダウンロードを行う場合、ユーザの視聴あるいは録画中の映像・音声などのサービスの停止を事前にユーザへ通知することができる。これにより、突然視聴あるいは録画ができなくなるのを回避することができる。
【０１８２】
（実施の形態２）
実施の形態１では、ダウンロード元決定部２９０１が、アプリケーションのダウンロード元を決定した場合、通知部２９０５は、ユーザへアプリケーションがダウンロードされるために現在の視聴あるいは録画が中断されることを通知するものの、ユーザによる確認の有無は判断していなかった。そこで、本実施の形態では、実施の形態１に加え、ユーザからの応答を受け付ける応答受付部（図３５の３５０７）を備える。図３５を参照して、図３０と同じ番号で示すものは、図３０と同じ機能を持つため、本実施の形態では説明を省く。なお、本実施の形態では実施の形態１と同様に、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定が明記されている場合を想定している。ダウンロード元決定部３５０１は、ダウンロード元決定部２９０１に加え、応答受付部３５０７へ応答受付指示を行い、ユーザ応答を受信する。このユーザ応答を受信後に、チューニング要求部２９０６へチューニング要求を指示とストア部２９０４へストア指示を行うことを特徴とする。
【０１８３】
応答受付部３５０７は、ダウンロード元決定部３５０１から応答受付指示を受信後、ユーザの応答を待ち、ユーザの応答を受信後、ダウンロード決定部３５０１へユーザの応答を通知する。なお、ユーザからの応答を待つ応答受付部３５０７は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部３５０７によって独自判断を行うという方針にしてもよい。応答受付部３５０７は、ユーザが通知部２９０５の表示した画面に従い、リモコンに割り当てられた十字キーやＯＫキーを押下することにより実現される。
【０１８４】
図３６及び図３７に通知部が表示する画面の一例を示す。図３６は実施の形態１で示した図３３に加えＯＫボタン３６０３を備える。更に、図３７は実施の形態１で示した図３３に加え、Ｙｅｓボタン３７０３とＮｏボタン３７０４を備える。この時、ユーザへ通知するメッセージ内容は、ユーザへダウンロードのためにユーザの視聴あるいは録画が中断することを通知するメッセージであれば３６０２及び３７０２に限る必要はない。また、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、３６０３及び３７０３、３７０４のボタン内の文字列も、この内容に限る必要はない。また更に、図３３、図３６、図３７は、ユーザにアプリケーションのダウンロード及び視聴あるいは録画の中断を通知し、ユーザがダウンロード通知の確認を選択したことをＣＰＵ５１４が認識できるものであれば、他の表示要素であってもよい。
【０１８５】
図３８は、本実施の形態において、図３６のようなユーザの承認のみを受け付ける場合におけるアプリケーションのストア処理動作の一例を示すフローチャートである。
【０１８６】
なお、図３８は、実施の形態１で示したフローチャート図３１の一部である図３２の処理を置き換える形で示す。図３１の処理は、実施の形態１と同じ処理のため、説明を省略する。図３１のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図３８を参照して、ダウンロード元決定部３５０１は、通知部２９０５に対し、アプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう指示し、通知部２９０５は、ダウンロード元決定部３５０１からの指示に従いユーザへメッセージを通知する（Ｓ３８０１）。その後、ダウンロード元決定部３５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザからの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部３５０１へユーザ確認情報を通知する（Ｓ３８０２）。なお、図３８のＳ３８０１とＳ３８０２の処理は、通知・応答モジュール１として、これ以降同様の処理をする際に参照することとする。この通知を受け、ダウンロード元決定部３５０１は、チューニング要求部２９０６へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部２９０４へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。
【０１８７】
次に、図３７のようなユーザの承認あるいは拒否を受け付ける場合のアプリケーションのストア処理動作の一例をフローチャート図３９と図４０に示す。
【０１８８】
まず、図３９は図３１に加え、ユーザの拒否応答に対応するため、図４０からの処理の戻りを示すＳ３９１０を追加した。このため、図３９については、図３１と同じ処理を示すため説明を省く。そこで、図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合（Ｓ３００５でＹＥＳ）は、図４０を参照して、ダウンロード元決定部３５０１は、通知部２９０５へアプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう通知部２９０５へ指示し、通知部は、ユーザへメッセージを通知する（Ｓ４００１）。その後、ダウンロード元決定部３５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部３５０１へユーザ確認情報を通知する（Ｓ４００２）。この通知を受け、ダウンロード元決定部３５０１は、ユーザの応答がダウンロード許可あるいは拒否であったかを考慮し（Ｓ４００３）、許可された場合（Ｓ４００３ＹＥＳ）は、ダウンロードを行うことができるため、図３９のＡの処理へ戻り、拒否された場合（Ｓ４００３でＮＯ）は、ダウンロードを行うことができないため、図３９のＢの処理へ戻る。そして、Ａの処理へ戻ると、ダウンロード元決定部３５０１は、チューニング要求部２９０６へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部２９０４へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。また、Ｂの処理に戻ると、ダウンロードを行わないため、そのまま処理を終了する。なお、図４０のＳ４００１〜Ｓ４００３の処理は、通知・応答モジュール２として、これ以降同様の処理をする際に参照することとする。
【０１８９】
なお、本実施の形態で示した、ユーザからの応答を待つ応答受付部３５０７は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部３５０７によって独自判断を行うという方針にしてもよい。
【０１９０】
このように、実施の形態２により、アプリケーションのダウンロードにおいて、現在のユーザの視聴あるいは録画が中断されることをユーザへ通知し、ユーザの応答を受信することで、ユーザはダウンロード処理を知ると共に、ダウンロード処理を拒否することも可能になる。これにより、ユーザの視聴あるいは録画を続けることが可能になる。
【０１９１】
（実施の形態３）
実施の形態２では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否することができた。しかしながら、拒否を行った際には、次回のダウンロードがいつ行われるのかということを、ユーザは知ることができなかった。また、端末装置がアプリケーションのダウンロード要求を受信するたびに、ダウンロードするか否かの問い合わせが表示されるため、問い合わせ用のウィンドウがユーザの視聴あるいは録画を妨げる可能性があった。そこで本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ユーザがダウンロードを行う時間を設定することができるように、タイマー設定部（図４１の４１０８）を備えることを特徴とする。このように、ユーザによってダウンロード時間を設定することにより、ユーザの視聴や録画を行わない時間を設定することができるため、ユーザの視聴あるいは録画を妨げることを回避することができる。
【０１９２】
図４１を参照して、図３０あるいは図３５と同じ番号で示すものは、図３０あるいは図３５と同じ機能を持つため、本実施の形態では説明を省略する。
【０１９３】
タイマー設定部４１０８は、ダウンロード元決定部４１０１から指定された設定時間をはかる。そして、設定時間が経過後、ダウンロード元決定部４１０１へ設定時間経過の通知を行うことを特徴とする。
【０１９４】
ダウンロード元決定部４１０１は、ダウンロード元決定部３５０１に加え、通知部２９０５へタイマー設定に関するユーザへのメッセージ通知を指示し、応答受付部３５０７からユーザからの返信を受信する。この結果を受け、タイマー設定部４１０８へ設定時間を指示する。また、ダウンロード元決定部４１０１は、タイマー設定部４１０８の設定時間経過の通知を受信し、チューニング要求部２９０６へチューニングを指示し、ストア部２９０４へストア指示を行うことを特徴とする。なお、タイマー設定部４１０８から設定時間経過の通知を受信した際に、再び、通知部２９０５を通し、ユーザへメッセージ通知を行ってもよい。また更に、通知部２９０５が表示したメッセージに対するユーザ応答を応答受付部３５０７から受信し処理を行うという方針にしてもよい。また、ここではユーザが時間を設定できることとしたが、ダウンロード元決定部４１０１でデフォルト設定時間を保持し、ユーザがダウンロードを拒否した際に、ユーザへ設定時間を尋ねることなく、デフォルト設定時間をタイマー設定部４１０８へ指示してもよい。
【０１９５】
なお、本実施の形態では実施の形態１、２と同様に、選択されたアプリケーションが、少なくとも一つのＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定が明記されている場合を想定している。
【０１９６】
図４２及び図４３に通知部が表示する画面の一例を示す。図４２は実施の形態２で示した図３７でＮｏボタン３７０４が押された後に、タイマー設定を行うか否かをユーザへ通知する。そのため、図４２は、ユーザへダウンロードを行う時間を設定するか否かを問うメッセージ４２０２とＹｅｓボタン４２０３とＮｏボタン４２０４を備える。なお、ここでは、少なくともダウンロードを行う時間を設定できることを通知することができるものであればよいため、図４２の形式に限る必要はない。また、図４２で示したダウンロードを行う時間を設定できるメッセージは、省略することもできる。
【０１９７】
次に図４３は、ユーザへダウンロードの設定時間の指定を促す画面の一例である。そのため、図４３はユーザへダウンロード時間の設定を促すメッセージ４３０２と、設定時間を指定するためのボタン４３０４〜４３０９と、入力を完了したことを通知するＯＫボタン４３１０を備える。また、ユーザへ通知するメッセージ内容は、ユーザへダウンロード時間の設定を促すメッセージであれば４３０２に限る必要はない。また、ここではボタン４３０４〜４３０９を選択することで時間指定を行う方針としたが、リモートコントロールから直接数字を入力してもよいし、ユーザが指定した時間がわかるものであれば、入力形式はどのような方法であってもよい。また、入力に誤りがないか否かを検出し、ユーザへ再入力を促す処理を追加してもよい。また更に、図４３は時間指定のみとしたが、日付や時間や分など設定時間の内容に関しても、ユーザから設定されたダウンロードするタイミングが分かるものであれば、ここで一例として示した図４３の通知部が表示する画面に限る必要はない。また、図４２及び図４３ともに、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、図４２及び図４３の各ボタン内の文字列も、この内容に限る必要はない。つまり、図４３はユーザがダウンロードの設定時間を設定することができれば、他の表現であってもよい。
【０１９８】
本実施の形態における、ユーザがダウンロード設定時間を設定する処理動作の一例をフローチャート図４４へ示す。なお、図４４は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４４を参照して、通知・応答モジュール２の処理を行いユーザへダウンロードを行うか否かの問い合わせを行う（Ｓ４４０１）。この結果がＡの場合は、ユーザによってダウンロードが承認されたためダウンロード処理を行う（詳細は前述したため、ここでは説明を省略する）。一方、この結果がＢの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部４１０１は、通知部２９０５へアプリケーションをダウンロードする時間を設定できることを通知するよう指示し、通知部２９０５は、ユーザへメッセージを通知する（Ｓ４４０２）。
【０１９９】
その後、ダウンロード元決定部４１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４１０１へユーザのタイマー設定可否応答を通知する（Ｓ４４０３）。ダウンロード元決定部４１０１は、この通知によりタイマー設定を行うか否かの判断を行う（Ｓ４４０４）。タイマー設定しない場合（Ｓ４４０４でＮＯ）は、図３９のＢへ戻り処理を終了する。一方、タイマー設定を行う場合（Ｓ４４０４でＹＥＳ）は、ダウンロード元決定部４１０１は、通知部２９０５へアプリケーションをダウンロードする設定時間の入力メッセージを通知するよう指示し、通知部２９０５は、ユーザへメッセージを通知する（Ｓ４４０５）。その後、ダウンロード元決定部４１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４１０１へユーザのタイマー設定時間を通知する（Ｓ４４０６）。そして、ダウンロード元決定部４１０１はタイマー設定部４１０８へ設定時間を通知し、タイマー設定部４１０８は受信した時間を設定する（Ｓ４４０７）。タイマー設定部４１０８は、設定時間が経過するまで待つ（Ｓ４４０８）。時間が経過すると、図３９のＡへ戻り、ダウンロード処理を行う。この時、再びダウンロードを行うか否かを問うため、Ｓ４４０１の処理へ戻ってもよい。なお、図４２で示したような、ダウンロードの設定時間を設定するか否かをユーザへ問う処理を省略する場合は、図４４のＳ４４０２及びＳ４４０３及びＳ４４０４を省略することで、実行することができる。
【０２００】
このように、実施の形態３により、ユーザはアプリケーションのダウンロードを拒否した際に、ダウンロードの設定時間を指定することができる。
【０２０１】
（実施の形態４）
実施の形態３では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否したとき、ユーザはダウンロード可能な設定時間を指定することができた。本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからダウンロードを行うことを想定し、ネットワーク接続部（図４５の４５０９）を備えることを特徴とする。
【０２０２】
図４５を参照して、図３０あるいは図３５と同じ番号で示すものは、図３０あるいは図３５と同じ機能を持つため、本実施の形態では説明を省略する。なお、本実施の形態では、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。
【０２０３】
ダウンロード元決定部４５０１は、ダウンロード元決定部３５０１に加え、ネットワーク接続部４５０９へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ。また、ダウンロード元決定部４５０１はネットワーク接続部４５０９へネットワークの接続先を指定したダウンロード元指定２００５を設定し、ダウンロードしたアプリケーションを受信し、ストア部４５０４へストア要求を出す。なお、ネットワーク接続部４５０９へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ機能は、ダウンロードを行う際にエラーが発生するのを防ぐために考慮したが、必ずしも必要な機能ではない。
【０２０４】
ネットワーク接続部４５０９は、ダウンロード元決定部４５０１からネットワークの接続が利用可能か否かの問い合わせに対し、現在ネットワークが利用可能か否かを調べ、ダウンロード元決定部４５０１へ通知する。また、ダウンロード元決定部４５０１から、ネットワークの接続先を指定されたダウンロード元指定２００５を受信した際に、指定されたサーバへ接続し、ファイルをダウンロードする。そしてダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。あるいは、直接ストア部４５０４へ渡してもよい。
【０２０５】
ストア部４５０４は、ダウンロード元決定部４５０１あるいはネットワーク接続部４５０９から指定されたアプリケーションをストアする機能を持つ。
【０２０６】
本実施の形態における、ネットワークからアプリケーションのダウンロードを行う動作の一例をフローチャート図４６へ示す。なお、図４６は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４６を参照して、通知・応答モジュール２の処理（Ｓ４６０１）を行いユーザへダウンロードを行うか否かの問い合わせを行う（Ｓ４６０２）。この結果がＡの場合は、ユーザによってダウンロードが承認されたためダウンロードを行う処理を行う（この処理に関しては、前述した実施の形態と同じため説明を省く）。一方、この結果がＢの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ４６０２）。ダウンロード元決定部４５０１は、ネットワーク接続部４５０９から受信した、ネットワークの利用可能か否かの判断（Ｓ４６０３）を考慮し、利用できない場合（Ｓ４６０３でＮＯ）は処理を終了する。あるいは、ネットワークが利用できないことをユーザへ通知してもよい。あるいは、ユーザの視聴あるいは録画が終わった時間にダウンロードのタイマー設定を行うことができるように、実施の形態３で示した図４４のＳ４４０２へ処理を移動できるようにしてもよい。一方、ネットワークを利用できるとき（Ｓ４６０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワーク接続部４５０９へダウンロード元指定２００５を渡し、ダウンロード要求の指示を行う（Ｓ４６０４）。そして、この指示を受け、ネットワーク接続部４５０９は、ダウンロード元指定２００５からアプリケーションのダウンロードを行う（Ｓ４６０５）。そして、ネットワーク接続部４５０９はダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。ダウンロード元決定部４５０１は、ストア部４５０４へ、そのアプリケーションのストアを指示する。ストア部４５０４は受信したアプリケーションをストアする（Ｓ４６０６）。なお、ネットワーク接続部４５０９が、ダウンロードしたアプリケーションを直接ストア部４５０４へ渡してもよい。
【０２０７】
なお、事前にネットワークが利用可能か否かを問い合わせるＳ４６０２とＳ４６０３の処理は必ずしも必要な処理ではないため、図４７のようにＳ４６０２とＳ４６０３の処理を行わなくてもよい。
【０２０８】
このように、実施の形態４により、ユーザがＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードに必要なチューニングを拒否した際に、ネットワークからのダウンロードを行うことができる。
【０２０９】
（実施の形態５）
実施の形態４では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからのダウンロードを行うことができた。本実施の形態では、ユーザがダウンロード方法を選択できること考える。なお、本実施の形態では、実施の形態４同様、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。
【０２１０】
本実施の形態の構成要素は、図４５のダウンロード元決定部４５０１に加え、ダウンロード元決定部４５０１は、ダウンロード方法としてネットワークとチューナの選択を促すメッセージをユーザへ通知するよう通知部２９０５へ指示し、そのメッセージの応答を受信するように応答受付部３５０７へ指示する。そして応答受付部３５０６から通知されたユーザが選択したダウンロード方法に従い、ダウンロード元決定部４５０１は、ダウンロードを行うように設定をする。具体的には、チューナを選択された場合はこれまでの実施の形態１〜３と同様の機能を適用し、ネットワークが選択された場合は、ネットワークからのダウンロードを実行する。なお、ここではユーザへ通知するダウンロード方法として、ネットワークとチューナを例にして説明したが、プログラムのダウンロードあるいはプログラムの取得ができる方法であればこれに限る必要はない。また、ユーザへ通知するダウンロード方法は、プロトコル識別子２００３の一部あるいは全部であってもよい。
【０２１１】
図４８に通知部が表示する画面の一例を示す。図４８０２はユーザへダウンロード方法の選択を促すメッセージ４７０２とネットワークとチューナを選択するボタン（４７０３と４７０４）、そして、ユーザの選択が終了したことを通知するためのボタン４７０５を備える。なおこの時、ユーザへのメッセージ内容やボタンの形式や表示内容は、必ずしも図４８の形式である必要はない。つまり、図４８はユーザがダウンロード元を指定できるものであれば、他の表現であってもよい。
【０２１２】
本実施の形態における、ユーザがダウンロード元を設定する処理動作の一例をフローチャート図４９へ示す。なお、ここでは、実施の形態２で示した図３７でＮｏボタン３７０４が押された後に、ユーザへダウンロード元の指定を促す場合を示す。そのため図４９は、実施の形態２で示したフローチャート図３９の一部である図４０の処理を置き換える形で示す。図３９の処理は、実施の形態２と同じ処理のため、説明を省略する。図３９のチューナが全て使用中か否かの判断（Ｓ３００５）において、全て使用中の場合は、図４９を参照して、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ４８０１）。ダウンロード元決定部４５０１は、ネットワーク接続部４５０９から受信した、ネットワークの利用可能か否かの判断（Ｓ４８０２）を考慮し、利用できない場合（Ｓ４８０２でＮＯ）は図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールを行い、チューナを利用したダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。
【０２１３】
一方、ネットワークを利用できるとき（Ｓ４８０２でＹＥＳ）は、ダウンロード元決定部４５０１は、通知部２９０５へユーザにアプリケーションのダウンロード方法を選択できることを通知するよう指示し、通知部２９０５はメッセージを通知する（Ｓ４８０３）。その後、ダウンロード元決定部４５０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部４５０１へ選択されたダウンロード方法を通知する（Ｓ４８０４）。ダウンロード元決定部４５０１は、受信したダウンロード方法がネットワークか否かを判断（Ｓ４８０５）し、ユーザがネットワークからのダウンロードを選択していない場合（Ｓ４８０５でＮＯ）は、図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。一方、ネットワークが選択された場合（Ｓ４８０５でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワーク接続部４５０９へダウンロード元指定２００５を渡し、ダウンロード要求の指示を行う（Ｓ４８０７）。そして、この指示を受け、ネットワーク接続部４５０９は、ダウンロード元指定２００５からアプリケーションのダウンロードを行う（Ｓ４８０８）。そして、ネットワーク接続部４５０９はダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡す。ダウンロード元決定部４５０１は、ストア部４５０４へ、そのアプリケーションのストアを指示する。ストア部４５０４は受信したアプリケーションをストアする（Ｓ４８０６）。なお、ネットワーク接続部４５０９が、ダウンロードしたアプリケーションを直接ストア部４５０４へ渡してもよい。
【０２１４】
なお、ユーザへダウンロード方法の選択を通知する際に、ユーザが判断しやすいように、ネットワークを用いてプログラムのダウンロードした場合と、ＤＳＭＣＣ方式でエンコードされたファイルシステムからダウンロードした場合の予想時間あるいは、ダウンロード速度などをユーザへ提示してもよい。また、チューナを利用した場合は、現在の視聴あるいは録画が中断されることも通知することもできる。
【０２１５】
なお、ここではチューナが全て使用中の場合に、ユーザがネットワークからダウンロードするかチューナからダウンロードするかを選択できる方法を示したが、チューナが全て使用中であるか否かに関わらず、ユーザがダウンロード元を選択できる方法も想定することができる。具体的には、これまで図４９を図３９の一部として処理してきたが、図４９のＳ４８０１から処理を開始し、１０の処理へ進む代わりに図３９を開始する方法が想定できる。
【０２１６】
本実施の形態を利用することにより、ユーザがダウンロード方法を選択することができるようになる。
【０２１７】
（実施の形態６）
実施の形態５では、ユーザがアプリケーションのダウンロード方法を選択することができた。本実施の形態では、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する方法を説明する。なお、本実施の形態では、実施の形態４、５同様、選択されたアプリケーションが、ＤＳＭＣＣ方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＯＣとＩＰの両方の設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＯＣ」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。
【０２１８】
本実施の形態の構成要素を図５２に示す。なお、通知部２９０５及び応答受付部３５０７及びチューニング要求部２９０６は本実施の形態の必須要素ではないため、点線で示している。また、図５２に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。
【０２１９】
本実施の形態における、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する動作の一例をフローチャート図５３と図５４に示す。図５３を参照して、Ｓ５００１からＳ５００４は、図３１及び図３９と同じ処理のため説明を省略する。そこで、Ｓ５００４のアプリケーションの周波数がチューニング中ではない場合（Ｓ５００４でＮＯ）、図５４を参照して、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５１０１）。この結果を受け、ダウンロード元決定部４５０１は、ネットワークが利用可能か否かの判断（Ｓ５１０２）に応じて、利用できない場合（Ｓ５１０２でＮＯ）は、図５３のＢの処理へ戻り終了する。一方、ネットワークが利用可能の場合（Ｓ５１０２でＹＥＳ）、Ｓ５１０３〜Ｓ５１０５の処理を行う。ここでＳ５１０３〜Ｓ５１０５の処理は、図４６のＳ４６０４〜Ｓ４６０６と同じため説明を省略する。なお、ここでは図５３において、現在のアプリケーションの周波数がチューニングされているか（Ｓ５００４）の判断がＮＯだった場合に、直ぐにネットワークからダウンロードする方法を説明したが、ここで、チューナが全て使用中か否かを判断し、全てのチューナが使用中の場合に限り、図５４の処理へ進むように設定してもよい。また更に、Ｓ５１０２の判断においてネットワークが利用できない場合は、ダウンロードの処理を終了する方法を説明した。そのため、ネットワークが利用できない場合は、必要に応じて図５２の通知部２９０５及び３５０７の応答受付部とチューニング要求部２９０６を追加し、図５５のＳ５２０６のように図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行うこともできる（図５０のＳ４８０６または図５１のＳ４８０６）。本実施の形態を利用することで、チューナを必要とする場合は、ネットワークからのダウンロードを優先的に処理することができるようになる。
【０２２０】
（実施の形態７）
実施の形態６では、ユーザが視聴あるいは録画中のチューニングを考慮し、チューニングが必要な場合は、ネットワークからダウンロードする手法を説明した。本実施の形態では、現在のチューニング情報やダウンロードするアプリケーションの周波数を考慮することなく、プロトコル識別子２００３にＩＰ指定がある場合は、常にネットワークからダウンロードする手法を説明する。そのため、本実施の形態では、選択されたアプリケーションが、プログラムのダウンロードを提供するサーバに存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子２００３にＩＰの設定が指定されており、ダウンロード元指定２００５に少なくとも一つのプロトコル識別子２００３の「ＩＰ」指定に対応したダウンロード元指定が明記されている場合を想定している。
【０２２１】
本実施の形態の構成要素を図５６に示す。図５６に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
【０２２２】
本実施の形態における、アプリケーションのダウンロード元にＩＰからのダウンロードが存在する場合は、ネットワークのダウンロードを優先的に処理する動作の一例をフローチャート図５７に示す。図５７を参照して、ダウンロード元決定部４５０１はアプリケーション情報を受け取る（Ｓ５４０１）。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子２００３及びダウンロード元指定２００５などが含まれる。この時、ダウンロード元決定部４５０１は、プロトコル識別子２００３にＩＰが存在することを確認する。次に、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５４０２）。ダウンロード元決定部４５０１は、ネットワークが利用可能か否かを判断（Ｓ５４０３）し、利用できない場合（Ｓ５４０３でＮＯ）は終了する。一方、利用できる場合（Ｓ５４０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ダウンロード元指定２００５を指定し、ネットワーク接続部４５０９へダウンロード要求を行う（Ｓ５４０４）。ネットワーク接続部４５０９は、指定されたダウンロード元指定２００５からダウンロードを行う（Ｓ５４０５）。そして、ネットワーク接続部４５０９は、ダウンロード元決定部４５０１へダウンロードしたアプリケーションを渡し、ダウンロード元決定部４５０１は、ストア部４５０４へアプリケーションのストアを指示し、ストア部４５０４へストアを行う（Ｓ５４０６）。
【０２２３】
なお、ここでは図５７のネットワークが利用可能か否かの判断（Ｓ５４０３）において、ネットワークが利用できない場合は処理を終了する場合を説明したが、ここで図５８に示したように、チューナからのダウンロードを行う図５９の処理へ続くようにしてもよい。図５９は、図３９からＳ３００１の処理を除いたのみなので詳細な説明は省略する。図５９を参照して、チューナが全て使用中か否かの判断（Ｓ５６０４）がＹＥＳの場合の図５０に示した通知モジュールあるいは、通知・応答モジュール１あるいは、図５１に示した通知・応答モジュール２あるいは時間設定モジュールのいずれかを実行し、チューナを利用し、ダウンロードを行う（図５０のＳ４８０６または図５１のＳ４８０６）。なお、図５９のＳ５６０１〜Ｓ５６０６の処理は、ＤＳＭＣＣからのダウンロードモジュールとして、これ以降、同様の処理をする際に参照することとする。
【０２２４】
本実施の形態では、ネットワークからのダウンロードを優先的に行う手法について説明した。これにより、ユーザの視聴あるいは録画を妨げることが減少すると考えられる。
【０２２５】
（実施の形態８）
アプリケーションのダウンロードは、ＤＳＭＣＣを用いてチューナからダウンロードを行う手法が一般的である。そのため、実施の形態１〜６では、ＤＳＭＣＣからのダウンロードを行う手法を優先的に考えた手法を説明した。また、実施の形態７は、ダウンロードの速度より、ダウンロード時にユーザの妨げにならないよう、ネットワークからのダウンロードをＤＳＭＣＣからのダウンロードより優先的に処理する手法を説明した。しかし本実施の形態では、ダウンロード可能な方法のうち、最も高速にダウンロードができるダウンロード元を探し、ダウンロードを行う手法を説明する。
【０２２６】
なお、これまでの実施の形態においても、特にネットワークを用いたプログラムのダウンロードにおいて、ダウンロード元指定２００５が複数存在する際に、最速のところからダウンロードを行う方式にしてもよい。
【０２２７】
本実施の形態の構成要素を図６０に示す。図６０に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
【０２２８】
本実施の形態における、アプリケーションのダウンロード元の決定において最速のところからダウンロードを行う動作の一例をフローチャート図６１と図６２に示す。図６１を参照して、ダウンロード元決定部４５０１アプリケーション情報を受け取る（Ｓ５８０１）。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子２００３及びダウンロード元指定２００５などが含まれる。次に、ダウンロード元決定部４５０１は、ネットワークが利用できるか否かをネットワーク接続部４５０９へ問い合わせる（Ｓ５８０２）。ダウンロード元決定部４５０１は、ネットワークが利用可能か否かを判断（Ｓ５８０３）し、利用できる場合（Ｓ５８０３でＹＥＳ）は、ダウンロード元決定部４５０１は、ネットワークを用いたプログラムのダウンロード指定先のうち、最速のネットワークを決定する（Ｓ５８０４）。この最速のネットワークを求める方法としては、ダウンロード元指定２００５で設定されたサーバへｐｉｎｇというネットワークの疎通を確認するコマンドを利用する方法がある。ｐｉｎｇは、ネットワーク疎通を確認したいホストに対してＩＰパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドである。そのため、この返答が最も速いサーバを最速とする方法があるが、これ以外の方法であってもよい。なお、このような最速のネットワークからのダウンロード元指定２００５を特定し、そのサーバからダウンロードする方法は、これまでの実施の形態１〜７においても適用することができる。次に、ダウンロード元決定部４５０１が求めた最速のネットワークからのダウンロード元指定２００５とチューナを利用したＤＳＭＣＣからのダウンロードの速度を比較する（Ｓ５８０５）。なお、ＤＳＭＣＣからのダウンロード速度は、パケットを取得するハードウェアにより検出し、その値をダウンロード元決定部４５０１が取得できるように設定してもよい。また、ダウンロード元決定部４５０１が、トランスポートストリームのビットレートを事前に固定値として保持しておいてもよい。次に、ダウンロード元決定部４５０１は、Ｓ５８０５の比較によりネットワークが最速か否かを判断する（Ｓ５８０６）。この結果、ネットワークが最速である場合（Ｓ５８０６でＹＥＳ）は、図６２の５の処理へ進み、ネットワーク接続部４５０９は、ダウンロード元指定２００５からプログラムのダウンロードを行う（Ｓ５８０７）。そして、ダウンロードしたアプリケーションをダウンロード元決定部４５０１へ渡し、ダウンロード元決定部４５０１は、ストア部４５０４へアプリケーションを渡し、ストア部４５０４へアプリケーションのストアを指示する（Ｓ５８０８）。一方、Ｓ５８０６でネットワークが最速でないと判断された場合（Ｓ５８０６でＮＯ）は、図６２の６の処理へ進む。なお、Ｓ５８０３のネットワークが利用できない場合も、この図６２の６の処理へ進む。この時は、チューナを利用するため、図５９の処理を行う（Ｓ５８０９）。なお、図５９における１０の処理では、実施の形態１〜３で示した方法を利用することができる。
【０２２９】
本実施の形態では、ネットワーク及びＤＳＭＣＣからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明した。
【０２３０】
（実施の形態９）
これまでの実施の形態では、アプリケーションをダウンロードする手法として、ネットワークとＤＳＭＣＣからダウンロードする手法を考慮してきた。本実施の形態では、記録媒体からのアプリケーション取得を考慮する。
【０２３１】
記録媒体からの取得の場合は、チューナを必要としないためユーザの視聴あるいは録画を妨げることはない。そのため記録媒体からのアプリケーションの取得要求を受信した際には、ユーザへ記録媒体の挿入指示を行うことで実現することができる。ここで、記憶媒体とは、ＣＤ、ＤＶＤ、ＢＤなどの光ディスクメディアや、半導体を利用したメモリーカードなど、媒体の中に情報を記憶できるものであれば、どのような媒体であってもよい。
【０２３２】
図６３に通知部が表示する画面の一例を示す。ここでは、プログラムの取得が必要になったタイミングで、記録媒体の挿入を要求する画面を示す。ここでは、記録媒体の挿入を促すメッセージ５９０２とＯＫボタン５９０３とキャンセルボタン５９０４を備える。なお、ここでは、記録媒体の挿入が完了したこと、あるいは処理をキャンセルすることが分かればいいので、表示方法やユーザからの応答に関してはこの方法に限る必要はない。
【０２３３】
図６４に記録媒体を指定した場合のＸＡＩＴの一例を示す。プロトコル識別子２００３にｍｅｄｉａを指定し、ダウンロード元指定２００５に記録媒体の指定を示す。他の項目については、実施の形態１で説明したものと同じため説明を省略する。なお、本実施の形態で示す記録媒体からのプログラム取得は、ＸＡＩＴ情報からの取得に限らず、他の情報を用いた要求であっても適用することができる。また、図６４で示した項目は、記録媒体からのアプリケーションの取得が識別できるものであれば、図６４の項目及び表現に限る必要はない。
【０２３４】
図６５に本実施の形態の構成要素を示す。図３０及び図３５及び図４５と同じ番号で示したものは、以前に説明したものと同様の機能で実現することができるため、説明を省略する。
【０２３５】
ダウンロード元決定部６１０１は、ダウンロード元決定部４５０１に加え、通知部２９０５へ記録媒体の挿入を促すメッセージの表示を指示し、応答受付部３５０７からユーザの応答を受信する。そして、記録媒体処理部６１１０へ記録媒体からの読み込みを指示し、取得したアプリケーションをストア部４５０４へストアするよう指示する。
【０２３６】
記録媒体処理部６１１０は、ダウンロード元決定部６１０１の指示により、記録媒体からの読み込みを行い、ダウンロード元決定部によって指定されたアプリケーションを取得する。
【０２３７】
次に図６６に記録媒体からのアプリケーション読み込みのフローチャートの一例を示す。ダウンロード元決定部６１０１は、ユーザに記録媒体の挿入の要求するメッセージ表示を通知部２９０５へ指示し、通知部２９０５はこのメッセージを表示する（Ｓ６２０１）。その後、ダウンロード元決定部６１０１は、応答受付部３５０７にユーザの応答を待つよう指示する。この命令を受けた応答受付部３５０７は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部６１０１へ選択されたユーザ応答を通知する（Ｓ６２０２）。ダウンロード元決定部６１０１は、受信したユーザ応答から記録媒体が挿入されたか否かを判断（Ｓ６２０３）し、記録媒体が挿入された場合は、ダウンロード元決定部６１０１は、記録媒体処理部６１１０へアプリケーションの読み込みを指示し、記録媒体処理部６１１０は記録媒体からアプリケーションの読み込みを行う（Ｓ６２０４）。記録媒体処理部６１１０は、取得したアプリケーションをダウンロード元決定部６１０１へ渡し、ダウンロード元決定部６１０１は、ストア部４５０４へアプリケーションのストア要求を指示し、ストア部４５０４はストアをする（Ｓ６２０５）。一方、記録媒体の挿入がキャンセルされた場合は、処理を終了する。
【０２３８】
なお、ここでは、記録媒体からのアプリケーション取得のみを説明したが、ネットワーク接続部４５０１と併用することで、記録媒体から取得したアプリケーションに最新のものが存在しないかを調べることもできる。これは、プロトコル識別子２００３にｍｅｄｉａとＩＰが両方ある場合は、ダウンロード元指定２００５を参照することができる。あるいは、一例として記録媒体内に最新版を保存するサーバ及びディレクトリを指定するファイルをアプリケーションと一緒に保存しておき、記録媒体処理部６１１０により記録媒体から読み込みを行う際に、このファイルを参照し、ネットワーク接続部４５０９を通し最新のアプリケーションの存在を調べることで実現できすることもできる。その結果最新のものがあった場合は、ネットワーク接続部からアプリケーションをダウンロードするという手法も想定される。
【０２３９】
また、実施の形態８では、ネットワーク及びＤＳＭＣＣからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明したが、例えば記録媒体からのアプリケーション取得も可能である場合、記録媒体からの転送速度を考慮して、ネットワークからのダウンロード、ＤＳＭＣＣからのダウンロード、および記録媒体からのアプリケーション取得の中で最速でダウンロードできるところからダウンロードを行っても構わない。
【０２４０】
なお、実施の形態１〜９を通して、以下の応用が可能である。
【０２４１】
アプリケーションのダウンロード時のメッセージ通知とダウンロード経路について説明したが、これらの場合においてダウンロード元を決定し、ダウンロード途中でエラーを検出した際に、別のダウンロード元指定２００５を指定することで処理を繰り返す方針にしてもよいし、ダウンロード元指定２００５全て処理してもダウンロードが完了できなかった場合は、プロトコル指定２００３のもう一方の方法で挑戦してもよい。この時、これまで説明した実施の形態を利用することができる。
【０２４２】
また、Ｊａｖａ（登録商標）プログラムはＪａｖａ（登録商標）で記述された部分と、ＣＰＵが直接実行できるバイナリ形式の部分の混合でもよいし、ＣＰＵが直接実行できるバイナリ形式のみで構成されていても実施可能である。
【０２４３】
また、登録されたＪａｖａ（登録商標）プログラムを２次記憶部５１０に保存していたが、１次記憶部５１１に保存することも実施可能である。１次記憶部５１１に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。また、ネットワークに関しては、有線で実現されても無線で実現されてもよい。
【０２４４】
また、本発明はパーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
【０２４５】
また、ＰＯＤ５０４は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、ＰＯＤ５０４のＣＰＵ７０６を取り外し、ＣＰＵ５１４がＣＰＵ７０６の動作も行うことも実施可能である。
【０２４６】
ＰＯＤ  Ｌｉｂ１２０５ｅに登録されるＪａｖａ（登録商標）プログラムは、ダウンロードされたＪａｖａ（登録商標）プログラムだけでなく、予め内蔵されているＪａｖａ（登録商標）プログラムでも実施可能である。また、ＳＤメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからＪａｖａ（登録商標）プログラムを取り込むことも可能である。
【０２４７】
（実施の形態１０）
上述の実施の形態ではダウンロードするアプリケーションとしてデジタルテレビなどの端末装置で動作するアプリケーションプログラムを例に説明をしたが、これに限定されるものではなく端末装置内に予め記録されているプラットフォームを構成するプログラムもアプリケーションプログラムに含まれるものである。つまりプラットフォームを構成するプログラムもダウンロードの対象となる。
【０２４８】
ここでプラットフォームとは、放送受信装置に組み込まれたソフトウェアで、機能追加や不具体の修正などのために、後から変更できるソフトウェアとする。
【０２４９】
本実施の形態ではプラットフォームをダウンロードする例について説明をする。
【０２５０】
図６７は本実施の形態のダウンロード実行装置の一例を説明するための図である。
【０２５１】
図６７において６７０１はプラットフォームに対応するプログラムデータ（以後ファームウェアと称す）をダウンロードするためのダウンロードモジュール（Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ）である。
【０２５２】
本実施の形態で示すＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１の処理動作の一例をフローチャート図６８に示す。Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１は、例えば図３のＩｎ−ＢａｎｄまたはＯＯＢ、あるいはネットワークなど他の伝送方式によって伝送される例えば図６９に示すようなファームウェア更新情報（詳細は後述）が伝送されているか否かモニタリングを行い、ファームウェア更新情報が伝送されている場合は、そのファームウェア更新情報を取得する（Ｓ６８０１）。
【０２５３】
図６９はファームウェア更新情報の一例である。
【０２５４】
これらの情報は具体的には、ＡＮＳＩ／ＳＣＴＥ  ２８  ２００４  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｔａｎｄａｒｄにより詳細な記載がなされている。
【０２５５】
図６９において、ベンダーＩＤ６９０１は、ベンダー毎に割り当てが決まっており、ベンダーを一意に特定できる値を保持する。一例として、Ｏｒｇａｎｉｚａｔｉｏｎａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ（ＯＵＩ）がＩＥＥＥによってホストデバイスベンダーへ割り当てた値などがある。また、ハードウェアバージョン６９０２は、ベンダーＩＤによって示されたベンダーにおいて、ハードウェアの各タイプへ割り当てられたハードウェアを一意に特定する識別子を保持する。また、タイミング情報６９０３は、ダウンロードを実行するタイミングを示す情報を保持する。一例として、直ちにダウンロード（００）、延期されたダウンロード（０１）、例外なく直ちにダウンロード（０２）などのように、ダウンロードのタイミングを数値として記述することを記述できる。また、取得経路６９０４は、ベンダーＩＤ６９０１やハードウェアバージョン６９０２によって識別されたファームウェアがダウンロードできる経路を保持する。例えば、「放送波」は図３のＩｎ−ＢａｎｄやＯＯＢなどがあり、「ネットワーク」は、Ｄａｔａ−Ｏｖｅｒ−Ｃａｂｌｅ−Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＤＯＣＳＩＳ）などがある。ＤＯＣＳＩＳの詳細はＣＭ−ＳＰ−ｅＤＯＣＳＩＳ−Ｉ１６−０５０８１２を参照されたい。また、ストリーム特定情報６９０５は、取得経路６９０４で記載された経路内で更に伝送ストリームなどを特定する識別子を保持する。伝送ストリームの特定する識別子の一例として、「番組（＝サービス）」や「周波数とプログラムナンバー」や「周波数とパケットＩＤ」などがある。
【０２５６】
再び図６８に戻り説明をする。（Ｓ６８０１）にて、例えば図６９に示すようなファームウェア更新情報を取得した後、受信したファームウェア更新情報のベンダーＩＤ６９０１及びハードウェアバージョン６９０２と放送受信装置が保持するベンダーＩＤやハードウェアバージョンを比較する（Ｓ６８０２）。このとき、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれている場合は、プラットフォームの更新に不要なプログラム（例えば、ＥＰＧ１２０２、ＶＭ１２０３、サービスマネージャ１２０４、ライブラリ１２０５の中の一部の機能（ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、ＣＡ１２０５ｄなど））の実行を一旦停止する（Ｓ６８０３）。また、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれていない場合は、（Ｓ６８０１）に戻り、再びファームウェア更新情報の取得を待つ。
【０２５７】
（Ｓ６８０３）にてプラットフォームの更新に不要なプログラムの実行を一旦停止した後、Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１はファームウェア更新のタイミング情報６９０３、取得経路６９０４及びストリーム特定情報６９０５を用いてファームウェアのダウンロード元を決定し、ファームウェアをダウンロードし記憶領域へ保存する（Ｓ６８０４）。
【０２５８】
なお、記憶領域の一例として、１次記憶部５１１、２次記憶部５１０等がある。
【０２５９】
（Ｓ６８０４）におけるより詳細なフローチャートは例えば図３１、図３２に示すフローチャートに相当する。またＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅの具体的な構成は図３０に示すブロック図に相当する。但しこのフローチャートはＡＭの動作を示すフローチャート、ブロック図はＡＭの具体的な構成を示すブロック図であるのでこれをＤｏｗｎｌｏａｄ  Ｍｏｄｕｌｅ６７０１として置き換えて読めばよい。このとき図３１、３２に対応する説明をしている文章において「ＸＡＩＴ情報」とあるのを「ファームウェア更新情報」に置き換えて読めば良い。また、「プロトコル識別子」とあるのを、「取得経路」に置き換え、プロトコル識別子の「ＯＣ」を「放送波」として読み、「ＩＰ」を「ネットワーク」に置き換えて読めばよい。なお、「ネットワーク」の伝送方法の一例として、ＩＰパケットやＵＤＰパケットなどの通信プロトコルにＤＳＭＣＣ方式のセクション情報などを内包し伝送してもよい。また、「ダウンロード元指定」を「ストリーム特定情報」と置き換えて読めばよい。「ストリーム特定情報」の一例として、ソースＩＤを指定してもよいし、周波数とプログラムナンバーの組や周波数とパケットＩＤの組でもよい。
【０２６０】
同様な置き換えはフローチャートのついては図３８、３９、４０、４４、４６、４７、４９、５０、５１、５３、５４、５５、５７、５８、５９、６１、６２、６６、ブロック図については図３５、４１、４５、５２、５６、６０、６５およびこれらの図面に対応する説明についても可能である。
【０２６１】
また、タイミング情報６９０３に保持されている情報が、直ちにダウンロード（００）や、例外なく直ちにダウンロード（０２）するような情報であって、かつチューナを用いてダウンロードする場合、チューナが全て使用中である場合には、ダウンロード実行をしないというように構成すれば、ユーザの視聴を妨げることが無くなる。
【産業上の利用可能性】
【０２６２】
本発明に係るダウンロード実行装置は、特に、デジタルテレビにおけるアプリケーションのダウンロード技術として有用である。また、デジタルテレビに限らず、例えばパーソナルコンピュータや携帯電話などソフトウェアによって制御される情報機器におけるダウンロード元決定及びメッセージ通知の用途にも応用できる。
【図面の簡単な説明】
【０２６３】
【図１】図１は、従来におけるプログラムのダウンロードの処理を示すフローチャートである。
【図２】図２は、本発明に係るケーブルテレビシステムの実施の形態１の構成図である。
【図３】図３は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図４】図４は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図５】図５は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。
【図６】図６は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。
【図７】図７は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。
【図８】図８は、本発明に係るＰＯＤのハードウェア構成の構成図である。
【図９】図９は、本発明に係るＰＯＤが保存するプログラム構成の構成図である。
【図１０】図１０は、ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１１】図１１は、ＭＰＥＧ２トランスポートストリームの一例を示す図である。
【図１２】図１２は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
【図１３】図１３は、本発明に係る端末装置が保存するプログラム構成の構成図である。
【図１４】図１４（ａ）、（ｂ）は、本発明に係るディスプレイの表示の一例を示す図である。
【図１５】図１５は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図１６】図１６（ａ）、（ｂ）、（ｃ）は、本発明に係る１次記憶部が保存する情報の一例を示す図である。
【図１７】図１７は、本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図１８】図１８は、本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図１９】図１９は、本発明に係るＯＣＡＰ仕様が規定するＡＩＴの内容を表す模式図である。
【図２０】図２０は、本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２１】図２１は、本発明に係るＸＡＩＴの内容を表す模式図である。
【図２２】図２２は、本発明に係るＤＳＭＣＣ方式で伝送されるファイルシステムとネットワーク方式におけるダウンロードを提供するサーバ内のファイルシステムを表す模式図である。
【図２３】図２３は、本発明に係る２次記憶部が保存する情報の一例を示す図である。
【図２４】図２４は、本発明に係るＸＡＩＴ情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。
【図２５】図２５は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例の一部であり、ストアを行う処理部分を示すフローチャートである。
【図２６】図２６は、実施の形態１において、ＡＭが、ＸＡＩＴ情報を受け取った時点から、ＶＭへのアプリケーション起動指示を行うまでの動作の一例の一部であり、アプリケーションの起動部分を示すフローチャートである。
【図２７】図２７は、実施の形態１において、ＡＭのアプリケーションの起動ＡＰＩの呼び出しによってアプリケーションの起動指示を行うまでの動作の一例を示すフローチャートである。
【図２８】図２８（ａ）、（ｂ）は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図２９】図２９（ａ）、（ｂ）は、実施の形態１において、ＸＡＩＴ情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。
【図３０】図３０は、実施の形態１において、ＡＭの構成を示す図である。
【図３１】図３１は、実施の形態１において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３２】図３２は、実施の形態１において、図３１の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３３】図３３は、実施の形態１において、通知部によるユーザへのアプリケーションのダウンロード通知に伴い、ダイアログ表示プログラムが、ディスプレイ５０９に表示するダウンロード通知の一例を示す図である。
【図３４】図３４は、実施の形態１において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３５】図３５は、実施の形態２において、ＡＭの構成を示す図である。
【図３６】図３６は、実施の形態２において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３７】図３７は、実施の形態２において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図３８】図３８は、実施の形態２において、図３１の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図３９】図３９は、実施の形態２において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４０】図４０は、実施の形態２において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４１】図４１は、実施の形態３において、ＡＭの構成を示す図である。
【図４２】図４２は、実施の形態３において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４３】図４３は、実施の形態３において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４４】図４４は、実施の形態３において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４５】図４５は、実施の形態４において、ＡＭの構成を示す図である。
【図４６】図４６は、実施の形態４において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４７】図４７は、実施の形態４において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図４８】図４８は、実施の形態５において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図４９】図４９は、実施の形態５において、図３９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５０】図５０は、実施の形態５において、図４９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５１】図５１は、実施の形態５において、図４９の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５２】図５２は、実施の形態６において、ＡＭの構成を示す図である。
【図５３】図５３は、実施の形態６において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５４】図５４は、実施の形態６において、図５３の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５５】図５５は、実施の形態６において、図５３の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５６】図５６は、実施の形態７において、ＡＭの構成を示す図である。
【図５７】図５７は、実施の形態７において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５８】図５８は、実施の形態７において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図５９】図５９は、実施の形態７において、図５８の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６０】図６０は、実施の形態８において、ＡＭの構成を示す図である。
【図６１】図６１は、実施の形態８において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６２】図６２は、実施の形態８において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６３】図６３は、実施の形態９において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。
【図６４】図６４は、実施の形態９における、プロトコル識別子にディスク指定を行ったＸＡＩＴの内容を表す模式図である。
【図６５】図６５は、実施の形態９において、ＡＭの構成を示す図である。
【図６６】図６６は、実施の形態９において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。
【図６７】図６７は、実施の形態１０のダウンロード実行装置の一例を説明するための図である。
【図６８】図６８は、実施の形態１０における、Ｄｏｗｎｌｏａｄ  Ｍｏｄｕｌｅの処理動作の一例を示すフローチャートである。
【図６９】図６９は、実施の形態１０における、ファームウェア更新情報の一例を示す図である。
【符号の説明】
【０２６４】
１２０５ｂ  ＡＭ
２９０１    ダウンロード元決定部
２９０２    チューニング周波数取得部
２９０３    ダウンロード周波数取得部
２９０４    ストア部
２９０５    通知部
２９０６    チューニング要求部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006080361.tif 000071
【図２】
2006080361.tif 000072
【図３】
2006080361.tif 000073
【図４】
2006080361.tif 000074
【図５】
2006080361.tif 000075
【図６】
2006080361.tif 000076
【図７】
2006080361.tif 000077
【図８】
2006080361.tif 000078
【図９】
2006080361.tif 000079
【図１０】
2006080361.tif 000080
【図１１】
2006080361.tif 000081
【図１２】
2006080361.tif 000082
【図１３】
2006080361.tif 000083
【図１４】
2006080361.tif 000084
【図１５】
2006080361.tif 000085
【図１６】
2006080361.tif 000086
【図１７】
2006080361.tif 000087
【図１８】
2006080361.tif 000088
【図１９】
2006080361.tif 000089
【図２０】
2006080361.tif 000090
【図２１】
2006080361.tif 000091
【図２２】
2006080361.tif 000092
【図２３】
2006080361.tif 000093
【図２４】
2006080361.tif 000094
【図２５】
2006080361.tif 000095
【図２６】
2006080361.tif 000096
【図２７】
2006080361.tif 000097
【図２８】
2006080361.tif 000098
【図２９】
2006080361.tif 000099
【図３０】
2006080361.tif 000100
【図３１】
2006080361.tif 000101
【図３２】
2006080361.tif 000102
【図３３】
2006080361.tif 000103
【図３４】
2006080361.tif 000104
【図３５】
2006080361.tif 000105
【図３６】
2006080361.tif 000106
【図３７】
2006080361.tif 000107
【図３８】
2006080361.tif 000108
【図３９】
2006080361.tif 000109
【図４０】
2006080361.tif 000110
【図４１】
2006080361.tif 000111
【図４２】
2006080361.tif 000112
【図４３】
2006080361.tif 000113
【図４４】
2006080361.tif 000114
【図４５】
2006080361.tif 000115
【図４６】
2006080361.tif 000116
【図４７】
2006080361.tif 000117
【図４８】
2006080361.tif 000118
【図４９】
2006080361.tif 000119
【図５０】
2006080361.tif 000120
【図５１】
2006080361.tif 000121
【図５２】
2006080361.tif 000122
【図５３】
2006080361.tif 000123
【図５４】
2006080361.tif 000124
【図５５】
2006080361.tif 000125
【図５６】
2006080361.tif 000126
【図５７】
2006080361.tif 000127
【図５８】
2006080361.tif 000128
【図５９】
2006080361.tif 000129
【図６０】
2006080361.tif 000130
【図６１】
2006080361.tif 000131
【図６２】
2006080361.tif 000132
【図６３】
2006080361.tif 000133
【図６４】
2006080361.tif 000134
【図６５】
2006080361.tif 000135
【図６６】
2006080361.tif 000136
【図６７】
2006080361.tif 000137
【図６８】
2006080361.tif 000138
【図６９】
2006080361.tif 000139
【国際調査報告】
2006080361.tif 000140
2006080361.tif 000141
2006080361.tif 000142
2006080361.tif 000143