(57)【要約】  マルチメディアデータを蓄積し、端末へ送信するマルチメディアコンテンツサーバにおいて、端末が特殊再生などのためにランダムアクセスを行ったとしても、セクションデータのバージョンアップを適切に検知、処理を行うことができる技術を提供する。マルチメディアデータ送信装置（１０１）は、マルチメディアデータ受信装置（１０２）からデータ送信要求を受け取ると、要求されたマルチメディアデータを送信するとともに、該マルチメディアデータに含まれるセクションデータの変化点を取得するために必要なデータもしくはそのデータを取得可能なＵＲＩをマルチメディアデータ受信装置（１０２）へ通知する。
2010524271.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータ受信装置からの送信要求に応じて、蓄積されたマルチメディアデータを、ネットワークを経由して前記マルチメディアデータ受信装置へ送信するマルチメディアデータ送信装置であって、
マルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を蓄積する蓄積部と、
前記マルチメディアデータ受信装置から、前記蓄積部に蓄積されたマルチメディアデータの送信および前記マルチメディアデータに含まれるストリームの変化点情報の送信を要求する送信要求メッセージを受信する要求受信部と、
前記蓄積手段に蓄積されたマルチメディアデータに含まれるストリームから、前記ストリームの変化点情報を取得する変化点情報取得部と、
前記マルチメディアデータ受信装置へ、前記送信要求があったマルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を送信する情報送信部とを備える
ことを特徴とするマルチメディアデータ送信装置。
【請求項２】
前記変化点情報取得部は、
前記マルチメディアデータに含まれるストリームの変化点情報を検出する変化点検出部と、
前記変化点検出部が検出した前記ストリームの変化点情報を保存する変化点保存部とを備え、
前記変化点検出部は、前記マルチメディアデータが蓄積されるとき、前記蓄積されるマルチメディアデータに含まれるストリームの変化点情報を検出する
ことを特徴とする請求項１記載のマルチメディアデータ送信装置。
【請求項３】
前記変化点情報取得部は、
前記マルチメディアデータに含まれるストリームの変化点情報を検出する変化点検出部と、
前記変化点検出部が検出した前記ストリームの変化点情報を保存する変化点保存部とを備え、
前記変化点検出部は、前記送信要求メッセージが受信されたとき、前記蓄積されるマルチメディアデータに含まれるストリームの変化点情報を検出する
ことを特徴とする請求項１記載のマルチメディアデータ送信装置。
【請求項４】
前記ストリームの変化点情報は、前記マルチメディアデータに含まれるストリームの構造を表現する第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む
ことを特徴とする請求項１記載のマルチメディアデータ送信装置。
【請求項５】
前記要求受信部が前記マルチメディアデータ受信装置から前記送信要求メッセージを受信したときに、
前記変化点情報取得部は前記マルチメディアデータに含まれるストリームの変化点情報を取得し、前記情報送信部は前記取得されたストリームの変化点情報を送信する
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項６】
通常再生よりも速い再生速度を指定する前記送信要求メッセージを前記要求受信部が受信した場合、
前記情報送信部は、前記マルチメディアデータに含まれるストリームのうち、前記ストリームの一部を前記通常再生よりも速い再生速度による再生に必要となるストリームとして前記マルチメディアデータ受信装置へ送信するとともに、
前記マルチメディアデータに含まれるストリームの変化点情報を、前記マルチメディアデータの送信要求メッセージにて指定される再生速度が通常再生速度となったときに送信する
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項７】
通常再生よりも速い再生速度を指定する前記送信要求メッセージを前記要求受信部が受信した場合、
前記情報送信部は、前記マルチメディアデータに含まれるストリームのうち、前記ストリームの一部を前記通常再生よりも速い再生速度による再生に必要となるストリームとして前記マルチメディアデータ受信装置へ送信するとともに、
前記マルチメディアデータに含まれるストリームの変化点情報を、前記マルチメディアデータの送信要求メッセージにて指定される再生速度が通常再生速度となる前に送信する
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項８】
前記情報送信部は、さらに、前記マルチメディアデータ送信装置が蓄積するストリームの変化点情報への参照情報を送信する
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項９】
前記マルチメディアデータ受信装置へ送信される変化点情報は、オーディオストリーム、ビデオストリーム以外のデータのうち、時間経過とともに内容が変化したデータにおける変化前と変化後の違いを示す差分のデータである
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１０】
前記マルチメディアデータ受信装置へ送信されるストリームの変化点情報は、前記ストリームにおいて変化が発生した情報である
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１１】
前記ストリームの変化点情報は、前記情報送信部により送信されるマルチメディアデータに含まれる特定区間のストリームの構造を表現する前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１２】
前記ストリームの変化点情報は、前記送信要求メッセージによって指定された、マルチメディアデータに含まれる特定区間のストリームの構造を表現する前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１３】
前記マルチメディアデータ受信装置からの前記送信要求メッセージには、前記ストリームの変化点情報の送信を要求するための情報が含められている
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１４】
前記情報送信部は、前記マルチメディアデータ受信装置からの前記送信要求メッセージに対するレスポンスメッセージに、前記ストリームの変化点情報を含めて送信する
ことを特徴とする請求項４記載のマルチメディアデータ送信装置。
【請求項１５】
前記ストリームの変化点情報は、前記マルチメディアデータに含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む
ことを特徴とする請求項１記載のマルチメディアデータ送信装置。
【請求項１６】
前記ストリームの変化点情報は、前記情報送信部により送信されるマルチメディアデータの特定区間に含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報を含むことを特徴とする
請求項１５記載のマルチメディアデータ送信装置。
【請求項１７】
前記ストリームの変化点情報は、前記送信要求メッセージによって指定された、マルチメディアデータの特定区間に含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報を含む
ことを特徴とする請求項１５記載のマルチメディアデータ送信装置。
【請求項１８】
前記マルチメディアデータ送信装置は、さらに、
Ｊａｖａ（登録商標）アプリケーションを実行するＪａｖａ実行手段と、
前記Ｊａｖａアプリケーションからの指示により、前記ストリームの変化点情報の形態を変化させる形態変化手段とを備える
ことを特徴とする請求項１記載のマルチメディアデータ送信装置。
【請求項１９】
マルチメディアデータ送信装置からマルチメディアデータと、該マルチメディアデータに含まれるストリームの変化点情報とを受信するマルチメディアデータ受信装置であって、
前記マルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を受信する受信部と、
前記受信したストリームの変化点情報に応じて、前記受信したマルチメディアデータの再生処理の開始または変更の制御を行う再生部とを備える
ことを特徴とするマルチメディアデータ受信装置。
【請求項２０】
前記受信部は、マルチメディアデータ送信装置から受信する前記マルチメディアデータの送信要求メッセージに対するレスポンスメッセージに含められた変化点情報を受信する
ことを特徴とする請求項１９記載のマルチメディアデータ受信装置。
【請求項２１】
前記マルチメディアデータ受信装置は、さらに、
前記マルチメディアデータの送信および前記マルチメディアデータに含まれるストリームの変化点情報の送信を要求する送信要求メッセージを送信する送信部を備え、
前記受信部は、前記送信部から前記マルチメディアデータ送信装置に前記送信要求メッセージが送信されることにより、前記マルチメディアデータおよび前記ストリームの変化点情報を受信する
ことを特徴とする請求項１９記載のマルチメディアデータ受信装置。
【請求項２２】
前記マルチメディアデータ受信装置は、さらに、
Ｊａｖａアプリケーションを実行するＪａｖａ実行手段と、
前記受信したストリームの変化点情報を前記Ｊａｖａ実行手段が実行するＪａｖａアプリケーションに通知する変化点通知手段とを備え、
前記再生部は、前記Ｊａｖａアプリケーションからの指示により、前記受信したストリームの変化点情報に応じて、前記マルチメディアデータの再生処理を開始もしくは変更する
ことを特徴とする請求項１９記載のマルチメディアデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームネットワークなどのネットワーク上で、デジタル化されたマルチメディアコンテンツデータの送受信に関するものである。
【背景技術】
【０００２】
近年、ＢＳデジタル放送、ＣＳ１１０度デジタル放送および地上波デジタル放送などのデジタル放送が開始された。また、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＢＤ（Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などデジタルデータの記録媒体に番組を録画するＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）などの普及が進んでいる。これらにより、家庭内で利用できる、デジタル化されたマルチメディアコンテンツが増加している。
【０００３】
また、一方で、ブロードバンド環境の整備により、家庭からのインターネットアクセスが普及している。それに伴い、家庭内の各部屋をＩＰネットワークで繋ぐ、いわゆるホームネットワークの普及も進んでいる。
【０００４】
このような状況により、家庭内のデジタル放送受信機で受信したデジタル放送、もしくは、レコーダに蓄積したデジタルコンテンツを、ホームネットワークを用いて、他の部屋で視聴するといったことが行われるようになった。
【０００５】
こういった、ホームネットワークを用いたデジタルコンテンツの共有では、上記のようなＣＥ機器間だけでなく、パーソナルコンピュータ（ＰＣ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）と呼ばれる携帯情報端末などを含めた、ホームネットワークに接続される全ての機器間で可能とする動きが活発である。具体的には、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）などの標準化団体がこのための標準規格、実装ガイドラインを策定して公開している。
【０００６】
この際、ホームネットワーク上のサーバ（例えば、デジタル放送を受信するセットトップボックスやＤＶＲ）とクライアント（例えば、パーソナルコンピュータやデジタルプレーヤ）における、機器の認識や利用できるコンテンツの情報のやり取りには、ＵＰｎＰ  ＡＶ（ＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅ） に規定されたものが使用される。ＵＰｎＰ  ＡＶでは、サーバは、クライアントからの問い合わせを受けて、提供コンテンツの一覧と、各コンテンツの属性を返答する。また、コンテンツデータを通信する必須プロトコルとして、ＤＬＮＡではＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いることとしている。
【０００７】
このようなホームネットワークにおけるコンテンツの共有において、例えば放送コンテンツを、複数端末間でネットワークを利用し共有する場合、日本のＡＲＩＢ規格や欧州のＤＶＢ規格のような放送規格に従う必要がある。これらの規格ではネットワークに出力する場合、ＰａｒｔｉａｌＴＳの形式で出力すると決められている。また放送では、ストリーム中の構造情報やアプリケーション情報を運ぶセクションデータがバージョンアップすることにより、ストリーム中の情報の変化が通知される。この変化情報を取得するためには、クライアントはホームネットワークを用いてサーバ上のＰａｒｔｉａｌＴＳを全て受信し解析する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、録画したコンテンツをネットワーク経由で再生する際、クライアントは該コンテンツに対応するＰａｒｔｉａｌＴＳの全データを受信するとは限らない。例えば、クライアントがサーバ上に存在するコンテンツを特殊再生するとき、クライアントはコンテンツデータの特定区間を選択的に受信し再生する方法を用いることができる。このとき、受信しなかったストリーム部分に、ストリームの構成の変化や、セクションデータのバージョンアップなどの変化点があった場合、該ストリームを正しく再生することができないことや、データ放送においてアプリケーションの起動ができない、といった問題が発生する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のマルチメディアデータ送信装置は、マルチメディアデータ受信装置からの送信要求に応じて、蓄積されたマルチメディアデータを、ネットワークを経由して前記マルチメディアデータ受信装置へ送信するマルチメディアデータ送信装置であり、マルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を蓄積する蓄積部と、前記マルチメディアデータ受信装置から、前記蓄積部に蓄積されたマルチメディアデータの送信および前記マルチメディアデータに含まれるストリームの変化点情報の送信を要求する送信要求メッセージを受信する要求受信部と、前記蓄積部に蓄積されたマルチメディアデータに含まれるストリームから、前記ストリームの変化点情報を取得する変化点情報取得部と、前記マルチメディアデータ受信装置へ、前記送信要求があったマルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を送信する情報送信部とを備える。
【００１０】
本構成によれば、前記マルチメディアデータ送信装置は、セクションデータのバージョンアップなどの前記マルチメディアデータに含まれるストリームの変化点情報を、マルチメディアデータ受信装置へ送信することが可能となり、前記マルチメディアデータ受信装置へマルチメディアデータに含まれるストリームの変化点情報を通知することができる。
【００１１】
また、前記変化点情報取得部は、前記マルチメディアデータに含まれるストリームの変化点情報を検出する変化点検出部と、前記変化点検出部が検出した前記ストリームの変化点情報を保存する変化点保存部とを備え、前記変化点検出部は、前記マルチメディアデータが蓄積されるとき、前記蓄積されるマルチメディアデータに含まれるストリームの変化点情報を検出する。
【００１２】
本構成によれば、マルチメディアデータ送信装置は、前記マルチメディアデータ受信装置から、前記蓄積部に蓄積されたマルチメディアデータの送信および前記マルチメディアデータに含まれるストリームの変化点情報の送信を要求する送信要求メッセージを受信時に、マルチメディアデータを蓄積する際にあらかじめ検出された前記変化点情報を送信することができる。
【００１３】
また、前記変化点情報取得部は、前記マルチメディアデータに含まれるストリームの変化点情報を検出する変化点検出部と、前記変化点検出部が検出した前記ストリームの変化点情報を保存する変化点保存部とを備え、前記変化点検出部は、前記送信要求メッセージが受信されたとき、前記蓄積されるマルチメディアデータに含まれるストリームの変化点情報を検出する。
【００１４】
本構成によれば、マルチメディアデータ送信装置は、前記マルチメディアデータ受信装置から要求されてないマルチメディアデータに含まれるストリームの変化点情報を検出する必要がないため、必要とされていないマルチメディアデータに含まれるストリームの変化点情報に要する検出時間及び蓄積に要するメモリを削減できる。
【００１５】
また、前記ストリームの変化点情報は、前記マルチメディアデータに含まれるストリームの構造を表現する第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む。
【００１６】
本構成によれば、マルチメディアデータ送信装置は、前記マルチメディアデータに含まれるストリームの構造を表現する第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を、マルチメディアデータ受信装置へ送信することができる。
【００１７】
また、前記要求受信部が前記マルチメディアデータ受信装置から前記送信要求メッセージを受信したときに、前記変化点情報取得部は前記マルチメディアデータに含まれるストリームの変化点情報を取得し、前記情報送信部は前記取得されたストリームの変化点情報を送信する。
【００１８】
本構成によれば、マルチメディアデータ送信装置は、マルチメディアデータ受信装置からの送信要求メッセージに応じたストリームの変化点情報を送信することができる。
【００１９】
また、通常再生よりも速い再生速度を指定する前記送信要求メッセージを前記要求受信部が受信した場合、前記情報送信部は、前記マルチメディアデータに含まれるストリームのうち、前記ストリームの一部を前記通常再生よりも速い再生速度による再生に必要となるストリームとして前記マルチメディアデータ受信装置へ送信するとともに、前記マルチメディアデータに含まれるストリームの変化点情報を、前記マルチメディアデータの送信要求メッセージにて指定される再生速度が通常再生速度となったときに送信する。
【００２０】
本構成によれば、マルチメディアデータ送信装置は、送信した一部のストリームに含まれない変化点情報を確実にマルチメディアデータ受信装置へ送信することが可能となる。また、マルチメディアデータ受信装置では、特殊再生から通常再生に戻ったとき、マルチメディアデータ送信装置から受信した変化点情報に基づいて正常な再生を確実に行なうことが可能となる。
【００２１】
また、通常再生よりも速い再生速度を指定する前記送信要求メッセージを前記要求受信部が受信した場合、前記情報送信部は、前記マルチメディアデータに含まれるストリームのうち、前記ストリームの一部を前記通常再生よりも速い再生速度による再生に必要となるストリームとして前記マルチメディアデータ受信装置へ送信するとともに、前記マルチメディアデータに含まれるストリームの変化点情報を、前記マルチメディアデータの送信要求メッセージにて指定される再生速度が通常再生速度となる前に送信する。
【００２２】
本構成によれば、マルチメディアデータ送信装置は、送信した一部のストリームに含まれない変化点情報を確実にマルチメディアデータ受信装置へ送ることが可能となる。また、マルチメディアデータ受信装置では、特殊再生中であっても、マルチメディアデータ送信装置から受信した変化点情報に基づいて正常な再生を確実に行なうことが可能となる。
【００２３】
また、前記情報送信部は、さらに、前記マルチメディアデータ送信装置が蓄積するストリームの変化点情報への参照情報を送信する。
【００２４】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータ受信装置が、前記変化点情報を必要とするタイミングで前記参照情報を利用し、前記マルチメディアデータ送信装置が蓄積するストリームの変化点情報を取得することができる。
【００２５】
また、前記マルチメディアデータ受信装置へ送信される変化点情報は、オーディオストリーム、ビデオストリーム以外のデータのうち、時間経過とともに内容が変化したデータにおける変化前と変化後の違いを示す差分のデータである。
【００２６】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータ送信装置から受信した差分のデータを参照するのみで、直ちに変化したデータを取得することができる。
【００２７】
また、前記マルチメディアデータ受信装置へ送信されるストリームの変化点情報は、前記ストリームにおいて変化が発生した情報である。
【００２８】
本構成によれば、マルチメディア受信装置は、マルチメディアデータ送信装置から受信したデータを、マルチメディアデータのストリームから取得する場合と同様に処理することができる。
【００２９】
また、前記ストリームの変化点情報は、前記情報送信部により送信されるマルチメディアデータに含まれる特定区間のストリームの構造を表現する前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む。
【００３０】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータに含まれるストリームの全ての変化点情報から必要な特定区間の変化情報を見つけ出す必要がなく、マルチメディアデータ受信装置が必要とする特定区間に発生する、前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報のみを受信できる。
【００３１】
また、前記ストリームの変化点情報は、前記送信要求メッセージによって指定された、マルチメディアデータに含まれる特定区間のストリームの構造を表現する前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む。
【００３２】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータに含まれるストリームの全ての変化点情報から必要な特定区間の変化情報を見つけ出す必要がなく、マルチメディアデータ受信装置が必要とする特定区間に発生する、前記第１のデータの変更内容、及び前記第１のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報のみを受信できる。
【００３３】
また、前記マルチメディアデータ受信装置からの前記送信要求メッセージには、前記ストリームの変化点情報の送信を要求するための情報が含められている。
【００３４】
本構成によれば、マルチメディアデータ受信装置が変化点情報を必要とする場合に、変化点情報の送信要求を改めて行う必要が無く、ネットワークの負荷を低減することが可能となる。
【００３５】
また、前記情報送信部は、前記マルチメディアデータ受信装置からの前記送信要求メッセージに対するレスポンスメッセージに、前記ストリームの変化点情報を含めて送信する。
【００３６】
本構成によれば、マルチメディアデータ送信装置から、マルチメディアデータとは別途変化点情報を送る必要が無く、ネットワークの負荷を低減することが可能となる。
【００３７】
また、前記ストリームの変化点情報は、前記マルチメディアデータに含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を含む。
【００３８】
本構成によれば、マルチメディアデータ送信装置は、前記マルチメディアデータに含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記ストリーム中の位置情報又は時間情報を、マルチメディアデータ受信装置へ送信することができる。
【００３９】
また、前記ストリームの変化点情報は、前記情報送信部により送信されるマルチメディアデータの特定区間に含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報を含む。
【００４０】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータに含まれるストリームの全ての変化点情報から必要な特定区間の変化情報を見つけ出す必要がなく、マルチメディアデータ受信装置が必要とする特定区間に発生する、第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報のみを受信できる。
【００４１】
また、前記ストリームの変化点情報は、前記送信要求メッセージによって指定された、マルチメディアデータの特定区間に含まれるデータ放送を実現するためのアプリケーション構成情報を表現する第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報を含む。
【００４２】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータに含まれるストリームの全ての変化点情報から必要な特定区間の変化情報を見つけ出す必要がなく、マルチメディアデータ受信装置が必要とする特定区間に発生する、第２のデータの変更内容、及び前記第２のデータの変更内容が有効となる前記特定区間のストリーム中の位置情報又は時間情報のみを受信できる。
【００４３】
また、前記マルチメディアデータ送信装置は、さらに、Ｊａｖａアプリケーションを実行するＪａｖａ実行手段と、前記Ｊａｖａアプリケーションからの指示により、前記ストリームの変化点情報の形態を変化させる形態変化手段とを備える。
【００４４】
本構成によれば、Ｊａｖａアプリケーションの指示により、変化点情報の形態を変更することが可能となる。
【００４５】
次に、本発明のマルチメディアデータ受信装置は、マルチメディアデータ送信装置からマルチメディアデータと、該マルチメディアデータに含まれるストリームの変化点情報とを受信するマルチメディアデータ受信装置であって、前記マルチメディアデータおよび前記マルチメディアデータに含まれるストリームの変化点情報を受信する受信部と、前記受信したストリームの変化点情報に応じて、前記受信したマルチメディアデータの再生処理の開始または変更の制御を行う再生部とを備える。
【００４６】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータ送信装置から受信したマルチメディアデータとマルチメディアデータに含まれるストリームの変化点情報を用いて、該マルチメディアデータに発生する変化内容を、マルチメディア受信装置上でも適切に再生することができる。
【００４７】
また、前記受信部は、マルチメディアデータ送信装置から受信する前記マルチメディアデータの送信要求メッセージに対するレスポンスメッセージに含められた変化点情報を受信する。
【００４８】
本構成によれば、マルチメディアデータ受信装置は、受信する前記マルチメディアデータのストリームに含まれる変化内容及び、変更内容が有効となる前記マルチメディアデータのストリーム中の位置情報又は時間情報を利用することにより、直ちに受信したマルチメディアデータのストリームへの変化を適用し再生することができる。
【００４９】
また、前記マルチメディア受信装置は、さらに、前記マルチメディアデータの送信および前記マルチメディアデータに含まれるストリームの変化点情報の送信を要求する送信要求メッセージを送信する送信部を備え、前記受信部は、前記送信部から前記マルチメディアデータ送信装置に前記送信要求メッセージが送信されることにより、前記マルチメディアデータおよび前記ストリームの変化点情報を受信する。
【００５０】
本構成によれば、マルチメディアデータ受信装置は、マルチメディアデータ受信装置上の必要に応じて、マルチメディアデータに含まれるストリームの変化点情報の送信要求メッセージを送信し、前記マルチメディアデータ及び前記マルチメディアデータに含まれるストリームの変化点情報を受信することができる。
【００５１】
また、前記マルチメディアデータ受信装置は、さらに、Ｊａｖａアプリケーションを実行するＪａｖａ実行手段と、前記受信したストリームの変化点情報を前記Ｊａｖａ実行手段が実行するＪａｖａアプリケーションに通知する変化点通知手段とを備え、前記再生部は、前記Ｊａｖａアプリケーションからの指示により、前記受信したストリームの変化点情報に応じて、前記マルチメディアデータの再生処理を開始もしくは変更する。
【００５２】
本構成によれば、ストリームの変化点における処理を、Ｊａｖａアプリケーションによって切り替えることが可能となる。
【発明の効果】
【００５３】
以上述べたように、本発明のマルチメディアデータ送信装置、マルチメディアデータ受信装置によれば、クライアントがサーバ上に存在するコンテンツを特殊再生する場合のように、特定区間を選択して受信し、再生する場合であっても、ストリームの変化点を検知することが可能となる。これにより、クライアントにおいても、特殊再生を含むコンテンツの再生、及びデータ放送で提供されるアプリケーションの起動などを、正しく行うことが可能となる。
【００５４】
２００７年４月５日に出願された、明細書と図面と請求項とを含む米国仮出願第６０／９１０，２６４号を本出願に引用して援用する。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明の実施の形態におけるマルチメディアコンテンツ配信システムの構成図である。
【図２】図２は、本発明の実施の形態おけるマルチメディアデータ送信装置１０１の構成図である。
【図３】図３は、入力部２０１をフロントパネルで構成した場合の外観の一例を示す図である。
【図４】図４は、本発明の実施の形態におけるマルチメディアデータ送信装置１０１が保存するプログラム構成の構成図である。
【図５Ａ】図５Ａは、本発明に係る画面表示の一例を示す図である。
【図５Ｂ】図５Ｂは、本発明に係る画面表示の他の例を示す図である。
【図６】図６は、本発明に係る第２メモリ２０３が保存する情報の一例を示す図である。
【図７】図７は、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図８Ａ】図８Ａは、本発明に係る第２メモリ２０３が保存する情報の一例を示す図である。
【図８Ｂ】図８Ｂは、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図８Ｃ】図８Ｃは、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図９】図９は、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図１０】図１０は、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図１１】図１１は、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図１２】図１２は、本発明に係る第２メモリ２０３が保存する情報の他の例を示す図である。
【図１３】図１３は、本発明の実施の形態における第２メモリ２０３に蓄積されたデータの構成の一例を示す図である。
【図１４】図１４は、本発明の実施の形態におけるマルチメディアデータの属性情報の一例を示す図である。
【図１５】図１５は、本発明の実施の形態における属性情報テーブルの一例を示す図である。
【図１６】図１６は、本発明の実施の形態におけるＵＲＩテーブルの一例を示す図である。
【図１７】図１７は、Ｒｅｃ４０５ｊ及びネットワークライブラリ４０５ｅの内部構成図である。
【図１８】図１８は、Ｒｅｃ４０５ｊが保存する変化点情報の一例を示す図である。
【図１９】図１９は、本発明の実施の形態おけるマルチメディアデータ受信装置１０２の構成図である。
【図２０】図２０は、本実施の形態におけるマルチメディアデータ受信装置１０２が保存するプログラム構成の構成図である。
【図２１】図２１は、ネットワークライブラリ２００４ｄの内部構成図である。
【発明を実施するための最良の形態】
【００５６】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００５７】
（実施の形態）
図１は、本発明の実施の形態におけるマルチメディアコンテンツ通信システムの構成図である。図１において、１０１は本発明におけるマルチメディアデータ送信装置を、１０２は本発明におけるマルチメディアデータ受信装置を、１０３はネットワークを、１０４はこれらによって構成されるマルチメディアコンテンツ通信システムを表す。マルチメディアデータ送信装置１０１、マルチメディアデータ受信装置１０２は、ネットワーク１０３に接続されており、ネットワーク１０３を介して相互に通信可能である。また、１０５はケーブルテレビの放送局を、１０６は、マルチメディアデータ送信装置１０１と放送局１０５を結ぶケーブルを表す。
【００５８】
本実施の形態におけるマルチメディアデータ送信装置１０１は、ネットワークインタフェースと、マルチメディアデータを蓄積する蓄積部を備えた、デジタル放送を受信するＣＡＴＶ  ＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）である。マルチメディアデータ送信装置１０１は、ケーブル１０６を介して放送局１０５に接続されている。そして、マルチメディアデータ送信装置１０１は、放送局１０５から受信したデジタル放送コンテンツのマルチメディアデータを、蓄積部に蓄積する。また、ネットワークインタフェースを通して、ネットワーク１０３に接続されている。そして、ネットワーク１０３を通じて送信された、マルチメディアデータ受信装置１０２からの要求を受信する。マルチメディアデータ送信装置１０１は、マルチメディアデータ受信装置１０２からの要求に応じて放送局１０５から受信したデジタル放送コンテンツのマルチメディアデータ、あるいは、蓄積しているマルチメディアデータに関する情報を、ネットワーク１０３を通じてマルチメディアデータ受信装置１０２へ送信するものである。
【００５９】
なお、マルチメディアデータ送信装置１０１が蓄積部に蓄積するデジタル放送コンテンツは、ＭＰＥＧ２−ＴＳ形式のデータである。
【００６０】
マルチメディアデータ受信装置１０２は、ユーザの要求により、マルチメディアデータ送信装置１０１へ、提供可能なコンテンツの一覧送信要求を送信する。そして、マルチメディアデータ送信装置１０１から、その返答として、コンテンツの一覧を受信し、ユーザに提示する。さらに、ユーザが選択したコンテンツについて、そのマルチメディアデータの送信要求を、マルチメディアデータ送信装置１０１へ送信する。その返答として、マルチメディアデータを受信し、再生してユーザに提示する。さらに、ユーザから早送りや巻き戻しなどの特殊再生の要求を受け付けると、一旦マルチメディアデータの通信を停止し、改めて、特殊再生に必要な部分の送信要求を連続して発行し、その都度、マルチメディアデータを受信し、再生することにより、特殊再生を実現するものである。
【００６１】
ネットワーク１０３は、家庭内に施設されたホームネットワークであり、イーサネット、無線ＬＡＮなどによって構成されたＩＰネットワークである。
【００６２】
以下、マルチメディアデータ送信装置１０１と、マルチメディアデータ受信装置１０２の通信とそれぞれの動作について説明する。
【００６３】
マルチメディアデータのサーバとなるマルチメディアデータ送信装置１０１は、ネットワーク１０３に接続されると、サービスを提供可能なサーバであることを、ネットワーク１０３にブロードキャストすることにより、他の装置に通知する。更に、マルチメディアデータ送信装置１０１は、ネットワーク１０３に接続された他の装置からの要求により、マルチメディアデータ送信装置１０１が提供するサービスと、そのアクセスの方法を、要求元の装置に送信する。また、クライアントとなるマルチメディアデータ受信装置１０２は、ネットワーク１０３に接続されると、ネットワーク１０３に接続されたサーバ装置を検索し、各サーバ装置がどのような機能を持っているかを取得する。この通信は、ＤＬＮＡと同様に、ＵＰｎＰ  ＤＡ（Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ）で定義されている方法により行えるため、詳細な説明は省略する。これにより、マルチメディアデータ受信装置１０２は、マルチメディアデータ送信装置１０１がネットワーク１０３に接続されているマルチメディアサーバであることを認識できる。
【００６４】
以下、マルチメディアデータ送信装置１０１とマルチメディアデータ受信装置１０２との間で行われるマルチメディアデータの通信について、順を追って説明する。
【００６５】
まず、マルチメディアデータ受信装置１０２は、マルチメディアデータ送信装置１０１に対し、提供可能なコンテンツの一覧送信要求を発行する。そして、マルチメディアデータ送信装置１０１は、その要求を受け、提供可能コンテンツを検索し、その一覧を、マルチメディアデータ受信装置１０２へ返信する。この通信は、ＵＰｎＰ  ＡＶ  ＣＤＳ（Ｃｏｎｔｅｎｔ  Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ）のＢｒｏｗｓｅもしくはＳｅａｒｃｈによって行えるものであり、その詳細説明は省略する。
【００６６】
マルチメディアデータ送信装置１０１は、マルチメディアデータ受信装置１０２から提供可能なコンテンツの一覧送信要求を受信すると、蓄積部に蓄積したコンテンツの一覧を返信する。送信する一覧は、ＵＰｎＰ  ＡＶもしくはＤＬＮＡにて定義されているものが利用できるため、詳細説明は省略する。
【００６７】
提供コンテンツ一覧を受信したマルチメディアデータ受信装置１０２は、その一覧をユーザに提示する。そして、ユーザが選択したコンテンツのマルチメディアデータの送信を、マルチメディアデータ送信装置１０１へ要求する。マルチメディアデータ送信装置１０１は、要求されたコンテンツデータを蓄積部から読み出し、マルチメディアデータ受信装置１０２へ送信する。マルチメディアデータの通信は、ＤＬＮＡにて必須プロトコルとなっているＨＴＴＰを用いて通信するものとする。
【００６８】
ここで、ユーザから特殊再生を要求されると、マルチメディアデータ受信装置１０２は、早送りや巻き戻し、スローといった特殊再生の種類に応じて、必要なデータ区間を判定し、これらの区間のみのデータを受信して再生、表示することを繰り返すことにより、特殊再生を行うこととする。このため、マルチメディアデータ受信装置１０２は、特殊再生を行うと、該マルチメディアデータの全てのＴＳパケットを取得することができない場合がある。この場合、例えば、再生に必要な番組構成を表現するテーブル、あるいは、データ放送のアプリケーションを表現するテーブルといった、マルチメディアデータ中の情報について、そのバージョンアップなどの変化が起こったとしても、それを検知することが出来ない場合が起こる。そのため、再生を正しく行えない、もしくは、データ放送のアプリケーションを正しく起動、動作させることが出来ない、といったことが起こる。そこで、マルチメディアデータ受信装置１０２は、マルチメディアデータ送信装置１０１へ変化点情報の送信を要求する。
【００６９】
このような通信は、以下のように行うことが出来る。
【００７０】
該マルチメディアデータのＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）をｈｔｔｐ：／／１９２．１６８．０．３／ＡＶＤａｔａ／０００１．ｍ２ｔｓとする。そしてマルチメディアデータ中の情報の変化点情報送信の要求を、ＨＴＴＰリクエストに拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔをつけることによって行う。拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔは、要求するマルチメディアデータ中の変化点の種類、送信を要求する変化点発生の範囲をセミコロン“；”で区切ることとする。また、変化点の種類を示す指示子としてtypeを使用し、“type = xx”と指定することとする。送信を要求するマルチメディアデータ中の変化点の種類の一例として、番組構成を表現するテーブルはｓｉと指定し、データ放送のアプリケーションを表現するテーブルはａｉｔと指定する。また、送信を要求する変化点発生の範囲は、指示子scopeを使用し、“scope=yy”のように指定することとする。該マルチメディアデータ中の全ての変化点の送信要求を行う場合はａｌｌと指定する。送信要求範囲の指定に関しては後述する。例えば、データ放送のアプリケーションを表現するテーブルのバージョン情報を、マルチメディアデータ全区間について送信要求を行う場合は、以下の拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔを用いることとなる。
【００７１】
X-Version-Request: type = ait ; scope = all
【００７２】
したがって、マルチメディアデータ受信装置１０２からマルチメディアデータ送信装置１０１へ、以下の例のようなＨＴＴＰリクエストが発行される。
【００７３】
GET http://192.168.0.3/AVData/0001.m2ts HTTP/1.1
Host: 192.168.0.3
Date: Thr Jan 11 15:00:00 2007 GMT
User-Agent: AVT Client
Connection: Keep-Alive
X-Version-Request: type = ait ; scope = all
【００７４】
このＨＴＴＰリクエストを受信したとき、マルチメディアデータ送信装置１０１は、該マルチメディアデータをマルチメディアデータ受信装置１０２へ送信するとともに、要求されたマルチメディアデータより、指定された範囲の変化点情報を検出し、マルチメディアデータ受信装置１０２へ送信する。
【００７５】
ここで、マルチメディアデータ送信装置１０１は、マルチメディアデータの変化点情報を提供するＵＲＩを、ＨＴＴＰレスポンスの拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏによって示すことで返信する。拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏは、その値として、指示子typeを用いて変化点を通知する情報の種類を表し、指示子urlを用いて該変化点情報を提供するＵＲＩを表すこととする。例えば、上記リクエストに対するレスポンスの場合、変化点を提供するＵＲＩをhttp://192.168.0.3/VUP/0001-ait.vupとすれば、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏは以下のようになる。
【００７６】
X-Version-Info: type=ait ; url = http://192.168.0.3/VUP/0001-ait.vup
【００７７】
正常に処理を行えた場合、レスポンスコードとして２００  ＯＫを用いてレスポンスを行う。したがって、上記リクエストに対するレスポンスは以下のようになる。
【００７８】
HTTP/1.1 200 OK
Date: Thr Jan 11 15:00:01 2007 GMT
Server: AVT Server
Connection: Keep-Alive
Content-Type: video/mpeg
Content-Length: 47952
X-Version-Info: type=ait ; url = http://192.168.0.3/VUP/0001-ait.vup
(空行)
[47952バイトのデータ]
【００７９】
また、リクエスト中のＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔの値について、typeで指定される種類が不正であった場合、他にＨＴＴＰに関するエラーが起こっていなければ、レスポンスコードとして２００  ＯＫを用いてレスポンスを行うが、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏの値を、“Invalid type”として、不正なリクエストであったことを通知する。例えば、以下のレスポンスのようになる。
【００８０】
HTTP/1.1 200 OK
Date: Thr Jan 11 15:00:01 2007 GMT
Server: AVT Server
Connection: Keep-Alive
Content-Type: video/mpeg
Content-Length: 47952
X-Version-Info: Invalid type
(空行)
[47952バイトのデータ]
【００８１】
また、リクエスト中のＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔの値について、scopeで指定される種類が不正であった場合、他にＨＴＴＰに関するエラーが起こっていなければ、レスポンスコードとして２００  ＯＫを用いてレスポンスを行うが、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏの値を、“Invalid scope”として、不正なリクエストであったことを通知する。例えば、以下のレスポンスのようになる。
【００８２】
HTTP/1.1 200 OK
Date: Thr Jan 11 15:00:01 2007 GMT
Server: AVT Server
Connection: Keep-Alive
Content-Type: video/mpeg
Content-Length: 47952
X-Version-Info: Invalid scope
(空行)
[47952バイトのデータ]
【００８３】
また、受信したＨＴＴＰリクエストについて、要求されたＵＲＩに対応するマルチメディアデータがないなど、拡張したもの以外のＨＴＴＰに関するエラーが含まれていれば、それにあったレスポンスを行う。この場合、Ｘ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔが含まれているリクエストに対しても、レスポンスには、Ｘ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏを含めないこととする。
【００８４】
なお、ここで拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏによって指定されたＵＲＩによって取得できるデータは、マルチメディアデータ送信装置１０１とマルチメディアデータ受信装置１０２間において、同じ解釈が可能な情報であるならば、どのような情報形態であってもよい。一例としては、表形式で記述されたデータ、ＸＭＬで記述されたデータ、バイナリのセクションデータなどがあげられる。
【００８５】
また、ここではマルチメディアデータ受信装置１０２からのＨＴＴＰリクエストに拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔを登録したことにより、マルチメディアデータ送信装置１０１が、ＨＴＴＰレスポンスに拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏを追加し返信するという方法を説明したが、マルチメディアデータ受信装置１０２から明示的に変化点情報送信のリクエストを行うことなく、マルチメディアデータ送信装置１０１から拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏによって変化点情報を通知するという実施形態であってもよい。
【００８６】
また、ＨＴＴＰレスポンスの拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏにストリーム中の変化点情報を追記するという方法であってもよい。一例として、ｌｅｎｇｔｈに実データのサイズを示し、ｂｙｔｅｓにセクションデータのバイナリ情報を明記するという方法がある。またこれ以外にも、バイナリ情報ではなく、テキスト化された情報を明記するという方法であってもよい。
【００８７】
X-Version-Info: type=ait; length = 100 ; bytes = 110110010001001……1111
【００８８】
また、ＨＴＴＰレスポンスの拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏにストリームの変化点情報を伝送するセクションデータを含むマルチメディアデータのバイト位置による範囲を指定するという方法であってもよい。一例として、ｔｙｐｅ指示子よりセクションデータの種類を示し、その種類には、番組構成を表現するテーブルをｓｉあるいは、データ放送のアプリケーションを表現するテーブルをａｉｔと指定する。また、ｂｙｔｅｓ指示子を用いて、マルチメディアデータの先頭を０とし、セクションデータを伝送するバイト位置の範囲を指定する。なお、バイト位置の範囲をＴＳパケットのパケット番号で指定してもよい。これはＴＳパケットが１８８ｂｙｔｅの固定長であることより、容易に計算可能である。
【００８９】
X-Version-Info : type=ait; bytes=5000-10000
【００９０】
そして、このようにセクションデータを伝送するバイト位置の範囲を通知されたマルチメディアデータ受信装置１０２は、指定されたバイト位置範囲を指定して、再度マルチメディアデータの取得要求を行うことにより、変化点情報を含むセクションデータを取得することができる。
【００９１】
なお、ここでは、要求する変化点の種類として、番組構成を表現するテーブル（ｓｉ）及び、データ放送のアプリケーションを表現するテーブル（ａｉｔ）を個別に指定する方法を示したが、マルチメディアデータ中の変化点全てをまとめて取り扱うという方法であってもよい。例えば、マルチメディアデータ送信装置１０１及びマルチメディアデータ受信装置１０２間で、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔにおいてｔｙｐｅをａｌｌと指定した場合、マルチメディアデータ送信装置１０１は、マルチメディアデータ中の指定された範囲における、ｓｉとａｉｔすべてのセクションデータの変化点を一つの変化点情報として通知する、としても良い。
【００９２】
また、以上の説明では、取得する変化点情報の発生する範囲としてマルチメディアデータ全てを対象とした方法を示したが、該マルチメディアデータの特定の範囲で変化点の発生があった際に、その変化点情報を通知するという方法であっても良い。例えば、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔにおいて、変化点送信要求範囲の指定は、該マルチメディアデータの先頭からのバイト位置で指定しても良い。これは、scope指示子に、ストリームの先頭を０としたバイト位置で始点と終点とを表し、それらをハイフンでつなぐことにより指定できる。また、終点を省略した場合には、該マルチメディアデータの終わりまでを指定することとする。ただし、複数の範囲を同時に指定することは出来ないものとする。例えば、マルチメディアデータ中の変化点の要求範囲の送信開始要求位置を該マルチメディアデータの先頭を０として４７９４０バイト目、送信終了要求位置を該マルチメディアデータの先頭を０として９５８７９バイト目とし、要求する変化点の種類はデータ放送のアプリケーションを表現するテーブルとすれば、以下の拡張ヘッダにより要求することとなる。
【００９３】
X-Version-Request : type = ait ; scope = 47940-95879
【００９４】
また、該マルチメディアデータの先頭から４７９４０バイト目までに発生する、データ放送のアプリケーションを表現するテーブルの変化点の情報を要求する場合には、以下の拡張ヘッダとなる。
【００９５】
X-Version-Request : type = ait ; scope = 0-47940
【００９６】
また、該マルチメディアデータの４７９４０バイト目から終わりまでに発生する、データ放送のアプリケーションを表現するテーブルの変化点の情報を要求する場合には、以下の拡張ヘッダとなる。
【００９７】
X-Version-Request : type = ait ; scope = 47940-
【００９８】
このような拡張ヘッダを含むリクエストに関するＨＴＴＰレスポンスは、上述したレスポンスと同様な形式で行うことが可能である。
【００９９】
なお、本実施の形態においては、送信要求を行う変化点発生の範囲の指定を、該マルチメディアデータにおけるバイト位置で指定したが、該マルチメディアデータのコンテンツの開始からの経過時間で指定する方法でも同様の効果を得られる。
【０１００】
また、データ放送のアプリケーションを表現するテーブル（ａｉｔ）の変化点情報を受信することにより、マルチメディアデータ受信装置１０２では、アプリケーションの管理情報の変化を検知することができる。そのため、マルチメディアデータ受信装置１０２上で、アプリケーションの起動や停止などが可能となる。このとき、アプリケーションのファイルは、マルチメディアデータ送信装置１０１から、マルチメディアデータに多重化されてマルチメディアデータ受信装置１０２へ送られ、マルチメディアデータ受信装置１０２にてマルチメディアデータから抽出しても良く、また、マルチメディアデータ送信装置１０１から、マルチメディアデータとは別に、マルチメディアデータ受信装置１０２へ送られる構成であっても良い。以下に、後者の場合における、マルチメディアデータ受信装置１０２が、マルチメディアデータ送信装置１０１からアプリケーションのファイルを取得する方法の一例を示す。
【０１０１】
まず、マルチメディアデータ受信装置１０２は、ファイルが保存されている場所に関する情報をマルチメディアデータ送信装置１０１へ要求する。ここでは、ベースとなるディレクトリを要求することとする。これは、以下のような拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｒｅｑｕｅｓｔを用いて、マルチメディアデータを要求するＨＴＴＰリクエストのヘッダに設定する。
【０１０２】
X-Tree-Base-Request : carousel_id = 1
【０１０３】
このヘッダを含んだＨＴＴＰリクエストは以下の例のようになる。
【０１０４】
GET http://192.168.0.3/AVData/0001.m2ts HTTP/1.1
Host: 192.168.0.3
Date: Thr Jan 11 15:00:00 2007 GMT
User-Agent: AVT Client
Connection: Keep-Alive
X-Tree-Base-Request : carousel_id = 1
【０１０５】
このＨＴＴＰリクエストを受信したマルチメディアデータ送信装置１０１は、アプリケーションのファイルツリーを保存しているディレクトリを、拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏを用いてＨＴＴＰレスポンスのヘッダに記述し、このレスポンスを送信する。Ｘ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏヘッダの例を以下に示す。
【０１０６】
X-Tree-Base-Info : directory = /DVR/Content/0001/Carousel1/ 
【０１０７】
また、Ｘ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏヘッダを含むＨＴＴＰレスポンスは以下の例のようになる。
【０１０８】
HTTP/1.1 200 OK
Date: Thr Jan 11 15:00:01 2007 GMT
Server: AVT Server
Connection: Keep-Alive
Content-Type: video/mpeg
Content-Length: 47952
X-Tree-Base-Info : directory = /DVR/Content/0001/Carousel1/ 
(空行)
[47952バイトのデータ]
【０１０９】
このレスポンスを受信したマルチメディアデータ受信装置１０２は、マルチメディアデータ送信装置１０１からファイル取得を行う場合に、取得したファイルディレクトリとファイルパスとを連結して示すことでファイルを特定することが出来るため、該ファイルを取得することができる。例えば、Ｘ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏによって、マルチメディアデータ送信装置１０１のＨＴＴＰサーバのルートディレクトリからのパスを返すとしたならば、取得したベースディレクトリを「/DVR/Content/0001/Carousel1/」、アプリケーションのベースディレクトリを「/」、アプリケーションのベースディレクトリからの相対パスを「TestXlet1.class」とした場合、マルチメディアデータ受信装置１０２は、マルチメディアデータ送信装置１０１へ、「http://192.168.0.3/DVR/Content/0001/Carousel1/TestXlet1.class」をリクエストすることで、マルチメディアデータ送信装置１０１からファイルを受信することができる。
【０１１０】
また、Ｘ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏによって、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）によってマウントを許可するディレクトリが通知され、そこにネットワークマウントを行うことで、ファイルにアクセスするという方法であっても、同様の効果が得られる。例えば、Ｘ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏによって通知された「/DVR/Content/0001/Carousel1/」で示される、マルチメディアデータ送信装置１０１のディスクもしくはディレクトリに対し、マルチメディアデータ受信装置１０２がＮＦＳマウントすることによって、その下にあるファイルにアクセスすることが可能となる。
【０１１１】
以下、マルチメディアコンテンツ通信システム１０４を構成する、マルチメディアデータ送信装置１０１およびマルチメディアデータ受信装置１０２について、更に詳細に説明する。
【０１１２】
まず、マルチメディアデータ送信装置１０１について説明する。
【０１１３】
図２は、本実施の形態におけるマルチメディアデータ送信装置１０１を構成する構成要素の関係を示したブロック図であり、入力部２０１、第１メモリ２０２、第２メモリ２０３、受信部２０４、多重分離手段２０５、デスクランブラ２０６、ＴＳデコーダ２０７、映像出力部２０８、音声出力部２０９、ＴＳマルチプレクサ２１０、ネットワーク部２１１、ＣＰＵ２１２で構成される。
【０１１４】
入力部２０１は、フロントパネルやリモコン受光器等で構成され、ユーザからのチャンネル選択等の指示を受け付ける。図３は、フロントパネルで入力部２０１を構成した場合の一例である。３００はフロントパネルであり、上カーソルボタン３０１、下カーソルボタン３０２、左カーソルボタン３０３、右カーソルボタン３０４、ＯＫボタン３０５、取消ボタン３０６、ＥＰＧボタン３０７、シアターボタン３０８の８つのボタンを備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ２１２に通知される。
【０１１５】
第１メモリ２０２は、ＲＡＭ等で構成され、ＣＰＵ２１２が一時的にデータを保存する際に使用される。
【０１１６】
第２メモリ２０３は、フラッシュメモリ、ハードディスク等で電源が停止しても情報を保持可能なデバイスで構成され、ＣＰＵ２１２が実行するプログラムを保存する。第２メモリは、ＳＤメモリカード等の取り外し可能な記憶デバイスを用いていてもよい。
【０１１７】
受信部２０４は、ＣＡＴＶ局からのケーブルに接続され放送波を受信し、ＣＰＵ２１２から指定された周波数にチューニングし、ＭＰＥＧトランスポートストリームを抽出して、多重分離手段２０５に引き渡す。
【０１１８】
多重分離手段２０５は、受信部２０４からＭＰＥＧトランスポートストリームを受け取り、ＣＰＵ２１２から指定された情報を抽出しＣＰＵ２１２に引き渡す。またＭＰＥＧトランスポートストリームをそのままデスクランブラ２０６に引き渡す。
【０１１９】
デスクランブラ２０６は、多重分離手段２０５から与えられたスクランブルされているＭＰＥＧトランスポートストリームをデスクランブル（＝復号）し、ＴＳデコーダ２０７に引き渡す。デスクランブラ２０６は、マルチメディアデータ送信装置１０１に内蔵されたモジュールでも良いし、北米ケーブル受信機で導入されているＣａｂｌｅＣＡＲＤ（ＴＭ）でも実施可能である。ＣａｂｌｅＣＡＲＤの仕様は米国ＣａｂｌｅＬａｂｓが策定したＣａｂｌｅＣＡＲＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎに記載されており、ここでは説明を省略する。
【０１２０】
ＴＳデコーダ２０７は、ＣＰＵ２１２から音声データ、映像データ、ＰＳＩ／ＳＩ情報などのセクションデータの識別子を受け取る。さらに、デスクランブラ２０６から受け取ったデスクランブルされたストリームから、受け取った音声データ、映像データ、ＰＳＩ／ＳＩ情報などのセクションデータの識別子に対応するデータを抽出し、抽出した映像データを映像出力部２０８に、音声データを音声出力部２０９に引き渡す。また、その両方と、セクションデータを、ＴＳマルチプレクサ２１０に引き渡す。
【０１２１】
映像出力部２０８は映像出力端子を含み、受け取った映像データを端子に対応した映像データに変換して出力する。端子の例としては、コンポジットケーブル端子などがある。
【０１２２】
音声出力部２０９は音声出力端子を含み、受け取った音声データを端子に対応した音声データに変換して出力する。端子の例としては、イヤホン端子や、コンポジットケーブル端子などがある。
【０１２３】
ＴＳマルチプレクサ２１０は、受け取った映像データ、音声データ、セクションデータからＭＰＥＧ２トランスポートストリームを構成し、該ＭＰＥＧ２トランスポートストリームをネットワーク部２１１に引き渡す。ＰＳＩ／ＳＩ情報は必要に応じて書き換えられる。
【０１２４】
ネットワーク部２１１は、ネットワークインタフェースを含み、ＣＰＵ２１２から受け取ったデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに応じた信号に変換して出力する。また、ネットワークインタフェースから信号を受信し、ＩＰネットワークで規定されたパケットに変換して、ＣＰＵ２１２へ引き渡す。
【０１２５】
ＣＰＵ２１２は、第２メモリ２０３が記憶するプログラムを実行することで、受信部２０４、多重分離手段２０５、デスクランブラ２０６、ＴＳデコーダ２０７、ＴＳマルチプレクサ２１０、ネットワーク部２１１を制御する。
【０１２６】
図４は、第２メモリ２０３に記憶され、ＣＰＵ２１２に実行されるプログラムの構成図の一例である。
【０１２７】
プログラム４００は、複数のサブプログラムで構成され、具体的にはＯＳ４０１、ＥＰＧ４０２、ＪａｖａＶＭ４０３、サービスマネージャ４０４、Ｊａｖａライブラリ４０５で構成される。
【０１２８】
ＯＳ４０１は、マルチメディアデータ送信装置１０１の電源が投入されると、ＣＰＵ２１２が起動するサブプログラムである。ＯＳは、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ４０１は、他のサブプログラムを平行して実行するカーネル４０１ａ及びライブラリ４０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ４０１のカーネル４０１ａは、ＥＰＧ４０２とＪａｖａＶＭ４０３をサブプログラムとして実行する。また、ライブラリ４０１ｂは、これらサブプログラムに対して、マルチメディアデータ送信装置１０１が保持する構成要素を制御するための複数の機能を提供する。
【０１２９】
本実施の形態では、ライブラリ４０１ｂは機能の一例として、チューナ４０１ｂ１、限定解除４０１ｂ２、ＡＶ再生４０１ｂ３、ＮＥＴ４０１ｂ４を含む。
【０１３０】
チューナ４０１ｂ１は、他のサブプログラムやＪａｖａライブラリ４０５のＴｕｎｅｒ４０５ｃから周波数を含むチューニング情報を受け取り、受信部２０４に引き渡す。受信部２０４は与えられたチューニング情報に基づき復調処理を行い、復調したデータを多重分離手段２０５に引き渡すことができる。この結果、他のサブプログラム及びＪａｖａライブラリ４０５のＴｕｎｅｒ４０５ｃはライブラリ４０１ｂを通して受信部２０４を制御することができる。
【０１３１】
限定解除４０１ｂ２は、他のサブプログラムやＪａｖａライブラリ４０５のＣＡ４０５ｄから情報を受け取り、デスクランブラ２０６に引き渡す。
【０１３２】
ＡＶ再生４０１ｂ３は、他のサブプログラムやＪａｖａライブラリ４０５のＪＭＦ４０５ａから、音声のパケットＩＤと映像のパケットＩＤを受け取る。受け取った音声のパケットＩＤと映像のパケットＩＤを、ＴＳデコーダ２０７に与える。この結果、ＴＳデコーダ２０７は与えられたパケットＩＤに基づいて、フィルタリングを行い、映像・音声の再生を実現する。
【０１３３】
ＮＥＴ４０１ｂ４は、他のサブプログラムやＪａｖａライブラリ４０５のネットワークライブラリ４０５ｅから受け取ったデータを、ＩＰネットワークで規定されるアプリケーション層より下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例えばＴＣＰパケット、ＵＤＰパケット、ＩＰパケットなどである。これをネットワーク部２１１に引き渡すことで、ネットワーク１０３を介して他の機器にメッセージおよびデータを送信する。また、ネットワーク１０３を介して他の機器からメッセージを受信したときに、他のサブプログラムやＪａｖａライブラリ４０５のネットワークライブラリ４０５ｅに、アプリケーション層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコルとは、例えば、ＨＴＴＰやＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）などである。
【０１３４】
ＥＰＧ４０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部４０２ａと、チャンネル選局を行う再生部４０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ４０２は、マルチメディアデータ送信装置１０１の電源が投入されると、カーネル４０１ａによって起動される。起動されたＥＰＧ４０２の内部では、番組表示部４０２ａと再生部４０２ｂが同時に起動される。番組表示部４０２ａは起動されると、マルチメディアデータ送信装置１０１の入力部２０１を通して、ユーザからの入力を待つ。ここで、入力部２０１が図３で示されるフロントパネルで構成されている場合、ユーザが、入力部２０１のＥＰＧボタン３０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ２１２に通知される。ＣＰＵ２１２上で動作するサブプログラムであるＥＰＧ４０２の番組表示部４０２ａは、この識別子を受け取り、番組情報表示データを作成し、図示していないモニタ出力手段によりモニタ５１０に出力する。モニタ５１０は、マルチメディアデータ送信装置１０１が備えるものであっても良いし、マルチメディアデータ送信装置１０１とコンポジットケーブルやＨＤＭＩケーブルなどで接続されたテレビであっても良い。モニタ５１０は、受信した番組情報表示データを表示する。図５Ａ及び図５Ｂは、モニタ５１０に表示された番組表の一例である。図５Ａを参照して、モニタ５１０には、格子状に番組情報が表示されている、列５０１には、時刻情報が表示されている。列５０２には、チャンネル名「チャンネル１」と、列５０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列５０３も列５０２同様、チャンネル名「チャンネル２」と、列５０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。５３０は、カーソルである。カーソル５３０は、フロントパネル３００の左カーソル３０３と右カーソル３０４を押下すると移動する。図５Ａの状態で、右カーソル３０４を押下すると、カーソル５３０は右に移動し、図５Ｂのようになる。また、図５Ｂの状態で、左カーソル３０３を押下すると、カーソル５３０は左に移動し、図５Ａのようになる。
【０１３５】
図５Ａの状態で、フロントパネル３００のＯＫボタン３０５が押下されると、番組表示部４０２ａは、「チャンネル１」の識別子を再生部４０２ｂに通知する。図５Ｂの状態で、フロントパネル３００のＯＫボタン３０５が押下されると、番組表示部４０２ａは、「チャンネル２」の識別子を再生部４０２ｂに通知する。
【０１３６】
また、番組表示部４０２ａは、表示する番組情報を、多重分離手段２０５を通して定期的に、第２メモリ２０３に記憶しておく。一般的に、放送局からの番組情報の取得は時間が掛かる。入力部２０１のＥＰＧボタン３０７が押下された時、第２メモリ２０３に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【０１３７】
図６は、第２メモリ２０３に記憶している番組情報の一例である。番組情報は表形式で格納されている。列６０１は、チャンネルの識別子である。列６０２は、番組名である。列６０３は番組の放送開始時間、列６０４は放送終了時間である。列６０５は、番組の音声種別を表しており、モノラル音声、ステレオ音声、５．１チャンネル音声をそれぞれ「モノラル」、「ステレオ」、「５．１」と表記している。列６０６は、番組の種別を表している。通常番組は空欄であり、「映画」は映画、「スポ」はスポーツ番組を表す。行６１１〜６１４の各行は、それぞれひとつの番組情報を表す。この例では、ひとつの番組情報は、チャンネルの識別子、番組名、放送開始時間、放送終了時間、番組の音声種別の組となる。例えば、行６１１はチャンネル識別子が「１」、番組名が「ニュース９」、放送開始時間が「９：００」、放送終了時間が「１０：３０」、音声種別が「モノラル」、番組の種別は「通常」を含む組となっている。
【０１３８】
再生部４０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。すなわちチャンネルを構成する映像と音声を再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、第２メモリ２０３に予め格納されている。図７は第２メモリ２０３に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列７０１は、チャンネルの識別子である。列７０２は、チャンネル名である。列７０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、受信部２０４に与える値である。列７０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行７１１〜７１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行７１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部４０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャ４０４に引き渡す。
【０１３９】
また、再生部４０２ｂは、再生中に、ユーザがフロントパネル３００の上カーソル３０１と下カーソル３０２を押下すると、入力部２０１からＣＰＵ２１２を通して、押下された通知を受け取り、再生しているチャンネルを変更する。上カーソル３０１を押下すると、現在再生中のチャンネルよりもひとつ小さいチャンネル識別子を持つチャンネルを再生し、また下カーソル３０２を押下すると、現在再生中のチャンネルよりもひとつ大きいチャンネル識別子を持つチャンネルを再生する。まず、再生部４０２ｂは、第２メモリ２０３に現在再生中のチャンネルの識別子を記憶する。図８Ａ、図８Ｂ及び図８Ｃは、第２メモリ２０３に保存しているチャンネルの識別子の例である。図８Ａでは識別子「３」が記憶されており、図７を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図８Ａの状態で、ユーザが上カーソル３０１を押下すると再生部４０２ｂは、図７のチャンネル情報を参照し、表中で現在再生中のチャンネルよりもひとつ小さい識別子を持つチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャ４０４にチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、第２メモリ２０３に記憶されているチャンネル識別子「２」に書き換える。図８Ｂは、チャンネル識別子が書き換えられた状態を表す。また、図８Ａの状態で、ユーザが下カーソル３０２を押下すると再生部４０２ｂは、図７のチャンネル情報を参照し、表中で現在再生中のチャンネルよりもひとつ大きい識別子を持つチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャ４０４にチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、第２メモリ２０３に記憶されているチャンネル識別子「４」に書き換える。図８Ｃは、チャンネル識別子が書き換えられた状態を表す。チャンネル識別子は、第２メモリ２０３に記憶されているので、マルチメディアデータ送信装置１０１の電源が切られた際も保存されている。
【０１４０】
さらに再生部４０２ｂは、マルチメディアデータ送信装置１０１の電源が投入された際に、起動されると、第２メモリ２０３に記憶されているチャンネル識別子を読み出す。そして、そのチャンネル識別子をサービスマネージャに引き渡す。これにより、マルチメディアデータ送信装置１０１は、電源投入時に前回の稼動時に再生されていた最後のチャンネルの再生を開始することができる。
【０１４１】
ＪａｖａＶＭ４０３は、Ｊａｖａ（ＴＭ）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ２１２が理解可能な実行形式に翻訳してから、ＣＰＵ２１２に引渡し、実行することも行う。ＪａｖａＶＭ４０３は、カーネル４０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル４０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ４０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１４２】
サービスマネージャ４０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ４０３によって逐次実行される。サービスマネージャ４０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１４３】
まず、デジタル放送を受信し、受信したマルチメディアデータを再生する場合の処理について説明する。
【０１４４】
サービスマネージャ４０４は、ＪＮＩを通して、再生部４０２ｂよりチャンネルの識別子を受け取る。
【０１４５】
サービスマネージャ４０４は、最初にＪａｖａライブラリ４０５の中にあるＴｕｎｅｒ４０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ４０５ｃは、第２メモリ２０３が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ４０４がチャンネルの識別子「２」をＴｕｎｅｒ４０５ｃに引き渡すと、Ｔｕｎｅｒ４０５ｃは、図７の行７１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ４０５ｃは、ＯＳ４０１のライブラリ４０１ｂのチューナ４０１ｂ１を通して、受信部２０４にチューニング情報を引き渡す。受信部２０４は与えられたチューニング情報に従って放送局から送信されてきた信号を復調し、多重分離手段２０５に引き渡す。
【０１４６】
次にサービスマネージャ４０４は、Ｊａｖａライブラリ４０５の中にあるＣＡ４０５ｄにデスクランブルを依頼する。ＣＡ４０５ｄは、ＯＳ４０１のライブラリ４０１ｂの限定解除４０１ｂ２を通して復号に必要な情報をデスクランブラ２０６に与える。デスクランブラ２０６は、与えられた情報を元に、受信部２０４から与えられた信号を復号しＴＳデコーダ２０７に引き渡す。
【０１４７】
サービスマネージャ４０４は、Ｊａｖａライブラリ４０５の中にあるＪＭＦ４０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
【０１４８】
まず、最初にＪＭＦ４０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ４０５ａは、ＰＡＴを取得するため、ＯＳ４０１のライブラリ４０１ｂを通して、多重分離手段２０５にパケットＩＤ「０」を指定する。多重分離手段２０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ２１２に引き渡すことでＪＭＦ４０５ａは、ＰＡＴのパケットを収集する。図９は、収集したＰＡＴの情報の一例を模式的に表した表である。列９０１は、プログラムナンバーである。列９０２は、パケットＩＤである。列９０２のパケットＩＤはＰＭＴを取得するために用いられる。行９１１〜９１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、三つのチャンネルが定義されている。行９１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ４０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ４０５ａは、図９の行９１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図９のＰＡＴの行９１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ４０５ａは、ＰＭＴを取得するため、ＯＳ４０１のライブラリ４０１ｂを通して、多重分離手段２０５にパケットＩＤを指定する。ここで、指定するパケットＩＤは「５０２」とする。多重分離手段２０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ２１２に引き渡すことでＪＭＦ４０５ａは、ＰＭＴのパケットを収集する。図１０は、収集したＰＭＴの情報の一例を模式的に表した表である。列１００１は、ストリーム種別であり。列１００２は、パケットＩＤである。列１００２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１００３は補足情報である。行１０１１〜１０１４はエレメンタリーストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。行１０１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ４０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図１０を参照して、ＪＭＦ４０５ａは、行１０１１から音声のパケットＩＤ「５０１１」を、行１０１２から映像のパケットＩＤ「５０１２」を獲得する。
【０１４９】
次に、ＪＭＦ４０５ａは、ＯＳ４０１のライブラリ４０１ｂのＡＶ再生４０１ｂ３に獲得した音声のパケットＩＤと映像のパケットＩＤを引き渡す。これを受けて、ＡＶ再生４０１ｂ３は、受け取った音声のパケットＩＤと映像のパケットＩＤを、ＴＳデコーダ２０７に与える。ＴＳデコーダ２０７は与えられたパケットＩＤでフィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットを音声出力部２０９に、パケットＩＤ「５０１２」のパケットを映像出力部２０８に、それぞれ引き渡す。音声出力部２０９は、与えられたパケットを適宜変換し（例えばデジタル−アナログ変換）出力する。映像出力部２０８は、与えられたパケットを適宜変換し（例えばデジタル−アナログ変換）出力する。
【０１５０】
最後にサービスマネージャ４０４は、Ｊａｖａライブラリ４０５の中にあるＡＭ４０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ４０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。ここでは、Ｊａｖａライブラリ４０５の中のＤＳＭＣＣ４０５ｌが取得するデータは、ファイル構造をもつデータ構造でエンコードを行うＯｂｊｅｃｔＣａｒｏｕｓｅｌ方式でエンコードされているものとする。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１５１】
ＡＭ４０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ４０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図９のＰＡＴ、図１０のＰＭＴが送信されていると、ＪＭＦ４０５ａと同様の手順で、図１０のＰＭＴを獲得する。ＡＭ４０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリーストリームからパケットＩＤを抽出する。図１０を参照して、行１０１３のエレメンタリーストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【０１５２】
ＡＭ４０５ｂは、ＯＳ４０１のライブラリ４０１ｂを通して多重分離手段２０５にＡＩＴのパケットＩＤを与える。多重分離手段２０５は、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ２１２に引き渡す。この結果、ＡＭ４０５ｂは、ＡＩＴのパケットを収集することができる。図１１は、収集したＡＩＴの情報の一例を模式的に表した表である。列１１０１はＪａｖａプログラムの識別子である。列１１０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時にマルチメディアデータ送信装置１０１がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列１１０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列１１０４はＪａｖａプログラムのプログラム名である。行１１１１と１１１２は、Ｊａｖａプログラムの情報の組である。行１１１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１１１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここでふたつのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これはひとつのＤＳＭＣＣ方式でエンコードされたファイルシステム内にふたつのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して四つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０１５３】
ＡＭ４０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図１１を参照して、ＡＭ４０５ｂは行１１１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１５４】
次にＡＭ４０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリーストリームのパケットＩＤを取得する。
【０１５５】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１０とすると、行１０１４のエレメンタリーストリームが合致し、パケットＩＤ「５０１４」を取り出す。
【０１５６】
ＡＭ４０５ｂは、ＯＳ４０１のライブラリ４０１ｂを通して多重分離手段２０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤを指定する。ここでは、パケットＩＤ「５０１４」を与える。多重分離手段２０５は、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ２１２に引き渡す。この結果、ＡＭ４０５ｂは、必要なパケットを収集することができる。ＡＭ４０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、第１メモリ２０２あるいは第２メモリ２０３に保存する。ファイルシステム等のデータを取り出し第１メモリ２０２あるいは第２メモリ２０３に保存することを以降、ダウンロードと呼ぶ。
【０１５７】
図１２は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、１２０１はルートディレクトリ、１２０２はディレクトリ「ａ」、１２０３はディレクトリ「ｂ」、１２０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、１２０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１５８】
ここでは、ＭＰＥＧ２トランスポートストリームからファイルシステムをダウンロードする例を記載したが、ＯＣＡＰ仕様では、ＩＰネットワークを用いたダウンロードなども規定している。また、ＡＩＴではなくＸＡＩＴと呼ばれる情報を用いてファイルシステムの存在位置を特定し、ファイルシステムをダウンロードする方法も規定されている。
【０１５９】
次にＡＭ４０５ｂは、第１メモリ２０２あるいは第２メモリ２０３にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ４０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図１２を参照して、ファイル１２０４が実行すべきＪａｖａプログラムである。次にＡＭ４０５ｂは、ファイル１２０４をＪａｖａＶＭ４０３に引き渡す。
【０１６０】
ＪａｖａＶＭ４０３は、引き渡されたＪａｖａプログラムを実行する。
【０１６１】
サービスマネージャ４０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａライブラリ４０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ４０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａプログラムの実行を行う。
【０１６２】
また、サービスマネージャ４０４は、再生部４０２ｂだけでなく、ＪａｖａＶＭ４０３上で実行されるＪａｖａプログラムからチャンネルの識別子を受け取る機能も備える。具体的には、チャンネルの識別子を受け取るためのＪａｖａ言語のクラス及びそのメソッドを提供する。チャンネルの識別子を受け取ると、サービスマネージャ４０４は、Ｊａｖａライブラリ４０５に含まれる各ライブラリを通して現在再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ４０５に含まれる各ライブラリを通して停止し、その後、新たに受け取ったチャンネルの識別子に基づいて、新しい映像・音声の再生及びＪａｖａプログラムの実行を行う。
【０１６３】
次に、マルチメディアデータ送信装置１０１において、デジタル放送を受信して、そのマルチメディアデータを第２メモリ２０３に蓄積する処理について説明する。
【０１６４】
図１３は、マルチメディアデータ送信装置１０１が、第２メモリ２０３にマルチメディアデータを蓄積する形態の一例である。マルチメディアデータ送信装置１０１は、マルチメディアデータとその属性情報、属性情報テーブル、ＵＲＩテーブルを第２メモリ２０３に記憶する。図１３において、１３０１、１３０２、・・・はマルチメディアデータを、１３１１、１３１２、・・・はマルチメディアデータの属性情報を、１３２１は属性情報テーブルを、１３３１はＵＲＩテーブルを、それぞれ表す。マルチメディアデータ１３０１、１３０２、・・・は、ＭＰＥＧ２−ＴＳ形式で符号化され、暗号化されたマルチメディアデータである。属性情報１３１１、１３１２、・・・は、各マルチメディアデータのタイトルなどの付加的な情報である。ここでは、属性情報１３１１はマルチメディアデータ１３０１の属性情報を、属性情報１３１２はマルチメディアデータ１３０２の属性情報を、それぞれ表すこととする。
【０１６５】
図１４は、本実施の形態における属性情報の一例を表す。本実施の形態においては、属性情報はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で定義されたテキストで表すものとする。図１４では、ＣｏｎｔｅｎｔＩＤ要素で該コンテンツの識別子を、ＦｉｌｅＮａｍｅ要素で該マルチメディアデータのファイル名を、ＦｉｌｅＴｒｅｅ要素で該マルチメディアデータに含まれるＯｂｊｅｃｔＣａｒｏｕｓｅｌで伝送されるディレクトリやファイルで構成されるファイルシステムを保存したディレクトリ名を、ＣｈａｎｎｅｌＩＤ要素で図６の列６０１で示されているような該番組が放送されたチャンネルの識別子を、ＰｒｏｇｒａｍＮｏ要素で図７の列７０４に示されているようなＰＭＴを検索するプログラムナンバーを、Ｔｉｔｌｅ要素で図６の列６０２で示されているような番組名を、Ｇｅｎｒｅ要素で図６の列６０６に示されているような番組の種別を、Ｄａｔｅ要素で該番組が放送された日時を、ＲｅｃｏｒｄＤａｔｅ要素で該番組が録画された日時を、ＰｌａｙｂａｃｋＴｉｍｅ要素で、該マルチメディアデータが再生もしくはネットワーク１０３に出力された回数を、ＦｏｒｍａｔＴｙｐｅ要素で該コンテンツのメディアフォーマットの種類を、ＣｏｎｔｅｎｔＴｙｐｅ要素でＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ）から該コンテンツのメディアフォーマットに割り当てられたＣｏｎｔｅｎｔ−Ｔｙｐｅを、それぞれ表す。なお、属性情報は、このようなＸＭＬによる構成に限るものではなく、他の形式、例えば、バイナリデータとして記録しても良い。
【０１６６】
属性情報テーブルは、コンテンツの識別子と、該識別子で表されるコンテンツのマルチメディアデータを記録したファイル、および、属性情報を記録したファイルとの対応表である。図１５にその一例を示す。図１５において、列１５０１はコンテンツの識別子を表し、列１５０２は属性情報のファイル名を表す。行１５１１〜１５１３は、コンテンツの識別子と対応する属性情報のファイル名の組である。行１５１１からは、識別子１のコンテンツの属性情報はファイル０００１．ａｔｔｒに記録されていることを読み取ることができる。
【０１６７】
図１６に、ＵＲＩテーブル１３３１の構成の一例を示す。図１６において、列１６０１は各コンテンツの識別子を示し、列１６０２は各コンテンツにアクセスするためのＵＲＩを表す。列１６０３は、ＡＩＴやＰＭＴなどのセクションデータの変化点情報を保持するデータへアクセスするためのＵＲＩを表す。各行１６１１〜１６１３は、コンテンツの識別子とＵＲＩの組が表されている。例えば、行１６１１は、識別子１のコンテンツのＵＲＩは、ｈｔｔｐ：／／１９２．１６８．０．３／ＡＶＤａｔａ／０００１．ｍ２ｔｓで、ＡＩＴセクションの変化点情報を保持するファイルのＵＲＩは、ｈｔｔｐ：／／１９２．１６８．０．３／ＶＵＰ／０００１−ａｉｔ．ｖｕｐあることを表している。
【０１６８】
以下、蓄積する処理について説明する。まず、デスクランブルまでの動作は、上記再生する場合と同様である。続いて、サービスマネージャ４０４は、ＣＡ４０５ｄに該マルチメディアデータに関する保護要否と、必要な場合にはどのような保護であるかの情報の取得を依頼する。この情報を保護情報と呼ぶこととする。ＣＡ４０５ｄは、デスクランブラ２０６から該マルチメディアデータの保護情報を受け取り、それをサービスマネージャ４０４に引き渡す。次に、サービスマネージャ４０４は、引き渡された保護情報から、該マルチメディアデータが蓄積可能であるかどうかを判定する。蓄積可能である場合に限り、サービスマネージャ４０４は、Ｊａｖａライブラリ４０５の中のＲｅｃ４０５ｊに該マルチメディアデータの蓄積及び該マルチメディアデータ内の変化点の記録を依頼する。
【０１６９】
ここで図１７に、図４のプログラムの構成図で示したＲｅｃ４０５ｊの内部構成の一例をあらわすブロック図を示す。
【０１７０】
要求受信部１７０１ａは、サービスマネージャ４０４より受信した該マルチメディアデータの蓄積及びマルチメディアデータ内の変化点の記録要求を受信し、制御部１７０１ｂへ要求内容を伝える。
【０１７１】
制御部１７０１ｂは、要求された該マルチメディアデータのサービス及びパケットＩＤを取得するため、上記ＪＭＦ４０５ａおよびＡＭ４０５ｂと同様に、ＰＡＴ、ＰＭＴを取得し、蓄積する番組に関する映像データ、音声データ、各セクションデータのパケットＩＤを取得する。今、与えられたチャンネルの識別子が「２」で、図９のＰＡＴ、図１０のＰＭＴが送信されていると、ＪＭＦ４０５ａと同様の手順で、図１０のＰＭＴを獲得する。なお、ここで蓄積するデータは、図１０のＰＭＴに記述された全てのデータである。
【０１７２】
次に制御部１７０１ｂは、ＯＳ４０１のライブラリ４０１ｂを通してＴＳデコーダ２０７に、これらのパケットＩＤを与え、ＴＳマルチプレクサ２１０に出力させる。ＴＳデコーダ２０７は、与えられたパケットＩＤでフィルタリングを行い、ＴＳマルチプレクサ２１０に引き渡す。このとき制御部１７０１ｂは、変化を求めたいセクションを特定するパケットＩＤを、変化点検出部１７０２ａへ通知する。
【０１７３】
変化点検出部１７０２ａは、指定されたセクションに関して、受信したセクションと前回取得した受信セクションと比較し、セクションのバージョンアップが発生しているか否か判断する。このときセクションのバージョンフィールドを確認し、バージョンが変更していた場合は、本セクションが伝送するセクションの内容を保存するため、本セクションを変化点保存部１７０２ｂへわたす。
【０１７４】
変化点保存部１７０２ｂは、変化点検出部１７０２ａによって検出された変化点に対し、バージョンアップ発生のタイミング及びそのときのセクションデータを、ＩＯ４０５ｇに依頼して第２メモリ２０３へ書き込む。以下、この情報を変化点情報と呼ぶこととし、その一例を図１８に示す。図１８において、列１８０１は、セクションの種類を示す。これは、例えばａｉｔやｐｍｔなどである。列１８０２は、バージョンナンバーを示す。列１８０３は、バージョンが変化した時間情報である。この時間情報は、該マルチメディアコンテンツの開始からの経過時間で表現することとする。列１８０４は、バージョンが変化したセクションを伝送する、ストリーム中の開始位置を示し、列１８０５は、バージョンが変化したセクションを伝送する、ストリーム中の終了位置を示す。なお、列１８０４及び列１８０５は該マルチメディアコンテンツの先頭を０としたときのバイト位置で指定する。列１８０６はバイナリのセクション長をバイト数で示し、列１８０７はセクションのバイナリデータを示す。なお、図１８で示した変化点情報は、この形式に限らず、変化点を表す情報と、変化の内容を表す情報が含まれていれば、他の形式であっても良い。
【０１７５】
変化点保存部１７０２ｂが変化点情報を書き込んだあと、制御部１７０１ｂは、第２メモリ２０３上の図１８の保存場所を参照するＵＲＩを生成する。なお、図１８では、ａｉｔがバージョンアップした図を示したが、ｐｍｔのバージョンアップでも、ａｉｔとｐｍｔのような異なるセクションを同一のテーブルに書く方式でもよい。また、ここではマルチメディアコンテンツの記録時に、ストリームの変化点情報をまとめて記録する方法を示したが、これはマルチメディアデータ受信装置１０２からストリーム変化点情報の要求があったタイミングに、保存されているＭＰＥＧトランスポートストリームから作成する構成であってもよい。
【０１７６】
また、制御部１７０１ｂは、受信したＰＭＴに含まれるＥｌｅｍｅｎｔａｒｙＳｔｒｅａｍ（以下ＥＳ）のＳｔｒｅａｍＴｙｐｅの参照時、ＳｔｒｅａｍＴｙｐｅ＝０ｘ０ｂのＯｂｊｅｃｔＣａｒｏｕｓｅｌが含まれているか確認する。そして、該マルチメディアデータにＯｂｊｅｃｔＣａｒｏｕｓｅｌが含まれている場合は、カルーセル取得部１７０２ｃへカルーセル取得を要求する。
【０１７７】
カルーセル取得部１７０２ｃは、Ｊａｖａライブラリ４０５のＤＳＭＣＣ４０５ｌを用いて、該マルチメディアデータで伝送される全てのＯｂｊｅｃｔＣａｒｏｕｓｅｌをダウンロードし、Ｃａｒｏｕｓｅｌ毎に図１２に示したようなファイル構造を構築する。このファイル構造を、以下ＦｉｌｅＴｒｅｅと呼ぶ。取得したＦｉｌｅＴｒｅｅを保存するため、ＦｉｌｅＴｒｅｅ保存部１７０２ｄを呼ぶ。
【０１７８】
ＦｉｌｅＴｒｅｅ保存部１７０２ｄは、ＩＯ４０５ｇに依頼して、第２メモリ２０３へＦｉｌｅＴｒｅｅを保存する。このとき、ＦｉｌｅＴｒｅｅ保存部１７０２ｄは、保存したディレクトリを、図１４のＦｉｌｅＴｒｅｅ要素へ記録する。
【０１７９】
なお、ここではマルチメディアコンテンツの記録時に、オブジェクトカルーセルを記録する方法を示したが、これはマルチメディアデータ受信装置１０２からファイル取得要求があったタイミングに、第２メモリ２０３へ保存済みのＭＰＥＧトランスポートストリームから新たに作成するという構成であってもよい。
【０１８０】
なお、ここでは、セクションのバージョンアップを検知する変化点検出部１７０２ａは、Ｒｅｃ４０５ｊの構成要素として実現したが、本機能は、ＳＩ４０５ｉに含まれていても良く、また、ＴＳデコーダ２０７の機能であっても良い。
【０１８１】
制御部１７０１ｂは、ＴＳデコーダ２０７でフィルタリングされたデータ、および、そのデータの種類をＴＳマルチプレクサ２１０に与えることにより、ＴＳマルチプレクサ２１０にＭＰＥＧ２トランスポートストリームを構成させる。
【０１８２】
さらに、制御部１７０１ｂは、Ｊａｖａライブラリ４０５の中のＩＯ４０５ｇに依頼して、ＴＳマルチプレクサ２１０が構成したＭＰＥＧトランスポートストリームを第２メモリ２０３に書き込む。
【０１８３】
さらに、制御部１７０１ｂは、サービスマネージャ４０４に依頼して、該番組のチャンネル識別子を受け取り、ＩＯ４０５ｇに依頼して、第２メモリ２０３に記憶された図６に示す番組情報のうち、蓄積したマルチメディアデータに対応するものの番組情報を読み取る。
【０１８４】
さらに、制御部１７０１ｂは、サービスマネージャ４０４に依頼して該蓄積したマルチメディアデータの識別子を取得する。
【０１８５】
さらに、取得した番組情報と、該マルチメディアデータの識別子と、マルチメディアデータを蓄積したファイル名と、上記変化点情報のＵＲＩから属性情報を作り、ＩＯ４０５ｇに依頼して、該属性情報を第２メモリ２０３に書き込む。
【０１８６】
さらに、制御部１７０１ｂは、ＩＯ４０５ｇに依頼して、属性情報テーブルを読み出し、内容を更新して、ＩＯ４０５ｇに依頼して第２メモリ２０３に書き込むことにより、属性情報テーブルを更新する。
【０１８７】
次に、第２メモリ２０３に蓄積したマルチメディアデータのうち、ネットワーク１０３に接続された端末からの要求されたものを、該要求元端末へ送信する処理について説明する。
【０１８８】
ここで図１７右部に、図４のプログラムの構成図で示したネットワークライブラリ４０５ｅの内部構成の一例をあらわすブロック図を示す。
【０１８９】
以下、図１６に示したＵＲＩテーブル１３３１で、次のようなリクエストメッセージを受信した場合を例に説明する。
【０１９０】
GET http://192.168.0.3/AVData/0001.m2ts HTTP/1.1
Host: 192.168.0.3
Date: Thr Jan 11 15:00:00 2007 GMT
User-Agent: AVT Client
Connection: Keep-Alive
X-Version-Request: type = ait ; scope = all
X-Tree-Base-Request : carousel_id = 1
【０１９１】
要求受信部１７０３ａは、要求元端末から送信されてきたリクエストメッセージを解析し、その内容を制御部１７０３ｂに引き渡すものである。上記のリクエストメッセージを受信した場合は、該リクエストメッセージから、少なくとも要求されたコンテンツのＵＲＩと、Ｘ−Ｖｅｒｓｉｏｎ−ＲｅｑｕｅｓｔおよびＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｒｅｑｕｅｓｔの内容を取得して、制御部１７０３ｂへ引き渡す。
【０１９２】
制御部１７０３ｂは、要求受信部１７０３ａから引き渡された情報に従い、ネットワークライブラリ４０５ｅの他の構成要素を制御して、レスポンスメッセージを生成し、該要求元端末へ送信するものである。制御部１７０３ｂは、まず、要求受信部１７０３ａが受信したリクエストメッセージが不正なものであれば、Ｈｅａｄｅｒ生成部１７０３ｅに依頼して、対応するＨＴＴＰのエラーメッセージを生成させ、それを情報送信部１７０３ｆに引き渡して、該要求元端末へ送信し、処理を終了する。受信したリクエストメッセージが正しいものであれば、制御部１７０３ｂは、ＩＯ４０５ｇに依頼してＵＲＩテーブル１３３１を読み出す。読み出したＵＲＩテーブル１３３１と、要求受信部１７０３ａが取得したＵＲＩから、要求されているコンテンツの識別子を得る。上記の例の場合、コンテンツの識別子は１であることがわかる。また、該要求されたコンテンツに含まれるストリームの変化点情報のＵＲＩ ｈｔｔｐ：／／１９２．１６８．０．３／ＶＵＰ／０００１−ａｉｔ．ｖｕｐも取得することができる。
【０１９３】
続いて、制御部１７０３ｂは、要求受信部１７０３ａから引き渡された情報の中に、ストリームの変化点情報の送信要求があるか否かを調べる。ストリームの変化点情報の送信要求がある場合には、以下の処理を行う。まず、制御部１７０３ｂは、変化点情報取得部１７０３ｃに、ＵＲＩテーブル１３３１より取得したストリームの変化点情報のＵＲＩと、要求受信部１７０３ａから引き渡されたストリームの変化点情報の送信要求の内容を引き渡す。
【０１９４】
変化点情報取得部１７０３ｃは、引き渡された変化点情報のURI ｈｔｔｐ：／／１９２．１６８．０．３／ＶＵＰ／０００１−ａｉｔ．ｖｕｐから、それが保存されているファイルを特定する。そして、該ファイルへアクセスし、該ファイルの有無を確かめる。該ファイルが存在しない場合は、Ｈｅａｄｅｒ生成部１７０３ｅに変化点情報が存在しないことを通知して処理を終了する。該ファイルが存在する場合には、そのＵＲＩと、リクエストメッセージに含まれていた拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔの値である、ｔｙｐｅ及びｓｃｏｐｅ情報とをＨｅａｄｅｒ生成部１７０３ｅへ引き渡す。なお、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔのｓｃｏｐｅによって、変化点発生の範囲を指定されている場合、変化点情報取得部１７０３ｃは、該変化点情報のファイルから情報を読み出し、指定された区間に含まれる変化点だけの変化点情報を新たに生成してファイルとして第２メモリ２０３に保存し、そのＵＲＩをＨｅａｄｅｒ生成部１７０３ｅへ引き渡す構成であっても良い。
【０１９５】
続いて、制御部１７０３ｂは、ストリーム取得部１７０３ｄへ、要求されたコンテンツのＵＲＩと、コンテンツの識別子を与える。すると、ストリーム取得部１７０３ｄは、ＩＯ４０５ｇに依頼して、属性情報テーブル１３２１を読み出す。そして、要求されたコンテンツの識別子より、該コンテンツの属性情報ファイルのファイル名を取得する。例えば、図１５に示した属性情報テーブル１３２１の場合、識別子１のコンテンツの属性情報ファイルは０００１．ａｔｔｒであることがわかる。続いて、ストリーム取得部１７０３ｄは、ＩＯ４０５ｇに依頼して、取得したファイル名の属性情報ファイルを読み出す。読み出した属性情報ファイルの内容のうち、ＦｉｌｅＮａｍｅ要素から該コンテンツのマルチメディアデータを格納したファイル名及びＦｉｌｅＴｒｅｅ属性情報を取得する。例えば、図１４に示した属性情報ファイルの場合、マルチメディアデータのファイル名は０００１．ｍ２ｔｓであり、ＯｂｊｅｃｔＣａｒｏｕｓｅｌのＦｉｌｅＴｒｅｅを保存したディレクトリが、／ＤＶＲ／Ｃｏｎｔｅｎｔ／０００１／Ｃａｒｏｕｓｅｌ１であることがわかる。
【０１９６】
続いて、ストリーム取得部１７０３ｄは、ＩＯ４０５ｇに依頼して、取得したファイル名のマルチメディアデータの存在を確認する。存在しない場合には、そのエラー内容をＨｅａｄｅｒ生成部１７０３ｅへ引き渡し、制御部１７０３ｂへ通知する。
【０１９７】
また、制御部１７０３ｂは、要求受信部１７０３ａから引き渡された情報の中に、アプリケーションのファイルを取得するための情報要求であるＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏがあるかどうかを調べる。該要求がある場合には、以下の処理を行う。まず、制御部１７０３ｂは、取得した該コンテンツ識別子とＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏの内容を、ベースポイント取得部１７０３ｇへ引き渡す。ベースポイント取得部１７０３ｇは、ＩＯ４０５ｇに依頼して、属性情報テーブル１３２１を読み出す。そして、要求されたコンテンツの識別子より、該コンテンツの属性情報ファイルのＦｉｌｅＴｒｅｅ要素を読み出す。例えば、図１４に示した属性情報ファイルの場合、ＯｂｊｅｃｔＣａｒｏｕｓｅｌのＦｉｌｅＴｒｅｅを保存したディレクトリが、／ＤＶＲ／Ｃｏｎｔｅｎｔ／０００１／Ｃａｒｏｕｓｅｌ１であることがわかる。続いて、ベースポイント取得部１７０３ｇは、ＩＯ４０５ｇに依頼して、取得したマウントポイント以下にＦｉｌｅＴｒｅｅが存在するか否かを確認する。存在する場合には、ＦｉｌｅＴｒｅｅ要素で指定されたディレクトリ名をＨｅａｄｅｒ生成部１７０３ｅへ引き渡す。存在しない場合には、空の文字列をＨｅａｄｅｒ生成部１７０３ｅへ引き渡す。
【０１９８】
続いて、制御部１７０３ｂは、Ｈｅａｄｅｒ生成部１７０３ｅに依頼して、レスポンスメッセージのヘッダを生成させる。Ｈｅａｄｅｒ生成部１７０３ｅでは、ここまでにネットワークライブラリ４０５ｅの各構成要素から受け取った情報を基に、ＨＴＴＰレスポンスメッセージのヘッダを生成する。すなわち、マルチメディアデータが存在する場合には、該属性情報ファイルや、ＩＯ４０５ｇに依頼することにより得られるファイルサイズなどの情報を集めて返信メッセージのヘッダを生成する。更に、変化点情報取得部１７０３ｃの結果より、変化点情報が存在する場合は、変化点情報取得部１７０３ｃから受け取った情報により、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏを生成する。上記の例の場合では、X-Version-Info: url = http://192.168.0.3/VUP/0001-ait.vupという拡張ヘッダを追加してレスポンスメッセージのヘッダを生成する。変化点情報が存在しなかった場合には、Ｈｅａｄｅｒ生成部１７０３ｅは、Ｘ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏ拡張ヘッダを生成しない。更に、ベースポイント取得部１７０３ｇから受け取った情報により、拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏを生成する。上記の例の場合では、X-Tree-Base-Info : directory = /DVR/Content/0001/Carousel1/の拡張ヘッダをレスポンスメッセージのヘッダに追加する。この返信メッセージを情報送信部１７０３ｆへ引き渡す。ベースポイント取得部１７０３ｇから空の文字列が引き渡された場合には、値なしの拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏを生成して、レスポンスメッセージのヘッダに追加する。また、ベースポイント取得部１７０３ｇから何も情報が引き渡されていない場合には、Ｈｅａｄｅｒ生成部１７０３ｅは、拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏを生成しない。以上のようにして生成したレスポンスメッセージのヘッダを、情報送信部１７０３ｆへ引き渡す。
【０１９９】
続いて、制御部１７０３ｂは、情報送信部１７０３ｆに依頼して、レスポンスメッセージを該要求元端末へ送信する。情報送信部１７０３ｆは、まず、Ｈｅａｄｅｒ生成部１７０３ｅから引き渡された生成されたレスポンスメッセージのヘッダを、該要求元端末へ送信する。
【０２００】
続いて、制御部１７０３ｂは、ＩＯ４０５ｇに依頼して、該マルチメディアデータを順次読み出しながら、情報送信部１７０３ｆに依頼して、読み出したデータを該要求元端末へ送信する。
【０２０１】
また、要求元端末よりマルチメディアデータの送信範囲を指定されている場合には、制御部１７０３ｂは、ＩＯ４０５ｇに依頼して、該マルチメディアデータの該当部分を読み出し、そのデータサイズなどの情報を集めて返信メッセージのヘッダを生成する。このとき、上記と同様の処理を行うことにより、レスポンスメッセージのヘッダを生成する。さらに、制御部１７０３ｂは、情報送信部１７０３ｆに依頼して、生成したレスポンスメッセージのヘッダを要求元端末へ送信する。続いて、制御部１７０３ｂは、情報送信部１７０３ｆに依頼して、読み出した該マルチメディアデータの該当部分を、要求元端末へ送信する。
【０２０２】
なお、上記の例では、ストリーム取得部１７０３ｄやベースポイント取得部１７０３ｇなど各構成要素が個別に属性情報テーブル１３２１を読み出すとしたが、制御部１７０３ｂが属性情報テーブル１３２１を読み出し、その中の必要な情報を各構成要素に引き渡す構成であっても良いことは言うまでもない。
【０２０３】
また、上記の例では、変化点情報を取得するＵＲＩをレスポンスメッセージのヘッダに含めることによって通知を行っているが、変化点の情報をレスポンスメッセージのヘッダに含める構成であっても良い。この場合、Ｈｅａｄｅｒ生成部１７０３ｅは、特に変化点情報取得部１７０３ｃから取得した／ＤＶＲ／Ｃｏｎｔｅｎｔ／０００１／ＶＵＰ／００００１−ａｉｔ.ｖｕｐより、図１８に示したような変化点情報を読み出す。Ｈｅａｄｅｒ生成部１７０３ｅは読み出した変化点情報を参照し、ＡＩＴなどのセクションの長さ及びその内容を取得する。そして、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏにて、指示子lengthを用いてそのセクションの長さを、また、bytes指示子を用いてそのセクションの内容を記述する。例えば、以下のような拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏを生成する。
【０２０４】
X-Version-Info: type=ait; length = 100 ; bytes = 110110010001001……1111
【０２０５】
また、図１８の列１８０４及び列１８０５を用いて、該マルチメディアコンテンツの先頭を０とした場合の、セクションを伝送するバイト位置を表すことが出来る。例えば、指示子section_rangeを用いて始点と終点を記述し、以下のような拡張ヘッダを生成する。
【０２０６】
X-Version-Info : type=ait; section_range=5000-10000
【０２０７】
Ｊａｖａライブラリ４０５は、第２メモリ２０３に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、Ｊａｖａライブラリ４０５は、ＪＭＦ４０５ａ、ＡＭ４０５ｂ、Ｔｕｎｅｒ４０５ｃ、ＣＡ４０５ｄ、ネットワークライブラリ４０５ｅ、再生Ｌｉｂ４０５ｆ、ＩＯ４０５ｇ、ＡＷＴ４０５ｈ、ＳＩ４０５ｉ、Ｒｅｃ４０５ｊ等を含んでいる。
【０２０８】
ＪＭＦ４０５ａ、ＡＭ４０５ｂ、Ｔｕｎｅｒ４０５ｃ、ＣＡ４０５ｄ、Ｒｅｃ４０５ｊの機能は、既に記述されているので省略する。
【０２０９】
再生Ｌｉｂ４０５ｆは、第２メモリ２０３が記憶している、現在再生しているチャンネルの識別子をＪａｖａプログラムに渡すためのＪａｖａ言語のクラスおよびメソッド（以下Ｊａｖａ  ＡＰＩと記述）を提供する。このＪａｖａ  ＡＰＩを利用することで、Ｊａｖａプログラムは、現在再生中のチャンネルを知ることができる。
【０２１０】
ＩＯ４０５ｇは、Ｊａｖａプログラムが第２メモリ２０３にデータを書き込むためのＪａｖａ  ＡＰＩ、あるいは、その書き込んだデータを第２メモリ２０３から読みこむためのＪａｖａ  ＡＰＩをＪａｖａプログラムに提供する。このＡＰＩを利用することで、Ｊａｖａプログラムは、任意のデータを第２メモリ２０３に保存することができる。この保存されたデータはマルチメディアデータ送信装置１０１の電源がオフになっても消えないので、マルチメディアデータ送信装置１０１の電源が投入された後、再びそのデータを読み込むことができる。
【０２１１】
ＡＷＴ４０５ｈは、Ｊａｖａプログラムが描画を行ったり、入力部２０１からのキー入力通知を受け取るためのＪａｖａ  ＡＰＩを提供する。具体的には、「Ｔｈｅ  Ｊａｖａ  ｃｌａｓｓ  Ｌｉｂｒａｒｉｅｓ  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ，Ｖｏｌｕｍｅ  ２」（ＩＳＢＮ０−２０１−３１００３−１）で既定されるｊａｖａ．ａｗｔパッケージ、ｊａｖａ．ａｗｔ．ｅｖｅｎｔパッケージ及びその他のｊａｖａ．ａｗｔのサブパッケージが相当する。ここでは、詳細な説明を省略する。
【０２１２】
ＳＩ４０５ｉは、Ｊａｖａプログラムがチャンネル情報や電子番組表情報を取得するＪａｖａ  ＡＰＩを提供する。具体的には、Ｊａｖａ  ＴＶ仕様などが存在する。また、生のバイナリデータを放送中のＭＰＥＧ２トランスポートストリームから取得するＭＰＥＧセクションフィルタＡＰＩがＯＣＡＰ仕様の中で定義されており、送信されてきた独自の電子番組データをＪａｖａアプリケーションが理解して取り扱うことも出来る。
【０２１３】
次に、マルチメディアデータ受信装置１０２について説明する。
【０２１４】
図１９は、本実施の形態におけるマルチメディアデータ受信装置１０２の構成要素の関係を示したブロック図であり、入力部１９０１、第１メモリ１９０２、第２メモリ１９０３、多重分離手段１９０４、ＴＳデコーダ１９０５、映像出力部１９０６、音声出力部１９０７、ネットワーク部１９０８、ＣＰＵ１９０９で構成される。
【０２１５】
入力部１９０１、第１メモリ１９０２、第２メモリ１９０３は、上記した本実施の形態におけるマルチメディアデータ送信装置１０１の入力部２０１、第１メモリ２０２、第２メモリ２０３と同様のものである。なお、マルチメディアデータ受信装置１０２は、第２メモリ１９０３に、マルチメディアデータ送信装置１０１から受信したコンテンツ一覧やＥＰＧデータなどの、マルチメディアデータの識別子、タイトル、放送日時、放送チャンネルなど番組情報を蓄積する。
【０２１６】
多重分離手段１９０４は、ＣＰＵ１９０９からＭＰＥＧトランスポートストリームを受け取り、ＣＰＵ１９０９から指定された情報を抽出し、ＣＰＵ１９０９に引き渡す。また、ＭＰＥＧトランスポートストリームをそのままＴＳデコーダ１９０５に引き渡す。
【０２１７】
ＴＳデコーダ１９０５は、ＣＰＵ１９０９から、音声データ、映像データの識別子を受け取る。さらに、多重分離手段１９０４から受け取ったストリームから、受け取った音声データ、映像データの識別子に対応するデータを抽出する。抽出した映像データを映像出力部１９０６に、音声データを音声出力部１９０７に、それぞれ引き渡す。
【０２１８】
映像出力部１９０６、音声出力部１９０７は、上記した本実施の形態におけるマルチメディアデータ送信装置１０１の映像出力部２０８、音声出力部２０９と同様のものである。
【０２１９】
ネットワーク部１９０８は、ネットワークインタフェースを含み、ＣＰＵ１９０９から受け取ったデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに応じた信号に変換して出力する。また、ネットワークインタフェースから信号を受信し、ＩＰネットワークで規定されたパケットに変換して、ＣＰＵ１９０９へ引き渡す。
【０２２０】
ＣＰＵ１９０９は、第２メモリ１９０３が記憶するプログラムを実行することで、多重分離手段１９０４、ＴＳデコーダ１９０５、およびネットワーク部１９０８を制御する。
【０２２１】
図２０は、第２メモリ１９０３に記憶され、ＣＰＵ１９０９に実行されるプログラムの構成図の一例である。
【０２２２】
プログラム２０００は、複数のサブプログラムで構成され、具体的にはＯＳ２００１、ＪａｖａＶＭ２００２、サービスマネージャ２００３、Ｊａｖａライブラリ２００４で構成される。
【０２２３】
ＯＳ２００１は、マルチメディアデータ受信装置１０２の電源が投入されると、ＣＰＵ１９０９が起動するサブプログラムである。ＯＳは、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ２００１は、他のサブプログラムを平行して実行するカーネル２００１ａ及びライブラリ２００１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ２００１のカーネル２００１ａは、ＪａｖａＶＭ２００２をサブプログラムとして実行する。また、ライブラリ２００１ｂは、これらサブプログラムに対して、マルチメディアデータ受信装置１０２が保持する構成要素を制御するための複数の機能を提供する。
【０２２４】
本実施の形態では、ライブラリ２００１ｂは機能の一例として、限定解除２００１ｂ１、ＡＶ再生２００１ｂ２、ＮＥＴ２００１ｂ３を含む。
【０２２５】
限定解除２００１ｂ１は、他のサブプログラムやＪａｖａライブラリ２００４のＣＡ２００４ｃから情報を受け取り、ＡＶ再生２００１ｂ２を有効にして、ネットワークから受信したマルチメディアデータの再生を許可したりするものである。
【０２２６】
ＡＶ再生２００１ｂ２は、他のサブプログラムやＪａｖａライブラリ２００４のＪＭＦ２００４ａから、音声のパケットＩＤと映像のパケットＩＤを受け取る。受け取った音声のパケットＩＤと映像のパケットＩＤを、ＴＳデコーダ１９０５に与える。この結果、ＴＳデコーダ１９０５は与えられたパケットＩＤに基づいて、フィルタリングを行い、映像・音声の再生を実現する。
【０２２７】
ＮＥＴ２００１ｂ３は、他のサブプログラムやＪａｖａライブラリ２００４のネットワークライブラリ２００４ｄから受け取ったデータを、ＩＰネットワークで規定されるアプリケーション層より下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例えばＴＣＰパケット、ＵＤＰパケット、ＩＰパケットなどである。これをネットワーク部１９０８に引き渡すことで、ネットワーク１０３を介して他の機器にメッセージおよびデータを送信する。また、ネットワーク１０３を介して他の機器からのメッセージを受信したときに、他のサブプログラムやＪａｖａライブラリ２００４のネットワークライブラリ２００４ｄに、アプリケーション層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコルとは、例えば、ＨＴＴＰ、ＲＴＳＰやＲＴＰなどである。
【０２２８】
サービスマネージャ２００３は、上記した本実施の形態におけるマルチメディアデータ送信装置１０１のサービスマネージャ４０４と、以下の相違点を除いて同様のものである。サービスマネージャ４０４はＥＰＧ４０２の再生部４０２ｂよりチャンネル識別子を受け取り、その識別子をＴｕｎｅｒ４０５ｃに引き渡してチューニングさせ、さらにＣＡ４０５ｄに依頼してデスクランブルを行い、ＪＭＦ４０５ａにチャンネルの識別子を与えて映像・音声の再生を依頼するものであったが、サービスマネージャ２００３は、Ｊａｖａライブラリ２００４の中にあるＬｉｓｔ２００４ｉからコンテンツの識別子を受け取り、ネットワークライブラリ２００４ｄにコンテンツの識別子およびそれを蓄積している装置などの情報を引き渡して、該装置からストリームを受信し、Ｊａｖａライブラリ２００４の中にあるＪＭＦ２００４ａにコンテンツの識別子を与えることで、映像・音声の再生を依頼するものである。Ｌｉｓｔ２００４ｉについては、後述する。
【０２２９】
サービスマネージャ２００３は、Ｊａｖａライブラリ２００４のネットワークライブラリ２００４ｄに、コンテンツの識別子及びマルチメディアデータ送信装置１０１のＩＰアドレスなどの情報、該コンテンツにアクセスするためのＵＲＩなどの情報を与える。そして、サービスマネージャ２００３は、ネットワークライブラリ２００４ｄに、マルチメディアデータ送信装置１０１へのマルチメディアデータ送信要求の送信を依頼する。さらに、サービスマネージャ２００３は、ネットワークライブラリ２００４ｄに、マルチメディアデータ送信装置１０１から送信されたマルチメディアデータの受信を依頼する。ネットワークライブラリ２００４ｄでは、依頼を受けると、マルチメディアデータ送信装置１０１と接続して、マルチメディアデータの送信要求を発行する。そして、ネットワークライブラリ２００４ｄは、マルチメディアデータ送信装置１０１から送信されたデータをＣＰＵ１９０９へ引き渡す。
【０２３０】
サービスマネージャ２００３は、マルチメディアデータを多重分離手段１９０４に引き渡すことで、該マルチメディアデータの再生が行える。
【０２３１】
なお、早送りや巻き戻しなどの特殊再生に関しては、サービスマネージャ２００３は、後述のＪＭＦ２００４ａに特殊再生を依頼し、また、ネットワークライブラリ２００４ｄに依頼して、特殊再生に必要なデータを順次受信させることによって行う。
【０２３２】
Ｊａｖａライブラリ２００４は、第２メモリ１９０３に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、Ｊａｖａライブラリ２００４は、ＪＭＦ２００４ａ、ＡＭ２００４ｂ、ＣＡ２００４ｃ、ネットワークライブラリ２００４ｄ、再生Ｌｉｂ２００４ｅ、Ｌｉｓｔ２００４ｉ等を含んでいる。
【０２３３】
ＪＭＦ２００４ａ、ＡＭ２００４ｂ、再生Ｌｉｂ２００４ｅ、ＩＯ２００４ｆ、ＡＷＴ２００４ｇ、ＳＩ２００４ｈは、それぞれ、上記した本実施の形態におけるマルチメディアデータ送信装置１０１のＪａｖａライブラリ４０５中のＪＭＦ４０５ａ、ＡＭ４０５ｂ、再生Ｌｉｂ４０５ｆ、ＩＯ４０５ｇ、ＡＷＴ４０５ｈ、ＳＩ４０５ｉと同様のものである。
【０２３４】
ＣＡ２００４ｃは、ネットワーク１０３経由で送信されてきたマルチメディアデータのコピー制御など、該マルチメディアデータの権利処理を管理するものである。コピー制御のための情報は、マルチメディアデータ送信装置１０１や、放送局１０５などのコンテンツ提供者、権利者が指定する外部のサーバなどから送信されてもよいし、マルチメディアデータ送信装置１０１から送信されてきたトランスポートストリームのＰＭＴに含まれているコピー制御情報を参照しても良い。
【０２３５】
Ｌｉｓｔ２００４ｉは、マルチメディアデータ送信装置１０１におけるＥＰＧや、マルチメディアデータ送信装置１０１が蓄積し提供するマルチメディアコンテンツの一覧を表示し、入力部１９０１が受け付けたユーザ操作によって、一覧からひとつのマルチメディアコンテンツを選択し、サービスマネージャ２００３に再生を依頼するものである。このとき、マルチメディアデータ送信装置１０１の情報もサービスマネージャ２００３に引き渡す。また、マルチメディアデータ送信装置１０１におけるＥＰＧおよびマルチメディアデータ送信装置１０１から提供されるコンテンツの一覧は、ネットワークライブラリ２００４ｄを通して、取得することができる。なお、Ｌｉｓｔ２００４ｉは、ネットワークライブラリ２００４ｄに含まれる構成であっても良い。
【０２３６】
ネットワークライブラリ２００４ｄは、ＯＳ２００１のＮＥＴ２００１ｂ３を通して、ネットワーク１０３に接続されたマルチメディアデータ送信装置１０１と通信するものである。マルチメディアデータ送信装置１０１との通信は、マルチメディアデータの一覧送受信、およびマルチメディアデータの送信要求発行と該マルチメディアデータの受信である。
【０２３７】
図２１は、ネットワークライブラリ２００４ｄの内部構成の一例を表すブロック図である。ネットワークライブラリ２００４ｄは、制御部２１０１ａ、接続管理部２１０１ｂ、メッセージ処理部２１０１ｃ、判定部２１０１ｄ、送受信部２１０１ｅを含む。なお、ネットワークライブラリ２００４ｄは、ＩＰネットワークに関連する他の機能を含んでも良い。
【０２３８】
制御部２１０１ａは、マルチメディアデータ受信装置１０２上で実行される、ダウンロードしたＪａｖａアプリケーションもしくは、サービスマネージャ２００３やＪａｖａライブラリ２００４の他の構成要素にＪａｖａ  ＡＰＩを提供し、ネットワークライブラリ２００４ｄが実現する機能を利用可能とするものである。接続管理部２１０１ｂは、制御部２１０１ａから依頼されて動作するものであり、マルチメディアデータ送信装置１０１のようなネットワーク１０３上の外部機器とのネットワーク接続を管理するものである。メッセージ処理部２１０１ｃは、制御部２１０１ａから依頼されて動作するものであり、制御部２１０１ａから受け取った情報を基に、ネットワーク１０３との接続を行っている外部機器へ送信するメッセージの生成を行うものである。判定部２１０１ｄは、制御部２１０１ａから依頼されて動作するものであり、外部機器から受信したレスポンスメッセージを制御部２１０１ａから受け取ってそれを解釈し、内容を制御部２１０１ａに通知するものである。送受信部２１０１ｅは、制御部２１０１ａからの依頼で動作するものであり、接続管理部２１０１ｂが管理し、制御部２１０１ａから引き渡されるネットワーク接続において、制御部２１０１ａから引き渡されたデータを送信し、また、前記ネットワーク接続からデータを受信して制御部２１０１ａに引き渡すものである。以下、これらの動作を説明する。
【０２３９】
まず、ネットワーク１０３に接続された外部機器が提供するコンテンツ一覧を取得する動作について説明する。
【０２４０】
まず、制御部２１０１ａは、ダウンロードしたＪａｖａアプリケーションやサービスマネージャ２００３などからの依頼により、ネットワーク１０３に接続された機器の一覧を取得する。この機器一覧は、ＵＰｎＰ  ＤＡに定義された通信を行うことによって生成できる。また、このＵＰｎＰ  ＤＡに定義された通信は、外部機器から問い合わせを受ける場合と、マルチメディアデータ受信装置１０２から、すなわち、制御部２１０１ａから問い合わせる場合とがある。外部機器から通知を受けた場合、制御部２１０１ａは、送受信部２１０１ｅが受信したＵＰｎＰ  ＤＡで定義されるメッセージを判定部２１０１ｄに解釈させ、その内容を得る。メッセージは、サーバ機器のようなデバイス、もしくはサーバ機器が提供するサービスが、ネットワーク１０３を通して利用可能であることを通知する。続いて、制御部２１０１ａは、通知してきた外部機器に対して、ＵＰｎＰ  ＤＡで定義された、該サーバ機器もしくはサービスの情報の問い合わせメッセージを、メッセージ処理部２１０１ｃに生成させる。さらに、制御部２１０１ａは、生成したメッセージを送受信部２１０１ｅに与えて送信させ、該サーバ機器からの返答メッセージを受信させる。更に、制御部２１０１ａは、受信した返答メッセージを、メッセージ処理部２１０１ｃに与えて解釈させることにより、該サーバ機器および該サーバ機器が提供するサービスの詳細を知ることができる。なお、これらの通信に用いられるネットワークコネクションは、接続管理部２１０１ｂによって管理される。
【０２４１】
また、制御部２１０１ａから問い合わせる場合は、まず、制御部２１０１ａは、メッセージ処理部２１０１ｃに依頼して、ＵＰｎＰ  ＤＡで定義されている機器の存在を問い合わせるメッセージを生成する。そして、生成したメッセージを送受信部２１０１ｅに依頼して、ネットワーク１０３にブロードキャストさせる。続いて接続管理部２１０１ｂに依頼して、前記ブロードキャストしたメッセージに対する返答を受信するために接続要求を受け付ける。接続管理部２１０１ｂより接続を受け入れたことを通知されれば、制御部２１０１ａは、送受信部２１０１ｅに依頼してメッセージを受信させる。さらに、制御部２１０１ａは、判定部２１０１ｄに依頼して、受信したメッセージを解釈させ、その情報を取得する。さらに、制御部２１０１ａは、メッセージ処理部２１０１ｃに依頼して、機器が提供するサービスや能力を問い合わせるメッセージを生成させ、送受信部２１０１ｅに依頼して、外部機器へ送信させる。さらに、制御部２１０１ａは、送受信部２１０１ｅに依頼して、送信したメッセージに対するレスポンスメッセージを受信させ、受信したメッセージを判定部２１０１ｄに与えて解釈させ、その内容を取得する。これにより、制御部２１０１ａは、ある外部機器の情報を得ることができる。このような処理を繰り返すことにより、ネットワーク１０３に接続された外部機器の一覧を取得できる。
【０２４２】
続いて、制御部２１０１ａは、ダウンロードしたＪａｖａアプリケーションやサービスマネージャ２００３などからの依頼により、ネットワーク１０３に接続された特定の外部機器が提供するコンテンツ一覧を取得する。以降、この特定の外部機器をマルチメディアデータ送信装置１０１として説明する。
【０２４３】
まず、制御部２１０１ａは、メッセージ処理部２１０１ｃに依頼して、ＵＰｎＰ  ＡＶで定義されたコンテンツ一覧送付依頼メッセージを生成する。このとき、Ｊａｖａアプリケーションなどから、コンテンツの条件を引き渡されていれば、その条件をメッセージ処理部２１０１ｃに与えて、適切なメッセージを生成する。続いて、制御部２１０１ａは、Ｊａｖａアプリケーションなどから与えられたマルチメディアデータ送信装置１０１のＩＰアドレスなどの情報を接続管理部２１０１ｂに与えて、マルチメディアデータ送信装置１０１とのネットワーク接続の情報を得る。そして、それを送受信部２１０１ｅに与える。このとき、マルチメディアデータ送信装置１０１とのネットワーク接続がまだ確立されていなかった場合には、接続管理部２１０１ｂは新たにマルチメディアデータ送信装置１０１との接続を確立する。続いて、制御部２１０１ａは、メッセージ処理部２１０１ｃが生成したコンテンツ一覧送付依頼メッセージを送受信部２１０１ｅに与えて、マルチメディアデータ送信装置１０１へ送信させる。さらに、制御部２１０１ａは、送受信部２１０１ｅに依頼して、マルチメディアデータ送信装置１０１からのレスポンスメッセージを受信させる。さらに、制御部２１０１ａは、受信したレスポンスメッセージを判定部２１０１ｄに与えて解釈させ、その内容であるコンテンツ一覧を取得する。制御部２１０１ａは、取得したコンテンツ一覧をＪａｖａアプリケーションやサービスマネージャ２００３、もしくはＬｉｓｔ２００４ｉへ引き渡す。
【０２４４】
次に、ダウンロードしたＪａｖａアプリケーションもしくはサービスマネージャ２００３からの依頼により、マルチメディアデータ送信装置１０１からマルチメディアデータおよびその関連のデータを受信し、再生するときの処理について説明する。以下、サービスマネージャ２００３からの依頼による処理を例に説明するが、ダウンロードしたＪａｖａアプリケーションからの依頼の場合も同様である。
【０２４５】
まず、制御部２１０１ａは、サービスマネージャ２００３からマルチメディアデータ取得依頼を受信すると、接続管理部２１０１ｂに依頼して、マルチメディアデータ送信装置１０１とのネットワーク接続を確立する。このとき、サービスマネージャ２００３から、コンテンツの識別子及びマルチメディアデータ送信装置１０１のＩＰアドレスなどの情報、該コンテンツにアクセスするためのＵＲＩなどの情報などが制御部２１０１ａに引き渡される。このうち、少なくともマルチメディアデータ送信装置１０１のＩＰアドレスや該ネットワーク接続のためのポート番号などを接続管理部２１０１ｂに与える。
【０２４６】
接続管理部２１０１ｂは、制御部２１０１ａから引き渡された情報により、マルチメディアデータ送信装置１０１とのネットワーク接続を確立する。ネットワーク接続とは、例えば、マルチメディアデータの通信をＨＴＴＰ通信で行う場合、ＨＴＴＰを行うためのＴＣＰコネクションをさす。なお、本実施の形態においては、接続管理部２１０１ｂにマルチメディアデータ送信装置１０１のＩＰアドレスやポート番号を与えるとしたが、取得するデータのＵＲＩを与え、接続管理部２１０１ｂがＵＲＩを解釈して、これらの情報を得る構成であっても良い。また、コンテンツの識別子を与え、接続管理部２１０１ｂがこれらの情報を取得する構成であっても良い。
【０２４７】
次に、制御部２１０１ａは、サービスマネージャ２００３によって再生を起動するため、図２０に示した各種ライブラリからのセクション取得要求及びファイル取得要求を受け付ける。例えば、ＡＶ再生のためのマルチメディアデータの受信を行う。また、マルチメディアデータ受信装置１０２上で特殊再生を行う際には、ＰＡＴやＰＭＴ及びＤＳＭＣＣで伝送されるファイルの受信要求が必要となる。これは、特殊再生時は、マルチメディアデータの全てのＴＳストリームを受信しない場合があり、ＪＭＦ２００４ａやＡＭ２００４ｂ、ＤＳＭＣＣ２００４ｌなどがＰＡＴ及びＰＭＴを利用する必要なタイミングでこれらのセクションデータ、もしくは、ＤＳＭＣＣのファイルがマルチメディアデータ受信装置１０２に存在しない可能性があるからである。
【０２４８】
次に、制御部２１０１ａは、これらの取得要求をマルチメディアデータ送信装置１０１へ要求するために、メッセージ処理部２１０１ｃへ依頼し、対応するＨＴＴＰリクエストを生成する。
【０２４９】
メッセージ処理部２１０１ｃは、要求されたマルチメディアデータのＵＲＩをＨＴＴＰリクエストに設定する。例えば、マルチメディアデータのＵＲＩがhttp://192.168.0.3/AVData/0001.m2tsで、かつ、特殊再生に備え、ストリーム中の変化点情報を要求するために拡張ヘッダX-Version-Requestを設定したＨＴＴＰリクエストは以下のようになる。
【０２５０】
GET http://192.168.0.3/AVData/0001.m2ts HTTP/1.1
Host: 192.168.0.3
Date: Thr Jan 11 15:00:00 2007 GMT
User-Agent: AVT Client
Connection: Keep-Alive
X-Version-Request: type = ait ; scope = all
【０２５１】
なお、特殊再生時には、必要なマルチメディアコンテンツの特定区間を指定する方法でリクエストが行われる。これはＨＴＴＰのＲａｎｇｅヘッダを用いて行うことが出来る。また、同様に、変化点発生の範囲を指定したヘッダを生成する。
【０２５２】
X-Version-Request : type = ait ; scope = 47940-95879
【０２５３】
この拡張ヘッダは、例えば特殊再生のために、取得しなかったストリームの区間に変化点がある場合、それを取得するために利用することができる。
【０２５４】
続いて、制御部２１０１ａは、以上のように生成したＨＴＴＰリクエストを送受信部２１０１ｅに与え、マルチメディアデータ送信装置１０１へ送信させる。
【０２５５】
次に、制御部２１０１ａは送受信部２１０１ｅに依頼して、マルチメディアデータ送信装置１０１よりＨＴＴＰレスポンスを受信する。受信したＨＴＴＰレスポンスの例を以下に示す。
【０２５６】
HTTP/1.1 200 OK
Date: Thr Jan 11 15:00:01 2007 GMT
Server: AVT Server
Connection: Keep-Alive
Content-Type: video/mpeg
Content-Length: 47952
X-Version-Info: type=ait ; url = http://192.168.0.3/VUP/0001-ait.vup
(空行)
[47952バイトのデータ]
【０２５７】
そして、制御部２１０１ａは、受信したＨＴＴＰレスポンスメッセージを、判定部２１０１ｄへ引き渡し、その解釈を依頼する。
【０２５８】
判定部２１０１ｄでは、まず、ＨＴＴＰレスポンスのレスポンスコードを確認する。結果が２００  ＯＫの場合は、それを制御部２１０１ａに伝える。すると、制御部２１０１ａは、ＨＴＴＰレスポンスのボディ部にある受信したマルチメディアデータをサービスマネージャ２００３へ引き渡し、再生が行われる。
【０２５９】
更に、判定部２１０１ｄは、ストリーム中の変化点情報を示す拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏが存在するか調べる。上記の例のように存在する場合は、その内容を制御部２１０１ａに通知する。そして、制御部２１０１ａは、メッセージ処理部２１０１ｃ及び送受信部２１０１ｅに依頼して、変化点情報取得のためのメッセージを生成してマルチメディアデータ送信装置１０１へ送信し、さらに、送受信部２１０１ｅに依頼して、マルチメディアデータ送信装置１０１より指定されたストリーム変化点情報を受信する。そして、制御部２１０１ａは、受信した変化点情報をＳＩ２００４ｈへと引き渡す。拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏが存在しない場合は、判定部２１０１ｄから制御部２１０１ａへ、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−ｉｎｆｏが存在しないことが通知されるのみである。
【０２６０】
ＳＩ２００４ｈでは、受信したマルチメディアデータの再生時、受信した変化点情報に従い、リクエストされたＪａｖａライブラリへセクションデータのバージョンアップを通知する。これにより、Ｊａｖａアプリケーションやサービスマネージャ２００３、もしくは、Ｊａｖａライブラリは、セクションデータのバージョンアップに対応して適切な処理が可能となる。例えば、新たにアプリケーションを起動する必要がある場合、起動のタイミングなどを検知することが可能となる。これにより、適切なタイミングでアプリケーションを起動することができる。アプリケーションの起動などのために、マルチメディアデータ送信装置１０１からファイルの取得が必要な場合は、上述の拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｒｅｑｕｅｓｔおよび拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏを利用して取得することが可能である。すなわち、制御部２１０１ａは、メッセージ処理部２１０１ｃに依頼して、拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｒｅｑｕｅｓｔを含んだマルチメディアデータ送信要求メッセージを生成し、送受信部２１０１ｅにそのメッセージを与えて、マルチメディアデータ送信装置１０１へ送信する。そして、送受信部２１０１ｅにより、そのレスポンスメッセージを受信し、受信したレスポンスメッセージを判定部２１０１ｄに引き渡す。判定部２１０１ｄでは、さらに拡張ヘッダＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏが含まれているかを調べ、含まれている場合にはそれを制御部２１０１ａに通知する。制御部２１０１ａでは、Ｊａｖａアプリケーションやサービスマネージャ２００３などから、ファイル取得の要求を受け付けると、通知されたＸ−Ｔｒｅｅ−Ｂａｓｅ−Ｉｎｆｏの値を用いて、上述のようにマルチメディアデータ送信装置１０１からファイルを受信する。
【０２６１】
以上のように、マルチメディアデータ受信装置１０２において、特殊再生を行ったとしても、ストリームの変化点を正しく検知することができ、データ放送を含め、コンテンツを適切に再生することが可能となる。
【０２６２】
なお、ここではＳＩ２００４ｈが、バージョンアップのタイミングを管理する例を示したが、マルチメディアデータ再生時のコンテンツの視聴箇所と、受信した変化点情報の対応をとり、バージョンアップの通知など適切な処理を行うことが可能であれば、他のライブラリが本機能を実現してもよい。
【０２６３】
（その他の変形例）
本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されるものではない。以下のような場合も、本発明に含まれる。
【０２６４】
（１）  上記実施の形態においては、コンテンツデータの通信プロトコルとしてＨＴＴＰを用いたが、ＲＴＰ／ＲＴＳＰなど、他のプロトコルを用いても良い。
【０２６５】
（２）  上記実施の形態では、ＭＰＥＧ２−ＴＳ形式の映像コンテンツのみを説明したが、他の符号化形式の映像コンテンツや、音楽などの別の種類のコンテンツでも同様の処理が行えることは言うまでもない。
【０２６６】
（３）  上記実施の形態では、ストリームの変化点情報の送信は、クライアントであるマルチメディアデータ受信装置１０２からの依頼により、サーバであるマルチメディアデータ送信装置１０１から送信されたが、クライアントからの要求がなくても、サーバから送信する構成であってもよい。
【０２６７】
（４）  上記実施の形態では、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔ及び拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏを規定したが、同等の情報を送信できるものであれば、この形式に限らないことは言うまでもない。例えば、Ｐｒａｇｍａヘッダフィールドを利用しても良い。この場合、送信要求のｐｒａｇｍａ−ｄｉｒｅｃｔｉｖｅとして、ｇｅｔＶｅｒｓｉｏｎＩｎｆｏＵＲＩを使用し、ＵＲＩ通知のｐｒａｇｍａ−ｄｉｒｅｃｔｉｖｅをｖｅｒｉｏｎＩｎｆｏＵＲＩとすれば、送信要求はリクエストメッセージに以下のヘッダを加えることで実現できる。
【０２６８】
Pragma: getVersionInfoURI
【０２６９】
また、ＵＲＩはレスポンスメッセージに以下のヘッダを追加することで通知することができる。
【０２７０】
Pragma: versionInfoURI = “http://192.168.0.3/VUP/0001-ait.vup”
【０２７１】
その特定区間で発生した変化点情報が必要な場合や、特定のセクションデータだけの変化点情報を取得する場合は、このＰｒａｇｍａヘッダフィールドのＰｒａｇｍａ−ｄｉｒｅｃｔｉｖｅを追加しても良いし、上記の拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔおよび拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｉｎｆｏと併用しても良い。また、拡張ヘッダＸ−Ｖｅｒｓｉｏｎ−Ｒｅｑｕｅｓｔを含むリクエストのレスポンスとしてＰｒａｇｍａヘッダフィールドを用いるなどしても良い。
【０２７２】
（５）  上記実施の形態では、マルチメディアデータの送信要求に含めて、変化点情報の送信要求を発行したが、マルチメディアデータの通信とは独立に、変化点情報の通信を行っても良い。また、上記実施の形態においては、ＨＴＴＰ−ＧＥＴリクエストのヘッダに変化点情報の送信要求を含めて送信したが、データの送受信を伴わないＨＴＴＰ−ＨＥＡＤリクエストなどを用いて変化点情報のみの通信を行っても良い。
【０２７３】
（６）  上記実施の形態では、マルチメディアデータ送信装置は、マルチメディアデータ受信装置から指定された範囲での変化点情報を通知するとしたが、マルチメディアデータ受信装置がRangeヘッダフィールドなどを用いて、マルチメディアデータの特定区間のみのデータを取得する場合、その区間の変化点を通知するとしても良い。あるいは、指定された区間の前もしくは後ろの変化点を通知するとしても良い。また、マルチメディアデータ受信装置が、連続して区間指定の要求を発行する場合は、前回要求された区間と、今回要求された区間の間の変化点を通知するとしても良い。
【０２７４】
（７）  上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ(Ｌａｒｇｅ Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０２７５】
（８）  上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０２７６】
（９）  本発明のマルチメディアデータ送信装置、マルチメディアデータ受信装置は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２７７】
また、本発明のマルチメディアデータ送信装置、マルチメディアデータ受信装置は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０２７８】
また、本発明のマルチメディアデータ送信装置、マルチメディアデータ受信装置は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２７９】
また、本発明のマルチメディアデータ送信装置、マルチメディアデータ受信装置は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０２８０】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２８１】
（１０）  上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０２８２】
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
【産業上の利用可能性】
【０２８３】
本発明にかかるマルチメディアデータ送信装置、マルチメディアデータ受信装置、およびこれらによって構成されるマルチメディアコンテンツ通信システムは、ホームネットワークを利用したマルチメディアコンテンツの共有において、マルチメディアサーバがクライアントからの要求に応じてマルチメディアデータを送信する場合、ストリーム中の変化点情報をマルチメディアデータと共に送信する。これにより、クライアントが特殊再生を行う場合は、サーバからＴＳストリームの全データを受信しなくても、ストリームの変化点を知ることが可能となる。したがって、クライアント上であっても、タイミングをとる必要のあるアプリケーションの起動など、データ放送を含めたマルチメディアコンテンツの再生を適切に行うことが可能となるといった、優れた効果を有する。このため、ホームネットワークなどのネットワーク環境におけるサーバ装置、受信端末、マルチメディアデータ通信方法などとして有用である。
【図１】
2010524271.tif 000003
【図２】
2010524271.tif 000004
【図３】
2010524271.tif 000005
【図４】
2010524271.tif 000006
【図５Ａ】
2010524271.tif 000007
【図５Ｂ】
2010524271.tif 000008
【図６】
2010524271.tif 000009
【図７】
2010524271.tif 000010
【図８Ａ】
2010524271.tif 000011
【図８Ｂ】
2010524271.tif 000012
【図８Ｃ】
2010524271.tif 000013
【図９】
2010524271.tif 000014
【図１０】
2010524271.tif 000015
【図１１】
2010524271.tif 000016
【図１２】
2010524271.tif 000017
【図１３】
2010524271.tif 000018
【図１４】
2010524271.tif 000019
【図１５】
2010524271.tif 000020
【図１６】
2010524271.tif 000021
【図１７】
2010524271.tif 000022
【図１８】
2010524271.tif 000023
【図１９】
2010524271.tif 000024
【図２０】
2010524271.tif 000025
【図２１】
2010524271.tif 000026
【国際調査報告】
2010524271.tif 000027
2010524271.tif 000028
2010524271.tif 000029