明 細 書
放送受信装置、映像蓄積装置およびマルチメディア配信システム 技術分野
[0001] 本発明は、ケーブルテレビなどで提供されるデジタル放送、 VoD (Video On De mand)サービスの、ホームネットワークに接続された機器での利用に関するものであ る。
背景技術
[0002] 近年、 BSデジタル放送、 CS 110度デジタル放送および地上波デジタル放送など のデジタル放送が開始された。また、 HDDレコーダ、 DVD (Digital Versatile Di sc)レコーダなどの普及が進んでいる。これらにより、家庭内で利用できる、デジタル 化されたマルチメディアコンテンツが増加している。
[0003] 一方で、ブロードバンド環境の整備により、家庭力 のインターネットアクセスが普及 している。それに伴い、家庭内の各部屋を IPネットワークで繋ぐ、いわゆるホームネッ トワークの普及も進んで 、る。
[0004] デジタルコンテンツとホームネットワークの普及により、家庭内のデジタル放送受信 機で受信したデジタル放送、もしくは、レコーダに蓄積したデジタルコンテンツを、ホ ームネットワークを用いて、他の部屋で視聴することが行われるようになった。
[0005] また、ケーブルテレビなどでは、利用者の要求により、映画など特定のコンテンツを いつでも視聴できる VoDサービスが行われている。 VoDサービスは、利用者が、受 信端末である STB (Set Top Box)を操作して、 VoDサービスで提供されているコ ンテンッを選択し、ケーブル局へ要求することで、そのデータが送信されるものである 。近年は、 VoDサービスで提供されるコンテンツも、上記と同様のデジタルコンテンツ となっている。そこで、 VoDサービスも、ホームネットワークにつながった複数の端末 機器から利用するといつたニーズが出てくるようになった。
[0006] ケーブルテレビにおける VoDサービスにお!/、ては、放送と別にマルチメディアデー タを通信する必要があり、局設備と各家庭との間では、そのための通信帯域が必要と なる。
[0007] また、局設備側では、大量の要求が同時間に起こる可能性があり、その処理負荷 に耐えうる設備が必要となる。
[0008] これらに対応するため、従来では、局の送信装置や各家庭に 1台設置された記憶 装置によって、 VoDサービスで提供されるマルチメディアデータを一時蓄積する、い わゆるデータのキャッシュが行われており、その蓄積されたマルチメディアデータを利 用することで、帯域消費や処理負荷の低減を行っている (例えば、特許文献 1を参照
) o
[0009] また、ケーブルテレビや衛星放送などでは、 、わゆる-ァ VoDと呼ばれる放送が行 われている。これは、同じ映画などの番組を、時間をずらせて何度か放送するもので 、利用者が都合の良い時間に視聴できるようになっており、 VoDに近いサービスが行 われることから、ニァ VoDと呼ばれている。
[0010] デジタル放送で用いられるマルチメディアデータは、 MPEG2—TS (Motion Pic ture Expert Gruoup Phase2 Transport Stream)と呼ばれる符号ィ匕された データである。ひとつの MPEG2—TSストリームは、同時に複数の番組を格納するこ とができる。放送受信機は、ひとつの MPEG2—TSストリームから、ひとつの番組に 関するデータを抽出し、再生を行う形式となっている。デジタル放送では、さらに周波 数でわけた複数の MPEG2— TSストリームを送信している。そして、放送受信機のチ ユーナは、周波数を合わせることによって、ひとつの MPEG2— TSストリームを抽出 し、その中から所定の番組を抜き出して再生する構成である。
[0011] ホームネットワークを用いて、複数の放送受信機により同時に視聴が可能となった 力 一般に安価な放送受信機はチューナを備えておらず、ユーザは、チューナを備 えた放送受信機が受信したマルチメディアデータを、ネットワーク経由で取得して視 聴する形態をとる。この時、同時に複数の端末力も別の番組を視聴しょうとした場合、 それらの番組が別の MPEG2— TSストリームに入っている場合は、ひとつのチュー ナでは受信できない。そのため、ユア VoDであっても、ユーザが都合の良い時間に 視聴できないといったことが起こる。これを回避するために、従来は、端末数と同数の チューナを用意することが一般的な対策である。
[0012] また、上述のように、ケーブルテレビにおける VoDサービスにおいては、放送と別に
マルチメディアデータを通信する必要があり、局設備と各家庭との間での通信帯域低 減のため、放送受信機に記憶装置を備えて、 VoDサービスで提供されるマルチメデ ィァデータを一時蓄積する、いわゆるデータのキャッシュが行われている。ユア VoD サービスにおいて、それを利用することも、対策としては考えられる(例えば、特許文 献 1を参照)。
特許文献 1:特表 2002— 540684号公報
発明の開示
発明が解決しょうとする課題
[0013] し力しながら、上記従来の技術では、マルチメディアデータおよびそのデータの供 給処理が 1台の装置に集中するため、その装置に掛カるコストが増大するという課題 がある。
[0014] まず、 VoDサービスにおいて、局もしくは 1台設置された記憶装置によって、マルチ メディアデータのキャッシュを行っている力 ホームネットワークの普及により、各家庭 で、同時に複数の VoDサービスが行われる環境になると、多種類のコンテンツが同 時に要求される。
[0015] この場合、局設備と家庭の間の通信帯域消費の低減のためには、各家庭内で多数 のデータをキャッシュする大容量の記憶装置が必要となり、コストが増大する。また、 家庭内のキャッシュ装置力 ホームネットワークにおいてはサーバとして機能するため 、サーバとして同時に複数の端末にデータを供給するために高性能の装置が必要と なり、コストが増大する。
[0016] 次に、ユア VoDサービスにおいて、まず、チューナを端末と同じ数だけ用意するこ とは、コストを増大させることになる。
[0017] また、ホームネットワークの普及により、各家庭で、同時に複数の番組視聴が行わ れる環境になると、多種類のコンテンツが同時に要求される。この場合、放送受信機 に設置された記憶装置によって、マルチメディアデータのキャッシュを行う従来の技 術では、 VoDサービスの場合と同様に、家庭内で多数の番組をキャッシュする大容 量の記憶装置が必要となり、コストが増大する。また、家庭内のキャッシュ装置が、ホ ームネットワークにおいてはサーバとして機能するため、サーバとして同時に複数の
端末にデータを供給するために高性能の装置が必要となり、コストが増大する。
[0018] 本発明は、上記従来の課題を解決するもので、ホームネットワークに接続された複 数の映像蓄積装置を用いて、適切にキャッシュを分散させることで、局設備と家庭間 の通信帯域消費や各装置の負荷を低減することが可能な、放送受信装置、映像蓄 積装置もしくはマルチメディア配信システムを提供することを目的とする。
課題を解決するための手段
[0019] 上記の課題を解決するために、本発明の放送受信装置は、放送局に設置された装 置から映像および音声の少なくとも一方を含むマルチメディアデータを受信する、ネ ットワークに接続された放送受信装置であって、前記放送局に設置された装置からマ ルチメディアデータを受信するデータ受信手段と、マルチメディアデータを蓄積して いる複数の映像蓄積装置と、前記ネットワークを介して通信する情報通信手段と、前 記複数の映像蓄積装置のうち、ひとつを選択する選択手段と、前記データ受信手段 が受信したマルチメディアデータを、前記ネットワークを介して出力するデータ出力手 段とを備え、前記情報通信手段は、前記選択手段が選択した映像蓄積装置へマル チメディアデータの蓄積要求を送信し、前記データ出力手段は、前記データ受信手 段が受信したマルチメディアデータを、前記選択手段が選択した映像蓄積装置へ出 力する。
[0020] 本構成によれば、放送局に設置された装置カゝらマルチメディアデータを受信したと きに、それをキャッシュする映像蓄積装置を選択することにより、キャッシュを分散させ ることが可能である。
[0021] 好ましくは、前記選択手段は、前記マルチメディアデータの属性をもとに、映像蓄積 装置を選択する。マルチメディアデータの属性は、例えば、マルチメディアデータの 内容のジャンルである。また、マルチメディアデータの属性は、マルチメディアデータ のデータ量、マルチメディアデータの放送時間であってもよ 、。
[0022] 本構成によれば、このようなマルチメディアデータの属性によってキャッシュを分散 させることにより、より適切な条件で、分散させることが可能となる。また好ましくは、前 記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性を受 信し、前記選択手段は、前記情報通信手段が受信した映像蓄積装置の属性をもとに
、映像蓄積装置を選択する。映像蓄積装置の属性は、例えば、映像蓄積装置が利 用される頻度を示す利用頻度情報である。また、映像蓄積装置の属性は、映像蓄積 装置に関連付けられているジャンル、または、映像蓄積装置に備えられている蓄積 媒体の空き容量などでもよ 、。
[0023] 本構成によれば、例えば、各映像蓄積装置に均等にキャッシュさせるといったこと が可能となり、より適切な条件で、分散することが可能となる。さらに好ましくは、前記 情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性を受信 し、前記選択手段は、前記マルチメディアデータの属性および前記情報通信手段が 受信した映像蓄積装置の属性をもとに、映像蓄積装置の選択を行う。マルチメディア データの属性および映像蓄積装置の属性とは、例えば、マルチメディアデータの内 容のジャンルおよび各映像蓄積装置のジャンル毎の頻度を示す利用頻度情報であ る。
[0024] 本構成によれば、例えば、あるマルチメディアデータが映画であれば、映画の利用 頻度が高い映像記憶装置にキャッシュさせるなどといった制御を行うことが可能となり 、利用時の負荷分散、ネットワークの帯域消費も考慮した、キャッシュの分散を行うこ とが可能となる。
[0025] さらに好ましくは、さらに、マルチメディアデータを蓄積する蓄積手段と、前記蓄積 手段にデータを書き込む書込手段とを備え、前記選択手段は、前記蓄積手段と前記 ネットワークに接続された複数の映像蓄積装置のうち、ひとつを選択し、前記書込手 段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメディアデータ を前記蓄積手段に書き込む。
[0026] 本構成によれば、放送受信装置を含めた、キャッシュの分散が可能となる。
[0027] さらに好ましくは、さらに、 Javaアプリケーションを実行する Java実行手段を備え、前 言 gjava (登録商標)実行手段は、マルチメディアデータの識別子を出力し、前記デー タ受信手段は、前記マルチメディアデータの識別子を受け付け、受け付けた該識別 子が示すマルチメディアデータを受信し、前記選択手段は、前記マルチメディアデー タの識別子を受け付けると、映像蓄積装置を選択する。
[0028] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置において、放送局
力もマルチメディアデータを受信したときに、それをキャッシュする映像蓄積装置を選 択することにより、キャッシュを分散させることが可能となる。また、選択手段は、ジヤン ル、データ量および放送時間などの少なくとも 1つを含む、受信したマルチメディアデ ータの属性に基づいて、キャッシュさせる映像蓄積装置を選択する構成であっても良 い。
[0029] さらに好ましくは、前記選択手段は、前記マルチメディアデータの属性をもとに、映 像蓄積装置を選択する。マルチメディアデータの属性は、例えば、マルチメディアデ ータの内容のジャンル、マルチメディアデータのデータ量、マルチメディアデータの 放送時間などの少なくとも 1つを含む。
[0030] 本構成によれば、このようなマルチメディアデータの属性によってキャッシュを分散 させることにより、より適切な条件で、分散させることが可能となる。
[0031] 本構成によれば、 Javaアプリケーションが要求を発行することで、マルチメディアデ ータの種類などによってキャッシュを分散させることにより、より適切な条件で、分散さ せることが可能となる。
[0032] さらに好ましくは、前記情報通信手段は、さらに、前記ネットワークに接続された映 像蓄積装置の属性を受信し、前記選択手段は、前記情報通信手段が受信した映像 蓄積装置の属性をもとに、映像蓄積装置を選択する。映像蓄積装置の属性は、例え ば、映像蓄積装置が利用される頻度を示す利用頻度情報である。また、映像蓄積装 置の属性は、映像蓄積装置に関連付けられて ヽるジャンルでもよ 、。
[0033] 本構成によれば、例えば、各映像蓄積装置に均等にキャッシュさせるといったこと が可能となり、より適切な条件で、分散することが可能となる。
[0034] さらに好ましくは、前記情報通信手段は、さらに、前記ネットワークに接続された映 像蓄積装置の属性を受信し、前記選択手段は、前記マルチメディアデータの属性お よび前記情報通信手段が受信した映像蓄積装置の属性をもとに、映像蓄積装置を 選択する。
[0035] 本構成によれば、例えば、あるマルチメディアデータが映画であれば、映画の利用 頻度が高い映像記憶装置にキャッシュさせるなどといった制御を行うことが可能となり 、利用時の負荷分散、ネットワークの帯域消費も考慮した、キャッシュの分散を行うこ
とが可能となる。
[0036] さらに好ましくは、さらに、マルチメディアデータを蓄積する蓄積手段と、前記蓄積 手段にデータを書き込む書込手段とを備え、前記選択手段は、前記蓄積手段と前記 ネットワークに接続された複数の映像蓄積装置とのうち、ひとつを選択し、前記書込 手段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメディアデー タを前記蓄積手段に書き込む。
[0037] 本構成によれば、放送受信装置を含めた、キャッシュの分散が可能となる。
[0038] また、上記の課題を解決するために、本発明の映像蓄積装置は、放送局から映像 および音声の少なくとも一方を含むマルチメディアデータを受信する放送受信装置と ネットワークを介して接続され、マルチメディアデータを蓄積する映像蓄積装置であつ て、 Javaアプリケーションを実行する Java実行手段と、マルチメディアデータを蓄積す る蓄積手段と、前記ネットワークを介して接続されたサーバと通信する情報通信手段 と、前記ネットワークを介して前記放送受信装置力 マルチメディアデータを受信する データ受信手段と、前記ネットワークを介して他の映像蓄積装置にマルチメディアデ ータを送信するデータ送信手段とを備え、前記情報通信手段は、前記サーバから属 性の問合せを受け付けた場合に、前 ejava実行手段から前記映像蓄積装置自身の 属性を示す属性情報を取得し、取得した該属性情報を前記サーバへ送信し、前記 データ受信手段は、前記情報通信手段が前記サーバから蓄積要求を受信し、前記 放送受信装置からマルチメディアデータを受信した場合に、受信した該マルチメディ ァデータを前記蓄積手段に蓄積し、前記データ送信手段は、前記サーバから前記 蓄積手段に蓄積されているマルチメディアデータの送信要求と送信先となる前記他 の映像蓄積装置を示す情報とを受信した場合に、該マルチメディアデータを、該情 報に示される前記他の映像蓄積装置へ送信する。
[0039] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置にぉ 、て、放送受 信装置の要求によりマルチメディアデータをキャッシュし、また、キャッシュしたマルチ メディアデータの利用時に、該マルチメディアデータを適切に送信することが可能と なる。
[0040] 好ましくは、さらに、マルチメディアデータの送信要求を受信した場合に、該マルチ
メディアデータの利用に伴う権利処理を行う権利処理手段を備える。
[0041] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0042] また、上記の課題を解決するために、本発明の映像蓄積装置は、 VoD (Video O n Demand)サービスを提供する放送局に設置された装置から映像および音声の 少なくとも一方を含むマルチメディアデータを受信する、ネットワークに接続された受 信端末であって、前記放送局に設置された装置に、マルチメディアデータ送信要求 を送信する要求送信手段と、マルチメディアデータを蓄積して!/ヽる映像蓄積装置と、 前記ネットワークを介して通信する情報通信手段とを備え、前記情報通信手段は、ュ 一ザ操作による VoDの要求を受けた場合に、前記映像蓄積装置と前記ネットワーク を介して通信することにより、前記 VoDの要求に係るマルチメディアデータが蓄積さ れて!、る力否かを示す情報を取得し、蓄積されて!、ることを示す情報を取得した場合 に、該情報を送信した映像蓄積装置に、前記 VoDの要求に係るマルチメディアデー タの送信要求を送信し、前記要求送信手段は、蓄積されていないことを示す情報を 取得した場合に、前記放送局に設置された装置に、前記 VoDの要求に係るマルチメ ディアデータの送信要求を送信する。
[0043] 本構成によれば、 VoDサービス利用時に、ネットワークに接続された映像蓄積装置 にキャッシュされたデータを有効に利用し、また、不要な放送局との通信による帯域 消費を無くすことが可能となる。
[0044] さらに好ましくは、さらに、前記映像蓄積装置に蓄積されているマルチメディアデー タの送信要求を送信する場合に、該マルチメディアデータの利用に伴う権利処理を 行う権利処理手段を備える。
[0045] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0046] 好ましくは、さらに、 Javaアプリケーションを実行する Java実行手段と、前記放送局 に設置された装置に、マルチメディアデータ送信要求を送信する要求送信手段と、 マルチメディアデータを蓄積して 、る映像蓄積装置と、前記ネットワークを介して通信 する情報通信手段と、前記情報通信手段は、 Java実行手段がコンテンツの識別子を
受け付けた場合に、前記映像蓄積装置と前記ネットワークを介して通信することによ り、前記 VoDの要求に係るマルチメディアデータが蓄積されているカゝ否かを示す情 報を取得する。
[0047] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置にぉ 、て、 VoDサ 一ビス利用時に、ネットワークに接続された映像蓄積装置にキャッシュされたデータ を有効に利用し、また、不要な放送局との通信による帯域消費を無くすことが可能と なる。
[0048] さらに好ましくは、さらに、前記映像蓄積装置に蓄積されているマルチメディアデー タの送信要求を送信する場合に、該マルチメディアデータの利用に伴う権利処理を 行う権利処理手段を備える。
[0049] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0050] なお、本発明は、このような特徴的な手段を備える放送受信装置、映像蓄積装置、 および、受信端末として実現することができるだけでなぐ放送受信装置、映像蓄積 装置、および、受信端末のそれぞれに含まれる特徴的な手段をステップとする方法と して実現したり、放送受信装置、映像蓄積装置、および、受信端末のそれぞれに含 まれる特徴的な手段としてコンピュータを機能させるプログラムとして実現したりするこ ともできる。そして、そのようなプログラムは、 CD-ROM (Compact Disc -Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通 させることがでさる。
[0051] また、本発明は、このような特徴的な手段を備える放送受信装置、映像蓄積装置、 および、受信端末の!/、ずれかを組み合わせた複数の装置を備えるマルチメディア配 信システムとして実現することもできる。
発明の効果
[0052] 以上述べたように、本発明の放送受信装置、映像蓄積装置もしくはマルチメディア 配信システムによれば、 VoDサービス、ユア VoDサービスなどで提供されるマルチメ ディアデータを、家庭内の複数の記憶手段に、最適に分散させることによって、多く のマルチメディアデータをキャッシュすることが可能となり、ホームネットワークにおい
て、同時に複数端末力もの VoD要求があっても、局設備と家庭の間の通信帯域を余 計に消費することなく対応することが可能となる。また、キャッシュされたデータであつ ても、課金など、適切に権利処理を行うことが可能となる。
図面の簡単な説明
[図 1]図 1は、本発明の実施の形態 1におけるマルチメディア配信システムの構成図 である。
[図 2]図 2は、本発明の実施の形態 1における放送受信装置の構成を示すブロック図 である。
[図 3]図 3は、本発明の実施の形態 1における映像蓄積装置および映像蓄積装置の 構成を示すブロック図である。
[図 4]図 4は、本発明の実施の形態 1における放送受信装置の選択部が実行する処 理の一例を示すフローチャートである。
[図 5]図 5は、本発明の実施の形態 1の変形例における放送受信装置の構成を示す ブロック図である。
[図 6]図 6は、本発明の実施の形態 2おける放送受信装置の構成図である。
[図 7]図 7は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
[図 8]図 8は、本発明の実施の形態 2における放送受信装置が保持し、実行するプロ グラムの構成を示す図である。
[図 9]図 9 (a)は、本発明に係る画面表示の第 1の例を示す図である。図 9 (b)は、本 発明に係る画面表示の第 2の例を示す図である。
[図 10]図 10は、本発明の実施の形態 2に係る第 2メモリに格納されている番組情報の 一例を示す図である。
[図 11]図 11は、本発明の実施の形態 2に係る第 2メモリに格納されて ヽるチャンネル 情報の一例を示す図である。
[図 12]図 12 (a)は、本発明の実施の形態 2に係る第 2メモリに格納されているチャン ネルの識別子を示す情報の第 1の例を示す図である。図 12 (b)は、本発明の実施の 形態 2に係る第 2メモリに格納されているチャンネルの識別子を示す情報の第 2の例 を示す図である。図 12 (c)は、本発明の実施の形態 2に係る第 2メモリに格納されて
いるチャンネルの識別子を示す情報の第 3の例を示す図である。
[図 13]図 13は、本発明の実施の形態 2に係る収集した PATの情報の一例を模式的 に示す図である。
[図 14]図 14は、本発明の実施の形態 2に係る収集した PMTの情報の一例を模式的 に示す図である。
[図 15]図 15は、本発明の実施の形態 2に係る収集した AITの情報の一例を模式的 に示す図である。
[図 16]図 16は、本発明の実施の形態 2に係るダウンロードしたファイルシステムの一 例を示す図である。
[図 17]図 17は、本発明の実施の形態 2に係るネットワークライブラリの内部構成の一 例を示すブロック図である。
[図 18]図 18は、本発明の実施の形態 2に係る制御部が提供する Java APIの一例を 示す図である。
[図 19]図 19は、 NetDeviceクラスの構成の一例を示す図である。
[図 20]図 20は、 DevAttribクラスの構成の一例を示す図である。
[図 21]図 21は、本発明の実施の形態 2に係るデータ受信部が提供する Java APIの 一例を示す図である。
[図 22]図 22は、本発明の実施の形態 2に係る情報通信部が提供する Java APIの一 例を示す図である。
[図 23]図 23は、本発明の実施の形態 2に係るネットワークライブラリで使用される MM Requestクラス定義の一例を示す図である。
[図 24]図 24は、本発明の実施の形態 2に係る選択部が提供する Java APIの一例を 示す図である。
[図 25]図 25は、本発明の実施の形態 2に係るデータ出力部が提供する Java APIの 一例を示す図である。
[図 26]図 26は、本発明の実施の形態 2に係る要求送信部が提供する Java APIの一 例を示す図である。
[図 27]図 27は、本発明の実施の形態 2に係る権利処理部 1607が提供する Java A
PIの一例を示す図である。
[図 28]図 28は、本発明の実施の形態 2に係る映像蓄積装置の構成図である。
[図 29]図 29は、本発明の実施の形態 2に係る映像蓄積装置が保持し、実行するプロ グラム構成を示す図である。
[図 30]図 30は、本発明の実施の形態 2に係るネットワークライブラリの内部構成の一 例を示すブロック図である。
[図 31]図 31は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる制御部が提供する Java APIの一例を示す図である。
[図 32]図 32は、本発明の実施の形態 2に係るネットワークライブラリで使用される Con tentlnfoクラス定義の一例を示す図である。
[図 33]図 33は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる制御情報通信部が提供する Java APIの一例を示す図である。
[図 34]図 34は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれるデータ受信部が提供する Java APIの一例を示す図である。
[図 35]図 35は、本発明の実施の形態 2に係るネットワークライブラリで使用される Re moteProgramクラス定義の一例を示す図である。
[図 36]図 36は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれるデータ送信部が提供する Java APIの一例を示す図である。
[図 37]図 37は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる属性管理部が提供する Java APIの一例を示す図である。
圆 38]図 38は、発明の実施の形態 2に係るネットワークライブラリの内部構成に含ま れる権利処理部が提供する Java APIの一例を示す図である。
[図 39]図 39は、本発明の実施の形態 3におけるマルチメディア配信システムの構成 図である。
[図 40]図 40は、本発明の実施の形態 3における放送受信装置の構成を示すブロック 図である。
[図 41]図 41は、本発明の実施の形態 3における映像蓄積装置の構成を示すブロック 図である。
[図 42]図 42は、本発明の実施の形態 3の変形例における放送受信装置の構成を示 すブロック図である。
[図 43]図 43は、本発明の実施の形態 4おける放送受信装置の構成図である。
[図 44]図 44は、本発明の実施の形態 4おける入力部をフロントパネルで構成した場 合の外観の一例を示す図である。
[図 45]図 45は、本発明の実施の形態 4における放送受信装置が保持し、実行するプ ログラム構成を示す図である。
[図 46]図 46 (a)は、本発明の実施の形態 4に係る画面表示の第 1の例を示す図であ る。図 46 (b)は、本発明の実施の形態 4に係る画面表示の第 2の例を示す図である。
[図 47]図 47は、本発明の実施の形態 4に係る第 2メモリに格納されている番組情報の 一例を示す図である。
[図 48]図 48は、本発明の実施の形態 4に係る第 2メモリに格納されているチャンネル 情報の一例を示す図である。
[図 49]図 49 (a)は、本発明の実施の形態 4に係る第 2メモリに格納されているチャン ネルの識別子を示す情報の第 1の例を示す図である。図 49 (b)は、本発明の実施の 形態 4に係る第 2メモリに格納されているチャンネルの識別子を示す情報の第 2の例 を示す図である。図 49 (c)は、本発明の実施の形態 4に係る第 2メモリに格納されて いるチャンネルの識別子を示す情報の第 3の例を示す図である。
[図 50]図 50は、本発明の実施の形態 4に係る収集した PATの情報の一例を模式的 に示す図である。
[図 51]図 51は、本発明の実施の形態 4に係る収集した PMTの情報の一例を模式的 に示す図である。
[図 52]図 52は、本発明の実施の形態 4に係る収集した AITの情報の一例を模式的 に示す図である。
[図 53]図 53は、本発明の実施の形態 4に係るダウンロードしたファイルシステムの一 例を示す図である。
[図 54]図 54は、本発明の実施の形態 4に係るネットワークライブラリの内部構成の一 例を示すブロック図である。
[図 55]図 55は、本発明の実施の形態 4に係る制御部が提供する Java APIの一例を 示す図である。
[図 56]図 56は、本発明の実施の形態 4に係る NetDeviceクラスの構成の一例を示す 図である。
[図 57]図 57は、本発明の実施の形態 4に係る DevAttribクラスの構成の一例を示す 図である。
[図 58]図 58は、本発明の実施の形態 4に係るデータ受信部が提供する Java APIの 一例を示す図である。
[図 59]図 59は、本発明の実施の形態 4に係る情報通信部が提供する Java APIの一 例を示す図である。
[図 60]図 60は、本発明の実施の形態 4に係る MMRequestクラスの構成を示す図で ある。
[図 61]図 61は、本発明の実施の形態 4に係る選択部が提供する Java APIの一例を 示す図である。
[図 62]図 62は、本発明の実施の形態 4に係るデータ出力部が提供する Java APIの 一例を示す図である。
[図 63]図 63は、本発明の実施の形態 4に係る権利処理部が提供する Java APIの一 例を示す図である。
[図 64]図 64は、本発明の実施の形態 4における映像蓄積装置の構成を示すブロック 図である。
[図 65]図 65は、本発明の実施の形態 4における映像蓄積装置が保持し、実行するプ ログラム構成を示す図である。
[図 66]図 66は、本発明の実施の形態 4に係るネットワークライブラリの内部構成の一 例を示す図である。
[図 67]図 67は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる制御部が提供する Java APIの一例を示す図である。
[図 68]図 68は、本発明の実施の形態 4に係るネットワークライブラリで使用される Con tentlnfoクラス定義の一例を示す図である。
[図 69]図 69は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる制御情報通信部が提供する Java APIの一例を示す図である。
[図 70]図 70は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれるデータ受信部が提供する Java APIの一例を示す図である。
[図 71]図 71は、本発明の実施の形態 4に係るネットワークライブラリで使用される Re moteProgramクラス定義の一例を示す図である。
[図 72]図 72は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれるデータ送信部 2803が提供する Java APIの一例を示す図である。
[図 73]図 73は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる属性管理部が提供する Java APIの一例を示す図である。
[図 74]図 74は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる権利処理部が提供する Java APIの一例を示す図である。
符号の説明
101、 3901 マルチメディア配信システム
102、 3902 放送受信装置
103、 104、 3903、 3904 映像蓄積装置
105、 106、 3905、 3906 端末
107、 3907 ネットワーク
108 放送局
109 ケーブル
201、 4001 制御部
202、 305、 4002、 4105 データ受信部
203、 4003 情報通信部
204、 4004 選択部
205、 4005 データ出力部
206 要求送信部
207、 309、 4006、 4109 権禾 IJ処理部
208、 310、 4007、 4110 ネットワークインタフェース
209 ケーブルインタフェース
301、 4101 制御部
302、 402、 4102、 4202 蓄積部
303、 4103 制御情報通信部
304、 4104 属性記憶部
306、 4106 データ送信部
307、 401、 4107、 4201 書込部
308、 403、 4108、 4203 読出部
501、 2701、 4201、 6401 入力部
502、 2702、 4302、 6402 第 1メモリ
503、 2703、 4303、 6403 第 2メモリ
504、 4304, 6404 受信部
505、 2704、 4305、 6405 多重分離部
506、 4306 デスクランブラ
507、 2704、 4307、 6405 TSデコー -ダ
508、 2706、 4308、 6406 映像出力部
509、 2707、 4309、 6407 音声出力部
510、 4310 TSマノレチプレクサ
511、 2708、 4311、 6408 ネットヮーク部
512、 2709、 4312、 6409 CPU
3908
発明を実施するための最良の形態
[0055] 以下本発明の実施の形態について、図面を参照しながら説明する。
[0056] (実施の形態 1)
図 1は、本発明の実施の形態 1におけるマルチメディア配信システムの構成図であ る。図 1に示すマルチメディア配信システム 101は、放送受信装置 102と、第 1の映像 蓄積装置 103と、第 2の映像蓄積装置 104と、第 1の端末 105と、第 2の端末 106と、 ネットワーク 107と、ケーブルテレビの放送局設備 108と、放送局 108と放送受信装
置 102とをつなぐケーブル 109とにより構成される。放送受信装置 102、映像蓄積装 置 103、映像蓄積装置 104、端末 105および端末 106は、ネットワーク 107に接続さ れており、ネットワーク 107を介して相互に通信することが可能である。また、放送受 信装置 102と放送局 108は、ケーブル 109によって接続されており、ケーブル 109を 通じて相互に通信することが可能である。なお、映像蓄積装置および端末は複数含 まれて ヽれば良 ヽものであり、説明を簡易にするためにそれぞれ 2個含まれるとして いる。
[0057] 本実施の形態における放送受信装置 102は、ケーブル 109を通じてマルチメディ ァデータを放送局 108から受信する。また、放送受信装置 102は、 VoDサービスを 利用するものである。このため、ケーブル 109を通じて、 VoDサービスのためのマル チメディアデータの送信要求の送信、該マルチメディアデータを利用するための課金 など権利処理を行う通信、などの制御情報の送受信を行う。なお、これらの制御情報 の通信は、ケーブル 109ではなぐ電話回線など、図示していない他の通信路を利 用して行う構成であつても良い。
[0058] また、放送受信装置 102は、予め放送局 108から VoDサービス用のマルチメディア データを受信する場合に、ネットワーク 107を通じて、映像蓄積装置 103と、映像蓄 積装置 104とに属性の送信要求を送信し、映像蓄積装置 103と、映像蓄積装置 104 とより該属性を受信する。さらに、放送局より受信したマルチメディアデータの属性、 および、映像蓄積装置より受信した映像蓄積装置の属性より、映像蓄積装置 103と 映像蓄積装置 104の 、ずれかを、受信したマルチメディアデータの蓄積先として選 択する。さらに、選択した映像蓄積装置 103もしくは映像蓄積装置 104に、マルチメ ディアデータの蓄積要求を送信し、続いて、該マルチメディアデータを送信する。
[0059] なお、上記、予め行われる、放送局 108から放送受信装置 102への VoDサービス 用マルチメディアデータの送信は、放送局 108からの要求で行われるものであっても 良いし、放送受信装置 102からの要求で行われるものであっても良い。または、特定 の日時に行われるものであっても良いし、特定の時間ごとに行われるものであっても よい。
[0060] また、放送受信装置 102は、端末 105もしくは端末 106から、番組などコンテンツを
指定した VoDサービス利用の要求を受けた場合、映像蓄積装置 103、映像蓄積装 置 104のいずれか、もしくは両方と通信して、該コンテンツのマルチメディアデータが 蓄積されて 、るかどうかを問 、合わせる。
[0061] 映像蓄積装置 103および映像蓄積装置 104のいずれにも蓄積されていない場合 は、放送受信装置 102は、放送局 108へ該マルチメディアデータの送信要求を送り 、必要であれば、課金など適切な権利処理を行った後、該マルチメディアデータをケ 一ブル 109を経由して受信し、ネットワーク 107を介して、 VoDサービスを要求した端 末 105もしくは端末 106へ、該マルチメディアデータを送信する。
[0062] また、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに蓄積されていた 場合は、該マルチメディアデータを蓄積している映像蓄積装置 103もしくは映像蓄積 装置 104に、該マルチメディアデータを、 VoDサービスを要求した端末へ送信するよ うに要求する。この際、必要であれば、該映像蓄積装置と通信して、該マルチメディ ァデータの利用に伴う課金などの権利処理を行い、放送局 108へ通知する。さらに、 放送受信装置 102は、 VoDサービスを要求した端末に、該マルチメディアデータを 蓄積している映像蓄積装置より該マルチメディアデータが送信されることを通知する
[0063] 本実施の形態における映像蓄積装置 103および映像蓄積装置 104は、放送受信 装置 102から属性の送信要求を受信すると、映像蓄積装置の内部に記憶している属 性を放送受信装置 102に送信する。映像蓄積装置の属性とは、 VoDサービス用マ ルチメディアデータを蓄積する蓄積部の空き容量、ユーザ操作により蓄積したマルチ メディアデータのジャンルごとの蓄積頻度、再生されたマルチメディアデータのジヤン ルごとの利用頻度、などといった情報である。
[0064] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、マ ルチメディアデータの蓄積要求を受信すると、該マルチメディアデータを、ネットヮー ク 107を介して、放送受信装置 102より受信し、蓄積部に蓄積する。
[0065] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、特 定コンテンツのマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信する と、蓄積しているコンテンツデータを検索して、結果を返答する。
[0066] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、特 定コンテンツのマルチメディアデータを、ネットワーク 107に接続された特定端末へ送 信する要求を受信すると、該マルチメディアデータを、ネットワーク 107を介して、該 端末へ送信する。送信を開始する際に、必要であれば、放送受信装置 102と通信し 、課金など、該マルチメディアデータの利用に伴う権利処理を行う。
[0067] 本実施の形態における端末 105および端末 106は、ユーザの操作によって、放送 受信装置 102へ VoDサービスの要求を発行し、ネットワーク 107を介して、マルチメ ディアデータを受信して、該マルチメディアデータの再生を行うものである。該マルチ メディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに蓄積 されている場合は、放送受信装置 102から、該蓄積している映像蓄積装置が通知さ れ、該映像蓄積装置より送られてくるマルチメディアデータを、ネットワーク 107を介し て受信する。
[0068] ネットワーク 107は、家庭内に施設されたホームネットワークであり、イーサネット(登 録商標)、無線 LAN、あるいは、同軸ケーブルを媒体に使用する通信技術 c. LINK などによって構成された IPネットワークである。
[0069] 本実施の形態における放送局 108およびケーブル 109は、 VoDサービスを提供す る施設である。
[0070] 以上のように、本発明のマルチメディア配信システム 101、放送受信装置 102、映 像蓄積装置 103、映像蓄積装置 104によれば、 VoDサービスに利用されるマルチメ ディアデータを、映像蓄積装置 103および映像蓄積装置 104に、適切な条件で分散 して蓄積させることが可能であり、端末 105および端末 106から同時に VoDサービス 要求が発行されても、映像蓄積装置 103および映像蓄積装置 104に蓄積されたマ ルチメディアデータを利用することにより、不要な放送局 108へのマルチメディアコン テンッデータ送信要求や、ケーブル 109の通信帯域消費を低減することが可能とな る。
[0071] 以下、本発明のマルチメディア配信システム 101を構成する、放送受信装置 102、 映像蓄積装置 103および映像蓄積装置 104について、更に詳細に説明する。
[0072] まず、図 2を参照しながら、放送受信装置 102の詳細について説明する。
[0073] 図 2は、本発明の実施の形態 1における放送受信装置 102の構成の一例を示すブ ロック図である。
[0074] 図 2に示す放送受信装置 102は、制御部 201と、放送局 108から送信されるマルチ メディアデータを受信するデータ受信部 202と、ネットワーク 107に接続された外部装 置と通信する情報通信部 203と、ネットワーク 107に接続された複数の映像蓄積装置 のうちひとつを選択する選択部 204と、ネットワーク 107に接続された外部装置にマ ルチメディアデータを送信するデータ出力部 205と、放送局 108へマルチメディアデ ータの送信要求を送信する要求送信部 206と、 VoDサービスにお!/、てマルチメディ ァデータの利用に伴う課金などの権利処理を行う権利処理部 207と、ネットワーク 10 7と接続されるネットワークインタフェース 208と、ケーブル 109と接続されるケーブル インタフェース 209とを備える。
[0075] 制御部 201をより詳細に説明する。制御部 201は、マイクロプロセッサ、 ROM, RA Mなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部に はマイクロプロセッサにて動作する OS、 Java VM (Java Virtual Machine)プロ グラム、 Javaプログラムライブラリ、 Javaアプリケーションプログラムが保存されて!、る。 マイクロプロセッサは、起動時に OSを読み込んで実行する。引き続いて、 Javaアプリ ケーシヨン起動時に、 Java VMを読み込んで実行し、必要に応じて Javaプログラム ライブラリを読み込みながら、 Javaアプリケーションを実行する。
[0076] 制御部 201は、予め VoDサービス用のマルチメディアデータをデータ受信部 202 力も受信するときに、情報通信部 203によって、ネットワーク 107に接続された複数の 映像蓄積装置へ、属性の送信要求を送信する。続いて、情報通信部 203によって、 それぞれの映像蓄積装置カも該属性を受信する。さらに、制御部 201は、受信した 映像蓄積装置の属性および該マルチメディアデータの属性を選択部に送り、選択部 に指示して映像蓄積装置のひとつを選択させる。さらに、制御部 201は、選択した映 像蓄積装置へ、情報通信部 203によって、該マルチメディアデータの蓄積要求を送 信する。さらに、制御部 201は、情報通信部 203によって、該映像蓄積装置力も蓄積 要求を受け付けた旨を受信すると、データ出力部 205に指示することにより、該マル チメディアデータを、ネットワーク 107を通じて、該映像蓄積装置へ送信する。
[0077] さらに、制御部 201は、情報通信部 203より、ネットワーク 107に接続された端末より VoDサービスの要求を受信すると、情報通信部 203より、ネットワーク 107に接続さ れた映像蓄積装置に、該要求のマルチメディアデータを蓄積して 、るか否かの問!ヽ 合わせを送信する。続いて、制御部 201は、情報通信部 203より、各映像蓄積装置 より、この問い合わせに関する返答を受信する。ある映像蓄積装置に該マルチメディ ァデータが蓄積されている場合は、該映像蓄積装置へ、該マルチメディアデータの V oDサービス要求を発行した端末への送信要求を送信する。このとき、制御部 201は 、必要であれば、該映像蓄積装置と通信し、権利処理部 207に指示して、該マルチ メディアデータの利用に伴う課金といった権利処理を行う。さらに、該端末へは、該映 像蓄積装置カも該マルチメディアデータが送信されることを、情報通信部 203によつ て通知する。
[0078] データ受信部 202は、ケーブルインタフェース 209に接続されており、ケーブルイン タフエース 209を経由して、放送局 108から送られてくるマルチメディアデータを受信 するものである。データ受信部 202は、代表的にはチューナであり、放送局 108から 送られてきた電波を受信して復号し、マルチメディアデータを抽出するものである。ま た、放送局 108から送られてくるマルチメディアデータは、それが有料コンテンツなら ばスクランブルされていることもある力 その場合には、データ受信部 202によって復 号される。
[0079] 放送局 108から送られてくるマルチメディアデータは、 MPEG2に代表される符号 化されたデジタルデータであり、 MPEG2-TS (Transport Stream)形式によって 送信される。 MPEG2— TSは、ひとつのストリーム内に複数のコンテンツを格納する ことができるが、データ受信部 202は、該ストリームから、ひとつのコンテンツのマルチ メディアデータを選択するものである。
[0080] 情報通信部 203は、ネットワークインタフェース 208に接続されており、制御部 201 の指示により、ネットワーク 107に接続された外部機器に制御情報を送信する。また、 情報通信部 203は、ネットワークインタフェース 208に届いた放送受信装置 102宛の 情報を受信して、制御部 201に引き渡す。情報通信部 202は、代表的には、 OSや Ja vaライブラリが提供するソケットインタフェースもしくはソケットインタフェースを利用し
たプログラムである。なお、このようなソフトウェアで構成されるものに限らず、ハードウ エアで構成されるものであっても良い。
[0081] 選択部 204は、制御部 201からの指示により、マルチメディアデータの属性と、映像 蓄積装置の属性をもとに、ネットワーク 107に接続された複数の映像蓄積装置のうち ひとつを選択するものである。選択部 204は、代表的には、 Javaライブラリもしく ίお av aアプリケーションプログラムに含まれるサブルーチンである。なお、このようなソフトゥ エアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0082] 本実施の形態では、マルチメディアデータの属性として、映画、ドラマ、スポーツな ど、コンテンツのジャンルを用いる。また、映像蓄積装置の属性として、 VoDデータ用 の蓄積部の空き容量を用いる。選択部 204は、まず、マルチメディアデータのジヤン ルによって映像蓄積装置を選択し、該選択された映像蓄積装置の空き容量が十分 に無ければ、大きな空き容量を持つ映像蓄積装置を選択する。
[0083] データ出力部 205は、ネットワークインタフェース 208に接続されており、制御部 20 1の指示を受けて動作し、マルチメディアデータを、制御部 201が指示した宛先への パケットに変換して、ネットワークインタフェース 208を通じて出力するものである。デ ータ出力部 205は、代表的には、 OSや Javaライブラリが提供するソケットインタフエ ースもしくはソケットインタフェースを利用したプログラムである。なお、このようなソフト ウェアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0084] 要求送信部 206は、制御部 201の指示を受け、 VoDサービスにおけるデータ送信 要求を、ケーブルインタフェース 209を通じて、放送局 108へ送信するものである。
[0085] 権利処理部 207は、放送局 108と通信することにより、マルチメディアデータの利用 に伴う、課金などの権利処理を行うものである。権利処理部 207は、 CableCARDを 備えており、この情報を放送局 108との通信において用いる。また、放送局 108から 送られたマルチメディアデータがスクランブルされて 、る場合は、 CableCARDの情 報を制御部 201に引き渡すことにより、データ受信部 202での復号を行えるようにす るものである。
[0086] ネットワークインタフェース 208は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ
ァカゝら構成されるものである。
[0087] ケーブルインタフェース 209は、ケーブル 109経由で放送局 108から送られてくる 信号を受信し、その信号を、データ種別および宛先により、データ受信部 202、要求 送信部 206、権利処理部 207のそれぞれに、適した信号に変換して分配する。また 、要求送信部 206と権利処理部 207から放送局 108へ送られるデータを、ケーブル 1 09での送信に適した信号に変換して送信する。例えば、放送局 108と要求送信部 2 06および権利処理部 207とが IPネットワークのプロトコルに従った通信を行う場合、 ケーブルインタフェース 209は、 IPネットワークとケーブルとのブリッジの役割を含むも のとなる。
[0088] 次に、図 3を参照しながら、本実施の形態における映像蓄積装置 103および映像 蓄積装置 104の詳細を説明する。
[0089] 図 3は、本発明の実施の形態 1における映像蓄積装置 103および映像蓄積装置 1 04の構成の一例を示すブロック図である。
[0090] 図 3において、 301は制御部を、 302はマルチメディアデータを蓄積する蓄積部を 、 303はネットワーク 107に接続された外部装置と制御情報を通信する制御情報通 信部を、 304は映像蓄積装置の属性を記憶する記憶部を、 305は放送受信装置 10 2から送信されたマルチメディアデータを受信するデータ受信部を、 306はネットヮー ク 107に接続された端末 105もしくは端末 106に蓄積部 302に蓄積されたマルチメ ディアデータを送信するデータ送信部を、 307はデータ受信部 305が受信したマル チメディアデータを蓄積部 302に書き込む書込部を、 308は蓄積部 302からマルチメ ディアデータを読み出す読出部を、 309は放送受信装置 102と通信してマルチメデ ィァデータの利用に伴う課金などの権利処理を行う権利処理部を、 310はネットヮー ク 107と接続されるネットワークインタフェースを、それぞれ表す。
[0091] 制御部 301をより詳細に説明する。制御部 301は、マイクロプロセッサ、 ROM, RA Mなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部に はマイクロプロセッサにて動作する OS、 Java VMプログラム、 Javaプログラムライブ ラリ、 Javaアプリケーションプログラムが保存されている。マイクロプロセッサは、起動 時に OSを読み込んで実行する。引き続いて、 Javaアプリケーション起動時に、 Java
VMを読み込んで実行し、必要に応じて Javaプログラムライブラリを読み込みながら、 Javaアプリケーションを実行する。
[0092] 制御部 301は、制御情報通信部 303によって、放送受信装置 102から属性の送信 要求を受信すると、記憶部 304に記憶している属性情報を、制御情報通信部 303よ り、放送受信装置 102へ送信する。また、制御情報通信部 303によって、放送受信 装置 102からマルチメディアデータの蓄積要求を受信すると、データ受信部 305に 指示して、放送受信装置 102から送信される該マルチメディアデータを、ネットワーク 107を介して受信し、書込部 307に指示して、データ受信部 305が受信した該マル チメディアデータを、蓄積部 302へ書き込ませることにより、該マルチメディアデータ を蓄積部 302へ蓄積させる。また、蓄積後に、制御部 301は、書込部 307より蓄積部 302の空き容量を受信し、記憶部 304に記憶して 、る属性情報を更新する。
[0093] また、制御部 301は、制御情報通信部 303によって、放送受信装置 102から、特定 のマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信したときに、読出 部 308に指示して、蓄積部 302に蓄積されたマルチメディアデータを調べることによ り、該マルチメディアデータを蓄積しているか否かを判定し、判定結果を制御情報通 信部 303より、放送受信装置 102へ送信する。
[0094] また、制御部 301は、制御情報通信部 303によって、放送受信装置 102から、蓄積 している特定のマルチメディアデータの出力要求と出力先端末を受信したときに、読 出部 308に指示して該マルチメディアデータを蓄積部 302から読み出させ、さらに、 データ送信部 306に指示して読出部 308が読み出した該マルチメディアデータを、 該出力先端末へ送信させる。また、このとき、必要であれば、権利処理部 309に指示 して放送受信装置 102と通信させて、該マルチメディアデータの利用に伴う権利処 理を行う。権利処理により、該マルチメディアデータの利用が許可されない場合は、 該マルチメディアデータの該出力先端末への送信を行わないように制御する。
[0095] 蓄積部 302は、ハードディスクドライブに代表される、大容量をもつデジタルデータ の蓄積装置と、そのドライバソフトウェア力も構成されるものである。
[0096] 制御情報通信部 303は、ネットワークインタフェース 310に接続されており、ネットヮ 一クインタフ ース 310に届いた該映像蓄積装置の宛の制御情報を受信して、制御
部 301に引き渡す。また、制御部 301の指示により、制御部 301から渡された制御情 報を、指定された外部装置に、ネットワークインタフェース 310を通じて送信する。制 御情報通信部 303は、代表的には、 OSや Javaライブラリが提供するソケットインタフ エースもしくはソケットインタフェースを利用したプログラムである。なお、このようなソフ トウエアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0097] 記憶部 304は、フラッシュメモリや HDDなどの記憶装置もしくはその一部によって 構成されるものであり、制御部 301からの指示を受け、制御部 301から受け取ったデ ータを記憶するものである。
[0098] データ受信部 305は、ネットワークインタフェース 310に接続されており、制御部 30 1の指示を受けて動作するもので、放送受信装置 102から送信されたマルチメディア データを、ネットワークインタフェース 310を介して受信するものである。データ受信部 305は、代表的には、 OSや Javaライブラリが提供するソケットインタフェースもしくはソ ケットインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成 されるものに限らず、ハードウェアで構成されるものであっても良い。
[0099] データ送信部 306は、ネットワークインタフェース 310に接続されており、制御部 30 1の指示を受けて動作するもので、読出部 308が読み出したマルチメディアデータを 、制御部 301が指定したネットワーク 107に接続された外部装置へのパケットに変換 して、ネットワークインタフェース 310を通じて出力するものである。データ送信部 306 は、代表的には、 OSや Javaライブラリが提供するソケットインタフェースもしくはソケッ トインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成され るものに限らず、ハードウェアで構成されるものであっても良い。
[0100] 書込部 307は、制御部 301からの指示を受けて動作し、蓄積部 302にデータを書 き込むものである。書込部 307は、代表的には、 OSや Javaライブラリが提供するファ ィルアクセスインタフェースを利用したソフトウェアサブルーチンである。なお、このよう なソフトウェアで構成されるものに限らず、ハードウェアで構成されるものであっても良 い。
[0101] 読出部 308は、制御部 301からの指示を受けて動作し、蓄積部 302に蓄積された マルチメディアデータを読み出すものである。読出部 308は、代表的には、 OSや Jav
aライブラリが提供するファイルアクセスインタフェースを利用したソフトウェアサブルー チンである。なお、このようなソフトウェアで構成されるものに限らず、ハードウェアで 構成されるものであっても良い。
[0102] 権利処理部 309は、ネットワークインタフェース 310と接続されており、制御部 301 の指示を受けて動作するもので、マルチメディアデータの利用に伴う課金などの権利 処理を、放送受信装置 102と通信することによって行うものである。権利処理部 309 は、放送受信装置 102へ、利用するマルチメディアデータを特定する識別子を送信 し、放送受信装置 102からの返答を受け取り、制御部 301へ引き渡す。該返答とは、 該マルチメディアデータ利用の許可もしくは拒絶である。
[0103] ネットワークインタフェース 310は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0104] 図 4は、本発明の実施の形態における放送受信装置 102の選択部 204が実行する 処理の一例を示すフローチャートである。本図は、マルチメディアの属性の一例とし て、コンテンツのジャンルを用い、映像蓄積装置の属性の一例として各映像蓄積装 置に備えられて 、る蓄積部 302の空き容量を用いる場合の処理を示す。
[0105] 選択部 204は、制御部 201からの指示により、コンテンツのジャンルを取得する(S1 D o
[0106] 選択部 204は、取得したジャンルに関連付けられて ヽる映像蓄積装置を選択する( S12) 0
[0107] 選択部 204は、制御部 201からの指示により、ジャンルによる蓄積先選択処理 (S1 2)にお 、て選択された各映像蓄積装置が備える蓄積部 302の空き容量を取得し、 取得した空き容量が蓄積されるコンテンツを含むデータを蓄積するために十分である か否かを判断する(S13)。
[0108] 空き容量が十分であると判断した場合 (S13で Y)、選択部 204はその映像蓄積装 置を蓄積先として選択し (S15)、処理を終了する。
[0109] 空き容量が十分でないと判断した場合 (S13で N)、空き容量の最も多い映像蓄積 装置を蓄積先として選択し (S 14)、処理を終了する。 (実施の形態 1の変形例)
本発明を上記実施の形態 1に基づいて説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0110] (1)放送受信装置 102は、さらに、マルチメディアデータを蓄積する蓄積部と、蓄積 部にマルチメディアデータを書き込む書込部とを備え、選択部 204は、放送受信装 置 102の蓄積部と、ネットワーク 107に接続された映像蓄積装置のうちひとつを選択 する構成であっても良い。また、放送受信装置 102は、さらに、端末から VoDサービ スの要求を受けたときに、ネットワーク 107に接続された映像蓄積装置と、放送受信 装置 102の蓄積部に、該コンテンツのマルチメディアデータが蓄積されている力否か を検索し、放送受信装置 102の蓄積部に蓄積されている場合は、該マルチメディア データを該 VoDサービスの要求を発行した端末に送信する構成であっても良い。
[0111] 図 5は、本発明の実施の形態 1の変形例における放送受信装置の構成を示すプロ ック図である。
[0112] 図 5に示す放送受信装置 102は、書込部 401と、蓄積部 402と、蓄積部 402に蓄 積されたマルチメディアデータを読み出す読出部 403と、制御部 201と、データ受信 部 202と、情報通信部 203と、選択部 204と、要求送信部 206と、権利処理部 207と 、ネットワークインターフェース 208と、ケープノレインターフェース 209とを備える。制 御部 201と、データ受信部 202と、情報通信部 203と、選択部 204と、要求送信部 20 6と、権利処理部 207と、ネットワークインターフェース 208と、ケーブルインターフエ ース 209とは、上記実施の形態にて説明したものと同様である力 以下の点が異なる 。制御部 201は、予め VoDサービス用のマルチメディアデータをデータ受信部 202 力 受信するときに、映像蓄積装置 103および映像蓄積装置 104から属性を受信す るとともに、放送受信装置 102の属性も読み出す。放送受信装置 102の属性とは、上 記実施の形態における映像蓄積装置 103および映像蓄積装置 104の属性情報と同 様のものである。さらに、制御部 201は、映像蓄積装置の属性とともに、放送受信装 置 102の属性も選択部 204に送信する。選択部 204は、その属性をもとに、映像蓄 積装置 103、放送蓄積装置 104もしくは蓄積部 402の選択を行うものである。
[0113] 書込部 401は、上記実施の形態における映像蓄積装置 103および映像蓄積装置 104の書込部 307と同様のものである。また、蓄積部 402は、上記実施の形態にお
ける映像蓄積装置 103および映像蓄積装置 104の蓄積部 302と同様のものである。 また、読出部 403は、上記実施の形態における映像蓄積装置 103および映像蓄積 装置 104の読出部 308と同様のものである。
[0114] (2)また、放送受信装置 102は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 103および映像蓄積装置 104に、暗号ィ匕されたマルチメディアデータ を送信する構成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104 は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 302に蓄積する 構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であっても良い
[0115] また、放送受信装置 102、映像蓄積装置 103および映像蓄積装置 104は、端末 1 05および端末 106へマルチメディアデータを送信するときに、該マルチメディアデー タに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 105お よび端末 106にお 、て、受信した暗号ィ匕されたマルチメディアデータを復号して再生 する構成であっても良い。
[0116] (3)また、上記実施の形態においては、放送受信装置 102の選択部 204は、マル チメディアデータのジャンルと、映像蓄積装置の空き容量をもとに、映像蓄積装置の 選択を行うこととした力 これらの条件に限らないことは言うまでもない。
[0117] 例えば、放送受信装置 102は、映像受信装置を順に選択する構成であっても良い 。また、ユーザによって設定された映像蓄積装置の優先度にしたがって選択する構 成であっても良い。また、マルチメディアデータのジャンルだけで選択しても良い。ま た、映像蓄積装置の空き容量だけで選択しても良い。さらに、映像蓄積装置の利用 頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄積さ れたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マル チメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装 置の選択を行っても良い。
[0118] さら〖こ、映像蓄積装置にユーザの操作によって再生もしくは出力されたマルチメデ ィァデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチメディアデー タのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置の選択を行つ
ても良い。
[0119] さらに、例えば、端末 105で利用される頻度の高いマルチメディアデータならば映 像蓄積装置 103を、端末 106で利用される頻度の高いマルチメディアデータならば 映像蓄積装置 104を、それぞれ選択するといつたような、端末との組み合わせによる 選択を行っても良い。
[0120] さらに、ユーザによって設定された端末の優先度から、組み合わされた映像蓄積装 置を選択を行っても良い。また、ユーザによって利用された端末の利用頻度、または 、ユーザによって利用された各端末のジャンル毎の利用頻度から、それに組み合わ された映像蓄積装置を選択を行っても良い。
[0121] (4)また、上記実施の形態においては、放送受信装置 102が、映像蓄積装置 103 および映像蓄積装置 104と通信することにより、 VoDサービス要求のあったコンテン ッのマルチメディアデータが蓄積されている力否かを判定する、としたが、放送受信 装置 102が、映像蓄積装置 103および映像蓄積装置 104に蓄積させたマルチメディ ァデータを記憶しておき、その内容より判定する構成であっても良 、。
[0122] (5)また、上記実施の形態においては、放送局 108からケーブル 109を経由してマ ルチメディアデータが送信されるとした力 インターネットのような IPネットワークなど、 他の通信路を用いて送信される形態であっても良い。また、マルチメディアデータの 提供先を、ケーブルテレビなどの放送局としている力 例えば、インターネット上のコ ンテンッ配信業者など、他の形態のデータ配信を行うものも含まれる。
[0123] (6)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 VoD サービスを要求した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 102は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0124] (7)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ
ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102と該映像蓄積装置が通信して、課金など該 マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受信装置 102と 、 VoDサービスを要求した端末とが通信して、上記権利処理を行う構成であっても良 い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 102が権 利処理を行う構成であっても良 、。
[0125] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0126] (8)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0127] (9)また、放送受信装置 102は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 102は、送信するマルチメディアデータをー且 復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する構 成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104は、さらに、マ ルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを作り 出す符号化部を備え、受信したマルチメディアデータを前記復号部でー且復号し、 前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても良 い。
[0128] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで
あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0129] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0130] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0131] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray (登録商標) Disc)、半導体メモリなど、に記録したものとしてもよ!、。ま た、これらの記録媒体に記録されて 、る前記コンピュータプログラム又は前記デジタ ル信号であるとしてもよい。
[0132] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0133] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0134] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する
ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0135] (13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/ヽ。
[0136] (実施の形態 2)
実施の形態 2におけるマルチメディア配信システムの構成は、図 1に示した、上記 実施の形態 1における構成図と同様であるため、説明を省略する。
[0137] 図 6は、本発明の実施の形態 2における放送受信装置 102を構成する構成要素の 関係を示したブロック図である。本実施の形態の放送受信装置 102は、入力部 501、 第 1メモリ 502、第 2メモリ 503、受信部 504、多重分離部 505、デスクランブラ 506、 T Sデコーダ 507、映像出力部 508、音声出力部 509、 TSマルチプレクサ 510、ネット ワーク部 511、 CPU512で構成される。
[0138] 入力部 501は、フロントパネルやリモコン受光器等で構成され、ユーザからのチャン ネル選択等の指示を受け付ける。
[0139] 図 7は、フロントパネルで入力部 501を構成した場合の一例である。 600はフロント パネルであり、上カーソルボタン 601、下カーソルボタン 602、左カーソルボタン 603 、右カーソルボタン 604、 OKボタン 605、取消ボタン 606、 EPGボタン 607、シァタ 一ボタン 608の 8つのボタンを備えている。ユーザがボタンを押下すると、押下された ボタンの識別子力 CPU512に通知される。
[0140] 第 1メモリ 502は、 RAM等で構成され、 CPU512が一時的にデータを保存する際 に使用される。
[0141] 第 2メモリ 503は、フラッシュメモリ、ハードディスク等で電源が停止しても情報を保 持可能なデバイスで構成され、 CPU512が実行するプログラムを保存する。第 2メモ リは、 SDメモリーカード等の取り外し可能な記憶デバイスを用いてもよい。
[0142] 受信部 504は、ケーブルテレビ局 108からのケーブルに接続され放送波を受信し、 CPU512から指定された周波数にチューニングし、 MPEGトラスポートストリームを抽 出して、多重分離部 505に引き渡す。
[0143] 多重分離部 505は、受信部 504力 MPEGトラスポートストリームを受け取り、 CPU
512から指定された情報を抽出し CPU512に引き渡す。また MPEGトラスポートスト リームをそのままデスクランブラ 506に引き渡す。
[0144] デスクランブラ 506は、多重分離部 505から与えられたスクランブルされている MP EGトラスポートストリームをデスクランブル( =復号)し、 TSデコーダ 507に引き渡す。 デスクランブラ 506は、放送受信装置 102に内蔵されたモジュールでも良いし、北米 ケーブル受信機で導入されて 、る CableCARD (TM)でも実施可能である。 Cable CARDの仕様は米国 CableLabsが策定した CableCARD Interface Specificat ionに記載されており、ここでは説明を省略する。
[0145] TSデコーダ 507は、 CPU512から音声データ、映像データ、 PSlZSI情報などの セクションデータの識別子を受け取る。さらに、デスクランブラ 506から受け取ったデ スクランブルされたストリームから、受け取った音声データ、映像データ、 PSIZSI情 報などのセクションデータの識別子に対応するデータを抽出する、抽出した映像デ ータを映像出力部 508に、音声データを音声出力部 509に引き渡す。また、その両 方と、セクションデータを、 TSマルチプレクサ 510に引き渡す。
[0146] 映像出力部 508は映像出力端子を含み、受け取った映像データを端子に対応し た映像データに変換して出力する。端子の例としては、コンポジットケーブル端子な どがある。
[0147] 音声出力部 509は音声出力端子を含み、受け取った音声データを端子に対応し た音声データに変換して出力する。端子の例としては、イヤホン端子や、コンポジット ケーブル端子などがある。
[0148] TSマルチプレクサ 510は、受け取った映像データ、音声データ、セクションデータ 力ら MPEG2トランスポートストリームを構成し、該 MPEG2トランスポートストリームを ネットワーク部 511に引き渡す。 PSIZSI情報は必要に応じて書き換えられる。
[0149] ネットワーク部 511は、ネットワークインタフェースを含み、 CPU512から受け取った データを、ネットワークインタフェースが接続されたネットワークの物理メディアに応じ た信号に変換して出力する。また、ネットワークインタフェース力 信号を受信し、 IP ネットワークで規定されたパケットに変換して、 CPU512へ引き渡す。
[0150] CPU512は、第 2メモリ 503が記憶するプログラムを実行することで、受信部 504、
多重分離部 505、デスクランブラ 506、 TSデコーダ 507、 TSマルチプレクサ 510、ネ ットワーク部 511を制御する。
[0151] 図 8は、本発明の実施の形態 2における放送受信装置が保持し、実行するプロダラ ムの構成を示す図である。本図は、第 2メモリ 503に記憶され、 CPU512に実行され るプログラムの構成の一例を示す図である。
[0152] プログラム 700は、複数のサブプログラムで構成され、具体的には OS701、 EPG7 02、 JavaVM703、サービスマネージャ 704、 Javaライブラリ 705で構成される。
[0153] OS701は、放送受信装置 102の電源が投入されると、 CPU512が起動するサブ プログラムである。 OS701は、オペレーティングシステムの略であり、 Linux等が一例 である。 OS701は、他のサブプログラムを平行して実行するカーネル 701a及びライ ブラリ 701bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施 の形態においては、 OS701のカーネル 701aは、 EPG702^JavaVM703をサブプ ログラムとして実行する。また、ライブラリ 70 lbは、これらサブプログラムに対して、放 送受信装置 102が保持する構成要素を制御するための複数の機能を提供する。
[0154] 本実施の形態では、ライブラリ 701bは機能の一例として、チューナ 701bl、限定解 除 701b2、 AV再生 702b3、 NET701b4を含む。
[0155] チューナ 701blは、他のサブプログラムや Javaライブラリ 705の Tuner705cから周 波数を含むチューニング情報を受け取り、受信部 704に引き渡す。受信部 704は与 えられたチューニング情報に基づき復調処理を行 、、復調したデータを多重分離部 705に引き渡すことができる。この結果、他のサブプログラム及び Javaライブラリ 705 の Tuner705cはライブラリ 401bを通して受信部 504を制御することができる。
[0156] 限定解除 702b2は、他のサブプログラムや Javaライブラリ 705の CA705dから情報 を受け取り、デスクランブラ 506に引き渡す。
[0157] AV再生 702b3は、他のサブプログラムや Javaライブラリ 705の JMF705aから、音 声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映像 のパケット IDを、 TSデコーダ 707に与える。この結果、 TSデコーダ 707は与えられた パケット IDに基づいて、フィルタリングを行い、映像'音声の再生を実現する。
[0158] NET701b4は、他のサブプログラムや Javaライブラリ 705のネットワークライブラリ 7
05eから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より下の プロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例えば T CPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 511に引き渡 すことで、ネットワーク 107を介して他の機器にメッセージおよびデータを送信する。 また、ネットワーク 107を介して他の機器からメッセージを受信したときに、他のサブプ ログラムや Javaライブラリ 705のネットワークライブラリ 705eに、アプリケーション層の プロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコルとは、例え ば、 HTTPや RTPなどである。
EPG702は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組 表示部 702aと、チャンネル選局を行う再生部 702bで構成される。ここで、 EPGは E1 ectric Program Guideの略である。 EPG702は、放送受信装置 102の電源が投 入されると、カーネル 701aによって起動される。起動された EPG702の内部では、 番組表示部 702aと再生部 702bが同時に起動される。番組表示部 702aは起動され ると、放送受信装置 102の入力部 501を通して、ユーザからの入力を待つ。ここで、 入力部 501が図 7で示されるフロントパネルで構成されている場合、ユーザが、入力 部 501の EPGボタン 607を押下すると、 EPGボタンの識別子が CPU512に通知さ れる。 CPU512上で動作するサブプログラムである EPG502の番組表示部 502aは 、この識別子を受け取り、番組情報表示データを作成し、図示していないモニタ出力 部によりモニタ 810に出力する。モニタ 810は、放送受信装置 102が備えるものであ つても良 、し、放送受信装置 102とコンポジットケーブルや HDMIケーブルなどで接 続されたテレビであっても良い。モニタ 810は、受信した番組情報表示データを表示 する。図 9 (a)及び (b)は、モニタ 810に表示された番組表の一例を示す図である。 図 9 (a)に示すモニタ 810には、格子状に番組情報が表示されている。列 801には、 時刻情報が表示されている。列 802には、チャンネル名「チャンネル 1」と、列 801の 時刻に対応する時間帯に放映される番組が表示されている。「チャンネル 1」では、 9 : 00〜: L0: 30に番組「ニュース 9」が放映され、 10: 30〜 12: 00は「映画 AAA」が放 映されることを表す。列 803も列 802同様、チャンネル名「チャンネル 2」と、列 801の 時刻に対応する時間帯に放映される番組が表示されている。 9 : 00〜: L 1 : 00に番組
「映画 BBB」が放映され、 11 : 00〜12 : 00は「ニュース 11」が放映される。 830は、力 一ソルである。カーソル 830は、フロントパネル 600の左カーソル 603と右カーソル 60 4を押下すると移動する。図 9 (a)の状態で、右カーソル 604を押下すると、カーソル 8 30は右に移動し、図 9 (b)のようになる。また、図 9 (b)の状態で、左カーソル 603を押 下すると、カーソル 830は左に移動し、図 9 (a)のようになる。
[0160] 図 9 (a)の状態で、フロントパネル 600の OKボタン 605が押下されると、番組表示 部 702aは、「チャンネル 1」の識別子を再生部 702bに通知する。図 9 (b)の状態で、 フロントパネル 600の OKボタン 605が押下されると、番組表示部 702aは、「チャンネ ル 2」の識別子を再生部 702bに通知する。
[0161] また、番組表示部 702aは、表示する番組情報を、多重分離部 505を通して定期的 に、第 2メモリ 503に記憶しておく。一般的に、放送局からの番組情報の取得は時間 が掛かる。入力部 501の EPGボタン 607が押下された時、第 2メモリ 503に予め保存 された番組情報を表示することで、素早く番組表を表示することができる。
[0162] 図 10は、本発明の実施の形態 2に係る第 2メモリ 503に格納されている番組情報の 一例を示す図である。番組情報は表形式で格納されている。列 901は、チャンネル の識別子である。列 902は、番組名である。列 903は番組の放送開始時間、列 904 は放送終了時間である。列 905は、番組の音声種別を表しており、モノラル音声、ス テレオ音声、 5. 1チャンネル音声をそれぞれ「モノラル」、「ステレオ」、「5. 1」と表記 している。列 906は、番組の種別を表している。通常番組は空欄であり、「映画」は映 画、「スポ」はスポーツ番組を表す。行 911〜914の各行は、それぞれひとつの番組 情報を表す。この例では、ひとつの番組情報は、チャンネルの識別子、番組名、放送 開始時間、放送終了時間、番組の音声種別の組となる。例えば、行 911はチャンネ ル識別子が「1」、番組名が「ニュース 9」、放送開始時間が「9: 00」、放送終了時間が 「10: 30」、音声種別が「モノラル」、番組の種別は「通常」を含む組となって 、る。
[0163] 再生部 702bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する 。すなわちチャンネルを構成する映像と音声を再生する。チャンネルの識別子とチヤ ンネルの関係は、チャンネル情報として、第 2メモリ 503に予め格納されている。
[0164] 図 11は、本発明の実施の形態 2に係る第 2メモリ 503に格納されているチャンネル
情報の一例である。チャンネル情報は表形式で格納されている。列 1001は、チャン ネルの識別子である。列 1002は、チャンネル名である。列 1003はチューニング情報 である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、受 信部 504に与える値である。列 1004はプログラムナンバーである。プログラムナンパ 一とは、 MPEG2規格で規定されている PMTを識別するための番号である。 PMTに 関しては、後述する。行 1011〜1014の各行は、各チャンネルの識別子、チャンネ ル名、チューニング情報の組となる。行 1011は識別子が「1」、チャンネル名が「チヤ ンネル 1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を 含む組となっている。再生部 702bは、チャンネルの再生を行うため、受け取ったチヤ ンネルの識別子をそのままサービスマネージャに引き渡す。
[0165] また、再生部 702bは、再生中に、ユーザがフロントパネル 600の上カーソル 601と 下カーソル 602を押下すると、入力部 501カゝら CPU512を通して、押下された通知を 受け取り、再生しているチャンネルを変更する。上カーソル 601を押下すると、現在再 生中のチャンネルよりもひとつ小さいチャンネル識別子を持つチャンネルを再生し、 また下カーソル 602を押下すると、現在再生中のチャンネルよりもひとつ大きいチャン ネル識別子を持つチャンネルを再生する。まず、再生部 702bは、第 2メモリ 503に現 在再生中のチャンネルの識別子を記憶する。
[0166] 図 12 (a) (b)及び (c)は、それぞれ、本発明の実施の形態 2に係る第 2メモリ 503に 格納されているチャンネルの識別子を示す情報の例である。図 12 (aでは識別子「3」 が記憶されており、図 11を参照し、チャンネル名「TV 3」のチャンネルが再生中であ ることを示す。図 12 (a)の状態で、ユーザが上カーソル 601を押下すると再生部 702 bは、図 11のチャンネル情報を参照し、表中で現在再生中のチャンネルよりもひとつ 生を切り変えるため、サービスマネージャにチャンネル名「チャンネル 2」の識別子「2 」を引き渡す。同時に、第 2メモリ 503に記憶されているチャンネル識別子「2」に書き 換える。図 12 (b)は、チャンネル識別子が書き換えられた状態を表す。また、図 12 (a )の状態で、ユーザが下カーソル 602を押下すると再生部 702bは、図 11のチャンネ ル情報を参照し、表中で現在再生中のチャンネルよりもひとつ大きい識別子を持つ
チャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、 サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、 第 2メモリ 503に記憶されているチャンネル識別子「4」に書き換える。図 12 (c)は、チ ヤンネル識別子が書き換えられた状態を表す。チャンネル識別子は、第 2メモリ 503 に記憶されて ヽるので、放送受信装置 102の電源が切られた際も保存されて ヽる。
[0167] さらに再生部 702bは、放送受信装置 102の電源が投入された際に、起動されると 、第 2メモリ 503に記憶されているチャンネル識別子を読み出す。そして、そのチャン ネル識別子をサービスマネージャに引渡す。これにより、放送受信装置 102は、電源 投入時に前回の稼動時に再生されていた最後のチャンネルの再生を開始することが できる。
[0168] JavaVM703は、 Java (TM)言語で記述されたプログラムを逐次解析し実行する Ja vaバーチャルマシンである。 Java言語で記述されたプログラムはバイトコードと呼ば れる、ハードウェアに依存しない中間コードにコンパイルされる。 Javaバーチャルマシ ンは、このバイトコードを実行するインタープリタである。また、一部の Javaバーチャル マシンは、バイトコードを CPU512が理解可能な実行形式に翻訳してから、 CPU51 2に引渡し、実行することも行う。 JavaVM703は、カーネル 70 laに実行する Javaプ ログラムを指定され起動される。本実施の形態では、カーネル 701aは、実行する jav aプログラムとしてサービスマネージャ 704を指定する。 Java言語の詳細は、書籍「Ja va Language Specification (ISBN 0— 201— 63451— 1)」等の多くの書籍で 解説されている。ここでは、その詳細を省略する。また、 JavaVM自体の詳細な動作 などは、「Java Virtual Machine Specification (ISBN 0— 201— 63451— X )」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0169] サービスマネージャ 704は、 Java言語で書かれ^ Javaプログラムであり、 Java VM7 03によって逐次実行される。サービスマネージャ 704は、 JNI (Java Native Interf ace)を通して、 Java言語で記述されて!、な!/、他のサブプログラムを呼び出したり、ま たは、呼び出されたりすることが可能である。 JNIに関しても、書籍「Java Native In terfacej等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0170] サービスマネージャ 704は、 JNIを通して、再生部 702bよりチャンネルの識別子を
受け取る。
[0171] サービスマネージャ 704は、最初に Javaライブラリ 705の中にある Tuner705cに、 チャンネルの識別子を引き渡し、チューニングを依頼する。 Tuner705cは、第 2メモ リ 503が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サー ビスマネージャ 704がチャンネルの識別子「2」を Tuner705cに引き渡すと、 Tuner7 05cは、図 11の行 1012を参照して、対応するチューニング情報「 156MHz,」を獲 得する。 Tuner705cは、 OS701のライブラリ 701bのチューナ 701blを通して、受信 部 704にチューニング情報を引き渡す。受信部 704は与えられたチューニング情報 に従って放送局から送信されてきた信号を復調し、多重分離部 705に引き渡す。
[0172] 次にサービスマネージャ 704は、 Javaライブラリ 705の中にある CA705dにデスクラ ンブルを依頼する。 CA705dは、 OS701のライブラリ 701bの限定解除 701b2を通 して復号に必要な情報をデスクランブラ 506に与える。デスクランブラ 506は、与えら れた情報を元に、受信部 504から与えられた信号を復号し TSデコーダ 507に引き渡 す。
[0173] 以下、映像出力部 508および音声出力部 509から出力することにより、映像'音声 の再生を行う場合と、ネットワーク部 511からマルチメディアデータを出力する場合の 処理が異なるため、それぞれについて説明する。
[0174] まず、映像'音声の再生を行う場合について、説明する。
[0175] サービスマネージャ 704は、 Javaライブラリ 705の中にある JMF705aにチャンネル の識別子を与え、映像 ·音声の再生を依頼する。
[0176] まず、最初に JMF705aは、再生すべき映像と音声を特定するためのパケット IDを PAT、 PMTから取得する。 PATや PMTは MPEG2規格で規定されている、 MPE G2トランスポートストリーム内の番糸且構成を表現するテーブルであり、 MPEG2トラン スポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共 に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明す る。 PATは、 Program Association Tableの略で、パケット ID「0」のパケットに格 納され送信されている。 JMF705aは、 PATを取得するため、 OS701のライブラリ 70 lbを通して、多重分離部 705にパケット ID「0」を指定する。多重分離部 705がバケツ
HD「0」でフィルタリングを行い、 CPU512に引き渡すことで JMF705aは、 PATのパ ケットを収集する。
[0177] 図 13は、収集した PATの情報の一例を模式的に示す図である。列 1201は、プロ グラムナンバーである。列 1202は、パケット IDである。列 1202のパケット IDは PMT を取得するために用いられる。行 1211〜1213は、チャンネルのプログラムナンバー と対応するパケット IDの組である。ここでは、三つのチャンネルが定義されている。行 1211はプログラムナンバー「101」とパケット ID「501」の組が定義されている。今、 J MF705aに与えられたチャンネルの識別子が「2」とすると、 JMF705aは、図 13の行 1212を参照して、対応するプログラムナンバー「102」を獲得し、次に、図 13の PAT の行 1212を参照し、プログラムナンバー「102」に対応するパケット ID「502」を獲得 する。 PMTは、 Program Map Tableの略で、 PATで規定されたパケット IDのパ ケットに格納され送信されている。 JMF705aは、 PMTを取得するため、 OS701のラ イブラリ 701bを通して、多重分離部 505にパケット IDを指定する。ここで、指定する パケット IDは「502」とする。多重分離部 505がパケット ID「502」でフィルタリングを行 い、 CPU512に引き渡すことで JMF705aは、 PMTのパケットを収集する。
[0178] 図 14は、収集した PMTの情報の一例を模式的に示す図である。列 1301は、ストリ ーム種別であり。列 1302は、パケット IDである。列 1302で指定されるパケット IDの パケットには、ストリーム種別で指定された情報がペイロードに格納され送信されてい る。列 1303は補足情報である。行 1311〜1314はエレメンタリ—ストリームと呼ばれ る、パケット IDと送信している情報の種別の組である。行 1311は、ストリーム種別「音 声」とパケット ID「5011」の組であり、パケット ID「5011」のペイロードには音声が格 納されていることを表す。 JMF705aは、 PMTから再生する映像と音声のパケット ID を獲得する。図 14を参照して、 JMF705aは、行 1311から音声のパケット ID「5011」 を、行 1312から映像のパケット ID「5012」を獲得する。
[0179] 次に、 JMF705aは、 OS701のライブラリ 701bの AV再生 701b3に獲得した音声 のパケット IDと映像のパケット IDを引き渡す。これを受けて、 AV再生 701b3は、受け 取った音声のパケット IDと映像のパケット IDを、 TSデコーダ 507に与える。 TSデコ ーダ 507は与えられたパケット IDでフィルタリングを行う。ここではパケット ID「5011」
のパケットを音声出力部 509に、パケット ID「5012」のパケットを映像出力部 508に、 音声出力部 509は、与えられたパケットを適宜変換し (例えばデジタル アナログ変 換)出力する。映像出力部 508は、与えられたパケットを適宜変換し (例えばデジタル —アナログ変換)出力する。
[0180] 最後にサービスマネージャ 704は、 Javaライブラリ 705の中にある AM705bにチヤ ンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、 MPEG2トランスポートストリームに含まれる Javaプログラムを抽出し、 JavaVM703に 実行させることである。 MPEG2トランスポートストリームに Javaプログラムを埋め込む 方法は、 MPEG規格書 ISOZIEC13818— 6に記述された DSMCCという方式を 用いる。ここでは DSMCCの詳細な説明は省略する。 DSMCC方式は、 MPEG2トラ ンスポートストリームのパケットの中に、コンピュータで使用されているディレクトリゃフ アイルで構成されるファイルシステムをエンコードする方法を規定している。また、実 行する Javaプログラムの情報は AITと呼ばれる形式で、 MPEG2トランスポートストリ ームのパケットの中に埋め込まれ送信されている。 AITは、 DVB— MHP規格(正式 には、 ETSI TS 101 812 DVB— MHP仕様 VI . 0. 2)の 10章に定義されてい る、 Application Information Tableの略である。
[0181] AM705bは、まず、 AITを獲得するため、 JMF705a同様 PAT、 PMTを取得し、 A ITが格納されているパケットのパケット IDを獲得する。今、与えられたチャンネルの識 別子が「2」で、図 13の PAT、図 14の PMTが送信されていると、 JMF705aと同様の 手順で、図 14の PMTを獲得する。 AM705bは、 PMTからストリーム種別が「データ 」で補足情報として「AIT」を持つエレメンタリ一ストリーム力もパケット IDを抽出する。 図 14を参照して、行 1313のエレメンタリ一ストリームが該当し、パケット ID「5013」を 獲得する。
[0182] AM705bは、 OS701のライブラリ 701bを通して多重分離部 505に AITのパケット I Dを与える。多重分離部 505は、与えられたパケット IDでフィルタリングを行い、 CPU 512〖こ引き渡す。この結果、 AM705bは、 AITのパケットを収集することができる。
[0183] 図 15は、収集した AITの情報の一例を模式的に示す図である。列 1401〖お avaプ ログラムの識別子である。列 1402ίお avaプログラムの制御情報である。制御情報に
は「autostart」「present」「kill」などがあり、「autostart」は即時に放送受信装置 10 2がこのプログラムを自動的に実行することを意味し、 rpresentjは自動実行しな!、こ とを意味し、「kill」はプログラムを停止することを意味する。列 1403は、 DSMCC方 式で Javaプログラムを含んでいるパケット IDを抽出するための DSMCC識別子であ る。列 1404 ίお avaプログラムのプログラム名である。行 1411と 1412は、 Javaプログ ラムの情報の組である。行 1411で定義される Javaプログラムは、識別子「301」、制 御情報「autostart」、 DSMCC識別子「1」、プログラム名「aZTopXlet」の組である 。行 1412で定義される Javaプログラムは、識別子「302」、制御情報「present」、 DS MCC識別子「1」、プログラム名「bZGameXlet」の組である。ここでふたつの Javaプ ログラムは同じ DSMCC識別子を持つ力 これはひとつの DSMCC方式でェンコ一 ドされたファイルシステム内にふたつの Javaプログラムが含まれていることを表す。こ こでは、 Javaプログラムに対して四つの情報しか規定しな 、が、実際にはより多くの 情報が定義される。詳細は DVB— MHP規格を参照された ヽ。
[0184] AM705bは、 AITの中から「autostart」の Javaプログラムを見つけ出し、対応する DSMCC識別子及び Javaプログラム名を抽出する。図 15を参照して、 AM705bは 行 1411の Javaプログラムを抽出し、 DSMCC識別子「1」及び Javaプログラム名「aZ TopXlet」を獲得する。
[0185] 次に AM705bは、 AITから取得した DSMCC識別子を用いて、 Javaプログラムを DSMCC方式で格納しているパケットのパケット IDを PMT力 獲得する。具体的に は、 PMTの中でストリーム種別が「データ」で、補足情報の DSMCC識別子が合致 するエレメンタリ一ストリームのパケット IDを取得する。
[0186] 今、 DSMCC識別子力 「1」であり、 PMTが図 14とすると、行 1314のエレメンタリー ストリームが合致し、パケット ID「5014」を取り出す。
[0187] AM705bは、 OS701のライブラリ 701bを通して多重分離部 505に DSMCC方式 でデータが埋めこめられたパケットのパケット IDを指定する。ここでは、パケット ID「50 14」を与える。多重分離部 505は、与えられたパケット IDでフィルタリングを行い、 CP U512に引き渡す。この結果、 AM705bは、必要なパケットを収集することができる。 AM705bは、収集したパケットから、 DSMCC方式に従ってファイルシステムを復元
し、第 1メモリ 502あるいは第 2メモリ 503に保存する。ファイルシステム等のデータを 取り出し第 1メモリ 502あるいは第 2メモリ 503に保存すことを以降、ダウンロードと呼
[0188] 図 16は、ダウンロードしたファイルシステムの一例を示す図である。図 16において、 丸はディレクトリを四角はファイルを表し、 1501はルートディレクトリ、 1502はディレク トリ「a」、 1503はディレクトリ「b」、 1504はファイル「TopXlet. class」、 1505はフアイ ノレ「GameXlet. class」である。
[0189] ここでは、 MPEG2トランスポートストリームからファイルシステムをダウンロードする 例を記載した力 OCAP仕様では、 IPネットワークを用いたダウンロードなども規定し ている。また、 AITではなく XAITと呼ばれる情報を用いてファイルシステムの存在位 置を特定し、ファイルシステムをダウンロードする方法も規定されて 、る。
[0190] 次に AM705bは、第 1メモリ 502あるいは第 2メモリ 503にダウンロードしたファイル システム中カゝら実行する Javaプログラムを JavaVM703に引き渡す。今、実行する Jav aプログラム名が「aZTopXlet」とすると、 Javaプログラム名の最後に「. classjを付カロ したファイル「aZTopXlet. class」が実行すべきファイルとなる。「Z」はディレクトリや ファイル名の区切りであり、図 16を参照して、ファイル 1504が実行すべき Javaプログ ラムである。次に AM705bは、フアイノレ 1504を Java VM703に引き渡す。
[0191] JavaVM703は、引き渡され^ Javaプログラムを実行する。
[0192] 次に、ネットワーク部 511からマルチメディアデータを出力する場合の処理について 説明する。
[0193] まず、サービスマネージャ 704は、 Javaライブラリ 705中にあるネットワークライブラリ 705eにチャンネルの識別子を与え、データの送信を依頼する。ネットワークライブラリ 705eは、まず、上言 6JMF705aおよび AM705bと同様に、 PAT、 PMTを取得し、送 信すべき番組に関する映像データ、音声データ、各セクションデータのパケット IDを 取得する。今、与えられたチャンネルの識別子が「2」で、図 12の PAT、図 14の PMT が送信されていると、 JMF705aと同様の手順で、図 14の PMTを獲得する。送信す べきデータは、図 14の PMTに記述された全てのデータである。
[0194] ネットワークライブラリ 705eは、 OS701のライブラリ 701bを通して TSデコーダ 507
に、これらのパケット IDを与え、 TSマルチプレクサ 510に出力させる。 TSデコーダ 50 7は、与えられたパケット IDでフィルタリングを行い、 TSマルチプレクサ 510に引き渡 す。
[0195] また、ネットワークライブラリ 705eは、 OS701のライブラリ 701bを通して TSマルチ プレクサ 510に、何種類のデータが送られてくるかを与えて、 TSデコーダ 507から引 き渡されたデータから、 MPEG2トランスポートストリームを構成させる。 TSマルチプレ クサ 510は、構成した MPEG2トランスポートストリームを、 CPUに引き渡す。
[0196] また、ネットワークライブラリ 510eは、 OS701のライブラリ 701bの NET701b4に送 信先のアドレスを与える。続いて、ネットワークライブラリ 701b4は、 TSマルチプレク サ 510から受け取った MPEG2トランスポートストリームを、送信するアプリケーション レベルのプロトコルに応じた形式に変換して、 NET701b4に順次引き渡す。アプリケ ーシヨンレベルのプロトコルとは、例えば、 HTTPや RTPといったものである。これに より、 NET701b4は、送信先アドレスを参照して、引き渡されたデータを IPネットヮー クのパケットに変換し、ネットワーク部 511に引き渡す。ネットワーク部 511では、引き 渡されたデータを、接続されたネットワークの物理メディアに応じた信号に変換して出 力する。
[0197] サービスマネージャ 704は、他のチャンネルの識別子を受け取ると、 Javaライブラリ 705に含まれる各ライブラリを通して再生している映像'音声及び Javaプログラムの実 行もしくはネットワークへの出力を、同じ avaライブラリ 705に含まれる各ライブラリを 通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像'音声の再 生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0198] また、サービスマネージャ 704は、再生部 702bだけでなく、 JavaVM703上で実行 される Javaプログラムカゝらチャンネルの識別子を受け取る機能も備える。具体的には 、チャンネルの識別子を受け取るための Java言語のクラス及びそのメソッドを提供す る。チャンネルの識別子を受け取ると、サービスマネージャ 704は、 Javaライブラリ 70 5に含まれる各ライブラリを通して現在再生している映像'音声及び Javaプログラムの 実行もしくはネットワークへの出力を、同じ avaライブラリ 705に含まれる各ライブラリ を通して停止し、その後、新たに受け取ったチャンネルの識別子に基づいて、新しい
映像'音声の再生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0199] また、上記では、通常の放送番組の再生やネットワークへの出力について記述した 力 VoDサービスの場合も同様である。
[0200] Javaライブラリ 705は、第 2メモリ 503に格納されている複数の Javaライブラリの集合 である。本実施の形態では、 Javaライブラリ 705は、 JMF705a、 AM705b、 Tuner7
05c、 CA705d、ネットワークライブラリ 705e、再生 Lib705f、 IO705g、 AWT705h 等を含んでいる。
[0201] JMF705a、 AM705b、 Tuner705c、 CA705dの機會 ίま、既【こ記述されて!、るの で省略する。
[0202] 再生 Lib705fは、第 2メモリ 503が記憶して!/、る、現在再生して!/、るチャンネルの識 別子を Javaプログラムに渡すための Java言語のクラスおよびメソッドを(以下 Java A PIと記述)提供する。この Java APIを利用することで、 Javaプログラムは、現在再生 中のチャンネルを知ることができる。
[0203] IO705gは、 Javaプログラムが第 2メモリ 703にデータを書き込むための Java API 、あるいは、その書き込んだデータを第 2メモリ 503から読み込むための Java APIを Javaプログラムに提供する。この APIを利用することで、 Javaプログラムは、任意のデ 一タを第 2メモリ 503に保存することができる。この保存されたデータは放送受信装置 102の電源がオフになっても消えないので、放送受信装置 102の電源が投入された 後、再びそのデータを読み込むことができる。
[0204] AWT705hは、 Javaプログラムが描画を行ったり、入力部 501からのキー入力通知 を受け取るための Java APIを提供する。具体的には、「The Java class Librari es Second Edition, Volume 2」 (13 ?^0— 201—31003— 1)で既定され¾)& va. awtノ ゝノケージ、 java. awt. eventノ ゝノケージ ¾_びその ftilの java. awtのサブノ ッケージが相当する。ここでは、詳細な説明を省略する。
[0205] SI705iは、 Javaプログラムがチャンネル情報や電子番組表情報を取得する Java APIを提供する。具体的には、 Java TV仕様などが存在する。また、生のバイナリー データを放送中の MPEG2トランスポートストリームから取得する MPEGセクションフ ィルター APIが OCAP仕様の中で定義されており、送信されてきた独自の電子番組
データを Javaアプリケーションが理解して取り扱うことも出来る。
[0206] ネットワークライブラリ 705eは、 OS701のライブラリ 701bの NET701b4を通して、 ネットワーク 107に接続された映像蓄積装置 103、映像蓄積装置 104、端末 105およ び端末 106と通信するものである。映像蓄積装置 103および映像蓄積装置 104とは 、映像蓄積装置の属性の送受信、マルチメディアデータの蓄積要求および該マルチ メディアデータの送信、特定のマルチメディアデータを蓄積して 、るか否かの問合せ 、該蓄積して 、るマルチメディアデータの送信要求および該マルチメディアデータの 利用に伴う権利処理の通信を行う。また、端末 105および端末 106とは、マルチメデ ィァデータの送信要求の受け付け、マルチメディアデータの送信もしくはマルチメディ ァデータが送信される映像蓄積装置の通知を行う。
[0207] 図 17は、本発明の実施の形態 2に係るネットワークライブラリ 705eの内部構成の一 例を表すブロック図である。ネットワークライブラリ 705eは、制御部 1601、データ受 信部 1602、情報通信部 1603、選択部 1604、データ出力部 1605、要求送信部 16 06、権利処理部 1607を含む。なお、ネットワークライブラリ 705eは、 IPネットワークに 関連する他の機能を含んでも良 、。
[0208] 制御部 1601は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 705eが実現する機能を提供する。すなわち、制御部 1601は、 Javaアプリケーシ ヨンに対して Java APIを提供し、 Javaアプリケーション力 この APIを呼び出すことで 、ネットワークを利用した機能が実行できる。制御部 1601は、 Java APIが呼び出さ れると、適宜、データ受信部 1602、情報通信部 1603、選択部 1604、データ出力部 1605、要求送信部 1606、権禾 IJ処理部 1607や、他の Javaライブラリ 705および OS 701のライブラリ 70 lbを利用して処理を行う。
[0209] 図 18は、本発明の実施の形態 2に係る制御部 1601が提供する Java APIの一例 を示す図である。図 18 (1)メソッド collectNetDevice Oは、ネットワーク 107に接続 されて 、る外部装置の情報を集め、その情報として NetDeviceオブジェクトの配列を 返す。具体的には、後述の情報通信部 1603のメソッド collectNetDevice Oを呼び 出し、その戻り値を返すものでる。本メソッドにより、ネットワークに接続された機器の 情報を得ることができる。
[0210] 図 19は、 NetDeviceクラスの構成の一例を示す図である。図 19で、 addrは該装置 のネットワークアドレスを、 friendlyNameは該装置につけたニックネームを、 dType は該装置の種別を表し、 0が放送受信装置、 1が映像蓄積装置、 2が端末を表すこと とする。このような情報は、 UPnP DAに定義された方法によって行うことが可能であ るため、処理の詳細は省略する。また、 attrは映像蓄積装置の属性であり、 DevAttr ibクラスのオブジェクトである。
[0211] 図 20は、 DevAttribクラスの構成の一例を示す図である。図 20において、 remain Capはマルチメディアデータを蓄積する空き領域の容量を表し、 replayFavoritGen reは、再生もしくはネットワークに出力したコンテンツのうち、最も頻度の高いジャンル を表し、 0が映画、 1がスポーツ、などのように表す。 recordFavoritGenreは、ユー ザ操作によって録画したコンテンツのうち、最も頻度の高いジャンルを表す。
[0212] 図 18 (2)メソッド sendMultimediaData ()は、チャンネルの識別子を指定して、映 像蓄積装置 103もしくは映像蓄積装置 104にマルチメディアデータを送信するもの で、成功すれば trueが返り、失敗すれば falseが返るものである。
[0213] また、図 18 (3)メソッド acceptMultimediaRequest Oは、呼び出されれば、別の プロセスもしくはスレッドを起動してその上で動作することで常駐するものであり、端末 力ものマルチメディアデータ送信要求を受け付け、映像蓄積装置 103もしくは映像蓄 積装置 104に該マルチメディアデータが蓄積されているかどうかを調べ、蓄積されて いる場合は、該映像蓄積装置に端末への送信要求を発行するとともに、該要求を発 行した端末には該映像蓄積装置カゝらマルチメディアデータが送信されることを通知し 、また、蓄積されていない場合には、該マルチメディアデータを放送局から受信して 該端末へ送信するものであり、正常終了時は trueを返し、異常時には falseを返すも のである。なお、常駐せずにひとつの要求をうければ終了する構成であっても良い。
[0214] これらのメソッドは、データ受信部 1602、情報通信部 1603、選択部 1604、データ 出力部 1605、要求送信部 1606および権利処理部 1607の APIを用いて動作するも のであるため、詳細は後述する。
[0215] 図 18 (4)メソッドcollectMultimediaData 0は、Javaラィブラリ705などを利用して 、 VoDサービスにより提供されるマルチメディアコンテンツを検索し、その一部もしく
は全部をサービスマネージャ 704に依頼することにより受信し、メソッド sendMultim ediaData Oを呼び出して、映像蓄積装置に送信するものであり、成功すれば trueを 、失敗すれば falseを返す。
[0216] 図 18 (5)メソッド setSelectAlgorithm Oは、選択部 1604が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。本メソッドは選択部 1604のメソッド setSelectAlgorithm Oを呼び出すことで 行われる。
[0217] 図 18 (6)メソッド setStoragePriority ()は、選択部 1604が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。本メソッドは、選択部 1604のメソッド setStoragePriority ()を 呼び出すことで行われる。なお、本メソッドは、映像蓄積装置とその優先度の値の組 の配列を引数として設定する構成であっても良い。
[0218] 図 18 (7) setTerminalPriority Oは、選択部 1604が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。本メソッドは、選択部 1604のメソッド setTerminalPriority Oを呼び出 すことで行われる。なお、本メソッドは、端末とその優先度の値の組の配列を引数とし て設定する構成であっても良い。
[0219] 図 18 (8)メソッド setCombination Oは、選択部 1604が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。本メソッドは、選択部 1604の setCo mbination ()を呼び出すことで行われる。
[0220] 図 18 (9)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、選択 部 1604のメソッド setSelectedStorageDevice ()を呼び出すことにより行われるの
で、そちらで詳細は述べる。
[0221] 図 18 (10)メソッド registerHandler ()は、引数 handlerで与えられたハンドラをシ ステムに登録するもので、成功すれば trueを返し、失敗すれば falseを返す。 Javaァ プリケーシヨンは、該ハンドラを登録することにより、ネットワークライブラリ 705eからコ ールバックを受けることができる。
[0222] データ受信部 1602は、放送受信装置 102の TSデコーダ 507と TSマルチプレクサ
510を OS701のライブラリ 701を通じて制御し、 TSデコーダ 507によってフィルタリン グされた、映像、音声、セクションデータを TSマルチプレクサ 510によって MPEG2ト ランスポートストリームに構成して読み出すものである。
[0223] データ受信部 1602は、制御部 1601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0224] 図 21は、本発明の実施の形態 2に係るデータ受信部 1602が提供する Java API の一例を示す図である。
[0225] 図 21 (1)メソッド openProgram Oは、引数で指定されたチャンネルの識別子から、
TSマルチプレクサ 510が構成した MPEG2トランスポートストリームを読み出す Input
Streamのオブジェクトを返す。なお、失敗時には nullが返る。
[0226] 情報通信部 1603は、 OS701のライブラリ 701の NET701b4を通じて、放送受信 装置 102のネットワーク部 511を制御し、指定されたネットワーク 107に接続されてい る外部機器と、メッセージの送受信を行うものである。
[0227] 情報通信部 1603は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0228] 図 22は、本発明の実施の形態 2に係る情報通信部 1603が提供する Java APIの 一例を示す図である。図 22 (1)メソッド checkStorageAttribute Oは、引数で指定 された情報蓄積装置に属性送信要求を送り、返答を受信して引数 devで示された Ne tDeviceクラスのオブジェクトに属性を設定するもので、成功すれば trueを返し、失 敗すれば falseを返すものである。図 22 (2)メソッド56!1(131;0 1^ 1½51; ()は、引数 d evで指定された映像蓄積装置に蓄積要求を送信して返答を受信するもので、成功 すれば trueを返し、通信失敗もしくは要求拒否を受信した場合は falseを返すもので
ある。引数 idは、制御部 1601が発行したマルチメディアデータの識別子であり、送信 要求とともに、映像蓄積装置に送られる。図 22 (3)メソッド&51^01^61^31;0 (1()は 、引数 devで指定される映像蓄積装置に、引数 idで指定されるマルチメディアデータ を蓄積している力否かの問い合わせを送信し、返答を受信するもので、蓄積している と返答を受けた場合は trueを、蓄積していないと返答を受けた場合もしくは通信に失 敗した場合は falseをそれぞれ返す。図 22 (4)メソッド56!1(11^&115£6 1^ 1½51; ()は、 弓 I数 serverで指定される映像蓄積装置に、引数 idで指定されるマルチメディアデー タを、引数 clientで指定される端末へ送信する要求を送信して返答を受信するもの であり、 OKを受信した場合は trueを、 NGを受信した場合もしくは通信に失敗した場 合は falseを、それぞれ返す。図 22 (5)メソッド& 6 1;丁61:111^1&11^ 11651; ()は、引数 sで指定される Socketオブジェクトを用いて、該 Socketオブジェクトによって接続さ れて 、る端末からの要求を受信し、端末が送信を要求して 、るマルチメディアデータ の識別子を引数 reqに入れるものであり、通信が成功すれば trueを、失敗すれば fal seを、それぞれ返す。図 23に MMRequestクラスの構成を示す。図 22 (6)メソッド no tifyTransferDevice Oは、引数 sで指定される Socketオブジェクトを用いて、該 So cketオブジェクトによって接続されている端末へ、引数 devで指定される映像蓄積装 置カゝらマルチメディアデータが送信されることを通知するもので、成功すれば trueを 返し、失敗すれば falseを返すものである。図 22 (7)メソッド!10 £ 1^&115£6 0& & () は、引数 sで指定される Socketオブジェクトを用いて、該 Socketオブジェクトによって 接続されて ヽる端末へ、放送受信装置 102からマルチメディアデータが送信されるこ とを通知するもので、成功すれば trueを返し、失敗すれば falseを返すものである。 図 22 (8)メソッド110 £ 1111&1)161^&115£61:()は、引数 sで指定される Socketオブジェ タトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 statusで 表される理由により、要求されたマルチメディアデータを送信できないことを通知する ものであり、成功すれば trueを返し、失敗すれば falseを返すものである。図 22 (9)メ ソッド collectNetDevice Oは、ネットワーク 107に接続されている外部装置の情報を 集め、その情報として NetDeviceオブジェクトの配列を返す。この処理は、 UPnP D Aに定義された方法によって行うことが可能であるため、処理の詳細は省略する。
[0229] 選択部 1604は、設定されたアルゴリズムにした力^、、映像蓄積装置の属性および マルチメディアデータの属性などから、ネットワーク 107に接続された映像蓄積装置 のうちひとつを選択するものである。
[0230] 選択部 1604は、制御部 1601およびダウンロードし^ Javaアプリケーションに Java
APIを提供する。図 24は、本発明の実施の形態 2に係る選択部 1604が提供する J ava APIの一例である。
[0231] 図 24 (1)メソッド selectDevice ()は、後述のメソッド setAlgorithm Oによって設定 されたアルゴリズムにしたがって、引数 devicesで示された映像蓄積装置の中から、 d evicesに格納されている映像蓄積装置の属性、および、引数 idで示されたチャンネ ルの識別子と図 10に示した第 2メモリ 503に記憶している番組情報力も読み取れる マルチメディアデータの属性などをもとに、ひとつの映像蓄積装置を選択するもので あり、成功すれば選択した映像記憶装置を devicesのインデックスで返し、失敗すれ ば負の値を返すものである。選択するアルゴリズムとしては、空き容量の大きい映像 蓄積装置を選択する、マルチメディアデータのジャンルごとに映像蓄積装置を割り振 つて選択する、該マルチメディアデータのジャンルと同じジャンルのマルチメディアデ ータをユーザ操作によって録画した頻度の高い映像蓄積装置を選択する、後述のメ ソッド setStoragePriority Oによって設定された、映像蓄積装置の優先度にしたが つて選択する、後述のメソッド setTerminalPriority Oによって設定された端末の優 先度と、後述のメソッド setCombination Oによって設定された端末と映像蓄積装置 の組から、端末の優先度にしたがって端末を選択し、その端末と組になつている映像 蓄積装置を選択する、あるいは、複数の映像蓄積装置があった場合に、 Javaアプリ ケーシヨンにコールバック関数によって知らせ、ユーザに一覧を提示し、ユーザから の入力を受け付けて、後述のメソッド setSelectedStorageDevice Oによって指定さ れた映像蓄積装置を選択する、などがある。
[0232] 図 24 (2)メソッド setSelectAlgorithm Oは、選択部 1604が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。
[0233] 図 24 (3)メソッド setStoragePriority ()は、選択部 1604が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。なお、本メソッドは、映像蓄積装置とその優先度の値の組の配 列を引数として設定する構成であっても良 、。
[0234] 図 24 (4) setTerminalPriority Oは、選択部 1604が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。なお、本メソッドは、端末とその優先度の値の組の配列を引数として設 定する構成であっても良い。
[0235] 図 24 (5)メソッド56 0)1!1 11& 1011 ()は、選択部 1604が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。
[0236] 図 24 (6)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、メソッ ド selectDevice O力 設定されたアルゴリズムによりユーザの入力によって選択する 場合、 Javaアプリケーションにコールバック関数によって通知し、ユーザの入力を受 け付けた javaアプリケーションによって呼び出されるものである。コールバック関数は 、 Javaアプリケーションのハンドラオブジェクトを Handlerとすると、 Handler, notify ( NetDevices [] devices, Object obj)といったもので、これにより Javaアプリケー シヨンは引数で与えられた映像蓄積装置の一覧をユーザに提示して、ユーザ入力を 受け付ける。受け付けた入力から、指定されたものの、配列 devicesのインデックスを 取得し、引数 objで制御部 1601もしくは選択部 1604のインスタンスが与えられるの で、そのメソッド setSelectedStorageDevice Oを呼び出して設定する。上記ハンド ラオブジェクト Handlerは、制御部 1601のメソッド registerHandler Oによって、登 録されたものである。なお、選択部 1604力 同じ registerHandler Oメソッドをもち、 J avaアプリケーションに公開する構成であっても良い。
[0237] データ出力部 1605は、 OS701のライブラリ 701の NET701b4を通じて、放送受 信装置 102のネットワーク部 511を制御し、指定されたネットワーク 107に接続されて Vヽる外部機器に、データ受信部 1602が受信したマルチメディアデータを送信するも のである。
[0238] データ出力部 1605は、制御部 1601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。図 25は、本発明の実施の形態 2に係るデータ出力部 160 5が提供する Java APIの一例である。図 25 (1)メソッド sendData Oは、引数 devで 指定されたネットワーク 107に接続されている装置に、引数 isで指定された InputStr earnオブジェクトから読み込んだデータを、 is力も EOFを読み込むまで送信するもの で、成功すれば trueを返し、失敗すれば falseを返すものである。
[0239] 要求送信部 1606は、サービスマネージャ 704に、 VoDサービスのマルチメディア データ送信要求を依頼するものである。
[0240] 要求送信部 1606は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。図 26は、本発明の実施の形態 2に係る要求送信部 1606が 提供する Java APIの一例である。図 26 (1)メソッド sendRequest Oは、引数 idで指 定されたマルチメディアデータの送信要求を、サービスマネージャ 704に依頼するも ので、成功すれば trueが返り、失敗すれば falseが返るものである。
[0241] 権利処理部 1607は、サービスマネージャ 704に、マルチメディアデータの利用に 伴う課金などの権利処理を依頼するものである。
[0242] 権利処理部 1607は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0243] 図 27は、本発明の実施の形態 2に係る権利処理部 1607が提供する Java APIの 一例である。図 27 (1)メソッド requestContentUse Oは、引数 idで指定されたコン テンッの権利処理をサービスマネージャ 704に依頼するものであり、コンテンツ使用 が許可されれば trueが返り、許可されない、もしくは処理に失敗すれば falseが返る ものである。
[0244] ここで、制御部 1601の、メソッド sendMultimediaData ()およびメソッド acceptM ultimediaRequest ()の処理を説明する。
[0245] まず、メソッド sendMultimediaData ()の処理にっ 、て説明する。 sendMultimed iaData Oが呼び出されれば、まず、制御部 1601のメソッド collectNetDevice ()に よって、ネットワーク 107に接続された映像蓄積装置を検索する。続いて、各映像蓄 積装置ごとに、情報通信部 1603のメソッド checkS torageAttribute ()を呼び出し て、各映像蓄積装置の属性を調べる。続いて、選択部 1604のメソッド selectDevice 0を呼び出して、映像蓄積装置を選択する。さらに、このマルチメディアデータを識 別する識別子を発行する。選択した映像蓄積装置に対し、情報通信部 1603のメソッ ド sendStoreRequest Oを呼び出すことで、蓄積要求をマルチメディアデータの識 別子とマルチメディアデータの番組情報ともに送信する。続いて、データ受信部 160 2のメソッド openProgram Oを呼び出して、マノレチメディアデータを読み出す Input Streamオブジェクトを取得する。さらに、データ出力部 1605のメソッド sendData O を呼び出して、選択した映像蓄積装置に、受信したマルチメディアデータを送信する 。処理が成功すれば、マルチメディアデータの属性とともに、発行したマルチメディア データの識別子を第 2メモリ 503に記憶させる。
[0246] なお、 collectNetDevice ()を実行したあとに、これらの情報を第 2メモリ 503に記 憶させ、以降は第 2メモリ 503に記憶したものを読み出す構成であっても良い。
[0247] 次に、メソッド acceptMultimediaRequest ()の処理にっ 、て説明する。メソッド ac ceptMultimediaRequest ()は、呼び出されると、別のスレッドもしくはプロセスを生 成し、その上で動作する。まず、端末からの接続を受け付ける Socketオブジェクトを 作成し、接続要求を待ち受ける。端末から、接続要求がくれば、情報通信部 1603の メソッド acceptTerminalRequest Oを呼び出し、該端末からの要求を受信する。続 いて、要求されたマルチメディアデータの識別子を、端末からの要求、もしくは端末か ら受け取ったチャンネルの識別子と第 2メモリ 503に記憶させた情報とから特定する。 次に、制御部 1601のメソッド collectNetDevice ()を呼び出す力、もしくは、第 2メモ リ 503に記憶させた情報から、ネットワークに接続された映像蓄積装置を検索する。 続いて、各映像蓄積装置ごとに、情報通信部 1603のメソッド askContentStored O を呼び出し、該映像蓄積装置に該マルチメディアデータが蓄積されているか否かを 問い合せる。蓄積している映像記憶装置があれば、該映像蓄積装置に、情報通信部
1603のメソッド sendTransferRequest Oを呼び出すことによって、該要求のあった 端末へ、該マルチメディアデータの送信要求を発行する。なお、該要求のあった端 末は、端末と通信している Socketオブジェクトと、管理部のメソッド collectNetDevic e ()の結果もしくは第 2メモリ 503に記憶させた情報より特定する。なお、このとき、必 要であれば、権利処理部 1607のメソッド requestContentUse ()を呼び出すことで 、権利処理を行う。続いて、該要求のあった端末には、情報通信部 1603のメソッド n otigyTransferDevice ()を呼び出すことで、該蓄積して ヽる映像蓄積装置を通知す る。また、該マルチメディアデータを蓄積している映像蓄積装置が見つからな力つた 場合は、要求送信部 1606のメソッド sendRequest Oを呼び出すことにより、データ 送信要求を発行する。該マルチメディアデータが放送局から送信されな!ヽもしくは何 らかの理由により受信できないために、 sendRequest O力 ^alseを返せば、情報通信 部 1603のメソッド notifyUnableTransferOを呼び出して、該端末へデータ送信が 不可能なことを通知し、待ち受け要求に戻る。また、 sendrequest O力 ¾rueを返した ときは、情報通信部 1603のメソッド notifyTmnsferData ()メソッドを呼び出すことに より、該端末に、放送受信装置 102から該マルチメディアデータを送信することを通 知する。続いて、上記メソッド sendMultimediaData Oの場合と同様、データ受信部 1602のメソッド openProgramOを呼び出し、続いて、データ出力部 1605のメソッド sendData Oを呼び出すことで、該端末へ該マルチメディアデータを送信する。デー タ送信が終了すれば、接続要求の待ち受けに戻る。なお、接続要求を受け付けると、 さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくはプロ セスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成であ つても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち受け に戻らず、終了する。
以上の構成により、 Javaアプリケーションは、 VoDサービス用のコンテンツデータを 、利用に先立って受信し、映像蓄積装置に蓄積しておくことが可能となる。なお、この 蓄積は、一定の時間間隔で実行しても良ぐまた、ユーザの設定した日時に行っても 良い。また、ユーザの設定した時間間隔で行っても良い。また、ユーザの操作により 行っても良い。また、放送局 108からの指示で行っても良い。
[0249] 次に、映像蓄積装置 103および映像蓄積装置 104の構成について説明する。
[0250] 図 28は、本発明の実施の形態 2に係る映像蓄積装置 103および映像蓄積装置 10 4の構成要素の関係を示したブロック図である。本実施の形態の映像蓄積装置 103 および映像蓄積装置 104は、入力部 2701、第 1メモリ 2702、第 2メモリ 2703、多重 分離部 2704、 TSデコーダ 2705、映像出力部 2706、音声出力部 2707、ネットヮー ク部 2708、および、 CPU2709で構成される。なお、本実施の形態おける映像蓄積 装置 103および映像蓄積装置 104は、マルチメディアデータを蓄積するだけでなぐ ユーザの操作によって、放送受信装置 102から受信したマルチメディアデータおよび 蓄積したマルチメディアデータの再生も行う構成である。
[0251] 入力部 2701、第 1メモリ 2702、および、第 2メモリ 2703は、上記した本実施の形態 における放送受信装置 102の入力部 501、第 1メモリ 502、第 2メモリ 503と同様のも のである。なお、映像蓄積装置 103および映像蓄積装置 104は、第 2メモリ 2703に、 マルチメディアデータを蓄積する。また、マルチメディアデータだけでなぐ該マルチ メディアデータの識別子、タイトル、放送日時、放送チャンネルなど EPGカゝら得られる 番組情報も同時に、メタデータとして蓄積する。
[0252] 多重分離部 2704は、 CPU2709から MPEGトランスポートストリームを受け取り、 C PU2709から指定された情報を抽出し、 CPU2709に引き渡す。また、 MPEGトラン スポートストリームをそのまま TSデコーダ 2705に引き渡す。
[0253] TSデコーダ 2705は、 CPU2709力ら、音声データ、映像データの識別子を受け 取る。さらに、多重分離部 2704から受け取ったストリームから、受け取った音声デー タ、映像データの識別子に対応するデータを抽出する。抽出した映像データを映像 出力部 2706に、音声データを音声出力部 2707に、それぞれ引き渡す。
[0254] 映像出力部 2706、音声出力部 2707は、上記した本実施の形態における放送受 信装置 102の映像出力部 508、音声出力部 509と同様のものである。
[0255] ネットワーク部 2708は、ネットワークインタフェースを含み、 CPU2709から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、 IPネットワークで規定されたパケットに変換して、 CPU2709へ引き渡す。
[0256] CPU2709は、第 2メモリ 2703が記憶するプログラムを実行することで、多重分離 部 2704、 TSデコーダ 2705、ネットワーク部 2709を制御する。
[0257] 図 29は、本発明の実施の形態 2に係る映像蓄積装置が保持し、実行するプロダラ ム構成を示す図である。本図は、第 2メモリ 2703に記憶保持され、 CPU2709〖こ実 行されるプログラムの構成の一例を示す図である。
[0258] プログラム 2800は、複数のサブプログラムで構成され、具体的には OS2801、 Jav aVM2802、サービスマネージャ 2803、 Javaライブラリ 2804で構成される。
[0259] OS2801は、映像蓄積装置 103および映像蓄積装置 104の電源が投入されると、 CPU2709が起動するサブプログラムである。 OS 2801は、オペレーティングシステ ムの略であり、 Linux等が一例である。 OS2801は、他のサブプログラムを平行して 実行するカーネル 2801a及びライブラリ 2801bで構成される公知の技術の総称であ り、詳細な説明は省略する。本実施の形態においては、 OS2801のカーネル 2801a は、 JavaVM2803をサブプログラムとして実行する。また、ライブラリ 2801bは、これ らサブプログラムに対して、映像蓄積装置 103および映像蓄積装置 104が保持する 構成要素を制御するための複数の機能を提供する。
[0260] 本実施の形態では、ライブラリ 2801bは機能の一例として、限定解除 2801bl、 A V再生 2802b2、 NET2801b3を含む。
[0261] 限定解除 2802blは、他のサブプログラムや Javaライブラリ 2804の CA2804cから 情報を受け取り、ネットワーク力も受信した暗号ィ匕データを復号したり、 AV再生 2801 b2を有効にして、ネットワーク力も受信したマルチメディアデータおよび第 2メモリ 270 3に蓄積したマルチメディアデータの再生を許可したりするものである。
[0262] AV再生 2802b2は、他のサブプログラムや Javaライブラリ 2804の JMF2804aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 2705に与える。この結果、 TSデコーダ 2705は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0263] NET2801b3は、他のサブプログラムや Javaライブラリ 2804のネットワークライブラ リ 2804dから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より 下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え
ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 2708に 引き渡すことで、ネットワーク 107を介して他の機器にメッセージおよびデータを送信 する。また、ネットワーク 107を介して他の機器からのメッセージを受信したときに、他 のサブプログラムや Javaライブラリ 2804のネットワークライブラリ 2804dに、アプリケ ーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコ ノレとは、例えば、 HTTPや RTPなどである。
[0264] JavaVM2802は、上記した本実施の形態における放送受信装置 102の Java VM 703と同様のものである。
[0265] サービスマネージャ 2803は、上記した本実施の形態における放送受信装置 102 のサービスマネージャ 704と、以下の相違点を除いて同様のものである。サービスマ ネージャ 704は再生部 702bよりチャンネル識別子を受け取り、その識別子を Tuner 705cに引き渡してチューニングさせ、さらに CA705dに依頼してデスクランブルを行 い、 JMF705aにチャンネルの識別子を与えて映像 '音声の再生を依頼するものであ つたが、サービスマネージャ 2803は、 Javaライブラリ 2804の中にある List280^から コンテンツの識別子を受け取り、 Javaライブラリ 2804の中にある IO2804fにコンテン ッの識別子を渡して第 2メモリ 2703に蓄積しているストリームを読み出す力 ネットヮ 一クライブラリ 2804dにコンテンッの識別子とそれを受信する装置を引き渡して、該 装置からストリームを受信するかを行 、、続 、て、 Javaライブラリ 2804の中にある JM F2804aにコンテンツの識別子を与えることで、映像'音声の再生を依頼するもので ある。 List2804iについては、後述する。
[0266] また、サービスマネージャ 2803は、 Javaライブラリ 2804の中にあるネットワークライ ブラリ 2804dに、放送受信装置 102からの蓄積要求待ち受け、および、データ受信と 蓄積を依頼することで、放送受信装置 102からマルチメディアデータを受信して、第 2メモジ 2703に蓄積する。
[0267] また、サービスマネージャ 2803は、 Javaライブラリ 2804の中にあるネットワークライ ブラリ 2804dに、放送受信装置 102からのマルチメディアデータ送信要求依頼、およ び、端末 105もしくは端末 106からのデータ送信要求の受付と、該依頼に対応したデ ータ送信を依頼することにより、第 2メモリ 2703に蓄積したマルチメディアデータを端
末に送信する。
[0268] Javaライブラリ 2804は、第 2メモリ 2703に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 2804は、 JMF2804a、 AM2804b 、 CA2804c、ネットワークライブラリ 2804d、再生 Lib2804e、 List2804i等を含んで いる。
[0269] JMF2804a、 AM2804b、再生 Lib2804e、 IO2804f、 AWT2804g、 SI2804h は、それぞれ、上記した本実施の形態における放送受信装置 102の Javaライブラリ 7 05の中の JMF705a、 AM705b、再生 Lib705f、 IO705g、 AWT705h、 SI705iと 同様のものである。
[0270] CA2804cは、ネットワーク 107経由で送信されてきたマルチメディアデータおよび 第 2メモリ 2703に蓄積したマルチメディアデータのコピー制御および課金など、該マ ルチメディアデータの権利処理を管理するものである。コピー制御は、送信されてき たトランスポートストリームのセクション情報に含まれているコピー制御情報を参照して 、必要であれば書き換えを行う。また、課金などは、ネットワークライブラリ 2804dを通 して、放送受信装置 102と通信することによって行う。
[0271] List2804iは、放送受信装置 102における EPG、第 2メモリ 2703〖こ蓄積されてい るマルチメディアコンテンツの一覧、および、ネットワーク 107に接続された映像蓄積 装置に蓄積されているマルチメディアコンテンツの一覧を表示し、入力部 2701が受 け付けたユーザ操作によって、一覧からひとつのマルチメディアコンテンツを選択し、 サービスマネージャ 2803に再生を依頼するものである。放送受信装置 102もしくは ネットワーク 107に接続された他の映像蓄積装置に蓄積されたコンテンツの場合は、 該装置の情報もサービスマネージャ 2803に弓 Iき渡す。第 2メモリ 2703に蓄積された コンテンツの一覧は IO2804fを通して情報を読み出すことで取得できる。また、放送 受信装置 102における EPGおよびネットワーク 107に接続された他の映像蓄積装置 に蓄積されたコンテンツの一覧は、ネットワークライブラリ 2804dを通して、取得するこ とができる。これらの情報は、 UPnP AVに定義された方法によって実現できるため、 詳細説明は省略する。
[0272] ネットワークライブラリ 2804dは、 OS2801bの NET2801b3を通して、ネットワーク
107に接続された放送受信装置 102、他の映像受信装置、端末 105および端末 10 6と通信するものである。放送受信装置 102とは、映像蓄積装置の属性送信、マルチ メディアデータの蓄積要求受信と該マルチメディアデータの受信、マルチメディアデ ータを蓄積して 、るかの問 、合わせ受信とその返信、蓄積して 、るマルチメディアデ ータの送信依頼受付および該マルチメディアデータの利用に伴う権利処理の通信を 行う。また、他の放送受信装置、端末 105および端末 106とは、マルチメディアデー タの一覧送受信、マルチメディアデータの送信、マルチメディアデータの受信を行う。
[0273] 図 30は、本発明の実施の形態 2に係るネットワークライブラリ 2804dの内部構成の 第 2の例を示すブロック図である。ネットワークライブラリ 2804dは、制御部 2901、制 御情報通信部 2902、データ受信部 2903、データ送信部 2904、属性管理部 2905 、権利処理部 2906を含む。なお、ネットワークライブラリ 2804dは、 IPネットワークに 関連する他の機能を含んでも良 、。
[0274] 制御部 2901は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 2804dが実現する機能を提供する。すなわち、制御部 2901は、ダウンロードした Javaアプリケーションに対して Java APIを提供し、 Javaアプリケーションがこの API を呼び出すことで、ネットワークを利用した機能が実現できる。制御部 2901は、 Java APIが呼び出されると、適宜、制御情報通信部 2902、データ受信部 2903、データ 送信部 2904、属性管理部 2905、権利処理部 2906や、他の Javaライブラリ 2804お よび OS 2801のライブラリ 280 lbを利用して処理を行う。
[0275] 図 31は、本発明の実施の形態 2に係るネットワークライブラリ 2804dの内部構成に 含まれる制御部 2901が提供する Java APIの一例を示す図である。
[0276] 図 31 (1)メソッド collectNetDevice Oは、ネットワーク 107に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返し、失敗時は nullを返す。このメソッドは後述の制御情報通信部 2902のメソッド collectNetDevic e ()を用いることで行う。
[0277] 図 31 (2)メソッド acceptRequestToStore ()は、呼び出されれば別のプロセスもし くはスレッドを起動してその上で動作することで常駐するものであり、放送受信装置 1 02からの属性送信要求受付け、マルチメディアデータの蓄積要求受付、マルチメデ
ィァデータの受信と第 2メモリ 2703への蓄積を行う。正常終了時には trueを返し、異 常時には falseを返す。なお、常駐せずにひとつの要求をうければ終了する構成であ つても良い。また、 Javaアプリケーション力もネットワーク 107に接続された機器が引 数で渡され、その機器と通信することより、該機器からデータを受信して蓄積する構 成であっても良い。詳細については後述する。
[0278] 図 31 (3)メソッド acceptRequestToTransfer Oは、呼び出されれば別のプロセス もしくはスレッドを起動してその上で動作することで常駐するものであり、放送受信装 置 102からの特定のマルチメディアデータを蓄積しているか否かの問い合わせを受 け付けて返答し、また、放送受信装置 102から特定のマルチメディアデータを特定の 端末への送信要求を受け付けて、該マルチメディアデータを該端末へ送信するもの である。また、端末 105、端末 106など外部装置力もマルチメディアデータの送信要 求を受け付けて、該マルチメディアデータを送信するものである。正常終了時には tr ueを返し、異常時には falseを返す。なお、常駐せずにひとつの要求をうければ終了 する構成であっても良い。詳細については後述する。
[0279] 図 31 (4)メソッド getMultimediaData Oは、 Javaアプリケーションもしくは他のサブ プログラム力もネットワーク 107に接続された装置とコンテンツの識別子と出カストリー ムを受け付け、該装置から、該識別子で特定されるマルチメディアデータを受信し、 該出カストリームへ書き込むものである。成功時には trueを返し、失敗時には falseを 返す。このメソッドにより、 Javaアプリケーションは、ネットワーク 107に接続された他の 機器がもつマルチメディアデータを受信して再生することができる。詳細については 後述する。
[0280] 図 31 (5)および(6)メソッド getContentList Oは、 Javaアプリケーションもしくは他 のサブプログラムから、ネットワーク 107に接続された映像蓄積装置を受け取り、その 映像蓄積装置が蓄積して 、るコンテンツ一覧を取得し、 Contentlnfoオブジェクトの 配列で返すもので、成功時にはこの配列力 失敗時には nullが返るものである。この メソッドは、引数としてひとつの NetDeviceオブジェクトをとる場合と、 NetDeviceォ ブジエタトの配列をとる場合がある。図 32は、本発明の実施の形態 2に係るネットヮー クライブラリ 2804dで使用される Contentlnf oクラスの構成の一例を示す図である。
図 32で、 devは該映像蓄積装置を示し、 contentldは該コンテンツの識別子を表し、 channelldは該コンテンツが放送されたチャンネルの識別子を表し、 titleは該コンテ ンッのタイトルを表し、 gunreは該コンテンツのジャンルを表し、 broadDaeは該コンテ ンッが放送された日時を表し、 recDateは該コンテンツが録画された日時を表す。こ れは後述の制御情報通信部 2902のメソッド getContentList ()を呼び出すことで行 われる。
[0281] 図 31 (7) getEPGData ()は、指定された機器から EPG情報を取得して Contentl nfoオブジェクトの配列を返すもので、引数 devで指定される装置が放送受信装置 10 2でないか、失敗した場合は nullを返すものである。本メソッドは、後述する制御情報 通信部 1602のメソッド getEPGData ()を呼び出すことで行われる。
[0282] 図 31 (8)メソッド updateAttribute ()は、引数 idで指定されたコンテンツ力 引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。本メソッドは、後述する属性管理部 2905のメ ソッド updateAttribute ()を呼び出すことで行われる。
[0283] 制御情報通信部 2902は、 OS2801のライブラリ 2801の NET2801b3を通じてネ ットワーク部 2708を制御し、指定されたネットワーク 107に接続されている外部機器 と、メッセージの送受信を行うものである。
[0284] 制御情報通信部 2902は、制御部 2901およびダウンロードし^ Javaアプリケーショ ンに Java APIを提供する。
[0285] 図 33は、制御情報通信部 2902が提供する Java APIの一例である。
[0286] 図 33 (1)メソッド collectNetDevice ()は、上記の本実施の形態における放送受信 装置 102のネットワークライブラリ 705eの情報通信部 1603のメソッド collectNetDe vice ()と同様のものである。
[0287] 図 33 (2)メソッドgetRequestMessage Oは、引数 sで与えられたソケットからメッセ ージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば null を返すものである。本メソッドは、外部機器力もの要求を受信するときに用いるもので ある。
[0288] 図 33 (3)メソッドsendResponseMessage Oは、引数 sで与えられたソケットに、引
数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗 すれば falseを返す。このメソッドは、外部機器からの要求に対する返答を送るときに 用いられる。
[0289] 図 33 (4)メソッドsendRequestMessage Oは、引数 sで与えられたソケットに、引数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗す れば falseを返す。このメソッドは、外部機器へ要求を送るときに用いられる。
[0290] 図 33 (5)メソッドgetResponseMessage Oは、引数 sで与えられたソケットからメッ セージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば nul 1を返すものである。本メソッドは、外部装置に送った要求に対する返答を該外部装置 力 受信するときに用いるものである。
[0291] 図 33 (6)および(7)メソッド getConentList Oは、引数 devで与えられた映像蓄積 装置、もしくは devicesで与えられた複数の映像蓄積装置に蓄積されて 、るコンテン ッの一覧を取得し、 Contentlnfoオブジェクトの配列を返すもので、成功時には該配 列が、失敗時には nullが返る。各映像記憶装置に蓄積されたコンテンツ一覧の取得 は、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0292] 図 33 (8)メソッド getEPGData Oは、引数 devで与えられた放送受信装置力も EP G情報を取得して、 Contentlnfoオブジェクトの配列を返すものであり、成功時には 該配列が、失敗時には nullが返る。放送受信装置力もの EPG情報の取得も、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0293] データ受信部 2903は、 OS2801のライブラリ 2801の NET2801b3を通じてネット ワーク部 2708を制御し、ネットワーク 107に接続された放送受信装置もしくは映像蓄 積装置から、ネットワーク 107を通じてマルチメディアデータを受信するものである。
[0294] データ受信部 2903は、制御部 2901およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0295] 図 34は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる データ受信部 2903が提供する Java APIの一例である。
[0296] 図 34 (1)メソッド openRemoteProgram Oは、引数 devで与えられた装置の、引数 portで指定されたポートから、マルチメディアデータを受信する通信路を確保し、 Re
moteProgramオブジェクトで返すもので、成功時には該オブジェクトが、失敗時に は nullが返る。図 35は、 RemoteProgramクラスの構成の一例を示す図である。図 3 5で、 sは通信の用いるソケットを表す。メソッド getMedialnputStream Oは、該マル チメディアデータを読み出す InputStreamオブジェクトを返すものである。
[0297] 図 34 (2)メソッド0 6!11^1110 6?1:08 111 ()は、引数 devで与えられた装置に蓄積さ れた、引数 idで与えられた識別子を持つマルチメディアデータを受信する通信路を 確保し、 RemoteProgramオブジェクトで返すもので、成功時には該オブジェクトが、 失敗時には nullが返る。本メソッドは、まず、該装置と通信する Socketオブジェクトを 生成して接続する。続いて、与えられた識別子を含んだ送信要求メッセージを作成し 、制御情報通信部 2902のメソッド sendRequestMessage Oを呼び出すことで、該 機器に送信する。続いて、制御情報通信部 2902の getResponseMessage Oを呼 び出すことで、返答メッセージを受け取る。返答メッセージが OKであれば、それを解 析する。そして、特定のポート番号が指定されていれば、新しい Socketオブジェクト を作成し、その Socketオブジェクトを用いて RemoteProgramオブジェクトを生成し て返す。特定のポートが指定されていなければ、通信に用いた Socketオブジェクト から RemoteProgramオブジェクトを生成して返す。返答メッセージが NGであれば、 nullを返す。
[0298] データ送信部 2904は、 OS2801のライブラリ 2801の NET2801b3を通じてネット ワーク部 2708を制御し、指定されたネットワーク 107に接続されている外部機器に、 指定されたマルチメディアデータを出力するものである。
[0299] データ送信部 2904は、制御部 2901およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0300] 図 36は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる データ送信部 2903が提供する Java APIの一例を示す図である。
[0301] 図 36 (1)メソッド sendMultimediaData Oは、引数 devで与えられた装置の、引数 portで与えられたポートに、図 36 (2)メソッド sendMultimediaData Oは、引数 sで 与えられた Socketオブジェクトを用いて、引数 isで与えられた InputStreamォブジ ェタトからデータを読み込んで、その EOFまでデータを送信するもので、成功すれば
trueを返し、失敗すれば falseを返すものである。
[0302] 属性管理部 2905は、映像蓄積装置の属性を管理するものである。映像蓄積装置 の属性は、第 2メモリ 2703に保存されており、属性管理部 2905は、 Javaライブラリ 2
406の中の IO2604fを用いてこれを読み書きする。
[0303] 属性管理部 2905は、制御部 2901およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0304] 図 37は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる 属性管理部 2905が提供する Java APIの一例である。
[0305] 図 37 (1)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。 typeの値が 0の場合は蓄積を示し、 1の場合 は再生もしくはネットワークへの送出を表す。本メソッドは、第 2メモリ 2703から属性情 報と蓄積されているコンテンツの情報を読み出し、該コンテンツのジャンルを調べ、ま た、第 2メモリ 2703のマルチメディアデータ用領域の空き容量を調べることにより、属 性情報を更新する。そして、更新した属性情報を第 2メモリ 2703に書き込む。
[0306] 図 37 (2)メソッド getAttribute ()は、第 2メモリ 2703から属性情報を読み出し、必 要なデータを DevAttribオブジェクトに格納して、該 DevAttribオブジェクトを返すも のであり、失敗時には nullを返す。
[0307] 権利処理部 2906は、放送受信装置 102に、引数 idで与えられた識別子のコンテ ンッの利用に関する権利処理を行うものである。
[0308] 権利処理部 2906は、制御部 2901およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0309] 図 38は、発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる権 利処理部 2906が提供する Java APIの一例である。
[0310] 図 38 (1)メソッド requestContentUse Oは、引数 idで与えられた識別子のコンテ ンッを、引数 devで与えられた装置へ、使用の許可を要求するもので、許可が得られ れば trueを、許可されない、もしくは処理に失敗した場合は falseを、それぞれ返す。 本メソッドは、要求メッセージを作成し、制御情報通信部 2902のメソッド sendReque
stMessage Oを呼び出して送信する。また、制御情報通信部 2902のメソッド getRes poseMessage Oを呼び出して返答メッセージを受信する。そして、返答メッセージが OKを示して!/ヽれば trueを返し、 NGを示して!/、れば falseを返す。
[0311] ここで、制御部 2901の、メソッド acceptRequestToStore ()、メソッド acceptRequ estToTransfer O、メソッド getMultimediaData ()について説明する。
[0312] メソッド acceptRequestToStore ()は、呼び出されると、別のスレッドもしくはプロセ スを生成し、その上で動作する。まず、放送受信装置 102からの接続を受け付ける S ocketオブジェクトを生成し、接続要求を待ち受ける。放送受信装置 102から接続要 求がくれば、制御情報通信部 2902のメソッド getRequestMessage ()を呼び出して 、要求メッセージを受信する。受信した要求メッセージが属性の問い合わせであれば 、属性管理部 2905のメソッド getAttribute Oを呼び出して属性情報を読み出し、制 御情報通信部 2902のメソッド sendResponseMessage ()を呼び出すことで、属性 情報を返信し、接続要求の待ち受けに戻る。受信した要求メッセージがマルチメディ ァデータの蓄積要求であれば、まず、要求メッセージ力 マルチメディアデータの識 別子と番組情報を取り出だす。続いて、データ受信部 2903のメソッド openRemote Program ()を呼び出すことで、受信する InputStreamを作る。続いて、該識別子、 番組情報と該 InputStreamから受信するマルチメディアデータを、 Javaライブラリ 28 04の中の IO2804fを通じて、第 2メモリ 2703に書き込むことにより、該マルチメディ ァデータを蓄積する。さらに、属性管理部 2905のメソッド updateAttribute Oを呼 び出すことにより、属性情報を更新する。以上の処理を終了すれば、接続要求の待 ち受けに戻る。なお、接続要求を受け付けると、さらに、別スレッドもしくはプロセスを 生成して、以降の処理は該別スレッドもしくはプロセスで動作し、もとのスレッドもしく はプロセスは接続要求の待ち受けに戻る構成であっても良い。この場合、該別スレツ ドもしくはプロセス上の処理は、接続要求待ち受けに戻らず、終了する。
[0313] なお、メソッド acceptRequestToStore ()は、引数に NetDeviceオブジェクトをとり 、この引数によって放送受信装置 102が与えられる構成であっても良い。この場合、 上記の処理にカ卩え、待ち受けしている Socketオブジェクトに接続してきた装置力 引 数で与えられた装置でなければ、接続要求を受け入れな ヽことを行う。
メソッド acceptRequestToTransfer Oは、呼び出されると、別のスレッドもしくはプ 口セスを生成し、その上で動作する。まず、ネットワーク 107に接続された装置力もの 接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。接続要求 力 れば、制御情報通信部 2902のメソッド getRequestMessage ()を呼び出して、 要求メッセージを受信する。受信した要求メッセージ力 放送受信装置 102からの、 あるマルチメディアデータを蓄積して!/、るか否かの問合せであれば、まず要求メッセ 一ジカもマルチメディアデータの識別子を取り出す。次に、 Javaライブラリ 2804の中 の IO2804fを通じて、蓄積しているコンテンツの一覧を読み出し、取り出した識別子 と照合することで、該マルチメディアデータを蓄積している力否かを判定する。続いて 、制御情報通信部 2902のメソッド sendResponseMessage ()を呼び出すことで判 定結果を返信し、接続要求の待ち受けに戻る。受信した要求メッセージが、放送受 信装置 102からの、あるマルチメディアデータの送信要求であれば、まず、要求メッ セージから送信先の端末と送信するマルチメディアデータの識別子を取り出す。続ヽ て、 IO2804fを通じて該マルチメディアデータを読み出す InputStreamを取得する 。そして、データ送信部 2904のメソッド sendMultimediaData Oを呼び出すことに より、該端末に該マルチメディアデータを送信する。データ送信が終われば、属性管 理部 2905のメソッド updateAttribute Oを呼び出して、属性情報の更新を行い、接 続要求の待ち受けに戻る。受信した要求メッセージ力 端末などからのマルチメディ ァデータ送信要求であれば、まず、要求メッセージカゝら送信するマルチメディアデー タの識別子を取り出す。続いて、 IO2804fを通じて該マルチメディアデータを読み出 す InputStreamを取得する。そして、データ送信部 2904のメソッド sendMultimedi aData Oを呼び出すことにより、該端末に該マルチメディアデータを送信する。デー タ送信が終われば、属性管理部 2905のメソッド updateAttribute ()を呼び出して、 属性情報の更新を行い、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。
[0315] メソッド getMultimediaData ()は、呼び出されると、まず、引数 devで与えられた装 置に接続する Socketオブジェクトを生成し、該装置に接続する。続いて、引数 idで 与えられたマルチメディアデータの送信要求メッセージを、 idの値を含めて作成し、 制御情報通信部 2902のメソッド sendRequestMessage ()を呼び出すことで、該装 置に送信する。続いて、データ受信部 2903のメソッド openRemoteProgram Oを呼 び出すことにより、該マルチメディアデータを受信する InputStreamオブジェクトを生 成する。続いて、該 InputStreamからデータを読み出し、引数 osで与えられた Outp utStreamに書き出す。受信データを全て書き込めば処理を終了する。本メソッドに より、メソッド getContentList Oもしくは getEPGData Oによって取得したコンテンツ 一覧の中のコンテンツに対して、そのマルチメディアデータを受信して、再生や蓄積 が行える。
[0316] 端末 105および端末 106は、上記した映像蓄積装置 103および映像蓄積装置 10 4のうち、マルチメディアデータの再生に関する構成要素のみで構成されたものであ るため、詳細説明は省略する。
[0317] (実施の形態 2の変形例)
本発明を上記実施の形態 2に基づいて説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0318] (1)放送受信装置 102は、さらに、第 2メモリ 503にマルチメディアデータを蓄積し、 Javaライブラリ 705の中のネットワークライブラリ 705eの選択部 1604は、放送受信装 置 102と、ネットワーク 107に接続された映像蓄積装置のうちひとつを選択する構成 であっても良い。また、放送受信装置 102は、さらに、端末から VoDサービスの要求 を受けたときに、ネットワーク 107に接続された映像蓄積装置と、放送受信装置 102 の蓄積部に、該コンテンツのマルチメディアデータが蓄積されている力否かを検索し 、放送受信装置 102の蓄積部に蓄積されている場合は、該マルチメディアデータを 該 VoDサービスの要求を発行した端末に送信する構成であっても良い。
[0319] (2)また、放送受信装置 102は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 103および映像蓄積装置 104に、暗号ィ匕されたマルチメディアデータ を送信する構成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104
は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 302に蓄積する 構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であっても良い
[0320] また、放送受信装置 102、映像蓄積装置 103および映像蓄積装置 104は、端末 1 05および端末 106へマルチメディアデータを送信するときに、該マルチメディアデー タに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 105お よび端末 106にお 、て、受信した暗号ィ匕されたマルチメディアデータを復号して再生 する構成であっても良い。
[0321] (3)また、上記実施の形態においては、放送受信装置 102の Javaライブラリ 705の 中のネットワークライブラリ 705eの選択部 1604の選択のアルゴリズムの例を記述した 力 これらのアルゴリズムに限らないことは言うまでもない。例えば、放送受信装置 10 2は、映像受信装置を順に選択する構成であっても良い。また、映像蓄積装置の利 用頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄 積されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、 マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄 積装置の選択を行っても良い。さらに、映像蓄積装置にユーザの操作によって再生 もしくは出力されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄 積頻度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて 、映像蓄積装置の選択を行っても良い。さら〖こ、例えば、端末 105で利用される頻度 の高いマルチメディアデータならば映像蓄積装置 103を、端末 106で利用される頻 度の高 、マルチメディアデータならば映像蓄積装置 104を、それぞれ選択すると!/ヽ つたような、端末との組み合わせによる選択であっても良い。
[0322] (4)また、上記実施の形態においては、放送受信装置 102が、映像蓄積装置 103 および映像蓄積装置 104と通信することにより、 VoDサービス要求のあったコンテン ッのマルチメディアデータが蓄積されている力否かを判定する、としたが、放送受信 装置 102が、映像蓄積装置 103および映像蓄積装置 104に蓄積させたマルチメディ ァデータを記憶しておき、その内容より判定する構成であっても良 、。
[0323] (5)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ
ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 VoD サービスを要求した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 102は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0324] (6)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102と該映像蓄積装置が通信して、課金など該 マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受信装置 102と 、 VoDサービスを要求した端末とが通信して、上記権利処理を行う構成であっても良 い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 102が権 利処理を行う構成であっても良 、。
[0325] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0326] (7)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0327] (8)また、放送受信装置 102は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 102は、送信するマルチメディアデータをー且 復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する構
成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104は、さらに、マ ルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを作り 出す符号化部を備え、受信したマルチメディアデータを前記復号部でー且復号し、 前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても良 い。
[0328] (9)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI (La rge Scale Integration:大規模集積回路)から構成されているとしてもよい。シス テム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIであ り、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビュ ータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0329] (10)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0330] (11)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0331] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である としてちよい。
[0332] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0333] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0334] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0335] (12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/ヽ。
[0336] (実施の形態 3)
図 39は、本発明の実施の形態 3におけるマルチメディア配信システムの構成図で ある。図 39に示すマルチメディア配信システム 3901は、放送受信装置 3902と、第 1 の映像蓄積装置 3903と、第 2の映像蓄積装置 3904と、第 1の端末 3905と、第 2の 端末 3906と、ネットワーク 3907と、受信器部 3908とによって構成される。
[0337] 放送受信装置 3902、映像蓄積装置 3903、映像蓄積装置 3904、端末 3905、お よび、端末 3906は、ネットワーク 3907に接続されており、ネットワーク 107を介して相 互に通信することが可能である。また、放送受信装置 3902は、受信部 3908と接続さ れており、受信部 3908が受信したデジタル放送の電波を受けて、復調し、マルチメ ディアデータを得る。なお、映像蓄積装置および端末は複数含まれていれば良いも のであり、説明を簡易にするためにそれぞれ 2個含まれるとして ヽる。
[0338] 本実施の形態における放送受信装置 3902は、受信部 3908によって受けた電波 から復調し、デジタル放送のマルチメディアデータを抽出する。また、放送受信装置 3902は、デジタル放送で提供される有料放送などを利用するもので、該有料放送の マルチメディアデータを利用するための課金など権利処理を行う通信を、電話回線 など、図示して!/、な 、他の通信路を利用して行う。
[0339] また、放送受信装置 3902は、ユーザの設定などにより、予め-ァ VoDで放送され る番組のマルチメディアデータを受信して蓄積する場合に、ネットワーク 3907を通じ て、映像蓄積装置 3903、映像蓄積装置 3904に属性の送信要求を送信し、映像蓄 積装置より該属性を受信する。さらに、放送局より受信したマルチメディアデータの属 性、および、映像蓄積装置より受信した映像蓄積装置の属性より、映像蓄積装置 39 03と映像蓄積装置 3904のいずれかを選択する。さらに、選択した映像蓄積装置 39 03もしくは映像蓄積装置 3904に、マルチメディアデータの蓄積要求を送信し、続い て、該マルチメディアデータを送信する。
[0340] なお、上記、放送受信装置 3902で予め行われる-ァ VoDで放送される番組の受 信は、放送局の要求で行われるものであっても良いし、または、特定の日時に行われ るものであっても良い。また、特定の時間ごとに行われるものであってもよい。また、ュ 一ザが設定した日時に行われるものであっても良い。また、ユーザが設定した特定時 間間隔ごとに行われるものであっても良 、。
[0341] また、放送受信装置 3902は、端末 3905もしくは端末 3906から、放送番組などコ ンテンッの視聴要求を受けた場合、映像蓄積装置 3903、映像蓄積装置 3904のい ずれか、もしくは両方と通信して、該コンテンツのマルチメディアデータが蓄積されて V、るかどうかを問 、合わせる。映像蓄積装置 3903および映像蓄積装置 3904の ヽ ずれにも蓄積されていない場合は、放送受信装置 3902は、チューナを用いて該番 組を受信し、必要であれば、課金など適切な権利処理を行った後、ネットワーク 390 7を介して、要求した端末 3905もしくは端末 3906へ、該マルチメディアデータを送 信する。また、チューナが利用中などで受信できない場合は、その旨を該端末に通 知する。映像蓄積装置 3903もしくは映像蓄積装置 3904のいずれかに蓄積されてい た場合は、該マルチメディアデータを蓄積している映像蓄積装置 3903もしくは映像 蓄積装置 3904に、該マルチメディアデータを、該要求を発行した端末へ送信するよ うに要求する。この際、必要であれば、該映像蓄積装置と通信して、該マルチメディ ァデータの利用に伴う課金などの権利処理を行い、放送局へ通知する。さらに、放送 受信装置 3902は、該要求を発行した端末に、該マルチメディアデータを蓄積してい る映像蓄積装置より該マルチメディアデータが送信されることを通知する。
[0342] 本実施の形態における映像蓄積装置 3903および映像蓄積装置 3904は、放送受 信装置 3902から属性の送信要求を受信すると、映像蓄積装置の内部に記憶してい る属性を放送受信装置 3902に送信する。映像蓄積装置の属性とは、予め-ァ VoD 番組を蓄積する蓄積部の空き容量、ユーザ操作により蓄積したマルチメディアデータ のジャンルごとの蓄積頻度、再生されたマルチメディアデータのジャンルごとの利用 頻度、などといった情報である。
[0343] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、マルチメディアデータの蓄積要求を受信すると、該マルチメディアデータを、ネット ワーク 3907を介して、放送受信装置 3902より受信し、蓄積部に蓄積する。
[0344] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、特定コンテンツのマルチメディアデータを蓄積して 、るか否かの問!、合わせを受信 すると、蓄積しているコンテンツデータを検索して、結果を返答する。
[0345] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、特定コンテンツのマルチメディアデータを、ネットワーク 3907に接続された特定端 末へ送信する要求を受信すると、該マルチメディアデータを、ネットワーク 3907を介 して、該端末へ送信する。送信を開始する際に、必要であれば、放送受信装置 102 と通信し、課金など、該マルチメディアデータの利用に伴う権利処理を行う。
[0346] 本実施の形態における端末 3905および端末 3906は、ユーザの操作によって、放 送受信装置 3902へ番組視聴要求を発行し、ネットワーク 3907を介して、マルチメデ ィァデータを受信して、該マルチメディアデータの再生を行うものである。該マルチメ ディアデータが、映像蓄積装置 3903もしくは映像蓄積装置 3904のいずれかに蓄積 されている場合は、放送受信装置 3902から、該蓄積している映像蓄積装置が通知 され、該映像蓄積装置より送られてくるマルチメディアデータを、ネットワーク 3907を 介して受信する。
[0347] ネットワーク 3907は、家庭内に施設されたホームネットワークであり、イーサネット、 無線 LAN、あるいは、同軸ケーブルを媒体に使用する通信技術 c. LINKなどによつ て構成された IPネットワークである。
[0348] 本実施の形態における受信部 3908は、放送受信装置 3902に、デジタル放送の
電波を同軸ケーブルを通じて提供するもので、代表的には、デジタル放送を受信す るアンテナや、ケーブルテレビのヘッドエンドである。
[0349] 以上のように、本発明のマルチメディア配信システム 3901、放送受信装置 3902、 映像蓄積装置 3903、映像蓄積装置 3904によれば、ユア VoDで放送される番組の マルチメディアデータを、映像蓄積装置 3903および映像蓄積装置 3904に、あらか じめ、適切な条件で、多数のデータを、分散して蓄積させることが可能であり、端末 3 905および端末 3906から同時に異なる視聴要求が発行されても、映像蓄積装置 39 03および映像蓄積装置 3904に蓄積されたマルチメディアデータを利用することによ り、視聴時に必要なチューナ数を提言することができる。
[0350] 以下、本発明のマルチメディア配信システム 3901を構成する、放送受信装置 390 2、映像蓄積装置 3903および映像蓄積装置 3904について、更に詳細に説明する。
[0351] まず、図 40を参照しながら、放送受信装置 3902の詳細について説明する。
[0352] 図 40は、本発明の実施の形態 3における放送受信装置 3902の構成を示すブロッ ク図である。図 40に示す放送受信装置 3902は、制御部 4001と、放送局 3908から 送信されるマルチメディアデータを受信するデータ受信部 4002と、ネットワーク 390 7に接続された外部装置と通信する情報通信部 4003と、ネットワーク 3907に接続さ れた複数の映像蓄積装置のうちひとつを選択する選択部 4004と、ネットワーク 3907 に接続された外部装置にマルチメディアデータを送信するデータ出力部 4005と、有 料番組にぉ 、てマルチメディアデータの利用に伴う課金などの権利処理を行う権利 処理部 4006と、ネットワーク 3907と接続されるネットワークインタフェース 4007とを 備える。
[0353] 制御部 4001をより詳細に説明する。制御部 4001は、マイクロプロセッサ、 ROM、 RAMなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部 にはマイクロプロセッサにて動作する OS、 Java VM (Java Virtual Machine)プ ログラム、 Javaプログラムライブラリ、 Javaアプリケーションプログラムが保存されて!、る 。マイクロプロセッサは、起動時に OSを読み込んで実行する。引き続いて、 Javaァプ リケーシヨン起動時に、 Java VMを読み込んで実行し、必要に応じて Javaプログラム ライブラリを読み込みながら、 Javaアプリケーションを実行する。
[0354] 制御部 4001は、予め-ァ VoDで放送されるマルチメディアデータをデータ受信部 4002から受信させ、情報通信部 4003によって、ネットワーク 3907に接続された複 数の映像蓄積装置へ、属性の送信要求を送信する。続いて、情報通信部 4003によ つて、それぞれの映像蓄積装置カも該属性を受信する。さらに、制御部 4001は、受 信した映像蓄積装置の属性および該マルチメディアデータの属性を選択部に送り、 選択部に指示して映像蓄積装置のひとつを選択させる。さらに、制御部 4001は、選 択した映像蓄積装置へ、情報通信部 4003によって、該マルチメディアデータの蓄積 要求を送信する。さらに、制御部 4001は、情報通信部 4003によって、該映像蓄積 装置力も蓄積要求を受け付けた旨を受信すると、データ出力部 4005に指示すること により、該マルチメディアデータを、ネットワーク 3907を通じて、該映像蓄積装置へ送 信する。
[0355] さらに、制御部 4001は、情報通信部 4003より、ネットワーク 3907に接続された端 末より-ァ VoD番組視聴の要求を受信すると、情報通信部 4003より、ネットワーク 39 07に接続された映像蓄積装置に、該要求のマルチメディアデータを蓄積しているか 否かの問い合わせを送信する。続いて、制御部 4001は、情報通信部 4003より、各 映像蓄積装置より、この問い合わせに関する返答を受信する。ある映像蓄積装置に 該マルチメディアデータが蓄積されている場合は、該映像蓄積装置へ、該マルチメ ディアデータの視聴要求を発行した端末への送信要求を送信する。このとき、制御部 4001は、必要であれば、該映像蓄積装置と通信し、権利処理部 4006に指示して、 該マルチメディアデータの利用に伴う課金といった権利処理を行う。さらに、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されることを、情報通信部 4003によって通知する。
[0356] データ受信部 4002は、デジタル放送の電波を受信して、特定番組に関するマル チメディアデータを抽出するものである。データ受信部 4002は、代表的にはチュー ナであり、デジタル放送の電波を受信して復号し、マルチメディアデータを抽出する ものである。また、放送されるマルチメディアデータは、それが有料コンテンツならば スクランブルされていることもあるが、その場合には、データ受信部 4002によって復 号される。
[0357] デジタル放送で送られてくるマルチメディアデータは、 MPEG2に代表される符号 化されたデジタルデータであり、 MPEG2—TS形式によって送信される。 MPEG2- TSは、ひとつのストリーム内に複数のコンテンツを格納することができる力 データ受 信部 4002は、該ストリームから、ひとつのコンテンツのマルチメディアデータを選択 するものである。
[0358] 情報通信部 4003は、ネットワークインタフェース 4007に接続されており、制御部 4 001の指示により、ネットワーク 3907に接続された外部機器に制御情報を送信する 。また、情報通信部 4003は、ネットワークインタフェース 4007に届いた放送受信装 置 3902宛の情報を受信して、制御部 4001に引き渡す。情報通信部 4003は、代表 的には、 OSや Javaライブラリが提供するソケットインタフェースを利用したプログラム である。なお、このようなソフトウェアで構成されるものに限らず、ハードウェアで構成さ れるものであっても良い。
[0359] 選択部 4004は、制御部 4001からの指示により、マルチメディアデータの属性と、 映像蓄積装置の属性をもとに、ネットワーク 3907に接続された複数の映像蓄積装置 のうちひとつを選択するものである。選択部 4004は、代表的には、 Javaライブラリに 含まれるサブルーチンである。なお、このようなソフトウェアで構成されるものに限らず 、ハードウェアで構成されるものであっても良い。
[0360] 本実施の形態では、マルチメディアデータの属性として、映画、ドラマ、スポーツな ど、コンテンツのジャンルを用いる。また、映像蓄積装置の属性として、ユア VoD番組 キャッシュ用の蓄積部の空き容量を用いる。選択部 4004は、まず、マルチメディアデ ータのジャンルによって映像蓄積装置を選択し、該選択された映像蓄積装置の空き 容量が十分に無ければ、大きな空き容量を持つ映像蓄積装置を選択する。
[0361] データ出力部 4005は、ネットワークインタフェース 4007に接続されており、制御部 4001の指示を受けて動作し、マルチメディアデータを、制御部 4001が指示した宛 先へのパケットに変換して、ネットワークインタフェース 4007を通じて出力するもので ある。データ出力部 4005は、代表的には、 OSや Javaライブラリが提供するソケットィ ンタフェースを利用したプログラムである。なお、このようなソフトウェアで構成されるも のに限らず、ハードウェアで構成されるものであっても良い。
[0362] 権利処理部 4006は、サービスを提供する業者と通信することにより、マルチメディ ァデータの利用に伴う、課金などの権利処理を行うものである。例えば、ケーブルテ レビの場合、権利処理部 4006は、 CableCARDを備えており、この情報を、サービ スを提供する業者との通信において用いる。また、放送された送られたマルチメディ ァデータがスクランブルされている場合は、 CableCARDの情報を制御部 4001に引 き渡すことにより、データ受信部 4002での復号を行えるようにするものである。
[0363] ネットワークインタフェース 4007は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0364] 次に、図 40を参照しながら、本実施の形態における映像蓄積装置 3903および映 像蓄積装置 3904の詳細を説明する。
[0365] 図 41は、本発明の実施の形態 3における映像蓄積装置 3903および映像蓄積装 置 3904の構成を示すブロック図である。図 41に示す映像蓄積装置 3903および映 像蓄積装置 3904は、制御部 4101と、マルチメディアデータを蓄積する蓄積部 410 2と、ネットワーク 3907に接続された外部装置と制御情報を通信する制御情報通信 部 4103と、映像蓄積装置の属性を記憶する記憶部 4104と、放送受信装置 3902か ら送信されたマルチメディアデータを受信するデータ受信部 4105と、ネットワーク 39 07に接続された端末 3905もしくは端末 3906に蓄積部 4102に蓄積されたマルチメ ディアデータを送信するデータ送信部 4106と、データ受信部 4105が受信したマル チメディアデータを蓄積部 4102に書き込む書込部 4107と、蓄積部 4102からマル チメディアデータを読み出す読出部 4108と、放送受信装置 3902と通信してマルチ メディアデータの利用に伴う課金などの権利処理を行う権利処理部 4109と、ネットヮ ーク 3907と接続されるネットワークインタフェース 4110とを備える。
[0366] 制御部 4101をより詳細に説明する。制御部 4101は、マイクロプロセッサ、 ROM、 RAMなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部 にはマイクロプロセッサにて動作する OS、 Java VMプログラム、 Javaプログラムライ ブラリ、 Javaアプリケーションプログラムが保存されている。マイクロプロセッサは、起 動時に OSを読み込んで実行する。引き続いて、 Javaアプリケーション起動時に、 Jav
a VMを読み込んで実行し、必要に応じて Javaプログラムライブラリを読み込みなが ら、 Javaアプリケーションを実行する。
[0367] 制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から属性の 送信要求を受信すると、記憶部 4104に記憶している属性情報を、制御情報通信部 4103より、放送受信装置 3902へ送信する。また、制御情報通信部 4103によって、 放送受信装置 3902からマルチメディアデータの蓄積要求を受信すると、データ受信 部 4105に指示して、放送受信装置 3902から送信される該マルチメディアデータを、 ネットワーク 3907を介して受信し、書込部 4107に指示して、データ受信部 4105が 受信した該マルチメディアデータを、蓄積部 4102へ書き込ませることにより、該マル チメディアデータを蓄積部 4102へ蓄積させる。また、蓄積後に、制御部 4101は、書 込部 4107より蓄積部 4102の空き容量を受信し、記憶部 4104に記憶して 、る属性 情報を更新する。
[0368] また、制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から、 特定のマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信したときに、 読出部 4108に指示して、蓄積部 4102に蓄積されたマルチメディアデータを調べる ことにより、該マルチメディアデータを蓄積している力否かを判定し、判定結果を制御 情報通信部 4103より、放送受信装置 3902へ送信する。
[0369] また、制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から、 蓄積している特定のマルチメディアデータの出力要求と出力先端末を受信したときに 、読出部 4108に指示して該マルチメディアデータを蓄積部 4102から読み出させ、さ らに、データ送信部 4106に指示して読出部 4108が読み出した該マルチメディアデ ータを、該出力先端末へ送信させる。また、このとき、必要であれば、権利処理部 41 09に指示して放送受信装置 3902と通信させて、該マルチメディアデータの利用に 伴う権利処理を行う。権利処理により、該マルチメディアデータの利用が許可されな V、場合は、該マルチメディアデータの該出力先端末への送信を行わな 、ように制御 する。
[0370] 蓄積部 4102は、ハードディスクドライブに代表される、大容量をもつデジタルデー タの蓄積装置と、そのドライバソフトウェア力も構成されるものである。
[0371] 制御情報通信部 4103は、ネットワークインタフェース 4110に接続されており、ネッ トワークインタフェース 4110に届いた該映像蓄積装置の宛の制御情報を受信して、 制御部 4101に引き渡す。また、制御部 4101の指示により、制御部 4101から渡され た制御情報を、指定された外部装置に、ネットワークインタフェース 4110を通じて送 信する。制御情報通信部 4103は、代表的には、 OSや Javaライブラリが提供するソケ ットインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成さ れるものに限らず、ハードウェアで構成されるものであっても良い。
[0372] 記憶部 4104は、フラッシュメモリや HDDなどの記憶装置もしくはその一部によって 構成されるものであり、制御部 4101からの指示を受け、制御部 4101から受け取った データを記憶するものである。
[0373] データ受信部 4105は、ネットワークインタフェース 4110に接続されており、制御部 4101の指示を受けて動作するもので、放送受信装置 3902から送信されたマルチメ ディアデータを、ネットワークインタフェース 4110を介して受信するものである。デー タ受信部 4105は、代表的には、 OSや Javaライブラリが提供するソケットインタフエ一 スを利用したプログラムである。なお、このようなソフトウェアで構成されるものに限ら ず、ハードウェアで構成されるものであっても良い。
[0374] データ送信部 4106は、ネットワークインタフェース 4110に接続されており、制御部 4101の指示を受けて動作するもので、読出部 4108が読み出したマルチメディアデ ータを、制御部 4101が指定したネットワーク 3907に接続された外部装置へのバケツ トに変換して、ネットワークインタフェース 4110を通じて出力するものである。データ 送信部 4106は、代表的には、 OSや Javaライブラリが提供するソケットインタフェース を利用したプログラムである。なお、このようなソフトウェアで構成されるものに限らず、 ハードウェアで構成されるものであっても良い。
[0375] 書込部 4107は、制御部 4101からの指示を受けて動作し、蓄積部 4102にデータ を書き込むものである。書込部 4107は、代表的には、 OSや Javaライブラリが提供す るファイルアクセスインタフェースを利用したソフトウェアサブルーチンである。なお、こ のようなソフトウェアで構成されるものに限らず、ハードウェアで構成されるものであつ ても良い。
[0376] 読出部 4108は、制御部 4101からの指示を受けて動作し、蓄積部 4102に蓄積さ れたマルチメディアデータを読み出すものである。読出部 4108は、代表的には、 OS や Javaライブラリが提供するファイルアクセスインタフェースを利用したソフトウェアサ ブルーチンである。なお、このようなソフトウェアで構成されるものに限らず、ハードウ エアで構成されるものであっても良い。
[0377] 権利処理部 4109は、ネットワークインタフェース 4110と接続されており、制御部 41 01の指示を受けて動作するもので、マルチメディアデータの利用に伴う課金などの 権利処理を、放送受信装置 3902と通信することによって行うものである。権利処理 部 4109は、放送受信装置 3902へ、利用するマルチメディアデータを特定する識別 子を送信し、放送受信装置 3902からの返答を受け取り、制御部 4101へ引き渡す。 該返答とは、該マルチメディアデータ利用の許可もしくは拒絶である。
[0378] ネットワークインタフェース 4110は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0379] (実施の形態 3の変形例)
以上、本発明の実施の形態 3について説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0380] (1)放送受信装置 3902は、さらに、マルチメディアデータを蓄積する蓄積部と、蓄 積部にマルチメディアデータを書き込む書込部とを備え、選択部 4004は、放送受信 装置 3902の蓄積部と、ネットワーク 3907に接続された映像蓄積装置のうちひとつを 選択する構成であっても良い。また、放送受信装置 3902は、さらに、端末から-ァ V oD番組視聴の要求を受けたときに、ネットワーク 3907に接続された映像蓄積装置と 、放送受信装置 3902の蓄積部に、該コンテンツのマルチメディアデータが蓄積され ている力否かを検索し、放送受信装置 3902の蓄積部に蓄積されている場合は、該 マルチメディアデータを該視聴要求を発行した端末に送信する構成であっても良 ヽ
[0381] 図 42は、このような、本発明の実施の形態 3の変形例における放送受信装置 3902 の構成を示すブロック図である。図 42に示す放送受信装置 3902は、書込部 4201と
、蓄積部 4202と、蓄積部 4202に蓄積されたマルチメディアデータを読み出す読出 部 4203と、制御部 4001と、データ受信部 4002と、情報通信部 4003と、選択部 40 04と、データ出力部 4005と、権禾 IJ処理部 4006と、 ッ卜フークインターフェース 400 7とを備える。
[0382] 制御部 4001と、データ受信部 4002と、情報通信部 4003と、選択部 4004と、デー タ出力部 4005と、権利処理部 4006と、ネットワークインターフェース 4007とは、上 記実施の形態 3にて説明したものと同様である力 以下の点が異なる。制御部 4001 は、予め-ァ VoD放送番組のマルチメディアデータをデータ受信部 4002に受信さ せるときに、映像蓄積装置 3903および映像蓄積装置 3904から属性を受信するとと もに、放送受信装置 3902の属性も読み出す。放送受信装置 3902の属性とは、上 記実施の形態 3における映像蓄積装置 3903および映像蓄積装置 3904の属性情報 と同様のものである。さらに、制御部 4001は、映像蓄積装置の属性とともに、放送受 信装置 3902の属性も選択部 4004に送信する。選択部 4004は、その属性をもとに 、映像蓄積装置 3903、映像蓄積装置 3904もしくは蓄積部 4202の選択を行うもの である。
[0383] 書込部 4201は、上記実施の形態 3における映像蓄積装置 3903および映像蓄積 装置 3904の書込部 4107と同様のものである。また、蓄積部 4202は、上記実施の 形態における映像蓄積装置 3903および映像蓄積装置 3904の蓄積部 4102と同様 のものである。また、読出部 4203は、上記実施の形態 3における映像蓄積装置 390 3および映像蓄積装置 3904の読出部 4108と同様のものである。
[0384] (2)また、放送受信装置 3902は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 3903および映像蓄積装置 3904に、暗号化されたマルチメディアデ ータを送信する構成であっても良い。また、映像蓄積装置 3903および映像蓄積装 置 3904は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 4102 に蓄積する構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であ つても良い。
[0385] また、放送受信装置 3902、映像蓄積装置 3903および映像蓄積装置 3904は、端 末 3905および端末 3906へマルチメディアデータを送信するときに、該マルチメディ
ァデータに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末
3905および端末 3906にお 、て、受信した暗号ィ匕されたマルチメディアデータを復 号して再生する構成であっても良い。
[0386] (3)また、上記実施の形態 3においては、放送受信装置 3902の選択部 4004は、 マルチメディアデータのジャンルと、映像蓄積装置の空き容量をもとに、映像蓄積装 置の選択を行うこととした力 これらの条件に限らないことは言うまでもない。例えば、 放送受信装置 3902は、映像受信装置を順に選択する構成であっても良い。また、 ユーザによって設定された映像蓄積装置の優先度にしたがって選択する構成であつ ても良い。また、マルチメディアデータのジャンルだけで選択しても良い。また、映像 蓄積装置の空き容量だけで選択しても良い。さらに、映像蓄積装置の利用頻度によ つて選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄積されたマル チメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチメディア データのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置の選択を 行っても良い。さらに、映像蓄積装置にユーザの操作によって再生もしくは出力され たマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチ メディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置 の選択を行っても良い。さらに、例えば、端末 3905で利用される頻度の高いマルチ メディアデータならば映像蓄積装置 3903を、端末 3906で利用される頻度の高いマ ルチメディアデータならば映像蓄積装置 3904を、それぞれ選択すると!/、つたような、 端末との組み合わせによる選択であっても良い。さらに、ユーザによって設定された 端末の優先度から、組み合わされた映像蓄積装置を選択する構成であっても良い。
[0387] (4)また、上記実施の形態 3においては、放送受信装置 3902が、映像蓄積装置 3 903および映像蓄積装置 3904と通信することにより、ユア VoD番組視聴要求のあつ たコンテンツのマルチメディアデータが蓄積されて 、る力否かを判定する、としたが、 放送受信装置 3902が、映像蓄積装置 3903および映像蓄積装置 3904に蓄積させ たマルチメディアデータを記憶しておき、その内容より判定する構成であっても良い。
[0388] (5)また、上記実施の形態 3においては、ユア VoDと書いた力 通常放送の番組に ついても、あらかじめ蓄積しておくことで、再放送に対して同じ効果が得られる。
[0389] (6)また、上記実施の形態 3にお 、ては、端末より視聴要求のあった-ァ VoD番組 のマルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれ 力に蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 視聴要求を発行した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 3902は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0390] (7)また、上記実施の形態 3にお 、ては、端末より視聴要求のあった-ァ VoD番組 用のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のい ずれかに蓄積されて 、た場合、放送受信装置 3902と該映像蓄積装置が通信して、 課金など該マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受 信装置 3902と、視聴要求を発行した端末とが通信して、上記権利処理を行う構成で あっても良い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 3902が権利処理を行う構成であっても良い。
[0391] また、上記実施の形態 3にお 、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0392] (8)また、上記実施の形態 3においては、ひとつのマルチメディアデータは、ひとつ の映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映 像蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメ ディアデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これに より、複数の端末から同じマルチメディアデータの要求が有った場合に、映像蓄積装 置が該端末に映像を送信する負荷を分散することが可能となる。
[0393] (9)また、放送受信装置 3902は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 3902は、送信するマルチメディアデータを一
且復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する 構成であっても良い。また、映像蓄積装置 3903および映像蓄積装置 3904は、さら に、マルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを 作り出す符号化部を備え、受信したマルチメディアデータを前記復号部で一且復号 し、前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても 良い。
[0394] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0395] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0396] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0397] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である
としてちよい。
[0398] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0399] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0400] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0401] (13) 上記実施の形態 3及びその変形例をそれぞれ組み合わせるとしてもよい。
[0402] (実施の形態 4)
実施の形態 4におけるマルチメディア配信システムの構成は、図 39に示した、上記 実施の形態 3における構成図と同様であるため、説明を省略する。ただし、本実施の 形態においては、放送受信装置 3902はケーブルテレビの受信装置であり、受信部 3908は、ヘッドエンドもしくはケーブル放送局とする。
[0403] 図 43は、本発明の実施の形態 4における放送受信装置 3902を構成する構成要素 の関係を示したブロック図である。本図に示す放送受信装置 3902は、入力部 4301 と、第 1メモリ 4302と、第 2メモリ 4303と、受信部 4304と、多重分離部 4305と、デス クランブラ 4306と、 TSデ =3—ダ 4307と、映像出力咅4308と、音声出力咅4309と、 TSマルチプレクサ 4310と、ネットワーク部 4311と、 CPU4312とで構成される。
[0404] 入力部 4301は、フロントパネルやリモコン受光器等で構成され、ユーザからのチヤ ンネル選択等の指示を受け付ける。図 44は、本発明の実施の形態 4おけるフロント パネルで入力部 4301を構成した場合の一例を示す図である。フロントパネル 4400 は、上カーソルボタン 4401、下カーソルボタン 4402、左カーソルボタン 4403、右力 一ソルボタン 4404、 OKボタン 4405、取消ボタン 4406、 EPGボタン 4407、シァタ
一ボタン 4408の 8つのボタンを備えている。ユーザがボタンを押下すると、押下され たボタンの識別子力 CPU4312に通知される。
[0405] 第 1メモリ 4302は、 RAM等で構成され、 CPU4312が一時的にデータを保存する 際に使用される。
[0406] 第 2メモリ 4303は、フラッシュメモリ、ハードディスク等で電源が停止しても情報を保 持可能なデバイスで構成され、 CPU4312が実行するプログラムを保存する。第 2メ モリ 4303は、 SDメモリーカード等の取り外し可能な記憶デバイスを用いて 、てもよ ヽ
[0407] 受信部 4304は、ケーブルテレビ局 3908からのケーブルに接続され放送波を受信 し、 CPU4312から指定された周波数にチューニングし、 MPEGトラスポートストリー ムを抽出して、多重分離部 4305に引き渡す。
[0408] 多重分離部 4305は、受信部 4304力 MPEGトラスポートストリームを受け取り、 C PU4312から指定された情報を抽出し CPU4312に引き渡す。また MPEGトラスポ 一トストリームをそのままデスクランブラ 4306に弓 Iき渡す。
[0409] デスクランブラ 4306は、多重分離部 4305から与えられたスクランブルされている M PEGトラスポートストリームをデスクランブル(=復号)し、 TSデコーダ 4307に引き渡 す。デスクランブラ 4306は、放送受信装置 3902に内蔵されたモジュールでも良いし 、北米ケーブル受信機で導入されて!、る CableCARD (TM)でも実施可能である。 CableCARDの仕様は米国 CableLabsが策定した CableCARD Interface Spe cificationに記載されており、ここでは説明を省略する。
[0410] TSデコーダ 4307は、 CPU4312力ら音声データ、映像データ、 PSI/SI情報など のセクションデータの識別子を受け取る。さらに、デスクランブラ 4306から受け取った デスクランブルされたストリームから、受け取った音声データ、映像データ、 PSI/SI 情報などのセクションデータの識別子に対応するデータを抽出する、抽出した映像 データを映像出力部 4308に、音声データを音声出力部 4309に引き渡す。また、そ の両方と、セクションデータを、 TSマルチプレクサ 4310に引き渡す。
[0411] 映像出力部 4308は映像出力端子を含み、受け取った映像データを端子に対応し た映像データに変換して出力する。端子の例としては、コンポジットケーブル端子な
どがある。
[0412] 音声出力部 4309は音声出力端子を含み、受け取った音声データを端子に対応し た音声データに変換して出力する。端子の例としては、イヤホン端子や、コンポジット ケーブル端子などがある。
[0413] TSマルチプレクサ 4310は、受け取った映像データ、音声データ、セクションデータ 力ら MPEG2トランスポートストリームを構成し、該 MPEG2トランスポートストリームを ネットワーク部 4311に引き渡す。 PSIZSI情報は必要に応じて書き換えられる。
[0414] ネットワーク部 4311は、ネットワークインタフェースを含み、 CPU4312から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、 IPネットワークで規定されたパケットに変換して、 CPU4312へ引き渡す。
[0415] CPU4312は、第 2メモリ 4303が記憶するプログラムを実行することで、受信部 430 4、多重分離部 4305、デスクランブラ 4306、 TSデコーダ 4307、 TSマルチプレクサ 4310、および、ネットワーク部 4311を制御する。
[0416] 図 45は、本発明の実施の形態 4における放送受信装置が保持し、実行するプログ ラム構成を示す図である。本図は、第 2メモリ 4303に記憶され、 CPU512に実行され るプログラムの構成の一例を示す。
[0417] プログラム 4500は、複数のサブプログラムで構成され、具体的には OS4501、 EP G4502、 JavaVM4503、サービスマネージャ 4504、 Javaライブラリ 4505で構成さ れる。
[0418] OS4501は、放送受信装置 3902の電源が投入されると、 CPU4312が起動する サブプログラムである。 OS4501は、オペレーティングシステムの略であり、 Linux等 がー例である。 OS4501は、他のサブプログラムを平行して実行するカーネル 4501 a及びライブラリ 4501bで構成される公知の技術の総称であり、詳細な説明は省略す る。本実施の形態においては、 OS4501のカーネル 4501aは、 EPG4502iJavaV M4503をサブプログラムとして実行する。また、ライブラリ 450 lbは、これらサブプロ グラムに対して、放送受信装置 3902が保持する構成要素を制御するための複数の 機能を提供する。
[0419] 本実施の形態では、ライブラリ 4501bは機能の一例として、チューナ 4501bl、限 定解除 4501b2、 AV再生 4502b3、および、 NET4501b4を含む。
[0420] チューナ 4501blは、他のサブプログラムや Javaライブラリ 4505の Tuner4505cか ら周波数を含むチューニング情報を受け取り、受信部 4304に引き渡す。受信部 430 4は与えられたチューニング情報に基づき復調処理を行 、、復調したデータを多重 分離部 4305に引き渡すことができる。この結果、他のサブプログラム及び Javaライブ ラリ 4305の Tuner4305cはライブラリ 4501bを通して受信部 4304を制御することが できる。
[0421] 限定解除 4502b2は、他のサブプログラムや Javaライブラリ 4505の CA4505dから 情報を受け取り、デスクランブラ 4306に引き渡す。
[0422] AV再生 4502b3は、他のサブプログラムや Javaライブラリ 4505の JMF4505aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 4507に与える。この結果、 TSデコーダ 4507は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0423] NET4501b4は、他のサブプログラムや Javaライブラリ 4505のネットワークライブラ リ 4505eから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より 下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 4311に 引き渡すことで、ネットワーク 3907を介して他の機器にメッセージおよびデータを送 信する。また、ネットワーク 3907を介して他の機器からメッセージを受信したときに、 他のサブプログラムや Javaライブラリ 4505のネットワークライブラリ 4505eに、アプリ ケーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロト コルとは、例えば、 HTTPや RTPなどである。
[0424] EPG4502は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番 組表示部 4502aと、チャンネル選局を行う再生部 4502bで構成される。ここで、 EPG は Electric Program Guideの略である。 EPG4502は、放送受信装置 3902の電 源が投入されると、カーネル 4501aによって起動される。起動された EPG4502の内 部では、番組表示部 4502aと再生部 4502bが同時に起動される。番組表示部 4502
aは起動されると、放送受信装置 3902の入力部 4301を通して、ユーザからの入力を 待つ。ここで、入力部 4301が図 44で示されるフロントパネルで構成されている場合、 ユーザが、入力部 4301の EPGボタン 4407を押下すると、 EPGボタンの識別子が C PU4312に通知される。 CPU4312上で動作するサブプログラムである EPG4502 の番組表示部 4502aは、この識別子を受け取り、番組情報表示データを作成し、図 示していないモニタ出力部によりモニタに出力する。モニタは、放送受信装置 3902 が備えるものであっても良いし、放送受信装置 3902とコンポジットケーブルや HDMI ケーブルなどで接続されたテレビであっても良い。モニタ 4610は、受信した番組情 報表示データを表示する。
[0425] 図 46 (a)及び (b)は、本発明の実施の形態 4に係るモニタに表示された番組表の 例を示す図である。図 46 (a)を参照して、モニタ 4410には、格子状に番組情報が表 示されている。列 4601には、時刻情報が表示されている。列 4602には、チャンネル 名「チャンネル 1」と、列 4601の時刻に対応する時間帯に放映される番組が表示され ている。「チャンネル 1」では、 9 : 00〜10 : 30に番組「ニュース 9」が放映され、 10 : 30 〜12 : 00は「映画 AAA」が放映されることを表す。列 4603も列 4602同様、チャンネ ル名「チャンネル 2」と、列 4601の時刻に対応する時間帯に放映される番組が表示さ れている。 9 : 00〜: L 1 : 00に番組「映画 BBB」が放映され、 11 : 00〜12 : 00は「ニュ ース 11」が放映される。 4630は、カーソルである。カーソル 4630は、フロントパネル 4400の左カーソル 4403と右カーソル 4404を押下すると移動する。図 46 (a)の状態 で、右カーソノレ 4404を押下すると、カーソノレ 4630は右に移動し、図 46 (b)のように なる。また、図 46 (b)の状態で、左カーソル 4403を押下すると、カーソル 4630は左 に移動し、図 46 (a)のようになる。
[0426] 図 46 (a)の状態で、フロントパネル 4400の OKボタン 4405が押下されると、番組表 示部 4502aは、「チャンネル 1」の識別子を再生部 4502bに通知する。図 46 (b)の状 態で、フロントパネル 4400の OKボタン 4405が押下されると、番組表示部 4502aは 、「チャンネル 2」の識別子を再生部 4502bに通知する。
[0427] また、番組表示部 4502aは、表示する番組情報を、多重分離部 4305を通して定 期的に、第 2メモリ 4303に記憶しておく。一般的に、放送局からの番組情報の取得
は時間が掛かる。入力部 4301の EPGボタン 4407が押下された時、第 2メモリ 4303 に予め保存された番組情報を表示することで、素早く番組表を表示することができる
[0428] 図 47は、本発明の実施の形態 4に係る第 2メモリ 4303に格納されている番組情報 の一例を示す図である。番組情報は表形式で格納されている。列 4701は、チャンネ ルの識別子である。列 4702は、番組名である。列 4703は番組の放送開始時間、列 4704は放送終了時間である。列 4705は、番組の音声種別を表しており、モノラル 音声、ステレオ音声、 5. 1チャンネル音声をそれぞれ「モノラル」、「ステレオ」、「5. 1 」と表記している。列 4706は、番組の種別を表している。通常番組は空欄であり、「映 画」は映画、「スポ」はスポーツ番組を表す。行 4711〜4714の各行は、それぞれひ とつの番組情報を表す。この例では、ひとつの番組情報は、チャンネルの識別子、番 組名、放送開始時間、放送終了時間、番組の音声種別の組となる。例えば、行 471 1はチャンネル識別子が「1」、番組名が「ニュース 9」、放送開始時間が「9 : 00」、放 送終了時間が「10: 30」、音声種別が「モノラル」、番組の種別は「通常」を含む組と なっている。
[0429] 再生部 4502bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生す る。すなわちチャンネルを構成する映像と音声を再生する。チャンネルの識別子とチ ヤンネルの関係は、チャンネル情報として、第 2メモリ 4303に予め格納されている。
[0430] 図 48は、本発明の実施の形態 4に係る第 2メモリ 4303に格納されているチャンネ ル情報の一例を示す図である。チャンネル情報は表形式で格納されている。列 480 1は、チャンネルの識別子である。列 4802は、チャンネル名である。列 4803はチュ 一ユング情報である。ここで、チューニング情報は周波数や転送レート、符号化率な どを含み、受信部 4304に与える値である。列 4804はプログラムナンバーである。プ ログラムナンバーとは、 MPEG2規格で規定されて!、る PMTを識別するための番号 である。 PMTに関しては、後述する。行 4811〜4814の各行は、各チャンネルの識 別子、チャンネル名、チューニング情報の組となる。行 4811は識別子が「1」、チャン ネル名力 ^チャンネル 1」、チューニング情報に周波数「150MHz」、プログラムナンパ 一が「101」を含む組となっている。再生部 4502bは、チャンネルの再生を行うため、
受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
[0431] また、再生部 4502bは、再生中に、ユーザがフロントパネル 4400の上カーソル 44 01と下カーソノレ 4402を押下すると、人力部 4501力ら CPU4512を通して、押下さ れた通知を受け取り、再生しているチャンネルを変更する。上カーソル 4401を押下 すると、現在再生中のチャンネルよりもひとつ小さいチャンネル識別子を持つチャン ネルを再生し、また下カーソル 4402を押下すると、現在再生中のチャンネルよりもひ とつ大きいチャンネル識別子を持つチャンネルを再生する。まず、再生部 4502bは、 第 2メモリ 4303に現在再生中のチャンネルの識別子を記憶する。図 49 (a) (b)及び( c)は、それぞれ、本発明の実施の形態 4に係る第 2メモリ 4303に格納されているチヤ ンネルの識別子を示す情報の例を示す図である。
[0432] 図 49 (a)では識別子「3」が記憶されており、図 48を参照し、チャンネル名「TV 3」 のチャンネルが再生中であることを示す。図 49 (a)の状態で、ユーザが上カーソル 4 401を押下すると再生部 4502bは、図 48のチャンネル情報を参照し、表中で現在再 生中のチャンネルよりもひとつ小さ 、識別子を持つチャンネルであるチャンネル名「 チャンネル 2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネ ル名「チャンネル 2」の識別子「2」を引き渡す。同時に、第 2メモリ 4303に記憶されて V、るチャンネル識別子「2」に書き換える。
[0433] 図 49 (b)は、チャンネル識別子が書き換えられた状態を表す。また、図 49 (a)の状 態で、ユーザが下カーソル 4402を押下すると再生部 4502bは、図 48のチャンネル 情報を参照し、表中で現在再生中のチャンネルよりもひとつ大きい識別子を持つチヤ ンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サー ビスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、第 2 メモリ 4303に記憶されて 、るチャンネル識別子「4」に書き換える。
[0434] 図 49 (c)は、チャンネル識別子が書き換えられた状態を表す。チャンネル識別子は 、第 2メモリ 4303に記憶されているので、放送受信装置 3902の電源が切られた際も 保存されている。
[0435] さらに再生部 4502bは、放送受信装置 3902の電源が投入された際に、起動され ると、第 2メモリ 4303に記憶されているチャンネル識別子を読み出す。そして、そのチ
ヤンネル識別子をサービスマネージャに引渡す。これにより、放送受信装置 3902は 、電源投入時に前回の稼動時に再生されて 、た最後のチャンネルの再生を開始す ることがでさる。
[0436] JavaVM4503は、 Java (TM)言語で記述されたプログラムを逐次解析し実行する J avaバーチャルマシンである。 Java言語で記述されたプログラムはバイトコードと呼ば れる、ハードウェアに依存しない中間コードにコンパイルされる。 Javaバーチャルマシ ンは、このバイトコードを実行するインタープリタである。また、一部の Javaバーチャル マシンは、バイトコードを CPU4312が理解可能な実行形式に翻訳してから、 CPU4 312に引渡し、実行することも行う。 JavaVM4503は、カーネル 4501aに実行する Ja vaプログラムを指定され起動される。本実施の形態では、カーネル 4501aは、実行 する Javaプログラムとしてサービスマネージャ 4504を指定する。 Java言語の詳細は、 書籍「Java Language Specification (ISBN 0— 201— 63451— 1)」等の多く の書籍で解説されている。ここでは、その詳細を省略する。また、 JavaVM自体の詳 細な動作などは、「Java Virtual Machine Specification (ISBN 0— 201— 63 451— X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0437] サービスマネージャ 4504は、 Java言語で書かれ^ Javaプログラムであり、 JavaVM 4503によって逐次実行される。サービスマネージャ 4504は、 JNI (Java Native In terface)を通して、 Java言語で記述されて!、な!/、他のサブプログラムを呼び出したり 、または、呼び出されたりすることが可能である。 JNI〖こ関しても、書籍「Java Native Interface]等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0438] サービスマネージャ 4504は、 JNIを通して、再生部 4502bよりチャンネルの識別子 を受け取る。
[0439] サービスマネージャ 4504は、最初に Javaライブラリ 4505の中にある Tuner4505c に、チャンネルの識別子を引き渡し、チューニングを依頼する。 Tuner4505cは、第 2メモリ 4303が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今 、サービスマネージャ 4504がチャンネルの識別子「2」を Tuner4505cに引き渡すと 、 Tuner4505cは、図 48の行 4812を参照して、対応するチューニング情報「156M Hz,」を獲得する。 Tuner4505cは、 OS4501のライブラリ 4501bのチューナ 4501
blを通して、受信部 4504にチューニング情報を引き渡す。受信部 4504は与えられ たチューニング情報に従って放送局力 送信されてきた信号を復調し、多重分離部 4505に引き渡す。
[0440] 次にサービスマネージャ 4504は、 Javaライブラリ 4505の中にある CA4505dにデ スクランプノレを依頼する。 CA4505diま、 OS4501のライブラリ 4501bの限定解除 45 01b2を通して復号に必要な情報をデスクランブラ 4306に与える。デスクランブラ 43 06は、与えられた情報を元に、受信部 4304から与えられた信号を復号し TSデコー ダ 4307に引き渡す。
[0441] 以下、映像出力部 4308および音声出力部 4309から出力することにより、映像-音 声の再生を行う場合と、ネットワーク部 4311からマルチメディアデータを出力する場 合の処理が異なるため、それぞれについて説明する。
[0442] まず、映像'音声の再生を行う場合について、説明する。
[0443] サービスマネージャ 4504は、 Javaライブラリ 4505の中〖こある JMF4505a〖こチャン ネルの識別子を与え、映像 ·音声の再生を依頼する。
[0444] まず、最初に JMF4505aは、再生すべき映像と音声を特定するためのパケット IDを PAT、 PMTから取得する。 PATや PMTは MPEG2規格で規定されている、 MPE G2トランスポートストリーム内の番糸且構成を表現するテーブルであり、 MPEG2トラン スポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共 に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明す る。 PATは、 Program Association Tableの略で、パケット ID「0」のパケットに格 納され送信されている。 JMF4505aは、 PATを取得するため、 OS4501のライブラリ 4501bを通して、多重分離部 705にパケット ID「0」を指定する。多重分離部 705が パケット ID「0」でフィルタリングを行い、 CPU4312に引き渡すことで JMF4505aは、 PATのパケットを収集する。
[0445] 図 50は、本発明の実施の形態 4に係る収集した PATの情報の一例を模式的に示 す図である。列 5001は、プログラムナンバーである。列 5002は、パケット IDである。 列 5002のパケット IDは PMTを取得するために用いられる。行 5011〜5013は、チ ヤンネルのプログラムナンバーと対応するパケット IDの組である。ここでは、三つのチ
ヤンネルが定義されている。行 5011はプログラムナンバー「101」とパケット ID「501」 の組が定義されて 、る。今、 JMF4505aに与えられたチャンネルの識別子が「2」とす ると、 JMF4505aは、図 50の行 5012を参照して、対応するプログラムナンバー「102 」を獲得し、次に、図 50の PATの行 5012を参照し、プログラムナンバー「102」に対 応するパケット ID「502」を獲得する。 PMTは、 Program Map Tableの略で、 PA Tで規定されたパケット IDのパケットに格納され送信されている。 JMF4505aは、 PM Tを取得するため、 OS4501のライブラリ 4501bを通して、多重分離部 4305にパケ ッ HDを指定する。ここで、指定するパケット IDは「502」とする。多重分離集部 4305 がパケット ID「502」でフィルタリングを行い、 CPU4312に引き渡すことで JMF4505 aは、 PMTのパケットを収集する。
[0446] 図 51は、本発明の実施の形態 4に係る収集した PMTの情報の一例を模式的に示 す図である。列 5101は、ストリーム種別であり。列 5102は、パケット IDである。列 51 02で指定されるパケット IDのパケットには、ストリーム種別で指定された情報がペイ口 ードに格納され送信されている。列 5103は補足情報である。行 5111〜5114はエレ メンタリ一ストリームと呼ばれる、パケット IDと送信している情報の種別の組である。行 5111は、ストリーム種別「音声」とパケット ID「5011」の組であり、パケット ID「5011」 のペイロードには音声が格納されて ヽることを表す。 JMF4505aは、 PMTから再生 する映像と音声のパケット IDを獲得する。図 51を参照して、 JMF4505aは、行 5111 力ら音声のパケット ID「5011」を、行 5112から映像のパケット ID「5012」を獲得する
[0447] 次に、 JMF4505aiま、 OS4501のライブラリ 4501bの AV再生 4501b3に獲得した 音声のパケット IDと映像のパケット IDを引き渡す。これを受けて、 AV再生 4501b3は 、受け取った音声のパケット IDと映像のパケット IDを、 TSデコーダ 4307に与える。 T Sデコーダ 4307は与えられたパケット IDでフィルタリングを行う。ここではパケット ID「 5011」のパケットを音声出力部 4309に、パケット ID「5012」のパケットを映像出力部 4308に、音声出力部 4309は、与えられたパケットを適宜変換し (例えばデジタル アナログ変換)出力する。映像出力部 4308は、与えられたパケットを適宜変換し (例 えばデジタル アナログ変換)出力する。
[0448] 最後にサービスマネージャ 4504は、 Javaライブラリ 4505の中にある AM4505bに チャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生と は、 MPEG2トランスポートストリームに含まれる Javaプログラムを抽出し、 JavaVM45 03に実行させることである。 MPEG2トランスポートストリームに Javaプログラムを埋め 込む方法は、 MPEG規格書 ISOZIEC13818— 6に記述された DSMCCという方 式を用いる。ここでは DSMCCの詳細な説明は省略する。 DSMCC方式は、 MPEG 2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリ やファイルで構成されるファイルシステムをエンコードする方法を規定して 、る。また、 実行する Javaプログラムの情報は AITと呼ばれる形式で、 MPEG2トランスポートスト リームのパケットの中に埋め込まれ送信されている。 AITは、 DVB— MHP規格(正 式には、 ETSI TS 101 812 DVB— MHP仕様 VI . 0. 2)の 10章に定義されて ヽる、 Application Information Tableの略である。
[0449] AM4505bは、まず、 AITを獲得するため、 JMF4505a同様 PAT、 PMTを取得し 、 AITが格納されているパケットのパケット IDを獲得する。今、与えられたチャンネル の識別子が「2」で、図 50の PAT、図 51の PMTが送信されていると、 JMF4505aと 同様の手順で、図 51の PMTを獲得する。 AM4505bは、 PMTからストリーム種別が 「データ」で補足情報として「AIT」を持つエレメンタリ一ストリーム力もパケット IDを抽 出する。図 51を参照して、行 5113のエレメンタリ—ストリームが該当し、パケット ID「5 013」を獲得する。
[0450] AM4505bは、 OS701のライブラリ 4501bを通して多重分離部 4305に AITのパ ケッ HDを与える。多重分離部 4305は、与えられたパケット IDでフィルタリングを行 い、 CPU4312に引き渡す。この結果、 AM4505bは、 AITのパケットを収集すること ができる。
[0451] 図 52は、本発明の実施の形態 4に係る収集した AITの情報の一例を模式的に示 す図である。列 5201 ίお avaプログラムの識別子である。列 5202ίお avaプログラムの 制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autosta rtjは即時に放送受信装置 3902がこのプログラムを自動的に実行することを意味し 、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意
味する。列 5203は、 DSMCC方式で Javaプログラムを含んでいるパケット IDを抽出 するための DSMCC識別子である。列 5204ίお avaプログラムのプログラム名である 。行 5211と 5212は、 Javaプログラムの情報の組である。行 5211で定義される Java プログラムは、識別子「301」、制御情報「autostart」、 DSMCC識別子「1」、プログ ラム名「aZTopXlet」の組である。行 5212で定義される Javaプログラムは、識別子「 302」、制御情報「present」、 DSMCC識別子「1」、プログラム名「b/GameXlet」 の組である。ここでふたつの Javaプログラムは同じ DSMCC識別子を持つ力 これは ひとつの DSMCC方式でエンコードされたファイルシステム内にふたつの Javaプログ ラムが含まれて 、ることを表す。ここでは、 Javaプログラムに対して四つの情報しか規 定しないが、実際にはより多くの情報が定義される。詳細は DVB— MHP規格を参 照されたい。
[0452] AM4505bは、 AITの中から「autostart」の Javaプログラムを見つけ出し、対応す る DSMCC識別子及び Javaプログラム名を抽出する。図 52を参照して、 AM4505b は行 5211の Javaプログラムを抽出し、 DSMCC識別子「1」及び Javaプログラム名「a 7丁 」を獲得する。
[0453] 次に AM4505bは、 AITから取得した DSMCC識別子を用いて、 Javaプログラムを DSMCC方式で格納しているパケットのパケット IDを PMT力 獲得する。具体的に は、 PMTの中でストリーム種別が「データ」で、補足情報の DSMCC識別子が合致 するエレメンタリ一ストリームのパケット IDを取得する。
[0454] 今、 DSMCC識別子力 「1」であり、 PMTが図 51とすると、行 5114のエレメンタリ一 ストリームが合致し、パケット ID「5014」を取り出す。
[0455] AM4505biま、 OS4501のライブラリ 4501bを通して多重分離咅 4305に DSMC C方式でデータが埋めこめられたパケットのパケット IDを指定する。ここでは、パケット ID「5014」を与える。多重分離部 4305は、与えられたパケット IDでフィルタリングを 行い、 CPU4312に引き渡す。この結果、 AM4505bは、必要なパケットを収集する ことができる。 AM4505bは、収集したパケットから、 DSMCC方式に従ってファイル システムを復元し、第 1メモリ 4302あるいは第 2メモリ 4303に保存する。ファイルシス テム等のデータを取り出し第 1メモリ 4302あるいは第 2メモリ 4303に保存すことを以
降、ダウンロードと呼ぶ。
[0456] 図 53は、本発明の実施の形態 4に係るダウンロードしたファイルシステムの一例を 示す図である。図中、丸はディレクトリを四角はファイルを表し、 5301はルートディレ クトリ、 5302はディレクトリ「a」、 5303はディレクトリ「b」、 5304はファィル 0 161;. class」、 5305はファイル「GameXlet. class」である。
[0457] ここでは、 MPEG2トランスポートストリームからファイルシステムをダウンロードする 例を記載した力 OCAP仕様では、 IPネットワークを用いたダウンロードなども規定し ている。また、 AITではなく XAITと呼ばれる情報を用いてファイルシステムの存在位 置を特定し、ファイルシステムをダウンロードする方法も規定されて 、る。
[0458] 次に AM4505bは、第 1メモリ 4302あるいは第 2メモリ 4303にダウンロードしたファ ィルシステム中から実行する Javaプログラムを JavaVM4503に引き渡す。今、実行 する Javaプログラム名が「aZTopXlet」とすると、 Javaプログラム名の最後に「. class 」を付カ卩したファイル「aZTopXlet. class」が実行すべきファイルとなる。「Z」はディ レクトリゃファイル名の区切りであり、図 53を参照して、ファイル 5304が実行すべき Ja vaプログラムである。次に AM4505biま、フアイノレ 5304を JavaVM4503に引き渡す
[0459] JavaVM4503は、引き渡され^ Javaプログラムを実行する。
[0460] 次に、ネットワーク部 4311からマルチメディアデータを出力する場合の処理につい て説明する。
[0461] まず、サービスマネージャ 4504は、 Javaライブラリ 4505中にあるネットワークライブ ラリ 4505eにチャンネルの識別子を与え、データの送信を依頼する。ネットワークライ ブラリ 4505eは、まず、上言 6JMF4505aおよび AM4505bと同様に、 PAT、 PMTを 取得し、送信すべき番組に関する映像データ、音声データ、各セクションデータのパ ケッ HDを取得する。今、与えられたチャンネルの識別子力 「2」で、図 50の PAT、図 51の PMTが送信されていると、 JMF4505aと同様の手順で、図 51の PMTを獲得 する。送信すべきデータは、図 51の PMTに記述された全てのデータである。
[0462] ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bを通して TSデコーダ 4307に、これらのパケット IDを与え、 TSマルチプレクサ 4310に出力させる。 TSデコ
ーダ 4307は、与えられたパケット IDでフィルタリングを行い、 TSマルチプレクサ 431 0に引き渡す。
[0463] また、ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bを通して TSマ ルチプレクサ 4310に、何種類のデータが送られてくるかを与えて、 TSデコーダ 430 7から引き渡されたデータから、 MPEG2トランスポートストリームを構成させる。 TSマ ルチプレクサ 4310は、構成した MPEG2トランスポートストリームを、 CPUに引き渡 す。
[0464] また、ネットワークライブラリ 4310eは、 OS4501のライブラリ 4501bの NET4501b 4に送信先のアドレスを与える。続いて、ネットワークライブラリ 4501b4は、 TSマルチ プレクサ 4310から受け取った MPEG2トランスポートストリームを、送信するアプリケ ーシヨンレベルのプロトコルに応じた形式に変換して、 NET4501b4に順次引き渡す 。アプリケーションレベルのプロトコルとは、例えば、 HTTPや RTPといったものである 。これにより、 NET4501b4は、送信先アドレスを参照して、引き渡されたデータを IP ネットワークのパケットに変換し、ネットワーク部 4311に引き渡す。ネットワーク部 431 1では、引き渡されたデータを、接続されたネットワークの物理メディアに応じた信号 に変換して出力する。
[0465] サービスマネージャ 4504は、他のチャンネルの識別子を受け取ると、 Javaライブラ リ 4505に含まれる各ライブラリを通して再生している映像'音声及び Javaプログラム の実行もしくはネットワークへの出力を、同じく Javaライブラリ 4505に含まれる各ライ ブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像 '音 声の再生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0466] また、サービスマネージャ 4504は、再生部 4502bだけでなく、 Java VM4503上で 実行される Javaプログラムカゝらチャンネルの識別子を受け取る機能も備える。具体的 には、チャンネルの識別子を受け取るための Java言語のクラス及びそのメソッドを提 供する。チャンネルの識別子を受け取ると、サービスマネージャ 4504は、 Javaライブ ラリ 4505に含まれる各ライブラリを通して現在再生している映像'音声及び Javaプロ グラムの実行もしくはネットワークへの出力を、同じ avaライブラリ 4505に含まれる 各ライブラリを通して停止し、その後、新たに受け取ったチャンネルの識別子に基づ
V、て、新し 、映像 ·音声の再生及び Javaプログラムの実行もしくはネットワークへの出 力を行う。
[0467] また、上記では、通常の放送番組の再生やネットワークへの出力につ 、て記述した
1S ユア VoD放送の場合も同様である。
[0468] Javaライブラリ 4505は、第 2メモリ 4303に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 4505は、 JMF4505a、 AM4505b
、 Tuner4505c、 CA4505d、ネットワークライブラリ 4505e、再生 Lib4505f、 I045
05g、 AWT4505h等を含んでいる。
[0469] JMF4505a、 AM4505b、 Tuner4505c、 CA4505dの機能は、既に記述されて いるので省略する。
[0470] 再生 Lib4505fは、第 2メモリ 4303が記憶して!/、る、現在再生して!/、るチャンネル の識別子を Javaプログラムに渡すための Java言語のクラスおよびメソッドを(以下 Jav a APIと記述)提供する。この Java APIを利用することで、 Javaプログラムは、現在 再生中のチャンネルを知ることができる。
[0471] IO4505gは、 Javaプログラムが第 2メモリ 4503にデータを書き込むための Java A PI、あるいは、その書き込んだデータを第 2メモリ 4303から読み込むための Java A PIを Javaプログラムに提供する。この APIを利用することで、 Javaプログラムは、任意 のデータを第 2メモリ 4303に保存することができる。この保存されたデータは放送受 信装置 3902の電源がオフになっても消えないので、放送受信装置 3902の電源が 投入された後、再びそのデータを読み込むことができる。
[0472] AWT4505hは、 Javaプログラムが描画を行ったり、入力部 4301からのキー入力 通知を受け取るための Java APIを提供する。具体的には、「The Java class Lib raries Second Edition, Volume 2」(ISBNO— 201— 31003— 1)で既定され ¾java. awtノヽッゲーン、 java. awt. eventノ ッゲージ <¾びその ftilの java. awtのサ ブパッケージが相当する。ここでは、詳細な説明を省略する。
[0473] SI4505iは、 Javaプログラムがチャンネル情報や電子番組表情報を取得する Java
APIを提供する。具体的には、 Java TV仕様などが存在する。また、生のバイナリ 一データを放送中の MPEG2トランスポートストリームから取得する MPEGセクション
フィルター APIが OCAP仕様の中で定義されており、送信されてきた独自の電子番 組データを Javaアプリケーションが理解して取り扱うことも出来る。
[0474] ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bの NET4501b4を通 して、ネットワーク 3907に接続された映像蓄積装置 3903、映像蓄積装置 3904、端 末 3905および端末 3906と通信するものである。映像蓄積装置 3903および映像蓄 積装置 3904とは、映像蓄積装置の属性の送受信、マルチメディアデータの蓄積要 求および該マルチメディアデータの送信、特定のマルチメディアデータを蓄積して ヽ るカゝ否かの問合せ、該蓄積して!/、るマルチメディアデータの送信要求および該マル チメディアデータの利用に伴う権利処理の通信を行う。また、端末 3905および端末 3 906とは、マルチメディアデータの送信要求の受け付け、マルチメディアデータの送 信もしくはマルチメディアデータが送信される映像蓄積装置の通知を行う。
[0475] 図 54は、本発明の実施の形態 4に係るネットワークライブラリ 4505eの内部構成の 一例を示すブロック図である。ネットワークライブラリ 4505eは、制御部 5401、データ 受信部 5402、情報通信部 5403、選択部 5404、データ出力部 5405、および、権利 処理部 5406を含む。なお、ネットワークライブラリ 4505eは、 IPネットワークに関連す る他の機能を含んでも良い。
[0476] 制御部 5401は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 4505eが実現する機能を提供する。すなわち、制御部 5401は、 Javaアプリケー シヨンに対して Java APIを提供し、 Javaアプリケーション力 この APIを呼び出すこと で、ネットワークを利用した機能が実行できる。制御部 5401は、 Java APIが呼び出 されると、適宜、データ受信部 5402、情報通信部 5403、選択部 5404、データ出力 部 5405、権禾 IJ処理部 5406や、他の Javaライブラ U4505および OS4501のライブラ リ 450 lbを利用して処理を行う。
[0477] 図 55は、本発明の実施の形態 4に係る制御部 5401が提供する Java APIの一例 を示す図である。
[0478] 図 55 (1)メソッド collectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返す。具体的 には、後述の情報通信部 5403のメソッド collectNetDevice Oを呼び出し、その戻り
値を返すものでる。本メソッドにより、ネットワークに接続された機器の情報を得ること 力 Sできる。図 56に、 NetDeviceクラスの構成の一例を示す。図 56で、 addrは該装置 のネットワークアドレスを、 friendlyNameは該装置につけたニックネームを、 dType は該装置の種別を表し、 0が放送受信装置、 1が映像蓄積装置、 2が端末を表すこと とする。このような情報は、 UPnP DAに定義された方法によって行うことが可能であ るため、処理の詳細は省略する。また、 attrは映像蓄積装置の属性であり、 DevAttr ibクラスのオブジェクトである。図 57に、本発明の実施の形態 4に係る DevAttribクラ スの構成の一例を示す。図 57において、 remainCapはマルチメディアデータを蓄積 する空き領域の容量を表し、 replayFavoritGenreは、再生もしくはネットワークに出 力したコンテンツのうち、最も頻度の高いジャンルを表し、 0が映画、 1がスポーツ、な どのように表す。 recordFavoritGenreは、ユーザ操作によって録画したコンテンツ のうち、最も頻度の高いジャンルを表す。
[0479] 図 55 (2)メソッド sendMultimediaData ()は、チャンネルの識別子を指定して、映 像蓄積装置 3903もしくは映像蓄積装置 3904にマルチメディアデータを送信するも ので、成功すれば trueが返り、失敗すれば falseが返るものである。
[0480] また、図 55 (3)メソッド acceptMultimediaRequest Oは、呼び出されれば、別の プロセスもしくはスレッドを起動してその上で動作することで常駐するものであり、端末 力ものマルチメディアデータ送信要求を受け付け、映像蓄積装置 3903もしくは映像 蓄積装置 104に該マルチメディアデータが蓄積されているかどうかを調べ、蓄積され ている場合は、該映像蓄積装置に端末への送信要求を発行するとともに、該要求を 発行した端末には該映像蓄積装置カゝらマルチメディアデータが送信されることを通 知し、また、蓄積されていない場合には、該マルチメディアデータを放送局から受信 して該端末へ送信するものであり、正常終了時は trueを返し、異常時には falseを返 すものである。なお、常駐せずにひとつの要求をうければ終了する構成であっても良 い。これらのメソッドは、データ受信部 5402、情報通信部 5403、選択部 5404、デー タ出力部 5405、および権利処理部 5406の APIを用いて動作するものであるため、 詳細は後述する。
[0481] 図 55 (4)メソッドcollectMultimediaData 0は、Javaラィブラリ4505などを利用し
て、ユア VoDにより提供されるマルチメディアコンテンツを検索し、その一部もしくは 全部の番組を、各番組について 1回、サービスマネージャ 4504に依頼することにより 受信し、メソッド sendMultimediaData Oを呼び出して、映像蓄積装置に送信するも のであり、成功すれば trueを、失敗すれば falseを返す。
[0482] 図 55 (5)メソッド setSelectAlgorithm Oは、選択部 5404が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。本メソッドは選択部 5404のメソッド setSelectAlgorithm Oを呼び出すことで 行われる。
[0483] 図 55 (6)メソッド setStoragePriority ()は、選択部 5404が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。本メソッドは、選択部 5404のメソッド setStoragePriority ()を 呼び出すことで行われる。なお、本メソッドは、映像蓄積装置とその優先度の値の組 の配列を引数として設定する構成であっても良い。
[0484] 図 55 (7) setTerminalPriority Oは、選択部 5404が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。本メソッドは、選択部 5404のメソッド setTerminalPriority Oを呼び出 すことで行われる。なお、本メソッドは、端末とその優先度の値の組の配列を引数とし て設定する構成であっても良い。
[0485] 図 55 (8)メソッド setCombination Oは、選択部 5404が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。本メソッドは、選択部 5404の setCo mbination ()を呼び出すことで行われる。
[0486] 図 55 (9)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、選択
部 5404のメソッド setSelectedStorageDevice ()を呼び出すことにより行われるの で、そちらで詳細は述べる。
[0487] 図 55 (10)メソッド registerHandler ()は、引数 handlerで与えられたハンドラをシ ステムに登録するもので、成功すれば trueを返し、失敗すれば falseを返す。 Javaァ プリケーシヨンは、該ハンドラを登録することにより、ネットワークライブラリ 4505eから コールバックを受けることができる。
[0488] データ受信部 5402は、放送受信装置 3902の TSデコーダ 4307と TSマルチプレ クサ 4310を OS4501のライブラリ 4501を通じて制御し、 TSデコーダ 4307によって フィルタリングされた、映像、音声、セクションデータを TSマルチプレクサ 4310によつ て MPEG2トランスポートストリームに構成して読み出すものである。
[0489] データ受信部 5402は、制御部 5401およびダウンロードし^ Javaアプリケーション に Java APIを提供する。図 58は、データ受信部 1602が提供する Java APIの一 例を示す図である。図 58 (1)メソッド openProgram Oは、引数で指定されたチャン ネルの識別子から、 TSマルチプレクサ 510が構成した MPEG2トランスポートストリー ムを読み出す InputStreamのオブジェクトを返す。なお、失敗時には nullが返る。
[0490] 情報通信部 5403は、 OS4501のライブラリ 4501の NET4501b4を通じて、放送 受信装置 3902のネットワーク部 4311を制御し、指定されたネットワーク 3907に接続 されて 、る外部機器と、メッセージの送受信を行うものである。
[0491] 情報通信部 5403は、制御部 5401およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0492] 図 59は、本発明の実施の形態 4に係る情報通信部 1603が提供する Java APIの 一例を示す図である。
[0493] 図 59 (1)メソッド checkStorageAttribute ()は、引数で指定された情報蓄積装置 に属性送信要求を送り、返答を受信して引数 devで示された NetDeviceクラスのォ ブジエタトに属性を設定するもので、成功すれば trueを返し、失敗すれば falseを返 すものである。
[0494] 図 59 (2)メソッド sendS toreRequest Oは、引数 devで指定された映像蓄積装置に 蓄積要求を送信して返答を受信するもので、成功すれば trueを返し、通信失敗もしく
は要求拒否を受信した場合は falseを返すものである。引数 idは、制御部 5401が発 行したマルチメディアデータの識別子であり、送信要求とともに、映像蓄積装置に送 られる。
[0495] 図 59 (3)メソッド askContentStored Oは、引数 devで指定される映像蓄積装置に 、引数 idで指定されるマルチメディアデータを蓄積して ヽるか否かの問 ヽ合わせを送 信し、返答を受信するもので、蓄積していると返答を受けた場合は trueを、蓄積して V、な 、と返答を受けた場合もしくは通信に失敗した場合は falseをそれぞれ返す。
[0496] 図 59 (4)メソッド sendTransferRequest Oは、引数 serverで指定される映像蓄積 装置に、引数 idで指定されるマルチメディアデータを、引数 clientで指定される端末 へ送信する要求を送信して返答を受信するものであり、 OKを受信した場合は trueを 、 NGを受信した場合もしくは通信に失敗した場合は falseを、それぞれ返す。
[0497] 図 59 (5)メソッド acceptTerminalRequest ()は、引数 sで指定される Socketォブ ジェタトを用いて、該 Socketオブジェクトによって接続されて 、る端末からの要求を 受信し、端末が送信を要求しているマルチメディアデータの識別子を引数 reqに入れ るものであり、通信が成功すれば trueを、失敗すれば falseを、それぞれ返す。図 60 は、本発明の実施の形態 4に係る MMRequestクラスの構成を示す図である。
[0498] 図 59 (6)メソッド notifyTransferDevice ()は、引数 sで指定される Socketォブジ ェクトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 devで指 定される映像蓄積装置カゝらマルチメディアデータが送信されることを通知するもので 、成功すれば trueを返し、失敗すれば falseを返すものである。
[0499] 図 59 (7)メソッド notifyTransferData Oは、引数 sで指定される Socketオブジェク トを用いて、該 Socketオブジェクトによって接続されている端末へ、放送受信装置 3 902からマルチメディアデータが送信されることを通知するもので、成功すれば true を返し、失敗すれば falseを返すものである。
[0500] 図 59 (8)メソッド notifyUnableTransfer ()は、引数 sで指定される Socketォブジ ェクトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 status で表される理由〖こより、要求されたマルチメディアデータを送信できないことを通知す るものであり、成功すれば trueを返し、失敗すれば falseを返すものである。
[0501] 図 59 (9)メソッドcollectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返す。この処理 は、 UPnP DAに定義された方法によって行うことが可能であるため、処理の詳細は 省略する。
[0502] 選択部 5404は、設定されたアルゴリズムにした力^、、映像蓄積装置の属性および マルチメディアデータの属性などから、ネットワーク 3907に接続された映像蓄積装置 のうちひとつを選択するものである。
[0503] 選択部 5404は、制御部 5401およびダウンロードし^ Javaアプリケーションに Java
APIを提供する。
[0504] 図 61は、本発明の実施の形態 4に係る選択部 5404が提供する Java APIの一例 を示す図である。
[0505] 図 61 (1)メソッド selectDevice ()は、後述のメソッド setAlgorithm Oによって設定 されたアルゴリズムにしたがって、引数 devicesで示された映像蓄積装置の中から、 d evicesに格納されている映像蓄積装置の属性、および、引数 idで示されたチャンネ ルの識別子と図 47に示した第 2メモリ 4303に記憶している番組情報力も読み取れる マルチメディアデータの属性などをもとに、ひとつの映像蓄積装置を選択するもので あり、成功すれば選択した映像記憶装置を devicesのインデックスで返し、失敗すれ ば負の値を返すものである。選択するアルゴリズムとしては、空き容量の大きい映像 蓄積装置を選択する、マルチメディアデータのジャンルごとに映像蓄積装置を割り振 つて選択する、該マルチメディアデータのジャンルと同じジャンルのマルチメディアデ ータをユーザ操作によって録画した頻度の高い映像蓄積装置を選択する、後述のメ ソッド setStoragePriority Oによって設定された、映像蓄積装置の優先度にしたが つて選択する、後述のメソッド setTerminalPriority Oによって設定された端末の優 先度と、後述のメソッド setCombination Oによって設定された端末と映像蓄積装置 の組から、端末の優先度にしたがって端末を選択し、その端末と組になつている映像 蓄積装置を選択する、あるいは、複数の映像蓄積装置があった場合に、 Javaアプリ ケーシヨンにコールバック関数によって知らせ、ユーザに一覧を提示し、ユーザから の入力を受け付けて、後述のメソッド setSelectedStorageDevice Oによって指定さ
れた映像蓄積装置を選択する、などがある。
[0506] 図 61 (2)メソッド setSelectAlgorithm Oは、選択部 5404が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。
[0507] 図 61 (3)メソッド setStoragePriority ()は、選択部 5404が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。なお、本メソッドは、映像蓄積装置とその優先度の値の組の配 列を引数として設定する構成であっても良 、。
[0508] 図 61 (4) setTerminalPriority Oは、選択部 5404が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。なお、本メソッドは、端末とその優先度の値の組の配列を引数として設 定する構成であっても良い。
[0509] 図 61 (5)メソッド setCombination Oは、選択部 5404が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。
[0510] 図 61 (6)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、メソッ ド selectDevice O力 設定されたアルゴリズムによりユーザの入力によって選択する 場合、 Javaアプリケーションにコールバック関数によって通知し、ユーザの入力を受 け付けた javaアプリケーションによって呼び出されるものである。コールバック関数は 、 Javaアプリケーションのハンドラオブジェクトを Handlerとすると、 Handler, notify ( NetDevices [] devices, Object obj)といったもので、これにより Javaアプリケー シヨンは引数で与えられた映像蓄積装置の一覧をユーザに提示して、ユーザ入力を 受け付ける。受け付けた入力から、指定されたものの、配列 devicesのインデックスを
取得し、 I数 objで制御部 5401もしくは選択部 5404のインスタンスが与えられるの で、そのメソッド setSelectedStorageDevice Oを呼び出して設定する。上記ハンド ラオブジェクト Handlerは、制御部 5401のメソッド registerHandler Oによって、登 録されたものである。なお、選択部 5404力 同じ registerHandler Oメソッドをもち、 J avaアプリケーションに公開する構成であっても良い。
[0511] データ出力部 5405は、 OS4501のライブラリ 4501の NET4501b4を通じて、放送 受信装置 3902のネットワーク部 4311を制御し、指定されたネットワーク 3907に接続 されて!/ヽる外部機器に、データ受信部 5402が受信したマルチメディアデータを送信 するものである。
[0512] データ出力部 5405は、制御部 5401およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0513] 図 62は、本発明の実施の形態 4に係るデータ出力部 1605が提供する Java API の一例を示す図である。
[0514] 図 62 (1)メソッド sendData Oは、引数 devで指定されたネットワーク 3907に接続さ れて 、る装置に、引数 isで指定された InputStreamオブジェクトから読み込んだデ ータを、 isから EOFを読み込むまで送信するもので、成功すれば trueを返し、失敗 すれば falseを返すものである。
[0515] 権利処理部 5406は、サービスマネージャ 4504に、マルチメディアデータの利用に 伴う課金などの権利処理を依頼するものである。
[0516] 権利処理部 5406は、制御部 5401およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0517] 図 63は、本発明の実施の形態 4に係る権利処理部 5406が提供する Java APIの 一例を示す図である。
[0518] 図 63 (1)メソッド requestContentUse ()は、引数 idで指定されたコンテンツの権 利処理をサービスマネージャ 4504に依頼するものであり、コンテンツ使用が許可さ れれば trueが返り、許可されない、もしくは処理に失敗すれば falseが返るものである
[0519] ここで、制御部 5401の、メソッド sendMultimediaData ()およびメソッド acceptM
ultimediaRequest ()の処理を説明する。
[0520] まず、メソッド sendMultimediaData ()の処理にっ 、て説明する。 sendMultimed iaData Oが呼び出されれば、まず、制御部 5401のメソッド collectNetDevice ()に よって、ネットワーク 3907に接続された映像蓄積装置を検索する。続いて、各映像蓄 積装置ごとに、情報通信部 5403のメソッド checkStorageAttribute ()を呼び出し て、各映像蓄積装置の属性を調べる。続いて、選択部 5404のメソッド selectDevice 0を呼び出して、映像蓄積装置を選択する。さらに、このマルチメディアデータを識 別する識別子を発行する。選択した映像蓄積装置に対し、情報通信部 5403のメソッ ド sendStoreRequest Oを呼び出すことで、蓄積要求をマルチメディアデータの識 別子とマルチメディアデータの番組情報ともに送信する。続いて、データ受信部 540 2のメソッド openProgram Oを呼び出して、マノレチメディアデータを読み出す Input Streamオブジェクトを取得する。さらに、データ出力部 5405のメソッド sendData O を呼び出して、選択した映像蓄積装置に、受信したマルチメディアデータを送信する 。処理が成功すれば、マルチメディアデータの属性とともに、発行したマルチメディア データの識別子を第 2メモリ 4303に記憶させる。
[0521] なお、 collectNetDevice ()を実行したあとに、これらの情報を第 2メモリ 4303に記 憶させ、以降は第 2メモリ 503に記憶したものを読み出す構成であっても良い。
[0522] 次に、メソッド acceptMultimediaRequest ()の処理にっ 、て説明する。メソッド ac ceptMultimediaRequest ()は、呼び出されると、別のスレッドもしくはプロセスを生 成し、その上で動作する。まず、端末からの接続を受け付ける Socketオブジェクトを 作成し、接続要求を待ち受ける。端末から、接続要求がくれば、情報通信部 5403の メソッド acceptTerminalRequest Oを呼び出し、該端末からの要求を受信する。続 いて、要求されたマルチメディアデータの識別子を、端末からの要求、もしくは端末か ら受け取ったチャンネルの識別子と第 2メモリ 4303に記憶させた情報とから特定する 。次に、制御部 5401のメソッド collectNetDevice ()を呼び出す力、もしくは、第 2メ モリ 4303に記憶させた情報から、ネットワークに接続された映像蓄積装置を検索す る。続いて、各映像蓄積装置ごとに、情報通信部 5403のメソッド askContentStore d ()を呼び出し、該映像蓄積装置に該マルチメディアデータが蓄積されている力否か
を問い合せる。蓄積している映像記憶装置があれば、該映像蓄積装置に、情報通信 部 5403のメソッド sendTransferRequest Oを呼び出すことによって、該要求のあつ た端末へ、該マルチメディアデータの送信要求を発行する。なお、該要求のあった端 末は、端末と通信している Socketオブジェクトと、管理部のメソッド collectNetDevic e ()の結果もしくは第 2メモリ 4303に記憶させた情報より特定する。なお、このとき、必 要であれば、権利処理部 5406のメソッド requestContentUse ()を呼び出すことで 、権利処理を行う。続いて、該要求のあった端末には、情報通信部 5403のメソッド n otigyTransferDevice ()を呼び出すことで、該蓄積して ヽる映像蓄積装置を通知す る。また、該マルチメディアデータを蓄積している映像蓄積装置が見つからな力つた 場合は、サービスマネージャ 4504にチャンネルの識別子を引き渡して、番組受信を 依頼する。続いて、上記メソッド sendMultimediaData Oの場合と同様、データ受信 部 5402のメソッド openProgramOを呼び出し、受信するマルチメディアデータを読 み出す InputStreamを生成する。メソッド openProgram O力 ullを返せば、情報通 信部 5403のメソッド notifyUnableTransfer ()を呼び出して、該端末へデータ送信 が不可能なことを通知し、待ち受け要求に戻る。メソッド openProgram O力 Inputs treamオブジェクトのインスタンスを返せば、情報通信部 5403のメソッド110 £ 1^&11 sferData Oメソッドを呼び出すことにより、該端末に、放送受信装置 3902から該マ ルチメディアデータを送信することを通知する。続いて、データ出力部 5405のメソッ ド sendData Oを呼び出すことで、該端末へ該マルチメディアデータを送信する。デ ータ送信が終了すれば、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。
以上の構成により、 Javaアプリケーションは、ユア VoDで提供される番組のマルチメ ディアデータを、利用に先立って受信し、映像蓄積装置に蓄積しておくことが可能と なる。なお、この蓄積は、一定の時間間隔で実行しても良ぐまた、ユーザの設定した 日時に行っても良い。また、ユーザの設定した時間間隔で行っても良い。また、ユー
ザの操作により行っても良い。また、放送局からの指示で行っても良い。
[0524] 次に、映像蓄積装置 3903および映像蓄積装置 3904の構成について説明する。
[0525] 図 64は、本発明の実施の形態 4における映像蓄積装置 3903および映像蓄積装 置 3904の構成を示すブロック図である。本図に示す映像蓄積装置 3903および映 像蓄積装置 3904は、入力部 6401、第 1メモリ 6402、第 2メモリ 6403、多重分離部 6 404、 TSデコーダ 6405、映像出力部 6406、音声出力部 6407、ネッドワーク部 640 8、および、 CPU26409で構成される。なお、本実施の形態おける映像蓄積装置 39 03および映像蓄積装置 3904は、マルチメディアデータを蓄積するだけでなぐユー ザの操作によって、放送受信装置 3902から受信したマルチメディアデータおよび蓄 積したマルチメディアデータの再生も行う構成である。
[0526] 入力部 6401、第 1メモリ 6402、第 2メモリ 6403は、上記した本実施の形態におけ る放送受信装置 3902の入力部 4301、第 1メモリ 4302、第 2メモリ 4303と同様のも のである。なお、映像蓄積装置 3903および映像蓄積装置 3904は、第 2メモリ 6403 に、マルチメディアデータを蓄積する。また、マルチメディアデータだけでなぐ該マ ルチメディアデータの識別子、タイトル、放送日時、放送チャンネルなど EPG力 得 られる番組情報も同時に、メタデータとして蓄積する。
[0527] 多重分離部 6404は、 CPU6409から MPEGトランスポートストリームを受け取り、 C PU6409から指定された情報を抽出し、 CPU6409に引き渡す。また、 MPEGトラン スポートストリームをそのまま TSデコーダ 6405に引き渡す。
[0528] TSデコーダ 6405は、 CPU6409力ら、音声データ、映像データの識別子を受け 取る。さらに、多重分離部 6404から受け取ったストリームから、受け取った音声デー タ、映像データの識別子に対応するデータを抽出する。抽出した映像データを映像 出力部 6406に、音声データを音声出力部 6407に、それぞれ引き渡す。
[0529] 映像出力部 6406、音声出力部 6407は、上記した本実施の形態における放送受 信装置 3902の映像出力部 4308、音声出力部 4309と同様のものである。
[0530] ネットワーク部 6408は、ネットワークインタフェースを含み、 CPU6409から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、
IPネットワークで規定されたパケットに変換して、 CPU6409へ引き渡す。
[0531] CPU6409は、第 2メモリ 6403が記憶するプログラムを実行することで、多重分離 部 6404、 TSデコーダ 6405、ネッドワーク部 6409を制御する。
[0532] 図 65は、本発明の実施の形態 4における映像蓄積装置 3903および映像蓄積装 置 3904が保持し、実行するプログラム構成を示す図である。本図は、第 2メモリ 640 3に保持記憶され、 CPU6409に実行されるプログラムの構成図の一例である。
[0533] プログラム 6500は、複数のサブプログラムで構成され、具体的には OS6501、 Jav aVM6502、サービスマネージャ 6503、 Javaライブラリ 6504で構成される。
[0534] OS6501は、映像蓄積装置 3903および映像蓄積装置 3904の電源が投入される と、 CPU6409が起動するサブプログラムである。 OS6501は、オペレーティングシス テムの略であり、 Linux等が一例である。 OS6501は、他のサブプログラムを平行し て実行するカーネル 6501a及びライブラリ 6501bで構成される公知の技術の総称で あり、詳細な説明は省略する。本実施の形態においては、 OS6501のカーネル 650 laは、 Java VM6503をサブプログラムとして実行する。また、ライブラリ 6501bは、こ れらサブプログラムに対して、映像蓄積装置 3903および映像蓄積装置 3904が保持 する構成要素を制御するための複数の機能を提供する。
[0535] 本実施の形態では、ライブラリ 6501bは機能の一例として、限定解除 6501bl、 A V再生 6502b2、 NET6501b3を含む。
[0536] 限定解除 6502b 1は、他のサブプログラムや Javaライブラリ 6504の CA6504cから 情報を受け取り、ネットワークカゝら受信した暗号ィ匕データを復号したり、 AV再生 6501 b2を有効にして、ネットワーク力も受信したマルチメディアデータおよび第 2メモリ 640 3に蓄積したマルチメディアデータの再生を許可したりするものである。
[0537] AV再生 6502b2は、他のサブプログラムや Javaライブラリ 6504の JMF6504aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 6405に与える。この結果、 TSデコーダ 6405は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0538] NET6501b3は、他のサブプログラムや Javaライブラリ 6504のネットワークライブラ リ 6504dから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より
下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 6408に 引き渡すことで、ネットワーク 3907を介して他の機器にメッセージおよびデータを送 信する。また、ネットワーク 3907を介して他の機器からのメッセージを受信したときに 、他のサブプログラムや Javaライブラリ 6504のネットワークライブラリ 6504dに、アプリ ケーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロト コルとは、例えば、 HTTPや RTPなどである。
[0539] JavaVM6502は、上記した本実施の形態における放送受信装置 3902の JavaV M4503と同様のものである。
[0540] サービスマネージャ 6503は、上記した本実施の形態における放送受信装置 3902 のサービスマネージャ 4604と、以下の相違点を除いて同様のものである。サービス マネージャ 4604は再生部 4602bよりチャンネル識別子を受け取り、その識別子を T uner4605cに引き渡してチューニングさせ、さらに CA4605dに依頼してデスクラン ブルを行い、 JMF4605aにチャンネルの識別子を与えて映像 '音声の再生を依頼す るものであった力 サービスマネージャ 6503は、 Javaライブラリ 6504の中にある List 6504iからコンテンツの識別子を受け取り、 Javaライブラリ 6504の中にある IO6504f にコンテンツの識別子を渡して第 2メモリ 6403に蓄積しているストリームを読み出す 力 ネットワークライブラリ 6504dにコンテンツの識別子とそれを受信する装置を引き 渡して、該装置からストリームを受信するかを行い、続いて、 Javaライブラリ 6504の中 にある JMF6504aにコンテンツの識別子を与えることで、映像'音声の再生を依頼す るものである。 List6504iについては、後述する。
[0541] また、サービスマネージャ 6503は、 Javaライブラリ 6504の中にあるネットワークライ ブラリ 6504dに、放送受信装置 3902からの蓄積要求待ち受け、および、データ受信 と蓄積を依頼することで、放送受信装置 3902からマルチメディアデータを受信して、 第 2メモリ 6403に蓄積する。
[0542] また、サービスマネージャ 6503は、 Javaライブラリ 6504の中にあるネットワークライ ブラリ 6504d〖こ、放送受信装置 3902からのマルチメディアデータ送信要求依頼、お よび、端末 3905もしくは端末 3906からのデータ送信要求の受付と、該依頼に対応
したデータ送信を依頼することにより、第 2メモリ 6403に蓄積したマルチメディアデー タを端末に送信する。
[0543] Javaライブラリ 6504は、第 2メモリ 6403に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 6504は、 JMF6504a、 AM6504b 、 CA6504c、ネットワークライブラリ 6504d、再生 Lib6504e、 List6504i等を含んで いる。
[0544] JMF6504a、 AM6504b、再生 Lib6504e、 IO6504f、 AWT6504g、 SI6504h は、それぞれ、上記した本実施の形態における放送受信装置 3902の Javaライブラリ 4505の中の JMF4505a、 AM4505b、再生 Lib4505f、 IO4505g、 AWT4505h、 SI4505iと同様のものである。
[0545] CA6504cは、ネットワーク 3907経由で送信されてきたマルチメディアデータおよ び第 2メモリ 6403に蓄積したマルチメディアデータのコピー制御および課金など、該 マルチメディアデータの権利処理を管理するものである。コピー制御は、送信されて きたトランスポートストリームのセクション情報に含まれているコピー制御情報を参照し て、必要であれば書き換えを行う。また、課金などは、ネットワークライブラリ 6504dを 通して、放送受信装置 3902と通信することによって行う。
[0546] List6504iは、放送受信装置 3902における EPG、第 2メモリ 6403に蓄積されてい るマルチメディアコンテンツの一覧、および、ネットワーク 3907に接続された映像蓄 積装置に蓄積されているマルチメディアコンテンツの一覧を表示し、入力部 6401が 受け付けたユーザ操作によって、一覧からひとつのマルチメディアコンテンツを選択 し、サービスマネージャ 6503に再生を依頼するものである。放送受信装置 3902もし くはネットワーク 3907に接続された他の映像蓄積装置に蓄積されたコンテンツの場 合は、該装置の情報もサービスマネージャ 6503に引き渡す。第 2メモリ 6403に蓄積 されたコンテンツの一覧は IO6504fを通して情報を読み出すことで取得できる。また 、放送受信装置 3902における EPGおよびネットワーク 3907に接続された他の映像 蓄積装置に蓄積されたコンテンツの一覧は、ネットワークライブラリ 6504dを通して、 取得することができる。これらの情報は、 UPnP AVに定義された方法によって実現 できるため、詳細説明は省略する。
[0547] ネットワークライブラリ 6504dは、 OS6501bの NET6501b3を通して、ネットワーク 3907に接続された放送受信装置 3902、他の映像受信装置、端末 3905および端 末 3906と通信するものである。放送受信装置 3902とは、映像蓄積装置の属性送信 、マルチメディアデータの蓄積要求受信と該マルチメディアデータの受信、マルチメ ディアデータを蓄積して 、るかの問 、合わせ受信とその返信、蓄積して 、るマルチメ ディアデータの送信依頼受付および該マルチメディアデータの利用に伴う権利処理 の通信を行う。また、他の放送受信装置、端末 3905および端末 3906とは、マルチメ ディアデータの一覧送受信、マルチメディアデータの送信、マルチメディアデータの 受信を行う。
[0548] 図 66は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成の 一例を示すブロック図である。ネットワークライブラリ 5404dは、制御部 6601、制御情 報通信部 6602、データ受信部 6603、データ送信部 6604、属性管理部 6605、およ び、権利処理部 6606を含む。なお、ネットワークライブラリ 6504dは、 IPネットワーク に関連する他の機能を含んでも良 、。
[0549] 制御部 6601は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 6504dが実現する機能を提供する。すなわち、制御部 6601は、ダウンロードした Javaアプリケーションに対して Java APIを提供し、 Javaアプリケーションがこの API を呼び出すことで、ネットワークを利用した機能が実現できる。制御部 6601は、 Java APIが呼び出されると、適宜、制御情報通信部 6602、データ受信部 6603、データ 送信部 6604、属性管理部 6605、権禾 IJ処理部 6606や、他の Javaライブラリ 6504お よび OS6501のライブラリ 6501bを利用して処理を行う。
[0550] 図 67は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる制御部 6601が提供する Java APIの一例を示す図である。
[0551] 図 67 (1)メソッド collectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返し、失敗時は nullを返す。このメソッドは後述の制御情報通信部 6602のメソッド collectDevice () を用いることで行う。
[0552] 図 67 (2)メソッド acceptRequestToStore ()は、呼び出されれば別のプロセスもし
くはスレッドを起動してその上で動作することで常駐するものであり、放送受信装置 3 902からの属性送信要求受付け、マルチメディアデータの蓄積要求受付、マルチメ ディアデータの受信と第 2メモリ 6403への蓄積を行う。正常終了時には trueを返し、 異常時には falseを返す。
[0553] なお、常駐せずにひとつの要求をうければ終了する構成であっても良い。また、 Jav aアプリケーション力もネットワーク 3907に接続された機器が引数で渡され、その機器 と通信することより、該機器力 データを受信して蓄積する構成であっても良い。詳細 については後述する。
[0554] 図 67 (3)メソッド& 6 !^ 1½51;丁01^&115£61:()は、呼び出されれば別のプロセス もしくはスレッドを起動してその上で動作することで常駐するものであり、放送受信装 置 3902からの特定のマルチメディアデータを蓄積しているか否かの問い合わせを受 け付けて返答し、また、放送受信装置 3902から特定のマルチメディアデータを特定 の端末への送信要求を受け付けて、該マルチメディアデータを該端末へ送信するも のである。また、端末 3905、端末 3906など外部装置力 マルチメディアデータの送 信要求を受け付けて、該マルチメディアデータを送信するものである。正常終了時に は trueを返し、異常時には falseを返す。なお、常駐せずにひとつの要求をうければ 終了する構成であっても良い。詳細については後述する。
[0555] 図 67 (4)メソッド getMultimediaData ()は、 Javaアプリケーションもしくは他のサブ プログラム力もネットワーク 3907に接続された装置とコンテンツの識別子と出カストリ ームを受け付け、該装置から、該識別子で特定されるマルチメディアデータを受信し 、該出カストリームへ書き込むものである。成功時には trueを返し、失敗時には false を返す。このメソッドにより、 Javaアプリケーションは、ネットワーク 3907に接続された 他の機器力 Sもつマルチメディアデータを受信して再生することができる。詳細につい ては後述する。
[0556] 図 67 (5)および(6)メソッド getContentList ()は、 Javaアプリケーションもしくは他 のサブプログラムから、ネットワーク 3907に接続された映像蓄積装置を受け取り、そ の映像蓄積装置が蓄積して 、るコンテンツ一覧を取得し、 Contentlnfoオブジェクト の配列で返すもので、成功時にはこの配列が、失敗時には nullが返るものである。こ
のメソッドは、引数としてひとつの NetDeviceオブジェクトをとる場合と、 NetDevice オブジェクトの配列をとる場合がある。図 68は、本発明の実施の形態 4に係るネットヮ 一クライブラリ 6504dで使用される Contentlnfoクラス定義の一例を示す図である。 図 68で、 devは該映像蓄積装置を示し、 contentldは該コンテンツの識別子を表し、 channelldは該コンテンツが放送されたチャンネルの識別子を表し、 titleは該コンテ ンッのタイトルを表し、 gunreは該コンテンツのジャンルを表し、 broadDaeは該コンテ ンッが放送された日時を表し、 recDateは該コンテンツが録画された日時を表す。こ れは後述の制御情報通信部 2802のメソッド getContentList ()を呼び出すことで行 われる。
[0557] 図 67 (7) getEPGData ()は、指定された機器から EPG情報を取得して Contentl nfoオブジェクトの配列を返すもので、引数 devで指定される装置が放送受信装置 39 02でないか、失敗した場合は nullを返すものである。本メソッドは、後述する制御情 報通信部 6402のメソッド getEPGData ()を呼び出すことで行われる。
[0558] 図 67 (8)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。本メソッドは、後述する属性管理部 6605のメ ソッド updateAttribute ()を呼び出すことで行われる。
[0559] 制御情報通信部 6602は、 OS6501のライブラリ 6501の NET6501b3を通じてネ ットワーク部 6408を制御し、指定されたネットワーク 3907に接続されている外部機器 と、メッセージの送受信を行うものである。
[0560] 制御情報通信部 6402は、制御部 6401およびダウンロードし^ Javaアプリケーショ ンに Java APIを提供する。
[0561] 図 69は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる制御情報通信部 6602が提供する Java APIの一例を示す図である。
[0562] 図 69 (1)メソッド collectNetDevice ()は、上記の本実施の形態における放送受信 装置 102のネットワークライブラリ 4505eの情報通信部 5403のメソッド collectNetD evice ()と同様のものである。
[0563] 図 69 (2)メソッド getRequestMessage ()は、引数 sで与えられたソケットからメッセ
ージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば null を返すものである。本メソッドは、外部機器力もの要求を受信するときに用いるもので ある。
[0564] 図 69 (3)メソッドsendResponseMessage Oは、引数 sで与えられたソケットに、引 数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗 すれば falseを返す。このメソッドは、外部機器からの要求に対する返答を送るときに 用いられる。
[0565] 図 69メソッド(4) sendRequestMessage ()は、引数 sで与えられたソケットに、引数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗す れば falseを返す。このメソッドは、外部機器へ要求を送るときに用いられる。
[0566] 069 (5) ^y^ getResponseMessage ()は、引数 sで与えられたソケットからメッ セージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば nul 1を返すものである。本メソッドは、外部装置に送った要求に対する返答を該外部装置 力 受信するときに用いるものである。
[0567] 図 69 (6)および(7)メソッド getConentList Oは、引数 devで与えられた映像蓄積 装置、もしくは devicesで与えられた複数の映像蓄積装置に蓄積されて 、るコンテン ッの一覧を取得し、 Contentlnfoオブジェクトの配列を返すもので、成功時には該配 列が、失敗時には nullが返る。各映像記憶装置に蓄積されたコンテンツ一覧の取得 は、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0568] 図 69 (8)メソッド getEPGData Oは、引数 devで与えられた放送受信装置力も EP G情報を取得して、 Contentlnfoオブジェクトの配列を返すものであり、成功時には 該配列が、失敗時には nullが返る。放送受信装置力もの EPG情報の取得も、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0569] データ受信部 6403は、 OS6501のライブラリ 6501の NET6501b3を通じてネット ワーク部 6408を制御し、ネットワーク 3907に接続された放送受信装置もしくは映像 蓄積装置から、ネットワーク 3907を通じてマルチメディアデータを受信するものであ る。
[0570] データ受信部 6603は、制御部 6601およびダウンロードし^ Javaアプリケーション
に Java APIを提供する。
[0571] 図 70は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれるデータ受信部 6603が提供する Java APIの一例を示す図である。
[0572] 図 70 (1)メソッド openRemoteProgram Oは、引数 devで与えられた装置の、引数 portで指定されたポートから、マルチメディアデータを受信する通信路を確保し、 Re moteProgramオブジェクトで返すもので、成功時には該オブジェクトが、失敗時に は nullが返る。図 71に、本発明の実施の形態 4に係る RemoteProgramクラスの構 成の一例を示す。図 71で、 sは通信の用いるソケットを表す。メソッド getMedialnput Stream ()は、該マルチメディアデータを読み出す InputStreamオブジェクトを返す ものである。
[0573] 図 70 (2)メソッド openRemoteProgram Oは、引数 devで与えられた装置に蓄積さ れた、引数 idで与えられた識別子を持つマルチメディアデータを受信する通信路を 確保し、 RemoteProgramオブジェクトで返すもので、成功時には該オブジェクトが、 失敗時には nullが返る。本メソッドは、まず、該装置と通信する Socketオブジェクトを 生成して接続する。続いて、与えられた識別子を含んだ送信要求メッセージを作成し 、制御情報通信部 6602のメソッド sendRequestMessage Oを呼び出すことで、該 機器に送信する。続いて、制御情報通信部 6602の getResponseMessage Oを呼 び出すことで、返答メッセージを受け取る。返答メッセージが OKであれば、それを解 析する。そして、特定のポート番号が指定されていれば、新しい Socketオブジェクト を作成し、その Socketオブジェクトを用いて RemoteProgramオブジェクトを生成し て返す。特定のポートが指定されていなければ、通信に用いた Socketオブジェクト から RemoteProgramオブジェクトを生成して返す。返答メッセージが NGであれば、 nullを返す。
[0574] データ送信部 6604は、 OS6501のライブラリ 6501の NET6501b3を通じてネット ワーク部 6408を制御し、指定されたネットワーク 3907に接続されている外部機器に 、指定されたマルチメディアデータを出力するものである。
[0575] データ送信部 6604は、制御部 6601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0576] 図 72は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれるデータ送信部 2803が提供する Java APIの一例を示す図である。図 72 (1 )メソッド sendMultimediaData Oは、引数 devで与えられた装置の、引数 portで与 えられたポートに、図 72 (2)メソッド sendMultimediaData Oは、引数 sで与えられた Socketオブジェクトを用いて、引数 isで与えられた InputStreamオブジェクトからデ ータを読み込んで、その EOFまでデータを送信するもので、成功すれば trueを返し 、失敗すれば falseを返すものである。
[0577] 属性管理部 6605は、映像蓄積装置の属性を管理するものである。映像蓄積装置 の属性は、第 2メモリ 6403に保存されており、属性管理部 6605は、 Javaライブラリ 6 206の中の IO6404fを用いてこれを読み書きする。
[0578] 属性管理部 6605は、制御部 6601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0579] 図 73は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる属性管理部 6605が提供する Java APIの一例を示す図である。
[0580] 図 73 (1)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。 typeの値が 0の場合は蓄積を示し、 1の場合 は再生もしくはネットワークへの送出を表す。本メソッドは、第 2メモリ 6403から属性情 報と蓄積されているコンテンツの情報を読み出し、該コンテンツのジャンルを調べ、ま た、第 2メモリ 6403のマルチメディアデータ用領域の空き容量を調べることにより、属 性情報を更新する。そして、更新した属性情報を第 2メモリ 2603に書き込む。
[0581] 図 73 (2)メソッド getAttribute ()は、第 2メモリ 6403から属性情報を読み出し、必 要なデータを DevAttribオブジェクトに格納して、該 DevAttribオブジェクトを返すも のであり、失敗時には nullを返す。
[0582] 権利処理部 6606は、放送受信装置 3902に、引数 idで与えられた識別子のコンテ ンッの利用に関する権利処理を行うものである。
[0583] 権禾 IJ処理部 6606は、制御部 6601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0584] 図 74は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる権利処理部 6606が提供する Java APIの一例を示す図である。
[0585] 図 74 (1)メソッド requestContentUse ()は、引数 idで与えられた識別子のコンテ ンッを、引数 devで与えられた装置へ、使用の許可を要求するもので、許可が得られ れば trueを、許可されない、もしくは処理に失敗した場合は falseを、それぞれ返す。 本メソッドは、要求メッセージを作成し、制御情報通信部 6402のメソッド sendReque stMessage Oを呼び出して送信する。また、制御情報通信部 2802のメソッド getRes poseMessage Oを呼び出して返答メッセージを受信する。そして、返答メッセージが OKを示して!/ヽれば trueを返し、 NGを示して!/、れば falseを返す。
[0586] ここで、制御部 6401の、メソッド acceptRequestToStore ()、メソッド acceptRequ estToTransfer O、メソッド getMultimediaData ()について説明する。
[0587] メソッド acceptRequestToStore ()は、呼び出されると、別のスレッドもしくはプロセ スを生成し、その上で動作する。まず、放送受信装置 3902からの接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。放送受信装置 3902から接続 要求がくれば、制御情報通信部 6602のメソッド getRequestMessage ()を呼び出し て、要求メッセージを受信する。受信した要求メッセージが属性の問い合わせであれ ば、属性管理部 6605のメソッド getAttribute ()を呼び出して属性情報を読み出し、 制御情報通信部 6602のメソッド sendResponseMessage ()を呼び出すことで、属 性情報を返信し、接続要求の待ち受けに戻る。受信した要求メッセージがマルチメデ ィァデータの蓄積要求であれば、まず、要求メッセージからマルチメディアデータの 識別子と番組情報を取り出だす。続いて、データ受信部 6603のメソッド openRemot eProgram Oを呼び出すことで、受信する InputStreamを作る。続いて、該識別子、 番組情報と該 InputStreamから受信するマルチメディアデータを、 Javaライブラリ 27 04の中の IO6504fを通じて、第 2メモリ 6403に書き込むことにより、該マルチメディ ァデータを蓄積する。さらに、属性管理部 6605のメソッド updateAttribute Oを呼 び出すことにより、属性情報を更新する。以上の処理を終了すれば、接続要求の待 ち受けに戻る。なお、接続要求を受け付けると、さらに、別スレッドもしくはプロセスを 生成して、以降の処理は該別スレッドもしくはプロセスで動作し、もとのスレッドもしく
はプロセスは接続要求の待ち受けに戻る構成であっても良い。この場合、該別スレツ ドもしくはプロセス上の処理は、接続要求待ち受けに戻らず、終了する。なお、メソッ KacceptRequestToStore ()は、引数に NetDeviceオブジェクトをとり、この引数に よって放送受信装置 3902が与えられる構成であっても良い。この場合、上記の処理 に加え、待ち受けしている Socketオブジェクトに接続してきた装置が、引数で与えら れた装置でなければ、接続要求を受け入れな 、ことを行う。
メソッド acceptRequestToTransfer Oは、呼び出されると、別のスレッドもしくはプ 口セスを生成し、その上で動作する。まず、ネットワーク 3907に接続された装置から の接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。接続要 求がくれば、制御情報通信部 6602のメソッド getRequestMessage ()を呼び出して 、要求メッセージを受信する。受信した要求メッセージが、放送受信装置 3902からの 、あるマルチメディアデータを蓄積しているか否かの問合せであれば、まず要求メッ セージからマルチメディアデータの識別子を取り出す。次に、 Javaライブラリ 6504の 中の IO6504fを通じて、蓄積しているコンテンツの一覧を読み出し、取り出した識別 子と照合することで、該マルチメディアデータを蓄積している力否かを判定する。続い て、制御情報通信部 6602のメソッド sendResponseMessage ()を呼び出すことで判 定結果を返信し、接続要求の待ち受けに戻る。受信した要求メッセージが、放送受 信装置 3902からの、あるマルチメディアデータの送信要求であれば、まず、要求メッ セージから送信先の端末と送信するマルチメディアデータの識別子を取り出す。続ヽ て、 IO6504fを通じて該マルチメディアデータを読み出す InputStreamを取得する 。そして、データ送信部 6604のメソッド sendMultimediaData Oを呼び出すことに より、該端末に該マルチメディアデータを送信する。データ送信が終われば、属性管 理部 6605のメソッド updateAttribute Oを呼び出して、属性情報の更新を行い、接 続要求の待ち受けに戻る。受信した要求メッセージ力 端末などからのマルチメディ ァデータ送信要求であれば、まず、要求メッセージカゝら送信するマルチメディアデー タの識別子を取り出す。続いて、 IO6504fを通じて該マルチメディアデータを読み出 す InputStreamを取得する。そして、データ送信部 6604のメソッド sendMultimedi aData Oを呼び出すことにより、該端末に該マルチメディアデータを送信する。デー
タ送信が終われば、属性管理部 6605のメソッド updateAttribute ()を呼び出して、 属性情報の更新を行い、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。
[0589] メソッド getMultimediaData ()は、呼び出されると、まず、引数 devで与えられた装 置に接続する Socketオブジェクトを生成し、該装置に接続する。続いて、引数 idで 与えられたマルチメディアデータの送信要求メッセージを、 idの値を含めて作成し、 制御情報通信部 6602のメソッド sendRequestMessage ()を呼び出すことで、該装 置に送信する。続いて、データ受信部 6603のメソッド openRemoteProgram Oを呼 び出すことにより、該マルチメディアデータを受信する InputStreamオブジェクトを生 成する。続いて、該 InputStreamからデータを読み出し、引数 osで与えられた Outp utStreamに書き出す。受信データを全て書き込めば処理を終了する。本メソッドに より、メソッド getContentList Oもしくは getEPGData Oによって取得したコンテンツ 一覧の中のコンテンツに対して、そのマルチメディアデータを受信して、再生や蓄積 が行える。
[0590] 端末 3905および端末 3906は、上記した映像蓄積装置 3903および映像蓄積装 置 3904のうち、マルチメディアデータの再生に関する構成要素のみで構成されたも のであるため、詳細説明は省略する。
[0591] (実施の形態 4の変形例)
本発明の実施の形態 4について説明してきたが、本発明は、上記実施の形態に限 定されるものではない。以下のような場合も、本発明に含まれる。
[0592] (1)放送受信装置 3902は、さらに、第 2メモリ 4303にマルチメディアデータを蓄積 し、 Javaライブラリ 4505の中のネットワークライブラリ 4505eの選択部 5404は、放送 受信装置 3902と、ネットワーク 3907に接続された映像蓄積装置のうちひとつを選択 する構成であっても良い。また、放送受信装置 3902は、さらに、端末力も-ァ VoD 番組視聴の要求を受けたときに、ネットワーク 3907に接続された映像蓄積装置と、
放送受信装置 3902の蓄積部に、該コンテンツのマルチメディアデータが蓄積されて いる力否かを検索し、放送受信装置 3902の蓄積部に蓄積されている場合は、該マ ルチメディアデータを該視聴要求を発行した端末に送信する構成であっても良 、。
[0593] (2)また、放送受信装置 3902は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 3903および映像蓄積装置 3904に、暗号化されたマルチメディアデ ータを送信する構成であっても良い。また、映像蓄積装置 3903および映像蓄積装 置 3904は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 4102 に蓄積する構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であ つても良い。
[0594] また、放送受信装置 3902、映像蓄積装置 3903および映像蓄積装置 3904は、端 末 3905および端末 3906へマルチメディアデータを送信するときに、該マルチメディ ァデータに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 3905および端末 3906にお 、て、受信した暗号ィ匕されたマルチメディアデータを復 号して再生する構成であっても良い。
[0595] (3)また、上記実施の形態においては、放送受信装置 3902の Javaライブラリ 4505 の中のネットワークライブラリ 4505eの選択部 5404の選択のアルゴリズムの例を記述 したが、これらのアルゴリズムに限らないことは言うまでもない。例えば、放送受信装 置 3902は、映像受信装置を順に選択する構成であっても良い。また、映像蓄積装 置の利用頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によ つて蓄積されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻 度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映 像蓄積装置の選択を行っても良い。さらに、映像蓄積装置にユーザの操作によって 再生もしくは出力されたマルチメディアデータのジャンル、番組名、出演者など個別 の蓄積頻度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わ せて、映像蓄積装置の選択を行っても良い。さらに、例えば、端末 3905で利用され る頻度の高いマルチメディアデータならば映像蓄積装置 3903を、端末 3906で利用 される頻度の高 、マルチメディアデータならば映像蓄積装置 3904を、それぞれ選択 すると!/、つたような、端末との組み合わせによる選択であっても良!、。
[0596] (4)また、上記実施の形態においては、放送受信装置 3902が、映像蓄積装置 39 03および映像蓄積装置 3904と通信することにより、ユア VoD番組視聴要求のあつ たコンテンツのマルチメディアデータが蓄積されて 、る力否かを判定する、としたが、 放送受信装置 3902が、映像蓄積装置 3903および映像蓄積装置 3904に蓄積させ たマルチメディアデータを記憶しておき、その内容より判定する構成であっても良い。
[0597] (5)また、上記実施の形態にお!、ては、端末より視聴要求のあった-ァ VoD番組 のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のいず れかに蓄積されていた場合、放送受信装置 3902は、蓄積している映像蓄積装置に 、該視聴要求を発行した端末への該マルチメディアデータの送信要求を発行し、該 端末へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知 する、としたが、放送受信装置 3902は、該映像蓄積装置と課金などの権利処理を行 い、該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメ ディアデータの送信要求を発行する構成であっても良 、。
[0598] (6)また、上記実施の形態にお!、ては、端末より視聴要求のあった-ァ VoD番組 用のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のい ずれかに蓄積されて 、た場合、放送受信装置 3902と該映像蓄積装置が通信して、 課金など該マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受 信装置 3902と、視聴要求を発行した端末とが通信して、上記権利処理を行う構成で あっても良い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 3902が権利処理を行う構成であっても良い。
[0599] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0600] (7)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ
ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0601] (8)また、放送受信装置 3902は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 3902は、送信するマルチメディアデータを一 且復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する 構成であっても良い。また、映像蓄積装置 3903および映像蓄積装置 3904は、さら に、マルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを 作り出す符号化部を備え、受信したマルチメディアデータを前記復号部で一且復号 し、前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても 良い。
[0602] (9)また、上記実施の形態においては、ユア VoDと書いた力 通常放送の番組に ついても、あらかじめ蓄積しておくことで、再放送に対して同じ効果が得られる。
[0603] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0604] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0605] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ
い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0606] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である としてちよい。
[0607] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0608] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0609] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0610] (13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/、。
産業上の利用可能性
[0611] 本発明にかかるマルチメディア配信システム、放送受信装置、映像蓄積装置、受信 端末は、ホームネットワークを用いた複数の端末から同時に異なる番組の視聴要求 が可能な環境において、あらかじめ VoD、ユア VoDなどで提供される番組のマルチ メディアデータを、放送受信装置や受信端末、映像蓄積装置に、適切に分散して蓄 積しておくことにより、番組視聴時のチューナ数不足の課題を解決し、また、放送受 信装置、受信端末、および、映像蓄積装置における蓄積のために必要な容量をそれ ぞれ少なく抑えることによりコストを低減し、さら〖こ、端末に映像を配信する際の放送
受信装置、映像蓄積装置の負荷を分散させることが可能であるという、優れた効果を 有するため、ケーブルテレビなど、ユア VoDもしくはそれに近い放送を受信する放送 受信装置、受信端末、マルチメディアデータ蓄積装置、および、これらの装置におい て実行される方法などとして有用である。
また、本発明にかかるマルチメディア配信システム、放送受信装置、映像蓄積装置 は、 VoDサービスなど、ユーザの要求に応じたマルチメディアコンテンツのデータ配 信を、ホームネットワークを用いた複数の端末から同時に要求可能な環境において、 あらかじめマルチメディアデータを、放送受信装置や映像蓄積装置に、適切に分散 して蓄積しておくことにより、放送受信装置と放送局間のマルチメディアデータ伝送 の帯域消費を分散させることで、一度に必要な帯域消費を低減し、また、放送受信装 置および映像蓄積装置における蓄積のために必要な容量をそれぞれ少なく抑えるこ とによりコストを低減し、さらに、 VoDサービス利用時の放送局、放送受信装置、映像 蓄積装置の負荷を分散させることが可能であるという、優れた効果を有するため、ケ 一ブルテレビなど、オンデマンドサービスを提供するサービスの受信装置、およびマ ルチメディアデータ蓄積装置および方法などとして有用である。